summaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-22 06:44:39 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-22 06:44:39 +0000
commit13239963ab938c607b27bee4408ea09b76b5fe61 (patch)
tree790ef9ad07c07dd0cf03d9fda433afa92e689dd1 /gcc/ada
parent2ea77971ee058ff5608c1f4dd45f410a87a5152c (diff)
downloadgcc-13239963ab938c607b27bee4408ea09b76b5fe61.tar.gz
Split ChangeLog
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146545 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/ChangeLog43701
-rw-r--r--gcc/ada/ChangeLog-20012239
-rw-r--r--gcc/ada/ChangeLog-2002986
-rw-r--r--gcc/ada/ChangeLog-20033021
-rw-r--r--gcc/ada/ChangeLog-20048347
-rw-r--r--gcc/ada/ChangeLog-20058014
-rw-r--r--gcc/ada/ChangeLog-20064462
-rw-r--r--gcc/ada/ChangeLog-20079221
-rw-r--r--gcc/ada/ChangeLog-20087464
9 files changed, 43755 insertions, 43700 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 841af7f0b86..b64aedbe7d8 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -4770,43708 +4770,9 @@
the _Tag field before any discriminants in the field list.
(components_to_record): Remove obsolete comment.
-2008-12-09 Jakub Jelinek <jakub@redhat.com>
-
- PR ada/38450
- * gcc-interface/utils.c (finish_record_type): Use SET_TYPE_MODE.
- * gcc-interface/decl.c (gnat_to_gnu_entity, make_aligning_type):
- Likewise.
-
-2008-12-05 Sebastian Pop <sebastian.pop@amd.com>
-
- PR bootstrap/38262
- * gcc-interface/Make-lang.in (gnat1): Add BACKENDLIBS, remove GMPLIBS.
-
-2008-11-29 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/30827
- * g-comver.adb (Ver_Len_Max): Fix inconsistency.
-
-2008-11-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c: Fix various nits.
-
-2008-11-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (init_gigi_decls): Fix type mismatch.
-
-2008-11-16 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/38127
- * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not
- special-case boolean types. Propagate the name.
- * gcc-interface/targtyps.c: Tweak comment.
-
-2008-11-15 Geert Bosch <bosch@adacore.com>
-
- * gcc-interface/trans.c (emit_check): Put back a final save_expr
- to prevent exponential expansion during gimplification.
-
-2008-11-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/lang-specs.h: Expand -coverage and reorder switches.
-
-2008-11-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Force constants
- initialized to a static constant to be statically allocated even if
- they are of a padding type, provided the original type also has
- constant size.
-
-2008-11-15 Laurent Guerby <laurent@guerby.net>
-
- PR ada/37993
- * gcc-interface/Makefile.in: Add multilib handling for x86_64
- on darwin.
- * system-darwin-x86_64.ads: New file.
-
-2008-11-13 Olivier Hainque <hainque@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>:
- Turn Ada Pure on subprograms back into GCC CONST when eh constructs
- are explicit to the middle-end. Tidy.
-
-2008-11-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/ada-tree.def (PLUS_NOMOD_EXPR): New tree code.
- (MINUS_NOMOD_EXPR): Likewise.
- * gcc-interface/utils2.c (build_binary_op) <PREINCREMENT_EXPR>: Make
- unreachable.
- <PLUS_NOMOD_EXPR>: New case.
- <MINUS_NOMOD_EXPR>: Likewise.
- * gcc-interface/trans.c (Loop_Statement_to_gnu): Build increment-and-
- assignment statement instead of using an increment operator.
-
-2008-11-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * system-irix-n64.ads: New file.
- * gcc-interface/Makefile.in (mips-sgi-irix6*): Support O32 and N64
- multilibs.
-
-2008-11-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR ada/37681
- * system-solaris-x86_64.ads: New file.
- * gcc-interface/Makefile.in (*86-solaris2*): Support x86_64 multilib.
-
-2008-11-07 Bechir Zalila <bechir.zalila@gmail.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/34289
- * lib.ads: (Enable_Switch_Storing): Declare.
- * lib.adb: (Enable_Switch_Storing): New procedure.
- * switch-c.adb (Scan_Front_End_Switches): Add support for -gnatea.
- * make.adb: (Compile_Sources.Compile): Add -gnatea as first option.
- (Display): Never display -gnatea
- * gcc-interface/lang-specs.h: If -gnatea is present, pass -gnatez.
-
-2008-11-07 Thomas Quinot <quinot@adacore.com>
-
- * gcc-interface/trans.c (Attribute_to_gnu, case Attr_Length): Check
- for empty range in original base type, not converted result type.
-
-2008-11-07 Geert Bosch <bosch@adacore.com>
-
- * gcc-interface/trans.c (build_binary_op_trapv): Convert arguments
- and result for call to __gnat_mulv64.
-
-2008-11-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c: Fix formatting nits.
-
-2008-11-07 Geert Bosch <bosch@adacore.com>
-
- * gcc-interface/trans.c (build_binary_op_trapv): Avoid emitting
- overflow check for constant result.
-
-2008-11-07 Geert Bosch <bosch@adacore.com>
-
- * gcc-interface/trans.c (build_binary_op_trapv): Use more efficient
- overflow check for addition/subtraction if neither operand is constant.
-
-2008-11-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Makefile.in (SPARC/Solaris): Use a common set of
- files for the target-dependent part of the runtime.
- (SPARC/Linux): Likewise.
-
-2008-11-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: If not
- optimizing, create a PARM_DECL pointing to the VAR_DECL for debugging
- purposes.
-
-2008-11-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/misc.c (gnat_printable_name): Always return a copy
- in GC memory.
-
-2008-11-06 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/19419
- * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>:
- Generate a call to memmove for an assignment between overlapping
- array slices.
-
-2008-11-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- PR target/37977
- * gcc-interface/Makefile.in: Add multilib handling for
- s390-linux and s390x-linux.
-
-2008-10-24 Jakub Jelinek <jakub@redhat.com>
-
- * gcc-interface/Make-lang.in (check-ada-subtargets): Depend on
- check-acats-subtargets and check-gnat-subtargets.
- (check_acats_targets): New variable.
- (check-acats-subtargets, check-acats%): New targets.
- (check-acats): If -j is used and CHAPTERS is empty, run the testing
- in multiple make goals, possibly parallel, and afterwards run
- dg-extract-results.sh to merge the sum and log files.
-
-2008-10-17 Geert Bosch <bosch@adacore.com>
-
- * gcc-interface/trans.c (gnat_to_gnu) <N_Slice>: Simplify expansion
- to use only a single check instead of three, and avoid unnecessary
- COMPOUND_EXPR.
- (emit_check): Avoid useless COMPOUND_EXPRs and SAVE_EXPRs, sometimes
- creating more opportunities for optimizations.
-
-2008-10-13 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/37601
- * gcc-interface/utils.c (gnat_types_compatible_p): Handle
- NULL TYPE_DOMAIN.
-
-2008-10-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Move code
- dealing with volatileness to after code dealing with renaming.
-
-2008-10-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Minor tweaks.
- * gcc-interface/trans.c (Pragma_to_gnu): Likewise.
-
-2008-10-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (can_fold_for_view_convert_p): New predicate.
- (unchecked_convert): Use it to disable problematic folding with
- VIEW_CONVERT_EXPR in the general case. Always disable it for the
- special VIEW_CONVERT_EXPR built for integral types and cope with
- its addressability issues by preserving the first conversion.
-
-2008-10-01 Andreas Schwab <schwab@suse.de>
-
- * system-linux-ppc64.ads: New file.
- * gcc-interface/Makefile.in: Add multilib handling for
- powerpc-linux.
-
-2008-09-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <object>: Cap the alignment promotion
- to that of ptr_mode instead of word_mode.
-
-2008-09-26 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/5911
- * gcc-interface/Makefile.in (SPARC/Solaris): Add multilib support.
-
-2008-09-25 Samuel Tardieu <sam@rfc1149.net>
-
- PR ada/37641
- * adaint.c (__gnat_set_non_writable): Use FILE_WRITE_EA
- instead of deprecated FILE_WRITE_PROPERTIES.
-
-2008-09-22 Olivier Hainque <hainque@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity): Even when they
- are never assigned, volatile entities are not constant for code
- generation purposes.
-
-2008-09-21 Laurent Guerby <laurent@guerby.net>
-
- PR ada/5911
- * gcc-interface/Makefile.in: Add multilib handling for x86_64
- and sparc.
- * system-linux-sparcv9.ads: New file.
-
-2008-09-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_dbug.ads: Document new convention for the XVZ variable.
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Generate
- debug info if necessary for the type padding the component type.
- <E_Array_Subtype>: Likewise.
- (maybe_pad_type): Emit the XVZ variable in units.
- * gcc-interface/trans.c (Loop_Statement_to_gnu): Fix formatting nits.
- (Subprogram_Body_to_gnu): Set the source line of the subprogram's node
- on statements generated to initialize the parameter attributes cache.
- Set the source line of the end label of the body on the special return
- statement built for a procedure with copy-in copy-out parameters.
-
-2008-09-20 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/37585
- * gcc-interface/utils.c (create_subprog_decl): Disable inlining for
- inlined external functions if they contain a nested function not
- declared inline.
-
-2008-09-18 Jan Hubicka <jh@suse.cz>
-
- * gcc-interface/utils.c (create_subprog_decl): Use DECL_DECLARED_INLINE_P.
- (end_subprog_body): Do not set DECL_INLINE.
-
-2008-09-17 Pascal Rigaux <pixel@mandriva.com>
-
- PR ada/21327
- * gnat_ugn.texi: Use proper format in direntry.
-
-2008-09-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (gigi): Declare the name of the compilation
- unit as the first global name.
-
-2008-09-14 Jan Hubicka <jh@suse.cz>
-
- * gcc-interface/Make-lang.in (gnat1): Add CFLAGS.
-
-2008-09-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * a-crbtgk.adb, a-direct.ads, a-tasatt.adb, ali.ads,
- bindgen.adb, checks.adb, einfo.ads, exp_aggr.adb, exp_ch11.adb,
- exp_ch3.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
- exp_dbug.ads, exp_disp.adb, exp_dist.adb, exp_pakd.adb,
- exp_util.adb, g-alveop.ads, g-comlin.adb, g-comlin.ads,
- g-diopit.adb, g-socket.ads, gcc-interface/decl.c,
- gcc-interface/gigi.h, gcc-interface/trans.c,
- lib-load.adb, lib-xref.ads, make.adb, mlib-prj.adb, nlists.ads,
- opt.ads, par-ch10.adb, par-ch5.adb, par.adb, s-os_lib.ads,
- s-oscons-tmplt.c, s-parint.ads, s-regpat.ads, s-shasto.ads,
- s-stausa.ads, s-taprop-vms.adb, sem.adb, sem_ch10.adb,
- sem_ch11.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb,
- sem_ch3.ads, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
- sem_elim.adb, sem_prag.adb, sem_util.adb, sem_util.ads,
- sem_warn.adb, sinfo.ads, styleg.adb, vms_data.ads: Fix typos in
- comments.
- * gnathtml.pl: Fix typos.
-
-2008-09-10 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * gcc-interface/Makefile.in: Switch RTEMS to s-interr-hwint.adb.
- * s-osinte-rtems.ads: Add shared hardware interrupt adapter
- layer. RTEMS binds to OS provided adapter routines so there are
- no modifications to s-osinte-rtems.adb.
-
-2008-09-09 Arnaud Charlet <charlet@adacore.com>
- Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * gcc-interface/Makefile.in: Switch VxWorks to s-interr-hwint.adb.
-
- * s-interr-vxworks.adb: Renamed to s-interr-hwint.adb
-
- * s-interr-hwint.adb: New file.
-
- * s-osinte-vxworks.ads, s-osinte-vxworks.adb: Add new functions
- needed by s-interr-hwint.adb.
-
- * s-osinte-vxworks-kernel.adb: New file.
-
-2008-09-05 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * s-stchop-rtems.adb: Add file missed in early commit. Already
- referenced in gcc-interface/Makefile.in.
-
-2008-08-30 Thomas Quinot <quinot@adacore.com>
-
- * gcc-interface/Make-lang.in: Allow s-oscons.{o,ali} to
- be built even without a separate libada directory.
-
-2008-08-22 Arnaud Charlet <charlet@adacore.com>
-
- * lib-xref.ads: Fix typo in subprogram reference definition.
-
-2008-08-22 Robert Dewar <dewar@adacore.com>
-
- * s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-strops.adb: Minor code fix
- to avoid warning.
-
- * g-trasym.adb: Ditto
-
- * s-utf_32.adb (Get_Category): Fix obvious typo
-
- * s-wwdcha.adb: Minor code reorganization
- Remove dead code
-
-2008-08-22 Robert Dewar <dewar@adacore.com>
-
- * checks.adb (Determine_Range): Deal with values that might be invalid
-
- * opt.adb, opt.ads (Assume_No_Invalid_Values[_Config]): New
- configuration switches.
-
- * par-prag.adb: Dummy entry for pragma Assume_No_Invalid_Values
-
- * sem_prag.adb: Implement pragma Assume_No_Default_Values
-
- * snames.adb, snames.ads, snames.h:
- Add entries for pragma Assume_No_Invalid_Values
-
- * switch-c.adb: Add processing for -gnatB switch
-
- * usage.adb: Add entry for flag -gnatB (no bad invalid values)
-
-2008-08-22 Javier Miranda <miranda@adacore.com>
-
- * exp_ch3.adb (Build_Init_Statements): Transfer to the body of the
- init procedure all the expanded code associated with the spec of
- task types and protected types.
-
-2008-08-22 Gary Dismukes <dismukes@adacore.com>
-
- * exp_aggr.adb (Static_Array_Aggregate): Call Analyze_And_Resolve on the
- component expression copies rather than directly setting Etype and
- Is_Static_Expression.
-
-2008-08-22 Gary Dismukes <dismukes@adacore.com>
-
- * sem_util.adb (Has_Preelaborable_Initialization): Revise checking of
- private types to allow for types derived from a private type with
- preelaborable initialization, but return False for a private extension
- (unless it has the pragma).
-
-2008-08-22 Robert Dewar <dewar@adacore.com>
-
- * opt.ads: Minor code reorganization (put entries in alpha order)
-
-2008-08-22 Pascal Obry <obry@adacore.com>
-
- * initialize.c, adaint.c: Use Lock_Task and Unlock_Task for non-blocking
- spawn.
-
-2008-08-22 Geert Bosch <bosch@adacore.com>
-
- * gcc-interface/trans.c: Define FP_ARITH_MAY_WIDEN
- (convert_with_check): Only use longest_float_type if FP_ARITH_MAY_WIDEN is 0
-
-2008-08-22 Doug Rupp <rupp@adacore.com>
-
- * bindgen.adb [VMS] (Gen_Adainit_Ada, Gen_Adainit_C): Import and call
- __gnat_set_features.
-
- * init.c
- (__gnat_set_features): New function.
- (__gnat_features_set): New tracking variable.
- (__gl_no_malloc_64): New feature global variable
-
-2008-08-22 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Use_One_Type): Do not emit warning message about redundant
- use_type_clause in an instance.
-
-2008-08-22 Bob Duff <duff@adacore.com>
-
- * exp_ch6.ads: Remove pragma Precondition, since it breaks some builds.
-
-2008-08-22 Robert Dewar <dewar@adacore.com>
-
- * exp_ch6.adb: Minor reformatting
-
- * exp_ch7.adb: Minor reformatting
-
- * exp_ch7.ads: Put routines in proper alpha order
-
- * exp_dist.adb: Minor reformatting
-
-2008-08-22 Vincent Celier <celier@adacore.com>
-
- * prj.ads: Minor comment update
-
-2008-08-22 Robert Dewar <dewar@adacore.com>
-
- * sem_ch5.adb (One_Bound): Fix latent bug involving secondary stack
-
-2008-08-22 Ed Schonberg <schonberg@adacore.com>
-
- * exp_tss.adb:
- (Base_Init_Proc): For a protected subtype, use the base type of the
- corresponding record to locate the propoer initialization procedure.
-
-2008-08-22 Robert Dewar <dewar@adacore.com>
-
- * checks.adb:
- (In_Subrange_Of): New calling sequence
- (Determine_Range): Prepare for new processing using base type
-
- * exp_ch4.adb:
- (Compile_Time_Compare): Use new calling sequence
-
- * exp_ch5.adb:
- (Compile_Time_Compare): Use new calling sequence
-
- * sem_eval.adb:
- (Compile_Time_Compare): New calling sequence allows dealing with
- invalid values.
- (In_Subrange_Of): Ditto
-
- * sem_eval.ads:
- (Compile_Time_Compare): New calling sequence allows dealing with
- invalid values.
- (In_Subrange_Of): Ditto
-
-2008-08-22 Pascal Obry <obry@adacore.com>
-
- * adaint.c: Fix possible race condition on win32_wait().
-
-2008-08-22 Bob Duff <duff@adacore.com>
-
- * exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb, freeze.adb,
- exp_ch4.adb, exp_ch6.ads, exp_ch6.adb, sem_ch6.adb, exp_aggr.adb,
- exp_intr.adb, exp_ch3.adb: Rename:
- Exp_Ch7.Controlled_Type => Needs_Finalization
- Exp_Ch7.CW_Or_Controlled_Type => CW_Or_Has_Controlled_Part
- Exp_Ch5.Expand_N_Extended_Return_Statement.Controlled_Type =>
- Has_Controlled_Parts
- (Has_Some_Controlled_Component): Fix bug in array case.
-
-2008-08-22 Robert Dewar <dewar@adacore.com>
-
- * sem_ch8.adb: Minor reformatting
-
-2008-08-22 Kevin Pouget <pouget@adacore.com>
-
- * s-shasto.ads, s-shasto.adb: Move Shared_Var_ROpen, Shared_Var_WOpen and
- Shared_Var_Close procedure specifications from package spec to package body.
-
- * rtsfind.ads: Remove RE_Shared_Var_Close, RE_Shared_Var_ROpen,
- RE_Shared_Var_WOpen entries.
-
- * exp_dist.adb: Update RE_Any_Content_Ptr to RE_Any_Container_Ptr in
- Build_To_Any_Call, Build_TypeCode_Call and Build_From_Any_Call procedures.
-
-2008-08-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * init.c: adjust EH support code on Alpha/Tru64 as well.
-
- * raise-gcc.c: Add back a couple of comments.
-
-2008-08-22 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_Simple_Function_Return): If secondary stack is
- involved and the return type is class-wide, use the type of the expression
- for the generated access type. Suppress useless discriminant checks on the
- allocator.
-
-2008-08-22 Bob Duff <duff@adacore.com>
-
- * exp_ch7.adb: Minor comment fix
-
- * exp_ch6.ads: Minor comment fix
-
-2008-08-22 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch8.adb: Minor reformatting
- Minor code reorganization (introduce subprogram to factor duplicated
- code).
-
-2008-08-22 Sergey Rybin <rybin@adacore.com>
-
- * gnat_ugn.texi: Change the description of gnatcheck default rule
- settings.
-
-2008-08-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * init.c (__gnat_adjust_context_for_raise): Delete for AIX, HP-UX,
- Solaris, FreeBSD, VxWorks and PowerPC/Linux. For x86{-64}/Linux,
- do not adjust the PC anymore.
- (__gnat_error_handler): Do not call __gnat_adjust_context_for_raise
- on AIX, HP-UX, Solaris, FreeBSD and VxWorks.
-
- * raise-gcc.c (get_call_site_action_for): Use _Unwind_GetIPInfo
- instead of _Unwind_GetIP.
-
-2008-08-22 Gary Dismukes <dismukes@adacore.com>
-
- * exp_aggr.adb (Static_Array_Aggregate): When a static array aggregate
- with a range is transformed into a positional aggregate, any copied
- component literals should be marked Is_Static_Expression.
-
- * sem_eval.adb (Compile_Time_Known_Value): Don't treat null literals as
- not being known at at compile time when Configurable_Run_Time_Mode is
- true.
-
-2008-08-22 Robert Dewar <dewar@adacore.com>
-
- * exp_attr.adb:
- (Expand_N_Attribute_Reference): No validity checking on OUT parameter of
- Read or Input attribute.
-
-2008-08-22 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Use_One_Type): when checking which of two use_type
- clauses in related units is redundant, if one of the units is a package
- instantiation, use its instance_spec to determine which unit is the
- ancestor of the other.
-
-2008-08-22 Javier Miranda <miranda@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference): In case of access
- attributes add missing support to handle designated types that come
- from the limited view.
-
- * exp_disp.adb (Expand_Interface_Conversion): Remove wrong assertion.
-
-2008-08-22 Sergey Rybin <rybin@adacore.com>
-
- * vms_data.ads: Add entry for new gnatcheck -mNNN option
-
- * gnat_ugn.texi: Add description for gnatcheck option '-m'
-
-2008-08-22 Sergey Rybin <rybin@adacore.com>
-
- * gnat_ugn.texi: Update the gnatcheck subsection for metric rules
- acoording to the latest changes in the metric rule interface
-
-2008-08-22 Vincent Celier <celier@adacore.com>
-
- * make.adb (Check.File_Not_A_Source_Of): New Boolean function
- (Check): Check if the file names registered in the ALI file for the
- spec, the body and each of the subunits are the ones expected.
-
-2008-08-22 Robert Dewar <dewar@adacore.com>
-
- * g-catiio.adb: Code cleanup.
-
-2008-08-20 Vincent Celier <celier@adacore.com>
-
- * make.adb (Gnatmake): Remove extra space in version line
-
- * ali.adb:
- (Scan_ALI): Use Name_Find, not Name_Enter to get the name of a subunit,
- as the name may already have been entered in the table by the Project
- Manager.
-
-2008-08-20 Jose Ruiz <ruiz@adacore.com>
-
- * errno.c (__get_errno, __set_errno for MaRTE): Transform then into
- weak symbols so we use the version provided by MaRTE when available.
-
-2008-08-20 Emmanuel Briot <briot@adacore.com>
-
- * g-catiio.ads, g-catiio.adb:
- (Value): Avoid an unnecessary system call to Clock in most cases.
- This call is only needed when only the time is provided in the string,
- and ignored in all other cases. This is more efficient.
-
-2008-08-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * raise-gcc.c: Fix formatting nits.
-
-2008-08-20 Robert Dewar <dewar@adacore.com>
-
- * sem_ch13.adb:
- (Adjust_Record_For_Reverse_Bit_Order): Do not access First_Bit for
- non-existing component clause.
-
- * exp_ch5.adb: Minor reformatting
-
- * g-comlin.adb: Minor reformatting
-
- * make.adb: Minor reformatting
-
- * prj-proc.adb: Minor reformatting
-
- * stylesw.ads: Minor reformatting
-
-2008-08-20 Vincent Celier <celier@adacore.com>
-
- * make.adb (Gnatmake_Switch_Found): New Boolean global variable
- (Switch_May_Be_Passed_To_The_Compiler): New Boolean global variable
- (Add_Switches): New Boolean parameter Unknown_Switches_To_The_Compiler
- defaulted to True. Fail when Unknown_Switches_To_The_Compiler is False
- and a switch is not recognized by gnatmake.
- (Gnatmake): Implement new scheme for gnatmake switches and global
- compilation switches.
- (Switches_Of): Try successively Switches (<file name>),
- Switches ("Ada"), Switches (others) and Default_Switches ("Ada").
-
-2008-08-20 Ed Schonberg <schonberg@adacore.com>
-
- * styleg-c.ads, styleg-c.adb (Missing_Overriding): new procedure to
- implement style check that overriding operations are explicitly marked
- at such.
-
- * style.ads (Missing_Overriding): new procedure that provides interface
- to previous one.
-
- * stylesw.ads, stylesw.adb: New style switch -gnatyO, to enable check
- that the declaration or body of overriding operations carries an
- explicit overriding indicator.
-
- * sem_ch8.adb
- (Analyze_Subprogram_Renaming): if operation is overriding, check whether
- explicit indicator should be present.
-
- * sem_ch6.adb (Verify_Overriding_Indicator,
- Check_Overriding_Indicator): If operation is overriding, check whether
- declaration and/or body of subprogram should be present
-
-2008-08-20 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb (Check_Naming_Schemes): Accept source file names for
- gprbuild when casing is MixedCase, whatever the casing of the letters
- in the file name.
-
-2008-08-20 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch3.adb (Build_Array_Init_Proc): Clarify comment related to
- creating dummy init proc.
- (Requires_Init_Proc): Return False in the case No_Default_Initialization
- is in force and the type does not have associated default
- initialization. Move test of Is_Public (with tests of restrictions
- No_Initialize_Scalars and No_Default_Initialization) to end, past tests
- for default initialization.
-
-2008-08-20 Jerome Lambourg <lambourg@adacore.com>
-
- * g-comlin.adb (For_Each_Simple_Switch): Take care of switches not part
- of any alias or prefix but having attached parameters (as \"-O2\").
-
-2008-08-20 Robert Dewar <dewar@adacore.com>
-
- * s-fileio.adb: Minor reformatting
-
-2008-08-20 Thomas Quinot <quinot@adacore.com>
-
- * exp_strm.adb (Build_Elementary_Input_Call,
- Build_Elementary_Write_Call): Fix incorrect condition in circuitry that
- selects the stream attribute routines for long float types.
-
-2008-08-20 Vincent Celier <celier@adacore.com>
-
- * prj-proc.adb (Process_Declarative_Items): Add Location for Array_Data
-
- * prj.ads (Array_Data): Add a component Location
-
-2008-08-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.adb:
- (Analyze_Pragma, case Obsolescent): Add entity information on the pragma
- argument for ASIS and navigation use.
-
-2008-08-20 Ed Schonberg <schonberg@adacore.com>
-
- * einfo.ads: Add comment.
-
-2008-08-20 Bob Duff <duff@adacore.com>
-
- * sem_eval.ads: Minor comment fix.
-
-2008-08-20 Bob Duff <duff@adacore.com>
-
- * exp_ch4.adb (Expand_N_And_Then, Expand_N_Or_Else): Improve constant
- folding. We were folding things like "False and then ...", but not
- "X and then ..." where X is a constant whose value is known at compile
- time.
-
-2008-08-20 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch5.adb (Controlled_Type): New routine.
- (Expand_N_Extended_Return_Statement): When generating a move of the
- final list in extended return statements, check the type of the
- function and in the case of double expanded return statements, the type
- of the returned object.
- (Expand_Simple_Function_Return): Perform an interface conversion when
- the type of the returned object is an interface and the context is an
- extended return statement.
-
-2008-08-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb (Set_Debug_Info_Needed): If the entity is a private type
- and the full view is visible, set flag on full view as well.
-
-2008-08-20 Thomas Quinot <quinot@adacore.com>
-
- * g-comlin.adb: Minor reformatting
- Minor code reorganization.
-
- * freeze.adb: Minor reformatting
-
-2008-08-20 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb (Check_File): An excluded Ada source file may be a
- source of another project.
-
-2008-08-20 Pascal Obry <obry@adacore.com>
-
- * s-os_lib.ads: Minor reformatting.
-
-2008-08-20 Arnaud Charlet <charlet@adacore.com>
-
- * gnatvsn.ads: Minor reformatting.
-
-2008-08-20 Arnaud Charlet <charlet@adacore.com>
-
- * a-crbtgk.adb, repinfo.adb, g-traceb.ads, repinfo.ads,
- system-linux-s390x.ads, s-fatflt.ads, s-parame-ae653.ads, g-spipat.adb,
- g-spipat.ads, g-tasloc.adb, g-debpoo.adb, g-except.ads, g-debpoo.ads,
- mdll-utl.adb, g-string.adb, g-soliop-solaris.ads, par-sync.adb,
- exp_ch6.ads, a-cihama.ads, g-curexc.ads, system-linux-sh4.ads,
- g-utf_32.adb, g-hesorg.adb, s-proinf-irix-athread.ads, s-parint.adb,
- s-parint.ads, exp_ch7.ads, system-linux-alpha.ads, g-dirope.adb,
- sinfo-cn.adb, par-labl.adb, a-ciorse.adb, g-calend.adb,
- s-parame-vms-alpha.ads, nlists.h, exp_imgv.adb, exp_fixd.ads,
- g-calend.ads, gnatcmd.ads, g-table.adb, s-memory-mingw.adb,
- g-alveop.ads, g-memdum.ads, g-altive.ads, initialize.c, g-regpat.adb,
- g-busorg.ads, g-regpat.ads, g-encstr.ads, g-regexp.adb, g-regexp.ads,
- live.ads, g-dyntab.adb, prj-nmsc.ads, par-ch12.adb, 9drpc.adb,
- g-alvevi.ads, s-memory.adb, math_lib.adb, s-parame.ads, s-memory.ads,
- s-regexp.adb, a-exexda.adb, i-cstrea-vms.adb, a-exexpr.adb,
- g-soliop-mingw.ads, s-imgrea.adb, namet.adb, system-vms.ads,
- s-inmaop-dummy.adb, s-finroo.ads, a-ngcefu.adb, s-hibaen.ads,
- g-soliop.ads, s-auxdec.adb, g-locfil.ads, gnatxref.adb, memroot.adb,
- osint-b.ads, memroot.ads, s-parame-hpux.ads, errutil.adb,
- system-linux-s390.ads, par-util.adb, osint-c.ads, exp_pakd.ads,
- i-pacdec.ads, par-endh.adb, mlib-tgt.ads, prj-strt.ads,
- s-osprim-vms.adb, s-proinf.ads, output.ads, g-moreex.ads,
- a-finali.ads, s-fatlfl.ads, namet.h, mdll.ads, g-dynhta.ads,
- s-imgenu.ads, par-tchk.adb, g-excact.ads, memtrack.adb, s-fatgen.adb,
- a-exexpr-gcc.adb, g-arrspl.adb, par-ch4.adb, g-cgideb.adb, freeze.ads,
- g-altcon.adb, s-fatllf.ads, gnatfind.adb, s-osinte-lynxos-3.adb,
- a-exextr.adb, g-htable.ads, a-calfor.adb, s-imgcha.adb, argv.c,
- a-chahan.ads, g-hesora.adb, system-vms_64.ads, par-ch5.adb, g-md5.adb,
- lib-xref.ads, g-md5.ads, g-casuti.ads, s-fatsfl.ads, exp_dbug.ads,
- s-htable.ads, a-ngcoar.adb, s-arit64.ads, a-ngelfu.adb, a-filico.ads,
- par-ch6.adb, s-inmaop.ads, s-parame-vxworks.ads, s-casuti.ads,
- a-numaux-darwin.adb, a-cohama.ads, system-linux-sparc.ads, g-os_lib.adb,
- system-vms-ia64.ads, s-parame-vms-restrict.ads, a-clrefi.ads,
- s-parame-vms-ia64.ads, a-strfix.adb, a-coorse.adb, a-comlin.ads,
- a-chtgke.adb, s-imgint.adb, g-expect.ads, exp_ch4.ads, s-finimp.adb,
- mingw32.h, g-heasor.adb, g-alleve.adb, a-ngrear.adb, s-mastop-irix.adb,
- s-poosiz.adb, link.c: Fix copyright notice.
-
-2008-08-20 Arnaud Charlet <charlet@adacore.com>
-
- * g-comlin.ads: Update comments.
-
-2008-08-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Analyze_Subprogram_Renaming): Inherit Is_Imported flag.
-
-2008-08-20 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch11.adb:
- (Expand_Exception_Handlers): Call Make_Exception_Handler instead of
- Make_Implicit_Exception_Handler when rewriting an exception handler with
- a choice parameter, and pass the handler's Sloc instead of that of the
- handled sequence of statements. Make_Implicit_Exception_Handler sets the
- Sloc to No_Location (unless debugging generated code), which we don't
- want for the case of a user handler.
-
-2008-08-20 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb (Freeze_Record_Type): Improve msg for non-contiguous field
-
- * sem_ch13.adb:
- (Adjust_Record_For_Reverse_Bit_Order): Messages about layout are
- now labeled as info msgs, not warnings.
-
- * tbuild.ads: Clarify documentation of Make_Implicit_Exception_Handler
-
- * usage.adb: Minor change to avoid overlong line for -gnatwz/Z
-
- * a-textio.adb: Remove redundant test.
-
- * a-witeio.adb: Minor code reorganization
- Remove redundant test found working on another issue
-
- * a-ztexio.adb: Minor code reorganization
- Remove redundant test found working on another issue
-
-2008-08-20 Thomas Quinot <quinot@adacore.com>
-
- * s-fileio.adb (Open) Use C helper function to determine whether a
- given errno value corresponds to a "file not found" error.
-
- * sysdep.c (__gnat_is_file_not_found_error): New C helper function.
-
-2008-08-20 Jose Ruiz <ruiz@adacore.com>
-
- * errno.c (__get_errno for MaRTE): Use the MaRTE function pthread_errno
- to get access to the per-task errno variable.
- (__set_errno for MaRTE): Do not redefine this function here since it is
- already defined in MaRTE.
-
-2008-08-20 Tristan Gingold <gingold@adacore.com>
-
- * gnat_ugn.texi: Gcov is not supported on static library on AIX.
-
-2008-08-20 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb: Minor reformatting
-
- * g-comlin.adb: Minor reformatting
-
- * g-socket.adb: Minor reformatting
-
- * g-socthi-mingw.adb: Minor reformatting
-
- * g-stheme.adb: Minor reformatting
-
-2008-08-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_aggr.adb, sem_type.adb, exp_ch9.ads, einfo.ads,
- exp_ch6.adb, exp_aggr.adb (Valid_Ancestor): Resolve
- confusion between partial and full views of an ancestor of the context
- type when the parent is a private extension declared in a parent unit,
- and full views are available for the context type.
-
-2008-08-18 Samuel Tardieu <sam@rfc1149.net>
- Robert Dewar <dewar@adacore.com>
-
- PR ada/30827
- * bindgen.adb (Gen_Output_File_Ada): Zero-terminate the
- version string.
- Move comment in the right place.
- * g-comver.adb (Version): Look for a zero-termination in
- addition to a closing parenthesis.
-
-2008-08-18 Samuel Tardieu <sam@rfc1149.net>
-
- * exp_ch13.adb, exp_disp.adb, sem_cat.adb, sem_ch10.adb,
- * sem_ch12.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
- * sem_prag.adb, sem_util.adb, sem_warn.adb: Use
- Is_Package_Or_Generic_Package instead of hand-crafted tests.
-
-2008-08-18 Samuel Tardieu <sam@rfc1149.net>
-
- PR ada/15808
- * sem_ch6.adb (Check_Private_Overriding): Check for generic packages
- as well.
-
-2008-08-17 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
-
- * adaint.c (_gnat_set_close_on_exec) [_WIN32]: Implement.
-
-2008-08-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (call_to_gnu): Use the Sloc of the call
- for back-copy statements in lieu of that of the actual.
-
-2008-08-16 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/20548
- * gcc-interface/decl.c (gnat_to_gnu_entity): Use DECL_SIZE_UNIT in the
- setjmp test consistently. Adjust for new behavior of flag_stack_check.
- * gcc-interface/utils2.c (build_call_alloc_dealloc): Remove redundant
- test of flag_stack_check. Adjust for new behavior of flag_stack_check.
-
-2008-08-13 Samuel Tardieu <sam@rfc1149.net>
-
- PR ada/36777
- * sem_util.ads, sem_util.adb (Is_Protected_Self_Reference): New.
- * sem_attr.adb (Check_Type): The current instance of a protected
- object is not a type name.
- (Analyze_Access_Attribute): Accept instances of protected objects.
- (Analyze_Attribute, Attribute_Address clause): Ditto.
- * exp_attr.adb (Expand_N_Attribute_Reference): Rewrite
- the prefix as being the current instance if needed.
-
-2008-08-12 Danny Smith <danyssmith@users.sourceforge.net>
-
- * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS) [WINDOWS]:
- Remove duplicate s-win32.o. Add s-winext.o.
-
-2008-08-12 Danny Smith <danyssmith@users.sourceforge.net>
-
- * g-stsifd-sockets.adb (Create): Replace Constants.SOCK_STREAM
- with SOSC.SOCK__STREAM.
- * g-socthi-mingw.adb (C_Select) Replace Constants.MSG_OOB with
- SOSC.MSG_OOB.
-
-2008-08-11 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * s-oscons-tmplt.c: RTEMS defines AF_INET6 but does support it.
- * gsocket.h, socket.c: Update to support RTEMS.
- * gcc-interface/Make-lang.in: Include CFLAGS_FOR_TARGET when cross.
-
-2008-08-10 Samuel Tardieu <sam@rfc1149.net>
- Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb (Expand_N_Op_Expon): Force evaluation of
- left argument even when right argument is 0.
- (Expand_N_Op_Mod): Ditto when right argument is 1.
- (Expand_N_Op_Multiply): Ditto when any argument is 0.
- (Expand_N_Op_Rem): Ditto when right argument is 1.
-
-2008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
-
- * gcc-interface/misc.c (gnat_handle_option): Replace set_Wunused
- by warn_unused.
-
-2008-08-08 Ed Schonberg <schonberg@adacore.com>
-
- * freeze.adb (Generate_Prim_Op_References): New procedure, abstracted
- from Freeze_Entity. Used to generate cross-reference information for
- types declared in generic packages.
-
-2008-08-08 Thomas Quinot <quinot@adacore.com>
-
- * gcc-interface/Makefile.in: Reintroduce g-soccon.ads as a
- compatibility shim.
-
-2008-08-08 Thomas Quinot <quinot@adacore.com>
-
- * gsocket.h:
- On Windows, include <errno.h> and redefine only selected errno values
- from their <winsock2.h> definitions.
-
- * s-osinte-freebsd.ads: Minor reformatting
-
- * s-osinte-hpux.ads, s-osinte-irix.ads: Minor reformatting
-
- * g-soccon.ads: New file.
-
- * g-stheme.adb, g-socthi-vms.adb, g-socthi-vxworks.adb,
- g-socthi-mingw.adb, g-sttsne-vxworks.adb, g-socthi.adb,
- g-stsifd-sockets.adb, g-socket.adb, g-socket.ads,
- g-sothco.adb, g-sothco.ads: Add back GNAT.Sockets.Constants as a child
- unit, to allow building software that depends on this internal unit
- with both older and newer compilers.
-
-2008-08-08 Robert Dewar <dewar@adacore.com>
-
- * s-strxdr.adb: Minor reformatting
-
-2008-08-08 Bob Duff <duff@adacore.com>
-
- * gnat_ugn.texi: The "Run-Time Checks" section said "arithmetic overflow
- checking for integer operations (including division by zero)", which
- is wrong -- divide by zero is not part of overflow checking.
- Also added misc clarification about what check-suppression means.
-
- * gnat_rm.texi: Clarify the meaning of pragma Suppress.
-
-2008-08-08 Jerome Lambourg <lambourg@adacore.com>
-
- * g-comlin.adb (Add_Switch): Handle addition of switches at the
- begining of the command line.
- (Append, Add): Renaming of Append to Add as this now allows addition
- at the begining of the list.
-
- * g-comlin.ads (Add_Switch): Handle addition of switches at the
- begining of the command line.
-
-2008-08-08 Thomas Quinot <quinot@adacore.com>
-
- * g-sercom.ads:
- (Name): Document application scope (only legacy PC serial ports on
- Linux and Windows).
-
-2008-08-08 Thomas Quinot <quinot@adacore.com>
-
- * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Revert
- previous change, not needed after all.
-
-2008-08-08 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch4.adb (Expand_Allocator_Expression): add check if null
- exclusion indicator is present
-
-2008-08-08 Robert Dewar <dewar@adacore.com>
-
- * g-comlin.adb: Minor code reorganization
- Minor reformatting
-
- * g-comlin.ads: Minor reformatting
-
- * s-fileio.adb: Minor reformatting
-
- * sem_attr.adb: Minor code reorganization (use Nkind_In)
- Minor reformatting
-
-2008-08-06 Samuel Tardieu <sam@rfc1149.net>
-
- * gcc-interface/Make-lang.in: Use GCC_FOR_TARGET when dealing
- with s-oscons-tmplt.i.
-
-2008-08-06 Samuel Tardieu <sam@rfc1149.net>
-
- * gcc-interface/Make-lang.in (OSCONS_CPPFLAGS): Remove.
-
-2008-08-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Analyze_Component_Declaration): Protect against misuse
- of incomplete type.
-
- * sem_ch8.adb (Analyze_Object_Renaming): Diagnose properly a renaming
- of a formal parameter of an incomplete type. Improve error message for
- other improper uses of incomplete types.
-
-2008-08-06 Robert Dewar <dewar@adacore.com>
-
- * gnat_ugn.texi: Clarify -gnato documentation
-
-2008-08-06 Thomas Quinot <quinot@adacore.com>
-
- * gcc-interface/Makefile.in,
- g-socthi-vxworks.adb, g-socthi-mingw.adb, g-sttsne-vxworks.adb,
- g-socthi.adb, g-socket.adb, g-socket.ads, g-sothco.ads,
- g-soccon-linux-x86.ads, g-soccon-vxworks.ads, g-soccon-mingw.ads,
- g-soccon-hpux-ia64.ads, g-soccon-irix.ads, g-soccon-linux-64.ads,
- g-soccon-aix.ads, g-soccon-solaris.ads, g-soccon-lynxos.ads,
- g-soccon-vms.ads, g-soccon.ads, g-soccon-freebsd.ads,
- g-soccon-linux-ppc.ads, g-soccon-tru64.ads, g-soccon-hpux.ads,
- g-soccon-solaris-64.ads, gen-oscons.c, g-soccon-darwin.ads,
- g-soccon-mingw-64.ads, g-soccon-linux-mips.ads, g-soccon-rtems.ads:
- Remove GNAT.Sockets.Constants. This internal package is replaced by
- System.OS_Constants.
-
-2008-08-06 Thomas Quinot <quinot@adacore.com>
-
- * gcc-interface/Makefile.in, gcc-interface/Make-lang.in:
- Remove obsolete targets referencing gen-soccon
- When generating s-oscons.ads, use a file name that includes the
- THREAD_KIND, to ensure that the (potentially different) version from a
- previous build with a different threads flavour does not get reused.
-
-2008-08-06 Thomas Quinot <quinot@adacore.com>
-
- * sem_res.adb: Minor reformatting
-
- * s-fileio.adb (Open): When file open operation fails, raise Name_Error
- only when the operating system reports a non-existing file or directory
- (ENOENT), otherwise raise Name_Error.
-
- * exp_ch11.adb: Minor reformatting
-
-2008-08-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Access_Subprogram_Declaration): If the return type is
- incomplete, add the access_to_subprogram type to the list of private
- dependents only if the incomplete type will be completed in the current
- scope.
- (Build_Discriminant_Constraints): If the type of the discriminant is
- access_to_variable, reject a constraint that is access_to_constant.
-
-2008-08-06 Thomas Quinot <quinot@adacore.com>
-
- * g-socket-dummy.adb, g-socket-dummy.ads, g-sothco-dummy.adb,
- g-sothco-dummy.ads, g-socthi-dummy.adb, g-socthi-dummy.ads,
- g-sttsne-dummy.ads: New files.
-
- * gcc-interface/Makefile.in, Makefile.rtl: Use placeholder sources
- with pragma Unimplemented_Unit for sockets packages on Nucleus.
-
-2008-08-06 Pascal Obry <obry@adacore.com>
-
- * adaint.c: Another fix for ACL support on Windows.
-
-2008-08-06 Javier Miranda <miranda@adacore.com>
-
- * exp_disp (Expand_Interface_Actuals): Adds missing support for
- expansion of calls to subprograms using selected components.
-
-2008-08-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Call): Use base type to determine whether a
- dereference is needed because a subtype of an access_to_subprogram is
- simply an access-subtype
-
-2008-08-06 Jerome Lambourg <lambourg@adacore.com>
-
- * g-comlin.adb (Set_Command_Line): Now that aliases can contain
- parameters, always specify the expected separator.
-
-2008-08-06 Thomas Quinot <quinot@adacore.com>
-
- * xnmake.adb: Use new XUtil package for platform independent text
- output.
-
-2008-08-06 Vincent Celier <celier@adacore.com>
-
- * gnat_ugn.texi: Document compiler switch -gnateG
-
-2008-08-06 Quentin Ochem <ochem@adacore.com>
-
- * s-stausa.adb (Fill_Stack): Fixed pragma assert and top pattern mark
- in the case of an empty pattern size.
- (Compute_Result): Do not do any computation in the case of an empty
- pattern size.
- (Report_Result): Fixed computation of the overflow guard.
-
-2008-08-06 Ed Schonberg <schonberg@adacore.com>
-
- * g-awk.adb (Finalize): Do not use directly objects of the type in the
- finalization routine to prevent elaboration order anomalies in new
- finalization scheme.
-
-2008-08-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Find_Type_Name): protect against duplicate incomplete
- declaration for the same type.
-
-2008-08-06 Thomas Quinot <quinot@adacore.com>
-
- * sem.adb: Minor rewording (comment)
-
-2008-08-06 Jerome Lambourg <lambourg@adacore.com>
-
- * g-comlin.adb (Define_Switch, Get_Switches): New.
- (Can_Have_Parameter, Require_Parameter, Actual_Switch): New, used when
- ungrouping switches.
- (For_Each_Simple_Switch): Allow more control over parameters handling.
- This generic method now allows ungrouping of switches with parameters
- and switches with more than one letter after the prefix.
- (Set_Command_Line): Take care of switches that are prefixed with a
- switch handling parameters without delimiter (-gnatya and -gnaty3 for
- example).
- (Add_Switch, Remove_Switch): Handle parameters possibly present inside
- a group, as in gnaty3aM80 (3 and 80 are parameters). Report status of
- the operation.
- (Start, Alias_Switches, Group_Switches): Take care of parameters
- possibly present inside a group.
-
- * g-comlin.ads (Define_Switch): New method used to define a list of
- expected switches, that are necessary for correctly ungrouping switches
- with more that one character after the prefix.
- (Get_Switches): Method that builds a getopt string from the list of
- switches as set previously by Define_Switch.
- (Add_Switch, Remove_Switch): New versions of the methods, reporting the
- status of the operation. Also allow the removal of switches with
- parameters only.
- (Command_Line_Configuration_Record): Maintain a list of expected
- switches.
-
-2008-08-06 Doug Rupp <rupp@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_param): Force 32bit descriptor if
- TARGET_MALLOC64 clear.
-
- * gcc-interface/utils2.c (build_call_alloc_dealloc): Force 32bit malloc
- if TARGET_MALLOC64 clear.
-
- * gcc-interface/gigi.h (TARGET_ABI_OPEN_VMS): Move here from utils2.c
- (TARGET_MALLC64): New macro. Default to clear.
-
-2008-08-06 Doug Rupp <rupp@adacore.com>
-
- * gcc-interface/utils2.c (snames.h) Include
- (TARGET_ABI_OPEN_VMS): Initialize.
- (build_call_alloc_dealloc); [TARGET_ABI_OPEN_VMS] Allocate on 32bit heap
- for Convention C.
-
-2008-08-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Process_Discriminants): diagnose redundant or improper
- null exclusion in a discriminant declaration
-
- * sem_ch8.adb (Analyze_Object_Renaming): diagnose null exclusion
- indicators when type is not an access type.
-
- * sem_ch12.adb (Formal_Object_Declaration): diagnose null exclusion
- indicators when type is not an access type.
-
-2008-08-06 Javier Miranda <miranda@adacore.com>
-
- * exp_disp (Expand_Interface_Conversion): Freeze the entity associated
- with the target interface before expanding the code of the interface
- conversion.
-
-2008-08-05 Ed Schonberg <schonberg@adacore.com>
-
- * freeze.adb:
- (Freeze_Entity): A deferred constant does not violate the restriction
- No_Default_Initialization,
-
- * sem_ch3.adb (Process_Subtype): An allocator is a valid construct that
- can carry a null exclusion indicator, and on which an error may be
- posted if the indicator is redundant.
-
- * sem_ch8.adb (Analyze_Object_Renaming): Verify that a null exclusion
- does not apply to a subtype mark that already excludes null.
-
- * sem_ch12.adb (Formal_Object_Declaration): Verify that a null
- exclusion does not apply to a subtype mark that already excludes null.
-
-2008-08-05 Thomas Quinot <quinot@adacore.com>
-
- * Makefile.rtl: Compile s-oscons.ads as part of the runtime library.
-
-2008-08-05 Doug Rupp <rupp@adacore.com>
-
- * vms_data.ads: Translation for /POINTER_SIZE qualifier.
-
-2008-08-05 Thomas Quinot <quinot@adacore.com>
-
- * gsocket.h: Make this file includable in a Nucleus environment, which
- does not support sockets.
-
- * socket.c: Remove Nucleus-specific hack.
-
-2008-08-05 Pascal Obry <obry@adacore.com>
-
- * adaint.c: Remove support for readable attribute on vxworks and nucleus
-
-2008-08-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb:
- (Analyze_Attribute, case 'Result): handle properly the case where some
- operand of the expression in a post-condition generates a transient
- block.
-
- * sem_ch5.adb (Analyze_Assignment_Statement): Apply conversion to
- right-hand side when it is an anonymous access_to_subprogram, to force
- static accessibility check when needed.
-
-2008-08-05 Sergey Rybin <rybin@adacore.com>
-
- * gnat_ugn.texi: Changing the description of the gnatcheck metrics
- rule according to the change in the rule option.
- Add documentation for -gnatw.b/-gnatw.B
-
-2008-08-05 Robert Dewar <dewar@adacore.com>
-
- * ug_words: Add entries for -gnatw.b/-gnatw.B
-
- * vms_data.ads: Add entries for -gnatw.b/-gnatw.B
-
-2008-08-05 Vincent Celier <celier@adacore.com>
-
- * a-wtdeio.adb (Put (Current_Output)): Use Fore in the call to Put
- (File).
-
- * a-ztdeio.adb: Ditto.
-
-2008-08-05 Pascal Obry <obry@adacore.com>
-
- * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Add support for the
- readable attribute.
-
-2008-08-05 Vincent Celier <celier@adacore.com>
-
- * s-wchwts.adb:
- (Wide_String_To_String): Returns a String with the same 'First as its
- parameter S.
- (Wide_Wide_String_To_String): Ditto
-
- * s-wchwts.ads:
- (Wide_String_To_String): Document that the lowest index of the returned
- String is equal to S'First.
-
-2008-08-05 Thomas Quinot <quinot@adacore.com>
-
- * xoscons.adb, xutil.ads, xutil.adb, s-oscons-tmplt.c: New files.
-
- * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Generate
- s-oscons.ads
-
-2008-08-05 Robert Dewar <dewar@adacore.com>
-
- * opt.ads (Warn_On_Biased_Representation): New flag
-
- * sem_ch13.adb:
- (Analyze_Attribute_Definition_Clause): Issue warning when biased
- representation is required.
- (Minimum_Size): Don't allow biasing if enum rep clause case
-
- * sem_warn.adb:
- (Set_Dot_Warning_Switch): Add handling of -gnatw.b/B switches
- (Set_Warning_Switch): Include -gnatw.b in -gnatwa, -gnatw.B in gnatws
-
- * usage.adb: Add lines for -gnatw.b/B switches
-
-2008-08-05 Pascal Obry <obry@adacore.com>
-
- * a-coinve.adb: Reorder the code to avoid uninitialized warning.
-
- * adaint.c: In UNIX cases do not call __gnat_stat but stat directly.
-
-2008-08-05 Thomas Quinot <quinot@adacore.com>
-
- * socket.c: Minor reformatting.
-
-2008-08-05 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb: Minor reformatting
-
- * prj-nmsc.adb: Minor reformatting
-
-2008-08-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Validate_Array_Type_Instance): Only apply complex
- visibility check on the component type if the simple test fails.
-
-2008-08-05 Jose Ruiz <ruiz@adacore.com>
-
- * init.c (__gnat_install_handler for linux): If we are building the
- Xenomai run time then we need to do two additional things: avoid
- memory swapping and transform the Linux environment task into a native
- Xenomai task.
-
- * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for xenomai run
- time): Use interface to Xenomai native skin and avoid linux-specific
- way of setting CPU affinity.
- (EH_MECHANISM for the xenomai run time): Use sjlj exception mechanism.
-
-2008-08-05 Bob Duff <duff@adacore.com>
-
- * checks.ads: Minor comment fix
-
-2008-08-05 Thomas Quinot <quinot@adacore.com>
-
- * g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb,
- g-sercom-linux.adb (Data_Bits): Change literals B7 and B8 to CS7 and
- CS8.
-
-2008-08-05 Robert Dewar <dewar@adacore.com>
-
- * mlib.adb: Minor code reorganization
- Minor reformatting
-
- * make.adb: Minor reformatting
-
- * prj-attr.ads: Minor reformatting
-
- * s-os_lib.adb: Minor reformatting
-
- * s-fileio.adb: Minor code reorganization
- Minor reformatting
-
- * prj.ads: Minor reformatting
-
-2008-08-05 Bob Duff <duff@adacore.com>
-
- * sem_ch3.adb (Analyze_Object_Declaration): Avoid type Any_Access in
- unresolved initial value of "null", because it causes implicitly
- generated "=" operators to be ambiguous, and because this type should
- not be passed to gigi.
-
-2008-08-05 Vincent Celier <celier@adacore.com>
-
- * mlib.adb: Update comments.
-
- * make.adb (Switches_Of): Check for Switches (others), before checking
- for Default_Switches ("Ada").
- (Gnatmake): Use Builder'Switches (others) in preference to
- Builder'Default_Switches ("Ada") if there are several mains.
-
- * prj-attr-pm.adb:
- (Add_Attribute): Add component Others_Allowed in Attribute_Record
- aggregate.
-
- * prj-attr.adb:
- Add markers to indicates that attributes Switches allow others as index
- (Others_Allowed_For): New Boolean function, returning True for
- attributes with the mark.
- (Initialize): Recognize optional letter 'O' as the marker for
- associative array attributes where others is allowed as the index.
-
- * prj-attr.ads:
- (Others_Allowed_For): New Boolean function
- (Attribute_Record): New Boolean component Others_Allowed
-
- * prj-dect.adb:
- (Parse_Attribute_Declaration): For associative array attribute where
- others is allowed as the index, allow others as an index.
-
- * prj-nmsc.adb:
- (Process_Binder): Skip associative array attributes with index others
- (Process_Compiler): Ditto
-
- * prj-util.adb:
- (Value_Of (Index, In_Array)): Make no attempt to put in lower case when
- index is All_Other_Names.
-
- * prj.ads:
- (All_Other_Names): New constant
-
- * prj-proc.adb:
- (Process_Declarative_Items): Skip associative array attribute when index
- is reserved word "others".
-
-2008-08-05 Vasiliy Fofanov <fofanov@adacore.com>
-
- * gen-oscons.c: Adapt for VMS where termios.h is not available.
-
-2008-08-05 Thomas Quinot <quinot@adacore.com>
-
- * a-rttiev.adb: Minor reformatting (comments)
-
- * gen-soccon.c: Rename to gen-oscons.c
-
- * gen-oscons.c: New file. Now generate System.OS_Constants instead of
- GNAT.Sockets.Constants.
- Add new constants for GNAT.Serial_Communications and System.File_IO.
-
-2008-08-05 Javier Miranda <miranda@adacore.com>
-
- * sem_util.adb (Collect_Interfaces_Info): Minor reformating.
- * exp_ch3.adb (Build_Offset_To_Top_Functions): Code cleanup: the
- implementation of this routine has been simplified.
-
-2008-08-05 Pascal Obry <obry@adacore.com>
-
- * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Fix the
- Set_Read_Only Win32 implementation.
-
-2008-08-05 Thomas Quinot <quinot@adacore.com>
-
- * exp_strm.adb: Minor reformatting (comments)
-
- * sem_ch12.adb: Minor reformatting.
-
-2008-08-05 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb: Minor reformatting
-
- * checks.adb: Minor reformatting
-
-2008-08-05 Thomas Quinot <quinot@adacore.com>
-
- * tbuild.ads (New_External_Name): Update spec to reflect relaxed
- restriction on Prefix.
-
-2008-08-05 Jerome Lambourg <lambourg@adacore.com>
-
- * g-comlin.adb (Sort_Sections, Group_Switches): New/Modified internal
- methods needed to handle switch sections when building a command line.
- (Define_Section, Add_Switch, Remove_Switch, Is_New_Section,
- Current_Section): New public methods or methods modified to handle
- building command lines with sections.
- (Set_Command_Line): Take into account sections when analysing a switch
- string.
- (Start): Sort the switches by sections before iterating the command line
- elements.
-
- * g-comlin.ads (Define_Section, Add_Switch, Remove_Switch,
- Is_New_Section, Current_Section): New methods or methods modified to
- handle building command lines with sections.
-
-2008-08-05 Ed Schonberg <schonberg@adacore.com>
-
- * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For access
- discriminants, indicate that the corresponding object declaration has
- no initialization, to prevent spurious warnings when the access type is
- null-excluding.
-
-2008-08-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Call): If this is a call to the predefined
- Abort_Task, warn if the call appears within a protected operation.
-
-2008-08-04 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb (Expand_N_In): Suppress range warnings in instances
-
-2008-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb:
- (Replace_Anonymous_Access_To_Protected_Subprogram): Handle properly an
- anonymous access to protected subprogram that is the return type of the
- specification of a subprogram body.
-
- * sem_ch6.adb:
- (Analyze_Subprogram_Body): if the return type is an anonymous access to
- subprogram, freeze it now to prevent access anomalies in the back-end.
-
- * exp_ch9.adb: Minor code cleanup.
- Make sure that new declarations are inserted into the tree before
- analysis (from code reading).
-
-2008-08-04 Robert Dewar <dewar@adacore.com>
-
- * exp_ch5.adb:
- (Expand_Simple_Function_Return): Check No_Secondary_Stack restriction
- at point of return.
-
-2008-08-04 Thomas Quinot <quinot@adacore.com>
-
- * sem_type.adb, sem_ch4.adb, sprint.adb, exp_ch3.adb: Minor reformatting
-
-2008-08-04 Vasiliy Fofanov <fofanov@adacore.com>
-
- * g-soccon-mingw.ads: Fix value for MSG_WAITALL
-
-2008-08-04 Javier Miranda <miranda@adacore.com>
-
- * sem_prag.adb (Process_Convention): Add missing support for
- N_Private_Extension_Declaration nodes.
-
-2008-08-04 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb: Minor reformatting
-
-2008-08-04 Pascal Obry <obry@adacore.com>
-
- * adaint.h: Add missing prototype.
-
- * adaint.c: Refine support for Windows file attributes.
-
-2008-08-04 Robert Dewar <dewar@adacore.com>
-
- * sem_res.adb:
- (Valid_Conversion): Catch case of designated types having different
- sizes, even though they statically match.
-
-2008-08-04 Javier Miranda <miranda@adacore.com>
-
- * sem_eval.adb (Subtypes_Statically_Match): Remove superfluous patch
- added in previous patch to handle access to subprograms.
-
-2008-08-04 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb:
- (Freeze_Entity): Only check No_Default_Initialization restriction for
- constructs that come from source
-
-2008-08-04 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch6.adb: Minor comment fix.
-
- * sem_ch4.adb: Minor reformatting.
-
-2008-08-04 Robert Dewar <dewar@adacore.com>
-
- * sem_res.adb: (Large_Storage_Type): Improve previous change.
-
-2008-08-04 Pascal Obry <obry@adacore.com>
-
- * adaint.c, s-os_lib.adb, s-os_lib.ads: Use Windows ACL to deal with
- file attributes.
-
-2008-08-04 Javier Miranda <miranda@adacore.com>
-
- * sem_ch3.adb (Access_Subprogram_Declaration): Adding missing support
- for N_Formal_Object_Declaration nodes. Adding kludge required by
- First_Formal to provide its functionality with access to functions.
- (Replace_Anonymous_Access_To_Protected_Subprogram): Add missing support
- for anonymous access types returned by functions.
-
- * sem_ch5.adb (Analyze_Assignment): Code cleanup to avoid duplicate
- conversion of null-excluding access types (required only once to force
- the generation of the required runtime check).
-
- * sem_type.adb (Covers): minor reformating
-
- * checks.adb (Null_Exclusion_Static_Checks): Avoid reporting errors
- with internally generated nodes. Avoid generating the error inside init
- procs.
-
- * sem_res.adb (Resolve_Membership_Test): Minor reformating.
- (Resolve_Null): Generate the null-excluding check in case of assignment
- to a null-excluding object.
- (Valid_Conversion): Add missing support for anonymous access to
- subprograms.
-
- * sem_ch6.adb (Check_Return_Subtype_Indication): Add missing support for
- anonymous access types whose designated type is an itype. This case
- occurs with anonymous access to protected subprograms types.
- (Analyze_Return_Type): Add missing support for anonymous access to
- protected subprogram.
-
- * sem_eval.adb (Subtypes_Statically_Match): In case of access to
- subprograms addition of missing check on matching convention. Required
- to properly handle access to protected subprogram types.
-
- * exp_ch3 (Build_Assignment): Code cleanup removing duplicated check on
- null excluding access types.
-
-2008-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb: Add comments
-
- * sem_ch4.adb (Analyze_Allocator): If the designated type is a non-null
- access type and the allocator is not initialized, warn rather than
- reporting an error.
-
-2008-08-04 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb: Minor reformatting
-
- * exp_dist.adb: Minor reformatting
-
- * g-comlin.adb: Minor reformatting
-
-2008-08-04 Gary Dismukes <dismukes@adacore.com>
-
- * exp_aggr.adb (Build_Record_Aggr_Code): Perform a conversion of the
- target to the type of the aggregate in the case where the target object
- is class-wide.
-
- * exp_ch5.adb (Expand_Simple_Function_Return): When the function's
- result type is class-wide and inherently limited, and the expression
- has a specific type, create a return object of the specific type, for
- more efficient handling of returns of build-in-place aggregates (avoids
- conversions of the class-wide return object to the specific type on
- component assignments).
-
- * sem_ch6.adb (Check_Return_Subtype_Indication): Suppress the error
- about a type mismatch for a class-wide function with a return object
- having a specific type when the object declaration doesn't come from
- source. Such an object can result from the expansion of a simple return.
-
-2008-08-04 Vasiliy Fofanov <fofanov@adacore.com>
-
- * g-soccon-mingw-64.ads, system-mingw-x86_64.ads: New files.
-
- * gcc-interface/Makefile.in: Use 64bit-specific system files when
- compiling for 64bit windows.
-
-2008-08-04 Jerome Lambourg <lambourg@adacore.com>
-
- * g-comlin.adb (Group_Switches): Preserve the switch order when
- grouping and allow switch grouping of switches with more than one
- character extension (e.g. gnatw.x).
- (Args_From_Expanded): Remove this now obsolete method.
-
-2008-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch4.adb (Get_Allocator_Final_List): Freeze anonymous type for
- chain at once, to ensure that type is properly decorated for back-end,
- when allocator appears within a loop.
-
-2008-08-04 Kevin Pouget <pouget@adacore.com>
-
- * snames.h, snames.adb, snames.ads:
- Add Attr_To_Any, Attr_From_Any and Attr_TypeCode defines.
-
- * exp_dist.ads, exp_dist.adb: Add Build_From_Any_Call,
- Build_To_Any_Call and Build_TypeCode_Call procedures.
-
- * exp_attr.adb, sem_attr.adb: Add corresponding cases.
-
- * rtsfind.ads: Add corresponding names.
-
- * tbuild.adb: Update prefix restrictions to allow '_' character.
-
-2008-08-04 Doug Rupp <rupp@adacore.com>
-
- * gigi.h (fill_vms_descriptor): Add third parameter gnat_actual
- * trans.c (call_to_gnu): Call fill_vms_descriptor with new parameter.
- * utils2.c (fill_vms_descriptor): Add third parameter for error sloc and
- use it. Calculate pointer range overflow using 64bit types.
-
-2008-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Access_Definition): A formal object declaration is a
- legal context for an anonymous access to subprogram.
-
- * sem_ch4.adb (Analyze_One_Call): If the call can be interpreted as an
- indirect call, report success to the caller to include possible
- interpretation.
-
- * sem_ch6.adb (Check_Return_Type_Indication): Apply proper conformance
- check when the type
- of the extended return is an anonymous access_to_subprogram type.
-
- * sem_res.adb:
- (Resolve_Call): Insert a dereference if the type of the subprogram is an
- access_to_subprogram and the context requires its return type, and a
- dereference has not been introduced previously.
-
-2008-08-04 Arnaud Charlet <charlet@adacore.com>
-
- * usage.adb (Usage): Minor rewording of -gnatwz switch, to improve
- gnatcheck support in GPS.
-
-2008-08-04 Vincent Celier <celier@adacore.com>
-
- * mlib.adb (Create_Sym_Links): Create relative symbolic links when
- requested
-
-2008-08-04 Vincent Celier <celier@adacore.com>
-
- * gprep.adb (Process_One_File): Call Prep.Preprocess with a Boolean
- variable, but don't check the resulting value as it has no impact on
- the processing.
-
- * opt.ads:
- (Generate_Processed_File): New Boolean flag, set to True in the compiler
- when switch -gnateG is used.
-
- * prep.adb:
- (Preprocess): new Boolean out parameter Source_Modified. Set it to True
- when the source is modified by the preprocessor and there is no
- preprocessing errors.
-
- * prep.ads (Preprocess): new Boolean out parameter Source_Modified
-
- * sinput-l.adb:
- (Load_File): Output the result of preprocessing if the source text was
- modified.
-
- * switch-c.adb (Scan_Front_End_Switches): Recognize switch -gnateG
-
- * switch-m.adb (Normalize_Compiler_Switches): Normalize switch -gnateG
-
- * ug_words: Add VMS equivalent for -gnateG
-
- * vms_data.ads:
- Add VMS option /GENERATE_PROCESSED_SOURCE, equivalent to switch -gnateG
-
-2008-08-04 Doug Rupp <rupp@adacore.com>
-
- * gcc-interface/utils2.c:
- (fill_vms_descriptor): Raise CE if attempt made to pass 64bit pointer
- in 32bit descriptor.
-
-2008-08-04 Robert Dewar <dewar@adacore.com>
-
- * par-ch10.adb: Minor reformatting
-
- * i-cobol.adb: Minor reformatting.
-
-2008-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Access_Definition): Create an itype reference for an
- anonymous access return type of a regular function that is not a
- compilation unit.
-
-2008-08-04 Vincent Celier <celier@adacore.com>
-
- * prj-attr.adb: New Builder attribute Global_Compilation_Switches
-
- * snames.adb: New standard name Global_Compilation_Switches
-
- * snames.ads: New standard name Global_Compilation_Switches
-
- * make.adb: Correct spelling error in comment
-
-2008-08-04 Arnaud Charlet <charlet@adacore.com>
-
- * sem_prag.adb (Check_Form_Of_Interface_Name): Fix handling for CLI
- target.
-
-2008-08-04 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch10.adb: Minor comment fix.
-
-2008-08-04 Robert Dewar <dewar@adacore.com>
-
- * restrict.adb: Improved messages for restriction warnings
-
- * restrict.ads: Improved messages for restriction messages
-
- * s-rident.ads (Profile_Name): Add No_Profile
-
-2008-08-04 Robert Dewar <dewar@adacore.com>
-
- * system-darwin-x86.ads: Correct bad definition of Max_Nonbinary_Modulus
-
-2008-08-04 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb (Freeze_Entity): Check for size clause for boolean warning
-
-2008-08-04 Vincent Celier <celier@adacore.com>
-
- * prj-proc.adb:
- (Copy_Package_Declarations): When inheriting package Naming from a
- project being extended, do not inherit source exception names.
-
-2008-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.adb (Check_Precondition_Postcondition): When scanning the
- list of declaration to find previous subprogram, do not go to the
- original node of a generic unit.
-
-2008-08-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR, MINUS_EXPR>:
- New case. Convert BOOLEAN_TYPE operation to the default integer type.
-
-2008-08-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/ada-tree.h (DECL_PARM_ALT): Now DECL_PARM_ALT_TYPE.
- * gcc-interface/decl.c (gnat_to_gnu_param): Fix formatting, simplify
- and adjust for above renaming.
- * gcc-interface/utils.c (convert_vms_descriptor): Likewise. Add new
- gnu_expr_alt_type parameter. Convert the expression to it instead
- of changing its type in place.
- (build_function_stub): Adjust call to above function.
-
-2008-08-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Remove dead
- code. Do not get full definition of deferred constants with address
- clause for a use. Do not ignore deferred constant definitions with
- address clause. Ignore constant definitions already marked with the
- error node.
- <object>: Remove obsolete comment. For a deferred constant with
- address clause, get the initializer from the full view.
- * gcc-interface/trans.c (gnat_to_gnu) <N_Attribute_Definition_Clause>:
- Rework and remove obsolete comment.
- <N_Object_Declaration>: For a deferred constant with address clause,
- mark the full view with the error node.
- * gcc-interface/utils.c (convert_to_fat_pointer): Rework and fix
- formatting nits.
-
-2008-08-01 Hristian Kirtchev <kirtchev@adacore.com>
-
- * rtsfind.ads: Add block IO versions of stream routines for Strings.
-
- * bindgen.adb, gnat_rm.texi, gnat_ugn.texi, opt.ads,
- sem_prag.adb, snames.adb, snames.ads, snames.h,
- par-prag.adb: Undo previous stream related changes.
-
- * s-rident.ads: Add new restriction No_Stream_Optimizations.
-
- * s-ststop.ads, s-ststop.adb: Comment reformatting.
- Define enumeration type to designate different IO mechanisms.
- Enchance generic package Stream_Ops_Internal to include an
- implementation of Input and Output.
-
- * exp_attr.adb (Find_Stream_Subprogram): If restriction
- No_Stream_Optimization is active, choose the default byte IO
- implementations of stream attributes for Strings.
- Otherwise use the corresponding block IO version.
-
-2008-08-01 Olivier Hainque <hainque@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>: Do not
- turn Ada Pure into GCC const, now implicitely implying nothrow as well.
-
-2008-08-01 Robert Dewar <dewar@adacore.com>
-
- * par-ch3.adb (P_Defining_Identifier): Avoid repeated attempt to
- convert plain identifier into defining identifier.
-
-2008-08-01 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb (Check_Form_Of_Interface_Name): Refine and improve
- warnings
-
- * lib-xref.adb: Add error defense.
-
-2008-08-01 Bob Duff <duff@adacore.com>
-
- * ioexcept.ads, sequenio.ads, directio.ads: Correct comment.
-
-2008-08-01 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch6.adb (Expand_Call): Adjustment to previous fix for passing
- correct accessibility levels. In the "when others" case, retrieve the
- access level of the Etype of Prev rather than Prev_Orig, because the
- original exression has not always been analyzed.
-
-2008-08-01 Robert Dewar <dewar@adacore.com>
-
- * prj-nmsc.adb: Minor reformatting
-
- * sem_ch4.adb: Minor reformatting
- Minor code reorganization
-
- * prj.ads: Minor reformatting
-
- * s-os_lib.adb: Minor reformatting
-
- * par-prag.adb (Prag, case Wide_Character_Encoding): Deal with upper
- half encodings
-
- * scans.ads: Minor reformatting.
-
- * sem_prag.adb (Analyze_Pragma): Put entries in alpha order
- (Analyze_Pragma): Make sure all GNAT pragmas call GNAT_Pragma
-
- * sem_res.adb:
- (Resolve_Call): Check violation of No_Specific_Termination_Handlers
-
- * sem_ch12.adb: Minor comment reformatting
-
- * par-ch3.adb (P_Type_Declaration): Properly handle missing type
- keyword
-
-2008-08-01 Robert Dewar <dewar@adacore.com>
-
- * sem_ch6.adb (Process_PPCs): Don't copy spec PPC to body if not
- generating code
-
-2008-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * checks.adb (Apply_Float_Conversion_Check): If the expression to be
- converted is a real literal and the target type has static bounds,
- perform the conversion exactly to prevent floating-point anomalies on
- some targets.
-
-2008-08-01 Vincent Celier <celier@adacore.com>
-
- * prj-attr.adb: New attribute Compiler'Name_Syntax (<lang>)
-
- * prj-nmsc.adb (Process_Compiler): Recognize attribute Name_Syntax
-
- * prj.adb (Object_Exist_For): Use Object_Generated, not
- Objects_Generated that is removed and was never modified anyway.
-
- * prj.ads:
- (Path_Syntax_Kind): New enumeration type
- (Language_Config): New component Path_Syntax, defaulted to Host.
- Components PIC_Option and Objects_Generated removed, as they are not
- used.
-
- * snames.adb: New standard name Path_Syntax
-
- * snames.ads: New standard name Path_Syntax
-
-2008-08-01 Vincent Celier <celier@adacore.com>
-
- * mlib-utl.adb:
- (Adalib_Path): New variable to store the path of the adalib directory
- when procedure Specify_Adalib_Dir is called.
- (Lib_Directory): If Adalib_Path is not null, return its value
- (Specify_Adalib_Dir): New procedure
-
- * mlib-utl.ads (Specify_Adalib_Dir): New procedure
-
-2008-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.adb:
- (Check_Precondition_Postcondition): If not generating code, analyze the
- expression in a postcondition that appears in a subprogram body, so that
- it is properly decorated for ASIS use.
-
-2008-08-01 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch6.adb (Expand_Call): Remove ugly special-case code that resets
- Orig_Prev to Prev in the case where the actual is N_Function_Call or
- N_Identifier. This was interfering with other cases that are rewritten
- as N_Identifier, such as allocators, resulting in passing of the wrong
- accessibility level, and based on testing this code is apparently no
- longer needed at all.
-
-2008-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Analyze_One_Call): Handle complex overloading of a
- procedure call whose prefix
- is a parameterless function call that returns an access_to_procedure.
-
-2008-08-01 Jose Ruiz <ruiz@adacore.com>
-
- * adaint.c (__gnat_tmp_name): Refine the generation of temporary names
- for RTX. Adding a suffix that is incremented at each iteration.
-
-2008-08-01 Robert Dewar <dewar@adacore.com>
-
- * sem_ch6.adb (Analyze_Subprogram_Body): Remove special casing of
- Raise_Exception
-
-2008-08-01 Jerome Lambourg <lambourg@adacore.com>
-
- * s-os_lib.adb (Normalize_Pathname): Take care of double-quotes in
- paths, which are authorized by Windows but can lead to errors when used
- elsewhere.
-
-2008-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.ads (Need_Subprogram_Instance_Body): new function, to create
- a pending instantiation for the body of a subprogram that is to be
- inlined.
-
- * sem_ch12.adb:
- (Analyze_Subprogram_Instantiation): use Need_Subprogram_Instance_Body.
-
- * sem_prag.adb (Make_Inline): If the pragma applies to an instance,
- create a pending instance for its body, so that calls to the subprogram
- can be inlined by the back-end.
-
-2008-08-01 Jose Ruiz <ruiz@adacore.com>
-
- * gnat_ugn.texi: Document the RTX run times (rts-rtx-rtss and
- rts-rtx-w32).
-
-2008-08-01 Robert Dewar <dewar@adacore.com>
-
- * scng.adb (Error_Illegal_Wide_Character): Bump scan pointer
-
-2008-08-01 Doug Rupp <rupp@adacore.com>
-
- * gnat_rm.texi: Document new mechanism Short_Descriptor.
-
- * types.ads (Mechanism_Type): Modify range for new Short_Descriptor
- mechanism values.
-
- * sem_prag.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
- mechanism and Short_Descriptor mechanism values.
-
- * snames.adb (preset_names): Add short_descriptor entry.
-
- * snames.ads: Add Name_Short_Descriptor.
-
- * types.h: Add new By_Short_Descriptor mechanism values.
-
- * sem_mech.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
- mechanism and Short_Descriptor mechanism values.
-
- * sem_mech.ads (Mechanism_Type): Add new By_Short_Descriptor mechanism
- values.
- (Descriptor_Codes): Modify range for new mechanism values.
-
- * treepr.adb (Print_Entity_Enfo): Handle new By_Short_Descriptor
- mechanism values.
-
- * gcc-interface/decl.c (gnat_to_gnu_entity): Handle By_Short_Descriptor.
- (gnat_to_gnu_param): Handle By_Short_Descriptor.
-
- * gcc-interface/gigi.h (build_vms_descriptor64): Remove prototype.
- (build_vms_descriptor32): New prototype.
- (fill_vms_descriptor): Remove unneeded gnat_actual parameter.
-
- * gcc-interface/trans.c (call_to_gnu): Removed unneeded gnat_actual
- argument in call fill_vms_descriptor.
-
- * gcc-interface/utils.c (build_vms_descriptor32): Renamed from
- build_vms_descriptor and enhanced to hande Short_Descriptor mechanism.
- (build_vms_descriptor): Renamed from build_vms_descriptor64.
- (convert_vms_descriptor32): New function.
- (convert_vms_descriptor64): New function.
- (convert_vms_descriptor): Rewrite to handle both 32bit and 64bit
- descriptors.
-
- * gcc-interface/utils2.c (fill_vms_descriptor): Revert previous changes,
- no longer needed.
-
-2008-08-01 Jose Ruiz <ruiz@adacore.com>
-
- * adaint.c (__gnat_tmp_name): RTSS applications do not support tempnam
- nor tmpnam, so we always use c:\WINDOWS\Temp\gnat-XXXXXX as temporary
- name.
-
-2008-08-01 Jose Ruiz <ruiz@adacore.com>
-
- * cstreams.c (__gnat_full_name): RTSS applications cannot ask for the
- current directory so only fully qualified names are allowed.
-
-2008-08-01 Robert Dewar <dewar@adacore.com>
-
- * gnat_ugn.texi:
- Minor editing, remove uncomfortable use of semicolon
-
- * s-ststop.adb: Add some ??? comments
-
- * sem_ch10.adb: Minor reformatting
-
- * snames.ads:
- Minor comment fixes, some pragmas were not properly
- categorized in the comments, documentation change only
-
- * xref_lib.adb: Minor reformatting
-
- * sinput.adb: Minor reformatting
-
- * gnatchop.adb: Minor reformatting
-
- * sem_util.ads: Minor reformatting.
-
- * opt.ads: Minor documentation fix
-
- * scng.adb: Minor reformatting
-
- * prj-part.adb: Update comments
-
-2008-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * exp_disp.adb (Expand_Interface_Conversion): If the target type is a
- tagged synchronized type, use corresponding record type.
-
-2008-08-01 Doug Rupp <rupp@adacore.com>
-
- * mlib-tgt-specific-vms-alpha.adb (Build_Dynamic_Library): Output a
- dummy transfer address for debugging.
-
- * mlib-tgt-specific-vms-ia64.adb (Build_Dynamic_Library): Likewise.
-
- * vms_data.ads: vms_data.ads: New qualfier /MACHINE_CODE_LISTING
-
-2008-07-31 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity): Fix formatting.
- * gcc-interface/utils.c (create_field_decl): Avoid superfluous work.
-
-2008-07-31 Pascal Obry <obry@adacore.com>
-
- * prj-nmsc.adb: Keep Object and Exec directory casing.
-
-2008-07-31 Jose Ruiz <ruiz@adacore.com>
-
- * system-rtx-rtss.ads
- Change the default stack size. It is important to set the commit part.
-
- * s-taprop-rtx.adb
- (Initialize): Get the clock resolution.
- (RT_Resolution): Return the clock resolution that is indicated by the
- system.
-
- * s-parame-vxworks.adb
- Document that this body is used for RTX in RTSS (kernel) mode.
-
- * gcc-interface/Makefile.in
- (LIBGNAT_TARGET_PAIRS for the rtx_rtss run time): Use the
- s-parame-vxworks.adb body in order to have reasonable stack sizes in
- RTX RTSS kernel mode. Virtual memory is not used in that case, so we
- cannot ask for too big values.
-
-2008-07-31 Robert Dewar <dewar@adacore.com>
-
- * exp_aggr.adb: Minor reformatting
-
- * makeutl.adb: Minor reformatting
-
- * prj-env.adb: Minor reformatting
-
-2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_disp.adb (Prim_Op_Kind): Retrieve the full view when a private
- tagged type is completed by a concurrent type.
-
-2008-07-31 Gary Dismukes <dismukes@adacore.com>
-
- * sem_aggr.adb:
- (Resolve_Record_Aggregate): Bypass error that a type without
- components must have a "null record" aggregate when compiling for Ada
- 2005, since it's legal to give an aggregate of form (others => <>)
- for such a type.
-
-2008-07-31 Javier Miranda <miranda@adacore.com>
-
- * sem_ch4.adb (Valid_First_Argument_Of): Complete its functionality to
- handle synchronized types. Required to handle well the object.operation
- notation applied to synchronized types.
-
-2008-07-31 Quentin Ochem <ochem@adacore.com>
-
- * s-stausa.adb (Fill_Stack): Stack_Used_When_Filling is now stored
- anymore - just used internally.
- Added handling of very small tasks - when the theoretical size is
- already full at the point of the call.
- (Report_Result): Fixed result computation, Stack_Used_When_Filling does
- not need to be added to the result.
-
-2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch6.adb (Disambiguate_Spec): Continue the disambiguation if the
- corresponding spec is a primitive wrapper. Update comment.
-
-2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
-
- * bindgen.adb Comment reformatting. Update the list of run-time globals.
- (Gen_Adainit_Ada): Add the declaration, import and value set for
- configuration flag Canonical_Streams.
- (Gen_Adainit_C): Add the declaration and initial value of external
- symbol __gl_canonical_streams.
-
- * init.c: Update the list of global values computed by the binder.
-
- * opt.ads: Add flag Canonical_Streams.
-
- * par-prag.adb (Prag): Include Pragma_Canonical_Streams to the list of
- semantically handled pragmas.
-
- * sem_prag.adb: Add an entry into enumeration type Sig_Flags.
- (Analyze_Pragma): Add case for pragma Canonical_Streams.
-
- * snames.adb: Add character value for name Canonical_Streams.
-
- * snames.ads:
- Add Name_Canonical_Streams to the list of configuration pragmas.
- Add Pragma_Canonical_Streams to enumeration type Pragma_Id.
-
- * snames.h: Add a definition for Pragma_Canonical_Streams.
-
- * s-ststop.adb:
- Add a flag and import to seize the value of external symbol
- __gl_canonical_streams. Update comment and initial value of constant
- Use_Block_IO.
-
- * gnat_rm.texi: Add section of pragma Canonical_Streams.
-
- * gnat_ugn.texi:
- Add pragma Canonical_Streams to the list of configuration pragmas.
-
-2008-07-31 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch10.adb (Build_Unit_Name): If the unit name in a with_clause
- has the form A.B.C and B is a unit renaming, analyze its compilation
- unit and add a with_clause on A.b to the context.
-
-2008-07-31 Vincent Celier <celier@adacore.com>
-
- * makeutl.adb (Executable_Prefix_Path): If Locate_Exec_On_Path fails,
- return the empty string, instead of raising Constraint_Error.
-
-2008-07-31 Gary Dismukes <dismukes@adacore.com>
-
- * checks.ads (Apply_Accessibility_Check): Add parameter Insert_Node.
-
- * checks.adb (Apply_Accessibility_Check): Insert the check on
- Insert_Node.
-
- * exp_attr.adb:
- (Expand_N_Attribute_Refernce, Attribute_Access): Pass attribute node
- to new parameter Insert_Node on call to Apply_Accessibility_Check.
- Necessary to distinguish the insertion node because the dereferenced
- formal may come from a rename, but the check must be inserted in
- front of the attribute.
-
- * exp_ch4.adb:
- (Expand_N_Allocator): Pass actual for new Insert_Node parameter on
- call to Apply_Accessibility_Check.
- (Expand_N_Type_Conversion): Pass actual for new Insert_Node parameter
- on call to Apply_Accessibility_Check.
- Minor reformatting
-
-2008-07-31 Javier Miranda <miranda@adacore.com>
-
- * sem_type.adb (Has_Compatible_Type): Complete support for synchronized
- types when the candidate type is a synchronized type.
-
- * sem_res.adb (Resolve_Actuals): Reorganize code handling synchronized
- types, and complete management of synchronized types adding missing
- code to handle formal that is a synchronized type.
-
- * sem_ch4.adb (Try_Primitive_Operation): Avoid testing attributes that
- are not available and cause the compiler to blowup. Found compiling
- test with switch -gnatc
-
- * sem_ch6.adb (Check_Synchronized_Overriding): Remove local subprogram
- Has_Correct_Formal_Mode plus code cleanup.
-
-2008-07-31 Bob Duff <duff@adacore.com>
-
- * sinput.adb (Skip_Line_Terminators): Fix handling of LF/CR -- it was
- recognized as two end-of-lines, but it should be just one.
-
-2008-07-31 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch9.adb: Minor reformatting
-
- * tbuild.ads: Fix several occurrences of incorrectly referring to
- Name_Find as Find_Name.
-
-2008-07-31 Ed Schonberg <schonberg@adacore.com>
-
- * exp_aggr.adb (Aggr_Size_OK): If the aggregate has a single component
- and the context is an object declaration with non-static bounds, treat
- the aggregate as non-static.
-
-2008-07-31 Vincent Celier <celier@adacore.com>
-
- * prj-part.adb, prj-part.ads, prj.adb, prj.ads, prj-env.adb:
- Move back spec of Parse_Single_Project to body, as it is not called
- outside of package Prj.Part.
- (Project_Data): Remove components Linker_Name, Linker_Path and
- Minimum_Linker_Options as they are no longer set.
- Remove function There_Are_Ada_Sources from package Prj and move code
- in the only place it was used, in Prj.Env.Set_Ada_Paths.
-
-2008-07-31 Arnaud Charlet <charlet@adacore.com>
-
- * mlib-utl.ads: Fix typo.
-
-2008-07-31 Robert Dewar <dewar@adacore.com>
-
- * sem_ch12.adb: Minor reformatting
-
-2008-07-31 Sergey Rybin <rybin@adacore.com>
-
- * gnat_ugn.texi: Change the description of the
- Overly_Nested_Control_Structures: now the rule always requires a
- positive parameter for '+R' option
-
-2008-07-31 Thomas Quinot <quinot@adacore.com>
-
- * g-pehage.adb: Minor reformatting
-
-2008-07-31 Pascal Obry <obry@adacore.com>
-
- * s-finimp.ads: Minor reformatting.
-
-2008-07-31 Vincent Celier <celier@adacore.com>
-
- * s-regexp.ads: Minor comment fix
-
-2008-07-31 Arnaud Charlet <charlet@adacore.com>
-
- * s-direio.adb (Reset): Replace pragma Unmodified by Warnings (Off),
- so that we can compile this file successfully with -gnatc.
-
-2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_attr.adb (Find_Stream_Subprogram): Check the base type instead
- of the type when looking for stream subprograms for type String,
- Wide_String and Wide_Wide_String.
-
- * s-ststop.adb: Change the initialization expression of constant
- Use_Block_IO.
-
-2008-07-31 Geert Bosch <bosch@adacore.com>
-
- * arit64.c:
- New file implementing __gnat_mulv64 signed integer multiplication with
- overflow checking
-
- * fe.h (Backend_Overflow_Checks_On_Target): Define for use by Gigi
-
- * gcc-interface/gigi.h:
- (standard_types): Add ADT_mulv64_decl
- (mulv64_decl): Define subprogram declaration for __gnat_mulv64
-
- * gcc-interface/utils.c:
- (init_gigi_decls): Add initialization of mulv64_decl
-
- * gcc-interface/trans.c:
- (build_unary_op_trapv): New function
- (build_binary_op_trapv): New function
- (gnat_to_gnu): Use the above functions instead of
- build_{unary,binary}_op
-
- * gcc-interface/Makefile.in
- (LIBGNAT_SRCS): Add arit64.c
- (LIBGNAT_OBJS): Add arit64.o
-
-2008-07-31 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb (Check_Library_Attributes): Check if Linker'Switches or
- Linker'Default_Switches are declared. Warn if they are declared.
-
-2008-07-31 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Use
- Insert_Actions to place the pointer declaration in the code, rather
- than Insert_Before_And_Analyze, so that insertions of temporaries are
- kept in the proper order when transient scopes are present.
-
-
-2008-07-31 Robert Dewar <dewar@adacore.com>
-
- * einfo.adb (Spec_PPC): Now defined for generic subprograms
-
- * einfo.ads (Spec_PPC): Now defined for generic subprograms
-
- * sem_prag.adb (Check_Precondition_Postcondition): Handle generic
- subprogram case
-
-2008-07-31 Vincent Celier <celier@adacore.com>
-
- * s-os_lib.adb: Minor comment fix
-
-2008-07-31 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Generic_Subprogram_Body): After analysis,
- transfer pre/postconditions from generic copy to original tree, so that
- they will appear in each instance.
- (Process_PPCs): Do not transform postconditions into a procedure in a
- generic context, to prevent double expansion of check pragmas.
-
- * sem_attr.adb: In an instance, the prefix of the 'result attribute
- can be the renaming of the
- current instance, so check validity of the name accordingly.
-
-2008-07-31 Robert Dewar <dewar@adacore.com>
-
- * mlib-utl.ads: Minor reformatting
-
-2008-07-31 Ed Schonberg <schonberg@adacore.com>
-
- sem_attr.adb: 'Result can have an ambiguous prefix, and is resolved
- from context. This attribute must be usable in Ada95 mode.
- The attribute can appear in the body of a function marked
- Inline_Always, but in this case the postocondition is not enforced.
-
- sem_prag.adb (Check_Precondition_Postcondition): within the expansion
- of an inlined call pre- and postconditions are legal
-
-2008-07-31 Vincent Celier <celier@adacore.com>
-
- * prj.adb, prj.ads, clean.adb, prj-nmsc.adb: Remove declarations that
- were for gprmake only
-
-2008-07-31 Robert Dewar <dewar@adacore.com>
-
- * gnat_ugn.texi: Update -gnatN documentation.
-
- * gnat_rm.texi: Add note about pre/postcondition
- pragmas not checked in conjunction with front-end inlining.
-
-2008-07-31 Robert Dewar <dewar@adacore.com>
-
- * g-pehage.adb, g-pehage.ads: Minor reformatting
-
-2008-07-31 Arnaud Charlet <charlet@adacore.com>
-
- * mlib-utl.ads, prj-makr.ads: Add comments.
-
-2008-07-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
-
- * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS)
- [WINDOWS]: Add s-winext.o.
-
-2008-07-30 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/36554
- * back_end.adb (Call_Back_End): Pass Standard_Boolean to gigi.
- * gcc-interface/gigi.h (gigi): Take new standard_boolean parameter.
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Subtype>:
- Set precision to 1 for subtype of BOOLEAN_TYPE.
- (set_rm_size): Set TYPE_RM_SIZE_NUM for BOOLEAN_TYPE.
- (make_type_from_size): Deal with BOOLEAN_TYPE.
- * gcc-interface/misc.c (gnat_print_type): Likewise.
- * gcc-interface/trans.c (gigi): Take new standard_boolean parameter.
- Set boolean_type_node as its translation in the table, as well
- as boolean_false_node for False and boolean_true_node for True.
- * gcc-interface/utils.c (gnat_init_decl_processing): Create custom
- 8-bit boolean_type_node and set its TYPE_RM_SIZE_NUM.
- (create_param_decl): Deal with BOOLEAN_TYPE.
- (build_vms_descriptor): Likewise.
- (build_vms_descriptor64): Likewise.
- (convert): Deal with BOOLEAN_TYPE like with ENUMERAL_TYPE.
-
-2008-07-30 Robert Dewar <dewar@adacore.com>
-
- * exp_ch9.adb: Minor reformatting
-
- * exp_util.ads (Find_Prim_Op): Document that Program_Error is raised
- if no primitive operation is found.
-
- * exp_util.adb: (Find_Prim_Op): Add comments for previous change
-
- * sem_ch8.adb: Minor reformatting
-
-2008-07-30 Laurent Pautet <pautet@adacore.com>
-
- * g-pehage.adb:
- Remove a limitation on the length of the words handled by the minimal
- perfect hash function generator.
-
- * g-pehage.ads:
- Detail the use of subprograms Insert, Initialize, Compute and Finalize.
- Fix some typos.
-
-2008-07-30 Robert Dewar <dewar@adacore.com>
-
- * gnatlink.adb: Minor reformatting
-
-2008-07-30 Thomas Quinot <quinot@adacore.com>
-
- * rtsfind.adb (Check_RPC): Check version consistency even when not
- generating RCI stubs. Provide more detailed error message in case of
- mismatch.
-
-2008-07-30 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Analyze_Subprogram_Renaming): When renaming an attribute
- as a actual in an instance, check for a missing attribute to prevent
- program_error on an illegal program.
-
- * exp_util.adb (Find_Prim_Op): Rather than Assert (False), raise program
- error if primitive is not found, so that exception can be handled
- elsewhere on illegal programs.
-
-2008-07-30 Robert Dewar <dewar@adacore.com>
-
- * uintp.adb (UI_GCD): Fix potential overflow
-
-2008-07-30 Hristian Kirtchev <kirtchev@adacore.com>
-
- * einfo.adb: Flag245 is now used.
- (Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Relax the assertion
- check to include functions.
- (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
- (Wrapped_Entity, Set_Wrapped_Entity): Relax the assertion check to
- include functions.
- (Write_Entity_Flags): Move flag Is_Primitive, add Is_Private_Primitive
- to the list of displayed flags.
-
- * einfo.ads: Update comment on the usage of Is_Primitive_Wrapper and
- Wrapped_Entity. These two flags are now present in functions.
- New flag Is_Private_Primitive.
- (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
-
- * exp_ch9.adb:
- (Build_Wrapper_Bodies): New subprogram.
- (Build_Wrapper_Body): The spec and body have been moved to in
- Build_Wrapper_ Bodies. Code cleanup.
- (Build_Wrapper_Spec): Moved to the spec of Exp_Ch9. Code cleanup.
- Wrappers are now generated for primitives declared between the private
- and full view of a concurrent type that implements an interface.
- (Build_Wrapper_Specs): New subprogram.
- (Expand_N_Protected_Body): Code reformatting. Replace the wrapper body
- creation mechanism with a call to Build_Wrapper_Bodies.
- (Expand_N_Protected_Type_Declaration): Code reformatting. Replace the
- wrapper spec creation mechanism with a call to Build_Wrapper_Specs.
- (Expand_N_Task_Body): Replace the wrapper body creation
- mechanism with a call to Build_Wrapper_Bodies.
- (Expand_N_Task_Type_Declaration): Replace the wrapper spec
- creation mechanism with a call to Build_Wrapper_Specs.
- (Is_Private_Primitive_Subprogram): New subprogram.
- (Overriding_Possible): Code cleanup.
- (Replicate_Entry_Formals): Renamed to Replicate_Formals, code cleanup.
-
- * exp_ch9.ads (Build_Wrapper_Spec): Moved from the body of Exp_Ch9.
-
- * sem_ch3.adb: Add with and use clause for Exp_Ch9.
- (Process_Full_View): Build wrapper specs for all primitives
- that belong to a private view completed by a concurrent type
- implementing an interface.
-
- * sem_ch6.adb (Analyze_Subprogram_Body): When the current subprogram
- is a primitive of a
- concurrent type with a private view that implements an interface, try to
- find the proper spec.
- (Analyze_Subprogram_Declaration): Mark a subprogram as a private
- primitive if the type of its first parameter is a non-generic tagged
- private type.
- (Analyze_Subprogram_Specification): Code reformatting.
- (Disambiguate_Spec): New routine.
- (Find_Corresponding_Spec): Add a flag to controll the output of errors.
- (Is_Private_Concurrent_Primitive): New routine.
-
- * sem_ch6.ads:
- (Find_Corresponding_Spec): Add a formal to control the output of errors.
-
-2008-07-30 Doug Rupp <rupp@adacore.com>
-
- * gigi.h (build_vms_descriptor64): New function prototype.
- (fill_vms_descriptor): Modified function prototype.
-
- * utils.c (build_vms_descriptor64): New function.
-
- * utils2.c (fill_vms_descriptor): Fix handling on 32bit systems.
-
- * trans.c (call_to_gnu): Call fill_vms_descriptor with new third
- argument.
-
- * decl.c (gnat_to_gnu_tree): For By_Descriptor mech, build both a
- 64bit and 32bit descriptor and save the 64bit version as an alternate
- TREE_TYPE in the parameter.
- (make_type_from_size) <RECORD_TYPE>: Use the appropriate mode for the
- thin pointer.
-
- * ada-tree.h (DECL_PARM_ALT, SET_DECL_PARM_ALT): New macros.
-
-2008-07-30 Robert Dewar <dewar@adacore.com>
-
- * make.adb: Minor reformatting
-
- * mlib-utl.adb: Minor reformatting
-
- * osint.ads: Minor reformatting
-
-2008-07-30 Jose Ruiz <ruiz@adacore.com>
-
- * adaint.c
- (__gnat_file_exists): Do not use __gnat_stat for RTX.
- (__main for RTX in RTSS mode): Create this dummy procedure symbol to
- avoid the use of this symbol from libgcc.a in RTX kernel mode.
-
- * cio.c
- (put_int, put_int_stderr, put_char, put_char_stderr): For RTX we call
- the function RtPrintf for console output.
-
- * argv.c Do not use the environ variable for RTX.
-
- * gnatlink.adb (gnatlink): The part that handles the --RTS option has
- been moved before the call to Osint.Add_Default_Search_Dirs in order
- to take into account the flags in system.ads (RTX_RTSS_Kernel_Module)
- from the appropriate run time.
-
- * targparm.ads
- (RTX_RTSS_Kernel_Module_On_Target): Add this flag that is set to True if
- target is a RTSS module for RTX.
-
- * targparm.adb (Targparm_Tags, RTX_Str, Targparm_Str): Add tag RTX for
- RTX_RTSS_Kernel_Module
- (Get_Target_Parameters): Add processing of RTX_RTSS_Kernel_Module flag.
-
- * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for RTX): Use gcc
- exception handling mechanism for Windows and RTX in Win32 mode, but
- not for RTX in kernel mode (RTSS).
- (LIBGNAT_SRCS): Remove ada.h
-
-2008-07-30 Paolo Bonzini <bonzini@gnu.org>
-
- * gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove X_ADAFLAGS and
- T_ADAFLAGS, replace ALL_ADA_CFLAGS with ADA_CFLAGS.
- (ALL_ADA_CFLAGS): Remove, replace throughout with ADA_CFLAGS.
- * gcc-interface/Makefile.in (XCFLAGS, X_CFLAGS, X_CPPFLAGS, T_CPPFLAGS,
- X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS, ADA_CFLAGS,
- ALL_ADA_CFLAGS): Remove.
- (ALL_ADAFLAGS, MOST_ADAFLAGS): Remove X_ADAFLAGS and T_ADAFLAGS,
- replace ALL_ADA_CFLAGS with ADA_CFLAGS.
- (GCC_CFLAGS): Remove X_CFLAGS.
- (LOOSE_CFLAGS): Remove X_CFLAGS and XCFLAGS.
- (ALL_CPPFLAGS): Remove X_CPPFLAGS and T_CPPFLAGS.
- (ADA_CFLAGS): Substitute.
-
-2008-07-30 Laurent Guerby <laurent@guerby.net>
-
- PR ada/5911
- * gcc-interface/Makefile.in (MULTISUBDIR, RTSDIR): New variables.
- Pass MULTISUBDIR to recursive make. Use $(RTSDIR) instead of rts.
- Replace stamp-gnatlib* by stamp-gnatlib*-rts.
- * gcc-interface/Make-lang.in: Replace stamp-gnatlib2
- by stamp-gnatlib2-rts.
-
-2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- PR documentation/15479
- * gnat-style.texi: Remove AdaCore copyright statement and GPL
- statement for GNAT. Add @copying stanza, use it. Update to
- GFDL 1.2. Do not list GFDL as Invariant Section, do not list
- title as Front-Cover Text.
- * gnat_rm.texi: Likewise.
- * gnat_ugn.texi: Likewise.
-
-2008-07-29 Jan Hubicka <jh@suse.cz>
-
- * trans.c (process_inlined_subprograms): Remove tree_really_inline
- check.
-
-2008-07-29 Arnaud Charlet <charlet@adacore.com>
-
- * gcc-interface: New directory.
-
- * ada-tree.def, cuintp.c, gigi.h, Makefile.in, targtyps.c, ada.h,
- utils.c, ada-tree.h, decl.c, lang.opt, Make-lang.in, trans.c,
- config-lang.in, deftarg.c, lang-specs.h, misc.c, utils2.c: Moved
- to gcc-interface subdirectory.
-
-2008-07-29 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
-
- * Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Remove extra s-win32.o.
-
-2008-07-28 Jan Hubicka <jh@suse.cz>
-
- * misc.c (gnat_post_options): Do not set flag_no_inline.
-
-2008-07-28 Richard Guenther <rguenther@suse.de>
-
- Merge from gimple-tuples-branch.
-
- 2008-07-22 Olivier Hainque <hainque@adacore.com>
-
- * gigi.h (end_subprog_body): New ELAB_P argument, saying if
- this is called for an elab proc to be discarded if empty.
- * utils.c (end_subprog_body): Honor ELAB_P.
- (build_function_stub): Adjust call to end_subprog_body.
- * trans.c (Subprogram_Body_to_gnu): Likewise.
- (gigi): Reorganize processing of elab procs to prevent
- gimplifying twice, using the new end_subprog_body argument.
-
- 2008-07-19 Richard Guenther <rguenther@suse.de>
-
- * Make-lang.in (trans.o): Add tree-iterator.h dependency.
- (utils.o): Likewise.
- * trans.c: Include tree-iterator.h.
- (gnat_gimplify_expr): Adjust prototype. Fix typo.
- (gnat_gimplify_stmt): Use SET_EXPR_LOCATION.
- (set_expr_location_from_node): Likewise.
- (gigi): Tuplify.
- * ada-tree.h (union lang_tree_node): Use TREE_CHAIN instead
- of GENERIC_NEXT.
- * utils.c: Include tree-iterator.h.
- * gigi.h (gnat_gimplify_expr): Adjust prototype.
-
- 2008-07-18 Aldy Hernandez <aldyh@redhat.com>
-
- * trans.c: Include gimple.h instead of tree-gimple.h.
- * utils.c: Same.
-
- 2008-07-14 Aldy Hernandez <aldyh@redhat.com>
-
- * trans.c (gnat_gimplify_expr): Use gimplify_assign.
-
-2008-07-25 Jan Hubicka <jh@suse.cz>
-
- * utils.c (end_subprog_body): Remove inline trees check.
- * misc.c (gnat_post_options): Do not set flag_inline_trees.
-
-2008-07-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * raise-gcc.c: Move tsystem.h before tm.h.
-
-2008-07-20 Arnaud Charlet <charlet@adacore.com>
-
- * gnathtml.pl: New file.
-
-2008-07-19 Olivier Hainque <hainque@adacore.com>
-
- * targtyps.c (get_target_default_allocator_alignment): Use
- MALLOC_ABI_ALIGNMENT.
-
-2008-07-17 Olivier Hainque <hainque@adacore.com>
-
- * adaint.c (__MINGW32__ section): Include ctype.h and define
- a fallback ISALPHA if IN_RTS.
- (__gnat_is_absolute_path): Use ISALPHA instead of isalpha.
-
-2008-07-17 Olivier Hainque <hainque@adacore.com>
-
- * utils.c (create_var_decl_1): Relax expectations on the PUBLIC_FLAG
- argument, to apply to references in addition to definitions. Prevent
- setting TREE_STATIC on externals.
- (gnat_pushdecl): Always clear DECL_CONTEXT on public externals.
-
-2008-07-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- PR documentation/15479
- * gnat_ugn.texi (@ovar): New macro, from autoconf.texi.
- Replace backets around optional parameters with @ovar
- where possible, use @r{[}, @r{]} otherwise.
- Replace some @r, @i, and @emph with @var where appropriate.
-
-2008-07-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (make_type_from_size) <INTEGER_TYPE>: Fix typo and tidy up.
-
-2008-06-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * ada-tree.h (SET_TYPE_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Fix
- -Wc++-compat warnings.
- * adaint.c (__gnat_locate_regular_file, __gnat_locate_exec,
- __gnat_locate_exec_on_path): Likewise.
- * decl.c (annotate_value): Likewise.
- * misc.c (gnat_handle_option): Likewise.
- * trans.c (gnat_to_gnu, extract_encoding, decode_name,
- post_error_ne_tree): Likewise.
-
-2008-06-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * utils.c (convert) <CONSTRUCTOR>: When converting it to a packable
- version of its type, attempt to first convert its elements.
-
-2008-06-26 Chris Proctor <chrisp_42@bigpond.com>
-
- * Makefile.in: Fix *86 kfreebsd target specific pairs.
-
-2008-06-25 Samuel Tardieu <sam@rfc1149.net>
-
- * Makefile.in: Use mlib-tgt-specific-linux.adb for sh4 as well.
-
-2008-06-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * utils2.c (known_alignment): Derive the alignment from pointed-to
- types only if it is otherwise unknown.
- <INTEGER_CST>: Tidy.
- <MULT_EXPR>: Likewise.
- <POINTER_PLUS_EXPR>: If the alignment of the offset is unknown, use
- that of the base.
-
-2008-06-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR ada/36573
- * s-osinte-hpux-dce.ads (SA_ONSTACK): Define.
-
-2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * gnat_rm.texi (Implementation Defined Characteristics)
- (Standard Library Routines): Use @smallexample for indented
- text. Drop Indentation outside examples.
- * gnat_ugn.texi: Likewise.
-
-2008-06-13 Olivier Hainque <hainque@adacore.com>
-
- * decl.c (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Define to 0
- if undefined.
- (gnat_to_gnu_entity) <case E_Function/Procedure>: Request stack
- realignment with force_align_arg_pointer attribute on foreign
- convention subprograms if FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.
-
-2008-06-13 Olivier Hainque <hainque@adacore.com>
-
- * utils.c (rest_of_record_type_compilation): When computing
- encodings for the components of a variable size type, early
- strip conversions on the current position expression to make
- sure it's shape is visible. Use remove_conversions for this
- purpose.
-
-2008-06-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: In the case of a
- constrained subtype of a discriminated type, discard the fields that
- are beyond its limits according to its size.
-
-2008-06-10 Olivier Hainque <hainque@adacore.com>
-
- * utils.c (create_subprog_decl): If this is for the 'main' entry
- point according to the asm name, redirect main_identifier_node.
-
-2008-06-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (components_to_record): Adjust the packedness for the
- qualified union as well.
-
-2008-06-09 Arnaud Charlet <charlet@adacore.com>
-
- * Make-lang.in: Use -gnatwns instead of -gnatws to make sytyle
- checks non fatal.
-
-2008-06-07 Samuel Tardieu <sam@rfc1149.net>
-
- * sem_res.adb (Large_Storage_Type): A type is large if it
- requires as many bits as Positive to store its values and its
- bounds are known at compile time.
- * sem_ch13.adb (Minimum_Size): Note that this function returns
- 0 if the size is not known at compile time.
-
-2008-06-06 Nicolas Setton <setton@adacore.com>
- Olivier Hainque <hainque@adacore.com>
-
- * ada-tree.h (DECL_PARALLEL_TYPE): New language specific
- attribute, parallel descriptive type attached to another
- type for debug info generation purposes.
- * utils.c (add_parallel_type): New function, register
- parallel type to be attached to a type.
- (get_parallel_type): New function, fetch a registered
- parallel type, if any.
- (rest_of_record_type_compilation): Register the parallel
- type we make for variable size records.
- * gigi.h (add_parallel_type, get_parallel_type): Declare.
- * decl.c (gnat_to_gnu_entity, maybe_pad_type): Register the
- parallel debug types we make.
- * trans.c (extract_encoding, decode_name): New functions.
- (gigi): If the DWARF attribute extensions are available, setup
- to use them.
- * lang.opt: Register language specific processing request
- for -gdwarf+.
- * misc.c (gnat_dwarf_extensions): New global variable. How much
- do we want of our DWARF extensions. 0 by default.
- (gnat_handle_option) <OPT_gdwarf_>: Increment gnat_dwarf_extensions.
- (gnat_post_options): Map gnat_dwarf_extensions to the
- commonuse_gnu_debug_info_extensions for later processing.
-
-2008-06-04 Samuel Tardieu <sam@rfc1149.net>
-
- * einfo.ads, einfo.adb: Remove unused flag Function_Returns_With_DSP.
-
-2008-06-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in (common_tools): Fix typos in $(exeext) extension.
- * gnat_ugn.texi (Style Checking)
- (Adding the Results of Compiler Checks to gnatcheck Output)
- (Example of Binder Output File): Fix typos.
- * ali.ads, einfo.ads, exp_ch4.adb, exp_ch6.adb,
- exp_dbug.ads, exp_dist.adb, exp_smem.adb, g-socket.ads,
- s-osinte-rtems.ads, s-shasto.ads, s-stausa.adb,
- s-stausa.ads, sem_cat.adb, sem_ch12.adb, sem_ch3.adb,
- sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, sem_util.ads,
- sinfo.ads, utils.c: Fix typos in comments.
- * sem_ch6.adb, vms_data.ads: Fix typos in strings.
-
-2008-05-29 Thomas Quinot <quinot@adacore.com>
-
- * sem_eval.adb: Minor reformatting
-
-2008-05-29 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Subprogram_Specification): if the return type
- is abstract, do not apply abstractness check on subprogram if this is
- a renaming declaration.
-
-2008-05-29 Arnaud Charlet <charlet@adacore.com>
-
- PR ada/864
- * osint.ads, osint.adb (Program_Name): New parameter "Prog" to
- allow recognition of program suffix in addition to prefix.
-
- * gnatchop.adb (Locate_Executable): Add support for prefix.
-
- * make.adb, gnatcmd.adb, gnatlink.adb, prj-makr.adb,
- mlib-utl.adb: Adjust calls to Program_Name.
-
-2008-05-29 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb: Minor reformatting
- * sem_prag.adb: Minor reformatting
- * sem_res.adb: Minor reformatting
- * sinput-p.ads: Minor reformatting
-
-2008-05-29 Javier Miranda <miranda@adacore.com>
-
- * sem_util.adb:
- (Abstract_Interface_List): Add missing support for full type-declaration
- associated with synchronized types.
-
-2008-05-29 Robert Dewar <dewar@adacore.com>
-
- * sem_eval.adb (Is_Same_Value): Take care of several more cases
-
-2008-05-28 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Assignment): If the name is of a local anonymous
- access type, wrap the expression in a conversion to force an
- accessibility check.
-
- * sem_aggr.adb (Aggegate_Constraint_Checks): Apply conversion to force
- accessibility checks even when expansion is disabled in order to
- generate messages in the presence of previous errors or in
- semantics-only mode.
-
-2008-05-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * system-lynxos-ppc.ads (Always_Compatible_Rep): Set to False.
- * system-lynxos-x86.ads (Always_Compatible_Rep): Set to False.
-
-2008-05-28 Vincent Celier <celier@adacore.com>
-
- PR ada/34446
- * gnat_ugn.texi: Document restriction introduced on 2007-04-20 in
- preprocessing expressions
-
-2008-05-28 Vincent Celier <celier@adacore.com>
-
- * sinput-p.adb (Source_File_Is_Subunit): Allow special character used
- for preprocessing
-
- * sinput-p.ads: Minor comment update and reformatting
-
-2008-05-28 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Valid_Conversion): An anonymous access_to_subprogram
- type has a deeper level than any master only when it is the type of an
- access parameter.
-
-2008-05-28 Javier Miranda <miranda@adacore.com>
-
- * sem_ch3.adb (Derive_Progenitor_Subprograms): Add documentation.
-
-2008-05-28 Javier Miranda <miranda@adacore.com>
-
- * sem_util.ads (Find_Overridden_Synchronized_Primitive): Removed.
- * sem_util.adb (Find_Overridden_Synchronized_Primitive): Removed.
- * sem_ch6.adb (Check_Synchronized_Overriding): Remove one formal.
- Add code that was previously located in
- Find_Overridden_Synchronized_Primitive because it is only used here.
-
-2008-05-28 Sergey Rybin <rybin@adacore.com>
-
- * sem_prag.adb (Process_Extended_Import_Export_Subprogram_Pragma): Set
- Entity field for formal_parameter_NAME in MECHANISM_ASSOCIATION.
-
-2008-05-28 Robert Dewar <dewar@adacore.com>
-
- * restrict.ads:
- Add missing restrictions, and properly label all GNAT defined ones
-
- * rtsfind.ads:
- Add entry for Ada_Real_Time.Timing_Events.Timing_Event
- Add entry for Ada.Task_Termination.Set_Specific_Handler
- Add entry for Ada.Task_Termination.Specific_Handler
-
- * s-rident.ads:
- Add missing restrictions and properly mark all gnat defined ones
-
- * sem_ch3.adb:
- (Analyze_Object_Declaration): Check No_Local_Timing_Events restriction
-
- * sem_res.adb:
- (Resolve_Call): Check violation of No_Specific_Termination_Handlers
-
- * gnat_rm.texi: Add missing restrictions, and properly label all
- GNAT defined ones
-
-2008-05-28 Robert Dewar <dewar@adacore.com>
-
- * restrict.adb:
- (Check_Restriction): violation of restriction No_Finalization is
- treated as a serious error to stop expansion
-
-2008-05-28 Robert Dewar <dewar@adacore.com>
-
- * exp_util.adb: Minor reformatting
- * exp_util.ads: Minor reformatting.
-
-2008-05-28 Arnaud Charlet <charlet@adacore.com>
-
- * Make-lang.in: Remove gprmake.
-
- * gprmake.adb, makegpr.ads, makegpr.adb: Removed.
-
-2008-05-28 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Diagnose_Interface): Cleanup error messages involving
- improper progenitor names, and avoid cascaded errors.
-
-2008-05-28 Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi: Add note on Old giving warning when applied to constant
-
- * sem_attr.adb (Analyze_Attribute, case Old): Give warning if prefix is
- a constant
-
-2008-05-28 Robert Dewar <dewar@adacore.com>
-
- * exp_fixd.adb (Build_Multiply): Correct one-off error in computing
- size
-
-2008-05-28 Robert Dewar <dewar@adacore.com>
-
- * exp_ch5.adb:
- (Expand_Simple_Function_Return): Copy unaligned result into temporary
-
-2008-05-28 Javier Miranda <miranda@adacore.com>
-
- * sem_ch3.adb (Derive_Progenitor_Primitives): Add missing support
- for user-defined predefined primitives.
-
- * sem_util.adb (Matches_Prefixed_View_Profile): Ditto.
- (Find_Overridden_Synchronized_Primitive): Ditto.
-
- * sem_ch6.adb (Check_Synchronized_Overriding): Ditto.
-
-2008-05-27 Arnaud Charlet <charlet@adacore.com>
-
- * a-ststio.adb, s-direio.adb:
- Further code clean up of previous change.
- Update comments.
-
-2008-05-27 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb: Minor reformatting
-
-2008-05-27 Bob Duff <duff@adacore.com>
-
- * sem_ch3.adb (Build_Incomplete_Type_Declaration): In the case of an
- untagged private type with a tagged full type, where the full type has
- a self reference, create the corresponding class-wide type early, in
- case the self reference is "access T'Class".
-
-2008-05-27 Ed Schonberg <schonberg@adacore.com>
-
- * exp_aggr.adb (Build_Array_Aggr_Code): If component type includes
- tasks and context is an object declaration. create master entity before
- expansion.
-
-2008-05-27 Robert Dewar <dewar@adacore.com>
-
- * mlib-prj.adb: Minor reformatting
-
- * prj-part.adb: Minor reformatting
-
- * prj.ads: Minor reformatting
-
- * exp_ch3.adb: Minor reformatting.
-
- * sem_ch3.ads: Minor reformatting
-
- * sem_eval.adb: Minor reformatting
-
-2008-05-27 Vincent Celier <celier@adacore.com>
-
- * gnatcmd.adb:
- <prefix>-gnat stack spawns gnatstack, not <prefix>-gnatstack
-
-2008-05-27 Ed Schonberg <schonberg@adacore.com>
-
- * exp_aggr.adb (Expand_Array_Aggregate): If the aggregate contains
- tasks, create an activation chain now, before the expansion into
- assignments and build-in-place calls that require the presence of an
- activation chain.
- (Backend_Processing_Possible): If the component type is inherently
- limited, the aggregate must be expanded into individual built-in-place
- assignments.
-
- * sem_ch6.adb (Build_Extra_Formals): Use underlying type of result to
- determine whether an allocation extra parameter must be built, to
- handle case of a private type whose full type is a discriminated type
- with defaults.
-
-2008-05-27 Bob Duff <duff@adacore.com>
-
- * gnat_rm.texi:
- Document the new behavior regarding trampolines.
-
-2008-05-27 Arnaud Charlet <charlet@adacore.com>
-
- * a-direio.adb, a-sequio.adb: Replace address clause by
- unrestricted_access, simpler and compatible with .NET.
-
-2008-05-27 Vincent Celier <celier@adacore.com>
-
- * prj-part.adb:
- (Project_Path_Name_Of.Try_Path): Do not use Locate_Regular_File to find
- a project file, so that symbolic links are not resolved.
-
-2008-05-27 Arnaud Charlet <charlet@adacore.com>
-
- * a-ztexio.adb, a-textio.adb, a-witeio.adb, s-direio.adb:
- Replace heavy address clause by 'Unrestricted_Access, cleaner and more
- portable across GNAT targets, since this kind of address clause is not
- supported by VM back-ends (.NET/JGNAT).
-
-2008-05-27 Arnaud Charlet <charlet@adacore.com>
-
- * bindgen.adb: Update comments.
-
- * s-tasinf-mingw.adb: Add "with" of System.OS_Interface
-
-2008-05-27 Vincent Celier <celier@adacore.com>
-
- * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb,
- prj.ads, makegpr.adb, makeutl.adb, clean.adb, prj-nmsc.adb,
- mlib-tgt.adb, prj-env.adb, prj-env.ads:
- (Path_Information): New record type
- Use component of type Path_Information when there are two paths, one in
- canonical format and one in display format.
- Update the project manager to these new components.
-
-2008-05-27 Robert Dewar <dewar@adacore.com>
-
- * makeutl.adb: Minor reformatting
- * prj-nmsc.adb: Minor reformatting
- * s-stausa.adb: Minor reformatting
- * s-stausa.ads: Minor reformatting
- * sem_ch6.adb: Minor reformatting
-
-2008-05-27 Thomas Quinot <quinot@adacore.com>
-
- * sem_res.adb: Minor comment fixes
-
-2008-05-27 Thomas Quinot <quinot@adacore.com>
-
- * makeutl.adb: Minor code reorganization
-
- * exp_aggr.adb: Add ??? comment
- Fix typo
-
- * exp_ch6.adb: Minor reformatting
-
-2008-05-27 Quentin Ochem <ochem@adacore.com>
-
- * s-stausa.adb (Initialize): Updated result initialization, and
- initialization of environment stack.
- (Fill_Stack): Improved computation of the pattern zone, taking into
- account already filled at the calling point.
- (Get_Usage_Range): Now uses Min_Measure and Max_Measure instead of
- Measure and Overflow_Guard.
- (Report_Result): Fixed computation of the result using new fields of
- Stack_Analyzer.
-
- * s-stausa.ads (Initialize_Analyzer): Replaced Size / Overflow_Guard
- params by more explicit Stack_Size / Max_Pattern_Size params.
- (Stack_Analyzer): Added distinct Stack_Size & Pattern_Size fields.
- Added Stack_Used_When_Filling field.
- (Task_Result): Replaced Measure / Overflow_Guard by more explicit
- Min_Measure and Max_Measure fields.
-
- * s-tassta.adb (Task_Wrapper): Updated call to Initialize_Analyzer.
-
-2008-05-27 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb:
- (Check_File): Make sure that a unit that replaces the same unit in a
- project being extended is properly processed.
-
-2008-05-27 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb:
- (Get_Discr_Value): Remove obsolete code that failed to find the value
- of a discriminant for an inherited task component appearing in a type
- extension.
-
-2008-05-27 Thomas Quinot <quinot@adacore.com>
-
- (System.File_IO.{Close, Delete, Reset}):
- Change File parameter from "in out AFCB_Ptr" to "access AFCB_Ptr".
-
- (Ada.*_IO.{Close, Delete, Reset, Set_Mode}):
- Pass File parameter by reference.
-
-2008-05-27 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb:
- (Process_Sources_In_Multi_Language_Mode): Check that there are not two
- sources of the same project that have the same object file name.
- (Find_Explicit_Sources): Always remove a source exception that was not
- found.
-
-2008-05-27 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch3.adb: Minor reformatting
-
-2008-05-27 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb:
- (Is_Interface_Conformant): Handle properly a primitive operation that
- overrides an interface function with a controlling access result.
- (Type_Conformance): If Skip_Controlling_Formals is true, when matching
- inherited and overriding operations, omit as well the conformance check
- on result types, to prevent spurious errors.
-
-2008-05-27 Vincent Celier <celier@adacore.com>
-
- * makeutl.ads, makeutl.adb:
- (Set_Location): New procedure
- (Get_Location): New function
- (Update_Main): New procedure
-
-2008-05-27 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb:
- (Check_Library): Allow standard project to be extended as a static
- library project.
- (Get_Mains): Do not inherit attribute Main in an extending library
- project.
-
-2008-05-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * system-darwin-ppc.ads (Always_Compatible_Rep): Set to False.
- * system-darwin-x86.ads (Always_Compatible_Rep): Likewise.
- * system-freebsd-x86.ads (Always_Compatible_Rep): Likewise.
- * system-linux-ppc.ads (Always_Compatible_Rep): Likewise.
- * system-linux-x86_64.ads (Always_Compatible_Rep): Likewise.
- * system-linux-x86.ads (Always_Compatible_Rep): Likewise.
- * system-mingw.ads (Always_Compatible_Rep): Likewise.
- * system-solaris-sparc.ads (Always_Compatible_Rep): Likewise.
- * system-solaris-sparcv9.ads (Always_Compatible_Rep): Likewise.
- * system-solaris-x86.ads (Always_Compatible_Rep): Likewise.
-
-2008-05-27 Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb: add guard to previous patch.
-
-2008-05-27 Ed Schonberg <schonberg@adacore.com>
-
- * exp_disp.adb (Build_Dispatch_Tables): For a private type completed by
- a synchronized tagged type, do not attempt to build dispatch table for
- full view. The table is built for the corresponding record type, which
- has its own declaration.
-
-2008-05-27 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch3.adb (Fixup_Bad_Constraint): Set the Etype on the bad subtype
- to the known type entity E, rather than setting it to Any_Type. Fixes
- possible blowup in function Base_Init_Proc, as called from Freeze_Entity
- for objects whose type had an illegal constraint.
-
-2008-05-27 Vincent Celier <celier@adacore.com>
-
- * gnat_ugn.texi:
- Add succinct documentation for attribute Excluded_Source_List_File
-
-2008-05-27 Vincent Celier <celier@adacore.com>
-
- * prj-attr.adb: Add new project level attribute Map_File_Option
-
- * prj-nmsc.adb (Process_Linker): Process new attribute Map_File_Option
-
- * prj.ads: Minor reformatting and comment update
- (Project_Configuration): New component Map_File_Option
-
- * snames.adb: New standard name Map_File_Option
-
- * snames.ads: New standard name Map_File_Option
-
-2008-05-27 Vincent Celier <celier@adacore.com>
-
- * xsnames.adb: Remove unused variable Oname
-
-2008-05-27 Doug Rupp <rupp@adacore.com>
-
- * exp_ch6.adb:
- (Expand_N_Function_Call): Fix comments. Minor reformatting.
-
- * exp_vfpt.ads:
- (Expand_Vax_Foreign_Return): Fix comments.
-
-2008-05-27 Thomas Quinot <quinot@adacore.com>
-
- * exp_dist.adb: Minor reformating
-
-2008-05-26 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch3.adb (Expand_N_Object_Declaration): Remove checks for
- No_Default_Initialization, which is now delayed until the freeze point
- of the object. Add a comment about deferral of the check.
-
- * freeze.adb (Freeze_Entity): The check for No_Default_Initialization
- on objects is moved here.
-
-2008-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * s-casi16.adb (Uhalf): Rewrite it as integer with small alignment.
- (Compare_Array_S16): Adjust for above change.
- * s-casi32.adb (Uword): Likewise.
- (Compare_Array_S32): Likewise.
- * s-casi64.adb (Uword): Likewise.
- (Compare_Array_S64): Likewise.
- * s-caun16.adb (Uhalf): Likewise.
- (Compare_Array_U16): Likewise.
- * s-caun32.adb (Uword): Likewise.
- (Compare_Array_U32): Likewise.
- * s-caun64.adb (Uword): Likewise.
- (Compare_Array_U64): Likewise.
-
-2008-05-26 Robert Dewar <dewar@adacore.com>
-
- * exp_ch6.adb: Add ??? comment for previous change
-
- * exp_vfpt.adb: Minor reformatting
-
- * exp_vfpt.ads: Add ??? comment for last change
-
- * sem_attr.adb: Add some ??? comments for previous change
-
- * s-vaflop.ads: Add comments for previous change
-
-2008-05-26 Doug Rupp <rupp@adacore.com>
-
- * s-vaflop-vms-alpha.adb:
- Remove System.IO use clause, to prevent spurious ambiguities when
- package is access through rtsfind.
-
-2008-05-26 Sergey Rybin <rybin@adacore.com>
-
- * tree_io.ads (ASIS_Version_Number): Update because of the changes
- made in front-end
-
-2008-05-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb:
- (Resolve_Attribute, case 'address): S (A .. B)' address can be safely
- converted to S (A)'address only if A .. B is known to be a non-null
- range.
-
-2008-05-26 Doug Rupp <rupp@adacore.com>
-
- * s-vaflop.adb:
- (Return_D, Return_F, Return_G): New functions.
-
- * s-vaflop.ads:
- (Return_D, Return_F, Return_G): New functions.
-
- * exp_vfpt.adb:
- (Expand_Vax_Foreign_Return): New procedure
-
- * exp_vfpt.ads:
- (Expand_Vax_Foreign_Return): New procedure
-
- * rtsfind.ads:
- (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Ids
- (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Unit_Table elements
-
- * exp_ch6.adb:
- Import Exp_Vfpt
- (Expand_N_Function_Call): Call Expand_Vax_Foreign_Return.
-
- * s-vaflop-vms-alpha.adb:
- (Return_D, Return_F, Return_G): New functions.
-
-2008-05-26 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch3.adb (Build_Array_Init_Proc): Only set Init_Proc to a dummy
- init proc entity when there is actual default initialization associated
- with the component type, to avoid spurious errors on objects of scalar
- array types that are marked Is_Public when No_Default_Initialization
- applies.
-
-2008-05-26 Thomas Quinot <quinot@adacore.com>
-
- * rtsfind.ads, rtsfind.adb:
- (RE_Get_RACW): New runtime library entity provided by PolyORB s-parint.
- (Check_RPC): Support per-PCS-kind API versioning.
-
- exp_dist.ads, exp_dist.adb:
- (Build_Stub_Tag, Get_Stub_Elements): New utility subprograms.
- (PolyORB_Support.Add_RACW_From_Any): Offload common code to new runtime
- library function Get_RACW.
- (PolyORB_Support.Add_RACW_To_Any): Offload common code to new runtime
- library function Get_Reference.
- (PolyORB_Support.Add_RACW_Read_Attribute): Use Get_RACW instead of going
- through an intermediate Any.
- (PolyORB_Support.Add_RACW_Write_Attribute): Use Get_Reference instead of
- going through an intermediate Any.
-
- * sem_dist.adb: Minor reformatting.
-
-2008-05-26 Javier Miranda <miranda@adacore.com>
-
- * einfo.ads (Abstract_Interface_Alias): Renamed as Interface_Alias.
- (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
- (Is_Internal): Adding documentation on internal entities that have
- attribute Interface_Alias (old attribute Abstract_Interface_Alias)
-
- * einfo.adb (Abstract_Interface_Alias): Renamed as Interface_Alias.
- (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
- Added assertion to force entities with this attribute to have
- attribute Is_Internal set to True.
- (Next_Tag_Component): Simplify assertion using attribute Is_Tag.
-
- * sem_ch3.adb (Derive_Interface_Subprograms): This subprogram has been
- renamed as Derive_Progenitor_Subprograms. In addition, its code is
- a new implementation.
- (Add_Interface_Tag_Components): Remove special management of
- synchronized interfaces.
- (Analyze_Interface_Declaration): Minor reformating
- (Build_Derived_Record_Type): Minor reformating
- (Check_Abstract_Overriding): Avoid reporting error in case of abstract
- predefined primitive inherited from interface type because the body of
- internally generated predefined primitives of tagged types are generated
- later by Freeze_Type
- (Derive_Subprogram): Avoid generating an internal name if the parent
- subprogram overrides an interface primitive.
- (Derive_Subprograms): New implementation that keeps separate the
- management of tagged types not implementing interfaces, from tagged
- types that implement interfaces.
- (Is_Progenitor): New implementation.
- (Process_Full_View): Add documentation
- (Record_Type_Declaration): Replace call to Derive_Interface_Subprograms
- by call to Derive_Progenitor_Subprograms.
-
- * sem_ch6.ads (Is_Interface_Conformant): New subprogram.
- (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
- Skip_Controlling_Formals.
-
- * sem_ch6.adb (Is_Interface_Conformant): New subprogram.
- (Check_Conventions): New implementation. Remove local subprogram
- Skip_Check. Remove formal Search_From of routine Check_Convention.
- (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
- Skip_Controlling_Formals.
- (New_Overloaded_Entity): Enable addition of predefined dispatching
- operations.
-
- * sem_disp.ads
- (Find_Primitive_Covering_Interface): New subprogram.
-
- * sem_disp.adb (Check_Dispatching_Operation): Disable registering
- the task body procedure as a primitive of the corresponding tagged
- type.
- (Check_Operation_From_Private_Type): Avoid adding twice an entity
- to the list of primitives.
- (Find_Primitive_Covering_Interface): New subprogram.
- (Override_Dispatching_Operation): Add documentation.
-
- * sem_type.adb (Covers): Minor reformatings
-
- * sem_util.ads (Collect_Abstract_Interfaces): Renamed as
- Collect_Interfaces.
- Rename formal.
- (Has_Abstract_Interfaces): Renamed as Has_Interfaces.
- (Implements_Interface): New subprogram.
- (Is_Parent): Removed.
- (Primitive_Names_Match): New subprogram.
- (Remove_Homonym): Moved here from Derive_Interface_Subprograms.
- (Ultimate_Alias): New subprogram.
-
- * sem_util.adb (Collect_Abstract_Interfaces): Renamed as
- Collect_Interfaces.
- Remove special management for synchronized types. Rename formal. Remove
- internal subprograms Interface_Present_In_Parent and Add_Interface.
- (Has_Abstract_Interfaces): Renamed as Has_Interfaces. Replace assertion
- on non-record types by code to return false in such case.
- (Implements_Interface): New subprogram.
- (Is_Parent): Removed. No special management is now required for
- synchronized types covering interfaces.
- (Primitive_Names_Match): New subprogram.
- (Remove_Homonym): Moved here from Derive_Interface_Subprograms.
- (Ultimate_Alias): New subprogram.
-
- * exp_ch3.adb (Add_Internal_Interface_Entities): New subprogram.
- Add internal entities associated with secondary dispatch tables to
- the list of tagged type primitives that are not interfaces.
- (Freeze_Record_Type): Add new call to Add_Internal_Interface_Entities
- (Make_Predefined_Primitive_Specs): Code reorganization to improve
- the management of predefined equality operator. In addition, if
- the type has an equality function corresponding with a primitive
- defined in an interface type, the inherited equality is abstract
- as well, and no body can be created for it.
-
- * exp_disp.ads (Is_Predefined_Dispatching_Operation): Moved from
- exp_util to exp_disp.
- (Is_Predefined_Interface_Primitive): New subprogram. Returns True if
- an entity corresponds with one of the predefined primitives required
- to implement interfaces.
- Update copyright notice.
-
- * exp_disp.adb (Set_All_DT_Position): Add assertion. Exclude from the
- final check on abstract subprograms all the primitives associated with
- interface primitives because they must be visible in the public and
- private part.
- (Write_DT): Use Find_Dispatching_Type to locate the name of the
- interface type. This allows the use of this routine, for debugging
- purposes, when the tagged type is not fully decorated.
- (Is_Predefined_Dispatching_Operation): Moved from exp_util to exp_disp.
- Factorize code calling new subprogram Is_Predefined_Interface_Primitive.
- (Is_Predefined_Interface_Primitive): New subprogram. Returns True if an
- entity corresponds with one of the predefined primitives required to
- implement interfaces.
-
- * exp_util.adb (Find_Interface_ADT): New implementation
- (Find_Interface): Removed.
-
- * sprint.adb (Sprint_Node_Actual): Generate missing output for the
- list of interfaces associated with nodes
- N_Formal_Derived_Type_Definition and N_Private_Extension_Declaration.
-
-2008-05-26 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add missing guard on
- condition for assignment to temporary.
-
-2008-05-26 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch4.adb (Expand_Concatenate_Other): Add explicit constraint
- checks on the upper bound if the index type is a modular type, to
- prevent wrap-around computations when size is close to upper bound of
- type.
-
-2008-05-26 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb: Minor reformatting
-
-2008-05-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Remove_Parent): Use specification of instance
- to retrieve generic parent,
- to handle properly the case where the instance is a child unit.
- Add guard to handle properly wrapper packages.
- Minor reformatting
-
-2008-05-26 Thomas Quinot <quinot@adacore.com>
-
- * sinfo.ads: Minor reformatting
-
-2008-05-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch4.adb (Expand_N_Type_Conversion): Minor code reformatting.
- Generate a tag check when the result subtype of a function, defined by
- an access definition, designates a specific tagged type.
- (Make_Tag_Check): New routine.
-
-2008-05-26 Arnaud Charlet <charlet@adacore.com>
-
- * ceinfo.adb, csinfo.adb: Remove warnings. Update headers.
-
-2008-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gigi.h (gigi): Remove bogus ATTRIBUTE_UNUSED marker.
- (builtin_decl_for): Likewise.
- * trans.c (gigi): Likewise.
- * utils.c (def_builtin_1): Fix formatting.
-
-2008-05-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch3.adb (Build_Init_Statements): Alphabetize local variables.
- Create the statements which map a string name to protected or task
- entry indix.
-
- * exp_ch9.adb: Add with and use clause for Stringt.
- Minor code reformatting.
- (Build_Entry_Names): New routine.
- (Make_Initialize_Protection, Make_Task_Create_Call): Generate a value
- for flag Build_Entry_Names which controls the allocation of the data
- structure for the string names of entries.
-
- * exp_ch9.ads (Build_Entry_Names): New subprogram.
-
- * exp_util.adb (Entry_Names_OK): New function.
-
- * exp_util.ads (Entry_Names_OK): New function.
-
- * rtsfind.ads: Add RO_PE_Set_Entry_Name and RO_TS_Set_Entry_Name to
- enumerations RE_Id and RE_Unit_Table.
-
- * s-taskin.adb Add with and use clause for Ada.Unchecked_Deallocation.
- (Free_Entry_Names_Array): New routine.
-
- * s-taskin.ads: Comment reformatting.
- Add types String_Access, Entry_Names_Array, Entry_Names_Array_Access.
- Add component Entry_Names to record Ada_Task_Control_Block.
- (Free_Entry_Names_Array): New routine.
-
- * s-tassta.adb (Create_Task): If flag Build_Entry_Names is set,
- dynamically allocate an array
- of string pointers. This structure holds string entry names.
- (Free_Entry_Names): New routine.
- (Free_Task, Vulnerable_Free_Task): Deallocate the entry names array.
- (Set_Entry_Names): New routine.
-
- * s-tassta.ads:
- (Create_Task): Add formal Build_Entry_Names. The flag is used to
- control the allocation of the data structure which stores entry names.
- (Set_Entry_Name): New routine.
-
- * s-tpoben.adb:
- Add with and use clause for Ada.Unchecked_Conversion.
- (Finalize): Deallocate the entry names array.
- (Free_Entry_Names): New routine.
- (Initialize_Protection_Entries): When flag Build_Entry_Names is set,
- create an array of string pointers to hold the entry names.
- (Set_Entry_Name): New routine.
-
- * s-tpoben.ads:
- Add field Entry_Names to record Protection_Entries.
- (Initialize_Protection_Entries): Add formal Build_Entry_Names.
- (Set_Entry_Name): New routine.
-
-2008-05-26 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb:
- (Process_Project_Level_Simple_Attributes): process attribute Library_GCC
-
- * prj.ads:
- (Project_Configuration): New component Shared_Lib_Driver
-
-2008-05-26 Ed Schonberg <schonberg@adacore.com>
-
- * inline.adb:
- (Cleanup_Scopes): For a protected operation, transfer finalization list
- to protected body subprogram, to force cleanup actions when needed.
-
-2008-05-26 Robert Dewar <dewar@adacore.com>
-
- * sem_cat.adb: Minor reformatting
-
- * gnatname.adb: Minor reformatting
-
- * osint.ads: Minor reformatting
-
- * s-carun8.ads: Minor reformatting
-
- * g-heasor.ads: Minor comment fix (unit is now pure)
-
-2008-05-26 Robert Dewar <dewar@adacore.com>
-
- * exp_ch2.adb:
- (Expand_Current_Value): Properly type generated integer literal
-
-2008-05-26 Sergey Rybin <rybin@adacore.com>
-
- * gnat_ugn.texi: Add description for the new gnatcheck rule -
- Separate_Numeric_Error_Handlers.
-
-2008-05-26 Pascal Obry <obry@adacore.com>
-
- * sem_aggr.adb: Minor reformatting.
-
-2008-05-26 Jose Ruiz <ruiz@adacore.com>
-
- * s-osinte-aix.adb:
- (To_Target_Priority): Setting the time slice value to 0 or greater sets
- the scheduling policy to FIFO within priorities or round-robin
- respectively.
- Hence, the priority must be set in this case to the one selected by the
- user.
-
-2008-05-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb:
- (Remove_Parent): If the enclosing scope is an instance whose generic
- parent is declared within some parent scope of the just completed
- instance, make full views of the entities in that parent visible, when
- applicable.
-
-2008-05-26 Kai Tietz <kai.tietz@onevision.com>
-
- * mingw32.h (STD_MINGW): Set to true for target w64.
-
-2008-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * trans.c (Attribute_to_gnu) <Code_Address>: Set TREE_NO_TRAMPOLINE
- instead of TREE_STATIC on the ADDR_EXPR.
-
-2008-05-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * trans.c (gnat_to_gnu): Do not set source location info on NOP_EXPRs.
- (Sloc_to_locus): Do not overwrite known GCC locations when translating
- GNAT standard locations.
-
-2008-05-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * gigi.h (mark_visited): Declare.
- * decl.c (gnat_to_gnu_entity): Use mark_visited instead of marking
- only the topmost node of expressions.
- (elaborate_expression_1): Look deeper for read-only variables.
- * trans.c (add_decl_expr): Use mark_visited instead of marking by hand.
- (mark_visited): Move logic to mark_visited_r. Invoke walk_tree.
- (mark_visited_r): New function.
-
-2008-05-23 Vincent Celier <celier@adacore.com>
-
- * snames.adb: New standard name Excluded_Source_List_File.
-
- * snames.ads: New standard name Excluded_Source_List_File.
-
- * prj-attr.adb: New project level attribute Excluded_Source_List_File.
-
- * prj-nmsc.adb: (Find_Excluded_Sources): New parameter Project.
- Get excluded sources from
- file indicated by attribute Excluded_Source_List_File, when present and
- neither Excluded_Source_Files nor Locally_Removed_Files are declared.
-
-2008-05-23 Robert Dewar <dewar@adacore.com>
-
- * exp_dist.adb: Minor reformatting
-
-2008-05-23 Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb (Resolve_Attribute, case 'address): If the prefix is a
- slice, convert it to an indexed component, which is equivalent, more
- efficient, and usable even if the slice itself is not addressable.
-
-2008-05-23 Olivier Hainque <hainque@adacore.com>
-
- * gnat_ugn.texi (Calling Conventions): Document that the Intrinsic
- convention also allows access to named compiler built-in subprograms
- such as the GCC __builtin family.
-
-2008-05-23 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb (Check_Naming_Schemes): Check a file for spec, body and
- sep. If there are several possibilities, choose the one with the
- longer prefix.
-
-2008-05-23 Vincent Celier <celier@adacore.com>
-
- * gnatlink.adb (Process_Args): Do not disable scanning of ALI file for
- back end switches when executable specified with --GCC= is same as
- default, even if there are additional options.
-
- * gnat_ugn.texi:
- Document when the back end switches from the ALI file are taken into
- account when gnatlink is invoked with --GCC=
-
-2008-05-23 Thomas Quinot <quinot@adacore.com>
-
- * s-os_lib.adb:
- (copy_File): Do not open destination file if source file is unreadable.
-
-2008-05-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * utils.c (handle_type_generic_attribute): Adjust to accept
- fixed arguments before an elipsis.
-
-2008-05-21 Thomas Quinot <quinot@adacore.com>
-
- * g-sothco.ads, g-sothco.adb: New files.
-
-2008-05-20 Thomas Quinot <quinot@adacore.com>
-
- * Makefile.rtl (GNAT.Sockets.Thin_Common): New unit.
-
- * g-sttsne-vxworks.adb: Add missing dependency on Sockets.Constants.
- Add missing "with" of Ada.Unchecked_Conversion
-
- * g-soccon-linux-ppc.ads, g-soccon-linux-64.ads, g-soccon-lynxos.ads,
- g-soccon-linux-x86.ads, g-soccon-hpux-ia64.ads,
- g-soccon-solaris-64.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
- g-soccon-irix.ads, g-soccon-hpux.ads, g-soccon-solaris.ads,
- g-soccon-vms.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads,
- g-socthi-vxworks.adb, g-soccon-freebsd.ads, g-soccon.ads:
- Move common code out of GNAT.Sockets.Thin implementations and into
- Thin_Common.
- New constant SIZEOF_fd_set
- New flag Has_Sockaddr_Len
- New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6
-
- * g-stsifd-sockets.adb
- (Create): Remove call to Set_Length; use Set_Family to set the family
- and (on appropriate platforms) length fields in struct sockaddr.
-
- * g-socthi.adb, g-socthi.ads, g-socthi-vms.ads, g-socthi-vms.adb,
- g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.adb,
- g-soccon-darwin.ads, g-soccon-darwin.ads: New constant SIZEOF_fd_set
- Move common code out of GNAT.Sockets.Thin implementations and into
- Thin_Common.
-
- * g-socket.ads, g-socket.adb:
- Move common code out of GNAT.Sockets.Thin implementations and into
- Thin_Common.
- (Connect_Socket, Accept_Socket): Provide new versions of these two
- routines that operate with a user specified timeout.
- (Bind_Socket, Connect_Socket, Send_Socket): Remove calls to Set_Length,
- this is now handled automatically by Set_Family on platforms that
- require it.
-
- * gen-soccon.c:
- Move common code out of GNAT.Sockets.Thin implementations and into
- Thin_Common.
- (SIZEOF_sockaddr_in6): On platforms where IPv6 is not supported, define
- this constant to 0 (not -1) because we use it to initialize an
- unsigned_char value.
- Align values for numeric constants only.
- Handle the case of systems that do not support AF_INET6.
- New constant SIZEOF_fd_set
- New flag Has_Sockaddr_Len
- New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6
-
- * gsocket.h: New flag Has_Sockaddr_Len
- New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6
-
-2008-05-20 Santiago Uruena <uruena@adacore.com>
-
- * i-cobol.ads: Interfaces.COBOL should be preelaborate.
-
-2008-05-20 Arnaud Charlet <charlet@adacore.com>
-
- * s-linux-hppa.ads (atomic_lock_t): Put back proper alignment now that
- the underlying issue with malloc/free has been fixed. Remove associated
- comments.
- Minor reformatting.
- Related to PR ada/24533
-
-2008-05-20 Robert Dewar <dewar@adacore.com>
-
- * ali.adb: Correct casing of ASCII.NUL
-
- * styleg-c.adb (Check_Identifier): Handle case of names in ASCII
- properly.
-
-2008-05-20 Robert Dewar <dewar@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * checks.adb (Apply_Arithmetic_Overflow_Check): Avoid intermediate
- overflow if result converted to wider integer type.
- (Apply_Type_Conversion_Checks): Don't emit checks on conversions to
- discriminated types when discriminant checks are suppressed.
-
-2008-05-20 Vincent Celier <celier@adacore.com>
-
- * cstand.adb (Print_Standard): Issue the correct Size clause for type
- Wide_Wide_Character.
-
-2008-05-20 Tristan Gingold <gingold@adacore.com>
-
- * decl.c: Do not emit a variable for a object that has an address
- representation clause whose value is known at compile time.
- When a variable has an address clause whose value is known at compile
- time, refer to this variable by using directly the address instead of
- dereferencing a pointer.
-
-2008-05-20 Robert Dewar <dewar@adacore.com>
-
- PR ada/30740
- * einfo.ads, einfo.adb (Non_Binary_Modulus): Applies to all types and
- subtypes, always False for non-modular types.
- Shared_Var_Assign_Proc (node22) and Shared_Var_Read_Proc (node 15)
- entry nodes have been replaced by Shared_Var_Procs_Instance (node22)
- for Shared_Storage package.
- (Is_RACW_Stub_Type): New entity flag.
-
- * exp_ch4.adb
- (Expand_N_Op_Expon): Avoid incorrect optimization of a*(2**b) in the
- case where we have a modular type with a non-binary modules.
- Comments reformattings.
-
- * sem_intr.adb: Simplify code not that Non_Binary_Modulus applies to
- all types.
-
-2008-05-20 Javier Miranda <miranda@adacore.com>
-
- * exp_aggr.adb
- (Build_Record_Aggr_Code): Fix wrong tests checking progenitors. Previous
- tests did not covered the case in which the type of the aggregate has
- no progenitors but some its parents has progenitors.
-
-2008-05-20 Gary Dismukes <dismukes@adacore.com>
- Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch3.adb
- (Expand_N_Object_Declaration): Correct the condition which triggers the
- generation of a call to Displace when initializing a class-wide object.
- (Build_Dcheck_Functions): Build discriminant-checking for null variants
- when Frontend_Layout_On_Target is true to ensure that they're available
- for calling when a record variant size function is built in Layout.
-
-2008-05-20 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_Assign_Record): Within an initialization
- procedure for a derived type retrieve the discriminant values from the
- parent using the corresponding discriminant.
- (Expand_N_Assignment_Statement): Skip generation of implicit
- if-statement associated with controlled types if we are
- compiling with restriction No_Finalization.
-
-2008-05-20 Vincent Celier <celier@adacore.com>
-
- * prj.adb (Hash (Project_Id)): New function
- (Project_Empty): Add new component Interfaces_Defined
-
- * prj.ads (Source_Data): New component Object_Linked
- (Language_Config): New components Object_Generated and Objects_Linked
- (Hash (Project_Id)): New function
- (Source_Data): New Boolean components In_Interfaces and
- Declared_In_Interfaces.
- (Project_Data): New Boolean component Interfaces_Defined
-
- * prj-attr.adb:
- New project level attribute Object_Generated and Objects_Linked
- Add new project level attribute Interfaces
-
- * prj-dect.adb: Use functions Present and No throughout
- (Parse_Variable_Declaration): If a string type is specified as a simple
- name and is not found in the current project, look for it also in the
- ancestors of the project.
-
- * prj-makr.adb:
- Replace procedure Make with procedures Initialize, Process and Finalize
- to implement H414-023: process different directories with different
- patterns.
- Use functions Present and No throughout
-
- * prj-makr.ads:
- Replace procedure Make with procedures Initialize, Process and Finalize
-
- * prj-nmsc.adb
- (Add_Source): Set component Object_Exists and Object_Linked accordnig to
- the language configuration.
- (Process_Project_Level_Array_Attributes): Process new attributes
- Object_Generated and Object_Linked.
- (Report_No_Sources): New Boolean parameter Continuation, defaulted to
- False, to indicate that the erreor/warning is a continuation.
- (Check): Call Report_No_Sources with Contnuation = True after the first
- call.
- (Error_Msg): Process successively contnuation character and warning
- character.
- (Find_Explicit_Sources): Check that all declared sources have been found
- (Check_File): Indicate in hash table Source_Names when a declared source
- is found.
- (Check_File): Set Other_Part when found
- (Find_Explicit_Sources): In multi language mode, check if all exceptions
- to the naming scheme have been found. For Ada, report an error if an
- exception has not been found. Otherwise, disregard the exception.
- (Check_Interfaces): New procedure
- (Add_Source): When Other_Part is defined, set mutual pointers in spec
- and body.
- (Check): In multi-language mode, call Check_Interfaces
- (Process_Sources_In_Multi_Language_Mode): Set In_Interfaces to False
- for an excluded source.
- (Remove_Source): A source replacing a source in the interfaces is also
- in the interfaces.
-
- * prj-pars.adb: Use function Present
-
- * prj-part.adb: Use functions Present and No throughout
- (Parse_Single_Project): Set the parent project for child projects
- (Create_Virtual_Extending_Project): Register project with no qualifier
- (Parse_Single_Project): Allow an abstract project to be extend several
- times. Do not allow an abstract project to extend a non abstract
- project.
-
- * prj-pp.adb: Use functions Present and No throughout
- (Print): Take into account the full associative array attribute
- declarations.
-
- * prj-proc.adb: Use functions Present and No throughout
- (Expression): Call itself with the same From_Project_Node for the
- default value of an external reference.
-
- * prj-strt.adb: Use functions Present and No throughout
- (Parse_Variable_Reference): If a variable is specified as a simple name
- and is not found in the current project, look for it also in the
- ancestors of the project.
-
- * prj-tree.ads, prj-tree.adb (Present): New function
- (No): New function
- Use functions Present and No throughout
- (Parent_Project_Of): New function
- (Set_Parent_Project_Of): New procedure
-
- * snames.ads, snames.adb:
- Add new standard names Object_Generated and Objects_Linked
-
-2008-05-20 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch6.adb (Expand_Call): Add guard to ensure that both the parent
- and the derived type are of the same kind.
- (Expand_Call): Generate type conversions for actuals of
- record or array types when the parent and the derived types differ in
- size and/or packed status.
-
-2008-05-20 Javier Miranda <miranda@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * exp_disp.adb (Make_DT, Make_Secondary_DT, Make_Tags): Avoid
- generating dispatch tables of locally defined tagged types statically.
- Remove implicit if-statement that is no longer required.
- (Expand_Dispatching_Call): If this is a call to an instance of the
- generic dispatching constructor, the type of the first argument may be
- a subtype of Tag, so always use the base type to recognize this case.
-
-2008-05-20 Thomas Quinot <quinot@adacore.com>
-
- * exp_dist.adb
- (GARLIC_Support.Add_RACW_Read_Attribute): When a zero value is received,
- and the RACW is null-excluding, raise CONSTRAINT_ERROR instead of
- assigning NULL into the result, to avoid a spurious warning.
- (Add_RACW_Features, case Same_Scope): Add assertion that designated type
- is not frozen.
- (Add_Stub_Type): Set entity flag Is_RACW_Stub_Type on generated stub
- type.
- (Build_From_Any_Function, Build_To_Any_Function,
- Build_TypeCode_Function): For a type that has user-specified stream
- attributes, use an opaque sequence of octets as the representation.
-
-2008-05-20 Kevin Pouget <pouget@adacore.com>
-
- * exp_smem.ads, exp_smem.adb: Construction of access and assign
- routines has been replaced by an instantiation of
- System.Shared_Storage.Shared_Var_Procs generic package, while expanding
- shared variable declaration.
- Calls to access and assign routines have been replaced by calls to
- Read/Write routines of System.Shared_Storage.Shared_Var_Procs
- instantiated package.
-
- * rtsfind.ads: RE_Shared_Var_Procs entry has been added in RE_Unit_Table
- It identifies the new generic package added in s-shasto.
-
- * s-shasto.adb, s-shasto.ads: A new generic package has been added, it
- is instantiated for each shared passive variable. It provides
- supporting procedures called upon each read or write access by the
- expanded code.
-
- * sem_attr.adb:
- For this runtime unit (always compiled in GNAT mode), we allow
- stream attributes references for limited types for the case where
- shared passive objects are implemented using stream attributes,
- which is the default in GNAT's persistent storage implementation.
-
-2008-05-20 Ed Schonberg <schonberg@adacore.com>
-
- * freeze.adb
- (Freeze_Enumeration_Type): For a subtype that inherits a foreign
- convention from its base type, do not set the type to that of integer,
- because it may inherit a size clause.
- Warn on a size clause with a size different
- from that of Integer, if the type has convention C.
-
-2008-05-20 Vincent Celier <celier@adacore.com>
-
- * gnatname.adb
- (Scan_Args): Rewrite to take into account new switch --and to separate
- arguments into sections.
- (Gnatname): Call Prj.Makr.Initialize, then Prj.Makr.Process for each
- section, then Finalize.
-
-2008-05-20 Tristan Gingold <gingold@adacore.com>
-
- * init.c: Enable stack probing on ppc-linux.
-
- * tracebak.c: Add symbolic traceback for ppc-linux.
-
- * system-linux-ppc.ads: Enable stack probing on ppc-linux.
-
-2008-05-20 Arnaud Charlet <charlet@adacore.com>
-
- * Makefile.in
- (common-tools): New rule, to avoid parallel build failure on gnat tools.
- Reenable parallel builds on this Makefile.
-
- * Make-lang.in: Update dependencies.
-
-2008-05-20 Robert Dewar <dewar@adacore.com>
-
- * opt.ads (Treat_Restrictions_As_Warnings): New switch
-
- * sem_prag.adb, par-prag.adb, restrict.ads: Implement flag
- Treat_Restrictions_As_Warnings.
-
- * switch-c.adb: Recognize new switch -gnatr
-
- * usage.adb: Add line for -gnatr
-
-2008-05-20 Hristian Kirtchev <kirtchev@adacore.com>
-
- * par-ch3.adb
- (P_Access_Definition): Change the error message when parsing "access
- all" in Ada 95 mode. The message no longer forces the user to recompile
- in 05 mode only to discover that anonymous access types are not allowed
- to have "all".
-
-2008-05-20 Hristian Kirtchev <kirtchev@adacore.com>
-
- * par-ch9.adb
- (P_Protected): Update the error message on missing "-gnat05" switch when
- using interfaces in conjunction with protected types. Remove the
- incorrect error message associated with the presence of "private" after
- a "with".
-
-2008-05-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_aggr.adb: Update comments.
- Improve previous change for PR ada/17985
-
-2008-05-20 Thomas Quinot <quinot@adacore.com>
-
- * sem_cat.adb
- (Set_Categorization_From_Scope): Do not set In_Remote_Types unless in
- the visible part of the spec of a remote types unit.
- (Validate_Remote_Access_Object_Type_Declaration):
- New local subprogram Is_Valid_Remote_Object_Type, replaces
- Is_Recursively_Limited_Private.
- (Validate_RACW_Primitives): Enforce E.2.2(14) rules: the types of all
- non-controlling formals (and the return type, even though this is not
- explicit in the standard) must support external streaming.
- (Validate_RCI_Subprogram_Declaration): Enforce E.2.3(14) rules: same
- as above for of RAS types and RCI subprograms. (The return type is not
- checked yet).
- Update comments related to RACWs designating limited interfaces per
- ARG ruling on AI05-060.
-
- * sem_util.ads, sem_util.adb
- (Is_Remote_Access_To_Class_Wide_Type): Only rely on Is_Remote_Types and
- Is_Remote_Call_Interface to identify RACW types in a stable and
- consistent way. We used to rely in this predicate on the privateness of
- the designated type and its ancestors, but depending on the currently
- visible private parts, this caused false negatives. We now uniformly
- rely on checks made at the point where the RACW type is declared.
- (Inspect_Deferred_Constant_Completion): Moved from Sem_Ch7.
-
-2008-05-20 Javier Miranda <miranda@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch3.adb
- (Analyze_Object_Declaration): Fix over-conservative condition
- restricting use of predefined assignment with tagged types that have
- convention CPP.
- (Analyze_Object_Declaration): Relax the check regarding deferred
- constants declared in scopes other than packages since they can be
- completed with pragma Import.
- Add missing escaping of all-caps word 'CPP' in error messages.
- (Build_Discriminated_Subtype): Do not inherit representation clauses
- from parent type if subtype already carries them, because they are
- inherited earlier during derivation and already include those that may
- come from a partial view.
-
- * sem_ch9.adb, sem_ch5.adb, sem_ch6.adb (Analyze_Subprogram_Body):
- Check the declarations of a subprogram body for proper deferred
- constant completion.
-
- * sem_ch7.ads, sem_ch7.adb
- (Inspect_Deferred_Constant_Completion): Moved to sem_util.
-
-2008-05-20 Ed Schonberg <schonberg@adacore.com>
- Thomas Quinot <quinot@adacore.com>
-
- * sem_ch4.adb
- (Try_Indexed_Call): Handle properly a construct of the form F(S) where
- F is a parameterless function that returns an array, and S is a subtype
- mark.
- (Analyze_Call): Insert dereference when the prefix is a parameterless
- function that returns an access to subprogram and the call has
- parameters.
- Reject a non-overloaded call whose name resolves to denote
- a primitive operation of the stub type generated to support a remote
- access-to-class-wide type.
-
-2008-05-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb
- (Note_Redundant_Use): Diagnose a redundant use within a subprogram body
- when there is a use clause for the same entity in the context.
- (Analyze_Subprogram_Renaming): A renaming_as_body is legal if it is
- created for a stream attribute of an abstract type or interface type.
-
-2008-05-20 Thomas Quinot <quinot@adacore.com>
-
- * sem_dist.ads, sem_dist.adb (Is_RACW_Stub_Type_Operation): New
- subprogram.
-
- * sem_type.adb
- (Add_One_Interp): Ignore any interpretation that is a primitive
- operation of an RACW stub type (these primitives are only executed
- through dispatching, never through static calls).
- (Collect_Interps): When only one interpretation has been found, set N's
- Entity and Etype to that interpretation, otherwise Entity and Etype may
- still refer to an interpretation that was ignored by Add_One_Interp,
- in which case would end up with being marked as not overloaded but with
- an Entity attribute not pointing to its (unique) correct interpretation.
-
-2008-05-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_eval.adb
- (Eval_Slice): Warn when a slice whose discrete range is a subtype name
- denotes the whole array of its prefix.
-
-2008-05-20 Robert Dewar <dewar@adacore.com>
-
- * sem_res.adb (Resolve_Op_Not): Warn on double negation
-
-2008-05-20 Ed Schonberg <schonberg@adacore.com>
-
- * sprint.adb
- (Print_Itype): Do not modify the sloc of the component type of a
- (packed) array itype, because it is an unrelated type whose source
- location is independent of the point of creation of the itype itself.
-
-2008-05-20 Thomas Quinot <quinot@adacore.com>
-
- * uintp.adb, urealp.adb: Replace calls to Increment_Last + Set with
- Append.
-
-2008-05-20 Robert Dewar <dewar@adacore.com>
- Vincent Celier <celier@adacore.com>
-
- * vms_data.ads: Add entry for -gnatr
- Put GNAT SYNC section in proper alpha order
- Add VMS qualifier /DISPLAY_PROGRESS equivalent to gnatmake switch -d
-
- * gnat_ugn.texi: Add documentation for new gnatname switch --and
- Update the style checks section
- Add documentation of -gnatr
- Add to the "Adding the Results of Compiler Checks to gnatcheck Output"
- subsection the explanation how compiler checks should be disabled for
- gnatcheck.
- Update the list of Ada 95 reserved words used by in the project language
- Add documentation for project qualifiers.
- Document that abstract projects may be extended by different projects in
- the same project tree.
- Add documentation for gnatmake switch -d
-
- * ug_words: Add -gnatyy VMS equivalence string.
- Add entry for -gnatr
-
-2008-05-20 Bob Duff <duff@adacore.com>
-
- * a-rttiev.adb
- (Set_Handler): Remove code from both of these that implements
- RM-D.15(15/2), because it causes a race condition and potential
- deadlock.
- (Process_Queued_Events): Add comment explaining "exception when others
- => null". Add clarifying ".all", even though implicit .all is legal
- here.
-
-2008-05-20 Arnaud Charlet <charlet@adacore.com>
-
- * s-winext.ads: Replace representation clause by pragma Pack. Gives
- equivalent representation, but has the advantage of allowing
- compilation of this file under 64 bits platforms.
-
- * s-os_lib.adb (Normalize_Pathname): Mark Cur_Dir constant.
-
- * s-osinte-irix.ads: (Alternate_Stack_Size): Add dummy declaration.
-
- * adaint.c:
- Don't define dummy implementation of convert_addresses on ppc-linux.
-
-2008-05-20 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch7.adb
- (Expand_Ctrl_Function_Call): Do not attach result to finalization list
- if expression is aggregate component.
-
-2008-05-20 Robert Dewar <dewar@adacore.com>
-
- * g-byorma.adb, gnatlink.adb, prepcomp.adb, sinfo.ads,
- sem_ch12.adb: Update comments. Minor reformatting.
-
- * exp_ch2.adb: Typo
-
- * s-unstyp.ads: Fixed some typos in comments.
-
-2008-05-20 Arnaud Charlet <charlet@adacore.com>
-
- * s-taspri-vxworks.ads (Task_Address, Task_Address_Size): New
- type/constant.
-
- * g-socthi-vxworks.ads: Update to latest socket changes.
-
- * a-caldel-vms.adb: Resync with a-caldel spec.
-
- * exp_ch9.ads, sem_ch8.ads, inline.adb: Minor reformatting.
- Update comments.
-
-2008-05-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * trans.c (gnat_to_gnu) <N_Validate_Unchecked_Conversion>: Account
- for dummy types pointed to by the converted pointer types.
-
-2008-05-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * trans.c (add_decl_expr): At toplevel, mark the TYPE_ADA_SIZE field
- of records and unions.
- (gnat_to_gnu) <N_Validate_Unchecked_Conversion>: Fix formatting.
-
-2008-05-14 Samuel Tardieu <sam@rfc1149.net>
- Robert Dewar <dewar@adacore.com>
-
- * sem_attr.adb (Analyze_Attribute, Attribute_Old case): Add
- restrictions to the prefix of 'Old.
- * sem_util.ads, sem_util.adb (In_Parameter_Specification): New.
- * gnat_rm.texi ('Old): Note that 'Old cannot be applied to local
- variables.
-
-2008-05-13 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/24880
- PR ada/26635
- * utils.c (convert) <INTEGER_TYPE>: When converting an additive
- expression to an integral type with lower precision, use NOP_EXPR
- directly in a couple of special cases.
-
-2008-05-12 Samuel Tardieu <sam@rfc1149.net>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Build_Derived_Record_Type): Accept statically matching
- constraint expressions.
-
-2008-05-12 Tomas Bily <tbily@suse.cz>
-
- * utils2.c (known_alignment, contains_save_expr_p)
- (gnat_mark_addressable): Use CASE_CONVERT.
- * decl.c (annotate_value): Likewise.
- * trans.c (maybe_stabilize_reference): Likewise.
- * utils2.c (build_binary_op): Use CONVERT_EXPR_P.
- * utils.c (rest_of_record_type_compilation): Likewise.
- * trans.c (protect_multiple_eval, Attribute_to_gnu)
- (protect_multiple_eval): Likewise.
-
-2008-05-08 Andreas Schwab <schwab@suse.de>
-
- * utils.c (handle_pure_attribute, init_gigi_decls): Rename
- DECL_IS_PURE to DECL_PURE_P.
-
-2008-05-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (maybe_pad_type): Add ??? comment.
-
-2008-05-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (components_to_record): Zero the alignment of the qualified
- union built for the variant part upon creating it.
-
-2008-05-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (maybe_pad_type): Try to get a form of the type with integral
- mode even if the alignment is not a factor of the original size. But
- make sure to create the inner field with the original size. Reorder.
- * trans.c (addressable_p) <COMPONENT_REF>: Treat the field of a padding
- record as always addressable.
- * utils.c (convert): Deal specially with conversions between original
- and packable versions of a record type.
- * utils2.c (build_binary_op) <MODIFY_EXPR>: Be more restrictive when
- recognizing an assignment between padded objects.
-
-2008-05-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (make_packable_type): Resize the last component to its RM size
- only if it is of an aggregate type.
- * trans.c (call_to_gnu): Fix nit in comment.
- (gnat_to_gnu): Likewise.
-
-2008-04-30 Samuel Tardieu <sam@rfc1149.net>
-
- * Makefile.in: Adapt sh4-linux target.
-
-2008-04-29 Ed Schonberg <schonberg@adacore.com>
-
- PR ada/35792
- * sem_ch3.adb (Find_Type_Name): Refuse completion of an incomplete
- tagged type by an untagged protected or task type.
-
-2008-04-28 Eric Botcazou <ebotcazou@adacore.com>
- Tristan Gingold <gingold@adacore.com>
-
- PR ada/36007
- * decl.c (gnat_to_gnu_entity) <object>: Do not promote alignment
- of aliased objects with an unconstrained nominal subtype.
- Cap the promotion to the effective alignment of the word mode.
-
-2008-04-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Make-lang.in (ada.tags, check-acats, ada/treeprs.ads)
- (ada/einfo.h, ada/sinfo.h, ada/nmake.adb, ada/nmake.ads):
- Use '&&' instead of ';'.
-
-2008-04-24 Olivier Hainque <hainque@adacore.com>
-
- * trans.c (Attribute_to_gnu) <case Attr_Length>: Length computation
- doesn't require signed arithmetic anymore.
-
-2008-04-23 Paolo Bonzini <bonzini@gnu.org>
-
- * trans.c (Attribute_to_gnu): Don't set TREE_INVARIANT.
- (call_to_gnu): Don't set TREE_INVARIANT.
- * utils2.c (gnat_build_constructor): Don't set TREE_INVARIANT.
-
-2008-04-22 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * s-osinte-rtems.adb: Add sigalstack function.
- * s-osinte-rtems.ads: Add SO_ONSTACK and sigalstack
- function. Add Alternate_Stack and Alternate_Stack_Size.
- Add missing process_shared field to pthread_condattr_t
- and change ss_low_priority to int from timespec.
-
-2008-04-22 Samuel Tardieu <sam@rfc1149.net>
-
- * i-forbla.adb: Link against -llapack and -lblas by default
- instead of the private -lgnalasup.
-
-2008-04-21 Olivier Hainque <hainque@adacore.com>
-
- Access to most C builtins from Ada
- * utils.c: #include "langhooks.h" and define GCC_DIAG_STYLE.
- (handle_pure_attribute, handle_novops_attribute,
- handle_nonnull_attribute, handle_sentinel_attribute,
- handle_noreturn_attribute, handle_malloc_attribute,
- handle_type_generic_attribute): New attribute handlers, from C fe.
- (gnat_internal_attribute_table): Map the new handlers.
- (gnat_init_decl_processing): Move call to gnat_install_builtins to ...
- (init_gigi_decls): ... here.
- (handle_const_attribute, handle_nothrow_attribute, builtin_decl_for):
- Move to a section dedicated to builtins processing.
- (build_void_list_node, builtin_type_for_size): New functions.
- (def_fn_type, get_nonnull_operand): Likewise.
- (install_builtin_elementary_type, install_builtin_function_types,
- install_builtin_attributes): Likewise.
- (fake_attribute_handler): Fake handler for attributes we don't
- support in Ada.
- (def_builtin_1): New function, worker for DEF_BUILTIN.
- (install_builtin_functions): New function.
- (gnat_install_builtins): Move to the builtins processing section.
- Now calling the newly introduced installers.
-
-2008-04-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <object>: Also promote the alignment of
- constant objects, but not exceptions.
- * trans.c (add_decl_expr): Use gnat_types_compatible_p for type
- compatibility test.
- * utils.c (create_var_decl_1): Likewise.
- * utils2.c (build_binary_op) <MODIFY_EXPR>: Also use the padded view of
- the type when copying to padded object and the source is a constructor.
-
-2008-04-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <object>: When trying to promote the
- alignment, reset it to zero if it would end up not being greater
- than that of the type.
-
-2008-04-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (maybe_pad_type): Only generate the XVS parallel type if
- the padded type has a variable size.
-
-2008-04-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Use the return by
- target pointer mechanism as soon as the size is not constant.
-
-2008-04-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * gigi.h (create_var_decl_1): Declare.
- (create_var_decl): Turn into a macro invoking create_var_decl_1.
- (create_true_var_decl): Likewise.
- * utils.c (create_var_decl_1): Make global and reorder parameters.
- (create_var_decl): Delete.
- (create_true_var_decl): Likewise.
-
-2008-04-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <object>: Promote the alignment of
- objects by default.
- * fe.h (Debug_Flag_Dot_A): Delete.
- * debug.adb (-gnatd.a): Update documentation.
-
-2008-04-17 Samuel Tardieu <sam@rfc1149.net>
-
- * g-socket.ads, g-socket.adb (Get_Address): Make Stream a
- "not null" parameter.
-
-2008-04-17 Samuel Tardieu <sam@rfc1149.net>
-
- * g-socket.adb: Add a message "IPv6 not supported" to the
- Socket_Error exception.
-
-2008-04-16 Samuel Tardieu <sam@rfc1149.net>
-
- PR ada/29015
- * sem_ch12.adb (Instantiate_Type): Check whether the full view of
- the type is known instead of the underlying type.
-
-2008-04-15 Ed Schonberg <schonberg@adacore.com>
-
- PR ada/22387
- * exp_ch5.adb (Expand_Assign_Record): Within an initialization
- procedure for a derived type retrieve the discriminant values from
- the parent using the corresponding discriminant.
-
-2008-04-15 Samuel Tardieu <sam@rfc1149.net>
- Gary Dismukes <dismukes@adacore.com>
-
- PR ada/28733
- * sem_ch8.adb (Analyze_Use_Package): Do not allow "use" of something
- which is not an entity (and hence not a package).
- (End_Use_Package): Ditto.
-
-2008-04-15 Ed Schonberg <schonberg@adacore.com>
-
- PR ada/16086
- * sem_ch12.adb (Analyze_Formal_Subprogram): The default can be any
- protected operation that matches the signature, not only an entry, a
- regular subprogram or a literal.
-
-2008-04-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * ada-tree.h (DECL_BY_COMPONENT_PTR_P): Use DECL_LANG_FLAG_3.
- * decl.c (gnat_to_gnu_entity) <object>: Call maybe_pad_type only
- if a size or alignment is specified. Do not take into account
- alignment promotions for the computation of the object's size.
- <type>: Call maybe_pad_type only if a size or alignment is specified.
- (maybe_pad_type): Really reuse the RM_Size of the original type if
- requested.
- * trans.c (Attribute_to_gnu): Fix a couple of nits.
- * utils2.c (build_binary_op) <MODIFY_EXPR>: Merge related conditional
- statements. Use the padded view of the type when copying between
- padded objects of the same underlying type.
-
-2008-04-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * vms_data.ads: Fix typo in constant.
- * gen-soccon.c: Fix typo in error string.
- * gnat_rm.texi (Pragma Optimize_Alignment, Pragma Postcondition):
- Fix typos.
- * a-calcon.ads, a-calend-vms.adb, a-calend.adb, a-crdlli.ads,
- bcheck.adb, checks.adb, einfo.ads, errout.adb, erroutc.adb,
- erroutc.ads, exp_attr.adb, exp_ch11.adb, exp_ch2.adb,
- exp_ch5.adb, exp_ch9.adb, exp_ch9.ads, exp_pakd.adb,
- exp_util.adb, fmap.adb, g-soccon-linux-mips.ads,
- g-soccon-rtems.ads, g-timsta.adb, g-timsta.ads, lib-writ.ads,
- mlib-tgt-specific-linux.adb, mlib-tgt-specific-tru64.adb,
- s-interr-vxworks.adb, s-interr.adb, s-osinte-lynxos.ads,
- s-rident.ads, s-taprop-solaris.adb, s-tassta.adb, s-win32.ads,
- sem_aggr.adb, sem_attr.ads, sem_ch10.adb, sem_ch13.ads,
- sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb,
- sem_prag.ads, sem_res.adb, sem_util.adb, sem_util.ads,
- sinfo.ads: Fix typos in comments.
-
-2008-04-14 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma, Linker_Section case): Extend error
- to every non-object and change error message.
-
-2008-04-14 Robert Dewar <dewar@adacore.com>
-
- * sem_util.ads, sem_util.adb (In_Subprogram): Remove.
- * sem_attr.adb (Anayze_Attribute): Check for Current_Subprogram
- directly.
-
-2008-04-14 Samuel Tardieu <sam@rfc1149.net>
-
- PR ada/18680
- * sem_prag.adb (Analyze_Pragma, Linker_Section case): Refuse to
- apply pragma Linker_Section on type.
-
-2008-04-14 Samuel Tardieu <sam@rfc1149.net>
-
- PR ada/16098
- * sem_prag.adb (Error_Pragma_Ref): New.
- (Process_Convention): Specialized message for non-local
- subprogram renaming. Detect the problem in homonyms as well.
-
-2008-04-14 Samuel Tardieu <sam@rfc1149.net>
-
- PR ada/15915
- * sem_util.ads, sem_util.adb (Denotes_Variable): New function.
- * sem_ch12.adb (Instantiate_Object): Use it.
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ensure that
- storage pool denotes a variable as per RM 13.11(15).
-
-2008-04-14 Samuel Tardieu <sam@rfc1149.net>
-
- * sem_util.ads, sem_util.adb (In_Subprogram): New function.
- * sem_attr.adb (Analyze_Attribute, Attribute_Old case): Use it.
-
-2008-04-14 Rolf Ebert <rolf.ebert.gcc@gmx.de>
-
- PR ada/20822
- * xgnatugn.adb (Put_Line): New procedure, ensuring Unix
- line endings even on non-Unix platforms.
-
-2008-04-14 Samuel Tardieu <sam@rfc1149.net>
-
- PR ada/35050
- * xref_lib.adb (Parse_Identifier_Info): Correctly parse and ignore the
- renaming information.
-
-2008-04-13 Samuel Tardieu <sam@rfc1149.net>
-
- PR ada/17985
- * sem_aggr.adb (Valid_Ancestor_Type): A type is not an ancestor of
- itself.
-
-2008-04-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * sfn_scan.adb, sfn_scan.ads, sinfo.ads,
- sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput.ads,
- snames.ads, sprint.adb, stand.ads, stringt.ads,
- styleg.adb, styleg.ads, stylesw.adb, stylesw.ads,
- switch.ads, sysdep.c, table.adb, table.ads,
- targparm.ads, tb-gcc.c, tbuild.ads, tracebak.c,
- trans.c, tree_io.adb, treepr.adb, types.adb, types.ads,
- uintp.adb, uintp.ads, utils.c, utils2.c, validsw.ads,
- vms_conv.adb, vms_conv.ads, vms_data.ads, widechar.adb,
- widechar.ads, xeinfo.adb, xgnatugn.adb, xr_tabls.adb,
- xr_tabls.ads, xref_lib.adb, xref_lib.ads, xsinfo.adb:
- Fix comment typos.
-
- * sem_ch10.adb, sem_ch10.ads,
- sem_ch12.adb, sem_ch12.ads, sem_ch13.adb, sem_ch13.ads,
- sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
- sem_ch6.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb,
- sem_elab.adb, sem_elab.ads, sem_elim.ads, sem_eval.adb,
- sem_eval.ads, sem_intr.adb, sem_mech.adb, sem_mech.ads,
- sem_prag.adb, sem_prag.ads, sem_res.adb, sem_res.ads,
- sem_type.adb, sem_util.adb, sem_util.ads, sem_warn.adb,
- sem_warn.ads: Fix comment typos.
-
- * s-secsta.adb, s-sequio.ads, s-shasto.ads,
- s-soflin.ads, s-stalib.ads, s-stausa.adb,
- s-stausa.ads, s-strxdr.adb, s-taenca.adb, s-taenca.ads,
- s-taprob.adb, s-taprop-hpux-dce.adb, s-taprop-irix.adb,
- s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-posix.adb,
- s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
- s-taprop-vxworks.adb, s-taprop.ads, s-tarest.adb,
- s-tarest.ads, s-tasini.adb, s-tasini.ads, s-taskin.ads,
- s-tasque.ads, s-tassta.adb, s-tassta.ads, s-tasuti.ads,
- s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
- s-tpopsp-posix.adb, s-tpopsp-rtems.adb, s-tposen.adb,
- s-tposen.ads, s-traceb-hpux.adb, s-traces.ads,
- s-trafor-default.ads, s-unstyp.ads, s-utf_32.ads,
- s-vaflop.adb, s-vaflop.ads, s-valrea.adb, s-valuti.adb,
- s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, scans.ads,
- scn.adb, scng.adb, seh_init.c, sem.ads, sem_aggr.adb,
- sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
- sem_cat.adb, sem_cat.ads: Fix comment typos.
-
-2008-04-12 Joel Sherrill <joel@oarcorp.com>
-
- PR ada/35825
- * g-soccon-rtems.ads: Add IP_PKTINFO as unsupported.
-
-2008-04-12 Arnaud Charlet <charlet@adacore.com>
-
- * s-linux-hppa.ads: Fix syntax errors.
-
-2008-04-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * gnat_ugn.texi: Fix typos.
- * raise-gcc.c, repinfo.adb, repinfo.ads, restrict.adb,
- restrict.ads, rtsfind.adb, rtsfind.ads, s-arit64.ads,
- s-asthan-vms-alpha.adb, s-auxdec.ads, s-casuti.ads,
- s-fatflt.ads, s-fatgen.adb, s-fatlfl.ads,
- s-fatllf.ads, s-fatsfl.ads, s-filofl.ads,
- s-finimp.adb, s-finroo.ads, s-fishfl.ads,
- s-fvadfl.ads, s-fvaffl.ads, s-fvagfl.ads,
- s-hibaen.ads, s-htable.ads, s-imgcha.adb,
- s-imgenu.ads, s-imgint.adb, s-imgrea.adb,
- s-inmaop-dummy.adb, s-inmaop.ads, s-interr-vms.adb,
- s-interr-vxworks.adb, s-interr.adb, s-interr.ads,
- s-intman-vxworks.ads, s-intman.ads, s-mastop-irix.adb,
- s-os_lib.adb, s-os_lib.ads, s-osinte-aix.ads,
- s-osinte-darwin.ads, s-osinte-freebsd.ads,
- s-osinte-hpux.ads, s-osinte-lynxos-3.adb,
- s-osinte-lynxos-3.ads, s-osinte-lynxos.ads,
- s-osinte-rtems.ads, s-osinte-solaris-posix.ads,
- s-osprim-mingw.adb, s-osprim-vms.adb, s-parame-ae653.ads,
- s-parame-hpux.ads, s-parame-vms-alpha.ads,
- s-parame-vms-ia64.ads, s-parame-vms-restrict.ads,
- s-parame-vxworks.ads, s-parame.ads, s-parint.adb,
- s-parint.ads, s-poosiz.adb, s-proinf-irix-athread.ads,
- s-proinf.ads, s-regexp.adb, s-regpat.adb, s-regpat.ads,
- s-rident.ads: Fix comment typos.
-
-2008-04-09 Samuel Tardieu <sam@rfc1149.net>
-
- PR ada/28305
- * sem_ch6.adb (Build_Body_To_Inline): Do not save and restore
- environment if generic instance is a top-level one.
-
-2008-04-09 Doug Rupp <rupp@adacore.com>
-
- * decl.c (validate_size): Set minimum size for fat pointers same as
- access types. Code clean ups.
-
- * gmem.c (xstrdup32): New macro for 32bit dup on VMS, noop otherwise
- (__gnat_gmem_a2l_initialize): Dup exename into 32 bit memory on VMS
-
- * s-auxdec-vms_64.ads, s-auxdec.ads (Short_Address_Size): New constant
-
- * s-crtl.ads (malloc32) New function, alias for malloc
- (realloc32) New function, alias for realloc
-
- * socket.c (__gnat_new_socket_set): Malloc fd_set in 32 bits on VMS
-
- * utils2.c (build_call_alloc_dealloc): Return call to short malloc if
- allocator size is 32 and default pointer size is 64.
- (find_common_type): Document assumption on t1/t2 vs lhs/rhs. Force use of
- lhs type if smaller, whatever the modes.
-
- * gigi.h (malloc32_decl): New macro definition
-
- * utils.c (init_gigi_decls): New malloc32_decl
- Various code clean ups.
-
- * s-asthan-vms-alpha.adb (Process_AST.To_Address): Unchecked convert to
- Task_Address vice System.Address.
-
- * s-taspri-vms.ads: Import System.Aux_DEC
- (Task_Address): New subtype of System.Aux_DEC.Short_Address
- (Task_Address_Size): New constant size of System.Aux_DEC.Short_Address
-
- * s-asthan-vms-alpha.adb (Process_AST.To_Address): Unchecked convert to
- Task_Address vice System.Address.
-
- * s-inmaop-vms.adb: Import System.Task_Primitives
- (To_Address): Unchecked convert to Task_Address vice System.Address
-
- * s-taprop-vms.adb (Timed_Delay): Always set the timer even if delay
- expires now.
- (To_Task_ID) Unchecked convert from Task_Adddress vice System.Address
- (To_Address) Unchecked convert to Task_Address vice System.Address
-
- * s-tpopde-vms.adb: Remove unnecessary warning pragmas
-
- * g-socthi-vms.ads: Add 32bit size clauses on socket access types.
-
-2008-04-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gigi.h (standard_datatypes): Add ADT_fdesc_type and ADT_null_fdesc.
- (fdesc_type_node): Define.
- (null_fdesc_node): Likewise.
- * decl.c (gnat_to_gnu_entity) <E_Access_Subprogram_Type>: If the target
- uses descriptors for vtables and the type comes from a dispatch table,
- return the descriptor type.
- * trans.c (Attribute_to_gnu) <Attr_Unrestricted_Access>: If the target
- uses descriptors for vtables and the type comes from a dispatch table,
- build a descriptor in the static case and copy the existing one in the
- non-static case.
- (gnat_to_gnu) <N_Null>: If the target uses descriptors for vtables and
- the type is a pointer-to-subprogram coming from a dispatch table,
- return the null descriptor.
- <N_Unchecked_Type_Conversion>: If the target uses descriptors for
- vtables, the source type is the descriptor type and the target type
- is a pointer type, first build the pointer.
- * utils.c (init_gigi_decls): If the target uses descriptors for vtables
- build the descriptor type and the null descriptor.
-
-2008-04-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (prepend_attributes): Fix typo.
- * trans.c (Pragma_to_gnu): Likewise.
- * utils.c (gnat_genericize): Likewise.
-
-2008-04-08 Eric Botcazou <ebotcazou@adacore.com>
- Richard Kenner <kenner@adacore.com>
-
- * ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Only set it when bit-packed.
- * decl.c (gnat_to_gnu_entity): Adjust for above change.
- <E_Record_Type>: Try to get a better form of the component for
- packing, even if it has an integral mode.
- <E_Record_Subtype>: Likewise.
- * trans.c (gnat_to_gnu): Do not require BLKmode for the special
- exception suppressing the final conversion between record types.
-
-2008-04-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <object>: If -gnatd.a and not optimizing
- alignment for space, promote the alignment of non-scalar variables with
- no size and alignment.
- * gigi.h (gnat_types_compatible_p): Declare.
- * misc.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Set to above predicate.
- * trans.c (gnat_to_gnu): Revert revision 129339 change. Minor cleanup.
- * utils.c (gnat_types_compatible_p) : New predicate.
- (convert): Use it throughout to test for cases where a mere view
- conversion is sufficient.
- * utils2.c (build_binary_op): Minor tweaks.
- (build_unary_op): Likewise.
-
-2008-04-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (adjust_packed): Expand comment.
-
-2008-04-08 Arnaud Charlet <charlet@adacore.com>
-
- * s-tasuti.ads: Use Task_Address instead of System.Address.
-
- * makeutl.adb (Path_Or_File_Name): New function
-
- * nlists.ads, itypes.ads: Update comments.
-
- * s-crtl.ads (malloc32, realloc32): New functions.
-
- * s-auxdec.ads (Short_Address_Size): New constant.
-
- * a-taside.adb, s-tasdeb.adb: Use Task_Address.
-
- * s-ststop.ads, s-ststop.adb: New file.
-
- * exp_tss.ads, s-taprop-lynxos.adb: Update comments.
- Minor reformatting.
-
-2008-04-08 Pascal Obry <obry@adacore.com>
-
- * g-sercom.ads, g-sercom.adb (Data_Rate): Add B115200.
- (Stop_Bits_Number): New type.
- (Parity_Check): Likewise.
- (Set): Add parameter to set the number of stop bits and
- the parity. Parameter timeout is now a duration instead
- of a plain integer.
-
- * g-sercom-linux.adb:
- Implement the stop bits and parity support for GNU/Linux.
- Fix handling of timeout, it must be given in tenth of seconds.
-
- * g-sercom-mingw.adb:
- Implement the stop bits and parity support for Windows.
- Use new s-win32.ads unit instead of declaring Win32 services
- directly into this body.
- Update handling of timeout as now a duration.
-
- * s-win32.ads, s-winext.ads: New files.
-
-2008-04-08 Eric Botcazou <ebotcazou@adacore.com>
- Arnaud Charlet <charlet@adacore.com>
-
- * s-osinte-linux-alpha.ads, s-osinte-linux-hppa.ads: Removed.
-
- s-taspri-posix-noaltstack.ads, s-linux.ads, s-linux-alpha.ads,
- s-linux-hppa.ads: New files. Disable alternate stack on ia64-hpux.
-
- * s-osinte-lynxos-3.ads,
- (Alternate_Stack): Remove when not needed. Simplify declaration
- otherwise.
- (Alternate_Stack_Size): New constant.
-
- s-osinte-mingw.ads, s-taprop-mingw.adb: Code clean up: avoid use of
- 'Unrestricted_Access.
-
- * s-osinte-hpux.ads, s-osinte-solaris-posix.ads, s-osinte-aix.ads,
- s-osinte-lynxos.ads, s-osinte-freebsd.ads s-osinte-darwin.ads,
- s-osinte-tru64.ads, s-osinte-irix.ads, s-osinte-linux.ads,
- s-osinte-solaris.ads, s-osinte-vms.ads
- (SA_ONSTACK): New constant.
- (stack_t): New record type.
- (sigaltstack): New imported function.
- (Alternate_Stack): New imported variable.
- (Alternate_Stack_Size): New constant.
-
- * system-linux-x86_64.ads: (Stack_Check_Probes): Set to True.
-
- * s-taspri-lynxos.ads, s-taspri-solaris.ads, s-taspri-tru64.ads,
- s-taspri-hpux-dce.ads, s-taspri-dummy.ads, s-taspri-posix.ads,
- s-taspri-vms.ads (Task_Address): New subtype of System.Address
- (Task_Address_Size): New constant size of System.Address
- (Alternate_Stack_Size): New constant.
-
- * s-taprop-posix.adb, s-taprop-linux.adb (Get_Stack_Attributes): Delete.
- (Enter_Task): Do not notify stack to System.Stack_Checking.Operations.
- Establish the alternate stack if the platform makes use of n alternate
- signal stack for stack overflows.
- (Create_Task): Take into account the alternate stack in the stack size.
- (Initialize): Save the address of the alternate stack into the ATCB for
- the environment task.
- (Create_Task): Fix assertions for NPTL library (vs old LinuxThreads).
-
- * s-parame.adb (Minimum_Stack_Size): Increase value to 16K
-
- * system-linux-x86.ads: (Stack_Check_Probes): Set to True.
-
- * s-intman-posix.adb:
- (Initialize): Set SA_ONSTACK for SIGSEGV if the platform makes use of an
- alternate signal stack for stack overflows.
-
- * init.c (__gnat_adjust_context_for_raise, Linux version): On i386 and
- x86-64, adjust the saved value of the stack pointer if the signal was
- raised by a stack checking probe.
- (HP-UX section): Use global __gnat_alternate_stack as signal handler
- stack and only for SIGSEGV.
- (Linux section): Likewise on x86 and x86-64.
- [VxWorks section]
- (__gnat_map_signal): Now static.
- (__gnat_error_handler): Not static any more.
- (__gnat_adjust_context_for_raise): New function. Signal context
- adjustment for PPC && !VTHREADS && !RTP, as required by the zcx
- propagation circuitry.
- (__gnat_error_handler): Second argument of a sigaction handler is a
- pointer, not an int, and is unused.
- Adjust signal context before mapping to exception.
- Install signal handlers for LynxOS case.
-
- * s-taskin.ads (Common_ATCB): New field Task_Alternate_Stack.
- (Task_Id): Set size to Task_Address_Size
- (To_Task_id): Unchecked convert from Task_Address vice System.Address
- (To_Address): Unchecked convert to Task_Address vice System.Address
-
- * s-tassta.adb (Task_Wrapper): Define the alternate stack and save its
- address into the ATCB if the platform makes use of an alternate signal
- stack for stack overflows.
- (Free_Task): Add call to Finalize_Attributes_Link.
- Add argument Relative_Deadline to pass the value specified for
- the task. This is not yet used for any target.
-
- * s-tassta.ads (Create_Task): Add argument Relative_Deadline to pass
- the value specified for the task.
-
-2008-04-08 Arnaud Charlet <charlet@adacore.com>
-
- (s-osinte-vxworks6.ads): Removed, merged with s-osinte-vxworks.ads/.adb
- (s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.ads,
- s-vxwext-rtp.adb): New files.
-
- * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-osinte-vxworks.adb:
- Minor updates to accomodate changes above.
-
-2008-04-08 Pascal Obry <obry@adacore.com>
-
- * a-exetim-mingw.adb, s-gloloc-mingw.adb, s-taprop-mingw.adb,
- s-tasinf-mingw.ad{s,b}, s-taspri-mingw.ads:
- Use new s-win32.ads unit instead of declaration
- from s-osinte-mingw.ads.
-
- * s-osinte-mingw.ads:
- Move all non tasking based interface to s-win32.ads.
-
- * s-osprim-mingw.adb:
- Remove duplicated declarations and use s-win32.ads
- unit instead.
-
-2008-04-08 Vincent Celier <celier@adacore.com>
- Arnaud Charlet <charlet@adacore.com>
-
- * mlib-tgt-aix.adb, mlib-tgt-darwin.adb, mlib-tgt-hpux.adb,
- mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-lynxos.adb,
- mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
- mlib-tgt-vms.ads, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
- mlib-tgt-vxworks.adb, mlib-tgt-mingw.adb: Renamed into...
-
- * mlib-tgt-specific-aix.adb, mlib-tgt-specific-darwin.adb,
- mlib-tgt-specific-hpux.adb, mlib-tgt-specific-irix.adb,
- mlib-tgt-specific-linux.adb, mlib-tgt-specific-lynxos.adb,
- mlib-tgt-specific-solaris.adb, mlib-tgt-specific-tru64.adb,
- mlib-tgt-vms_common.adb, mlib-tgt-vms_common.ads,
- mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb,
- mlib-tgt-specific-vxworks.adb, mlib-tgt-specific-xi.adb,
- mlib-tgt-specific-mingw.adb: New names.
-
- * Makefile.in:
- On VxWorks platforms use s-stchop-limit.ads for s-stchop.ads
- Get rid of gnatbl.
- (EXTRA_GNATRTL_NONTASKING_OBJS): Add s-win32.o
- Files mlib-tgt-*.adb have been renamed mlib-tgt-specific-*.adb
- Minor updates for VMS
-
- * gnatbl.c: Removed.
-
-2008-04-08 Thomas Quinot <quinot@adacore.com>
-
- * g-expect-vms.adb, a-textio.adb, a-witeio.adb, exp_dbug.adb,
- g-expect.adb, g-locfil.adb, gnatchop.adb, gnatdll.adb, gnatlbr.adb,
- gnatmem.adb, g-regist.adb, i-vxwork.ads, mlib-utl.adb, i-vxwork-x86.ads,
- a-ztexio.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-ia64.adb,
- s-os_lib.adb, s-regpat.adb, s-regpat.ads: Fix incorrect casing of
- ASCII.NUL throughout.
-
-2008-04-08 Arnaud Charlet <charlet@adacore.com>
- Matthew Heaney <heaney@adacore.com>
-
- * a-cgcaso.adb, a-convec.adb: (Swap, Sift): Avoid use of complex
- renaming.
-
- * a-cgaaso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads,
- a-crdlli.ads, a-coormu.ads, a-ciormu.ads: modified header to conform
- to convention for non-RM specs.
- Add descriptive header, and documented each operation
- document each operation
-
-2008-04-08 Robert Dewar <dewar@adacore.com>
- Bob Duff <duff@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * alloc.ads: Add entries for Obsolescent_Warnings table
-
- * einfo.ads, einfo.adb: Minor reformatting.
- (Is_Discriminal): New subprogram.
- (Is_Prival): New subprogram.
- (Is_Protected_Component): New subprogram.
- (Is_Protected_Private): Removed.
- (Object_Ref, Set_Object_Ref): Removed.
- (Prival, Set_Prival): Change assertion.
- (Privals_Chain, Set_Privals_Chain): Removed.
- (Prival_Link, Set_Prival_Link): New subprogram.
- (Protected_Operation, Set_Protected_Operation): Removed.
- (Protection_Object, Set_Protection_Object): New subprogram.
- (Write_Field17_Name): Remove case for Object_Ref.
- (Write_Field20_Name): Add case for Prival_Link.
- (Write_Field22_Name): Remove case for Protected_Operation,
- Privals_Chain.
- Add case for Protection_Object.
- (Can_Use_Internal_Rep): Make this into a [base type only] attribute,
- so clients
- (Overlays_Constant): New flag
- (Is_Constant_Object): New predicate
- (Is_Standard_Character_Type): New predicate
- (Optimize_Alignment_Space): New flag
- (Optimize_Alignment_Time): New flag
- (Has_Postconditions): New flag
- (Obsolescent_Warrning): Field removed
- (Spec_PPC_List): New field
- (Relative_Deadline_Variable, Set_Relative_Deadline_Variable): Add
- subprograms to get and set the relative deadline associated to a task.
-
- * exp_attr.adb (May_Be_External_Call): Account for the case where the
- Access attribute is part of a named parameter association.
- (Expand_Access_To_Protected_Op): Test for the attribute occurring
- within an init proc and use that directly as the scope rather than
- traversing up to the protected operation's enclosing scope. Only apply
- assertion on Is_Open_Scopes in the case the scope traversal is done.
- For the init proc case use the address of the first formal (_init) as
- the protected object reference.
- Implement Invalid_Value attribute
- (Expand_N_Attribute_Reference): Case Attribute_Unrestricted_Access.
- contents of the dispatch table there is no need to duplicate the
- itypes associated with record types (i.e. the implicit full view
- of private types).
- Implement Enum_Val attribute
- (Expand_N_Attribute_Reference, case Old): Properly handle appearence
- within _Postconditions procedure
- (Expand_N_Attribute_Reference, case Result): Implement new attribute
-
- * exp_ch5.adb (Expand_N_Simple_Return_Statement): Handle case in which
- a return statement calls a function that is not available in
- configurable runtime.
- (Analyze_If_Statement): don't optimize simple True/False cases in -O0
- (Expand_Non_Function_Return): Generate call to _Postconditions proc
- (Expand_Simple_Function_Return): Ditto
-
- * frontend.adb: Add call to Sem_Aux.Initialize
-
- * sem_aux.ads, sem_aux.adb: New file.
-
- * par-prag.adb: Add entries for pragmas Precondition/Postcondition
- Add new Pragma_Relative_Deadline.
- Add support for pragmas Check and Check_Policy
-
- * sem_attr.ads, sem_attr.adb (Check_Not_CPP_Type): New subprogram.
- (Check_Stream_Attribute): Add missing check (not allowed in CPP types)
- (Analyze_Attribute): In case of attributes 'Alignment and 'size add
- missing check because they are not allowed in CPP tagged types.
- Add Sure parameter to Note_Possible_Modification calls
- Add implementation of Invalid_Value attribute
- Implement new attribute Has_Tagged_Values
- Implement Enum_Val attribute
- (Analyze_Attribute, case Range): Set Name_Req True for prefix of
- generated attributes.
- (Analyze_Attribute, case Result): If prefix of the attribute is
- overloaded, it always resolves to the enclosing function.
- (Analyze_Attribute, case Result): Properly deal with analysis when
- Postconditions are not active.
- (Resolve_Attribute, case Result): Properly deal with appearence during
- preanalysis in spec.
- Add processing for attribute Result
-
- * sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Code cleanup
- for operators.
- (Analyze_Subprogram_Body): Install private_with_clauses when the body
- acts as a spec.
- (Check_Inline_Pragma): recognize an inline pragma that appears within
- the subprogram body to which it applies.
- (Analyze_Function_Return): Check that type of the expression of a return
- statement in a function with a class-wide result is not declared at a
- deeper level than the function.
- (Process_PPCs): Deal with enabling/disabling, using PPC_Enabled flag
- (Verify_Overriding_Indicator): Handle properly subprogram bodies for
- user- defined operators.
- (Install_Formals): Moved to spec to allow use from Sem_Prag for
- analysis of precondition/postcondition pragmas.
- (Analyze_Subprogram_Body.Last_Real_Spec_Entity): New name for
- Last_Formal, along with lots of comments on what this is about
- (Analyze_Subprogram_Body): Fix case where we move entities from the
- spec to the body when there are no body entities (now possible with
- precondition and postcondition pragmas).
- (Process_PPCs): New procedure
- (Analyze_Subprogram_Body): Add call to Process_PPCs
-
- * sem_ch8.adb (Use_One_Type): refine warning on a redundant use_type
- clause.
- (Pop_Scope): Restore Check_Policy_List on scope exit
- (Push_Scope): Save Check_Policy_List on scope entry
- Change name In_Default_Expression => In_Spec_Expression
- Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
- Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve
- (Analyze_Object_Renaming): Allow 'Reference as object
- (Analyze_Pragma, case Restriction_Warnings): Call GNAT_Pragma
- (Process_Restrictions_Or_Restriction_Warnings): Check for bad spelling
- of restriction identifier.
- Add Sure parameter to Note_Possible_Modication calls
-
- * sem_prag.ads, sem_prag.adb (Analyze_Pragma, case Stream_Convert):
- Don't check for primitive operations when calling Rep_Item_Too_Late.
- (Process_Import_Or_Interface): Do not place flag on formal
- subprograms.
- (Analyze_Pragma, case Export): If the entity is a deferred constant,
- propagate information to full view, which is the one elaborated by the
- back-end.
- (Make_Inline): the pragma is effective if it applies to an internally
- generated subprogram declaration for a body that carries the pragma.
- (Analyze_Pragma, case Optimize_Alignment): Set new flag
- Optimize_Alignment_Local.
- (Analyze_PPC_In_Decl_Part): New procedure
- (Get_Pragma_Arg): Moved to outer level
- (Check_Precondition_Postcondition): Change to allow new visibility
- rules for package spec
- (Analyze_Pragma, case Check_Policy): Change placement rules to be
- same as pragma Suppress/Unsuppress.
- Change name In_Default_Expression => In_Spec_Expression
- Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
- Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve
- (Check_Precondition_Postcondition): Do proper visibility preanalysis
- for the case of these pragmas appearing in the spec.
- (Check_Enabled): New function
- (Initialize): New procedure
- (Tree_Read): New procedure
- (Tree_Write): New procedure
- (Check_Precondition_Postcondition): New procedure
- Implement pragmas Check and Check_Policy
- Merge Assert processing with Check
-
- * sem_warn.adb (Warn_On_Known_Condition): Handle pragma Check
- New warning flag -gnatw.e
-
- * sinfo.ads, sinfo.adb (Has_Relative_Deadline_Pragma): New function
- returning whether a task (or main procedure) has a pragma
- Relative_Deadline.
- (Set_Has_Relative_Deadline_Pragma): Procedure to indicate that a task
- (or main procedure) has a pragma Relative_Deadline.
- Add Next_Pragma field to N_Pragma node
- (PPC_Enabled): New flag
- (Next_Pragma): Now used for Pre/Postcondition processing
-
- * snames.h, snames.ads, snames.adb: New standard name
- Inherit_Source_Path
- Add entry for 'Invalid_Value attribute
- Add entry for new attribute Has_Tagged_Values
- Add entry for Enum_Val attribute
- Add new standard names Aggregate, Configuration and Library.
- Add _Postconditions
- Add _Result
- Add Pragma_Precondition
- Add Pragma_Postcondition
- Add Attribute_Result
- New standard name Archive_Builder_Append_Option
- (Preset_Names): Add _relative_deadline and relative_deadline definitions
- There was also a missing non_preemptive_within_priorities.
- (Get_Pragma_Id, Is_Pragma_Name): Add support for pragma
- Relative_Deadline.
- Add support for pragmas Check and Check_Policy
-
- * tree_gen.adb: Call Sem_Aux.Tree_Write
-
- * tree_in.adb: Call Sem_Aux.Tree_Read
-
- * exp_ch11.adb (Expand_N_Raise_Statement): New Build_Location calling
- sequence
-
- * exp_intr.adb (Expand_Source_Info): New Build_Location calling
- sequence
-
- * exp_prag.adb (Expand_Pragma_Relative_Deadline): New procedure.
- (Expand_N_Pragma): Call the appropriate procedure for expanding pragma
- Relative_Deadline.
- (Expand_Pragma_Check): New procedure
-
- * sinput.ads, sinput.adb (Build_Location_String): Now appends to name
- buffer.
-
- * sinfo.adb (PPC_Enabled): New flag
-
-2008-04-08 Robert Dewar <dewar@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
- Javier Miranda <miranda@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * fe.h: Remove global Optimize_Alignment flag, no longer used
-
- * layout.adb: Test Optimize_Alignment flags rather than global switch
-
- * lib.ads, lib.adb: New OA_Setting field in library record
-
- * lib-load.adb: New OA_Setting field in library record
-
- * lib-writ.ads, lib-writ.adb (Collect_Withs, Write_With_Lines): Place
- units mentioned in limited_with_ clauses in the ali file, with an
- 'Y' marker.
- New Ox fields in U line
-
- * opt.adb: New flag Optimize_Alignment_Local
- (Check_Policy_List[_Config]): New flags
-
- * opt.ads (Invalid_Value_Used): New flag
- New switch Optimize_Alignment_Local
- (Warn_On_Parameter_Order): New flag
- (Check_Policy_List[_Config]): New flags
-
- * ali.ads, ali.adb: Add indicator 'Y' to mark mark the presence of
- limited_with clauses.
- New data structures for Optimize_Alignment
-
- * bcheck.adb (Check_Consistent_Restriction_No_Default_Initialization):
- New procedure
- (Check_Consistent_Optimize_Alignment): Rework for new structure
- (Check_Consistent_Restrictions): Fix incorrect error message
-
- sem_ch10.adb (Decorate_Tagged_Type): Set the Parent field of a newly
- created class-wide type (to the Parent field of the specific type).
- (Install_Siblings): Handle properly private_with_clauses on subprogram
- bodies and on generic units.
- (Analyze_With_Clause, Install_Limited_Withed_Unit): Guard against an
- illegal limited_with_clause that names a non-existent package.
- (Check_Body_Required): Determine whether a unit named a limited_with
- clause needs a body.
- (Analyze_Context): A limited_with_clause is illegal on a unit_renaming.
- Capture Optimize_Alignment settings to set new OA_Setting field in
- library record.
- (Build_Limited_Views): Include task and protected type declarations.
-
- * sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Handle the
- case of a possible constant redeclaration where the current object is
- an entry index constant.
- (Analyze_Object_Declaration): Generate an error in case of CPP
- class-wide object initialization.
- (Analyze_Object_Declaration): Add extra information on warnings for
- declaration of unconstrained objects.
- (Access_Type_Declaration): Set Associated_Final_Chain to Empty, to avoid
- conflicts with the setting of Stored_Constraint in the case where the
- access type entity has already been created as an E_Incomplete_Type due
- to a limited with clause.
- Use new Is_Standard_Character_Type predicate
- (Analyze_Object_Declaration): Apply access_constant check only after
- expression has been resolved, given that it may be overloaded with
- several access types.
- (Constant_Redeclaration): Additional legality checks for deferred
- constant declarations tha involve anonymous access types and/or null
- exclusion indicators.
- (Analyze_Type_Declaration): Set Optimize_Alignment flags
- (Analyze_Subtype_Declaration): Ditto
- (Analyze_Object_Declaration): Ditto
- (Analyze_Object_Declaration): Don't count tasks in generics
- Change name In_Default_Expression => In_Spec_Expression
- Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
- Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve
- (Process_Discriminants): Additional check for illegal use of default
- expressions in access discriminant specifications in a type that is not
- explicitly limited.
- (Check_Abstract_Overriding): If an inherited function dispaches on an
- access result, it must be overridden, even if the type is a null
- extension.
- (Derive_Subprogram): The formals of the derived subprogram have the
- names and defaults of the parent subprogram, even if the type is
- obtained from the actual subprogram.
- (Derive_Subprogram): In the presence of interfaces, a formal of an
- inherited operation has the derived type not only if it descends from
- the type of the formal of the parent operation, but also if it
- implements it. This is relevant for the renamings created for the
- primitive operations of the actual for a formal derived type.
- (Is_Progenitor): New predicate, to determine whether the type of a
- formal in the parent operation must be replaced by the derived type.
-
- * sem_util.ads, sem_util.adb (Has_Overriding_Initialize): Make
- predicate recursive to handle components that have a user-defined
- Initialize procedure. Handle controlled derived types whose ancestor
- has a user-defined Initialize procedured.
- (Note_Possible_Modification): Add Sure parameter, generate warning if
- sure modification of constant
- Use new Is_Standard_Character_Type predicate
- (Find_Parameter_Type): when determining whether a protected operation
- implements an interface operation, retrieve the type of the formal from
- the entity when the formal is an access parameter or an
- anonymous-access-to-subprogram.
- Move Copy_Parameter_List to sem_util, for use when building stubbed
- subprogram bodies.
- (Has_Access_Values): Tagged types now return False
- (Within_HSS_Or_If): New procedure
- (Set_Optimize_Alignment_Flags): New procedure
- Change name In_Default_Expression => In_Spec_Expression
- Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
- Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve
-
-2008-04-08 Tristan Gingold <gingold@adacore.com>
-
- * s-fileio.adb: Name_Error shouldn't be raised for a tempory file.
-
-2008-04-08 Tristan Gingold <gingold@adacore.com>
-
-PR ada/10768
-
- * cuintp.c: Fix 16 bits issue for AVR.
- On AVR, integer is 16 bits, so it can't be used to do math with
- Base (=32768).
- So use long_integer instead.
-
-2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-calend-vms.ads, a-calend-vms.adb: Add with and use clause for
- System.OS_Primitives.
- Change type of various constants, parameters and local variables from
- Time to representation type OS_Time.
- (To_Ada_Time, To_Unix_Time): Correct sign of origin shift.
- Remove the declaration of constant Mili_F from several routines. New
- body for internal package Conversions_Operations.
- (Time_Of): Add default parameters for several formals.
-
- * a-caldel.adb: Minor reformatting
-
- * a-calend.ads, a-calend.adb: New body for internal package
- Conversions_Operations.
- (Time_Of): Add default parameters for several formals.
-
- * Makefile.rtl: Add a-ststop
- Add Ada.Calendar.Conversions to the list of runtime files.
- Add g-timsta
-
- * a-calcon.adb, a-calcon.ads: New files.
-
-2008-04-08 Jose Ruiz <ruiz@adacore.com>
- Tristan Gingold <gingold@adacore.com>
-
- * s-interr-dummy.adb, s-interr-vms.adb, s-interr-sigaction.adb
- (Install_Restricted_Handlers): New procedure
- which is a simplified version of Install_Handlers that does not store
- previously installed.
-
- * s-interr-vxworks.adb: Fix ACATS cxc3001
- On VxWorks interrupts can't be detached.
- (Install_Restricted_Handlers): New procedure.
-
- * s-interr.ads, s-interr.adb (Install_Restricted_Handlers): New
- procedure.
-
-2008-04-08 Olivier Hainque <hainque@adacore.com>
-
- * s-intman-vxworks.ads, s-intman-vxworks.adb
- (Map_And_Raise_Exception): Remove. Was an import of only part of the
- required services already implemented elsewhere.
- (Notify_Exception): Delete body, import __gnat_error_handler instead.
- (Initialize): Add SA_SIGINFO to the sa_flags, to get the sigcontext
- argument passed to the handler, which we need for ZCX propagation
- purposes.
-
-2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
-
- * adaint.h, adaint.c (__gnat_current_time_string): New routine.
-
- * g-timsta.adb, g-timsta.ads: New files.
-
-2008-04-08 Robert Dewar <dewar@adacore.com>
-
- * a-except-2005.ads, a-except-2005.adb, a-except.ads, a-except.adb
- (Raise_Exception): In accordance with AI-446, raise CE for Null_Id
- (Raise_Exception_Always): Fix documentation accordingly
-
-2008-04-08 Robert Dewar <dewar@adacore.com>
-
- * a-strbou.ads, a-strbou.adb (From_String): New procedure (for use by
- Stream_Convert)
-
- * sem_ch13.ads (Rep_Item_Too_Late): Document that Stream_Convert sets
- FOnly
-
-2008-04-08 Javier Miranda <miranda@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * a-tags.adb (Register_Interface_Offset): New subprogram.
- (Set_Dynamic_Offset_To_Top): New subprogram (see previous comment).
- (To_Predef_Prims_Table_Ptr): Removed.
- (Acc_Size): Removed.
- (To_Acc_Size): Removed.
- (Parent_Size): Modified to the call the subprogram returning the size of
- the parent by means of the new TSD component Size_Func.
-
- * a-tags.ads (Offset_To_Top_Ptr): New access type declaration.
- (DT_Offset_To_Top_Offset): New constant value that is used to generate
- code referencing the Offset_To_Top component of the dispatch table's
- prologue.
- (Prim_Ptr): New declaration of access to procedure. Used to avoid the
- use of 'address to initialize dispatch table slots.
- (Size_Func): New component of the TSD. Used by the run-time to call the
- size primitive of the tagged type.
-
- * checks.adb (Apply_Access_Check): Avoid check when accessing the
- Offset_To_Top component of a dispatch table.
- (Null_Exclusion_Static_Checks): If the non-null access type appears in a
- deferred constant declaration. do not add a null expression, to prevent
- spurious errors when full declaration is analyzed.
- (Apply_Discriminant_Check): If both discriminant constraints share a
- node which is not static but has no side effects, do not generate a
- check for that discriminant.
- (Generate_Index_Checks): Set Name_Req to true in call to duplicate
- subexpr, since the prefix of an attribute is a name.
-
- * checks.ads: Fix nit in comment.
-
- * exp_ch3.ads, exp_ch3.adb (Freeze_Record_Type): Do not add the spec
- and body of predefined primitives in case of CPP tagged type
- derivations.
- (Freeze_Type): Deal properly with no storage pool case
- (Make_Predefined_Primitive_Specs): Generate specification of abstract
- primitive Deep_Adjust if a nonlimited interface is derived from a
- limited interface.
- (Build_Dcheck_Functions): Create discriminant-checking functions only
- for variants that have some component(s).
- (Build_Slice_Assignment): In expanded code for slice assignment, handle
- properly the case where the slice bounds extend to the last value of the
- underlying representation.
- (Get_Simple_Init_Val): New calling sequence, accomodate Invalid_Value
- (Is_Variable_Size_Record): An array component has a static size if
- index bounds are enumeration literals.
-
- * exp_disp.adb (Make_DT): Use the first subtype to determine whether
- an external tag has been specified for the type.
- (Building_Static_DT): Add missing support for private types.
- (Make_DT): Add declaration of Parent_Typ to ensure consistent access
- to the entity associated with the parent of Typ. This is done to
- avoid wrong access when the parent is a private type.
- (Expand_Interface_Conversion): Improve error message when the
- configurable runtime has no support for dynamic interface conversion.
- (Expand_Interface_Thunk): Add missing support to interface types in
- configurable runtime.
- (Expand_Dispatching_Call): remove obsolete code.
- (Make_DT): Replace occurrences of RE_Address by RE_Prim_Ptr, and
- ensure that all subtypes and aggregates associated with dispatch
- tables have the attribute Is_Dispatch_Table_Entity set to true.
- (Register_Primitive): Rename one variable to improve code reading.
- Replace occurrences of RE_Addres by RE_Prim_Ptr. Register copy o
- of the pointer to the 'size primitive in the TSD.
-
- * rtsfind.ads (RE_DT_Offset_To_Top_Offset): New entity.
- (RE_Offset_To_Top_Ptr): New entity.
- (RE_Register_Interface_Offset): New entity.
- (RE_Set_Dynamic_Offset_To_Top): New entity.
- (RE_Set_Offset_To_Top): Removed entity.
- (RE_Prim_Ptr): New entity
- (RE_Size_Func): New entity
- (RE_Size_Ptr): New entity
- (RTU_Id): Add Ada_Dispatching and Ada_Dispatching_EDF.
- (Ada_Dispatching_Child): Define this new subrange.
- (RE_Id): Add new required run-time calls (RE_Set_Deadline, RE_Clock,
- RE_Time_Span, and RE_Time_Span_Zero).
- (RE_Unit_Table): Add new required run-time calls
-
- * rtsfind.adb (Get_Unit_Name): Add processing for Ada.Dispatching
- children.
-
- * exp_atag.ads, exp_atag.adb (Build_Offset_To_Top): New subprogram.
- (Build_Set_Static_Offset_To_Top): New subprogram. Generates code that
- initializes the Offset_To_Top component of a dispatch table.
- (Build_Predef_Prims): Removed.
- (Build_Get_Predefined_Prim_Op_Address): Replace call to Predef_Prims by
- its actual code.
- (Build_Set_Size_Function): New subprogram.
-
- * exp_ch13.adb: Do not generate storage variable for storage_size zero
- (Expand): Handle setting/restoring flag Inside_Freezing_Actions
-
-2008-04-08 Robert Dewar <dewar@adacore.com>
-
- * a-ztdeau.adb, a-tideau.adb, a-wtdeau.adb (Puts_Dec): Fix error in
- computing Fore when Exp > 0
-
-2008-04-08 Robert Dewar <dewar@adacore.com>
-
- * back_end.adb: Remove Big_String_Ptr declarations (now in Types)
-
- * errout.adb: Remove Big_String_Ptr declarations (now in Types)
- Change name Is_Style_Msg to Is_Style_Or_Info_Msg
-
- * fmap.adb: Remove Big_String declarations (now in Types)
- (No_Mapping_File): New Boolean global variable
- (Initialize): When mapping file cannot be read, set No_Mapping_File to
- False.
- (Update_Mapping_File): Do nothing if No_Mapping_File is True. If the
- tables were empty before adding entries, open the mapping file
- with Truncate = True, instead of delete/re-create.
-
- * fname-sf.adb: Remove Big_String declarations (now in Types)
-
- * s-strcom.adb, g-dyntab.ads, g-table.ads, s-carsi8.adb,
- s-stalib.ads, s-carun8.adb: Add zero size Storage_Size clauses for
- big pointer types
-
- * table.ads: Add for Table_Ptr'Storage_Size use 0
-
- * types.ads: Add Big_String declarations
- Add Size_Clause of zero for big pointer types
-
-2008-04-08 Vincent Celier <celier@adacore.com>
-
- * clean.adb (Parse_Cmd_Line): Recognize switch --subdirs=
- (Usage): Add line for switch --subdirs=
- Add new switch -eL, to follow symbolic links when processing project
- files.
-
- * gnatcmd.adb: Process switches -eL and --subdirs=
- (Non_VMS_Usage): Output "gnaampcmd" instead of "gnat", and call
- Program_Name to get proper tool names when AAMP_On_Target is set.
- (Gnatcmd): Call Add_Default_Search_Dirs and Get_Target_Parameters to get
- AAMP_On_Target set properly for use of GNAAMP tools (this is needed by
- Osint.Program_Name).
-
- * gnatname.adb: (Scan_Args): Recognize switches -eL and --subdirs=
- (Usage): Add lines for switches -eL and --subdirs=
-
- * makeusg.adb: Add line for switch --subdirs=
-
- * prj.ads:
- (Source_Data): New Boolean component Compiled, defaulted to True
- (Empty_File_Name: New global variable in private part, initialized in
- procedure Initialize.
- (Subdirs_Option): New constant string
- (Subdirs): New String_Ptr global variable
- (Language_Config): New component Include_Compatible_Languages
- (Project_Qualifier): New type for project qualifiers
- (Project_Data): New component Qualifier
- (Project_Configuration): New component Archive_Builder_Append_Option
-
- * prj-nmsc.adb (Get_Unit_Exceptions): When a unit is already in
- another imported project indicate the name of this imported project.
- (Check_File): When a unit is in two project files, indicate the project
- names and the paths of the source files for each project.
- (Add_Source): Set Compiled to False if compiler driver is empty. Only
- set object, dependency and switches file names if Compiled is True.
- (Process_Compiler): Allow the empty string for value of attribute Driver
- (Get_Directories): When Subdirs is not null and Object_Dir is not
- specified, locate and create if necessary the actual object dir.
- (Locate_Directory): When Subdirs is not empty and Create is not the
- empty string, locate and create if necessary the actual directory
- as a subdirectory of directory Name.
- (Check_Library_Attributes.Check_Library): Allow a project where the only
- "sources" are header files of file based languages to be imported by
- library projects, in multi-language mode (gprbuild).
- (Check_Library_Attributes.Check_Library): In multi-language mode
- (gprbuild), allow a library project to import a project with no
- sources, even when this is not declared explicitly.
- (Check_If_Externally_Built): A virtual project extending an externally
- built project is also externally built.
- (Check_Library_Attributes): For a virtual project extending a library
- project, inherit the library directory.
- (Process_Project_Level_Array_Attributes): Process new attribute
- Inherit_Source_Path.
- For projects with specified qualifiers "standard", "library" or
- "abstract", check that the project conforms to the qualifier.
- (Process_Project_Level_Simple_Attributes): Process new attribute
- Archive_Builder_Append_Option.
-
- * switch-m.adb: (Scan_Make_Switches): Process switch --subdirs=
- (Normalize_Compiler_Switches): Only keep compiler switches that are
- passed to gnat1 by the gcc driver and that are stored in the ALI file
- by gnat1.
- Do not take into account switc -save-temps
-
- * makegpr.adb (Compile_Link_With_Gnatmake): Transmit switch -eL if
- gprmake is called with -eL.
- (Scan_Arg): Recognize switch -eL
- (Usage): Add line for switch -eL
-
- * prj.adb (Initialize): Initialize Empty_File_Name
- (Project_Empty): New component Qualifier
-
- * prj-attr.ads, prj-attr.adb: New project level attribute
- Inherit_Source_Path.
- New project level attribute Archive_Builder_Append_Option
-
- * prj-dect.adb: Replace System.Strings by GNAT.Strings.
-
- * prj-ext.adb (Initialize_Project_Path): In Multi_Language mode, add
- <prefix>/lib/gnat in the project path, after <prefix>/share/gpr, for
- upward compatibility.
-
- * prj-part.adb (Project_Path_Name_Of.Try_Path): In high verbosity, put
- each Trying ..." on different lines.
- (Parse_Single_Project): Recognize project qualifiers. Fail in qualifier
- is "configuration" when not in configuration. Fail when in configuration
- when a specified qualifier is other than "configuration".
-
- * prj-proc.adb (Process_Declarative_Items): Link new elements of copied
- full associative array together.
- (Recursive_Process): Put the project qualifier in the project data
-
- * prj-tree.ads, prj-tree.adb: (Project_Qualifier_Of): New function
- (Set_Project_Qualifier_Of): New procedure
-
-2008-04-08 Robert Dewar <dewar@adacore.com>
-
- * errout.ads: Update comments for new handling of info: messages
-
- * erroutc.adb (Matches): New procedure
- (Warning_Specifically_Suppressed): Modified to handle multiple * chars
- (Is_Style_Or_Info_Msg): New name for Is_Style_Msg, now set for
- info messages as well as style messages.
-
- * erroutc.ads: Remove unneeded fields from Specific_Warning_Entry
-
- * sem_elab.adb (Supply_Bodies): Create actual bodies for stubbed
- subprograms.
- (Check_A_Call): Special "info: " warnings now have ? in the text
- (Elab_Warning): Use info message in static case
-
-2008-04-08 Ed Schonberg <schonberg@adacore.com>
-
- * exp_aggr.adb (Static_Array_Aggregate): Use Max_Aggr_Size to determine
- whether an array aggregate with static bounds and scalar components
- should be expanded into a static constant.
-
-2008-04-08 Gary Dismukes <dismukes@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Add tests of
- Has_Stream_Attribute_ Definition when checking for available stream
- attributes on parameters of a limited type in Ada 2005. Necessary for
- proper recognition of visible stream attribute clauses.
- (Has_Stream_Attribute_Definition): If the type is derived from a
- private type, then use the derived type's underlying type for checking
- whether it has stream attributes.
- (Validate_Object_Declaration): The check for a user-defined Initialize
- procedure applies also to types with controlled components or a
- controlled ancestor.
- Reject an object declaration in a preelaborated unit if the type is a
- controlled type with an overriding Initialize procedure.
- (Validate_Remote_Access_To_Class_Wide_Type): Return without further
- checking when the parent of a dereference is a selected component and
- the name has not been analyzed.
-
- * sem_ch4.adb (Analyze_Selected_Component): Add checking for selected
- prefixes that are invalid explicit dereferences of remote
- access-to-class-wide values, first checking whether the selected
- component is a prefixed form of call to a tagged operation.
- (Analyze_Call): Remove code that issues an error for limited function
- calls in illegal contexts, as we now support all of the contexts that
- were forbidden here.
- Allow a function call that returns a task.and appears as the
- prefix of a selected component.
- (Analyze_Reference): Give error message if we try to make a 'Reference
- for an object that is atomic/aliased without its type having the
- corresponding attribute.
- (Analyze_Call): Remove condition checking for attributes to allow
- calls to functions with inherently limited results as prefixes of
- attributes. Remove related comment about Class attributes.
- (Analyze_Selected_Component): If the prefix is a remote type, check
- whether this is a prefixed call before reporting an error.
- (Complete_Object_Operation): If the controlling formal is an access to
- variable reject an actual that is a constant or an access to one.
- (Try_Object_Operation): If prefix is a tagged protected object,retrieve
- primitive operations from base type.
-
- * exp_ch4.adb (Expand_N_Indexed_Component): Test for prefix that is a
- build-in-place
- function call and call Make_Build_In_Place_Call_In_Anonymous_Context.
- (Expand_N_Selected_Component): Test for prefix that is a build-in-place
- function call and call Make_Build_In_Place_Call_In_Anonymous_Context.
- (Expand_N_Slice): Test for prefix that is a build-in-place function call
- and call Make_Build_In_Place_Call_In_Anonymous_Context.
- (Analyze_Call): Remove code that issues an error for limited function
- calls in illegal contexts, as we now support all of the contexts that
- were forbidden here.
- New calling sequence for Get_Simple_Init_Val
- (Expand_Boolean_Operator): Add call to Silly_Boolean_Array_Xor_Test
- (Expand_N_Op_Not): Add call to Silly_Boolan_Array_Not_Test
-
-2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * exp_ch2.adb: Minor reformatting.
- (Expand_Entry_Index_Parameter): Set the type of the identifier.
- (Expand_Entry_Reference): Add call to Expand_Protected_Component.
- (Expand_Protected_Component): New routine.
- (Expand_Protected_Private): Removed.
- Add Sure parameter to Note_Possible_Modification calls
-
- * sem_ch12.ads, sem_ch12.adb (Analyze_Subprogram_Instantiation): The
- generated subprogram declaration must inherit the overriding indicator
- from the instantiation node.
- (Validate_Access_Type_Instance): If the designated type of the actual is
- a limited view, use the available view in all cases, not only if the
- type is an incomplete type.
- (Instantiate_Object): Actual is illegal if the formal is null-excluding
- and the actual subtype does not exclude null.
- (Process_Default): Handle properly abstract formal subprograms.
- (Check_Formal_Package_Instance): Handle properly defaulted formal
- subprograms in a partially parameterized formal package.
- Add Sure parameter to Note_Possible_Modification calls
- (Validate_Derived_Type_Instance): if the formal is non-limited, the
- actual cannot be limited.
- (Collect_Previous_Instances): Generate instance bodies for subprograms
- as well.
-
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Small): Don't
- try to set RM_Size.
- Add Sure parameter to Note_Possible_Modification calls
- (Analyze_At_Clause): Preserve Comes_From_Source on Rewrite call
- (Analyze_Attribute_Definition_Clause, case Attribute_Address): Check for
- constant overlaid by variable and issue warning.
- Use new Is_Standard_Character_Type predicate
- (Analyze_Record_Representation_Clause): Check that the specified
- Last_Bit is not less than First_Bit - 1.
- (Analyze_Attribute_Definition_Clause, case Address): Check for
- self-referential address clause
-
- * sem_ch5.ads, sem_ch5.adb (Diagnose_Non_Variable_Lhs): Rewrite the
- detection mechanism when the lhs is a prival.
- (Analyze_Assignment): Call Check_Unprotected_Access to detect
- assignment of a pointer to protected data, to an object declared
- outside of the protected object.
- (Analyze_Loop_Statement): Check for unreachable code after loop
- Add Sure parameter to Note_Possible_Modication calls
- Protect analysis from previous syntax error such as a scope mismatch
- or a missing begin.
- (Analyze_Assignment_Statement): The assignment is illegal if the
- left-hand is an interface.
-
- * sem_res.ads, sem_res.adb (Resolve_Arithmetic_Op): For mod/rem check
- violation of restriction No_Implicit_Conditionals
- Add Sure parameter to Note_Possible_Modication calls
- Use new Is_Standard_Character_Type predicate
- (Make_Call_Into_Operator): Preserve Comes_From_Source when rewriting
- call as operator. Fixes problems (e.g. validity checking) which
- come from the result looking as though it does not come from source).
- (Resolve_Call): Check case of name in named parameter if style checks
- are enabled.
- (Resolve_Call): Exclude calls to Current_Task as entry formal defaults
- from the checking that such calls should not occur from an entry body.
- (Resolve_Call): If the return type of an Inline_Always function
- requires the secondary stack, create a transient scope for the call
- if the body of the function is not available for inlining.
- (Resolve_Actuals): Apply Ada2005 checks to view conversions of arrays
- that are actuals for in-out formals.
- (Try_Object_Operation): If prefix is a tagged protected object,retrieve
- primitive operations from base type.
- (Analyze_Selected_Component): If the context is a call to a protected
- operation the parent may be an indexed component prior to expansion.
- (Resolve_Actuals): If an actual is of a protected subtype, use its
- base type to determine whether a conversion to the corresponding record
- is needed.
- (Resolve_Short_Circuit): Handle pragma Check
-
- * sem_eval.adb: Minor code reorganization (usea Is_Constant_Object)
- Use new Is_Standard_Character_Type predicate
- (Eval_Relational_Op): Catch more cases of string comparison
-
-2008-04-08 Robert Dewar <dewar@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * s-rident.ads: Add No_Default_Initialization restriction
-
- * exp_tss.adb:
- (Has_Non_Null_Base_Init_Proc): Handle No_Default_Initialization case
- (Set_TSS): Handle No_Default_Initialization case
-
- * exp_ch6.adb (Expand_N_Subprogram_Body): Handle restriction
- No_Default_Initialization
- (Expand_N_Subprogram_Body): Remove redundant initialization of out
- parameters when Normalize_Scalars is active.
- (Add_Final_List_Actual_To_Build_In_Place_Call): Add formal Sel_Comp
- Fix casing error in formal parameter name in call
- (Register_Predefined_DT_Entry): Replace occurrences of RE_Address by
- (Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a
- dispatching call on VM targets.
-
-2008-04-08 Gary Dismukes <dismukes@adacore.com>
- Thomas Quinot <quinot@adacore.com>
-
- * exp_ch7.adb (Find_Final_List): Change the test for generating a
- selected component from an access type's Associated_Final_Chain to
- check for the presence of that field, rather than assuming it exists
- for all named access types.
- (Make_Clean): New formal Chained_Cleanup_Action allowing to specify a
- procedure to call at the end of the generated cleanup procedure.
- (Expand_Cleanup_Actions): When a new cleanup procedure is generated, and
- and an At_End_Proc already exists in the handled sequence of statements
- for which cleanup actions are being expanded, the original cleanup
- action must be preserved.
-
-2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch9.ads, exp_ch9.adb (Build_Protected_Entry,
- Build_Unprotected_Subprogram_Body): Generate debug info for
- declarations related to the handling of private data in task and
- protected types.
- (Debug_Private_Data_Declarations): New subprogram.
- (Install_Private_Data_Declarations): Remove all debug info flagging.
- This is now done by Debug_Private_Data_Declarations at the correct
- stage of expansion.
- (Build_Simple_Entry_Call): If the task name is a function call, expand
- the prefix into an object declaration, and make the surrounding block a
- task master.
- (Build_Master_Entity): An internal block is a master if it wraps a call.
- Code reformatting, update comments. Code clean up.
- (Make_Task_Create_Call): Use 'Unrestricted_Access instead of 'Address.
- (Replicate_Entry_Formals): If the formal is an access parameter or
- anonymous access to subprogram, copy the original tree to create new
- entities for the formals of the subprogram.
- (Expand_N_Task_Type_Declaration): Create a Relative_Deadline variable
- for tasks to store the value passed using pragma Relative_Deadline.
- (Make_Task_Create_Call): Add the Relative_Deadline argument to the
- run-time call to create a task.
- (Build_Wrapper_Spec): If the controlling argument of the interface
- operation is an access parameter with a non-null indicator, use the
- non-null indicator on the wrapper.
-
- * sem_ch9.adb (Analyze_Protected_Type): Only retrieve the full view when
- present, which it may not be in the case where the type entity is an
- incomplete view brought in by a limited with.
- (Analyze_Task_Type): Only retrieve the full view when present, which it
- may not be in the case where the type entity is an incomplete view brought
- in by a limited with.
- (Analyze_Protected_Definition): Set Is_Frozen on all itypes generated for
- private components of a protected type, to prevent the generation of freeze
- nodes for which there is no proper scope of elaboration.
-
- * exp_util.ads, exp_util.adb
- (Remove_Side_Effects): If the expression is a function call that returns a
- task, expand into a declaration to invoke the build_in_place machinery.
- (Find_Protection_Object): New routine.
- (Remove_Side_Effects): Also make a copy of the value
- for attributes whose result is of an elementary type.
- (Silly_Boolean_Array_Not_Test): New procedure
- (Silly_Boolean_Array_Xor_Test): New procedure
- (Is_Volatile_Reference): New function
- (Remove_Side_Effects): Use Is_Volatile_Reference
- (Possible_Bit_Aligned_Component): Handle slice case properly
-
- * exp_pakd.adb (Expand_Packed_Not): Move silly true/true or false/false
- case test to Exp_Util
- (Expand_Packed_Xor): Move silly true/true case test to Exp_Util
-
-2008-04-08 Thomas Quinot <quinot@adacore.com>
-
- * exp_dist.ads, exp_dist.adb: Fix casing error in formal parameter name
- in call
- (Add_RACW_Features): When processing an RACW in another unit than the
- main unit, set Body_Decls to No_List to indicate that the bodies of
- the type's TSS must not be generated.
- (GARLIC_Support.Add_RACW_Read_Attribute,
- GARLIC_Support.Add_RACW_Write_Attribute): Do not generate bodies if
- Body_Decls is No_List.
- (PolyORB_Support.Add_RACW_Read_Attribute,
- PolyORB_Support.Add_RACW_Write_Attribute,
- PolyORB_Support.Add_RACW_From_Any,
- PolyORB_Support.Add_RACW_To_Any,
- PolyORB_Support.Add_RACW_TypeCode): Same.
- (Transmit_As_Unconstrained): New function.
- (Build_Ordered_Parameters_List): Use the above to order parameters.
- (GARLIC_Support.Build_General_Calling_Stubs):
- Use the above to determine which parameters to unmarshall using 'Input
- at the point where their temporary is declared (as opposed to later on
- with a 'Read call).
- (PolyORB_Support.Build_General_Calling_Stubs):
- Use the above to determine which parameters to unmarshall using From_Any
- at the point where their temporary is declared (as opposed to later on
- with an assignment).
-
-2008-04-08 Ed Schonberg <schonberg@adacore.com>
-
- * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): If this is
- an Input function for an access type, do not perform default
- initialization on the local variable that receives the value, to
- prevent spurious warnings when the type is null-excluding.
-
-2008-04-08 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * freeze.adb (Freeze_Entity): Improve warnings on access types in pure
- units.
- (Size_Known): Generic formal scalar types have known at compile
- time size, so remove check.
- Fix casing error in formal parameter name in call
- (Freeze_Subprogram): If the subprogram is a user-defined operator,
- recheck its overriding indication.
-
-2008-04-08 Vincent Celier <celier@adacore.com>
-
- * gnat1drv.adb: Send all messages indicating an error to standard error
-
-2008-04-08 Robert Dewar <dewar@adacore.com>
-
- * gnatbind.adb (Restriction_Could_Be_Set): New procedure
- (List_Applicable_Restrictions): Do not list existing restrictions
-
-2008-04-08 Thomas Quinot <quinot@adacore.com>
-
- * g-socket.ads, g-socket.adb: Improve documentation of GNAT.Sockets:
- add a pointer to generic sockets literature
- do not mention that the given example is "typical" usage.
- Remove obsolete comment about multicast not being supported on Windows.
- (Connect_Socket): Make Server mode IN rather than IN OUT
- since this formal is never modified.
-
-2008-04-08 Robert Dewar <dewar@adacore.com>
-
- * sprint.adb (Write_Itype): Handle Itypes whose Parent field points to
- the declaration for some different entity.
- (Sprint_Node_Actual, case N_Derived_Type_Definition): When an interface
- list is precent (following the parent subtype indication), display
- appropriate "and" keyword.
-
- * itypes.adb: Remove unnecessary calls to Init_Size_Align and Init_Esize
- Remove unnecessary calls to Init_Size_Align and Init_Esize.
- Add notes on use of Parent field of an Itype
-
-2008-04-08 Ed Schonberg <schonberg@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * lib-xref.adb (Is_On_LHS): Remove dead code
- (Output_Overriden_Op): If the overridden operation is itself inherited,
- list the ancestor operation, which is the one whose body or absstract
- specification is actually being overridden. For source navigation
- purposes.
-
- * sem_ch7.adb (Is_Primitive_Of): use base type to determine whether
- operation is primitive for the type.
- (Declare_Inherited_Private_Subprograms): If the new operation overrides
- an inherited private subprogram, set properly the Overridden_Operation
- attribute, for better cross-reference information.
- (Analyze_Package_Specification): Do late analysis of spec PPCs
- (Install_Private_Declaration, Uninstall_Declarations): Save/restore
- properly the full view and underlying full views of a private type in a
- child unit, whose full view is derived from a private type in a parent
- unit, and whose own full view becomes visible in the child body.
-
- * sem_disp.adb (Check_Dispatching_Operation): When a body declares a
- primitive operation after the type has been frozen, add an explicit
- reference to the type and the operation, because other primitive
- references have been emitted already.
- (Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a
- dispatching call on VM targets.
-
-2008-04-08 Vincent Celier <celier@adacore.com>
- Thomas Quinot <quinot@adacore.com>
-
- * make.adb: (Gnatmake_Called): Remove, no longer necessary
- (Compile_Surces): Call Delete_Temp_Config_Files only if Gnatmake_Called
- is True and Debug_Flag_N is False. Debug_Flag_N means "keep temp files".
- (Insert_Project_Sources): Take into account index in multi-unit source
- files.
- After building a library project, delete all temporary files.
- (Initialize): Reset current output after parsing project file.
- (Collect_Arguments_And_Compile): Never insert in the queue the sources
- of library projects that are externally built.
- Put file name in error and inform messages if -df is used
- (Display): If invoked with -d7, do not display path names, but only
- file names.
-
- * makeutl.ads (Path_Or_File_Name): New function
- (Path_Or_File_Name): New function
-
-2008-04-08 Arnaud Charlet <charlet@adacore.com>
-
- * Make-lang.in: Disable warnings during first stage of bootstrap
- Get rid of gnatbl.
- Update dependencies.
-
-2008-04-08 Vincent Celier <celier@adacore.com>
-
- * mlib-prj.adb (Build_Library): Compare with ALI file name in canonical
- case to decide if ALI object file is included in library.
- (Build_Library): Never attempt to build a library if the project is
- externally built.
-
-2008-04-08 Thomas Quinot <quinot@adacore.com>
-
- * nlists.adb (Is_Non_Empty_List): Remove redundant test. First
- (No_List) is defined to return Empty.
-
-2008-04-08 Jose Ruiz <ruiz@adacore.com>
-
- * osint.ads, osint.adb (Get_Libraries_From_Registry): Improve
- documentation.
- Update comments.
- (Read_Default_Search_Dirs): Do not consider spaces as path separators
- because spaces may be part of legal paths.
-
-2008-04-08 Robert Dewar <dewar@adacore.com>
-
- * par-ch11.adb (P_Exception_Handler): Check indentation level for
- handler
-
-2008-04-08 Ed Schonberg <schonberg@adacore.com>
-
- * par-ch3.adb (P_Type_Declaration) Reject the keyword "synchronized"
- in a type declaration, if this is not an interface declaration or
- private type extension.
-
-2008-04-08 Vincent Celier <celier@adacore.com>
-
- * prj-util.adb (Executable_Of): New String parameter Language. When
- Ada_Main is False and Language is not empty, attempt to remove the body
- suffix or the spec suffix of the language to get the base of the
- executable file name.
- (Put): New Boolean parameter Lower_Case, defauilted to False. When
- Lower_Case is True, put the value in lower case in the name list.
- (Executable_Of): If there is no executable suffix in the configuration,
- then do not modify Executable_Extension_On_Target.
-
- * prj-util.ads (Executable_Of): New String parameter Language,
- defaulted to the empty string.
- (Put): New Boolean parameter Lower_Case, defauilted to False
-
-2008-04-08 Robert Dewar <dewar@adacore.com>
-
- * scng.adb (Scan_Identifier): Handle case of identifier starting with
- wide character using UTF-8 encoding.
-
-2008-04-08 Javier Miranda <miranda@adacore.com>
-
- * sem.adb (Analyze): Consider case in which we analyze an empty node
- that was generated by a call to a runtime function that is not
- available under the configurable runtime.
-
- * sem.ads (Inside_Freezing_Actions): New flag.
- (Save_Check_Policy_List): New field in scope stack entry
-
-2008-04-08 Ed Schonberg <schonberg@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * sem_aggr.adb (Analyze_N_Extension_Aggregate): Add legality checks for
- the ancestor part of an extension aggregate for a limited type.
- (Resolve_Array_Aggregate): Issue warning for sliding of aggregate with
- enumeration index bounds.
- (Resolve_Array_Aggregate): Add circuit for diagnosing missing choices
- when array is too short.
- (Check_Expr_OK_In_Limited_Aggregate): Move function
- Check_Non_Limited_Type from Resolve_Record_Aggregate to top level (and
- change name).
- (Resolve_Array_Aggregate.Resolve_Aggr_Expr):
- Check_Expr_OK_In_Limited_Aggregates called to check for illegal limited
- component associations.
- (Check_Non_Limited_Type): Moved to outer level and renamed.
- (Resolve_Record_Aggregate): In an extension aggregate, an association
- with a box initialization can only designate a component of the
- extension, not a component inherited from the given ancestor
-
- * sem_case.adb: Use new Is_Standard_Character_Type predicate
-
-2008-04-08 Robert Dewar <dewar@adacore.com>
-
- * s-imgdec.adb (Set_Decimal_Digits): Fix error when input is zero with
- negative scale
- (Set_Decimal_Digits): Properly handle Aft=0 (equivalent to Aft=1)
- Properly handle case where Aft > Scale and input number is less than
- one.
-
-2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
-
- * s-stoele.ads, s-soflin.ads: Move the location of
- Dummy_Communication_Block from System.Storage_Elements to
- System.Soft_Links.
-
- * s-tpobop.ads: Add comment on usage of Dummy_Communication_Block to
- emulate Communication_Block in certain scenarios.
-
-2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
-
- * s-strxdr.adb, s-stratt.ads, s-stratt.adb (Block_IO_OK): New
- subprogram.
- Add new subtype S_WWC, unchecked conversion routines From_WWC and
- To_WWC.
- (I_WWC, O_WWC): New routines for input and output of
- Wide_Wide_Character.
-
-2008-04-08 Robert Dewar <dewar@adacore.com>
-
- * stringt.adb (Write_String_Table_Entry): Handle wide characters
- properly
-
-2008-04-08 Robert Dewar <dewar@adacore.com>
-
- * styleg.adb (Check_Comment): Allow special char after -- in
- non-end-of-line case
-
-2008-04-08 Robert Dewar <dewar@adacore.com>
-
- * stylesw.adb: Implement -gnaty + - y options
- (Set_GNAT_Style_Check_Options): Includ I in style check string
-
- * stylesw.ads: Add comments for new style switch options
-
-2008-04-08 Sergey Rybin <rybin@adacore.com>
-
- * tree_io.ads: Increase ASIS_Version_Number because of adding Sem_Aux
- to the set of the GNAT components needed by ASIS.
-
-2008-04-08 Bob Duff <duff@adacore.com>
-
- * types.h: Change CE_Null_Exception_Id to the correct value (8, was 9).
-
-2008-04-08 Tristan Gingold <gingold@adacore.com>
-
- * vxaddr2line.adb: Use Unsigned_32 instead of Integer for address type.
- Improve error message generation.
-
-2008-04-08 Vincent Celier <celier@adacore.com>
-
- * a-direct.adb (Start_Search): Check for Name_Error before checking for
- Use_Error, as specified in the RM. Check if directory is open and raise
- Use_Error if it is not.
-
-2008-04-08 Vincent Celier <celier@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * vms_conv.adb (Output_Version): Print "GNAAMP" instead of "GNAT when
- AAMP_On_Target is set.
-
- * vms_data.ads: Add NOxxx to style check switch list
- Add entry COMPONENTS for -gnatVe
- Add VMS qualifiers for -eL (/FOLLOW_LINKS_FOR_FILES) and --subdirs=
- (/SUBDIRS=).
- (GCC_Switches): Add /ALL_BACK_END_WARNINGS.
- Add qualifiers for gnatmetric coupling options
- Add note that -gnata enables all checks
- Add entries [NO]PARAMETER_ORDER for -gnatw.p[P]
- Fix inconsistency for VMS qualifier for the gnatpp '-rnb' option
- New warning flag -gnatw.e
-
- * usage.adb: Add entries for -gnaty+ -gnaty- -gnatyy
- Add entry for -gnatyN (forgotten before)
- Line for new warning switch -gnatw.p
- New warning flag -gnatw.e
-
- * gnat_ugn.texi: Add documentation fpr project file switch -aP
- Document -gnaty - + y
- Replace occurences of "package specification" with "package spec"
- Define preprocessing symbols in documentation of gnatprep
- Clarify reason for distinguishing overflow checking
- Add documentation for project-aware tool switches -eL and --subdirs=
- Complete list of configuration pragmas
- Specify that, even when gnatmake switch -x is used, mains on the command
- line need to be sources of project files.
- Editing of gnatcheck/gnatmetric doc.
- Add documentation for -gnatw.p/-gnatw.P
- Add missing documentation for -fno-inline-functions.
- Add documentation for -gnatw.e
-
- * gnat_rm.texi: Add documentation for No_Default_Initialization
- Replace occurences of "package specification" with "package spec"
- Document use of * in Warnings Off string
- Update documentation of alignment/component clauses.
- Add documentation for Invalid_Value
- Document new consistency rule for Optimize_Alignment
- Add documentation for Precondition and Postcondition pragmas
- Add documentation for Check and Check_Policy pragmas
- Document new Enum_Val attribute
- Remove requirement for static string in pragma Assert
- Add documentation on GNAT.Time_Stamp
-
- * ug_words: add entry for -gnatVe
- Add entries for -gnat.p[P] /WARNINGS=[NO]PARAMETER_ORDER
- Add entry for -gnatw.e
-
- * debug.adb: Add missing documentation for d.a flag
- Document new -gnatd.a switch.
- Add documentation for new gnatmake debug switch -df
-
-2008-04-08 Thomas Quinot <quinot@adacore.com>
-
- * gen-soccon.c: Bump year in copyright notices.
-
- * g-soccon-vxworks.ads: Add new constant IP_PKTINFO
-
-2008-04-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * ctrl_c.c: Improve handling of ctrl-c on LynxOS and Windows.
- Minor reformatting.
-
-2008-04-08 Robert Dewar <dewar@adacore.com>
- Bob Duff <duff@adacore.com>
-
- * impunit.adb: Add Interfaces.Java.JNI, System.Strings.Stream_Ops,
- Ada.Calendar.Conversions, Ada.Dispatching.EDF, GNAT.Time_Stamp
-
- * s-intman-mingw.adb: Minor comment fix -- spell 'explicitly' correctly
-
- * g-trasym.adb: Minor comment fix -- spell 'explicitly' correctly
-
- * g-trasym.ads: Minor comment improvements
-
- * s-stalib.adb: Minor comment fix -- spell 'explicitly' correctly
-
- * a-sequio.ads, a-direio.ads: improve message for tagged type
-
- * a-strunb.ads: Minor reformatting
-
- * a-tifiio.adb: Minor reformatting
-
- * atree.adb (Fix_Parents): Use clearer names for formals
- Cleanup and simplify code
- Use named notation in calls
-
- * exp_fixd.adb (Do_Multiply_Fixed_Universal): Use named notation in
- confusing calls
-
- * uintp.adb: Used named notation for some confusing calls
-
- * bindusg.adb: Minor change in one line of output
-
- * cstand.adb: Minor reformatting of src representation of Standard
-
- * a-assert.ads: Add comment.
-
- * g-decstr.adb: Fix bad indentation
-
- * expander.ads, expander.adb: Code clean up.
-
- * sem_dist.ads: Minor comment improvement
-
- * sem_type.adb, g-dirope.ads, g-exctra.ads, s-valwch.adb,
- s-wchstw.adb, targparm.ads, widechar.adb: Minor reformatting
-
- * i-cstrin.adb: Fix casing error in formal parameter name in call
-
-2008-04-08 Ed Schonberg <schonberg@adacore.com>
-
- * binde.adb (Gather_All_Links, Gather_Dependencies): units that are
- mentioned in limited_with_clauses to do create semantic dependencies
- even though they appear in the ali file.
-
-2008-04-08 Emmanuel Briot <briot@adacore.com>
-
- * g-comlin.ads, g-comlin.adb (Expansion): Remove unreachable return
- statement.
- (Get_Configuration): New subprogram.
-
- * prj-pp.ads, prj-pp.adb (Pretty_Print): new parameters Id and Id_Tree
- These optional parameters help preserve the casing of the project's name
- when pretty-printing.
-
-2008-04-08 Jerome Lambourg <lambourg@adacore.com>
- Arnaud Charlet <charlet@adacore.com>
-
- * bindgen.adb (Gen_Adainit_Ada): If the main program is a CIL function,
- then use __gnat_set_exit_status to report the returned status code.
-
- * comperr.adb (Compiler_Abort): Convert most bug boxes into clean error
- messages on .NET, since some constructs of the language are not
- properly supported.
-
- * gnatlink.adb (Gnatlink): In case the command line is too long for the
- .NET linker, gnatlink now concatenate all .il files and pass this to
- ilasm.
-
-2008-04-07 Aurelien Jarno <aurelien@aurel32.net>
- Xavier Grave <grave@ipno.in2p3.fr>
-
- * Makefile.in: Add make ifeq define for mips/mipsel support.
- * g-soccon-linux-mips.ads, system-linux-mipsel.ads,
- system-linux-mips.ads: New files.
-
-2008-04-07 Aurelien Jarno <aurelien@aurel32.net>
-
- * sysdep.c: add __GLIBC__ to the #ifdef preprocessor macros to
- detect systems using GNU libc.
- * gsocket.h: ditto.
- * socket.c: ditto.
- * adaint.c: ditto.
- * link.c: ditto.
-
-2008-04-07 Aurelien Jarno <aurelien@aurel32.net>
-
- * s-osinte-linux-kfreebsd.ads (SC_NPROCESSORS_ONLN): New
- constant constant for sysconf call.
- (bit_field): New packed boolean type used by cpu_set_t.
- (cpu_set_t): New type corresponding to the C type with
- the same name. Note that on the Ada side we use a bit
- field array for the affinity mask. There is not need
- for the C macro for setting individual bit.
- (pthread_setaffinity_np): New imported routine.
- * Makefile.in: Use s-tasinf-linux.ads and s-tasinf-linux.adb
- on GNU/kFreeBSD.
-
-2008-04-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * utils2.c (build_binary_op): Fold ARRAY_REF and ARRAY_RANGE_REF too.
-
-2008-04-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gigi.h (create_subprog_type): Remove returns_with_dsp parameter.
- * decl.c (gnat_to_gnu_entity): Adjust for above new prototype.
- * utils.c (create_subprog_type): Remove returns_with_dsp parameter.
- * trans.c (gnat_to_gnu) <N_Return_Statement>: Remove code dealing with
- Return by Depressed Stack Pointer.
-
-2008-04-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (is_variable_size): Do not unconditionally return false
- on non-strict alignment platforms.
-
-2008-04-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (rest_of_type_decl_compilation_no_defer): New local function
- used to process all the variants of the specified type.
- (gnat_to_gnu_entity): Invoke rest_of_type_decl_compilation for enumeral
- types too. Call rest_of_type_decl_compilation_no_defer if undeferring.
- (rest_of_type_decl_compilation): Likewise.
- * utils.c (gnat_pushdecl): Propagate the name to all variants of type.
-
-2008-04-03 Paolo Bonzini <bonzini@gnu.org>
-
- * gigi.h (insert_block): Kill.
- * utils.c (insert_block): Kill.
-
-2008-04-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <object>: For a constant object whose
- type has self-referential size, get the size from the initializing
- expression directly if it is also a constant whose nominal type
- has self-referential size.
-
-2008-04-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR ada/33688
- * g-soccon-darwin.ads: Define new constant IP_PKTINFO.
-
- PR ada/33857
- * env.c: Always include crt_externs.h if __APPLE__ is defined.
- (__gnat_setenv): Use setenv instead of putenv if __APPLE__ is defined.
-
-2008-04-01 Andreas Jaeger <aj@suse.de>
-
- * g-soccon-linux-ppc.ads: Add new constants SO_REUSEPORT and
- IP_PKTINFO.
-
-2008-03-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * g-table.adb, g-tasloc.adb, g-traceb.ads,
- g-trasym.adb, g-utf_32.adb, gen-soccon.c, gigi.h, gmem.c,
- gnatbind.adb, gnatchop.adb, gnatcmd.adb,
- gnatcmd.ads, gnatdll.adb, gnatfind.adb,
- gnatlink.adb, gnatmem.adb, gprep.adb,
- i-cstrea-vms.adb, i-cstrin.adb, i-pacdec.ads,
- i-vxwork.ads, impunit.adb, init.c, initialize.c, inline.adb,
- layout.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
- lib-xref.ads, lib.adb, link.c, live.ads,
- make.adb, makegpr.adb, makeutl.adb, math_lib.adb,
- mdll-utl.adb, mdll.ads, memroot.adb, memroot.ads,
- misc.c, mlib-prj.adb, mlib-tgt-hpux.adb,
- mlib-tgt-linux.adb, mlib-tgt-tru64.adb, mlib-tgt.ads,
- namet.adb, namet.h, nlists.adb, nlists.ads,
- nlists.h, opt.ads, osint-b.ads, osint-c.adb,
- osint-c.ads, osint.adb, osint.ads, output.ads,
- par-ch10.adb, par-ch12.adb, par-ch2.adb, par-ch3.adb,
- par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch9.adb,
- par-endh.adb, par-labl.adb, par-prag.adb,
- par-sync.adb, par-tchk.adb, par-util.adb,
- par.adb, prep.adb, prep.ads, prepcomp.adb, prj-attr.ads,
- prj-dect.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
- prj-nmsc.ads, prj-pp.adb, prj-proc.adb,
- prj-strt.ads, prj-tree.ads, prj.adb, prj.ads: Fix comment typos.
-
-2008-03-31 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <object>: Do not force a non-null
- size if it has overflowed.
-
-2008-03-31 Olivier Hainque <hainque@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * utils2.c (find_common_type): Document assumption on t1/t2 vs
- lhs/rhs. Force use of lhs type if smaller, whatever the modes.
-
-2008-03-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * a-textio.ads, a-witeio.ads, a-ztexio.ads, ali.ads,
- einfo.ads, erroutc.adb, erroutc.ads, exp_attr.adb,
- exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
- exp_pakd.ads, exp_prag.adb, exp_smem.adb,
- exp_tss.ads, exp_util.adb, exp_util.ads,
- exp_vfpt.adb, freeze.adb, freeze.ads,
- frontend.adb, g-alleve.adb, g-altcon.adb,
- g-altive.ads, g-alveop.ads, g-alvevi.ads,
- g-arrspl.adb, g-busorg.ads, g-calend.adb,
- g-calend.ads, g-casuti.ads, g-cgideb.adb,
- g-comlin.adb, g-comlin.ads, g-curexc.ads,
- g-debpoo.adb, g-debpoo.ads, g-decstr.adb,
- g-dirope.adb, g-dirope.ads, g-dynhta.ads,
- g-dyntab.adb, g-encstr.ads, g-excact.ads,
- g-except.ads, g-expect.ads, g-heasor.adb,
- g-hesora.adb, g-hesorg.adb, g-htable.ads,
- g-locfil.ads, g-md5.adb, g-md5.ads,
- g-memdum.ads, g-moreex.ads, g-os_lib.adb,
- g-pehage.adb, g-pehage.ads, g-regexp.adb,
- g-regexp.ads, g-regpat.adb, g-regpat.ads,
- g-soccon-aix.ads, g-soccon-darwin.ads,
- g-soccon-freebsd.ads, g-soccon-hpux-ia64.ads,
- g-soccon-hpux.ads, g-soccon-irix.ads,
- g-soccon-linux-64.ads, g-soccon-linux-ppc.ads,
- g-soccon-linux-x86.ads, g-soccon-lynxos.ads,
- g-soccon-mingw.ads, g-soccon-solaris-64.ads,
- g-soccon-solaris.ads, g-soccon-tru64.ads,
- g-soccon-vms.ads, g-soccon-vxworks.ads,
- g-soccon.ads, g-socket.adb, g-socket.ads,
- g-socthi-mingw.adb, g-socthi-vms.adb,
- g-socthi-vxworks.adb, g-soliop-mingw.ads,
- g-soliop-solaris.ads, g-soliop.ads, g-spipat.adb,
- g-spipat.ads, g-string.adb, g-stsifd-sockets.adb: Fix comment
- typos.
-
-2008-03-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <E_Procedure>: Also set the public flag
- if the procedure is imported.
-
-2008-03-26 Arnaud Charlet <charlet@adacore.com>
-
- * adaint.c: Fix warnings.
-
-2008-03-26 Arnaud Charlet <charlet@adacore.com>
-
- * g-dirope.ads, g-dirope.adb: (Dir_Type_Value): Moved to spec.
-
-2008-03-26 Arnaud Charlet <charlet@adacore.com>
-
- * a-witeio.adb: Fix problem with Current_Output (introduce Self).
- Fix problem of status check for null file
-
-2008-03-26 Arnaud Charlet <charlet@adacore.com>
-
- * s-proinf-irix-athread.ads, s-vxwork-mips.ads,
- s-traces.ads, s-vxwork-arm.ads, s-vxwork-ppc.ads, s-vxwork-sparcv9.ads,
- s-tasinf-mingw.ads, s-tasinf-linux.ads, s-tasdeb.ads, mlib-tgt.ads,
- i-cstrin.ads, uintp.adb, g-catiio.adb, s-vmexta.ads,
- s-trafor-default.ads, s-vxwork-m68k.ads: Minor reformatting. Update
- comments.
-
-2008-03-26 Thomas Quinot <quinot@adacore.com>
-
- PR ada/33688
- * g-socket.ads, g-socket.adb (Options, Set_Socket_Option,
- Get_Socket_Option): Add support for Receive_Packet_Info.
-
- * g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
- g-soccon-irix.ads, g-soccon-hpux.ads, g-soccon-solaris.ads,
- g-soccon-vms.ads, g-soccon-mingw.ads, g-soccon-freebsd.ads,
- g-soccon-hpux-ia64.ads, g-soccon-solaris-64.ads, g-soccon-darwin.ads,
- g-soccon-lynxos.ads, g-soccon-linux-64.ads, g-soccon-linux-x86.ads: Add
- new constants SO_REUSEPORT and IP_PKTINFO
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
-
- * a-taster.adb, s-shasto.adb, s-soflin.adb, s-taasde.adb, s-taenca.adb,
- a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb,
- a-intnam-lynxos.ads, a-retide.adb, a-intnam-tru64.ads, a-intnam-aix.ads,
- a-intnam-irix.ads, a-intnam-hpux.ads, a-intnam-linux.ads,
- a-intnam-solaris.ads, a-caldel-vms.adb, a-intnam-vms.ads,
- a-excpol-abort.adb, a-intnam-mingw.ads, s-interr.adb, s-interr.ads,
- s-intman.ads, s-gloloc.adb, s-osinte-lynxos-3.ads,
- s-interr-sigaction.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
- a-intnam-freebsd.ads, s-osinte-freebsd.ads, s-osinte-lynxos.ads,
- s-taspri-lynxos.ads, s-osinte-tru64.ads, s-osinte-tru64.ads,
- s-taspri-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads,
- s-osinte-hpux-dce.ads, s-taprop-hpux-dce.adb, s-taspri-hpux-dce.ads,
- s-osinte-linux.ads, s-osinte-dummy.ads, s-taprop-dummy.adb,
- s-taspri-dummy.ads, s-interr-dummy.adb, s-osinte-solaris.ads,
- s-osinte-mingw.ads, s-taprop-solaris.adb, s-taspri-solaris.ads,
- s-inmaop-vms.adb, s-interr-vms.adb, s-intman-vms.ads, s-osinte-vms.ads,
- s-osinte-vms.ads, s-taprop-vms.adb, s-taspri-vms.ads,
- s-taspri-mingw.ads, s-interr-vxworks.adb, s-inmaop-posix.adb,
- s-intman-vxworks.ads, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
- s-taspri-vxworks.ads, s-taspri-posix.ads, a-caldel.adb, a-calend.adb,
- a-elchha.adb, a-dynpri.adb, a-except.adb, a-except.ads, a-interr.ads,
- a-textio.adb, a-tigeau.ads, atree.adb, s-taprob.adb, s-taprop.ads,
- s-tarest.adb, s-tarest.ads, s-tasini.adb, s-taskin.adb, s-taskin.ads,
- s-tasque.adb, s-tasren.adb, s-tasren.ads, s-tassta.adb, s-tassta.ads,
- s-tasuti.adb, s-tataat.adb, s-tataat.ads, s-tpoben.adb, s-tpoben.ads,
- s-tpobop.adb, s-tpobop.ads, s-tposen.adb, s-tposen.ads, s-valrea.adb,
- s-valuti.adb, a-intnam-darwin.ads, s-osinte-darwin.ads, s-solita.adb,
- a-ztinau.ads, s-osinte-linux-hppa.ads, a-except-2005.adb,
- a-except-2005.ads, a-rttiev.adb, s-osinte-vxworks6.ads, s-regexp.adb,
- s-tasloc.adb: Minor reformatting.
- Update comments.
- Remove "used for" sections from comments.
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
-
- * s-tpopsp-posix.adb, s-tpopsp-solaris.adb, s-tpopsp-posix-foreign.adb,
- s-tpopsp-lynxos.adb, s-tpopde-vms.ads, s-tpopde-vms.adb,
- s-tpopsp-vxworks.adb, s-casi16.adb, s-caun16.adb, s-inmaop.ads,
- s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-tpinop.adb,
- s-tpinop.ads, s-tporft.adb, a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb,
- a-crbtgk.ads, a-crbtgk.adb, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
- a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
- a-cgcaso.adb, a-cgaaso.adb, a-ciormu.adb, a-cihase.adb, a-swuwha.ads,
- a-rbtgso.ads, a-cgaaso.ads, a-cgaaso.ads, a-ciorma.adb, a-chtgke.ads,
- a-chtgke.adb, a-llfzti.ads, a-ztenau.adb, a-ztenau.ads, a-stzhas.ads,
- a-szbzha.ads, a-szbzha.adb, a-crdlli.ads, a-crdlli.ads, a-crdlli.adb,
- i-forbla-darwin.adb, i-forbla.ads, s-regexp.adb, a-nllrar.ads,
- a-nlrear.ads, a-nucoar.ads, a-nurear.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-gerela.ads, a-swuwha.adb, i-forbla-unimplemented.ads,
- double spaced if it fits on one line and otherwise single spaced.
-
-2008-03-26 Arnaud Charlet <charlet@adacore.com>
-
- * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-lynxos.adb,
- s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
- s-taprop-posix.adb (Create_Task): Do not attempt to set task priority
- or task info if the thread could not be created.
-
-2008-03-26 Arnaud Charlet <charlet@adacore.com>
-
- * gnatvsn.ads (Library_Version): Bump to 4.4.
- (Current_Year): Bump to 2008.
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
-
- * ali.ads, ali.adb (Optimize_Alignment_Setting): New field in ALI record
-
- * bcheck.adb (Check_Consistent_Optimize_Alignment): New procedure
-
- * debug.adb: Add debug flags d.r and d.v
- Add debug flag .T (Optimize_Alignment (Time))
- Add debug flag .S (Optimize_Alignment (Space))
-
- * freeze.adb (Freeze_Record_Type): Set OK_To_Reorder_Components
- depending on setting of relevant debug flags.
- Replace use of Warnings_Off by Has_Warnings_Off
- (Freeze_Entity): In circuit for warning on suspicious convention
- actuals, do not give warning if subprogram has same entity as formal
- type, or if subprogram does not come from source.
- (Freeze_Entity): Don't reset Is_Packed for fully rep speced record
- if Optimize_Alignment set to Space.
-
- * frontend.adb: Add call to Sem_Warn.Initialize
- Add call to Sem_Warn.Output_Unused_Warnings_Off_Warnings
- Reset Optimize_Alignment mode from debug switches .S and .T
-
- * layout.adb (Layout_Composite_Object): Rewritten for
- Optimize_Aligment pragma.
-
- * lib-writ.ads, lib-writ.adb: New Ox parameter for Optimize_Alignment
- mode.
-
- * opt.ads, opt.adb: (Optimize_Alignment): New global switch
-
- * par-prag.adb (N_Pragma): Chars field removed, use Chars
- (Pragma_Identifier (.. instead, adjustments throughout to accomodate
- this change. Add entry for pragma Optimize_Alignment
-
- * sem_prag.adb (N_Pragma): Chars field removed, use Chars
- (Pragma_Identifier (..
- instead, adjustments throughout to accomodate this change.
- (Process_Compile_Time_Warning_Or_Error): Use !! for generated msg
- (Favor_Top_Level): Use new function Is_Access_Subprogram_Type
- Add implementation of pragma Optimize_Alignment
-
-2008-03-26 Vincent Celier <celier@adacore.com>
-
- * a-szuzti.adb, a-swuwti.adb, a-suteio.adb (functions Get_Line):
- Improve memory usage to avoid use of stack.
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
-
- * a-teioed.ads: Correct value of Default_Fill
-
- * a-teioed.adb (Image): Use Fill_Character instead of '*' to fill
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
-
- * a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb: Fix problem
- with Current_Output (introduce Self).
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
-
- * checks.adb (Ensure_Valid): Capture valid status if possible
- (eliminate checks)
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
-
- * stand.ads: Deal with reordering of package standard declarations
-
- * cstand.adb: Put package Standard declarations in proper order
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
-
- * einfo.ads, einfo.adb (N_Pragma): Chars field removed, use Chars
- (Pragma_Identifier (.. instead.
- (OK_To_Reorder_Components): New flag
- (Has_Entries): Code cleanup.
- (Warnings_Off_Used): New flag
- (Warnings_Off_Used_Unmodified): New flag
- (Warnings_Off_Used_Unreferenced): New flag
- (Has_Warnings_Off): New function
- (Has_Unmodified): New function
- (Has_Unreferenced): New function
- (Is_Trivial_Subprogram): New flag
- (Is_Static_Dispatch_Table_Entity): New attribute.
- Change name Access_Subprogram_Type_Kind to Access_Subprogram_Kind
- (more consistent with other similar names)
- (Access_Subprogram_Type): New classification function
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
-
- * errout.ads: Document new !! insertion sequence
-
- * errout.adb (N_Pragma): Chars field removed, use Chars
- (Pragma_Identifier (.. instead.
- Replace use of Warnings_Off by Has_Warnings_Off
- (Error_Msg_Internal): Don't delete warning ending in !!
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
-
- * par.adb (Check_No_Right_Paren): Removed no longer used
-
- * par-ch10.adb (N_Pragma): Chars field removed, use Chars
- (Pragma_Identifier (.. instead.
-
- * par-ch10.adb (P_Subunit): Improvement in error recovery and message
-
- * par-tchk.adb, par-ch5.adb, par-ch6.adb, par-ch3.adb,
- par-ch4.adb: Minor improvements in error recovery and messages.
-
- * erroutc.adb (Test_Style_Warning_Serious_Msg): Treat style msgs as
- non-serious
-
- * par-ch9.adb: Minor improvements in error recovery and messages
- (P_Protected): Better error recovery for "protected type x;"
-
- * par-util.adb: Minor improvements in error recovery and messages
- (Check_No_Right_Paren): Removed no longer used
-
-2008-03-26 Ed Schonberg <schonberg@adacore.com>
-
- * exp_aggr.adb (Replace_Type): When checking for self-reference, verify
- that the prefix of an attribute is the type of the aggregate being
- expanded.
-
-2008-03-26 Javier Miranda <miranda@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * exp_attr.adb (N_Pragma): Chars field removed.
- (Expand_N_Attribute_Reference): If the designated type associated with
- attribute 'Unrestricted_Access is a subprogram entity then replace it
- by an E_Subprogram_Type itype.
- Implement attribute Old
-
- * sem_attr.ads (Attribute_Class_Array): Move to snames.ads
-
- * sem_attr.adb (Build_Access_Subprogram_Itype): Add documentation.
- Replace call to
- New_Internal_Entity by call to Create_Itype to centralize calls
- building itypes, ad propagate the convention of the designated
- subprogram. In addition, disable the machinery cleaning constant
- indications from all entities in current scope when 'Unrestricted_Access
- corresponds with a node initializing a dispatch table slot.
- (Analyze_Attribute): Parameterless attributes returning a string or a
- type will not be called with improper arguments, so we can remove junk
- code that was dealing with this case.
- Implement attribute Old
-
- * snames.ads, snames.h, snames.adb: Add entries for attribute Old
- Add entry for pragma Optimize_Alignment
- New standard names Sync and Synchronize
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
- Arnaud Charlet <charlet@adacore.com>
-
- * exp_ch11.adb (Expand_At_End_Handler): Set From_At_End flag on raise
- stmt.
- (No_Exception_Propagation_Active): New function.
- (Expand_Exception_Handlers): Use No_Exception_Propagation_Active.
- Update comments, and review all uses of No_Exception_Propagation, which
- are now correct and in sync with what gigi expects.
-
- * restrict.ads, restrict.adb (No_Exception_Propagation_Active): New
- function.
- (Expand_Exception_Handlers): Use No_Exception_Propagation_Active.
- Update comments, and review all uses of No_Exception_Propagation, which
- are now correct and in sync with what gigi expects.
-
-2008-03-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Access_Definition): If the access type is the return
- result of a protected function, create an itype reference for it
- because usage will be in an inner scope from the point of declaration.
- (Build_Derived_Record_Type): Inherit Reverse_Bit_Order and
- OK_To_Reorder_Components.
- (Make_Index): If an overloaded range includes a universal integer
- interpretation, resolve to Standard.Integer.
- (Analyze_Subtype_Indication): Copy Convention to subtype
- (Check_Abstract_Interfaces): Complete semantic checks on the legality of
- limited an synchronized progenitors in type declaration and private
- extension declarations.
-
- * exp_ch13.adb (Expand_N_Freeze_Entity): If the scope of the entity is a
- protected subprogram body, determine proper scope from subprogram
- declaration.
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb (Expand_N_Op_Concat): Remove special tests for
- No_Run_Time_Mode
-
-2008-03-26 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch5.adb (Expand_N_Extended_Return_Statement): Suppress generation
- of a heap allocator for a limited unconstrained function return when
- resstriction No_Allocators is active.
- (Analyze_Allocator): The restriction No_Allocators is now only checked
- on allocators that have Comes_From_Source set, as per RM-H.4(7).
-
- * sem_ch4.adb (Expand_N_Extended_Return_Statement): Suppress generation
- of a heap allocator for a limited unconstrained function return when
- resstriction No_Allocators is active.
- (Analyze_Allocator): The restriction No_Allocators is now only checked
- on allocators that have Comes_From_Source set, as per RM-H.4(7).
- (Has_Fixed_Op): If the name in a function call is Standard."*" and the
- operands are fixed-point types, the universal_fixed predefined operation
- is used, regardless of whether the operand type (s) have a primitive
- operation of the same name.
-
-2008-03-26 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.adb (Make_DT, Make_Secondary_DT): Set attribute
- Is_Static_Dispatch_Table
- (Build_Dispatch_Tables): Replace calls to Exchange_Entities() by calls
- to Exchange_Declarations to exchange the private and full-view. Bug
- found working in this issue.
- (Expand_Dispatching_Call): Propagate the convention of the subprogram
- to the subprogram pointer type.
- (Make_Secondary_DT): Replace generation of Prim'Address by
- Address (Prim'Unrestricted_Access)
- (Make_DT): Replace generation of Prim'Address by
- Address (Prim'Unrestricted_Access)
- (Make_Disp_*_Bodies): When compiling for a restricted profile, use
- simple call form for single entry.
- (Make_DT): Handle new contents of Access_Disp_Table (access to dispatch
- tables of predefined primitives).
- (Make_Secondary_DT): Add support to handle access to dispatch tables of
- predefined primitives.
- (Make_Tags): Add entities to Access_Dispatch_Table associated with
- access to dispatch tables containing predefined primitives.
-
- * exp_ch6.adb (N_Pragma): Chars field removed, use Chars
- (Pragma_Identifier (.. instead, adjustments throughout to accomodate
- this change.
- (Register_Predefined_DT_Entry): Updated to handle the new contents
- of attribute Access_Disp_Table (pointers to dispatch tables containing
- predefined primitives).
-
- * exp_util.ads, exp_util.adb (Corresponding_Runtime_Package): New
- subprogram.
- (Find_Interface_ADT): Updated to skip the new contents of attribute
- Access_Dispatch_Table (pointers to dispatch tables containing predefined
- primitives).
-
- * sem_util.adb (Has_Abstract_Interfaces): Add missing support for
- concurrent types.
- (Set_Convention): Use new function Is_Access_Subprogram_Type
- (Collect_Interfaces_Info): Updated to skip the new contents of attribute
- Access_Dispatch_Table (pointers to dispatch tables containing predefined
- primitives).
-
- * exp_atag.ads, exp_atag.adb (Build_Inherit_Predefined_Prims): Improve
- expanded code avoiding calls to Build_Predef_Prims.
- (Build_Set_Predefined_Prim_Op_Address): Improve expanded code avoiding
- call to Build_Get_Predefined_Prim_Op_Address.
-
-2008-03-26 Javier Miranda <miranda@adacore.com>
-
- * exp_ch7.adb (Make_Clean): Code cleanup using the new centralized
- subprogram Corresponding_Runtime_Package to know the runtime package
- that will provide support to a given protected type.
-
- * exp_ch9.adb (Add_Private_Declarations,
- Build_Protected_Subprogram_Call,
- Build_Protected_Entry, Build_Simple_Entry_Call,
- Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
- Expand_N_Timed_Entry_Call, Make_Initialize_Protection): Code
- cleanup using the new centralized subprogram Corresponding_Runtime
- Package to know the runtime package that provides support to
- a given protected type.
-
-2008-03-26 Ed Schonberg <schonberg@adacore.com>
-
- * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If the component
- assignment is within the initialization procedure for a packed array,
- and Initialize_Scalars is enabled, compile right-hand side with checks
- off, because the value is purposely out of range.
-
-2008-03-26 Vincent Celier <celier@adacore.com>
-
- * gnatcmd.adb: Add processing for GNAT SYNC
-
- * vms_conv.ads: (Command_Type): Add command Sync
-
- * vms_conv.adb (Initialize): Add Command_List data for new command Sync
-
- * vms_data.ads: Add entries for -gnatw.w
- Add qualifier for gnatstub --header-file option
- Add switches for GNAT SYNC
-
- * prj-attr.ads, prj-attr.adb: Add new package Synchronize for GNAT SYNC
- (Add_Package_Name): New procedure
- (Package_Name_List): New function
- (Initialize): Add known package names to the list
- (Register_New_Package): Add the new package name to the list
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
-
- * g-pehage.adb, g-regist.adb, g-spipat.ads, g-spipat.adb,
- s-asthan.adb, s-parint.adb, s-rpc.adb, s-stchop.adb: Replace
- Raise_Exception by "raise with" construct.
-
-2008-03-26 Pascal Obry <obry@adacore.com>
-
- * Makefile.in: Add proper GNAT.Serial_Communications implementation on
- supported platforms.
-
- * Makefile.rtl: Add g-sercom.o.
-
- * impunit.adb: Add g-sercom.adb.
-
- * s-crtl.ads (open): New routine.
- (close): Likewise.
- (write): Likewise.
-
- * s-osinte-mingw.ads (BYTE): New type.
- (CHAR): Likewise.
- (OVERLAPPED): Likewise.
- (GENERIC_READ): New constant.
- (GENERIC_WRITE): Likewise.
- (OPEN_EXISTING): Likewise.
- (PSECURITY_ATTRIBUTES): Removed this type, use anonymous access
- type instead.
- (CreateFile): New routine.
- (WriteFile): Likewise.
- (ReadFile): Likewise.
- (CloseHandle): Move next to the other file oriented routines.
-
- * g-sercom.ads: New unit.
-
- * g-sercom.adb: Default implementation, calls to this unit will raise
- a program error exception.
-
- * g-sercom-mingw.adb, g-sercom-linux.adb: Windows and
- GNU/Linux implementations.
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
-
- * itypes.adb (Create_Itype): Use new name Access_Subprogram_Kind
-
- * sem_ch13.adb (Validate_Unchecked_Conversion): Give warning for
- unchecked conversion for different conventions only for subprogram
- pointers or on VMS.
-
-2008-03-26 Vincent Celier <celier@adacore.com>
-
- * osint-c.adb (Set_Library_Info_Name): Use canonical case file names
- to check if the specified object file is correct.
-
-2008-03-26 Thomas Quinot <quinot@adacore.com>
-
- * sem_cat.adb (Validate_RACW_Primitives): Do not rely on
- Comes_From_Source to exclude primitives from being checked. We want to
- exclude predefined primitives only, so use the appropriate specific
- predicate. Also, flag a formal parameter of an anonymous
- access-to-subprogram type as illegal for a primitive operation of a
- remote access to class-wide type.
-
-2008-03-26 Vincent Celier <celier@adacore.com>
-
- * prj-dect.adb (Parse_Package_Declaration): When a package name is not
- known, check if it may be a missspelling of a known package name. In
- not verbose, not mode, issue warnings only if the package name is a
- possible misspelling.
- In verbose mode, always issue a warning for a not known package name,
- plus a warning if the name is a misspelling of a known package name.
-
- * prj-part.adb (Post_Parse_Context_Clause): Modify so that only non
- limited withs or limited withs are parse during one call.
- (Parse_Single_Project): Post parse context clause in two passes: non
- limited withs before current project and limited withs after current
- project.
-
- * prj-proc.adb (Imported_Or_Extended_Project_From): Returns an extended
- project with the name With_Name, even if it is only extended indirectly.
- (Recursive_Process): Process projects in order: first single withs, then
- current project, then limited withs.
-
- * prj-tree.adb (Imported_Or_Extended_Project_Of): Returns an extended
- project with the name With_Name, even if it is only extended indirectly.
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
-
- * scn.adb (Initialize_Scanner): Format messages belong on standard error
-
-2008-03-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch10.adb (Analyze_Compilation_Unit): if a unit in the context is
- a generic subprogram that is imported, do not attempt to compile
- non-existent body.
-
- * sem_ch12.adb (Instantiate_Subprogram_Body): if the generic is
- imported, do not generate a raise_program_error for the non-existent
- body.
- (Pre_Analyze_Actuals): If an error is detected during pre-analysis,
- perform minimal name resolution on the generic to avoid spurious
- warnings.
- (Find_Actual_Type): the designated type of the actual in a child unit
- may be declared in a parent unit without being an actual.
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
-
- * sem_ch11.adb: Fix No_Exception_Restriction violation for SJLJ
- * sinfo.ads, sinfo.adb (From_At_End): New flag
-
-2008-03-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Subprogram_Body): Remove spurious check on
- operations that have an interface parameter.
- (Analyze_Subprogram_Body): Set Is_Trivial_Subprogram flag
- Don't treat No_Return call as raise.
-
- * sem_disp.adb (Check_Dispatching_Operations): apply check for
- non-primitive interface primitives to access parameters, not to all
- parameters of an access type.
-
-2008-03-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch7.adb (Install_Parent_Private_Declarations): If the private
- declarations of a parent unit are made visible when compiling a child
- instance, the parent is not a hidden open scope, even though it may
- contain other pending instance.
-
- * sem_ch8.adb (Restore_Scope_Stack): If an entry on the stack is a
- hidden open scope for some child instance, it does affect the
- visibility status of other stach entries.
- (Analyze_Object_Renaming): Check that a class-wide object cannot be
- renamed as an object of a specific type.
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
-
- * sem_res.adb (Check_Infinite_Recursion): Diagnose definite infinite
- recursion and raise SE directly.
- (Resolve_Actuals): Reset Never_Set_In_Source if warnings off is
- set for formal type for IN mode parameter.
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
-
- * sem_warn.ads, sem_warn.adb (Warnings_Off_Pragmas): New table
- (Initialize): New procedure
- (Output_Warnings_Off_Warnings): New procedure
- (Check_References): Suppress certain msgs if Is_Trivial_Subprogram
- (Output_Non_Modifed_In_Out_Warnings): Ditto
- (Warn_On_Unreferenced_Entity): Ditto
-
-2008-03-26 Vincent Celier <celier@adacore.com>
-
- * a-direct.adb (Start_Search): Raise Use_Error if the directory is not
- readable.
-
-2008-03-26 Matthew Heaney <heaney@adacore.com>
-
- * a-ciorse.ads, a-cidlli.ads, a-cdlili.ads, a-cihase.ads, a-cohase.ads,
- a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-coorse.ads:
- Marked with clauses as private, and controlled operations as overriding
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
-
- * g-byorma.adb (Read_BOM): Reorder tests so that UTF_32 is recognized
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
-
- * back_end.adb, back_end.ads: Minor reformatting
-
- * bindgen.adb: Minor clarification of comments
-
- * fname.ads: Minor comment fixes
-
- * g-altive.ads, g-catiio.ads, g-trasym.ads, prj.ads,
- prj-nmsc.adb, sem_aggr.adb: Minor reformatting
-
- * xeinfo.adb, xnmake.adb, xsinfo.adb, xtreeprs.adb,
- xsnames.adb: Remove warnings off pragma no longer needed
-
- * a-catizo.ads, a-calari.ads, a-calfor.adb,
- a-calfor.ads: Fix header.
-
-2008-03-26 Tristan Gingold <gingold@adacore.com>
-
- * init.c: Do not adjust pc for HPARITH on alpha/vms.
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
-
- * lib-xref.adb: (OK_To_Set_Reference): New function
- (Generate_Reference): Don't set referenced from occurrence in Warnings,
- Unmodified, or Unreferenced pragma
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
-
- * alloc.ads: Add entries for Warnings_Off_Pragmas table
-
-2008-03-26 GNAT Script <nobody@adacore.com>
-
- * Make-lang.in: Makefile automatically updated
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
-
- * tbuild.ads, tbuild.adb, trans.c, sprint.adb, exp_prag.adb, decl.c,
- par-ch2.adb, sem_elab.adb, sem_util.ads (N_Pragma): Chars field
- removed, use Chars (Pragma_Identifier (.. instead, adjustments
- throughout to accomodate this change.
-
- * s-pooglo.ads, s-pooloc.ads: Minor comment updates
-
- * exp_dbug.adb: Use Sem_Util.Set_Debug_Info_Needed (not
- Einfo.Set_Needs_Debug_Info)
-
-2008-03-26 Robert Dewar <dewar@adacore.com>
-
- * gnat_ugn.texi: Add documentation for -gnatw.w/-gnatw.W
- Add description for the new gnatstub option '--header-file'
- clarification of -gnatwz/-gnatwZ
- Add a "Irix-Specific Considerations" section to document the need to
- set LD_LIBRARY_PATH when using the default shared runtime library.
- Added documentation for both gcov and gprof.
-
- * gnat_rm.texi: Document that pragma Compile_Time_Warning generates
- messages that are not suppressed when clients are compiled.
- Add documentation of s-pooglo s-pooloc
- Document the new GNAT.Serial_Communications API.
- Add documentation for 'Old attribute
- Add description of pragma Optimize_Alignment
-
- * ug_words: Add entries for -gnatw.w -gnatw.W
-
- * usage.adb: Add line for -gnatw.w (warn on warnings off)
-
-2008-03-25 Eric Botcazou <ebotcazou@adacore.com>
-
- Revert
- 2008-03-05 Eric Botcazou <ebotcazou@adacore.com>
- PR ada/35186
- * decl.c (maybe_pad_type): Avoid padding an integral type when
- bumping its alignment is sufficient.
-
-2008-03-25 Arnaud Charlet <charlet@adacore.com>
-
- * exp_ch6.adb, exp_disp.adb: Update copyright notice.
- Fix wrong formatting (lines too long)
-
-2008-03-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * 9drpc.adb, a-caldel-vms.adb, a-caldel.adb,
- a-calend-vms.adb, a-calend.adb, a-calend.ads,
- a-calfor.adb, a-chahan.ads, a-chtgke.adb,
- a-cihama.ads, a-ciorse.adb, a-clrefi.ads,
- a-cohama.ads, a-comlin.ads, a-coorse.adb,
- a-crbtgk.adb, a-direct.adb, a-except-2005.adb,
- a-except-2005.ads, a-except.adb, a-except.ads,
- a-exexda.adb, a-exexpr-gcc.adb, a-exexpr.adb,
- a-exextr.adb, a-filico.ads, a-finali.ads,
- a-intnam-aix.ads, a-intnam-solaris.ads, a-ngcefu.adb,
- a-ngelfu.adb, a-numaux-darwin.adb, a-numeri.ads,
- a-sequio.ads, a-strbou.ads, a-strfix.adb,
- checks.adb, exp_ch3.adb, exp_ch4.adb,
- exp_ch4.ads, exp_ch5.adb, exp_ch6.adb,
- exp_ch6.ads, exp_ch7.adb, exp_ch7.ads,
- exp_ch9.adb, exp_ch9.ads, exp_dbug.adb,
- exp_dbug.ads, exp_disp.adb, exp_dist.adb,
- exp_dist.ads, exp_fixd.adb, exp_fixd.ads: Fix comment typos.
-
-2008-03-24 Robert Dewar <dewar@adacore.com>
-
- * s-tpopsp-posix.adb, s-tpopsp-solaris.adb, s-tpopsp-posix-foreign.adb,
- s-tpopsp-lynxos.adb, s-tpopde-vms.ads, s-tpopde-vms.adb,
- s-tpopsp-vxworks.adb, s-casi16.adb, s-caun16.adb, s-inmaop.ads,
- s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-tpinop.adb,
- s-tpinop.ads, s-tporft.adb, a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb,
- a-crbtgk.ads, a-crbtgk.adb, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
- a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
- a-cgcaso.adb, a-cgaaso.adb, a-ciormu.adb, a-cihase.adb, a-swuwha.ads,
- a-rbtgso.ads, a-cgaaso.ads, a-cgaaso.ads, a-ciorma.adb, a-chtgke.ads,
- a-chtgke.adb, a-llfzti.ads, a-ztenau.adb, a-ztenau.ads, a-stzhas.ads,
- a-szbzha.ads, a-szbzha.adb, a-crdlli.ads, a-crdlli.ads, a-crdlli.adb,
- i-forbla-darwin.adb, i-forbla.ads, s-regexp.adb, a-nllrar.ads,
- a-nlrear.ads, a-nucoar.ads, a-nurear.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-gerela.ads, a-swuwha.adb, i-forbla-unimplemented.ads,
- double spaced if it fits on one line and otherwise single spaced.
-
-2008-03-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- PR documentation/15479
- * Make-lang.in (doc/gnat_ugn.texi) Renamed from ...
- (doc/gnat_ugn_unw.texi): ... this, and adjusted.
- (doc/gnat_ugn.info): Renamed from ...
- (doc/gnat_ugn_unw.info): ... this.
- (doc/gnat_ugn.dvi): Renamed from ...
- (doc/gnat_ugn_unw.dvi): ... this.
- (doc/gnat_ugn.pdf): Renamed from ...
- (doc/gnat_ugn_unw.pdf): ... this.
- (ADA_INFOFILES, ADA_PDFFILES, ada.install-info, ada.dvi):
- Adjusted.
- * gnat_ugn.texi (FILE): Hard-code gnat_ugn; set filename
- unconditionally to gnat_ugn.info. Fix cross references to the
- GNAT Reference Manual. Convert links to the GCC, GDB, Emacs,
- and GNU make manuals to be proper texinfo links.
- * gnat_rm.texi: Fix cross references to the GNAT User's Guide.
-
-2008-03-21 Olivier Hainque <hainque@adacore.com>
-
- * trans.c (Attribute_to_gnu) <'length>: Compute as (hb < lb)
- ? 0 : hb - lb + 1 instead of max (hb - lb + 1, 0).
-
-2008-03-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * trans.c (addressable_p): Add notes on addressability issues.
-
-2008-03-21 Olivier Hainque <hainque@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * trans.c (addressable_p): Accept COND_EXPR when both arms
- are addressable.
- (gnat_gimplify_expr): Let the gimplifier handle &COND_EXPR.
- (call_to_gnu): Do not use name reference in the error message
- for a misaligned by_reference_parameter. The actual may be a
- general expression.
-
-2008-03-18 Paolo Bonzini <bonzini@gnu.org>
-
- * misc.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete.
-
-2008-03-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * gnat_rm.texi (Implementation Defined Characteristics)
- (Wide_Text_IO, Wide_Wide_Text_IO): Add @var annotations where
- appropriate.
- * gnat_ugn.texi (Wide Character Encodings, Switches for gnatbind)
- (Switches for gnatchop, Installing a library): Likewise.
-
-2008-03-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * trans.c (emit_range_check): Do not emit the check if the base type
- of the expression is the type against which its range must be checked.
-
-2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (maybe_pad_type): Use value_factor_p.
-
-2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * lang.opt (nostdlib): Move around.
- * misc.c (gnat_handle_option): Fix formatting.
- (gnat_dwarf_name): Move around.
- * trans.c (Case_Statement_to_gnu): Fix formatting.
- (gnat_to_gnu): Likewise.
- * utils.c (aggregate_type_contains_array_p): Likewise.
- (create_subprog_decl): Likewise.
-
-2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Do not
- bother propagating the TYPE_USER_ALIGN flag when creating a JM type.
-
-2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <E_Record_Type>: Do not force
- BIGGEST_ALIGNMENT when capping the alignment of records with
- strict alignment and size clause.
-
-2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * lang-specs.h: Pass -gnatwa if -Wall is passed.
- * misc.c (gnat_handle_option) <OPT_Wall>: Expand into -Wunused
- and -Wuninitialized.
- (gnat_post_options): Clear warn_unused_parameter.
-
-2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * utils.c (finish_record_type): Clear DECL_BIT_FIELD on sufficiently
- aligned bit-fields, bumping the alignment of the record type if deemed
- profitable.
- (value_factor_p): Return false instead of 0.
-
-2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Add support
- for scalar types with small alignment.
-
-2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * trans.c (Loop_Statement_to_gnu): Set the SLOC of the loop label
- from that of the front-end's end label.
- (gnat_gimplify_stmt) <LOOP_STMT>: Set the SLOC of the backward goto
- from that of the loop label.
-
-2008-03-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Add
- comment for the packed array type case.
- * utils.c (build_template): Use a loop to strip padding or
- containing records for justified modular types.
-
-2008-03-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity): Issue a warning on suspiciously
- large alignments specified for types.
- (validate_alignment): Minor cleanup.
-
-2008-03-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (MAX_FIXED_MODE_SIZE): Define if not already defined.
- (gnat_to_gnu_entity) <E_Record_Type>: Try to get a smaller form of
- the component for packing, if possible, as well as if a component
- size clause is specified.
- <E_Record_Subtype>: For an array type used to implement a packed
- array, get the component type from the original array type.
- Try to get a smaller form of the component for packing, if possible,
- as well as if a component size clause is specified.
- (round_up_to_align): New function.
- (make_packable_type): Add in_record parameter.
- For a padding record, preserve the size. If not in_record and the
- size is too large for an integral mode, attempt to shrink the size
- by lowering the alignment.
- Ditch the padding bits of the last component.
- Compute sizes and mode manually, and propagate the RM size.
- Return a BLKmode record type if its size has shrunk.
- (maybe_pad_type): Use MAX_FIXED_MODE_SIZE instead of BIGGEST_ALIGNMENT.
- Use Original_Array_Type to retrieve the type in case of an error.
- Adjust call to make_packable_type.
- (gnat_to_gnu_field): Likewise.
- (concat_id_with_name): Minor tweak.
- * trans.c (larger_record_type_p): New predicate.
- (call_to_gnu): Compute the nominal type of the object only if the
- parameter is by-reference. Do the conversion actual type -> nominal
- type if the nominal type is a larger record.
- (gnat_to_gnu): Do not require integral modes on the source type to
- avoid the conversion for types with identical names.
- (addressable_p): Add gnu_type parameter. If it is specified, do not
- return true if the expression is not addressable in gnu_type.
- Adjust recursive calls.
- * utils.c (finish_record_type): Remove dead code.
-
-2008-03-05 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/35186
- * decl.c (maybe_pad_type): Avoid padding an integral type when
- bumping its alignment is sufficient.
-
-2008-03-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * gnatfind.adb, gnatxref.adb: Fix argument parsing typos.
- * s-auxdec-empty.adb, s-auxdec.adb: Fix typos in copyright
- statement.
- * a-ngcoar.adb, a-ngrear.adb, g-awk.adb, g-debpoo.adb,
- gprep.adb, make.adb, makegpr.adb, par-ch6.adb, prj-nmsc.adb,
- sem_attr.adb, sem_ch4.adb, sem_ch8.adb: Fix typos in ada source
- code output strings.
- * sem_type.adb, system-vms-ia64.ads, system-vms.ads,
- system-vms_64.ads: Fix typos in ada source code comments.
- * sinfo-cn.adb: Remove incomplete sentence.
-
- PR documentation/15479
- * gnat_rm.texi, gnat_ugn.texi: Avoid standalone `non' word.
-
-2008-02-27 Samuel Tardieu <sam@rfc1149.net>
-
- PR ada/22255
- * s-fileio.adb (Reset): Do not raise Use_Error if mode isn't changed.
-
-2008-02-27 Samuel Tardieu <sam@rfc1149.net>
-
- PR ada/34799
- * sem_ch13.adb (Analyze_Record_Representation_Clause): Check
- that underlying type is present.
-
-2008-02-26 Tom Tromey <tromey@redhat.com>
-
- * misc.c (internal_error_function): Remove test of
- USE_MAPPED_LOCATION.
- * trans.c (gigi): Remove test of USE_MAPPED_LOCATION.
- (Sloc_to_locus): Remove old location code.
-
-2008-02-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * gnat_rm.texi, gnat_ugn.texi: Fix spacing after `e.g.' and
- `i.e.' by adding comma or `@:' as appropriate.
- * gnat_rm.texi (Pragma Wide_Character_Encoding): Instead of
- plain characters `C', use `@samp{C}'.
- * gnat_ugn.texi (File Naming Rules, About gnatkr)
- (Krunching Method): Likewise.
-
- * gnat_ugn.texi (Conventions): List environment variables and
- metasyntactic variables.
- (Compiling Programs): Fix notation of metasyntactic variables.
- Add @file where appropriate. Use @file for file extensions,
- @samp for strings.
- * gnat_rm.texi, gnat_ugn.texi: Where appropriate, use @samp
- instead of @file, @env instead of @code.
-
-2008-02-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- PR documentation/15479
- * gnat_rm.texi, gnat_ugn.texi: Where appropriate, replace `..'
- and `...' with `@dots{}' or `@enddots{}'.
-
- PR documentation/15479
- * gnat_rm.texi, gnat_ugn.texi: Where appropriate, add @command,
- use @command instead of @code, @option instead of @samp or @code,
- @code instead of @var, @samp instead of @file.
-
- PR documentation/15479
- * gnat_ugn.texi (Using gnatmake in a Makefile): Do not ignore errors
- in Makefile rules, by using `&&' rather than `;'.
-
-2008-02-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- PR documentation/15479
- * gnat_ugn.texi: In non-code, avoid space before colon.
- (Regular Expressions in gnatfind and gnatxref): Fix indentation.
- (Examples of gnatxref Usage): Use @command{vi} instead of
- @file{vi}.
- (Character Set Control): Do not use @code for UTF-8.
- (Validity Checking): Fix typo "NaNs" instead of "NaN's". Do not
- use @code for IEEE.
- * gnat_rm.texi (Aggregates with static bounds): Fix typo in code
- sample.
- * gnat_rm.texi, gnat_ugn.texi: Fix typos. Bump copyright years.
-
-2008-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- PR ada/35143
- * env.c: Add __rtems__ to if defined.
- * s-osinte-rtems.adb: Add To_Target_Priority. Fix formatting.
- * s-osinte-rtems.ads: Add To_Target_Priority prototype and
- PTHREAD_SCOPE_PROCESS/PTHREAD_SCOPE_SYSTEM constants. Add
- pragma Convention as required.
- * gsocket.h: Make compile in and out of RTS.
- * Makefile.in: Add system-rtems.ads. Build DEC extensions.
- Use g-soccon-rtems.ads.
- * g-soccon-rtems.ads, system-rtems.ads: New files.
-
-2008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- PR other/35107
- * Make-lang.in (gnat1): Add $(GMPLIBS).
-
-2008-01-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (components_to_record): Improve comment.
-
-2008-01-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (components_to_record): Do not reuse the empty union type
- if there is a representation clause on the record.
- * trans.c (addressable_p): Return true for INTEGER_CST.
-
-2008-01-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * trans.c (gnat_to_gnu) <N_Free_Statement>: Use POINTER_PLUS_EXPR
- in pointer arithmetics.
- * utils2.c (build_allocator): Likewise.
-
-2008-01-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * utils.c (build_function_stub): Properly build the call expression.
-
-2008-01-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <object>: Process renamings
- before converting the expression to the type of the object.
- * trans.c (maybe_stabilize_reference) <CONSTRUCTOR>: New case.
- Stabilize constructors for special wrapping types.
-
-2008-01-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * trans.c (call_to_gnu): Invoke the addressable_p predicate only
- when necessary. Merge some conditional statements. Update comments.
- Rename unchecked_convert_p local variable to suppress_type_conversion.
- Do not suppress conversions in the In case.
- (addressable_p) <VIEW_CONVERT_EXPR>: Do not take alignment issues
- into account on non strict-alignment platforms.
-
-2008-01-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * utils.c (aggregate_type_contains_array_p): New predicate.
- (create_field_decl): In a packed record, force byte alignment
- for fields without specified position that contain an array.
-
-2008-01-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * utils.c (unchecked_convert): Fold the VIEW_CONVERT_EXPR expression.
-
-2008-01-10 John David Anglin <dave.anglin.@nrc-cnrc.gc.ca>
-
- PR ada/34466
- * s-osinte-linux-hppa.ads (SC_NPROCESSORS_ONLN): New constant for
- sysconf call.
- (bit_field): New packed boolean type used by cpu_set_t.
- (cpu_set_t): New type corresponding to the C type with
- the same name. Note that on the Ada side we use a bit
- field array for the affinity mask. There is not need
- for the C macro for setting individual bit.
- (pthread_setaffinity_np): New imported routine.
-
-2008-01-03 Tero Koskinen <tero.koskinen@iki.fi>
-
- PR ada/34647
- * adaint.c (__gnat_open_new_temp, __gnat_tmp_name): Use mkstemp()
- on OpenBSD as is done on other BSD systems.
-
- PR ada/34645
- * sysdep.c (__gnat_ttyname, getc_immediate_nowait,
- getc_immediate_common): Treat OpenBSD as FreeBSD regarding immediate
- I/O.
-
- PR ada/34644
- * env.c (__gnat_clearenv): Treat OpenBSD as other BSD systems missing
- clearenv().
-
- PR ada/34646
- * init.c (__gnat_error_handler, __gnat_install_handler,
- __gnat_init_float): Define for OpenBSD.
-
- * initialize.c (__gnat_initialize): Define for OpenBSD.
-
-2007-12-27 Samuel Tardieu <sam@rfc1149.net>
-
- PR ada/34553
- * adaint.c (__gnat_open_new_temp, __gnat_tmp_name): Use mkstemp()
- instead of mktemp() or tmpnam() on NetBSD.
-
-2007-12-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * trans.c (call_to_gnu): Make the temporary for non-addressable
- In parameters passed by reference.
- (addressable_p): Return true for STRING_CST and CALL_EXPR.
-
-2007-12-19 Robert Dewar <dewar@adacore.com>
-
- * g-expect-vms.adb, g-expect.adb, s-poosiz.adb:
- Add pragma Warnings (Off) for unassigned IN OUT arguments
-
- * sem_warn.adb (Output_Reference): Suppress messages for internal names
- (Check_References): Extensive changes to tune up warnings
- (Output_Non_Modifed_In_Out_Warnings): Changes to tune up warnings
- (Has_Pragma_Unmodifed_Check_Spec): New function
- (Check_References): Implement pragma Unmodified
- (Warn_On_Unassigned_Out_Parameter): Implement pragma Unmodified
-
- * par-prag.adb: Dummy entry for pragma Unmodified
-
- * sem_prag.adb: Implement pragma Unmodified
-
- * einfo.ads, einfo.adb: (Has_Pragma_Unmodified): New flag
- (Proc_Next_Component_Or_Discriminant): Fix typo.
- Update comments.
-
- * sem_util.adb (Note_Possible_Modification): Add processinng for pragma
- Unmodified.
- (Reset_Analyzed_Flags): Use Traverse_Proc instead of Traverse_Func,
- because the former already takes care of discarding the result.
- (Mark_Coextensions): Remove ununused initial value from Is_Dynamic.
- Add comment.
-
- * snames.h, snames.ads, snames.adb: Add entry for pragma Unmodified
-
-2007-12-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * targparm.adb, targparm.ads, system.ads, system-darwin-ppc.ads,
- system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads,
- system-hpux-ia64.ads, system-vxworks-arm.ads, system-darwin-x86.ads,
- system-vms_64.ads, system-vms-ia64.ads, system-linux-ia64.ads,
- system-freebsd-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
- system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads,
- system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
- system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
- system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
- system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads
- (Dynamic_Trampolines_Used): Delete.
-
- * system-lynxos-x86.ads, system-lynxos-ppc.ads: Ditto.
- Turn on stack probing mechanism on LynxOS.
-
-2007-12-19 Bob Duff <duff@adacore.com>
-
- * atree.ads, atree.adb (Traverse_Func): Walk Field2 last, and eliminate
- the resulting tail recursion by hand. This prevents running out of
- memory on deeply nested concatenations, since Field2 is where the left
- operand of concatenations is stored.
- Fix bug (was returning OK_Orig in some cases). Fix return subtype to
- clarify that it can only return OK or Abandon.
-
- * sem_res.adb (Resolve_Op_Concat): Replace the recursion on the left
- operand by iteration, in order to avoid running out of memory on
- deeply-nested concatenations. Use the Parent pointer to get back up the
- tree.
- (Resolve_Op_Concat_Arg, Resolve_Op_Concat_First,
- Resolve_Op_Concat_Rest): New procedures split out of
- Resolve_Op_Concat, so the iterative algorithm in Resolve_Op_Concat is
- clearer.
-
- * checks.adb (Remove_Checks): Use Traverse_Proc instead of
- Traverse_Func, because the former already takes care of discarding the
- result.
-
- * errout.adb (First_Node): Use Traverse_Proc instead of Traverse_Func,
- because the former already takes care of discarding the result.
- (Remove_Warning_Messages): Use appropriate subtype for Status and
- Discard
-
-2007-12-19 Ed Schonberg <schonberg@adacore.com>
-
- * exp_aggr.adb (Not_OK_For_Backend): A component of a private type with
- discriminants forces expansion of the aggregate into assignments.
- (Init_Record_Controller): If the type of the aggregate is untagged and
- is not inherently limited, the record controller is not limited either.
-
-2007-12-19 Robert Dewar <dewar@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference, case Size): Fix error in
- handling compile time known size of record or array (case of front end
- layout active, e.g. in GNAAMP).
-
-2007-12-19 Javier Miranda <miranda@adacore.com>
-
- * exp_ch3.adb (Expand_N_Object_Declaration): Complete the circuitry
- that forces the construction of static dispatch tables in case of
- record subtypes.
-
-2007-12-19 Robert Dewar <dewar@adacore.com>
-
- * exp_ch9.adb (Null_Statements): Moved to library level
- (Trivial_Accept_OK): New function
- (Expand_Accept_Declaration): Use Trivial_Accept_OK
- (Expand_N_Accept_Statement): Use Trivial_Accept_OK
-
-2007-12-19 Robert Dewar <dewar@adacore.com>
-
- * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Fix packed array type
- in complex case where array is Volatile.
-
-2007-12-19 Ed Schonberg <schonberg@adacore.com>
-
- * freeze.adb (Freeze_Record_Type, Check_Current_Instance): Implement
- properly the Ada2005 rules concerning when the current instance of a
- record type is aliased.
-
-2007-12-19 Ed Schonberg <schonberg@adacore.com>
-
- * par-ch3.adb (P_Record_Declaration): Guard against cascaded errors in
- mangled declaration
- (P_Type_Declaration): Diagnose misuse of "abstract" in untagged record
- declarations.
- (P_Variant_Part): Cleaner patch for parenthesized discriminant
-
-2007-12-19 Vincent Celier <celier@adacore.com>
-
- * prj-attr.adb (Package_Node_Id_Of): Returns Unknown_Package when
- package is not known
-
- * prj-attr.ads (Unknown_Package): New constant
- Do not crash when an unknown package is in several projects
-
- * prj-dect.adb (Parse_Package_Declaration): Mark an unknown package as
- ignored
-
- * prj-nmsc.adb (Check): Remove obsolete code related to no longer
- existing package Language_Processing.
-
-2007-12-19 Ed Schonberg <schonberg@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
- Samuel Tardieu <sam@rfc1149.net>
-
- PR ada/15803, ada/15805
- * sem_ch6.adb, sem_ch3.adb (Constrain_Access): In Ada2005, diagnose
- illegal access subtypes when there is a constrained partial view.
- (Check_For_Premature_Usage): New procedure inside
- Access_Subprogram_Declaration for checking that an access-to-subprogram
- type doesn't reference its own name within any formal parameters or
- result type (including within nested anonymous access types).
- (Access_Subprogram_Declaration): Add call to Check_For_Premature_Usage.
- (Sem_Ch3.Analyze_Object_Declaration, Sem_ch6.Process_Formals): if the
- context is an access_to_variable, the expression cannot be an
- access_to_constant.
-
-2007-12-19 Bob Duff <duff@adacore.com>
-
- * sem_ch4.adb (Analyze_Concatenation_Rest): New procedure.
- (Analyze_Concatenation): Use iteration instead of recursion in order
- to avoid running out of stack space for deeply nested concatenations.
-
-2007-12-19 Ed Schonberg <schonberg@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch8.adb (Analyze_Subprogram_Renaming): Diagnose illegal renamings
- whose renamed entity is a subprogram that requires overriding.
- (Premature_Usage): Test for the case of N_Full_Type_Declaration when
- issuing an error for premature usage and issue a message that says
- 'type' rather than 'object'.
-
-2007-12-19 Gary Dismukes <dismukes@adacore.com>
-
- PR ada/34149
- * sem_disp.adb (Check_Dispatching_Call): Augment existing test for
- presence of a statically tagged operand (Present (Static_Tag)) with
- test for Indeterm_Ancestor_Call when determining whether to propagate
- the static tag to tag-indeterminate operands (which forces dispatching
- on such calls).
- (Check_Controlling_Formals): Ada2005, access parameters can have
- defaults.
- (Add_Dispatching_Operation, Check_Operation_From_Private_View): do
- not insert subprogram in list of primitive operations if already there.
-
-2007-12-19 Tristan Gingold <gingold@adacore.com>
-
- * utils.c (create_var_decl_1): call rest_of_decl_compilation only for
- global variable.
-
-2007-12-19 Thomas Quinot <quinot@adacore.com>
-
- Part of PR ada/33688
- * gen-soccon.c: Add constant IP_PKTINFO to allow getting ancillary
- datagram info on Linux.
-
-2007-12-19 Vincent Celier <celier@adacore.com>
-
- * makegpr.adb (Check_Compilation_Needed): Normalize C_Source_Path so
- that the source path name is always found in the dependencies.
-
-2007-12-19 Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi, gnat_ugn.texi: Update documentation of -gnatw.o
- Fix name of Wide_Wide_Latin_1/9 file names
- Add documentation for Ada.Exceptions.Last_Chance_Handler (a-elchha.ads)
- Add missing documentation for Ada.Wide_[Wide_]Characters.Unicode
- Add missing documentation for Ada.Command_Line.Response_File
- Update list of warning letters for Warnings pragma
- Add documentation for pragma Unmodified
-
-2007-12-19 Samuel Tardieu <sam@rfc1149.net>
-
- * Makefile.in: Add s-tasinf.ad[bs] substitutions for sh4-linux target.
-
-2007-12-17 Arnaud Charlet <charlet@adacore.com>
-
- * s-vxwork-alpha.ads: Removed, no longer used.
-
-2007-12-15 Jakub Jelinek <jakub@redhat.com>
-
- * Make-lang.in (gnat1, gnatbind): Pass ALL_CFLAGS on the link line.
-
-2007-12-13 Samuel Tardieu <sam@rfc1149.net>
-
- PR ada/34360
- * Makefile.in: Change two occurrences of mlib-tgt.adb by correct name
- mlib-tgt-specific.adb.
-
-2007-12-13 Bob Duff <duff@adacore.com>
-
- * trans.c (Attribute_to_gnu): Check for violations of the
- No_Implicit_Dynamic_Code restriction. This checking used to be done in
- the front end, but is moved here so we can make it more accurate.
-
-2007-12-13 Pascal Obry <obry@adacore.com>
-
- * adaint.c (__gnat_pthread_setaffinity_np): New routine. A dummy
- version is provided for older GNU/Linux distribution not
- supporting thread affinity sets.
-
- * s-osinte-linux.ads (SC_NPROCESSORS_ONLN): New constant for sysconf
- call.
- (bit_field): New packed boolean type used by cpu_set_t.
- (cpu_set_t): New type corresponding to the C type with
- the same name. Note that on the Ada side we use a bit
- field array for the affinity mask. There is not need
- for the C macro for setting individual bit.
- (pthread_setaffinity_np): New imported routine.
-
- * s-taprop-linux.adb (Enter_Task): Check that the CPU affinity mask is
- no null.
- (Create_Task): Set the processor affinity mask if information
- is present.
-
- * s-tasinf-linux.ads, s-tasinf-linux.adb: New files.
-
-2007-12-13 Robert Dewar <dewar@adacore.com>
-
- * s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
- s-osinte-freebsd.ads, s-osinte-lynxos.ads, s-osinte-tru64.ads,
- s-osinte-mingw.ads, s-osinte-aix.ads, s-osinte-hpux-dce.ads,
- s-osinte-irix.ads, s-osinte-solaris.ads, s-intman-vms.adb,
- s-osinte-vms.ads, s-osinte-vxworks6.ads, s-osinte-vxworks.ads,
- s-auxdec.ads, s-auxdec-vms_64.ads, s-osinte-darwin.ads,
- s-taprop-vms.adb, s-interr-sigaction.adb, s-osinte-linux-hppa.ads,
- i-vxwork-x86.ads, s-tpopde-vms.ads: Add missing pragma Convention C
- for subprogram pointers.
-
- * g-ctrl_c.adb: New file.
-
- * g-ctrl_c.ads (Install_Handler): New body.
-
- * freeze.adb (Freeze_Subprogram): Use new flag Has_Pragma_Inline_Always
- instead of obsolete function Is_Always_Inlined.
- (Freeze_Entity): check for tagged type in imported C subprogram
- (Freeze_Entity): check for 8-bit boolean in imported C subprogram
- (Freeze_Entity): check for convention Ada subprogram pointer in
- imported C subprogram.
- (Freeze_Fixed_Point_Type): In the case of a base type where the low
- bound would be chopped off and go from negative to zero, force
- Loval_Excl_EP to be the same as Loval_Incl_EP (the included lower
- bound) so that the size computation for the base type will take
- negative values into account.
-
-2007-12-13 Eric Botcazou <ebotcazou@adacore.com>
- Bob Duff <duff@adacore.com>
- Tristan Gingold <gingold@adacore.com>
-
- * system-linux-ia64.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
- system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
- system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads,
- system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
- system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
- system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
- system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
- system-vxworks-arm.ads, system-darwin-x86.ads, system.ads,
- system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
- system-linux-ppc.ads, system-linux-hppa.ads, system-hpux-ia64.ads,
- system-vms-ia64.ads (Stack_Check_Limits): New target parameter.
- (Always_Compatible_Rep): New flag to control trampolines globally.
- (Dynamic_Trampolines_Used): New flag for implementing the
- No_Implicit_Dynamic_Code restriction more correctly (not yet used,
- and not yet set correctly for some targets).
-
- * s-taprop-vxworks.adb: Use stack limit method of stack checking.
- Simply indirectly call s-stchop when a task is created.
-
- * ali.ads:
- New flag added: Stack_Check_Switch_Set which is set when '-fstack-check'
- appears as an argument (entries A) in an ALI file.
-
- * fe.h (Stack_Check_Limits): Declare new target parameter.
- (Check_Implicit_Dynamic_Code_Allowed): New procedure.
-
- * init.c: Declare __gnat_set_stack_limit_hook for VxWorks kernel RTS.
- This variable is declared in C to be sure not subject to elaboration
- code.
- (__gnat_map_signal, VxWorks): In kernel mode, map SIGILL to
- Storage_Error.
-
- * targparm.ads, targparm.adb (Stack_Check_Limits): New parameter.
- (Always_Compatible_Rep, Dynamic_Trampolines_Used): New parameters.
-
- * s-stchop.ads: Add comments.
-
- * s-stchop-vxworks.adb: Package almost fully rewritten to use stack
- limit method of stack checking.
-
- * s-stchop-limit.ads: New file.
-
-2007-12-13 Robert Dewar <dewar@adacore.com>
-
- * sem_ch5.adb, s-taskin.adb, a-ciorma.adb, a-coorma.adb, a-cohama.adb,
- a-cihama.adb, g-awk.adb,
- s-inmaop-posix.adb: Update handling of assigned value/unreferenced
- warnings
-
- * exp_smem.adb: Update handling of assigned value/unreferenced warnings
-
- * sem.adb: Update handling of assigned value/unreferenced warnings
-
- * a-exexpr-gcc.adb: Add a pragma warnings off for boolean return
-
- * lib-xref.ads: Improve documentation for k xref type
-
- * lib-xref.adb:
- Update handling of assigned value/unreferenced warnings
- (Generate_Reference): Warning for reference to entity for which a
- pragma Unreferenced has been given should be unconditional.
- If the entity is a discriminal, mark the original
- discriminant as referenced.
-
- * sem_warn.ads, sem_warn.adb
- (Check_One_Unit): Test Renamed_In_Spec to control giving warning for
- no entities referenced in package
- (Check_One_Unit): Don't give message about no entities referenced in
- a package if a pragma Unreferenced has appeared.
- Handle new warning flag -gnatw.a/-gnatw.A
- Update handling of assigned value/unreferenced warnings
-
- * atree.h: Add flags up to Flag247
- (Flag231): New macro.
-
-2007-12-13 Jose Ruiz <ruiz@adacore.com>
-
- * adaint.h: (__gnat_plist_init): Not defined for RTX.
-
- * initialize.c (__gnat_initialize): Do not call __gnat_plist_init for
- RTX systems.
-
- * Makefile.in: Add new files s-tasinf-linux.ads and s-tasinf-linux.adb.
- (LIBGNAT_TARGET_PAIRS, MISCLIB, THREADSLIB,
- EXTRA_GNATRTL_NONTASKING_OBJS, EXTRA_GNATRTL_TASKING_OBJS,
- GNATLIB_SHARED for RTX run time): Use the versions required by RTX.
-
- * mingw32.h:
- Do not define GNAT_UNICODE_SUPPORT for RTX since it is not supported.
-
- * sysdep.c (winflush_function for RTX): Procedure that does nothing
- since we only have problems with Windows 95/98, which are not
- supported by RTX.
- (__gnat_ttyname): Return the empty string on Nucleus, just as
- done on vxworks.
-
-2007-12-13 Robert Dewar <dewar@adacore.com>
-
- * a-textio.adb, a-textio.ads:
- Extensive changes to private part for wide character encoding
-
- * a-witeio.adb, a-witeio.ads, a-ztexio.ads, a-ztexio.adb
- (Look_Ahead): Fix mishandling of encoded sequences
- Move declaration of Wch_Con to private part (should not be visible)
-
- * ali.adb (Scan_ALI): Set default encoding method to brackets instead of
- UTF-8. Probably this is never used, but if it is, brackets is
- clearly correct.
-
- * bindgen.adb (Get_WC_Encoding): New procedure to properly handle
- setting wide character encoding for no main program case and when
- encoding is specified using -W?
- Initialize stack limit of environment task if stack limit method of
- stack checking is enabled.
- (Gen_Adainit_Ada): Use Get_WC_Encoding to output encoding method
- (Gen_Adainit_C): Use Get_WC_Encoding to output encoding method
- (Get_Main_Unit_Name): New function.
- (Gen_Adainit_Ada): Add call to main program for .NET when needed.
- (Gen_Output_File): Set Bind_Main_Program to True for .NET
-
- * bindusg.adb: Add line for -Wx switch
-
- * s-wchcon.adb, s-wchcon.ads: (Is_Start_Of_Encoding): New function
- Add comments
- Add new useful constant WC_Longest_Sequences
-
- * switch-b.adb: Clean up handling of -Wx switch
- For -gnatWx, set Wide_Character_Encoding_Method_Specified
-
- * switch-c.adb: -gnatg activates warning on assertion errors
- For -gnatWx, set Wide_Character_Encoding_Method_Specified
-
- * s-wchcon.adb: (Is_Start_Of_Encoding): New function
-
-2007-12-13 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * a-ngcoty.adb: New pragma Fast_Math
-
- * opt.adb: New pragma Fast_Math
-
- * par-prag.adb:
- Add Implemented_By_Entry to the list of pragmas which do not require any
- special processing.
- (Favor_Top_Level): New pragma.
- New pragma Fast_Math
-
- * exp_attr.adb: Move Wide_[Wide_]Image routines to Exp_Imgv
- (Expand_N_Attribute_Reference, Displace_Allocator_Pointer,
- Expand_Allocator_Expression): Take into account VM_Target
- (Expand_Attribute, case 'Identity): Handle properly the case where
- the prefix is a task interface.
- New pragma Fast_Math
-
- * par.adb (Next_Token_Is): New function
- (P_Pragma): Add Skipping parameter
- (U_Left_Paren): New procedure
- (U_Right_Paren): New procedure
- New pragma Fast_Math
-
- * par-ch10.adb (P_Subunit): Unconditional msg for missing ) after
- subunit
- New pragma Fast_Math
-
- * sem_prag.adb: Add significance value to table Sig_Flag for pragma
- Implemented_By_Entry.
- (Analyze_Pragma): Add case for Ada 2005 pragma Implemented_By_Entry.
- (Set_Inline_Flags): Do not try to link pragma Inline onto chain of rep
- items, since it can apply to more than one overloadable entity. Set
- new flag Has_Pragma_Inline_Always for Inline_Always case.
- (Analyze_Pragma, case Complex_Representation): Improve error message.
- (Analyze_Pragma, case Assert): When assertions are disabled build the
- rewritten code with Sloc of expression rather than pragma, so new
- warning about failing is not deleted.
- (Analyze_Pragma): Allow pragma Preelaborable_Initialization to apply to
- protected types and update error message to reflect that. Test whether
- the protected type is allowed for the pragma (an error is issued if the
- type has any entries, or components that do not have preelaborable
- initialization).
- New pragma Fast_Math
- (Analyze_Pragma, case No_Return): Handle generic instance
-
- * snames.h, snames.ads, snames.adb:
- Add new predefined name for interface primitive _Disp_Requeue.
- New pragma Fast_Math
-
- * a-tags.ads, a-tags.adb: New calling sequence for
- String_To_Wide_[Wide_]String
- (Secondary_Tag): New subprogram.
-
- * exp_imgv.ads, exp_imgv.adb: Move Wide_[Wide_]Image routines here
- from Exp_Attr
- New calling sequence for String_To_Wide_[Wide_]String
- (Expand_Image_Attribute): Major rewrite. New calling sequence avoids
- the use of the secondary stack for image routines.
-
- * a-except-2005.adb, s-wchstw.ads, s-wchstw.adb, s-wwdenu.adb: New
- calling sequence for String_To_Wide_[Wide_]String
-
- * par-ch3.adb (P_Declarative_Items): Recognize use of Overriding in
- Ada 95 mode
- (P_Unknown_Discriminant_Part_Opt): Handle missing parens gracefully
- Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
-
- * par-ch6.adb (P_Subprogram): Recognize use of Overriding in Ada 95 mode
- (P_Formal_Part): Use Skipping parameter in P_Pragma call
- to improve error recovery
-
- * par-util.adb (Next_Token_Is): New function
- (Signal_Bad_Attribute): Use new Namet.Is_Bad_Spelling_Of function
-
- * par-ch2.adb (Skip_Pragma_Semicolon): Do not resynchronize to
- semicolon if missing
- (P_Pragma): Implement new Skipping parameter
- Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
- Fix location of flag for unrecognized pragma message
-
- * par-tchk.adb (U_Left_Paren): New procedure
- (U_Right_Paren): New procedure
-
-2007-12-13 Geert Bosch <bosch@adacore.com>
-
- * a-tifiio.adb:
- (Put_Int64): Use Put_Digit to advance Pos. This fixes a case where
- the second or later Scaled_Divide would omit leading zeroes,
- resulting in too few digits produced and a Layout_Error as result.
- (Put): Initialize Pos.
-
-2007-12-13 Robert Dewar <dewar@adacore.com>
-
- atree.ads, atree.adb (Flag231..Flag247): New functions
- (Set_Flag231..Set_Flag247): New procedures
- (Basic_Set_Convention): Rename Set_Convention to be
- Basic_Set_Convention
- (Nkind_In): New functions
- Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
-
- * exp_ch6.adb (Expand_Call): Use new flag Has_Pragma_Inline_Always
- instead
- of obsolete function Is_Always_Inlined
- (Register_Predefined_DT_Entry): Initialize slots of the second
- secondary dispatch table.
- Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
- (Expand_N_Function_Call): Remove special provision for stack checking.
-
- * exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
- Include _Disp_Requeue in the list of predefined operations.
- (Find_Interface_ADT): Modified to fulfill the new specification.
- Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
-
- * par-ch4.adb, nlists.ads, nlists.adb:
- Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
-
- * sinfo.ads, sinfo.adb: (Nkind_In): New functions
- Fix location of flag for unrecognized pragma message
-
- * sem_ch7.adb: Use Nkind_In
-
-2007-12-13 Vincent Celier <celier@adacore.com>
-
- * opt.ads:
- Indicate what flags are used by the Project Manager, gprbuild and
- gprclean.
- (Opt.Follow_Links_For_Dirs): New flag
- (Warn_On_Assertion_Failure): New flag
- (Wide_Character_Encoding_Method_Specified): New flag
- (Suppress_All_Inlining): New switch set by -fno-inline
- (Real_VMS_Target): New flag
- New pragma Fast_Math
-
-2007-12-13 Robert Dewar <dewar@adacore.com>
-
- * back_end.adb: Recognize -fno-inline
-
-2007-12-13 Robert Dewar <dewar@adacore.com>
-
- * checks.adb: Fix optimization problem with short-circuited form
-
-2007-12-13 Bob Duff <duff@adacore.com>
-
- * clean.adb (Usage): Add line for -aP
- (Check_Version_And_Help): Change Check_Version_And_Help to be generic,
- with a parameter "procedure Usage", instead of passing a pointer to a
- procedure. This is to eliminate trampolines (since the Usage procedure
- is often nested in a main procedure, and it would be inconvenient to
- unnest it).
-
- * g-comlin.adb (For_Each_Simple_Switch): Change For_Each_Simple_Switch
- to be generic, with a parameter "procedure Callback (...)", instead of
- passing a pointer to a procedure. This is to eliminate trampolines
- (since the Callback procedure is usually nested).
-
- * gnatfind.adb, switch.adb, switch.ads, gnatlink.adb, gnatls.adb,
- gnatname.adb, gnatxref.adb, gnatchop.adb, gprep.adb, gnatbind.adb
- (Check_Version_And_Help): Change Check_Version_And_Help to be generic.
-
- * g-pehage.adb (Compute_Edges_And_Vertices, Build_Identical_Key_Sets):
- Use the generic Heap_Sort_G instead of Heap_Sort_A.
-
-2007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
-
- * einfo.ads, einfo.adb: Flag 232 is now Implemented_By_Entry.
- (Implemented_By_Entry, Set_Implemented_By_Entry): New routines.
- (Write_Entry_Flags): Add an entry for Implemented_By_Entry.
- (Renamed_In_Spec): New flag
- (Has_Pragma_Inline_Always): New flag
- Add missing doc for pragma Obsolescent_Warning
- Add missing doc for 17 additional unused flags (230-247)
- (Is_Derived_Type): Remove condition "not Is_Generic_Type".
- Alphabetize with clauses.
- Separate Is_Thunk and Has_Thunks flags
- (Write_Entity_Flags): Add forgotten entry for Has_Thunks
- (Related_Interface): Renamed to Related_Type.
- (Has_Thunks/Set_Has_Thunks): Subprograms of new attribute.
- (Set_Is_Flag): Restrict the assertion.
-
-2007-12-13 Vincent Celier <celier@adacore.com>
-
- * errout.adb (Output_Source_Line): Do not keep a trailing space after
- the source line number if the source line is empty.
-
-2007-12-13 Geert Bosch <bosch@adacore.com>
-
- * eval_fat.adb (Decompose_Int): Handle argument of zero.
- (Compose): Remove special casing of zero.
- (Exponent): Likewise.
- (Fraction): Likewise.
- (Machine): Likewise.
- (Decompose): Update comment.
-
-2007-12-13 Ed Schonberg <schonberg@adacore.com>
-
- * exp_aggr.adb (Build_Record_Aggr_Code): If there is an aggregate for a
- limited ancestor part, initialize controllers of enclosing record
- before expanding ancestor aggregate.
- (Gen_Assign): If a component of the aggregate is box-initialized, add
- code to call Initialize if the component is controlled, and explicit
- assignment of null if the component is an access type.
-
- Handle properly aggregates for limited types that appear in object
- declarations when the aggregate contains controlled values such as
- protected types.
- When expanding limited aggregates into individual components, do not
- call Adjust on controlled components that are limited.
-
-2007-12-13 Ed Schonberg <schonberg@adacore.com>
-
- * expander.adb: Take into account N_Subprogram_Renaming_Declaration
-
-2007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch3.adb (Predefined_Primitive_Bodies): Generate the body of
- predefined primitive _Disp_Requeue.
- (Make_Predefined_Primitive_Specs): Create the spec for predefined
- primitive _Disp_Requeue.
- (Make_Predefined_Primitive_Specs/Predefined_Primitive_Bodies): Set the
- type of formal Renamed_Eq to Entity_Id (instead of Node_Id).
- (Make_Predefined_Primitive_Specs): Spec of "=" needed if the parent is
- an interface type. In case of limited interfaces we now declare all the
- predefined primitives associated with synchronized interfaces as
- abstract.
- (Predef_Spec_Or_Body): For interface types generate abstract subprogram
- declarations.
- (Predefined_Primitive_Bodies): Add body of "=" if the parent of the
- tagged type is an interface type and there is no user-defined equality
- function.
- Add also bodies of predefined primitives associated with synchronized
- interfaces.
- (Freeze_Record_Type): Do not build bodies of predefined primitives of
- interface types because they are now defined abstract.
- Add missing documentation.
- (Expand_Record_Controller): Update occurrence of Related_Interface
- to Related_Type.
- (Build_Offset_To_Top_Functions): Do nothing in case of VM.
- (Expand_N_Object_Declaration): Take into account VM_Target when handling
- class wide interface object declaration.
- (Expand_Previous_Access_Type): Do not create a duplicate master entity
- if the access type already has one.
- (Expand_N_Object_Declaration): Defend against attempt to validity check
- generic types. Noticed for -gnatVcf specified with previous errors.
-
-2007-12-13 Arnaud Charlet <charlet@adacore.com>
-
- * exp_ch4.adb (Expand_N_Attribute_Reference, Displace_Allocator_Pointer,
- Expand_Allocator_Expression): Take into account VM_Target
-
- * exp_ch5.adb (Expand_N_Extended_Return_Statement): Do not use
- secondary stack when VM_Target /= No_VM
-
-2007-12-13 Javier Miranda <miranda@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch7.adb (Expand_N_Package_Body): Replace occurrence of attribute
- Is_Complation_Unit by Is_Library_Level_Entity in the code
- that decides if the static dispatch tables need to be built.
- (Wrap_Transient_Declaration): Do not generate a finalization call if
- this is a renaming declaration and the renamed object is a component
- of a controlled type.
-
-2007-12-13 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch8.ads, exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration):
- In the case where the renamed subprogram is a dereference, call
- Force_Evaluation on the prefix.
-
-2007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch9.adb (Expand_N_Asynchronous_Select,
- Expand_N_Conditional_Entry_Call, Expand_N_Timed_Entry_Call): Code and
- comment reformatting.
- (Set_Privals): Inherit aliased flag from formal. From code reading.
- (Build_Simple_Entry_Call): Out parameters of an access type are passed
- by copy and initialized from the actual. This includes entry parameters.
- (Expand_N_Requeue_Statement): Reimplement in order to handle both Ada 95
- and Ada 2005 models of requeue.
- (Null_Statements): Still connsider do-end block null if it contains
- Unreferenced and Warnings pragmas.
- (Expand_N_Accept_Statement): Do not optimize away null do end if
- dispatching policy is other than defaulted.
- (Expand_N_Timed_Entry_Call): When the triggering statement is a
- dispatching call, manually analyze the delay statement.
- (Find_Parameter_Type): Move subprogram to Sem_Util.
-
-2007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Primitive
- _Disp_Requeue occupies dispatch table slot number 15. Move
- _Disp_Timed_Select to slot 16.
- (Make_Disp_Requeue_Body, Make_Disp_Requeue_Spec): New routines which
- generate the spec and body of _Disp_Reqeueue.
- (Make_DT): Build and initialize the second dispatch table.
- Handle initialization of RC_Offset when the parent
- is a private type with variable size components.
- (Make_Secondary_DT): Complete documentation. Add support to
- initialize the second dispatch table.
- (Make_Tags): Generate the tag of the second dispatch table.
- (Register_Primitive): Add support to register primitives in the
- second dispatch table.
-
-2007-12-13 Pascal Obry <obry@adacore.com>
-
- * expect.c (__gnat_kill) [WIN32]: Implement the SIGINT signal on
- Windows. This signal is used by gnatmake to kill child processes for
- example.
-
-2007-12-13 Javier Miranda <miranda@adacore.com>
-
- * exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing
- support for generic dispatching constructor calls in which we need to
- locate the tag of a secondary dispatch table associated with an
- interface type to properly dispatch the call.
- (Expand_N_Attribute_Reference [case Address],
- Expand_Dispatching_Constructor_Call, Expand_Unc_Deallocation): Fix
- handling of VM targets.
-
-2007-12-13 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * exp_prag.adb (Expand_Pragma_Assert): Recognize new warning flag for
- assert fail
-
- * ug_words: Add entries for -gnatw.a -gnatw.A
-
- * sem_res.adb (Set_String_Literal_Subtype): If the context of the
- literal is a subtype with non-static constraints, use the base type of
- the context as the base of the string subtype, to prevent type
- mismatches in gigi.
- (Resolve_Actuals): If the actual is an entity name, generate a
- reference before the actual is resolved and expanded, to prevent
- spurious warnings on formals of enclosing protected operations.
- (Analyze_Overloaded_Selected_Component): If type of prefix if
- class-wide, use visible components of base type.
- (Resolve_Selected_Component): Ditto.
- (Resolve_Short_Circuit): Detect case of pragma Assert argument
- evaluating to False, and issue warning message.
-
- * usage.adb: Add lines for -gnatw.a and -gnatw.A
-
-2007-12-13 Emmanuel Briot <briot@adacore.com>
-
- * g-calend.ads (No_Time): New constant, to represent an uninitialized
- time value
-
- * g-catiio.ads, g-catiio.adb (Value): Added support for more date
- formats.
- (Month_Name_To_Number): New subprogram
-
- * g-dirope.adb (Get_Current_Dir): On windows, normalize the drive
- letter to upper-case.
-
-2007-12-13 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * gnat1drv.adb (Gnat1drv): Properly set new flag Opt.Real_VMS_Target
-
- * layout.adb (Resolve_Attribute, case 'Access): If designated type of
- context is a limited view, use non-limited view when available. If the
- non-limited view is an unconstrained array, this enforces consistency
- requirements in 3.10.2 (27).
- (Layout_Type): For an access type whose designated type is a limited
- view, examine its declaration to determine if it is an unconstrained
- array, and size the access type accordingly.
- (Layout_Type): Do not force 32-bits for convention c subprogram
- pointers in -gnatdm mode, only if real vms target.
-
- * sem_attr.adb (Analyze_Access_Attribute): Use new flag
- Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
- (Analyze_Access_Attribute,Attribute_Address): Remove checks for
- violations of the No_Implicit_Dynamic_Code restriction.
- (Resolve_Attribute, case 'Access): If designated type of context is a
- limited view, use non-limited view when available. If the non-limited
- view is an unconstrained array, this enforces consistency requirements
- in 3.10.2 (27).
- (Layout_Type): For an access type whose designated type is a limited
- view, examine its declaration to determine if it is an unconstrained
- array, and size the access type accordingly.
-
-2007-12-13 Vincent Celier <celier@adacore.com>
-
- * gnatcmd.adb (GNATCmd): Do not issue -d= switch to gnatmetric when
- object directory of main project does not exist.
- On VMS, correctly set then environment variable for the source
- directories.
-
-2007-12-13 Vasiliy Fofanov <fofanov@adacore.com>
-
- * g-regist.ads, g-regist.adb (Set_Value): new parameter Expand; when
- set to True this procedure will create the value of type REG_EXPAND_SZ.
- It was only possible to create REG_SZ values before.
-
-2007-12-13 Robert Dewar <dewar@adacore.com>
-
- * g-spchge.ads, g-spchge.adb, g-u3spch.adb, g-u3spch.ads,
- g-wispch.adb, g-wispch.ads, g-zspche.adb, g-zspche.ads,
- namet-sp.adb, namet-sp.ads: New files.
-
- * g-speche.adb: Use generic routine in g-spchge
-
- * s-wchcnv.ads, s-wchcnv.adb:
- Minor code cleanup (make formal type consistent with spec)
-
- * namet.adb: Update comments.
-
- * par-endh.adb (Evaluate_End_Entry): Use new
- Namet.Sp.Is_Bad_Spelling_Of function
-
- * par-load.adb (Load): Use new Namet.Sp.Is_Bad_Spelling_Of function
-
- * sem_aggr.adb (Resolve_Record_Aggregate): If a component of an
- ancestor is an access type initialized with a box, set its type
- explicitly, for use in subsequent expansion.
- (Check_Misspelled_Component): Use new Namet.Sp.Is_Bad_Spelling_Of
- function
-
-2007-12-13 Robert Dewar <dewar@adacore.com>
-
- * g-spipat.adb (Break): Fix accessibility error (vsn taking not null
- access Vstring)
-
-2007-12-13 Robert Dewar <dewar@adacore.com>
-
- * inline.adb (Back_End_Cannot_Inline): Use new flag
- Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
-
- * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Use new flag
- Has_Pragma_Inline_Always instead.
- of obsolete function Is_Always_Inlined
- (Build_Body_To_Inline): Same change
- (Cannot_Inline): Same change
- Do not give warning on exception raise in No_Return function
-
- * sem_ch13.adb (Analyze_Record_Representation_Clause): If an inherited
- component has two inconsistent component clauses in the same record
- representation clause, favor the message that complains about
- duplication rather than inconsistency.
- Update comments.
- (Record_Representation_Clause): Do not warn on missing component
- clauses for inherited components of a type extension.
- (Rep_Item_Too_Late): Do not attempt to link pragma into rep chain for
- an overloadable item if it is a pragma that can apply to multiple
- overloadable entities (e.g. Inline) because a pragma cannot be on
- more than one chain at a time.
- (Validate_Unchecked_Conversion): Add code to warn on unchecked
- conversion where one of the operands is Ada.Calendar.Time.
- (Analyze_Attribute_Definition_Clause): Fix typo in error message.
- For now, ignore Component_Size clause on VM targets, as done for
- pragma Pack.
-
-2007-12-13 Emmanuel Briot <briot@adacore.com>
- Vincent Celier <celier@adacore.com>
-
- * prj.ads, prj.adb (Is_A_Language): Now takes a Name_Id instead of a
- string
- (Must_Check_Configuration, Default_Language_Is_Ada): new flags in
- prj.ads
- (Hash): Move instantiation of System.HTable.Hash from spec to body
- (prj-nmsc.adb): Optimize calls to Name_Find when on case sensitive
- systems, since we do not need to recompute the Name_Id for the canonical
- file name.
- (Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id
- as a parameter. This parameter is in fact always "ada" in all calls, and
- we were doing 160560 extra calls to Name_Find to convert it to Name_Ada
- while loading a project with 40000 files
-
- * prj-attr.adb: Fix name of attribute Dependency_Driver
- Change the kind of indexing for attribute Root
-
- * prj-dect.adb (Parse_Declarative_Items): Allow redeclarations of
- variables already declared, in case constructions.
-
- * prj-env.adb (Initialize): Reset Current_Source_Path_File and
- Current_Object_Path_File to No_Path.
-
- * prj-ext.adb (Initialize_Project_Path): In multi language mode, use
- ADA_PROJECT_PATH if value of GPR_PROJECT_PATH is empty.
-
- * prj-makr.adb: new parameter Current_Dir
-
- * prj-nmsc.ads, prj-nmsc.adb (Find_Explicit_Sources): Do not look for
- Ada sources when language is not Ada.
- Change Opt.Follow_Links to Opt.Follow_Links_For_Files.
- (Find_Excluded_Sources, Find_Explicit_Sources): new subprograms
- (Must_Check_Configuration, Default_Language_Is_Ada): new flags.
- (Locate_Directory): Always resolve links when computing Canonical_Path
- (Look_For_Sources): Make sure that Name_Buffer contains the file name
- in Source_Files before checking for the presence of a directory
- separator.
- Optimize calls to Name_Find when on case sensitive systems.
- (Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id
- as a parameter.
- (Prj.Nmsc.Check): new parameter Current_Dir
- (Check_Ada_Naming_Schemes): Restrictions on suffixes are relaxed. They
- cannot be empty and the spec suffix cannot be the same as the body or
- separate suffix.
- (Get_Unit): When a file name can be of several unit kinds (spec, body or
- subunit), always consider the longest suffix.
- (Check_Configuration): Do not issue an error if there is no compiler
- for a language. Just issue a warning and ignore the sources for the
- language.
- (Check_Library_Attributes): Only check Library_Dir if Library_Name is
- not empty.
- (Check_Naming_Schemes.Maked_Unit): Only output message if high verbosity
- (Unit_Exceptions): New hash table
- (Check_Naming_Schemes): Check if a file that could be a unit because of
- the naming scheme is not in fact a source because there is an exception
- for the unit.
- (Look_For_Sources): Put the unit exceptions in hash table
- Unit_Exceptions
- (Get_Unit_Exceptions): Give initial value No_Source to local variable
- Other_Part to avoid exception when code is compiled with validity
- checking.
- (Get_Sources_From_File): Check that there is no directory information
- in the file names.
- (Look_For_Sources): Check that there is no directory information in the
- list of file names in Source_Files.
- (Look_For_Sources): In multi-language mode, do not allow exception file
- names that are excluded.
- (Excluded_Sources_Htable): New hash table
- (Search_Directories.Check_File): New procedure to simplify
- Search_Directories.
- (Search_Directories): Do not consider excluded sources
- (Look_For_Sources): Populate Excluded_Sources_Htable before calling
- Search_Directories.
- (Get_Exceptions): Set component Lang_Kind of Source_Data
- (Get_Unit_Exceptions): Ditto
- (Search_Directories): Ditto
-
- * prj-pars.adb: new parameter Current_Dir
-
- * prj-part.ads, prj-part.adb:
- Change Opt.Follow_Links to Opt.Follow_Links_For_Files.
- (Opt.Follow_Links_For_Dirs): New flag
- (Project_Path_Name_Of): Cache information returned by this routine as
- Locate_Regular_File is a costly routine. The code to output a log
- information and the effective call to Locate_Regular_File is now
- factorized into a routine (code clean-up).
- (Parse, Parse_Single_Project): new parameter Current_Dir
- When main project file cannot be found, indicate in the error
- message the project path that was used to do the search.
-
- * prj-proc.ads, prj-proc.adb (Opt.Follow_Links_For_Dirs): New flag
- (Prj.Proc.Process*): new parameter Current_Dir
-
- * switch-m.adb: Change Opt.Follow_Links to Opt.Follow_Links_For_Files
-
-2007-12-13 Bob Duff <duff@adacore.com>
-
- * restrict.ads, restrict.adb (Check_Implicit_Dynamic_Code_Allowed): New
- procedure to be called from the back end to check the
- No_Implicit_Dynamic_Code restriction.
-
-2007-12-13 Arnaud Charlet <charlet@adacore.com>
-
- * rtsfind.adb (Check_CRT): Take into account RTE_Available_Call
- Fixes another case where RTE_Available_Call was ignored instead of being
- taken into account.
- (Load_Fail): Ditto.
-
- * rtsfind.ads: Add new entries.
-
-2007-12-13 Robert Dewar <dewar@adacore.com>
-
- * g-byorma.adb, g-byorma.ads, g-decstr.adb, g-decstr.ads,
- g-deutst.ads, g-encstr.adb, g-encstr.ads, g-enutst.ads: New files.
-
- * scn.adb: Implement BOM recognition
-
-2007-12-13 Thomas Quinot <quinot@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch10.adb (Check_Private_Child_Unit): A non-private library level
- subprogram body that acts as its own spec may not have a non-private
- WITH clause on a private sibling.
- (Build_Unit_Name): If the parent unit in the name in a with_clause on a
- child unit is a renaming, create an implicit with_clause on that
- parent, and not on the unit it renames, to prevent visibility errors
- in the current unit.
-
-2007-12-13 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Instantiate_Formal_Subprogram): In the subprogram
- renaming declaration, use the Slocs of the formal parameters from the
- declaration of the formal subprogram when creating the formal parameter
- entities in the renaming declaration.
- (Analyze_Formal_Type_Declaration): Change the placement of the error
- message concerning illegal known discriminants. It is now posted on the
- type rather than on the first discriminant. This change ensures early
- error report.
- (Freeze_Subprogram_Body): If the generic subprogram is nested within
- the package body that contains the instance, do not generate an
- out-of-place freeze node for the enclosing package.
- (Collect_Previous_Instantiations): Ignore internal instantiations
- generated for formal packages.
- (Validate_Derived_Type_Instance): Add a check that when a formal
- derived type is Known_To_Have_Preelab_Init then the actual type must
- have preelaborable initialization, and issue an error when this
- condition is violated.
-
-2007-12-13 Robert Dewar <dewar@adacore.com>
-
- * s-imenne.adb, s-imenne.ads: New files.
-
- * s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
- s-imgdec.ads, s-imgenu.ads, s-imgint.adb, s-imgint.ads, s-imglld.adb,
- s-imglld.ads, s-imglli.adb, s-imglli.ads, s-imgllu.adb, s-imgllu.ads,
- s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwch.adb,
- s-imgwch.ads: New calling sequence for Image routines to avoid sec
- stack usage.
-
-2007-12-13 Javier Miranda <miranda@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Avoid
- generation of spurious error if parent is an interface type; caused
- because predefined primitive bodies will be generated later by
- Freeze_Record_Type.
- (Process_Subtype): The subtype inherits the Known_To_Have_Preelab_Init
- flag.
- (Derive_Subprograms): Handle derivations of predefined primitives
- after all the user-defined primitives to ensure that they are
- found in proper order in instantiations.
- (Add_Interface_Tag_Components, Inherit_Components): Update occurrences
- of Related_Interface to Related_Type.
- (Record_Type_Declaration): Minor reordering of calls to decorate the
- Tag component because the entity must have set its Ekind attribute
- before setting its Is_Tag attribute.
- (Analyze_Subtype_Declaration): In the case of subtypes with
- Private_Kind, inherit Known_To_Have_Preelab_Init from the parent.
-
-2007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Analyze_Selected_Component): Include the requeue
- statement to the list of contexts where a selected component with a
- concurrent tagged type prefix should yield a primitive operation.
- (Find_Primitive_Operation): Handle case of class-wide types.
- (Analyze_Overloaded_Selected_Component): If type of prefix is
- class-wide, use visible components of base type.
- (Resolve_Selected_Component): Ditto.
- (Try_Primitive_Operation, Collect_Generic_Type_Ops): If the type is a
- formal of a generic subprogram. find candidate interpretations by
- scanning the list of generic formal declarations.:
- (Process_Implicit_Dereference_Prefix): If the prefix has an incomplete
- type from a limited_with_clause, and the full view is available, use it
- for subsequent semantic checks.
- (Check_Misspelled_Selector): Use Namet.Sp.Is_Bad_Spelling_Of function
- (Find_Primitive_Operation): New function.
- (Analyze_Overloaded_Selected_Component): insert explicit dereference
- only once if several interpretations of the prefix yield an access type.
- (Try_Object_Operation): Code and comment cleanup.
- (Analyze_Selected_Component): Reorder local variables. Minot comment and
- code reformatting. When the type of the prefix is tagged concurrent, a
- correct interpretation might be available in the primitive and
- class-wide operations of the type.
-
-2007-12-13 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Analyze_Subprogram_Renaming): Special error message for
- renaming entry as subprogram using rename-as-body if subprogram spec
- frozen.
- (Use_One_Type): The clause is legal on an access type whose designated
- type has a limited view.
- (Find_Direct_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
- (Find_Expanded_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
- (Analyze_Renamed_Primitive_Operation): new procedure to determine the
- operation denoted by a selected component.
- (Analyze_Renamed_Entry): Resolve the prefix of the entry name, because
- it can be an expression, possibly overloaded, that returns a task or
- an access to one.
-
-2007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch9.adb (Analyze_Requeue): Add a local flag to capture whether a
- requeue statement is dispatching. Do not emit an error when the name is
- not an entry and the context is a dispatching select. Add code to
- perform subtype conformance between the formals of the current entry
- and those of the target interface primitive.
- (Analyze_Asynchronous_Select, Analyze_Conditional_Entry_Call, Analyze_
- Timed_Entry_Call): Analyze the triggering statement as the first step of
- the processing. If this is a dispatching select, postpone the analysis
- of all select statements until the Expander transforms the select. This
- approach avoids generating duplicate identifiers after the Expander has
- replicated some of the select statements. In case the Expander is
- disabled, perform regular analysis.
- (Check_Triggering_Statement): New routine.
- (Analyze_Requeue): Exclude any interpretations that are not entries when
- checking overloaded names in a requeue. Also test type conformance for
- matching interpretations rather than requiring subtype conformance at
- that point to conform with the RM's resolution rule for requeues.
-
-2007-12-13 Ed Schonberg <schonberg@adacore.com>
-
- * sem_disp.adb (Check_Dispatching_Call): If an actual in a call to an
- inherited operation is a defaulted tag-indeterminate call, and there is
- a statically tagged actual, use the static tag as a controlling actual
- for the defaulted actual.
-
-2007-12-13 Geert Bosch <bosch@adacore.com>
-
- * sem_eval.adb (Eval_Real_Literal): N_Constant_Declaration is a static
- context, so do not call Check_Non_Static_Context.
-
-2007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_type.adb (Function_Interp_Has_Abstract_Op): Add guard to check
- whether formal E is an entity which may have parameters.
-
-2007-12-13 Bob Duff <duff@adacore.com>
- Javier Miranda <miranda@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * sem_util.ads, sem_util.adb (Is_Concurrent_Interface): New routine.
- (Set_Convention): New procedure to set the Convention flag, and in
- addition make sure the Favor_Top_Level flag is kept in sync (all
- foreign-language conventions require Favor_Top_Level = True).
- (Collect_Abstract_Interfaces): Update occurrences of Related_Interface
- to Related_Type.
- (Collect_Interfaces_Info): Minor update to handle the two secondary
- dispatch tables. Update occurrence of Related_Interface to Related_Type.
- (Generate_Parent_Ref): Add parameter to specify entity to check
- (Is_Preelaborable_Expression): Allow the name of a discriminant to
- initialize a component of a type with preelaborable initialization.
- This includes the case of a discriminal used in such a context.
- (Is_Dependent_Component_Of_Mutable_Object): Take into account the
- latest Ada 2005 rules about renaming and 'Access of
- discriminant-dependent components.
- (Check_Nested_Access): Add handling when there are no enclosing
- subprograms (e.g. case of a package body).
- (Find_Parameter_Type): Factor routine from several other compiler files.
- Remove routine from Find_Overridden_Synchronized_Primitive.
-
-2007-12-13 Thomas Quinot <quinot@adacore.com>
-
- * sinput.adb (Get_Source_File_Index): Add assertion to guard against
- an invalid access to an uninitialized slot in the
- Source_File_Index_Table.
-
-2007-12-13 Thomas Quinot <quinot@adacore.com>
-
- * sinput-l.adb (Load_File): Disable style checks when preprocessing.
-
-2007-12-13 Bob Duff <duff@adacore.com>
-
- * s-soflin.ads: Apply new pragma Favor_Top_Level to all
- access-to-subprogram types in this package.
-
-2007-12-13 Olivier Hainque <hainque@adacore.com>
-
- * s-stausa.ads (Stack_Analyzer): Remove First_Is_Topmost, redundant
- with Stack_Grows_Down in System.Parameters. Rename Array_Address into
- Stack_Overlay_Address and document that we are using an internal
- abstraction.
- (Byte_Size, Unsigned_32_Size): Remove, now useless.
- (Pattern_Type, Bytes_Per_Pattern): New subtype and constant, to be used
- consistently throughout the various implementation pieces.
-
- * s-stausa.adb (Stack_Slots): New type, abstraction for the stack
- overlay we are using to fill the stack area with patterns.
- (Top_Slot_Index_In, Bottom_Slot_Index_In): Operations on Stack_Slots.
- (Push_Index_Step_For, Pop_Index_Step_For): Likewise.
- (Fill_Stack, Compute_Result): Use the Stack_Slots abstraction.
-
-2007-12-13 Robert Dewar <dewar@adacore.com>
-
- * s-stoele.adb ("mod"): mod negative value raises Constraint_Error
-
-2007-12-13 Arnaud Charlet <charlet@adacore.com>
-
- * s-tassta.adb:
- (Create_Task): Take into account tasks created by foreign threads.
- Code clean up: use constants instead of hard coded values.
-
-2007-12-13 Robert Dewar <dewar@adacore.com>
-
- * styleg.adb (Check_Comment): More liberal rules for comment placement
-
-2007-12-13 Olivier Hainque <hainque@adacore.com>
-
- * tb-alvms.c (struct tb_entry_t, __gnat_backtrace): Revert back to use
- of Procedure Value instead of Frame Pointer as the invocation
- identifier associated with the instruction pointer in each traceback
- entry.
-
- * g-trasym-vms-alpha.adb (Traceback_Entry, PV_For, FP_For,
- TB_Entry_For): Revert back to use of Procedure Value instead of Frame
- Pointer as the invocation identifier passed to tbk$symbolize.
-
- * s-traent-vms.ads, s-traent-vms.adb
- (Traceback_Entry, PV_For, FP_For, TB_Entry_For): Revert back to use of
- Procedure Value instead of Frame Pointer as the invocation identifier
- passed to tbk$symbolize.
-
-2007-12-13 Robert Dewar <dewar@adacore.com>
-
- * tbuild.ads, tbuild.adb:
- Fix location of flag for unrecognized pragma message
-
-2007-12-13 Robert Dewar <dewar@adacore.com>
-
- * treepr.ads, treepr.adb: (pl): implement use of positive value
- shorthands
-
-2007-12-13 Robert Dewar <dewar@adacore.com>
-
- * xeinfo.adb: Remove warnings
- * xnmake.adb: Remove warnings
- * xsinfo.adb: Remove warnings
- * xtreeprs.adb: Remove warnings
- * xsnames.adb: Remove warnings
-
- * a-ngcoar.adb: Fix typo.
- * s-interr.adb: Minor reformatting
- * env.c: Minor reformatting.
- * g-bytswa.adb: Minor reformatting.
- * g-rannum.ads: Minor documentation improvements
- * s-tasinf-mingw.adb: Minor header fix
- * a-clrefi.adb: Minor reformatting
- * g-sttsne.ads: Minor documentation improvement
- * g-sttsne-locking.ads: Minor documentation improvement
- * g-soliop-solaris.ads: Minor documentation improvement
- * g-soliop-mingw.ads: Minor documentation improvement
- * g-soliop.ads: Minor documentation improvement
- * exp_aggr.ads: Minor reformatting
- * debug.adb: Add documentation for the gprbuild debug flags
- * exp_ch2.adb: Use Nkind_In to simplify code throughout
- * exp_pakd.adb: Minor reformatting
-
- * g-altive.ads, g-alleve.adb: Remove assertions.
- Add comment about minor differences between targets regarding
- floating-point operations.
-
- * g-thread.adb: Remove pragma unreferenced.
- * lib.ads: Minor reformatting
- * par-ch9.adb: Minor reformatting of error messages
- * sem_case.adb: Minor reformatting
- * s-fileio.adb: Minor reformattinng
- * s-vmexta.ads: Minor typo
- * vxaddr2line.adb:
- Take into account 'Success' value as per new GNAT warning.
-
-2007-12-13 Vincent Celier <celier@adacore.com>
-
- * a-direct.adb (Create_Path): Always take '/' as a directory separator,
- even on Windows
-
-2007-12-13 Robert Dewar <dewar@adacore.com>
- Bob Duff <duff@adacore.com>
-
- * gnat_ugn.texi: Dcoument new rules for style check comment alignment
- Document that suffixes may be terminations of each others
- Add doc for -gnatw.a and -gnatw.A
- Document gnatbind -Wx switch
- Document BOM recognition
- Document pragma Implemented_By_Entry.
- Document new units.
-
- * gnat_rm.texi: (Favor_Top_Level): Document new pragma.
- Add doc for pragma Unreferenced suppressing no entities referenced msg
- Add documentation of GNAT.Directory_Operations.Iteration
- Add documentation of GNAT.Random_Numbers
- Add documentation for pragma Shared.
- Correct documentation for Bit_Order
- Add documentation for the Pool_Address attribute.
- Fix and improve documentation of pragma machine_attribute.
- New pragma Fast_Math
- Document BOM recognition
-
- * vms_data.ads: Add entries for -gnatw.a -gnatw.A
- Add /Wide_Character_Encoding for binder
- Add qualifier for the new gnatpp option --no-separate-loop-then
-
-2007-12-13 Matthew Heaney <heaney@adacore.com>
-
- * a-cohase.ads, a-cihama.ads, a-cihase.ads, a-cohama.ads: Document
- which generic formal operations are called for each operation.
-
-2007-12-13 Olivier Hainque <hainque@adacore.com>
-
- * tb-gcc.c (uw_data_t, trace_callback): Only define if not GCC-SJLJ eh.
- (__gnat_backtrace): Early return 0 if using GCC-SJLJ eh.
-
-2007-12-13 Emmanuel Briot <briot@adacore.com>
-
- * s-os_lib.ads, s-os_lib.adb (Normalize_Pathname): Do not compute
- Reference_Dir unless we actually need it.
-
-2007-12-13 Vasiliy Fofanov <fofanov@adacore.com>
- Tristan Gingold <gingold@adacore.com>
-
- * g-socthi-vms.ads (Fd_Set_Access): make it 32-bit.
-
- * s-osprim-vms.adb,
- a-calend-vms.adb: Remove pragma warning off and add pragma
- unreferenced.
-
-2007-12-13 Robert Dewar <dewar@adacore.com>
-
- * impunit.adb: Add entries for missing units
-
- * Makefile.rtl: Add new run-time units.
-
- * Make-lang.in: Update dependencies.
-
-2007-12-13 Bob Duff <duff@adacore.com>
-
- * itypes.ads, itypes.adb (Create_Itype): For access-to-subprogram
- types, set Can_Use_Internal_Rep appropriately, based on
- Always_Compatible_Rep_On_Target.
-
-2007-12-13 Gary Dismukes <dismukes@adacore.com>
- Arnaud Charlet <charlet@adacore.com>
-
- * make.adb (Scan_Make_Arg): Add test for -aamp_target switch, passing
- it to the front end and setting the aamp_target environment variable
- to the switch's argument to ensure that gnaampbind and gnaamplink will
- take the specified library into account.
- (Make): Only set Check_Object_Consistency to False for JVM, not for CIL
- target, since the CIL compiler supports an "object" file (.il files).
-
-2007-12-13 Vincent Celier <celier@adacore.com>
-
- * symbols-processing-vms-ia64.adb (Process.Skip_Half): New procedure
- (Process.H): Remove variable. Replace Read_Half (H) with Skip_Half.
-
-2007-12-13 Geert Bosch <bosch@adacore.com>
-
- * s-parame-vxworks.adb:
- Update comments to reflect usage of this package by Nucleus.
-
-2007-12-13 Arnaud Charlet <charlet@adacore.com>
-
- * i-vxwork.ads: Kill new warning on Convention C, since changing the
- spec would break code.
-
- * i-forbla-unimplemented.ads, vx_stack_info.c: New files.
-
- * system-vxworks-alpha.ads: Removed.
-
-2007-12-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * ada-tree.h (TYPE_RETURNS_BY_TARGET_PTR_P): Move around.
-
-2007-12-09 Samuel Tardieu <sam@rfc1149.net>
-
- PR ada/34366
- * sem_ch3.adb (Designates_T): New function.
- (Mentions_T): Factor reusable part of the logic into Designates_T.
- Consider non-access parameters and access and non-access result.
- (Check_Anonymous_Access_Components): Set ekind of anonymous access to
- E_Subprogram_Type to E_Anonymous_Access_Subprogram_Type.
-
- * einfo.ads: Update comment for E_Anonymous_Access_Subprogram_Type.
-
-2007-12-07 Ludovic Brenta <ludovic@ludovic-brenta.org>
-
- PR ada/34361
- * mlib-tgt.adb, mlib-tgt.ads: Fix comments at the top to reflect
- the new implementation of target-specific calls.
-
-2007-12-07 Olivier Hainque <hainque@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <case E_Access_Type>: When computing
- the designated full view, only follow a second level Full_View link
- for Non_Limited_Views of from_limited_with references.
-
-2007-12-07 Samuel Tardieu <sam@rfc1149.net>
-
- PR ada/15805
- * sem_ch6.adb (Process_Formals): Prevent an access type formal
- to be initialized with an access to constant object.
-
- * sem_ch3.adb (Analyze_Object_Declaration): Signal an error
- when an access to constant is used to initialize an access
- value.
-
- PR ada/21346
- * a-direct.adb (Compose): Containing_Directory can be an empty string.
-
-2007-12-07 Olivier Hainque <hainque@adacore.com>
-
- PR ada/34173
- * decl.c (gnat_to_gnu_entity) <case E_Array_Type>: When setting
- the alignment on the GCC XUA array type, set TYPE_USER_ALIGN if
- this is from an alignment clause on the GNAT entity.
- * utils.c (create_field_decl): Rewrite the computation of DECL_ALIGN
- to distinguish the case where we set it from the type's alignment.
- When so, propagate TYPE_USER_ALIGN into DECL_USER_ALIGN to indicate
- whether this alignment was set from an explicit alignment clause.
-
-2007-12-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (make_packable_type): Revert last change.
- (gnat_to_gnu_field): Avoid setting size and position multiple times.
- * utils.c (finish_record_type): Retrieve the real name of the type.
-
-2007-12-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * trans.c (lvalue_required_p): Take base node directly instead
- of its parent. Rename second parameter to 'gnu_type'.
- <N_Indexed_Component>: Return 0 if the node isn't the prefix.
- <N_Slice>: Likewise.
- (Identifier_to_gnu): Rename parent_requires_lvalue to require_lvalue.
- Adjust calls to lvalue_required_p.
-
-2007-12-05 Samuel Tardieu <sam@rfc1149.net>
-
- PR ada/21489
- * exp_ch9.adb (Build_Simple_Entry_Call): Initialize OUT access type
- parameters of an entry call.
-
-2007-12-03 Robert Dewar <dewar@adacore.com>
- Samuel Tardieu <sam@rfc1149.net>
-
- PR ada/34287
- * sem_util.adb (Safe_To_Capture_Value): Do not capture values
- of variables declared in a library-level package.
-
-2007-12-02 Samuel Tardieu <sam@rfc1149.net>
-
- * clean.adb (Clean_Library_Directory): Use Empty_String'Access intead
- of Empty_String'Unchecked_Access.
-
- * Makefile.in: Add support for sh4-linux.
-
- * system-linux-sh4.ads: New file.
-
-2007-12-01 Kostik Belousov <kostikbel@ukr.net>
-
- PR ada/33722
- * env.c (__gnat_setenv): FreeBSD 7 has a POSIX conformant putenv()
- and its argument must not be free()ed.
-
-2007-11-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (make_packable_type): Retrieve the real name of the type.
- (maybe_pad_type): Simplify similar code.
-
-2007-11-28 Samuel Tardieu <sam@rfc1149.net>
-
- PR ada/15804
- * par-ch3.adb (P_Variant_Part): Signal an error when anything other
- than an identifier is used after "case" in a variant_part.
-
- PR ada/17318
- * par-ch4.adb (Is_Parameterless_Attribute): New map.
- (P_Name, Scan_Apostrophe block): Parse left parenthesis following
- attribute name or not depending on the new map.
-
- * sem-attr.adb (Analyze_Attribute): Parameterless attributes
- returning a string or a type will not be called with improper
- arguments.
-
- * sem-attr.ads (Attribute_Class_Array): Move to snames.ads.
-
- * snames.ads (Attribute_Class_Array): Moved from sem-attr.ads.
-
- PR ada/32792
- * sem_attr.adb (Analyze_Attribute, Attribute_Integer_Value clause):
- Signal an error when attribute argument is a fixed-point value of
- an unknown type.
-
- PR ada/22559
- * sem_ch3.adb (Build_Derived_Numeric_Type): Do not set RM_Size on
- a derived ordinary fixed point type.
-
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Recompute
- RM_Size when a Small clause is found.
-
-2007-11-26 Andreas Krebbel <krebbel1@de.ibm.com>
-
- PR 34081/C++
- * trans.c (Subprogram_Body_to_gnu, Compilation_Unit_to_gnu):
- Pass 'false' for the new allocate_struct_function parameter.
- * utils.c (build_function_stub): Likewise.
-
-2007-11-25 Richard Guenther <rguenther@suse.de>
-
- * utils.c (gnat_pushlevel): Use BLOCK_CHAIN.
- (gnat_poplevel): Likewise.
-
-2007-11-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <E_Record_Type>: If the type has
- strict alignment, no alignment clause and a known static size, cap
- the type alignment to the greatest power of 2 factor of the size.
- (gnat_to_gnu_field): If the field has a component clause, is aliased
- or of a type with strict alignment, require that its size be equal to
- that of the type.
- (validate_size): Use the type size as the minimum size for a type with
- strict alignment.
-
-2007-11-23 Samuel Tardieu <sam@rfc1149.net>
-
- * s-inmaop-posix.adb, s-intman-vxworks.adb, s-taprop-hpux-dce.adb,
- s-taprop-irix.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
- s-taprop-posix.adb, s-taprop-tru64.adb, s-taprop-vxworks.adb:
- Use 'Access instead of 'Unchecked_Access in second and third
- arguments of pthread_sigmask.
-
-2007-11-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (ceil_alignment): New function.
- (gnat_to_gnu_entity): Use it to set the alignment on atomic types.
- (make_packable_type): Likewise.
-
-2007-11-22 Olivier Hainque <hainque@adacore.com>
-
- * trans.c (gnat_to_gnu) <case N_Free_Statement>: Reformat lines
- to fit in 80 columns.
-
-2007-11-21 Aurelien Jarno <aurelien@aurel32.net>
-
- * s-osinte-kfreebsd-gnu.ads (To_Target_Priority): New function.
- * Makefile.in: Add EH_MECHANISM=-gcc to kfreebsd-gnu. Remove SYMLIB.
-
-2007-11-19 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/34098
- * misc.c (gnat_adjust_rli): Delete.
- (gnat_init): Do not initialize the translation code here.
- Do not call set_lang_adjust_rli.
- * trans.c (init_code_table): Make static.
- (gnat_init_stmt_group): Delete.
- (gigi): Initialize the translation code entirely here.
- Emit debug info for the common types here instead of...
- * utils.c (gnat_init_decl_processing): ...here.
- * gigi.h (init_code_table): Delete.
- (gnat_init_stmt_group): Likewise.
-
-2007-11-16 Olivier Hainque <hainque@adacore.com>
-
- * utils2.c (build_call_alloc_dealloc) <if gnu_obj>: Move the code
- retrieving an allocator return value from a super-aligned address from
- here to ...
- * trans.c (gnat_to_gnu) <case N_Free_Statement>: ... here, and don't
- expect a super-aligned address for a fat or thin pointer.
-
-2007-11-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * trans.c (call_to_gnu): Always set the source location on the call
- expression. If the function returns-by-target, also set it on the
- address expression.
-
-2007-11-14 Samuel Tardieu <sam@rfc1149.net>
-
- * adaint.c, init.c, initialize.c, link.c: Remove system-specific
- sections of non-supported Interix target.
-
- * s-osinte-interix.ads: Removed.
-
- * i-cstrin.ads (chars_ptr): Make it a C convention type.
-
-2007-11-13 Samuel Tardieu <sam@rfc1149.net>
-
- * a-tasatt.adb: Add a comment at the beginning of the package
- explaining why in general 'Unchecked_Access must be used instead
- of 'Access.
-
- * sem_prag.adb (Process_Convention): Move the test for the
- entity on which the Convention pragma applies down to also
- forbid pragma Convention on enumeration literals reached
- through renamings.
-
-2007-11-10 Samuel Tardieu <sam@rfc1149.net>
-
- * a-tasatt.adb: Revert previous change for this file as it will
- generate an error when this package is instantiated from a
- local context.
-
-2007-11-07 Samuel Tardieu <sam@rfc1149.net>
-
- * a-tasatt.adb: Type Wrapper should be declared in comment instead
- of already declared type Node_Access.
- Use 'Access instead of 'Unchecked_Access when applicable. Local
- lifetime is the one of the package.
- (Set_Value): W is allocated on the heap.
-
- * g-socket.adb: Use 'Access instead of 'Unchecked_Access when
- applicable.
- (Get_Socket_Option): Optlen formal of C_Getsockopt is of an anonymous
- access type.
- (Receive_Socket): Fromlen formal of C_Recvfrom is of an anonymous
- access type.
-
- * s-taasde.adb: Use 'Access instead of 'Unchecked_Access when
- applicable.
- (elaboration code): Timer_Queue lifetime is the one of the
- package.
-
- * tracebak.c (i386 alternative): Remove useless comparaison
- which is always false; LOWEST_ADDRESS is 0 and is never greater
- than an unsigned integer.
-
- * sem_attr.adb (Analyze_Attribute): Remove duplicate identical
- embedded check for "Ada_Version >= Ada_05".
-
-2007-11-07 Olivier Hainque <hainque@adacore.com>
-
- * decl.c (make_aligning_type): Set the mode of the RECORD_TYPE we
- craft and expand comment.
-
-2007-11-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * lang-specs.h: Move translation of -fRTS= after -gnatez switch.
-
-2007-10-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * misc.c (gnat_handle_option): Replace call to abort with
- call to gcc_unreachable.
- (gnat_init): Likewise.
- (gnat_expand_expr): Likewise.
- (fp_prec_to_size): Likewise.
- (fp_size_to_prec): Likewise.
-
-2007-10-23 Richard Guenther <rguenther@suse.de>
-
- PR bootstrap/33608
- * tracebak.c: #undef abort after including system.h.
-
-2007-10-20 Danny Smith <dannysmith@users.sourceforge.net>
-
- * Makefile.in (LIBGNAT_TARGET_PAIRS) Add s-tasinf-mingw.adb,
- s-tasinf-mingw.ads, a-exetim-mingw.adb, a-exetim-mingw.ads
- for win32 targets.
- (EXTRA_GNATRTL_TASKING_OBJS): Add a-exetim.o for win32 targets.
-
-2007-10-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * s-osinte-tru64.adb: (Hide_Yellow_Zone): Add On parameter.
- Set the protection status of the guard page based on the value of On.
-
- * s-osinte-tru64.ads: (Hide_Yellow_Zone): Add On parameter.
-
- * s-taprop-tru64.adb: (Enter_Task): Pass True to Hide_Yellow_Zone.
- (Exit_Task): Pass False to Hide_Yellow_Zone.
-
-2007-10-15 Robert Dewar <dewar@adacore.com>
-
- * s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
- s-taprop-vxworks.adb, s-taprop-posix.adb, a-calend-vms.adb,
- a-calend.adb, a-nuflra.adb, a-tigeau.adb, a-wtgeau.adb,
- checks.adb, bindgen.adb, eval_fat.adb, exp_fixd.adb, fmap.adb,
- freeze.adb, g-awk.adb, g-calend.adb, g-diopit.adb, g-expect.adb,
- gnatchop.adb, gnatlink.adb, g-spipat.adb, g-thread.adb, make.adb,
- mdll.adb, mlib.adb, mlib-prj.adb, osint.adb, par-ch3.adb, prj.adb,
- prj-makr.adb, sem_prag.adb, sem_type.adb, s-fatgen.adb, s-fileio.adb,
- sinfo.ads, sinput-d.adb, s-taasde.adb, s-tasdeb.ads, s-tasren.adb,
- s-tassta.adb, s-tpobop.adb, s-tposen.adb, stylesw.adb, types.ads,
- uintp.adb, validsw.adb, makegpr.adb, a-rbtgso.adb, a-crbtgo.adb,
- a-coorse.adb, a-convec.adb, a-coinve.adb, a-cohama.adb, a-ciorse.adb,
- a-cihama.adb, a-cidlli.adb, a-chtgop.adb, a-cdlili.adb, a-cdlili.adb,
- a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb, a-ciorma.adb,
- a-coorma.adb, a-ztgeau.adb, symbols-vms.adb, a-crdlli.adb,
- a-calari.adb, a-calfor.adb, s-os_lib.adb, s-regpat.adb, a-ngrear.adb:
- Minor reformatting.
- Add Unreferenced and Warnings (Off) pragmas for cases of
- variables modified calls where they are IN OUT or OUT parameters and
- the resulting values are not subsequently referenced. In a few cases,
- we also remove redundant code found by the new warnings.
-
- * ug_words, vms_data.ads, usage.adb, sem_util.adb, sem_util.ads,
- sem_warn.adb, sem_warn.ads, sem_res.adb, sem_ch7.adb, sem_ch8.adb,
- sem_ch5.adb, opt.ads, lib-xref.adb, lib-xref.ads, exp_smem.adb,
- sem_ch11.adb, exp_ch6.adb, einfo.ads, einfo.adb: implement a new
- warning controlled by -gnatw.o that warns on cases of out parameter
- values being ignored.
-
-2007-10-15 Geert Bosch <bosch@adacore.com>
-
- * adaint.c, socket.c, cal.c: Initial port to arm-mentor-nucleus.
-
- * expect.c: Initial port to arm-mentor-nucleus.
- Use kill for __gnat_kill() on VMS.
-
-2007-10-15 Emmanuel Briot <briot@adacore.com>
-
- * ali.ads, ali.adb (Scan_ALI): Initialize XE.Tref to a known default
- value.
- (Xref_Record): Change type for Line, since in the case of a reference to
- a predefined entity (as happens for array index types), the line is set
- to 0.
- Add support for parsing multiple array index types info, or
- multiple inherited interfaces info. This information cannot be stored
- in Xref_Entity_Record, which only supports a single instance of Tref_*,
- and is therefore stored in the list of references instead. It has a
- special treatement later on in tools that use this information.
-
-2007-10-15 Tristan Gingold <gingold@adacore.com>
-
- * debug.adb: Document use of -gnatd.a and -gnatd.I
-
- * layout.adb: On OpenVMS -gnatd.a disables alignment optimization.
-
-2007-10-15 Javier Miranda <miranda@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference): Case Access,
- Unchecked_Access, and Unrestricted_Access. Cleanup code that takes
- care of access to class-wide interface types plus removal of bizarre
- conversion of tagged object to access type (reported by Gary
- Dismukes). After this patch there is no need to perform any
- additional management on these nodes in Expand_Interface_Actuals.
-
- * exp_disp.adb (Expand_Interface_Actuals): Code cleanup. Remove code
- that handles use of 'Access and 'Unchecked_Access applied to
- actuals covering interface types. Such code is now
- centralized in Expand_N_Attribute_Reference.
-
-2007-10-15 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch3.adb (Build_Init_Procedure): Keep separate the initialization
- of tagged types whose ultimate ancestor is a CPP type.
- (Freeze_Array_Type): For a packed array type, generate an initialization
- procedure if the type is public, to handle properly a client that
- specifies Normalize_Scalars.
-
-2007-10-15 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch9.adb (Actual_Index_Expression): When the expansion occurs
- inside a generic body, retrieve the full view of the entry family
- discrete subtype if available.
-
-2007-10-15 Thomas Quinot <quinot@adacore.com>
-
- * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Do not
- attempt to generate stubs for hidden primitive operations.
-
-2007-10-15 Vincent Celier <celier@adacore.com>
-
- * mlib-tgt-specific.adb (Support_For_Libraries): New function,
- returning None, used when there is no platform specific body for
- MLib.Tgt.Specific.
-
-2007-10-15 Bob Duff <duff@adacore.com>
-
- * sem_case.adb, sem_ch13.adb, lib-sort.adb: Replace use of Heap_Sort_A
- (passing'Unrestricted_Access of nested subprograms to Sort) with use of
- the generic Heap_Sort_G, in order to avoid trampolines.
-
-2007-10-15 Vasiliy Fofanov <fofanov@adacore.com>
- Jose Ruiz <ruiz@adacore.com>
-
- * vx_stack_info.c: New file.
-
- * i-forbla-unimplemented.ads: New file.
-
- * Makefile.in: i-forbla-unimplemented.ads: a variant of i-forbla.ads
- for unsupported configurations; use it on VMS targets instead of the
- real one.
- (EXTRA_LIBGNAT_SRCS,EXTRA_LIBGNAT_OBJS for VxWorks): Include
- vx_stack_info.{c,o} that contains the routine __gnat_get_stack_info
- used by VxWorks targets to have access to task-specific data and be
- able to extract the stack boundaries for stack checking.
- Use system-vms-ia64.ads on ivms.
-
- * Make-lang.in: Update dependencies.
-
- * sysdep.c (__gnat_get_stack_info): Move to a standalone file
- (vx_stack_info.c).
-
-2007-10-15 Vincent Celier <celier@adacore.com>
-
- * snames.adb, snames.ads: Add new standard name runtime_library_dir
-
- * prj.ads (Language_Config): Add new component Runtime_Library_Dir
-
- * prj-attr.adb: Add project level attribute Runtime_Library_Dir
-
- * prj-env.adb (Create_Mapping_File): Do not put an entry if the path of
- the source is unknown.
-
- * prj-ext.adb: Spelling error fix
-
- * prj-nmsc.adb (Check_Ada_Name): Reject any unit that includes an Ada
- 95 reserved word in its name.
- (Process_Project_Level_Array_Attributes): Process new attribute
- Runtime_Library_Dir.
-
- * prj-part.adb (Parse_Single_Project): Do not check the name of the
- config project against the user project names.
-
- * prj-proc.adb (Expression): In multi-language mode, indexes that do
- not include a dot are always case insensitive.
- (Process_Declarative_Items): Ditto
- (Process_Project_Tree_Phase_1): Set Success to False in case an error is
- detected.
-
- * prj-util.adb (Value_Of (In_Array)): When Force_Lower_Case_Index is
- True, compare both indexes in lower case.
-
-2007-10-15 Robert Dewar <dewar@adacore.com>
-
- * rtsfind.adb: (Load_RTU): Turn off style checks for Load call
-
-2007-10-15 Gary Dismukes <dismukes@adacore.com>
-
- * sem_aggr.adb (Resolve_Record_Aggregate): In the case of a box
- association for an access component, add an association with null as
- the expression. Remove testing for array subtypes and the setting in
- that case of Ctyp to the array component type, which prevented proper
- inclusion of an association for null-initialized arrays. Collapse
- condition that tests for array subtypes into just a test of
- Is_Partially_Initialized_Type (which already covers arrays anyway).
-
-2007-10-15 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch12.adb: Minor code reformatting.
- (Check_Generic_Child_Unit): Iterate over the homonym chain in order to
- find the parent package which may have been hidden by local
- declarations.
-
-2007-10-15 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch3.adb (Build_Derived_Concurrent_Type): Set the Is_Constrained
- flag of derived concurrent types, taking into account the flag setting
- on the parent subtype and any new set of discriminants.
-
-2007-10-15 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch4.adb: Minor code and comment reformatting.
- (Analyze_Allocator): When the designated type of an unconstrained
- allocator is a record with unknown discriminants or an array with
- unknown range bounds, emit a detailed error message depending on the
- compilation mode and whether the designated type is limited.
-
-2007-10-15 Tristan Gingold <gingold@adacore.com>
-
- * system-vms-ia64.ads: New file.
-
- * system-vms_64.ads: Minor comment fix.
-
-2007-10-15 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Find_Corresponding_Spec): If the previous entity is a
- body generated for a function with a controlling result that is a null
- extension, discard the generated body in favor of the current explicit
- one.
-
-2007-10-15 Ed Schonberg <schonberg@adacore.com>
-
- * sem_disp.adb (Find_Controlling_Arg): Examine the call node before
- examining its original form, to handle properly operator calls that
- have been rewritten.
-
-2007-10-15 Olivier Hainque <hainque@adacore.com>
-
- * tb-alvms.c (tb_entry_t, __gnat_backtrace): Store a frame pointer
- instead of a procedure value in each traceback entry.
-
- * g-trasym-vms-alpha.adb (Symbolic_Traceback): Pass frame pointer
- instead of procedure value to TBK$SYMBOLIZE.
-
- * s-traent-vms.adb (PV_For): Rename as FP_For and access the proper
- field.
- (TB_Entry_For): Account for the PV/FP renaming.
-
- * s-traent-vms.ads (Traceback_Entry): Rename PV component into FP and
- add comment.
- (Null_TB_Entry): Account for change of component name.
- (PV_For): Rename as FP_For.
-
-2007-10-15 Tristan Gingold <gingold@adacore.com>
-
- * trans.c (gnat_to_gnu): Remove the padding structure more often.
- This optimize assignment to over-aligned record.
-
-2007-10-15 Emmanuel Briot <briot@adacore.com>
-
- * xref_lib.adb (Get_Full_Type): Add support for the 'h' entity type, ie
- interfaces.
-
- * xr_tabls.adb (Add_Reference): Add support for the new 'R' reference
- type, for dispatching calls.
-
-2007-10-15 Vincent Celier <celier@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * gnat_ugn.texi: Add documentation for switches --version and --help
- for the GNAT tools gnatbind, gnatlink, gnatmake, gnatchop, gnatname,
- gnatxref, gnatfind, gnatls, and gnatclean.
- Document -gnatw.o.
- Mention attribute Excluded_Source_Dirs
- Replace obsolescent attribute Locally_Removed_Files with attribute
- Excluded_Source_Files.
- Improve documentation of -u (gnatbind)
- Document how to do reliable stack checking for the environmental task
- on iVMS.
-
- * gnat_rm.texi: Rewrite section about No_Implicit_Dynamic_Code.
- Document attribute Excluded_Source_Files and indicate that attribute
- Locally_Removed_Files is obsolescent.
-
-2007-10-15 Thomas Quinot <quinot@adacore.com>
-
- * g-soccon-vms.ads: Fix value of MSG_WAITALL.
-
- * gen-soccon.c:
- Update documentation to note that OpenVMS 8.3 or later must be used
- to generate g-soccon-vms.ads.
-
- * atree.adb: Add ??? comment
-
- * exp_util.adb: Minor reformatting.
- Add ??? comment in Kill_Dead_Code.
-
-2007-10-15 Robert Dewar <dewar@adacore.com>
-
- * errout.ads: Comment clarification
-
- * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
- (Expand_N_Op_Eq): Improve handling of array equality with -gnatVa
-
- * lib.ads: Comment update
-
- * init.c: Minor reformatting.
-
- * sem_attr.adb: Minor formatting
-
- * osint-b.ads: Minor reformatting
-
- * sem_ch9.adb: Implement -gnatd.I switch
-
- * g-comlin.adb: (Start): Fix handling of empty command line.
-
- * gnatcmd.adb (GNATCmd): Do not put the -rules in the -cargs section,
- even when -rules follows the -cargs section.
-
-2007-10-08 Ollie Wild <aaw@google.com>
-
- * misc.c (LANG_HOOKS_PUSHDECL): Replaced lhd_return_tree with
- gnat_return_tree.
- (gnat_init_gcc_eh): Replaced gnat_eh_runtime_type with
- gnat_return_tree.
- (gnat_eh_runtime_type): Removed.
- (gnat_return_tree): New function.
-
-2007-10-08 Ben Elliston <bje@au.ibm.com>
-
- PR ada/33454
- Revert:
- 2007-08-31 Ben Elliston <bje@au.ibm.com>
-
- * Makefile.in (LIBGNAT_TARGET_PAIRS): Use system-linux-ppc64.ads
- when compiling for powerpc64-*-linux.
- * system-linux-ppc64.ads: New file.
-
-2007-09-27 Eric Botcazou <ebotcazou@adacore.com>
-
- Mapped location support
- * back_end.adb (Call_Back_End): Pass information about source
- files instead of units to gigi.
- * gigi.h (struct File_Info_Type): New.
- (gigi): Rename and change type of number_units parameter, change
- type of file_info_ptr parameter.
- * trans.c (number_files): New global variable.
- (gigi): Rename and change type of number_units parameter, change
- type of file_info_ptr parameter.
- If mapped location support is enabled, create the isomorphic mapping
- between source files and line maps.
- (Sloc_to_locus): If mapped location support is enabled, translate
- source location into mapped location.
- (annotate_with_node): Rename into set_expr_location_from_node.
- Call set_expr_location instead of annotate_with_locus.
- (Pragma_to_gnu): Adjust for above change.
- (Loop_Statement_to_gnu): Likewise.
- (call_to_gnu): Likewise.
- (Handled_Sequence_Of_Statements_to_gnu): Likewise.
- (gnat_to_gnu): Likewise.
- (add_stmt_with_node): Likewise.
- (add_cleanup): Likewise.
- * utils.c (gnat_init_decl_processing): Do not set input_line.
-
-2007-09-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch8.adb (Analyze_Use_Type): Code cleanup.
- (Applicable_Use): Emit a warning when a package tries to use itself.
- (Use_One_Type): Add variable Is_Known_Used. Emit a warning when a type
- is already in use or the package where it is declared is in use or is
- declared in the current package.
- (Spec_Reloaded_For_Body): New subsidiary routine for Use_One_Type.
-
- * a-tasatt.adb, s-osprim-vxworks.adb, g-socthi-mingw.adb,
- s-intman-vms.adb, g-socket.adb, g-thread.adb, s-tarest.adb,
- s-tassta.adb, s-tporft.adb: Remove redundant 'use type' clause.
-
-2007-09-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-calend-vms.adb, a-calend.adb:
- Add a section on leap seconds control along with two entities used to
- enable and disable leap seconds support. The array Leap_Second_Times is
- now constant and contains hard time values pre-generated. Remove
- all elaboration code used to populate the table of leap seconds.
-
- * bindgen.adb:
- Add entity Leap_Seconds_Support to the list of global run-time variables
- along with a comment on its usage and values.
- (Gen_Adainit_Ada): Add code to generate the declaration and import of
- Integer variable Leap_Seconds_Support. Set its value to zero (disabled)
- or one (enabled) depending on the presence of binder switch "-y".
- (Gen_Adainit_C): Add code to generate the declaration of external int
- __gl_leap_seconds_support. Set is value to zero (disabled) or one
- (enabled) depending on the presence of binder switch "-y".
-
- * init.c: Add __gl_leap_seconds_support to the list of global values
- computed by the binder.
-
-2007-09-26 Jerome Guitton <guitton@adacore.com>
-
- * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
- s-taprop-hpux-dce.adb, s-taprop-linux.adb, s-taprop-dummy.adb,
- s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
- s-taprop-posix.adb (Stop_Task): New function, dummy implementation.
-
- * s-taprop.ads, s-taprop-vxworks.adb (Stop_Task): New function.
-
- * s-tasdeb.adb (Stop_All_Tasks): New function, implementing a run-time
- function which can be called by the debugger to interrupt the tasks of
- an Ada application asynchronously, as needed on VxWorks.
- (Stop_All_Tasks_Handler): Renamed from Stop_All_Tasks.
-
- * s-tasdeb.ads (Stop_All_Tasks_Handler): New function declaration,
- renamed from Stop_All_Tasks. Update comments.
- (Stop_All_tasks): New function declaration.
-
-2007-09-26 Olivier Hainque <hainque@adacore.com>
-
- * adaint.c (if defined (__Lynx__)): Wrap #def/#undef VMOS_DEV around
- #include <utime.h> and #define GCC_RESOURCE_H before
- #include <sys/wait.h>.
- Add more protections in __gnat_translate_vms.
-
- * expect.c (if defined (__Lynx__)): #define GCC_RESOURCE_H before
- #include <sys/wait.h>.
-
-2007-09-26 Thomas Quinot <quinot@adacore.com>
- Sergey Rybin <rybin@adacore.com>
-
- * gnatvsn.ads (PCS_Version_Number, ASIS_Version_Number): Removed.
-
- * exp_dist.ads (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
- where it belongs.
-
- * opt.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.
-
- * rtsfind.adb (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
- where it belongs.
-
- * sem_dist.ads: Minor comment fix
-
- * tree_io.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.
-
-2007-09-26 Javier Miranda <miranda@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * a-tags.adb:
- (Get_HT_Link/Set_HT_Link): Updated to handle the additional level of
- indirection added to the HT_Link component of the TSD. This is required
- to statically allocate the TSD.
-
- * a-tags.ads:
- Minor reordering of the declarations in the private part. Required to
- add a level of indirection to the contents of the TSD component HT_Link.
- This is required to statically allocate the TSD.
-
- * decl.c (gnat_to_gnu_entity) <object>: Do not exclude objects with
- Is_Statically_Allocated set from constant objects.
- Do not make exported constants created by the compiler volatile.
- (gnat_to_gnu_param): Do not treat an IN parameter whose address is taken
- as read-only.
-
- * trans.c (Identifier_to_gnu): For constants, unshare initializers
- before returning them.
-
- * exp_disp.ads, exp_disp.adb (Building_Static_DT): Spec moved to the
- public part of the package.
- (Make_DT): Move HT_Link component out of the TSD record. For this
- purpose Make_DT now declares a separate object that stores the
- HT_Link value, and initializes the TSD component with the address
- of this new object. The addition of this level of indirection is
- required to statically allocate the TSD because the TSD cannot
- have variable components.
- (Expand_Interface_Conversion): Improve the expanded code.
- (Expand_Interface_Thunk): Set Is_Thunk in the thunk entity.
-
- * sem_disp.adb (Check_Dispatching_Operation): In case of a body
- declaring a primitive operation ---allowed by RM 3.9.2 (13.e/2)---,
- if we are building static dispatch tables then we must not generate
- extra code to register the primitive because the dispatch table will
- be built at the end of the library package; otherwise we notify that
- we cannot build the static dispatch table.
-
-2007-09-26 Robert Dewar <dewar@adacore.com>
-
- * checks.adb, gnat1drv.adb, sem_util.ads: Improve warnings for address
- overlays.
-
- * sem_ch13.ads, sem_ch13.adb: Improve warnings for address overlays
- (Analyze_Record_Representation_Clause): Suppress junk warning for
- missing component clause.
- (Analyze_Attribute_Definition_Clause, case Address): Apply the special
- tests for controlled type overlay to composites with controlled
- components.
- (Analyze_Record_Representation_Clause): Add reference for component name
-
-2007-09-26 Javier Miranda <miranda@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * einfo.adb (Is_Thunk): New attribute applicable to subprograms. True
- for thunks associated with interface types.
-
- * einfo.ads: Improve documentatation of Is_Internal
- (Is_Thunk): New attribute applicable to subprograms. True for thunks
- associated with interface types.
- Extensive comment fixes regarding flags that appear in all entities. The
- documentation is now consistent for all such flags (there were a number
- of errors in the documentation in this regard).
-
- * exp_attr.adb (Expand_N_Attribute_Reference): Minor code cleanup.
-
- * exp_ch6.adb (Make_Build_In_Place_Call_*): Return immediately if any
- of these procedures are passed a function call that already has
- build-in-place actuals (testing new flag
- Is_Expanded_Build_In_Place_Call). Set the flag on the function call in
- the case where processing continues.
- (Expand_Call): If the call is generated from a thunk body then we
- propagate the extra actuals associated with the accessibility
- level of the access type actuals.
-
- * sem_ch6.adb (Analyze_Subprogram_Body): Set the Protected_Formal field
- of each extra formal of a protected operation to reference the
- corresponding extra formal of the subprogram denoted by the
- operation's Protected_Body_Subprogram.
-
- * sinfo.ads, sinfo.adb (Is_Expanded_Build_In_Place_Call): New flag on
- N_Function_Call nodes.
-
-2007-09-26 Robert Dewar <dewar@adacore.com>
-
- * exp_ch5.adb: Activate memmove type processing if debug flag d.s is set
-
- * debug.adb: Add d.s flag.
-
-2007-09-26 Gary Dismukes <dismukes@adacore.com>
-
- * exp_dbug.adb (Debug_Renaming_Declaration): Set Is_Internal on the
- debug variable so that it won't be initialized when pragma
- Initialize_Scalars is in effect.
-
-2007-09-26 Gary Dismukes <dismukes@adacore.com>
-
- * freeze.adb (Freeze_Entity): Remove check for preelaborable
- initialization of a full view. This is moved to
- Analyze_Package_Specification.
-
- * sem_ch7.adb (Analyze_Package_Specification): Add check for
- preelaborable initialization of a full view in entity loop.
- (Uninstall_Declarations): If entity is a use-visible compilation unit,
- its child units are use-visible only if they are visible child units.
-
- * sem_util.adb (Is_Preelaborable_Expression): New function to determine
- whether an expression can be used within a type declaration that
- requires preelaborable init.
- (Check_Components): Replace inline code that does partial checking for
- preelaborable default expressions with call to
- Is_Preelaborable_Expression.
- (Has_Preelaborable_Initialization): In the case of a generic actual
- subtype, (that is, Is_Generic_Actual is True), return the result of
- applying Has_Preelaborable_Initialization to the generic actual's base
- type.
-
-2007-09-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * g-calend.adb (Has_53_Weeks): Rename to Last_Year_Has_53_Weeks. Add a
- call to Jan_1_Day _Of_Week to optimize its performance.
- (Is_Leap): Move the routine to the scope of Week_In_Year.
- (Jan_1_Day_Of_Week): New routine in Week_In_Year which calculates the
- weekday on which January 1 falls of Year - 1 and Year + 1. This function
- avoids calling Time_Of and Split, thus making it more efficent.
- (Week_In_Year): Reimplemented in oder to follow ISO 8601.
-
- * g-calend.ads (Week_In_Year): Change comment to reflect new
- implementation.
-
-2007-09-26 Emmanuel Briot <briot@adacore.com>
-
- * g-comlin.ads, g-comlin.adb (Command_Line_Configuration,
- Command_Line): New types
- (Define_Alias, Define_Prefix, Free): New subprograms. These provide
- support for defining how switches can be grouped on a command line (as
- is the case for -gnatw... for GNAT), and how simple switches can be
- used as aliases for more complex switches (-gnatwa is same as
- -gnatwbcef...)
- (Set_Command_Line, Add_Switch, Remove_Switch): New subprogram
- (Start, Current_*): New subprograms
- Added support for parsing an array of strings in addition to the real
- command line.
- (Opt_Parser, Opt_Parser_Data): New type. As a result, some types had to
- be moved from the body to the private part of the spec.
- (*): All subprograms now have an extra parameter with default value to
- specify which parser should be used. For backward compatibility, it
- defaults to parsing the command line of the application. They were also
- modified to properly handle cases where each of the argument does not
- start at index 1 (which is always true for Ada.Command_Line, but not
- when processing any Argument_List).
- (Free): New subprogram
- (Internal_Initialize_Option_Scan, Find_Longuest_Matching_Switch,
- Argument): New subprograms
- (Switch_Parameter_Type): New enum, which clarifies the code. The extra
- special characters like ':', '=',... are now handled in a single place,
- which makes the code more extensible eventually.
- (Getopt, Full_Switch): When the switch was returned as part of the
- special character '*', make sure it is prepended by the switch character
- ('-' in general), so that the application knows whether "foo" or "-foo"
- was specified on the command line.
-
-2007-09-26 Florian Villoing <villoing@adacore.com>
-
- * g-dirope.adb (Remove_Dir): In case we are removing directories
- recursively, make sure that if an exception is raised during the
- processing, the current working directory is reset to its initial
- value before propagating the exception.
-
-2007-09-26 Vincent Celier <celier@adacore.com>
-
- * gnatbind.adb: If there are several ALI files specified and there is
- a main program to bind, the first ALI is expected to contain the main
- subprogram and the names of the binder generated files will be derived
- from the first ALI file name.
- (Gnatbind): Fix insertion character in invocation of Error_Msg
-
-2007-09-26 Vincent Celier <celier@adacore.com>
-
- * gnatcmd.adb (Check_Files): Do not include sources that have been
- removed by attributes Exclude_Source_Files or Locally_Removed_Files.
-
-2007-09-26 Ed Schonberg <schonberg@adacore.com>
-
- * lib-xref.ads, lib-xref.adb: The entry for array types now carries
- information about each of its index types, following the type
- reference for its component type.
-
-2007-09-26 Vincent Celier <celier@adacore.com>
-
- * make.adb: (Kill): New procedure (__gnat_kill imported)
- (Running_Compile, Outstanding_Compiles): Global variables that
- were previously local to procedure Compile_Sources.
- (Sigint_Intercepted): Send signal SIGINT to all outstanding
- compilation processes.
-
- (Gnatmake): If project files are used, create the mapping of all the
- sources, so that the correct paths will be found.
-
- * prj-env.ads, prj-env.adb (Create_Mapping): New procedure
-
-2007-09-26 Vincent Celier <celier@adacore.com>
-
- * makeutl.ads (Main_Config_Project): Moved to gpr_util.ads
-
- * prj.ads, prj.adb (Default_Language): Remove function, no longer used
- Replace components Compiler_Min_Options and Binder_Min_Options with
- Compiler_Required_Switches and Binder_Required_Switches in record
- Language_Config.
- Remove components Default_Language and Config in Project_Tree_Data,
- no longer used.
-
- * prj-attr.adb: New attributes Required_Switches (<language>) in
- packages Compiler and Binder.
-
- * prj-nmsc.adb: Major rewrite of the processing of configuration
- attributes for gprbuild. No impact on GNAT tools.
-
- * prj-proc.ads, prj-proc.adb (Process_Project_Tree_Phase_2): No longer
- process configuration attributes: this is done in Prj.Nmsc.Check.
- (Recursive_Process): Make a full copy of packages inherited from project
- being extended, instead of a shallow copy.
- (Process_Project_Tree_Phase_1): New procedure
- (Process_Project_Tree_Phase_1): New procedure
- (Process): Implementation now uses the two new procedures
-
- * prj-util.adb (Executable_Of): Get the suffix and the default suffix
- from the project config, not the tree config that no longer exists.
-
-2007-09-26 Vincent Celier <celier@adacore.com>
-
- * Make-lang.in: Update dependencies..
-
-2007-09-26 Vincent Celier <celier@adacore.com>
-
- * osint.adb, osint.ads: Minor reformatting
-
- * osint-b.adb, osint-b.ads (Set_Current_File_Name_Index): New procedure
-
-2007-09-26 Gary Dismukes <dismukes@adacore.com>
-
- * par-ch4.adb (P_Record_Or_Array_Component_Association): Change Ada 95
- message to cite use of <> in aggregate component associations rather
- than wrongly indicating use of limited aggregates.
-
-2007-09-26 Robert Dewar <dewar@adacore.com>
-
- * sem_attr.adb (Analyze_Access_Attribute): Fix missing set of
- Address_Taken.
-
-2007-09-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Derive_Subprograms): If the interface parent is a direct
- ancestor of the derived type, the operations are inherited from the
- primary dispatch table of the parent.
- (OK_For_Limited_Init_In_05): Remove old comment. Reject in-place calls
- when the context is an explicit type conversion.
-
-2007-09-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Analyze_Qualified_Expression): Apply name resolution
- rule for qualified expressions properly, to detect improper conversions
- and resolve some cases of overloading.
-
-2007-09-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Call): If the call is dispatching, generate the
- proper kind of reference to the primitive operation, for better source
- navigation.
- (Valid_Conversion): A tagged conversion is legal if both operands are
- tagged.
-
-2007-09-26 Robert Dewar <dewar@adacore.com>
-
- * sem_warn.adb (Check_References): Catch more cases of unreferenced
- packages.
-
-2007-09-26 Vincent Celier <celier@adacore.com>
-
- * snames.adb, snames.ads: Change Include_Option to Include_Switches
-
-2007-09-26 Robert Dewar <dewar@adacore.com>
-
- * s-wchstw.adb: provide messages for run time unit exceptions
-
- * a-witeio.adb: Minor reformatting
-
- * exp_ch13.adb: Minor reformatting
-
-2007-09-26 Sergey Rybin <rybin@adacore.com>
-
- * vms_data.ads: Revise gnatmetric qualifiers.
- Add qualified for the new gnatbind option '-y'
-
- * gnat_ugn.texi: Revise the gnatmetric section.
- Add entry for new gnatbind option '-y'.
-
- * gnat_rm.texi: Minor spelling correction.
- Document restriction on overlaying controlled types
-
-2007-09-26 Vincent Celier <celier@adacore.com>
-
- * makegpr.adb (Link_Executables): Do not fail when the root project has
- no sources, but is an extending project.
-
-2007-09-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * trans.c: Fix misplaced #define.
-
-2007-09-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * utils2.c (build_unary_op) <ADDR_EXPR> [INDIRECT_REF]: Propagate
- the TYPE_REF_CAN_ALIAS_ALL flag to the result.
-
-2007-09-21 Olivier Hainque <hainque@adacore.com>
-
- * utils.c (type_for_nonaliased_component_p): Return false for
- all AGGREGATE_TYPEs.
-
-2007-09-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <object>: Make again the type of an
- object covered by 13.3(19) volatile.
-
-2007-09-12 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/26797
- PR ada/32407
- * utils.c (unchecked_convert): Use a subtype as the intermediate type
- in the special VIEW_CONVERT_EXPR case.
-
-2007-09-12 Robert Dewar <dewar@adacore.com>
-
- * types.ads, a-charac.ads, freeze.adb: Minor reformatting.
-
- * a-except.adb, g-hesora.adb, g-speche.adb, lib.adb, lib.ads,
- lib-load.adb, lib-writ.adb, s-assert.adb, s-carun8.adb,
- s-casuti.adb, s-crc32.adb, s-exctab.adb, s-htable.adb, s-imgenu.adb,
- s-mastop.adb, s-memory.adb, s-memory.ads, s-secsta.adb, s-soflin.adb,
- s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-stache.adb, s-stalib.adb,
- s-stoele.adb, s-strcom.adb, s-strops.adb, s-traceb.adb, s-traent.adb,
- s-wchcnv.adb, s-wchcon.adb, s-wchjis.adb, s-addope.adb, s-except.adb,
- s-os_lib.adb, s-string.adb, s-utf_32.adb, a-elchha.adb,
- a-chlat1.ads, a-elchha.ads, a-except.ads, g-hesora.ads, g-htable.ads,
- g-speche.ads, par-prag.adb, restrict.adb, restrict.ads, s-assert.ads,
- s-carun8.ads, s-casuti.ads, s-crc32.ads, sem_ch11.adb, sem_prag.adb,
- s-exctab.ads, s-htable.ads, s-imgenu.ads, s-mastop.ads, snames.adb,
- snames.ads, snames.h, s-purexc.ads, s-secsta.ads, s-soflin.ads,
- s-sopco3.ads, s-sopco4.ads, s-sopco5.ads, s-stache.ads, s-stalib.ads,
- s-stoele.ads, s-strcom.ads, s-strops.ads, s-traceb.ads, s-traent.ads,
- s-unstyp.ads, s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-addope.ads,
- s-except.ads, s-os_lib.ads, s-string.ads, s-utf_32.ads: Implement
- pragma Compiler_Unit and adds it to relevant library units.
-
-2007-09-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_aggr.adb (Resolve_Record_Aggregate): An others association with
- a box need not correspond to any component.
-
-2007-09-12 Robert Dewar <dewar@adacore.com>
-
- * g-thread.ads: Document use of "with GNAT.Threads" to ensure loading
- the tasking version of the Ada run time when foreign threads are
- present and there are no explicit Ada tasks or tasking constructs.
-
- * gnat_rm.texi: Clarify documentation of GNAT.Threads.
-
-2007-09-12 Hristian Kirtchev <kirtchev@adacore.com>
-
- * bindusg.adb (Display): Correct comment for switch -X. Add a line for
- the usage of switch -y.
-
- * switch-b.adb (Scan_Binder_Switches): Set flag Leap_Seconds_Support
- when switch -y is present.
-
- * opt.ads: Add binder flag Leap_Seconds_Support used to enable/disable
- leap seconds in Ada.Calendar and its children.
-
-2007-09-12 Jose Ruiz <ruiz@adacore.com>
-
- * a-extiti.ads (Timer): The discriminant is a "not null access
- constant" in the Reference Manual.
- (Cancel_Handler): Cancelled is an out parameter in the Reference Manual.
-
-2007-09-12 Robert Dewar <dewar@adacore.com>
-
- * a-swuwha.adb: Remove junk RM header
-
-2007-09-12 Vincent Celier <celier@adacore.com>
-
- * g-bytswa-x86.adb (Swap2, Swap4, Swap8): Remove explicit "in" mode
- indicator
-
- * g-bytswa.ads: Minor reformatting
-
-2007-09-12 Thomas Quinot <quinot@adacore.com>
-
- * g-soccon-solaris-64.ads, g-soccon-hpux-ia64.ads:
- Add new constant Thread_Blocking_IO, always True by default, set False
- on a per-runtime basis.
- (Need_Netdb_Buffer): New constant.
-
-2007-09-12 Arnaud Charlet <charlet@adacore.com>
-
- * s-dsaser.ads (Get_Local_Partition_Id, Get_Passive_Partition_Id):
- Added renames for corresponding functions in System.Partition_Interface.
-
-2007-09-12 Doug Rupp <rupp@adacore.com>
-
- * Makefile.in: Remove VMS specific System.CRTL packages which are no
- longer needed.
-
- * s-crtl-vms64.ads: Removed.
-
-2007-09-12 Olivier Hainque <hainque@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: For a subtype
- with discriminant constraints, generalize the code for BIT_FIELDs
- to PACKED fields of constant size and propagate DECL_PACKED.
-
-2007-09-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (array_type_has_nonaliased_component): New predicate.
- (gnat_to_gnu_field) <E_Array_Type>: Invoke the above predicate to
- set the TYPE_NONALIASED_COMPONENT flag on the type.
- <E_Array_Subtype>: Likewise.
- * gigi.h (type_for_nonaliased_component_p): Declare.
- * utils.c (type_for_nonaliased_component_p): New predicate.
- (create_field_decl): Invoke the above predicate to set the
- DECL_NONADDRESSABLE_P flag on the field.
-
-2007-09-11 Javier Miranda <miranda@adacore.com>
-
- * einfo.ads, einfo.adb (Dispatch_Table_Wrapper): New attribute. Present
- in library level record type entities if we are generating statically
- allocated dispatch tables.
-
- * exp_disp.adb (Make_Tags/Make_DT): Replace previous code
- importing/exporting the _tag declaration by new code
- importing/exporting the dispatch table wrapper. This change allows us
- to statically allocate of the TSD.
- (Make_DT.Export_DT): New procedure.
- (Build_Static_DT): New function.
- (Has_DT): New function.
-
- * freeze.adb (Freeze_Static_Object): Code cleanup: Do not reset flags
- True_Constant and Current_Value. Required to statically
- allocate the dispatch tables.
- (Check_Allocator): Make function iterative instead of recursive.
- Also return inner allocator node, when present, so that we do not have
- to look for that node again in the caller.
-
-2007-09-11 Jan Hubicka <jh@suse.cz>
-
- * misc.c (gnat_expand_body): Kill.
- (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
-
-2007-09-10 Robert Dewar <dewar@adacore.com>
-
- * exp_atag.ads, exp_atag.adb, mlib-tgt-tru64.adb, mlib-tgt-aix.adb,
- mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
- mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
- mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, ali.adb, ali.ads,
- ali-util.adb, ali-util.ads, atree.h, back_end.adb, back_end.ads,
- bcheck.adb, bcheck.ads, binde.adb, binde.ads, binderr.adb, binderr.ads,
- bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads, butil.adb,
- butil.ads, checks.adb, checks.ads, clean.adb, clean.ads, comperr.adb,
- comperr.ads, cstand.adb, cstand.ads, debug_a.adb, debug_a.ads,
- elists.h, errout.adb, erroutc.ads, errutil.adb, errutil.ads,
- err_vars.ads, eval_fat.adb, eval_fat.ads, exp_sel.ads, exp_sel.adb,
- exp_aggr.adb, exp_aggr.ads, expander.adb, expander.ads, exp_attr.ads,
- exp_ch10.ads, exp_ch11.adb, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb,
- exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.ads, exp_ch4.adb,
- exp_ch4.ads, exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
- exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads, exp_ch9.adb,
- exp_ch9.ads, exp_code.adb, exp_code.ads, exp_dbug.adb, exp_dbug.ads,
- exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
- exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads, exp_pakd.adb,
- exp_pakd.ads, exp_prag.adb, exp_prag.ads, exp_smem.adb, exp_strm.adb,
- exp_strm.ads, exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
- exp_vfpt.adb, exp_vfpt.ads, fmap.adb, fmap.ads, fname-sf.adb,
- fname-sf.ads, fname-uf.adb, fname-uf.ads, frontend.adb, frontend.ads,
- get_targ.adb, get_targ.ads, gnat1drv.adb, gnat1drv.ads, gnatbind.adb,
- gnatbind.ads, gnatbl.c, gnatchop.adb, gnatclean.adb, gnatcmd.adb,
- gnatcmd.ads, gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
- gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb, gnatls.ads,
- gnatmake.adb, gnatmake.ads, gnatmem.adb, gnatname.adb, gnatname.ads,
- gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb,
- gprep.adb, gprep.ads, hlo.adb, hlo.ads, impunit.adb, impunit.ads,
- inline.adb, inline.ads, itypes.adb, itypes.ads, layout.adb, layout.ads,
- lib-load.adb, lib-load.ads, lib-util.adb, lib-util.ads, lib-writ.adb,
- lib-writ.ads, lib-xref.adb, lib-xref.ads, live.adb, live.ads,
- make.adb, make.ads, makeutl.ads, makeutl.adb, makeusg.adb, makeusg.ads,
- mdll.adb, mdll.ads, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
- mdll-utl.ads, memroot.adb, memroot.ads, mlib.adb, mlib.ads,
- mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
- mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, namet.h, nmake.adt,
- osint.adb, osint.ads, osint-b.adb, osint-b.ads, osint-c.adb,
- osint-c.ads, osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads,
- par.adb, par.ads, par-ch10.adb, par-ch11.adb, par-ch12.adb,
- par-ch13.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
- par-ch6.adb, par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
- par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb, par-tchk.adb,
- par-util.adb, prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
- prj.adb, prj.ads, prj-attr.adb, prj-attr.ads, prj-com.ads,
- prj-dect.adb, prj-dect.ads, prj-err.adb, prj-err.ads, prj-ext.adb,
- prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
- prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
- prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
- prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
- prj-util.adb, prj-util.ads, restrict.adb, restrict.ads,
- rtsfind.adb, rtsfind.ads, scn.adb, scn.ads,
- scng.adb, scng.ads, sdefault.ads, sem.ads, sem_aggr.ads, sem_attr.adb,
- sem_case.adb, sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
- sem_ch10.ads, sem_ch11.adb, sem_ch11.ads, sem_ch12.ads, sem_ch13.adb,
- sem_ch13.ads, sem_ch2.adb, sem_ch2.ads, sem_ch3.adb, sem_ch3.ads,
- sem_ch4.ads, sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
- sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb,
- sem_ch9.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb, sem_dist.ads,
- sem_elab.adb, sem_elab.ads, sem_elim.adb, sem_elim.ads, sem_eval.adb,
- sem_eval.ads, sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
- sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads, sem_res.adb,
- sem_res.ads, sem_smem.adb, sem_smem.ads, sem_type.adb, sem_type.ads,
- sem_util.adb, sem_util.ads, sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb,
- sem_warn.ads, sfn_scan.ads, sinfo-cn.adb, sinfo-cn.ads, sinput-c.adb,
- sinput-c.ads, sinput-d.adb, sinput-d.ads, sinput-l.adb, sinput-l.ads,
- sinput-p.adb, sinput-p.ads, snames.h, sprint.adb, sprint.ads,
- stringt.h, style.ads, styleg.adb, styleg.ads, styleg-c.adb,
- styleg-c.ads, stylesw.adb, stylesw.ads, switch.adb, switch.ads,
- switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
- switch-m.ads, symbols.adb, symbols.ads, targparm.adb, tbuild.adb,
- tbuild.ads, tempdir.adb, tempdir.ads, tree_gen.adb, tree_gen.ads,
- treepr.adb, treepr.ads, treeprs.adt, ttypef.ads, ttypes.ads,
- types.h, uintp.h, urealp.h, usage.adb, usage.ads,
- validsw.adb, validsw.ads, vxaddr2line.adb, xeinfo.adb, xnmake.adb,
- xref_lib.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads, xsinfo.adb,
- xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb, xgnatugn.adb,
- gprmake.adb, makegpr.ads, makegpr.adb, prj-attr-pm.ads, prj-attr-pm.adb,
- mlib-tgt-lynxos.adb, mlib-tgt-darwin.adb, symbols-vms.adb,
- symbols-processing-vms-alpha.adb, symbols-processing-vms-ia64.adb,
- mlib-tgt-specific.adb, mlib-tgt-specific.ads, mlib-tgt-vms.adb,
- mlib-tgt-vms.ads: Replace headers with GPL v3 headers.
-
-2007-09-10 Emmanuel Briot <briot@adacore.com>
-
- * s-regpat.adb (Parse_Character_Class): Fix handling of empty character
- classes ("[]").
-
-2007-09-10 Vasiliy Fofanov <fofanov@adacore.com>
-
- * adaint.c (__gnat_translate_vms): new function.
-
-2007-09-10 Gary Dismukes <dismukes@adacore.com>
- Thomas Quinot <quinot@adacore.com>
-
- * exp_ch3.adb (Predef_Spec_Or_Body): When the type is abstract, only
- create an abstract subprogram in the case of 'Input. For 'Output we now
- create a real spec/body when the type is abstract, since it can
- potentially be called.
- (Predefined_Primitive_Bodies): Now allow the creation of a predefined
- body for 'Output when the type is abstract (only the creation of the
- body for 'Input is excluded when the type is abstract).
- (Stream_Operation_OK): Add an additional condition in the return
- statement, so that False will be returned for TTS_Stream_Input if the
- associated tagged type is an abstract extension. Add comments for
- return statement.
- (Expand_N_Object_Declaration): For the case of a shared passive
- variable, insert init proc call only after the shared variable
- procedures have been processed, because the IP call needs to undergo
- shared passive variable reference expansion, which requires these
- procedures to be available (and elaborated).
-
-2007-09-10 Vincent Celier <celier@adacore.com>
-
- * prj-env.ads, prj-env.adb (Create_Mapping_File (Language)): Remove
- parameter Runtime_Project.
-
-2007-09-10 Ed Schonberg <schonberg@adacore.com>
-
- * sem_aggr.adb (Build_Record_Aggr_Code): If an aggregate component is
- given a box association, the type of the component is discriminated,
- and the value of the discriminant is the discriminant of the enclosing
- type, retrieve its value from the aggregate itself, where it must have
- been supplied.
-
- * sem_ch4.adb (Analyze_One_Call): Further refinement to previous fix,
- to remove other spurious ambiguities on arithmetic operations involving
- literals and addresses, on systems where Address is a visible integer
- type, when the operator is called in functional notation.
- (Try_Primitive_Operation): Within an instance, a call in prefixed form
- is legal when the types match, even if the operation is currently
- hidden.
-
-2007-09-10 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Build_Local_Package): A formal package with no
- associations is legal if all formals have defaults. It is not
- equivalent to a formal declared with a box.
-
-2007-09-10 Sergey Rybin <rybin@adacore.com>
-
- * vms_data.ads: Add qualifier for the new gnatmetric '-lratio' option
-
-2007-09-10 Sergey Rybin <rybin@adacore.com>
-
- * gnat_ugn.texi: Add description of the new '-lratio' option
- Update 7.3.1 section about availability of the feature.
-
-2007-09-10 Thomas Quinot <quinot@adacore.com>
-
- * exp_smem.ads, exp_smem.adb (Make_Shared_Var_Procs): Return last
- inserted node.
-
-2007-09-10 Olivier Hainque <hainque@adacore.com>
-
- * Makefile.in: (mips-irix section): Activate build of libgmem.
-
-2007-09-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * a-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber
- x87 registers.
-
-2007-09-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <object>: Deal with variable built for
- a debug renaming declaration specially.
-
-2007-09-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <Object>: Simplify the condition under
- which a constant renaming is treated as a normal object declaration.
- * trans.c (lvalue_required_p) <N_Slice>: New case, extracted from
- the N_Indexed_Component case.
- <N_Indexed_Component>: Fall through to above case.
- <N_Object_Renaming_Declaration>: Return true for all composite types.
-
-2007-09-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (make_packable_type): If the new type has been given BLKmode,
- try again to get an integral mode for it.
-
-2007-09-07 Eric Botcazou <ebotcazou@adacore.com>
-
- Re-apply accidentally reverted change:
-
- 2007-02-07 Andreas Krebbel <krebbel1@de.ibm.com>
-
- * raise-gcc.c (get_region_description_for, get_call_site_action_for,
- get_action_description_for): Replace _Unwind_Word with _uleb128_t
- and _Unwind_SWord with _sleb128_t.
-
-2007-09-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * trans.c (convert_with_check): Update call to real_2expN.
-
-2007-09-05 Sandra Loosemore <sandra@codesourcery.com>
-
- * trans.c (Compilation_unit_to_gnu): Use set_cfun.
- * utils.c (end_subprog_body): Likewise.
-
-2007-09-03 Nick Clifton <nickc@redhat.com>
-
- * Make-lang.in: Change copyright header to refer to version 3 of
- the GNU General Public License and to point readers at the
- COPYING3 file and the FSF's license web page.
- * ada-tree.def, nmake.adt, nlists.h, snames.h, utils.c,
- Makefile.rtl, Makefile.in, config-lang.in, uintp.h, urealp.h,
- namet.h, decl.c, utils2.c, lang.opt, elists.h, atree.h, types.h,
- treeprs.adt, lang-specs.h, cuintp.c, stringt.h, gnatbl.c:
- Likewise.
-
-2007-08-31 Vincent Celier <celier@adacore.com>
-
- PR ada/4720
-
- * gnatchop.adb, gnatfind.adb, gnatlink.adb, gnatls.adb,
- gnatname.adb, gnatxref.adb, gprep.adb, clean.adb gnatbind.adb
- (Check_Version_And_Help): New procedure in package Switch to process
- switches --version and --help.
- Use Check_Version_And_Help in GNAT tools
-
- * make.adb: Ditto.
- (Compile_Sources): Make sure that sources that are "excluded" are not
- compiled.
- (Gnatmake): Do not issue -aO. to gnatbind and only issue -I- if a
- project file is used.
- (Version_Switch): Remove, moved to Switch
- (Help_Switch): Remove, moved to Switch
- (Display_Version): Remove, moved to Switch
-
- * switch.ads, switch.adb (Check_Version_And_Help): New procedure in
- package Switch to process switches --version and --help.
- (Display_Version): New procedure
-
- * gnatvsn.ads, gnatvsn.adb (Copyright_Holder): New function.
-
-2007-08-31 Javier Miranda <miranda@adacore.com>
-
- * a-tags.adb (Internal_Tag): Protect the run-time against wrong
- internal tags.
-
-2007-08-31 Hristian Kirtchev <kirtchev@adacore.com>
-
- * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New routine.
- (Mark_Non_Null): If the node for which we just generated an access check
- is a reference to an *in* parameter and the reference appears in the
- declarative part of a subprogram body, mark the node as known non null.
-
-2007-08-31 Hristian Kirtchev <kirtchev@adacore.com>
-
- * einfo.ads, einfo.adb: New flag Is_Raised (Flag224). Update the
- structure of E_Exception to reflect the new flag.
- (Is_Raised, Set_Is_Raised): New inlined routines.
- Update the usage of available flag to reflect the addition of Is_Raised.
- (Is_Raised, Set_Is_Raised): Bodies of new routines.
- (Write_Entity_Flags): Write the status of flag Is_Raised.
- (Is_Descendent_Of_Address): New entity flag, to simplify handling of
- spurious ambiguities when integer literals appear in the context of an
- address type that is a visible integer type.
-
- * sem_ch11.adb (Analyze_Exception_Handler): Add code to warn on local
- exceptions never being raised.
- (Analyze_Raise_Statement): When analyzing an exception, mark it as being
- explicitly raised.
-
-2007-08-31 Javier Miranda <miranda@adacore.com>
-
- * exp_ch11.adb (Expand_At_End_Handler): Avoid generation of raise
- statement when compiling under restriction No_Exceptions_Proparation.
-
-2007-08-31 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch3.adb (Build_Record_Init_Proc): If there is a static
- initialization aggregate for the type, generate itype references for
- thetypes of its (sub)components, to prevent out-of-scope errors in gigi.
-
-2007-08-31 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch8.adb (Expand_N_Package_Renaming_Declaration): In the case of a
- library-level package renaming, pass the declaration associated with
- the renaming's special debug variable to Qualify_Entity_Names to ensure
- that its encoded name is properly qualified.
-
- * exp_dbug.adb (Qualify_All_Entity_Names): Check for a variable entity
- occurring in the list of entities to qualify, and do not attempt to
- traverse an entity list in that case. Variables associated with
-` library-level package renamings can now occur in the table.
-
- * exp_dbug.ads: Revise documentation of the encoding for renaming
- declarations.
-
-2007-08-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * layout.adb (Layout_Type): Use Underlying_Type to determine whether an
- access type points to an unconstrained array.
-
-2007-08-31 Hristian Kirtchev <kirtchev@adacore.com>
-
- * restrict.adb, namet.adb, par-util.adb: Remove redundant type
- conversion.
-
- * sem_res.adb (Resolve_Qualified_Expression): Add machinery to detect
- simple redundant qualifications. The check is performed whenever the
- expression is a non-overloaded identifier.
- (Resolve_Type_Conversion): Enchance the redundant type conversion check
- to include loop parameters.
- (Valid_Conversion): Avoid generation of spurious error message.
-
-2007-08-31 Bob Duff <duff@adacore.com>
-
- * par-ch4.adb (P_Simple_Expression): Fold long sequences of
- concatenations of string literals into a single literal, in order to
- avoid very deep recursion in the front end, which was causing stack
- overflow.
-
- * sem_eval.adb (Eval_Concatenation): If the left operand is the empty
- string, and the right operand is a string literal (the case of "" &
- "..."), optimize by avoiding copying the right operand -- just use the
- value of the right operand directly.
-
- * stringt.adb (Store_String_Chars): Optimize by growing the
- String_Chars table all at once, rather than appending characters one by
- one.
- (Write_String_Table_Entry): If the string to be printed is very long,
- just print the first few characters, followed by the length. Otherwise,
- doing "pn(n)" in the debugger can take an extremely long time.
-
- * sem_prag.adb (Process_Interface_Name): Replace loop doing
- Store_String_Char with Store_String_Chars.
-
-2007-08-31 Vincent Celier <celier@adacore.com>
-
- * prj-attr.adb: Add new attribute Excluded_Source_Files
-
- * prj-nmsc.adb: Use attribute Excluded_Source_Files before
- Locally_Removed_Files.
-
- * snames.ads, snames.adb: New standard name Excluded_Source_Files
-
-2007-08-31 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch10.adb (Analyze_Subunit_Context): When analyzing context
- clauses of subunits, ignore limited_with_clauses that are illegal and
- have not been fully analyzed.
-
-2007-08-31 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb: The predicate Is_Descendent_Of_Address is now an entity
- flag, for effiency. It is called when analyzing arithmetic operators
- and also for actuals in calls that are universal_integers. The flag is
- set for the predefined type address, and for any type or subtype
- derived from it.
-
- * sem_ch4.adb (Analyze_One_Call): Reject an actual that is a
- Universal_Integer, when the formal is a descendent of address and the
- call appears in user code.
- (Analyze_Selected_Component): if the prefix is a private extension, the
- tag component is visible.
-
- * sem_util.ads, sem_util.adb: Remove Is_Descendent_Of_Address, now an
- entity flag.
-
-2007-08-31 Robert Dewar <dewar@adacore.com>
-
- * s-fileio.adb (Open): Normalize file name to lower case in non-case
- sensitive file name systems to avoid unexpected mismatch in Vista.
-
-2007-08-31 Vincent Celier <celier@adacore.com>
-
- * tempdir.adb: On VMS, take into account GNUTMPDIR before TMPDIR
-
-2007-08-31 Vincent Celier <celier@adacore.com>
-
- * symbols-vms.adb (Initialize): Read symbol files with continuation
- lines
- (Finalize): If symbol is long, split the line
-
-2007-08-31 Vincent Celier <celier@adacore.com>
-
- * fmap.ads: Minor comment updates
-
-2007-08-31 GNAT Script <nobody@adacore.com>
-
- * Make-lang.in: Makefile automatically updated
-
-2007-08-31 Bob Duff <duff@adacore.com>
-
- * sinfo.ads: Minor comment fix.
-
-2007-08-31 Thomas Quinot <quinot@adacore.com>
-
- * stand.ads: (Standard_Debug_Renaming_Type): Make comment consistent
- with implementation.
- Documentation cleanup only.
-
-2007-08-31 Sergey Rybin <rybin@adacore.com>
-
- * vms_data.ads: Add new qualifier /STMT_NAME_ON_NEW_LINE for the new
- gnatpp '--separate-stmt-name' option.
- Add new qualifier /USE_ON_NEW_LIN for the new gnatpp '--use-on-new-line'
- option.
-
- * gnat_ugn.texi: Add description for the new gnatpp
- '--separate-stmt-name' and '--use-on-new-line' options.
-
-2007-08-31 Ben Elliston <bje@au.ibm.com>
-
- * Makefile.in (LIBGNAT_TARGET_PAIRS): Use system-linux-ppc64.ads
- when compiling for powerpc64-*-linux.
- * system-linux-ppc64.ads: New file.
-
-2007-08-22 Krister Walfridsson <cato@df.lth.se>
-
- * env.c ( __gnat_clearenv): Use the __gnat_unsetenv mechanism for
- NetBSD.
-
-2007-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * misc.c (gnat_type_max_size): Constify.
-
-2007-08-16 Gary Dismukes <dismukes@adacore.com>
-
- * cstand.adb (Create_Standard): Create an entity for a zero-sized type
- associated with Standard_Debug_Renaming_Type, to be used as the type of
- the special variables whose names provide debugger encodings for
- renaming declarations.
-
- * einfo.ads, einfo.adb (Debug_Renaming_Link): Change to return Node25.
- (Set_Debug_Renaming_Link): Change to set Node25.
- (Write_Field13_Name): Remove case for E_Enumeration_Literal.
- (Write_Field25_Name): Add case for E_Variable to output
- "Debug_Renaming_Link".
- (Write_Field23_Name): Correct the output string for "Limited_View".
-
- * exp_dbug.adb: Add with and use of Tbuild.
- (Debug_Renaming_Declaration): Replace creation of an enumeration type
- and literal with creation of a variable of type
- Standard_Debug_Renaming_Type whose name encodes both the renamed object
- and the entity of the renaming declaration.
- (Qualify_Entity_Name): Add the delayed qualification of the entity name
- part of the name of a variable that has a Debug_Renaming_Link.
-
- * stand.ads (Standard_Debug_Renaming_Type): New Entity_Id denoting a
- special type to be associated with variables that provide debugger
- encodings for renaming declarations.
-
-2007-08-16 Gary Dismukes <dismukes@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * exp_aggr.adb (Build_Record_Aggr_Code): Extend the test for an
- ancestor part given by an aggregate to test for an unchecked conversion,
- since this can occur in some cases when the ancestor part is a function
- call, and we don't want to fall into the recursive call to this
- procedure in that case.
-
- * exp_ch3.adb (Stream_Operation_OK): Revise tests for availability of
- stream attributes on limited types to account for user-specified
- attributes as well as whether Input (resp. Output) becomes available
- due to Read (resp. Write) being available for the type. Change Boolean
- variable to the more accurate name
- Has_Predefined_Or_Specified_Stream_Attribute. Change convoluted
- double-"not" predicate at beginning of return statement to more
- understandable form.
-
- * exp_ch5.adb (Expand_N_Extended_Return_Statement): If the extended
- return has an associated N_Handled_Sequence_Of_Statements, then wrap it
- in a block statement and use that as the first statement of the
- expanded return rather than incorrectly using the handled sequence as
- the first statement.
-
- * exp_ch6.adb (Expand_N_Subprogram_Declaration): If this is a protected
- operation, generate an explicit freeze node for it rather than
- generating extra formals, to ensure that gigi has the proper order of
- elaboration for anonymous subtypes in the signature of the subprograms.
- (Build_In_Place_Formal): Move assertion to beginning of loop.
- (Is_Build_In_Place_Function_Call): Allow for an unchecked conversion
- applied to a function call (occurs for some cases of 'Input).
- (Make_Build_In_Place_Call_In_*): Allow for an unchecked conversion
- applied to a function call (occurs for some cases of 'Input).
-
- * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For Ada
- 2005, generate an extended return statement enclosing the result object
- and 'Read call.
-
- * freeze.adb (Freeze_Record_Type): Extend the current management of
- components that are access type with an allocator as default value: add
- missing support to the use of qualified expressions of the
- allocator (which also cause freezing of the designated type!)
- (Freeze_Entity): Call Freeze_Subprogram in the case of a predefined
- dispatching operation, since extra formals may be needed by calls to
- build-in-place functions (such as stream 'Input).
-
- * sem_ch6.adb (Create_Extra_Formals): Skip creation of the extra
- formals for 'Constrained and accessibility level in the case of a
- predefined dispatching operation.
-
- * exp_util.adb (Insert_Actions): A protected body is a valid insertion
- point, no need to find the parent node.
-
-2007-08-16 Javier Miranda <miranda@adacore.com>
-
- * exp_attr.adb (Attribute_Priority): Add missing support for entries
- and entry barriers.
-
-2007-08-16 Javier Miranda <miranda@adacore.com>
-
- * exp_ch9.adb (Build_Protected_Entry): Undo previous change because it
- is not really required and can introduce regression with the debugger.
- The original problem is fixed with the patch written for checks.adb.
-
-2007-08-16 Thomas Quinot <quinot@adacore.com>
-
- * g-dyntab.adb, g-table.adb, table.adb: (Set_Item): Suppress
- Range_Check on Allocated_Table.
-
-2007-08-16 Vincent Celier <celier@adacore.com>
-
- * make.adb (Collect_Arguments): Call Test_If_Relative_Path with
- Including_Non_Switch set to False.
- (Gnatmake): For the compiler, call Test_If_Relative_Path with
- Including_Non_Switch set to False.
-
- * makeutl.adb, makeutl.ads (Test_If_Relative_Path): New Boolean
- parameter Including_Non_Switch, defaulted to True. When
- Including_Non_Switch is False, options that are not switches and
- appear as relative path are not converted to absolute paths.
-
-2007-08-16 Nicolas Roche <roche@adacore.com>
-
- * Makefile.in (gnatlib): Propagate FORCE_DEBUG_ADAFLAGS value to sub
- makefiles
-
- * Make-lang.in: Update dependencies
-
-2007-08-16 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch10.adb (Has_With_Clause): If the name of the with clause
- currently inspected is a selected component, retrieve the entity of
- its selector.
- (Install_Limited_Withed_Unit): Call Has_Limited_With_Clause starting
- from the immediate ancestor of Main_Unit_Entity.
- (Install_Limited_Withed_Unit): Do not install the limited view of
- package P if P is reachable through an ancestor chain from package C
- and C also has a with clause for P in its body.
- (Has_Limited_With_Clause): New routine.
- (Has_With_Clause): New routine.
-
-2007-08-16 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Copy_Generic_Node): A reference to a child unit of the
- generic for an enclosing instance is a global reference, even though
- its scope is the enclosing instance.
-
-2007-08-16 Gary Dismukes <dismukes@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * sem_ch3.adb (OK_For_Limited_Init_In_05): Allow calls to 'Input to
- initialize a limited object.
- (Build_Derived_Record_Type): Add missing check of rules ARM 3.9.4
- 13/2 and 14/2.
- Make sure Has_Complex_Representation is inherited by derived type.
-
-2007-08-16 Robert Dewar <dewar@adacore.com>
-
- * sem_ch5.adb (Analyze_Assignment): Make sure we still note update in
- exception case
-
-2007-08-16 Ed Schonberg <schonberg@adacore.com>
-
- * sem_disp.adb (Check_Dispatching_Operation): If the operation
- implements an operation inherited from a progenitor interface, verify
- that they are subtype-conformant.
-
-2007-08-16 Hristian Kirtchev <kirtchev@adacore.com>
- Bob Duff <duff@adacore.com>
- Nicolas Setton <setton@adacore.com>
-
- * sem_res.adb (Comes_From_Predefined_Lib_Unit): New.
- (Resolve): Alphabetize local variables. Add new variable From_Lib. When
- the statement which is being resolved comes from a predefined library
- unit, all non-predefined library interpretations are skipped.
- (Resolve_Op_Concat): If string concatenation was folded in the parser,
- but the "&" is user defined, give an error, because the folding would
- be wrong.
-
- * sinfo.ads, sinfo.adb (Is_Folded_In_Parser): New flag to indicate that
- the parser has folded a long sequence of concatenations of string
- literals.
-
- * trans.c (Handled_Sequence_Of_Statements_to_gnu): Mark "JMPBUF_SAVE"
- and "JMP_BUF" variables as artificial.
- (N_String_Literal): Do not use alloca for very long string literals. Use
- xmalloc/free instead. Otherwise the stack might overflow.
-
- * utils.c (init_gigi_decls): Mark "JMPBUF_T" type as created by the
- compiler.
-
-2007-08-16 Vincent Celier <celier@adacore.com>
-
- * vms_conv.adb (Process_Argument): Ensure that project related options
- are not put in the -cargs section when using GNAT COMPILE.
-
-2007-08-16 Robert Dewar <dewar@adacore.com>
-
- * gnat_ugn.texi: Add note on preprocessing (output file not written)
-
-2007-08-16 Thomas Quinot <quinot@adacore.com>
-
- * a-tags.adb: Minor reformatting.
-
-2007-08-16 Bob Duff <duff@adacore.com>
-
- * sem_type.ads, sem_ch4.adb: Minor reformatting.
-
-2007-08-14 Thomas Quinot <quinot@adacore.com>
-
- * g-soccon-interix.ads, a-excpol-interix.adb, a-intnam-interix.ads,
- s-osinte-interix.ads, system-interix.ads: Removed.
-
-2007-08-14 Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-calend-vms.adb, a-calend.adb ("+", "-", Add, Subtract): Remove
- calls to Check_Within_Time_Bounds.
- ("+", "-", Add, Subtract): Remove calls to Check_Within_Time_Bounds.
- (Difference): Account for possible rounding of the resulting difference
-
-2007-08-14 Robert Dewar <dewar@adacore.com>
-
- * uintp.adb, a-ztedit.adb, s-wchcon.adb, xnmake.adb, s-wchcon.adb,
- par-ch5.adb, par-ch10.adb, get_targ.adb, a-wtedit.adb, a-teioed.adb,
- s-osinte-solaris.adb, s-osinte-solaris.ads,
- s-osinte-freebsd.ads, s-osinte-freebsd.adb: Minor reformatting.
-
- * styleg.adb, styleg.ads, stylesw.adb, stylesw.ads: implement style
- switch -gnatyS. Enable -gnatyS in GNAT style check mode
-
-2007-08-14 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * inline.adb, types.ads, inline.ads, frontend.adb, alloc.ads:
- Suppress unmodified in-out parameter warning in some cases
- This patch is a also fairly significant change to the way suppressible
- checks are handled.
-
- * checks.ads, checks.adb (Install_Null_Excluding_Check): No check
- needed for access to concurrent record types generated by the expander.
- (Generate_Range_Check): When generating a temporary to capture the
- value of a conversion that requires a range check, set the type of the
- temporary before rewriting the node, so that the type is always
- properly placed for back-end use.
- (Apply_Float_Conversion_Check): Handle case where the conversion is
- truncating.
- (Get_Discriminal): Code reformatting. Climb the scope stack looking
- for a protected type in order to examine its discriminants.
-
-2007-08-14 Robert Dewar <dewar@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Thomas Quinot <quinot@adacore.com>
-
- * a-stzsup.adb, nlists.adb, lib-util.adb, treepr.adb,
- a-stwisu.adb, a-strsup.adb: Fix warnings for range
- tests optimized out.
-
- * exp_ch4.adb (Expand_N_In): Add warnings for range tests optimized out.
- (Get_Allocator_Final_List): For the case of an anonymous access type
- that has a specified Associated_Final_Chain, do not go up to the
- enclosing scope.
- (Expand_N_Type_Conversion): Test for the case of renamings of access
- parameters when deciding whether to apply a run-time accessibility
- check.
- (Convert_Aggr_In_Allocator): Use Insert_Actions to place expanded
- aggregate code before allocator, and ahead of declaration for
- temporary, to prevent access before elaboration when the allocator is
- an actual for an access parameter.
- (Expand_N_Type_Conversion): On an access type conversion involving an
- access parameter, do not apply an accessibility check when the
- operand's original node was an attribute other than 'Access. We now
- create access conversions for the expansion of 'Unchecked_Access and
- 'Unrestricted_Access in certain cases and clearly accessibility should
- not be checked for those.
-
- * exp_ch6.ads, exp_ch6.adb (Add_Call_By_Copy_Code): For an actual that
- includes a type conversion of a packed component that has been expanded,
- recover the original expression for the object, and use this expression
- in the post-call assignment statement, so that the assignment is made
- to the object and not to a back-end temporary.
- (Freeze_Subprogram): In case of primitives of tagged types not defined
- at the library level force generation of code to register the primitive
- in the dispatch table. In addition some code reorganization has been
- done to leave the implementation clear.
- (Expand_Call): When expanding an inherited implicit conversion,
- preserve the type of the inherited function after the intrinsic
- operation has been expanded.
-
- * exp_ch2.ads, exp_ch2.adb
- (Expand_Entry_Parameter.In_Assignment_Context): An implicit dereference
- of an entry formal appearing in an assignment statement does not assign
- to the formal.
- (Expand_Current_Value): Instead of calling a routine to determine
- whether the prefix of an attribute reference should be optimized or
- not, prevent the optimization of such prefixes all together.
-
- * lib-xref.adb (Generate_Reference.Is_On_LHS): An indexed or selected
- component whose prefix is known to be of an access type is an implicit
- dereference and does not assign to the prefix.
-
-2007-08-14 Ed Schonberg <schonberg@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * atree.ads, atree.adb (New_Copy_Tree): If hash table is being used and
- itype is visited, make an entry into table to link associated node and
- new itype.
- Add comments and correct harmless error in Build_NCT_Hash_Tables
- (Array_Aggr_Subtype): Associate each itype created for an index type to
- the corresponding range construct, and not to the aggregate itself. to
- maintain a one-to-one correspondence between itype and its associated
- node, to prevent errors when complex expression is copied.
- Fix mishandling of multiple levels of parens
-
- * sem_aggr.adb: Create a limited view of an incomplete type, to make
- treatment of limited views uniform for all visible declarations in a
- limited_withed package.
- (New_Copy_Tree): If hash table is being used and itype is visited,
- make an entry into table to link associated node and new itype.
- (Resolve_Record_Aggregate): Do not add an others box association for a
- discriminated record component that has only discriminants, when there
- is a box association for the component itself.
-
- * par-ch4.adb: Fix mishandling of multiple levels of parens
-
-2007-08-14 Robert Dewar <dewar@adacore.com>
-
- * comperr.adb: Fix problem with suppressing warning messages from gigi
-
- * erroutc.ads, erroutc.adb, errout.ads,
- errout.adb (Write_Eol): Remove trailing spaces before writing the line
- (Write_Eol_Keep_Blanks): New procedure to write a line, including
- possible trailing spaces.
- (Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
- Fix problem with suppressing warning messages from back end
- Improve handling of deleted warnings
-
- * gnat1drv.adb:
- Fix problem with suppressing warning messages from back end
- Handle setting of Static_Dispatch_Tables flag.
-
- * prepcomp.adb:
- Fix problem with suppressing warning messages from back end
-
- * exp_intr.adb: Improve handling of deleted warnings
-
-2007-08-14 Robert Dewar <dewar@adacore.com>
-
- * debug.adb: Improve -gnatdI to cover all cases of serialization
- Add documentation of dZ, d.t
-
- * sprint.ads, sprint.adb: Improve -gnatdI to cover all cases of
- serialization.
- (Sprint_Node_Actual): Generate new output associated with implicit
- importation and implicit exportation of object declarations.
-
-2007-08-14 Ed Schonberg <schonberg@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Javier Miranda <miranda@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * einfo.ads, einfo.adb: Create a limited view of an incomplete type,
- to make treatment of limited views uniform for all visible declarations
- in a limited_withed package.
- Improve warnings for in out parameters
- (Set_Related_Interaface/Related_Interface): Allow the use of this
- attribute with constants.
- (Write_Field26_Name): Handle attribute Related_Interface in constants.
- Warn on duplicate pragma Preelaborable_Initialialization
-
- * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Force the
- generation of a freezing node to ensure proper management of null
- excluding access types in the backend.
- (Create_Extra_Formals): Test base type of the formal when checking for
- the need to add an extra accessibility-level formal. Pass the entity E
- on all calls to Add_Extra_Formal (rather than Scope (Formal) as was
- originally being done in a couple of cases), to ensure that the
- Extra_Formals list gets set on the entity E when the first entity is
- added.
- (Conforming_Types): Add missing calls to Base_Type to the code that
- handles anonymous access types. This is required to handle the
- general case because Process_Formals builds internal subtype entities
- to handle null-excluding access types.
- (Make_Controlling_Function_Wrappers): Create wrappers for constructor
- functions that need it, even when not marked Requires_Overriding.
- Improve warnings for in out parameters
- (Analyze_Function_Return): Warn for disallowed null return
- Warn on return from procedure with unset out parameter
- Ensure consistent use of # in error messages
- (Check_Overriding_Indicator): Add in parameter Is_Primitive.
- (Analyze_Function_Return): Move call to Apply_Constraint_Check before
- the implicit conversion of the expression done for anonymous access
- types. This is required to generate the code of the null excluding
- check (if required).
-
- * sem_warn.ads, sem_warn.adb (Check_References.Publicly_Referenceable):
- A formal parameter is never publicly referenceable outside of its body.
- (Check_References): For an unreferenced formal parameter in an accept
- statement, use the same warning circuitry as for subprogram formal
- parameters.
- (Warn_On_Unreferenced_Entity): New subprogram, taken from
- Output_Unreferenced_Messages, containing the part of that routine that
- is now reused for entry formals as described above.
- (Goto_Spec_Entity): New function
- (Check_References): Do not give IN OUT warning for dispatching operation
- Improve warnings for in out parameters
- (Test_Ref): Check that the entity is not undefinite before calling
- Scope_Within, in order to avoid infinite loops.
- Warn on return from procedure with unset out parameter
- Improved warnings for unused variables
-
-2007-08-14 Robert Dewar <dewar@adacore.com>
- Javier Miranda <miranda@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of child unit
- (Expand_N_Attribute_Reference): Further unify the handling of the
- three forms of access attributes, using common code now for all three
- cases. Add a test for the case of applying an access attribute to
- an explicit dereference when the context is an access-to-interface
- type. In that case we need to apply the conversion to the prefix
- of the explicit dereference rather than the prefix of the attribute.
- (Attribute_Version, UET_Address): Set entity as internal to ensure
- proper dg output of implicit importation.
- (Expand_Access_To_Type): Removed.
- (Expand_N_Attribute_Reference): Merge the code from the three cases
- of access attributes, since the processing is largely identical for
- these cases. The substantive fix here is to process the case of a
- type name prefix (current instance case) before handling the case
- of interface prefixes.
-
-2007-08-14 Thomas Quinot <quinot@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Javier Miranda <miranda@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * exp_ch3.ads, exp_ch3.adb (Add_Final_Chain): New subprogram.
- (Freeze_Array_Type, Freeze_Record_Type): For the case of a component
- type that is an anonymous access to controlled object, establish
- an associated finalization chain to avoid corrupting the global
- finalization list when a dynamically allocated object designated
- by such a component is deallocated.
- (Make_Controlling_Function_Wrappers): Create wrappers for constructor
- functions that need it, even when not marked Requires_Overriding.
- (Initialize_Tag): Replace call to has_discriminants by call to
- Is_Variable_Size_Record in the circuitry that handles the
- initialization of secondary tags.
- (Is_Variable_Size_Record): New implementation.
- (Expand_N_Object_Declaration): Suppress call to init proc if there is a
- Suppress_Initialization pragma for a derived type.
- (Is_Variable_Size_Record): New subprogram.
- (Build_Offset_To_Top_Functions): New implementation that simplifies the
- initial version of this routine and also fixes problems causing
- incomplete initialization of the table of interfaces.
- (Build_Init_Procedure): Improve the generation of code to initialize the
- the tag components of secondary dispatch tables.
- (Init_Secondary_Tags): New implementation that simplifies the previous
- version of this routine.
- (Make_DT): Add parameter to indicate when type has been frozen by an
- object declaration, for diagnostic purposes.
- (Check_Premature_Freezing): New subsidiary procedure of Make_DT, to
- diagnose attemps to freeze a subprogram when some untagged type of its
- profile is a private type whose full view has not been analyzed yet.
- (Freeze_Array_Type): Generate init proc for packed array if either
- Initialize or Normalize_Scalars is set.
- (Make_Controlling_Function_Wrappers, Make_Null_Procedure_Specs): when
- constructing the new profile, copy the null_exclusion indicator for each
- parameter, to ensure full conformance of the new body with the spec.
-
- * sem_type.ads, sem_type.adb (Make_Controlling_Function_Wrappers):
- Create wrappers for constructor functions that need it, even when not
- marked Requires_Overriding.
- (Covers): Handle properly designated types of anonymous access types,
- whose non-limited views are themselves incomplete types.
- (Add_Entry): Use an entity to store the abstract operation which hides
- an interpretation.
- (Binary_Op_May_Be_Hidden): Rename to Binary_Op_Interp_Has_Abstract_Op.
- (Collect_Interps): Use Empty as an actual for Abstract_Op in the
- initialization aggregate.
- (Function_Interp_May_Be_Hidden): Rename to
- Function_Interp_Has_Abstract_Op.
- (Has_Compatible_Type): Remove machinery that skips interpretations if
- they are labeled as potentially hidden by an abstract operator.
- (Has_Hidden_Interp): Rename to Has_Abstract_Op.
- (Set_May_Be_Hidden): Rename to Set_Abstract_Op.
- (Write_Overloads): Output the abstract operator if present.
- (Add_Entry): Before inserting a new entry into the interpretation table
- for a node, determine whether the entry will be disabled by an abstract
- operator.
- (Binary_Op_Interp_May_Be_Hidden): New routine.
- (Collect_Interps): Add value for flag May_Be_Hidden in initialization
- aggregate.
- (Function_Interp_May_Be_Hidden): New routine.
- (Has_Compatible_Type): Do not consider interpretations hidden by
- abstract operators when trying to determine whether two types are
- compatible.
- (Has_Hidden_Interp): New routine.
- (Set_May_Be_Hidden_Interp): New routine.
- (Write_Overloads): Write the status of flag May_Be_Hidden.
-
-2007-08-14 Ed Schonberg <schonberg@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * exp_disp.ads, exp_disp.adb (Build_Dispatch_Tables): Handle tagged
- types declared in the declarative part of a nested package body or in
- the proper body of a stub.
- (Set_All_DT_Position): Add missing check to avoid wrong assignation
- of the same dispatch table slot to renamed primitives.
- (Make_Select_Specific_Data_Table): Handle private types.
- (Tagged_Kind): Handle private types.
- (Make_Tags, Make_DT): Set tag entity as internal to ensure proper dg
- output of implicit importation and exportation.
- (Expand_Interface_Thunk): Fix bug in the expansion assuming that the
- first formal of the thunk is always associated with the controlling
- type. In addition perform the following code cleanup: remove formal
- Thunk_Alias which is no longer required, cleanup evaluation of the
- the controlling type, and update the documentation.
- Replace occurrence of Default_Prim_Op_Count by
- Max_Predef_Prims. Addition of compile-time check to verify
- that the value of Max_Predef_Prims is correct.
- (Check_Premature_Freezing): Apply check in Ada95 mode as well.
- (Make_DT): Add parameter to indicate when type has been frozen by an
- object declaration, for diagnostic purposes.
- (Build_Static_Dispatch_Tables): New subprogram that takes care of the
- construction of statically allocated dispatch tables.
- (Make_DT): In case of library-level tagged types export the declaration
- of the primary tag. Remove generation of tags (now done by Make_Tags).
- Additional modifications to handle non-static generation of dispatch
- tables. Take care of building tables for asynchronous interface types
- (Make_Tags): New subprogram that generates the entities associated with
- the primary and secondary tags of Typ and fills the contents of Access_
- Disp_Table. In case of library-level tagged types imports the forward
- declaration of the primary tag that will be declared later by Make_DT.
- (Expand_Interface_Conversion): In case of access types to interfaces
- replace an itype declaration by an explicit type declaration to avoid
- problems associated with the scope of such itype in transient blocks.
-
-2007-08-14 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * exp_util.ads, exp_util.adb:
- This patch replaces a number of occurrences of explicit tests for N_Null
- with calls to Known_Null. This improves tracking of null values, since
- Known_Null also catches null constants, and variables currently known to
- be null, so we get better tracking.
- (Ensure_Defined): create an itype reference only in the scope of the
- itype.
- (Side_Effect_Free): A selected component of an access type that
- denotes a component with a rep clause must be treated as not
- side-effect free, because if it is part of a linked structure its
- value may be affected by a renaming.
- (Expand_Subtype_From_Expr): For limited objects initialized with build
- in place function calls, do nothing; otherwise we prematurely introduce
- an N_Reference node in the expression initializing the object, which
- breaks the circuitry that detects and adds the additional arguments to
- the called function. Bug found working in the new patch for statically
- allocated dispatch tables.
- (Is_Library_Level_Tagged_Type): New subprogram.
- (Remove_Side_Effects): If the expression of an elementary type is an
- operator treat as a function call.
- (Make_Literal_Range): If the index type of the array is not integer, use
- attributes properly to compute the constraint on the resulting aggregate
- which is a string.
-
- * freeze.ads, freeze.adb (Freeze_Entity): If the entity is a
- class-wide type whose base type is an incomplete private type, leave
- class-wide type unfrozen so that freeze nodes can be generated
- properly at a later point.
- (Freeze_Entity, array case): Handle case of pragma Pack and component
- size attributre clause for same array.
-
-2007-08-14 Vincent Celier <celier@adacore.com>
-
- * prj.ads, prj.adb: Update Project Manager to new attribute names for
- gprbuild.
- Allow all valid declarations in configuration project files
- (Reset): Initialize all tables and hash tables in the project tree data
- Major update of the Project Manager and of the project aware tools,
- including gprmake, so that the same sources in the GNAT repository
- can be used by gprbuild.
- (Slash_Id): Change type to be Path_Name_Type
- (Slash): Return a Path_Name_Type instead of a File_Name_Type
-
- * prj-attr.ads, prj-attr.adb: Remove attributes no longer used by
- gprbuild.
- Update Project Manager to new attribute names for ghprbuild
- Allow all valid declarations in configuration project files
- Major update of the Project Manager and of the project aware tools,
- including gprmake, so that the same sources in the GNAT repository
- can be used by gprbuild.
-
- * prj-com.ads:
- Major update of the Project Manager and of the project aware tools,
- including gprmake, so that the same sources in the GNAT repository
- can be used by gprbuild.
-
- * prj-dect.adb (Prj.Strt.Attribute_Reference): Set correctly the case
- insensitive flag for attributes with optional index.
- (Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative
- array attribute, put the index in lower case.
- Update Project Manager to new attribute names for ghprbuild
- Allow all valid declarations in configuration project files
- Major update of the Project Manager and of the project aware tools,
- including gprmake, so that the same sources in the GNAT repository
- can be used by gprbuild.
-
- * prj-env.ads, prj-env.adb:
- Major update of the Project Manager and of the project aware tools,
- including gprmake, so that the same sources in the GNAT repository
- can be used by gprbuild.
- (Get_Reference): Change type of parameter Path to Path_Name_Type
-
- * prj-ext.ads, prj-ext.adb (Initialize_Project_Path): Make sure, after
- removing '-' from the path to start with the first character of the
- next directory.
- Major update of the Project Manager and of the project aware tools,
- including gprmake, so that the same sources in the GNAT repository
- can be used by gprbuild.
- Major update of the Project Manager and of the project aware tools,
- including gprmake, so that the same sources in the GNAT repository
- can be used by gprbuild.
-
- * prj-nmsc.ads, prj-nmsc.adb:
- Update Project Manager to new attribute names for ghprbuild
- Allow all valid declarations in configuration project files
- (Search_Directories): Detect subunits that are specified with an
- attribute Body in package Naming. Do not replace a source/unit in the
- same project when the order of the source dirs are known. Detect
- duplicate sources/units in the same project when the order of the
- source dirs are not known.
- (Check_Ada_Name): Allow all identifiers that are not reserved words
- in Ada 95.
- Major update of the Project Manager and of the project aware tools,
- including gprmake, so that the same sources in the GNAT repository
- can be used by gprbuild.
- (Look_For_Sources): If the list of sources is empty, set the object
- directory of non extending project to nil.
- Change type of path name variables to be Path_Name_Type
- (Locate_Directory): Make sure that on Windows '/' is converted to '\',
- otherwise creating missing directories will fail.
-
- * prj-attr-pm.adb, prj-tree.ads, prj-proc.ads, prj-proc.adb,
- prj-part.ads, prj-part.adb:
- Major update of the Project Manager and of the project aware tools,
- including gprmake, so that the same sources in the GNAT repository
- can be used by gprbuild.
-
- * prj-strt.adb (Prj.Strt.Attribute_Reference): Set correctly the case
- insensitive flag for attributes with optional index.
- (Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative
- array attribute, put the index in lower case.
- (Parse_Variable_Reference): Allow the current project name to be used in
- the prefix of an attribute reference.
-
- * prj-util.ads, prj-util.adb
- (Value_Of (for arrays)): New Boolean parameter Force_Lower_Case_Index,
- defaulted to False. When True, always check against indexes in lower
- case.
-
- * snames.ads, snames.h, snames.adb:
- Update Project Manager to new attribute names for gprbuild
- Allow all valid declarations in configuration project files
-
-2007-08-14 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * opt.ads: Warning for non-local exception propagation now off by
- default
- New switch -gnatI to disable representation clauses
- Implement new pragma Implicit_Packing
-
- * usage.adb:
- Warning for non-local exception propagation now off by default
- Add warning for unchecked conversion of pointers wi different
- conventions.
- New switch -gnatI to disable representation clauses
-
- * usage.adb: new switch -gnatyS
-
- * gnat_ugn.texi: For the gnatcheck Non_Qualified_Aggregates rule add a
- note that aggregates of anonymous array types are not flagged.
- -gnatwc now includes membership tests optimized away
- -gnatw.x warnings are now off by default
- Added conditional compilation Appendix
- Add documentation of -gnatI
- Add documentation for new -gnatyS style check
- Update documentation about SAL and auto-init on Windows.
-
- * gnat_rm.texi:
- Add documentation for pragma Check_Name and 'Enabled attribute
- Document that Eliminate on dispatching operation is ignored
- Document IDE attributes VCS_Repository_Root and VCS_Patch_Root.
- Document pragma Main
- Document pragma Implicit_Packing
-
- * sem_ch13.adb: Add warning for unchecked conversion of pointers wi
- different conventions
- New switch -gnatI to disable representation clauses
-
- * switch-c.adb (Scan_Front_End_Switches): When a -gnat switch is not
- recognized, report the invalid characters including "-gnat" instead of
- just the first character in the switch.
- New switch -gnatI to disable representation clauses
- Set Warn_On_Object_Renames_Function true for -gnatg
-
- * vms_data.ads: Add doc for /IGNORE_REP_CLAUSES
- Add STATEMENTS_AFTER_THEN_ELSE as synonym for -gnatyS
- Add qualifier /ADD_PROJECT_SEARCH_DIR= for different tools, equivalent
- to switch -aP (add directory to project search dir).
-
- * par-prag.adb: Implement new pragma Implicit_Packing
-
- * sem_prag.adb (Analyze_Pragma, case Complex_Representation): Mark the
- type as having a non-standard representation, to force expansion on
- conversion to related types.
- (Analyze_Pragma): Warn on misspelled pragma
- (Analyze_Pragma, case Convention_Identifier): Fix checking of second arg
- Ensure consistent use of # in error messages
- Implement pragma Implicit_Packing
-
-2007-08-14 Olivier Hainque <hainque@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * targtyps.c (get_target_maximum_default_alignment): New function.
- Maximum alignment
- that the compiler might choose by default for a type or object.
- (get_target_default_allocator_alignment): New function. Alignment known
- to be honored by the target default allocator.
- (get_target_maximum_allowed_alignment): New function. Maximum alignment
- we might accept for any type or object on the target.
- (get_target_maximum_alignment): Now synonym of maximum_default_alignment
-
- * gigi.h (get_target_maximum_default_alignment): Declare new function.
- (get_target_default_allocator_alignment): Likewise.
- (get_target_maximum_allowed_alignment): Likewise.
-
- PR ada/19037
- * decl.c (gnat_to_gnu_entity) <object>: Except for the renaming of the
- result of a function call, first try to use a stabilized reference for
- a constant renaming too.
- (validate_alignment): Use target_maximum_allowed_alignment instead of
- MAX_OFILE_ALIGNMENT as the upper bound to what we accept.
- (gnat_to_gnu_entity): Use common nodes directly.
- (gnat_to_gnu_entity) <object>: Pick the values of the type to annotate
- alignment and size for the object.
- (lvalue_required_p): Handle N_Parameter_Association like N_Function_Call
- and N_Procedure_Call_Statement.
- (takes_address): Rename to lvalue_required_p, add third parameter
- 'aliased' and adjust recursive calls.
- <N_Indexed_Component>: Update 'aliased' from the array type.
- <N_Selected_Component>: New case.
- <N_Object_Renaming_Declaration>: New Likewise.
- (Identifier_to_gnu): Adjust for above changes.
- (maybe_stabilize_reference) <CONST_DECL>: New case.
-
- * utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Look through conversion
- between type variants.
- (build_simple_component_ref): Likewise.
- (build_call_alloc_dealloc): Use target_default_allocator_alignment
- instead of BIGGEST_ALIGNMENT as the threshold to trigger the super
- aligning type circuitry for allocations from the default storage pool.
- (build_allocator): Likewise.
- (build_simple_component_ref): Manually fold the reference for a
- constructor if the record type contains a template.
-
- * utils.c (value_zerop): Delete.
- (gnat_init_decl_processing): Emit debug info for common types.
- (rest_of_record_type_compilation): If a union contains a field
- with a non-constant qualifier, treat it as variable-sized.
- (finish_record_type): Give the stub TYPE_DECL a name.
- (rest_of_record_type_compilation): Likewise.
- (convert) <CONSTRUCTOR>: New case. Build a new constructor if
- types are equivalent array types.
- (create_field_decl): Claim fields of any ARRAY_TYPE are addressable,
- even if the type is not passed by reference.
- (static_ctors, static_dtors): Delete.
- (end_subprog_body): Do not record constructors and destructors.
- (build_global_cdtor): Delete.
- (gnat_write_global_declarations): Do not call build_global_cdtor.
-
- * lang-spARGET_VXWORKS_RTP is defined, append -mrtp when
- -fRTS=rtp is specified.
- If CONFIG_DUAL_EXCEPTIONS is 1, append -fsjlj when -fRTS=sjlj is
- specified.
-
- * misc.c (gnat_init_gcc_eh): Use __gnat_eh_personality_sj for the name
- of the personality function with SJLJ exceptions.
-
- * raise-gcc.c (PERSONALITY_FUNCTION): Use __gnat_eh_personality_sj for
- the name of the personality function with SJLJ exceptions.
-
-2007-08-14 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * par.ads, par.adb: Improve handling of extra right parens.
- (Par): Remove flag From_Limited_With_Clause.
-
- * par-util.adb, par-ch3.adb: Improve error recovery for bad constraint
- Improve handling of extra right parens.
-
-2007-08-14 Robert Dewar <dewar@adacore.com>
-
- * par-tchk.adb (TF_Semicolon): Improve error recovery
-
-2007-08-14 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.ads, sem_attr.adb (Analyze_Attribute, case Value): For
- enumeration type, mark all literals as referenced.
- (Eval_Attribute, case 'Image): If the argument is an enumeration
- literal and names are available, constant-fold but mark nevertheless as
- non-static.
- Clean up function names.
- (Name_Modifies_Prefix): Rename to Name_Implies_Lvalue_Prefix. Clarify
- comment.
- (Requires_Simple_Name_Prefix): Removed.
-
-2007-08-14 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch11.adb: Improved warnings for unused variables
-
- * sem_ch3.ads, sem_ch3.adb (Build_Derived_Record_Type): If the ancestor
- is a synchronized interface, the derived type is limited.
- (Analyze_Object_Declaration): Mark the potential coextensions in the
- definition and expression of an object declaration node.
- (Build_Derived_Type): For the completion of a private type declaration
- with a derived type declaration, chain the parent type's representation
- items to the last representation item of the derived type (not the
- first one) if they are not present already.
- (Analyze_Object_Declaration, Constant_Redeclaration): Allow incomplete
- object declaration of forward references to tags.
- (Access_Subprogram_Declaration): In Ada2005, anonymous access to
- subprogram types can appear as access discriminants of synchronized
- types.
- (OK_For_Limited_Init_In_05): The initialization is legal is it is a call
- given in prefixed form as a selected component.
- (Process_Discriminants): If not all discriminants have defaults, place
- error message on a default that is present.
- (Analyze_Private_Extension_Declaration): Diagnose properly an attempt to
- extend a synchronized tagged type.
- Improved warnings for unused variables
- (Is_Visible_Component): Fix a visibility hole on a component inherited
- by a private extension when parent is itself declared as a private
- extension, and the derivation is in a child unit.
- (Find_Hidden_Interface): Move spec from the package body.
-
-2007-08-14 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb: Improve warnings on redundant assignments
-
- * sem_util.ads, sem_util.adb: (Is_Variable): Add defense against junk
- parameter
- (Is_Synchronized_Tagged_Type): New subprogram that returns true
- in case of synchronized tagged types (AARM 3.9.4 (6/2)).
- (Safe_To_Capture_Value): Can now return True for constants, even if Cond
- is set to False. Improves handling of Known_[Not_]Null.
- (Wrong_Type): Special case address arithmetic attempt
- (Collect_Abstract_Interfaces): Add new formal to allow collecting
- abstract interfaces just using the partial view of private types.
- (Has_Abstract_Interfaces): Add new formal to allow checking types
- covering interfaces using the partial view of private types.
- (Is_Fully_Initialized_Type): Special VM case for uTag component. This
- component still needs to be defined in this case, but is never
- initialized as VMs are using other dispatching mechanisms.
- (Abstract_Interface_List): For a protected type, use base type to get
- proper declaration.
- Improve warnings on redundant assignments
- (Is_Variable): Handle properly an implicit dereference of a prefixed
- function call.
- (Build_Actual_Subtype): If this is an actual subtype for an
- unconstrained formal parameter, use the sloc of the body for the new
- declaration, to prevent anomalises in the debugger.
-
-2007-08-14 Robert Dewar <dewar@adacore.com>
-
- * sem_elim.adb (Set_Eliminated): Ignore pragma Eliminate for
- dispatching operation
-
-2007-08-14 Ed Schonberg <schonberg@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * exp_aggr.ads,
- exp_aggr.adb (Convert_Aggr_In_Allocator): Use Insert_Actions to place
- expanded aggregate code before allocator, and ahead of declaration for
- temporary, to prevent access before elaboration when the allocator is
- an actual for an access parameter.
- (Is_Static_Dispatch_Table_Aggregate): Handle aggregates initializing
- the TSD and the table of interfaces.
- (Convert_To_Assignments): Augment the test for delaying aggregate
- expansion for limited return statements to include the case of extended
- returns, to prevent creation of an unwanted transient scope.
- (Is_Static_Dispatch_Table_Aggregate): New subprogram.
- (Expand_Array_Aggregate): Handle aggregates associated with
- statically allocated dispatch tables.
- (Expand_Record_Aggregate): Handle aggregates associated with
- statically allocated dispatch tables.
- (Gen_Ctrl_Actions_For_Aggr): Generate a finalization list for allocators
- of anonymous access type.
-
-2007-08-14 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_Assign_Array): If source or target of assignment
- is a variable that renames a slice, use the variable itself in the
- expannsion when the renamed expression itself may be modified between
- the declaration of the renaming and the array assignment.
-
-2007-08-14 Jerome Guitton <guitton@adacore.com>
-
- * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
- s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
- s-taprop-vms.adb, s-taprop-posix.adb (Continue_Task, Stop_All_Tasks):
- New functions; dummy implementations.
-
- * s-osinte-vxworks.ads (Task_Stop, Task_Cont, Int_Lock, Int_Unlock): New
- functions, used to implement the multi-tasks mode routines on VxWorks.
-
- * s-osinte-vxworks.adb, s-osinte-vxworks6.adb (Task_Cont, Task_Stop):
- New functions, thin
- binding to the VxWorks routines which have changed between VxWorks 5
- and 6.
- (Int_Lock, Int_Unlock): New function, thin binding to kernel routines
- which are not callable from a RTP.
-
- * s-taprop-vxworks.adb (Stop_All_Tasks, Continue_Task): New functions,
- implemented for the multi-tasks mode on VxWorks 5 and 6.
-
- * s-taprop.ads (Stop_All_Tasks, Continue_Task): New functions.
-
- * s-tasdeb.ads, s-tasdeb.adb (Continue_All_Tasks, Stop_All_Tasks): New
- functions.
-
-2007-08-14 Vincent Celier <celier@adacore.com>
-
- * clean.adb, fmap.adb, sinput-p.adb, sinput-p.ads, gnatcmd.adb,
- gnatname.adb, makeutl.ads, makeutl.adb, makegpr.adb, mlib-tgt-vms.adb
- mlib-tgt-darwin.adb, mlib-tgt-lynxos.adb, mlib-prj.adb, mlib-tgt.adb,
- mlib-tgt.ads, mlib-tgt-irix.adb mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
- mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
- mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, mlib-tgt-aix.adb,
- mlib-tgt-tru64.adb, mlib.ads, mlib.adb (Create_Sym_Links): New
- procedure.
- (Major_Id_Name): New function.
- mlib-tgt.ads/mlib.tgt.adb:
- (Library_Major_Minor_Id_Supported): New function, default returns True
- Most mlib-tgt-*.adb that support shared libraries and symbolic links:
- (Build_Dynamic_Library): Add support for major/minor ids for shared libs
- Other mlib-tgt-*.adb (aix, mingw, vms, vxworks, xi):
- Implementation of Library_Major_Minor_Id_Supported returns False
- clean.adb:
- (Clean_Library_Directory): If major/minor ids are supported, clean all
- library files.
- Major update of the Project Manager and of the project aware tools,
- including gprmake, so that the same sources in the GNAT repository
- can be used by gprbuild.
-
-2007-08-14 Olivier Hainque <hainque@adacore.com>
-
- * system-solaris-x86.ads (ZCX_By_Default): Switch to True.
- (GCC_ZCX_Support): Switch to True.
-
- * s-intman-solaris.adb (Notify_Exception): Call
- Adjust_Context_For_Raise before raising, as expected for signal
- handlers in general.
-
- * s-intman-posix.adb (Notify_Exception): Remove declaration of
- Adjust_Context_For_Raise, moved to the spec of this unit to be visible
- to other implementation bodies.
-
- * s-intman.ads (Adjust_Context_For_Raise): Declare and import here, to
- be visible by multiple implementation bodies.
-
- * init.c [VMS section] (__gnat_handle_vms_condition): Adjust context
- only for conditions coming from hardware.
- [alpha-tru64 section] (__gnat_adjust_context_for_raise): Implement,
- adjustments to signal context prior to exception raise from signal
- handler.
- (__gnat_map_signal for VxWorks): Map SIGSEGV to Storage_Error in RTP
- mode.
- Solaris section: (__gnat_adjust_context_for_raise): New function.
- Implementation of the machine context adjustments to perform prior to
- raise from a signal handler. Version for both sparc and x86.
- (HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE): Define.
- (__gnat_error_handler): Expect a third argument, ucontext_t *. Adjust it
- prior to raising as expected for any handler, before possible nested
- faults to make sure all the contexts in a chain have been adjusted by
- the time we propagate.
-
-2007-08-14 Pascal Obry <obry@adacore.com>
-
- * s-osinte-mingw.ads: Add support for Ada.Execution_Time on Windows.
- (SYSTEM_INFO): New record.
- (SetThreadIdealProcessor): New imported routine needed for supporting
- task_info pragma on Windows.
-
- * s-taprop-mingw.adb (Enter_Task): Check if CPU number given in task
- info can be applied to the current host.
- (Create_Task): Set the ideal processor if information is present.
-
- * s-tasinf-mingw.adb, s-tasinf-mingw.ads,
- a-exetim-mingw.adb, a-exetim-mingw.ads: New files.
-
-2007-08-14 Olivier Hainque <hainque@adacore.com>
-
- * s-taprop-linux.adb (Get_Stack_Attributes): New subprogram. Fetch the
- stack size and initial stack pointer value for a given task.
- (Enter_Task): Get the stack attributes of the task we are entering and
- let the stack checking engine know about them.
-
- * s-stchop.adb, s-stchop.ads (Notify_Stack_Attributes): New subprogram.
- Let the stack-checking engine know about the initial sp value and stack
- size associated with the current task.
- (Set_Stack_Info): If a stack base has been notified for the current
- task, honor it. Fallback to the previous less accurate method otherwise.
-
- * s-stchop-vxworks.adb (Notify_Stack_Attributes): Dummy body.
-
-2007-08-14 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch10.adb: Create a limited view of an incomplete type, to make
- treatment of limited views uniform for all visible declarations in a
- limited_withed package.
- Set flag indicating that a subprogram body for a child unit has a
- generated spec.
- (Analyze_Compilation_Unit): If unit is a subprogram body that has no
- separate declaration, remove the unit name from visibility after
- compilation, so that environment is clean for subsequent compilations.
- (Install_Limited_Context_Clauses): Do not install a
- limited_private_with_clause unless the current unit is a body or a
- private child unit.
- (Analyze_Subunit, Install_Parents): Treat generic and non-generic units
- in the same fashion.
- (Install_Limited_Withed_Unit): Do not install a limited with clause if
- it applies to the declaration of the current package body.
- (Remove_Private_With_Clauses): If there is a regular with_clause for
- the unit, delete Private_With_Clause from context, to prevent improper
- hiding when processing subsequent nested packages and instantiations.
-
-2007-08-14 Jose Ruiz <ruiz@adacore.com>
-
- * adaint.c (__gnat_is_absolute_path): For VxWorks systems we accept
- dir/file, device:/dir/file, and device:drive_letter:/dir/file as
- representing absolute path names.
- __gnat_set_file_time_name [VMS]: Fix some 64/32 bit issues.
-
- * cstreams.c (__gnat_full_name for VxWorks): Use
- __gnat_is_absolute_path to detect whether we need to add the current
- directory to normalize the path.
-
-2007-08-14 Javier Miranda <miranda@adacore.com>
-
- * a-tags.ads,
- a-tags.adb (Displace): Associate a message with the raised CE
- exception.
- (To_Addr_Ptr, To_Address, To_Dispatch_Table_Ptr,
- To_Object_Specific_Data_Ptr To_Predef_Prims_Ptr,
- To_Tag_Ptr, To_Type_Specific_Data_Ptr): Moved here from the package
- spec.
- (Default_Prim_Op_Count): Removed.
- (IW_Membership, Get_Entry_Index, Get_Offset_Index, Get_Prim_Op_Kind,
- Register_Tag, Set_Entry_Index, Set_Offset_To_Top, Set_Prim_Op_Kind):
- Remove pragma Inline_Always.
-
- * rtsfind.ads (Default_Prim_Op_Count): Removed
- (Max_Predef_Prims): New entity
- (RE_Expanded_Name): Removed
- (RE_HT_Link): Removed
- (RE_Iface_Tag): Remmoved
- (RE_Ifaces_Table): Removed
- (RE_Interfaces_Array): Removed
- (RE_Interface_Data_Element): Removed
- (RE_Nb_Ifaces): Removed
- (RE_RC_Offset): Removed
- (RE_Static_Offset_To_Top): Removed
-
- * exp_atag.ads, exp_atag.adb (Build_Inherit_Prims): Addition of a new
- formal.
- (Build_Inherit_Predefined_Prims): Replace occurrences of Default_
- Prim_Op_Count by Max_Predef_Prims.
-
-2007-08-14 Thomas Quinot <quinot@adacore.com>
- Vincent Celier <celier@adacore.com>
-
- * binde.adb (Elab_All_Links): Remove unnecessary call to
- Generic_Separately_Compiled (if a unit satisfies this predicate, there
- won't be an associated Afile).
- (Elab_All_Links): Fail if a referenced unit cannot be found
-
- * bindgen.adb:
- Fix comments in bindgen regarding consistency checks done in Bcheck:
- the checks are made across units within a partition, not across several
- partitions.
- Fix generation of C binder file for VxWorks.
-
- * lib.ads, lib.adb (Generic_Separately_Compiled): Rename to
- Generic_May_Lack_ALI, more descriptive of the current use of the
- predicate, and update documentation.
-
- * lib-writ.ads, lib-writ.adb (Write_With_Lines): Minor code
- reorganization and documentation update for the case of predefined
- library generics (for which we do not reference an Afile).
-
-2007-08-14 Robert Dewar <dewar@adacore.com>
-
- * s-intman-irix.adb, s-osinte-irix.adb, s-osinte-irix.ads,
- s-proinf-irix-athread.ads, s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads,
- s-parame-hpux.ads, s-intman-dummy.adb, s-tasinf-solaris.adb,
- s-tasinf-solaris.ads, s-asthan-vms-alpha.adb, s-inmaop-vms.adb,
- s-intman-vms.adb, s-intman-vms.ads, s-osprim-mingw.adb,
- s-parame-vms-restrict.ads, s-parame-ae653.ads, s-intman-vxworks.ads,
- s-intman-vxworks.ads, s-intman-vxworks.adb, s-parame-vxworks.ads,
- s-tfsetr-vxworks.adb, s-interr.adb, s-interr.ads, a-tasatt.adb,
- exp_ch13.adb, s-htable.ads, s-imgboo.ads, s-imglli.ads, s-imgllu.ads,
- s-imguns.ads, g-eacodu.adb, par-ch12.adb, s-stache.ads, s-stausa.adb,
- s-poosiz.adb, s-parame.ads, s-mastop.ads, s-osinte-darwin.ads,
- a-chtgke.adb, s-asthan-vms-alpha.adb, s-parame-vms-alpha.ads,
- s-parame-vms-ia64.ads, s-parame-vxworks.adb, s-except.ads,
- g-altcon.adb: Minor reformatting
-
- ada-tree.h: Delete empty line.
-
- ali.ads: Minor reformatting
- Clarification of comments.
- Minor spelling correction
-
- * exp_dbug.adb: Add Warnings Off to suppress new warning
-
- * a-witeio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
- formal
-
- * a-strunb.adb (Set_Unbounded_String): Avoid memory leak by freeing old
- value
-
- * a-textio.adb (Write): Remove an unnecessary IN OUT mode from
-
- * a-textio.ads: Reorder the standard input/output/error declarations
- for consistency.
-
- * g-dirope.adb, g-dirope.ads: Change Dir to mode IN for Open call
-
- * par-ch2.adb: Recognize RM specially in errout
- Change 'R'M to RM in all error messages
-
- * scng.adb: Recognize RM specially in errout
-
- * sem.ads, sem.adb, exp_strm.adb, exp_ch5.ads, expander.adb: Rename
- N_Return node to be N_Simple_Return, to reflect Ada 2005 terminology.
-
- * s-direio.adb: Add missing routine header box.
-
- * sem_attr.ads: Add ??? comments
-
- * sem_eval.adb: Recognize RM specially in errout
- Change 'R'M to RM in all error messages
-
- * sem_maps.adb, sem_maps.ads: Remove some unnecessary IN OUT modes
-
- * s-tasinf.ads: Fix minor comment typo.
-
- * a-cihama.adb: Minor comment addition
-
- * a-ztexio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
- formal
-
- * s-tasinf-tru64.ads: Fix minor comment typo.
-
- * itypes.ads: Comment update.
-
- * ali-util.adb: Remove Generic_Separately_Compiled guard, not needed
- anymore.
-
- * argv.c: Added protection against null gnat_argv and gnat_envp.
-
- * bcheck.adb (Check_Consistency): Use correct markup character ({) in
- warning message when Tolerate_Consistency_Errors is True.
-
- * cstand.adb (Create_Standard): Do not call Init_Size_Alignment for
- Any_Id, as this subprogram is only applicable to *type* entities (it
- sets RM_Size). Instead initialize just Esize and Alignment.
-
-2007-08-14 Bob Duff <duff@adacore.com>
-
- * a-cihama.ads, a-cidlli.ads, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
- a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
- a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorse.ads, a-cohama.ads,
- a-cohata.ads, a-convec.adb, a-coinve.ads, a-coinve.adb, a-convec.ads,
- a-coorse.ads (Next): Applied pragma Inline.
- Make all Containers packages Remote_Types (unless they are already
- Pure).
- (Previous): applied pragma Inline
- (Elements_Type): is now a record instead of an array
-
-2007-08-14 Thomas Quinot <quinot@adacore.com>
-
- * table.adb, g-table.adb, g-dyntab.adb (Append): Reimplement in terms
- of Set_Item.
- (Set_Item): When the new item is an element of the currently allocated
- table passed by reference, save a copy on the stack if we're going
- to reallocate. Also, in Table.Set_Item, make sure we test the proper
- variable to determine whether to call Set_Last.
-
- * sinput-d.adb, sinput-l.adb, stringt.adb, switch-m.adb,
- symbols-vms.adb, symbols-processing-vms-alpha.adb,
- symbols-processing-vms-ia64.adb, sem_elab.adb, repinfo.adb: Replace
- some occurrences of the pattern
- T.Increment_Last;
- T.Table (T.Last) := Value;
- with a cleaner call to
- T.Append (Value);
-
-2007-08-14 Ed Schonberg <schonberg@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
- Thomas Quinot <quinot@adacore.com>
-
- * sem_ch12.ads, sem_ch12.adb (Instantiate_Type): If the formal is a
- derived type with interface progenitors use the analyzed formal as the
- parent of the actual, to create renamings for all the inherited
- operations in Derive_Subprograms.
- (Collect_Previous_Instances): new procedure within of
- Load_Parent_Of_Generic, to instantiate all bodies in the compilation
- unit being loaded, to ensure that the generation of global symbols is
- consistent in different compilation modes.
- (Is_Tagged_Ancestor): New function testing the ancestor relation that
- takes progenitor types into account.
- (Validate_Derived_Type_Instance): Enforce the rule of 3.9.3(9) by
- traversing over the primitives of the formal and actual types to locate
- any abstract subprograms of the actual type that correspond to a
- nonabstract subprogram of the formal type's ancestor type(s), and issue
- an error if such is found.
- (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation,
- Instantiate_Package_Body, Instantiate_Subprogram_Body):
- Remove bogus guard around calls to Inherit_Context.
- (Reset_Entity): If the entity is the selector of a selected component
- that denotes a named number, propagate constant-folding to the generic
- template only if the named number is global to the generic unit.
- (Set_Instance_Env): Only reset the compilation switches when compiling
- a predefined or internal unit.
-
-2007-08-14 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Try_Class_Wide_Operation): use base type of first
- parameter to determine whether operation applies to the prefix.
- (Complete_Object_Operation): If actual has an access type and
- controlling formal is not an in_parameter, reject the actual if it is
- an access_to_constant type.
- (Try_Primitive_Operation): If the type of the prefix is a formal tagged
- type, the candidate operations are found in the scope of declaration of
- the type, because the type has no primitive subprograms.
- (Analyze_Selected_Component): If prefix is class-wide, and root type is
- a private extension, only examine visible components before trying to
- analyze as a prefixed call.
- Change Entity_List to Type_To_Use, for better readability.
- (Has_Fixed_Op): Use base type when checking whether the type of an
- operator has a user-defined multiplication/division
- (Check_Arithmetic_Pair): Use Ada 2005 rules to remove ambiguities when
- user-defined operators are available for fixed-point types.
-
-2007-08-14 Thomas Quinot <quinot@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_cat.ads, sem_cat.adb (Has_Stream_Attribute_Definition): New
- formal At_Any_Place indicating, when True, that we want to test for
- availability of the stream attribute at any place (as opposed to the
- current visibility context only).
- (Missing_Read_Write_Attributes): A stream attribute is missing for the
- purpose of enforcing E.2.2(8) only if it is not available at any place.
- Take into account the Ada2005 pragma Has_Preelaborable_Initialization
- when checking the legality of an extension aggregate in a preelaborable
- package. Treat the literal null as a valid default expression in a
- component declaration for a type with preelaborable initialization.
- A limited interface is a legal progenitor for the designated type of a
- remote access to class-wide type.
-
-2007-08-14 Thomas Quinot <quinot@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.ads, sem_ch8.adb (Find_Type, case of a 'Base attribute
- reference): Use correct entity as denoted entity for the selector of
- the rewritten node.
- (Find_Direct_Name): Add comment about Generate_Reference incorrectly
- setting the Referenced_As_LHS flag for entities that are implicitly
- dereferenced.
- (Find_Type): If the type is an internally generated incomplete type,
- mark the full view as referenced, to prevent spurious warnings.
- (Find_Selected_Component, Has_Components): Handle properly non-limited
- views that are themselves incomplete types.
- Handle interfaces visible through limited-with clauses.
- (Analyze_Subprogram_Renaming): Disambiguate and set the entity of a
- subprogram generic actual for which we have generated a renaming.
- Warn when the renaming introduces a homonym of
- the renamed entity, and the renamed entity is directly visible.
-
-2007-08-14 Ed Schonberg <schonberg@adacore.com>
- Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_res.adb (Resolve_Allocator): Propagate any coextensions that
- appear in the subtree to the current allocator if it is not a static
- coextension.
- (Resolve_Allocator): Perform cleanup if resolution has determined that
- the allocator is not a coextension.
- (Resolve): Skip an interpretation hidden by an abstract operator only
- when the type of the interpretation matches that of the context.
- (Resolve): When looping through all possible interpretations of a node,
- do not consider those that are hidden by abstract operators.
- (Resolve_Actuals): When verifying that an access to class-wide object
- is an actual for a controlling formal, ignore anonymous access to
- subprograms whose return type is an access to class_wide type.
- (Resolve_Slice): If the prefix of the slice is a selected component
- whose type depends on discriminants, build its actual subtype before
- applying range checks on the bounds of the slice.
- (Valid_Conversion): In an instance or inlined body, compare root types,
- to prevent anomalies between private and public views.
- (Resolve): Improve error message for ambiguous fixed multiplication
- expressions that involve universal_fixed multiplying operations.
-
-2007-08-14 Javier Miranda <miranda@adacore.com>
- Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch9.adb (Build_Protected_Entry): Propagate the original source
- location to allow the correct generation of errors in case of
- restrictions applied to the expanded code.
- (Expand_Entry_Barrier): Remove all generated renamings for a barrier
- function if the condition does not reference them.
- (Expand_Entry_Body_Declarations): Mark the index constant as having a
- valid value.
-
-2007-08-14 Thomas Quinot <quinot@adacore.com>
- Pablo Oliveira <oliveira@adacore.com>
-
- * exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating
- typecode parameters for a union (in a variant record), remove
- extraneous layer of Any wrapping for member label.
- (Expand_Receiving_Stubs_Bodies): For an RCI package body that has
- elabration statements, register the package with the name server
- at the beginning, not at the end, of the elaboration statements so
- that they can create remote access to subprogram values that designate
- remote subprograms from the package.
-
-2007-08-14 Hristian Kirtchev <kirtchev@adacore.com>
-
- * g-catiio.adb (Image): For the case of %s, use Ada.Calendar.Time
- values to compute the number of seconds since the Unix Epoc in order to
- account for Daylight Savings Time. Perform special processing for dates
- that are earlier than the Unix Epoc to obtain a negative number.
-
-2007-08-14 Emmanuel Briot <briot@adacore.com>
-
- * g-comlin.adb (Getopt): Fix handling of "*" switch when not collapsing
- switches.
-
-2007-08-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnatlink.adb (Gnatlink): Pass switches to the linker even if the
- binder-generated file is not in Ada.
- Pass -mrtp to the linker if it is GCC and --RTS=rtp has been
- recorded in the ALI file.
- Pass -fsjlj to the linker if it is GCC and --RTS=sjlj has been recorded.
-
-2007-08-14 Vincent Celier <celier@adacore.com>
-
- * gnatls.adb: (Corresponding_Sdep_Entry): Always return a value
- (Output_Source): Do nothing if parameter is No_Sdep_Id
-
- * make.adb (Gnatmake): Do not rebuild an archive simply because a
- shared library it imports has a later time stamp.
- (Check): Resolve the symbolic links in the path name of the object
- directory.
- Check that the ALI file is in the correct object directory
- Check if a file name does not correspond to the mapping of units
- to file names.
- (Display_Version): New procedure
- (Initialize): Process switches --version and --help
- Use type Path_Name_Type for path name
-
-2007-08-14 Paul Hilfinger <hilfinger@adacore.com>
-
- * impunit.adb: Re-organize System.Random_Numbers and
- GNAT.Random_Numbers and add to builds.
-
- * Makefile.rtl: Add s-rannum.ad* and g-rannum.ad*, a-assert*
-
- * s-rannum.ads, s-rannum.adb, g-rannum.ads, g-rannum.adb: New files.
-
- * a-assert.ads, a-assert.adb: New files.
-
-2007-08-14 Gary Dismukes <dismukes@adacore.com>
-
- * layout.adb (Layout_Type): In the case of access-to-subprogram types,
- if AAMP_On_Target is True, then the size of the type encompasses two
- addresses (a static link and a subprogram address), except in the case
- of library-level access types.
-
-2007-08-14 Vincent Celier <celier@adacore.com>
-
- * output.ads, output.adb (Write_Eol): Remove trailing spaces before
- writing the line.
- (Write_Eol_Keep_Blanks): New procedure to write a line, including
- possible trailing spaces.
- (Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
-
-2007-08-14 Javier Miranda <miranda@adacore.com>
-
- * par-ch6.adb (P_Formal_Part): Fix wrong error message associated with
- null-excluding access types.
-
-2007-08-14 Javier Miranda <miranda@adacore.com>
-
- * sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code
- that is common to Analyze_Protected_Type and Analyze_Task_Type. In case
- of private types add missing check on matching interfaces in the
- partial and full declarations.
- (Analyze_Protected_Type): Code cleanup.
- (Analyze_Task_Type): Code cleanup.
-
-2007-08-14 Javier Miranda <miranda@adacore.com>
-
- * sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on a
- generated interface thunk.
-
-2007-08-14 Ed Schonberg <schonberg@adacore.com>
-
- * s-ficobl.ads: Declare AFCB as a tagged incomplete type, to prevent
- obsolescent warning on application of 'Class to an incomplete type.
-
- * s-finroo.ads: Declare Root_Controlled as a tagged incomplete type, to
- prevent obsolescent warning on application of 'Class to an incomplete
- type.
-
-2007-08-14 Pascal Obry <obry@adacore.com>
-
- * s-fileio.adb (Is_Open): Add check for usability of the underlying
- file stream.
-
-2007-08-14 Cyrille Comar <comar@adacore.com>
-
- * s-finimp.adb (Detach_From_Final_List): make this procedure idempotent
- since it is potentially used in cases implying double finalization of
- the same object.
-
-2007-08-14 Jose Ruiz <ruiz@adacore.com>
-
- * s-tasini.adb (Get_Stack_Info): Move this function to
- System.Soft_Links.Tasking because it is common to the full and the
- restricted run times.
- (Init_RTS): Do not set the Get_Stack_Info soft link because it is done
- in SSL.Tasking.Init_Tasking_Soft_Links.
-
- * s-solita.adb (Get_Stack_Info): Function moved from
- System.Tasking.Initialization because it is common to the full and the
- restricted run times.
- (Init_Tasking_Soft_Links): Set the tasking soft link for Get_Stack_Info.
-
-2007-08-14 Arnaud Charlet <charlet@adacore.com>
-
- * s-tpobop.ads, s-tpobop.adb, s-tasren.ads, s-tasren.adb,
- s-taskin.ads (Requeue_With_Abort): Rename field With_Abort.
- (PO_Do_Or_Queue, Task_Do_Or_Queue, Requeue_Call): Remove With_Abort
- parameter.
-
- * s-tassta.adb (Task_Wrapper): Increased value of the small overflow
- guard to 12K.
-
-2007-08-14 Gary Dismukes <dismukes@adacore.com>
-
- * s-veboop.adb (SU): New named number initialized to
- System.Storage_Unit.
- (True_Val): The initialization expression is revised to use SU (=
- Storage_Unit) rather than assuming 8 for the component size of an
- unpacked Boolean array.
-
-2007-08-14 Tristan Gingold <gingold@adacore.com>
-
- * tracebak.c: Use tb-ivms.c on OpenVMS Itanium.
-
- * tb-ivms.c: New file.
-
- * g-trasym-vms-ia64.adb: Fixed for OpenVMS version 8.2
-
-2007-08-14 Geert Bosch <bosch@adacore.com>
-
- * i-forbla.ads, i-forbla.adb, a-ngcoar.adb, a-ngcoar.ads, i-forlap.ads,
- s-gearop.adb, s-gecobl.adb, s-gecobl.ads, s-gerela.adb, s-gerela.ads:
- Add required linker pragmas for automatically linking with the gnalasup
- linear algebra support library, and the systems math library.
- Rename cdot to cdotu and zdot to zdotu.
- Update header comment to describe purpose of package.
-
-2007-08-14 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch7.adb (Find_Final_List): For an anonymous access type that has
- an explicitly specified Associated_Final_Chain, use that list.
- (Expand_N_Package_Body): Build dispatch tables of library level tagged
- types.
- (Expand_N_Package_Declaration): Build dispatch tables of library level
- tagged types. Minor code cleanup.
-
-2007-08-14 Vincent Celier <celier@adacore.com>
-
- * gnatchop.adb (Terminate_Program): Remove exception and use
- Types.Terminate_Program instead.
-
- * osint.ads, osint.adb (Current_Exit_Status): New global variable
- (Find_Program_Name): Added protection against empty name.
- (OS_Exit_Through_Exception): New procedure
-
- * s-os_lib.ads, s-os_lib.adb (OS_Exit): New procedure body
- (OS_Exit_Default): New procedure that contains the previous
- implementation of procedure OS_Exit.
- (Final_Value): Remove obsolete Interix stuff.
-
-2007-08-14 Thomas Quinot <quinot@adacore.com>
-
- * g-socket.ads: Reorganize example code so that it also works on
- Windows XP.
-
-2007-08-14 Tristan Gingold <gingold@adacore.com>
-
- * g-trasym.ads: AIX now supports symbolic backtraces.
-
-2007-08-14 Ed Schonberg <schonberg@adacore.com>
-
- * lib-load.adb (From_Limited_With_Chain): Always scan the stack of
- units being loaded to detect circularities. A circularity may be
- present even if the current chain of pending units to load starts from
- a limited_with_clause.
-
- * lib-load.ads: Change profile of Load_Unit to use a with_clause
- rather than a boolean flag, in order to detect circularities in
- with_clauses.
-
- * par-load.adb: Use current with_clause in calls to Load_Unit, rather
- than propagating the From_Limited_With flag, in order to handle
- properly circularities involving with_clauses.
-
-2007-08-14 Nicolas Setton <setton@adacore.com>
-
- * link.c (FreeBSD): Add "const" keyword where needed, to eliminate
- warnings.
-
-2007-08-14 Arnaud Charlet <charlet@adacore.com>
-
- * Makefile.in: GNATRTL_LINEARALGEBRA_OBJS: New variable holding objects
- to build for libgnala.
- libgnat: Add rules to build libgnala.a
- (LIBGNAT_TARGET_PAIRS for VxWorks): Remove s-osinte-vxworks.adb from
- target pairs of the VxWorks 6 kernel runtime, use it only for VxWorks 5.
- Add s-osinte-vxworks-kernel.adb to the target pairs of the
- kernel run-time lib for VxWorks 6, which would provide a different
- implementation for Task_Cont and Task_Stop than the VxWorks 5 version.
- x86-solaris section (EH_MECHANISM): Set to -gcc, as this port is now
- running ZCX by default.
- Add g-sttsne-locking to LynxOS version.
- Remove g-sttsne-vxworks.ads; use g-sttsne-locking.ads instead.
- On x86/darwin, use a-numaux-x86.ad? and system-darwin-x86.ads.
-
- * system-darwin-x86.ads: New file.
-
- * Make-lang.in: Delete files before copying onto them, so if they are
- read-only, the copy won't fail.
- Update dependencies
-
-2007-08-14 Pascal Obry <obry@adacore.com>
-
- * mdll-fil.adb, * mdll.adb: Implement a more consistent libraries
- naming scheme.
-
-2007-08-14 Vincent Celier <celier@adacore.com>
-
- * mlib-utl.adb (Gcc_Name): Change from constant String to String_Access
- (Gcc): Initialize Gcc_Name at the first call
-
-2007-08-14 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch7.adb (Analyze_Package_Specification): Do not install private
- with_clauses of the enclosing unit when analyzing the package
- specification of a nested instance.
-
-2007-08-14 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sinfo.ads, sinfo.adb (Is_Coextension, Set_Is_Coextension): Removed.
- (Is_Dynamic_Coextension, Set_Is_Dynamic_Coextension): New routines.
- Remove flag Is_Coextension. Add flag Is_Dynamic_Coextension. Update the
- layout of N_Allocator.
-
-2007-08-14 Thomas Quinot <quinot@adacore.com>
-
- * rtsfind.adb (Check_RPC): Add PCS version check.
-
- * gnatvsn.ads, gnatvsn.adb: Add PCS version.
- (Gnat_Free_Software): New function.
-
- * sem_dist.ads, sem_dist.adb (Get_PCS_Version): New subprogram. Returns
- the PCS_Version value from s-parint, used to check that it is consistent
- with what exp_dist expects.
-
- * s-parint.ads (PCS_Version): New entity for checking consistency
- between exp_dist and PCS.
-
- * gen-soccon.c: (SO_REUSEPORT): New constant.
-
-2007-08-14 Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-calfor.adb (Image (Duration; Boolean)): Change type of local
- variable Sub_Second to Duration in order to accomodate a larger range
- of arithmetic operations.
-
-2007-08-14 Bob Duff <duff@adacore.com>
-
- * g-sttsne-locking.ads: Move comments from spec to body.
- * g-sttsne-locking.adb: Move comments from spec to body.
- * g-sttsne-vxworks.ads: Removed.
- * g-sttsne-vxworks.adb: Removed.
-
-2007-08-11 Ian Lance Taylor <iant@google.com>
-
- * misc.c (gnat_get_alias_set): Change return type to
- alias_set_type.
-
-2007-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * decl.c, utils2.c: Fix whitespace in last change.
-
-2007-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * decl.c (compare_field_bitpos): Constify.
- * utils2.c (compare_elmt_bitpos): Likewise.
-
-2007-07-27 Aurelien Jarno <aurelien@aurel32.net>
-
- * s-osinte-kfreebsd-gnu.ads ((sigset_t_ptr): Removed, replaced by
- anonymous access type.
- (pthread_sigmask): Now take an access sigset_t.
-
-2007-07-05 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * s-osinte-rtems.ads: Correct prototype of pthread_sigmask.
-
-2007-06-21 Eric Botcazou <ebotcazou@adacore.com>
-
- PR tree-optimization/25737
- * misc.c (gnat_post_options): Do not force flag_tree_salias to 0.
-
-2007-06-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
-
- * trans.c (Attribute_to_gnu): When subtracting an
- offset from a pointer, use POINTER_PLUS_EXPR with
- NEGATE_EXPR instead of MINUS_EXPR.
- (gnat_to_gnu): Likewise.
- * utils.c (convert): When converting between
- thin pointers, use POINTER_PLUS_EXPR and sizetype
- for the offset.
- * utils2.c (known_alignment): POINTER_PLUS_EXPR
- have the same semantics as PLUS_EXPR for alignment.
- (build_binary_op): Add support for the semantics of
- POINTER_PLUS_EXPR's operands.
- When adding an offset to a pointer, use POINTER_PLUS_EXPR.
-
-2007-06-11 Rafael Ávila de Espíndola <espindola@google.com>
-
- * trans.c (Attribute_to_gnu): Use signed_or_unsigned_type_for instead
- of get_signed_or_unsigned_type.
- * misc.c (LANG_HOOKS_SIGNED_TYPE): Remove.
-
-2007-06-11 Bob Duff <duff@adacore.com>
- Thomas Quinot <quinot@adacore.com>
-
- * g-stsifd-sockets.adb (Create): Work around strange behavior of
- 'bind' on windows that causes 'connect' to fail intermittently, by
- retrying the 'bind'.
- (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
-
-2007-06-10 Duncan Sands <baldrick@free.fr>
-
- * decl.c (gnat_to_gnu_entity): Use pointers to dummy nodes, rather
- than to void, for the fields when making a new fat pointer type.
- (gnat_substitute_in_type): Now substitute_in_type.
- * gigi.h (gnat_substitute_in_type): Likewise. Adjust recursive calls.
- * trans.c (gnat_gimplify_expr): Remove COMPONENT_REF kludge.
- * utils.c (update_pointer_to): Update fat pointers by updating the
- dummy node pointers used for the fields.
-
-2007-06-06 Thomas Quinot <quinot@adacore.com>
- Bob Duff <duff@adacore.com>
-
- * g-soccon-freebsd.ads, g-soccon-vxworks.ads:,
- g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
- g-soccon-solaris.ads, g-soccon-vms.ads, g-soccon-tru64.ads: Add new
- constant Thread_Blocking_IO, always True by default, set False
- on a per-runtime basis.
- (Need_Netdb_Buffer): New constant.
-
- * g-stheme.adb, g-sttsne.ads, g-sttsne-locking.ads,
- g-sttsne-locking.adb, g-sttsne-vxworks.ads, g-sttsne-vxworks.adb: New
- files.
-
- * g-socthi-vxworks.ads, g-socthi-vxworks.adb,
- g-socthi-vms.ads, g-socthi-vms.adb (Safe_Gethostbyname,
- Safe_Gethostbyaddr, Safe_Getservbyname, Safe_Getservbyport): Use new
- child package Task_Safe_NetDB
- (Host_Error_Messages): Add stub body.
- (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
-
- * g-soccon-mingw.ads: Add Windows-specific constants.
- (Need_Netdb_Buffer): New constant.
- (GNAT.Sockets.Thin.C_Inet_Addr, Windows version): Remove useless Ada
- wrapper and import inet_addr(3) from the standard sockets library
- directly instead.
- (In_Addr): Add alignment clause.
- (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
-
- * a-taster.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
- s-osinte-irix.ads, s-interr-sigaction.adb, s-mastop-irix.adb,
- s-osinte-hpux-dce.ads, s-osinte-interix.ads, s-osinte-solaris.ads,
- s-taspri-solaris.ads, s-inmaop-vms.adb, s-interr-vms.adb,
- s-mastop-vms.adb, s-osinte-vms.ads, s-tpopde-vms.adb,
- s-osinte-mingw.ads, s-interr-vxworks.adb, i-cstrea-vms.adb,
- a-diocst.adb, a-direio.adb, a-interr.adb, a-sequio.adb, a-siocst.adb,
- a-ssicst.adb, a-storio.adb, a-ststio.adb, a-stwima.adb, a-tasatt.adb,
- a-taside.adb, a-tiocst.adb, a-witeio.adb, a-wtcstr.adb, g-crc32.adb,
- g-dirope.adb, g-dyntab.adb, g-memdum.adb, g-regexp.adb, g-spipat.adb,
- g-spitbo.adb, g-string.adb, g-string.ads, g-table.adb, g-thread.adb,
- i-cobol.adb, i-cpoint.adb, i-cstrea.adb, i-cstrin.adb, i-pacdec.adb,
- s-addima.adb, s-arit64.adb, s-auxdec.adb, s-auxdec.ads,
- s-auxdec-vms_64.ads, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
- s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
- s-direio.adb, s-fileio.adb, s-finimp.ads, s-geveop.adb, s-imgenu.adb,
- s-pack03.adb, s-pack05.adb, s-pack06.adb, s-pack07.adb, s-pack09.adb,
- s-pack10.adb, s-pack11.adb, s-pack12.adb, s-pack13.adb, s-pack14.adb,
- s-pack15.adb, s-pack17.adb, s-pack18.adb, s-pack19.adb, s-pack20.adb,
- s-pack21.adb, s-pack22.adb, s-pack23.adb, s-pack24.adb, s-pack25.adb,
- s-pack26.adb, s-pack27.adb, s-pack28.adb, s-pack29.adb, s-pack30.adb,
- s-pack31.adb, s-pack33.adb, s-pack34.adb, s-pack35.adb, s-pack36.adb,
- s-pack37.adb, s-pack38.adb, s-pack39.adb, s-pack40.adb, s-pack41.adb,
- s-pack42.adb, s-pack43.adb, s-pack44.adb, s-pack45.adb, s-pack46.adb,
- s-pack47.adb, s-pack48.adb, s-pack49.adb, s-pack50.adb, s-pack51.adb,
- s-pack52.adb, s-pack53.adb, s-pack54.adb, s-pack55.adb, s-pack56.adb,
- s-pack57.adb, s-pack58.adb, s-pack59.adb, s-pack60.adb, s-pack61.adb,
- s-pack62.adb, s-pack63.adb, s-pooloc.adb, s-poosiz.adb, s-scaval.adb,
- s-sequio.adb, s-shasto.adb, s-stalib.ads, s-stratt.adb, s-strcom.adb,
- s-taasde.adb, s-tasdeb.adb, s-tasuti.ads, s-tataat.ads, s-tpoben.ads,
- s-valenu.adb, s-widenu.adb, s-wwdenu.adb, s-addope.adb, a-stzmap.adb,
- a-ztcstr.adb, a-ztexio.adb, s-osinte-linux-hppa.ads: Replace
- Unchecked_* by Ada.Unchecked_*
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
-
- * g-string.adb, s-proinf-irix-athread.adb, s-gloloc-mingw.adb,
- s-tfsetr-default.adb, gnatfind.adb, gnatxref.adb, gprep.adb,
- g-regexp.adb, g-regexp.ads, g-regpat.ads, g-tasloc.adb, g-tasloc.ads,
- output.adb, switch-m.ads, tree_in.ads, tree_io.ads, indepsw.ads,
- g-utf_32.adb, g-utf_32.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb,
- a-zchuni.ads: Replace GNAT.xxx by System.xxx when appropriate.
-
- * s-utf_32.adb, s-utf_32.ads, s-os_lib.adb, s-os_lib.ads, s-regexp.adb,
- s-regexp.ads, s-regpat.adb, s-regpat.ads, s-string.adb, s-string.ads,
- s-tasloc.adb, s-tasloc.ads: New files.
-
-2007-06-06 Bob Duff <duff@adacore.com>
-
- * g-expect-vms.adb:
- (Send_Signal, Close): Raise Invalid_Process if the process id is invalid.
- * g-expect.ads, g-expect.adb (Send): Avoid useless copy of the string.
- (Send_Signal, Close): Raise Invalid_Process if the process id is
- invalid.
- (Pattern_Matcher_Access): Is now a general access type to be able to
- use aliased string.
-
-2007-06-06 Thomas Quinot <quinot@adacore.com>
- Arnaud Charlet <charlet@adacore.com>
-
- * a-intnam-aix.ads: Adjust comment to account for SIGADAABORT change
- (SIGEMT is now used instead of SIGTERM on AIX).
-
- * s-osinte-aix.ads (Linker_Options): Use -pthread instead of -lpthreads.
- (Time_Slice_Supported): Set to True.
- Use SIGEMT instead of SIGTERM as SIGADAABORT.
-
-2007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-calend.ads, a-calend.adb, a-calend-vms.ads, a-calend-vms.adb ("-"
- (Time, Time)): Use To_Relative_Time rather than manual calculation to
- express the bounds of Duration as Time. Raise Time_Error when the
- result is greater or equal to the higher bound of Duration (on the
- margin case).
- ("+" (Time, Duration)): Reorder code. Remove the declaration of constant
- Ada_High_And_Leaps.
- ("-" (Time, Duration)): Reorder code. Remove the declaration of constant
- Ada_High_And_Leaps.
- ("-" (Time, Time)): Reorder code.
- (All_Leap_Seconds): Removed.
- (Arithmetic_Operations.Add): Remove sign related kludge.
- (Arithmetic_Operations.Difference): Control the leaps seconds processing
- with flag Leap_Support.
- (Arithmetic_Operations.Subtract): Remove sign related kludge.
- (Check_Within_Time_Bounds): New procedure.
- (Clock): Control the leap seconds processing with flag Leap_Support.
- (Cumulative_Leap_Seconds): Assert that the target supports leap seconds.
- (Formatting_Operations.Split): Control the leap seconds processing with
- flag Leap_Support.
- (Formatting_Operations.Time_Of): Control the leaps seconds processing
- with flag Leap_Support. Adjust the year, month and day (if applicable)
- when the value of day seconds designates a new day.
- (Split): Use parameter associations for better readability. Integrate
- flag Is_Ada_05.
- (Time_Of): Use parameter associations for better readability. Integrate
- flag Is_Ada_05.
-
- * a-calfor.adb (Split): Use parameter associations for better
- readability. Integrate flag Is_Ada_05.
- (Time_Of): Remove flag Leap_Checks. Use parameter associations for
- better readability. Integrate flag Is_Ada_05.
-
-2007-06-06 Arnaud Charlet <charlet@adacore.com>
-
- * s-taprop-vms.adb, s-taprop-hpux-dce.adb, s-taprop-vxworks.adb,
- s-osprim-posix.adb, s-taprop-posix.adb, s-osprim-vxworks.adb,
- s-taprop-solaris.adb, s-osprim-solaris.adb, s-taprop-dummy.adb,
- s-osprim-unix.adb, s-osinte-freebsd.adb, s-osinte-freebsd.ads,
- s-osinte-lynxos.adb, s-osinte-lynxos.ads, s-taprop-tru64.adb,
- s-taprop-lynxos.adb, s-taprop-irix.adb, s-osinte-tru64.adb,
- s-osinte-tru64.ads, s-taprop-linux.adb, s-parame.ads,
- s-parame-vms-alpha.ads, s-parame-vms-ia64.ads, s-parame-hpux.ads,
- s-parame-vms-restrict.ads, s-parame-ae653.ads, s-parame-vxworks.ads,
- s-taprop-mingw.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos-3.adb,
- s-osprim-mingw.adb (Timed_Delay, Timed_Sleep): Register the base
- time when entering this routine to detect a backward clock setting
- (manual setting or DST adjustment), to avoid waiting for a longer delay
- than needed.
- (Time_Duration, To_Timeval, struct_timeval): Removed when not relevant.
- Remove handling of deferred priority change, and replace by setting the
- task priority directly, as required by AI-188.
- Update comments.
- (Max_Task_Image_Length): New constant.
- Replace Warnings (Off) by Unreferenced pragma, cleaner.
- (Dynamic_Priority_Support): Removed, no longer needed.
- (Poll_Base_Priority_Change): Ditto.
- (Set_Ceiling): Add this procedure to change the ceiling priority
- associated to a lock. This is a dummy implementation because dynamic
- priority ceilings are not supported by the underlying system.
-
- * a-dynpri.adb (Set_Priority): Take into account case where Target is
- accepting a RV with its priority boosted.
- Remove handling of deferred priority change, and replace by setting the
- task priority directly, as required by AI-188.
-
- * s-taenca.adb (Try_To_Cancel_Entry_Call): Remove special case for
- Succeeded = True.
- Remove handling of deferred priority change, and replace by setting the
- task priority directly, as required by AI-188.
- (Wait_For_Completion, Wait_For_Call, Timed_Selective_Wait): Change state
- of Self_Id earlier.
-
- * s-tasini.ads, s-tasini.adb (Wakeup_Entry_Caller): Relax assertion.
- (Poll_Base_Priority_Change): Removed.
- Code clean up: use SSL.Current_Target_Exception.
-
- * s-tasren.adb (Task_Count): Call Yield to let a chance to other tasks
- to run as this is a potentially dispatching point.
- (Call_Synchronous): Use Local_Defer_Abort.
- (Callable): Relax assertion.
- (Selective_Wait): Relax assertion in case abort is not allowed.
- Remove handling of deferred priority change, and replace by setting the
- task priority directly, as required by AI-188.
-
- * s-tasuti.adb (Make_Passive): Adjust assertions.
- Remove handling of deferred priority change, and replace by setting the
- task priority directly, as required by AI-188.
-
-2007-06-06 Arnaud Charlet <charlet@adacore.com>
-
- * system-vxworks-sparcv9.ads, system-solaris-x86.ads,
- system-irix-o32.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
- system-lynxos-x86.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
- system-vxworks-mips.ads, system-vxworks-alpha.ads,
- system-vxworks-x86.ads, system-linux-ppc.ads, system-mingw.ads,
- system-vms-zcx.ads, system-darwin-ppc.ads, system-vxworks-ppc.ads,
- system-interix.ads, system-linux-hppa.ads, system-tru64.ads,
- system-hpux.ads, system-irix-n32.ads, system-solaris-sparc.ads,
- system-solaris-sparcv9.ads, system-vms.ads, system.ads,
- system-vms_64.ads, system-hpux-ia64.ads, system-linux-x86_64.ads,
- system-linux-ia64.ads: Document mapping between Ada and OS priorities.
- This patch changes the largest non-binary modulus from 2**31-1 to
- 2**32-1.
- (Compiler_System_Version): Removed, no longer used.
- Clean up system files by removing flags only used on a single target.
- Also remove obsolete flags, only used during bootstrap from system.ads
- (Address): Add a pragma Preelaborable_Initialization.
-
- * system-aix.ads: Ditto.
- (GCC_ZCX_Support): Set to true.
- Update priority range on AIX and map Ada priorities to target
- priorities appropriately for different scheduling policies.
-
- * ttypes.ads: set largest non-binary modulus from 2**31-1 to 2**32-1
-
-2007-06-06 Vincent Celier <celier@adacore.com>
-
- * mlib-tgt-specific.adb, mlib-tgt-specific.ads,
- mlib-tgt-vms.adb, mlib-tgt-vms.ads: New files.
-
- * mlib-tgt.adb, mlib-tgt.ads, mlib-tgt-darwin.adb,
- mlib-tgt-vxworks.adb, mlib-tgt-mingw.adb, mlib-tgt-lynxos.adb,
- mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb,
- mlib-tgt-vms-ia64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
- mlib-tgt-hpux.adb, mlib-tgt-tru64.adb: Make a common body for package
- MLib.Tgt, containing the default versions of the exported subprograms.
- For each platform, create a specific version of the body of new child
- package MLib.Tgt.Specific that contains only the body of subprograms
- that are different from the default.
- (Archive_Builder_Append_Options): New function.
-
-2007-06-06 Matthew Gingell <gingell@adacore.com>
-
- * s-osinte-aix.adb: Map Ada priorities to target priorities
- appropriately for different scheduling policies.
-
-2007-06-06 Arnaud Charlet <charlet@adacore.com>
-
- * s-osinte-linux.ads (sigset_t): Bump alignment to match more closely
- its C counterpart.
- Remove references to Unchecked_Conversion, and use Ada.xxx instead.
- Replace Unchecked_Conversion by Ada.Unchecked_Conversion.
-
-2007-06-06 Vasiliy Fofanov <fofanov@adacore.com>
-
- * s-osprim-vms.ads, s-osprim-vms.adb (Initialize): New procedure.
- Noop on VMS, added for interface commonality.
-
-2007-06-06 Eric Botcazou <ebotcazou@adacore.com>
- Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- Olivier Hainque <hainque@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <object>: Manually mark the top of the
- renamed expression of a full renaming at toplevel.
- (gnat_to_gnu_entity, case object): If not defining, do not look inside
- the values the constant is initialized to if it is an N_Allocator.
- (gnat_to_gnu_entity) <E_Array_Subtype>: Manually mark the top of the
- TYPE_SIZE_UNIT of inner types after the stride is elaborated.
- (make_aligning_type): Accept an extra ROOM argument for storage to be
- made available before the aligned field, and an extra BASE_ALIGN
- argument for callers to pass the alignment guaranteed to be honored for
- the whole aligning object. Avoid call to finish_record_type, which only
- interferes with the sizes we want to set.
- (gnat_to_gnu_entity) <E_Variable>: Pass the required extra arguments to
- make_aligning_type for super-aligned objects on stack.
- (components_to_record): Pass the adjusted size of the type when creating
- fields in the qualified union for the variant part.
- (gnat_substitute_in_type): Copy TYPE_USER_ALIGN.
- (gnat_to_gnu_entity, case E_Signed_Integer_Subtype): Likewise for
- packed array type.
- (maybe_pad_type): Set TYPE_USER_ALIGN.
- (make_aligning_type): Likewise.
- ALIGN argument is unsigned int.
- (gnat_to_gnu_entity, case E_Function): Back annotate return mechanism.
- (gnat_to_gnu_param): Likewise, for parameters.
- (gnat_to_gnu_entity) <object>: Always instantiate the renaming object
- if it is constant and stems from a function call.
- (gnat_to_gnu_entity) <E_Record_Type>: Set packed to -2 if the alignment
- of the record is specified. Adjust accordingly.
- (adjust_packed): New static function.
- (gnat_to_gnu_field): Use it to adjust the packedness setting.
- (components_to_record): Likewise.
- (gnat_to_gnu_entity) <object>: Do not test the renamed expression for
- side-effects if the object is deemed constant.
- (gnat_to_gnu_entity) <E_Array_Type>: Create a name for the fat pointer
- type instead of merely finalizing it. Tidy.
- <E_Access_Subprogram_Type>: Retrieve the type from the TYPE_DECL.
- <E_Access_Type>: Likewise.
- (defer_debug_incomplete_list): Rename to defer_finalize_list.
- (defer_debug_level): Delete.
- (gnat_to_gnu_entity) <debug_deferred>: Likewise
- <E_Array_Type>: Call rest_of_record_type_compilation on the fat pointer
- type.
- <E_Record_Type>: Do not explicitly defer finalizing the type.
- Adjust for write_record_type_debug_info renaming.
- <E_Subprogram_Type>: Likewise.
- Finalize deferred types right after deferred incomplete types are
- expanded.
- (rest_of_type_decl_compilation): New global function.
- (components_to_record): Rename defer_debug parameter to do_not_finalize.
- (components_to_record): Propagate the packedness to the fields of the
- qualified union type if there is a variant part.
- (gnat_to_gnu_entity) <E_Array_Type>: Use new function
- instead of inline code to adjust the XUT field offsets.
- (gnat_to_gnu_entity): Adjust for new prototype of finish_record_type.
- <E_Record_Subtype>: Do not let finish_record_type compute the sizes
- and write the debug info if the type derives from a discriminated one.
- (gnat_to_gnu_entity) <E_Array_Type>: Adjust call to create_index_type.
- <E_Array_Subtype>: Likewise.
- <E_String_Literal_Subtype>: Likewise.
- (gnat_to_gnu_entity): Set TYPE_USER_ALIGN on types only if they have
- an alignment clause.
- (maybe_pad_type): Update ORIG_SIZE to the minimum required to meet ALIGN
- before giving warning.
- (prepend_one_attribute_to): New function, helper to prepend an attribute
- to an attribute list.
- (gnat_to_gnu_entity) <E_Procedure>: Use it.
- (prepend_attributes): Likewise.
- (gnat_to_gnu_entity) <E_Variable>: Use constants of the proper type.
- <E_Array_Type>: Declare the padding type for the element type, if any.
- <E_Array_Subtype>: Likewise.
- (defer_limited_with): New variable.
- (Gigi_Equivalent_Type): New function.
- (gnat_to_gnu_entity): Use it at start and use result throughout.
- (gnat_to_gnu_entity, case E_Access_Type): Rework to use
- Gigi_Equivalent_Type, support Limited_With, allow two levels of
- indirection, precompute if unconstrained array to simplify logic, and
- use defer_limited_with to defer elaboration of some types from limited
- with.
- (finalize_from_with_types): New function.
-
-2007-06-06 Gary Dismukes <dismukes@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
- Tristan Gingold <gingold@adacore.com>
- Olivier Hainque <hainque@adacore.com>
-
- * trans.c (Identifier_to_gnu): Change test for deferred constant by
- adding guard that the entity is an E_Constant before testing presence
- of Full_view (and remove unnecessary test that entity is not a type).
- For a CONST_DECL used by reference, manually retrieve
- the DECL_INITIAL. Do not invoke fold in the other DECL_P cases either.
- (struct language_function): Move from utils.c to here.
- (struct parm_attr): New structure.
- (parm_attr, parm_attr vector, parm_attr GC vector): New types.
- (f_parm_attr_cache): New macro.
- (Attribute_to_gnu) <Attr_Length>: When not optimizing, cache the
- expressions for the 'First, 'Last and 'Length attributes of the
- unconstrained array IN parameters.
- (Subprogram_Body_to_gnu): Use gnu_subprog_decl throughout.
- Allocate the information structure for the function earlier, as well
- as the language-specific part.
- If the parameter attributes cache has been populated, evaluate the
- cached expressions on entry.
- (takes_address): Add OPERAND_TYPE parameter. Handle N_Function_Call,
- N_Procedure_Call_Statement and N_Indexed_Component.
- (Pragma_to_gnu): Translate inspection_point to an asm statement
- containaing a comment and a reference to the object (either its address
- for BLKmode or its value).
- (Identifier_to_gnu): Use TREE_CONSTANT instead of CONST_DECL to decide
- to go to DECL_INITIAL. Together with the size constraint relaxation
- in create_var_decl, enlarges the set of situations in which an
- identifier may be used as an initializer without implying elaboration
- code.
- (Subprogram_Body_to_gnu): Do not fiddle with the debug interface but set
- DECL_IGNORED_P on the function if Needs_Debug_Info is not set on the
- node.
- (maybe_stabilize_reference): Remove lvalues_only parameter.
- (gnat_stabilize_reference): Adjust for above change.
- (gnat_to_gnu): Do not set location information on the result
- if it is a reference.
- (add_cleanup): Add gnat_node parameter and set the location of the
- cleanup to it.
- (Handled_Sequence_Of_Statements_to_gnu): Adjust calls to add_cleanup.
- (Exception_Handler_to_gnu_zcx): Likewise.
- (gigi): Remove the cgraph node if the elaboration procedure is empty.
- (Subprogram_Body_to_gnu): If a stub is attached to the subprogram, emit
- the former right after the latter.
- (start_stmt_group): Make global.
- (end_stmt_group): Likewise.
- (gnu_constraint_error_label_stack, gnu_storage_error_label_stack): New
- vars.
- (gnu_program_error_label_stack): Likewise.
- (gigi): Initialize them.
- (call_to_gnu, gnat_to_gnu, emit_check): Add new arg to build_call_raise.
- (gnat_to_gnu, N_{Push,Pop}_{Constraint,Storage,Program}_Error_Label):
- New cases.
- (push_exception_label_stack): New function.
- (takes_address): New function.
-
- * utils.c (struct language_function): Move to trans.c from here.
- (unchecked_convert): Do not wrap up integer constants in
- VIEW_CONVERT_EXPRs.
- (create_var_decl_1): Decouple TREE_CONSTANT from CONST_DECL. Prevent
- the latter for aggregate types, unexpected by later passes, and relax an
- arbitrary size constraint on the former.
- (create_field_decl): Use tree_int_cst_equal instead of operand_equal_p
- to compare the sizes.
- (convert_vms_descriptor): When converting to a fat pointer type, be
- prepared for a S descriptor at runtime in spite of a SB specification.
- (shift_unc_components_for_thin_pointers): New function.
- (write_record_type_debug_info): For variable-sized fields, cap the
- alignment of the pointer to the computed alignment.
- (finish_record_type): Change HAS_REP parameter into REP_LEVEL.
- If REP_LEVEL is 2, do not compute the sizes.
- (build_vms_descriptor): Adjust for new prototype of finish_record_type.
- (build_unc_object_type): Likewise.
- (declare_debug_type): New function.
-
- * ada-tree.def: USE_STMT: removed (not emitted anymore).
-
- * misc.c (gnat_expand_expr): Call to gnat_expand_stmt removed because
- no statement is expandable anymore.
- (gnat_init_gcc_eh): Do not initialize the DWARF-2 CFI machinery twice.
- (gnat_handle_option): Only allow flag_eliminate_debug_types to be set
- when the user requested it explicitely.
- (gnat_post_options): By default, set flag_eliminate_unused_debug_types
- to 0 for Ada.
- (get_alias_set): Return alias set 0 for a type if
- TYPE_UNIVERSAL_ALIASING_P is set on its main variant.
-
- * ada-tree.h: (TYPE_UNIVERSAL_ALIASING_P): New macro.
- (DECL_FUNCTION_STUB): New accessor macro.
- (SET_DECL_FUNCTION_STUB): New setter macro.
-
- * lang.opt (feliminate-unused-debug-types): Intercept this flag for Ada.
-
- * fe.h (Get_Local_Raise_Call_Entity, Get_RT_Exception_Entity): New
- declarations.
-
-2007-06-06 Jose Ruiz <ruiz@adacore.com>
-
- * s-intman-vxworks.ads, s-intman-vxworks.adb (Abort_Task_Signal):
- Rename to Abort_Task_Interrupt to be able to keep the same interface
- as the rest of the targets.
-
- * s-osinte-vxworks.ads s-osinte-vxworks.adb
- (To_VxWorks_Priority): Remove explicit "in" mode indicator
-
- * s-osinte-vxworks6.ads, s-vxwork-arm.ads, system-vxworks-arm.ads:
- New files.
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
-
- * a-chahan.ads: Remove obsolescent pragmas
-
- * a-chlat1.ads: Minor reformatting
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
-
- * comperr.adb (Compiler_Abort): New Finalize/Output_Messages interface
- for Errout
-
- * errout.adb: New Finalize/Compilation_Errors/Output_Messages
- implementation
-
- * errout.ads (Finalize): Changed interface
- (Output_Messages): New procedure
- (Compilation_Errors): New Interface
-
- * prepcomp.ads, prepcomp.adb (Parse_Preprocessing_Data_File): New
- Finalize/Output_Messages interface for Errout
- (Prepare_To_Preprocess): New Finalize/Output_Messages interface for
- Errout.
-
-2007-06-06 Thomas Quinot <quinot@adacore.com>
- Olivier Hainque <hainque@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * a-except.ads, a-except.adb: (Rmsg_28): Fix description for E.4(18)
- check.
- (Raise_Current_Excep): Call Debug_Raise_Exception just before
- propagation starts, to let debuggers know about the event in a reliable
- fashion.
- (Local_Raise): Moved to System.Exceptions
- More convenient to have this as a separate unit
-
- * s-except.adb, s-except.ads: New files.
-
- * a-exextr.adb (Unhandled_Exception): Delete - replaced by
- Debug_Unhandled_Exception in System.Exceptions where it belongs
- together with a couple of other debug helpers.
- (Notify_Unhandled_Exception): Use Debug_Unhandled_Exception instead of
- the former Unhandled_Exception.
-
- * exp_ch11.ads, exp_ch11.adb: (Possible_Local_Raise): New procedure
- (Warn_No_Exception_Propagation): New procedure
- (Warn_If_No_Propagation): Rewritten for new warning generation
- (Expand_Exception_Handlers): New warning generation
- (Expand_N_Raise_xxx_Error): Rewritten for new warnings
- (Add_Exception_Label): Use Special_Exception_Package_Used for test
- instead of Most_Recent_Exception_Used (accomodates Exception_Traces)
- (Expand_Local_Exception_Handlers): Unconditionally add extra block wrap
- even if restriction is set (makes life easier in Check_Returns)
- (Expand_Local_Exception_Handlers): Follow renamed entity chain when
- checking exception identities.
- (Expand_Local_Exception_Handlers): Do not optimize when all others case
- (Expand_Local_Exception_Handlers): Set Exception_Junk flag on generated
- block for handler (used by Check_Returns)
- (Expand_Local_Exception_Handlers): Local_Raise now takes an address
- (Expand_N_Handled_Sequence_Of_Statements): Properly handle -gnatd.x to
- remove all exception handlers when optimizing local raise statements.
- (Find_Local_Handler): Use Get_Renamed_Entity
- (Expand_N_Handled_Sequence_Of_Statements): If the handled sequence is
- marked analyzed after expanding exception handlers, do not generate
- redundant cleanup actions, because they have been constructed already.
-
-2007-06-06 Thomas Quinot <quinot@adacore.com>
-
- * a-finali.ads (Ada.Finalization): Add missing pragma Remote_Types. The
- presence of this categorization pragma is mandated by the language.
- (Limited_Controlled): Add missing pragma Preelaborable_Initialization
- for this type.
-
-2007-06-06 Vincent Celier <celier@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * bcheck.adb, binde.adb, binderr.adb, binderr.ads, butil.adb,
- butil.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
- err_vars.ads, exp_tss.adb, exp_tss.ads, fmap.adb, fmap.ads,
- fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
- lib-sort.adb, lib-util.adb, lib-util.ads, lib-xref.adb, makeutl.ads,
- makeutl.adb, nmake.adt, osint.adb, osint.ads, osint-b.adb,
- par-load.adb, prj-attr.adb, prj-dect.adb, prj-err.adb, prj-makr.adb,
- prj-part.adb, prj-pp.adb, prj-proc.adb, prj-tree.adb, prj-tree.ads,
- prj-util.adb, prj-util.ads, scans.adb, scans.ads, sem_ch2.adb,
- sinput-c.adb, styleg-c.adb, tempdir.adb, tempdir.ads, uname.adb,
- uname.ads, atree.h, atree.ads, atree.adb, ali-util.ads, ali-util.adb,
- ali.ads, ali.adb:
- Move Name_Id, File_Name_Type and Unit_Name_Type from package Types to
- package Namet. Make File_Name_Type and Unit_Name_Type types derived from
- Mame_Id. Add new type Path_Name_Type, also derived from Name_Id.
- Use variables of types File_Name_Type and Unit_Name_Type in error
- messages.
- (Get_Name): Add parameter Ignore_Special, and set it reading file name
- (New_Copy): When debugging the compiler, call New_Node_Debugging_Output
- here.
- Define flags Flag217-Flag230 with associated subprograms
- (Flag_Word5): New record type.
- (Flag_Word5_Ptr): New access type.
- (To_Flag_Word5): New unchecked conversion.
- (To_Flag_Word5_Ptr): Likewise.
- (Flag216): New function.
- (Set_Flag216): New procedure.
-
-2007-06-06 Arnaud Charlet <charlet@adacore.com>
-
- * a-stzunb.adb, a-stwiun.adb, a-strunb.adb: (Insert): Use 'Length
- instead of 'Size.
-
- * a-stwifi.ads, a-stzfix.ads: Minor reformatting
-
-2007-06-06 Javier Miranda <miranda@adacore.com>
-
- * a-tags.ads, a-tags.adb (Tag_Size): This constant is now internal to
- the package.
- (Object_Specific_Data_Array): This is now internal to the package.
- (Object_Specific_Data): This is now internal to the package.
- (Select_Specific_Data_Element): This is now internal to the package.
- (Select_Specific_Data_Array): This is now internal to the package.
- (Select_Specific_Data): This is now internal to the package.
- (Offset_To_Top_Function_Ptr): This is now public.
- (To_Offset_To_Top_Function_Ptr): Removed.
- (Storage_Offset_Ptr,To_Storage_Offset_Ptr): These declarations are now
- local to subprogram Offset_To_Top.
- (Predefined_DT): Removed.
- (Typeinfo_Ptr): Removed.
- (OSD): This function is now internal to this package.
- (SSD): This function is now internal to this package.
- (DT): New function that displaces the pointer to the table of primitives
- to get access to the enclosing wrapper record.
- (IW_Membership): Code cleanup.
- (Offset_To_Top): Code cleanup.
- (Predefined_DT): Removed.
- (Register_Interface_Tag): Removed.
- (Set_Interface_Table): Removed.
- (Set_Offset_Index): Removed.
- (Set_Offset_To_Top): Code cleanup.
- (Set_OSD): Removed.
- (Set_Signature): Removed.
- (Set_SSD): Removed.
- (Set_Tagged_Kind): Removed.
- (Typeinfo_Ptr): Removed.
- (TSD): Removed.
- (Displace): Add missing check on null actual.
-
- * exp_disp.ads, exp_disp.adb
- (Select_Expansion_Utilities): Removed.
- (Build_Common_Dispatching_Select_Statements): Moved to exp_atags.
- (Expand_Dispatching_Call): Update calls to Get_Prim_Op_Address because
- the interface requires a new parameter.
- (Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
- Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Replace
- calls to subprograms Build_T, Build_S, etc. by the corresponding code.
- Done to remove package Select_Expansion_Utilities.
- (Make_DT): New implementation for statically allocated dispatch tables.
- (Make_Secondary_DT): Moved to the scope of Make_DT.
- (Register_Primitive): Code cleanup plus incoporate the use of the new
- function DT_Address_Attribute.
- (Expand_Interface_Thunk): The profile of this subprogram has been
- changed to return the Thunk_Id and the corresponding code.
- (Fill_DT_Entry): Removed. Its functionality is now provided by
- subprogram Register_Primitive.
- (Fill_Secondary_DT_Entry): Removed. Its functionality is now provided by
- subprogram Register_Primitive.
- (Register_Primitive): New subprogram that incorporates the previous
- functionalities of Fill_DT_Entry and Fill_Secondary_DT_Entry.
- (Build_Common_Dispatching_Select_Statements): Remove formal Typ. This
- was only required to call Make_DT_Access_Action, which is now removed.
- (Ada_Actions): Removed
- (Action_Is_Proc): Removed
- (Action_Nb_Arg): Removed
- Replace all the calls to Make_DT_Access_Action by direct calls to
- Make_Procedure_Call_Statement or Make_Function_Call.
- (Set_DTC_Entity_Value): New subprogram.
- (Set_All_DT_Position): Add call to new subprogram Set_DTC_Entity_Value.
- (Expand_Interface_Thunk): Add missing support for primitives that are
- functions with a controlling result (case in which there is no need
- to generate the thunk).
-
- * exp_atag.ads, exp_atag.adb
- (Build_DT): New subprogram that displaces the pointer to reference the
- base of the wrapper record.
- (Build_Typeinfo_Offset): Removed.
- (RTE_Tag_Node): Removed.
- (Build_Common_Dispatching_Select_Statements): Moved here from exp_disp
- (Build_Get_RC_Offset): Removed.
- (Build_Inherit_Predefined_Prims): Removed.
- (Build_Inherit_TSD: Removed.
- (Build_New_TSD): Removed.
- (Build_Set_External_Tag): Removed.
- (Build_Set_Predefined_Prim_Op_Address): Add documentation.
- (Build_Set_Prim_Op_Address): Add documentation.
- (Build_Set_TSD): Removed.
-
- * rtsfind.ads, rtsfind.adb
- (Load_Fail): If load fails and we are not in configurable run-time
- mode, then raise Unrecoverable_Error.
- (Text_IO_Kludge): Generate an error message if a run-time library is
- not available in a given run-time (ie. zfp run-time).
- (RTE_Record_Component): Add code to check that the component we search
- for is not found in two records in the given run-time package.
- (RE_DT_Offset_To_Top_Size, RE_DT_Predef_Prims_Size): Removed
- (RE_DT_Predef_Prims_Offset): New entity
- (RE_Static_Offset_To_Top): New entity
- (RE_HT_Link): New entity.
- (System_Address_Image): Addition of this run-time package.
- (RE_Address_Image): New entity.
- (RE_Abstract_Interface): Removed.
- (RE_Default_Prim_Op_Count): Removed.
- (RE_DT_Entry_Size): Removed.
- (RE_DT_Min_Prologue_Size): Removed.
- (RE_DT_Prologue_Size): Removed.
- (RE_Ifaces_Table_Ptr): Removed.
- (RE_Interface_Data_Ptr): Removed.
- (RE_Type_Specific_Data): Removed.
- (RE_Primary_DT): Removed.
- (RE_Register_Interface_Tag): Removed.
- (RE_Set_Offset_Index): Removed.
- (RE_Set_OSD): Removed.
- (RE_Set_SSD): Removed.
- (RE_Set_Signature): Removed.
- (RE_Set_Tagged_Kind): Removed.
- (RE_Address_Array): New entity.
- (RE_DT): New entity.
- (RE_Iface_Tag): New entity.
- (RE_Interfaces_Table): New entity.
- (RE_No_Dispatch_Table): New entity.
- (RE_NDT_Prims_Ptr): New entity.
- (RE_NDT_TSD): New entity.
- (RE_Num_Prims): New entity.
- (RE_Offset_To_Top_Function_Ptr): New entity.
- (RE_OSD_Table): New entity.
- (RE_OSD_Num_Prims): New entity.
- (RE_Predef_Prims): New entity
- (RE_Predef_Prims_Table_Ptr): New entity.
- (RE_Primary_DT): New entity.
- (RE_Signature): New entity.
- (RE_SSD): New entity.
- (RE_TSD): New entity.
- (RE_Type_Specific_Data): New entity.
- (RE_Tag_Kind): New entity.
-
-2007-06-06 Thomas Quinot <quinot@adacore.com>
-
- * a-textio.ads, a-textio.adb (Write): Add explicit size clause for the
- C imported variable.
- (Skip_Line): Do not reset Before_LM_PM immediately when Before_LM is set
- on entry.
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
-
- * a-tienio.adb (Get): Adjust buffer size to accomodate one extra
- character
-
-2007-06-06 Vincent Celier <celier@adacore.com>
-
- * a-tifiio.adb (Put, internal): For negative numbers, check that there
- is room for at least one digit and the minus sign.
- (Put.Put_Character): Never put a character outside of the range of
- string To.
-
-2007-06-06 Olivier Hainque <hainque@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * utils2.c (build_allocator): Provide the extra arguments to
- make_aligning_type for super-aligned objects allocated from the default
- pool. Leave enough room for a pointer before the aligning field, and
- store the system's allocator return value there.
- (build_call_alloc_dealloc): When releasing a super-aligned object,
- retrieve the system's allocator return value from where build_allocator
- has stored it, just ahead of the adjusted address we are passed.
- (build_call_raise): Handle properly the generation of line numbers when
- the node is marked No_Location.
- (compare_elmt_bitpos): Use tree_int_cst_compare. Stabilize the sort
- by using DECL_UID on ties.
- (build_binary_op) <EQ_EXPR>: Accept fat pointer types with the same
- main variant.
- (build_call_raise): Handle converting exception into goto; support new
- argument KIND.
- (build_component_ref): Add new arg to build_call_raise.
-
-2007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-ztflau.adb, a-wtflau.adb, a-tiflau.adb (Load_Real): Do not parse
- "." in the case of nnn.xxx when nnn terminates with an underscore.
- Parse the remaining "#" or ":" in the case of nnn#.xxx#
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
-
- * a-tigeau.ads, a-tigeau.adb: (Store_Char): Change Buf to IN OUT
-
-2007-06-06 Arnaud Charlet <charlet@adacore.com>
- Vincent Celier <celier@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * bindgen.adb (Gen_Output_File_Ada): Generate pragma No_Run_Time when
- needed.
- (Gen_Output_File_Ada, Gen_Output_File_C): Never use __attribute
- ((destructor)) for adafinal, even when switch -a is used.
- Do not issue pragma Linker_Destructor for adafinal when switch -a is
- used.
- (Gen_Object_Files_Options): Add formatting of Linker Options, when
- Output_Linker_Option_List is set. Suppress this formatting when
- Zero_Formatting is set.
- Add case for CLI_Target.
- (System_Restrictions_Used): New flag, used to avoid generating with of
- System_Restrictions and initialization of the data unless there is
- some use of System.Restrictions in the partition.
- (Check_System_Restrictions_Used): New procedure
-
- * s-stalib.adb: Remove with of System.Restrictions. No longer needed
- since we only with this unit in the binder file if it is used elsewhere
- in the partition.
-
-2007-06-06 Vincent Celier <celier@adacore.com>
-
- * bindusg.adb: Add line for @<response file>
- Add lines for new switches -R and -Z
-
- * gnatbind.adb (Gnatbind): Do not include sources from the GNAT
- hierarchy in the list of files of the closure when -R is used
- (Gnatbind): Accept arguments starting with '@' to indicate response
- files and take the arguments from the response files.
- If List_Closure is set, display the referenced files
-
-2007-06-06 Javier Miranda <miranda@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * checks.ads, checks.adb (Apply_Address_Clause_Check): Handle case in
- which the address-clause is applied to in-mode actuals (allowed by
- 13.1(22)).
- (Apply_Discriminant_Check): Do not generate a check if the type is
- constrained by a current instance.
- (Activate_Division_Check): New procedure
- (Activate_Overflow_Check): New procedure
- (Activate_Range_Check): New procedure
- Call these new Activate procedures instead of setting flags directly
- (Apply_Array_Size_Check): Removed, no longer needed.
- Code clean up: remove obsolete code related to GCC 2.
- (Get_E_Length): Protect against bomb in case scope is standard
- (Selected_Range_Checks): If the node to be checked is a conversion to
- an unconstrained array type, and the expression is a slice, use the
- bounds of the slice to construct the required constraint checks.
- Improve NOT NULL error messages
- (Apply_Constraint_Check): If the context is a null-excluding access
- type, diagnose properly the literal null.
-
-2007-06-06 Pascal Obry <obry@adacore.com>
-
- * clean.adb (Clean_Archive): Use untouched casing for the archive name
- and the corresponding .deps file.
- (Clean_Interface_Copy_Directory): Use untouched casing for the library
- src directory. Minor code-clean-up. Use untouched casing for files
- read into the library src dir.
- (Clean_Library_Directory): Idem.
- (Parse_Cmd_Line): Accept new switch -aP
-
-2007-06-06 Javier Miranda <miranda@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
- Arnaud Charlet <charlet@adacore.com>
-
- * einfo.ads, einfo.adb (Available_View): New synthesized attribute
- applicable to types that have the With_Type flag set. Returns the
- non-limited view of the type, if available, otherwise the type itself.
- For class-wide types, there is no direct link in the tree, so we have
- to retrieve the class-wide type of the non-limited view of the Etype.
- New attributes Static_Initialization and Static_Elaboration_Desired.
- Remove the pragma Thread_Body, and the associated flag
- Is_Thread_Body in entities, and all related code.
- (Suppress_Value_Tracking_On_Call): New flag
- E_Exception has Esize and Alignment fields
- (Universal_Aliasing): New function.
- (Set_Universal_Aliasing): New procedure.
- (Write_Entity_Flags): Deal with Universal_Aliasing flag.
- (Check_Nested_Access): New procedure.
- (Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures.
- (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
- (Related_Interface): New attribute. Present in dispatch table pointer
- components of records. Set to point to the entity of the corresponding
- interface type.
- (Is_By_Reference_Type): Recurse on the full view of an incomplete type.
- (Original_Access_Type): Remove, not needed.
- (Root_Type): Handle properly subtypes of class-wide-types.
- Update comments.
-
- * sem_ch4.adb (Analyze_Explicit_Dereference): Add support for
- class-wide types visible through limited-with clauses.
- (Try_Primitive_Operation): When examining all primitive operations of a
- tagged type, do not consider subprograms labeled as hidden unless they
- belong to a private generic type with a tagged parent.
- (Try_Object_Operation): Extensive rewriting, to handle properly various
- overloading cases, when several ancestors may have class-wide operations
- that are possible candidates, and when the overloaded functions return
- array types and have defaulted parameters so that the call may be
- interpreted as an indexing.
- (Analyze_Allocator): Remove Mark_Allocator and its invocation.
- (Process_Function_Call): use Next, rather than Next_Actual, to analyze
- successive actuals before analyzing the call itself.
- (Try_Primitive_Operation): A primitive operation is compatible with the
- prefix if the prefix has a synchronized type and the type of the formal
- is its corresponding record, as can be the case when the primitive
- operation is declared outside of the body of the type.
- (Traverse_Homonyms): New subprocedure of Try_Class_Wide_Operation, to
- perform homonym traversal, looking for class-wide operation matches
- (formerly done in statements of Try_Class_Wide_Operation). Matches on
- access parameters are now restricted to anonymous access types.
- (Mark_Allocator): An allocator with a discriminant association parent is
- a coextension.
- (Try_One_Prefix_Interpretation): If the type of the object is
- incomplete, as can be happen when it is a limited view obtained through
- a limited_with_clause, the selected component is not part of a prefixed
- call.
- (Complete_Object_Operation): Diagnose properly an object that is not
- aliased when the corresponding controlling formal is an access
- parameter.
- (Try_Primitive_Operation, Try_Class_Wide_Operation): Diagnose properly
- ambiguous calls in prefixed notation, where two primitives differ only
- in that the controlling argument of one is an access parameter.
-
- * sem_ch6.adb (Has_Single_Return): Add guard in code that determines
- whether a function that returns an unconstrained type can be inlined.
- (Process_Formals): Diagnose properly the illegal use of an incomplete
- type in the profile of an access_to_subprogram declaration.
- (Check_Synchronized_Overriding): Nothing check for concurrent types, the
- operations are attached to the corresponding record.
- (Analyze_Subprogram_Specification): Add variables Formal and Formal_Typ.
- When processing a primitive of a concurrent type which implements an
- interface change the type of all controlling formals to that of the
- corresponding record type.
- (Check_Synchronized_Overriding): Relax the conditional logic when trying
- to determine the tagged type to which a primitive belongs.
- (Check_Conventions): Capture condition to ignore a primitive operation
- (which is shared between the loop in Check_Conventions and the one in
- Check_Convention) in a new local function Skip_Check.
- (Check_Convention): Rename Prim_Op to Second_Prim_Op to avoid possible
- confusion with Check_Conventions' own Prim_Op local variable.
- (Create_Extra_Formals): Test for a tagged result type rather than a
- controlling result when determining whether to add a BIP_Alloc_Form
- formal and a BIP_Final_List formal to the function.
- (Check_Conformance); For parameters that are anonymous access types,
- subtype conformance requires that the not null and the constant
- indicators must match
- (Check_Synchronized_Overriding): New parameter Formal_Typ. Add machinery
- to retrieve the appropriate type when processing a concurrent type
- declared within a generic. Minor comment reformatting. Change invocation
- of Overrides_Synchronized_Primitive to Find_Overridden_Synchronized_Pri-
- mitive.
- (Analyze_Subprogram_Body): If the return type of a function is an
- anonymous access to the limited view of a class-wide type, and the
- non-limited view of the type is available, update the type of the
- function so that code can be generated.
- (Process_Formals): In case of access-subtype itype whose designated
- type is also an itype (situation that happens now with access to
- subprograms) we mark the access-type itype with the Has_Delayed_Freeze
- attribute to avoid backend problems.
- (Check_Return_Subtype_Indication): Replace R_Type with R_Stm_Type in
- init of R_Stm_Type_Is_Anon_Access. Also check that base types of the
- anonymous types' designated types are same before testing
- Subtypes_Statically_Match.
- (Create_Extra_Formals): Test for a named access parameter that is a
- controlling formal as an additional condition for adding an
- accessibility level formal. This can occur in the subp type created for
- dispatching calls in Expand_Dispatching_Call, and allows calling
- Create_Extra_Formals from that procedure rather than special-casing the
- extra formals there.
- (Create_Extra_Formals): Add BIP_Alloc_Form and BIP_Final_List formals
- when the function has a controlling result.
- (Check_Returns): Add much more knowledge of the optimization of local
- raise statements to gotos, to retain proper warnings in this case.
- (Check_Statement_Sequence): Ignore N_Push_xxx_Label and N_Pop_xxx_Label
- nodes when looking for last statement.
-
- * sem_type.ads, sem_type.adb (Specific_Type): Add support for
- class-wide types visible through limited with clauses.
- (Add_One_Interp): If the operands are anonymous access types, the
- predefined operator on universal_access is immediately visibles
- (Find_Unique_Type): Handle anonymous access to subprogram types just as
- other anonymous access types.
- (Disambiguate): Take into account CIL convention.
- (Interface_Present_In_Ancestor): Add support for class-wide interfaces.
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
-
- * sinput.ads, sinput.adb, uintp.ads, urealp.adb, stringt.adb,
- sem_elim.adb, prj-strt.adb, repinfo.ads, repinfo.adb, namet.ads,
- elists.ads, elists.adb, lib.ads, lib.adb (Unlock): New procedure.
- Fix lower bound of tables.
- Add rep clauses.
-
- * nlists.adb: Ditto.
- (Prev_Node, Next_Node): Change index type to Int so that it properly
- covers the range First_Node_Id - 1 up.
-
-2007-06-06 Javier Miranda <miranda@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Bob Duff <duff@adacore.com>
- Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_aggr.ads, exp_aggr.adb:
- (Build_Record_Aggr_Code): Add missing initialization of secondary tags
- in extension aggregates.
- (Flatten): Other conditions being met, an aggregate is static if the
- low bound given by component associations is different from the low
- bound of the base index type.
- (Packed_Array_Aggregate_Handled): If the component type is itself a
- packed array or record, the front-end must expand into assignments.
- (Gen_Ctrl_Actions_For_Aggr): In call to Init_Controller, pass False to
- Init_Pr, instead of Ancestor_Is_Expression.
- (Gen_Ctrl_Actions_For_Aggr): When processing an aggregate of a
- coextension chain root, either generate a list controller or use the
- already existing one.
- (Static_Array_Aggregate): New procedure to construct a positional
- aggregate that can be handled by the backend, when all bounds and
- components are compile-time known constants.
- (Expand_Record_Aggregate): Force conversion of aggregates of tagged
- types covering interface types into assignments.
- (Replace_Type): move to Build_Record_Aggr_Code.
- (Expand_Record_Aggr_Code): if the target of the aggregate is an
- interface type, convert to the definite type of the aggregate itself,
- so that needed components are visible.
- (Convert_Aggr_In_Object_Decl): If the aggregate has controlled
- components and the context is an extended return statement do not
- create a transient block for it, to prevent premature finalization
- before the return is executed.
- (Gen_Assign): Do not generate a call to deep adjust routine if the
- component type is itself an array of controlled (sub)-components
- initialized with an inner aggregate.
- (Component_Check): New name for Static_Check. This name is now more
- appropriate, and documentation is added which was missing.
- (Component_Check): Add test for bit aligned component value
- (Component_Not_OK_For_Backend): Renames Has_Delayed_Nested_Aggregate_Or_
- Tagged_Comps, name is more appropriate given added function below.
- (Component_Not_OK_For_Backend): Check for bit aligned component ref.
-
-2007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
- Javier Miranda <miranda@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference): Case Callable and
- Terminated: Add unchecked type conversion from System.Address to
- System.Tasking.Task_Id when calling the predefined primitive
- _disp_get_task_id.
- Disable new Ada 05 accessibility check for JVM.NET targets, which
- cannot be implemented in a practical way.
- (Expand_N_Attribute_Reference: case Attribute_Tag): The use of 'Tag in
- the sources always references the tag of the actual object. Therefore,
- if 'Tag is applied in the sources to class-wide interface objects we
- generate code that displaces "this" to reference the base of the object.
- (Expand_N_Attribute_Reference, case Size): Return specified size if
- known to front end.
- (Expand_N_Attribute_Reference): The expansion of the 'Address attribute
- has code that displaces the pointer of the object to manage interface
- types. However this code must not be executed when the prefix is a
- subprogram. This bug caused the wrong expansion of the internally
- generated assignment that fills the dispatch table when the primitive
- is a function returning a class-wide interface type.
- (Expand_N_Attribute_Reference:Attribute_Valid): Remove incorrect call to
- Set_Attribute_Name for Name_Unaligned_Valid.
-
-2007-06-06 Ed Schonberg <schonberg@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case 'Address):
- If the initialization is the equivalent aggregate of the initialization
- procedure of the type, do not remove it.
- (Expand_N_Attribute_Definition_Clause): Exclude access variables
- initialized to null from having their expression reset to empty and
- note this exception in the comment.
-
-2007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch2.adb: Remove "with" and "use" clauses for Namet and Snames.
- Add "with" and "use" clauses for Sem_Attr.
- (Expand_Current_Value): Do not replace occurences of attribute
- references where the prefix must be a simple name.
-
- * sem_attr.ads, sem_attr.adb: Remove "with" and "use" clauses for
- Namet. Add new arrays Attribute_Name_Modifies_Prefix and
- Attribute_Requires_Simple_Name_Prefix.
- (Name_Modifies_Prefix): Body of new function.
- (Requires_Simple_Name_Prefix): Body of new function.
- (Resolve_Attribute, case Access): Improve error message for case of
- mismatched conventions.
- (Analyze_Attribute, case 'Tag): The prefix the attribute cannot be of an
- incomplete type.
- (Analyze_Attribute, case 'Access): If the type of the prefix is a
- constrained subtype for a nominal unconstrained type, use its base type
- to check for conformance with the context.
- (Resolve_Attribute): Remove test of the access type being associated
- with a return statement from condition for performing accessibility
- checks on access attributes, since this case is now captured by
- Is_Local_Anonymous_Access.
- (Analyze_Access_Attribute): Set Address_Taken on entity
- (Analyze_Attribute, case Address): Set Address_Taken on entity
- (OK_Self_Reference): Traverse tree to locate enclosing aggregate when
- validating an access attribute whose prefix is a current instance.
- (Resolve_Attribute): In case of attributes 'Code_Address and 'Address
- applied to dispatching operations, if freezing is required then we set
- the attribute Has_Delayed_Freeze in the prefix's entity.
- (Check_Local_Access): Set flag Suppress_Value_Tracking_On_Call in
- current scope if access of local subprogram taken
- (Analyze_Access_Attribute): Check legality of self-reference even if the
- expression comes from source, as when a single component association in
- an aggregate has a box association.
- (Resolve_Attribute, case 'Access): Do not apply accessibility checks to
- the prefix if it is a protected operation and the attribute is
- Unrestricted_Access.
- (Resolve_Attribute, case 'Access): Set the Etype of the attribute
- reference to the base type of the context, to force a constraint check
- when the context is an access subtype with an explicit constraint.
- (Analyze_Attribute, case 'Class): If the prefix is an interface and the
- node is rewritten as an interface conversion. leave unanalyzed after
- resolution, to ensure that type checking against the context will take
- place.
-
-2007-06-06 Ed Schonberg <schonberg@adacore.com>
- Javier Miranda <miranda@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * exp_ch3.adb (Make_Controlling_Function_Wrappers): generate wrapper a
- wrapper when the full view of the controlling type of an inherited
- function that dispatches on result implements interfaces.
- (Expand_N_Object_Declaration): In cases where the type of the
- declaration is anonymous access, create finalization list for it.
- (Expand_N_Object_Declaration): Generate a persistent_bss directive only
- if the object has no explicit initialization, to match description of
- functionality of pragam Persistent_BSS.
- (Build_Equivalent_Array_Aggregate, Build_Equivalent_Record_Aggregate):
- new function to build static aggregates, to replace initialization call
- when static initialization is desired.
- (Freeze_Type): Generate a list controller for an access type whenever
- its designated type has controlled anonymous access discriminants.
- (Build_Equivalent_Aggregate): New procedure to compute a static
- aggregate to be used as default initialization for composite types,
- instead of a generating a call to the initialization procedure for the
- type.
- (Build_Initialization_Call): When available, replace a call to the
- initialization procedure with a copy of the equivalent static aggregate
- for the type.
- (Expand_N_Object_Declaration): Use New_Occurrence_Of in generated
- declarations for objects of a class-wide interface type, rather than
- just identifiers, to prevent visibility problems.
- (Expand_N_Object_Declaration): When expanding the declaration for an
- object of a class-wide interface type, preserve the homonym chain of
- the original entity before exchanging it with that of the generated
- renaming declaration.
- (Freeze_Enumeration_Type): Don't raise CE if No_Exception_Propagation
- active, because there is no way to handle the exception.
- (Freeze_Record_Type): In case of CPP_Class types add a call to Make_DT
- to do a minimum decoration of the Access_Disp_Table list.
- (Expand_Record_Controller): Avoid the addition of the controller between
- the component containing the tag of a secondary dispatch table and its
- adjacent component that stores the offset to the base of the object.
- This latter component is only generated when the parent type has
- discriminants ---documented in Add_Interface_Tag_Components).
- (Apply_Array_Size_Check): Removed, no longer needed.
- (Expand_N_Full_Type_Declaration): If the type has anonymous access
- components, create a Master_Entity for it only if it contains tasks.
- (Build_Init_Procedure): Suppress the tag assignment compiling under
- no run-time mode.
- (Freeze_Record_Type): Remove code associated with creation of dispatch
- table.
- (Init_Secondary_Tags): Update type of actuals when generating calls to
- Ada.Tags.Set_Offset_To_Top
- (Stream_Operation_OK): Disable use of streams compiling under no
- run-time mode
- (Expand_N_Object_Declaration): Don't do Initialize_Scalars initalization
- if Has_Init_Expression set.
- (Build_Init_Procedure): Replace call to Fill_DT_Entry by call to
- Register_Primitive, which provides the same functionality.
- (Requires_Init_Proc): Return false in case of interface types.
- (Add_Secondary_Tables): Use the new attribute Related_Interface to
- cleanup the code.
- (Predefined_Primitive_Freeze): Do not assume that an internal entity
- is always associated with a predefined primitive because the internal
- entities associated with interface types are not predefined primitives.
- Therefore, the call to Is_Internal is replaced by a call to the
- function Is_Predefined_Dispatching_Operation.
- (Make_Eq_If): When generating the list of comparisons for the
- components of a given variant, omit the controller component that is
- present if the variant has controlled components.
-
-2007-06-06 Javier Miranda <miranda@adacore.com>
- Hristian Kirtchev <kirtchev@adacore.com>
- Bob Duff <duff@adacore.com>
-
- * exp_ch4.adb (Complete_Coextension_Finalization): Add machinery to
- handle the creation of finalization lists and calls for nested
- coextensions when the root of the chains is part of a return statement.
- (Inside_A_Return_Statement): New function inside Complete_Coextension_
- Finalization.
- (Expand_Record_Equality): Skip components that are interface types.
- (Displace_Allocator_Pointer): Add missing support for interface subtypes
- (Expand_N_Allocator): Replace invocation of Is_Local_Access_Discriminant
- with Rewrite_Coextension. Change the condition for detecting coextension
- root nodes.
- (Is_Local_Access_Discriminant): Removed.
- (Rewrite_Coextension): New routine which rewrites a static coextension
- as a temporary and uses its unrestricted access in the construction of
- the outer object.
- (Complete_Coextension_Finalization): New routine. Generate finalization
- attachment calls to all delayed coextensions.
- (Expand_N_Allocator): Call Complete_Coextension_Finalization whenever
- the allocator is not a coextension itself and has delayed coextensions.
- If the current allocator is controlled, but also a coextension, delay
- the generation of the finalization attachment call.
- Rename local variable "Node" to "Nod" in order to avoid confusion with
- "Elists.Node".
- (Expand_Allocator_Expression): Call Adjust for initialized allocators of
- limited types that are not inherently limited. Such an allocator is
- illegal, but is generated by the expander for a return statement, to
- copy the result onto the secondary stack. This is the only case where a
- limited object can be copied. Generate code to displace the pointer
- to the object if the qualified expression is a class-wide interface
- object. Such displacement was missing and hence the copy of the object
- was wrong.
- (Apply_Accessibility_Check): Handle allocated objects initialized in
- place.
- (Displace_Allocator_Pointer): Subsidiary procedure to Expand_N_Allocator
- and Expand_Allocator_Expression. Allocating class-wide interface objects
- this routine displaces the pointer to the allocated object to reference
- the component referencing the corresponding secondary dispatch table.
- Expand_Allocator_Expression): Add missing support to allocate class-wide
- interface objects initialized with a qualified expression.
- (Get_Allocator_Final_List): Test for an anonymous access type that is a
- function result type, and use the finalization list associated with the
- function scope in that case (such an anonymous type should not be
- treated like an access parameter's type).
-
-2007-06-06 Ed Schonberg <schonberg@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * exp_ch5.adb (Expand_N_Assignment_Statement): For the assignment of a
- controlled type, use Make_Handler_For_Ctrl_Operation to construct the
- required exception handler.
- (Expand_Simple_Function_Return, Expand_N_Return_Statement): Handle
- properly the case of a function whose return type is a limited
- class-wide interface type. Modify the code of the accessibility
- check to handle class-wide interface objects. In this case we need to
- displace "this" to reference the primary dispatch table to get access
- to the TSD of the object (to evaluate its accessibility level).
- (Expand_N_Extended_Return_Statement): Test for a tagged result type
- rather than a controlling result as one of the conditions for
- generating tests of the implicit BIP_Alloc_Form formal. The
- initialization assignment is also handled according to whether the
- result is tagged instead of controlling.
- In the case where the init assignment is inserted in the "then" part of
- the allocation conditional, rewrite the target to be a dereference of
- the implicit BIP_Object_Access formal.
- If the returned value is unconstrained and created on the secondary
- stack, mark the enclosing block and function so that the secondary
- stack is not reclaimed on return.
- Treat returns from functions with controlling results similarly to
- returns from functions with unconstrained result subtypes.
- If the object returned is unconstrained, and an allocator must be
- created for it, analyze the allocator once the block for the extended
- return is installed, to ensure that finalizable components
- of the expression use the proper finalization list. Guard the call to
- Move_Final_List with a check that there is something to finalize.
- (Make_Tag_Ctrl_Assignment): Use "old" handling
- of controlled type assignment for virtual machines, since new code uses
- unsupported features (such as direct access to bytes in memory).
-
-2007-06-06 Gary Dismukes <dismukes@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch6.ads, exp_ch6.adb (Expand_Call): When adding an extra
- accessibility actual, check for the case of an aliased object that has
- been rewritten as an Access attribute, and assign Prev to Prev_Orig so
- we fall into processing for the attribute rather than the name of the
- object.
- (Expand_Inline_Call): If an actual is a literal, and the corresponding
- formal has its address taken in the body, create a temporary to capture
- value. If the return type is a limited interface, do not treat the
- return value as Controlled.
- (Is_In_Place_Function): If the return type is a limited interface,
- treat as returning in place. The actual returned object may not always
- be limited, but the caller has to assume that it is returned in place.
- (Add_Final_List_Actual_To_Build_In_Place_Call): If the call is the
- context of an allocator, use the correct finalization chain (that is,
- the chain belonging to the access type, rather than the chain belonging
- to the current scope).
- (Add_Alloc_Form_Actual_To_Build_In_Place_Call): Test for a tagged
- result type rather than a controlling result as a precondition for
- adding an allocation form actual to a build-in-place call.
- (Add_Final_List_Actual_To_Build_In_Place_Call): Ditto.
- (Freeze_Subprogram): Code cleanup. Remove all the code that register the
- primitive in the dispatch tables. This work is now done by Make_DT when
- the type is frozen.
- (Register_Predefined_DT_Entry): Removed.
- (Add_Return): If end label is not present, use sloc of last statement
- for generated return statement in procedure, for better gdb behavior
- on expanded code.
- (Add_Access_Actual_To_Build_In_Place_Call): Set parent fields of the
- object address nodes to ensure proper processing by routines like
- Insert_After*.
- (Expand_Call): Fix generation of validity check for parameter
- (Add_Alloc_Form_Actual_To_Build_In_Place_Call): Return without passing
- the allocation form parameter if the result subtype is constrained,
- except when the function has a controlling result.
- (Add_Final_List_Actual_To_Build_In_Place_Call): Test Controlled_Type
- rather than Is_Controlled and Has_Controlled_Component, since we want to
- include class-wide result types in this treatment. Also test for a
- controlling result, since that also requires passing a finalization
- list.
- (Make_Build_In_Place_Call_In_Allocator): Call Add_Alloc_Form_Actual_*
- even when the result subtype is constrained, to handle calls involving
- controlling results.
- (Make_Build_In_Place_Call_In_Anonymous_Context): Add_Alloc_Form_Actual_*
- is now called even when the result subtype is constrained, to handle
- calls involving controlling results.
- (Make_Build_In_Place_Call_In_Assignment): Remove test for Is_Constrained
- on call to Add_Alloc_Form_Actual_To_Build_In_Place_Call (that procedure
- now performs the test).
- (Make_Build_In_Place_Call_In_Object_Declaration):
- Add_Alloc_Form_Actual_* is now called even when the result subtype is
- constrained, to handle calls involving controlling results.
- (Add_Return): Accomodate rewritten pattern from local raise to goto
- transformation, so that we still recognize an transfer statement
- and do the right thing here in that case.
- (Expand_N_Subprogram_Body): Add dummy Push/Pop_xxx_Label nodes at start
- and end of subprogram code.
- (Register_Interface_DT_Entry, Register_Predefined_DT_Entry): Add missing
- support for primitives that are functions (without formals) with a
- controlling result.
- (Inherited_From_Formal): If the actual subtype has not generic parent
- type, it is not an actual for a formal derived type, and there is no
- operation to inherit from the formal.
-
-2007-06-06 Ed Schonberg <schonberg@adacore.com>
- Thomas Quinot <quinot@adacore.com>
-
- * exp_ch7.ads, exp_ch7.adb (Expand_Cleanup_Actions): Set Sloc of
- inserted cleanup code appropriately for GDB use.
- (Make_Deep_Proc): Use Make_Handler_For_Ctrl_Operation to create
- exception handler for Deep_Adjust or Deep_Finalize.
- (Make_Handler_For_Ctrl_Operation): New subprogram. When runtime entity
- Raise_From_Controlled_Operation is available, use a call to that
- subprogram instead of a plain "raise Program_Error" node to raise
- Program_Error if an exception is propagated from an Adjust or Finalize
- operation.
- (Insert_Actions_In_Scope_Around): If the statement to be wrapped
- appears in the optional statement list of a triggering alternative, the
- scope actions can be inserted directly there, and not in the list that
- includes the asynchronous select itself.
-
-2007-06-06 Ed Schonberg <schonberg@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch9.ads, exp_ch9.adb (Build_Protected_Entry): Set sloc of
- generated exception handler appropriately when debugging generated code.
- Deal properly with No_Exception_Propagation restriction mode.
- (Expand_N_Abort_Statement): Add an unchecked type conversion from
- System.Address to System.Tasking.Task_Id when processing the result of
- the predefined primitive _disp_get_task_id.
- (Expand_N_Asynchronous_Select): Clarify comment.
- (Expand_N_Protected_Type_Declaration): Minor code cleanup.
- (Find_Parameter_Type): New routine inside Type_Conformant_Parameters.
- (Type_Conformant_Parameters): New parameter Prim_Op_Typ. Code cleanup.
- (Add_Private_Declarations, Build_Protected_Body): Use proper slocs for
- privals and for generated call to Complete_Entry_Body, for better gdb
- behavior.
- (Copy_Result_Type): Utility to construct a parameter and result profile
- for protected functions whose return type is an anonymous access to
- subprogram.
- (Build_Protected_Sub_Spec and Expand_Access_Protected_Subprogram_Type):
- call the above.
- (Build_Task_Activation_Call): Insert Activate_Tasks call at proper
- point when the local-raise-to-goto transformation has taken place.
-
-2007-06-06 Javier Miranda <miranda@adacore.com>
- Nicolas Setton <setton@adacore.com>
-
- * exp_dbug.adb (Get_Encoded_Name): Modified to continue providing its
- functionality when the backend is generating code.
- Otherwise any serious error
- reported by the backend calling the frontend routine Error_Msg
- changes the Compilation_Mode to Check_Semantics, disables the
- functionality of this routine and causes the generation of
- spureous additional errors.
-
- * exp_dbug.ads (Pointers to Unconstrained Arrays): Document the
- debugging information now generated by the compiler for fat-pointer
- types.
- Document the contents of DW_AT_producer in the GNAT Vendor extensions to
- DWARF2/3.
- Document GNAT Vendor extensions to DWARF 2/3 and the "-gdwarf+" switch.
-
-2007-06-06 Thomas Quinot <quinot@adacore.com>
-
- * exp_dist.ads, exp_dist.adb (Make_Transportable_Check): New subprogram
- (GARLIC_Support.Build_Subprogram_Receiving_Stubs,
- PolyORB_Support.Build_Subprogram_Receiving_Stubs):
- For a remote call to a function with a classwide return type, apply an
- E.4(18) check to the returned value.
- (Add_RACW_Primitive_Declarations_And_Bodies): Do not generate stubs for
- stream attributes of the designated type of an RACW, as they are not
- dispatching primitive operations.
-
-2007-06-06 Geert Bosch <bosch@adacore.com>
-
- * exp_fixd.adb (Integer_Literal): Add optional argument to construct a
- negative literal
- (Do_Divide_Fixed_Fixed): Add comments to indicate Frac is always
- positive
- (Do_Divide_Fixed_Universal): Handle case of negative Frac.
- (Do_Multiply_Fixed_Fixed): Add coments to indicate Frac is always
- positive
- (Do_Multiply_Fixed_Universal): Handle case of negative Frac.
-
-2007-06-06 Javier Miranda <miranda@adacore.com>
-
- * exp_imgv.adb (Expand_Value_Attribute): Disable compilation of this
- attribute compiling package Ada.Tags under No_Run_Time_Mode.
-
-2007-06-06 Javier Miranda <miranda@adacore.com>
-
- * exp_intr.adb (Expand_Unc_Deallocation): Add missing support for
- deallocation of class-wide interface objects.
- (Expand_Dispatching_Constructor_Call): Take into account that if the
- result of the dispatching constructor is an interface type, the
- function returns a class-wide interface type; otherwise the returned
- object would be actual. The frontend previously accepted returning
- interface types because Expand_Interface_Actuals silently performed
- the management of the returned type "as if" it were a class-wide
- interface type.
- (Expand_Dispatching_Constructor_Call): Replace call to
- Make_DT_Access_Action by direct call to Make_Function_Call.
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * exp_pakd.adb (Expand_Packed_Not): Use RM_Size rather than ESize to
- compute masking constant, since we now set Esize properly to the
- underlying size.
- (Create_Packed_Array_Type): Set proper Esize value adjusted as required
- to match the alignment.
- (Create_Packed_Array_Type): Use Short_Short_Unsigned as base type for
- packed arrays of 8 bits or less.
-
- * freeze.adb (Freeze_Entity): When freezing the formals of a
- subprogram, freeze the designated type of a parameter of an access type
- only if it is an access parameter.
- Increase size of C convention enumeration object
- (Freeze_Entity, array type case): Make sure Esize value is properly
- adjusted for the alignment if it is known.
- (Freeze_Entity, array type case): When checking bit packed arrays for
- the size being incorrect, check RM_Size, not Esize.
- (Freeze_Record_Type): Check for bad discriminated record convention
- (In_Exp_Body): Return true if the body is generated for a subprogram
- renaming, either an attribute renaming or a renaming as body.
- (Check_Itype): If the designated type of an anonymous access component
- is a non-protected subprogram type, indicate that it is frozen, to
- prevent out-of-scope freeze node at some subsequent call.
- (Freeze_Subprogram): On OpenVMS, reject descriptor passing mechanism
- only if the subprogram is neither imported nor exported, as well as the
- NCA descriptor class if the subprogram is exported.
-
-2007-06-06 Ed Schonberg <schonberg@adacore.com>
- Arnaud Charlet <charlet@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Remove properly a
- default initialization on an imported object, when there is no
- initialization call generated for it.
- (Expand_Pragma_Assert): Add handling of No_Exception_Propagation
- restriction
-
- * snames.h, snames.ads, snames.adb, par-prag.adb: New pragma
- Static_Elaboration_Desired.
- Remove pragma Thread_Body.
- Implement a new pragma No_Body
- Removes the Explicit_Overriding pragma
- Remove Optional_Overriding pragma
- (Prag): Deal with Universal_Aliasing.
- (Name_CIL, Name_CIL_Constructor, Convention_CIL,
- Pragma_CIL_Constructor): New names.
-
- * sem_cat.adb (Validate_Object_Declaration): An initialization that
- uses the equivalent aggregate of a type must be treated as an implicit
- initialization.
- (Get_Categorization): Check a unit for pragma Preelaborate only if it
- has none of the other categories.
- (Process_Import_Or_Interface_Pragma): Report an error for an attempt
- to apply Import to an object renaming declaration.
-
- * sem_prag.adb (Process_Import_Or_Interface): Warn that a type imported
- from a C++ class should be declared as limited and that it will be
- considererd limited.
- (Analyze_Pragma): Warn that a type specified with pragma CPP_Class
- should be declared as limited and that it will be considererd limited.
- (Ada_2005_Pragma): New procedure, used to deal with Ada 2005 pragmas
- (Analyze_Pragma, case Export): Diagnose export of enumeration literal
- (Analyze_Pragma): Deal with Universal_Aliasing.
- (Sig_Flags): Likewise.
- (Set_Encoded_Interface_Name): Suppress encoding when compiling for AAMP.
- (Overflow_Checks_Unsuppressed): New flag.
- (Process_Suppress_Unsuppress): Set Overflow_Checks_Unsuppressed.
- (Analyze_Pragma [case Pack]): Ignore pragma Pack and post warning in
- case of JVM or .NET targets, and compiling user code.
- Add debugging convenience routine rv
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
-
- * exp_strm.adb (Make_Field_Attributes): Avoid _Parent components that
- are interface type.
- (Build_Elementary_Input_Call): For floating-point use right type in the
- absence of strange size or stream size clauses.
- (Build_Elementary_Write_Call): Same fix
- (Has_Stream_Standard_Rep): Returns False if Stream_Size attribute
- set to value that does not match base type size.
-
-2007-06-06 Ed Schonberg <schonberg@adacore.com>
-
- * exp_util.ads, exp_util.adb (Expand_Subtype_From_Expr): In Ada2005, an
- object of a limited type can be initialized with a call to a function
- that returns in place. If the limited type has unknown discriminants,
- and the underlying type is a constrained composite type, build an actual
- subtype from the function call, as is done for private types.
- (Side_Effect_Free): An expression that is the renaming of an object or
- whose prefix is the renaming of a object, is not side-effect free
- because it may be assigned through the renaming and its value must be
- captured in a temporary.
- (Has_Controlled_Coextensions): New routine.
- (Expand_Subtype_From_Expr): Do nothing if type is a limited interface,
- as is done for other limited types.
- (Non_Limited_Designated_Type): new predicate.
- (Make_CW_Equivalent_Type): Modified to handle class-wide interface
- objects.
- Remove all handling of with_type clauses.
-
- * par-ch10.adb: Remove all handling of with_type clauses.
-
- * lib-load.ads, lib-load.adb (Load_Main_Source): Do not get the
- checksum if the main source could not be parsed.
- (Loat_Unit): When processing a child unit, determine properly whether
- the parent unit is a renaming when the parent is itself a child unit.
- Remove handling of with_type clauses.
-
- * sinfo.ads, sinfo.adb (Is_Static_Coextension): New function.
- (Set_Is_Static_Coextension): New procedure.
- (Has_Local_Raise): New function
- (Set_Has_Local_Raise): New procedure
- (Renaming_Exception): New field
- (Has_Init_Expression): New flag
- (Delay_Finalize_Attach): Remove because flag is obsolete.
- (Set_Delay_Finalize_Attach): Remove because flag is obsolete.
- Remove all handling of with_type clauses.
- (Exception_Junk): Can now be set in N_Block_Statement
-
-2007-06-06 Vincent Celier <celier@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * frontend.adb (Frontend): Return immediately if the main source could
- not be parsed, because of preprocessing errors.
-
- * gnat1drv.adb (gnat1drv): Handle RE_Not_Available gracefully.
- (Gnat1drv): Exit with errors if the main source could not be parsed,
- because of preprocessing errors.
- (Check_Rep_Info): New procedure
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
-
- * g-hesorg.ads, g-heasor.ads,
- g-busorg.ads, g-bubsor.ads: Update documentation
- GNAT.Heap/Bubble_Sort_G is now pure
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
-
- * g-catiio.ads, g-catiio.adb (Image): Check for null picture string
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * g-comlin.ads, g-comlin.adb:
- Add new warning for renaming of function return objects
-
- * opt.adb (Tree_Write, Tree_Read): Use proper expressions for size
- (Tree_Read): Use size of object instead of type'object_size, since the
- latter is incorrect for packed array types.
- (Tree_Write): Same fix
-
- * opt.ads: Add new warning for renaming of function return objects
- (Generating_Code): New boolean variable used to indicate that the
- frontend as finished its work and has called the backend to process
- the tree and generate the object file.
- (GCC_Version): Is now private
- (Static_Dispatch_Tables): New constant declaration.
- (Overflow_Checks_Unsuppressed): New flag.
- (Process_Suppress_Unsuppress): Set Overflow_Checks_Unsuppressed.
- (List_Closure): New flag for gnatbind (-R)
- Zero_Formatting: New flag for gnatbind (-Z)
- (Special_Exception_Package_Used): New flag.
- (Warn_On_Unrepped_Components): New flag.
-
- * sem_ch8.adb (Check_Library_Unit_Renaming): Check that the renamed
- unit is a compilation unit, rather than relying on its scope, so that
- Standard can be renamed.
- (Analyze_Object_Renaming): Add new warning for renaming of function
- return objects.
- Also reject attempt to rename function return object in Ada 83 mode.
- (Attribute_Renaming): In case of tagged types, add the body of the
- generated function to the freezing actions of the type.
- (Find_Type): A protected type is visible right after the reserved word
- "is" is encountered in its type declaration. Set the entity and type
- rather than emitting an error message.
- (New_Scope): Properly propagate Discard_Names to inner scopes
- (Check_Nested_Access): New procedure.
- (Has_Nested_Access, Set_Has_Nested_Access): New procedures.
- (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
-
- * sem_warn.ads, sem_warn.adb: Improvements to infinite loop warning
- Add new warning for renaming of function return objects
- (Check_References): Suppress warnings for objects whose type or
- base type has Warnings suppressed.
- (Set_Dot_Warning_Switch): Add processing for -gnatw.c/C
- (Set_Warning_Switch): Include new -gnatwc in -gnatwa
-
-2007-06-06 Vincent Celier <celier@adacore.com>
- Emmanuel Briot <briot@adacore.com>
- Olivier Hainque <hainque@adacore.com>
-
- * g-debpoo.ads, g-debpoo.adb (Free_Physically.Free_Blocks): Use the
- absolute value of Header.Block_Size when displaying the freed physical
- memory in traces.
- (Allocate): Compute Storage_Address using Integer_Address, not
- Storage_Offset, because the range of Storage_Offset may not be large
- enough.
- (Configure): New parameter Low_Level_Traces
- (Allocate, Deallocation, Free_Physically): Added low-level traces
- (Configure): new parameter Errors_To_Stdout.
- (Output_File): new subprogram
- (Deallocate, Dereference): Send error messages to the proper stream
- (Print_Pool, Print_Info_Stdout): Make sure the output goes to stdout, as
- documented. Previous code would send it to the current output file
- defined in GNAT.IO, which might not be stdout
- (Is_Valid): Adjust comment to mention that a positive reply means that
- Header_Of may be used to retrieve the allocation header associated with
- the subprogram Storage address argument. Return False early if this
- address argument is misaligned.
-
-2007-06-06 Vincent Celier <celier@adacore.com>
-
- * gnatcmd.adb (GNATCmd): Accept switch -aP for commands that accept
- switch -P
- (ASIS_Main): New global variable
- (Get_Closure): New procedure
- (GNATCmd): Set ASIS_Main when -P and -U with a main is used for gnat
- check, metric or pretty. Call Get_Closure in this case.
- (Check_Files): For GNAT LIST, check all sources of all projects when
- All_Projects is True.
- (GNATCmd): Accept -U for GNAT LIST
-
-2007-06-06 Vincent Celier <celier@adacore.com>
-
- * gnatlink.adb (Gnatlink): Do not specify -static-libgcc when --LINK=
- has been specified
- Correct error message when invocation of the linker fails
- Add explicit size clause for the C imported variables
- Object_List_File_Supported and Using_GNU_Linker to emphasize that
- we expect char size.
- Read target parameters earlier, since this is needed to set
- Target_VM properly. Also do not use -static/shared-libgcc for non GCC
- targets.
-
-2007-06-06 Vincent Celier <celier@adacore.com>
-
- * gnatls.adb:
- Add 3 spaces before the default project directory when displaying
- the project search path.
- Add new command line switch '-l' to display license information.
-
-2007-06-06 Vasiliy Fofanov <fofanov@adacore.com>
-
- * gmem.c: Add support for timestamps on memory operations.
-
- * memtrack.adb, gnatmem.adb: Add support for timestamps on memory
- operations (not used currently, just foundation for future
- enhancements). Add possibility to perform full dump of gmem.out file.
- (Print_Back_Traces): Declare accesses to root arrays constants since
- they aren't modified.
- (Print_Back_Traces): allocate root arrays on the heap rather than stack.
-
-2007-06-06 Vincent Celier <celier@adacore.com>
-
- * gnatsym.adb: Update Copyright notice
- (Parse_Cmd_Line): Accept new switch -D
- (Gnatsym): In Direct policy (switch -D) copy reference file to symbol
- file.
-
- * prj.ads (Policy): New policy Direct
- (Yes_No_Unknown): New enumeration type
- (Project_Data): New component Libgnarl_Needed
-
- * prj-nmsc.adb (Check_For_Source): When recording a source file make
- use the untouched pathname casing.
- (Get_Directories): Ensure that the Display_Exec_Directory is using the
- proper casing on non case-sensitive platforms like Windows.
- (Get_Unit): Accept file names x__... and x~... (where x = a, g, i or s)
- on all platforms, as it is not possible to know which one is allowed
- before processing the project files.
- (Check_Stand_Alone_Library): Check that Library_Reference_Symbol_File is
- specified when symbol policy is Direct. Check that when there is a
- symbol file defined (either by default or with attribute
- Library_Symbol_File) it is not the same as the reference symbol file.
- (Check_Stand_Alone_Library): Recognize new symbol policy Direct.
- (Look_For_Sources): Allow Locally_Removed_Files to be declare in non
- extending projects.
- (Record_Ada_Source): Record a source that has been locally removed in an
- imported project.
-
- * symbols.ads (Policy): New policy Direct
-
- * symbols-vms.adb (Initialize): Take new policy Direct in case
- statement
-
-2007-06-06 Vincent Celier <celier@adacore.com>
-
- * g-os_lib.ads, g-os_lib.adb (Normalize_Pathname.Get_Directory):
- Correct obvious bug (return Dir; instead of return Directory;).
- (Normalize_Pathname): Use Reference_Dir'Length, not Reference_Dir'Last
-
-2007-06-06 Thomas Quinot <quinot@adacore.com>
-
- * g-pehage.adb (Produce): Open output files in Binary mode, so that
- they have UNIX line endings (LF only) even on Windows, and thus pass
- all GNAT style checks.
-
-2007-06-06 Emmanuel Briot <briot@adacore.com>
-
- * g-regpat.adb (Quote): Fix improper quoting of '.'
-
-2007-06-06 Thomas Quinot <quinot@adacore.com>
-
- * g-soccon.ads: Add new constant Thread_Blocking_IO, always True by
- default, set False on a per-runtime basis.
- (Need_Netdb_Buffer): New constant.
-
- * g-socket.ads, g-socket.adb: Import new package
- GNAT.Sockets.Thin.Task_Safe_NetDB.
- (Raise_Host_Error): Use Host_Error_Message from platform-specific thin
- binding to obtain proper message.
- (Close_Selector): Use GNAT.Sockets.Thin.Signalling_Fds.Close.
- Replace various occurrences of Arry (Arry'First)'Address with the
- equivalent Arry'Address (GNAT always follows implementation advice from
- 13.3(14)).
- (Get_Host_By_Address, Get_Host_By_Name,
- Get_Service_By_Name, Get_Service_By_Port): Do not use GNAT.Task_Lock;
- instead, rely on platform-specific task safe netdb operations provided
- by g-socthi.
-
- * g-socthi.ads, g-socthi.adb (Initialize): Remove obsolete formal
- parameter Process_Blocking_IO.
- (Host_Error_Messages): Add stub body.
- (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
- (Safe_Gethostbyname, Safe_Gethostbyaddr, Safe_Getservbyname,
- Safe_Getservbyport): Move functions into new child package
- Task_Safe_NetDB.
- (Nonreentrant_Gethostbyname, Nonreentrant_Gethostbyaddr,
- Nonreentrant_Getservbyname, Nonreentrant_Getservbyport): New routines.
- (In_Addr): Add alignment clause.
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
-
- * g-trasym.ads, g-traceb.ads: Update list of supported targets
- Add note about symbolic traceback
-
-2007-06-06 Pascal Obry <obry@adacore.com>
-
- * hostparm.ads (Normalized_CWD): Use the host directory separator
- instead of the hardcoded forward slash which is not the proper
- character on Windows for example.
- (Java_VM): Removed.
-
-2007-06-06 Vincent Celier <celier@adacore.com>
- Arnaud Charlet <charlet@adacore.com>
-
- * a-clrefi.adb, a-clrefi.ads: New files
-
- * impunit.adb: Add s-os_lib in the list of user visible units.
- (Non_Imp_File_Names_95): Add a-clrefi to this list
- Remove obsolete run-time entries.
- (Non_Imp_File_Names_05): Add Ada 2005 entries for:
- "a-exetim" -- Ada.Execution_Time
- "a-extiti" -- Ada.Execution_Time.Timers
-
- * mlib-prj.ads, mlib-prj.adb
- (Build_Library): Use untouched object dir and library dir. At the
- same time makes sure that the checks are done using the canonical
- form. Removes hard-coded directory separator and use the proper host
- one instead.
- (Process_Project): Do not look in object directory to check if libgnarl
- is needed for a library, if there is no object directory.
- (Build_Library): Scan the ALI files to decide if libgnarl is needed for
- linking.
- (Build_Library): When invoking gnatbind, use a response file if the
- total size of the arguments is too large.
-
- * Makefile.rtl: (g-sttsne): New object file.
- Add entry for a-clrefi, s-utf_32, System.Exceptions
-
- * Make-lang.in: Remove bogus dependency of s-memory.o on memtrack.o.
- (GNAT_ADA_OBJS, GNATBIND_OBJS): Add s-except.o.
- (GNATBIND_OBJS): Add new objects a-clrefi.o and a-comlin.o
- Change g-string to s-string, g-os_lib to s-os_lib
- Change all g-utf_32 references to s-utf_32
-
-2007-06-06 Tristan Gingold <gingold@adacore.com>
- Olivier Hainque <hainque@adacore.com>
-
- * init.c: Do not adjust IP of an imported VMS exception of ia64.
- LIB$STOP is called to raise an exception and the IP of the exception
- is the instruction right after the call.
- (__gnat_adjust_context_for_raise, AIX): Implement.
- (__gnat_error_handler, AIX): Accept SIGINFO related arguments and call
- adjust_context_for_raise before Raise_From_Signal_Hanler.
- (__gnat_install_handler, AIX): Add SA_SIGINFO to the sa_flags, to ensure
- siginfo is passed to the handler, necessary to let the zcx propagation
- engine unwind past it.
-
-2007-06-06 Olivier Hainque <hainque@adacore.com>
-
- * initialize.c (__gnat_initialize for vxworks): Update documentation
- on the ZCX support, using different sets of crtstuff objects than with
- GCC 3.4.
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
-
- * layout.ads, layout.adb (Adjust_Esize_Alignment): Move spec to package
- spec from body
- (Layout_Type): Fix recomputation of size from alignment.
-
-2007-06-06 Ed Schonberg <schonberg@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * sem_ch12.adb (Analyze_Associations): Diagnose use of an others
- association in an instance.
- (Copy_Generic_Node): If the node is a string literal, no need to copy
- its descendants.
- (Is_Generic_Formal): For a formal subprogram, the declaration is the
- grandparent of the entity.
- (Analyze_Formal_Interface_Type): Transform into a full type declaration,
- to simplify handling of formal interfaces that derive from other formal
- interfaces.
- (Instantiate_Subprogram_Body): The defining unit name of the body of
- the instance should be a defining identifier.
- (Install_Formal_Packages): make global to the package, for use in
- instantiations of child units.
- (Analyze_Package_Instantiation): Do not attempt to set information on an
- enclosing master of an entry when expansion is disabled.
- (Instantiate_Type): If the actual is a tagged synchronized type and the
- generic ancestor is an interface, create a generic actual for the
- corresponding record.
- (Analyze_Formal_Derived_Interface_Type): Rewrite as a derived type
- declaration, to ensure that the interface list is processed correctly.
- (Inline_Instance_Body): If enclosing scope is an instance body, remove
- its entities from visibiility as well.
- (Pre_Analyze_Actuals): if the actual is an allocator with constraints
- given with a named association, analyze the expression only, not the
- discriminant association itself.
- (Reset_Entity): If the analysis of a selected component is transformed
- into an expanded name in the prefix of a call with parameters, do not
- transform the original node into an expanded name, to prevent visibility
- errors in the case of nested generics.
- (Check_Private_View): For an array type, check whether the index types
- may need exchanging.
-
-2007-06-06 Arnaud Charlet <charlet@adacore.com>
- Vincent Celier <celier@adacore.com>
-
- * lib-writ.adb: Handle Convention_CIL in addition to Convention_Java,
- since both are separated.
- Add support for imported CIL packages.
- Add further special handling of "value_type" for CIL.
- Add special handling of pragma Import for CIL.
-
- * make.ads, make.adb: When switch -eS is used, direct all outputs to
- standard output instead of standard error, except errors.
- (Absolute_Path): Use untouched casing for the parent directory.
- (Add_Library_Search_Dir): Use the untouched directory name.
- (Add_Source_Search_Dir): Idem.
- (Change_To_Object_Directory): Update output to use proper casing.
- (Create_Binder_Mapping_File): Use the untouched filename to set
- ALI_Name.
- (Gnatmake): Use untouched library and executable directory names.
- (Insert_Project_Sources): Use untouched filename for spec and body.
- (Is_In_Object_Directory): Use untouched object directory.
- (Mark_Directory): Idem.
- (Collect_Arguments_And_Compile): Ensure that Full_Source_File always
- contains the non-canonical filename in all cases.
- (Change_To_Object_Directory): In verbose mode, display the name of the
- object directory we're changing to.
- (Compile_Sources): Make sure, when a project file is used, to compile
- the body of the unit, when there is one, even when only the spec is
- recorded in an ALI file.
- (Gcc_Switches, Binder_Switches, Linker_Switches): Tables moved from the
- spec to the body.
- (Report_Compilation_Failed): New procedure
- (Bind, Display_Commands, Compile_Sources, Initialize, Scan_Make_Arg):
- procedures moved from the spec to the body.
- (Extract_Failure): Removed, not used
- Replace explicit raises of exception Bind_Failed and Link_Failed with
- calls to Make_Failed with the proper message.
- Replace explicit raises of exception Compilation_Failed with calls to
- procedure Report_Compilation_Failed.
- (Initialize): Create mapping files unconditionally when using project
- files.
-
- * sem_mech.adb: (Name_CIL, Name_CIL_Constructor, Convention_CIL,
- Pragma_CIL_Constructor): New names.
-
- * targparm.ads, targparm.adb
- (Compiler_System_Version): Removed, no longer used.
- (Get_Target_Parameters): Relax checks on system.ads validity. Add
- handling of two new system flags: JVM and CLI.
-
-2007-06-06 Jose Ruiz <ruiz@adacore.com>
- Arnaud Charlet <charlet@adacore.com>
-
- * Makefile.in (LIBGNAT_TARGET_PAIRS for VxWorks 6): For the RTP run
- time, use the default s-interr body that provides interrupt support
- based on signals.
- (LIBGNAT_TARGET_PAIRS for x86-linux): Use specialized versions of
- a-exetim.ad{s,b}, a-extiti.ad{s,b}, a-rttiev.ad{s,b}, s-osinte.ad{s,b},
- g-soccon.ads, and s-taprop.adb for the marte run time.
- (EXTRA_GNATRTL_TASKING_OBJS for x86-linux): Execution time clocks and
- timers are supported on marte.
- (EH_MECHANISM for marte): Do not use ZCX.
- (THREADSLIB for marte): Use -lmarte.
- Add mlib-tgt-vms.o to the list of objects for gnatmake for VMS
- Add mlib-tgt-specific.o to gnatmake objects
- mlib-tgt-<platforms>.adb is now the body of MLib.Tgt.Specific, no
- longer of MLib.Tgt.
- (LIBGNAT_TARGET_PAIRS for vxworks): When building a run time for VxWorks
- 6, either kernel or rtp, use a specialized version of s-osinte.ads.
-
-2007-06-06 Pascal Obry <obry@adacore.com>
-
- * mkdir.c (__gnat_mkdir): Add support for UTF-8.
-
-2007-06-06 Vincent Celier <celier@adacore.com>
-
- * mlib.ads, mlib.adb (Build_Library): Do not use hard-coded directory
- separator, use instead the proper host directory separator.
- (Copy_ALI_Files): Make sure that an already existing ALI file in the
- ALI copy dir is writable, before doing the copy.
-
- * mlib-utl.ads, mlib-utl.adb:
- (Gcc): If length of command line is too long, put the list of object
- files in a response file, if this is supported by the platform.
- (Ar): If invocation of the archive builder is allowed to be done in
- chunks and building it in one shot would go above an OS dependent
- limit on the number of characters on the command line, build the archive
- in chunks.
-
-2007-06-06 Vincent Celier <celier@adacore.com>
-
- * osinte-c.ads, osint-c.adb (Set_Library_Info_Name): Fail if base name
- of specified object file is not equal to base name of source.
-
-2007-06-06 Javier Miranda <miranda@adacore.com>
- Hristian Kirtchev <kirtchev@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Process_Full_View): Propagate the CPP_Class attribute to
- the full type declaration.
- (Analyze_Component_Declaration): Add local variable E to capture the
- initialization expression of the declaration. Replace the occurences of
- Expression (N) with E.
- (OK_For_Limited_Init_In_05): Allow initialization of class-wide
- limited interface object with a function call.
- (Array_Type_Declaration): If the declaration lacks subtype marks for
- indices, create a simple index list to prevent cascaded errors.
- (Is_Null_Extension): Ignore internal components created for secondary
- tags when checking whether a record extension is a null extension.
- (Check_Abstract_Interfaces): Add missing support for interface subtypes
- and generic formals.
- (Derived_Type_Declaration): Add missing support for interface subtypes
- and generic formals.
- (Analyze_Object_Declaration): If an initialization expression is
- present, traverse its subtree and mark all allocators as static
- coextensions.
- (Add_Interface_Tag_Component): When looking for components that may be
- secondary tags, ignore pragmas that can appear within a record
- declaration.
- (Check_Abstract_Overriding): an inherited function that dispatches on
- result does not need to be overriden if the controlling type is a null
- extension.
- (Mentions_T): Handle properly a 'class attribute in an anonymous access
- component declaration, when the prefix is an expanded name.
- (Inherit_Component): If the derivation is for a private extension,
- inherited components remain visible and their ekind should not be set
- to Void.
- (Find_Type_Of_Object): In the case of an access definition, always set
- Is_Local_Anonymous_Access. We were previously not marking the anonymous
- access type of a return object as a local anonymous type.
- (Make_Index): Use Ambiguous_Character to report ambiguity on a discrete
- range with character literal bounds.
- (Constrain_Array): Initialize the Packed_Array_Type field to Empty.
- (Access_Subprogram_Declaration): Indicate that the type declaration
- depends on an incomplete type only if the incomplete type is declared
- in an open scope.
- (Analyze_Subtype_Declaration): Handle properly subtypes of
- synchronized types that are tagged, and that may appear as generic
- actuals.
- (Access_Subprogram_Declaration): An anonymous access to subprogram can
- appear as an access discriminant in a private type declaration.
- (Add_Interface_Tag_Components): Complete decoration of the component
- containing the tag of a secondary dispatch table and the component
- containing the offset to the base of the object (this latter component
- is only generated when the parent type has discriminants --as documented
- in this routine).
- (Inherit_Components): Use the new decoration of the tag components to
- improve the condition that avoids inheriting the components associated
- with secondary tags of the parent.
- (Build_Discriminanted_Subtype): Indicate to the backend that the
- size of record types associated with dispatch tables is known at
- compile time.
- (Analyze_Subtype_Declaration): Propagate Is_Interface flag when needed.
- (Analyze_Interface_Declaration): Change setting of Is_Limited_Interface
- to include task, protected, and synchronized interfaces as limited
- interfaces.
- (Process_Discriminants): Remove the setting of
- Is_Local_Anonymous_Access on the type of (anonymous) access
- discriminants of nonlimited types.
- (Analyze_Interface_Type_Declaration): Complete the decoration of the
- class-wide entity it is is already present. This situation occurs if
- the limited-view has been previously built.
- (Enumeration_Type_Declaration): Initialize properly the Enum_Pos_To_Rep
- field.
- (Add_Interface_Tag_Components.Add_Tag): Set the value of the attribute
- Related_Interface.
-
-2007-06-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_aggr.adb (Resolve_Record_Aggregate): Ignore internal components
- of the type that specify the position of interface tags when the type
- inherits discriminated array components from the parent type.
- If a component is initialized with a box, check for the presence of a
- default expression in its declaration before using its default
- initialization procedure.
- (Resolve_Record_Aggregate): If a component is box-initialized, and the
- component type has a discriminants, create a partial aggregate for it
- by copying the discriminants of the component subtype.
- Reject attempt to initialize a discriminant with a box.
- (Array_Aggr_Subtype): Indicate to the backend that the size of arrays
- associated with dispatch tables is known at compile time.
- (Get_Value): If an association in a record aggregate has a box
- association, and the corresponding record component has a default
- expression, always copy the default expression, even when the
- association has a single choice, in order to create a proper
- association for the expanded aggregate.
-
-2007-06-06 Ed Schonberg <schonberg@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * par-ch12.adb (P_Generic_Associations): The source position of an
- Others association is that of the others keyword, not that of the token
- that follows the box.
- (P_Formal_Type_Definition): Handle formal access types that carry a
- not null indicator.
-
- * par-ch3.adb (P_Known_Discriminant_Part_Opt, P_Component_Items): If
- multiple identifier are present, save Scan_State before scanning the
- colon, to ensure that separate trees are constructed for each
- declaration.
- (P_Identifier_Declarations): For object declaration, set new flag
- Has_Init_Expression if initialization expression present.
- (P_Null_Exclusion): Properly diagnose NOT NULL coming before NULL
- Improve NOT NULL error messages
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
-
- * par-ch4.adb: (P_Name): Recover from literal used as name
-
-2007-06-06 Vincent Celier <celier@adacore.com>
-
- * prep.ads, prep.adb (Expression): New Boolean parameter Complemented,
- defaulted to False.
- In the "not" case, recursive call with Complemented set to True.
- Do not allow "or" or "and" operators when Complemented is True.
-
-2007-06-06 Vincent Celier <celier@adacore.com>
-
- * prj.adb (Project_Empty): Gives default value for new component
- Libgnarl_Needed
-
- * prj-attr.ads: Minor reformatting
-
- * prj-env.ads, prj-env.adb (For_All_Object_Dirs): Register object
- directory using the untouched casing.
- (For_All_Source_Dirs): Idem.
-
- * prj-ext.ads, prj-ext.adb (Search_Directories): New table to record
- directories specified with switches -aP.
- (Add_Search_Project_Directory): New procedure
- (Initialize_Project_Path): Put the directories in table
- Search_Directories in the project search path.
- (Initialize_Project_Path): For VMS, transform into canonical form the
- project path.
-
-2007-06-06 Arnaud Charlet <charlet@adacore.com>
-
- * restrict.ads, restrict.adb (No_Exception_Handlers_Set): Only return
- true if configurable run-time or No_Run_Time is set.
- (Set_Restriction): Avoid setting restriction No_Elaboration_Code when
- processing an unit which is not the one being compiled.
-
-2007-06-06 Arnaud Charlet <charlet@adacore.com>
-
- * s-arit64.adb: Replace System.Pure_Exceptions by Ada 05 syntax.
- Replace UC by Ada.UC
-
- * s-bitops.adb: Get rid of System.Pure_Exceptions.
- Replace UC by Ada.UC
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
-
- * scng.adb: (Check_End_Of_Line): Deal with very long lines
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
-
- * sem.ads, sem.adb (Semantics): Save and restore Global_Discard_Names
- Remove no longer used nodes.
-
-2007-06-06 Javier Miranda <miranda@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * sem_ch10.ads, sem_ch10.adb (Analyze_Compilation_Unit): Disable check
- on obsolescent withed unit in case of limited-withed units.
- (Analyze_Compilation_Unit): Add guard to code that removed an
- instantiation from visibility, to prevent compiler aborts when
- instantiation is abandoned early on.
- (Install_Limited_Withed_Unit): Recognize a limited-with clause on the
- current unit being analyzed, and Distinguish local incomplete types
- from limited views of types declared elsewhere.
- (Build_Limited_Views.Decorate_Tagged_Type): Add documentation
- to state that the class-wide entity is shared by the limited-view
- and the full-view.
- (Analyze_With_Clause): Improve placement of flag for case of
- unimplemented unit.
- (Analyze_With_Clause): Recognize use of GNAT.Exception_Traces in a
- manner similar to GNAT.Current_Exception. This is a violation of
- restriction (No_Exception_Propagation), and also inhibits the
- optimization of local raise to goto.
- (Analyze_With_Clause): Check for Most_Recent_Exception being with'ed,
- and if so set Most_Recent_Exception_Used flag in Opt, and also check
- for violation of restriction No_Exception_Propagation.
-
-2007-06-06 Javier Miranda <miranda@adacore.com>
- Hristian Kirtchev <kirtchev@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch11.adb (Analyze_Exception_Handlers): Add barrier to avoid the
- use of entity Exception_Occurrence if it is not available in the
- target run-time.
-
- * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): When
- concurrent types are declared within an Ada 2005 generic, build their
- corresponding record types since they are needed for overriding-related
- semantic checks.
- (Analyze_Protected_Type): Rearrange and simplify code for testing that a
- protected type does not implement a task interface or a nonlimited
- interface.
- (Analyze_Task_Type): Rearrange and simplify code for testing that a task
- type does not implement a protected interface or a nonlimited interface.
- (Single_Task_Declaration, Single_Protected_Declaration): use original
- entity for variable declaration, to ensure that debugging information
- is correcty generated.
- (Analyze_Protected_Type, Analyze_Task_Type): Do not call expander
- routines if the expander is not active.
- (Analyze_Task_Body): Mark all handlers to stop optimization of local
- raise, since special things happen for task exception handlers.
-
- * sem_disp.adb (Check_Controlling_Formals): Add type retrieval for
- concurrent types declared within a generic.
- (Check_Dispatching_Operation): Do not emit warning about late interface
- operations in the context of an instance.
- (Check_Dispatching_Call): Remove restriction against calling a
- dispatching operation with a limited controlling result.
- (Check_Dispatching_Operation): Replace calls to Fill_DT_Entry and
- Register_Interface_DT_Entry by calls to Register_Primitive.
- (Check_Dispatching_Formals): Handle properly a function with a
- controlling access result.
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
- Arnaud Charlet <charlet@adacore.com>
-
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Stream_Size):
- Check for restriction No_Implementation_Attributes if in Ada 95 mode.
- (Storage_Pool): Do not crash when RE_Stack_Bounded_Pool is not available
- (Analyze_Attribute_Definition_Clause [External_Tag]): Generate error
- message when using a VM, since this attribute is not supported.
- (Analyze_Record_Representation_Clause): Give unrepped component warnings
-
- * usage.adb: Add new warning for renaming of function return objects
- Indicate that -gnatwp and -gnatwP concern front-end inlining
- Add line for -gnatyg
- Add usage information for -gnatw.c/C
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb
- (Find_Var): Do not consider function call in test for infinite loop
- warning if warnings set off for function entity.
- (One_Bound): Do not create a temporary for a loop bound if it is a
- character literal.
- (Analyze_Assignment): Traverse the right hand side of an assignment and
- mark all allocators as static coextensions.
- (Analyze_Assignment): Exempt assignments involving a dispatching call
- to a function with a controlling access result from the check requiring
- the target to be class-wide.
-
-2007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * sem_res.ads, sem_res.adb (Process_Allocator): Do not propagate the
- chain of coextensions when an allocator serves as the root of such a
- chain.
- (Propagate_Coextensions): Remove the test for the root being an
- allocator.
- (Resolve_Allocator): Add condition to ensure that all future decoration
- occurs on an allocator node. Add processing and cleanup for static
- coextensions.
- (Valid_Conversion): If the operand type is the limited view of a
- class-wide type, use the non-limited view is available to determine
- legality of operation.
- (Ambiguous_Character): move to spec, for use elsewhere.
- (Ambiguous_Character): Handle Wide_Wide_Character in Ada 2005 mode
- (Resolve_Range): Diagnose properly an ambiguous range whose bounds are
- character literals.
- (Resolve_Arithmetic_Op): Call Activate_Division_Check instead of setting
- Do_Division_Check flag explicitly.
- (Resolve_Actuals): If the actual is of a synchronized type, and the
- formal is of the corresponding record type, this is a call to a
- primitive operation of the type, that is declared outside of the type;
- the actual must be unchecked-converted to the type of the actual
- (Resolve_Call): Kill all current values for any subprogram call if
- flag Suppress_Value_Tracking_On_Call is set.
- (Resolve_Type_Conversion): Generate error message the the operand
- or target of interface conversions come from a limited view.
- (Check_Infinite_Recursion): Ignore generated calls
- (Check_Allocator_Discrim_Accessibility): New procedure for checking
- that an expression that constrains an access discriminant in an
- allocator does not denote an object with a deeper level than the
- allocator's access type.
- (Resolve_Allocator): In the case of an allocator initialized by an
- aggregate of a discriminated type, check that associations for any
- access discriminants satisfy accessibility requirements by calling
- Check_Allocator_Discrim_Accessibility.
- (Resolve_Equality_Op): Handle comparisons of anonymous access to
- subprogram types in the same fashion as other anonymous access types.
- (Resolve_Concatenation_Arg): Remove initial character '\' in an error
- message that is not a continuation message.
- (Resolve_Type_Conversion): Add missing support for conversion to
- interface type.
- (Resolve_Actuals): Introduce a transient scope around the call if an
- actual is a call to a function returning a limited type, because the
- resulting value must be finalized after the call.
- (Resolve_Actuals): If the call was given in prefix notations, check
- whether an implicit 'Access reference or implicit dereference must be
- added to make the actual conform to the controlling formal.
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * sem_ch7.adb (Check_Anonymous_Access_Types): Fix error for null body
- (Derive_Inherited_Private_Subprogram): Code cleanup. In case of explicit
- overriding of an inherited private subprogram now there is no need to
- inherit its dispatching slot and reduce the size of the dispatch table.
- Set_All_DT_Position now ensures that the same slot is now assigned to
- both entities. This is required to statically build the dispatch table.
- (Declare_Inherited_Private_Subprograms): Rewriten to avoid the need
- of calling Set_All_DT_Position to re-evaluate the position of the
- entries in the dispatch table. Such reevaluation is not desired if
- the tagged type is already frozen.
-
-2007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * sem_util.ads, sem_util.adb (May_Be_Lvalue): A prefix of an attribute
- reference acts as an lvalue when the attribute name modifies the prefix
- (Is_Coextension_Root): New routine.
- (Mark_Static_Coextensions): New routine.
- (Type_Access_Level): Revise code for checking the level of the
- anonymous access type of a return object.
- (Safe_To_Capture_Value): Not safe to capture if Address_Taken
- (Matches_Prefixed_View_Profile): Remove the no longer necessary
- retrieval of the corresponding controlling record type.
- (Find_Overridden_Synchronized_Primitive): Code cleanup. Add handling of
- concurrent types declared within a generic as well as class wide types.
- Emit a mode incompatibility error whenever a protected entry or routine
- override an interface routine whose first parameter is not of mode
- "out", "in out" or access to variable.
- (Overrides_Synchronized_Primitive): Rename to
- Find_Overridden_Synchronized_Primitive.
- (Collect_Interface_Components): New subprogram that collects all the
- components of a tagged record containing tags of secondary dispatch
- tables.
- (Add_Global_Declaration): New procedure
- (Abstract_Interface_List): Handle properly the case of a subtype of a
- private extension.
- (Type_Access_Level): In the case of a type whose parent scope is a
- return statement, call Type_Access_Level recursively on the enclosing
- function's result type to determine the level of the return object's
- type.
- (Build_Elaboration_Entity): Build name of elaboration entity from the
- scope chain of the entity, rather than the unit name of the file name.
- (Check_Nested_Access): New procedure.
- (Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures.
- (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
- (Get_Renamed_Entity): Utility routine for performing common operation
- of chasing the Renamed_Entity field of an entity.
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
-
- * sem_elab.adb (Check_A_Call): Specialize elaboration warnings on
- elaboration model
- (Check_A_Call): Add check for entry call which was causing blowup
-
-2007-06-06 Olivier Hainque <hainque@adacore.com>
-
- * raise-gcc.c (__gnat_eh_personality): Tweak the signature and add
- special code on ia64-vms to handle major incompatibilities between the
- GCC unwinding ABI and the VMS Condition Handling Facility, both calling
- this routine with a very different set of arguments and expectations on
- the return value.
-
-2007-06-06 Thomas Quinot <quinot@adacore.com>
-
- * socket.c (__gnat_close_signalling_fd): New function.
- (__gnat_safe_gethostbyaddr, __gnat_safe_gethostbyname,
- __gnat_safe_getservbyname, __gnat_safe_getservbyport):
- New supporting functions for task safe Netdb operations.
-
-2007-06-06 Thomas Quinot <quinot@adacore.com>
- Olivier Hainque <hainque@adacore.com>
-
- * a-except-2005.ads, a-except-2005.adb
- (Raise_From_Controlled_Operation): New procedure in
- (private part of) Ada.Exceptions (standard runtime version). Used to
- provide informational exception message when Program_Error is raised as
- a result of an Adjust or Finalize operation propagating an exception.
- (Rmsg_28): Fix description for E.4(18) check.
- (Raise_Current_Excep): Call Debug_Raise_Exception just before
- propagation starts, to let debuggers know about the event in a reliable
- fashion.
- Take the address of E and dereference to make sure it is homed on stack
- and prevent the stores from being deleted, necessary for proper
- debugger behavior on "break exception" hits.
- (Local_Raise): Moved to System.Exceptions
-
- * s-finimp.adb (Raise_From_Finalize): Code to construct an appropriate
- exception message from the current occurrence and raise Program_Error
- has been moved to Ada.Exceptions.Raise_From_Controlled_Operation.
-
-2007-06-06 Jose Ruiz <ruiz@adacore.com>
- Arnaud Charlet <charlet@adacore.com>
-
- * s-taprob.adb (Unlock): Change the ceiling priority of the underlying
- lock, if needed.
-
- * s-taprop.ads (Set_Ceiling): Add this procedure to change the ceiling
- priority associated to a lock.
-
- * s-tpoben.adb ([Vulnerable_]Complete_Task, Lock_Entries): Relax
- assertion to take into account case of no abort restriction.
- (Initialize_Protection_Entries): Add initialization for the field
- New_Ceiling associated to the protected object.
- (Unlock_Entries): Change the ceiling priority of the underlying lock, if
- needed.
-
- * s-solita.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
- since this function needs to be set consistently with Update_Exception.
-
- * s-tarest.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
- since this function needs to be set consistently with Update_Exception.
-
- * s-taskin.ads: Update comments on
- Interrupt_Server_Blocked_On_Event_Flag.
- (Unbind_Handler): Fix handling of server_task wakeup
- (Server_Task): Set self's state so that Unbind_Handler can take
- appropriate actions.
- (Common_ATCB): Now use a constant from System.Parameters to determine
- the max size of the Task_Image field.
-
- * s-tassta.adb (Task_Wrapper): Now pass the overflow guard to the
- Initialize_Analyzer function.
- ([Vulnerable_]Complete_Task, Lock_Entries): Relax assertion to
- take into account case of no abort restriction.
- ([Vulnerable_]Complete_Master): Modify assertion.
-
- * s-tataat.adb (Finalize): Use the nestable versions of
- Defer/Undefer_Abort.
-
- * s-tpobop.adb (Protected_Entry_Call): Relax assertion.
-
- * s-tpobop.ads: Update comments.
-
- * s-tposen.adb (Protected_Single_Entry_Call): Call Lock_Entry instead
- of locking the object manually, to avoid inconsistencies between
- Lock/Unlock_Entry assertions.
-
- * s-interr.ads, s-interr.adb (Server_Task): Fix race condition when
- terminating
- application and System.Parameters.No_Abort is True.
- Update comments on Interrupt_Server_Blocked_On_Event_Flag.
- (Unbind_Handler): Fix handling of server_task wakeup
- (Server_Task): Set self's state so that Unbind_Handler can take
- appropriate actions.
-
-2007-06-06 Thomas Quinot <quinot@adacore.com>
-
- * s-finroo.ads, s-finroo.adb (Read, Write): Use null procedure
- declarations instead of an explicit null body, for conciseness.
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
-
- * sem_eval.adb (Eval_Relational_Op): nothing to do if an operand is an
- illegal aggregate and the type is still Any_Composite.
- (Subtypes_Statically_Match): Fix problem of empty discriminant list
-
-2007-06-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_smem.adb (Check_Shared_Var): Check explicitly for as task object,
- to prevent subsequent expansion.
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
-
- * sinput-l.ads, sinput-l.adb: implement a new pragma No_Body
-
-2007-06-06 Ed Schonberg <schonberg@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * sprint.ads, sprint.adb (Sprint_Node_Actual): Output aggregate for
- exceptions.
- (Write_Itype): Handle case of string literal subtype, which
- comes up in this context.
- (Update_Itype): when debugging expanded code, update sloc of itypes
- associated with defining_identifiers and ranges, for gdb use.
- (Sprint_Node_Actual): Add static keyword to object or exception
- declaration output if Is_Statically_Allocated is True.
- (Sprint_End_Label): Set entity of end marker for a subprogram, package,
- or task body, so that the tree carries the proper Sloc information for
- debugging use.
- (Write_Indent): In Dump_Source_Text mode, ignore implicit label nodes
-
-2007-06-06 Arnaud Charlet <charlet@adacore.com>
-
- * s-secsta.adb (Chunk): Ensure this object has a static size known at
- compile time, to avoid dynamic memory allocation
- (Elaboration code): Only use dynamic memory allocation when needed.
-
-2007-06-06 Quentin Ochem <ochem@adacore.com>
-
- * s-stausa.ads, s-stausa.adb (Initialize_Analyzer): Added parameter
- "Overflow_Guard".
- (Stack_Analyzer): Added field "Overflow_Guard"
- (Task_Result): Added field "Overflow_Guard".
- (Index_Str): New constant.
- (Task_Name_Str): New constant.
- (Actual_Size_Str): New constant.
- (Pattern_Array_Element_Size): New constant.
- (Get_Usage_Range): New subprogram.
- (Output_Result): Added parameter Max_Size_Len and Max_Actual_Use_Len.
- Now align the output.
- Added comments.
- (Initialize): Added value for Overflow_Guard.
- (Fill_Stack): Use constant Pattern_Array_Elem_Size when relevant.
- Update the value of the overflow guard according to the actual
- beginning of the pattern array.
- (Initialize_Analyzer): Added parameter Overflow_Guard.
- Take this parameter into accound when computing the max size.
- (Compute_Result): Use constant Pattern_Array_Elem_Size when relevant.
- (Report_Result): Removed extra useless procedure.
- Updated call to Output_Result.
- Moved full computation of the Task_Result here.
-
-2007-06-06 Thomas Quinot <quinot@adacore.com>
-
- * g-soccon-darwin.ads, gen-soccon.c: Add new constant
- Thread_Blocking_IO, always True by default, set False on a per-runtime
- basis.
- Add Windows-specific constants
- Add new constant Need_Netdb_Buffer.
- Add new macros to indicate whether getXXXbyYYY is thread safe and, if
- not, whether to use getXXXbyYYY_r.
-
- * gsocket.h: Add new constant Need_Netdb_Buffer.
- Add new macros to indicate whether getXXXbyYYY is thread safe and, if
- not, whether to use getXXXbyYYY_r.
-
-2007-06-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * s-stoele.ads, s-stoele.adb: Move inline_always subprograms earlier
- than their first call.
- Add type Dummy_Communication_Block used in the generation of the pre-
- defined dispatching primitive _disp_asynchronous_select.
- (Storage_Element): Put Pragma Universal_Aliasing on it.
-
-2007-06-06 Vincent Celier <celier@adacore.com>
-
- * a-dirval-vms.adb, a-dirval.ads, a-dirval.adb (Windows): New Boolean
- function.
-
- * a-dirval-mingw.adb (Is_Valid_Path_Name): Forbid a path with a drive
- letter if it is not followed by a '/' or a '\'.
- (Windows): New Boolean function
-
- * a-direct.ads, a-direct.adb: Remove unnecessary and misplaced pragma
- Ada 2005.
- (Containing_Directory): On Windows, keep at least one '/' or '\' after a
- drive letter.
- (Containing_Directory): Raise Use_Error when the directory is a root
- directory.
- (Extension): When returning the result, use a conversion to Result_Type,
- not a qualification.
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
-
- * stylesw.ads, stylesw.adb (Set_GNAT_Style_Check): New procedure
- (Set_Style_Check_Options): Recognize new -gnatyg style switch
-
- * switch-c.adb (Scan_Front_End_Switches, case -gnatg): Set
- Warn_On_Non_Local_Exception to False, to turn off warnings for
- No_Exception_Propagation in ZFP runtime.
- (Scan_Front_End_Switches): Fix handling of --RTS switch for non GCC
- back-ends.
- (Scan_Front_End_Switches): For 'g', call Set_GNAT_Style_Checks
-
-2007-06-06 Vincent Celier <celier@adacore.com>
-
- * switch-b.adb (Scan_Binder_Switches): Add processing for new
- switches -R and -Z
-
- * switch-m.adb (Normalize_Compiler_Switches): Do not record switch -E
- (Scan_Make_Switches): Recognize new switch -aP
-
-2007-06-06 Matthew Gingell <gingell@adacore.com>
- Jose Ruiz <ruiz@adacore.com>
-
- * s-stchop-vxworks.adb (Set_Stack_Info): Instead of trying to map the
- VxWorks task descriptor in the Ada run time, call a C subprogram
- (__gnat_get_stack_info) that extracts the required information.
-
- * sysdep.c: Back out temporary lynxos workaround.
- (__gnat_get_stack_info): Add this procedure that passes to the Ada run
- time the stack information associated to the currently executing task.
- Only VxWorks systems require this function.
-
-2007-06-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * tracebak.c (FRAME_OFFSET): Add parameter FP. On SPARC/Solaris, do not
- add the stack bias if the offset is computed from a frame address.
- (__gnat_backtrace): Adjust for above change.
-
-2007-06-06 Thomas Quinot <quinot@adacore.com>
-
- * types.h, types.ads: Rename PE_Illegal_CW_Actual_E_4_18 to
- PE_Non_Transportable_Actual.
- (By_Descriptor_Last): New constant.
- (By_Copy_Return): Likewise.
-
-2007-06-06 Vincent Celier <celier@adacore.com>
-
- * vms_conv.adb (Process_Argument): Keep arguments starting with '+' as
- is.
-
- * vms_data.ads: Add entries for -gnatw.x and -gnatw.X
- /STYLE_CHECKS=GNAT: Change meaning to -gnatyg
- /GNAT_INTERNAL: New compiler qualifier corresponding to -gnatg
- Add missing comment for /OPTIMIZE=SPACE
- Add entry for OPTIMIZE=SPACE
- Add new qualifier /ALL_PROJECTS (= -U) for GNAT LIST
- Add documentation for new qualifiers corresponding to -gnatw.c/.C
-
-2007-06-06 Vincent Celier <celier@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * xgnatugn.adb: Allow dots to be used in ug_words (-gnatw.c and
- -gnatw.C)
-
- * gnat_ugn.texi: Fix ordering of -g switch for gnatmake
- Document gnatbind switch -a
- (case Constructions): Document that variables declarations are allowed
- for previously declared variables.
- Fix external lib project example
- -gnatg: Indicate new VMS qualifier /GNAT_INTERNAL
- Indicate that "#if not X or Y then" is not allowed in input files to
- gnatprep.
- Document gnatw.x and gnatw.X warning flags
- Mention -Winline switch to activate warnings when back-end inlining is
- ineffective.
- Add gnatcheck rule descriptions
- Describe how to use the GNAT driver to call a tool on a closure.
- Describe how to run project-wide checks or metrics.
- Document gnatbind's -R option
- Updated to account for Ada 2005 support
-
- * gnat_rm.texi (Case Construction): Allow variable declarations for
- previously declared variables.
- (Representation Clauses and Pragmas): Lift restriction on alignment
- clauses for record types.
- (Ada.Characters.*): Fix typo in reference to A.3.3(27).
- Document No_Exception_Propagation restriction
- Document No_Body pragma
- Updated to account for Ada 2005 support; corrected some typos
- (Implementation Defined Pragmas): Document pragma Universal_Aliasing.
-
- * gnat-style.texi: Make it clear that we never use mode IN for
- procedures or functions
-
- * ug_words: Add entries for -gnatw.x and -gnatw.X
- Add entries for -gnatw.c/.C
-
-2007-06-06 Pascal Obry <obry@adacore.com>
- Vincent Celier <celier@adacore.com>
-
- * makegpr.adb (Add_Archive_Path): Use untouched object and library
- dirs and library name.
- (Build_Global_Archive): Idem. Minor code clean-up. Removes duplicate
- comments.
- (Build_Library): Idem.
- (Compile_Individual_Sources): Idem.
- (Compile_Link_With_Gnatmake): Idem.
- (Compile_Sources): Idem.
- (Get_Imported_Directories): Idem.
- (Link_Executables): Idem. Same change for the executable dir.
- (Check_Compilation_Needed): C_Source_Path new variable containing
- the canonical form of Source_Path to check against the source names
- in the dependency file.
- (Build_Global_Archive, Compile_Individual_Sources, Compile_Sources): In
- verbose mode, display the name of the object directory we're changing
- to.
- (Saved_Switches): New name of table X_Switches
- (Scan_Arg): Recognize new switch -aP and save in table Saved_Switches
- (Usage): New line for switch -aP
- (Get_Imported_Directories.Add): Make sure that Add_Arg is True before
- testing if a directory should be added to the search path.
-
-2007-06-06 Javier Miranda <miranda@adacore.com>
-
- * a-cidlli.ads, a-cdlili.ads, a-cohama.ads, a-coinve.ads,
- a-convec.ads (Empty_Vector, Empty_Map, Empty_List): Move this object
- declaration after freezing point of all its associated tagged types;
- otherwise such types are frozen too early.
-
-2007-06-06 Robert Dewar <dewar@adacore.com>
-
- * a-reatim.adb: Documentation addition
-
- * g-cgideb.adb: Minor code reorganization
-
- * tree_io.adb, treepr.adb, cstand.adb, krunch.adb, par.adb,
- mdll-utl.adb, par-ch5.adb, par-tchk.adb, s-exctab.ads, s-memory.ads,
- s-osprim.ads, s-restri.ads, s-soflin.ads: Minor reformatting.
-
- * debug.ads, debug.adb (Get_Debug_Flag_K): Remove unused obsolete
- function. Change name New_Scope to Push_Scope
- (Get_Debug_Flag_K): Remove unused obsolete function.
-
- * exp_ch8.adb, inline.adb, sem_ch8.ads: Change name New_Scope to
- Push_Scope.
-
- * makeusg.adb: Update Copyright notice
- Add line for switch -aP
-
- * makeusg.adb: Fix wording of some usage messages
-
- * s-assert.adb (Raise_Assert_Failure): Add call to
- Debug_Raise_Assert_Failure.
-
- * s-unstyp.ads (type Packed_Bytes2): Change alignment to use 'Min
- (2, Standard'Alignment) for compatibility with AAMP (where alignment
- is restricted to 1).
-
- * s-wchjis.adb: Remove use of System.Pure_Exceptions
-
- * tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): Set the
- node location to No_Location when we're not debugging the expanded
- code.
-
-2007-05-22 Alexandre Oliva <aoliva@redhat.com>
-
- * misc.c (enumerate_modes): Consider log2_b to always be one.
-
-2007-05-14 Rafael Ávila de Espíndola <espindola@google.com>
-
- * misc.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
-
-2007-05-02 Pascal Obry <obry@adacore.com>
-
- * gnatchop.adb (Write_Source_Reference_Pragma): Change implementation
- to use Stream_IO.File_Type. This is needed to make use of the UTF-8
- encoding support of Stream_IO.
- (Write_Unit): Idem.
-
- * adaint.h, adaint.c (__gnat_os_filename): New routine. Returns the
- filename and corresponding encoding to match the OS requirement.
- (__gnat_file_exists): Do not call __gnat_stat() on Windows as this
- routine will fail on specific devices like CON: AUX: ...
-
- PR ada/29856: Add missing braces
-
-2007-04-22 Andrew Pinski <andrew_pinski@playstation.sony.com>
-
- PR ada/31660
- * ada-tree.h (lang_tree_node): Fix typo in chain_next.
-
-2007-04-21 Jan Hubicka <jh@suse.cz>
-
- * misc.c (gnat_expand_body): Don't call target for destructors,
- avoid redundant check on syntax errors.
-
-2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com>
-
- * ada-tree.h (lang_tree_node): Use GENERIC_NEXT
- instead of checking GIMPLE_STMT_P in chain_next.
-
-2007-04-17 Andreas Krebbel <krebbel1@de.ibm.com>
-
- PR ada/31576
- * system-linux-alpha.ads: Disable constant condition warning for the
- Default_Bit_Order variable.
- * system-linux-s390.ads: Likewise.
- * system-linux-s390x.ads: Likewise.
- * system-linux-sparc.ads: Likewise.
-
-2007-04-06 Javier Miranda <miranda@adacore.com>
- Matt Heaney <heaney@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- a-coprnu.ads, a-cohata.ads, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
- a-cgarso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads, a-chtgke.ads,
- a-chtgke.ads, a-coprnu.ads, a-contai.ads, a-chtgke.ads, a-chtgke.adb,
- a-stwiha.ads, a-strhas.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
- a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads, a-stzfix.ads,
- a-stzhas.ads, a-szuzha.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoio.ads,
- a-ztinio.ads, a-zttest.ads, a-zzunio.ads, a-astaco.ads, a-charac.ads,
- a-chlat1.ads, ada.ads, a-dynpri.ads, a-flteio.ads, a-fwteio.ads,
- a-inteio.ads, a-intnam.ads, a-ioexce.ads, a-iwteio.ads, a-lfteio.ads,
- a-lfwtio.ads, a-liteio.ads, a-liwtio.ads, a-llftio.ads, a-llfwti.ads,
- a-llitio.ads, a-lliwti.ads, a-ncelfu.ads, a-ngcefu.ads, a-ngelfu.ads,
- a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads, a-nllcty.ads,
- a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads, a-nucoty.ads,
- a-nuelfu.ads, a-numeri.ads, a-sfteio.ads, a-sfwtio.ads, a-siteio.ads,
- a-siwtio.ads, a-ssitio.ads, a-ssiwti.ads, a-storio.ads, a-strfix.ads,
- a-string.ads, a-stwifi.ads, a-titest.ads, a-unccon.ads, a-uncdea.ads,
- a-wtcoio.ads, a-wtinio.ads, a-wttest.ads, calendar.ads, directio.ads,
- i-c.ads, ioexcept.ads, machcode.ads, sequenio.ads, text_io.ads,
- unchconv.ads, unchdeal.ads, a-widcha.ads, a-zchara.ads, a-stboha.ads,
- a-stfiha.ads, a-coteio.ads, a-envvar.ads, a-lcteio.ads, a-llctio.ads,
- a-scteio.ads, a-swbwha.ads, a-swfwha.ads, a-szbzha.ads, a-szfzha.ads,
- a-tiboio.ads, a-wwboio.ads, a-zzboio.ads, a-dispat.ads, a-tgdico.ads,
- expander.adb, g-socket.ads, par-labl.adb, sinput-c.adb, s-tarest.ads,
- s-stchop.ads, g-expect-vms.adb, s-taprop-lynxos.adb,
- s-taprop-tru64.adb, s-taprop-irix.adb,
- s-taprop-hpux-dce.adb, s-traceb-hpux.adb,
- s-taprop-linux.adb, s-taprop-dummy.adb, s-osprim-unix.adb,
- s-osprim-solaris.adb, s-taprop-solaris.adb, s-taprop-vms.adb,
- s-osprim-mingw.adb, s-taprop-mingw.adb, s-osprim-posix.adb,
- s-taprop-posix.adb, a-exexpr-gcc.adb, a-ststio.adb, a-ststio.ads,
- a-textio.adb, a-textio.ads, a-tideau.adb, a-tideau.ads, a-witeio.adb,
- a-witeio.ads, a-wtdeau.adb, a-wtdeau.ads, g-calend.adb, g-calend.ads,
- g-dirope.adb, g-expect.ads, gnatchop.adb, g-spipat.adb, g-spipat.ads,
- s-direio.adb, s-direio.ads, s-fatgen.adb, s-fatgen.ads, s-parint.adb,
- s-sequio.adb, s-sequio.ads, s-taprop.ads, s-valdec.adb, s-valdec.ads,
- s-valint.adb, s-valint.ads, s-vallld.adb, s-vallld.ads, s-vallli.adb,
- s-vallli.ads, s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
- s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads, xref_lib.adb,
- s-stchop.adb, i-vxwork-x86.ads, a-crbtgo.ads, a-crbtgo.adb,
- a-coorse.ads, a-coorse.adb, a-cohama.ads, a-cohama.adb, a-ciorse.ads,
- a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-chtgop.ads, a-chtgop.ads,
- a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cihase.ads, a-cohase.adb,
- a-cohase.ads, a-swuwha.ads, a-ciormu.ads, a-coormu.ads, a-rbtgso.ads,
- a-stunha.ads, a-ciorma.adb, a-coorma.adb, a-ztdeau.adb, a-ztdeau.ads,
- a-ztexio.adb, a-ztexio.ads: Addition of null-exclusion to anonymous
- access types.
- Update documentation.
- Minor rewording.
-
-2007-04-06 Robert Dewar <dewar@adacore.com>
-
- * system-linux-ia64.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
- system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
- system-vxworks-sparcv9.ads, system-solaris-x86.ads, system-irix-o32.ads,
- system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
- system-linux-x86.ads, system-vxworks-mips.ads, system-interix.ads,
- system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
- system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
- system-vxworks-alpha.ads, system-vms_64.ads, system-darwin-ppc.ads,
- system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads,
- system-hpux-ia64.ads, targparm.adb,
- targparm.ads (Functions_Return_By_DSP_On_Target): Removed
-
- * system.ads: Move Functions_Return_By_DSP to obsolete section,
- kept for bootstrap purposes only.
-
-2007-04-06 Arnaud Charlet <charlet@adacore.com>
-
- * s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
- s-osinte-freebsd.ads, s-osinte-aix.ads, s-osinte-darwin.ads,
- s-taprop-posix.adb (Create_Task): Fix handling of Task_Info.
- (PTHREAD_SCOPE_PROCESS, PTHREAD_SCOPE_SYSTEM): New constants.
-
-2007-04-06 Robert Dewar <dewar@adacore.com>
-
- * a-except.adb, a-except.ads, a-except-2005.ads, a-except-2005.adb
- (Local_Raise): New dummy procedure called when a raise is converted
- to a local goto. Used for debugger to detect that the exception
- is raised.
-
- * debug.adb: Document new d.g flag (expand local raise statements to
- gotos even if pragma Restriction (No_Exception_Propagation) is not set)
-
- * exp_sel.adb: Use Make_Implicit_Exception_Handler
-
- * exp_ch11.adb (Expand_Exception_Handlers): Use new flag -gnatw.x to
- suppress warnings for unused handlers.
- (Warn_If_No_Propagation): Use new flag -gnatw.x to suppress
- warnings for raise statements not handled locally.
- (Get_RT_Exception_Entity): New function
- (Get_Local_Call_Entity): New function
- (Find_Local_Handler): New function
- (Warn_If_No_Propagation): New procedure
- (Expand_At_End_Handler): Call Make_Implicit_Handler
- (Expand_Exception_Handlers): Major additions to deal with local handlers
- (Expand_N_Raise_Constraint_Error, Expand_N_Raise_Program_Error,
- Expand_N_Raise_Storage_Error, (Expand_N_Raise_Statement): Add handling
- for local raise
-
- * exp_ch11.ads (Get_RT_Exception_Entity): New function
- (Get_Local_Call_Entity): New function
-
- * gnatbind.adb (Restriction_List): Add No_Exception_Propagation to list
- of restrictions that the binder will never suggest adding.
-
- * par-ch11.adb (P_Exception_Handler): Set Local_Raise_Statements field
- to No_Elist.
-
- * restrict.adb (Check_Restricted_Unit): GNAT.Current_Exception may not
- be with'ed in the presence of pragma Restriction
- (No_Exception_Propagation).
-
- * sem.adb (Analyze): Add entries for N_Push and N_Pop nodes
-
- * sem_ch11.adb (Analyze_Exception_Handler): If there is a choice
- parameter, then the handler is not a suitable target for a local raise,
- and this is a violation of restriction No_Exception_Propagation.
- (Analyze_Handled_Statements): Analyze choice parameters in exception
- handlers before analyzing statement sequence (needed for proper
- detection of local raise statements).
- (Analyze_Raise_Statement): Reraise statement is a violation of the
- No_Exception_Propagation restriction.
-
- * s-rident.ads: Add new restriction No_Exception_Propagation
-
- * tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): New
- function, like Make_Exception_Handler but sets Local_Raise_Statements
- to No_List.
- (Add_Unique_Serial_Number): Deal with case where this is called during
- processing of configuration pragmas.
-
-2007-04-06 Thomas Quinot <quinot@adacore.com>
- Pat Rogers <rogers@adacore.com>
- Pascal Obry <obry@adacore.com>
-
- * g-stsifd-sockets.adb: New file.
-
- * g-socthi.ads, g-socket.adb, g-socthi-vxworks.adb,
- g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi-vms.ads,
- g-socthi-vms.adb: Move signalling
- fd management to a nested package, so that they can conveniently be
- moved to a subunit that is shared across Windows, VMS, and VxWorks
- (Ada implementation) or completed with imported bodies from socket.c
- (UNIX case).
- (Read_Signalling_Fd, Write_Signalling_Fd, Create_Signalling_Fds): New
- subprograms.
- (Check_Selector): Use Read_Signalling_Fd to read and discard data from
- the signalling file descriptor.
- (Abort_Selector): Use Write_Signalling_Fd to write dummy data to the
- signalling file descriptor.
- (Create_Selector): Use new C-imported subprogram Create_Signalling_Fds
- instead of creating a pair of sockets for signalling here.
-
- * g-socthi.adb: Ditto.
- Set the runtime process to ignore SIGPIPEs on platforms that support
- neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality.
-
- * g-socthi-mingw.adb: Ditto.
- (WS_Version): Use Windows 2.2.
- Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API.
-
- * g-soliop-mingw.ads: Link with ws2_32 for Windows 2.x support.
- Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API.
-
- * Makefile.in: New libgnat pair g-stsifd.adb<g-stsifd-sockets.adb.
- added GNAT byte swapping facility
- Update FreeBSD THREADSLIB from -lc_r to -lpthread, for FreeBSD 6.
-
- * g-bytswa.adb, g-bytswa-x86.adb, g-bytswa.ads: New files.
-
- * socket.c (__gnat_read_signalling_fd, __gnat_write_controlling_fd):
- New subprograms.
- (__gnat_create_signalling_fds): New subprogram.
- Set the runtime process to ignore SIGPIPEs on platforms that support
- neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality.
-
-2007-04-06 Hristian Kirtchev <kirtchev@adacore.com>
- Vincent Celier <celier@adacore.com>
-
- * a-calend-vms.ads, a-calend.ads, a-calend.adb, a-calend-vms.adb:
- New version of Ada.Calendar which supports the new upper bound of Ada
- time (2399-12-31 86_399.999999999).
- The following modifications have been made to the package:
- - New representation of time as count of nanoseconds since the start of
- Ada time (1901-1-1 0.0).
- - Target independent Split and Time_Of routines which service both
- Ada 95 and Ada 2005 code.
- - Target independent interface to the Ada 2005 children of Calendar.
- - Integrated leap seconds into Ada 95 and Ada 2005 mode.
- - Handling of non-leap centenial years.
- - Updated clock function.
- - Updated arithmetic and comparison operators.
-
- * a-caldel.adb (To_Duration): Add call to target independent routine in
- Ada.Calendar to handle the conversion of time to duration.
-
- * sysdep.c (__gnat_localtime_tzoff): Test timezone before setting off
- (UTC Offset).
- If timezone is obviously incorrect (outside of -14 hours .. 14 hours),
- set off to 0.
- (__gnat_localtime_tzoff for Lynx and VxWorks): Even though these
- targets do not have a natural time zone, GMT is used as a default.
- (__gnat_get_task_options): New.
-
- * a-direct.adb (Modification_Time): Add with and use clauses for
- Ada.Calendar and Ada.
- Calendar.Formatting. Remove with clause for Ada.Unchecked_Conversion
- since it is no longer needed.
- (Duration_To_Time): Removed.
- (OS_Time_To_Long_Integer): Removed.
- (Modification_Time): Rewritten to use Ada.Calendar and Ada.Calendar.
- Formatting Time_Of routines which automatically handle time zones,
- buffer periods and leap seconds.
-
- * a-calari.ads, a-calari.adb ("+", "-", Difference): Add calls to
- target independent routines in Ada.Calendar.
-
- * a-calfor.ads, a-calfor.adb:
- Code cleanup and addition of validity checks in various routines.
- (Day_Of_Week, Split, Time_Of): Add call to target independent routine in
- Ada.Calendar.
-
- * a-catizo.ads, a-catizo.adb (UTC_Time_Offset): Add call to target
- independent routine in Ada.Calendar.
-
-2007-04-06 Olivier Hainque <hainque@adacore.com>
-
- * adaint.c:
- (convert_addresses): Adjust prototype and dummy definition to expect an
- extra file_name argument.
-
- * gmem.c (__gnat_convert_addresses): Wrapper to convert_addresses,
- filling the now expected file_name argument with the appropriate
- argv[0] expansion.
- (__gnat_gmem_a2l_initialize, __gnat_gmem_read_next_frame): Use it.
- (tracebk): Array of void * instead of char *, corresponding to what
- convert_addresses expects.
- (exename): New static global, to hold the executable file name to be
- used in all convert_addresses invocations.
- (gmem_read_backtrace, __gnat_gmem_symbolic): Account for tracebk type
- change.
- (__gnat_gmem_a2l_initialize): Resolve exename.
- (__gnat_convert_addresses): Use exename as the convert_addresses
- file_name argument.
-
- * g-trasym.adb (Symbolic_Traceback): Adjust signature of imported
- "convert_addresses", now expecting a filename argument. Import the
- necessary entities to compute the filename to use and pass it to
- convert_addresses.
-
-2007-04-06 Matt Gingell <gingell@adacore.com>
-
- * system-aix.ads: Back out previous change.
- (Functions_Return_By_DSP): Removed
-
-2007-04-06 Pascal Obry <obry@adacore.com>
-
- * s-osprim-mingw.adb (Timed_Delay): Use the right clock (standard one
- or the monotonic used by Ada.Real_Time) to compute the sleep duration
- on Windows.
-
-2007-04-06 Jose Ruiz <ruiz@adacore.com>
-
- * s-osinte-vxworks.ads, s-osinte-vxworks.adb (VX_FP_TASK): Remove this
- function. Its value changes in different VxWorks versions, and it is
- now handled by the function __gnat_get_task_options.
-
- * s-taprop-vxworks.adb (Create_Task): Call the function
- __gnat_get_task_options to get the required options for creating a task.
-
-2007-04-06 Pascal Obry <obry@adacore.com>
- Thomas Quinot <quinot@adacore.com>
-
- * adaint.c: Replace all occurences of S2WS to S2WSU (Unicode) when
- dealing with filename.
- (__gnat_fopen): Call the proper macro (8bits or UTF8) to convert the
- filename from a standard string to a wide-string depending on the
- encoding value.
- (__gnat_freopen): Idem.
- (__gnat_current_time): New function (wrapper for time(3) standard C
- function).
-
- * g-os_lib.ads (Current_Time): New function. Returns the current
- system time as an OS_Time value.
-
- * s-osprim.ads (Clock): Add more precise definition of UNIX epoch.
- (Monotonic_Clock): Same.
-
-2007-04-06 Quentin Ochem <ochem@adacore.com>
-
- * ali.ads, ali.adb (Get_Nat): Raise an exception if the file cursor is
- not on a natural.
- (Scan_ALI): Cancel the xref line if there has been a reading ALI error.
-
-2007-04-06 Jose Ruiz <ruiz@adacore.com>
-
- * a-retide.adb: Add elaboration code to ensure that the tasking run
- time is initialized when using delay operations even when no task is
- created.
-
-2007-04-06 Javier Miranda <miranda@adacore.com>
-
- * a-tags.ads, a-tags.adb (Object_Specific_Data): Remove
- component Num_Prim_Ops.
- (Set_Num_Prim_Ops): Removed.
- Remove all the assertions because all the routines of this
- package are inline always.
- (Get_Offset_Index): Add support to primary dispatch tables.
- Move the documentation about the dispatch table to a-tags.ads
- (Set_External_Tag): Removed
- (Inherit_TSD): Removed.
- (Interface_Data_Element, Interfaces_Array, Interface_Data): Declarations
- moved to a-tags.ads
- (Displace, IW_Membership, Inherit_TSD, Interface_Ancestor_Tags,
- Register_Interface_Tag, Set_Offset_To_Top): Update all the occurrences
- of the TSD field "Table" because this field has been renamed to
- "Ifaces_Table".
- (Inherit_CPP_DT): Removed.
- (K_Typeinfo, K_Offset_To_Top, K_Tagged_Kind, K_Signature,
- Cstring, Tag_Table, Type_Specific_Data, Dispatch_Table): These
- declarations have been moved to a-tags.ads
- (Check_Size): Removed.
- (Expanded_Name): Updated to get access to the new field of TSD
- containing the address of the expanded name.
- (Get_Access_Level/Set_Access_Level): Removed.
- (Get_Predefined_Prim_Op_Address): Removed.
- (Set_Predefined_Prim_Op_Address): Removed.
- (Get_Prim_Op_Address/Set_Prim_Op_Address): Removed.
- (Get_Remotely_Callable/Set_Remotely_Callable): Removed.
- (Set_Expanded_Name): Removed.
- (Inherit_DT): Removed.
- (Inherit_CPP_DT): Removed.
- (Set_RC_Offset): Removed.
- (Set_TSD): Removed.
- (Base_Address): New function that displaces "this" to point to the base
- of the object (that is, to point to the primary tag of the object).
-
-2007-04-06 Ed Schonberg <schonberg@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * exp_ch3.ads, exp_ch3.adb (Analyze_N_Full_Type_Declaration): For an
- anonymous access component, do not create a master_id if type already
- has one, as may happen if the type is a subcomponent of a packed array
- type.
- (Build_Init_Procedure, Component_Needs_Simple_Initialization,
- Initialize_Tag): Remove code associated with the old CPP pragmas.
- CPP_Virtual and CPP_Vtable are no longer supported.
- (Build_Offset_To_Top_Internal): Add support for concurrent record types
- (Build_Offset_To_Top_Functions): Add support for concurrent record types
- (Freeze_Record_Type): Remove call to
- Init_Predefined_Interface_Primitives.
- (Init_Secondary_Tags.Initialize_Tag): New subprogram containing all the
- code required to initialize the tags of the secondary dispatch tables.
- This leaves the algoritm more clear.
- (Init_Secondary_Tags): Add support for concurrent record types
- (Make_Predefined_Primitive_Specs): Code cleanup.
- (Predefined_Primitive_Bodies): Code cleanup.
- (Build_Master_Renaming): New local subprogram.
- (Expand_N_Full_Type_Declaration): Build the master_id associated with
- anonymous access to task type components.
- (Expand_N_Subtype_Indication): The bounds of a range constraint in a
- subtype indication are resolved during analysis, and must not be done
- here.
- (Stream_Operation_OK): Check Restriction_Active before RTE_Available.
-
-2007-04-06 Geert Bosch <bosch@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Javier Miranda <miranda@adacore.com>
- Bob Duff <duff@adacore.com>
-
- * exp_ch4.adb (Expand_N_Type_Conversion): Remove special processing
- for conversion of a Float_Type'Truncation to integer.
-
- * exp_attr.adb (Is_Inline_Floating_Point_Attribute): New function to
- check if a node is an attribute that can be handled directly by the
- back end.
- (Expand_N_Attribute_Reference): Suppress expansion of floating-point
- attributes that can be handled directly by the back end.
- (Expand_N_Attribute_Reference, case 'Access and 'Unchecked_Access):
- use new predicate Is_Access_Protected_Subprogram_Type.
- (Expand_N_Attribute_Reference, case 'Write): The reference is legal for
- and Unchecked_Union if it is generated as part of the default Output
- procedure for a type with default discriminants.
- (Expand_N_Attribute_Reference): Avoid the expansion of dispatching calls
- if we are compiling under restriction No_Dispatching_Calls.
- (Constrained): Use Underlying_Type, in case the type is private without
- discriminants, but the full type has discriminants.
- (Expand_N_Attribute_Reference): Replace call to Get_Access_Level by
- call to Build_Get_Access_Level.
- (Expand_N_Attribute_Reference): The use of 'Address with class-wide
- interface objects requires a call to the run-time subprogram that
- returns the base address of the object.
- (Valid_Conversion): Improve error message on illegal attempt to store
- an anonymous access to subprogram value into a record component.
-
- * sem_res.adb (Resolve_Equality_Op): Detect ambiguity for "X'Access =
- null".
- (Simplify_Type_Conversion): New procedure that performs simplification
- of Int_Type (Float_Type'Truncation (X)).
- (Resolve_Type_Conversion): Call above procedure after resolving operand
- and before performing checks. This replaces the existing ineffective
- code in Exp_Ch4.
- (Set_String_Literal_Subtype): When creating the internal static lower
- bound subtype for a string literal, use a newly created copy of the
- subtree representing the lower bound.
- (Resolve_Call): Exclude build-in-place function calls from transient
- scope treatment. Update comments to describe this exception.
- (Resolve_Equality_Op): In case of dispatching call check violation of
- restriction No_Dispatching_Calls.
- (Resolve_Call): If the call returns an array, the context imposes the
- component type of the array, and the function has one non-defaulted
- parameter, rewrite the call as the indexing of a call with a single
- parameter, to handle an Ada 2005 syntactic ambiguity for calls written
- in prefix form.
- (Resolve_Actuals): If an actual is an allocator for an access parameter,
- the master of the created object is the innermost enclosing statement.
- (Remove_Conversions): For a binary operator, check if type of second
- formal is numeric, to check if an abstract interpretation is present
- in the case of exponentiation as well.
-
-2007-04-06 Ed Schonberg <schonberg@adacore.com>
- Bob Duff <duff@adacore.com>
-
- * atree.h, atree.ads, atree.adb (Copy_Node_With_Replacement): When
- copying a parameter list in a call, set properly the First_Named_Formal
- and Next_Named_Formal fields in the new list and in the enclosing call.
- (Watch_Node,New_Node_Breakpoint,New_Node_Debugging_Output): Shorten
- names, to ease typing in the debugger. Improve comments.
- (Watch_Node): New variable, intended to be set in the debugger.
- (New_Node_Breakpoint): New do-nothing procedure to set a breakpoint on,
- called when the watched node is created.
- (New_Node_Debugging_Output): Combined version of local procedures
- New_Node_Debugging_Output and New_Entity_Debugging_Output, now global,
- with a parameter so that conditional breakpoints like "if Node = 12345"
- work.
- (New_Node, New_Entity): Call the global New_Node_Debugging_Output.
- Add Elist1 function
-
-2007-04-06 Thomas Quinot <quinot@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * checks.ads, checks.adb (Selected_Range_Checks): No range check is
- required for a conversion between two access-to-unconstrained-array
- types.
- (Expr_Known_Valid): Validity checks do not apply to discriminants, but
- to discriminant constraints on discriminant objects. This rule must
- apply as well to discriminants of protected types in private components.
- (Null_Exclusion_Static_Checks): If No_Initialization is set on an
- object of a null-excluding access type then don't require the
- the object declaration to have an expression and don't emit a
- run-time check.
-
-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.
-
-2007-04-06 Gary Dismukes <dismukes@adacore.com>
-
- * cstand.adb (Create_Standard): When the target's storage unit size is
- greater than a byte, set Has_Non_Standard_Rep and Has_Pragma_Pack on
- Standard_String.
-
-2007-04-06 Nicolas Roche <roche@adacore.com>
-
- * cstreams.c (__gnat_full_name): Fix issues on VxWorks 6.x for which
- absolute path can have the following form: device:/a/b. In this case
- '/' should be inserted between the path and the filename.
-
-2007-04-06 Olivier Hainque <hainque@adacore.com>
- Eric Botcazou <botcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <E_Constant>: Associate an external
- VAR_DECL to a CONST_DECL we make for a public constant when we know the
- corresponding definition has created the so made visible variable.
- Handle anonymous access to protected subprogram.
- (gnat_to_gnu_entity) <E_Variable>: Do not make the underlying type of an
- object with an address clause volatile. Re-enable original fix.
- <E_Subprogram_Type>: Set TYPE_REF_CAN_ALIAS_ALL on the reference type
- too.
- (gnat_to_gnu_entity) <E_Class_Wide_Type>: Retrieve the TYPE_DECL
- associated with either the Equivalent or Root type, instead of the
- naked type node.
- (gnat_to_gnu_entity): Manually mark the top of the DECL_FIELD_OFFSET
- subtree for every field of a global record type.
- (gnat_to_gnu_entity) <E_Record_Subtype>: If the subtype has
- discriminants, invoke again variable_size on its newly computed sizes.
-
-2007-04-06 Robert Dewar <dewar@adacore.com>
- Thomas Quinot <quinot@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Bob Duff <duff@adacore.com>
-
- * einfo.ads, einfo.adb: (First_Component_Or_Discriminant): New function
- (Next_Component_Or_Discriminant): New function and procedure
- (First_Index, First_Literal, Master_Id,
- Set_First_Index, Set_First_Literal, Set_Master_Id):
- Add missing Ekind assertions.
- (Is_Access_Protected_Subprogram_Type): New predicate.
- (Has_RACW): New entity flag, set on package entities to indicate that
- the package contains the declaration of a remote accecss-to-classwide
- type.
- (E_Return_Statement): This node type has the Finalization_Chain_Entity
- attribute, in case the result type has controlled parts.
- (Requires_Overriding): Add this new flag, because "requires
- overriding" is subtly different from "is abstract" (see AI-228).
- (Is_Abstract): Split Is_Abstract flag into Is_Abstract_Subprogram and
- Is_Abstract_Type. Make sure these are called only when appropriate.
- (Has_Pragma_Unreferenced_Objects): New flag
-
- * exp_ch5.adb (Expand_N_Assignment_Statement): If the left-hand side is
- class-wide, the tag of the right-hand side must be an exact match, not
- an ancestor of that of the object on left-hand side.
- (Move_Activation_Chain): New procedure to create the call to
- System.Tasking.Stages.Move_Activation_Chain.
- (Expand_N_Extended_Return_Statement): Generate code to call
- System.Finalization_Implementation.Move_Final_List at the end of a
- return statement if the function's result type has controlled parts.
- Move asserts to Build_In_Place_Formal.
- (Move_Final_List): New function to create the call statement.
- (Expand_N_Assignment_Statement): In case of assignment to a class-wide
- tagged type, replace generation of call to the run-time subprogram
- CW_Membership by call to Build_CW_Membership.
- (Expand_N_Return_Statement): Replace generation of call to the run-time
- subprogram Get_Access_Level by call to Build_Get_Access_Level.
- (Expand_N_Simple_Function_Return): Replace generation of call to the
- run-time subprogram Get_Access_Level by call to Build_Get_Access_Level.
-
- * exp_ch6.ads, exp_ch6.adb (Expand_Call): Use new predicate
- Is_Access_Protected_Subprogram_Type, to handle both named and anonymous
- access to protected operations.
- (Add_Task_Actuals_To_Build_In_Place_Call): New procedure to add the
- master and chain actual parameters to a build-in-place function call
- involving tasks.
- (BIP_Formal_Suffix): Add new enumeration literals to complete the case
- statement.
- (Make_Build_In_Place_Call_In_Allocator,
- Make_Build_In_Place_Call_In_Anonymous_Context,
- Make_Build_In_Place_Call_In_Assignment,
- Make_Build_In_Place_Call_In_Object_Declaration): Call
- Add_Task_Actuals_To_Build_In_Place_Call with the appropriate master.
- (Expand_Inlined_Call): If the subprogram is a null procedure, or a
- stubbed procedure with a null body, replace the call with a null
- statement without using the full inlining machinery, for efficiency
- and to avoid invalid values in source file table entries.
-
- * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Add support for
- renamings of calls to build-in-place functions.
-
- * rtsfind.adb (RTE_Record_Component_Available): New subprogram that
- provides the functionality of RTE_Available to record components.
- (RTU_Entity): The function Entity has been renamed to RTU_Entity
- to avoid undesired overloading.
- (Entity): New subprogram that returns the entity for the referened
- unit. If this unit has not been loaded, it returns Empty.
- (RE_Activation_Chain_Access, RE_Move_Activation_Chain): New entities.
- Remove no longer used entities.
- (RE_Finalizable_Ptr_Ptr, RE_Move_Final_List): New entities.
- (RE_Type_Specific_Data): New entity.
- (RE_Move_Any_Value): New entity.
- (RE_TA_A, RE_Get_Any_Type): New entities.
- (RE_Access_Level, RE_Dispatch_Table, E_Default_Prim_Op_Count,
- RE_Prims_Ptr, RE_RC_Offset, RE_Remotely_Callable,
- RE_DT_Typeinfo_Ptr_Size, RE_Cstring_Ptr, RE_DT_Expanded_Name): Added.
- (Entity): New subprogram that returns the entity for the referened
- unit. If this unit has not been loaded, it returns Empty.
- (RTE): Addition of a new formal that extends the search to the scopes
- of the record types found in the chain of the package.
-
- * sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Print
- "abstract subprograms must be visible" message, whether or not the type
- is an interface; that is, remove the special case for interface types.
- (Analyze_Function_Return): Remove error message "return of task objects
- is not yet implemented" because this is now implemented.
- (Create_Extra_Formals): Add the extra master and activation chain
- formals in case the result type has tasks.
- Remove error message "return of limited controlled objects is not yet
- implemented".
- (Create_Extra_Formals): Add the extra caller's finalization list formal
- in case the result type has controlled parts.
- (Process_Formals): In case of access formal types there is no need
- to continue with the analysis of the formals if we already notified
- errors.
- (Check_Overriding_Indicator): Add code to check overriding of predefined
- operators.
- (Create_Extra_Formals): Prevent creation of useless Extra_Constrained
- flags for formals that do not require them,.
- (Enter_Overloaded_Entity): Do not give -gnatwh warning message unless
- hidden entity is use visible or directly visible.
- (Analyze_Abstract_Subprogram_Declaration,Analyze_Subprogram_Body,
- Analyze_Subprogram_Declaration,Analyze_Subprogram_Specification,
- Check_Conventions,Check_Delayed_Subprogram,Make_Inequality_Operator,
- New_Overloaded_Entity): Split Is_Abstract flag into
- Is_Abstract_Subprogram and Is_Abstract_Type.
-
- * s-finimp.ads, s-finimp.adb (Move_Final_List): New procedure to move
- a return statement's finalization list to the caller's list, used for
- build-in-place functions with result type with controlled parts.
- Remove no longer used entities.
-
- * s-taskin.ads (Activation_Chain): Remove pragma Volatile. It is no
- longer needed, because the full type is now limited, and therefore a
- pass-by-reference type.
- (Foreign_Task_Level): New constant.
-
- * s-tassta.ads, s-tassta.adb (Move_Activation_Chain): New procedure to
- move tasks from the activation chain belonging to a return statement to
- the one passed in by the caller, and update the master to the one
- passed in by the caller.
- (Vulnerable_Complete_Master, Check_Unactivated_Tasks): Check the master
- of unactivated tasks, so we don't kill the ones that are being returned
- by a build-in-place function.
- (Create_Task): Ignore AI-280 for foreign threads.
-
-2007-04-06 Ed Schonberg <schonberg@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Bob Duff <duff@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * errout.adb (Unwind_Internal_Type): Use predicate
- Is_Access__Protected_Subprogram_Type.
-
- * freeze.adb (Size_Known): Use First/Next_Component_Or_Discriminant
- (Freeze_Entity, packed array case): Do not override explicitly set
- alignment and size clauses.
- (Freeze_Entity): An entity declared in an outer scope can be frozen if
- the enclosing subprogram is a child unit body that acts as a spec.
- (Freeze_Entity): Use new predicate Is_Access_Protected_Subprogram_Type.
- (Freeze_Record_Type): New Ada 2005 processing for reverse bit order
- Remove all code for DSP option
-
- * layout.adb (Layout_Record_Type): Use First/
- Next_Component_Or_Discriminant
- (Layout_Type): Use new predicate Is_Access_Protected_Subprogram_Type,
- to handle properly the anonymous access case.
-
- * sem_attr.adb (Build_Access_Object_Type): Use E_Access_Attribute_Type
- for all access attributes, because overload resolution should work the
- same for 'Access, 'Unchecked_Access, and 'Unrestricted_Access. This
- causes the error message for the ambiguous "X'Access = Y'Access" and
- "X'Unrestricted_Access = Y'Access" and so forth to match.
- (Resolve_Attribute, case 'Access): Remove use of Original_Access_Type,
- now that anonymous access to protected operations have their own kind.
- (Resolve_Attribute): In case of dispatching call check the violation of
- restriction No_Dispatching_Calls.
- (Check_Array_Type): Check new -gnatyA array index style option
-
- * sem_ch3.ads, sem_ch3.adb (Derived_Type_Declaration): Reject an
- attempt to derive from a synchronized tagged type.
- (Analyze_Type_Declaration): If there is a incomplete tagged view of the
- type, inherit the class-wide type already created, because it may
- already have been used in a self-referential anonymous access component.
- (Mentions_T): Recognize self-referential anonymous access components
- that use (a subtype of) the class-wide type of the enclosing type.
- (Build_Derived_Record_Type): Add earlier setting of Is_Tagged_Type. Pass
- Derived_Type for Prev formal on call to
- Check_Anonymous_Access_Components rather than Empty.
- (Make_Incomplete_Type_Declaration): Add test for case where the type has
- a record extension in deciding whether to create a class-wide type,
- rather than just checking Tagged_Present.
- (Replace_Anonymous_Access_To_Protected_Subprogram): Procedure applies
- to stand-alone object declarations as well as component declarations.
- (Array_Type_Declaration): Initialize Packed_Array_Type to Empty, to
- prevent accidental overwriting when enclosing package appears in
- a limited_with_clause.
- (Array_Type_Declaration): If the component type is an anonymous access,
- the associated_node for the itype is the type declaration itself.
- (Add_Interface_Tag_Components): Modified to support concurrent
- types with abstract interfaces.
- (Check_Abstract_Interfaces): New subprogram that verifies the ARM
- rules 3.9.4 (15/2), 9.1 (9.d/2) and 9.4 (11.d/2).
- (Build_Derived_Record_Type): Add call to Analyze_Interface_Declaration
- to complete the decoration of synchronized interface types. Add also
- a call to Check_Abstract_Interfaces to verify the ARM rules.
- (Derive_Interface_Subprograms): Modified to support concurrent types
- with abstract interfaces.
- (Analyze_Subtype_Indication): Resolve the range with the given subtype
- mark, rather than delaying the full resolution depending on context.
- (Analyze_Component_Declaration,Analyze_Interface_Declaration,
- Analyze_Object_Declaration,Analyze_Subtype_Declaration,
- Array_Type_Declaration,Build_Derived_Record_Type,
- Build_Discriminated_Subtype,Check_Abstract_Overriding,Check_Completion,
- Derive_Interface_Subprograms,Derive_Subprogram,Make_Class_Wide_Type,
- Process_Full_View,Record_Type_Declaration): Split Is_Abstract flag into
- Is_Abstract_Subprogram and Is_Abstract_Type. Make sure these are
- called only when appropriate.
- (Copy_And_Swap): Copy Has_Unreferenced_Objects flag from full type
- to private type.
- (Analyze_Subtype_Declaration): For an access subtype declaration, create
- an itype reference for the anonymous designated subtype, to prevent
- scope anonmalies in gigi.
- (Build_Itype_Reference): New utility, to simplify construction of such
- references.
-
-2007-04-06 Vincent Celier <celier@adacore.com>
-
- * errutil.adb (Initialize): Initialize warnings table, if all warnings
- are suppressed, supply an initial dummy entry covering all possible
- source locations.
-
- * make.adb (Scan_Make_Arg): Reject options that should start with "--"
- and start with only one, such as "-RTS=none".
- (Collect_Arguments): Do not check for sources outside of projects.
- Do not collect arguments if project is externally built.
- (Compile_Sources): Do nothing, not even check if the source is up to
- date, if its project is externally built.
- (Compile): When compiling a predefined source, add -gnatpg
- as the second switch, after -c.
- (Compile_Sources): Allow compilation of Annex J renames without -a
- (Is_In_Object_Directory): Check if the ALI file is in the object
- even if there is no project extension.
- (Create_Binder_Mapping_File): Only put a unit in the mapping file for
- gnatbind if the ALI file effectively exists.
- (Initialize): Add the directory where gnatmake is invoked in front of
- the path if it is invoked from a bin directory, even without directory
- information, so that the correct GNAT tools will be used when spawned
- without directory information.
-
- * makeusg.adb: Change switch -S to -eS
- Add lines for new switches -we, -wn and -ws
- Add line for new switch -p
-
- * prj-proc.adb (Process): Set Success to False when Warning_Mode is
- Treat_As_Error and there are warnings.
-
- * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Do not skip
- -gnatww Change gnatmake switch -S to -eS
- (Scan_Make_Switches): Code reorganisation. Process separately multi
- character switches and single character switches.
- (Scan_Make_Switches): New Boolean out parameter Success. Set Success to
- False when switch is not recognized by gnatmake.
- (Scan_Make_Switches): Set Setup_Projects True when -p or
- --create-missing-dirs is specified.
-
- * fname.adb (Is_Predefined_File_Name): Return True for annex J
- renamings Calendar, Machine_Code, Unchecked_Conversion and
- Unchecked_Deallocation only when Renamings_Included is True.
-
- * par.adb: Allow library units Calendar, Machine_Code,
- Unchecked_Conversion and Unchecked_Deallocation to be recompiled even
- when -gnatg is not specified.
- (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.
- (SIS_Entry_Active): Initialize global variable to False
- (P_Null_Exclusion): For AI-447: Add parameter Allow_Anonymous_In_95 to
- indicate cases where AI-447 says "not null" is legal.
-
- * makeutl.ads, makeutil.adb (Executable_Prefix_Path): New function
-
- * makegpr.adb (Check_Compilation_Needed): Take into account dependency
- files with with several lines starting with the object fileb name.
- (Scan_Arg): Set Setup_Projects True when -p or --create-missing-dirs
- is specified.
- (Initialize): Add the directory where gprmake is invoked in front of the
- path, if it is invoked from a bin directory or with directory
- information, so that the correct GNAT tools will be used when invoked
- directly.
- (Check_Compilation_Needed): Process correctly backslashes on Windows.
-
- * vms_data.ads: Update switches/qualifiers
-
-2007-04-06 Ed Schonberg <schonberg@adacore.com>
- Thomas Quinot <quinot@adacore.com>
-
- * exp_aggr.adb:
- If the array component is a discriminated record, the array aggregate
- is non-static even if the component is given by an aggregate with
- static components.
- (Expand_Record_Aggregate): Use First/Next_Component_Or_Discriminant
- (Convert_Aggr_In_Allocator): If the allocator is for an access
- discriminant and the type is controlled. do not place on a finalization
- list at this point. The proper list will be determined from the
- enclosing object.
- (Build_Record_Aggr_Code): If aggregate has box-initialized components,
- initialize record controller if needed, before the components, to ensure
- that they are properly finalized.
- (Build_Record_Aggr_Code): For the case of an array component that has a
- corresponding array aggregate in the record aggregate, perform sliding
- if required.
-
-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
-
-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.
-
-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.
-
-2007-04-06 Thomas Quinot <quinot@adacore.com>
- Pablo Oliveira <oliveira@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.
-
-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..
-
-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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-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
-
-2007-04-06 Arnaud Charlet <charlet@adacore.com>
- Pablo Oliveira <oliveira@adacore.com>
-
- * 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.
-
-2007-04-06 Thomas Quinot <quinot@adacore.com>
-
- * g-md5.ads, g-md5.adb (Digest): Fix off-by-one error in padding
- computation.
-
-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
-
-2007-04-06 Vincent Celier <celier@adacore.com>
-
- * gprep.adb (Process_Files.Process_One_File): Use full file name when
- issuing pragma Source_Reference.
-
-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.
-
-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.
-
-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.
-
-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.
-
-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
-
-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.
-
-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.
-
-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
-
-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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-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
-
-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.
-
-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.
-
-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
-
-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.
-
-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
-
-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.
-
-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.
-
-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.
-
-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.
-
-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
-
-2007-04-06 Arnaud Charlet <charlet@adacore.com>
-
- * s-tpobop.adb (Exceptional_Complete_Entry_Body): Undefer abortion
- before propagating exception.
-
-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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2007-04-06 Eric Botcazou <botcazou@adacore.com>
-
- * s-stchop-vxworks.adb:
- (Stack_Check): Raise Storage_Error if the argument has wrapped around.
-
-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.
-
-2007-03-30 Rafael Ávila de Espíndola <espindola@google.com>
-
- * trans.c (Attribute_to_gnu): Use get_signed_or_unsigned_type
- instead of gnat_signed_or_unsigned_type.
- * utils.c (gnat_signed_or_unsigned_type): Remove.
- * misc.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove
- * gigi.h (gnat_signed_or_unsigned_type): Remove
-
-2007-03-09 Roger Sayle <roger@eyesopen.com>
-
- * cuintp.c (UI_To_gnu): Use fold_buildN calls instead of calling
- fold with the result of buildN.
- * decl.c (gnat_to_gnu_entity): Likewise.
- * trans.c (Attribute_to_gnu, gnat_to_gnu, emit_check): Likewise.
- * utils.c (finish_record_type, merge_sizes, max_size, convert):
- Likewise.
- * utils2.c (gnat_truthvalue_conversion, compare_arrays,
- nonbinary_modular_operation, build_binary_op, build_unary_op,
- build_cond_expr): Likewise.
-
- * utils.c (convert): Use fold_build1 when casting values to void.
- * utils2.c (gnat_truthvalue_conversion): Use build_int_cst and
- fold_convert instead of convert when appropriate.
-
-2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
-
- * Make-lang.in: Add install-pdf target as copied from
- automake v1.10 rules.
-
-2007-02-28 Andreas Schwab <schwab@suse.de>
-
- * Make-lang.in (doc/gnat_ugn_unw.texi): Depend on
- $(gcc_docdir)/include/gcc-common.texi and gcc-vers.texi.
- (doc/gnat-style.info): Likewise.
-
-2007-02-26 Brooks Moses <brooks.moses@codesourcery.com>
-
- * gnat-style.texi: Standardize title page.
- * gnat_rm.texi: Likewise.
- * gnat_ugn.texi: Likewise.
-
-2007-02-25 Mark Mitchell <mark@codesourcery.com>
-
- * decl.c (annotate_value): Adjust for refactoring of tree_map
- hierarchy.
-
-2007-02-24 Mark Mitchell <mark@codesourcery.com>
-
- * decl.c (annotate_value): Adjust for refactoring of tree_map
- hierarchy.
-
-2007-02-21 Ed Schonberg <schonberg@adacore.com>
-
- PR ada/18819
- * sem_ch3.adb (Create_Constrained_Components): for a subtype of an
- untagged derived type, add hidden components to keep discriminant
- layout consistent, when a given discriminant of the derived type
- constraints several discriminants of the parent type.
-
-2007-02-16 Eric Botcazou <ebotcazou@adacore.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * trans.c (call_to_gnu): Use build_call_list instead of build3 to
- build the call expression.
- (gnat_stabilize_reference_1): Handle tcc_vl_exp.
- * utils.c (max_size) <tcc_exceptional>: Delete.
- <tcc_vl_exp>: New case.
- <tcc_expression>: Delete CALL_EXPR subcase.
- (build_global_cdtor): Use build_call_nary instead of build3.
- * utils2.c (build_call_1_expr): Likewise.
- (build_call_2_expr): Likewise.
- (build_call_0_expr): Likewise.
- (build_call_alloc_dealloc): Likewise.
-
-2007-02-07 Andreas Krebbel <krebbel1@de.ibm.com>
-
- * raise-gcc.c (get_region_description_for, get_call_site_action_for,
- get_action_description_for): Replace _Unwind_Word with _uleb128_t
- and _Unwind_SWord with _sleb128_t.
-
-2007-02-06 Paolo Bonzini <bonzini@gnu.org>
-
- * Make-lang.in (ada/decl.o): Add gt-ada-decl.h dependency.
- * decl.c: Include gt-ada-decl.h.
- (annotate_value_cache): New.
- (annotate_value): Use it instead of TREE_COMPLEXITY.
-
-2007-02-03 Kazu Hirata <kazu@codesourcery.com>
-
- * misc.c, utils2.c: Fix comment typos.
-
-2007-01-24 Roger Sayle <roger@eyesopen.com>
-
- * decl.c (gnat_to_gnu_entity): Use TREE_OVERFLOW instead of
- TREE_CONSTANT_OVERFLOW.
- (allocatable_size_p, annotate_value): Likewise.
- * trans.c (gnat_to_gnu): Likewise.
- * utils.c (unchecked_convert): Likewise.
- * utils2.c (build_simple_component_ref): Likewise.
-
-2007-01-23 Richard Guenther <rguenther@suse.de>
-
- PR bootstrap/30541
- * Make-lang.in: Replace invocations of gnatmake with $(GNATMAKE).
- (gnatboot2): Pass staged GNATMAKE instead of STAGE_PREFIX.
- (gnatboot3): Likewise.
- (GNATBIND): Do not define.
- * Makefile.in (GNATBIND): Do not define.
-
-2007-01-08 Richard Guenther <rguenther@suse.de>
-
- * cuintp.c (build_cst_from_int): Use built_int_cst_type.
- * trans.c (gnat_to_gnu): Likewise.
-
-2006-12-07 Geoffrey Keating <geoffk@apple.com>
-
- * Makefile.in: Replace CROSS_COMPILE with CROSS_DIRECTORY_STRUCTURE.
- * adaint.c: Likewise.
-
-2006-12-05 Aldy Hernandez <aldyh@redhat.com>
-
- Merge from gimple-tuples-branch:
- 2006-11-02 Aldy Hernandez <aldyh@redhat.com>
-
- * ada-tree.h (lang_tree_node): Handle gimple tuples.
- * trans.c (gnat_gimplify_expr): Replace MODIFY_EXPR with
- GIMPLE_MODIFY_STMT.
-
-2006-12-02 Kazu Hirata <kazu@codesourcery.com>
-
- * Makefile.in, mingw32.h, trans.c: Fix comment typos.
- * gnat_rm.texi, gnat_ugn.texi: Follow spelling conventions.
- Fix typos.
-
-2006-11-17 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/27936
- * trans.c (add_decl_expr): Do not dynamically elaborate padded objects
- if the initializer takes into account the padding.
-
-2006-11-11 Richard Guenther <rguenther@suse.de>
-
- * trans.c (maybe_stabilize_reference): Remove handling of
- FIX_CEIL_EXPR, FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
-
-2006-11-05 Arnaud Charlet <charlet@adacore.com>
-
- PR ada/29707
- * s-osinte-linux-alpha.ads, s-osinte-linux-hppa.ads
- (To_Target_Priority): New function.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
-
- * a-taster.adb, s-traent-vms.adb, a-elchha.ads, a-elchha.adb,
- a-exctra.adb, ali-util.adb, exp_disp.ads, s-stalib.ads, s-traent.adb,
- s-addope.ads, s-addope.adb, a-rbtgso.adb, a-crbltr.ads, a-coprnu.adb,
- a-cgcaso.adb, a-cgarso.adb, a-cgaaso.adb, a-coormu.adb, a-ciormu.adb,
- a-rbtgso.ads, a-stunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb,
- a-secain.adb, a-slcain.adb, a-shcain.adb, a-stwiha.adb, a-stwiha.adb,
- a-strhas.adb, a-strhas.adb, a-stzhas.adb, a-stzhas.adb, a-szuzha.adb,
- a-chacon.adb, a-chacon.adb, a-chacon.ads, a-stboha.adb, a-swbwha.adb,
- a-szbzha.adb: Minor reformatting. Fix header.
-
- * a-numaux-x86.adb: Add parentheses for use of unary minus
- * a-ngcefu.adb: Supply missing parentheses for unary minus
- * a-ngcoty.adb: Add parens for use of unary minus
- * a-ngelfu.adb: Add missing parens for unary minus
- * a-tifiio.adb: Add parentheses for uses of unary minus
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
- Bob Duff <duff@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Unary_Op): Add warning for use of unary minus
- with multiplying operator.
- (Expected_Type_Is_Any_Real): New function to determine from the Parent
- pointer whether the context expects "any real type".
- (Resolve_Arithmetic_Op): Do not give an error on calls to the
- universal_fixed "*" and "/" operators when they are used in a context
- that expects any real type. Also set the type of the node to
- Universal_Real in this case, because downstream processing requires it
- (mainly static expression evaluation).
- Reword some continuation messages
- Add some \\ sequences to continuation messages
- (Resolve_Call): Refine infinite recursion case. The test has been
- sharpened to eliminate some false positives.
- Check for Current_Task usage now includes entry barrier, and is now a
- warning, not an error.
- (Resolve): If the call is ambiguous, indicate whether an interpretation
- is an inherited operation.
- (Check_Aggr): When resolving aggregates, skip associations with a box,
- which are priori correct, and will be replaced by an actual default
- expression in the course of expansion.
- (Resolve_Type_Conversion): Add missing support for conversion from
- a class-wide interface to a tagged type. Minor code cleanup.
- (Valid_Tagged_Converion): Add support for abstact interface type
- conversions.
- (Resolve_Selected_Component): Call Generate_Reference here rather than
- during analysis, and use May_Be_Lvalue to distinguish read/write.
- (Valid_Array_Conversion): New procedure, abstracted from
- Valid_Conversion, to incorporate accessibility checks for arrays of
- anonymous access types.
- (Valid_Conversion): For a conversion to a numeric type occurring in an
- instance or inlined body, no need to check that the operand type is
- numeric, since this has been checked during analysis of the template.
- Remove legacy test for scope name Unchecked_Conversion.
-
- * sem_res.ads: Minor reformatting
-
- * a-except.adb, a-except-2005.adb: Turn off subprogram ordering
- (PE_Current_Task_In_Entry_Body): New exception code
- (SE_Restriction_Violation): Removed, not used
-
- * a-except.ads: Update comments.
-
- * types.h, types.ads: Add definition for Validity_Check
- (PE_Current_Task_In_Entry_Body): New exception code
- (SE_Restriction_Violation): Removed, not used
-
-2006-10-31 Thomas Quinot <quinot@adacore.com>
-
- * g-socthi-vxworks.adb (C_Gethostbyname): Fix wrong test for returned
- error status.
-
-2006-10-31 Hristian Kirtchev <kirtchev@adacore.com>
- Jose Ruiz <ruiz@adacore.com>
-
- * a-calend-vms.adb (Leap_Sec_Ops): Temp body for package in private
- part of Ada.Calendar: all subprogram raise Unimplemented.
- (Split_W_Offset): Temp function body, raising Unimplemented
-
- * a-calend.ads, a-calend-vms.ads:
- Add imported variable Invalid_TZ_Offset used to designate targets unable
- to support time zones.
- (Unimplemented): Temporary function raised by the body of new
- subprograms below.
- (Leap_Sec_Ops): New package in the private part of Ada.Calendar. This
- unit provides handling of leap seconds and is used by the new Ada 2005
- packages Ada.Calendar.Arithmetic and Ada.Calendar.Formatting.
- (Split_W_Offset): Identical spec to that of Ada.Calendar.Split. This
- version returns an extra value which is the offset to UTC.
-
- * a-calend.adb (Split_W_Offset): Add call to localtime_tzoff.
- (Leap_Sec_Ops): New body for package in private part of Ada.Calendar.
- (Split_W_Offset): New function body.
- (Time_Of): When a date is close to UNIX epoch, compute the time for
- that date plus one day (that amount is later substracted after
- executing mktime) so there are no problems with time zone adjustments.
-
- * a-calend-mingw.adb: Remove Windows specific version no longer needed.
-
- * a-calari.ads, a-calari.adb, a-calfor.ads, a-calfor.adb,
- a-catizo.ads, a-catizo.adb: New files.
-
- * impunit.adb: Add new Ada 2005 entries
-
- * sysdep.c: Add external variable __gnat_invalid_tz_offset.
- Rename all occurences of "__gnat_localtime_r" to
- "__gnat_localtime_tzoff".
- (__gnat_localtime_tzoff for Windows): Add logic to retrieve the time
- zone data and calculate the GMT offset.
- (__gnat_localtime_tzoff for Darwin, Free BSD, Linux, Lynx and Tru64):
- Use the field "tm_gmtoff" to extract the GMT offset.
- (__gnat_localtime_tzoff for AIX, HPUX, SGI Irix and Sun Solaris): Use
- the external variable "timezone" to calculate the GMT offset.
-
-2006-10-31 Arnaud Charlet <charlet@adacore.com>
- Jose Ruiz <ruiz@adacore.com>
-
- * s-osinte-posix.adb, s-osinte-linux.ads, s-osinte-freebsd.adb,
- s-osinte-freebsd.ads, s-osinte-solaris-posix.ads, s-osinte-hpux.ads,
- s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-lynxos-3.ads,
- s-osinte-lynxos-3.adb (To_Target_Priority): New function maps from
- System.Any_Priority to a POSIX priority on the target.
-
- * system-linux-ia64.ads:
- Extend range of Priority types on Linux to use the whole range made
- available by the system.
-
- * s-osinte-aix.adb, s-osinte-aix.ads (To_Target_Priority): New
- function maps from System.Any_Priority to a POSIX priority on the
- target.
- (PTHREAD_PRIO_PROTECT): Set real value.
- (PTHREAD_PRIO_INHERIT): Now a function.
- (SIGCPUFAIL): New signal.
- (Reserved): Add SIGALRM1, SIGWAITING, SIGCPUFAIL, since these signals
- are documented as reserved by the OS.
-
- * system-aix.ads: Use the full range of priorities provided by the
- system on AIX.
-
- * s-taprop-posix.adb: Call new function To_Target_Priority.
- (Set_Priority): Take into account Task_Dispatching_Policy and
- Priority_Specific_Dispatching pragmas when determining if Round Robin
- must be used for scheduling the task.
-
- * system-linux-x86_64.ads, system-linux-x86.ads,
- system-linux-ppc.ads: Extend range of Priority types on Linux to use
- the whole range made available by the system.
-
- * s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-irix.adb,
- s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-hpux-dce.adb,
- s-taprop-lynxos.adb (Finalize_TCB): invalidate the stack-check cache
- when deallocating the TCB in order to avoid potential references to
- deallocated data.
- (Set_Priority): Take into account Task_Dispatching_Policy and
- Priority_Specific_Dispatching pragmas when determining if Round Robin
- or FIFO within priorities must be used for scheduling the task.
-
- * s-taprop-vxworks.adb (Enter_Task): Store the user-level task id in
- the Thread field (to be used internally by the run-time system) and the
- kernel-level task id in the LWP field (to be used by the debugger).
- (Create_Task): Reorganize to unify the calls to taskSpawn into a single
- instance, and propagate the current task options to the spawned task.
- (Set_Priority): Take into account Priority_Specific_Dispatching pragmas.
- (Initialize): Set Round Robin dispatching when the corresponding pragma
- is in effect.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
-
- * system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
- system-linux-hppa.ads, system-hpux-ia64.ads,
- system-lynxos-ppc.ads, system-lynxos-x86.ads, system-tru64.ads,
- system-vxworks-sparcv9.ads, system-solaris-x86.ads,
- system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
- system-vxworks-m68k.ads, system-vxworks-mips.ads, system-interix.ads,
- system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
- system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
- system-vxworks-alpha.ads, system.ads: Add pragma Warnings(Off,
- Default_Bit_Order) to kill constant condition warnings for references
- to this switch.
-
-2006-10-31 Vincent Celier <celier@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * mlib-tgt-lynxos.adb, mlib-tgt-mingw.adb, mlib-tgt-tru64.adb,
- mlib-tgt-aix.adb, mlib-tgt-irix.adb, mlib-tgt-hpux.adb,
- mlib-tgt-linux.adb, mlib-tgt-solaris.adb: Use Append_To, instead of
- Ext_To, when building the library file name
-
- * mlib-tgt-vxworks.adb: ditto.
- (Get_Target_Suffix): Add support for x86 targets.
-
- * mlib-fil.ads, mlib-fil.adb: (Append_To): New function
-
- * mlib-tgt-darwin.adb:
- Use Append_To, instead of Ext_To, when building the library file name
- (Flat_Namespace): New global variable.
- (No_Shared_Libgcc_Switch): Rename to No_Shared_Libgcc_Options.
- (Shared_Libgcc_Switch): Rename to With_Shared_Libgcc_Options.
- (Link_Shared_Libgcc): Delete.
- (Build_Dynamic_Library): Adjust for above changes.
- Use Opt package.
- (Build_Dynamic_Library): Pass -shared-libgcc if GCC 4 or later.
-
-2006-10-31 Eric Botcazou <ebotcazou@adacore.com>
-
- * s-taprop-solaris.adb: (Time_Slice_Val): Change type to Integer.
- (Initialize): Add type conversions required by above change.
-
-2006-10-31 Jose Ruiz <ruiz@adacore.com>
-
- * s-osinte-vxworks.ads, s-osinte-vxworks.adb:
- (getpid): New body for this function that uses the underlying taskIdSelf
- function for VxWorks 5 and VxWorks 6 in kernel mode.
- (unsigned_int): New type, modular to allow logical bit operations.
- (taskOptionsGet): New imported function.
-
- * s-taspri-vxworks.ads (Private_Data): Change the type for the LWP
- field to be compliant with the type used by the corresponding operating
- system primitive.
-
-2006-10-31 Pascal Obry <obry@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
- Vincent Celier <celier@adacore.com>
-
- * adaint.c (__gnat_get_libraries_from_registry): Call explicitly the
- ASCII version of the registry API. This is needed as the GNAT runtime
- is now UNICODE by default.
- Include version.h.
- (get_gcc_version): Do not hardcode the return value.
- (__gnat_file_time_name): On Windows properly set the default returned
- value to -1 which corresponds to Invalid_Time.
- (__gnat_fopen): New routine. A simple wrapper on all plateforms
- except on Windows where it does conversion for unicode support.
- (__gnat_freopen): Idem.
- (__gnat_locate_exec_on_path): If environment variable PATH does not
- exist, return a NULL pointer
-
- * adaint.h: (__gnat_fopen): Declare.
- (__gnat_freopen): Likewise.
-
- * mingw32.h (_tfreopen): Define this macro here for older MingW
- version.
- Activate the unicode support on platforms using a MingW runtime
- version 3.9 or newer.
-
- * s-crtl.ads (fopen): Is now an import to the wrapper __gnat_freopen.
- This is needed for proper unicode support on Windows.
- (freopen): Idem.
-
-2006-10-31 Eric Botcazou <ebotcazou@adacore.com>
- Nicolas Setton <setton@adacore.com>
- Olivier Hainque <hainque@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * gigi.h: (tree_code_for_record_type): Declare.
- (add_global_renaming_pointer): Rename to record_global_renaming_pointer.
- (get_global_renaming_pointers): Rename to
- invalidate_global_renaming_pointers.
- (static_ctors): Delete.
- (static_dtors): Likewise.
- (gnat_write_global_declarations): Declare.
- (create_var_decl): Adjust descriptive comment to indicate that the
- subprogram may return a CONST_DECL node.
- (create_true_var_decl): Declare new function, similar to
- create_var_decl but forcing the creation of a VAR_DECL node.
- (get_global_renaming_pointers): Declare.
- (add_global_renaming_pointer): Likewise.
-
- * ada-tree.h (DECL_READONLY_ONCE_ELAB): New macro.
-
- * decl.c (gnat_to_gnu_entity) <case E_Function>: Don't copy the type
- tree before setting TREE_ADDRESSABLE for by-reference return mechanism
- processing.
- (gnat_to_gnu_entity): Remove From_With_Type from computation for
- imported_p.
- <E_Access_Type>: Use the Non_Limited_View as the full view of the
- designated type if the pointer comes from a limited_with clause. Make
- incomplete designated type if it is in the main unit and has a freeze
- node.
- <E_Incomplete_Type>: Rework to treat Non_Limited_View, Full_View, and
- Underlying_Full_View similarly. Return earlier if the full view already
- has an associated tree.
- (gnat_to_gnu_entity) <E_Record_Type>: Restore comment.
- (gnat_to_gnu_entity) <E_Record_Type>: Do not use a dummy type.
- (gnat_to_gnu_entity) <E_Variable>: Set TYPE_REF_CAN_ALIAS_ALL on the
- reference type built for objects with an address clause.
- Use create_true_var_decl with const_flag set for
- DECL_CONST_CORRESPONDING_VARs, ensuring a VAR_DECL is created with
- TREE_READONLY set.
- (gnat_to_gnu_entity, case E_Enumeration_Type): Set TYPE_NAME
- for Character and Wide_Character types. This info is read by the
- dwarf-2 writer, and is needed to be able to use the command "ptype
- character" in the debugger.
- (gnat_to_gnu_entity): When generating a type representing
- a Character or Wide_Character type, set the flag TYPE_STRING_FLAG,
- so that debug writers can distinguish it from ordinary integers.
- (elaborate_expression_1): Test the DECL_READONLY_ONCE_ELAB flag in
- addition to TREE_READONLY to assert the constantness of variables for
- elaboration purposes.
- (gnat_to_gnu_entity, subprogram cases): Change loops on formal
- parameters to call new Einfo function First_Formal_With_Extras.
- (gnat_to_gnu_entity): In type_annotate mode, replace a discriminant of a
- protected type with its corresponding discriminant, to obtain a usable
- declaration
- (gnat_to_gnu_entity) <E_Access_Protected_Subprogram_Type>: Be prepared
- for a multiple elaboration of the "equivalent" type.
- (gnat_to_gnu_entity): Adjust for renaming of add_global_renaming_pointer
- into record_global_renaming_pointer.
- (gnat_to_gnu_entity) <E_Array_Type>: Do not force
- TYPE_NONALIASED_COMPONENT to 0 if the element type is an aggregate.
- <E_Array_Subtype>: Likewise.
- (gnat_to_gnu_entity) <E_Incomplete_Subtype>: Add support for regular
- incomplete subtypes and incomplete subtypes of incomplete types visible
- through a limited with clause.
- (gnat_to_gnu_entity) <E_Array_Subtype>: Take into account the bounds of
- the base index type for the maximum size of the array only if they are
- constant.
- (gnat_to_gnu_entity, renaming object case): Do not wrap up the
- expression into a SAVE_EXPR if stabilization failed.
-
- * utils.c (create_subprog_decl): Turn TREE_ADDRESSABLE on the type of
- a result decl into DECL_BY_REFERENCE on this decl, now what is expected
- by lower level compilation passes.
- (gnat_genericize): New function, lowering a function body to GENERIC.
- Turn the type of RESULT_DECL into a real reference type if the decl
- has been marked DECL_BY_REFERENCE, and adjust references to the latter
- accordingly.
- (gnat_genericize_r): New function. Tree walking callback for
- gnat_genericize.
- (convert_from_reference, is_byref_result): New functions. Helpers for
- gnat_genericize_r.
- (create_type_decl): Call gnat_pushdecl before calling
- rest_of_decl_compilation, to make sure that field TYPE_NAME of
- type_decl is properly set before calling the debug information writers.
- (write_record_type_debug_info): The heuristics which compute the
- alignment of a field in a variant record might not be accurate. Add a
- safety test to make sure no alignment is set to a smaller value than
- the alignment of the field type.
- (make_dummy_type): Use the Non_Limited_View as the underlying type if
- the type comes from a limited_with clause. Do not loop on the full view.
- (GET_GNU_TREE, SET_GNU_TREE, PRESENT_GNU_TREE): New macros.
- (dummy_node_table): New global variable, moved from decl.c.
- (GET_DUMMY_NODE, SET_DUMMY_NODE, PRESENT_DUMMY_NODE): New macros.
- (save_gnu_tree): Use above macros.
- (get_gnu_tree): Likewise.
- (present_gnu_tree): Likewise.
- (init_dummy_type): New function, moved from decl.c. Use above macros.
- (make_dummy_type): Likewise.
- (tree_code_for_record_type): New function extracted from make_dummy_type
- (init_gigi_decls): Set DECL_IS_MALLOC on gnat_malloc.
- (static_ctors): Change it to a vector, make static.
- (static_dtors): Likewise.
- (end_subprog_body): Adjust for above change.
- (build_global_cdtor): Moved from trans.c.
- (gnat_write_global_declarations): Emit global constructor and
- destructor, and call cgraph_optimize before emitting debug info for
- global declarations.
- (global_decls): New global variable.
- (gnat_pushdecl): Store the global declarations in global_decls, for
- later use.
- (gnat_write_global_declarations): Emit debug information for global
- declarations.
- (create_var_decl_1): Former create_var_decl, with an extra argument to
- state whether the creation of a CONST_DECL is allowed.
- (create_var_decl): Behavior unchanged. Now a wrapper around
- create_var_decl_1 allowing CONST_DECL creation.
- (create_true_var_decl): New function, similar to create_var_decl but
- forcing the creation of a VAR_DECL node (CONST_DECL not allowed).
- (create_field_decl): Do not always mark the field as addressable
- if its type is an aggregate.
- (global_renaming_pointers): New static variable.
- (add_global_renaming_pointer): New function.
- (get_global_renaming_pointers): Likewise.
-
- * misc.c (gnat_dwarf_name): New function.
- (LANG_HOOKS_DWARF_NAME): Define to gnat_dwarf_name.
- (gnat_post_options): Add comment about structural alias analysis.
- (gnat_parse_file): Do not call cgraph_optimize here.
- (LANG_HOOKS_WRITE_GLOBALS): Define to gnat_write_global_declarations.
-
- * trans.c (process_freeze_entity): Don't abort if we already have a
- non dummy GCC tree for a Concurrent_Record_Type, as it might
- legitimately have been elaborated while processing the associated
- Concurrent_Type prior to this explicit freeze node.
- (Identifier_to_gnu): Do not make a variable referenced in a SJLJ
- exception handler volatile if it is of variable size.
- (process_type): Remove bypass for types coming from a limited_with
- clause.
- (call_to_gnu): When processing the copy-out of a N_Type_Conversion GNAT
- actual, convert the corresponding gnu_actual to the real destination
- type when necessary.
- (add_decl_expr): Set the DECL_READONLY_ONCE_ELAB flag on variables
- originally TREE_READONLY but whose elaboration cannot be performed
- statically.
- Part of fix for F504-021.
- (tree_transform, subprogram cases): Change loops on formal parameters to
- call new Einfo function First_Formal_With_Extras.
- (gnat_to_gnu) <N_Op_Shift_Right_Arithmetic>: Ignore constant overflow
- stemming from type conversion for the lhs.
- (Attribute_to_gnu) <Attr_Alignment>: Also divide the alignment by the
- number of bits per unit for components of records.
- (gnat_to_gnu) <N_Code_Statement>: Mark operands addressable if needed.
- (Handled_Sequence_Of_Statements_to_gnu): Register the cleanup associated
- with At_End_Proc after the SJLJ EH cleanup.
- (Compilation_Unit_to_gnu): Call elaborate_all_entities only on the main
- compilation unit.
- (elaborate_all_entities): Do not retest type_annotate_only.
- (tree_transform) <N_Abstract_Subprogram_Declaration>: Process the
- result type of an abstract subprogram, which may be an itype associated
- with an anonymous access result (related to AI-318-02).
- (build_global_cdtor): Move to utils.c.
- (Case_Statement_to_gnu): Avoid adding the choice of a when statement if
- this choice is not a null tree nor an integer constant.
- (gigi): Run unshare_save_expr via walk_tree_without_duplicates
- on the body of elaboration routines instead of mark_unvisited.
- (add_stmt): Do not mark the tree.
- (add_decl_expr): Tweak comment.
- (mark_unvisited): Delete.
- (unshare_save_expr): New static function.
- (call_to_gnu): Issue an error when making a temporary around a
- procedure call because of non-addressable actual parameter if the
- type of the formal is by_reference.
- (Compilation_Unit_to_gnu): Invalidate the global renaming pointers
- after building the elaboration routine.
-
-2006-10-31 Bob Duff <duff@adacore.com>
-
- * a-filico.adb (Finalize(List_Controller)): Mark the finalization list
- as finalization-started, so we can raise Program_Error on 'new'.
-
- * s-finimp.adb: Raise Program_Error on 'new' if finalization of the
- collection has already started.
-
- * s-finimp.ads (Collection_Finalization_Started): Added new special
- flag value for indicating that a collection's finalization has started.
-
- * s-tassta.adb (Create_Task): Raise Program_Error on an attempt to
- create a task whose master has already waited for dependent tasks.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
-
- * lib.adb, lib.ads: (In_Predefined_Unit): New functions
-
- * a-finali.ads, a-ngcoty.ads, a-strbou.ads, a-stream.ads, a-strmap.ads,
- a-strunb.ads, a-stwibo.ads, a-stwima.ads, a-stwiun.ads, a-taside.ads,
- a-coorse.ads, a-convec.ads, a-coinve.ads, a-cohama.ads, a-ciorse.ads,
- a-cihama.ads, a-cihase.ads, a-cohase.ads, a-ciorma.ads, a-coorma.ads,
- a-ciormu.ads, a-coormu.ads, a-stzbou.ads, a-stzmap.ads, a-stzunb.ads,
- a-except-2005.ads: Add pragma Preelaborable_Warning
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
- Jose Ruiz <ruiz@adacore.com>
-
- * a-dispat.ads, a-dispat.adb, a-diroro.ads, a-diroro.adb: New files.
-
- * ali.adb (Get_Name): Properly handle scanning of wide character names
- encoded with brackets notation.
- (Known_ALI_Lines): Add S lines to this list.
- (Scan_ALI): Acquire S (priority specific dispatching) lines.
- New flag Elaborate_All_Desirable in unit table
-
- * ali.ads (Priority_Specific_Dispatching): Add this range of
- identifiers to be used for Priority_Specific_Dispatching table entries.
- (ALIs_Record): Add First_Specific_Dispatching and
- Last_Specific_Dispatching that point to the first and last entries
- respectively in the priority specific dispatching table for this unit.
- (Specific_Dispatching): Add this table for storing each S (priority
- specific dispatching) line encountered in the input ALI file.
- New flag Elaborate_All_Desirable in unit table
-
- * bcheck.adb: (Check_Configuration_Consistency): Add call to
- Check_Consistent_Dispatching_Policy.
- (Check_Consistent_Dispatching_Policy): Add this procedure in charge of
- verifying that the use of Priority_Specific_Dispatching,
- Task_Dispatching_Policy, and Locking_Policy is consistent across the
- partition.
-
- * bindgen.adb: (Public_Version_Warning): function removed.
- (Set_PSD_Pragma_Table): Add this procedure in charge of getting the
- required information from ALI files in order to initialize the table
- containing the specific dispatching policy.
- (Gen_Adainit_Ada): Generate the variables required for priority specific
- dispatching entries (__gl_priority_specific_dispatching and
- __gl_num_specific_dispatching).
- (Gen_Adainit_C): Generate the variables required for priority specific
- dispatching entries (__gl_priority_specific_dispatching and
- __gl_num_specific_dispatching).
- (Gen_Output_File): Acquire settings for Priority_Specific_Dispatching
- pragma entries.
- (Gen_Restrictions_String_1, Gen_Restrictions_String_2): Removed.
- (Gen_Restrictions_Ada, Gen_Restrictions_C, Set_Boolean): New procedures.
- (Tab_To): Removed.
- (Gen_Output_File_Ada/_C): Set directly __gl_xxx variables instead of
- a call to gnat_set_globals.
- Generate a string containing settings from
- Priority_Specific_Dispatching pragma entries.
- (Gen_Object_Files_Options): Do not include the runtime libraries when
- pragma No_Run_Time is specified.
-
- * init.c (__gnat_install_handler, case FreeBSD): Use SA_SIGINFO, for
- consistency with s-intman-posix.adb.
- (__gnat_error_handler, case FreeBSD): Account for the fact that the
- handler is installed with SA_SIGINFO.
- (__gnat_adjust_context_for_raise, FreeBSD case): New function for
- FreeBSD ZCX support, copied from Linux version.
- Add MaRTE-specific definitions for the linux target. Redefine sigaction,
- sigfillset, and sigemptyset so the routines defined by MaRTE.
- (__gl_priority_specific_dispatching): Add this variable that stores the
- string containing priority specific dispatching policies in the
- partition.
- (__gl_num_specific_dispatching): Add this variable that indicates the
- highest priority for which a priority specific dispatching pragma
- applies.
- (__gnat_get_specific_dispatching): Add this routine that returns the
- priority specific dispatching policy, as set by a
- Priority_Specific_Dispatching pragma appearing anywhere in the current
- partition. The input argument is the priority number, and the result
- is the upper case first character of the policy name.
- (__gnat_set_globals): Now a dummy function.
- (__gnat_handle_vms_condition): Feed adjust_context_for_raise with
- mechargs instead of sigargs, as the latter can be retrieved from the
- former and sigargs is not what we want on ia64.
- (__gnat_adjust_context_for_raise, alpha-vms): Fetch sigargs from the
- mechargs argument.
- (__gnat_adjust_context_for_raise, ia64-vms): New function.
- (tasking_error): Remove unused symbol.
- (_abort_signal): Move this symbol to the IRIX specific part since this
- is the only target that uses this definition.
- (Check_Abort_Status): Move this symbol to the IRIX specific part since
- this is the only target that uses this definition.
- (Lock_Task): Remove unused symbol.
- (Unlock_Task): Remove unused symbol.
-
- * lib-writ.adb (Write_ALI): Output new S lines for
- Priority_Specific_Dispatching pragmas.
- Implement new flag BD for elaborate body desirable
-
- * lib-writ.ads: Document S lines for Priority Specific Dispatching.
- (Specific_Dispatching): Add this table for storing the entries
- corresponding to Priority_Specific_Dispatching pragmas.
- Document new BD flag for elaborate body desirable
-
- * par-prag.adb (Prag): Add Priority_Specific_Dispatching to the list
- of known pragmas.
-
-2006-10-31 Javier Miranda <miranda@adacore.com>
-
- * a-tags.ads, a-tags.adb:
- (Predefined_DT): New function that improves readability of the code.
- (Get_Predefined_Prim_Op_Address, Set_Predefined_Prim_Op_Address,
- Inherit_DT): Use the new function Predefined_DT to improve code
- readability.
- (Register_Interface_Tag): Update assertion.
- (Set_Interface_Table): Update assertion.
- (Interface_Ancestor_Tags): New subprogram required to implement AI-405:
- determining progenitor interfaces in Tags.
- (Inherit_CPP_DT): New subprogram.
-
- * exp_disp.adb (Expand_Interface_Thunk): Suppress checks during the
- analysis of the thunk code.
- (Expand_Interface_Conversion): Handle run-time conversion of
- access to class wide types.
- (Expand_Dispatching_Call): When generating the profile for the
- subprogram itype for a dispatching operation, properly terminate the
- formal parameters chaind list (set the Next_Entity of the last formal
- to Empty).
- (Collect_All_Interfaces): Removed. This routine has been moved to
- sem_util and renamed as Collect_All_Abstract_Interfaces.
- (Set_All_DT_Position): Hidden entities associated with abstract
- interface primitives are not taken into account in the check for
- 3.9.3(10); this check is done with the aliased entity.
- (Make_DT, Set_All_DT_Position): Enable full ABI compatibility for
- interfacing with CPP by default.
- (Expand_Interface_Conversion): Add missing support for static conversion
- from an interface to a tagged type.
- (Collect_All_Interfaces): Add new out formal containing the list of
- abstract interface types to cleanup the subprogram Make_DT.
- (Make_DT): Update the code to generate the table of interfaces in case
- of abstract interface types.
- (Is_Predefined_Dispatching_Alias): New function that returns true if
- a primitive is not a predefined dispatching primitive but it is an
- alias of a predefined dispatching primitive.
- (Make_DT): If the ancestor of the type is a CPP_Class and we are
- compiling under full ABI compatibility mode we avoid the generation of
- calls to run-time services that fill the dispatch tables because under
- this mode we currently inherit the dispatch tables in the IP subprogram.
- (Write_DT): Emit an "is null" indication for a null procedure primitive.
- (Expand_Interface_Conversion): Use an address as the type of the formal
- of the internally built function that handles the case in which the
- target type is an access type.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
-
- * binde.adb (Better_Choice, Worse_Choice): Implement new preferences.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
-
- * bindusg.ads, bindusg.adb:
- Change to package and rename procedure as Display, which
- now ensures that it only outputs usage information once.
-
-2006-10-31 Jose Ruiz <ruiz@adacore.com>
-
- * cal.c: Use the header sys/time.h for VxWorks 6.2 or greater when
- using RTPs.
-
- * mkdir.c: Use a different version of mkdir for VxWorks 6.2 or greater
- when using RTPs.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * treepr.adb: Use new subtype N_Membership_Test
-
- * checks.ads, checks.adb: Add definition for Validity_Check
- (Range_Or_Validity_Checks_Suppressed): New function
- (Ensure_Valid): Test Validity_Check suppressed
- (Insert_Valid_Check): Test Validity_Check suppressed
- (Insert_Valid_Check): Preserve Do_Range_Check flag
- (Validity_Check_Range): New procedure
- (Expr_Known_Valid): Result of membership test is always valid
- (Selected_Range_Checks): Range checks cannot be applied to discriminants
- by themselves. Disabling those checks must also be done for task types,
- where discriminants may be used for the bounds of entry families.
- (Apply_Address_Clause_Check): Remove side-effects if address expression
- is non-static and is not the name of a declared constant.
- (Null_Exclusion_Static_Checks): Extend to handle Function_Specification.
- Code cleanup and new error messages.
- (Enable_Range_Check): Test for some cases of suppressed checks
- (Generate_Index_Checks): Suppress index checks if index checks are
- suppressed for array object or array type.
- (Apply_Selected_Length_Checks): Give warning for compile-time detected
- length check failure, even if checks are off.
- (Ensure_Valid): Do not generate a check on an indexed component whose
- prefix is a packed boolean array.
- * checks.adb: (Alignment_Checks_Suppressed): New function
- (Apply_Address_Clause_Check): New procedure, this is a completely
- rewritten replacement for Apply_Alignment_Check
- (Get_E_Length/Get_E_First_Or_Last): Add missing barrier to ensure that
- we request a discriminal value only in case of discriminants.
- (Apply_Discriminant_Check): For Ada_05, only call Get_Actual_Subtype for
- assignments where the target subtype is unconstrained and the target
- object is a parameter or dereference (other aliased cases are known
- to be unconstrained).
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
-
- * clean.adb, gnatname.adb, gnatsym.adb, prep.adb, prep.ads,
- prepcomp.adb, prj.ads, prj-strt.adb, sem_maps.ads,
- vms_conv.adb: Fix bad table increment values (much too small)
-
- * table.adb (Realloc): Make sure we get at least some new elements
- Defends against silly small values for table increment
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Bob Duff <duff@adacore.com>
-
- * einfo.ads, einfo.adb (Obsolescent_Warning): Now defined on all
- entities. Move other fields around to make this possible
- (Is_Derived_Type): Add missing call to Is_Type.
- (Extra_Formals): New function for subprograms, entries, subprogram
- types.
- (Set_Extra_Formals): New procedure for subprograms, entries, subp types.
- (First_Formal_With_Extras): New function for subprogs, entries, subp
- types.
- (Write_Field28_Name): New procedure for node display of "Extra_Formals".
- Add node information for E_Return_Statement.
- (Elaborate_Body_Desirable): New flag
- (Is_Return_By_Reference_Type): Rename Is_Return_By_Reference_Type
- to be Is_Inherently_Limited_Type, because return-by-reference has
- no meaning in Ada 2005.
- (E_Return_Statement): New entity kind.
- (Return_Applies_To): Field of E_Return_Statement.
- (Is_Return_Object): New flag in object entities.
- (Is_Dynamic_Scope): Make it True for E_Return_Statement.
- (Must_Have_Preelab_Init): New flag
- (Known_To_Have_Preelab_Init): New flag
- (Is_Formal_Object): Move from Sem_Ch8 body to Einfo
- (Is_Visible_Formal): New flag on entities in formal packages.
- (Low_Bound_Known): New flag
- (Non_Limited_View, Set_Non_Limited_View): Add membership test agains
- Incomplete_Kind.
- (Write_Field17_Name): Correct spelling of Non_Limited_View. Add name
- output when Id is an incomplete subtype.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
-
- * errout.ads, errout.adb (Finalize): Implement switch -gnatd.m
- Avoid abbreviation Creat
- (Finalize): List all sources in extended mail source if -gnatl
- switch is active.
- Suppress copyright notice to file in -gnatl=f mode if -gnatd7 set
- (Finalize): Implement new -gnatl=xxx switch to output listing to file
- (Set_Specific_Warning_On): New procedure
- (Set_Specific_Warning_Off): New procedure
- Add implementation of new insertion \\
- (Error_Msg_Internal): Add handling for Error_Msg_Line_Length
- (Unwind_Internal_Type): Improve report on anonymous access_to_subprogram
- types.
- (Error_Msg_Internal): Make sure that we set Last_Killed to
- True when a message from another package is suppressed.
- Implement insertion character ~ (insert string)
- (First_Node): Minor adjustments to get better placement.
-
- * frontend.adb:
- Implement new -gnatl=xxx switch to output listing to file
-
- * gnat1drv.adb:
- Implement new -gnatl=xxx switch to output listing to file
-
- * opt.ads: (Warn_On_Questionable_Missing_Paren): New switch
- (Commands_To_Stdout): New flag
- Implement new -gnatl=xxx switch to output listing to file
- New switch Dump_Source_Text
- (Warn_On_Deleted_Code): New warning flag for -gnatwt
- Define Error_Msg_Line_Length
- (Warn_On_Assumed_Low_Bound): New switch
-
- * osint.ads, osint.adb
- (Normalize_Directory_Name): Fix bug.
- Implement new -gnatl=xxx switch to output listing to file
- (Concat): Removed, replaced by real concatenation
- Make use of concatenation now allowed in compiler
- (Executable_Prefix.Get_Install_Dir): First get the full path, so that
- we find the 'lib' or 'bin' directory even when the tool has been
- invoked with a relative path.
- (Executable_Name): New function taking string parameters.
-
- * osint-c.ads, osint-c.adb:
- Implement new -gnatl=xxx switch to output listing to file
-
- * sinput-d.adb: Change name Creat_Debug_File to Create_Debug_File
-
- * switch-c.adb:
- Implement new -gnatl=xxx switch to output listing to file
- Recognize new -gnatL switch
- (no longer keep in old warning about old style usage)
- Use concatenation to simplify code
- Recognize -gnatjnn switch
- (Scan_Front_End_Switches): Clean up handling of -gnatW
- (Scan_Front_End_Switches): Include Warn_On_Assumed_Low_Bound for -gnatg
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
-
- * erroutc.ads, erroutc.adb (Set_Specific_Warning_On): New procedure
- (Set_Specific_Warning_Off): New procedure
- (Warning_Specifically_Suppressed): New function
- (Validate_Specific_Warnings): New procedure
- (Output_Msg_Text): Complete rewrite to support -gnatjnn
-
- * err_vars.ads: Implement insertion character ~ (insert string)
-
-2006-10-31 Bob Duff <duff@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * exp_aggr.adb (Build_Record_Aggr_Code): For extension aggregates, if
- the parent part is a build-in-place function call, generate assignments.
- (Expand_Record_Aggregate): Call Convert_To_Assignments if any components
- are build-in-place function calls.
- (Replace_Self_Reference): New subsidiary of
- Make_OK_Assignment_Statement, to replace an access attribute that is a
- self-reference into an access to the appropriate component of the
- target object. Generalizes previous mechanism to handle self-references
- nested at any level.
- (Is_Self_Referential_Init): Remove, not needed.
- (Is_Self_Referential_Init): New predicate to simplify handling of self
- referential components in record aggregates.
- (Has_Default_Init_Comps, Make_OK_Assignment_Statement): Add guard to
- check for presence of entity before checking for self-reference.
- (Has_Default_Init_Comps): Return True if a component association is a
- self-reference to the enclosing type, which can only come from a
- default initialization.
- (Make_OK_Assignment_Statement): If the expression is of the form
- Typ'Acc, where Acc is an access attribute, the expression comes from a
- default initialized self-referential component.
- (Build_Record_Aggr_Code): If the type of the aggregate is a tagged type
- that has been derived from several abstract interfaces we must also
- initialize the tags of the secondary dispatch tables.
-
-2006-10-31 Ed Schonberg <schonberg@adacore.com>
- Thomas Quinot <quinot@adacore.com>
- Javier Miranda <miranda@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * exp_attr.adb:
- (Expand_Access_To_Protected_Op): If the context indicates that an access
- to a local operation may be transfered outside of the object, create an
- access to the wrapper operation that must be used in an external call.
- (Expand_N_Attribute_Reference, case Attribute_Valid): For the AAMP
- target, pass the Valid attribute applied to a floating-point prefix on
- to the back end without expansion.
- (Storage_Size): Use the new run-time function Storage_Size to retrieve
- the allocated storage when it is specified by a per-object expression.
- (Expand_N_Attribute_Reference): Add case for Attribute_Stub_Type.
- Nothing to do here, the attribute has been rewritten during semantic
- analysis.
- (Expand_Attribute_Reference): Handle expansion of the new Priority
- attribute
- (Find_Fat_Info): Handle case of universal real
- (Expand_Access_To_Protected_Op): Fix use of access to protected
- subprogram from inside the body of a protected entry.
- (Expand_Access_To_Protected_Op): Common procedure for the expansion of
- 'Access and 'Unrestricted_Access, to transform the attribute reference
- into a fat pointer.
- (Is_Constrained_Aliased_View): New predicate to help determine whether a
- subcomponent's enclosing variable is aliased with a constrained subtype.
- (Expand_N_Attribute_Reference, case Attribute_Constrained): For Ada_05,
- test Is_Constrained_Aliased_View rather than Is_Aliased_View, because
- an aliased prefix must be known to be constrained in order to use True
- for the attribute value, and now it's possible for some aliased views
- to be unconstrained.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
-
- * exp_ch2.adb: Change Is_Lvalue to May_Be_Lvalue
- (Expand_Entity_Reference): Correct error of not handling subprogram
- formals in current_value processing.
-
-2006-10-31 Javier Miranda <miranda@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch3.ads, exp_ch3.adb (Expand_N_Object_Declaration): Do not
- register in the final list objects containing class-wide interfaces;
- otherwise we incorrectly register the tag of the interface in the final
- list.
- (Make_Controlling_Function_Wrappers): Add missing barrier to do not
- generate the wrapper if the parent primitive is abstract. This is
- required to report the correct error message.
- (Expand_N_Subtype_Indication): Do validity checks on range
- (Clean_Task_Names): If an initialization procedure includes a call to
- initialize a task (sub)component, indicate that the procedure will use
- the secondary stack.
- (Build_Init_Procedure, Init_Secondary_Tags): Enable full ABI
- compatibility for interfacing with CPP by default.
- (Expand_N_Object_Declaration): Only build an Adjust call when the
- object's type is a nonlimited controlled type.
- * exp_ch3.adb: Add with and use of Exp_Ch6.
- (Expand_N_Object_Declaration): Check for object initialization that is a
- call to build-in-place function and apply Make_Build_In_Place_Call_In_
- Object_Declaration to the call.
- (Freeze_Type): When the designated type of an RACW was not frozen at the
- point where the RACW was declared, validate the primitive operations
- with respect to E.2.2(14) when it finally is frozen.
- (Build_Initialization_Call,Expand_Record_Controller): Rename
- Is_Return_By_Reference_Type to be Is_Inherently_Limited_Type, because
- return-by-reference has no meaning in Ada 2005.
- (Init_Secondary_Tags): Add missing call to Set_Offset_To_Top
- to register tag of the immediate ancestor interfaces in the
- run-time structure.
- (Init_Secondary_Tags): Moved to the specification to allow the
- initialization of extension aggregates with abstract interfaces.
- (Build_Master_Renaming): Make public, for use by function declarations
- whose return type is an anonymous access type.
- (Freeze_Record_Type): Replace call to Insert_List_Before by call to
- Insert_List_Before_And_Analyze after the generation of the specs
- associated with null procedures.
- (Expand_Tagged_Root): Update documentation in its specification.
- (Init_Secondary_Tags): Update documentation.
- (Build_Init_Procedure): If we are compiling under CPP full ABI compa-
- tibility mode and the immediate ancestor is a CPP_Pragma tagged type
- then generate code to inherit the contents of the dispatch table
- directly from the ancestor.
- (Expand_Record_Controller): Insert controller component after tags of
- implemented interfaces.
- (Freeze_Record_Type): Call new procedure Make_Null_Procedure_Specs to
- create null procedure overridings when null procedures are inherited
- from interfaces.
- (Make_Null_Procedure_Specs): New procedure to generate null procedure
- declarations for overriding null primitives inherited from interfaces.
- (Is_Null_Interface_Procedure): New function in
- Make_Null_Procedure_Specs.
- (Make_Predefined_Primitive_Specs/Predefined_Primitive_Bodies): If the
- immediate ancestor of a tagged type is an abstract interface type we
- must generate the specification of the predefined primitives associated
- with controlled types (because the dispatch table of the ancestor is
- null and hence these entries cannot be inherited). This is required to
- elaborate well the dispatch table.
-
-2006-10-31 Javier Miranda <miranda@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Bob Duff <duff@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb (Expand_N_Type_Conversion): Handle missing interface type
- conversion.
- (Expand_N_In): Do validity checks on range
- (Expand_Selected_Component): Use updated for of Denotes_Discriminant.
- (Expand_N_Allocator): For "new T", if the object is constrained by
- discriminant defaults, allocate the right amount of memory, rather than
- the maximum for type T.
- (Expand_Allocator_Expression): Suppress the call to Remove_Side_Effects
- when the allocator is initialized by a build-in-place call, since the
- allocator is already rewritten as a reference to the function result,
- and this prevents an unwanted duplication of the function call.
- Add with and use of Exp_Ch6.
- (Expand_Allocator_Expresssion): Check for an allocator whose expression
- is a call to build-in-place function and apply
- Make_Build_In_Place_Call_In_Allocator to the call (for both tagged and
- untagged designated types).
- (Expand_N_Unchecked_Type_Conversion): Do not do integer literal
- optimization if source or target is biased.
- (Expand_N_Allocator): Add comments for case of an allocator within a
- function that returns an anonymous access type designating tasks.
- (Expand_N_Allocator): apply discriminant checks for access
- discriminants of anonymous access types (AI-402, AI-416)
-
-2006-10-31 Bob Duff <duff@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.ads (Expand_N_Extended_Return_Statement): New procedure.
-
- * exp_ch5.adb (Expand_N_Loop_Statement): Do validity checks on range
- (Expand_N_Assignment_Statement): Call
- Make_Build_In_Place_Call_In_Assignment if the right-hand side is a
- build-in-place function call. Currently, this can happen only for
- assignments that come from aggregates.
- Add -gnatd.l --Use Ada 95 semantics for limited function returns,
- in order to alleviate the upward compatibility introduced by AI-318.
- (Expand_N_Extended_Return_Statement): Add support for handling the
- return object as a build-in-place result.
- (Expand_Non_Function_Return): Implement simple return statements nested
- within an extended return.
- (Enable_New_Return_Processing): Turn on the new processing of return
- statements.
- (Expand_Non_Function_Return): For a return within an extended return,
- don't raise Program_Error, because Sem_Ch6 now gives a warning.
- (Expand_N_Extended_Return_Statement): Implement AI-318
- (Expand_Simple_Function_Return): Ditto.
- (Expand_N_If_Statement): Handle new -gnatwt warning
- (Expand_N_Case_Statement): Handle new -gnatwt warning
- (Expand_N_Assignment): Handle assignment to the Priority attribute of
- a protected object.
- (Expand_N_Assignment_Statement): Implement -gnatVe/E to control
- validity checking of assignments to elementary record components.
- (Expand_N_Return_Statement): return Class Wide types on the secondary
- stack independantly of their controlled status since with HIE runtimes,
- class wide types are not potentially controlled anymore.
-
- * expander.adb (Expand): Add case for new N_Extended_Return_Statement
- node kind.
-
- * exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Avoid
- Expand_Cleanup_Actions in case of N_Extended_Return_Statement, because
- it expects a block, procedure, or task. The return statement will get
- turned into a block, and Expand_Cleanup_Actions will happen then.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Bob Duff <duff@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch6.ads, exp_ch6.adb: Use new Validity_Check suppression
- capability.
- (Expand_Inlined_Call): Tagged types are by-reference types, and
- therefore should be replaced by a renaming declaration in the expanded
- body, as is done for limited types.
- (Expand_Call): If this is a call to a function with dispatching access
- result, propagate tag from context.
- (Freeze_Subprogram): Enable full ABI compatibility for interfacing with
- CPP by default.
- (Make_Build_In_Place_Call_In_Assignment): New procedure to do
- build-in-place when the right-hand side of an assignment is a
- build-in-place function call.
- (Make_Build_In_Place_Call_In_Allocator): Apply an unchecked conversion
- of the explicit dereference of the allocator to the result subtype of
- the build-in-place function. This is needed to satisfy type checking
- in cases where the caller's return object is created by an allocator for
- a class-wide access type and the type named in the allocator is a
- specific type.
- (Make_Build_In_Place_Call_In_Object_Declaration): Apply an unchecked
- conversion of the reference to the declared object to the result subtype
- of the build-in-place function. This is needed to satisfy type checking
- in cases where the declared object has a class-wide type. Also, in the
- class-wide case, change the type of the object entity to the specific
- result subtype of the function, to avoid passing a class-wide object
- without explicit initialization to the back end.
- (Register_Interface_DT_Entry): Moved outside the body of
- Freeze_Subprogram because this routine is now public; it is called from
- Check_Dispatching_Overriding to handle late overriding of abstract
- interface primitives.
- (Add_Access_Actual_To_Build_In_Place_Call): New utility procedure for
- adding an implicit access actual on a call to a build-in-place function.
- (Expand_Actuals): Test for an actual parameter that is a call to a
- build-in-place function and apply
- Make_Build_In_Place_Call_In_Anonymous_Context to the call.
- (Is_Build_In_Place_Function): New function to determine whether an
- entity is a function whose calls should be handled as build-in-place.
- (Is_Build_In_Place_Function_Call): New function to determine whether an
- expression is a function call that should handled as build-in-place.
- (Make_Build_In_Place_Call_In_Allocator): New procedure for handling
- calls to build-in-place functions as the initialization of an allocator.
- (Make_Build_In_Place_Call_In_Anonymous_Context): New procedure for
- handling calls to build-in-place functions in contexts that do not
- involve init of a separate object (for example, actuals of subprogram
- calls).
- (Make_Build_In_Place_Call_In_Object_Declaration): New procedure for
- handling calls to build-in-place functions as the initialization of an
- object declaration.
- (Detect_Infinite_Recursion): Add explicit parameter Process to
- instantiation of Traverse_Body to avoid unreferenced warning.
- (Check_Overriding_Inherited_Interfaces): Removed.
- (Register_Interface_DT_Entry): Code cleanup.
- (Register_Predefined_DT_Entry): Code cleanup.
- (Expand_Inlined_Call.Rewrite_Procedure_Call): Do not omit block around
- inlined statements if within a transient scope.
- (Expand_Inlined_Call.Process_Formals): When replacing occurrences of
- formal parameters with occurrences of actuals in inlined body, establish
- visibility on the proper view of the actual's subtype for the body's
- context.
- (Freeze_Subprogram): Do nothing if we are compiling under full ABI
- compatibility mode and we have an imported CPP subprogram because
- for now we assume that imported CPP primitives correspond with
- objects whose constructor is in the CPP side (and therefore we
- don't need to generate code to register them in the dispatch table).
- (Expand_Actuals): Introduce copy of actual, only if it might be a bit-
- aligned selected component.
- (Add_Call_By_Copy_Node): Add missing code to handle the case in which
- the actual of an in-mode parameter is a type conversion.
- (Expand_Actuals): If the call does not come from source and the actual
- is potentially misaligned, let gigi handle it rather than rejecting the
- (Expand_N_Subprogram_Body, Freeze_Subprogram): set subprograms returning
- Class Wide types as returning by reference independantly of their
- controlled status since with HIE runtimes class wide types are not
- potentially controlled anymore.
-
-2006-10-31 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch9.adb (Update_Prival_Types): Simplify code for entity
- references that are private components of the protected object.
- (Build_Barrier_Function): Set flag Is_Entry_Barrier_Function
- (Update_Prival_Subtypes): Add explicit Process argument to Traverse_Proc
- instantiation to deal with warnings.
- (Initialize_Protection): If expression for priority is non-static, use
- System_Priority as its expected type, in case the expression has not
- been analyzed yet.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
-
- * exp_dbug.ads, exp_dbug.adb (Get_External_Name): Add missing
- initialization of Homonym_Len.
- (Fully_Qualify_Name): Remove kludge to eliminate anonymous block
- names from fully qualified name. Fixes problem of duplicate
- external names differing only in the presence of such a block name.
-
-2006-10-31 Thomas Quinot <quinot@adacore.com>
- Pablo Oliveira <oliveira@adacore.com>
-
- * exp_dist.adb (Get_Subprogram_Ids): This function will no more assign
- subprogram Ids, even if they are not yet assigned.
- (Build_Subprogram_Id): It is now this function that will take care of
- calling Assign_Subprogram_Ids if necessary.
- (Add_Receiving_Stubs_To_Declarations): Checking the subprograms ids
- should be done only once they are assigned.
- (Build_From_Any_Function, case of tagged types): Add missing call to
- Allocate_Buffer.
- (Corresponding_Stub_Type): New subprogram. Returns the associated stub
- type for an RACW type.
- (Add_RACW_Features): When processing an RACW declaration for which the
- designated type is already frozen, enforce E.2.2(14) rules immediately.
- (GARLIC_Support.Build_Subprogram_Receiving_Stubs): Do not perform any
- special reordering of controlling formals.
-
- * exp_dist.ads (Corresponding_Stub_Type): New subprogram. Returns the
- associated stub type for an RACW type.
-
-2006-10-31 Ed Schonberg <schonberg@adacore.com>
-
- * exp_fixd.adb (Rounded_Result_Set): For multiplication and division of
- fixed-point operations in an integer context, i.e. as operands of a
- conversion to an integer type, indicate that result must be rounded.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
-
- * exp_imgv.adb (Expand_Image_Attribute): For Wide_[Wide_]Character
- cases, pass the encoding method, since it is now required by the run
- time.
-
- * s-valwch.ads, s-valwch.adb (Value_Wide_Wide_Character): Avoid
- assumption that Str'First = 1.
- (Value_Wide_Character): Takes EM (encoding method) parameter and passes
- it on to the Value_Wide_Wide_Character call.
- (Value_Wide_Wide_Character): Takes EM (encoding method) parameter and
- properly handles a string of the form quote-encoded_wide_char-quote.
-
- * s-wchcnv.adb: Minor reformatting
-
-2006-10-31 Javier Miranda <miranda@adacore.com>
-
- * exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing
- run-time membership test to ensure that the constructed object
- implements the target abstract interface.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
-
- * exp_prag.adb (Expand_Pragma_Common_Object): Use a single
- Machine_Attribute pragma internally to implement the user pragma.
- Add processing for pragma Interface so that it is now completely
- equivalent to pragma Import.
-
- * sem_prag.adb (Analyze_Pragma, case Obsolescent): Extend this pragma
- so that it can be applied to all entities, including record components
- and enumeration literals.
- (Analyze_Pragma, case Priority_Specific_Dispatching): Check whether
- priority ranges are correct, verify compatibility against task
- dispatching and locking policies, and if everything is correct an entry
- is added to the table containing priority specific dispatching entries
- for this compilation unit.
- (Delay_Config_Pragma_Analyze): Delay processing
- Priority_Specific_Dispatching pragmas because when processing the
- pragma we need to access run-time data, such as the range of
- System.Any_Priority.
- (Sig_Flags): Add Pragma_Priority_Specific_Dispatching.
- Allow pragma Unreferenced as a context item
- Add pragma Preelaborable_Initialization
- (Analyze_Pragma, case Interface): Interface is extended so that it is
- now syntactically and semantically equivalent to Import.
- (Analyze_Pragma, case Compile_Time_Warning): Fix error of blowups on
- insertion characters.
- Add handling for Pragma_Wide_Character_Encoding
- (Process_Restrictions_Restriction_Warnings): Ensure that a warning
- never supercedes a real restriction, and that a real restriction
- always supercedes a warning.
- (Analyze_Pragma, case Assert): Set Low_Bound_Known if assert is of
- appropriate form.
-
-2006-10-31 Bob Duff <duff@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * exp_ch7.adb (Build_Array_Deep_Procs, Build_Record_Deep_Procs,
- Make_Deep_Record_Body): Rename Is_Return_By_Reference_Type to be
- Is_Inherently_Limited_Type, because return-by-reference has no meaning
- in Ada 2005.
- (Find_Node_To_Be_Wrapped): Use new method of determining the result
- type of the function containing a return statement, because the
- Return_Type field was removed. We now use the Return_Applies_To field.
-
- * exp_util.ads, exp_util.adb: Use new subtype N_Membership_Test
- (Build_Task_Image_Decl): If procedure is not called from an
- initialization procedure, indicate that function that builds task name
- uses the sec. stack. Otherwise the enclosing initialization procedure
- will carry the indication.
- (Insert_Actions): Remove N_Return_Object_Declaration. We now use
- N_Object_Declaration instead.
- (Kill_Dead_Code): New interface to implement -gnatwt warning for
- conditional dead code killed, and change implementation accordingly.
- (Insert_Actions): Add N_Return_Object_Declaration case.
- Correct comment to mention N_Extension_Aggregate node.
- (Set_Current_Value_Condition): Call Safe_To_Capture_Value to avoid bad
- attempts to save information for global variables which cannot be
- safely tracked.
- (Get_Current_Value_Condition): Handle conditions the other way round
- (constant on left). Also handle right operand of AND and AND THEN
- (Set_Current_Value_Condition): Corresponding changes
- (Append_Freeze_Action): Remove unnecessary initialization of Fnode.
- (Get_Current_Value_Condition): Handle simple boolean operands
- (Get_Current_Value_Condition): Handle left operand of AND or AND THEN
- (Get_Current_Value_Condition): If the variable reference is within an
- if-statement, does not appear in the list of then_statments, and does
- not come from source, treat it as being at unknown location.
- (Get_Current_Value_Condition): Enhance to allow while statements to be
- processed as well as if statements.
- (New_Class_Wide_Subtype): The entity for a class-wide subtype does not
- come from source.
- (OK_To_Do_Constant_Replacement): Allow constant replacement within body
- of loop. This is safe now that we fixed Kill_Current_Values.
- (OK_To_Do_Constant_Replacement): Check whether current scope is
- Standard, before examining outer scopes.
-
-2006-10-31 Vincent Celier <celier@adacore.com>
-
- * krunch.ads, krunch.adb (Krunch): New Boolean parameter VMS_On_Target.
- When True, apply VMS treatment to children of packages A, G, I and S.
- For F320-016
-
- * fname-uf.adb (Get_File_Name): Call Krunch with OpenVMS_On_Target
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * freeze.adb: Add handling of Last_Assignment field
- (Warn_Overlay): Supply missing continuation marks in error msgs
- (Freeze_Entity): Add check for Preelaborable_Initialization
-
- * g-comlin.adb: Add Warnings (Off) to prevent new warning
-
- * g-expect.adb: Add Warnings (Off) to prevent new warning
-
- * lib-xref.adb: Add handling of Last_Assignment field
- (Generate_Reference): Centralize handling of pragma Obsolescent here
- (Generate_Reference): Accept an implicit reference generated for a
- default in an instance.
- (Generate_Reference): Accept a reference for a node that is not in the
- main unit, if it is the generic body corresponding to an subprogram
- instantiation.
-
- * xref_lib.adb: Add pragma Warnings (Off) to avoid new warnings
-
- * sem_warn.ads, sem_warn.adb (Set_Warning_Switch): Add processing for
- -gnatwq/Q.
- (Warn_On_Useless_Assignment): Suppress warning if enclosing inner
- exception handler.
- (Output_Obsolescent_Entity_Warnings): Rewrite to avoid any messages on
- use clauses, to avoid messages on packages used to qualify, and also
- to avoid messages from obsolescent units.
- (Warn_On_Useless_Assignments): Don't generate messages for imported
- and exported variables.
- (Warn_On_Useless_Assignments): New procedure
- (Output_Obsolescent_Entity_Warnings): New procedure
- (Check_Code_Statement): New procedure
-
- * einfo.ads, einfo.adb (Has_Static_Discriminants): New flag
- Change name Is_Ada_2005 to Is_Ada_2005_Only
- (Last_Assignment): New field for useless assignment warning
-
-2006-10-31 Olivier Hainque <hainque@adacore.com>
-
- * g-alleve.adb (lvx, stvx): Ceil-Round the Effective Address to the
- closest multiple of VECTOR_ALIGNMENT and not the closest multiple of 16.
-
-2006-10-31 Bob Duff <duff@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * g-awk.adb (Default_Session, Current_Session): Compile this file in
- Ada 95 mode, because it violates the new rules for AI-318.
-
- * g-awk.ads: Use overloaded subprograms in every case where we used to
- have a default of Current_Session. This makes the code closer to be
- correct for both Ada 95 and 2005.
-
- * g-moreex.adb (Occurrence): Turn off warnings for illegal-in-Ada-2005
- code, relying on the fact that the compiler generates a warning
- instead of an error in -gnatg mode.
-
- * lib-xref.ads (Xref_Entity_Letters): Add entry for new
- E_Return_Statement entity kind.
- Add an entry for E_Incomplete_Subtype in Xref_Entity_Letters.
-
- * par.adb (P_Interface_Type_Definition): Addition of one formal to
- report an error if the reserved word abstract has been previously found.
- (SS_End_Type): Add E_Return for new extended_return_statement syntax.
-
- * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve message for
- parenthesized range attribute usage
- (P_Expression_No_Right_Paren): Add missing comment about error recovery.
-
- * par-ch6.adb (P_Return_Object_Declaration): AI-318: Allow "constant"
- in the syntax for extended_return_statement. This is not in the latest
- RM, but the ARG is expected to issue an AI allowing this.
- (P_Return_Subtype_Indication,P_Return_Subtype_Indication): Remove
- N_Return_Object_Declaration. We now use N_Object_Declaration instead.
- (P_Return_Object_Declaration, P_Return_Subtype_Indication,
- P_Return_Statement): Parse the new syntax for extended_return_statement.
-
- * par-endh.adb (Check_End, Output_End_Deleted, Output_End_Expected,
- Output_End_Missing): Add error-recovery code for the new
- extended_return_statement syntax; that is, the new E_Return entry on
- the scope stack.
-
- * s-auxdec-vms_64.ads, s-auxdec.ads (AST_Handler): Change type from
- limited to nonlimited, because otherwise we violate the new Ada 2005
- rules about returning limited types in function Create_AST_Handler in
- s-asthan.adb.
-
- * sem.adb (Analyze): Add cases for new node kinds
- N_Extended_Return_Statement and N_Return_Object_Declaration.
-
- * sem_aggr.adb (Aggregate_Constraint_Checks): Verify that component
- type is in the same category as type of context before applying check,
- to prevent anomalies in instantiations.
- (Resolve_Aggregate): Remove test for limited components in aggregates.
- It's unnecessary in Ada 95, because if it has limited components, then
- it must be limited. It's wrong in Ada 2005, because limited aggregates
- are now allowed.
- (Resolve_Record_Aggregate): Move check for limited types later, because
- OK_For_Limited_Init requires its argument to have been resolved.
- (Get_Value): When copying the component default expression for a
- defaulted association in an aggregate, use the sloc of the aggregate
- and not that of the original expression, to prevent spurious
- elaboration errors, when the expression includes function calls.
- (Check_Non_Limited_Type): Correct code for AI-287, extension aggregates
- were missing. We also didn't handle qualified expressions. Now also
- allow function calls. Use new common routine OK_For_Limited_Init.
- (Resolve_Extension_Aggregate): Minor fix to bad error message (started
- with space can upper case letter).
-
- * sem_ch3.ads, sem_ch3.adb (Create_Constrained_Components): Set
- Has_Static_Discriminants flag
- (Record_Type_Declaration): Diagnose an attempt to declare an interface
- type with discriminants.
- (Process_Range_Expr_In_Decl): Do validity checks on range
- (Build_Discriminant_Constraints): Use updated form of
- Denotes_Discriminant.
- (Process_Subtype): If the subtype is a private subtype whose full view
- is a concurrent subtype, introduce an itype reference to prevent scope
- anomalies in gigi.
- (Build_Derived_Record_Type, Collect_Interface_Primitives,
- Record_Type_Declaration): The functionality of the subprograms
- Collect_Abstract_Interfaces and Collect_All_Abstract_Interfaces
- is now performed by a single routine.
- (Build_Derived_Record_Type): If the type definition includes an explicit
- indication of limitedness, then the type must be marked as limited here
- to ensure that any access discriminants will not be treated as having
- a local anonymous access type.
- (Check_Abstract_Overriding): Issue a detailed error message when an
- abstract subprogram was not overridden due to incorrect mode of its
- first parameter.
- (Analyze_Private_Extension_Declaration): Add support for the analysis of
- synchronized private extension declarations. Verify that the ancestor is
- a limited or synchronized interface or in the generic case, the ancestor
- is a tagged limited type or synchronized interface and all progenitors
- are either limited or synchronized interfaces.
- Derived_Type_Declaration): Check for presence of private extension when
- dealing with synchronized formal derived types.
- Process_Full_View): Enchance the check done on the usage of "limited" by
- testing whether the private view is synchronized.
- Verify that a synchronized private view is completed by a protected or
- task type.
- (OK_For_Limited_Init_In_05): New function.
- (Analyze_Object_Declaration): Move check for limited types later,
- because OK_For_Limited_Init requires its argument to have been resolved.
- Add -gnatd.l --Use Ada 95 semantics for limited function returns,
- in order to alleviate the upward compatibility introduced by AI-318.
- (Constrain_Corresponding_Record): If the constraint is for a component
- subtype, mark the itype as frozen, to avoid out-of-scope references to
- discriminants in the back-end.
- (Collect_Implemented_Interfaces): Protect the recursive algorithm of
- this subprogram against wrong sources.
- (Get_Discr_Value, Is_Discriminant): Handle properly references to a
- discriminant of limited type completed with a protected type, when the
- discriminant is used to constrain a private component of the type, and
- expansion is disabled.
- (Find_Type_Of_Object): Do not treat a return subtype that is an
- anonymous subtype as a local_anonymous_type, because its accessibility
- level is the return type of the enclosing function.
- (Check_Initialization): In -gnatg mode, turn the error "cannot
- initialize entities of limited type" into a warning.
- (OK_For_Limited_Init): Return true for generated nodes, since it
- sometimes violates the legality rules.
- (Make_Incomplete_Declaration): If the type for which an incomplete
- declaration is created happens to be the currently visible entity,
- preserve the homonym chain when removing it from visibility.
- (Check_Conventions): Add support for Ada 2005 (AI-430): Conventions of
- inherited subprograms.
- (Access_Definition): If this is an access to function that is the return
- type of an access_to_function definition, context is a type declaration
- and the scope of the anonymous type is the current one.
- (Analyze_Subtype_Declaration): Add the defining identifier of a regular
- incomplete subtype to the set of private dependents of the original
- incomplete type.
- (Constrain_Discriminated_Type): Emit an error message whenever an
- incomplete subtype is being constrained.
- (Process_Incomplete_Dependents): Transform an incomplete subtype into a
- corresponding subtype of the full view of the original incomplete type.
- (Check_Incomplete): Properly detect invalid usage of incomplete types
- and subtypes.
-
-2006-10-31 Hristian Kirtchev <kirtchev@adacore.com>
-
- * g-catiio.ads, g-catiio.adb (Value): New function.
- Given an input String, try and parse a valid Time value.
-
-2006-10-31 Vincent Celier <celier@adacore.com>
-
- * g-debpoo.adb (Is_Valid): Correctly compute Offset using
- Integer_Address arithmetic, as in Set_Valid.
-
-2006-10-31 Arnaud Charlet <charlet@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * gnatcmd.adb (Process_Link): Use Osint.Executable_Name instead of
- handling executable extension manually and duplicating code.
-
- * make.adb: Implement new -S switch
- (Gnatmake): Use new function Osint.Executable_Name instead
- of handling executable extension manually.
-
- * prj-util.adb (Executable_Of): Make sure that if an Executable_Suffix
- is specified, the executable name ends with this suffix.
- Take advantage of Osint.Executable_Name instead of duplicating code.
-
- * switch-m.adb: Recognize new gnatmake -S switch
-
- * targparm.ads, targparm.adb (Executable_Extension_On_Target): New
- variable.
- (Get_Target_Parameters): Set Executable_Extension_On_Target if
- available.
-
- * makeusg.adb: Add line for gnatmake -S switch
-
-2006-10-31 Vincent Celier <celier@adacore.com>
-
- * gnatlink.adb (Gnatlink): If gcc is not called with -shared-libgcc,
- call it with -static-libgcc, as there are some platforms, such as
- Darwin, where one of these two switches is compulsory to link.
-
-2006-10-31 Vincent Celier <celier@adacore.com>
-
- * gnatls.adb: Take into account GPR_PROJECT_PATH, when it is defined,
- instead of ADA_PROJECT_PATH, for the project path.
- (Gnatls): When displaying the project path directories, use host dir
- specs.
-
- * prj-ext.adb (Prj.Ext elaboration): On VMS, only expand relative path
- names in the project path, as absolute paths may correspond to
- multi-valued VMS logical names.
-
-2006-10-31 Vincent Celier <celier@adacore.com>
-
- * g-os_lib.ads, g-os_lib.adb (Locate_Exec_On_Path): Always return an
- absolute path name.
- (Locate_Regular_File): Ditto
- (Change_Dir): Remove, no longer used
- (Normalize_Pathname): Do not use Change_Dir to get the drive letter
- on Windows. Get it calling Get_Current_Dir.
- (OpenVMS): Remove imported boolean, no longer needed.
- (Normalize_Pathname)[VMS]: Do not resolve directory names.
- (Pid_To_Integer): New function to convert a Process_Id to Integer
-
-2006-10-31 Thomas Quinot <quinot@adacore.com>
-
- * g-socket.ads, g-socket.adb (Close_Selector): Once the signalling
- sockets are closed, reset the R_Sig_Socket and W_Sig_Socket components
- to No_Socket.
- (Selector_Type): Add default value of No_Socket for R_Sig_Socket and
- W_Sig_Socket.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
-
- * g-speche.ads, g-speche.adb: Add special case to recognize misspelling
- initial letter o as a zero.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
-
- * g-spipat.adb (S_To_PE): Remove incorrect use of 0 instead of Str'First
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
-
- * layout.adb (Layout_Record_Type): Deal with non-static subtypes of
- variant records
- (Layout_Variant_Record): Retrieve the discriminants from the entity
- rather than from the type definition, because in the case of a full
- type for a private type we need to take the discriminants from the
- partial view.
- (Layout_Component_List): When applying the Max operator to variants with
- a nonstatic size, check whether either operand is static and scale that
- operand from bits to storage units before applying Max.
- (Layout_Type): In VMS, if a C-convention access type has no explicit
- size clause (and does not inherit one in the case of a derived type),
- then the size is reset to 32 from 64.
-
-2006-10-31 Vincent Celier <celier@adacore.com>
-
- * lib-load.adb (Load_Unit): Skip the test for a unit not found when
- its file has already been loaded, according to the unit being loaded,
- not to the current value of Multiple_Unit_Index.
-
-2006-10-31 Thomas Quinot <quinot@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
- Arnaud Charlet <charlet@adacore.com>
-
- * Makefile.in: Set EH mechanism to ZCX for FreeBSD.
- (NO_REORDER_ADAFLAGS): New var defined to -fno-toplevel-reorder if
- possible.
- (a-except.o): Pass it to the compiler.
- (gnatlib-shared-vms): Removed -nostartfiles switch in link step.
- (LIBGNAT_TARGET_PAIRS for Windows): Avoid the use of the specific
- a-calend-mingw.adb version.
-
- * Makefile.rtl: Added s-dsaser.
- Add object entries for Ada.Calendar.[Arithmetic/Formatting/Time_Zones]
- (GNATRTL_TASKING_OBJS): Add Ada.Dispatching and
- Ada.Dispatching.Round_Robin.
- Added new unit Ada.Containers.Restricted_Bounded_Doubly_Linked_Lists
-
- * Make-lang.in: Remove all references to gt-ada-decl.h.
- Add concatenation (s-strops/s-sopco3/s-sopco4/s-sopco5) to compiler
- sources.
- Add dependency on ada/s-restri.o for GNAT1 and GNATBIND objects.
- Update dependencies.
-
- * system-freebsd-x86.ads: Make ZCX the default EH mechanism for FreeBSD
-
-2006-10-31 Vincent Celier <celier@adacore.com>
-
- * mlib-utl.adb (Initialized): Remove, no longer used
- (Initialize): Remove, no longer used
- (Ar): If Ar_Exec is null, get the location of the archive builder and,
- if there is one, the archive indexer. Fail if the archive builder cannot
- be found.
- (Gcc): If the driver path is unknown, get it. Fail if the driver cannot
- be found.
-
-2006-10-31 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch10.ads, sem_ch10.adb (Check_Redundant_Withs,
- Process_Body_Clauses): If the context of a body includes a use clause
- for P.Q then a with_clause for P in the same body is not redundant,
- even if the spec also has a with_clause on P.
- Add missing continuation mark to error msg
- (Build_Limited_Views): A limited view of a type is tagged if its
- declaration includes a record extension.
- (Analyze_Proper_Body): Set Corresponding_Stub field in N_Subunit
- node, even if the subunit has errors. This avoids malfunction by
- Lib.Check_Same_Extended_Unit in the presence of syntax errors.
- (Analyze_Compilation_Unit): Add circuit to make sure we get proper
- generation of obsolescent messages for with statements (cannot do
- this too early, or we cannot implement avoiding the messages in the
- case of obsolescent units withing obsolescent units).
- (Install_Siblings): If the with_clause is on a remote descendant of
- an ancestor of the current compilation unit, find whether there is
- a sibling child unit that is immediately visible.
- (Remove_Private_With_Clauses): New procedure, invoked after completing
- the analysis of the private part of a nested package, to remove from
- visibility the private with_clauses of the enclosing package
- declaration.
- (Analyze_With_Clause): Remove Check_Obsolescent call, this checking is
- now centralized in Generate_Reference.
- (Install_Limited_Context_Clauses): Remove superfluous error
- message associated with unlimited view visible through use
- and renamings. In addition, at the point in which the error
- is reported, we add the backslash to the text of the error
- to ensure that it is reported as a single error message.
- Use new // insertion for some continuation messages
- (Expand_Limited_With_Clause): Use copy of name rather than name itself,
- to create implicit with_clause for parent unit mentioned in original
- limited_with_clause.
- (Install_Limited_With_Unit): Set entity of parent identifiers if the
- unit is a child unit. For ASIS queries.
- (Analyze_Subunit): If the subunit appears within a child unit, make all
- ancestor child units directly visible again.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
-
- * par-ch10.adb (P_Context_Clause): Minor error message fix
-
-2006-10-31 Hristian Kirtchev <kirtchev@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * par-ch12.adb: Grammar update and cleanup.
- (P_Formal_Type_Definition, P_Formal_Derived_Type_Definition): Add
- support for synchronized derived type definitions.
- Add the new actual Abstract_Present to every call to
- P_Interface_Type_Definition.
- (P_Formal_Object_Declarations): Update grammar rules. Handle parsing of
- a formal object declaration with an access definition or a subtype mark
- with a null exclusion.
- (P_Generic_Association): Handle association with box, and others_choice
- with box, to support Ada 2005 partially parametrized formal packages.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * par-ch3.adb (P_Range_Or_Subtype_Mark): Check for bad parentheses
- (P_Type_Declaration): Remove barrier against the reserved word "limited"
- after "abstract" to give support to the new syntax of AARM 3.4 (2/2).
- (P_Type_Declaration): Minor code cleanup. Add support for synchronized
- private extensions.
- (P_Type_Declaration): Add the new actual Abstract_Present to every call
- to P_Interface_Type_Definition.
- (P_Interface_Type_Definition): Addition of one formal to report an error
- if the reserved word abstract has been previously found.
- (P_Identifier_Declarations): Update grammar rules. Handle parsing of an
- object renaming declaration with an access definition or subtype mark
- with a possible null exclusion.
-
- * par-ch9.adb: Minor error msg fix
-
- * par-load.adb: Add missing continuation mark to error msg
-
- * par-tchk.adb: (Wrong_Token): Code cleanup, use concatenation
-
-2006-10-31 Vincent Celier <celier@adacore.com>
-
- * prj-dect.adb (Parse_Attribute_Declaration): Do not issue warning for
- unknown attribute in unknown package or in package that does not need
- to be checked.
- (Parse_Package_Declaration): Do not issue warning for unknown package in
- quiet output.
-
-2006-10-31 Vincent Celier <celier@adacore.com>
-
- * prj-makr.adb (Packages_To_Check_By_Gnatname): New global constant
- (Make): Call Parse with Packages_To_Check_By_Gnatname for parameter
- Packages_To_Check.
-
-2006-10-31 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb (Check_Ada_Name): For children of package A, G, I and S
- on VMS, change "__" to '.' before checking the name.
- (Record_Ada_Source): Always add the source file name in the list of
- of sources, even if it is not the first time, as it is for another
- source index.
- (Get_Unit): Replace both '_' (after 'a', 'g', 'i' or 's') with a single
- dot, instead of replacing only the first '_'.
-
- * prj-part.adb (Parse): Convert project file path to canonical form
-
- * prj-proc.adb (Recursive_Process): Make sure that, when a project is
- extended, the project id of the project extending it is recorded in its
- data, even when it has already been processed as an imported project.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
-
- * repinfo.adb (List_Entities): Don't list entities from renaming
- declarations.
-
-2006-10-31 Arnaud Charlet <charlet@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * restrict.ads, restrict.adb (Restriction_Active): Now returns False if
- only a restriction warning is active for the given restriction. This is
- desirable because we do not want to modify code in the case where only
- a warning is set.
- (Set_Profile_Restrictions): Make sure that a Profile_Warnings never
- causes overriding of real restrictions.
- Take advantage of new No_Restrictions constant.
-
- * raise.h: (__gnat_set_globals): Change profile.
-
-2006-10-31 Arnaud Charlet <charlet@adacore.com>
-
- * rtsfind.adb: Remove s-polint from comment as it exists no more.
-
- * rtsfind.ads:
- Move entity RE_Get_Active_Partition_Id to package System.DSA_Services.
- Move all the entities in obsolete package System.PolyORB_Interface to
- System.Partition_Interface.
- (RE_Storage_Size): New function in System.Tasking.
- (RE_Get_Ceiling): New entity.
- (RE_Set_Ceiling): New entity.
- (RO_PE_Get_Ceiling): New entity.
- (RO_RE_Set_Ceiling): New entity.
- (Inherit_CPP_DT): New entity
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
-
- * scng.adb (Scan, case of numeric literal): Better msg for identifier
- starting with a digit.
-
-2006-10-31 Ed Schonberg <schonberg@adacore.com>
- Thomas Quinot <quinot@adacore.com>
- Javier Miranda <miranda@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * sem_attr.ads, sem_attr.adb (Analyze_Access_Attribute): Diagnose
- properly an attempt to apply Unchecked_Access to a protected operation.
- (OK_Self_Reference): New subprogram to check the legality of an access
- attribute whose prefix is the type of an enclosing aggregate.
- Generalizes previous mechanism to handle attribute references nested
- arbitrarily deep within the aggregate.
- (Analyze_Access_Attribute): An access attribute whose prefix is a type
- can appear in an aggregate if this is a default-initialized aggregate
- for a self-referential type.
- (Resolve_Attribute, case Access): Ditto.
- Add support for new implementation defined attribute Stub_Type.
- (Eval_Attribute, case Attribute_Stub_Type): New case.
- (Analyze_Attribute, case Attribute_Stub_Type): New case.
- (Stream_Attribute_Available): Implement using new subprogram from
- sem_cat, Has_Stream_Attribute_Definition, instead of incorrect
- Has_Specified_Stream_Attribute flag.
- Disallow Storage_Size and Storage_Pool for access to subprogram
- (Resolve_Attribute, case 'Access et al): Take into account anonymous
- access types of return subtypes in extended return statements. Remove
- accessibility checks on anonymous access types when Unchecked_Access is
- used.
- (Analyze_Attribute): Add support for the use of 'Class to convert
- a class-wide interface to a tagged type.
- Add support for the attribute Priority.
- (Resolve_Attribute, case Attribute_Access): For Ada_05, add test for
- whether the designated type is discriminated with a constrained partial
- view and require static matching in that case.
- Add local variable Des_Btyp. The Designated_Type
- of an access to incomplete subtype is either its non-limited view if
- coming from a limited with or its etype if regular incomplete subtype.
-
- * sem_cat.ads, sem_cat.adb (Validate_Remote_Access_To_Class_Wide_Type):
- Fix predicate to identify and allow cases of (expander-generated)
- references to tag of designated object of a RACW.
- (Validate_Static_Object_Name): In Ada 2005, a formal object is
- non-static, and therefore cannot appear as a primary in a preelaborable
- package.
- (Has_Stream_Attribute_Definition): New subprogram, abstracted from
- Has_Read_Write_Attributes.
- (Has_Read_Write_Attributes): Reimplement in termes of
- Has_Stream_Attribute_Definition.
- (Missing_Read_Write_Attributes): When checking component types in a
- record, unconditionally call Missing_Read_Write_Attributes recursively
- (remove guard checking for Is_Record_Type / Is_Access_Type).
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
-
- * sem_ch11.adb (Analyze_Handled_Statements): Move final test for
- useless assignments here and conditionalize it on absence of exception
- handlers.
- (Analyze_Exception_Handlers): Small code reorganization of error
- detection code, for new handling of formal packages.
-
-2006-10-31 Ed Schonberg <schonberg@adacore.com>
- Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch12.ads, sem_ch12.adb (Save_References): If node is an operator
- that has been constant-folded, preserve information of original tree,
- for ASIS uses.
- (Analyze_Formal_Derived_Type): Set the limited present flag of the newly
- generated private extension declaration if the formal derived type is
- synchronized. Carry synchronized present over to the generated private
- extension.
- (Validate_Derived_Type_Instance): Ensure that the actual of a
- synchronized formal derived type is a synchronized tagged type.
- (Instantiate_Formal_Package): When creating the instantiation used to
- validate the actual package of a formal declared without a box, check
- whether the formal itself depends on a prior actual.
- (Instantiate_Formal_Subprogram): Create new entities for the defining
- identifiers of the formals in the renaming declaration, for ASIS use.
- (Instantiate_Formal_Subprogram, Instantiate_Formal_Type): When creating
- a renaming declaration or a subtype declaration for an actual in an
- instance, capture location information of declaration in generic, for
- ASIS use.
- (Instantiate_Formal_Package): Add comments on needed additional tests.
- AI-317 (partial parametrization) is fully implemented.
- (Validate_Private_Type_Instance): Add check for actual which
- must have preelaborable initialization
- Use new // insertion for some continuation messages
- (Analyze_Formal_Object_Declaration): Change usage of Expression to
- Default_Expression. Add type retrieval when the declaration has an
- access definition. Update premature usage of incomplete type check.
- (Check_Access_Definition): New subsidiary routine. Check whether the
- current compilation version is Ada 05 and the supplied node has an
- access definition.
- (Instantiate object): Alphabetize local variables. Handle the creation
- of new renaming declarations with respect to the kind of definition
- used - either an access definition or a subtype mark. Guard against
- unnecessary error message in the context of anonymous access types after
- they have been resolved. Add check for required null exclusion in a
- formal object declaration.
- (Switch_View): A private subtype of a non-private type needs to be
- switched (the base type can have been switched without its private
- dependents because of the last branch of Check_Private_View.
- (Check_Private_View): Do not recompute Base_Type (T), instead use cached
- value from BT.
- (Instantiate_Type): Emit an error message whenever a class-wide type of
- a tagged incomplete type is used as a generic actual.
- (Find_Actual_Type): Extend routine to handle a component type in a child
- unit that is imported from a formal package in a parent.
- (Validate_Derived_Type_Instance): Check that analyzed formal and actual
- agree on constrainedness, rather than checking against ultimate ancestor
- (Instantiate_Subprogram_Body): Create a cross-reference link to the
- generic body, for navigation purposes.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
- Thomas Quinot <quinot@adacore.com>
-
- * sem_ch13.adb: Storage pool cannot be given for access to subprogram
- type.
- (New_Stream_Subprogram): When processing an attribute definition clause
- for a stream-oriented subprogram, record an entity node occurring at
- the point of clause to use for checking the visibility of the clause,
- as defined by 8.3(23) as amended by AI-195.
- (New_Stream_Subprogram): New procedure, factoring behaviour from both
- New_Stream_Function and New_Stream_Procedure.
- (New_Stream_Function, New_Stream_Procedure): Removed.
- (Analyze_Attribute_Definition_Clause, case Address): Check new
- Alignment_Check check
-
-2006-10-31 Ed Schonberg <schonberg@adacore.com>
- Javier Miranda <miranda@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * sem_ch4.adb (Try_Primitive_Operation): Code cleanup to ensure that we
- generate the same errors compiling under -gnatc.
- (Try_Object_Operation): If no candidate interpretation succeeds, but
- there is at least one primitive operation with the right name, report
- error in call rather than on a malformed selected component.
- (Analyze_Selected_Component): If the prefix is an incomplete type from
- a limited view, and the full view is available, use the full view to
- determine whether this is a prefixed call to a primitive operation.
- (Operator_Check): Verify that a candidate interpretation is a binary
- operation before checking the type of its second formal.
- (Analyze_Call): Add additional warnings for function call contexts not
- yet supported.
- (Analyze_Allocator): Move the check for "initialization not allowed for
- limited types" after analyzing the expression. This is necessary,
- because OK_For_Limited_Init looks at the structure of the expression.
- Before analysis, we don't necessarily know what sort of expression it
- is. For example, we don't know whether F(X) is a function call or an
- indexed component; the former is legal in Ada 2005; the latter is not.
- (Analyze_Allocator): Correct code for AI-287 -- extension aggregates
- were missing. We also didn't handle qualified expressions. Now also
- allow function calls. Use new common routine OK_For_Limited_Init.
- (Analyze_Type_Conversion): Do not perform some legality checks in an
- instance, because the error message will be redundant or spurious.
- (Analyze_Overloaded_Selected_Component): Do not do style check when
- setting an entity, since we do not know it is the right entity yet.
- (Analyze_Selected_Component): Move Generate_Reference call to Sem_Res
- (Analyze_Overloaded_Selected_Component): Same change
- (Analyze_Selected_Component): Remove unnecessary prefix type retrieval
- since regular incomplete subtypes are transformed into corresponding
- subtypes of their full views.
- (Complete_Object_Operation): Treat name of transformed subprogram call
- as coming from source, for browsing purposes.
- (Try_Primitive_Operation): If formal is an access parameter, compare
- with base type of object to determine whether it is a primitive
- operation.
- (Operator_Check): If no interpretation of the operator matches, check
- whether a use clause on any candidate might make the operation legal.
- (Try_Class_Wide_Operation): Check whether the first parameter is an
- access type whose designated type is class-wide.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch5.ads, sem_ch5.adb (Analyze_Loop_Statement): Add circuit to
- warn on infinite loops.
- Add \\ to some continuation messages
- (Analyze_Assignment_Statement): Call Warn_On_Useless_Assignment
- (Process_Bounds): If the bounds are integer literals that result from
- constant-folding, and they carry a user-defined type, preserve that type
- rather than treating this as an integer range.
- (Analyze_Exit_Statement): Test for E_Return_Statement in legality check.
- (Analyze_Goto_Statement): Test for E_Return_Stateemnt in legality check.
- (Analyze_Assignment_Statement): Add call to Check_Elab_Assign for
- left hand side of assignment.
- (Analyze_Assignment): Add suport to manage assigments to the attribute
- priority of a protected object.
- (Check_Possible_Current_Value_Condition): Allow fully qualified names
- not just identifiers.
- (Check_Possible_Current_Value_Condition): Acquire left operand of AND
- or AND THEN for possible tracking.
- (Analyze_Iteration_Scheme): Check for setting Current_Value for the
- case of while loops so we can track values in the loop body.
-
-2006-10-31 Ed Schonberg <schonberg@adacore.com>
- Hristian Kirtchev <kirtchev@adacore.com>
- Bob Duff <duff@adacore.com>
-
- * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Declaration): A null
- procedure cannot be a protected operation (it is a basic_declaration,
- not a subprogram_declaration).
- (Check_Overriding_Indicator): Rename formal Does_Override to Overridden_
- Subp. Add logic for entry processing.
- (Check_Synchronized_Overriding): New procedure in New_Overloaded_Entity.
- Determine whether an entry or subprogram of a protected or task type
- override an inherited primitive of an implemented interface.
- (New_Overloaded_Entity): Add calls to Check_Synchronized_Overriding.
- Update the actual used in calls to Check_Overriding_Indicator.
- (Analyze_Generic_Subprogram_Body): If the subprogram is a child unit,
- generate the proper reference to the parent unit, for cross-reference.
- (Analyze_Subprogram_Declaration): Protect Is_Controlling_Formal with
- Is_Formal.
- Add -gnatd.l --Use Ada 95 semantics for limited function returns,
- (Add_Extra_Formal): Revise procedure to allow passing in associated
- entity, scope, and name suffix, and handle setting of the new
- Extra_Formals field.
- (Create_Extra_Formals): Change existing calls to Add_Extra_Formal to
- pass new parameters. Add support for adding the new extra access formal
- for functions whose calls are treated as build-in-place.
- (Analyze_A_Return_Statement): Correct casing in error message.
- Move Pop_Scope to after Analyze_Function_Return, because an extended
- return statement really is a full-fledged scope. Otherwise, visibility
- doesn't work right. Correct use of "\" for continuation messages.
- (Analyze_Function_Return): Call Analyze on the Obj_Decl, rather than
- evilly trying to call Analyze_Object_Declaration directly. Otherwise,
- the node doesn't get properly marked as analyzed.
- (Analyze_Subprogram_Body): If subprogram is a function that returns
- an anonymous access type that denotes a task, build a Master Entity
- for it.
- (Analyze_Return_Type): Add call to Null_Exclusion_Static_Checks. Verify
- proper usage of null exclusion in a result definition.
- (Process_Formals): Code cleanup and new error message.
- (Process_Formals): Detect incorrect application of null exclusion to
- non-access types.
- (Conforming_Types): Handle conformance between [sub]types and itypes
- generated for entities that have null exclusions applied to them.
- (Maybe_Primitive_Operation): Add an additional type retrieval when the
- base type is an access subtype. This case arrises with null exclusions.
- (New_Overloaded_Entity): Do not remove the overriden entity from the
- homonym chain if it corresponds with an abstract interface primitive.
- (Process_Formals): Replace membership test agains Incomplete_Kind with a
- call to the synthesized predicate Is_Incomplete_Type.
- (Analyze_Subprogram_Body): Check wrong placement of abstract interface
- primitives.
- (Analyze_Subprogram_Declaration): Check that abstract interface
- primitives are abstract or null.
- (Analyze_Subprogram_Specification): Remove previous check for abstract
- interfaces because it was not complete.
- (Has_Interface_Formals): Removed.
-
-2006-10-31 Ed Schonberg <schonberg@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * sem_ch7.adb (Check_Anonymous_Access_Types): New procedure, subsidiary
- of Analyze_Package_Body, to create Itype references for anonymous
- access types created in the package declaration, whose designated types
- may have only a limited view.
- (Analyze_Package_Specification): For the private part of a nested
- package, install private_with_clauses of enclosing compilation unit if
- we are in its visible part.
- (Declare_Inherited_Private_Subprograms): Complete barrier
- to ensure that the primitive operation has an alias to some parent
- primitive. This is now required because, after the changes done for the
- implementation of abstract interfaces, the contents of the list of
- primitives has entities whose alias attribute references entities of
- such list of primitives.
- (Analyze_Package_Specification): Simplify code that handles parent units
- of instances and formal packages.
- (Uninstall_Declarations): Check the convention consistency among
- primitive overriding operations of a tagged record type.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
- Hristian Kirtchev <kirtchev@adacore.com>
- Javier Miranda <miranda@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb: Minor error msg rewording
- (Undefined): When checking for misspellings, invert arguments (to get
- expected and found set right)
- (Analyze_Subprogram_Renaming): Propagate Is_Pure, Is_Preelaborated
- (Analyze_Generic_Renaming): Same fix
- (Use_One_Package): Do not take into account the internal entities of
- abstract interfaces during the analysis of entities that are marked
- as potentially use-visible.
- (Find_Type): Handle the case of an attribute reference for
- implementation defined attribute Stub_Type (simply let the analysis of
- the attribute reference rewrite it).
- (Use_One_Type, End_Use_Type): Reject a reference to a limited view of a
- type that appears in a Use_Type clause.
- (Analyze_Object_Renaming): Add support for renaming of the Priority
- attribute.
- (Find_Type): In Ada 2005, a task type can be used within its own body,
- when it appears in an access definition.
- (Analyze_Object_Renaming): Remove warning on null_exclusion.
- (Analyze_Object_Renaming): Introduce checks for required null exclusion
- in a formal object declaration or in a subtype declaration.
- (Analyze_Subprogram_Renaming): Add call to Check_Null_Exclusion.
- (Check_Null_Exclusion): New local routine to
- Analyze_Subprogram_Renaming. Check whether the formals and return
- profile of a renamed subprogram have required null exclusions when
- their counterparts of the renaming already impose them.
- (In_Generic_Scope): New local routine to Analyze_Object_Renaming.
- Determine whether an entity is inside a generic scope.
- (In_Open_Scope): First pass of documentation update.
- (Find_Expanded_Name): Add support for shadow entities associated with
- limited withed packages. This is required to handle nested packages.
- (Analyze_Package_Renaming): Remove the restriction imposed by AI-217
- that makes a renaming of a limited withed package illegal.
-
-2006-10-31 Hristian Kirtchev <kirtchev@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch9.adb (Analyze_Protected_Definition): Remove call to
- Check_Overriding_Indicator.
- (Analyze_Task_Definition): Ditto.
- (Analyze_Protected_Type, Analyze_Task_Type): Code cleanup.
- (Check_Overriding_Indicator): To find overridden interface operation,
- examine only homonyms that have an explicit subprogram declaration, not
- inherited operations created by an unrelated type derivation.
- (Check_Overriding_Indicator): When checking for the presence of "null"
- in a procedure, ensure that the queried node is a procedure
- specification.
- (Matches_Prefixed_View_Profile): Add mechanism to retrieve the parameter
- type when the formal is an access to variable.
- (Analyze_Protected_Type): Add check for Preelaborable_Initialization
- (Analyze_Task_Type): Same addition
- (Analyze_Entry_Declaration): Call Generate_Reference_To_Formals, to
- provide navigation capabilities for entries.
-
-2006-10-31 Hristian Kirtchev <kirtchev@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Javier Miranda <miranda@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * sem_disp.adb (Check_Dispatching_Operation): Do not flag subprograms
- inherited from an interface ancestor by another interface in the
- context of an instance as 'late'.
- (Is_Tag_Indeterminate, Propagate_Tag): Handle properly the dereference
- of a call to a function that dispatches on access result.
- (Check_Dispatching_Operation): In case of late overriding of a primitive
- that covers abstract interface subprograms we register it in all the
- secondary dispatch tables associated with abstract interfaces.
- (Check_Dispatching_Call): Add check that a dispatching call is not made
- to a function with a controlling result of a limited type. This is a
- current implementation restriction.
- (Check_Controlling_Formal): Remove bogus checks for E.2.2(14).
- (Check_Dispatching_Operation): Do no emit a warning if the controlling
- argument is an interface type that is a generic formal.
- (Is_Interface_Subprogram): Removed.
- (Check_Dispatching_Operation): If the subprogram is not a dispatching
- operation, check the formals to handle the case in which it is
- associated with an abstract interface type.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_elab.ads, sem_elab.adb (Check_Elab_Assign): New procedure
- Add new calls to this procedure during traversal
- (Activate_Elaborate_All_Desirable): Do not set elaboration flag on
- another unit if expansion is disabled.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
-
- * sem_eval.adb (Compile_Time_Compare): Make use of information from
- Current_Value in the conditional case, to evaluate additional
- comparisons at compile time.
-
-2006-10-31 Ed Schonberg <schonberg@adacore.com>
- Hristian Kirtchev <kirtchev@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * sem_type.adb (Add_One_Interp): If node is an indirect call, preserve
- subprogram type to provide better diagnostics in case of ambiguity.
- (Covers): Handle coverage of formal and actual anonymous access types in
- the context of generic instantiation.
- (Covers/Interface_Present_In_Ancestors): Use the base type to manage
- abstract interface types; this is required to handle concurrent types
- with discriminants and abstract interface types.
- (Covers): Include type coverage of both regular incomplete subtypes and
- incomplete subtypes of incomplete type visibles through a limited with
- clause.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
- Hristian Kirtchev <kirtchev@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.ads, sem_util.adb (Enter_Name): Exclude -gnatwh warning
- messages for entities in packages which are not used.
- (Collect_Synchronized_Interfaces): New procedure.
- (Overrides_Synchronized_Primitive): New function.
- (Denotes_Discriminant): Extend predicate to apply to task types.
- Add missing continuation marks in error msgs
- (Unqualify): New function for removing zero or more levels of
- qualification from an expression. There are numerous places where this
- ought to be used, but we currently only deal properly with zero or one
- level.
- (In_Instance); The analysis of the actuals in the instantiation of a
- child unit is not within an instantiation, even though the parent
- instance is on the scope stack.
- (Safe_To_Capture_Value): Exclude the case of variables that are
- renamings.
- (Check_Obsolescent): Removed
- (Is_Aliased_View): A reference to an enclosing instance in an aggregate
- is an aliased view, even when rewritten as a reference to the target
- object in an assignment.
- (Get_Subprogram_Entity): New function
- (Known_To_Be_Assigned): New function
- (Type_Access_Level): Compute properly the access level of a return
- subtype that is an anonymous access type.
- (Explain_Limited_Type): Correct use of "\" for continuation messages.
- (Is_Transfer): The new extended_return_statement causes a transfer of
- control.
- (Has_Preelaborable_Initialization): New function
- (Has_Null_Exclusion): New function. Given a node N, determine whether it
- has a null exclusion depending on its Nkind.
- Change Is_Lvalue to May_Be_Lvalue
- (May_Be_Lvalue): Extensive additional code to deal with subprogram
- arguments (IN parameters are not Lvalues, IN OUT parameters are).
- (Safe_To_Capture_Value): Extend functionality so it can be used for
- the current value condition case.
- (Has_Compatible_Alignment): New function
- (Is_Dependent_Component_Of_Mutable_Object): Revise the tests for mutable
- objects to handle the Ada 2005 case, where aliasedness no longer implies
- that the object is constrained. In particular, for dereferenced names,
- the designated object must be assumed to be unconstrained.
- (Kill_Current_Values): Properly deal with the case where we encounter
- a loop in the scope chain.
- (Safe_To_Capture_Value): Do not let a loop stop us from capturing
- a value.
- (Compile_Time_Constraint_Error): Improve error message in error case
-
- * exp_ch13.adb (Expand_N_Freeze_Entity): Remove the freezing node
- associated with entities of abstract interface primitives.
- Call Apply_Address_Clause_Check instead of Apply_Alignment_Check
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
-
- * s-osinte-tru64.adb:
- Mark Asm statements Volatile to prevent warnings (seems a
- reasonable change anyway)
- Fixes new warnings
-
- * s-mastop-irix.adb: Add Volatile to Asm statements
- Suppresses warning, and seems appropriate in any case
-
- * s-osinte-vms.adb: Add Volatile to Asm statement
-
- * s-vaflop-vms-alpha.adb: Add Volatile to Asm statements
-
- * exp_code.ads, exp_code.adb (Asm_Input_Value): Note that Error can be
- returned.
- Add call to Check_Code_Statement
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Bob Duff <duff@adacore.com>
-
- * sinfo.ads, sinfo.adb (Set_Synchronized_Present,
- Synchronized_Present): Add Formal_Derived_Type_Definition and
- Private_Extension_Declaration to the list of assertions.
- (Is_Entry_Barrier_Function): New flag
- (Has_Self_Reference): New flag on aggregates, to indicate that they
- contain a reference to the enclosing type, inserted through a default
- initialization.
- (Next_Rep_Item): Move from Node4 to Node5.
- (Entity): Add this field for N_Attribute_Definition_Clause.
- (Comes_From_Extended_Return_Statement): New flag on N_Return_Statement
- (N_Return_Object_Declaration): Remove this node kind. We now use
- N_Object_Declaration instead.
- (Actual_Designated_Subtype): Move to a different place to make room in
- N_Extended_Return_Statement.
- (Procedure_To_Call): Move to a different place to make room in
- N_Extended_Return_Statement.
- (Return_Type): Removed this field to make room in return statements
- (both kinds).
- (Return_Statement_Entity): New field in return statements, in part to
- replace Return_Type, and in part to support the fact that return
- statements are now pushed on the scope stack during semantic analysis.
- (Return_Object_Declarations): New field to support extended return
- statements.
- (N_Extended_Return_Statement): New node for extended_return_statement
- nonterminal.
- (N_Return_Object_Declaration): New node for part of
- extended_return_statement nonterminal. Needed because all the necessary
- fields won't fit in N_Extended_Return_Statement.
- Generic_associations now carry the Box_Present flag, to indicate a
- default for an actual in a partially parametrized formal package.
-
- * snames.h, snames.ads, snames.adb: Add definition for Validity_Check
- (Preset_Names): Add entries for Priority_Specific_Dispatching pragma
- and for the new predefined dispatching policies: EDF_Across_Priorities,
- Non_Preemptive_Within_Priorities, and Round_Robin_Within_Priorities.
- Introduce new name Stub_Type for implementation defined attribute.
- Add pragma Preelaborable_Initialization
- Add entry for Priority attribute.
- Add Pragma_Wide_Character_Encoding
- (Get_Convention_Name): Given a convention id, this function returns the
- corresponding name id from the names table.
-
-2006-10-31 Ed Schonberg <schonberg@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Bob Duff <duff@adacore.com>
-
- * sprint.adb (Sprint_Node_Actual, case Parameter_Specification): Do not
- print null exclusion twice in the case of an access definition,
- Implement new -gnatL switch
- Remove N_Return_Object_Declaration. We now use
- N_Object_Declaration instead. Implement the case for
- N_Extended_Return_Statement. Alphabetize the cases.
- Add cases for new nodes N_Extended_Return_Statement and
- N_Return_Object_Declaration. The code is not yet written.
- Update the output for N_Formal_Object_Declaration
- and N_Object_Renaming_Declaration.
- (Write_Itype): Account for the case of a modular integer subtype whose
- base type is private.
-
-2006-10-31 Arnaud Charlet <charlet@adacore.com>
-
- * s-restri.ads, s-restri.adb: Mark this package as Preelaborate.
- Remove elaboration code, now done in the binder.
-
- * s-rident.ads: Make this unit Preelaborate.
- (No_Restrictions): New constant used to clean up code and follow
- preelaborate constraints.
-
- * s-stalib.adb:
- Add System.Restrictions dependence, referenced directly from the
- binder generated file.
-
-2006-10-31 Gary Dismukes <dismukes@adacore.com>
-
- * s-scaval.adb (Initialize): Add new Boolean flag AFloat that is set
- True when AAMP extended floating-point is in use (48-bit). Change type
- ByteLF to ByteLLF, add new array type ByteLF and condition the size of
- the two byte array types on AFloat. Change type of IV_Ilf overlay
- variable from Byte8 to ByteLF. Add appropriate initializations of
- floating-point overlays for AAMP cases.
-
-2006-10-31 Javier Miranda <miranda@adacore.com>
-
- * s-tpoben.ads, s-tpoben.adb, s-taprob.ads, s-taprob.adb
- (Get_Ceiling): New subprogram that returns
- the ceiling priority of the protected object.
- (Set_Ceiling): New subprogram that sets the new ceiling priority of
- the protected object.
-
- * s-tarest.adb: (Create_Restricted_Task): Fix potential CE.
-
- * s-taskin.ads, s-taskin.adb: (Storage_Size): New function.
-
-2006-10-31 Jose Ruiz <ruiz@adacore.com>
-
- * s-tpobop.adb (Requeue_Call): Introduce a dispatching point when
- requeuing to the same protected object to give higher priority tasks
- the opportunity to execute.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
-
- * widechar.adb (Is_Start_Of_Wide_Char): In case of brackets encoding,
- add more precise check for the character sequence that follows '[' to
- avoid possible confusion in case if '[' is the last character of a
- string literals.
- (Scan_Wide): Always allow brackets encoding
-
-2006-10-31 Olivier Hainque <hainque@adacore.com>
-
- * s-stchop.ads: make this unit preelaborate. This is desirable in
- general and made mandatory by the use of this unit by s-taprop which
- is itself preelaborate.
-
- * s-stchop-vxworks.adb (Set_Stack_Info, Task_Descriptor type): Add
- Td_Events component.
-
-2006-10-31 Vincent Celier <celier@adacore.com>
-
- * a-dirval-vms.adb (Invalid_Character): Specify that digits are allowed
- in file names.
-
-2006-10-31 Vincent Celier <celier@adacore.com>
-
- * a-direct.ads, a-direct.adb (Search): New procedure in Ada 2005
-
-2006-10-31 Vincent Celier <celier@adacore.com>
-
- * makegpr.adb (Check_Compilation_Needed): Take into account path names
- with spaces.
- (Check_Compilation_Needed): When checking a C or C++ source, do not
- resolve symbolic links.
- (Display_Command): New Boolean parameter Ellipse, defaulted to False.
- When not in verbose mode and Ellipse is True, display "..." for the
- first argument with Display set to False.
- (Build_Global_Archive): Always set Display True for the first object
- file. Call Display_Command with Ellipse set to True.
-
-2006-10-31 Matt Heaney <heaney@adacore.com>
-
- * a-crbtgo.ads: Commented each subprogram
-
- * a-crbtgo.adb: Added reference to book from which algorithms were
- adapted.
-
- * a-crbtgk.ads, a-crbtgk.adb (Generic_Insert_Post): pass flag to
- indicate which child.
- (Generic_Conditional_Insert): changed parameter name from "Success" to
- "Inserted".
- (Generic_Unconditional_Insert_With_Hint): improved algorithm
-
- * a-coorse.adb (Replace_Element): changed parameter name in call to
- conditional insert operation.
-
- * a-convec.adb, a-coinve.adb (Insert): removed obsolete comment
-
- * a-cohama.adb (Iterate): manipulate busy-bit here, instead of in
- Generic_Iteration
-
- * a-ciorse.adb (Replace_Element): changed parameter name in call to
- conditional insert operation.
-
- * a-cihama.adb (Iterate): manipulate busy-bit here, instead of in
- Generic_Iteration.
-
- * a-cidlli.ads, a-cidlli.adb (Splice): Position param is now mode in
- instead of mode inout.
-
- * a-chtgop.adb (Adjust): modified comments to reflect current AI-302
- draft
- (Generic_Read): preserve existing buckets array if possible
- (Generic_Write): don't send buckets array length anymore
-
- * a-cdlili.ads, a-cdlili.adb (Splice): Position param is now mode in
- instead of mode inout.
-
- * a-cihase.adb (Difference): iterate over smaller of Tgt and Src sets
- (Iterate): manipulate busy-bit here, instead of in Generic_Iteration
-
- * a-cohase.adb (Difference): iterate over smaller of Tgt and Src sets
- (Iterate): manipulate busy-bit here, instead of in Generic_Iteration
- (Replace_Element): local operation is now an instantiation
-
- * a-chtgke.ads, a-chtgke.adb (Generic_Conditional_Insert): manually
- check current length.
- (Generic_Replace_Element): new operation
-
-2006-10-31 Doug Rupp <rupp@adacore.com>
-
- * g-trasym-vms-alpha.adb: Dummy_User_Act_Proc: New function.
- Call TBK$SYMBOLIZE without omitting parameters.
-
-2006-10-31 Vincent Celier <celier@adacore.com>
-
- * symbols-processing-vms-ia64.adb,
- symbols-processing-vms-alpha.adb (Process): Do not include symbols
- that come from generic instantiations in bodies.
-
-2006-10-31 Pat Rogers <rogers@adacore.com>
-
- * a-rttiev.ads, a-rttiev.adb:
- This is a significant redesign primarily for the sake of automatic
- timer task termination but also to fix a design flaw.
- Therefore we are now using an RTS lock, instead of a protected
- object, to provide mutual exclusion to the queue of pending events
- and the type Timing_Event is no longer a protected type.
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
- Cyrille Comar <comar@adacore.com>
- Ben Brosgol <brosgol@adacore.com>
-
- * debug.adb: Update flags documentation
-
- * gnat_ugn.texi: Add documentation for new -gnatwq switch
- Clean up documentation for several other warning switches
- Clarify how task stack size can be specified with various
- versions of Windows.
- Add note that -gnatVo includes ranges including loops
- Add documentation for -gnatL switch
- Add note on elaboration warning for initializing variables
- Add documentation for new -gnatwt warning switch
- Document new form of pragma Warnings (On|Off, string)
- Add comment on use of pragma Warnings to control warnings
- Add documentation for -gnatjnn switch
- Modify section on interfacing with C for VMS 64-bit.
- Add doc for -gnatVe/E
- Add documentation of new warning flags -gnatww/-gnatwW
- Add warnings about address clause overlays to list of warnings
- (Exception Handling Control): Document that the option --RTS must be
- used consistently for gcc and gnatbind.
- Clarify that inlining is not always possible
- Update documentation on pragma Unchecked_Union.
-
- * gnat_rm.texi:
- Add documentation for new extended version of pragma Obsolescent
- Add documentation for implementation defined attribute 'Stub_Type.
- Add note on use of Volatile in asm statements
- Add documentation on use of pragma Unreferenced in context clause
- Document new form of pragma Warnings (On|Off, pattern)
- Document pragma Wide_Character_Encoding
- Add note that pragma Restrictions (No_Elaboration_Code) is only fully
- enforced if code generation is active.
- Add section on pragma Suppress to document GNAT specific check
- Alignment_Check
- Clarify difference between No_Dispatching_Calls & No_Dispatch.
- Add documentation for pragma Restrictions (No_Elaboration_Code)
-
- * gnat-style.texi:
- Add comments on layout of subprogram local variables in the
- presence of nested subprograms.
-
- * ug_words: Resync.
-
- * elists.ads: Minor reformatting
- Node returns Node_Or_Entity_Id (doc change only)
-
- * xgnatugn.adb: Replace ACADEMICEDITION with GPLEDITION
-
- * g-arrspl.ads (Create): Update comments.
-
- * sem.ads: Add details on the handling of the scope stack.
-
- * usage.adb: Update documentation.
-
- * validsw.ads, validsw.adb:
- Add definition of Validity_Check_Components and implement -gnatVe/E
-
- * vms_data.ads: Add missing VMS qualifiers.
-
- * s-addope.ads: Add documentation on overflow and divide by zero
-
-2006-10-31 Robert Dewar <dewar@adacore.com>
- Thomas Quinot <quinot@adacore.com>
- Arnaud Charlet <charlet@adacore.com>
-
- * fmap.adb: Put routines in alpha order
-
- * g-boumai.ads: Remove redundant 'in' keywords
-
- * g-cgi.adb: Minor reformatting
-
- * g-cgi.ads: Remove redundant 'in' keywords
-
- * get_targ.adb: Put routines in alpha order
-
- * prj-attr.ads: Minor reformatting
-
- * s-atacco.ads: Minor reformatting
-
- * scn.adb: Put routines in alpha order
-
- * sinput-l.adb: Minor comment fix
-
- * sinput-p.adb: Minor comment fix
-
- * s-maccod.ads: Minor reformatting
-
- * s-memory.adb: Minor reformatting
-
- * s-htable.adb: Fix typo in comment.
-
- * s-secsta.adb: Minor comment update.
-
- * s-soflin.adb: Minor reformatting
-
- * s-stoele.ads:
- Add comment about odd qualification in Storage_Offset declaration
-
- * s-strxdr.adb:
- Remove unnecessary 'in' keywords for formal parameters.
-
- * treeprs.adt: Minor reformatting
-
- * urealp.adb: Put routines in alpha order
-
- * s-wchcon.ads, s-wchcon.adb (Get_WC_Encoding_Method): New version
- taking string.
-
- * s-asthan-vms-alpha.adb: Remove redundant 'in' keywords
-
- * g-trasym-vms-ia64.adb: Remove redundant 'in' keywords
-
- * env.c (__gnat_unsetenv): Unsetenv is unavailable on LynxOS, so
- workaround as on other platforms.
-
- * g-eacodu-vms.adb: Remove redundant 'in' keywords
- * g-expect-vms.adb: Remove redundant 'in' keywords
-
- * gnatdll.adb (Add_Files_From_List): Handle Name_Error and report a
- clear error message if the list-of-files file cannot be opened.
-
- * g-thread.adb (Unregister_Thread_Id): Add use type Thread_Id so the
- equality operator is always visible.
-
- * lang.opt: Woverlength-strings: New option.
-
- * nmake.adt:
- Update copyright, since nmake.ads and nmake.adb have changed.
-
- * osint-b.ads, osint-b.adb (Time_From_Last_Bind): removed function .
- (Binder_Output_Time_Stamps_Set): removed.
- (Old_Binder_Output_Time_Stamp): idem.
- (New_Binder_Output_Time_Stamp): idem.
- (Recording_Time_From_Last_Bind): idem.
- (Recording_Time_From_Last_Bind): Make constant.
-
- * output.ads, output.adb (Write_Str): Allow LF characters
- (Write_Spaces): New procedure
-
- * prepcomp.adb (Preproc_Data_Table): Change Increment from 5% to 100%
-
- * inline.adb: Minor reformatting
-
- * s-asthan-vms-alpha.adb: Remove redundant 'in' keywords
-
- * s-mastop-vms.adb: Remove redundant 'in' keywords
-
- * s-osprim-vms.adb: Remove redundant 'in' keywords
-
- * s-trafor-default.adb: Remove redundant 'in' keywords
-
- * 9drpc.adb: Remove redundant 'in' keywords
-
- * s-osinte-mingw.ads: Minor reformatting
-
- * s-inmaop-posix.adb: Minor reformatting
-
- * a-direio.ads: Remove quotes from Compile_Time_Warning message
-
- * a-exexda.adb: Minor code reorganization
-
- * a-filico.adb: Minor reformatting
-
- * a-finali.adb: Minor reformatting
-
- * a-nudira.ads: Remove quote from Compile_Time_Warning message
-
- * a-numeri.ads: Minor reformatting
-
- * a-sequio.ads: Remove quotes from Compile_Time_Warning message
-
- * exp_pakd.ads: Fix obsolete comment
-
- * a-ztenau.adb, a-ztenio.adb, a-wtenau.adb, a-tienau.adb,
- a-wtenio.adb (Put): Avoid assuming low bound of string is 1.
- Probably not a bug, but certainly neater and more efficient.
-
- * a-tienio.adb: Minor reformatting
-
- * comperr.adb (Compiler_Abort): Call Cancel_Special_Output at start
- Avoid assuming low bound of string is 1.
-
- * gnatbind.adb: Change Bindusg to package and rename procedure as
- Display, which now ensures that it only outputs usage information once.
- (Scan_Bind_Arg): Avoid assuming low bound of string is 1.
-
- * g-pehage.adb (Build_Identical_Keysets): Replace use of 1 by
- Table'First.
-
- * g-regpat.adb (Insert_Operator): Add pragma Warnings (Off) to kill
- warning.
- (Match): Add pragma Assert to ensure that Matches'First is zero
-
- * g-regpat.ads (Match): Document that Matches lower bound must be zero
-
- * makeutl.adb (Is_External_Assignment): Add pragma Assert's to check
- documented preconditions (also kills warnings about bad indexes).
-
- * mdll.adb (Build_Dynamic_Library): Avoid assumption that Afiles'First
- is 1.
- (Build_Import_Library): Ditto;
-
- * mdll-utl.adb: (Gnatbind): Avoid assumption that Alis'First = 1
-
- * rtsfind.adb (RTE_Error_Msg): Avoid assuming low bound of string is 1.
-
- * sem_case.adb (Analyze_Choices): Add pragma Assert to check that
- lower bound of choice table is 1.
-
- * sem_case.ads (Analyze_Choices): Document that lower bound of
- Choice_Table is 1.
-
- * s-imgdec.adb (Set_Decimal_Digits): Avoid assuming low bound of
- string is 1.
-
- * uintp.adb (Init_Operand): Document that low bound of Vec is always 1,
- and add appropriate Assert pragma to suppress warnings.
-
- * atree.h, atree.ads, atree.adb
- Change Elist24 to Elist25
- Add definitions of Field28 and Node28
- (Traverse_Field): Use new syntactic parent table in sinfo.
-
- * cstand.adb: Change name Is_Ada_2005 to Is_Ada_2005_Only
-
- * itypes.adb: Change name Is_Ada_2005 to Is_Ada_2005_Only
-
- * exp_tss.adb: Put routines in alpha order
-
- * fe.h: Remove redundant declarations.
-
-2006-10-23 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
-
- * utils.c (builtin_function): Rename to gnat_builtin_function.
- Move common code to add_builtin_function.
- * misc.c (LANG_HOOKS_BUILTIN_FUNCTION): Define as
- gnat_builtin_function.
- * gigi.h (builtin_function): Rename to gnat_builtin_function.
- Change the signature.
-
-2006-10-16 Brooks Moses <bmoses@stanford.edu>
-
- * Makefile.in: Add TEXI2PDF definition.
- * Make-lang.in: Add "ada.pdf" target.
-
-2006-10-03 Kazu Hirata <kazu@codesourcery.com>
-
- * decl.c, utils.c: Fix comment typos.
- * utils.c: Fix a typo.
-
-2006-09-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set "const" flag
- on "pure" Ada subprograms if SJLJ exceptions are used.
- * trans.c (Handled_Sequence_Of_Statements_to_gnu): Set TREE_NO_WARNING
- on the declaration node of JMPBUF_SAVE.
- * utils.c (init_gigi_decls): Set DECL_IS_PURE on the declaration nodes
- of Get_Jmpbuf_Address_Soft and Get_GNAT_Exception.
- * utils2.c (build_call_0_expr): Do not set TREE_SIDE_EFFECTS.
-
-2006-08-20 Laurent Guerby <laurent@guerby.net>
-
- PR ada/28716
- g-socket.adb (Bind_Socket): Call Set_Address.
-
-2006-09-15 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/15802
- * decl.c (same_discriminant_p): New static function.
- (gnat_to_gnu_entity) <E_Record_Type>: When there is a parent
- subtype and we have discriminants, fix up the COMPONENT_REFs
- for the discriminants to make them reference the corresponding
- fields of the parent subtype after it has been built.
-
-2006-09-15 Roger Sayle <roger@eyesopen.com>
-
- PR ada/18817
- * utils.c (max_size): Perform constant folding of (A ? B : C) - D
- into A ? B - D : C - D when calculating the size of a MINUS_EXPR.
-
-2006-09-13 Olivier Hainque <hainque@adacore.com>
-
- PR ada/29025
- * trans.c (gnat_gimplify_expr) <ADDR_EXPR>: When taking the address
- of a SAVE_EXPR, just make the operand addressable/not-readonly and
- let the common gimplifier code make and propagate a temporary copy.
- (call_to_gnu): Clarify the use of SAVE_EXPR for not addressable
- out/in-out actuals and defer setting the addressable/readonly bits
- to the gimplifier.
-
-2006-09-13 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/28591
- * decl.c (components_to_record): Defer emitting debug info for the
- record type associated with the variant until after we are sure to
- actually use it.
-
-2006-09-13 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/21952
- * gigi.h (gnat_internal_attribute_table): Declare.
- * misc.c (LANG_HOOKS_ATTRIBUTE_TABLE): Define to above.
- * utils.c (gnat_internal_attribute_table): New global variable.
- (builtin_function): Always call decl_attributes on the builtin.
- (handle_const_attribute): New static function.
- (handle_nothrow_attribute): Likewise.
-
-2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
-
- * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
-
-2006-06-23 Olivier Hainque <hainque@adacore.com>
-
- * misc.c (gnat_type_max_size): Look at TYPE_ADA_SIZE if we have
- not been able to get a constant upper bound from TYPE_SIZE_UNIT.
-
-2006-06-20 James A. Morrison <phython@gcc.gnu.org>
- Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/18692
- * Make-lang.in: Add check-gnat to lang_checks. Rename existing
- check-gnat into check-acats.
-
-2006-06-17 Karl Berry <karl@gnu.org>
-
- * gnat-style.texi (@dircategory): Use "Software development"
- instead of "Programming", following the Free Software Directory.
-
-2006-06-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR ada/27944
- * s-taprop-hpux-dce.adb: Delete redundant 'with System.Parameters'.
-
-2006-06-06 Laurent Guerby <laurent@guerby.net>
-
- PR ada/27769
- mlib-utl.adb: Use Program_Name.
-
-2006-05-28 Kazu Hirata <kazu@codesourcery.com>
-
- * decl.c, env.c, gigi.h, init.c, initialize.c, raise-gcc.c,
- sem_ch13.adb, sysdep.c, targtyps.c, tb-alvxw.c, tracebak.c,
- trans.c, utils.c: Fix comment typos. Follow spelling
- conventions.
- * gnat_rm.texi, gnat_ugn.texi, : Fix typos. Follow spelling
- conventions.
-
-2006-05-19 Nicolas Setton <setton@adacore.com>
-
- * misc.c (gnat_dwarf_name): New function.
- (LANG_HOOKS_DWARF_NAME): Define to it.
-
-2006-05-14 H.J. Lu <hongjiu.lu@intel.com>
-
- * Make-lang.in (ada/decl.o): Replace target.h with $(TARGET_H).
- (ada/misc.o): Likewise.
- (ada/utils.o): Likewise.
-
-2006-04-08 Aurelien Jarno <aurel32@debian.org>
-
- * Makefile.in: Add Ada support for GNU/kFreeBSD.
- * s-osinte-kfreebsd-gnu.ads: New file.
-
-2006-03-29 Carlos O'Donell <carlos@codesourcery.com>
-
- * Make-lang.in: Rename docdir to gcc_docdir.
-
-2006-03-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * gigi.h (get_ada_base_type): Delete.
- * utils2.c (get_ada_base_type): Likewise.
- * trans.c (convert_with_check): Operate in the real base type.
-
-2006-03-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * uintp.adb (Num_Bits): Handle Uint_Int_First specially.
-
-2006-03-02 Richard Sandiford <richard@codesourcery.com>
-
- * utils.c (create_var_decl): Use have_global_bss_p when deciding
- whether to make the decl common.
-
-2006-02-20 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
-
- * Make-lang.in (Ada): Remove.
- (.PHONY): Remove Ada
-
-2006-02-17 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Find_Boolean_Types): If one of the operands is an
- aggregate, check the interpretations of the other operand to find one
- that may be a boolean array.
-
- (Analyze_Selected_Component): Fix flow-of-control typo in case where
- the prefix is a private extension.
-
-2006-02-17 Eric Botcazou <botcazou@adacore.com>
-
- PR ada/26315
- * utils2.c (find_common_type): If both input types are BLKmode and
- have the same constant size, keep using the first one.
-
- * bindgen.adb: (Gen_Versions_Ada): Revert previous workaround.
-
- * decl.c (gnat_to_gnu_entity): Only check TREE_OVERFLOW for a constant.
-
- * misc.c (gnat_handle_option): New case for -Woverlength-strings.
-
-2006-02-17 Jose Ruiz <ruiz@adacore.com>
-
- * s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
- s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
- s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-lynxos.adb,
- s-taprop-tru64.adb (Set_False, Set_True, Suspend_Until_True): Add
- Abort_Defer/Undefer pairs to avoid the possibility of a task being
- aborted while owning a lock.
-
-2006-02-17 Javier Miranda <miranda@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb (Expand_N_Allocator): If the allocated object is accessed
- through an access to class-wide interface we force the displacement of
- the pointer to the allocated object to reference the corresponding
- secondary dispatch table.
- (Expand_N_Op_Divide): Allow 64 bit divisions by small power of 2,
- if Long_Shifts are supported on the target, even if 64 bit divides
- are not supported (configurable run time mode).
- (Expand_N_Type_Conversion): Do validity check if validity checks on
- operands are enabled.
- (Expand_N_Qualified_Expression): Do validity check if validity checks
- on operands are enabled.
-
-2006-02-17 Ed Schonberg <schonberg@adacore.com>
-
- * exp_dbug.adb (Debug_Renaming_Declaration): Indicate that the entity
- must be materialized when the renamed expression is an explicit
- dereference.
-
-2006-02-17 Ed Schonberg <schonberg@adacore.com>
-
- * freeze.adb (Statically_Discriminated_Components): Return false if
- the bounds of the type of the discriminant are not static expressions.
-
- * sem_aggr.adb (Check_Static_Discriminated_Subtype): Return false if
- the bounds of the discriminant type are not static.
-
-2006-02-17 Robert Dewar <dewar@adacore.com>
-
- * g-os_lib.adb (Copy_File): Make sure that if From has an Invalid_FD,
- then we close To if it is valid.
-
-2006-02-17 Vasiliy Fofanov <fofanov@adacore.com>
-
- * init.c (facility_resignal_table): new array
- (__gnat_default_resignal_p): enhance default predicate to resignal if
- VMS condition has one of the predefined facility codes.
-
-2006-02-17 Vasiliy Fofanov <fofanov@adacore.com>
-
- * Makefile.in: Use VMS64 specialized versions of several units in
- Interfaces.C hierarchy to be compatible with HP C default size choices.
- Use the default version of Ada.Synchronous_Task_Control for VxWorks 653.
-
-2006-02-17 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch10.adb (Analyze_With_Clause): If the unit is a subprogram
- instantiation, the corresponding entity is the related_instance of the
- wrapper package created for the instance.
-
-2006-02-17 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Analyze_Package_Instantiation): Inline_Now is false if
- the current instance is nested within another instance in a child unit.
-
-2006-02-17 Javier Miranda <miranda@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Build_Discriminated_Subtype): In case of concurrent
- type we cannot inherit the primitive operations; we inherit the
- Corresponding_Record_Type (which has the list of primitive operations).
- (Check_Anonymous_Access_Types): When creating anonymous access types for
- access components, use Rewrite in order to preserve the tree structure,
- for ASIS use.
- (Analyze_Object_Declaration): For limited types with access
- discriminants with defaults initialized by an aggregate, obtain
- subtype from aggregate as for other mutable types.
- (Derived_Type_Declaration): If the derived type is a limited interface,
- set the corresponding flag (Is_Limited_Record is not sufficient).
-
-2006-02-17 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Build_Body_To_Inline): Enforce the rule that in order
- to inline a function that returns an unconstrained type, the return
- expression must be the first variable declared in the body of the
- function.
-
-2006-02-17 Javier Miranda <miranda@adacore.com>
-
- * sem_res.adb (Resolve_Type_Conversion): In case of conversion to an
- abstract interface type, the static analysis is not enough to know if
- the interface is implemented or not by the source tagged type. Hence
- we must pass the work to the expander to generate the required code to
- evaluate the conversion at run-time.
- (Resolve_Equality_Op): Do not apply previous
- transformation if expansion is disasbled, to prevent anomalies when
- locating global references in a generic unit.
-
-2006-02-17 Vincent Celier <celier@adacore.com>
-
- * snames.ads, snames.adb: New standard names for new project attributes:
- archive_builder, archive_indexer, compiler_pic_option,
- config_body_file_name, config_body_file_name_pattern,
- config_file_switches, config_file_unique, config_spec_file_name,
- config_spec_file_name_pattern, default_builder_switches,
- default_global_compiler_switches, default_language,
- dependency_file_kind, global_compiler_switches, include_path,
- include_path_file, language_kind, linker_executable_option,
- linker_lib_dir_option, linker_lib_name_option, mapping_file_switches,
- roots, runtime_project.
-
-2006-02-17 Matthew Heaney <heaney@adacore.com>
-
- * a-convec.ads, a-convec.adb:
- (operator "&"): handle potential overflow for large index types
- (Insert): removed Contraint_Error when using large index types
- (Insert_Space): removed Constraint_Error for large index types
- (Length): moved constraint check from Length to Insert
-
- * a-coinve.ads, a-coinve.adb: Stream attribute procedures are declared
- as not null access.
- Explicit raise statements now include an exception message.
- (operator "&"): handle potential overflow for large index types
- (Insert): removed Contraint_Error when using large index types
- (Insert_Space): removed Constraint_Error for large index types
- (Length): moved constraint check from Length to Insert
-
-2006-02-17 Robert Dewar <dewar@adacore.com>
-
- * s-wchcnv.adb: Document handling of [ on output (we do not change
- this to ["5B"] and the new comments say why not.
-
- * gnat_ugn.texi:
- Add note for -gnatVo that this now includes the cases of type
- conversions and qualified expressions.
- Add comments on handling of brackets encoding for Text_IO
-
-2006-02-17 Ramon Fernandez <fernandez@adacore.com>
- Thomas Quinot <quinot@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * expander.adb: Fix typo in comment
-
- * exp_pakd.adb: Fix typo
- Minor comment reformatting.
-
- * g-dyntab.adb: Minor reformatting
-
- * exp_ch6.adb (Register_Interface_DT_Entry): Traverse the list of
- aliased subprograms to look for the abstract interface subprogram.
-
-2006-02-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * env.c (__gnat_setenv): Use size_t.
- (__gnat_unsetenv): Likewise.
- (__gnat_clearenv): Likewise.
-
-2006-02-16 Arnaud Charlet <charlet@adacore.com>
-
- * opt.ads (Ada_Version_Default): Set to Ada 2005 by default.
-
-2006-02-13 Arnaud Charlet <charlet@adacore.com>
-
- * a-intnam-os2.ads, a-intnam-unixware.ads, g-soccon-unixware.ads,
- g-soliop-unixware.ads, i-os2err.ads, i-os2lib.adb, i-os2lib.ads,
- i-os2syn.ads, i-os2thr.ads, s-intman-irix-athread.adb,
- s-osinte-aix-fsu.ads, s-osinte-fsu.adb, s-parame-os2.adb,
- s-osinte-irix-athread.ads, s-osinte-linux-fsu.ads, s-osinte-os2.adb,
- s-osinte-os2.ads, s-osinte-solaris-fsu.ads, s-osinte-unixware.adb,
- s-osinte-unixware.ads, s-osprim-os2.adb, s-taprop-irix-athread.adb,
- s-taprop-os2.adb, s-tasinf-irix-athread.adb, s-tasinf-irix-athread.ads,
- s-taspri-os2.ads, system-os2.ads, system-unixware.ads: Removed,
- no longer used.
-
-2006-02-13 Jose Ruiz <ruiz@adacore.com>
-
- * a-taster.adb (Current_Task_Fallback_Handler): Document why explicit
- protection against race conditions is not needed.
- (Set_Dependents_Fallback_Handler): Add mutual exclusive access to the
- fallback handler.
- (Set_Specific_Handler): Add mutual exclusive access to the specific
- handler.
- (Specific_Handler): Add mutual exclusive access for retrieving the
- specific handler.
-
- * s-tarest.adb (Task_Wrapper): Add mutual exclusive access to the fall
- back handler.
-
- * s-taskin.ads (Common_ATCB): Remove pragma Atomic for
- Fall_Back_Handler and Specific_Handler.
-
- * s-tassta.adb (Task_Wrapper): Add mutual exclusive access to the task
- termination handlers.
- Set two different owerflow depending on the maximal stack size.
-
- * s-solita.adb (Task_Termination_Handler_T): Document why explicit
- protection against race conditions is not needed when executing the
- task termination handler.
-
-2006-02-13 Robert Dewar <dewar@adacore.com>
-
- * s-gloloc-mingw.adb, a-cgaaso.ads, a-stzmap.adb, a-stzmap.adb,
- a-stzmap.ads, a-ztcoio.adb, a-ztedit.adb, a-ztedit.ads, a-ztenau.adb,
- a-ztenau.ads, a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
- a-comlin.adb, a-decima.adb, a-decima.ads, a-direio.adb, a-direio.adb,
- a-direio.adb, a-direio.ads, a-ngcoty.adb, a-ngcoty.ads, a-nuflra.adb,
- a-nuflra.ads, a-sequio.adb, a-sequio.ads, a-sequio.ads, a-storio.ads,
- a-stream.ads, a-ststio.adb, a-ststio.adb, a-ststio.ads, a-ststio.ads,
- a-stwima.adb, a-stwima.adb, a-stwima.ads, a-stwise.adb, a-teioed.adb,
- a-teioed.ads, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tasatt.ads,
- a-tideau.adb, a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
- a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.ads, a-tiflau.adb,
- a-tiflau.ads, a-tiflio.adb, a-tiflio.adb, a-tiflio.ads, a-tigeau.ads,
- a-tiinau.adb, a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoio.adb,
- a-timoio.ads, a-titest.adb, a-titest.ads, a-wtcoio.adb, a-wtdeau.adb,
- a-wtdeau.ads, a-wtdeio.adb, a-wtdeio.ads, a-wtedit.adb, a-wtedit.adb,
- a-wtedit.ads, a-wtenau.adb, a-wtenau.ads, a-wtenau.ads, a-wtenio.adb,
- a-wtenio.ads, a-wtfiio.adb, a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads,
- a-wtflio.adb, a-wtflio.adb, a-wtflio.ads, a-wtgeau.ads, a-wtinau.adb,
- a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb, a-wtmoau.ads,
- a-wtmoio.adb, a-wtmoio.ads, xref_lib.adb, xref_lib.ads, xr_tabls.adb,
- g-boubuf.adb, g-boubuf.ads, g-cgideb.adb, g-io.adb, gnatdll.adb,
- g-pehage.adb, i-c.ads, g-spitbo.adb, g-spitbo.ads, mdll.adb,
- mlib-fil.adb, mlib-utl.adb, mlib-utl.ads, prj-env.adb, prj-tree.adb,
- prj-tree.ads, prj-util.adb, s-arit64.adb, s-asthan.ads, s-auxdec.adb,
- s-auxdec.ads, s-chepoo.ads, s-direio.adb, s-direio.ads, s-errrep.adb,
- s-errrep.ads, s-fileio.adb, s-fileio.ads, s-finroo.adb, s-finroo.ads,
- s-gloloc.adb, s-gloloc.ads, s-io.adb, s-io.ads, s-rpc.adb,
- s-rpc.ads, s-shasto.ads, s-sequio.adb, s-stopoo.ads, s-stratt.adb,
- s-stratt.ads, s-taasde.adb, s-taasde.ads, s-tadert.adb, s-sequio.ads,
- s-taskin.adb, s-tasque.adb, s-tasque.ads, s-wchjis.ads, makegpr.adb,
- a-coinve.adb, a-cidlli.adb, eval_fat.adb, exp_dist.ads, exp_smem.adb,
- fmap.adb, g-dyntab.ads, g-expect.adb, lib-xref.ads, osint.adb,
- par-load.adb, restrict.adb, sinput-c.ads, a-cdlili.adb,
- system-vms.ads, system-vms-zcx.ads, system-vms_64.ads: Minor
- reformatting.
-
-2006-02-13 Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-tasatt.adb, s-osinte-lynxos-3.adb, s-osinte-lynxos.adb,
- s-osinte-aix.adb, s-interr-sigaction.adb, s-asthan-vms-alpha.adb,
- s-interr-vms.adb, s-intman-vms.adb, s-interr-vxworks.adb,
- s-intman-vxworks.adb, s-asthan-vms-alpha.adb, a-ztexio.adb,
- a-reatim.adb, a-taside.adb, a-textio.adb, a-witeio.adb, prj-attr.adb,
- s-intman-irix.adb, s-intman-solaris.adb, s-intman-posix.adb,
- a-dynpri.adb, a-interr.adb, g-dynhta.adb, s-asthan.adb, s-interr.adb,
- s-pooglo.adb, s-pooloc.adb, s-poosiz.adb, s-tasren.adb, s-tasuti.adb,
- s-tataat.adb, s-tpobop.adb: Remove redundant with clauses.
-
-2006-02-13 Arnaud Charlet <charlet@adacore.com>
-
- * s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-vxworks.ads,
- s-osinte-solaris.ads, s-osinte-linux.ads, s-osinte-freebsd.ads,
- s-osinte-solaris-posix.ads, s-osinte-lynxos-3.ads, s-osinte-lynxos.ads,
- s-osinte-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads,
- s-osinte-hpux-dce.ads, s-osinte-linux-hppa.ads,
- s-osinte-linux-alpha.ads, s-inmaop-posix.adb (sigset_t_ptr): Removed,
- replaced by anonymous access type.
- (pthread_sigmask): Now take an access sigset_t
-
- * s-osinte-hpux.ads: Ditto.
- (pthread_mutex_t, pthread_cond_t): Update definitions to support
- properly 32 and 64 bit ABIs.
-
-2006-02-13 Pascal Obry <obry@adacore.com>
-
- * s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb,
- s-taprop-lynxos.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
- s-taprop-linux.adb, s-taprop-solaris.adb,
- s-taprop-vms.adb (Create_Task): Remove task adjustment code. This
- adjustement is already done when calling this routine.
-
-2006-02-13 Pascal Obry <obry@adacore.com>
-
- * system-mingw.ads (Underlying_Priorities): Update the priority mapping
- table to take advantage of the 16 priority levels available on Windows
- 2000 and XP. On NT4 there are only 7 priority levels, this is properly
- supported by this new mapping.
-
-2006-02-13 Nicolas Setton <setton@adacore.com>
-
- * adadecode.h, adadecode.c: (__gnat_decode): Improve support of types.
- (get_encoding): New subprogram. Extracts the encodings from an encoded
- Ada name.
-
-2006-02-13 Pascal Obry <obry@adacore.com>
- Nicolas Roche <roche@adacore.com>
- Arnaud Charlet <charlet@adacore.com>
-
- * adaint.h, adaint.c (DIR_SEPARATOR): Use _T() macro for Unicode
- support.
- (__gnat_try_lock): Add unicode support by using a specific section on
- Windows.
- (__gnat_get_current_dir): Idem.
- (__gnat_open_read): Idem.
- (__gnat_open_rw): Idem.
- (__gnat_open_create): Idem.
- (__gnat_create_output_file): Idem.
- (__gnat_open_append): Idem.
- (__gnat_open_new): Idem.
- (__gnat_file_time_name): Idem.
- (__gnat_set_file_time_name): Idem.
- (__gnat_stat): Idem.
- (win32_no_block_spawn): Idem.
- (__gnat_locate_exec_on_path): Idem.
- (__gnat_opendir): New routine.
- (__gnat_closedir): Idem.
- (__gnat_readdir): Add new parameter length (pointer to int). Update
- implementation to use it and add specific Win32 code for Unicode
- support.
- (__gnat_get_env_value_ptr): Remove. Replaced by __gnat_getenv in env.c
- (__gnat_set_env_value): Remove. Replaced by __gnat_setenv in env.c
- (convert_addresses): Do not define this dummy routine on VMS.
-
- * mingw32.h (GNAT_UNICODE_SUPPORT): New definition, if set the GNAT
- runtime Unicode support will be activated.
- (S2WS): String to Wide-String conversion. This version just copy a
- string in non Unicode version.
- (WS2S): Wide-String to String conversion. This version just copy a
- string in non Unicode version.
-
- * g-dirope.adb: (Close): Now import __gnat_closedir from adaint.c.
- (Open): Now import __gnat_opendir from adaint.c.
- (Read): Change the implementation to support unicode characters. It is
- not possible to use strlen() on Windows as this version supports only
- standard ASCII characters. So the length of the directory entry is now
- returned from the imported __gnat_readdir routine.
- Update copyright notice.
-
- * s-crtl-vms64.ads, s-crtl.ads: (closedir): Moved to adaint.c.
- (opendir): Moved to adaint.c.
-
- * g-os_lib.adb (Copy_Time_Stamp): Fix off-by-one range computation.
- (Get_Directory): Fix wrong indexing.
- (Getenv): replace __gnat_get_env_value_ptr from adaint.c by
- __gnat_getenv from env.c
- (Setenv): replace __gnat_set_env_value from adaint.c by __gnat_setenv
- from env.c
-
- * env.h, env.c: New file.
-
- * s-scaval.adb (Initialize): Replace __gnat_get_env_value_ptr from
- adaint.c by __gnat_getenv from env.c
-
- * s-shasto.adb (Initialize): replace __gnat_get_env_value_ptr from
- adaint.c by __gnat_getenv from env.c
-
- * Make-lang.in: Add env.o in the list of C object needed by gnat1
- and gnatbind.
- Update dependencies.
-
-2006-02-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- Olivier Hainque <hainque@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * ada-tree.h: (TYPE_UNCHECKED_UNION_P): Deleted.
-
- * gigi.h (value_factor_p): Add prototype and description, now public.
-
- * decl.c (gnat_to_gnu_field): Don't attempt BLKmode to integral type
- promotion for field with rep clause if the associated size was proven
- to be in error.
- Expand comments describing attempts to use a packable type.
- (gnat_to_gnu_entity) <E_Signed_Integer_Subtype,
- E_Floating_Point_Subtype>: Inherit alias set of what we are making a
- subtype of to ensure conflicts amongst all subtypes in a hierarchy,
- necessary since these are not different types and pointers may
- actually designate any subtype in this hierarchy.
- (gnat_to_gnu_entity, case E_Record_Type): Always make fields for
- discriminants but put them into record only if not Unchecked_Union;
- pass flag to components_to_record showing Unchecked_Union.
- (make_dummy_type): Use UNION_TYPE only if Unchecked_Union and no
- components before variants; don't set TYPE_UNCHECKED_UNION_P.
- (components_to_record): New argument UNCHECKED_UNION.
- Remove special case code for Unchecked_Union and instead use main code
- with small changes.
-
- PR ada/26096
- (gnat_to_gnu_entity) <E_Variable>: Do not initialize the aligning
- variable with the expression being built, only its inner field.
-
- * trans.c (Handled_Sequence_Of_Statements_to_gnu): Remove call to
- emit_sequence_entry_statements.
- (emit_sequence_entry_statements, body_with_handlers_p): Delete.
- (establish_gnat_vms_condition_handler): Move before
- Subprogram_Body_to_gnu.
- (Subprogram_Body_to_gnu): On VMS, establish_gnat_vms_condition_handler
- for a subprogram if it has a foreign convention or is exported.
- (Identifier_to_gnu): Manually unshare the DECL_INITIAL tree when it is
- substituted for a CONST_DECL.
- (tree_transform, case N_Aggregate): Remove code for UNION_TYPE and pass
- Etype to assoc_to_constructor.
- (assoc_to_constructor): New argument, GNAT_ENTITY; use it to ignore
- discriminants of Unchecked_Union.
- (TARGET_ABI_OPEN_VMS): Define to 0 if not defined, so that later uses
- don't need cluttering preprocessor directives.
- (establish_gnat_vms_condition_handler): New function. Establish the GNAT
- condition handler as current in the compiled function.
- (body_with_handlers_p): New function. Tell whether a given sequence of
- statements node is attached to a package or subprogram body and involves
- exception handlers possibly nested within inner block statements.
- (emit_sequence_entry_statements): New function, to emit special
- statements on entry of sequences when necessary. Establish GNAT
- condition handler in the proper cases for VMS.
- (Handled_Sequence_Of_Statements_to_gnu): Start block code with
- emit_sequence_entry_statements.
-
- * utils2.c (find_common_type): If both input types are BLKmode and
- have a constant size, use the smaller one.
- (build_simple_component_ref): Also match if FIELD and NEW_FIELD are
- the same.
-
- * utils.c (value_factor_p): Make public, to allow uses from other gigi
- units.
- (create_type_decl): Do not set the flag DECL_IGNORED_P for dummy types.
- (convert, case UNION_TYPE): Remove special treatment for unchecked
- unions.
-
- PR ada/18659
- (update_pointer_to): Update variants of pointer types to unconstrained
- arrays by attaching the list of fields of the main variant.
-
-2006-02-13 Arnaud Charlet <charlet@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * a-exexpr.adb, a-exexpr-gcc.adb
- (Process_Raise_Exception): Removed, merged with Propagate_Exception.
- (Propagate_Exception): Now take extra From_Signal_Handler parameter.
- Remove code unused for exception propagation for the compiler itself
- from a-except.adb and update to still share separate packages.
-
- * a-except.ads, a-except.adb: Ditto.
- Add comments that this version is now used only by the compiler and
- other basic tools. The full version that includes the Ada 2005 stuff
- is in separate files a-except-2005.ads/adb. The reason is that we do
- not want to cause bootstrap problems with compilers not recognizing
- Wide_Wide_String.
- Add exception reason code PE_Implicit_Return
- Add new exception reason code (Null Exception_Id)
-
- * a-except-2005.adb, a-except-2005.ads: New files.
-
- * s-wchcon.ads: (Get_WC_Encoding_Method): New function.
-
- * s-wchcon.adb: New file.
-
- * Makefile.in (LIBGNAT_SRCS): Add tb-gcc.c.
- (traceback.o deps): Likewise.
- (SPARC/Solaris): Accept sparc[64|v9]-sun-solaris.
- Activate build of GMEM instrumentation library on VMS targets.
- (gnatlib-sjlj, gnatlib-zcx): Pass EH_MECHANISM to make gnatlib.
- Use a-except-2005.ads/adb for all run-time library builds unless
- specified otherwise.
- [VMS] (LIBGNAT_TARGET_PAIRS_AUX1,2): Rename s-parame-vms.ads to
- s-parame-vms-alpha.ads and add s-parame-vms-ia64.ads.
- Use s-parame.adb on all native platforms.
- Use s-parame-vxworks.adb on all vxworks platforms.
- Add env.c env.h in LIBGNAT_SRCS
- Add env.o in LIBGNAT_OBJS
- (GNATMAKE_OBJS): Remove ctrl_c.o object.
- (LIBGNAT_TARGET_PAIRS for x86-vxworks): Use an specialized version of
- s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
- supports VxWorks 6 RTPs.
- (EXTRA_GNATRTL_NONTASKING_OBJS for x86-vxworks): Remove the use of
- i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.
-
- * types.h, types.ads (Terminate_Program): New exception
- Add comment on modifying multiple versions of a-except.adb when the
- table of exception reasons is modified.
- Add exception reason code PE_Implicit_Return
- Add new exception reason code (Null Exception_Id)
-
- * clean.adb (Initialize): Get the target parameters before checking
- if target is OpenVMS. Move the OpenVMS specific code here from package
- body elaboration code.
-
-2006-02-13 Thomas Quinot <quinot@adacore.com>
- Vincent Celier <celier@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * ali-util.adb (Get_File_Checksum): Update to account for change in
- profile of Initialize_Scanner.
-
- * gprep.adb (Gnatprep): Update to account for change in profile of
- Initialize_Scanner.
- (Process_One_File): Same.
-
- * lib.adb (Get_Code_Or_Source_Unit): New subprogram factoring the
- common code between Get_Code_Unit and Get_Source_Unit. Reimplement
- that behaviour using the new Unit information recorded in the source
- files table, rather than going through all units every time.
- (Get_Code_Unit): Reimplement in terms of Get_Code_Or_Source_Unit.
- (Get_Source_Unit): Same.
-
- * prepcomp.adb (Parse_Preprocessing_Data_File): Update to account for
- change in profile of Initialize_Scanner.
- (Prepare_To_Preprocess): Same.
-
- * lib.ads: Fix typo in comment (templace -> template).
-
- * prj-part.adb (Parse_Single_Project): Update to account for change in
- profile of Initialize_Scanner.
-
- * scn.adb (Initialize_Scanner): Account for change in profile of
- Scng.Initialize_Scanner: set Current_Source_Unit in Scn instead of Scng.
- Also record the association of the given Source_File_Index to the
- corresponding Unit_Number_Type.
-
- * scng.ads, scng.adb (Initialize_Scanner.Set_Reserved): Remove
- procedure.
- (Initialize_Scanner): Call Scans.Initialize_Ada_Keywords.
- Remove Unit formal for generic scanner: this formal
- is only relevant to Scn (the scanner instance used to parse Ada source
- files), not to other instances. Update comment accordingly.
- (Scan): Use new function Snames.Is_Keyword_Name.
-
- * sinfo-cn.adb: Fix typo in comment.
-
- * sinput.adb (Unit, Set_Unit): Accessors for new source file attribute
- Unit.
-
- * sinput.ads (Source_File_Record): New component Unit, used to capture
- the unit identifier (if any) associated to a source file.
-
- * sinput-c.adb, sinput-l.adb (Load_File): Initialize new component
- Unit in Source_File_Record.
-
- * sinput-p.adb (Source_File_Is_Subunit): Update to account for change
- in profile of Initialize_Scanner.
-
- * scans.adb (Initialize_Ada_Keywords): New procedure
-
- * scans.ads (Initialize_Ada_Keywords): New procedure to initialize the
- Ada keywords in the Namet table, without the need to call
- Initialize_Scanner.
-
- * snames.adb: Add pragma Ada_2005 (synonym for Ada_05)
- (Is_Keyword_Name): New function
-
- * snames.ads: Add subtype Configuration_Pragma_Names
- Add pragma Ada_2005 (synonym for Ada_05)
- (Is_Keyword_Name): New function
-
- * snames.h: Add pragma Ada_2005 (synonym for Ada_05)
-
-2006-02-13 Arnaud Charlet <charlet@adacore.com>
-
- * a-stwisu.adb, a-strsup.adb, a-stzsup.adb (Super_Slice): Fix slice
- index.
-
- * a-stwima.adb (To_Set): Add extra check when N = 0.
-
- * g-regpat.adb: (Match_Simple_Operator): Avoid possible overflow.
-
-2006-02-13 Arnaud Charlet <charlet@adacore.com>
-
- * s-parame-mingw.adb, s-parame-linux.adb,
- s-parame-solaris.adb: Removed, replaced by s-parame.adb
-
- * s-parame-vxworks.ads: Fix typo.
-
- * s-parame-vxworks.adb: New file.
-
- * s-parame.adb: Version now used by all native platforms.
- (Default_Stack_Size): Use 2 megs for default stack size and use
- __gl_default_stack_size when available.
- (Minimum_Stack_Size): Use 12K.
-
- * s-taprop-mingw.adb: Set default stack size linker switch to 2megs.
- (Create_Task): Refine implementation taking advantage of the XP stack
- size support. On XP, we now create the thread using the flag
- STACK_SIZE_PARAM_IS_A_RESERVATION.
-
- * s-osinte-mingw.ads (Stack_Size_Param_Is_A_Reservation): New constant.
-
- * sysdep.c (__gnat_is_windows_xp): New routine, returns 1 on Windows
- XP and 0 on older Windows versions.
-
- * interfac-vms.ads: Removed, no longer used.
-
-2006-02-13 Matthew Heaney <heaney@adacore.com>
-
- * a-rbtgso.adb, a-crbtgo.adb, a-crbtgk.adb, a-coorse.adb,
- a-cohama.adb, a-ciorse.adb, a-cihama.adb, a-cihase.adb,
- a-cohase.adb: All explicit raise statements now include an exception
- message.
-
- * a-ciormu.ads, a-ciormu.adb, a-coormu.ads, a-coormu.adb
- (Update_Element_Preserving_Key): renamed op to just Update_Element.
- Explicit raise statements now include an exception message
-
- * a-cihase.ads, a-cohase.ads: Removed comment.
-
- * a-stboha.ads, a-stboha.adb, a-stfiha.ads, a-envvar.adb,
- a-envvar.ads, a-swbwha.ads, a-swbwha.adb, a-swfwha.ads, a-szbzha.ads,
- a-szbzha.adb, a-szfzha.ads: New files.
-
-2006-02-13 Matthew Heaney <heaney@adacore.com>
-
- * a-cgcaso.adb, a-cgaaso.adb: Implemented using heapsort instead of
- quicksort.
-
-2006-02-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * lang.opt: Wvariadic-macros: New option.
- Wold-style-definition: Likewise.
- Wmissing-format-attribute: Likewise.
-
- * misc.c (gnat_handle_option): New cases for -Wvariadic-macros,
- -Wold-style-definition and -Wmissing-format-attribute.
-
-2006-02-13 Robert Dewar <dewar@adacore.com>
-
- * a-ticoio.ads, a-ticoio.adb: Add use clause (moved here from spec)
-
- * a-coteio.ads, a-lcteio.ads, a-llctio.ads, a-scteio.ads: New files.
-
-2006-02-13 Nicolas Roche <roche@adacore.com>
-
- * a-envvar.adb, a-envvar.ads: New files.
-
-2006-02-13 Douglas Rupp <rupp@adacore.com>
-
- * s-parame-vms.ads: Renamed to s-parame-vms-alpha.ads
-
- * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: New files.
-
-2006-02-13 Pat Rogers <rogers@adacore.com>
-
- * a-rttiev.adb, a-rttiev.ads: New files.
-
-2006-02-13 Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-tiboio.adb, a-tiboio.ads, a-wwboio.adb,
- a-wwboio.ads, a-zzboio.adb, a-zzboio.ads: New files.
-
- * impunit.adb, Makefile.rtl: Added new Ada 2005 units.
-
-2006-02-13 Robert Dewar <dewar@adacore.com>
-
- * rtsfind.adb, exp_prag.adb, lib-writ.adb, par-labl.adb,
- sem_case.adb: Minor code reorganization (not Present should be No)
-
-2006-02-13 Geert Bosch <bosch@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * a-tifiio.adb (Put_Digits): Test Last against To'First - 1 instead of
- 0, since the lower bound of the actual string may be greater than one.
-
- PR ada/20753
- * a-tifiio.adb (Put): Fix condition to raise Layout_Error when invalid
- layout is requested.
-
-2006-02-13 Vincent Celier <celier@adacore.com>
-
- * back_end.adb (Scan_Compiler_Arguments): Check if
- Search_Directory_Present is True and, if it is, add the argument in
- the source search directory path.
-
- * switch-c.adb (Scan_Front_End_Switches): Accept switch "-I". Set
- Search_Directory_Present to True.
-
-2006-02-13 Joel Brobecker <brobecke@adacore.com>
-
- * bindgen.adb (Gen_Main_C): declare the ensure_reference variable as
- volatile, to tell the compiler to preserve this variable at any level
- of optimization.
- (Gen_Versions_Ada): Temporarily work around codegen bug.
-
-2006-02-13 Vincent Celier <celier@adacore.com>
-
- * gnatlink.adb (Process_Binder_File): If -shared is specified, invoke
- gcc to link with option -shared-libgcc.
- (Gnatlink): Remove duplicate switches -shared-libgcc
-
-2006-02-13 Robert Dewar <dewar@adacore.com>
-
- * gnatvsn.ads (Current_Year): New constant, used to easily update
- copyright on all GNAT tools.
-
- * gnatls.adb, gnatname.adb, vms_conv.adb: Add 2006 to displayed
- copyright notice.
-
-2006-02-13 Robert Dewar <dewar@adacore.com>
-
- * erroutc.ads, erroutc.adb (Set_Message_Blank): Don't insert space
- after hyphen (small aesthetic change useful for a range of numbers
- using ^-^.
- Suppress range checks for a couple of assignments which otherwise
- cause validity checks with validity checking turned on.
-
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Size):
- Improvement in error message for object.
- (Rep_Item_Too_Late): Remove '!' in warning message.
-
-2006-02-13 Robert Dewar <dewar@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * err_vars.ads: Suppress range checks for a couple of assignments
- which otherwise cause validity checks with validity checking turned on.
- Update comments.
-
- * errout.adb (Error_Msg_Internal): Do not suppress warning messages.
- Make message unconditional if it is a warning.
- (Error_Msg_NEL): Always output warning messages.
- Suppress range checks for a couple of assignments which otherwise
- cause validity checks with validity checking turned on.
-
- * errout.ads (Message Insertion Characters): Document that '!' is
- implied by '?' in error messages.
-
- * gnat1drv.adb: (Bad_Body): Remove '!' in warning message.
- (Gnat1drv): Use a goto to end of main subprogram instead of
- Exit_Program (E_Success) so that finalization can occur normally.
-
-2006-02-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * s-stchop.adb (Stack_Check): Raise Storage_Error if the argument has
- wrapped around.
-
-2006-02-13 Vincent Celier <celier@adacore.com>
-
- * a-direct.adb (Duration_To_Time, OS_Time_To_Long_Integer): New
- Unchecked_Conversion functions.
- (Modification_Time): Use direct conversion of OS_Time to Calendar time
- when OpenVMS returns False.
-
- * a-dirval-mingw.adb, a-dirval-vms.adb, a-dirval.ads,
- a-dirval.adb (OpenVMS): New Boolean function
-
-2006-02-13 Ed Schonberg <schonberg@adacore.com>
- Thomas Quinot <quinot@adacore.com>
-
- * checks.adb (Build_Discriminant_Checks): If the expression being
- checks is an aggregate retrieve the values of its discriminants to
- generate the check, rather than creating a temporary and a reference
- to it.
- (Apply_Access_Check): Rewritten to handle new Is_Known_Null flag
- (Install_Null_Excluding_Check): Ditto
- (Selected_Length_Checks): Build actual subtype for the original Ck_Node,
- not for the renamed object, so that the actual itype is attached in the
- proper context.
-
-2006-02-13 Robert Dewar <dewar@adacore.com>
- Vincent Celier <celier@adacore.com>
-
- * debug.adb: Eliminate numeric switches for binder/gnatmake
-
- * switch-m.adb (Normalize_Compiler_Switches): Record numeric debug
- switches for the compiler.
- (Scan_Make_Switches): Do not allow numeric debug switches for gnatmake
- (Scan_Make_Switches): When failing with an illegal switch, output an
- error message with the full switch.
- Eliminate numeric switches for binder/gnatmake
-
- * switch.ads, switch.adb (Bad_Switch): New procedure
-
- * switch-b.adb (Scan_Binder_Switches): Do not accept combined switches.
- Remove 0-9 as debug flag character possibilities
- -d is now controlling the primary stack size when its value is a
- positive. Also add checks against invalid values, and support for kb,
- mb. Ditto for -D switch.
-
-2006-02-13 Robert Dewar <dewar@adacore.com>
- Serguei Rybin <rybin@adacore.com>
-
- * opt.ads opt.adb: Add Ada_Version_Explicit_Config along with
- save/restore routines.
- Properly handle Ada_Version_Explicit and Ada_Version_Config, which
- were not always properly handled previously.
- Since we are changing the tree format anyway, also get rid of the
- junk obsolete Immediate_Errors flag.
- (Tree_Read): Change the way of reading Tree_Version_String - now we
- read the version string from the tree even if its length is not the
- same as the length of the version string computed from Gnatvsn.
- (Search_Directory_Present): New Boolean flag for the compiler.
- Define Tree_Version_String as a dynamic string.
- (Default_Stack_Size): new variable, used to handle switch -d.
-
- * par-prag.adb:
- For pragma Ada_2005, remove stuff about setting Ada_Version_Explicit
- only for main unit.
- Add pragma Ada_2005 (synonym for Ada_05)
- Properly handle Ada_Version_Explicit and Ada_Version_Config, which
- were not always properly handled previously.
-
- * directio.ads, ioexcept.ads, sequenio.ads, text_io.ads: Change
- explicit Ada_95 to Ada_2005.
-
-2006-02-13 Javier Miranda <miranda@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * einfo.ads, einfo.adb (First_Tag_Component): Protect the frontend
- against errors in the source program: a private types for which the
- corresponding full type declaration is missing and pragma CPP_Virtual
- is used.
- (Is_Unchecked_Union): Check flag on Implementation_Base_Type.
- (Is_Known_Null): New flag
- (Has_Pragma_Pure): New flag
- (No_Return): Present in all entities, set only for procedures
- (Is_Limited_Type): A type whose ancestor is an interface is limited if
- explicitly declared limited.
- (DT_Offset_To_Top_Func): New attribute that is present in E_Component
- entities. Only used for component marked Is_Tag. If present it stores
- the Offset_To_Top function used to provide this value in tagged types
- whose ancestor has discriminants.
-
- * exp_ch2.adb: Update status of new Is_Known_Null flag
-
- * sem_ch7.adb: Maintain status of new Is_Known_Null flag
-
- * sem_cat.adb (Get_Categorization): Don't treat function as Pure in
- the categorization sense if Is_Pure was set by pragma Pure_Function.
-
-2006-02-13 Quentin Ochem <ochem@adacore.com>
- Olivier Hainque <hainque@adacore.com>
-
- * bindusg.adb: Updated documentation for -d and -D switches.
-
- * raise.h (__gnat_set_globals): added new parameter for
- Default_Stack_Size.
-
- * init.c (__gnat_adjust_context_for_raise) <alpha-vms case>: Implement.
- (__gnat_handle_vms_condition): Adjust context before raise.
- (__gnat_install_handler): Restore the global vector setup for GCC
- versions before 3.4, as the frame based circtuitry is not available
- in this case.
- (__gnat_set_globals): added a parameter default_stack_size
- (__gl_default_stack_size): new variable.
-
-2006-02-13 Ed Schonberg <schonberg@adacore.com>
-
- * exp_aggr.adb (Build_Array_Aggr_Code): Rename variable
- "Others_Mbox_Present" to "Others_Box_Present" because the mbox concept
- does not exist in the Ada RM.
- (Compatible_Int_Bounds): Determine whether two integer range bounds
- are of equal length and have the same start and end values.
- (Is_Int_Range_Bounds): Determine whether a node is an integer range.
- (Build_Record_Aggr_Code): Perform proper sliding of a nested array
- aggregate when it is part of an object declaration.
- (Build_Record_Aggr_Code) If the aggregate ttype is a derived type that
- constrains discriminants of its parent, add explicitly the discriminant
- constraints of the ancestor by retrieving them from the
- stored_constraint of the parent.
-
-2006-02-13 Robert Dewar <dewar@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference, case Mechanism_Code): If
- attribute Mechanism_Code is applied to renamed subprogram, modify
- prefix to point to base subprogram.
- Max/Min attributes now violate Restriction No_Implicit_Conditionals
-
- * sinfo.ads: Document that Mechanism_Code cannot be applied to
- renamed subprograms so that the front-end must replace the prefix
- appropriately.
-
-2006-02-13 Javier Miranda <miranda@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch3.adb (Component_Needs_Simple_Initialization): Add check for
- availability of RE_Interface_Tag.
- (Build_Initialization_Call): Fix wrong access to the discriminant value.
- (Freeze_Record_Type): Do not generate the tables associated with
- timed and conditional dispatching calls through synchronized
- interfaces if compiling under No_Dispatching_Calls restriction.
- When compiling for Ada 2005, for a nonabstract
- type with a null extension, call Make_Controlling_Function_Wrappers
- and insert the wrapper function declarations and bodies (the latter
- being appended as freeze actions).
- (Predefined_Primitive_Bodies): Do not generate the bodies of the
- predefined primitives associated with timed and conditional
- dispatching calls through synchronized interfaces if we are
- compiling under No_Dispatching_Calls.
- (Build_Init_Procedure): Use RTE_Available to check if a run-time
- service is available before generating a call.
- (Make_Controlling_Function_Wrappers): New procedure.
- (Expand_N_Full_Type_Declaration): Create a class-wide master for
- access-to-limited-interfaces because they can be used to reference
- tasks that implement such limited interface.
- (Build_Offset_To_Top_Functions): Build the tree corresponding to the
- procedure spec and body of the Offset_To_Top function that is generated
- when the parent of a type with discriminants has secondary dispatch
- tables.
- (Init_Secondary_Tags): Handle the case in which the parent of the type
- containing secondary dispatch tables has discriminants to generate the
- correct arguments to call Set_Offset_To_Top.
- (Build_Record_Init_Proc): Add call to Build_Offset_To_Top_Functions.
-
- * a-tags.ads, a-tags.adb: (Check_Index): Removed.
- Add Wide_[Wide_]Expanded_Name.
- (Get_Predefined_Prim_Op_Address): New subprogram that provides exactly
- the same functionality of Get_Prim_Op_Address but applied to predefined
- primitive operations because the pointers to the predefined primitives
- are now saved in a separate table.
- (Parent_Size): Modified to get access to the separate table of primitive
- operations or the parent type.
- (Set_Predefined_Prim_Op_Address): New subprogram that provides the same
- functionality of Set_Prim_Op_Address but applied to predefined primitive
- operations.
- (Set_Signature): New subprogram used to store the signature of a DT.
- (Displace): If the Offset_To_Top value is not static then call the
- function generated by the expander to get such value; otherwise use
- the value stored in the table of interfaces.
- (Offset_To_Top): The type of the actual has been changed to Address to
- give the correct support to tagged types with discriminants. In this
- case this value is stored just immediately after the tag field.
- (Set_Offset_To_Top): Two new formals have been added to indicate if the
- offset_to_top value is static and hence pass this value to the run-time
- to store it in the table of interfaces, or else if this value is dynamic
- and then pass to the run-time the address of a function that is
- generated by the expander to provide this value for each object of the
- type.
-
- * rtsfind.ads (Default_Prin_Op_Count): Removed.
- (Default_Prim_Op_Count): New entity
- (Get_Predefined_Prim_Op_Address): New entity
- (Set_Predefined_Prim_Op_Address): New entity
- (RE_Set_Signature): New entity
-
-2006-02-13 Thomas Quinot <quinot@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch4.adb (Expand_Allocator_Expression): Pass Allocator => True to
- Make_Adjust_Call done for a newly-allocated object.
-
- * exp_ch7.ads, exp_ch7.adb (Expand_Cleanup_Actions): If the statements
- in a subprogram are wrapped in a cleanup block, indicate that the
- subprogram contains an inner block with an exception handler.
- (Make_Adjust_Call): New Boolean formal Allocator indicating whether the
- Adjust call is for a newly-allocated object. In that case we must not
- assume that the finalization list chain pointers are correct (since they
- come from a bit-for-bit copy of the original object's pointers) so if
- the attach level would otherwise be zero (no change), we set it to 4
- instead to cause the pointers to be reset to null.
-
- * s-finimp.adb (Attach_To_Final_List): New attach level: 4, meaning
- reset chain pointers to null.
-
-2006-02-13 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_Assign_Array): If the right-hand side is a
- string, and the context requires a loop for the assignment (e.g.
- because the left-hand side is packed), generate a unique name for the
- temporary that holds the string, to prevent spurious name clashes.
-
-2006-02-13 Ed Schonberg <schonberg@adacore.com>
- Javier Miranda <miranda@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch6.adb (Expand_Inlined_Call): Handle calls to functions that
- return unconstrained arrays.
- Update comments.
- (Expand_Call): An indirect call through an access parameter of a
- protected operation is not a protected call.
- Add circuit to raise CE in Ada 2005 mode following call
- to Raise_Exception.
- (Register_DT_Entry): Do nothing if
- the run-time does not give support to abstract interfaces.
- (Freeze_Subprogram): In case of dispatching operations, do not generate
- code to register the operation in the dispatch table if the source
- is compiled with No_Dispatching_Calls.
- (Register_Predefined_DT_Entry): Generate code that calls the new
- run-time subprogram Set_Predefined_Prim_Op_Address instead of
- Set_Prim_Op_Address.
-
- * sem_ch5.adb (Analyze_Assignment_Statement): Do not apply length checks
- on array assignments if the right-hand side is a function call that has
- been inlined. Check is performed on the assignment in the block.
- (Process_Bounds): If bounds and range are overloaded, apply preference
- rule for root operations to disambiguate, and diagnose true ambiguity.
- (Analyze_Assignment): Propagate the tag for a class-wide assignment with
- a tag-indeterminate right-hand side even when Expander_Active is True.
- Needed to ensure that dispatching calls to T'Input are allowed and
- get the tag of the target class-wide object.
-
- * sem_ch6.adb (New_Overloaded_Entity): Handle entities that override
- an inherited primitive operation that already overrides several
- abstract interface primitives. For transitivity, the new entity must
- also override all the abstract interface primitives covered by the
- inherited overriden primitive.
- Emit warning if new entity differs from homograph in same scope only in
- that one has an access parameter and the other one has a parameter of
- a general access type with the same designated type, at the same
- position in the signature.
- (Make_Inequality_Operator): Use source locations of parameters and
- subtype marks from corresponding equality operator when creating the
- tree structure for the implicit declaration of "/=". This does not
- change anything in behaviour except that the decoration of the
- components of the subtree created for "/=" allows ASIS to get the
- string images of the corresponding identifiers.
- (Analyze_Return_Statement): Remove '!' in warning message.
- (Check_Statement_Sequence): Likewise.
- (Analyze_Subprogram_Body): For an access parameter whose designated type
- is an incomplete type imported through a limited_with clause, use the
- type of the corresponding formal in the body.
- (Check_Returns): Implicit return in No_Return procedure now raises
- Program_Error with a compile time warning, instead of beging illegal.
- (Has_Single_Return): Function returning unconstrained type cannot be
- inlined if expression in unique return statement is not an identifier.
- (Build_Body_To_Inline): It is possible to inline a function call that
- returns an unconstrained type if all return statements in the function
- return the same local variable. Subsidiary procedure Has_Single_Return
- verifies that the body conforms to this restriction.
-
- * sem_res.adb (Resolve_Equality_Op): If the operands do not have the
- same type, and one of them is of an anonymous access type, convert
- the other operand to it, so that this is a valid binary operation for
- gigi.
- (Resolve_Type_Conversion): Handle subtypes of protected types and
- task types when accessing to the corresponding record type.
- (Resolve_Allocator): Add '\' in 2-line warning message.
- Remove '!' in warning message.
- (Resolve_Call): Add '\' in 2-line warning message.
- (Valid_Conversion): Likewise.
- (Resolve_Overloaded_Selected_Component): If disambiguation succeeds, the
- resulting type may be an access type with an implicit dereference.
- Obtain the proper component from the designated type.
- (Make_Call_Into_Operator): Handle properly a call to predefined equality
- given by an expanded name with prefix Standard, when the operands are
- of an anonymous access type.
- (Check_Fully_Declared_Prefix): New procedure, subsidiary of Resolve_
- Explicit_Dereference and Resolve_Selected_Component, to verify that the
- prefix of the expression is not of an incomplete type. Allows full
- diagnoses of all semantic errors.
- (Resolve_Actuals): If the actual is an allocator whose directly
- designated type is a class-wide interface we build an anonymous
- access type to use it as the type of the allocator. Later, when
- the subprogram call is expanded, if the interface has a secondary
- dispatch table the expander will add a type conversion to force
- the displacement of the pointer.
- (Resolve_Call): If a function that returns an unconstrained type is
- marked Inlined_Always and inlined, the call will be inlined and does
- not require the creation of a transient scope.
- (Check_Direct_Boolean_Op): Removed
- (Resolve_Comparison_Op): Remove call to above
- (Resolve_Equality_Op): Remove call to above
- (Resolve_Logical_Op): Inline above, since this is only call.
- (Valid_Conversion): Handle properly conversions between arrays of
- convertible anonymous access types.
-
- PR ada/25885
- (Set_Literal_String_Subtype): If the lower bound is not static, wrap
- the literal in an unchecked conversion, because GCC 4.x needs a static
- value for a string bound.
-
-2006-02-13 Ed Schonberg <schonberg@adacore.com>
- Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch9.adb (Expand_N_Protected_Type_Declaration): When creating the
- components of the corresponding record, take into account component
- definitions that are access definitions.
- (Expand_N_Asynchronous_Select): A delay unit statement rewritten as a
- procedure is not considered a dispatching call and will be expanded
- properly.
-
-2006-02-13 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.ads, exp_disp.adb (Expand_Dispatching_Call): If the
- controlling argument of the dispatching call is an abstract interface
- class-wide type then we use it directly.
- Check No_Dispatching_Calls restriction.
- (Default_Prim_Op_Position): Remove the code that looks for the last
- entity in the list of aliased subprograms. This code was wrong in
- case of renamings.
- (Fill_DT_Entry): Add assertion to avoid the use of this subprogram
- when the source is compiled with the No_Dispatching_Calls restriction.
- (Init_Predefined_Interface_Primitives): No need to inherit primitives
- if we are compiling with restriction No_Dispatching_Calls.
- (Make_Disp_XXX): Addition of assertion to avoid the use of all these
- subprograms if we are compiling under No_Dispatching_Calls restriction.
- (Make_DT): Generate a dispatch table with a single dummy entry if
- we are compiling with the No_Dispatching_Calls restriction. In
- addition, in this case we don't generate code that calls to the
- following run-time subprograms: Set_Type_Kind, Inherit_DT.
- (Make_Select_Specific_Data_Table): Add assertion to avoid the use
- of this subprogram if compiling with the No_Dispatching_Calls
- restriction.
- (Expand_Type_Conversion): Instead of using the actual parameter,
- the argument passed as parameter to the conversion function was
- erroneously referenced by the expander.
- (Ada_Actions): Addition of Get_Predefined_Prim_Op_Address,
- Set_Predefined_Primitive_Op_Address and Set_Signature.
- (Expand_Dispatching_Call): Generate call to
- Get_Predefined_Prim_Op_Address for predefined primitives.
- (Fill_DT_Entry): Generate call to Set_Predefined_Prim_Op_Address for
- predefined primitives.
- (Make_DT, Make_Secondary_DT): If the tagged type has no user defined
- primitives we reserve one dummy entry to ensure that the tag does not
- point to some memory that is associated with some other object. In
- addition, remove all the old code that generated the assignments
- associated with the signature of the dispatch table and replace them
- by a call to the new subprogram Set_Signature.
- (Set_All_DT_Position): Change the algorithm because now we have a
- separate dispatch table associated with predefined primitive operations.
- (Expand_Interface_Conversion): In case of non-static offset_to_top
- add explicit dereference to get access to the object after the call
- to displace the pointer to the object.
- (Expand_Interface_Thunk): Modify the generation of the actual used
- in the calls to the run-time function Offset_To_Top to fulfil its
- new interface.
- (Make_DT): Add the new actuals required to call Set_Offset_To_Top.
-
-2006-02-13 Ed Schonberg <schonberg@adacore.com>
-
- * exp_dist.adb (Copy_Specification): For access parameters, copy
- Null_Exclusion flag, which will have been set for stream subprograms
- in Ada2005 mode.
-
-2006-02-13 Pascal Obry <obry@adacore.com>
-
- * expect.c (__gnat_expect_portable_execvp): New implementation. The
- previous implementation was using the C runtime spawnve routine but
- the corresponding wait was using directly the Win32 API. This was
- causing some times a lock when waiting for an event using
- WaitForSingleObject in __gnat_waitpid. This new implementation uses
- the Win32 CreateProcess routine. Avoiding mixing C runtime and Win32
- API fixes this problem.
-
-2006-02-13 Robert Dewar <dewar@adacore.com>
-
- * exp_intr.adb (Expand_Unc_Deallocation): Correct error of bad analyze
- call.
-
-2006-02-13 Thomas Quinot <quinot@adacore.com>
-
- * exp_pakd.ads: Fix typos in comments.
-
- * exp_pakd.adb (Convert_To_PAT_Type): For the case of a bit packed
- array reference that is an explicit dereference, mark the converted
- (packed) array reference as analyzed to prevent a forthcoming
- reanalysis from resetting its type to the original (non-packed) array
- type.
-
-2006-02-13 Ed Schonberg <schonberg@adacore.com>
- Javier Miranda <miranda@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_util.ads, exp_util.adb (Find_Prim_Op,
- Is_Predefined_Primitive_Operation): When
- searching for the predefined equality operator, verify that operands
- have the same type.
- (Is_Predefined_Dispatching_Operation): Remove the code that looks
- for the last entity in the list of aliased subprograms. This code
- was wrong in case of renamings.
- (Set_Renamed_Subprogram): New procedure
- (Remove_Side_Effects): Replace calls to Etype (Exp) with use of the
- Exp_Type constant computed when entering this subprogram.
- (Known_Null): New function
- (OK_To_Do_Constant_Replacement): New function
- (Known_Non_Null): Check scope before believing Is_Known_Non_Null flag
- (Side_Effect_Free): An attribute reference 'Input is not free of
- side effect, unlike other attributes that are functions. (from code
- reading).
- (Remove_Side_Effects): Expressions that involve packed arrays or records
- are copied at the point of reference, and therefore must be marked as
- renamings of objects.
- (Is_Predefined_Dispatching_Operation): Return false if the operation is
- not a dispatching operation.
-
- PR ada/18819
- (Remove_Side_Effects): Lift enclosing type conversion nodes for
- elementary types in all cases.
-
-2006-02-13 Javier Miranda <miranda@adacore.com>
-
- * freeze.adb (Freeze_Entity): Handle subtypes of protected types and
- task types when accessing to the corresponding record type.
- Remove '!' in warning message.
-
-2006-02-13 Olivier Hainque <hainque@adacore.com>
-
- * g-altive.ads (VECTOR_ALIGNMENT): Set to Min (16, Max_Alignment),
- to avoid useless and space inefficient overalignments on targets where
- Max_Alignment is larger than 16.
-
-2006-02-13 Pascal Obry <obry@adacore.com>
-
- * g-catiio.adb (Sec_Number): New type used to compute the number of
- seconds since 1-1-1970.
- (Image) [Natural]: The parameter was an Integer, as we can't deal with
- negative numbers (years, months...) it is better to have a Natural here.
- Code clean-up.
- (Image) [Number]: Change parameter from Long_Integer to Number.
- (Image): Use Number type to compute the seconds since 1-1-1970 to fix an
- overflow for dates past year 2038.
-
-2006-02-13 Matthew Heaney <heaney@adacore.com>
-
- * g-dyntab.adb (Index_Of): conversion from Natural can no longer raise
- Constraint_Error.
-
-2006-02-13 Arnaud Charlet <charlet@adacore.com>
-
- * gnatbind.adb (Scan_Bind_Arg): Replace error by warning on -M and
- native platforms.
- (Gnatbind): Do not call Exit_Program (E_Success) at the end, so that
- finalization can occur normally.
-
-2006-02-13 Vincent Celier <celier@adacore.com>
-
- * gnatcmd.adb (Rules_Switches): New table
- (Add_To_Rules_Switches): New procedure
- (GNATCmd): For command CHECK, put all options following "-rules" in the
- Rules_Switches table. Append these -rules switches after the -cargs
- switches.
-
-2006-02-13 Robert Dewar <dewar@adacore.com>
-
- * g-spipat.adb (Image, case PC_Assign_Imm and case PC_Assign_OnM):
- These two cases were generating incorrect output, and if this unit
- was built with checks on, generated a discriminant mismatch constraint
- error.
-
-2006-02-13 Ed Schonberg <schonberg@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * lib-xref.adb (Get_Type_Reference): For a private type whose full
- view is an array type, indicate the component type as well, for
- navigation purposes.
- (Generate_Reference): Don't consider array ref on LHS to be a case
- of violating pragma Unreferenced.
- Do not give Ada 2005 warning except on real reference.
-
-2006-02-13 Vincent Celier <celier@adacore.com>
-
- * make.adb (Collect_Arguments_And_Compile): For VMS, when compiling the
- main source, add switch -mdebug-main=_ada_ so that the executable can
- be debugged by the standard VMS debugger.
- (Gnatmake): Set No_Main_Subprogram to True when there is no main
- subprogram, to avoid issuing -mdebug-main=_ada_ for VMS uselessly.
- Exit the Multi_Main_Loop when Unique_Compile is True after compilation
- of the last source, as the binding and linking phases are never
- performed.
- Set all executable obsolete when rebuilding a library.
-
- * makeutl.adb (Linker_Options_Switches): Do not process empty linker
- options.
-
-2006-02-13 Javier Miranda <miranda@adacore.com>
-
- PR ada/23973
- * par-ch3.adb (P_Derived_Type_Def_Or_Private_Ext_Decl): Reorganize the
- code to improve the error message reported when the program has
- declarations of abstract interface types and it is not compiled with
- the -gnat05 switch.
- (P_Access_Definition): Reorganize the code to improve the error
- message reported when the new Ada 2005 syntax for anonymous
- access types is used and the program is not compiled with the
- -gnat05 switch.
-
-2006-02-13 Robert Dewar <dewar@adacore.com>
-
- * par-ch6.adb, style.ads, styleg.adb, styleg.ads, stylesw.adb,
- stylesw.ads, usage.adb, vms_data.ads: Implement -gnatyI switch
- (MODE_IN)
-
-2006-02-13 Javier Miranda <miranda@adacore.com>
-
- * par-endh.adb (Explicit_Start_Label): Add code to protect the parser
- against source containing syntax errors.
-
-2006-02-13 Vincent Celier <celier@adacore.com>
-
- * prj.adb (Reset): Initialize the first element of table Namings with
- the standard naming data.
-
-2006-02-13 Vincent Celier <celier@adacore.com>
-
- * prj.ads (Error_Warning): New enumeration type
-
- * prj-nmsc.ads, prj-nmsc.adb (Error_Msg): If location parameter is
- unknown, use the location of the project to report the error.
- (When_No_Sources): New global variable
- (Report_No_Ada_Sources): New procedure
- (Check): New parameter When_No_Sources. Set value of global variable
- When_No_Sources,
- (Find_Sources): Call Report_No_Ada_Sources when appropriate
- (Get_Sources_From_File): Ditto
- (Warn_If_Not_Sources): Better warning messages indicating the unit name
- and the file name.
-
- * prj-pars.ads, prj-pars.adb (Parse): New parameter When_No_Sources.
- Call Prj.Proc.Process with parameter When_No_Sources.
-
- * prj-proc.ads, prj-proc.adb (Check): New parameter When_No_Sources.
- Call Recursive_Check with parameter When_No_Sources.
- (Recursive_Check): New parameter When_No_Sources. Call itself and
- Prj.Nmsc.Check with parameter When_No_Sources.
- (Process): New parameter When_No_Sources. Call Check with parameter
- When_No_Sources.
- (Copy_Package_Declarations): New procedure to copy renamed parameters
- and setting the location of the declared attributes to the location
- of the renamed package.
- (Process_Declarative_Items): Call Copy_Package_Declarations for renamed
- packages.
-
-2006-02-13 Vincent Celier <celier@adacore.com>
-
- * prj-makr.adb (Make): Preserve the comments from the original project
- file.
- When removing nodes (attributes Source_Dirs, Source_Files,
- Source_List_File and package Naming), save the comments and attach the
- saved comments to the newly created nodes.
- Do not add a with clause for the naming package if one already exists.
-
-2006-02-13 Javier Miranda <miranda@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * restrict.ads (No_Dispatching_Calls): New GNAT restriction.
-
- * sem_disp.adb (Override_Dispatching_Operation): Traverse the list of
- aliased entities to look for the overriden abstract interface
- subprogram.
- (Is_Interface_Subprogram): Complete documentation.
- (Check_Dispatching_Operation): Do not generate code to register the
- operation in the dispatch table if the source is compiled with
- restriction No_Dispatching_Calls.
- (Override_Dispatching_Operation): Check for illegal attempt to override
- No_Return procedure with procedure that is not No_Return
- (Check_Dispatching_Call): Suppress the check for an abstract operation
- when the original node of an actual is a tag-indeterminate attribute
- call, since the attribute, which must be 'Input, can never be abstract.
- (Is_Tag_Indeterminate): Handle checking of tag indeterminacy of a
- call to the Input attribute (even when rewritten).
- (Propagate_Tag): Augment comment to indicate the possibility of a call
- to an Input attribute.
-
- * sem_disp.ads (Override_Dispatching_Operation): Moved to spec to allow
- calling it from Exp_Ch3.Make_Controlling_Function_Wrappers.
-
- * s-rident.ads: (No_Dispatching_Calls): New GNAT restriction.
- No_Wide_Characters is no longer partition-wide
- No_Implementation_Attributes/Pragmas are now Ada 2005 (AI-257)
- rather than GNAT
-
-2006-02-13 Douglas Rupp <rupp@adacore.com>
-
- * s-auxdec-vms_64.ads (Short_Address): Wrap it in a type.
-
-2006-02-13 Javier Miranda <miranda@adacore.com>
-
- * sem_aggr.adb (Resolve_Record_Aggregate): Restructure the code that
- handles default-initialized components to keep separate the management
- of this feature but also avoid the unrequired resolution and
- expansion of components that do not have partially initialized
- values.
- (Collect_Aggr_Bounds): Add '\' in 2-line warning message.
- (Check_Bounds): Likewise.
- (Check_Length): Likewise.
-
-2006-02-13 Javier Miranda <miranda@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb (Analyze_Attribute): In case of 'Class applied to an
- abstract interface type call analyze_and_resolve to expand the type
- conversion into the corresponding displacement of the
- reference to the base of the object.
- (Eval_Attribute, case Width): For systems where IEEE extended precision
- is supported, the maximum exponent occupies 4 decimal digits.
- (Accessibility_Message): Add '\' in 2-line warning message.
- (Resolve_Attribute): Likewise.
- (case Attribute_Access): Significantly revise checks
- for illegal access-to-subprogram Access attributes to properly enforce
- the rules of 3.10.2(32/2).
- Diagnose use of current instance with an illegal attribute.
-
- * sem_util.ads, sem_util.adb (Enclosing_Generic_Body): Change formal
- to a Node_Id.
- (Enclosing_Generic_Unit): New function to return a node's innermost
- enclosing generic declaration node.
- (Compile_Time_Constraint_Error): Remove '!' in warning messages.
- (Type_Access_Level): The accessibility level of anonymous acccess types
- associated with discriminants is that of the current instance of the
- type, and that's deeper than the type itself (AARM 3.10.2 (12.3.21)).
- (Compile_Time_Constraint_Error): Handle case of conditional expression.
- (Kill_Current_Values_For_Entity): New function
- (Enter_Name): Change formal type to Entity_Id
-
-2006-02-13 Hristian Kirtchev <kirtchev@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch10.adb (Check_Redundant_Withs): New procedure in
- Analyze_Compilation_Unit.
- Detect and warn on redundant with clauses detected in a package spec
- and/or body when -gnatwr is used.
- (Analyze_Context): Analyze config pragmas before other items
- (Install_Context_Items): Don't analyze config pragmas here
- (Install_Limited_Withed_Unit): Set limited entity of package in
- with_clause so that cross-reference information or warning messages on
- unused packages can be properly generated
- (Is_Visible_Through_Renamings): Return false if the limited_with_clause
- has Error_Posted set. Prevent infinite loops in illegal programs.
- (Check_Private_Child_Unit): Move test for a nonprivate with clause down
- to the point of the error test requiring the current unit to be private.
- This ensures that private with clauses are not exempted from the basic
- checking for being a descendant of the same library unit parent as a
- withed private descendant unit.
- (Check_Private_Limited_Withed_Unit): Revise the checking algorithm to
- handle private with clauses properly, as well as to account for cases
- where the withed unit is a public descendant of a private ancestor
- (in which case the current unit must be a descendant of the private
- ancestor's parent). The spec comments were updated accordingly. Also,
- the old error message in this subprogram was replaced with error
- messages that mirror the errors tested and reported by
- Check_Private_Child_Unit.
- Parameter and variable names improved for readability.
- (Install_Limited_Context_Clauses): Remove test for a withed unit being
- private as the precondition for calling
- Check_Private_Limited_Withed_Unit since that subprogram has been
- revised to test public units as well as private units.
-
-2006-02-13 Thomas Quinot <quinot@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * sem_ch12.adb (Inline_Instance_Body): Remove erroneous assumption
- that Scope_Stack.First = 1.
- Properly handle Ada_Version_Explicit and Ada_Version_Config, which
- were not always properly handled previously.
- (Formal_Entity): Complete rewrite, to handle properly some complex case
- with multiple levels of parametrization by formal packages.
- (Analyze_Formal_Derived_Type): Propagate Ada 2005 "limited" indicator
- to the corresponding derived type declaration for proper semantics.
-
- * sem_prag.adb (Analyze_Pragma): Remove '!' in warning message.
- (Check_Component): Enforce restriction on components of
- unchecked_unions: a component in a variant cannot contain tasks or
- controlled types.
- (Unchecked_Union): Allow nested variants and multiple discriminants, to
- conform to AI-216.
- Add pragma Ada_2005 (synonym for Ada_05)
- Properly handle Ada_Version_Explicit and Ada_Version_Config, which
- were not always properly handled previously.
- Document that pragma Propagate_Exceptions has no effect
- (Analyze_Pragma, case Pure): Set new flag Has_Pragma_Pure
- (Set_Convention_From_Pragma): Check that if a convention is
- specified for a dispatching operation, then it must be
- consistent with the existing convention for the operation.
- (CPP_Class): Because of the C++ ABI compatibility, the programmer is no
- longer required to specify an vtable-ptr component in the record. For
- compatibility reasons we leave the support for the previous definition.
- (Analyze_Pragma, case No_Return): Allow multiple arguments
-
- * sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Flag a
- non-overrideen inherited operation with a controlling result as
- illegal only its implicit declaration comes from the derived type
- declaration of its result's type.
- (Check_Possible_Deferred_Completion): Relocate the object definition
- node of the subtype indication of a deferred constant completion rather
- than directly analyzing it. The analysis of the generated subtype will
- correctly decorate the GNAT tree.
- (Record_Type_Declaration): Check whether this is a declaration for a
- limited derived record before analyzing components.
- (Analyze_Component_Declaration): Diagnose record types not explicitly
- declared limited when a component has a limited type.
- (Build_Derived_Record_Type): Code reorganization to check if some of
- the inherited subprograms of a tagged type cover interface primitives.
- This check was missing in case of a full-type associated with a private
- type declaration.
- (Constant_Redeclaration): Check that the subtypes of the partial and the
- full view of a constrained deferred constant statically match.
- (Mentions_T): A reference to the current type in an anonymous access
- component declaration must be an entity name.
- (Make_Incomplete_Type_Declaration): If type is tagged, set type of
- class_wide type to refer to full type, not to the incomplete one.
- (Add_Interface_Tag_Components): Do nothing if RE_Interface_Tag is not
- available. Required to give support to the certified run-time.
- (Analyze_Component_Declaration): In case of anonymous access components
- perform missing checks for AARM 3.9.2(9) and 3.10.2 (12.2).
- (Process_Discriminants): For an access discriminant, use the
- discriminant specification as the associated_node_for_itype, to
- simplify accessibility checks.
-
-2006-02-13 Ed Schonberg <schonberg@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * sem_ch4.adb (Remove_Abstract_Interpretations): Even if there are no
- abstract interpretations on an operator, remove interpretations that
- yield Address or a type derived from it, if one of the operands is an
- integer literal.
- (Try_Object_Operation.Try_Primitive_Operation,
- Try_Object_Operation.Try_Class_Wide_Operation): Set proper source
- location when creating the new reference to a primitive or class-wide
- operation as a part of rewriting a subprogram call.
- (Try_Primitive_Operations): If context requires a function, collect all
- interpretations after the first match, because there may be primitive
- operations of the same type with the same profile and different return
- types. From code reading.
- (Try_Primitive_Operation): Use the node kind to choose the proper
- operation when a function and a procedure have the same parameter
- profile.
- (Complete_Object_Operation): If formal is an access parameter and prefix
- is an object, rewrite as an Access reference, to match signature of
- primitive operation.
- (Find_Equality_Type, Find_One_Interp): Handle properly equality given
- by an expanded name with prefix Standard, when the operands are of an
- anonymous access type.
- (Remove_Abstract_Operations): If the operation is abstract because it is
- inherited by a user-defined type derived from Address, remove it as
- well from the set of candidate interpretations of an overloaded node.
- (Analyze_Membership_Op): Membership test not applicable to cpp-class
- types.
-
-2006-02-13 Bob Duff <duff@adacore.com>
-
- * sem_ch8.adb (Note_Redundant_Use): Suppress unhelpful warning about
- redundant use clauses.
- In particular, if the scope of two use clauses overlaps, but one is not
- entirely included in the other, we should not warn. This can happen
- with nested packages.
- (Analyze_Subprogram_Renaming): Protect the compiler against previously
- reported errors. The bug was reported when the compiler was built
- with assertions enabled.
- (Find_Type): If the node is a 'Class reference and the prefix is a
- synchronized type without a corresponding record, return the type
- itself.
-
-2006-02-13 Javier Miranda <miranda@adacore.com>
-
- * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): Check that
- if this is the full-declaration associated with a private declaration
- that implement interfaces, then the private type declaration must be
- limited.
- (Analyze_Single_Protected, Analyze_Single_Task): Do not mark the object
- as aliased. The use of the 'access attribute is not available for such
- object (for this purpose the object should be explicitly marked as
- aliased, but being an anonymous type this is not possible).
-
-2006-02-13 Ed Schonberg <schonberg@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * sem_elab.adb (Same_Elaboration_Scope): A package that is a
- compilation unit is an elaboration scope.
- (Add_Task_Proc): Add '\' in 2-line warning message.
- (Activate_All_Desirable): Deal with case of unit with'ed by parent
-
-2006-02-13 Ed Schonberg <schonberg@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * sem_type.adb (Write_Overloads): Improve display of candidate
- interpretations.
- (Add_One_Interp): Do not add to the list of interpretations aliased
- entities corresponding with an abstract interface type that is an
- immediate ancestor of a tagged type; otherwise we have a dummy
- conflict between this entity and the aliased entity.
- (Disambiguate): The predefined equality on universal_access is not
- usable if there is a user-defined equality with the proper signature,
- declared in the same declarative part as the designated type.
- (Find_Unique_Type): The universal_access equality operator defined under
- AI-230 does not cover pool specific access types.
- (Covers): If one of the types is a generic actual subtype, check whether
- it matches the partial view of the other type.
-
-2006-02-13 Thomas Quinot <quinot@adacore.com>
-
- * sinput-d.adb (Write_Line): Update the Source_Index_Table after each
- line. This is necessary to allow In_Extended_Main_Unit to provide
- correct results for itypes while writing out expanded source.
- (Close_File): No need to update the source_index_table here since it's
- now done for each line.
-
-2006-02-13 Ed Schonberg <schonberg@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * sprint.adb (Write_Itype): Preserve Sloc of declaration, if any, to
- preserve the source unit where the itype is declared, and prevent a
- backend abort.
- (Note_Implicit_Run_Time_Call): New procedure
- (Write_Itype): Handle missing cases (E_Class_Wide_Type and
- E_Subprogram_Type)
-
- * sprint.ads: Document use of $ for implicit run time routine call
-
-2006-02-13 Quentin Ochem <ochem@adacore.com>
-
- * s-stausa.adb (Initialize_Analyzer): fixed error in assignment of
- task name.
-
-2006-02-13 Bob Duff <duff@adacore.com>
-
- * s-valint.adb (Scan_Integer): Call Scan_Raw_Unsigned instead of
- Scan_Unsigned, so we do not scan leading blanks and sign twice.
- Integer'Value("- 5") and Integer'Value("-+5") now correctly
- raise Constraint_Error.
-
- * s-vallli.adb (Scan_Long_Long_Integer): Call
- Scan_Raw_Long_Long_Unsigned instead of Scan_Long_Long_Unsigned, so we
- do not scan leading blanks and sign twice.
- Integer'Value("- 5") and Integer'Value("-+5") now correctly
- raise Constraint_Error.
-
- * s-valllu.ads, s-valllu.adb (Scan_Raw_Long_Long_Unsigned,
- Scan_Long_Long_Unsigned): Split out most of the processing from
- Scan_Long_Long_Unsigned out into
- Scan_Raw_Long_Long_Unsigned, so that Val_LLI can call the Raw_ version.
- This prevents scanning leading blanks and sign twice.
- Also fixed a bug: Modular'Value("-0") should raise Constraint_Error
- See RM-3.5(44).
-
- * s-valuns.ads, s-valuns.adb (Scan_Raw_Unsigned, Scan_Unsigned): Split
- out most of the processing from Scan_Unsigned out into
- Scan_Raw_Unsigned, so that Val_LLI can call the Raw_ version.
- This prevents scanning leading blanks and sign twice.
-
- * s-valuti.ads, s-valuti.adb (Scan_Plus_Sign): Add Scan_Plus_Sign, for
- use with Modular'Value attribute.
- (Scan_Plus_Sign): Add Scan_Plus_Sign, for use with Modular'Value
- attribute.
-
-2006-02-13 Robert Dewar <dewar@adacore.com>
-
- * s-wchjis.adb (JIS_To_EUC): Raise Constraint_Error for invalid value
-
-2006-02-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * tracebak.c (PPC AIX/Darwin): Define FORCE_CALL to 1.
- (PPC VxWorks): Likewise.
- (Generic unwinder): Define FORCE_CALL to 0 if not already defined.
- (forced_callee): Make non-inlinable and non-pure.
- (__gnat_backtrace): Call forced_callee if FORCE_CALL is set to 1.
-
-2006-02-13 Arnaud Charlet <charlet@adacore.com>
- Ben Brosgol <brosgol@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi, gnat_ugn.texi: Remove limitations with sparc m64
- support.
- Document that gnatbind -M option is for cross environments only.
- Added description of using gnatmem to trace gnat rtl allocs and deallocs
- Add note on use of $ to label implicit run time calls
- Add documentation for -gnatyI (check mode IN)
- Updated chapter on compatibility with HP Ada
- VMS-oriented edits.
- Ran spell and corrected errors
- Add documentation for gnatbind -d and rework documentation of -D
- at the same time.
- Add subprogram/data elimination section.
- Minor editing of annex A.
- Add section for gnatcheck.
- Add documentation for restriction No_Dispatching_Calls
- Add documentation for pragma Ada_2005
- Remove mention of obsolete pragma Propagate_Exceptions
- Document that pragma Unreferenced can appear after DO in ACCEPT
- Clarify Pure_Function for library level units
- Mention Max/Min in connection with No_Implicit_Conditionals
- No_Wide_Characters restriction is no longer partition-wide
- Add a nice example for Universal_Literal_String attribute
- Document that pragma No_Return can take multiple arguments
-
- * ug_words: Added entry for gnatcheck
-
- * g-ctrl_c.ads (Install_Handler): Enhance comments
-
- * g-os_lib.ads: Add comments to OS_Exit that it is abrupt termination
-
- * g-trasym.ads: Add documentation on how to do off line symbolic
- traceback computation.
-
- * s-fatgen.adb: Add comments for Unaligned_Valid
-
- * stand.ads: Fix typo in comment
-
-2006-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * Make-lang.in (check-gnat): Run run_acats with $(SHELL).
-
-2006-02-06 Roger Sayle <roger@eyesopen.com>
-
- * decl.c (gnat_substitute_in_type): Don't handle CHAR_TYPE.
-
-2006-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR target/25926
- * initialize.c (__gnat_initialize): Provide HP-UX 10 host and target
- implementation that calls __main.
-
-2006-01-25 Peter O'Gorman <peter@pogma.com>
-
- PR bootstrap/25859
- * Makefile.in (GCC_LINK): Remove quotes.
- (tools targets): Link with either $(GNATLINK) --GCC="$(GCC_LINK)"
- or $(GCC_LINK).
-
- (powerpc-darwin): Pass -shared-libgcc when building shared library.
-
-2006-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR ada/24533
- * s-osinte-linux-hppa.ads: Reduce alignment of atomic_lock_t to 8.
-
-2005-12-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * s-osinte-linux-hppa.ads: Correct alignment of atomic_lock_t.
-
-2005-12-12 Arnaud Charlet <charlet@adacore.com>
-
- * Makefile.in: Remove dummy setting of GCC_FOR_TARGET, no longer
- needed.
-
-2005-12-12 Arnaud Charlet <charlet@adacore.com>
-
- * Make-lang.in: Update dependencies
-
-2005-12-12 Arnaud Charlet <charlet@adacore.com>
-
- * Make-lang.in: Add rule for ada/exp_sel.o
-
-2005-12-12 Arnaud Charlet <charlet@adacore.com>
-
- * Makefile.in (mingw section): Remove EH_MECHANISM setting.
-
-2005-12-09 Arnaud Charlet <charlet@adacore.com>
-
- * gnatvsn.ads (Library_Version): Bump to version 4.2
- (ASIS_Version_Number): Bumped.
-
-2005-12-09 Doug Rupp <rupp@adacore.com>
-
- * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb (Is_Interface): Change
- Ada bind file prefix on VMS from b$ to b__.
- (Build_Dynamic_Library): Change Init file suffix on VMS from $init to
- __init.
-
- * prj-nmsc.adb: Change some Hostparm.OpenVMS checks to
- Targparm.OpenVMS_On_Target.
- (Object_Suffix): Initialize with target object suffix.
- (Get_Unit): Change Ada bind file prefix on VMS from b$ to b__.
-
- * butil.adb: Change some Hostparm.OpenVMS checks to
- Targparm.OpenVMS_On_Target.
-
- * clean.adb: Change some Hostparm.OpenVMS checks to
- Targparm.OpenVMS_On_Target.
- (Object_Suffix): Initialize with call to Get_Target_Object_Suffix.
- ({declaraction},Delete_Binder_Generated_Files,{initialization}): Change
- Ada bind file prefix on VMS from b$ to b__.
-
- * gnatlink.adb (Process_Args): Call Add_Src_Search_Dir for -I in
- --GCC so that Get_Target_Parameters can find system.ads.
- (Gnatlink): Call Get_Target_Parameters in mainline.
- Initialize standard packages for Targparm.
- Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
- (Process_Args): Also Check for object files with target object
- extension.
- (Make_Binder_File_Names): Create with target object extension.
- (Make_Binder_File_Names): Change Ada bind file prefix on VMS from b$
- to b__.
-
- * mlib-prj.adb: Change some Hostparm.OpenVMS checks to
- Targparm.OpenVMS_On_Target.
- ({declaration},Build_Library,Check_Library): Change Ada bind file
- prefix on VMS from b$ to b__.
-
- * osint-b.adb: Change some Hostparm.OpenVMS checks to
- Targparm.OpenVMS_On_Target.
- (Create_Binder_Output): Change Ada bind file prefix on VMS from b$ to
- b__.
-
- * targext.c: New file.
-
- * Makefile.in: add support for vxworks653 builds
- (../../vxaddr2line): gnatlink with targext.o.
- (TOOLS_LIBS): Move targext.o to precede libgnat.
- (init.o, initialize.o): Minor clean up in dependencies.
- (GNATLINK_OBJS): Add targparm.o, snames.o
- Add rules fo building targext.o and linking it explicitly with all
- tools.
- Also add targext.o to gnatlib.
-
- * Make-lang.in: Add rules for building targext.o and linking it in
- with gnat1 and gnatbind.
- Add entry for exp_sel.o.
-
- * osint.adb Change some Hostparm.OpenVMS checks to
- Targparm.OpenVMS_On_Target.
- (Object_File_Name): Use target object suffix.
-
- * osint.ads (Object_Suffix): Remove, no longer used.
- (Target_Object_Suffix): Initialize with target object suffix.
-
- * rident.ads: Add special exception to license.
-
- * targparm.adb (Get_Target_Parameters): Set the value of
- Multi_Unit_Index_Character after OpenVMS_On_Target gets its definitive
- value.
- (Get_Target_Parameters): Set OpenVMS_On_Target if openvms.
-
- * targparm.ads: Add special exception to license.
-
- * g-os_lib.ads, g-os_lib.adb (Get_Target_Debuggable_Suffix): New
- function.
- (Copy_File): Make sure from file is closed if error on to file
- (Get_Target_Executable_Suffix, Get_Target_Object_Suffix): New functions.
-
- * make.adb (Object_Suffix): Intialize with Get_Target_Object_Suffix.
- (Executable_Suffix): Intialize with Get_Target_Executable_Suffix.
-
- * osint-c.adb (Set_Output_Object_File_Name): Initialize extension with
- target object suffix.
-
-2005-12-09 Jose Ruiz <ruiz@adacore.com>
- Quentin Ochem <ochem@adacore.com>
- Florian Villoing <villoing@adacore.com>
-
- * a-taster.ads, a-taster.adb: New files.
-
- * a-elchha.adb (Last_Chance_Handler): Change the task termination soft
- link to the version that does nothing. This way the task termination
- routine is not executed twice for the environment task when finishing
- because of an unhandled exception.
-
- * a-exextr.adb (Notify_Unhandled_Exception): Call the task termination
- handler because of an unhandled exception.
-
- * a-taside.adb (Abort_Tasks): Call the Abort_Tasks procedure from
- System.Tasking.Utilities instead of that in System.Tasking.Stages.
-
- * s-finimp.adb (initialization code): Modify the soft link for the
- finalization of the global list instead of Adafinal.
-
- * s-soflin.ads, s-soflin.adb (Task_Termination_NT): Add this
- non-tasking version of the soft link for task termination. We do
- nothing since if we are using the non-tasking version it
- means that the task termination functionality is not used.
- (Null_Finalize_Global_List): Add this null version for the procedure
- in charge of finalizing the global list for controlled objects.
- (Null_Adafinal): Remove this procedure. Adafinal_NT has been created
- instead for handling run-time termination in a more flexible way.
- (Adafinal_NT): This new procedure will take care of finalizing the
- global list for controlled objects if needed, but no tasking
- finalization.
-
- * s-tarest.adb (Task_Lock): Do not try to lock again the
- Global_Task_Lock if we already own it. Otherwise, we get blocked in
- some run-time operations.
- (Task_Unlock): Do not try to actually unlock the Global_Task_Lock
- until all nested locks have been released.
- (Task_Wrapper): Call the fall-back task termination handler. It
- applies to all tasks but the environment task.
- (Finalize_Global_Tasks): Add the call for the task termination
- procedure for the environment task.
- (Task_Wrapper): suppress warnings around declaration of
- Secondary_Stack_Address.
-
- * s-tasini.adb (Final_Task_Unlock): Global_Task_Lock_Nesting has been
- moved to the Common_ATCB record.
- (Task_Lock): Global_Task_Lock_Nesting has been moved to the
- Common_ATCB record.
- (Task_Unlock): Global_Task_Lock_Nesting has been moved to the
- Common_ATCB record.
-
- * s-taskin.adb (Initialize_ATCB): Initialize Global_Task_Lock_Nesting,
- Fall_Back_Handler, and Specific_Handler.
-
- * s-taskin.ads (Cause_Of_Termination): Redefine this type here, already
- defined in Ada.Task_Termination, to avoid circular dependencies.
- (Termination_Handler): Redefine this type here, alredy defined in
- Ada.Task_Termination, for avoiding circular dependencies.
- (Common_ATCB): Add the Fall_Back_Handler and Specific_Handler required
- for storing task termination handlers. In addition,
- Global_Task_Lock_Nesting has been moved from Ada_Task_Control_Block to
- Common_ATCB because it is used by both the regular and the restricted
- run times.
- (Ada_Task_Control_Block): Move Global_Task_Lock_Nesting from here to
- Common_ATCB because it is used by both the regular and the restricted
- run times.
- (Common_ATCB): Added a dynamic task analyzer field.
-
- * s-tassta.adb (Abort_Tasks): Move the code in charge of checking
- potentially blocking operations to System.Tasking.Utilities.Abort_Tasks.
- (Task_Wrapper): Call the task termination handler. It applies to all
- tasks but the environment task.
- (Finalize_Global_Tasks): Call the task termination procedure for the
- environment task. The call to Finalize_Global_List is now performed
- using the soft links mechanism.
- (Task_Wrapper): added dynamic stack analysis.
-
- * s-tasuti.adb (Abort_Tasks): The code in charge of checking
- potentially blocking operations has been moved from
- System.Tasking.Stages.Abort_Tasks to this procedure. There can be
- direct calls to System.Tasking.Utilities.Abort_Tasks that do not pass
- through System.Tasking.Stages.Abort_Tasks, and we do not want to miss
- this run-time check.
-
- * s-solita.adb (Task_Termination_Handler_T): Add this task-safe version
- of task termination procedure.
- (Init_Tasking_Soft_Links): Install the task-safe version of the soft
- link for the task termination procedure.
-
- * bindusg.adb: (Bindusg): Added documentation for -u option.
-
- * bindgen.adb (Get_Main_Ada) Added handling of dynamic stack analysis.
- (Get_Main_C): Add handling of dynamic stack analysis.
- (Gen_Output_File_C): Add external functions for dynamic stack analysis.
-
- * Makefile.rtl: Add entry for a-taster (Ada.Task_Termination).
- (GNATRTL_NONTASKING_OBJS) Added entries for dynamic stack analysis
- (GNATRTL_NONTASKING_OBJS): Add AltiVec files.
-
- * opt.ads: Added flags used by dynamic stack measurement.
- (Max_Line_Length): Remove (not used anymore)
-
- * s-io.ads, s-io.adb (Standard_Error): new subprogram
- (Standart_Output): new subprogram
- (Set_Output): new subprogram
- (Put): now uses the value of Current_Out to know if the output has to be
- send to stderr or stdout.
-
- * s-stausa.ads: Complete implementation.
-
- * switch-b.adb: Added handling of -u switch for dynamic stack analysis.
-
- * impunit.adb (Non_Imp_File_Names_05): Add Ada.Task_Termination to the
- list of Ada 05 files.
- (GNAT Library Units): Add AltiVec files.
-
- * g-allein.ads, g-alleve.adb, g-alleve.ads, g-altcon.adb,
- g-altcon.ads, g-altive.ads, g-alveop.adb, g-alveop.ads
- g-alvety.ads, g-alvevi.ads: New files providing altivec API.
-
-2005-12-09 Nicolas Setton <setton@adacore.com>
-
- * adaint.c (__gnat_locate_regular_file): Return immediately if
- file_name is empty.
-
-2005-12-09 Javier Miranda <miranda@adacore.com>
- Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-tags.ads, a-tags.adb (Offset_To_Top): Moved from the package body
- to the specification because the frontend generates code that uses this
- subprogram.
- (Set_Interface_Table): Add missing assertion.
- Update documentation describing the run-time structure.
- (Displace): New subprogram that displaces the pointer to the object
- to reference one of its secondary dispatch tables.
- (IW_Membership): Modified to use the new table of interfaces.
- (Inherit_TSD): Modified to use the new table of interfaces.
- (Register_Interface_Tag): Use the additional formal to fill the
- contents of the new table of interfaces.
- (Set_Interface_Table): New subprogram that stores in the TSD the
- pointer to the table of interfaces.
- (Set_Offset_To_Top): Use the additional formal to save copy of
- the offset value in the table of interfaces.
- Update structure of GNAT Primary and Secondary dispatch table diagram.
- Add comment section on GNAT dispatch table prologue.
- (Offset_To_Signature): Update the constant value of the Signature field.
- (Dispatch_Table): Update comment on hidden fields in the prologue.
- (Get_Entry_Index, Get_Prim_Op_Kind, Get_Offset_Index, OSD,
- Set_Entry_Index, Set_Offset_Index, Set_Prim_Op_Kind, SSD, TSD): Change
- the type of formal parameter T to Tag, introduce additional assertions.
- (Get_Num_Prim_Ops, Set_Num_Prim_Ops): Remove an unnecessary type
- conversion.
- (Get_Tagged_Kind, Set_Tagged_Kind): New bodies.
-
- * exp_ch6.adb (Register_Interface_DT_Entry): Remove the Thunk_Id actual
- in all the calls to Expand_Interface_Thunk. Instead of referencing the
- record component containing the tag of the secondary dispatch table we
- have to use the Offset_To_Top run-time function to get this information;
- otherwise if the pointer to the base of the object has been displace
- we get a wrong value if we use the 'position attribute.
-
- * exp_disp.adb (Expand_Interface_Thunk): Remove the Thunk_Id actual in
- all the calls to Expand_Interface_Thunk.
- (Make_Secondary_DT): Secondary dispatch tables do not have a table of
- interfaces; hence the call to Set_Interface_Table was clearly wrong.
- (Collect_All_Interfaces): Modify the internal subprogram Collect to
- ensure that the interfaces implemented by the ancestors are placed
- at the header of the generated list.
- (Expand_Interface_Conversion): Handle the case in which the displacement
- associated with the interface conversion is not statically known. In
- this case we generate a call to the new run-time subprogram Displace.
- (Make_DT): Generate and fill the new table of interfaces.
- (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Add entries for
- Get_Tagged_Kind and Set_Tagged_Kind.
- (Tagged_Kind): New function that determines the tagged kind of a type
- with respect to limitedness and concurrency and returns a reference to
- RE_Tagged_Kind.
- (Make_Disp_Asynchronous_Select_Body, Make_Disp_Conditional_Select_Body,
- Make_Disp_Timed_Select_Body): Correctly retrieve the pointer to the
- primary dispatch table for a type.
- (Make_DT, Make_Secondary_DT): Set the tagged kind in the primary and
- secondary dispatch table respectively of a tagged type.
-
- * exp_disp.ads (Expand_Interface_Thunk): Remove Thunk_Id formal.
- (Expand_Interface_Conversion): New subprogram to indicate if the
- displacement of the type conversion is statically known.
- (DT_Access_Action): Add values Get_Tagged_Kind and Set_Tagged_Kind.
-
- * rtsfind.ads (RE_Offset_To_Top): New entity
- (RTU_Id): Add Ada_Task_Termination to the list so that it is made
- accessible to users.
- (Re_Displace): New entity
- (RE_Interface_Data): New entity
- (RE_Set_Interface_Data): New_Entity
- (RE_Id, RE_Unit_Table): Add entry for RE_Get_Tagged_Kind,
- Set_Tagged_Kind, RE_Tagged_Kind, RE_TK_Abstract_Limited_Tagged,
- RE_TK_Abstract_Tagged, RE_TK_Limited_Tagged, RE_TK_Protected,
- RE_TK_Tagged, RE_TK_Task.
-
- * exp_ch3.adb (Init_Secondary_Tags): Modify the subprogram
- Init_Secondary_Tags_Internal to allow its use with interface types and
- also to generate the code for the new additional actual required
- by Set_Offset_To_Top.
- (Build_Init_Statements): In case of components associated with abstract
- interface types there is no need to generate a call to its IP.
- (Freeze_Record_Type): Generate Select Specific Data tables only for
- concurrent types.
- (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies): Generate
- the bodies and specifications of the predefined primitive operations
- dealing with dispatching selects and abort, 'Callable, 'Terminated only
- for concurrent types.
-
- * exp_sel.ads, exp_sel.adb: New files.
-
- * exp_ch9.adb (Build_Protected_Entry, Expand_N_Protected_Body,
- Expand_N_Protected_Type_Declaration, Make_Initialize_Protection): Handle
- properly protected objects and attach handler in the case of the
- restricted profile.
- Move embeded package Select_Expansion_Utilities into a separate external
- package.
- (Expand_N_Asynchronous_Select, Expand_N_Conditional_Select,
- Expand_N_Timed_Entry_Call): Correct calls external package Exp_Sel.
- (Build_K, Build_S_Assignment): New subprograms, part of the select
- expansion utilities.
- (Expand_N_Asynchronous_Select, Expand_N_Conditional_Entry_Call,
- Expand_N_Timed_Entry_Call): Optimize expansion of select statements
- where the trigger is a dispatching procedure of a limited tagged type.
-
-2005-12-09 Olivier Hainque <hainque@adacore.com>
-
- * decl.c (gnat_to_gnu_entity, renaming object case): Don't early expand
- pointer initialization values. Make a SAVE_EXPR instead. Add comments
- about the use and expansion of SAVE_EXPRs in the various possible
- renaming handling cases.
- (components_to_record, compare_field_bitpos): Sort by DECL_UID, not by
- abusing DECL_FCONTEXT.
-
-2005-12-09 Matthew Heaney <heaney@adacore.com>
-
- * a-convec.adb (Merge): Added assertions to check whether vector params
- are sorted.
-
- * a-coinve.adb (Merge): Added assertions to check whether vector params
- are sorted.
-
- * a-cohama.ads (Cursor'Write): raises Program_Error per latest AI-302
- draft.
- (Cursor'Read): raises PE
-
- * a-cohama.adb (Insert.New_Node): Uses box-style syntax to init elem
- to its default value.
-
- * a-cihama.adb: Manually check whether cursor's key and elem are
- non-null
-
- * a-cidlli.ads, a-cidlli.adb (Splice): Changed param name and param mode
- (Merge): Assert that target and source lists are in order
- (Swap): Declare non-const temporaries, to pass to Splice
-
- * a-cdlili.ads: (Splice): Changed param name and param mode
-
- * a-cdlili.adb: (Splice): Changed param name and param mode
- (Merge): Assert that target and source lists are in order
- (Swap): Declare non-const temporaries, to pass to Splice
-
- * a-ciorma.ads, a-coorma.ads: (Read): declare Stream param as not null
- (Write): declare Stream param as not null
-
- * a-ciorma.adb, a-coorma.adb: All explicit raise statements now include
- an exception message.
-
-2005-12-09 Thomas Quinot <quinot@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * hostparm.ads (Max_Line_Length): Set to Types.Column_Number'Last - 1,
- which is the absolute maximum length we can support.
-
- * frontend.adb: For the processing of configuration pragma files,
- remove references to Opt.Max_Line_Length, which is not checked anymore.
-
- * namet.ads (Name_Buffer): Adjust size to reflect increase on max line
- length.
-
- * scn.adb, scng.adb:
- Always check line length against the absolute supported maximum,
- Hostparm.Max_Line_Length.
-
- * stylesw.adb (Set_Style_Check_Options, case M): The maximum supported
- value for the maximum line length is Max_Line_Length (not
- Column_Number'Last).
- Minor error msg update
- (Set_Style_Check_Options): New interface returning error msg
- Minor code reorganization (processing for 'M' was out of alpha order)
-
- * switch-c.adb: New interface for Set_Style_Check_Options
-
- * stylesw.ads (Set_Style_Check_Options): New interface returning error
- msg.
-
-2005-12-09 Javier Miranda <miranda@adacore.com>
-
- * exp_aggr.adb (Build_Record_Aggr_Code): Default-initialialized records
- with IP subprogram were only supported if there were limited types.
-
- * sem_aggr.adb (Resolve_Record_Aggregate): Default-initialialized
- records with IP subprogram were only supported if there were limited
- types.
-
-2005-12-09 Olivier Hainque <hainque@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * trans.c (tree_transform, emit_check): Adjust calls to
- build_call_raise, passing the now expected GNAT_NODE argument.
-
- * gigi.h (build_call_raise): Add a GNAT_NODE argument to convey better
- source line information than what the current global locus indicates
- when appropriate.
-
- * utils2.c (build_simple_component_ref): Return 0 if the offset of the
- field has overflowed.
- (build_call_raise): Add a GNAT_NODE argument to convey better source
- line information than what the current global locus indicates when
- appropriate.
- (build_component_ref): Adjust call to build_call_raise.
-
-2005-12-09 Pascal Obry <obry@adacore.com>
-
- * g-diopit.adb (Find): Fix test to exit the iterator and make sure that
- the iterator is quitting iteration on parent directory.
-
-2005-12-09 Javier Miranda <miranda@adacore.com>
-
- * exp_ch5.adb (Expand_N_Assignment_Statement): In case of tagged types
- and the assignment to a class-wide object, before the assignment we
- generate a run-time check to ensure that the tag of the Target is
- covered by the tag of the source.
-
-2005-12-09 Robert Dewar <dewar@adacore.com>
-
- * exp_imgv.adb (Expand_Image_Attribute): Generate extra boolean
- parameter in call to Image_Wide_Character.
-
- * s-imgwch.ads, s-imgwch.adb (Image_Wide_Character): Add boolean
- parameter Ada_2005 to deal with annoying FFFE/FFFF inconsistency.
- (Image_Wide_Character): Add boolean parameter Ada_2005 to deal with
- annoying FFFE/FFFF inconsistency.
-
-2005-12-09 Robert Dewar <dewar@adacore.com>
- Javier Miranda <miranda@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * exp_util.ads, exp_util.adb (Is_Ref_To_Bit_Packed_Slice): Handle case
- of type conversion.
- (Find_Interface): New subprogram that given a tagged type and one of its
- component associated with the secondary table of an abstract interface
- type, return the entity associated with such abstract interface type.
- (Make_Subtype_From_Expr): If type has unknown discriminants, always use
- base type to create anonymous subtype, because entity may be a locally
- declared subtype or generic actual.
- (Find_Interface): New subprogram that given a tagged type and one of its
- component associated with the secondary table of an abstract interface
- type, return the entity associated with such abstract interface type.
-
- * sem_res.adb (Resolve_Type_Conversion): Handle the case in which the
- conversion cannot be handled at compile time. In this case we pass this
- information to the expander to generate the appropriate code.
-
-2005-12-09 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
- Javier Miranda <miranda@adacore.com>
- Hristian Kirtchev <kirtchev@adacore.com>
-
- * einfo.adb (Itype_Printed): New flag
- (Is_Limited_Type): Derived types do not inherit limitedness from
- interface progenitors.
- (Is_Return_By_Reference_Type): Predicate does not apply to limited
- interfaces.
-
- * einfo.ads (Itype_Printed): New flag
- Move Is_Wrapper_Package to proper section
- Add missing Inline for Is_Volatile
-
- * output.ads, output.adb (Write_Erase_Char): New procedure
- (Save/Restore_Output_Buffer): New procedures
- (Save/Restore_Output_Buffer): New procedures
-
- * sprint.ads, sprint.adb (Write_Itype): Handle case of record itypes
- Add missing support for anonymous access type
- (Write_Id): Insert calls to Write_Itype
- (Write_Itype): New procedure to output itypes
-
- * par-ch12.adb (P_Formal_Derived_Type_Definition): In Ada 2005, handle
- use of "limited" in declaration.
-
- * sinfo.ads, sinfo.adb:
- Formal derived types can carry an explicit "limited" indication.
-
- * sem_ch3.adb: Add with and use of Targparm.
- (Create_Component): If Frontend_Layout_On_Target is True and the
- copied component does not have a known static Esize, then reset
- the size and positional fields of the new component.
- (Analyze_Component_Declaration): A limited component is
- legal within a protected type that implements an interface.
- (Collect_Interfaces): Do not add to the list the interfaces that
- are implemented by the ancestors.
- (Derived_Type_Declaration): If the parent of the full-view is an
- interface perform a transformation of the tree to ensure that it has
- the same parent than the partial-view. This simplifies the job of the
- expander in order to generate the correct object layout, and it is
- needed because the list of interfaces of the full-view can be given in
- any order.
- (Process_Full_View): The parent of the full-view does not need to be
- a descendant of the parent of the partial view if both parents are
- interfaces.
- (Analyze_Private_Extension_Declaration): If declaration has an explicit
- "limited" the parent must be a limited type.
- (Build_Derived_Record_Type): A derived type that is explicitly limited
- must have limited ancestor and progenitors.
- (Build_Derived_Type): Ditto.
- (Process_Full_View): Verify that explicit uses of "limited" in partial
- and full declarations are consistent.
- (Find_Ancestor_Interface): Remove function.
- (Collect_Implemented_Interfaces): New procedure used to gather all
- implemented interfaces by a type.
- (Contain_Interface): New function used to check whether an interface is
- present in a list.
- (Find_Hidden_Interface): New function used to determine whether two
- lists of interfaces constitute a set equality. If not, the first
- differing interface is returned.
- (Process_Full_View): Improve the check for the "no hidden interface"
- rule as defined by AI-396.
-
-2005-12-09 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb (Freeze_Record_Type): Only test for useless pack on record
- types, not on record subtypes.
- (Freeze_Entity): Code cleanup. Add barrier to the loop
- that generates the references for primitive operations. This allows to
- remove an unnecessary exception handler.
- Code reformatting and comment clean ups.
-
-2005-12-09 Vincent Celier <celier@adacore.com>
-
- * gnatcmd.adb (GNATCmd): GNAT CHECK accepts switch -U
- If GNAT CHECK is called with a project file, but with no
- source on the command line, call gnatcheck with all the compilable
- sources of the project.
- Take into account the new command Check, for gnatcheck. Treat as for
- other ASIS tools: take into account project, specific package Check and
- Compiler switches.
- For ASIS tools, add the switches in package Compiler for
- the invocation of the compiler.
-
- * prj-attr.adb: Add package Check and its attributes
-
- * vms_conv.ads (Command_Type): New command Check, for gnatcheck
-
- * vms_conv.adb (Initialize): Change Params of command Check to
- unlimited files.
- Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
- Add data for new command Check
-
- * vms_data.ads: Add project related qualifiers for GNAT CHECK and GNAT
- ELIM.
- Add qualifiers for Check command options
- (Command_Type): New command Check
-
-2005-12-09 Thomas Quinot <quinot@adacore.com>
-
- * mlib-utl.adb (Ar): Use Output.Buffer_Max to determine whether a
- command line switch overruns the output buffer.
-
-2005-12-09 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb: Processing for new pragma Complete_Representation
- (Analyze_Pragma, case Debug): Implement two argument form.
-
- * par-prag.adb: Entry for new pragma Complete_Representation
- (Prag, case Debug): Recognize two argument form of pragma Debug
- New interface for Set_Style_Check_Options.
-
- * sem_ch13.adb: Implement new pragma Complete_Representation.
-
- * snames.adb, snames.ads, snames.h: Entry for new pragma
- Complete_Representation.
-
-2005-12-09 Gary Dismukes <dismukes@adacore.com>
-
- * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Revise test for
- available user-specified stream attributes on limited parameters to
- also test the type directly rather than only its underlying type (for
- Ada 95) and, in the case of Ada 2005, to check that the user-specified
- attributes are visible at the point of the subprogram declaration.
- For Ada 2005, the error message is modified to indicate that the
- type's stream attributes must be visible (again, only for -gnat05).
-
-2005-12-09 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Subtypes_Match): Handle properly Ada05 arrays of
- anonymous access types.
-
- * sem_eval.adb (Subtypes_Statically_Match): Implement new rules for
- matching of anonymous access types and anonymous access to subprogram
- types. 'R'M 4.9.1 (2/2).
-
-2005-12-09 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Remove_Abstract_Operations): Do not apply preference
- rule prematurely when operands are universal, remaining ambiguities
- will be removed during resolution.
- Code cleanup.
-
- * sem_type.adb (Disambiguate): In Ada95 mode, discard interpretations
- that are Ada 2005 functions.
- (Has_Abstract_Interpretation): Subsidiary to
- Remove_Conversions, to remove ambiguities caused by abstract operations
- on numeric types when operands are universal.
-
-2005-12-09 Robert Dewar <dewar@adacore.com>
-
- * sem_ch6.adb (Analyze_Subprogram_Body): Properly check categorization
- for case where spec is categorized.
-
-2005-12-09 Javier Miranda <miranda@adacore.com>
-
- * sem_ch8.adb (Find_Type): In case of tagged types that are concurrent
- types use the corresponding record type. This was not needed before
- the implementation of Ada 2005 synchronized types because
- concurrent types were never tagged types in Ada 95.
-
-2005-12-09 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch9.adb (Analyze_Delay_Alternative, Analyze_Delay_Until): Use the
- first subtype of the type of the expression to verify that it is a
- legal Time type.
-
-2005-12-09 Robert Dewar <dewar@adacore.com>
-
- * sem_util.ads, sem_util.adb (Full_Qualified_Name): Now provides
- decoded names.
-
-2005-12-09 Quentin Ochem <ochem@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Ed Falis <falis@adacore.com>
- Florian Villoing <villoing@adacore.com>
- Thomas Quinot <quinot@adacore.com>
- Arnaud Charlet <charlet@adacore.com>
-
- * gnat_ugn.texi: Created section "Stack Related Tools"
- Moved "Stack Overflow Checking" subsection from "Switches for gcc" to
- "Stack Related Tools"
- Added subsection "Static Stack Usage Analysis"
- Added subsection "Dynamic Stack Usage Analysis"
- Include documentation of itypes in sprint listing (-gnatG)
- Documented gnatbind -D switch (default sec stack size for fixed sec
- stacks).
- Added Interrupt_State and Persistent_BSS to list of configuration
- pragmas.
- Add missing doc for maximum value of nnn in -gnatyMnnn
-
- * gnat_rm.texi: Document the AltiVec binding.
- Add documentation for pragma Complete_Representation
- Shortened an overly long line (> 79 chars)
- Clarify documentation of unchecked conversion in implementation
- defined cases.
- Document two argument form of pragma Debug
-
- * types.ads (Column_Number): Update documentation.
-
- * exp_ch7.ads (Make_Adjust_Call): Document the special processing for
- library level Finalize_Storage_Only objects (these are not attached to
- any finalization list).
-
- * system-mingw.ads: (Underlying_Priorities): Update comment.
-
-2005-12-09 Robert Dewar <dewar@adacore.com>
-
- * i-c.adb, i-cexten.ads, i-cobol.adb, i-cobol.ads, i-cpoint.ads,
- i-cpp.adb, i-cpp.ads, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
- inline.adb, interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads,
- i-os2thr.ads, itypes.adb, itypes.adb, itypes.ads, krunch.ads,
- krunch.adb, lib.adb, lib.ads, lib-list.adb, lib-load.adb,
- lib-load.ads, lib-sort.adb, live.adb, make.ads, i-cstrea-vms.adb,
- interfac-vms.ads, makegpr.adb, indepsw-gnu.adb, indepsw.ads,
- s-wchcon.ads, sdefault.ads, sem_ch10.adb, sem_eval.ads: Minor
- reformatting.
-
-2005-12-09 Robert Dewar <dewar@adacore.com>
-
- * s-vaflop-vms-alpha.adb: (Ne_F): New function
- (Ne_G): New function
-
- * exp_ch4.adb (Expand_Allocator_Expression): Factor duplicated code
- for tag assignment.
- (Rewrite_Comparison): Handle case where operation is not a comparison
- and ignore, and also handle type conversion case.
-
-2005-12-09 Thomas Quinot <quinot@adacore.com>
-
- * exp_aggr.ads: Fix typo in comment.
- ???-mark Convert_Aggr_In_Assignment as needing documentation.
-
-2005-12-09 Gary Dismukes <dismukes@adacore.com>
-
- * layout.adb: Replace various uses of byte by storage unit throughout.
- (Get_Max_SU_Size): Name changed from Get_Max_Size. In the case of a
- static size, convert to storage units before returning, to conform to
- spec.
-
-2005-12-09 Matthew Gingell <gingell@adacore.com>
-
- * g-exctra.ads: Fix typo in comment.
-
-2005-12-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * utils.c: Minor reformatting.
-
-2005-12-09 Robert Dewar <dewar@adacore.com>
-
- * g-soccon.ads:
- Further comment fixes to make the status of the default file clear
-
- * s-bitops.adb: Clarify comment for Bits_Array
-
-2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
-
- * Make-lang.in (ada.install-normal): Remove.
-
-2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
-
- * Make-lang.in: Remove all dependencies on s-gtype.
-
-2005-12-05 Richard Guenther <rguenther@suse.de>
-
- * utils.c (convert): Use fold_convert where appropriate.
-
-2005-12-05 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.in (gnatlib): Fix regex, using \. instead of . when
- a period is meant.
-
-2005-12-02 Richard Guenther <rguenther@suse.de>
-
- * trans.c (gnat_gimplify_expr): Use buildN instead of build.
-
-2005-12-01 Roger Sayle <roger@eyesopen.com>
-
- * utils.c (max_size): Only test for TREE_OVERFLOW on INTEGER_CST
- nodes.
-
-2005-11-23 Laurent Guerby <laurent@guerby.net>
-
- * mlib-prj.adb (Build_Library): Initialize Delete.
-
-2005-11-21 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * socket.c: Add extern int h_errno for rtems since networking header
- files are not available at this point in a tool bootstrap. Newlib
- only has basic C library header files.
-
-2005-11-19 Richard Guenther <rguenther@suse.de>
- Roger Sayle <roger@eyesopen.com>
-
- PR ada/23717
- * misc.c (internal_error_function): Don't use vsprintf to format
- the error message text, instead use pp_format_text and the new
- pretty printer APIs. This allows handling of %qs, %w, etc.
-
-2005-11-18 Laurent Guerby <laurent@guerby.net>
-
- PR ada/24857
- * Makefile.in: Use s-auxdec-empty for RTEMS.
-
-2005-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- PR ada/22333
- * trans.c (gnat_gimplify_expr, case ADDR_EXPR): Always make
- a temporary if taking the address of something that is neither
- reference, declaration, or constant, since the gimplifier
- can't handle that case.
-
-2005-11-17 Laurent Guerby <laurent@guerby.net>
-
- PR ada/24857
- * s-auxdec-empty.ads, s-auxdec-empty.adb: New files.
-
-2005-11-16 Richard Guenther <rguenther@suse.de>
-
- * Makefile.in: Add EH_MECHANISM=-gcc to s390(x) linux.
-
-2005-11-16 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- PR ada/24855
- * raise-gcc.c: Add missing stdarg.h include.
-
-2005-11-16 Richard Guenther <rguenther@suse.de>
-
- * Make-lang.in (ada/decl.o): Add $(EXPR_H) dependency.
- (ada/misc.o): Likewise.
-
-2005-11-14 Thomas Quinot <quinot@adacore.com>
-
- * g-soccon.ads: Minor reformatting. Update comments.
-
- * gsocket.h: Include <sys/times.h> in the VxWorks case, in order to
- gain visibility on the declaration of struct timeval.
-
- * g-soccon-freebsd.ads,
- g-soccon-darwin.ads,
- g-soccon-tru64.ads,
- g-soccon-aix.ads,
- g-soccon-irix.ads,
- g-soccon-hpux.ads,
- g-soccon-solaris.ads,
- g-soccon-vms.ads,
- g-soccon-mingw.ads,
- g-soccon-vxworks.ads (SIZEOF_tv_sec, SIZEOF_tv_usec): New constants.
-
- * g-soccon-hpux-ia64.ads, g-soccon-linux-ppc.ads,
- g-soccon-solaris-64.ads, g-soccon-linux-64.ads,
- g-soccon-linux-x86.ads: New files.
-
- * g-socthi-mingw.adb:
- (Socket_Error_Message): Remove redundant use of GNAT.Sockets.Constants
-
- * g-socthi-vxworks.ads, g-socthi-vms.ads, g-socthi-mingw.ads
- (time_t, suseconds_t): New types constructed to match the tv_sec
- and tv_usec fields of C struct timeval.
- (Timeval): Construct structure in terms of the new types.
- (Host_Errno): New function (imported from socket.c), returns last hosts
- database error.
-
- * g-socthi-vxworks.adb: Add error handling circuitry.
-
- * g-socket.ads, g-socket.adb (To_Timeval): Reflect change of type for
- components of struct timeval.
- (Get_Host_By_Name, Get_Host_By_Address): Fix error reporting circuitry.
- (Check_Selector): In error conditions, clear internal socket sets to
- avoid a memory leak.
- (Get_Socket_Option, Set_Socket_Option): Support for Multicast_If,
- Send_Timeout, Receive_Timeout.
-
- * g-socthi.ads (time_t, suseconds_t): New types constructed to match
- the tv_sec and tv_usec fields of C struct timeval.
- (Timeval): Construct structure in terms of the new types.
- (Host_Errno): New function (imported from socket.c), returns last hosts
- database error.
-
- * socket.c (__gnat_get_h_errno): New function to retrieve h_errno, the
- hosts database last error code.
-
- * gen-soccon.c: Complete value expansion should not be performed on
- TARGET, as it has the form of a math expression, and some components
- may be platform-defined macros.
- For VxWorks, generate the OK and ERROR values.
- New constants giving the sizes of the components of C struct timeval.
-
-2005-11-14 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- PR ada/18434
- * types.ads: Include All_Checks in Suppress_Array
-
- * checks.adb (Check_Needed): Remove kludge for a/=b rewritten as
- not(a=b), since we no longer do this rewriting, and hence it is not
- needed.
- (Elaboration_Checks_Suppressed): Add special casing to
- deal with different cases of static and dynamic elaboration checks (all
- checks does not count in the first case, but does in the second).
- (Expr_Known_Valid): Do not assume that the result of any arbitrary
- function call is valid, since this is not the case.
- (Ensure_Valid): Do not apply validity check to a real literal
- in a universal or fixed context
-
- * exp_ch4.adb (Expand_N_Op_Ne): Don't expand a/=b to not(a=b) for
- elementary types using the operator in standard. It is cleaner not to
- modify the programmers intent, especially in the case of floating-point.
- (Rewrite_Comparison): Fix handling of /= (this was always wrong, but
- it did not matter because we always rewrote a/=b to not(a=b).
- (Expand_Allocator_Expression): For an allocator expression whose nominal
- subtype is an unconstrained packed type, convert the expression to its
- actual constrained subtype.
- Implement warning for <= or >= where < or > not possible
- Fix to Vax_Float tests (too early in many routines, causing premature
- Vax_Float expansions.
-
- * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow this pragma
- to be used with packages and generic packages as well as with
- subprograms.
- (Suppress): Set All_Checks, but not Elaboration_Check, for case
- of pragma Suppress (All_Checks)
- (Analyze_Pragma, case Warnings): Implement first argument allowed to be
- a string literal for precise control over warnings.
- Avoid raise of pragma in case of unrecognized pragma and just return
- instead.
-
- * sem_prag.ads: Minor reformatting
-
- * switch-c.adb (Scan_Front_End_Switches): Replace "raise Bad_Switch;"
- with call to new procedure Bad_Switch. Call Scan_Pos with new parameter
- Switch. Do not handle any exception.
- Include -gnatwx as part of -gnatg (warn on redundant parens)
- Allow optional = after -gnatm
- (Scan_Front_End_Switches): The -gnatp switch sets All_Checks, but no
- longer sets Elaboration_Checks.
- Code to set warning mode moved to Sem_Warn
- so that it can be shared by pragma processing.
-
- * s-mastop-tru64.adb (Pop_Frame): Remove redundant parentheses in if
- statement.
-
- * s-taprop-solaris.adb:
- Change some <= to =, to avoid new warning
-
- * a-exexda.adb, prj-proc.adb:
- Fix obvious typo (Num_Tracebacks compared <= 0 instead of < 0)
- Fix obvious typo (Total_Errors_Detected <= 0 should be = 0)
-
-2005-11-14 Robert Dewar <dewar@adacore.com>
-
- * exp_vfpt.adb: Handle /= case
- (Expand_Vax_Conversion): Properly recognize Conversion_OK flag
- so that we do not get duplicate scaling for fixed point conversions.
-
- * s-vaflop.ads, s-vaflop.adb: (Ne_F): New function
-
-2005-11-14 Matthew Gingell <gingell@adacore.com>
-
- * system-lynxos-ppc.ads, system-lynxos-x86.ads:
- Increase default priority on Lynx from 15 to 17, and meet the Ada
- requirement that Default_Priority be ((Priority'First +
- Priority'Last) / 2) by increasing the range of Interrupt_Priority.
-
-2005-11-14 Vincent Celier <celier@adacore.com>
-
- * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
- mlib-tgt-hpux.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
- mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb,
- mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb,
- mlib-tgt-darwin.adb, mlib-tgt.adb, mlib-tgt.ads,
- mlib-tgt-lynxos.adb (DLL_Prefix): New function
-
-2005-11-14 Doug Rupp <rupp@adacore.com>
-
- * system-vms.ads, system-vms_64.ads: ADA$GNAT: New exported object in
- private part.
-
-2005-11-14 Arnaud Charlet <charlet@adacore.com>
-
- * s-traces-default.adb, s-trafor-default.ads,
- s-tratas-default.adb: Fix compilation errors.
-
-2005-11-14 Jose Ruiz <ruiz@adacore.com>
-
- * s-taprop-posix.adb (Initialize_Lock): Destroy mutex attribute before
- raising the exception so the memory used is freed.
-
-2005-11-14 Arnaud Charlet <charlet@adacore.com>
-
- * adaint.h, adaint.c (__gnat_is_cross_compiler): New constant.
- (Gnat_Install_Locks, __gnatlib_install_locks): Removed, no longer used.
- (convert_address): Update comments and list of platforms using this.
-
- * s-tasini.adb (Gnat_Install_Locks, __gnatlib_install_locks): Removed,
- no longer used.
-
-2005-11-14 Pascal Obry <obry@adacore.com>
- Vincent Celier <celier@adacore.com>
-
- * gnatdll.adb (Parse_Command_Line): Remove redundant use of
- GNAT.Command_Line.
-
- * memroot.adb: Remove redundant with/use clause on
- System.Storage_Elements.
-
-2005-11-14 Arnaud Charlet <charlet@adacore.com>
-
- * a-except.adb (Zero_Cost_Exceptions): Removed, no longer used.
- (builtin_longjmp, Process_Raise_Exceeption): Move setjmp/longjmp
- related code to a-exexpr.adb
- (Save_Occurrence_And_Private): Move GCC EH related code to
- a-exexpr-gcc.adb
- (Raise_Current_Excep): Add new variable Id with pragma
- volatile, to ensure that the variable lives on stack.
-
- * a-exexpr-gcc.adb, raise-gcc.c: New file.
-
- * a-exexpr.adb (builtin_longjmp, Propagate_Exception): Moved here code
- from a-except.adb.
- Move GCC EH related code to a-exexpr-gcc.adb
-
- * Makefile.in: Add or update g-soccon LIBGNAT pairs for Linux/PPC and
- 64-bit Solaris
- Split the Linux version of g-soccon into separate variants for 32 and 64
- bit platforms.
- (gnatlib): Use $(AR_FOR_TARGET) and $(RANLIB_FOR_TARGET)
- vice $(AR) and $(RANLIB). Remove use of host variable $(RANLIB_FLAGS).
- install-gnatlib: Use $(RANLIB_FOR_TARGET) vice $(RANLIB). Remove use
- of host variable $(RANLIB_FLAGS).
- (alpha64-dec-*vms*): Fix translations for 64 bit compiler.
- Code clean up: remove unused/obsolete targets.
- (EH_MECHANISM): New variable introduced to differenciate between the
- two EH mechanisms statically.
- (gnatlib-zcx, gnatlib-sjlj): Force EH_MECHANISM manually.
- (LIBGNAT_OBJS): Add raise-gcc.o
- (LIBGNAT_TARGET_PAIRS for ppc-vxworks): Use an specialized version of
- s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
- supports VxWorks 6 RTPs.
- (EXTRA_GNATRTL_NONTASKING_OBJS for ppc-vxworks): Remove the use of
- i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.
-
- * raise.c: Move all GCC EH-related routines to raise-gcc.c
-
-2005-11-14 Jose Ruiz <ruiz@adacore.com>
-
- * s-tassta.adb (Create_Task): Move the code in charge of resetting the
- deferral level, when abort is not allowed, to a later stage (the
- Task_Wrapper).
- (Task_Wrapper): If Abort is not allowed, reset the deferral level since
- it will not get changed by the generated code. It was previously done
- in Create_Task.
-
-2005-11-14 Thomas Quinot <quinot@adacore.com>
- Olivier Hainque <hainque@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c:
- Factor common code to build a storage type for an unconstrained object
- from a fat or thin pointer type and a constrained object type.
- (annotate_value): Handle BIT_AND_EXPR.
- (annotate_rep): Don't restrict the back annotation of inherited
- components to the type_annotate_only case.
- (gnat_to_gnu_entity) <E_Array_Type>: Do not invoke create_type_decl if
- we are not defining the type.
- <E_Record_Type>: Likewise.
- (gnat_to_gnu_entity) <object, renaming>: Adjust comments and structure
- to get advantage of the new maybe_stabilize_reference interface, to
- ensure that what we reference is indeed stabilized instead of relying
- on assumptions on what the stabilizer does.
- (gnat_to_gnu_entity) <E_Incomplete_Type>: If the entity is an incomplete
- type imported through a limited_with clause, use its non-limited view.
- (Has_Stdcall_Convention): New macro, to centralize the Windows vs others
- differentiation.
- (gnat_to_gnu_entity): Use Has_Stdcall_Convention instead of a spread mix
- of #if sections + explicit comparisons of convention identifiers.
- (gnat_to_gnu_entity) <E_Variable>: Decrement force_global if necessary
- before early-returning for certain types when code generation is
- disabled.
- (gnat_to_gnu_entity) <object>: Adjust comment attached to the
- nullification of gnu_expr we do for objects with address clause and
- that we are not defining.
- (elaborate_expression_1): Do not create constants when creating
- variables needed by the debug info: the dwarf2 writer considers that
- CONST_DECLs is used only to represent enumeration constants, and emits
- nothing for them.
- (gnat_to_gnu_entity) <object>: When turning a non-definition of an
- object with an address clause into an indirect reference, drop the
- initializing expression.
- Include "expr.h".
- (STACK_CHECK_BUILTIN): Delete.
- (STACK_CHECK_PROBE_INTERVAL): Likewise.
- (STACK_CHECK_MAX_FRAME_SIZE): Likewise.
- (STACK_CHECK_MAX_VAR_SIZE): Likewise.
- (gnat_to_gnu_entity): If gnat_entity is a renaming, do not mark the tree
- corresponding to the renamed object as ignored for debugging purposes.
-
- * trans.c (tree_transform, case N_Attribute_Reference, case Attr_Size &
- related): For a prefix that is a dereference of a fat or thin pointer,
- if there is an actual subtype provided by the front-end, use that
- subtype to build an actual type with bounds template.
- (tree_transform, case N_Free_Statement): If an Actual_Designated_Subtype
- is provided by the front-end, use that subtype to compute the size of
- the deallocated object.
- (gnat_to_gnu): When adding a statement into an elaboration procedure,
- check for a potential violation of a No_Elaboration_Code restriction.
- (maybe_stabilize_reference): New function, like gnat_stabilize_reference
- with extra arguments to control whether to recurse through non-values
- and to let the caller know if the stabilization has succeeded.
- (gnat_stabilize_reference): Now a simple wrapper around
- maybe_stabilize, for common uses without restriction on lvalues and
- without need to check for the success indication.
- (gnat_to_gnu, call_to_gnu): Adjust calls to gnat_stabilize_reference, to
- pass false instead of 0 as the FORCE argument which is a bool.
- (Identifier_to_gnu): Remove checks ensuring that an renamed object
- attached to a renaming pointer has been properly stabilized, as no such
- object is attached otherwise.
- (call_to_gnu): Invoke create_var_decl to create the temporary when the
- function uses the "target pointer" return mechanism.
- Reinstate conversion of the actual to the type of the formal
- parameter before any other specific treatment based on the passing
- mechanism. This turns out to be necessary in order for PLACEHOLDER
- substitution to work properly when the latter type is unconstrained.
-
- * gigi.h (build_unc_object_type_from_ptr): New subprogram, factoring a
- common pattern.
- (maybe_stabilize_reference): New function, like gnat_stabilize_reference
- with extra arguments to control whether to recurse through non-values
- and to let the caller know if the stabilization has succeeded.
-
- * utils2.c (gnat_build_constructor): Only sort the fields for possible
- static output of record constructor if all the components are constant.
- (gnat_build_constructor): For a record type, sort the list of field
- initializers in increasing bit position order.
- Factor common code to build a storage type for an unconstrained object
- from a fat or thin pointer type and a constrained object type.
- (build_unary_op) <ADDR_EXPR>: Always recurse down conversions between
- types variants, and process special cases of VIEW_CONVERT expressions
- as their NOP_EXPR counterpart to ensure we get to the
- CORRESPONDING_VARs associated with CONST_DECls.
- (build_binary_op) <MODIFY_EXPR>: Do not strip VIEW_CONVERT_EXPRs
- on the right-hand side.
-
- * utils.c (build_unc_object_type_from_ptr): New subprogram, factoring
- a common pattern.
- (convert) <VIEW_CONVERT_EXPR>: Return the inner operand directly if we
- are converting back to its original type.
- (convert) <JM input>: Fallthrough regular conversion code instead of
- extracting the object if converting to a type variant.
- (create_var_decl): When a variable has an initializer requiring code
- generation and we are at the top level, check for a potential violation
- of a No_Elaboration_Code restriction.
- (create_var_decl): call expand_decl for CONST_DECLs, to set MODE, ALIGN
- SIZE and SIZE_UNIT which we need for later back-annotations.
- * utils.c: (convert) <STRING_CST>: Remove obsolete code.
- <VIEW_CONVERT_EXPR>: Do not lift the conversion if the target type
- is an unchecked union.
- (pushdecl): Set DECL_NO_STATIC_CHAIN on imported nested functions.
- (convert) <VIEW_CONVERT_EXPR>: When the types have the same
- main variant, just replace the VIEW_CONVERT_EXPR.
- <UNION_TYPE>: Revert 2005-03-02 change.
-
- * repinfo.h, repinfo.ads: Add tcode for BIT_AND_EXPR.
-
- * repinfo.adb (Print_Expr, Rep_Value): Handle Bit_And_Expressions.
-
-2005-11-14 Matthew Heaney <heaney@adacore.com>
-
- * a-crbtgo.ads, a-crbtgo.adb, a-coorse.ads, a-coorse.adb, a-convec.ads,
- a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohama.ads, a-cohama.adb,
- a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-cidlli.ads,
- a-cidlli.adb, a-cdlili.ads, a-cdlili.adb, a-coormu.adb, a-ciormu.adb,
- a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
- a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorma.adb, a-coorma.adb:
- Compiles against the spec for ordered maps described in sections
- A.18.6 of the most recent (August 2005) AI-302 draft.
-
-2005-11-14 Olivier Hainque <hainque@adacore.com>
-
- * cuintp.c (UI_To_gnu): Use a proper type for intermediate computations
- to ensure bias adjustments take place when need be and to prevent
- occurrences of intermediate overflows.
-
-2005-11-14 Matthew Gingell <gingell@adacore.com>
- Olivier Hainque <hainque@adacore.com>
-
- * tb-gcc.c (trace_callback): Work around problem with _Unwind_GetIP on
- ia64 HP-UX.
-
- * tracebak.c (ia64 configuration): Enable _Unwind_Backtrace driven
- tracebacks on ia64 HP-UX and provide explanatory comment.
- Enable backtraces on ia64 GNU/Linux.
- (x86 configuration): Bump FRAME_LEVEL to 1 to ensure we retrieve a real
- base pointer from builtin_frame_address. Adjust BASE_SKIP accordingly.
-
-2005-11-14 Hristian Kirtchev <kirtchev@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * rtsfind.ads, exp_util.adb, exp_util.ads, exp_disp.adb, exp_disp.ads,
- exp_ch7.adb, sem_ch9.adb, snames.adb, snames.ads,
- exp_ch9.adb, exp_ch9.ads, exp_ch6.adb, exp_ch3.adb, exp_ch3.ads,
- einfo.ads, einfo.adb: Complete support for Ada 2005 interfaces.
-
- * a-tags.ads, a-tags.adb: Major rewrite and additions to implement
- properly new Ada 2005 interfaces (AI-345) and add run-time checks (via
- assertions).
-
- * exp_dbug.ads, exp_dbug.adb (Get_Secondary_DT_External_Name): New
- subprogram that generates the external name associated with a
- secondary dispatch table.
- (Get_Secondary_DT_External_Name): New subprogram that generates the
- external name associated with a secondary dispatch table.
-
-2005-11-14 Emmanuel Briot <briot@adacore.com>
-
- * xref_lib.adb (Parse_Identifier_Info): It is possible for an entity
- line in the ALI file to include both an instantiation reference, and a
- returned value.
-
-2005-11-14 Vincent Celier <celier@adacore.com>
-
- * clean.adb (Check_Project): Look for Ada code in extending project,
- even if Ada is not specified as a language.
- Use new function DLL_Prefix for DLL_Name
- (Clean_Interface_Copy_Directory): New procedure
- (Clean_Library_Directory): New procedure
- (Clean_Directory): Remove procedure, no longer used
- (Clean_Project): Do not delete any file in an externally built project
-
- * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Add the object
- directory of an extending project, even when there are no Ada source
- present.
- (Ada_Objects_Path.Add): Add Library_ALI_Dir, not Library_Dir to the path
- (Set_Ada_Paths.Add.Recursive_Add): Ditto
-
- * mlib-prj.adb (Check_Library): For all library projects, get the
- library file timestamp.
- (Build_Library): Copy ALI files in Library_ALI_Dir, not in Library_Dir
- (Build_Library): Use new function DLL_Prefix for the DLL_Name
- (Clean): Remove procedure, no longer used
- (Ultimate_Extension_Of): New function
- (Build_Library): When cleaning the library directory, only remove an
- existing library file and any ALI file of a source of the project.
- When cleaning the interface copy directory, remove any source that
- could be a source of the project.
-
- * prj.ads, prj.adb (Project_Empty): Add values of new components
- Library_TS and All_Imported_Projects.
- (Project_Empty): Add values for new components of Project_Data:
- Library_ALI_Dir and Display_Library_ALI_Dir
-
- * prj-attr.adb: New project level attribute name Library_ALI_Dir
-
- * prj-nmsc.adb (Check_Library_Attributes): Take into account new
- attribute Library_ALI_Dir.
- (Check_Library_Attributes): The library directory cannot be the same as
- any source directory of the project tree.
- (Check_Stand_Alone_Library): The interface copy directory cannot be
- the same as any source directory of the project tree.
-
- * mlib.adb: Use Prj.Com.Fail, instead of Osint.Fail directly, to delete
- all temporary files.
-
-2005-11-14 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_elab.adb: Change name Is_Package to Is_Package_Or_Generic_Package
- (Check_Elab_Call): A call within a protected body is never an
- elaboration call, and does not require checking.
- (Same_Elaboration_Scope): Take into account protected types for both
- entities.
- (Activate_Elaborate_All_Desirable): New procedure
-
- * ali.ads, ali.adb: Implement new AD/ED for Elaborate_All/Elaborate
- desirable
-
- * binde.adb: Implement new AD/ED for Elaborate_All/Elaborate desirable
- (Elab_Error_Msg): Use -da to include internal unit links, not -de.
-
- * lib-writ.ads, lib-writ.adb:
- Implement new AD/ED for Elaborate_All/Elaborate desirable
- Use new Elaborate_All_Desirable flag in N_With_Clause node
-
- * sinfo.ads, sinfo.adb (Actual_Designated_Subtype): New attribute for
- N_Free_Statement nodes.
- Define new class N_Subprogram_Instantiation
- Add Elaborate_Desirable flag to N_With_Clause node
- Add N_Delay_Statement (covering two kinds of delay)
-
- * debug.adb: Introduce d.f flag for compiler
- Add -da switch for binder
-
-2005-11-14 Ed Schonberg <schonberg@adacore.com>
- Cyrille Comar <comar@adacore.com>
-
- * exp_aggr.adb (Build_Record_Aggr_Code): Do not create master entity
- for task component, in the case of a limited aggregate. The enclosed
- object declaration will create it earlier. Otherwise, in the case of a
- nested aggregate, the object may appear in the wrong scope.
- (Convert_Aggr_In_Object_Decl): Create a transient scope when needed.
- (Gen_Assign): If the component being assigned is an array type and the
- expression is itself an aggregate, wrap the assignment in a block to
- force finalization actions on the temporary created for each row of the
- enclosing object.
- (Build_Record_Aggr_Code): Significant rewrite insuring that ctrl
- structures are initialized after all discriminants are set so that
- they can be accessed even when their offset is dynamic.
-
-2005-11-14 Robert Dewar <dewar@adacore.com>
- Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_attr.adb: Implement Machine_Rounding attribute
- (Analyze_Access_Attribute): The access attribute may appear within an
- aggregate that has been expanded into a loop.
- (Check_Task_Prefix): Add semantic check for attribute 'Callable and
- 'Terminated whenever the prefix is of a task interface class-wide type.
- (Analyze_Attribute): Add semantic check for attribute 'Identity whenever
- the prefix is of a task interface class-wide type.
-
- * s-vaflop-vms-alpha.adb: Valid_D, Valid_F, Valid_G: Make Val constant
- to avoid warnings.
-
- * s-fatgen.ads, s-fatgen.adb (Machine_Rounding): New function
- Remove pragma Inline for [Unaligned_]Valid.
- Add comments that Valid routines do not work for Vax_Float
-
- * exp_attr.adb: Implement Machine_Rounding attribute
-
- * snames.h: Add entry for Machine_Rounding attribute
-
-2005-11-14 Javier Miranda <miranda@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference, cases of Attribute_Size
- and related): For a prefix that is an explicit dereference of an
- access to unconstrained packed array type, annotate the dereference
- with an actual subtype so GIGI can make a correct size computation.
- (Expand_N_Attribute_Reference): In case of 'Unchecked_Access and
- 'Unrestricted_Access, if the designated type is an interface we
- add a type conversion to force the displacement of the pointer
- to the secondary dispatch table.
- Use Universal_Real instead of Long_Long_Float when we need a high
- precision float type for the generated code (prevents gratuitous
- Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
- (Expand_N_Attribute_Reference): Add support for attribute 'Callable and
- 'Terminated for task interface class-wide objects. Generate a call to
- the predefined dispatching routine used to retrieve the _task_id from
- a task corresponding record.
- (Expand_Fpt_Attribute): Major change to properly handle Vax_Float
-
- * sem_disp.adb: Change name Is_Package to Is_Package_Or_Generic_Package
- (Check_Dispatching_Operation): Protect the frontend againts
- previously detected errors.
-
- * Makefile.rtl: Add new instantiations of system.fat_gen
-
- * s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads:
- Change name of instantiated package for better consistency
- with newly added system.fat_gen instantiations.
-
- * s-filofl.ads, s-fishfl.ads, s-fvadfl.ads, s-fvaffl.ads,
- s-fvagfl.ads: New files.
-
-2005-11-14 Cyrille Comar <comar@adacore.com>
- Thomas Quinot <quinot@adacore.com>
-
- * exp_ch5.adb (Expand_N_Assignment_Statement, Tagged_Case): For an
- assignment of a value of a tagged type that has been rewritten to a
- block statement, it is known by construction that no checks are
- necessary for the statements within the block: analyze it with checks
- suppressed.
- (Expand_N_If_Statement): When killing a dead then-branch in an
- if-statement that has elsif_parts, recompute the Current_Value node
- for any entity whose value is known from the condition of the first
- elsif_part.
- (Expand_N_Return_Statement): When returning a mutable record, convert
- the return value into its actual subtype in order to help the backend
- to return the actual size instead of the maximum. This is another
- aftermath of not returning mutable records on the sec-stack anymore.
-
- * sem_ch5.ads, sem_ch5.adb (Analyze_Iteration_Scheme): Minor change to
- handling of error msg for suspicious reverse range iteration.
- (Check_Possible_Current_Value_Condition): Move declaration from body to
- spec, to allow this subprogram to be called from exp_ch5.
-
-2005-11-14 Thomas Quinot <quinot@adacore.com>
-
- * exp_dist.adb (Append_Array_Traversal): Modify constrained case to
- generate a set of nested array aggregates instead of a single flat
- aggregate for multi-dimensional arrays.
-
-2005-11-14 Pascal Obry <obry@adacore.com>
-
- * expect.c (__gnat_kill) [Win32]: Fix implementation, the pid returned
- by spawnve is a process handle, no need to convert. Add a parameter
- close to control wether the process handle must be closed.
- (__gnat_waitpid): Fix implementation, the pid returned by spawnve is
- a process handle, not need to convert.
- (__gnat_kill) [*]: Add dummy parameter close to match the Win32 spec.
-
- * g-expect.adb: (Kill): Document the new close parameter.
- (Close): Do not release the process handle in the kill there as
- waitpid() is using it.
- (Send_Signal): Release the process handle.
-
-2005-11-14 Robert Dewar <dewar@adacore.com>
-
- * exp_fixd.adb: Use Universal_Real instead of Long_Long_Float when we
- need a high precision float type for the generated code (prevents
- gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
- used).
-
- * exp_imgv.adb: Use Universal_Real instead of Long_Long_Float when we
- need a high precision float type for the generated code (prevents
- gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
- used).
- (Expand_Width_Attribute): In configurable run-time, the attribute is not
- allowed on non-static enumeration subtypes. Force a load error to emit
- the correct diagnostic.
-
-2005-11-14 Thomas Quinot <quinot@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * exp_intr.adb (Expand_Unc_Deallocation): If GIGI needs an actual
- subtype to compute the size of the designated object at run-time,
- create such a subtype and store it in the Actual_Designated_Subtype
- attribute of the N_Free_Statement.
- Generate itype for classwide designated object in both cases of
- user-specified storage pool: specific and class-wide, not only in the
- specific case.
- Raise CE when trying to set a not null access type object to null.
- (Expand_Dispatching_Constructor_Call): Retrieve subprogram actual with
- an explicit loop, because freeze nodes make its position variable.
-
- * sem_intr.adb (Check_Intrinsic_Call): Given warning for freeing not
- null object.
-
-2005-11-14 Javier Miranda <miranda@adacore.com>
-
- * exp_strm.adb (Build_Stream_Attr_Profile, Build_Stream_Function,
- Build_Stream_Procedure): Add the null-excluding attribute to the first
- formal.
- This has no semantic meaning under Ada95 mode but it is a
- requirement under Ada05 mode.
-
- * par-ch3.adb (P_Access_Definition): Addition of warning message if
- the null exclusion is used under Ada95 mode
- (P_Null_Exclusion): The qualifier has no semantic meaning in Ada 95.
- (P_Access_Definition): Remove assertion that forbids the use of
- the null-exclusion feature in Ada95.
-
-2005-11-14 Robert Dewar <dewar@adacore.com>
-
- * impunit.adb: Exclude container helper units not intended for use by
- users.
-
-2005-11-14 Ed Schonberg <schonberg@adacore.com>
-
- * freeze.adb (Freeze_Entity): For an access formal that is an access
- to subprogram, freeze the anonymous subprogram type at the same time,
- to prevent later freezing in the wrong scope, such as the enclosing
- subprogram body.
- (Freeze_Entity): Freeze the equivalent_type of an access_to_protected_
- subprogram whenever available.
-
-2005-11-14 Arnaud Charlet <charlet@adacore.com>
-
- PR ada/23732
- * gnatvsn.ads (Library_Version): Bump to 4.1
-
-2005-11-14 Robert Dewar <dewar@adacore.com>
-
- * g-debpoo.adb (Set_Valid): Use Integer_Address instead of
- Storage_Offset to avoid wrap around causing invalid results.
-
-2005-11-14 Pascal Obry <obry@adacore.com>
-
- * gnatbind.adb (Is_Cross_Compiler): New function returning True for
- cross-compiler.
- (Scan_Bind_Arg): Fail with an error message if -M option is used
- on a native compiler.
-
-2005-11-14 Robert Dewar <dewar@adacore.com>
- Vincent Celier <celier@adacore.com>
-
- * gprep.adb: Implement -C switch to scan comments
-
- * scng.adb: Scan comment symbol separately if Replace_In_Comments set
-
- * scans.ads: Comment updates (including new use of Tok_Comment in
- preprocessing)
-
- * opt.ads: Add documentation for flags that are used by gprmake,
- currently and in the next version of gprmake.
- (Verbosity_Level): New variable
- Add Replace_In_Comments switch
-
- * vms_data.ads: Add VMS equivalent for new gnatmake switches -vl, -vm
- and -vm.
- Add /REPLACE_IN_COMMENTS for gnatprep -C switch
-
-2005-11-14 Arnaud Charlet <charlet@adacore.com>
-
- * g-regpat.adb (Fail): raise Expression_Error including the diagnostic
- message, friendlier.
-
-2005-11-14 Robert Dewar <dewar@adacore.com>
-
- * g-spitbo.adb: (Hash): Rotate by 3 instead of 1
-
-2005-11-14 Doug Rupp <rupp@adacore.com>
-
- * init.c [VMS]: Don't install __gnat_error_handler if DBG$TDBG defined.
-
-2005-11-14 Robert Dewar <dewar@adacore.com>
-
- * interfac.ads: Change declarations of IEEE float types so that we no
- longer need a separate version of this package for VMS.
-
-2005-11-14 Ed Schonberg <schonberg@adacore.com>
-
- * lib-xref.adb (Generate_Definition, Generate_Reference): Treat the
- internal entity created for the declaration of a child subprogram body
- with no spec as coming from source, to generate proper cross-reference
- information.
-
-2005-11-14 Vincent Celier <celier@adacore.com>
-
- * make.adb (Compile_Sources): Change verbose message to minimum
- verbosity level High for "is in an Ada library", "is a read-only
- library" and "is an internal library",
- (Create_Binder_Mapping_File): Path name of ALI file for library project
- must include the library directory, not the object directory.
- (Scan_Make_Arg): Make sure that Switch.M.Scan_Make_Switches is called
- for new switches -vl, -vm and -vh.
- (Verbose_Msg): Add new defaulted parameter Minimum_Verbosity
- (Check): Use minimum verbosity Medium for some Verbose_Msg calls
- (Compile_Sources): Do not attempt to compile if an ALI file is missing
- in a project that is externally built.
- (Compute_All_Imported_Projects): New procedure
- (Gnatmake): Check if importing libraries should be regenerated because
- at least an imported library is more recent.
- (Initialize): For each project compute the list of the projects it
- imports directly or indirectly.
- (Add_Library_Search_Dir): New procedure, used in place of
- Add_Lib_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
- put in the search paths.
- (Add_Source_Search_Dir): New procedure, used in place of
- Add_Src_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
- put in the search paths.
- (Mark_Directory): Resolve the absolute path the directory before marking
- it.
-
- * switch-m.adb (Scan_Make_Switches): Replace "raise Bad_Switch;" with
- call to new procedure Bad_Switch. Call Scan_Pos with new parameter
- Switch. Do not handle any exception.
- (Scan_Make_Switches): Increment Ptr for new switches -vl, -vm and -vh
- so that the switch is recognized as valid.
- (Scan_Make_Switches): Implement new switches -vl, -vm and -vh.
-
-2005-11-14 GNAT Script <nobody@adacore.com>
-
- * Make-lang.in: Makefile automatically updated
-
-2005-11-14 Pascal Obry <obry@adacore.com>
-
- * mdll.adb (Build_Reloc_DLL): Fix parameter handling when a map file is
- used.
- (Ada_Build_Reloc_DLL): Fix parameter handling when a map file is used.
- In both cases the last argument was dropped.
-
-2005-11-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * namet.h: (Column_Numbe): New type.
- (Get_Column_Number): Define to sinput__get_column_number.
- (Instantiation): Define to sinput__instantiation.
- (Get_Column_Number): Declare.
- (Instantiation): Likewise.
-
-2005-11-14 Robert Dewar <dewar@adacore.com>
-
- * par-ch10.adb (P_Compilation_Unit): Add defenses against junk unit
- syntax, which could cause compiler hangs.
-
-2005-11-14 Vincent Celier <celier@adacore.com>
-
- * prj-ext.adb: Take into account new environment variable
- GPR_PROJECT_PATH. Warn if both GPR_PROJECT_PATH and ADA_PROJECT_PATH
- are defined.
- (Prj.Ext elaboration): For each directory in the ADA_PROJECT_PATH,
- normalize its path name, making it absolute and resolving symbolic
- links, and replace the original if resolved path is different.
-
-2005-11-14 Vincent Celier <celier@adacore.com>
-
- * prj-part.adb (Create_Virtual_Extending_Project): Put virtual project
- into Prj.Tree.Tree_Private_Part.Projects_Htable for GPS.
-
-2005-11-14 Emmanuel Briot <briot@adacore.com>
-
- * prj-pp.adb (Print): Do not output the with statement if the
- associated name is empty, which happens for virtual extending projects.
- (Print): Preserve the "extends all" attribute when printing the project.
-
- * prj-tree.ads (String_Value_Of): Add comment about returned value for
- a virtual extending project.
-
-2005-11-14 Ed Schonberg <schonberg@adacore.com>
-
- * sem_aggr.adb (Resolve_Aggregate): An others choice is legal on the
- rhs of an assignment even if the type is unconstrained, when the
- context is non-expanding.
- In an inlined body, if the context type is private,
- resolve with its full view, which must be a composite type.
-
-2005-11-14 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch10.adb: Change name Is_Package to Is_Package_Or_Generic_Package
- Do not give obsolescent warning on with of subprogram (since we
- diagnose calls)
- (Analyze_With_Clause): Add test for obsolescent package
- (Install_Context_Clauses): If the unit is the body of a child unit, do
- not install twice the private declarations of the parents, to prevent
- circular lists of Use_Clauses in a parent.
- (Implicit_With_On_Parent): Do add duplicate with_clause on parent when
- compiling body of child unit.
- Use new class N_Subprogram_Instantiation
- (Expand_With_Clause): If this is a private with_clause for a child unit,
- appearing in the context of a package declaration, then the implicit
- with_clauses generated for parent units are private as well.
- (License_Check): Do not generate message if with'ed unit is internal
-
-2005-11-14 Gary Dismukes <dismukes@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Thomas Quinot <quinot@adacore.com>
-
- * sem_ch12.ads, sem_ch12.adb (Map_Entities): Exclude entities whose
- names are internal, because they will not have a corresponding partner
- in the actual package.
- (Analyze_Formal_Package): Move the setting of the formal package spec's
- Generic_Parent field so that it occurs prior to analyzing the package,
- to allow proper operation of Install_Parent_Private_Declarations.
- (Analyze_Package_Instantiation): Set the instantiated package entity's
- Package_Instantiation field.
- (Get_Package_Instantiation_Node): Move declaration to package spec.
- Retrieve the N_Package_Instantiation node when the Package_Instantiation
- field is present.
- (Check_Generic_Child_Unit): Within an inlined call, the only possible
- instantiation is Unchecked_Conversion, for which no parents are needed.
- (Inline_Instance_Body): Deinstall and record the use_clauses for all
- parent scopes of a scope being removed prior to inlining an instance
- body.
- (Analyze_Package_Instantiation): Do not perform front-end inlining when
- the current context is itself an instance within a non-instance child
- unit, to prevent scope stack errors.
- (Save_References): If the node is an aggregate that is an actual in a
- call, rewrite as a qualified expression to preserve some type
- information, to resolve possible ambiguities in the instance.
- (Instance_Parent_Unit): New global variable to record the ultimate
- parent unit associated with a generic child unit instance (associated
- with the existing Parent_Unit_Visible flag).
- (type Instance_Env): New component Instance_Parent_Unit for stacking
- parents recorded in the global Instance_Parent_Unit.
- (Init_Env): Save value of Instance_Parent_Unit in the Instance_Env
- stack.
- (Install_Spec): Save the parent unit entity in Instance_Parent_Unit when
- it's not a top-level unit, and only do this if Instance_Parent_Unit is
- not already set. Replace test of Is_Child_Unit with test of parent's
- scope against package Standard. Add comments and a ??? comment.
- (Remove_Parent): Revise condition for resetting Is_Immediately_Visible
- on a child instance parent to test that the parent equals
- Instance_Parent rather than simply checking that the unit is not a
- child unit.
- (Restore_Env): Restore value of Instance_Parent_Unit from Instance_Env.
- (Validate_Derived_Interface_Type_Instance): Verify that all ancestors of
- a formal interface are ancestors of the corresponding actual.
- (Validate_Formal_Interface_Type): Additional legality checks.
- (Analyze_Formal_Derived_Interface_Type): New procedure to handle formal
- interface types with ancestors.
- (Analyze_Formal_Package): If formal is a renaming, use renamed entity
- to diagnose attempts to use generic within its own declaration.
-
-2005-11-14 Ed Schonberg <schonberg@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * sem_ch3.ads, sem_ch3.adb (Build_Discriminal): Add link to original
- discriminant.
- (Build_Private_Derived_Type): The entity of the created full view of the
- derived type does not come from source. If after installing the private
- declarations of the parent scope the parent is still private, use its
- full view to construct the full declaration of the derived type.
- (Build_Derived_Record_Type): Relax the condition that controls the
- execution of the check that verifies that the partial view and
- the full view agree in the set of implemented interfaces. In
- addition, this test now only takes into account the progenitors.
- (Derive_Interface_Subprograms): No need to derive subprograms
- of ancestors that are interfaces.
- (Derive_Subprograms): Remove formal No_Predefined_Prims and the
- associated code.
- Change name Is_Package to Is_Package_Or_Generic_Package
- (Complete_Subprograms_Derivation): Handle the case in which the full
- view is a transitive derivation of the ancestor of the partial view.
- (Process_Full_View): Rename local subprogram Find_Interface_In_
- Descendant to Find_Ancestor_Interface to leave the code more clear.
- Remove wrong code that avoids the generation of an error message
- when the immediate ancestor of the partial view is an interface.
- In addition some minor reorganization of the code has been done to
- leave it more clear.
- (Analyze_Type_Declaration): If type has previous incomplete tagged
- partial view, inherit properly its primitive operations.
- (Collect_Interfaces): Make public, for analysis of formal
- interfaces.
- (Analyze_Interface_Declaration): New procedure for use for regular and
- formal interface declarations.
- (Build_Derived_Record_Type): Add support for private types to the code
- that checks if a tagged type implements abstract interfaces.
- (Check_Aliased_Component_Type): The test applies in the spec of an
- instance as well.
- (Access_Type_Declaration): Clean up declaration of malformed type
- declared as an access to its own classwide type, to prevent cascaded
- crash.
- (Collect_Interfaces): For private extensions and for derived task types
- and derived protected types, the parent may be an interface that must
- be included in the interface list.
- (Access_Definition): If the designated type is an interface that may
- contain tasks, create Master_Id for it before analyzing the expression
- of the declaration, which may be an allocator.
- (Record_Type_Declaration): Set properly the interface kind, for use
- in allocators, the creation of master id's for task interfaces, etc.
-
-2005-11-14 Javier Miranda <miranda@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Check_Conformance): The null-exclusion feature can be
- omitted in case of stream attribute subprograms.
- (Check_Inline_Pragma): Handle Inline and Inline_Always pragmas that
- appear immediately after a subprogram body, when there is no previous
- subprogram declaration.
- Change name Is_Package to Is_Package_Or_Generic_Package
- (Process_Formals): A non null qualifier on a non null named access
- type is not an error, and is a warning only if Redundant_Constructs
- are flagged.
-
-2005-11-14 Gary Dismukes <dismukes@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch7.adb (Install_Parent_Private_Declarations): New procedure
- nested within Analyze_Package_Specification to install the private
- declarations and use clauses within each of the parent units of a
- package instance of a generic child package.
- (Analyze_Package_Specification): When entering a private part of a
- package associated with a generic instance or formal package, the
- private declarations of the parent must be installed (by calling new
- procedure Install_Parent_Private_Declarations).
- Change name Is_Package to Is_Package_Or_Generic_Package
- (Preserve_Full_Attributes): For a synchronized type, the corresponding
- record is absent in a generic context, which does not indicate a
- compiler error.
-
-2005-11-14 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic context, do
- not try to rewrite a renamed stream attribute, because the operations
- on the type may not have been generated.
- Handle properly a renaming_as_body generated for a stream operation
- whose default is abstract because the object type itself is abstract.
- (Find_Type): If the type is incomplete and appears as the prefix of a
- 'Class reference, it is tagged, and its list of primitive operations
- must be initialized properly.
- (Chain_Use_Clauses): When chaining the use clauses that appear in the
- private declaration of a parent unit, prior to compiling the private
- part of a child unit, find on the scope stack the proper parent entity
- on which to link the use clause.
- (Note_Redundant_Use): Emit a warning when a redundant use clause is
- detected.
- (Analyze_Object_Renaming): An attribute reference is not a legal object
- if it is not a function call.
-
-2005-11-14 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_eval.adb: Implement d.f flag
- (Subtype_Statically_Match): A generic actual type has unknown
- discriminants when the corresponding actual has a similar partial view.
- If the routine is called to validate the signature of an inherited
- operation in a child instance, the generic actual matches the full view,
-
-2005-11-14 Hristian Kirtchev <kirtchev@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Thomas Quinot <quinot@adacore.com>
-
- * sem_res.adb (Resolve_Call): Provide a better error message whenever
- a procedure call is used as a select statement trigger and is not an
- entry renaming or a primitive of a limited interface.
- (Valid_Conversion): If the operand has a single interpretation do not
- remove address operations.
- (Check_Infinite_Recursion): Skip freeze nodes when looking for a raise
- statement to inhibit warning.
- (Resolve_Unary_Op): Do not produce a warning when
- processing an expression of the form -(A mod B)
- Use Universal_Real instead of Long_Long_Float when we need a high
- precision float type for the generated code (prevents gratuitous
- Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
- (Resolve_Concatenation_Arg): Improve error message when argument is an
- ambiguous call to a function that returns an array.
- (Make_Call_Into_Operator, Operand_Type_In_Scope): Do not check that
- there is an implicit operator in the given scope if we are within an
- instance: legality check has been performed on the generic.
- (Resolve_Unary_Op): Apply warnings checks on argument of Abs operator
- after resolving operand, to avoid false warnings on overloaded calls.
-
-2005-11-14 Ed Schonberg <schonberg@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- PR ada/15604
- * sem_type.adb (Covers): In an inlined body, a composite type matches
- a private type whose full view is a composite type.
- (Interface_Present_In_Ancestor): Protect the frontend against
- previously detected errors to ensure that its compilation
- with assertions enabled gives the same output that its
- compilation without assertions.
- (Interface_Present_In_Ancestor): Add support for private types.
- Change name In_Actual to In_Generic_Actual (clean up)
- (Disambiguate): New predicate In_Actual, to recognize expressions that
- appear in the renaming declaration generated for generic actuals, and
- which must be resolved in the outer context.
-
-2005-11-14 Robert Dewar <dewar@adacore.com>
- Thomas Quinot <quinot@adacore.com>
- Hristian Kirtchev <kirtchev@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.ads, sem_util.adb: Change name Is_Package to
- Is_Package_Or_Generic_Package.
- (Check_Obsolescent): New procedure.
- (Set_Is_Public): Remove obsolete junk test.
- (Set_Public_Status): Do not set Is_Public on an object whose declaration
- occurs within a handled_sequence_of_statemets.
- (Is_Controlling_Limited_Procedure): Factor some of the logic, account
- for a parameterless procedure.
- (Enter_Name): Recognize renaming declarations created for private
- component of a protected type within protected operations, so that
- the source name of the component can be used in the debugger.
-
-2005-11-14 Ed Schonberg <schonberg@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * sem_warn.ads, sem_warn.adb (Publicly_Referenceable): Generic formals
- of a generic subprogram are not visible outside the body.
- (Set_Warning_Switch): New procedure (code to set warning mode moved
- here from Switch.C so that it can be shared by pragma processing.
- (Check_References): Special case warning for non-modified non-imported
- volatile objects.
- * par-prag.adb: Modify processing of pragma Warnings to accomodate new
- form with a string literal argument
-
-2005-11-14 Javier Miranda <miranda@adacore.com>
-
- * s-finroo.ads, s-finroo.adb (Read): Addition of "not null" to the
- anonymous access.
- (Write): Addition of "not null" to the anonymous access.
- (Read): Addition of "not null" to the anonymous access.
- (Write): Addition of "not null" to the anonymous access.
-
- * s-strxdr.adb, s-stratt.ads, s-stratt.adb (I_AD, I_AS, I_B, I_C, I_F,
- I_I, I_LF, I_LI, I_LLF, I_LLI, I_LLU, I_LU, I_SF, I_SI, I_SSI, I_SSU,
- I_SU, I_U, I_WC): Addition of "not null" to the anonymous access.
- (W_AD, W_AS, W_B, W_C, W_F, W_I, W_LF, W_LI, W_LLF, W_LLI, W_LLU,
- W_LU, W_SF, W_SI, W_SSI, W_SSU, W_SU, W_U, W_WC): Addition of
- "not null" to the anonymous access.
-
-2005-11-14 Robert Dewar <dewar@adacore.com>
-
- * s-stoele.adb: Fix code for Address mod Storage_Offset for negative
- offset values
-
-2005-11-14 Vincent Celier <celier@adacore.com>
-
- * switch.adb (Bad_Switch): New procedure
- (Scan_Nat, Scan_Pos): Directly call Osint.Fail with the appropriate
- message when in error.
-
- * switch.ads (Bad_Switch, Bad_Switch_Value, Missing_Switch_Value,
- Too_Many_Output_Files): Remove declarations, no longer used.
- (Scan_Nat): New parameter Switch
- (Scan_Pos): Ditto
- (Bad_Switch): New procedure
-
- * switch-b.adb (Scan_Binder_Switches): Replace "raise Bad_Switch;"
- with call to new procedure Bad_Switch. Call Scan_Pos and Scan_Natwith
- new parameter Switch. Replace "raise Too_Many_Output_Files;" with call
- to Osint.Fail. Do not handle any exception.
-
-2005-11-14 Vincent Celier <celier@adacore.com>
-
- * tempdir.adb (Tempdir): Do not use environment variable TMPDIR if it
- designates a non existent directory.
-
-2005-11-14 Robert Dewar <dewar@adacore.com>
-
- * xgnatugn.adb: Replace invalid membership test by 'Valid
-
-2005-11-14 Vincent Celier <celier@adacore.com>
-
- * makegpr.adb (Gprmake): Do not attempt to build the global archive if
- there is no object directory.
-
-2005-11-14 Robert Dewar <dewar@adacore.com>
-
- * usage.adb: Minor adjustment to output format, use nn instead of nnn
- (so that -gnateInnn does not run into next column)
-
-2005-11-14 Ed Falis <falis@adacore.com>
-
- * s-bitops.adb (Bits_Array): corrected comment: "unconstrained" =>
- "constrained"
-
-2005-11-14 Cyrille Comar <comar@adacore.com>
-
- * s-chepoo.ads: Add comments on Dereference.
- Remove unnecessary inherited abstract primitives.
- Cosmetic cleanup.
-
-2005-11-14 Robert Dewar <dewar@adacore.com>
-
- * sem_cat.ads (Validate_Access_Type_Declaration): Remove declaration
- node parameter, not needed, since it is available as Declaration_Node.
-
-2005-11-14 Geert Bosch <bosch@adacore.com>
-
- * s-exnllf.adb (Exn_LLF): Fix comment to be more precise and
- grammatically correct.
-
-2005-11-14 Vincent Celier <celier@adacore.com>
-
- * s-fileio.ads: Correct spelling error in comment
-
-2005-11-14 Cyrille Comar <comar@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Vincent Celier <celier@adacore.com>
- Ben Brosgol <brosgol@adacore.com>
- Jose Ruiz <ruiz@adacore.com>
- Pascal Obry <obry@adacore.com>
-
- * gnat_ugn.texi:
- Document that -fstack-check is needed for strict compliance with the
- Ada 95 Reference Manual.
- Correct reference to VAX systems to meet HP guidelines
- Add documentation for new gnatmake switches -vl, -vm and -vh
- Replace DEC Ada by HP Ada
- Replace DIGITAL by HP
- Remove empty section on tools in compatibility section
- Clarify the Windows convention semantics.
- Document the Win32 calling convention.
- The Stdcall, Win32 and DLL convention are synonyms.
- Add a note in -gnatR description about zero size record components
- Note on new >= and <= warnings for -gnatwc
- Document that equal sign after -gnatm is optional.
- Note that strip is working fine on DLL built with a Library
- Project. The restriction apply only to DLL built with gnatdll.
- Update section about the way to debug a DLL.
- Update information about the DLL convention.
- Document -C switch for gnatprep
- Document new attribute Library_ALI_Dir
- Update elaboration doc to include implicit Elaborate pragmas now
- generated for subprogram instantiations.
- Document limitation on executable names that include spaces for --GCC,
- --GNATBIND, and --GNATLINK switches.
- Document that -w causes -gnatws to be added at start of gcc switches
-
- * gnat_rm.texi: Document that -mieee is needed for generating infinite
- and NaN values in case of overflow on machines that are not fully
- compliant with the IEEE floating-point standard.
- Create a section describing the set of compiler options needed for
- strict compliance with the Ada 95 Reference Manual.
- Add documentation for pragma Obsolescent applied to a package
- Clarify potential issues of mixed language programs related to the
- I/O buffering enabling in the elaboration of the GNAT runtime.
- Add extra documentation for pragma Restrictions (No_Elaboration_Code)
- This documentation only patch adds extra documentsion for pragma
- Restrictions (No_Elaboration_Code), explaining why it is not possible
- to document this restriction in terms of allowed source constructs.
- Document string literal form of pragma Warnings
- Document new attribute Library_ALI_Dir
- Add documentation on stable attributes in project files that was missing
-
- * gnat-style.texi: Indicate that paragraphs within a single comment
- should be separated by empty comment lines
-
- * ug_words: Added replacements for -gnat95 and -gnat05 (/95 and
- /05 respectively)
-
- * bindusg.adb: Minor cleanup, put -m before -M for consistency
-
-2005-11-14 Robert Dewar <dewar@adacore.com>
-
- * a-secain.adb, a-slcain.adb, a-shcain.adb, a-chtgke.ads, a-chtgke.adb,
- a-stwiha.adb, a-strhas.adb, a-chzla1.ads, a-chzla9.ads, a-stzbou.adb,
- a-stzbou.ads, a-stzfix.adb, a-stzhas.adb, a-stzmap.adb, a-stzmap.ads,
- a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads, a-stzunb.adb,
- a-stzunb.ads, a-szuzha.adb, a-szuzha.ads, a-szuzti.adb, a-szuzti.ads,
- a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb, a-ztcstr.adb, a-ztcstr.ads,
- a-ztdeau.adb, a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
- a-ztedit.ads, a-ztenau.ads, a-ztenio.adb, a-ztenio.ads, a-ztexio.adb,
- a-ztexio.ads, a-ztfiio.adb, a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads,
- a-ztflio.adb, a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
- a-ztinau.ads, a-ztinio.adb, a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads,
- a-zttest.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-alpha.adb,
- g-enblsp-vms-ia64.adb, g-enblsp-vms-ia64.adb, system-linux-hppa.ads,
- a-chacon.adb, a-chacon.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb,
- a-zchuni.ads, g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb,
- system-hpux-ia64.ads, g-soccon-unixware.ads, g-soliop-unixware.ads,
- g-soccon-interix.ads, g-soliop-solaris.ads, g-eacodu-vms.adb,
- g-expect-vms.adb, g-socthi-vms.adb, g-soliop-mingw.ads,
- a-intnam-unixware.ads, a-intnam-lynxos.ads, a-intnam-tru64.ads,
- a-intnam-aix.ads, a-intnam-linux.ads, a-intnam-linux.ads,
- a-intnam-dummy.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
- a-intnam-solaris.ads, a-calend-vms.adb, a-calend-vms.ads,
- a-intnam-vms.ads, a-calend-mingw.adb, a-intnam-mingw.ads,
- a-intnam-vxworks.ads, a-numaux-vxworks.ads, system-unixware.ads,
- system-linux-ia64.ads, a-intnam-freebsd.ads, system-freebsd-x86.ads,
- system-lynxos-ppc.ads, system-linux-x86_64.ads, a-stunha.adb,
- a-cgaaso.ads, a-cgaaso.adb, a-chtgop.adb, a-cgcaso.adb, a-cgarso.adb,
- a-cohata.ads, a-crbtgk.adb, a-crbltr.ads, a-coprnu.adb, a-rbtgso.adb,
- a-intnam-darwin.ads, system-darwin-ppc.ads, gprmake.adb, makegpr.ads,
- system-tru64.ads, system-aix.ads, system-solaris-x86.ads,
- system-irix-o32.ads, s-interr-sigaction.adb, system-irix-n32.ads,
- s-parame-mingw.adb, system-hpux.ads, s-traceb-hpux.adb,
- system-linux-x86.ads, s-inmaop-dummy.adb, system-os2.ads,
- system-interix.ads, system-solaris-sparc.ads,
- system-solaris-sparcv9.ads, s-inmaop-vms.adb,
- s-mastop-vms.adb, expander.adb, expander.ads, s-gloloc-mingw.adb,
- system-mingw.ads, system-vms-zcx.ads, s-osinte-fsu.adb,
- s-traceb-mastop.adb, a-exextr.adb, a-exstat.adb, a-filico.ads,
- a-finali.ads, a-interr.ads, a-intsig.adb, a-intsig.ads,
- a-except.ads, a-numaux-x86.ads, a-astaco.adb, a-calend.adb,
- a-calend.ads, a-chahan.adb, a-chahan.ads, a-chlat9.ads,
- a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
- a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
- a-elchha.adb, a-decima.adb, a-decima.ads, a-diocst.ads,
- a-direio.adb, a-direio.ads, a-excach.adb, a-excach.adb,
- a-exctra.ads, ali-util.adb, a-ngcefu.adb, a-ngcoty.adb,
- a-ngcoty.ads, a-nudira.adb, a-nudira.ads, a-nuflra.adb,
- a-numaux.ads, a-reatim.ads, a-sequio.adb, a-sequio.ads,
- a-siocst.ads, a-ssicst.ads, a-stmaco.ads, a-storio.adb,
- a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
- a-strmap.adb, a-strmap.ads, a-strsea.adb, a-strsea.ads,
- a-strsup.adb, a-strsup.ads, a-strunb.adb, a-strunb.ads,
- a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwima.adb,
- a-stwima.ads, a-stwise.adb, a-stwise.ads, a-stwisu.adb,
- a-stwisu.ads, a-stwiun.adb, a-stwiun.ads, a-suteio.adb,
- a-suteio.ads, a-swmwco.ads, a-swuwti.adb, a-swuwti.ads,
- a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb,
- a-taside.ads, a-teioed.adb, a-textio.adb, a-textio.ads,
- a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tideau.adb,
- a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
- a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
- a-tiinio.adb, a-timoau.adb, a-timoio.adb, a-timoio.ads,
- a-tiocst.ads, a-titest.adb, atree.adb, a-witeio.adb,
- a-witeio.ads, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb,
- a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtedit.adb,
- a-wtedit.ads, a-wtenau.adb, a-wtenio.adb, a-wtfiio.adb,
- a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
- a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, back_end.adb,
- bindgen.adb, butil.adb, butil.ads, checks.ads, cio.c, comperr.adb,
- csets.ads, cstand.adb, debug.ads, elists.ads, errno.c, errout.adb,
- errout.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
- errutil.ads, err_vars.ads, eval_fat.adb, exp_ch11.adb, exp_ch11.ads,
- exp_ch2.adb, exp_ch7.ads, exp_imgv.ads, exp_pakd.adb, exp_prag.adb,
- exp_prag.ads, exp_tss.adb, exp_tss.ads, exp_vfpt.ads, fe.h, fmap.adb,
- freeze.ads, frontend.adb, frontend.ads, g-arrspl.adb, g-arrspl.ads,
- g-awk.adb, g-awk.ads, g-boumai.ads, g-calend.adb, g-calend.ads,
- g-catiio.adb, g-comlin.adb, g-comlin.ads, g-comlin.ads, g-comlin.ads,
- g-comver.adb, g-crc32.adb, g-crc32.ads, g-ctrl_c.ads, g-curexc.ads,
- g-debpoo.ads, g-debuti.adb, g-diopit.adb, g-diopit.ads, g-dirope.adb,
- g-dirope.ads, g-dyntab.adb, g-dyntab.ads, g-excact.adb, g-excact.ads,
- g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.ads, g-flocon.ads,
- g-hesorg.ads, g-io.adb, g-locfil.ads, g-md5.adb, g-md5.ads, g-md5.ads,
- g-moreex.adb, g-signal.ads, g-signal.adb, gnatbind.ads, gnatchop.adb,
- gnatcmd.adb, gnatfind.adb, gnatlbr.adb, gnatmake.ads, gnatmem.adb,
- gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb, g-os_lib.adb,
- g-os_lib.ads, g-pehage.adb, g-pehage.ads, gprep.ads, g-regexp.adb,
- g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.ads, g-semaph.adb,
- g-socthi.adb, g-soliop.ads, g-spipat.adb, g-spipat.ads, g-sptabo.ads,
- g-sptain.ads, g-sptavs.ads, g-string.ads, g-tasloc.adb, g-tasloc.ads,
- g-trasym.adb, g-trasym.ads, i-fortra.adb, i-fortra.ads, inline.adb,
- layout.adb, live.adb, make.ads, makeutl.ads, makeutl.adb, mdll-fil.adb,
- mdll-fil.ads, mdll-utl.ads, memroot.ads, memtrack.adb, mlib.ads,
- mlib-fil.adb, mlib-fil.ads, mlib-prj.ads, mlib-utl.adb, mlib-utl.ads,
- nlists.adb, nlists.ads, osint.adb, osint.ads, osint-c.adb, osint-l.adb,
- osint-l.ads, osint-m.ads, output.adb, par.adb, par.adb, par.ads,
- par-ch11.adb, par-ch12.adb, par-ch2.adb, par-ch4.adb, par-ch5.adb,
- par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
- par-tchk.adb, prep.adb, prepcomp.adb, prepcomp.ads, prj-attr.ads,
- prj-com.ads, prj-dect.adb, prj-dect.ads, prj-env.ads, prj-err.ads,
- prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.ads, prj-pars.adb,
- prj-pars.ads, prj-part.ads, prj-pp.ads, prj-proc.ads, prj-strt.adb,
- prj-strt.ads, prj-tree.adb, prj-util.adb, prj-util.ads, rtsfind.adb,
- sem.adb, sem.ads, sem_case.adb, sem_case.ads, sem_ch11.adb,
- sem_ch4.adb, sem_ch6.ads, sem_ch7.ads, sem_dist.ads, sem_elab.ads,
- sem_elim.ads, sem_eval.ads, sem_intr.ads, sem_maps.adb, sem_maps.ads,
- sem_maps.ads, sem_res.ads, sem_type.ads, sfn_scan.adb, sfn_scan.ads,
- s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads, s-inmaop.ads, sinput.adb,
- sinput.ads, s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads,
- s-pack06.adb, s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb,
- s-pack09.ads, s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
- s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb,
- s-pack14.ads, s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads,
- s-pack18.adb, s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb,
- s-pack20.ads, s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
- s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb,
- s-pack25.ads, s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads,
- s-pack28.adb, s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb,
- s-pack30.ads, s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
- s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb,
- s-pack36.ads, s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads,
- s-pack39.adb, s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb,
- s-pack41.ads, s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
- s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb,
- s-pack46.ads, s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads,
- s-pack49.adb, s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb,
- s-pack51.ads, s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
- s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb,
- s-pack56.ads, s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads,
- s-pack59.adb, s-pack59.ads, s-pack60.adb, s-pack60.adb, s-pack60.ads,
- s-pack61.adb, s-pack61.ads, s-pack62.adb, s-pack62.ads, s-pack63.adb,
- s-pack63.ads, s-parint.adb, s-parint.adb, s-parint.ads, sprint.ads,
- s-purexc.ads, s-restri.ads, s-restri.adb, s-scaval.adb, s-scaval.ads,
- s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads, stand.ads,
- s-tasuti.adb, s-traceb.adb, s-traceb.ads, stringt.adb, stringt.ads,
- styleg.ads, s-valboo.adb, s-valboo.ads, s-valcha.adb, s-valcha.ads,
- s-valdec.adb, s-valdec.ads, s-valint.adb, s-valint.ads, s-valint.ads,
- s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads, s-valllu.adb,
- s-valllu.ads, s-valrea.adb, s-valrea.ads, s-valuns.adb, s-valuns.ads,
- s-valuti.adb, s-valuti.ads, s-valwch.ads, s-veboop.adb, s-veboop.ads,
- s-vercon.adb, s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchcon.ads,
- s-wchjis.adb, s-wchjis.ads, s-wchstw.adb, s-wchstw.adb, s-wchstw.ads,
- s-wchwts.adb, s-wchwts.ads, s-widboo.adb, s-widboo.ads, s-widcha.adb,
- s-widcha.ads, s-widenu.adb, s-widenu.ads, s-widlli.adb, s-widlli.ads,
- s-widllu.adb, s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
- s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, symbols.adb, symbols.ads,
- table.ads, targparm.adb, targparm.ads, tb-alvms.c, tb-alvxw.c,
- tbuild.adb, tree_io.ads, treepr.adb, treeprs.adt, ttypef.ads,
- ttypes.ads, types.adb, uintp.adb, uintp.ads, uname.ads, urealp.ads,
- usage.ads, validsw.ads, vxaddr2line.adb, widechar.adb, widechar.ads,
- xeinfo.adb, xnmake.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads,
- xsinfo.adb, xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb,
- a-dirval.ads, a-dirval.adb, a-dirval-mingw.adb, a-direct.ads,
- a-direct.adb, indepsw.ads, prj-attr-pm.ads, system-linux-ppc.ads,
- a-numaux-darwin.ads, a-numaux-darwin.adb,
- a-swuwha.ads, a-stunha.ads: Minor reformatting
-
-2005-11-14 Robert Dewar <dewar@adacore.com>
-
- PR ada/18434
- * osint-m.adb: Add pragma Elaborate_All for Osint
-
-2005-11-10 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/23995
- * trans.c (call_to_gnu): Restore statement lost in translation.
-
-2005-11-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * init.c: Use the Linux-specific section for the IA-64/Linux target.
- (__gnat_adjust_context_for_raise): Add conditional code so that the
- IA-64 is also supported.
-
-2005-11-03 James E Wilson <wilson@specifix.com>
-
- PR ada/23427
- * trans.c (gnat_to_gnu): Use TYPE_SIZE_UNIT not TYPE_SIZE in
- TREE_OVERFLOW check.
-
-2005-09-21 Olivier Hainque <hainque@adacore.com>
-
- PR ada/22418
- * decl.c (maybe_pad_type): Use proper bitsizetype for XVZ objects,
- as we create them to store a size in bits.
-
-2005-10-21 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/21937
- PR ada/22328
- PR ada/22381
- PR ada/22383
- PR ada/22419
- PR ada/22420
- * utils2.c (build_return_expr): New helper function.
- * gigi.h (build_return_expr): Declare it.
- * trans.c (Subprogram_Body_to_gnu): Use build_return_expr instead
- of manually building the RETURN_EXPR tree.
- (call_to_gnu): Pass MODIFY_EXPR through build_binary_op.
- (gnat_to_gnu) <N_Return_Statement>: Pass MODIFY_EXPR through
- build_binary_op for the "target pointer" case. Use build_return_expr
- instead of manually building the RETURN_EXPR tree.
-
-2005-09-16 Laurent Guerby <laurent@guerby.net>
-
- PR ada/23788
- * s-tpinop.ads: Make this unit Preelaborate.
-
-2005-09-16 Andreas Jaeger <aj@suse.de>
-
- * socket.c: Add string.h for memcpy.
-
-2005-09-05 Arnaud Charlet <charlet@adacore.com>
-
- * dec-io.ads, dec-io.adb: Removed, no longer used.
-
-2005-09-01 Arnaud Charlet <charlet@adacore.com>
-
- * 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
- categorization.
- 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
- Preelaborate.
- 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
- Preelaborate.
- 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
- Preelaborate.
- 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
- duplication.
- Remove reference to *Machine_State_Addr*, no longer needed.
-
-2005-09-01 Arnaud Charlet <charlet@adacore.com>
-
- * 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
- preelaborate.
- (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
- preelaborate.
- 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.
-
-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
- Make_Function_Specification.
- (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.
-
-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
- table.
- 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
- Set_Result_Definition.
- (Build_Variant_Record_Equality): Change Subtype_Mark to
- Result_Definition.
- (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
- interface.
-
- * 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
- interfaces.
- (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_
- Entity.
- (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
- Default_Prim_Op_Count.
- (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
- selects.
- (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
- interface.
- (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
- predefined.
- (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,
- Set_Prim_Op_Kind.
-
- * sem_ch9.adb (Analyze_Triggering_Alternative): Check for legal type
- of procedure name or prefix that appears as a trigger in a triggering
- alternative.
-
- * uintp.ads: Introduce constants Uint_11 and Uint_13.
-
-2005-09-01 Arnaud Charlet <charlet@adacore.com>
-
- * 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.
-
-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
- Preelaborate.
- (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
- caller.
- Use only Preelaborate-compatible constructs.
-
- * s-tpopsp-vxworks.adb (ATBC_Key, ATCB_Key_Addr): Moved from
- Primitives.Operations.
- (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.
-
-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:
- IP_MULTICAST_IF
- SO_RCVTIMEO/SO_SNDTIMEO
- IOV_MAX
-
- * 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.
-
-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.
-
-2005-09-01 Arnaud Charlet <charlet@adacore.com>
-
- * 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.
-
-2005-09-01 Robert Dewar <dewar@adacore.com>
-
- * binde.adb: Minor reformatting
- (Find_Elab_Order): Output warning if -p used with static elab order
-
-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.
-
-2005-09-01 Robert Dewar <dewar@adacore.com>
-
- * a-ztexio.adb, a-textio.adb, a-witeio.adb: Replace bad range checks
- with 'Valid tests.
-
-2005-09-01 Robert Dewar <dewar@adacore.com>
-
- * errout.ads, errout.adb (Fix Error_Msg_F): Fix implementation to meet
- spec.
- 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
- warning).
- (Check_For_Source): Change value of Source_Id only after the current
- source has been dealt with.
-
-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
-
-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.
-
-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
- typ___XB_lowerbound__upperbound.
-
-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.
-
-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.
-
-2005-09-01 Robert Dewar <dewar@adacore.com>
-
- * exp_pakd.adb (Create_Packed_Array_Type): Properly handle very large
- packed arrays.
-
-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
-
-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.
-
-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.
-
-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
- Result_Definition.
-
- * 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
- Set_Subtype_Mark.
-
- * 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
- N_Function_Specification.
- (Set_Null_Exclusion_Present): Allow this flag for
- N_Function_Specification.
- (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
- N_Access_Function_Definition.
- (Set_Result_Definition): New procedure for N_Function_Specification and
- N_Access_Function_Definition.
-
- * sprint.adb (S_Print_Node_Actual): Change Subtype_Mark calls to
- Result_Definition for cases of N_Access_Function_Definition and
- N_Function_Specification.
- Print "not null" if Null_Exclusion_Present on N_Function_Specification.
-
-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.
-
-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
- information.
-
- * ali.adb (Get_Typeref): New subprogram. Adds support for parsing the
- overriding entity information.
-
-2005-09-01 Vincent Celier <celier@adacore.com>
-
- * mlib-prj.adb (Copy_Interface_Sources): Copy all interface sources,
- including those that are inherited.
-
-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
- Pack.
-
- * 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,
- Name_Disp_Timed_Select.
- New pragma Debug_Policy
-
- * switch-c.adb (Scan_Front_End_Switches): Set Ada 2005 mode
- explicitly.
- 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.
-
-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.
-
-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
-
-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)
-
-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)
-
-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_
- With_Clause
- (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.
-
-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.
-
-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.
-
-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
- operations.
- (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_
- dispatching_operation)
- (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.
-
-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
- usual.
- (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
- view.
- (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.
-
-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
- Set_Result_Definition.
- (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.
-
-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.
-
-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.
-
-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
- types.
- (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.
-
-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
-
-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
- parameter.
- (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
- operation.
- 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.
-
-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.
-
-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.
-
-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
- positions.
- 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
- Float_Representation.
- Add documentation for pragma No_Strict_Aliasing
- Add note that explicit component clause overrides pragma Pack.
- Add documentation of pragma Debug_Policy
-
-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.
-
-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.
-
-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
-
-2005-08-29 Arnaud Charlet <charlet@adacore.com>
-
- PR ada/23187
- * adaint.c
- (GNAT_MAXPATH_LEN): Use default value if MAXPATHLEN is undefined.
-
-2005-08-29 Arnaud Charlet <charlet@adacore.com>
- Doug Rupp <rupp@adacore.com>
-
- * s-stalib.adb: Add missing pragma Warnings (On) to reenable Warnings
- when needed.
- (Inside_Elab_Final_Code): Moved to init.c to avoid having to keep
- this code in the GNAT run-time.
-
- * decl.c, fe.h: Replace GCC_ZCX by Back_End_Exceptions.
-
- PR ada/21053
- * init.c (__gnat_error_handler [many]): Mark "msg" as const
- (__gnat_error_handler [HPUX]): Mark siginfo parameter as unused
-
- (__gnat_inside_elab_final_code): Moved here from
- Standard_Library and only defined for the compiler.
- __gnat_error_handler [VMS]: Adjust sigargs to account for PC & PSL.
- (__gnat_inum_to_ivec): Do not define this function on VxWorks when
- using RTPs because directly vectored Interrupt routines are not
- supported on this configuration.
- (getpid): Do not redefine this function on VxWorks when using RTPs
- because this primitive is well supported by the RTP libraries.
- (copy_msg): Correct the code that checks for buffer overflow.
- Discovered during code reading.
-
-2005-08-29 Olivier Hainque <hainque@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <E_Variable>: When allocating storage for
- a library level mutable variable with an initializer, tell
- build_allocator to ignore the initializer's size. It may not be large
- enough for all the values that might be assigned to the variable later
- on.
-
-2005-08-29 Arnaud Charlet <charlet@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * trans.c: Protect < in error msg with quote
- Replace GCC_ZCX by Back_End_Exceptions.
- (addressable_p) <COMPONENT_REF>: Also return 1 if the field
- has been sufficiently aligned in the record.
-
-2005-08-15 James E. Wilson <wilson@specifix.com>
-
- * system-linux-alpha.ads: Change ia64 to alpha.
-
-2005-08-01 Kazu Hirata <kazu@codesourcery.com>
-
- * decl.c, utils.c: Fix comment typos.
-
-2005-07-29 Kazu Hirata <kazu@codesourcery.com>
-
- * decl.c, init.c, initialize.c: Fix comment typos.
-
-2005-07-20 Giovanni Bajo <giovannibajo@libero.it>
-
- Make CONSTRUCTOR use VEC to store initializers.
- * decl.c (gnat_to_gnu_entity): Update to cope with VEC in
- CONSTRUCTOR_ELTS.
- * trans.c (extract_values): Likewise.
- * utils.c (convert, remove_conversions): Likewise.
- * utils2.c (contains_save_expr_p, build_binary_op, build_unary_op,
- gnat_build_constructor): Likewise.
-
-2005-07-09 Andrew Pinski <pinskia@physics.uc.edu>
-
- * decl.c (components_to_record): Use DECL_FCONTEXT instead of
- DECL_SECTION_NAME.
- (compare_field_bitpos): Likewise.
-
-2005-07-09 Andrew Pinski <pinskia@physics.uc.edu>
-
- * utils.c (create_var_decl): Only set DECL_COMMON on
- VAR_DECLs. Only set SET_DECL_ASSEMBLER_NAME on
- VAR_OR_FUNCTION_DECL_P.
-
-2005-07-08 Daniel Berlin <dberlin@dberlin.org>
-
- * utils.c (create_param_decl): DECL_ARG_TYPE_AS_WRITTEN is
- removed.
-
-2005-07-07 Pascal Obry <obry@adacore.com>
-
- * g-socthi-mingw.adb (C_Inet_Addr): New body used to convert the
- returned type on Windows.
-
- * g-socthi-mingw.ads (C_Inet_Addr): Remove pragma Import for this
- routine.
-
- * g-socket.adb (Inet_Addr): Check for empty Image and raises an
- exception in this case.
- Simplify the code as "Image (Image'Range)" = "Image".
-
-2005-07-07 Vincent Celier <celier@adacore.com>
-
- * bindgen.adb (Gen_Output_File_C): When switch -a was specified, put
- the destructor/constructor attributes for <lib>final/<lib>init.
-
- * gnatbind.adb (Gnatbind): Allow -a to be used in conjunction with -C
-
-2005-07-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not strip the padding
- type if the parameter is not passed by copy but reference by default.
-
-2005-07-07 Javier Miranda <miranda@adacore.com>
-
- * exp_ch3.adb (Build_Record_Init_Proc/Freeze_Record_Type):
- Reimplementation of the support for abstract interface types in order
- to leave the code more clear and easy to maintain.
-
- * exp_ch6.adb (Freeze_Subprogram): Reimplementation of the support for
- abstract interface types in order to leave the code clearer and easier
- to maintain.
-
- * exp_disp.ads, exp_disp.adb (Fill_DT_Entry): Part of its functionality
- is now implemented by the new subprogram Fill_Secondary_DT_Entry.
- (Fill_Secondary_DT_Entry): Generate the code necessary to fill the
- appropriate entry of the secondary dispatch table.
- (Make_DT): Add code to inherit the secondary dispatch tables of
- the ancestors.
-
- * exp_util.adb (Find_Interface_Tag/Find_Interface_ADT): Instead of
- implementing both functionalities by means of a common routine, each
- routine has its own code.
-
-2005-07-07 Javier Miranda <miranda@adacore.com>
-
- * freeze.adb (Freeze_Entity): Check wrong uses of tag incomplete types.
-
- * par-ch3.adb (P_Type_Declaration): Give support to tagged incomplete
- types:
- --
- type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
- --
-
- * sem_attr.adb (Check_Not_Incomplete_Type): Additional checks for wrong
- use of tag incomplete types.
-
- * sem_ch3.adb (Analyze_Incomplete_Type): Add mininum decoration to
- give support to tagged incomplete types.
-
- * sem_ch5.adb (Analyze_Case_Statement): In generated code, if the
- expression is a discriminant reference and its type is private, as can
- happen within a stream operation for a mutable record, use the full
- view of the type to resolve the case alternatives.
- (Analyze_Assignment): Check wrong dereference of incomplete types.
-
- * sem_ch6.adb (Process_Formals): Allow the use of tagged incomplete
- types.
-
- * sem_res.adb (Resolve_Explicit_Dereference): Allow the use of tagged
- incomplete types.
-
- * sinfo.adb (Taggged_Present/Set_Taggged_Present): Applicable to
- N_Incomplete_Type_Declaration nodes.
-
- * sinfo.ads (N_Incomplete_Type_Declaration): Addition of attribute
- Tag_Present to give support to tagged incomplete types:
- --
- type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
- --
-
-2005-07-07 Olivier Hainque <hainque@adacore.com>
-
- PR ada/22301
- * raise.c: Only include unwind.h if IN_RTS, and provide dummy type
- definitions for the Unwind wrappers in the compiler case.
-
-2005-07-07 Ed Schonberg <schonberg@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * par-load.adb (Load): If a child unit is loaded through a limited_with
- clause, each parent must be loaded as a limited unit as well.
-
- * sem_ch10.adb (Previous_Withed_Unit): Better name for
- Check_Withed_Unit. Return true if there is a previous with_clause for
- this unit, whether limited or not.
- (Expand_Limited_With_Clause): Do not generate a limited_with_clause on
- the current unit.
- (Is_Visible_Through_Renamings): New local subprogram of install_limited
- _withed_unit that checks if some package installed through normal with
- clauses has a renaming declaration of package whose limited-view is
- ready to be installed. This enforces the check of the rule 10.1.2 (21/2)
- of the current Draft document for Ada 2005.
- (Analyze_Context): Complete the list of compilation units that
- are allowed to contain limited-with clauses. It also contains
- checks that were previously done by Install_Limited_Context_Clauses.
- This makes the code more clear and easy to maintain.
- (Expand_Limited_With_Clause) It is now a local subprogram of
- Install_Limited_Context_Clauses, and contains the code that adds
- the implicit limited-with clauses for parents of child units.
- This functionality was prevously done by Analyze_Context.
-
- * sem_ch4.adb (Analyze_Selected_Component): Check wrong use of
- incomplete type.
-
- * sem_ch7.adb (Analyze_Package_Declaration): Check if the package has
- been erroneously named in a limited-with clause of its own context.
- In this case the error has been previously notified by Analyze_Context.
-
-2005-07-07 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Find_Direct_Name): Handle properly the case of a
- generic package that contains local declarations with the same name.
- (Analyze_Object_Renaming): Check wrong renaming of incomplete type.
-
-2005-07-07 Bernard Banner <banner@adacore.com>
-
- * tracebak.c: Refine tracebacks to use Unwind_Backtrace scheme on
- ia64 platform only on platforms that you the GCC unwind library
- rather than the system unwind library.
-
-2005-07-07 Thomas Quinot <quinot@adacore.com>
-
- * expect.c: Minor reformatting
-
-2005-07-07 Sergey Rybin <rybin@adacore.com>
-
- * vms_data.ads: Add VMS qualifiers for new gnatpp switch
- --no-separate-is
-
- * gnat_ugn.texi: Add description for new gnatpp option
- (--no-separate-is)
-
-2005-07-04 Thomas Quinot <quinot@adacore.com>
-
- * g-expect-vms.adb, g-expect.ads, g-expect.adb
- (Get_Command_Output): New subprogram to launch a process and get its
- standard output as a string.
-
-2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
- Olivier Hainque <hainque@adacore.com>
-
- * s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to
- fetch a code-range descriptor associated with the machine state. On
- failure set the machine state's PC to 0; on success, pass the
- descriptor to exc_virtual_unwind.
-
- * init.c (Tru64 section): New function __gnat_set_code_loc.
-
-2005-07-04 Vincent Celier <celier@adacore.com>
-
- * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
- mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
- mlib-tgt-mingw.adb, mlib-tgt-darwin.adb (Build_Dynamic_Library):
- Remove all auto-initialization code, as this is now done through the
- constructor mechanism.
-
- * adaint.h, adaint.c (__gnat_binder_supports_auto_init,
- __gnat_sals_init_using_constructors): New functions.
-
- * bindgen.adb (Gen_Output_File_Ada): Generate pragmas
- Linker_Constructor and Linker_Destructor when switch -a is used.
-
- * bindusg.adb: Add line for new switch -a
-
- * gnatbind.adb (Gnatbind_Supports_Auto_Init): New Boolean function
- (Gnatbind): When switch -a is used, check if it is allowed
-
- * switch-b.adb (Scan_Binder_Switches): Process new switch -a
-
-2005-07-04 Joel Brobecker <brobecker@adacore.com>
-
- * a-tags.adb (Type_Specific_Data): Define Tags_Table as a small array.
- This prevents us from hitting a limitation during the debug info
- generation when using stabs.
- (Prims_Ptr): Likewise.
-
-2005-07-04 Gary Dismukes <dismukes@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * checks.adb (Null_Exclusion_Static_Checks): In the case of
- N_Object_Declaration, only perform the checks if the Object_Definition
- is not an Access_Definition.
-
- * sem_ch3.adb (Access_Subprogram_Declaration): Add test for the case
- where the parent of an the access definition is an N_Object_Declaration
- when determining the Associated_Node_For_Itype and scope of an
- anonymous access-to-subprogram type.
-
- * exp_ch6.adb (Expand_N_Subprogram_Declaration): Set the
- Corresponding_Spec on the body created for a null procedure. Add ???
- comment. Remove New_Copy_Tree call on body argument to
- Set_Body_To_Inline.
-
- * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): For an out parameter with
- discriminants, use the type of the actual as well, because the
- discriminants may be read by the called subprogram.
-
- * sem_ch3.adb (Access_Type_Declaration): If the designated type is an
- access type we do not need to handle non-limited views.
- (Build_Derived_Record_Type): Additional check to check that in case of
- private types, interfaces are only allowed in private extensions.
-
-2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (prepend_attributes) <Pragma_Linker_Constructor>: New case.
- <Pragma_Linker_Destructor>: Likewise.
-
- * einfo.ads (Has_Gigi_Rep_Item): Document Pragma_Linker_Constructor and
- Pragma_Linker_Destructor.
-
- * gigi.h (attr_type): Add ATTR_LINK_CONSTRUCTOR and
- ATTR_LINK_DESTRUCTOR.
- (static_ctors, static_dtors): New variables.
-
- * misc.c (gnat_expand_body): Output current function as constructor
- and destructor if requested.
-
- * par-prag.adb: Add processing for pragma Linker_Constructor and
- Linker_Destructor.
-
- * sem_prag.adb (Find_Unique_Parameterless_Procedure): New function
- extracted from Check_Interrupt_Or_Attach_Handler.
- (Check_Interrupt_Or_Attach_Handler): Invoke it.
- Implement pragma Linker_Constructor and Linker_Destructor with the
- help of Find_Unique_Parameterless_Procedure.
- Replace Name_Alias with Name_Target for pragma Linker_Alias.
-
- * snames.h, snames.ads, snames.adb:
- Add Name_Linker_Constructor and Name_Linker_Destructor.
- Add Pragma_Linker_Constructor and Pragma_Linker_Destructor.
- * snames.adb: Remove Name_Alias.
-
- * trans.c: Include cgraph.h.
- (build_global_cdtor): New function.
- (Compilation_Unit_to_gnu): Build global constructor and destructor if
- needed.
- (tree_transform) <N_Identifier>: Substitute renaming of view-conversions
- of objects too.
- (addressable_p) <COMPONENT_REF>: Unconditionally test
- DECL_NONADDRESSABLE_P on STRICT_ALIGNMENT platforms.
-
- * utils.c (process_attributes) <ATTR_LINK_ALIAS>: Do not assemble the
- variable if it is external.
-
- (static_ctors, static_dtors): New global variables.
- (process_attributes) <ATTR_LINK_CONSTRUCTOR>: New case.
- <ATTR_LINK_DESTRUCTOR>: Likewise.
- (end_subprog_body): Chain function as constructor and destructor
- if requested.
-
- * exp_util.adb (Force_Evaluation): Unconditionally invoke
- Remove_Side_Effects with Variable_Ref set to true.
- (Remove_Side_Effects): Handle scalar types first. Use a renaming
- for non-scalar types even if Variable_Ref is true and for class-wide
- expressions.
-
-2005-07-04 Ed Schonberg <schonberg@adacore.com>
-
- * exp_attr.adb (Mod): Evaluate condition expression with checks off,
- to prevent spurious warnings.
-
-2005-07-04 Thomas Quinot <quinot@adacore.com>
-
- * exp_dist.adb (Build_TypeCode_Call): Remove incorrect processing for
- Itypes. Itypes are really unexpected there.
- (Build_TypeCode_Function): Generalise special processing for Itypes to
- handle the case of numeric implicit base types as well as enumerated
- ones.
-
-2005-07-04 Ed Schonberg <schonberg@adacore.com>
-
- * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
- controlled, indicate the expected type of the dereference that is
- created for the call to Deep_Finalize, to prevent spurious errors when
- the designated type is private and completed with a derivation from
- another private type.
-
-2005-07-04 Vincent Celier <celier@adacore.com>
-
- * make.adb (Change_To_Object_Directory): When unable to change the
- current dir to the object directory, output the full path of the
- directory.
-
-2005-07-04 Matthew Gingell <gingell@adacore.com>
-
- * Makefile.in: Replace indepsw-linux.adb by indepsw-gnu.adb
-
- * indepsw-linux.adb: Replace by...
-
- * indepsw-gnu.adb: ...this new file
-
-2005-07-04 Vincent Celier <celier@adacore.com>
-
- * mlib-prj.adb (Auto_Initialize): New constant String
- (SALs_Use_Constructors): New Boolean function
- (Build_Library): Call gnatbind with Auto_Initialize switch when
- SALs_Use_Constructors returns True.
-
- * mlib-tgt.ads: Minor reformatting
-
- * mlib-utl.ads: Minor reformatting
-
- * opt.ads: (Use_Pragma_Linker_Constructor): New Boolean flag
-
-2005-07-04 Ed Schonberg <schonberg@adacore.com>
-
- * par-ch9.adb (P_Task, P_Protected): Indicate that single task and
- single protected declarations can have an interface list.
- (P_Entry_Declaration): Add handler for Error_Resync, which can be raised
- with seriously malformed entry declarations, and lead to compilation
- abandoned messages.
-
-2005-07-04 Javier Miranda <miranda@adacore.com>
-
- * par-load.adb: Load the context items in two rounds.
-
-2005-07-04 Robert Dewar <dewar@adacore.com>
-
- * scng.adb: Do not consider Mod used as an attribute to be a keyword
-
-2005-07-04 Ed Schonberg <schonberg@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * sem_ch10.adb (Build_Limited_Views): A type declared with a private
- type extension needs a limited view.
- Remove previous restriction on private types available through the
- limited-view (only tagged private types were previously allowed).
- (Install_Withed_Unit): In the code that implements the
- legality rule given in AI-377, exclude a child unit with the name
- Standard, because it is a homonym of the Standard environment package.
-
-2005-07-04 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch4.adb (Transform_Object_Operation): For an actual that is an
- overloaded function call, carry interpretations from the original tree
- to the copy.
-
-2005-07-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Conforming_Types): If the types are anonymous access
- types check whether some designated type is a limited view, and use
- the non-limited view if available.
-
-2005-07-04 Gary Dismukes <dismukes@adacore.com>
-
- * sem_eval.adb (Subtypes_Statically_Match): Use the discriminant
- constraint of full view of a private view T1 if present, when T2 is a
- discriminated full view.
-
-2005-07-04 Thomas Quinot <quinot@adacore.com>
-
- * sem_res.adb (Resolve_Actuals): Do not resolve the expression of an
- actual that is a view conversion of a bit packed array reference.
-
-2005-07-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_type.adb (Covers): Verify that Corresponding_Record_Type is
- present before checking whether an interface type covers a synchronized
- type.
-
-2005-07-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb (Is_Object_Reference): An indexed or selected component
- whose prefix is an implicit dereference is an object reference. Removes
- spurious errors when compiling with -gnatc.
-
-2005-07-04 Robert Dewar <dewar@adacore.com>
-
- PR ada/22039
- * s-sopco3.ads, s-sopco4.ads, s-sopco5.ads: Minor documentation fix
-
-2005-07-04 Matthew Gingell <gingell@adacore.com>
-
- * tracebak.c: Enable tracebacks on ia64 platforms
-
-2005-07-04 Vincent Celier <celier@adacore.com>
-
- * vms_conv.adb (Initialize): Allow multiple ALI files to be given to
- the GNAT BIND command, as gnatbind accepts multiples ALI files with
- the -L or -n switches.
-
-2005-07-04 Vincent Celier <celier@adacore.com>
-
- * makegpr.adb (Build_Global_Archive): Make sure the list of sources is
- correctly computed and the main project data is not modified while
- doing so.
- (Add_C_Plus_Plus_Link_For_Gnatmake): Always link with the C++ compiler
- (Choose_C_Plus_Plus_Link_Process): Do not generate shell script
- c++linker as this does not work on some platforms.
-
-2005-07-04 Matthew Heaney <heaney@adacore.com>
-
- * a-convec.ads, a-coinve.ads: Declaration of subtype Extended_Index
- was changed.
- * a-coinve.adb: Perform constraint checks explicitly.
-
-2005-07-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- Thomas Quinot <quinot@adacore.com>
-
- * Make-lang.in: (ada/targtyps.o): Add missing TREE_H dependency.
- new target gen-soccon.
-
-2005-07-04 Robert Dewar <dewar@adacore.com>
-
- * s-mastop-irix.adb, s-mastop-vms.adb: Minor reformatting
-
-2005-07-04 Thomas Quinot <quinot@adacore.com>
-
- * g-socket.ads (Check_Selector): Minor rewording of comment.
-
-2005-07-04 Vincent Celier <celier@adacore.com>
-
- * vms_data.ads: Add VMS qualifiers for new gnatpp switch --eol=
-
-2005-07-04 Thomas Quinot <quinot@adacore.com>
-
- * gen-soccon.c: Add constants SO_SNDTIMEO and SO_RCVTIMEO.
-
-2005-07-04 Sergey Rybin <rybin@adacore.com>
-
- * gnat_ugn.texi: Add description of --eol gnatpp option
-
-2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
- Thomas Quinot <quinot@adacore.com>
-
- * gnat_rm.texi: Add a note that pragma Unreferenced is not appropriate
- if the user wants all calls of a subprogram to be flagged,
- independently of whether they are made from within the same unit or
- another unit.
- Mention restriction for pragma Linker_Alias on some platforms.
- Document pragma Linker_Constructor and Linker_Destructor.
- Rewrite documentation of Weak_External, Linker_Section and
- Linker_Alias pragmas.
-
-2005-07-04 Arnaud Charlet <charlet@adacore.com>
-
- * s-stausa.ads, s-stausa.adb: New files.
-
-2005-06-30 Kelley Cook
-
- * all files: Update FSF address in copyright headers.
- * gen-soccon.co (main): Output new FSF address in generated files.
-
-2005-06-28 Paul Brook <paul@codesourcery.com>
-
- * misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
-
-2005-06-14 Olivier Hainque <hainque@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * s-mastop-irix.adb (Pop_Frame): Revert shorcuts avoiding calls to
- exc_unwind, now that we are generating proper .debug_frame output for
- that target.
-
- * tracebak.c: Remove the mips-irix section, as we are now using the
- s-mastop based unwinder again.
- Under SPARC/Solaris, take into account the stack bias to compute the
- frame offset. The stack bias is 0 for the V8 ABI and 2047 for the V9
- ABI.
-
-2005-06-14 Doug Rupp <rupp@adacore.com>
-
- * g-trasym-vms.adb: renamed g-trasym-vms-alpha.adb
-
- * g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb: New files
-
-2005-06-14 Pascal Obry <obry@adacore.com>
-
- * a-strhas.ads, a-secain.adb, a-secain.ads, a-rbtgso.ads, a-cgaaso.adb,
- a-cgaaso.ads, a-cgarso.adb, a-cgcaso.adb, a-cgarso.ads, a-cgcaso.ads,
- a-contai.ads, a-coprnu.ads, a-coprnu.adb: Fix header style (spaces in
- package name).
-
- * a-intnam-lynxos.ads, a-intnam-unixware.ads, a-intnam-tru64.ads,
- a-intnam-aix.ads, a-intnam-irix.ads, a-excpol-interix.adb,
- a-intnam-hpux.ads, a-intnam-linux.ads, a-intnam-dummy.ads,
- a-intnam-os2.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
- a-intnam-solaris.ads, a-caldel-vms.adb, a-calend-vms.ads,
- a-intnam-vms.ads, a-excpol-abort.adb, a-intnam-mingw.ads,
- a-intnam-vxworks.ads, a-numaux-vxworks.ads, s-osinte-unixware.adb,
- s-osinte-unixware.ads, s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads,
- s-osinte-hpux.ads, s-osinte-solaris-posix.ads, a-intnam-freebsd.ads,
- s-osinte-freebsd.adb, s-osinte-freebsd.ads, s-osinte-lynxos.adb,
- s-osinte-lynxos.ads, s-tpopsp-lynxos.adb, s-osinte-tru64.adb,
- s-osinte-tru64.ads, s-tpopsp-posix-foreign.adb, s-vxwork-alpha.ads,
- s-osinte-aix.adb, s-osinte-aix.ads, s-osinte-aix-fsu.ads,
- s-osinte-irix.adb, s-osinte-irix.ads, s-interr-sigaction.adb,
- s-osinte-irix-athread.ads, s-osinte-hpux-dce.adb,
- s-osinte-hpux-dce.ads, s-osinte-posix.adb, s-osinte-linux.ads,
- s-vxwork-m68k.ads, s-osinte-linux-fsu.ads, s-vxwork-mips.ads,
- s-osinte-dummy.ads, s-interr-dummy.adb, s-osinte-os2.adb,
- s-osinte-os2.ads, s-osprim-os2.adb, s-osinte-interix.ads,
- s-osprim-unix.adb, s-vxwork-ppc.ads, s-osinte-solaris.adb,
- s-osinte-solaris.ads, s-osprim-solaris.adb, s-tpopsp-solaris.adb,
- s-vxwork-sparcv9.ads, s-osinte-solaris-fsu.ads, s-interr-vms.adb,
- s-osinte-vms.adb, s-osinte-vms.ads, s-osprim-vms.adb,
- s-osprim-vms.ads, s-tpopde-vms.adb, s-tpopde-vms.ads,
- s-osprim-mingw.adb, s-vxwork-xscale.ads, s-interr-vxworks.adb,
- s-osinte-vxworks.adb, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
- s-tfsetr-vxworks.adb, s-tpopsp-vxworks.adb, s-intman-posix.adb,
- s-osinte-fsu.adb, s-osprim-posix.adb, s-tfsetr-default.adb,
- s-tpopsp-posix.adb, s-traces-default.adb, s-trafor-default.adb,
- s-trafor-default.ads, s-tratas-default.adb, a-numaux-x86.adb,
- a-numaux-x86.ads, a-astaco.adb, a-astaco.ads, a-caldel.adb,
- a-caldel.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads, a-colien.adb,
- a-colien.ads, a-colire.adb, a-colire.ads, a-comlin.adb, a-cwila1.ads,
- a-cwila9.ads, ada.ads, a-decima.adb, a-diocst.ads, a-direio.adb,
- a-dynpri.adb, a-dynpri.ads, a-excpol.adb, a-flteio.ads, a-fwteio.ads,
- a-inteio.ads, a-interr.adb, a-intnam.ads, a-intsig.adb, a-intsig.ads,
- a-ioexce.ads, a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
- a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads, a-lliwti.ads,
- a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads, a-ngcoty.adb, a-ngelfu.adb,
- a-ngelfu.ads, a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
- a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads,
- a-nucoty.ads, a-nudira.adb, a-nuelfu.ads, a-nuflra.adb, a-numaux.ads,
- a-numeri.ads, a-reatim.adb, a-retide.adb, a-retide.ads, a-sequio.adb,
- a-sequio.ads, a-sfteio.ads, a-sfwtio.ads, a-siocst.ads, a-siteio.ads,
- a-siwtio.ads, a-ssicst.ads, a-ssitio.ads, a-ssiwti.ads, a-stmaco.ads,
- a-storio.adb, a-strbou.adb, a-strfix.adb, a-string.ads, a-strmap.adb,
- a-strsea.adb, a-strsup.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
- a-stunau.ads, a-stwibo.adb, a-stwifi.adb, a-stwifi.ads, a-stwima.adb,
- a-stwise.adb, a-stwisu.adb, a-suteio.adb, a-suteio.ads, a-swuwti.adb,
- a-swuwti.ads, a-teioed.adb, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb,
- a-tideau.adb, a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
- a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinio.adb, a-timoau.adb,
- a-timoio.adb, a-timoio.ads, a-tiocst.ads, a-titest.adb, a-titest.ads,
- a-witeio.adb, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
- a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtenau.adb, a-wtenio.adb,
- a-wtfiio.adb, a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
- a-wtinio.ads, a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, calendar.ads,
- dec.ads, dec-io.adb, dec-io.ads, directio.ads, errno.c, g-bubsor.adb,
- g-bubsor.ads, g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
- g-casuti.adb, g-casuti.ads, g-debuti.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-memdum.adb, g-memdum.ads, g-sestin.ads, g-signal.ads, g-signal.adb,
- gnat.ads, g-souinf.ads, g-speche.adb, g-speche.ads, g-table.adb,
- g-table.ads, g-thread.adb, g-thread.ads, ioexcept.ads, i-vxwoio.adb,
- i-vxwoio.ads, math_lib.adb, s-assert.adb, s-assert.ads, s-asthan.ads,
- s-bitops.adb, s-bitops.ads, s-boarop.ads, s-carsi8.adb, s-carsi8.ads,
- s-carun8.adb, s-carun8.ads, s-casi16.adb, s-casi16.ads, s-casi32.adb,
- s-casi32.ads, s-casi64.adb, s-casi64.ads, s-casuti.adb, s-casuti.ads,
- s-caun16.adb, s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
- s-caun64.ads, s-direio.adb, s-direio.ads, sequenio.ads, s-errrep.adb,
- s-errrep.ads, s-exnint.adb, s-exnint.ads, s-exnllf.adb, s-exnllf.ads,
- s-exnlli.adb, s-exnlli.ads, s-expint.adb, s-expint.ads, s-explli.adb,
- s-explli.ads, s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
- s-expuns.adb, s-expuns.ads, s-fore.adb, s-fore.ads, s-geveop.adb,
- s-geveop.ads, s-htable.adb, s-htable.ads, s-imgbiu.adb, s-imgbiu.ads,
- s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
- s-imgdec.ads, s-imgenu.adb, s-imgenu.ads, s-imgint.adb, s-imgint.ads,
- s-imgllb.adb, s-imgllb.ads, s-imglld.adb, s-imglld.ads, s-imglli.adb,
- s-imglli.ads, s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
- s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwiu.adb, s-imgwiu.ads
- s-interr.ads, s-io.adb, s-mantis.adb, s-mantis.ads, s-osprim.ads,
- s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads, s-pack06.adb,
- s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
- s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads, s-pack12.adb,
- s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb, s-pack14.ads,
- s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads, s-pack18.adb,
- s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
- s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads, s-pack23.adb,
- s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb, s-pack25.ads,
- s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads, s-pack28.adb,
- s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
- s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads, s-pack34.adb,
- s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb, s-pack36.ads,
- s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads, s-pack39.adb,
- s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
- s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads, s-pack44.adb,
- s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb, s-pack46.ads,
- s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads, s-pack49.adb,
- s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
- s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads, s-pack54.adb,
- s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb, s-pack56.ads,
- s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads, s-pack59.adb,
- s-pack59.ads, s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
- s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads, s-scaval.adb,
- s-scaval.ads, s-sequio.adb, s-sequio.ads, s-stache.adb, s-stache.ads,
- s-stratt.adb, s-stratt.ads, s-strcom.adb, s-strcom.ads, s-strops.adb,
- s-strops.ads, s-taasde.ads, s-tadeca.adb, s-tadeca.ads, s-tadert.adb,
- s-tadert.ads, s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
- s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads, s-tasini.adb,
- s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
- s-tasren.ads, s-tasres.ads, s-tassta.adb, s-tassta.ads, s-tasuti.adb,
- s-tasuti.ads, s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
- s-tpoben.adb, s-tpoben.ads, s-tpobop.ads, s-tporft.adb, s-tposen.ads,
- s-traces.adb, s-traces.ads, s-tratas.adb, s-tratas.ads, s-valint.ads,
- s-unstyp.ads, s-veboop.adb, s-veboop.ads, s-vector.ads, s-vercon.adb,
- s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchjis.adb, s-wchjis.ads,
- s-wchstw.adb, s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
- s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb, s-widenu.ads,
- s-widlli.adb, s-widlli.ads, s-widllu.adb, s-widllu.ads, s-wwdcha.ads,
- s-wwdenu.adb, s-wwdwch.ads, text_io.ads, s-stchop.ads, s-stchop.adb,
- s-stchop-vxworks.adb, a-intnam-darwin.ads, s-osinte-darwin.adb,
- s-osinte-darwin.ads, s-vxwork-x86.ads, a-numaux-darwin.ads,
- a-numaux-darwin.adb, a-chzla1.ads, a-chzla9.ads, a-lfztio.ads,
- a-liztio.ads, a-llfzti.ads, a-llizti.ads, a-sfztio.ads, a-siztio.ads,
- a-ssizti.ads, a-stzbou.adb, a-stzfix.adb, a-stzfix.ads, a-stzmap.adb,
- a-stzsea.adb, a-stzsup.adb, a-swunau.adb, a-swunau.ads, a-szuzti.adb,
- a-szuzti.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads,
- a-ztcoio.adb, a-ztcoio.ads, a-ztcstr.ads, a-ztdeau.adb, a-ztdeio.adb,
- a-ztenio.adb, a-ztexio.adb, a-ztfiio.adb, a-ztflio.adb, a-ztgeau.adb,
- a-ztinau.adb, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb, a-ztmoio.adb,
- a-zttest.adb, a-zzunio.ads, g-utf_32.adb: Fix header style.
- "GNU Ada" to GNAT, use proper casing for RUN-TIME.
-
-2005-06-14 Jose Ruiz <ruiz@adacore.com>
- Arnaud Charlet <charlet@adacore.com>
-
- * a-sytaco.ads, a-sytaco.adb (Suspension_Object): These objects are no
- longer protected objects. They have been replaced by lower-level
- suspension objects made up by a mutex and a condition variable (or
- their equivalent given a particular OS) plus some internal data to
- reflect the state of the suspension object.
- (Initialize, Finalize): Add this initialization procedure for
- Suspension_Object, which is a controlled type.
- (Finalize): Add the finalization procedure for Suspension_Object,
- which is a controlled type.
-
- * a-sytaco-vxworks.ads, a-sytaco-vxworks.adb: Remove this version of
- Ada.Synchronous_Task_Control because there is no longer a need for a
- VxWorks specific version of this package. Target dependencies
- has been moved to System.Task_Primitives.Operations.
-
- * s-osinte-mingw.ads (pCRITICAL_SECTION): Remove this type which is no
- longer needed.
- (InitializeCriticalSection, EnterCriticalSection,
- LeaveCriticalSection, DeleteCriticalSection): Replace the type
- pCriticalSection by an anonymous access type so that we avoid problems
- of accessibility to local objects.
-
- * s-taprop.ads, s-taprop-posix.adb, s-taprop-vxworks.adb,
- s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
- s-taprop-os2.adb, s-taprop-dummy.adb, s-taprop-hpux-dce.adb,
- s-taprop-linux.adb, s-taprop-irix.adb, s-taprop-irix-athread.adb,
- s-taprop-tru64.adb, s-taprop-lynxos.adb (Elaboration Code): No longer
- set the environment task mask here.
- (Current_State): Add this function that returns the state of the
- suspension object.
- (Set_False): Add this procedure that sets the state of the suspension
- object to False.
- (Set_True): Add this procedure that sets the state of the suspension
- object to True, releasing the task that was suspended, if any.
- (Suspend_Until_True): Add this procedure that blocks the calling task
- until the state of the object is True. Program_Error is raised if
- another task is already waiting on that suspension object.
- (Initialize): Add this procedure for initializing the suspension
- object. It initializes the mutex and the condition variable which are
- used for synchronization and queuing, and it sets the internal state
- to False.
- (Finalize): Add this procedure for finalizing the suspension object,
- destroying the mutex and the condition variable.
-
- * s-taspri-posix.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
- s-taspri-vms.ads, s-taspri-solaris.ads, s-taspri-os2.ads,
- s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-linux.ads,
- s-taspri-tru64.ads, s-taspri-lynxos.ads (Suspension_Object): New object
- which provides a low-level abstraction (using operating system
- primitives) for Ada.Synchronous_Task_Control.
- This object is made up by a mutex (for ensuring mutual exclusion), a
- condition variable (for queuing threads until the condition is
- signaled), a Boolean (State) indicating whether the object is open,
- and a Boolean (Waiting) reflecting whether there is a task already
- suspended on this object.
-
- * s-intman.ads, s-intman-irix.adb, s-intman-irix-athread.adb,
- s-intman-dummy.adb, s-intman-solaris.adb, s-intman-vms.adb,
- s-intman-vms.ads, s-intman-mingw.adb,
- (Initialize_Interrupts): Removed, no longer used.
-
- * s-inmaop-posix.adb, s-inmaop-vms.adb, s-inmaop-dummy.adb,
- (Setup_Interrupt_Mask): New procedure.
-
- * s-intman-vxworks.ads, s-intman-vxworks.adb: Update comments.
-
- * s-inmaop.ads (Setup_Interrupt_Mask): New procedure
-
- * s-interr.adb: Add explicit call to Setup_Interrupt_Mask now that
- this is no longer done in the body of s-taprop
- (Server_Task): Explicitely test for Pending_Action in case
- System.Parameters.No_Abort is True.
-
- * s-taasde.adb: Add explicit call to Setup_Interrupt_Mask now that this
- is no longer done in the body of s-taprop
-
-2005-06-14 Robert Dewar <dewar@adacore.com>
-
- * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
- system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
- system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
- system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
- system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
- system-linux-x86.ads, system-vxworks-mips.ads, system-vxworks-mips.ads,
- system-os2.ads, system-interix.ads, system-solaris-sparc.ads,
- system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
- system-vms-zcx.ads, system-vxworks-ppc.ads, system.ads,
- system-darwin-ppc.ads, system-vxworks-x86.ads, system-linux-ppc.ads,
- system-linux-hppa.ads, system-vms_64.ads,
- system-vxworks-alpha.ads: Minor comment update for
- AI-362 (unit is Pure).
-
- * a-chahan.ads, a-chahan.adb: Move Wide_Wide functions to Conversions
- Add pragma Pure_05 for AI-362
- Make remaining conversion functions obsolescent in Ada 95
-
- * impunit.adb: Change a-swunha to a-swuwha and a-szunha to a-szuzha
- Make Ada.Wide_Characters[.Unicode] available in Ada 95 mode
- Add entries for a-wichun and a-zchuni
- Add a-widcha a-zchara for AI-395
- Add a-chacon (Ada.Characters.Conversions) to list of Ada 2005 routines
-
- * Makefile.rtl: Change a-swunha to a-swuwha and a-szunha to a-szuzha
- Add entries for a-wichun.o and a-zchuni.o
- Entries for a-widcha.o and a-zchara.o
- Add entry for a-chacon.o
-
- * a-ztenau.adb: Add with of Ada.Characters.Conversions
-
- * a-chacon.ads, a-chacon.adb: New files.
-
- * a-taside.adb, a-exstat.adb, a-excach.adb: Add warnings off to allow
- categorization violations.
-
- * a-strmap.ads: Add pragma Pure_05 for AI-362
- * a-strmap.ads: Add note on implicit categorization for AI-362
-
- * a-tgdico.ads, a-taside.ads: Add pragma Preelaborate_05 for AI-362
-
- * par-prag.adb: Dummy entry for pragma Persistent_BSS
- Set Ada_Version_Explicit, for implementation of AI-362
- Add processing for pragma Pure_05 and Preelaborate_05
- Add entry for Assertion_Policy pragma
-
- * sem.adb: Make sure predefined units are compiled with GNAT_Mode true
- when needed for proper processing of categorization stuff
-
- * sem_cat.adb:
- For several cases, make errors in preealborate units warnings,
- instead of errors, if GNAT_Mode is set. For AI-362.
-
- * sem_elab.adb (Check_Elab_Call): Call to non-static subprogram in
- preelaborate unit is now warning if in GNAT mode
-
- * s-stoele.ads: Document AI-362 for pragma preelaborate
-
-2005-06-14 Doug Rupp <rupp@adacore.com>
-
- * s-parame-vms.ads, s-parame-hpux.ads, s-parame-vms-restrict.ads,
- s-parame-ae653.ads, s-parame.ads, s-parame-vxworks.ads:
- Default_Exception_Msg_Max_Length: new parameter.
-
- * a-except.ads: (Exception_Msg_Max_Length): Set to
- System.Parameters.Default_Exception_Msg_Max_Length
- Add pragma Preelaborate_05 for AI-362
- Add warnings off to allow categorization violations for AI-362
-
-2005-06-14 Vincent Celier <celier@adacore.com>
-
- * gnatsym.adb: Adapt to modification of package Symbols: procedure
- Process is now in package Processing.
-
- * symbols.ads, symbols.adb:
- (Processing): New package, containing procedure Process
-
- * symbols-vms-alpha.adb:
- Replaced by symbols-vms.adb and symbols-processing-vms-alpha.adb
-
- * symbols-vms.adb, symbols-processing-vms-alpha.adb,
- symbols-processing-vms-ia64.adb: New files.
-
-2005-06-14 Pascal Obry <obry@adacore.com>
-
- * mlib-tgt-mingw.adb (Build_Dynamic_Library): Replace the previous
- implementation. This new version generates the proper DllMain routine
- to initialize the SAL. The DllMain is generated in Ada and compiled
- before being added as option to the library build command.
-
-2005-06-14 Doug Rupp <rupp@adacore.com>
- Pascal Obry <obry@adacore.com>
-
- * adaint.c (__gnat_to_canonical_file_spec): Check for error returns in
- call to decc$translate_vms.
- (__gnat_locate_regular_file): Check if the path_val contains quotes. We
- need to remove those quotes before catenating the filename.
- (__gnat_locate_exec_on_path): improvements to the Win32 section:
- * avoid allocating the memory twice for better efficiency;
- * allocate 32K buffer for environment expansion as suggested by MSDN;
- * prepend ".;" to the path so that current directory is searched too.
-
-2005-06-14 Robert Dewar <dewar@adacore.com>
-
- * a-except.adb (Exception_Identity): return Null_Id for null occurrence
- instead of raising CE (AI-241)
- Add warnings off to allow categorization violations for AI-362
-
-2005-06-14 Robert Dewar <dewar@adacore.com>
-
- * ali-util.adb, gnatbind.adb: Remove references to
- Force_RM_Elaboration_Order.
-
- * switch-b.adb: Remove recognition of -f switch
-
-2005-06-14 Pascal Obry <obry@adacore.com>
-
- * a-stzunb.adb, a-stwiun.adb, a-strunb.adb (Realloc_For_Chunk): New
- implementation which is slightly more efficient.
-
-2005-06-14 Gary Dismukes <dismukes@adacore.com>
- Javier Miranda <miranda@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch4.adb (Expand_Allocator_Expression): When an initialized
- allocator's designated type is a class-wide type, and compiling for
- Ada 2005, emit a run-time check that the accessibility level of the
- type given in the allocator's expression is not deeper than the level
- of the allocator's access type.
-
- (Tagged_Membership): Modified to gives support to abstract interface
- types.
-
- * a-tags.ads, a-tags.adb (type Type_Specific_Data): Add component
- Access_Level.
- (Descendant_Tag): New predefined function
- (Is_Descendant_At_Same_Level): New predefined function
- (Get_Access_Level): New private function
- (Set_Access_Level): New private procedure
- (IW_Membership): New function. Given the tag of an object and the tag
- associated with an interface, evaluate if the object implements the
- interface.
- (Register_Interface_Tag): New procedure used to initialize the table of
- interfaces used by the IW_Membership function.
- (Set_Offset_To_Top): Initialize the Offset_To_Top field in the prologue
- of the dispatch table.
- (Inherit_TSD): Modified to copy the table of ancestor tags plus the
- table of interfaces of the parent.
- (Expanded_Name): Raise Tag_Error if the passed tag equals No_Tag.
- (External_Tag): Raise Tag_Error if the passed tag equals No_Tag.
- (Parent_Tag): Return No_Tag in the case of a root-level tagged type,
- and raise Tag_Error if the passed tag equalis No_Tag, to conform with
- Ada 2005 semantics for the new predefined function.
-
- * exp_attr.adb (Expand_N_Attribute, case Attribute_Input): Generate
- call to Descendant_Tag rather than Internal_Tag.
- (Expand_N_Attribute, case Attribute_Output): Emit a check to ensure that
- the accessibility level of the attribute's Item parameter is not deeper
- than the level of the attribute's prefix type. Tag_Error is raised if
- the check fails. The check is only emitted for Ada_05.
- (Find_Stream_Subprogram): If a TSS exists on the type itself for the
- requested stream attribute, use it.
- (Expand_N_Attribute_Reference): If the designated type is an interface
- then rewrite the referenced object as a conversion to force the
- displacement of the pointer to the secondary dispatch table.
- (Expand_N_Attribute_Reference, case 'Constrained): Return false if this
- is a dereference of an object with a constrained partial view.
-
- * exp_ch5.adb (Expand_N_Return_Statement): When a function's result
- type is a class-wide type, emit a run-time check that the accessibility
- level of the returned object is not deeper than the level of the
- function's master (only when compiling for Ada 2005).
-
- * exp_disp.ads, exp_disp.adb (Ada_Actions, Action_Is_Proc,
- Action_Nb_Arg): Add entries for new Get_Access_Level and
- Set_Access_Level routines in these tables.
- (Make_DT): Generate a call to set the accessibility level of the
- tagged type in its TSD.
- (Make_DT): Code cleanup. The functionality of generating all the
- secondary dispatch tables has been moved to freeze_record_type.
- (Make_Abstract_Interface_DT): Minor code cleanup.
- (Set_All_DT_Position): Code cleanup. As part of the code cleanup
- this subprogram implements a new algorithm that provides the
- same functionality and it is more clear in case of primitives
- associated with abstract interfaces.
- (Set_All_Interfaces_DTC_Entity): Removed. As part of the code
- clean up, the functionality of this subprogram is now provided
- by Set_All_DT_Position.
- (Write_DT): New subprogram: a debugging procedure designed to be called
- within gdb to display the dispatch tables associated with a tagged
- type.
- (Collect_All_Interfaces): New subprogram that collects the whole list
- of interfaces that are directly or indirectly implemented by a tagged
- type.
- (Default_Prim_Op_Position): New subprogram that returns the fixed
- position in the dispatch table of the default primitive operations.
- (Expand_Interface_Actuals): New subprogram to generate code that
- displaces all the actuals corresponding to class-wide interfaces to
- reference the interface tag of the actual object.
- (Expand_Interface_Conversion): New subprogram. Reference the base of
- the object to give access to the interface tag associated with the
- secondary dispatch table.
- (Expand_Interface_Thunk): New subprogram that generates the code of the
- thunk. This is required for compatibility with the C+ ABI.
- (Make_Abstract_Interface_DT): New subprogram that generate the
- declarations for the secondary dispatch tables associated with an
- abstract interface.
- (Set_All_Interfaces_DTC_Entity): New subprogram that sets the DTC_Entity
- attribute for each primitive operation covering interface subprograms
- (Expand_Dispatching_Call, Fill_DT_Entry, Make_DT, Set_All_DT_Position):
- These subprograms were upgraded to give support to abstract interfaces
-
- * rtsfind.ads (type RE_Id): Add RE_Descendant_Tag,
- RE_Is_Descendant_At_Same_Level, RE_Get_Access_Level, and
- RE_Set_Access_Level.
- (RE_Unit_Table): Add entries for new Ada.Tags operations.
- Add support to call the followig new run-time subprograms:
- IW_Membership, Register_Interface_Tag, and Set_Offset_To_Top
-
- * sem_ch3.adb (Constant_Redeclaration): Allow a deferred constant to
- match its full declaration when both have an access definition with
- statically matching designated subtypes.
- (Analyze_Component_Declaration): Delete commented out code that was
- incorrectly setting the scope of an anonymous access component's type.
- (Process_Discriminants): Set Is_Local_Anonymous_Access for the type of
- an access discriminant when the containing type is nonlimited.
- (Make_Incomplete_Type_Declaration): Create an incomplete type
- declaration for a record type that includes self-referential access
- components.
- (Check_Anonymous_Access_Types): Before full analysis of a record type
- declaration, create anonymous access types for each self-referential
- access component.
- (Analyze_Component_Declaration, Array_Type_Declaration): Indicate that
- an access component in this context is a Local_Anonymous_Access, for
- proper accessibility checks.
- (Access_Definition): Set properly the scope of the anonymous access type
- created for a stand-alone access object.
- (Find_Type_Of_Object): An object declaration may be given with an access
- definition.
- (Complete_Subprograms_Derivation): New subprogram used to complete
- type derivation of private tagged types implementing interfaces.
- In this case some interface primitives may have been overriden
- with the partial-view and, instead of re-calculating them, they
- are included in the list of primitive operations of the full-view.
- (Build_Derived_Record_Type): Modified to give support to private
- types implemening interfaces.
- (Access_Definition): Reject ALL on anonymous access types.
- (Build_Derived_Record_Type): In the case of Ada 2005, allow a tagged
- type derivation to occur at a deeper accessibility level than the
- parent type.
- For the case of derivation within a generic body however, disallow the
- derivation if the derived type has an ancestor that is a formal type
- declared in the formal part of an enclosing generic.
- (Analyze_Object_Declaration): For protected objects, remove the check
- that they cannot contain interrupt handlers if not declared at library
- level.
- (Add_Interface_Tag_Components): New subprogram to add the tag components
- corresponding to all the abstract interface types implemented by a
- record type or a derived record type.
- (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
- Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
- Process_Full_View, Record_Type_Declaration): Modified to give
- support to abstract interface types
- (Collect_Interfaces): New subprogram that collects the list of
- interfaces that are not already implemented by the ancestors
- (Process_Full_View): Set flag Has_Partial_Constrained_View appropriately
- when partial view has no discriminants and full view has defaults.
- (Constrain_Access): Reject a constraint on a general access type
- if the discriminants of the designated type have defaults.
- (Access_Subprogram_Declaration): Associate the Itype node with the inner
- full-type declaration or subprogram spec. This is required to handle
- nested anonymous declarations.
- (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
- Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
- Process_Full_View, Record_Type_Declaration): Modified to give
- support to abstract interface types
- (Derive_Subprograms): Addition of a new formal to indicate if
- we are in the case of an abstact-interface derivation
- (Find_Type_Of_Subtype_Indic): Moved from the body of the package
- to the specification because it is requied to analyze all the
- identifiers found in a list of interfaces
-
- * debug.adb: Complete documentation of flag "-gnatdZ"
-
- * exp_ch3.adb: Implement config version of persistent_bss pragma
- (Check_Stream_Attributes): Use Stream_Attribute_Available instead of
- testing for TSS presence to properly enforce visibility rules.
- (Freeze_Record_Type): Code cleanup. Modified to call the subprogram
- Make_Abstract_Interfaces_DT to generate the secondary tables
- associated with abstract interfaces.
- (Build_Init_Procedure): Modified to initialize all the tags
- corresponding.
- (Component_Needs_Simple_Initialization): Similar to other tags,
- interface tags do not need initialization.
- (Freeze_Record_Type): Modified to give support to abstract interface
- types.
- (Expand_N_Object_Declaration): Do not generate an initialization for
- a scalar temporary marked as internal.
-
- * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Handle properly an
- in-out parameter that is a component in an initialization procedure,
- whose constraint might depend on discriminants, and that may be
- misaligned because of packing or representation clauses.
- (Is_Legal_Copy): New predicate to determine whether a possibly
- misaligned in-out actual can actually be passed by copy/return. This
- is an error in case the type is by_reference, and a warning if this is
- the consequence of a DEC import pragma on the subprogram.
- (Expand_Call, Freeze_Subprogram): Modified to give support to abstract
- interface types
- (Expand_Inlined_Call): Mark temporary generated for the return value as
- internal, so that no useless scalar normalization is generated for it.
- (Expand_N_Subprogram_Declaration): Save unanalyzed body so calls to
- null procedure can always be inlined.
- (Expand_N_Subprogram_Declaration): If this is the declaration of a null
- procedure, generate an explicit empty body for it.
-
- * exp_util.ads, exp_util.adb (Find_Interface_ADT): New subprogram.
- Given a type implementing an interface, returns the corresponding
- access_disp_table value.
- (Find_Interface_Tag): New subprogram. Given a type implementing an
- interface, returns the record component containing the tag of the
- interface.
- (Find_Interface_Tag): New overloaded subprogram. Subsidiary to the
- previous ones that return the corresponding tag and access_disp_table
- entities.
- (Is_Predefined_Dispatching_Operation): Determines if a subprogram
- is a predefined primitive operation.
- (Expand_Subtype_From_Expr): If the expression is a selected component
- within an initialization procedure, compute its actual subtype, because
- the component may depend on the discriminants of the enclosing record.
-
- * i-cpp.ads, i-cpp.adb:
- This package has been left available for compatibility with previous
- versions of the frontend. As part of the new layout this is now a
- dummy package that uses declarations available at a-tags.ads
-
- * par-ch3.adb (P_Identifier_Declarations): Give an error for use of
- "constant access" and "aliased [constant] access" when not compiling
- with -gnat05.
- Suppress Ada 2005 keyword warning if -gnatwY used
- (P_Identifier_Declarations): Add support for object declarations with
- access definitions.
- (Private_Extension_Declaration): Complete the documentation
- (P_Derived_Type_Def_Or_Private_Ext_Decl): Fill the inteface_list
- attribute in case of private extension declaration
- (P_Type_Declaration): Mark as "abstract" the type declarations
- corresponding with protected, synchronized and task interfaces
- (P_Declarative_Items): "not" and "overriding" are overriding indicators
- for a subprogram or instance declaration.
-
- * sem_ch12.adb (Analyze_Subprogram_Instantiation): Verify that an
- instantiation that is a dispatching operation has controlling access
- parameters that are null excluding.
- Save and restore Ada_Version_Explicit, for implementation of AI-362
- (Validate_Derived_Type_Instance): Add check for abstract interface
- types.
- (Analyze_Formal_Package): Establish Instantiation source for the copy of
- the generic that is created to represent the formal package.
- (Analyze_Package_Instantiation): Instantiate body immediately if the
- package is a predefined unit that contains inlined subprograms, and
- we are compiling for a Configurable_Run_Time.
- (Instantiate_Formal_Subprogram): Indicate that null default subprogram
- If the program has a null default, generate an empty body for it.
-
- * sem_ch6.adb, sem_ch9.adb (Analyze_Subprograms_Declaration): Update
- error message condition, null procedures are correctly detected now.
- (New_Overloaded_Entity): Bypass trivial overriding indicator check
- for subprograms in the context of protected types. Instead, the
- indicator is examined in Sem_Ch9 while analysing the subprogram
- declaration.
- (Check_Overriding_Indicator): Check consistency of overriding indicator
- on subprogram stubs as well.
- (Analyze_Subprogram_Declaration): Diagnose null procedures declared at
- the library level.
- (Analize_Subprogram_Specification): When analyzing a subprogram in which
- the type of the first formal is a concurrent type, replace this type
- by the corresponding record type.
- (Analyze_Subprogram_Body): Undo the previous work.
- (Analyze_Procedure_Call): If the call has the form Object.Op, the
- analysis of the prefix ends up analyzing the call itself, after which
- we are done.
- (Has_Interface_Formals): New subprogram subsidiary to analyze
- subprogram_specification that returns true if some non
- class-wide interface subprogram is found
- (New_Overloaded_Entity): Modified to give support to abstract
- interface types
- (Conforming_Types): In Ada 2005 mode, conformance checking of anonymous
- access to subprograms must be recursive.
- (Is_Unchecked_Conversion): Improve the test that recognizes
- instantiations of Unchecked_Conversion, and allows them in bodies that
- are to be inlined by the front-end. When the body comes from an
- instantiation, a reference to Unchecked_Conversion will be an
- Expanded_Name, even though the body has not been analyzed yet.
- Replace Is_Overriding and Not_Overriding in subprogram_indication with
- Must_Override and Must_Not_Override, to better express intent of AI.
- (Analyze_Subprogram_Body): If an overriding indicator is given, check
- that it is consistent with the overrinding status of the subprogram
- at this point.
- (Analyze_Subprogram_Declaration): Indicate that a null procedure is
- always inlined.
- If the subprogram is a null procedure, indicate that it does not need
- a completion.
-
- * sem_disp.adb (Check_Controlling_Type): Give support to entities
- available through limited-with clauses.
- (Check_Dispatching_Operation): A stub acts like a body, and therefore is
- allowed as the last primitive of a tagged type if it has no previous
- spec.
- (Override_Dispatching_Operation, Check_Dispatching_Operation): Modified
- to give support to abstract interface types
-
- * sem_res.adb (Valid_Conversion): Perform an accessibility level check
- in the case where the target type is an anonymous access type of an
- object or component (that is, when Is_Local_Anonymous_Access is true).
- Prevent the special checks for conversions of access discriminants in
- the case where the discriminant belongs to a nonlimited type, since
- such discriminants have their accessibility level defined in the same
- way as a normal component of an anonymous access type.
- (Resolve_Allocator): When an allocator's designated type is a class-wide
- type, check that the accessibility level of type given in the
- allocator's expression or subtype indication is not statically deeper
- than the level of the allocator's access type.
- (Check_Discriminant_Use): Diagnose discriminant given by an expanded
- name in a discriminant constraint of a record component.
- (Resolve_Explicit_Dereference): Do not check whether the type is
- incomplete when the dereference is a use of an access discriminant in
- an initialization procedure.
- (Resolve_Type_Conversion): Handle conversions to abstract interface
- types.
- (Valid_Tagged_Conversion): The conversion of a tagged type to an
- abstract interface type is always valid.
- (Valid_Conversion): Modified to give support to abstract interface types
- (Resolve_Actuals): Enable full error reporting on view conversions
- between unrelated by_reference array types.
- The rule for view conversions of arrays with aliased components is
- weakened in Ada 2005.
- Call to obsolescent subprogram is now considered to be a violation of
- pragma Restrictions (No_Obsolescent_Features).
- (Check_Direct_Boolean_Operator): If the boolean operation has been
- constant-folded, there is nothing to check.
- (Resolve_Comparison_Op, Resolve_Equality_Op, Resolve_Boolean_Op): Defer
- check on possible violation of restriction No_Direct_Boolean_Operators
- until after expansion of operands, to prevent spurious errors when
- operation is constant-folded.
-
- * sem_type.ads, sem_type.adb (Covers, Intersect_Types, Specific_Type,
- Has_Compatible_Type): Modified to give support to abstract interface
- types.
- (Interface_Present_In_Ancestor): New function to theck if some ancestor
- of a given type implements a given interface
-
- * sem_ch4.adb (Analyze_Call): Handle properly an indirect call whose
- prefix is a parameterless function that returns an access_to_procedure.
- (Transform_Object_Operation): Handle properly function calls of the
- form Obj.Op (X), which prior to analysis appear as indexed components.
- (Analyze_One_Call): Complete the error notification to help new Ada
- 2005 users.
- (Analyze_Allocator): For an allocator without an initial value, where
- the designated type has a constrained partial view, a discriminant
- constraint is illegal.
-
-2005-06-14 Robert Dewar <dewar@adacore.com>
-
- * a-textio.adb (Set_Col): Fix two errors noticed recently, having to
- do with treatment of Set_Col when positioned at end of line character.
-
-2005-06-14 Robert Dewar <dewar@adacore.com>
-
- * atree.adb: (Elist*): Protect against uninitialized field
-
-2005-06-14 Ed Schonberg <schonberg@adacore.com>
-
- * checks.adb (Install_Null_Excluding_Check): Do not generate checks
- for an attribute reference that returns an access type.
- (Apply_Discriminant_Check): No need for check if (designated) type has
- constrained partial view.
-
- (Apply_Float_Conversion_Check): Generate a short-circuit expression for
- both bound checks, rather than a conjunction.
- (Insert_Valid_Check): If the expression is an actual that is an indexed
- component of a bit-packed array, force expansion of the packed element
- reference, because it is specifically inhibited elsewhere.
-
-2005-06-14 Vincent Celier <celier@adacore.com>
-
- * clean.adb (Clean_Project): Correctly delete executable specified as
- absolute path names.
-
- * make.adb (Gnatmake): Allow relative executable path names with
- directory information even when project files are used.
- (Change_To_Object_Directory): Fail gracefully when unable to change
- current working directory to object directory of a project.
- (Gnatmake): Remove exception handler that could no longer be exercized
- (Compile_Sources.Compile): Use deep copies of arguments, as some of them
- may be deallocated by Normalize_Arguments.
- (Collect_Arguments): Eliminate empty arguments
-
- * gnatcmd.adb (All_Projects): New Boolean flag, initialized to False,
- and set to True when -U is used for GNAT PRETTY or GNAT METRIC.
- (Check_Project): Return False when Project is No_Project. Return True
- when All_Projects is True.
- (GNATCmd): Recognize switch -U for GNAT PRETTY and GNAT METRIC and set
- All_Projects to True.
- Minor reformatting
-
-2005-06-14 Ed Schonberg <schonberg@adacore.com>
- Javier Miranda <miranda@adacore.com>
- Thomas Quinot <quinot@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Hristian Kirtchev <kirtchev@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
-
- * einfo.ads, einfo.adb (Is_Local_Anonymous_Access): New flag on
- anonymous access types, to indicate that the accessibility level of
- the type is determined by that of the enclosing declaration.
- (Has_Persistent_BSS): New flag
- (Set_Is_Primitive_Wrapper): Upgrade the barrier to allow the usage
- of this attribute with functions.
- (Is_Primitive_Wrapper): Remove the barrier.
- (Has_Specified_Stream_Input, Has_Specified_Stream_Output,
- Has_Specified_Stream_Read, Has_Specified_Stream_Write):
- New subprograms.
- (Set_Has_Specified_Stream_Input, Set_Has_Specified_Stream_Output,
- Set_Has_Specified_Stream_Read, Set_Has_Specified_Stream_Write):
- New subprograms.
- (Is_Pure_Unit_Access_Type): New flag
- (Abstract_Interfaces): Complete the assertion to cover all usages.
- (Set_Is_Interface): Complete the assertion to cover all usages.
- (Is_Primitive_Wrapper): New attribute.
- (Is_Obsolescent): Now applies to all entities (though it is only set
- for subprograms currently)
- New flag: Has_Constrained_Partial_View, to implemente Ada 2005 AI-363,
- which solves various problems concerning access subtypes.
- (Has_Persistent_BSS): New flag
- (Is_Primitive_Wrapper, Set_Primitive_Wrapper): Code cleanup.
- Remove these subprograms because this attribute is currently
- not used.
- New entity flags:
- Has_Specified_Stream_Input (Flag190)
- Has_Specified_Stream_Output (Flag191)
- Has_Specified_Stream_Read (Flag192)
- Has_Specified_Stream_Write (Flag193)
- Present in all type and subtype entities. Set for a given view if the
- corresponding stream-oriented attribute has been defined by an
- attribute definition clause. When such a clause occurs, a TSS is set
- on the underlying full view; the flags are used to track visibility of
- the attribute definition clause for partial or incomplete views.
- (Is_Pure_Unit_Access_Type): New flag
- Clarify use of Is_Internal.
- (Is_Primitive_Wrapper): New attribute present in primitive subprograms
- internally generated to wrap the invocation of tasks and protected
- types that implement interfaces.
- (Implementation_Base_Type): Documentation correction
- (Is_Obsolescent): Now applies to all entities (though it is only set
- for subprograms currently)
- New flag: Has_Constrained_Partial_View, to implement Ada 2005 AI-363,
- which solves various problems concerning access subtypes.
-
- * exp_ch9.adb (Type_Conformant_Parameters): Introduce mode conformance
- for examined parameters. Identify unequal parameter list lengths as
- non-conformant parameters.
- (Overriding_Possible): Do not check for "All" qualifier in declaration
- of controlling access parameter, following prescription of AI-404.
- (Build_Entry_Wrapper_Spec, Build_Entry_Wrapper_Body): New subprograms
- that build the procedure body that wraps an entry invocation
- (Build_Corresponding_Record, Build_Protected_Sub_Specification,
- Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
- Expand_N_Task_Body, Expand_N_Task_Type_Declaration): Modified to
- give support to abstract interface types
-
- * freeze.adb (Freeze_Entity): Issue error message if
- Is_Pure_Unit_Access_Type set, unless we are in Ada 2005 mode and the
- type has no storage pool (Ada 2005) AI-366.
- Also modified to give support to abstract interface types
- (Freeze_Subprogram): Issue an error for a dispatching subprogram with an
- Inline_Always pragma.
-
- * par-ch9.adb (P_Task_Items): Reserved words "not" or "overriding" may
- now begin an entry declaration.
- (P_Entry_Or_Subprogram_With_Indicator): New procedure in
- P_Protected_Operation_Declaration_Opt. Parse an entry declaration or
- a subprogram declaration preceded by an overriding indicator.
- (P_Protected_Operation_Declaration_Opt): Add case for parsing entry
- declarations or subprogram declarations preceded by reserved words
- "not" or "overriding".
- (P_Entry_Declaration): Update comment. Parse and check overriding
- indicator, set semantic flags of entry declarations.
- (P_Task): New error message in case of private applied
- to a task type declaration.
- (P_Protected): New error message in case of private applied
- to a task type declaration.
-
- * sem_ch7.adb (Preserve_Full_Attributes): Modified to handle the case
- in which the full view of a type implementing an interface is a
- concurrent type.
- (Has_Overriding_Pragma): Remove obsolete implementation of AI-218.
- Declare_Inherited_Private_Subprograms): If an explicit operation
- overrides an operation that is inherited in the private part, mark the
- explicit one as overriding, to enable overriding indicator checks.
- (Preserve_Full_Attributes): Propagate Is_Unchecked_Union attribute from
- full view to partial view, to simplify handling in back-end.
-
- * sprint.adb: Print interface lists where needed: derived types,
- protected types, task types.
- output "is null" for null procedures. Part of implementation of
-
- * sem_cat.adb (Validate_Access_Type_Declaration): Implement AI-366
- relaxation of rules for access types in pure, shared passive partitions.
-
- * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Reorganize to
- first read discriminants into temporary objects, performing checks on
- the read values, then possibly performing discriminant checks on the
- actual (if it is constrained), and only finally reading the components
- into a constrained temporary object.
- (Build_Elementary_Input_Call): Adjust the specific circuitry for the
- case of reading discriminants of a mutable record type to recognize
- the new form of the code generated by
- Build_Mutable_Record_Read_Procedure.
-
- * exp_tss.ads, exp_tss.adb (Make_Init_Proc_Name): Reimplement in terms
- of a simple call to Make_TSS_Name.
- (Make_TSS_Name_Local): Add the TSS name as the last thing in the name
- buffer, in order for Is_TSS to work correctly on local TSS names.
-
- * sem_attr.ads, sem_attr.adb (Resolve_Attribute, case 'Access): Use flag
- Is_Local_Anonymous_Access to check legaliy of attributes in the
- context of access components and stand-alone access objects.
- (Stream_Attribute_Available): In Ada 95 mode, a stream attribute is
- treated as available for a limited private type if there is an
- attribute_definition_clause that applies to its full view, but not in
- other cases where the attribute is available for the full view
- (specifically, the sole fact that the full view is non-limited does not
- make the attribute available for the partial view).
- (Build_Access_Subprogram_Type): Diagnose attempt to apply 'access to a
- non-overloaded intrinsic subprogram.
- (Check_Stream_Attribute): Reject an attribute reference for an
- unavailable stream attribute even if the prefix is not a limited type
- (case of a 'Input attribute reference for an abstract, non-classwide
- type)
- (Stream_Attribute_Available): New function to determine whether a stream
- attribute is available at a place.
- (Check_Attribute): Use Stream_Attribute_Available instead of just
- testing for TSS presence on the implementation base type.
- (Analyze_Attribute): Modified to give support to task interfaces.
- (Analyze_Access_Attribute): Add error check for use of an Access (or
- Unrestricted_Access) attribute with a subprogram marked as
- Inline_Always.
- (Analyze_Attribute, case Attribute_Address): Add error check for use of
- an Address attribute with a subprogram marked as Inline_Always.
- Update Eval_Attribute to handle new value of Width from AI-395
-
- * sem_ch13.adb (Analyze_Stream_TSS_Definition): New subprogram.
- (Analyze_Attribute_Definition_Clause, cases Input, Output, Read, Write):
- Factor common code across the stream-oriented attribute circcuits into
- a new subprogram, Analyze_Stream_TSS_Definition. The new uniform
- processing is functionally identical to the previous duplicated one,
- except that an expression that denotes an abstract subprogram will now
- be rejected, as mandated by AI-195 item 5.
-
- * sem_util.ads, sem_util.adb (Type_Access_Level): Use flag
- Is_Local_Anonymous_Access to apply accessibility checks to access
- components and stand-alone access objects.
- (Has_Discriminant_Dependent_Constraint): Moved to spec for use
- elsewhere.
- (Is_Potentially_Persistent_Type): New function
- (Is_Dependent_Component_Of_Mutable_Object): If the enclosing object is
- a heap-object whose type has a constrained partial view, the object is
- unconstrained and the component may depend on a discriminant, making its
- renaming illegal.
-
- * sinfo.ads, sinfo.adb
- (Must_Not_Override): Flag applicable to N_Entry_Declaration.
- (Must_Override): Flag applicable to N_Entry_Declaration.
- Indicate that interface_list can appear in single task and single
- protected declarations.
- Replace Is_Overriding and Not_Overriding with Must_Override and
- Must_Not_Override, to better express intent of AI.
- Is_Overriding, Not_Overriding: Ada2005 flags that indicate the presence
- of an overriding indicator in a subprogram or instance.
- Ada 2005 (AI-248) Null_Present can appear in a procedure specification.
- Add the overriding indicator [[not] overriding] construct to the
- following grammar productions:
- ENTRY_DECLARATION
- GENERIC_INSTANTIATION
- SUBPROGRAM_SPECIFICATION
-
- * par-ch10.adb (P_Compilation_Unit): Subprogram declaration or body
- can start with an overriding indicator.
-
- * par-ch6.adb (P_Subprogram): Recognize overriding indicator, and set
- flags accordingly on subrogram specifications or instances.
-
- * sem_ch8.adb:
- (Analyze_Subprogram_Renaming): For a renaming_as_body, verify that the
- overriding_indicator, if present, is consistent with status of spec.
- Improve error message for null-excluding checks on controlling access
- parameters.
- (Check_In_Previous_With_Clause): Protect the frontend against
- previously reported critical errors in the context clauses.
- Save and restore Ada_Version_Explicit, for implementation of AI-362
- (Analyze_Subprogram_Renaming): If the new entity is a dispatching
- operation verify that controlling formals of the renamed entity that
- are access parameters are explicitly non-null.
- (Find_Expanded_Name): Improve error message when prefix is an illegal
- reference to a private child unit.
-
- * exp_imgv.adb, s-imgwch.ads, s-imgwch.adb, s-valwch.adb,
- s-valwch.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdwch.adb:
- Rewrite to correspond to new wide character names in AI-395
-
- * par-ch12.adb (P_Formal_Subprogram_Declaration): Recognize null
- default procedures.
-
-2005-06-14 Ed Schonberg <schonberg@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * errout.ads, errout.adb (Error_Msg_NW): Only emit warning on user
- code, not on the bodies of predefined operations, to cut down on
- spurious noise.
-
-2005-06-14 Ed Schonberg <schonberg@adacore.com>
-
- * exp_aggr.adb (Aggr_Size_OK): An array with no components can always
- be expanded in place. The size computation does not require a
- subtraction, which would raise an exception on a compiler built with
- assertions when the upper bound is Integer'first.
- (Flatten): For an array of composite components, take into account the
- size of the components to determine whether it is safe to expand the
- array into a purely positional representation.
-
-2005-06-14 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch2.adb (Param_Entity): Take the case of an expanded_name
- denoting a formal parameter into account.
-
-2005-06-14 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch7.adb (Find_Node_To_Be_Wrapped): If the node appears within
- the entry_call alternative of a conditional entry call, wrap the
- conditional entry call itself.
-
-2005-06-14 Nicolas Setton <setton@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * exp_dbug.ads, exp_dbug.adb (Get_Variant_Part): Fix the encoding of
- the "simple_choice" member in a variant record, in accordance with the
- description in the package spec: the information output for a constant
- should be "S number", not "SS number".
- (Get_Encoded_Name): Return at once if not generating code. Avoids name
- overflow problem when compiling with -gnatct, for ASIS/gnatmetrics.
-
-2005-06-14 Thomas Quinot <quinot@adacore.com>
-
- * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): For an
- RACW without any primitives, do not generate the if statement for
- dispatching by name in the PolyORB/DSA case, as it would be malformed
- (it would have an Elsif_Parts list that is not No_List, but with a
- length of 0).
-
-2005-06-14 Robert Dewar <dewar@adacore.com>
-
- * exp_intr.adb, par-ch5.adb: Minor fix to error message text
-
-2005-06-14 Jose Ruiz <ruiz@adacore.com>
-
- * fe.h: Add entry for Opt.Exception_Locations_Suppressed so that gigi
- can determine whether pragma Suppress_Exception_Locations is in effect.
-
- * utils2.c (build_call_raise): Do not pass the file name to the
- exception handler if pragma Suppress_Exception_Locations is in effect.
- (build_allocator): Add and process arg IGNORE_INIT_TYPE.
-
-2005-06-14 Emmanuel Briot <briot@adacore.com>
-
- * g-debpoo.adb (Deallocate, Dereference): Improve output.
-
-2005-06-14 Nicolas Roche <roche@adacore.com>
-
- * g-diopit.adb (Wildcard_Iterator): Return directly if Path is equal
- to ""
- (Next_Level): Fix minor bug in handling of ../dir case
- (Read): Add dir separator to Directory name so that "" is understood as
- "/"
-
-2005-06-14 Pascal Obry <obry@adacore.com>
-
- * g-dynhta.ads, g-dynhta.adb (Reset): Free the table itself after
- releasing the items.
-
-2005-06-14 Vincent Celier <celier@adacore.com>
- Cyrille Comar <comar@adacore.com>
-
- * g-os_lib.ads, g-os_lib.adb (Non_Blocking_Spawn): Two new versions
- with output file descriptor and with output file name.
- (Dup, Dup2): Now global procedures as they are used by two subprograms
- (Copy): Allocate the 200K buffer on the heap rather than on the stack.
-
-2005-06-14 Thomas Quinot <quinot@adacore.com>
-
- PR ada/6717
- * g-socket.ads, g-socket.adb (Inet_Addr): Special case the all-ones
- broadcast address.
- (Create_Selector): Bind listening socket used to create the signalling
- socket pair to 127.0.0.1 to limit the scope for 'theft' of connection.
- Set listen backlog to 1 to ensure that we detect socket theft by a
- failure of our own connect(2) call.
- (Check_Selector): Improve documentation of the selector mechanism.
- (Broadcast_Inet_Addr): New constant.
-
-2005-06-14 Gary Dismukes <dismukes@adacore.com>
-
- * layout.adb (Discrimify): Remove resetting of Vtype to the underlying
- type which turns out to be an incomplete and incorrect fix.
- (Layout_Array_Type): Use Underlying_Type when checking whether the scope
- of the type is declared in a record (for determination of insertion
- type).
- (SO_Ref_From_Expr): Test whether Vtype denotes a partial or full view of
- a private type and ensure that the primary entity is used for the type
- of the newly created function's V formal by taking the Etype of the
- view.
-
-2005-06-14 Javier Miranda <miranda@adacore.com>
- Jose Ruiz <ruiz@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * lib-load.ads, lib-load.adb (Load_Unit): Addition of a new parameter
- that indicates if we are parsing a compilation unit found in a
- limited-with clause.
- It is use to avoid the circularity check.
-
- * par.ads, par.adb (Par): Addition of a new parameter to indicate if
- we are parsing a compilation unit found in a limited-with clause. This
- is use to avoid the circularity check.
-
- * par-load.adb (Load): Indicate Lib.Load_Unit if we are loading the
- unit as a consequence of parsing a limited-with clause. This is used
- to avoid the circularity check.
-
- * sem_ch10.adb: Suppress Ada 2005 unit warning if -gnatwY used
- (Analyze_Context): Limited-with clauses are now allowed
- in more compilation units.
- (Analyze_Subunit_Context, Check_Parent): Protect the frontend
- againts previously reported critical errors in context clauses
- (Install_Limited_Withed_Unit): Code cleanup plus static detection
- of two further errors: renamed subprograms and renamed packages
- are not allowed in limited with clauses.
- (Install_Siblings): Do not install private_with_clauses on the package
- declaration for a non-private child unit.
- (Re_Install_Parents): When a parent of the subunit is reinstalled,
- reset visibility of child units properly.
- (Install_Withed_Unit): When a child unit appears in a with_clause of its
- parent, it is immediately visible.
-
-2005-06-14 Ed Schonberg <schonberg@adacore.com>
- Emmanuel Briot <briot@adacore.com>
-
- * lib-xref.ads, lib-xref.adb (Generate_Definition): Treat any entity
- declared within an inlined body as referenced, to prevent spurious
- warnings.
- (Output_One_Ref): If an entity renames an array component, indicate in
- the ALI file that this aliases (renames) the array. Capture as well
- function renamings that rename predefined operations.
- Add information about generic parent for package and subprogram
- instances.
- (Get_Type_Reference): For a subtype that is the renaming of an actual in
- an instantiation, use the first_subtype to ensure that we don't generate
- cross-reference information for internal types.
- For objects and parameters of a generic private type, retain the '*'
- indicator to distinguish such an entity from its type.
-
- * ali.ads (Xref_Entity_Record): New fields Iref_File_Num and Iref_Line,
- to store information about instantiated entities.
-
- * ali.adb (Scan_ALI): Add support for parsing the reference to the
- generic parent
-
- * xref_lib.adb (Skip_To_Matching_Closing_Bracket): New subprogram
- (Parse_Identifier_Info, Parse_Token): Add support for the generic parent
- information.
-
-2005-06-10 Doug Rupp <rupp@adacore.com>
- Arnaud Charlet <charlet@adacore.com>
- Olivier Hainque <hainque@adacore.com>
- Jose Ruiz <ruiz@adacore.com>
-
- * Make-lang.in: Add initialize.o when needed.
- Remove obsolete references to RT_FLAGS.
- Add missing dependencies for sdefault.o
-
- * initialize.c: New file.
-
- * init.c [VMS] Declare ADA$ externs weak to fix build problem in IVMS.
- [VMS] cond_signal_table: Fix problem in declaration.
- [VMS] __gnat_error_handler: rewrite.
- Move all __gnat_initialize() routines to initialize.c
- Specialize the former "hpux" section to "hppa hpux", as this is what the
- section really is here for and we now have other hpux ports that need
- different contents.
- (__gnat_adjust_context_for_raise) i386-linux: First version of this
- function for this target. Adjust PC by one in the machine context. This
- adjustment was previously done in the MD_FALLBACK_FRAME_STATE_FOR, but
- it is more reliable to do that in the signal handler itself.
- (__gnat_install_handler) i386-linux: Set SA_SIGINFO in the sigaction
- flags, so that the handler is passed the context structure to adjust
- prior to the raise.
- (__gnat_error_handler) i386-linux: Adjust the signature to match what a
- SA_SIGINFO sigaction should look like. Call
- __gnat_adjust_context_for_raise before actually raising. Cleanup unused
- Machine_State_Operations stuff.
- Add conditional code so that the x86_64 is also supported.
-
-2005-06-14 Pascal Obry <obry@adacore.com>
-
- * mdll.adb (Get_Dll_Name): New routine that returns the DLL name given
- the library name.
-
-2005-06-14 Robert Dewar <dewar@adacore.com>
-
- * opt.ads, opt.adb: New flags for persistent_bss mode
- Add Ada_Version_Explicit, for implementation of AI-362
- Add Assertions_Enabled_Config and associated handling
- Needed since setting can be changed with Assertion_Policy pragma
- Add new flag Warn_On_Ada_2005_Compatibility
-
- * switch-c.adb: Recognize -gnatwy/Y
- Set Ada_Version_Explicit, for implementation of AI-362
- The -gnatg switch now includes -gnatyu
-
- * usage.adb: Add -gnatwy/Y
- Remove wrong asterisk on -gnatwX line
- Add line for -gnatyu switch
-
-2005-06-14 Vincent Celier <celier@adacore.com>
-
- * osint.adb (Add_Default_Search_Dirs): Put source and object
- directories of project files before directories coming from
- ADA_INCLUDE_PATH and ADA_OBJECTS_PATH.
-
-2005-06-14 Robert Dewar <dewar@adacore.com>
-
- PR ada/15613
- * par-ch2.adb (Scan_Pragma_Argument): New procedure
- (P_Pragma): Implement RM 2.8(4) check for no pos args after named args
-
-2005-06-14 Vincent Celier <celier@adacore.com>
-
- * prep.adb (Preprocess): Ignore error when scanning the first token of
- a line.
-
-2005-06-14 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb (Suffix_For): Change default suffix for C++ to ".cpp"
- (Check_Stand_Alone_Library): If the specified reference symbol file does
- not exist, only issue a warning when the symbol policy is not
- Controlled. And, when symbol policy is Compliant, set the symbol
- policy to Autonomous.
-
-2005-06-14 Vincent Celier <celier@adacore.com>
-
- * prj-part.adb (Pre_Parse_Context_Clause): Call Set_Is_Not_Last_In_List
- when the project file in a with clause is not the last one, that is the
- project file name is followed by a comma.
- * prj-pp.adb: (First_With_In_List): New Boolean global variable
- (Print): Issue list of project files separated by commas in with clauses
- according to the values returned by Is_Not_Last_In_List.
- * prj-tree.ads, prj-tree.adb: (Is_Not_Last_In_List): New function
- (Set_Is_Not_Last_In_List): New procedure
-
-2005-06-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * s-atacco.ads: Put a pragma No_Strict_Aliasing on Object_Pointer.
-
-2005-06-14 Robert Dewar <dewar@adacore.com>
-
- * scng.adb: Add call to new Check_EOF routine
- (Accumulate_Checksum): Properly handle wide wide char >= 2 ** 24
- Add some comments regarding wide character handling
-
- * style.ads, styleg.ads, styleg.adb: Implement new style switch -gnatyu
-
- * stylesw.ads, stylesw.adb: Implement new style switch -gnatyu
-
- * g-utf_32.ads, g-utf_32.adb (Is_UTF_32_Non_Graphic): Other_Format
- characters are now considered graphic characters and hence yield false
- in this call.
-
- * nmake.adt: Modify header so that xnmake does not generate output
- files with multiple blank lines.
-
- * treeprs.adt: Remove a blank line so that output from xtreeprs does
- not have an extra blank line
-
-2005-06-14 Gary Dismukes <dismukes@adacore.com>
-
- * sem_aggr.adb (Aggregate_Constraint_Checks): Apply a conversion to the
- expression when the component type is an anonymous access type to
- ensure that appropriate accessibility checks are done.
-
- * sem_ch5.adb (Analyze_Assignment): Apply a implicit conversion to the
- expression of an assignment when the target object is of an anonymous
- access type. This ensures that required accessibility checks are done.
- (One_Bound): Move the check for type Universal_Integer to
- Process_Bounds.
- (Process_Bounds): Check whether the type of the preanalyzed range is
- Universal_Integer, and in that case set Typ to Integer_Type prior
- to setting the type of the original range and the calls to One_Bound.
-
-2005-06-14 Ed Schonberg <schonberg@adacore.com>
-
- * sem_case.adb (Expand_Others_Choice): Improve warning.
-
-2005-06-14 Ed Schonberg <schonberg@adacore.com>
-
- * sem_eval.adb (Subtypes_Statically_Match): Use discriminant
- constraint of full view if present, when other type is discriminated.
- (Eval_Relational_Op): Recognize tests of pointer values against Null,
- when the pointer is known to be non-null, and emit appropriate warning.
-
-2005-06-14 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- PR ada/10671
- * sem_prag.adb: Implement pragma Persistent_BSS
- Remove obsolete pragma Persistent_Data, Persistent_Object
- Set Ada_Version_Explicit, for implementation of AI-362
- Test Ada_Version_Explicit for Preelaborate_05 and Pure_05
- Add processing for pragma Pure_05 and Preelaborate_05
- Add processing for Assertion_Policy pragma
- Add pragma identifiers for Assert
- (Analyze_Pragma, case Assert): Check number of arguments
- (Process_Inline): Additional guard against an illegal program, where the
- argument of the pragma is undefined, and warnings on redundant
- constructs are enabled.
- (Analyze_Pragma, case Obsolescent): Allow an optional second argument
- Ada_05 to this pragma, specifying that the pragma is only active in
- Ada_05 mode.
- (Check_Arg_Order): New procedure
- Add appropriate calls to this procedure throughout
- Also throughout, check entity name before doing any other checks
-
- * snames.h snames.ads, snames.adb: Add pragma Persistent_BSS
- Remove obsolete pragma Persistent_Data, Persistent_Object
- Add entries for pragma Pure_05 and Preelaborate_05
- Add entries for Assertion_Policy pragma and associated names
- Add some names for pragma argument processing
-
- * tbuild.ads, tbuild.adb: (Make_Linker_Section_Pragma): New function
-
-2005-06-14 Ed Schonberg <schonberg@adacore.com>
-
- * sem_warn.adb (Warn_On_Known_Condition): If the constant expression
- appears within a negation (either from source or as a rewriting of
- inequality) adjust text of warning accordingly.
-
-2005-06-14 Thomas Quinot <quinot@adacore.com>
-
- * s-strxdr.adb: Follow AI95-00132
-
-2005-06-14 Arnaud Charlet <charlet@adacore.com>
-
- * s-tasren.adb (Exceptional_Complete_Rendezvous): Fix race condition.
-
-2005-06-14 Arnaud Charlet <charlet@adacore.com>
- Jose Ruiz <ruiz@adacore.com>
-
- * s-tposen.adb, s-tpobop.adb
- (Exceptional_Complete_Rendezvous): Save the occurrence and not only
- the exception id.
- (PO_Do_Or_Queue): Before queuing a task on an entry queue we check that
- there is no violation of the Max_Entry_Queue_Length restriction (if it
- has been set); Program_Error is raised otherwise.
- (Requeue_Call): Before requeuing the task on the target entry queue we
- check that there is no violation of the Max_Entry_Queue_Length
- restriction (if it has been set); Program_Error is raised otherwise.
-
-2005-06-14 Robert Dewar <dewar@adacore.com>
-
- * styleg.adb: Fix several remaining problems in -gnatyu switch
- Blank line count not reset at start
- Scanning outside source buffer in some cases
- Confusing message for blanks at end of file
- Non-empty blank lines not recognized
-
- * nmake.adt: Modify header so that xnmake does not generate output
- files with multiple blank lines.
-
- * treeprs.adt: Remove a blank line so that output from xtreeprs does
- not have an extra blank line
-
-2005-06-14 Sergey Rybin <rybin@adacore.com>
-
- * styleg-c.adb (Body_With_No_Spec): Remove ':' from warning message.
-
-2005-06-14 Doug Rupp <rupp@adacore.com>
- Vincent Celier <celier@adacore.com>
-
- * vms_conv.ads, vms_conv.adb: Remove "Library" command.
- Update copyright.
-
- * vms_data.ads: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
- Remove "Library" command.
- Change keyword for style check -gnatyd from NOCRLF to
- DOS_LINE_ENDINGS.
- Remove useless second style check keyword NONE
- Remove help documentation for inexistent style check keyword
- RM_COLUMN_LAYOUT.
- Add help documentation for style check keywords DOS_LINE_ENDINGS,
- UNNECESSARY_BLANK_LINES and XTRA_PARENS
- Add UNNECESSARY_BLANK_LINES for -gnatyu
- Add qualifiers /ALL_PROJECTS (-U) for GNAT PRETTY and GNAT METRIC
-
- * ug_words: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
-
-2005-06-14 Vincent Celier <celier@adacore.com>
-
- * makegpr.adb (Compile_Link_With_Gnatmake): Invoke gnatmake with -d if
- gprmake was invoked with -d.
- (Compile_Sources): If -d was used, output the "completed ..." message
- for each compilation.
- (Scan_Arg): Recognize new switch -d
- When -c and at least one main is specified, set
- Unique_Compile to True to guarantee that no other sources will be
- compiled.
-
-2005-06-14 Matthew Heaney <heaney@adacore.com>
-
- * a-swunha.ads, a-swunha.adb: Removed. Replaced by a-swuwha.ad[sb]
- * a-swuwha.ads, a-swuwha.adb: New files
-
- * a-szunha.ads, a-szunha.adb: Removed, replaced by a-szuzha.ad[sb]
- * a-szuzha.ads, a-szuzha.adb: New files.
-
- * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
- a-crbtgk.adb, a-crbltr.ads, a-coorse.ads, a-coorse.adb, a-convec.ads,
- a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohata.ads, a-cohama.ads,
- a-cohama.adb, a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
- a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
- a-cdlili.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb,
- a-cohase.ads, a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads,
- a-swunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb, a-shcain.ads,
- a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads, a-stwiha.adb,
- a-strhas.adb, a-stzhas.adb: synchronized to the latest version of the
- Ada 2005 RM.
-
-2005-06-10 Eric Botcazou <ebotcazou@adacore.com>
- Olivier Hainque <hainque@adacore.com>
- Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- Pascal Obry <obry@adacore.com>
-
- * gigi.h: (build_allocator): Add arg IGNORE_INIT_TYPE.
-
- * trans.c (call_to_gnu): Issue a warning for users of Starlet when
- making a temporary around a procedure call because of non-addressable
- actual parameter.
- (process_freeze_entity): If entity is a private type, capture size
- information that may have been computed for the full view.
- (tree_transform, case N_Allocator): If have initializing expression,
- check type for Has_Constrained_Partial_View and pass that to
- build_allocator.
- (tree_transform, case N_Return_Statement): Pass extra arg to
- build_allocator.
-
- * decl.c (annotate_value): Remove early return if -gnatR is not
- specified.
- (gnat_to_gnu_field): Don't make a packable type for a component clause
- if the position is byte aligned, the field is aliased, and the clause
- size isn't a multiple of the packable alignment. It serves no useful
- purpose packing-wise and would be rejected later on.
- (gnat_to_gnu_entity, case object): Pass extra arg to build_allocator.
-
- PR ada/20515
- (gnat_to_gnu_entity): Remove use of macro _WIN32 which is wrong in the
- context of cross compilers. We use TARGET_DLLIMPORT_DECL_ATTRIBUTES
- instead.
- (create_concat_name): Idem.
-
-2005-06-10 Robert Dewar <dewar@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
- Ben Brosgol <brosgol@adacore.com>
- Cyrille Comar <comar@adacore.com>
- Sergey Rybin <rybin@adacore.com>
- Pascal Obry <obry@adacore.com>
-
- * gnat_rm.texi: Add documentation for pragma Persistent_BSS
- Document second argument (Ada_05) of pragma Obsolescent
- Add note that call to subprogram marked with pragma Obsolescent
- is now considered to be a violation of program Restrictions
- (No_Obsolescent_Features).
- (Implementation Defined Pragmas) <Machine_Attribute>: Make it clear
- that only machine-dependent attributes are supported.
-
- * gnat_ugn.texi:
- Commented out menu lines and empty section for gnatclean examples
- Document -gnatwy/Y
- Fix some over long lines
- Clarify and enhance documentation of ADA_PROJECT_PATH.
- Rework section 2.11.2(3) about linking with a non-GNU compiler.
- Mention new switch -fcallgraph-info.
- Mention new switch -fstack-usage.
- For gnatpp, replace '-notab' with '-N' and add this option to Index
- Corrected VMS example.
- VMS keyword for style check -gnatyd is DOS_LINE_ENDINGS, no NOCRLF
- Minor reformatting
- Add documentation for -gnatyu switch (unnecessary blank lines)
- Document new switch -U for GNAT PRETTY and GNAT METRIC
- Add note about Stdcall being handled as C convention on non Windows OS.
- Remove some junk typo in description of gnatbind -S switch
- Remove reference to Extensions_Allowed pragma
- Document the new order of the directories to be searched (source and
- object directories of project files before directories in ADA_*_PATH
- environment variables.
-
- * g-trasym.ads: Document that IRIX is supported
-
-2005-06-10 Arnaud Charlet <charlet@adacore.com>
-
- * Makefile.in: Add initialize.o when needed.
- Adapt to new VMS package body Symbols and subunits
- No specialized version of a-sytaco is needed for VxWorks.
-
- * a-wichun.ads, a-wichun.adb, a-zchuni.ads, a-zchuni.adb: New files.
- * a-zchara.ads, a-widcha.ads: New files.
-
- * system-hpux-ia64.ads: New file.
-
- * i-vxwork-x86.ads, i-vxwork.ads (intContext): Add this function which
- is imported from the VxWorks kernel.
-
-2005-06-14 Robert Dewar <dewar@adacore.com>
-
- * g-soliop-mingw.ads, g-soccon-vms.adb, a-swmwco.ads, exp_smem.adb,
- fmap.adb, a-szmzco.ads, s-traent-vms.adb, s-traent-vms.ads,
- a-direio.ads, a-exctra.ads, a-exexda.adb, a-exextr.adb, a-stream.ads,
- s-restri.ads, s-restri.adb, s-traent.adb, s-traent.ads, a-slcain.adb,
- a-stzhas.ads, a-tiinau.adb, comperr.adb, exp_ch11.adb, g-boubuf.adb,
- g-calend.adb, g-debpoo.ads, g-moreex.ads, gprep.adb, g-regpat.ads,
- i-cexten.ads, i-os2thr.ads, makeutl.ads, memroot.adb, mlib-prj.adb,
- namet.adb, namet.ads, prj-makr.adb, prj-proc.adb, sem_dist.adb,
- sem_elim.ads, s-valint.adb, s-vallli.adb, s-vallli.adb, s-vallli.ads,
- s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, scn.adb,
- s-tasinf.adb, targparm.adb, uname.adb, uname.ads, xnmake.adb,
- xsinfo.adb, a-direct.ads: Remove extra blank lines. Minor reformatting.
-
-2005-06-14 Thomas Quinot <quinot@adacore.com>
-
- * xeinfo.adb: Fix typo in comment
-
-2005-06-14 Javier Miranda <miranda@adacore.com>
-
- * repinfo.ads: Fix typo in comment
-
-2005-06-14 Gary Dismukes <dismukes@adacore.com>
-
- * s-finimp.adb (Parent_Tag): Delete this imported function (function
- Parent_Tag is now in the visible part of Ada.Tags).
- (Get_Deep_Controller): Call Ada.Tags.Parent_Tag directly instead of
- using imported function.
-
-2005-06-14 Bernard Banner <banner@adacore.com>
-
- * vxaddr2line.adb: Add support for Windows hosted x86 vxworks. Should
- also apply for handling support for VxSim 653.
-
-2005-06-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * xsnames.adb: Add automatic generation of snames.h.
-
-2005-06-14 Thomas Quinot <quinot@adacore.com>
-
- * gen-soccon.c: Add IP_MULTICAST_IF constant
- Minor reformatting and adjustments to prevent warnings.
-
-2005-06-14 Pascal Obry <obry@adacore.com>
-
- * seh_init.c: Do not include <sys/stat.h>. This is not needed.
-
-2005-06-03 Andrew Pinski <pinskia@physics.uc.edu>
-
- * trans.c (gnat_gimplify_expr): Call
- recompute_tree_invarant_for_addr_expr when we change
- the operand of the ADDR_EXPR.
-
-2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * misc.c: Don't include errors.h.
-
-2005-05-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * raise.c (db): Add ATTRIBUTE_PRINTF_2.
-
-2005-05-29 Kazu Hirata <kazu@cs.umass.edu>
-
- * cal.c, decl.c, init.c, raise.c, trans.c, utils2.c: Fix
- comment typos.
- * gnat_rm.texi, gnat_ugn.texi: Fix typos.
-
-2005-05-16 Nathanael Nerode <neroden@gcc.gnu.org>
-
- PR ada/20270
- * Makefile.in: Make TGT_LIB behave correctly.
-
-2005-04-23 DJ Delorie <dj@redhat.com>
-
- * misc.c: Adjust warning() callers.
-
-2005-04-16 Laurent Guerby <laurent@guerby.net>
-
- PR ada/18847
- * a-nudira.adb (Value): Check for valid string.
- * a-nuflra.adb (Value): Likewise.
-
-2005-04-11 Richard Sandiford <rsandifo@redhat.com>
-
- * lang.opt: Refer to the GCC internals documentation instead of c.opt.
-
-2005-04-10 Kazu Hirata <kazu@cs.umass.edu>
-
- * adaint.c, init.c, tracebak.c: Fix comment typos.
- * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Fix typos.
-
-2005-04-07 Laurent Guerby <laurent@guerby.net>
- John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * Makefile.in: Add make ifeq define for hppa linux tasking support.
- * system-hpux.ads: Define Signed_Zeros to be True.
- * system-linux-hppa.ads, s-osinte-linux-hppa.ads: New files.
-
-2005-04-01 Kazu Hirata <kazu@cs.umass.edu>
-
- * adaint.c, cal.c, decl.c, gigi.h, gmem.c, init.c, link.c,
- raise.c, tracebak.c, trans.c, utils2.c, utils.c: Fix comment
- typos.
-
-2005-03-30 Tom Tromey <tromey@redhat.com>
-
- * decl.c (gnat_substitute_in_type): Don't handle FILE_TYPE.
-
-2005-03-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
-
- * adaint.c (_gnat_set_close_on_exec): Mark parameters unused.
-
-2005-03-29 Robert Dewar <dewar@adacore.com>
-
- * sem_res.adb (Resolve_Real_Literal): Generate warning if static
- fixed-point expression has value that is not a multiple of the Small
- value.
-
- * opt.ads (Warn_On_Bad_Fixed_Value): New flag
-
- * s-taprop-tru64.adb (RT_Resolution): Return an integer number of
- nanoseconds.
-
- * ug_words: Add entry for [NO_]BAD_FIXED_VALUES for -gnatwb/-gnatwB
-
-2005-03-29 Vincent Celier <celier@adacore.com>
-
- * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb
- (Build_Dynamic_Library.Version_String): Return the empty string when
- Lib_Version is empty or when the symbol policy is not Autonomous.
-
- * symbols-vms-alpha.adb (Finalize): For symbol policy Compliant, when
- a symbol is not in the reference symbol file, increase the Major ID
- and set the Minor ID to 0.
- Use gsmatch=lequal instead of gsmatch=equal
-
-2005-03-29 Doug Rupp <rupp@adacore.com>
-
- * adaint.c (__gnat_to_canonical_file_spec [VMS]): Check for logical
- name and translate.
-
-2005-03-29 Javier Miranda <miranda@adacore.com>
-
- * a-tags.ads, a-tags.adb (Get_TSD): Subprogram removed.
- (Inherit_DT): The first formal has been redefined as a Tag.
- This allows us the removal of the subprogram Get_TSD.
- (TSD): Replace the call to Get_TSD by the actual code.
-
- * exp_disp.ads, exp_disp.adb: Remove support to call Get_TSD.
- (Make_DT): Upgrade the call to Inherit_TSD according to the
- new interface: the first formal is now a Tag.
-
- * i-cpp.ads, i-cpp.adb (CPP_Inherit_DT): The first formal has been
- redefined as a Tag.
- This change allows us to remove the subprogram Get_TSD.
- (CPP_Get_TSD): Subprogram removed.
- (TSD): Replace the call to CPP_Get_TSD by the actual code.
-
- * rtsfind.ads: Remove support to call the run-time
- subprogram Get_TSD
-
-2005-03-29 Robert Dewar <dewar@adacore.com>
-
- * errutil.adb, errout.adb:
- Minor comment updates on Line_Terminator references
-
- * par-ch10.adb: Add ??? comment about line terminator
-
- * styleg.adb (Check_Line_Terminator): Add check for new switch -gnatyd
- (check dos line terminator).
- (Check_Line_Max_Length): New procedure, split off from the existing
- Check_Line_Terminator routine. Separating this out allows -gnatyf to
- be properly recognized.
-
- * styleg.adb: Add ??? comment for line terminator reference
-
- * scng.adb (Check_End_Of_Line): Fix bug of -gnatyf being ignored
- (Check_End_Of_Line): Add -gnatyd handling (check dos line terminators)
-
- * styleg.ads (Check_Line_Terminator): Add check for new switch -gnatyd
- (check dos line terminator).
- (Check_Line_Max_Length): New procedure, split off from the existing
- Check_Line_Terminator routine. Separating this out allows -gnatyf to
- be properly recognized.
-
- * stylesw.ads, stylesw.adb:
- Add handling for new -gnatyd switch (check dos line terminator)
-
- * switch-c.adb: Recognize new -gnatyd switch (check dos line terminator)
- Recognize -gnatwb/-gnatwB switches
- Include Warn_On_Bad_Fixed_Value for -gnatg
-
- * usage.adb:
- Add line for new -gnatyd switch (check dos line terminator)
-
- * usage.adb: Add lines for -gnatwb/-gnatwB
-
- * vms_data.ads: Add entry for NOCRLF (-gnatyd)
-
- * vms_data.ads: [NO_]BAD_FIXED_VALUES synonym for -gnatwb/-gnatwB
-
- * gnat_ugn.texi: Fix overlong lines
- Document new -gnatyd switch
- Document new -gnatwb/-gnatwB switches
-
-2005-03-29 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch4.adb (Has_Unconstrained_UU_Component): Use the base type in
- order to retrieve the component list of the type, before examining
- individual components.
-
- * sem_type.adb (Covers): Types are compatible if one is the base type
- of the other, even though their base types might differ when private
- views are involved.
-
-2005-03-29 Thomas Quinot <quinot@adacore.com>
-
- * exp_dist.adb (Add_RAST_Features, PolyORB version): Set the From_Any,
- To_Any and TypeCode TSSs on RAS types directly using Set_TSS, instead
- of using Set_Renaming_TSS. This ensures that the TSS bodies are not
- analyzed if expansion is disabled (which could otherwise cause spurious
- error messages if expansion has been disabled due to previous
- (unrelated) errors).
-
- * sem_prag.adb (Analyze_Pragma, case Asynchronous): If RAS expansion
- is disabled, the entity denoted by the argument is the access type
- itself, not an underlying record type, so there is no need to go back
- to the Corresponding_Remote_Type.
-
-2005-03-29 Gary Dismukes <dismukes@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * exp_intr.adb (Expand_Dispatching_Constructor_Call): New procedure to
- expand a call to an instance of
- Ada.Tags.Generic_Dispatching_Constructor into a dispatching call to the
- Constructor actual of the instance. A class-wide membership
- check is also generated, to ensure that the tag passed to the instance
- denotes a type in the class.
- (Expand_Intrinsic_Call): Call Expand_Dispatching_Constructor in the case
- of Name_Generic_Dispatching_Constructor.
-
- * Makefile.rtl: Add a-tgdico.ads to the list of library units (new Ada
- 05 unit for AI-260-02).
-
- * a-tgdico.ads: New file.
-
- * impunit.adb (Non_Imp_File_Names_05): Add entry "a-tgdico" for new
- predefined Ada 05 generic unit Ada.Tags.Generic_Dispatching_Constructor.
-
- * snames.ads, snames.adb (Preset_Names): Add entry for
- Generic_Dispatching_Constructor.
-
- PR ada/20300
- * sem_ch8.adb (Find_Direct_Name): Go to root type for check of
- character type cases.
- (Analyze_Subprogram_Renaming): Add special handling for
- the case of renaming of stream attributes when the renaming denotes a
- generic formal subprogram association for an abstract formal subprogram.
- Check that the attribute is a primitive stream attribute (and not
- a class-wide stream attribute) and then rewrite the attribute name
- as the name of the appropriate compiler-generated stream primitive.
-
-2005-03-29 Robert Dewar <dewar@adacore.com>
-
- * exp_util.adb (Remove_Side_Effects): Properly propagate arguments to
- recursive calls.
- (Is_Possibly_Unaligned_Object): Correct typo that
- resulted in inaccurate result for unaligned scalars within records.
-
-2005-03-29 Ed Schonberg <schonberg@adacore.com>
-
- * freeze.adb (Freeze_Record_Type): If the type of the component is an
- itype whose parent is controlled and not yet frozen, do not create a
- freeze node for the itype if expansion is disabled.
-
-2005-03-29 Vincent Celier <celier@adacore.com>
-
- * make.adb (Gnatmake): Don't fail if the main project file is declared
- as having no Ada sources. Do not display message "no sources to
- compile" in quiet output.
-
-2005-03-29 Doug Rupp <rupp@adacore.com>
-
- * Makefile.in [VMS] (EXTRA_GNATTOOLS): Add vms_help and gnat.hlp as
- extra tools.
-
-2005-03-29 Robert Dewar <dewar@adacore.com>
-
- * par-ch12.adb (P_Generic): Give better msg for illegal private generic
- child.
-
-2005-03-29 Robert Dewar <dewar@adacore.com>
-
- * par-ch3.adb (P_Type_Declaration): Fix bad error recovery after
- missing TYPE Improve the error message generated when compiling a
- limited interface in Ada83 or Ada95 mode.
-
-2005-03-29 Robert Dewar <dewar@adacore.com>
-
- * par-ch4.adb (P_Name): When a bad attribute is returned, return error,
- rather than proceed ahead using a junk attribute name.
-
-2005-03-29 Vincent Celier <celier@adacore.com>
-
- * prj.ads, prj.adb: (Project_Data): Add new component Display_Name
-
- * prj-part.adb (Parse_Single_Project): Set the location of a project
- on its defining identifier, rather than on the reserved word "project".
-
- * prj-proc.adb (Expression): Adapt to the fact that default of external
- references may be string expressions, not always literal strings.
- (Recursive_Process): Set Display_Name equal to Name
- when Location is No_Location, that is when there is no actual file.
- Get the Display_Name of the project from the source, when it is not a
- virtual project.
- (Process): Use the Display_Name in error messages
-
- * prj-strt.adb (External_Reference): Allow default to be string
- expressions, not only literal strings.
-
-2005-03-29 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb (Check_Stand_Alone_Library): Do not forbid the symbol
- file and the reference symbol file to be the same file.
-
-2005-03-29 Thomas Quinot <quinot@adacore.com>
-
- * sem_cat.adb (Validate_Remote_Types_Type_Conversion): Perform check to
- forbid conversion of a local access-to-subprogram type to a remote one.
-
- * sem_util.adb (Wrong_Type): For a record type that is the expanded
- equivalent type for a remote access-to-subprogram type, go back to the
- original RAS entity when displaying an error message, so the casing is
- the original source casing.
-
-2005-03-29 Robert Dewar <dewar@adacore.com>
-
- * sem_ch11.adb (Analyze_Raise_Statement): Change message for warning
- on param update.
-
-2005-03-29 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Analyze_Selected_Component): Do not generate an actual
- subtype if code is being pre-analyzed, to prevent un-expanded
- references to protected formals, among others.
- (Analyze_Explicit_Dereference): If the overloaded prefix includes some
- interpretation that can be a call, include the result of the call as a
- possible interpretation of the dereference.
-
- * sem_ch5.adb (Process_Bounds): Determine type of range by
- pre-analyzing a copy of the original range, and then analyze the range
- with the expected type.
-
- * sem_res.adb (Check_Parameterless_Call): For an explicit dereference
- with an overloaded prefix where not all interpretations yield an
- access to subprogram, do not rewrite node as a call.
- (Resolve_Explicit_Dereference): Recognize the previous case and rewrite
- the node as a call once the context identifies the interpretation of
- the prefix whose call yields the context type.
- (Valid_Conversion): For the case of a conversion between
- local access-to-subprogram types, check subtype conformance using
- Check_Subtype_Conformant instead of Subtype_Conformant, to have a more
- detailed error message.
-
-2005-03-29 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Set_Formal_Mode): If the subtype has a non_null
- indicator, indicate that the formal can never be null.
- (Process_Formals): If a formal has a non_null indicator, insert the
- resulting subtype immediately before the enclosing subprogram decl,
- and not at the beginning of the corresponding declarative part, to
- prevent access before elaboration (Ada2005).
-
-2005-03-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- PR ada/19956
- * utils.c (finish_record_type): Use variable_size when setting sizes.
-
-2005-03-29 Robert Dewar <dewar@adacore.com>
-
- * xtreeprs.adb, xnmake.adb: Use Stream_IO instead of Text_IO to
- guarantee Unix style line terminators for the output files, even when
- running on windows.
-
-2005-03-29 Robert Dewar <dewar@adacore.com>
-
- * a-direct.ads, a-direct.adb (Start_Search): Free allocated search
- buffer if an exception is raised.
-
-2005-03-29 Ed Falis <falis@adacore.com>
-
- * cio.c: Undefine putchar and getchar for VTHREADS: incompatible with
- VxWorks 653 1.4
-
-2005-03-29 Robert Dewar <dewar@adacore.com>
-
- * sem_util.ads: Minor reformatting
- * gnat_rm.texi: Minor editing.
-
-2005-03-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (gnat_to_gnu_entity) <E_Variable>: Rework comment.
- * trans.c (tree_transform) <N_Identifier>: Use correct predicates.
-
-2005-03-24 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
-
- * adaint.c (__gnat_portable_spawn): Adjust cast.
-
-2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
-
- * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
-
-2005-03-17 Pascal Obry <obry@adacore.com>
-
- * adaint.h, adaint.c (__gnat_waitpid): Moved to expect.c where it is
- used.
-
- * expect.c (__gnat_waitpid): Moved here from adaint.c.
- Reimplement under Win32 using Win32 API.
-
- (__gnat_kill) [Win32]: Properly close the process handle before leaving
- this routine.
-
-2005-03-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * ada-tree.h: (DECL_RENAMING_GLOBAL_P): New predicate.
- (DECL_RENAMED_OBJECT): New accessor macro.
- (SET_DECL_RENAMED_OBJECT): New setter macro.
-
- * decl.c (gnat_to_gnu_entity) <E_Variable>: Stabilize the renamed
- object in all cases. Attach the renamed object to the VAR_DECL.
- (gnat_to_gnu_field): Do not lift the record wrapper if the size of the
- field is not prescribed.
-
- * misc.c (gnat_handle_option): Handle -gnatO separately.
- (gnat_print_decl) <VAR_DECL>: New case.
- Print the DECL_RENAMED_OBJECT node.
-
- * lang.opt: Declare separate -gnatO option.
-
- * trans.c (tree_transform) <N_Identifier>: If the object is a renaming
- pointer, replace it with the renamed object.
- <N_Validate_Unchecked_Conversion>: Warn for a conversion to a fat
- pointer type if the source is not a fat pointer type whose underlying
- array has the same non-zero alias set as that of the destination array.
-
-2005-03-17 Javier Miranda <miranda@adacore.com>
-
- * a-tags.ads, a-tags.adb (Get_Expanded_Name): Removed.
- (Get_Inheritance_Depth): Removed.
- (Set_Inheritance_Depth): Removed.
-
- * rtsfind.ads, exp_disp.ads, exp_disp.adb: Remove support to call the
- subprogram Get_Expanded_Name because it is not referenced by the
- frontend.
-
- * i-cpp.ads, i-cpp.adb (CPP_Get_Expanded_Name): Removed.
- (CPP_Get_Inheritance_Depth): Removed.
- (CPP_Set_Inheritance_Depth): Removed.
-
- * tbuild.ads, tbuild.adb (Make_DT_Component): Removed.
-
-2005-03-17 Robert Dewar <dewar@adacore.com>
-
- * checks.adb (Apply_Array_Size_Check): Completely remove this for GCC
- 3, since we now expect GCC 3 to do all the work.
-
-2005-03-17 Javier Miranda <miranda@adacore.com>
-
- * einfo.adb (First_Private_Entity, Set_First_Private_Entity): Addition
- of one barrier to avoid wrong usage of this attribute.
-
- * sem_ch12.adb (Formal_Entity): Fix erroneous usage of the attribute
- First_Private_Entity.
-
- * sem_ch7.adb (Install_Visible_Declarations): Add a barrier to protect
- the subprogram against wrong usage.
- Adapt the code to traverse the entities in the
- scope of a record_type because in addition to its usage regarding
- packages, this subprogram is also called by Expand_N_Freeze_Entity
- to install the visible declarations of the enclosing scope of a
- record_type_with_private to establish the proper visibility before
- freezing the entity and related subprograms.
-
-2005-03-17 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch2.adb (In_Assignment_Context): Recognize slice assignments to
- entry formals.
-
-2005-03-17 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch3.adb (Check_Attr): New subprogram.
- (Check_Stream_Attribute): Move the code for 13.13.2(9/1) enforcement
- into a new Check_Attr subprogram, in order to provide a more
- explanatory error message (including the name of the missing attribute).
- (Stream_Operation_OK): Renamed from Stream_Operations_OK. This
- subprogram determines whether a default implementation exists for a
- given stream attribute.
- (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies):
- Determine whether to generate a default implementation for each stream
- attribute separately, as this depends on the specific attribute.
-
- * exp_strm.adb (Make_Field_Attribute): For the case of an illegal
- limited extension where a stream attribute is missing for a limited
- component (which will have been flagged in Exp_Ch3.Sem_Attr), do not
- generate a bogus reference to the missing attribute to prevent
- cascaded errors. Instead, generate a null statement.
-
- * sem_attr.adb (Check_Stream_Attribute): A stream attribute is
- available for a limited type if it has been specified for an ancestor
- of the type.
-
-2005-03-17 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch6.adb (Expand_Inlined_Call): handle the case when the renamed
- entity is an operator.
-
-2005-03-17 Thomas Quinot <quinot@adacore.com>
-
- * exp_dist.adb (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
- spec, to make this predicate available to other units.
-
- * rtsfind.adb (Check_RPC): Use Sem_Dist.Get_PCS_Name instead of
- reimplementing it.
-
- * sem_ch8.adb: Disable expansion of remote access-to-subprogram types
- when no distribution runtime library is available.
-
- * sem_res.adb, sem_dist.adb: Disable expansion of remote
- access-to-subprogram types when no distribution runtime library is
- available.
- (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist spec, to make this
- predicate available to other units.
-
- * sem_dist.ads (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
- spec, to make this predicate available to other units.
-
-2005-03-17 Vincent Celier <celier@adacore.com>
-
- * make.adb (Insert_Project_Sources): Make sure the Q is always
- initialized.
-
- * prj-nmsc.adb (Check_Ada_Naming_Scheme_Validity): Check Naming against
- the default for the tree, not the global default naming.
-
- * prj-proc.adb (Recursive_Process): No need to put the default naming
- in the project data, it's already there.
-
-2005-03-17 Doug Rupp <rupp@adacore.com>
-
- * Makefile.in: (ia64-hp-*vms*): Use s-crtl-vms64.ads.
-
- * 5xcrtl.ads: Renamed to...
- * s-crtl-vms64.ads: ...this new file
-
-2005-03-17 Robert Dewar <dewar@adacore.com>
-
- PR ada/19519
- * namet.adb (Copy_One_Character): Set proper wide character encoding
- for upper half character if we have upper half encoding.
-
-2005-03-17 Robert Dewar <dewar@adacore.com>
-
- * par.adb (Par): Improved msg for attempt to recompile predefined unit
-
-2005-03-17 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch13.adb (New_Stream_Function, New_Stream_Procedure): For a
- tagged limited type, the TSS is a newly built renaming declaration:
- insert it using Set_TSS, not Copy_TSS.
-
-2005-03-17 Javier Miranda <miranda@adacore.com>
-
- * sem_ch4.adb (Try_Primitive_Operation, Class_Wide_Operation and
- Try_Object_Operation): Analyze the object that is accessible
- through the prefix of the subprogram call before we apply
- the transformation of the object-operation notation.
-
-2005-03-17 Jose Ruiz <ruiz@adacore.com>
-
- * s-taprob.adb (Initialize_Protection): Initialize the protected
- object's owner to Null_Task.
- (Lock): If pragma Detect_Blocking is in effect and the caller of this
- procedure is already the protected object's owner then Program_Error
- is raised. In addition the protected object's owner is updated.
- (Lock_Read_Only): If pragma Detect_Blocking is in effect and the caller
- of this procedure is already the protected object's owner then
- Program_Error is raised.
- In addition the protected object's owner is updated.
- (Unlock): Remove the ownership of the protected object.
-
- * s-taprob.ads (Protection): Add the field Owner, used to store the
- protected object's owner.
- This component is needed for detecting one type of potentially blocking
- operations (external calls on a protected subprogram with the same
- target object as that of the protected action). Document the rest of
- the components.
-
- * s-tposen.adb, s-tpoben.adb (Initialize_Protection_Entries):
- Initialize the protected object's owner to Null_Task.
- (Lock_Read_Only_Entries): If pragma Detect_Blocking is in effect and the
- caller of this procedure is already the protected object's owner then
- Program_Error is raised.
- Do not raise Program_Error when this procedure is called from a
- protected action.
- (Unlock_Entries): Remove the ownership of the protected object.
- (Lock_Entries): If pragma Detect_Blocking is in effect and the caller
- of this procedure is already the protected object's owner then
- Program_Error is raised.
- Do not raise Program_Error when this procedure is called from
- a protected action.
-
- * s-tposen.ads, s-tpoben.ads (Protection_Entries): Add the field Owner,
- used to store the protected object's owner.
-
- * s-tpobop.adb (Protected_Entry_Call): If pragma Detect_Blocking is in
- effect and this procedure (a potentially blocking operation) is called
- from whithin a protected action, Program_Error is raised.
- (Timed_Protected_Entry_Call): If pragma Detect_Blocking is in effect
- and this procedure (a potentially blocking operation) is called from
- whithin a protected action, Program_Error is raised.
-
-2005-03-17 Vincent Celier <celier@adacore.com>
- Nicolas Setton <setton@adacore.com>
-
- * mlib-tgt-darwin.adb (Build_Dynamic_Library): Remove the "-fini"
- switch, not supported by the linker on Darwin. Add '_' before
- <library>init, as this character is added unconditionally by the
- compiler.
- (Is_Archive_Ext): Replace the wrong library extension ".dyld" by the
- correct one ".dylib". This fixes detection of the archive files when
- building library projects.
-
-2005-03-17 Vincent Celier <celier@adacore.com>
-
- * switch-m.adb (Normalize_Compiler_Switches): Recognize switches
- -gnat83, -gnat95 and -gnat05.
-
-2005-03-17 Vasiliy Fofanov <fofanov@adacore.com>
-
- * gnat_ugn.texi: Document gnatmem restriction
-
-2005-03-17 Thomas Quinot <quinot@adacore.com>
-
- * snames.adb: Document new TSS names introduced by exp_dist/exp_tss
- cleanup
-
-2005-03-17 Robert Dewar <dewar@adacore.com>
-
- * s-interr.ads, s-interr.adb, sem_ch3.adb, prj.ads, prj.adb,
- a-interr.adb, a-interr.ads, s-interr-sigaction.adb, s-interr-dummy.adb,
- s-interr-vms.adb, s-interr-vxworks.adb: Minor reformatting
-
- * casing.adb: Comment improvements
-
-2005-03-17 Pascal Obry <obry@adacore.com>
-
- * g-expect.adb: Minor reformatting.
-
-2005-03-15 Zack Weinberg <zack@codesourcery.com>
-
- * Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
- (doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
- to dependencies.
-
-2005-03-15 Vincent Celier <celier@adacore.com>
-
- * mlib-tgt-darwin.adb (Library_Exist_For, Library_File_Name_For):
- Add new parameter In_Tree to specify the project tree: needed
- by the project manager. Adapt to changes in project manager
- using new parameter In_Tree.
-
-2005-03-15 Jakub Jelinek <jakub@redhat.com>
-
- * Make-lang.in (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h,
- ada/nmake.adb, ada/nmake.ads): Use unique subdirectories of
- ada/bldtools to avoid make -jN failures.
-
-2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * trans.c (gnat_to_gnu) <N_Return_Statement>: Set gnu_result
- to NULL_TREE on entry.
-
-2005-03-15 Robert Dewar <dewar@adacore.com>
-
- * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
- system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
- system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
- system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
- system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
- system-linux-x86.ads, system-vxworks-mips.ads, system-os2.ads,
- system-interix.ads, system-solaris-sparc.ads,
- system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
- system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads,
- system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
- system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads,
- system-linux-s390.ads, system-linux-s390x.ads: Add line defining
- Compiler_System_Version to be False.
-
- * opt.ads: Add new flag Opt.Address_Is_Private
-
- * targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private
- Add new parameter Compiler_System_Version to avoid checking for
- completeness of parameters when compiler is compiling itself.
- Allows old versions of GNAT to be compiled with new compiler.
-
-2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function
- (Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the
- calling thread.
- (Stack_Base_Available): New flag.
- (Get_Page_Size): New overloaded functions imported from C.
- (PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL,
- PROT_ON, PROT_OFF): New constants.
- (mprotect): New function imported from C.
- (pthread_teb_t): New record type.
-
- * s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
- (Create_Task): Account for the Yellow Zone and the guard page.
-
-2005-03-15 Vincent Celier <celier@adacore.com>
-
- * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
- mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
- mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
- mlib-tgt-vxworks.adb, mlib-tgt-lynxos.adb (Library_Exist_For,
- Library_File_Name_For): Add new parameter In_Tree
- to specify the project tree: needed by the project manager.
- Adapt to changes in project manager using new parameter In_Tree.
- Remove local imports, use functions in System.CRTL.
-
- * make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
- to use the project manager.
-
- * makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter
- In_Tree to designate the project tree. Adapt to changes in the project
- manager, using In_Tree.
-
- * mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library,
- Copy_Interface_Sources): Add new parameter In_Tree to specify the
- project tree: needed by the project manager.
- (Build_Library): Check that Arg'Length >= 6 before checking if it
- contains "--RTS=...".
-
- * mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For,
- Library_File_Name_For): Add new parameter In_Tree to specify the
- project tree: needed by the project manager.
-
- * prj.ads, prj.adb: Major modifications to allow several project trees
- in memory at the same time.
- Change tables to dynamic tables and hash tables to dynamic hash
- tables. Move tables and hash tables from Prj.Com (in the visible part)
- and Prj.Env (in the private part). Move some constants from the visible
- part to the private part. Make other constants deferred.
- (Project_Empty): Make it a variable, not a function
- (Empty_Project): Add parameter Tree. Returns the data with the default
- naming data of the project tree Tree.
- (Initialize): After updating Std_Naming_Data, copy its value to the
- component Naming of Project Empty.
- (Register_Default_Naming_Scheme): Use and update the default naming
- component of the project tree, instead of the global variable
- Std_Naming_Data.
- (Standard_Naming_Data): Add defaulted parameter Tree. If project tree
- Tree is not defaulted, return the default naming data of the Tree.
- (Initial_Buffer_Size): Constant moved from private part
- (Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new
- variables initialized in procedure Initialize.
- (Add_To_Buffer): Add two in out parameters to replace global variables
- Buffer and Buffer_Last.
- (Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New
- functions.
- Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
- hash tables.
- (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
- for the project tree.
- (Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and
- constant at the beginning of the package spec, so that they cane be used
- in subprograms before their full declarations.
- (Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref
- (Empty_Project): Add parameter of type Project_Node_Ref
- (Private_Project_Tree_Data): Add component Default_Naming of type
- Naming_Data.
- (Buffer, Buffer_Last): remove global variables
- (Add_To_Buffer): Add two in out parameters to replace global variables
- Buffer and Buffer_Last.
- (Current_Packages_To_Check): Remove global variable
- (Empty_Name): Move to private part
- (No-Symbols): Make it a constant
- (Private_Project_Tree_Data): New type for the private part of the
- project tree data.
- (Project_Tree_Data): New type for the data of a project tree
- (Project_Tree_Ref): New type to designate a project tree
- (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
- for the project tree.
-
- * prj-attr.ads: Add with Table; needed, as package Prj no longer
- imports package Table.
-
- * prj-com.adb: Remove empty, no longer needed body
-
- * prj-com.ads: Move most of the content of this package to package Prj.
-
- * prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to
- designate the project node tree and Packages_To_Check to replace
- global variable Current_Packages_To_Check.
- Add new parameters In_Tree and Packages_To_Check to local subprograms,
- when needed. Adapt to changes in project manager with project node tree
- In_Tree.
-
- * prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the
- project tree to most subprograms. Move tables and hash tables to
- private part of package Prj.
- Adapt to changes in project manager using project tree In_Tree.
-
- * prj-makr.adb (Tree): New constant to designate the project node tree
- Adapt to change in project manager using project node tree Tree
-
- * prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly
- display the Library_Src_Dir and the Library_Dir.
- Add new parameter In_Tree to designate the project node tree to most
- subprograms. Adapt to changes in the project manager, using project tree
- In_Tree.
- (Check_Naming_Scheme): Do not alter the casing on platforms where
- the casing of file names is not significant.
- (Check): Add new parameter In_Tree to designate the
-
- * prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to
- designate the project tree.
- Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process
-
- * prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables,
- to replace those that were in the private part of package Prj.
- Add new parameter In__Tree to designate the project node tree to most
- subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
- (Post_Parse_Context_Clause): When specifying the project node of a with
- clause, indicate that it is a limited with only if there is "limited"
- in the with clause, not necessarily when In_Limited is True.
- (Parse): Add new parameter In_Tree to designate the project node tree
-
- * prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to
- designate the project node tree. Adapt to change in Prj.Tree with
- project node tree In_Tree.
-
- * prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project
- tree In_Tree in the call to function Empty_Process to give its initial
- value to the project data Processed_Data.
- Add new parameters In_Tree to designate the project tree and
- From_Project_Node_Tree to designate the project node tree to several
- subprograms. Adapt to change in project manager with project tree
- In_Tree and project node tree From_Project_Node_Tree.
-
- * prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables,
- to replace those that were in the private part of package Prj.
- Add new parameter In_Tree to designate the project node tree to most
- subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
-
- * prj-tree.ads, prj-tree.adb: Add new parameter of type
- Project_Node_Tree_Ref to most subprograms.
- Use this new parameter to store project nodes in the designated project
- node tree.
- (Project_Node_Tree_Ref): New type to designate a project node tree
- (Tree_Private_Part): Change table to dynamic table and hash tables to
- dynamic hash tables.
-
- * prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate
- the project tree to most subprograms. Adapt to changes in project
- manager using project tree In_Tree.
-
- * makegpr.adb (Project_Tree): New constant needed to use project
- manager.
-
-2005-03-15 Olivier Hainque <hainque@adacore.com>
-
- * s-intman-posix.adb (Notify_Exception): Adjust signature, as handler
- for sigactions with SA_SIGINFO set. Call
- __gnat_adjust_context_for_raise before raising, to perform the
- potentially required adjustments to the machine context for the GCC
- unwinder.
-
- * raise.h (__gnat_adjust_context_for_raise): New prototype.
-
- * init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision.
- Adjust PC by one in the provided machine context.
- (__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags,
- so that the handler is passed the context structure to adjust prior to
- the raise.
- (__gnat_error_handler) HPUX: Adjust the signature to match what an
- SA_SIGINFO sigaction should look like. Call
- __gnat_adjust_context_for_raise before actually raising.
- (__gnat_adjust_context_for_raise): Default noop to help PC
- adjustments before raise from signal handlers.
- (__gnat_error_handler): Indirectly call a predicate function to
- determine if a condition should be resignaled or not.
- (__gnat_set_resignal_predicate): User interface to modify the predicate.
- (__gnat_default_resignal_p): Default GNAT predicate.
-
-2005-03-15 Doug Rupp <rupp@adacore.com>
-
- * adaint.c: Prefix #include of VMS system header files with vms/
- [VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS.
- Do not define a dummy function "convert_addresses" under Darwin,
- not needed.
-
- * tb-alvms.c, expect.c: Prefix #include of VMS system header files
- with vms/
-
-2005-03-15 Nicolas Setton <setton@adacore.com>
-
- * tracebak.c: Under Darwin, use the same unwinding mechanisms as under
- PPC/AIX.
-
-2005-03-15 Robert Dewar <dewar@adacore.com>
-
- * a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
- AI-386.
-
- * a-retide.ads: Minor comment changes
-
-2005-03-15 Robert Dewar <dewar@adacore.com>
-
- * a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads,
- a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move
- Realloc_For_Chunk to private part of package.
- New subprograms for AI-301
-
- * a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
- Get_Line procedure.
- Avoid unnecessary use of Get/Set_Wide_String
-
-2005-03-15 Robert Dewar <dewar@adacore.com>
-
- PR ada/13470
- * a-stunau.ads, a-stunau.adb:
- Change interface to allow efficient (and correct) implementation
- The previous changes to allow extra space in unbounded strings had
- left this interface a bit broken.
-
- * a-suteio.adb: Avoid unnecessary use of Get/Set_String
-
- * g-spipat.ads, g-spipat.adb: New interface for Get_String
- Minor reformatting (function specs)
-
- * g-spitbo.adb: New interface for Get_String
-
- * g-spitbo.ads: Minor reformatting
-
- * a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String
-
- * a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String
-
-2005-03-15 Javier Miranda <miranda@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Thomas Quinot <quinot@adacore.com>
- Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * atree.ads, atree.adb: Add support for Elist24 field
-
- * atree.h: Fix wrong definition of Field27
- Add support for Elist16 field
- Add support for Elist24 field
-
- * einfo.ads, einfo.adb (Abstract_Interfaces,
- Set_Abstract_Interfaces): New subprograms.
- (Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New
- subprograms.
- (Access_Disp_Table, Set_Access_Disp_Table): Modified to handle a list of
- entities rather than a single node.
- (Is_Interface, Set_Is_Interface): New subprogram
- (First_Tag_Component): New syntesized attribute
- (Next_Tag_Component): New synthesized attribute
- (Write_Entity_Flags): Upgraded to write Is_Interface
- (Write_Field24_Name): Upgraded to write Abstract_Interfaces
- (Write_Field25_Name): Upgraded to write Abstract_Interface_Alias
- (Task_Body_Procedure): New subprogram to read this attribute.
- (Set_Task_Body_Procedure): New subprogram to set this attribute.
- (Has_Controlled_Component): Now applies to all entities.
- This is only a documentation change, since it always worked to apply
- this to other than composite types (yielding false), but now this is
- official.
- Update documentation on Must_Be_Byte_Aligned for new spec
-
- * tbuild.adb, exp_dist.adb, exp_disp.adb, exp_ch3.ads, exp_ch3.adb,
- exp_attr.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb: Upgrade all the
- uses of the Access_Disp_Table attribute to reference the first dispatch
- table associated with a tagged type. As
- part of the implementation of abstract interface types,
- Access_Disp_Table has been redefined to contain a list of dispatch
- tables (rather than a single dispatch table).
- Similarly, upgrade all the references to Tag_Component by the
- new attribute First_Tag_Component.
- (Find_Inherited_TSS): Moved to exp_tss.
- Clean up test in Expand_N_Object_Declaration for cases
- where we need to do a separate assignment of the initial value.
- (Expand_N_Object_Declaration): If the expression in the
- declaration of a tagged type is an aggregate, no need to generate an
- additional tag assignment.
- (Freeze_Type): Now a function that returns True if the N_Freeze_Entity
- is to be deleted.
- Bit packed array ops are only called if operands are known to be
- aligned.
- (Component_Equality): When returning an N_Raise_Program_Error statement,
- ensure that its Etype is set to Empty to avoid confusing GIGI (which
- expects that only expressions have a bona fide type).
- (Make_Tag_Ctrl_Assignment): Use Build_Actual_Subtype to correctly
- determine the amount of data to be copied.
-
- * par.adb (P_Interface_Type_Definition): New subprogram that parses the
- new syntax rule of Ada 2005 interfaces (for AI-251 and AI-345):
- INTERFACE_TYPE_DEFINITION ::=
- [limited | task | protected | synchronized] interface
- [AND interface_list]
-
- * par-ch3.adb (P_Type_Declaration): Modified to give support to
- interfaces.
- (P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to
- interfaces.
- (P_Interface_Type_Definition): New subprogram that parses the new
- syntax rule of Ada 2005 interfaces
- (P_Identifier_Declarations): fix two occurrences of 'RENAMES' in error
- messages by the correct RENAMES (quotes removed).
-
- * sem_prag.adb: Upgrade all the references to Tag_Component by the new
- attribute First_Tag_Component.
-
- * sinfo.ads, sinfo.adb: Remove OK_For_Stream flag, not used, not needed
- (Interface_List, Set_Interface_List): New subprograms.
- (Interface_Present, Set_Interface_Present): New subprograms.
- (Limited_Present, Set_Limited_Present): Available also in derived
- type definition nodes.
- (Protected_Present, Set_Protected_Present): Available also in
- record type definition and
- derived type definition nodes.
- (Synchronized_Present, Set_Synchronized_Present): New subprograms.
- (Task_Present, Set_Task_Present): New subprogram.
- (Task_Body_Procedure): Removed.
- (Set_Task_Body_Procedure): Removed.
- These subprogram have been removed because the attribute
- Task_Body_Procedure has been moved to the corresponding task type
- or task subtype entity to leave a field free to store the list
- of interfaces implemented by a task (for AI-345)
- Add Expression field to N_Raise_Statement node for Ada 2005 AI-361
- (Null_Exclusion_Present): Change to Flag11, to avoid conflict with
- expression flag Do_Range_Check
- (Exception_Junk): Change to Flag7 to accomodate above change
- (Box_Present, Default_Name, Specification, Set_Box_Present,
- Set_Default_Name, Set_Specification): Expand the expression
- "X in N_Formal_Subprogram_Declaration" into the corresponding
- two comparisons. Required to use the csinfo tool.
-
- * exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where
- "with string" given.
-
- * sem_ch11.adb (Analyze_Raise_Statement): Handle case where string
- expression given.
-
- * par-ch11.adb (P_Raise_Statement): Recognize with string expression
- in 2005 mode
-
- * exp_ch9.adb (Build_Task_Proc_Specification): Modified to use entity
- attribute Task_Body_Procedure rather than the old semantic field that
- was available in the task_type_declaration node.
-
- * par-ch12.adb (P_Formal_Type_Definition): Modified to handle formal
- interface type definitions.
- (P_Formal_Derived_Type_Definition): Modified to handle the list of
- interfaces.
-
- * par-ch9.adb (P_Task): Modified to handle the list of interfaces in a
- task type declaration.
- (P_Protected): Modified to handle the list of interfaces in a
- protected type declaration.
-
-2005-03-15 Doug Rupp <rupp@adacore.com>
- Vincent Celier <celier@adacore.com>
-
- * bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
- (Gen_Output_File_C): Likewise.
- (Gen_Main_C): Issue #include <stdlib.h> to avoid warning
-
-2005-03-15 Thomas Quinot <quinot@adacore.com>
-
- * checks.adb (Get_E_First_Or_Last): When the expression being retrieved
- is an N_Raise_Constraint_Error node, create a new copy of it without
- going through a call to Duplicate_Subexpr.
-
-2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
- Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- Nicolas Setton <setton@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- PR ada/19900
- PR ada/19408
- PR ada/19140
- PR ada/20255
- * decl.c (gnat_to_gnu_field): Reject aliased components with a
- representation clause that prescribes a size not equal to the rounded
- size of their types.
- (gnat_to_gnu_entity, case E_Component): Always look at
- Original_Record_Component if Present and not the entity.
- (gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
- of tagged extension types by not making field for components that are
- inside the parent.
- (gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
- (gnat_to_gnu_entity) <E_Variable>: Do not convert again the
- expression to the type of the object when the object is constant.
- Reverse defer_debug_incomplete_list before traversing it, so that trees
- are processed in the order at which they were added to the list. This
- order is important when using the stabs debug format.
- If we are deferring the output of debug information, also defer this
- output for a function return type.
- When adding fields to a record, prevent emitting debug information
- for incomplete records, emit the information only when the record is
- complete.
- (components_to_record): New parameter defer_debug.
- (gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
- (gnat_to_gnu_field_decl): New function.
- (substitution_list, annotate_rep): Call it.
- (gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
- (gnat_to_gnu_entity, case E_Record_Type): Likewise.
- No longer update discriminants to not be a COMPONENT_REF.
- (copy_alias_set): Strip padding from input type; also handle
- unconstrained arrays properly.
-
- * gigi.h (write_record_type_debug_info): New function.
- Convert to use ANSI-style prototypes. Remove unused
- declarations for emit_stack_check, elab_all_gnat and
- set_second_error_entity.
- (gnat_to_gnu_field_decl): New decl.
-
- * utils.c (write_record_type_debug_info): New function.
- (finish_record_type): Delegate generation of debug information to
- write_record_type_debug_info.
- (update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
- (update_pointer_to): Fix pasto.
- (convert) <UNION_TYPE>: Accept slight type variations when
- converting to an unchecked union type.
-
- * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
- replace the N_Freeze_Entity with a null statement.
-
- * freeze.adb (Freeze_Expression): If the freeze nodes are generated
- within a constrained subcomponent of an enclosing record, place the
- freeze nodes in the scope stack entry for the enclosing record.
- (Undelay_Type): New Subprogram.
- (Set_Small_Size): Pass T, the type to modify; all callers changed.
- (Freeze_Entity, Freeze_Record_Type): Change the way we handle types
- within records; allow them to have freeze nodes if their base types
- aren't frozen yet.
-
- * exp_util.adb (Remove_Side_Effects): Properly test for
- Expansion_Delayed and handle case when it's inside an
- N_Qualified_Expression.
-
- * sem_ch3.adb (Derived_Type_Declaration): New predicate
- Comes_From_Generic, to recognize accurately that the parent type in a
- derived type declaration can be traced back to a formal type, because
- it is one or is derived from one, or because its completion is derived
- from one.
- (Constrain_Component_Type): If component comes from source and has no
- explicit constraint, no need to constrain in in a subtype of the
- enclosing record.
- (Constrain_Access, Constrain_Array): Allow itypes to be delayed.
- Minor change to propagate Is_Ada_2005 flag
-
- * trans.c (gnat_to_gnu, case N_Aggregate): Verify that
- Expansion_Delayed is False.
- (assoc_to_constructor): Ignore fields that have a
- Corresponding_Discriminant.
- (gnat_to_gnu) <N_Return_Statement>: Restructure. If the
- function returns "by target", dereference the target pointer using the
- type of the actual return value.
- <all>: Be prepared for a null gnu_result.
- (processed_inline_subprograms): Check flag_really_no_inline
- instead of flag_no_inline.
- (set_second_error_entity): Remove unused function.
- (gnat_to_gnu, case N_Selected_Component): Call
- gnat_to_gnu_field_decl.
- (assoc_to_constructor): Likewise.
-
-2005-03-15 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * exp_pakd.adb (Create_Packed_Array_Type): Do not set
- Must_Be_Byte_Aligned for cases where we do not need to use a
- System.Pack_nn unit.
-
- * exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
- as procedures.
- Needed now that we do some processing for IN parameters as well. This
- may well fix some unrelated errors.
- (Expand_Call): Handle case of unaligned objects (in particular those
- that come from packed arrays).
- (Expand_Inlined_Call): If the subprogram is a renaming as body, and the
- renamed entity is an inherited operation, re-expand the call using the
- original operation, which is the one to call.
- Detect attempt to inline parameterless recursive subprogram.
- (Represented_As_Scalar): Fix to work properly with private types
- (Is_Possibly_Unaligned_Object): Major rewrite to get a much more
- accurate estimate. Yields True in far fewer cases than before,
- improving the quality of code that depends on this test.
-
- * exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
- over both visible and private declarations to remove them from tree,
- and mark subprograms declared in package as eliminated, to prevent
- spurious use in subsequent compilation of generic units in the context.
-
- * exp_util.ads: Minor cleanup in variable names
-
- * sem_eval.ads, sem_eval.adb: Minor reformatting
- (Compile_Time_Known_Bounds): New function
-
-2005-03-15 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch7.adb (Convert_View): Use base types of underlying types when
- determining whether an unchecked conversion is needed for the argument
- of an initialization call.
-
-2005-03-15 Ed Schonberg <schonberg@adacore.com>
-
- * exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type
- that appears in the instantiation rather than the internal subtype
- generated in the wrapper package, to avoid anomalies in gigi when the
- target is derived from a private type whose full view is an access type.
-
-2005-03-15 Robert Dewar <dewar@adacore.com>
-
- * exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
- not needed.
- Add documentation to replace the use of this flag
- Fix kludge for Maximum_Alignment on x86 so that it does not apply to
- the x86_64.
-
-2005-03-15 Thomas Quinot <quinot@adacore.com>
-
- * exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved
- here from exp_attr so it can be shared between exp_attr and exp_dist.
- (TSS_Names): Renamed from OK_TSS_Names. This array contains the list of
- all TSS names, not a subset thereof, and the previous name introduced
- an unnecessarily confusion that a distinction might exist between
- "OK" TSS names and some "not OK" TSS names.
-
-2005-03-15 Doug Rupp <rupp@adacore.com>
-
- * gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
- Command_Name.
-
-2005-03-15 Pascal Obry <obry@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/20226
- PR ada/20344
- * init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
- when IN_RTS. This is to work around a bootstrap path problem.
-
- * misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler)
- table and pass it to __gnat_install_SEH_handler().
- (gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
-
- * lang.opt: Fix specification of -fRTS=.
-
-2005-03-15 Doug Rupp <rupp@adacore.com>
- Bernard Banner <banner@adacore.com>
- Vincent Celier <celier@adacore.com>
- Arnaud Charlet <charlet@adacore.com>
-
- PR ada/6852
- This change works fine when gnatlib is built from the gcc directory,
- but does not work when using the libada Makefile, since GCC_FOR_TARGET
- is not passed to ada/Makefile.in, so more work is needed by a
- Makefile/configure expert.
-
- * Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library.
- set GMEM_LIB on ia64 linux to add optional support for gnatmem.
- Setup gnatlink switch -M for x86_64 linux, as it is already setup
- for Linux x86.
- (gnatlib-shared-default): Use GNATLIBCFLAGS as well.
- Run ranlib on libgccprefix.a
- Define PREFIX_OBJS for Darwin, to build libgccprefix.
- (ADA_INCLUDE_SRCS): Split Ada packages.
-
-2005-03-15 Robert Dewar <dewar@adacore.com>
-
- * Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
-
- * impunit.adb: Add GNAT.UTF_32
-
- * scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
-
- * widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
- now uses GNAT.UTF_32).
-
- * g-utf_32.ads, g-utf_32.adb: This is a new unit with full
- capabilities for categorizing characters using Unicode categories
-
-2005-03-15 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an
- instantiation that has been rewritten as a package body, retrieve spec
- to generate proper name for implicit_with_clause.
- (Install_Parents): Recognize a parent that is an instantiation but has
- been rewritten as a package declaration during analysis.
-
-2005-03-15 Javier Miranda <miranda@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Instantiate_Object): If the analysis of the actual
- parameter reported some error we immediately return. This improves the
- behaviour of the frontend in case of errors.
- (Install_Parent, Remove_Parent): Introduce new flag
- Parent_Unit_Visible, to preserve the proper visibility of the ultimate
- ancestor of a generic child unit, when the child is being instantiated.
- (Inline_Instance_Body): If we are compiling the private
- part or the body of a child unit, restore the proper visibility of the
- parents after compiling the instance body.
-
-2005-03-15 Ed Schonberg <schonberg@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- PR ada/15608
- * sem_util.adb (Get_Task_Body_Procedure): Type may be the completion
- of a private type, in which case it is underlying_type that denotes
- the proper task. Also modified to use the new entity attribute
- that is directly available in the task type and task subtype entities
- (Build_Actual_Subtype_Of_Component): Handle properly multidimensional
- arrays when other dimensions than the first are constrained by
- discriminants of an enclosing record.
- (Insert_Explicit_Dereference): If the prefix is an indexed component or
- a combination of indexed and selected components, find ultimate entity
- and generate the appropriate reference for it, to suppress spurious
- warnings.
- (Note_Possible_Modification): If an entity name has no entity, return.
- (Is_Variable): A function call never denotes a variable.
- (Requires_Transient_Scope): For record types, recurse only on
- components, not on internal subtypes that may have been generated for
- constrained components.
-
-2005-03-15 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked
- Eliminated as candidates for resolution. Both efficient, and avoids
- anomalies with operators declared in deleted code.
- (Process_Implicit_Dereference_Prefix): Use this procedure whenever
- expansion is disabled (as when compiling a generic) to prevent spurious
- warnings on prefixes of selected components.
-
-2005-03-15 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is
- attached to a list before checking whether it appears in the private
- declarations of the current package.
- (Make_Inequality_Operator): Insert declaration in proper declarative
- list rather than just setting the Parent field, so that
- Is_Private_Declaration can handle it properly.
-
-2005-03-15 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is
- a renaming a body, check that the renamed subprogram in not intrinsic.
- (Find_Direct_Name): If several use_visible entities hide
- each other, and the context is a predefined file compiled through
- rtsfind, keep only the entity that comes from a predefined file.
-
-2005-03-15 Geert Bosch <bosch@adacore.com>
-
- * s-fatgen.adb (Valid): Extend special exceptions to account for long
- long float padding to also cover AMD64 and IA64.
-
-2005-03-15 Gary Dismukes <dismukes@adacore.com>
-
- * s-imgwch.adb: Add with and use of Interfaces.
- (Img_Wide_Character): Change type of Val to Unsigned_16.
- (Img_Wide_Wide_Character): Change type of Val to Unsigned_32.
-
-2005-03-15 Matthew Gingell <gingell@adacore.com>
-
- * sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
-
-2005-03-15 Robert Dewar <dewar@adacore.com>
-
- * usage.adb: Add missing lines for -gnat95 and -gnat05 switches
-
- * sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
-
- * i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
-
-2005-03-15 Robert Dewar <dewar@adacore.com>
-
- * s-bitops.adb, s-bitops.ads,
- s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads,
- s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb,
- tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads,
- s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads,
- s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads,
- s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads,
- s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads,
- s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor
- reformatting.
-
-2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * utils2.c (build_binary_op): Fix typo.
-
-2005-03-15 Doug Rupp <rupp@adacore.com>
-
- * s-crtl.ads (popen,pclose): New imports.
-
-2005-03-15 Cyrille Comar <comar@adacore.com>
-
- * comperr.adb (Compiler_Abort): remove references to obsolete
- procedures in the bug boxes for various GNAT builds.
-
-2005-03-15 Vincent Celier <celier@adacore.com>
-
- * snames.ads, snames.adb: Save as Unix text file, not as DOS text file
-
-2005-03-15 Geert Bosch <bosch@adacore.com>
- Arnaud Charlet <charlet@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Cyrille Comar <comar@adacore.com>
- Sergey Rybin <rybin@adacore.com>
-
- * gnat_ugn.texi: Remove extended inline assembly example, as it was far
- too specific and long-winded to be appropriate for the GNAT User's
- Guide.
- Warn about use of GCC switches not documented in the GNAT User's Guide,
- as these may cause generated code to not conform to Ada semantics.
- Remove mention of -gdwarf-2 for sparc64, since this is now the default.
- Add documentation for -gnat95 and -gnat05 switches
- Remove paragraph documenting obsolete way to refer to third party
- libraries.
- Add a few references to Ada_05 that were missing.
- Update documentation on -gnatZ/-gnatL.
- Document limitation when using -m64 under Solaris.
- Change the "Name Casing" subsection of the pretty-printer section
- according to the changes in the dictionary processing.
-
- * gnat_rm.texi: Document the Ada_05 pragma.
- Section on record representation clauses describes the new more
- relaxed rules about placement of large packed bit array components.
- Add documentation of GNAT.UTF_32
-
-2005-03-12 Daniel Berlin <dberlin@dberlin.org>
-
- * misc.c (gnat_post_options): Turn off structural
- aliasing for now.
-
-2005-03-08 Laurent Guerby <laurent@guerby.net>
-
- * system-linux-sparc.ads: Fix typo in previous commit.
-
-2005-03-07 James A. Morrison <phython@gcc.gnu.org>
- Laurent Guerby <laurent@guerby.net>
-
- PR ada/20035
- * system-linux-sparc.ads: New.
- * Makefile.in: Add sparc linux entry.
-
-2005-02-27 Danny Smith <dannysmith@users.sourceforge.net>
-
- * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth
- parameters as unused.
-
-2005-02-26 Nathanael Nerode <neroden@gcc.gnu.org>
- Partial merge from libada-gnattools-branch:
-
- 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
- * Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags
- into code in gnattools/Makefile.in. Remove direct dependencies on
- stamp-tools by tools clauses.
- 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
- * config-lang.in: Add gnattools to $lang_dirs.
-
-2005-02-13 Andrew Pinski <pinskia@physics.uc.edu>
-
- PR ada/19942
- * utils.c (gnat_type_for_mode): Return null instead of ICE because
- we asked for an unknown mode.
-
-2005-02-12 Richard Henderson <rth@redhat.com>
-
- * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
- validate SCALAR_INT_MODE_P before calling gnat_type_for_size.
-
-2005-02-10 Andreas Jaeger <aj@suse.de>
-
- * init.c (__gnat_initialize): Mark parameter as unused.
-
-2005-02-09 Doug Rupp <rupp@adacore.com>
-
- * g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
- * g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
-
-2005-02-09 Doug Rupp <rupp@adacore.com>
-
- * gnatchop.adb (dup, dup2),
- g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
-
- * gnatlbr.adb (mkdir),
- mlib-tgt-vms-ia64.adb (popen, plose): Import with decc$ prefix.
-
- * s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
-
-2005-02-09 Doug Rupp <rupp@adacore.com>
-
- * s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
-
-2005-02-09 Robert Dewar <dewar@adacore.com>
- Thomas Quinot <quinot@adacore.com>
- Javier Miranda <miranda@adacore.com>
- Pascal Obry <obry@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Doug Rupp <rupp@adacore.com>
- Gary Dismukes <dismukes@adacore.com>
- Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * g-zstspl.ads: New file.
-
- * a-chahan.ads, a-chahan.adb: Add declarations from AI-285
-
- * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
- Ada 95 mode
- Add definition of Wide_Wide_Space for AI-285
-
- * impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
- interface (to support Ada 95 and Ada 2005 units).
- Add Unbounded_IO files
- Add entries for Wide_Wide packages for AI-285
- Add list of containers packages to Ada 2005 unit list
-
- * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
- support new Unbounded_IO package cleanly.
-
- * g-utf_32.ads, g-utf_32.adb: New files.
-
- * Makefile.rtl: Add entry for g-utf_32
- Add new files for Unbounded_IO
- Adjust make file for new AI-285 wide wide packages
- Add AI-302 containers to the run time.
-
- * a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
- a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
- subprograms for AI-301.
-
- * a-stwiun.adb, a-stwiun.ads: Minor reformatting.
-
- * a-stunau.ads: Minor comment correction
-
- * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
- etc.
- Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
- (Check_RPC): Update to match changes in expanded code.
- Clean up unused entity.
-
- * exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
- was not taken into account.
- This includes proper initialization with Normalize_Scalars.
- (Get_Simple_Init_Val): Major rewrite for initialize scalars and
- normalize scalars cases (particularly the latter) to do a better job
- of finding invalid representations.
-
- * s-scaval.ads, s-scaval.adb: Add values for zero invalid values
-
- * s-strops.ads, s-strops.adb: Remove string normalize routines, never
- used
-
- * exp_dist.adb: Add support for wide wide character type
- (Expand_Receiving_Stubs_Bodies): For a package declaration that has a
- private part, generate stub bodies at the end of the private part,
- not the visible part.
- (Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
- PolyORB support.
- (Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
- generic wrapper to execute final processing after completing the
- expansion of the RPC receiver for an RACW.
-
- * snames.h, snames.ads, snames.adb: Add definitions for wide_wide
- packages and attributes.
- (Preset_Names): Addition of the new reserved words of Ada 2005,
- that is interface, overriding and synchronized.
- (Get_Pragma_Id): Give support to the use of the new reserved word
- "interface" as a pragma name.
- (Is_Pragma_Name): Give support to the use of the new reserved word
- "interface" as a pragma name.
- (Preset_Names): Add stream_size string for the Stream_Size Ada2005
- attribute implementation.
-
- * exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
- checks to entities that are output parameters of Asm operations.
- Handle the Stream_Size attribute.
- Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width
-
- * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
-
- * sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
- for second parameter being 0.0.
- Add support for wide wide character type.
- (Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.
-
- * s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
- s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
- s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
- s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
- for wide wide character cases.
-
- * cstand.adb: Create entities for Wide_Wide_Character and
- Wide_Wide_String.
-
- * i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
- accordance with AI-258.
- Add new declarations for 16/32 bit C character types (Part of AI285)
-
- * einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
- (Obsolescent_Warning): New field
- (Rep_Clause): New local subprogram used to share code. Returns the rep
- clause for which the name is given in parameter.
- (Has_Stream_Size_Clause): New routine.
- (Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
- (Address_Clause): Implementation is now using Rep_Clause.
- (Alignment_Clause): Idem.
- (Size_Clause): Idem.
-
- * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
- entity in non-Ada 2005 mode and generate warning.
-
- * par-prag.adb: Add handling of one argument form for pragma Ada_05.
- (Prag): Code cleanup. Remove old gnat pragma "overriding"
-
- * sem_prag.adb: Add handling of one argument form for pragma Ada_05
- (Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
- on the named unit if the pragma is not in the current compilation unit,
- so that elaboration calls in the current unit can set up an elaboration
- dependency on the named unit, as needed.
- (Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
- subprogram as well as for subprograms declared within a package.
- (Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
- pragma overriding.
-
- * krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
- to z) to avoid some instances of duplication for Wide_Wide packages.
-
- * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
- characters.
-
- * scn.adb: Char_Literal_Value field is now a Uint
-
- * scng.adb: Significant rewrite to handle new Ada 2005 features
- allowing wide and wide wide characters in program text, e.g. for
- identifiers, as described in AI-285.
- (Set_Reserved): New procedure, makes setting up keywords cleaner.
- (Initialize_Scanner): Register the new reserved words of Ada 2005.
- (Scan): Give support to the new reserved words.
-
- * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
- warning notifying that interface, overriding, and synchronized are
- new reserved words.
- (P_Pragma): Allow the use of the new reserved word "interface" as
- a pragma name.
-
- * gnatls.adb, gnatbind.adb,
- ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
- identifiers named "interface" to "SAL_Interface".
-
- * bindgen.adb (Gen_Main_Ada): Add support for the new SEH
- (Structured Exception handling).
- (Gen_Main_C): Idem.
-
- * bindgen.adb:
- (Gen_Main_Ada): Set the default exit code if specified.
- (Gen_Main_C): Likewise.
- Part of *DC20-006.
- (Gen_Output_File_C): Remove redundant output of gnat_exit_status.
- Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
-
- * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
- new -Xnnn switch.
-
- * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
- has a collision with the new Ada 2005 "interface" reserved word.
-
- * par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
- generate a warning notifying that interface, overriding, and
- synchronized are new reserved words.
-
- * scans.ads (Token_Type): Addition of the tokens corresponding to the
- new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
- and Tok_Synchronized.
-
- * sem_res.adb (Resolve_Actuals): Change error messages to refer to
- "dispatching" rather than "primitive" operations, since dispatching
- calls are now allowed to abstract formal subprograms (which are not
- primitive).
- Char_Literal_Value field is now a Uint
- (Resolve_Slice): If the prefix is an access to an unconstrained array,
- compute the actual subtype of the designated object to impose the proper
- index constraints.
- (Resolve_Selected_Component): Do not insert an access check if the
- prefix is an access type: such a node is expanded into an explicit
- dereference, on which the access check is performed anyway. Removes
- expensive duplicate checks.
- (Resolve_Call): Use new flag Is_Obsolescent and field
- Obsolescent_Warning so that pragma Obsolescent works on library
- subprograms.
- Add support for wide wide character type
- (Resolve_Allocator): Replace the error message on wrong null-exclusion
- value by a warning message.
- (Resolve_Type_Conversion): If the mixed-mode expression is interpreted
- as fixed-point, and one of the operands is non-static and universal, it
- can only be an illegal exponentiation operation, in which case there is
- no real value to retrieve.
-
- * exp_strm.adb: Add support for wide wide character type
- (Build_Elementary_Input_Call): Compute the size of the stream element by
- querying the rep chain to find the Stream_Attribute attribute value.
- (Build_Elementary_Write_Call): Ditto.
-
- * sem_aggr.adb: Char_Literal_Value field is now a Uint
- Add support for wide wide character type
- Replace the error messages on wrong null-exclusion value by warnings
- as described in Ada 2005.
- (Resolve_Extension_Aggregate): Document the fact that the error
- message on class-wide expressions in extensions aggregates.
-
- * sem_case.adb: Add support for wide wide character type
-
- * sem_ch13.adb: Add support for wide wide character type
- (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
-
- * sem_ch3.adb: Add support for wide wide character type
- (Process_Subtype): If constraint is illegal for the type, set Ekind of
- now-useless Itype, to prevent cascaded errors on a compiler built
- without -gnatp.
-
- * sem_ch8.adb: Add with and use of Sem_Disp.
- (Analyze_Subprogram_Renaming): Replace unclean uses of
- Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
- of Corresponding_Spec to Empty).
- (Attribute_Renaming): Replace use of Corresponding_Spec with
- Corresponding_ Formal_Spec and simplify condition.
- (Use_One_Package): Check that scope of homonym of identifier is defined,
- before checking whether it is a wrapper package.
- Add support for wide wide character type
-
- * sem_eval.adb: Add support for wide wide character type.
- (Eval_Arithmetic_Op): Check for compile time known signed integer
- overflow in the non-static case.
- (Subtypes_Statically_Match): A formal scalar type and its base type do
- not statically match.
-
- * sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
- "not in" for test of N_Formal_Subprogram_Declaration (which is now a
- subtype).
- (Unit_Declaration_Node): Ditto.
- (Is_Variable_Prefix): For the case of an indexed component whose prefix
- has a packed array type, the prefix has been rewritten into a type
- conversion. Determine variable-ness from the converted expression.
- Handle wide wide character cases.
-
- * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
-
- * stringt.ads, stringt.adb: Handle full UTF-32 range.
- Remove ["0A"] from comment, since it can look like a line terminator.
- Currently we don't permit this, but this is under discussion by the
- ARG, and it is easy enough to use a different example.
-
- * s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
- handling UTF-32 encoding for wide wide character.
- Implement new brackets coding ["hhhhhhhh"]
- Add UTF-8 encodings for full UTF-32 range
-
- * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
-
- * types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
- bit range Add full UTF-32 support.
- (RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
- notify that constraint error will be raised at run-time
- because a null value is assigned to a null-excluding object.
- Remove some obsolete declarations and make Char_Code
- unsigned.
-
- * a-except.adb (Rcheck_30): New subprogram. Addition of the message
- corresponding to CE_Null_Not_Allowed, and adjust the output of all the
- Rcheck subprograms.
-
- * checks.adb (Check_Null_Not_Allowed): Replace the error message on
- wrong null-exclusion value by a warning message.
- (Enable_Range_Check): Do range check if the prefix is an
- explicit dereference whose designated object is an unconstrained array.
- Current algorithm for removing duplicate checks is over-eager in this
- case.
-
- * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
- null-exclusion value by a warning message
-
- * atree.h, atree.ads, atree.adb: Remove Char_Code field support
- completely. Add support for Uint2 field
-
- sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
- exp_prag.adb: Char_Literal_Value field is now a Uint.
-
- * exp_util.adb (Insert_Actions): Replace
- N_Formal_Subprogram_Declaration by
- N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
- Char_Literal_Value field is now a Uint.
-
- * sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
- defined for subprogram renaming declarations. When set, the field
- indicates the defining entity of a corresponding formal subprogram
- when the renaming corresponds to a formal subprogram association in an
- instantiation.
- (Set_Corresponding_Formal_Spec): New procedure to return
- Corresponding_Formal_Spec field.
- Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
- (which is now a subtype).
- Char_Literal_Value field is now a Uint
-
- * exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
- pointer to the base of the dispatch table.
- Minor changes to comments.
- (Controlling_Type): New function for determining the tagged type
- associated with a tagged primitive subprogram.
- (Expand_Dispatching_Call): Add support for a controlling actual that is
- directly a value of type Ada.Tag rather than a tagged object.
-
- * i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
- describing the new layout.
- (Dispatch_Table): The expander computes the actual array size, allocates
- the Dispatch_Table record accordingly, and generates code that displaces
- the base of the record after the Typeinfo_Ptr component. The access to
- these components is done by means of local functions.
- (Offset_To_Top): New function.
- (Typeinfo_Ptr): New function.
- (Get_TSD): Modified to access the new position of the TSD.
- (Set_TSD): Modified to save the TSD in its new position.
-
- * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
- case of formal abstract subprograms. Add check and message for -gnat05.
- Update comments.
-
- * sem_ch12.adb: Add with and use for Sem_Disp.
- (Analyze_Associations): Minor change from "=" to "in" for use of
- N_Formal_Subtype_Declaration (which is now a subtype).
- (Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
- N_Formal_Subtype_Declaration (which is now a subtype).
- (Analyze_Formal_Subprogram): Add handling for
- N_Formal_Abstract_Subprogram, marking the formal as abstract and
- dispatching, setting the controlling status of the formal parameters
- and result, and issuing an error if there is no controlling type for
- the formal subprogram.
- (Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
- which is an unclean use of that field, we set the new field
- Corresponding_Formal_Spec to make the formal subprogram available to
- processing in Analyze_Subprogram_Declaration.
- (Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
- Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
- Constrained, so that it is is does not statically match its anonymous
- base type.
-
- * sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
- abstract formal subprograms in error check for functions returning
- abstract types. Set scope of new designator for
- a parameterless subprogram, so that it is available when checking the
- body for nested subprograms, before full analysis of said body.
- (Analyze_Subprogram_Body): Warn on inlining bodies with nested
- subprogram only if inner one comes from source.
- (Analyze_Function_Call): If the call is given in object notation, the
- analysis of the name rewrites the node and analyzes it with the proper
- argument list. After analyzing the name, if the call has been rewritten
- and the result type is set, no further analysis is needed.
- (Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
- mark in function specification, in a context where the formals are
- visible and hide outer homographs.
-
- * sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
- as the tagged type for the cases of abstract formal subprograms and
- renamings of those. Clean up spec comments.
- (Check_Dispatching_Context): Add error message to indicate "abstract
- procedure", covering the case of a call to a formal abstract procedure
- that has statically tagged operands.
- (Check_Dispatching_Call): Check for the case of an actual given by
- a tag-indeterminate function call whose type is an ancestor of the
- containing call's associated tagged type. This situation can occur
- for inherited primitives with function defaults. In this case we
- use the tagged type's tag directly as the controlling argument for
- the calls.
- (Expand_Call): Name change on call to Expand_Dispatch_Call.
-
- * sprint.adb (Sprint_Node_Actual): Split
- N_Formal_Subprogram_Declaration into two alternatives for the new
- cases N_Formal_Abstract_Subprogram_Declaration and
- N_Formal_Concrete_Subprogram_Declaration.
- Char_Literal_Value field is now a Uint.
-
- * trans.c: Get rid of junk Uint2 reference.
- Char_Literal_Value field is now a Uint.
- (gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
- (gigi): Correct third arg to gimplify_body.
-
- * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
- (TYPE_LANG_FLAG_0): Check for record or union.
-
- * treepr.adb: Char_Literal_Value field is now a Uint
-
- * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
- UI_From_CC.
-
- * widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
- Add full UTF-32 support
- Char_Code is now 32 bits
-
- * sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
- wide character UTF_32 line terminators.
- Initialize Main_Source_File to avoid error when no main
- source is loaded.
-
- * errout.adb (Finalize): Do not check Num_SRef_Pragmas
- (Main_Source_File) when no main source has been loaded, to avoid
- potential crash.
-
-2005-02-09 Robert Dewar <dewar@adacore.com>
-
- * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
- Fix name of Set routine
-
- * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
- fixed packages.
-
- * a-stwise.ads, a-stwise.adb, a-stwifi.ads, a-stwifi.adb,
- a-strsea.ads, a-strsea.adb: Add new index functions from AI-301 to
- fixed packages
-
- * a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
- forms of Get_Line subprograms for AI-301.
-
- * a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
- a-wtedit.adb, a-wtedit.adb, a-wtedit.ads, a-wttest.adb,
- a-wttest.ads, a-strmap.ads, a-strmap.adb, a-stwima.adb,
- a-stwima.ads: Minor reformatting.
-
-2005-02-09 Doug Rupp <rupp@adacore.com>
- Thomas Quinot <quinot@adacore.com>
-
- * adaint.c, adaint.h
- [VMS] (to_ptr32): New function.
- (MAYBE_TO_PTR32): New macro.
- (__gnat_portable_spawn,__gnat_portable_no_block_spawn): Adjust argv
- for pointer size.
- [VMS] (descriptor_s, ile_s): Use __char_ptr32 for adr field.
- [VMS] (#define fork()): Remove since unneccessary.
- (__gnat_set_close_on_exec): New routine to support
- GNAT.OS_Lib.Set_Close_On_Exec.
-
- * g-expect.adb (Set_Up_Communications): Mark the pipe descriptors for
- the parent side as close-on-exec so that they are not inherited by the
- child.
-
- * g-os_lib.ads, g-os_lib.adb (Set_Close_On_Exec): New subprogram to
- set or clear the FD_CLOEXEC flag on a file descriptor.
-
-2005-02-09 Eric Botcazou <ebotcazou@adacore.com>
- Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- PR ada/19386
- * decl.c:
- (gnat_to_gnu_field): Do not necessarily invoke make_packable_type
- on the field if Pragma Component_Alignment (Storage_Unit).
- (gnat_to_gnu_entity, case object): Do not treat a renaming that has
- side-effects as if it were a constant; also make SAVE_EXPR to protect
- side-effects.
- (gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
- UNION_TYPE.
- (make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
- (components_to_record): Test it.
- Fix improper usage of REFERENCE_CLASS_P.
-
- * utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
- RECORD_TYPE.
-
- * utils2.c: Minor reformatting.
-
- * utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
- handle other cases like RECORD_TYPE.
-
- * utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
-
-2005-02-09 Ed Schonberg <schonberg@adacore.com>
-
- * exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
- component of an array of arrays in an assignment context, and the
- aggregate has component associations that require sliding on
- assignment, force reanalysis of the aggregate to generate a temporary
- before the assignment.
- (Must_Slide): Make global to the package, for use in Gen_Assign.
-
-2005-02-09 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch4.adb (Expand_Composite_Equality): If a component is an
- unchecked union with no inferable discriminants, return a
- Raise_Program_Error node, rather than inserting it at the point the
- type is frozen.
- (Expand_Record_Equality, Component_Equality): Handle properly the case
- where some subcomponent is an unchecked union whose generated equality
- code raises program error.
-
-2005-02-09 Doug Rupp <rupp@adacore.com>
-
- * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
- [VMS] (#define exit hack): Remove.
-
-2005-02-09 Pascal Obry <obry@adacore.com>
- Arnaud Charlet <charlet@adacore.com>
-
- * init.c (__gnat_initialize): Add a new parameter eh which contains the
- address of the exception registration. The Win32 version of this
- routine calls __gnat_install_SEH_handler() to initialize the SEH
- (Structured Exception Handling) handler.
- (__gnat_error_handler) [Win32]: Removed. Not needed as we use
- SEH (Structured Exception Handling) now.
- (__gnat_install_handler) [Win32]: Nothing to do now as we use SEH.
- (__gnat_initialize for ppc-vxworks): Adjust comments and the
- preprocessor condition protecting the call to the extra eh setup
- subprogram, which is only available for the ppc target.
- (__gnat_clear_exception_count): replaced reference to
- variable taskIdCurrent by call to taskIdSelf(), cleaner.
-
- * seh_init.c: New file.
-
- * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.
- (GNATBIND_OBJS): Idem.
-
- * misc.c (gnat_parse_file): Update call to __gnat_initialize. This
- routine takes a new parameter (a pointer to the exception registration
- for the SEH (Structured Exception Handling) support.
-
- * raise.h: (__gnat_install_SEH_handler): New prototype.
- Update copyright notice.
-
- * s-tassta.adb (Task_Wrapper): Declare the exception registration
- record and initialize it by calling __gnat_install_SEH_handler.
-
-2005-02-09 Vincent Celier <celier@adacore.com>
-
- * make.adb (Gnatmake): Do not fail when the main project has no object
- directory.
-
-2005-02-09 Doug Rupp <rupp@adacore.com>
-
- * Makefile.in [VMS] (LN,LN_S): Define as cp -p
- Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
- [VMS]: Add translations for g-enblsp.adb.
-
- * s-asthan-vms.adb: Removed.
- * s-asthan-vms-alpha.adb: Added.
-
-2005-02-09 Pascal Obry <obry@adacore.com>
-
- * Makefile.in (LIBGNAT_SRCS): Add seh_init.c.
- (LIBGNAT_OBJS): Add seh_init.o.
-
-2005-02-09 Arnaud Charlet <charlet@adacore.com>
-
- PR ada/16592
- * Makefile.in: Link all gnat tools with -static-libgcc, since
- -shared-libgcc is now used by default on some systems (e.g. linux with
- recent binutils).
- Remove references to Makefile.prolog/generic, no longer used.
-
-2005-02-09 Vincent Celier <celier@adacore.com>
-
- * prj-makr.adb (Process_Directory): Put file name in canonical case
- before matching against the patterns.
- If gnatname has been invoked as <prefix>-gnatname
- then invoke the compiler as <prefix>-gcc, not just "gcc".
-
-2005-02-09 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
- with expansion disabled. The actual subtype is needed among other
- places when the selected component appears in the context of a loop
- bound, and denotes a packed array.
- (Operator_Check): Always use the first subtype in the
- error message, to avoid the appearance of internal base types.
- (Transform_Object_Operation): Copy each actual in full
- to the parameter associations of the constructed call, rather than
- using the shallow copy mechanism of New_Copy_List. This ensures that
- the chaining of named associations is done properly.
- (Complete_Object_Operation): Rewrite node, rather than
- replacing it, so that we can trace back to the original selected
- component.
-
- * sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
- and calls that use object notation, if the called function is not
- declared in a withed unit, place the elaboration constraint on the
- unit in the context that makes the function accessible.
- (Check_Elab_Subtype_Declaration): Check whether a subtype declaration
- imposes an elaboration constraint between two packages.
-
-2005-02-09 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch7.adb (Uninstall_Declarations): Exchange full and private
- views of a private type after handling its private dependents, to
- maintain proper stack discipline between entry and exit from the
- package.
-
-2005-02-09 Cyrille Comar <comar@adacore.com>
-
- * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
- Minor reformatting.
-
-2005-02-09 Arnaud Charlet <charlet@adacore.com>
-
- * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
- fields for foreign threads.
-
-2005-02-09 Doug Rupp <rupp@adacore.com>
-
- * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
- recursion warnings when compiled with -gnatdm.
-
-2005-02-09 Robert Dewar <dewar@adacore.com>
-
- * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
- Slight fix to documentation of -gnaty with no parameters
-
- * xr_tabls.ads: Add ??? comment for missing overall comment
-
- * xsinfo.adb: Make default file name be sinfo.h, since this is what
- we now use by default.
-
- * xsnames.adb: Adjust end of file test to look for five space followed
- by '#' instead of six spaces. The format of xsnames.adb was modified
- in the last update.
-
- * a-numeri.ads: Add reference to AI-388 for greek letter pi
- identifier.
-
- * clean.adb: Minor reformatting.
-
- * gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
- gnatname.adb: Minor reformatting
- Add 2005 to copyright output when utility is run
-
- * csets.adb: Eliminate obsolete comment
-
- * debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
- Update comments.
-
- * sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.
-
-2005-02-09 Sergey Rybin <rybin@adacore.com>
-
- * gnat_ugn.texi: Add to the gnatpp section the paragraph describing
- the difference between compact and incompact layout and add the record
- representation clause to the example illustrating different layouts.
- Add the description of '-A5' gnatpp option ("align 'AT' keywords in
- component clauses").
-
-2005-02-09 Florian Villoing <villoing@adacore.com>
-
- * gnat_ugn.texi: Fix typos.
- Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
- @file.
- Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
- in the generated documentation.
-
-2005-02-09 Arnaud Charlet <charlet@adacore.com>
-
- * gnat_ugn.texi: Remove all mentions of FSU threads, which are no
- longer supported.
- Update linker wrapper when linking with non GNU C++.
-
-2005-02-09 Pascal Obry <obry@adacore.com>
-
- * gnat_ugn.texi:
- Document the procedure to debug the DllMain routine on Windows.
- Add note about -funwind-tables and mixed Ada and C/C++ programming in
- ZCX mode.
- Document new BIND qualifer /RETURN_CODES=VMS.
-
-2005-02-09 Ben Brosgol <brosgol@adacore.com>
-
- * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
- Edited gnatmetric chapter
-
-2005-02-09 Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi:
- Changes to document new wide wide character support
- For AI-285
- Update documentation on Normalize_Scalars and Initialize_Scalars
-
-2005-02-09 Pascal Obry <obry@adacore.com>
-
- * s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.
-
-2005-02-09 Jose Ruiz <ruiz@adacore.com>
-
- * s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
- from the VxWorks kernel) that is needed for getting the active
- priority of the different tasks.
-
- * s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
- Use a pragma Elaborate_Body in the spec file instead.
- Noticed by code reading.
-
-2005-02-09 Thomas Quinot <quinot@adacore.com>
-
- * exp_util.ads: Minor correction in comment.
-
-2005-02-09 Arnaud Charlet <charlet@adacore.com>
-
- * s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
- since this procedure is now too complex to be worth inlining.
-
-2005-02-09 Richard Henderson <rth@redhat.com>
-
- * utils.c (gnat_define_builtin): Remove.
- (gnat_install_builtins): Use build_common_builtin_nodes.
-
-2005-02-09 Arnaud Charlet <charlet@adacore.com>
-
- * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
- a-crbtgk.adb, a-crbltr.ads, a-coprnu.ads, a-coprnu.adb,
- a-coorse.ads, a-coorse.adb, a-convec.ads, a-convec.adb,
- a-contai.ads, a-coinve.ads, a-coinve.adb, a-cohata.ads,
- a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb,
- a-cihama.ads, a-cihama.adb, a-cidlli.ads, a-cidlli.adb,
- a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgcaso.adb,
- a-cgarso.ads, a-cgarso.adb, a-cdlili.ads, a-cdlili.adb,
- a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb,
- a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
- a-coorma.ads, a-swunha.ads, a-stunha.ads, a-ciormu.ads,
- a-coormu.ads, a-rbtgso.ads, a-swunha.adb, a-stunha.adb,
- a-cgaaso.ads, a-ciorma.adb, a-coorma.adb, a-secain.adb,
- a-secain.ads, a-slcain.ads, a-slcain.adb, a-shcain.ads,
- a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads,
- a-stwiha.adb, a-strhas.ads, a-strhas.adb, a-chzla1.ads,
- a-chzla9.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
- a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads,
- a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzfix.ads,
- a-stzhas.adb, a-stzhas.ads, a-stzmap.adb, a-stzmap.ads,
- a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads,
- a-stzunb.adb, a-stzunb.ads, a-swunau.adb, a-swunau.ads,
- a-szmzco.ads, a-szunau.adb, a-szunau.ads, a-szunha.adb,
- a-szunha.ads, a-szuzti.adb, a-szuzti.ads, a-tiunio.ads,
- a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb,
- a-ztcoio.ads, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb,
- a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
- a-ztedit.ads, a-ztenau.adb, a-ztenau.ads, a-ztenio.adb,
- a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb,
- a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb,
- a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
- a-ztinau.ads, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb,
- a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb,
- a-zttest.ads, a-zzunio.ads: New files. Part of new Ada 2005
- library.
-
-2005-01-27 Laurent Guerby <laurent@guerby.net>
-
- * Makefile.in: Fix a-intnam.ads from previous commit,
- add 2005 to copyright.
- * a-intman-rtems.ads: Renamed to...
- * a-intnam-rtems.ads:
-
-2005-01-27 Laurent Guerby <laurent@guerby.net>
-
- * Makefile.in: Rename GNAT RTEMS specific files.
- * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,
- 5rosinte.ads, 5rparame.adb: Replaced by files below.
- * s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
- s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
-
-2005-01-27 Joel Sherrill <joel.sherrill@oarcorp.com>
- Laurent Guerby <laurent@guerby.net>
-
- PR ada/19488
- * 5rosinte.ads: Add No_Key constant.
- * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
- * gsocket.h: Do not include <sys/socket.h> with RTEMS either.
-
-2005-01-26 Laurent Guerby <laurent@guerby.net>
-
- PR ada/19414
- * i-cobol.adb (Valid_Numeric): Handle zero length case.
-
-2005-01-20 Richard Henderson <rth@redhat.com>
-
- * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
- a-intnam-linux.ads and system-linux-alpha.ads.
- * a-intnam-linux-alpha.ads: Remove file.
- * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
- * system-linux-alpha.ads: New file.
-
-2005-01-18 Jakub Jelinek <jakub@redhat.com>
-
- PR ada/13470
- * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
- set to the new string.
-
-2005-01-18 Toon Moene <toon@moene.indiv.nluug.nl>
-
- * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
- to True.
-
-2005-01-18 Richard Henderson <rth@redhat.com>
-
- * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
- THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
- for alpha-linux.
- * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
-
-2005-01-14 Andrew Pinski <pinskia@physics.uc.edu>
-
- * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
- (GCC_ZCX_Support): Likewise.
-
-2005-01-11 Bastian Blank <waldi@debian.org>
-
- * system-linux-s390.ads: Define Preallocated_Stacks.
- * system-linux-s390x.ads: Likewise.
-
-2005-01-04 Arnaud Charlet <charlet@adacore.com>
-
- * gnat_ugn.texi: Fix texi errors with null variables.
-
-2005-01-03 Thomas Quinot <quinot@adacore.com>
-
- * gen-soccon.c: New utility program to generate g-soccon.ads
- automatically.
-
- * socket.c, gsocket.h: Split inclusion of system header files into a
- gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
-
- * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
- g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
- g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
- g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
- should not be edited by hand anymore, but should be regenerated using
- gen-soccon.
-
-2005-01-03 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
- Vincent Celier <celier@adacore.com>
-
- * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
- on/off, since this is an obsolescent feature, for which we now generate
- a warning.
-
- * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
- warning mode is set and obsolescent usage of this attribute occurs.
- (Resolve_Access, case 'Access): Note that GNAT uses the context type to
- disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
- predates, and partly motivates, the adoption of the AI.
- Implement new Ada 2005 attribute Mod
-
- * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
- attribute Mod.
-
- * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
-
- * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
- pragma restrictions.
- New entry for Ada 2005 attribute Mod.
-
- * par-prag.adb:
- Add recognition of new pragma Restrictions No_Dependence
- Recognize restriction No_Obsolescent_Features at parse time
-
- * bcheck.adb: Add circuitry for checking for consistency of
- No_Dependence restrictions.
-
- * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
- restrictions.
-
- * restrict.ads, restrict.adb: Add subprograms to deal with
- No_Dependence restrictions.
-
- * rtsfind.adb: Check that implicit with's do not violate No_Dependence
- restrictions.
-
- * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
- sem_attr.adb: Add check for new restriction No_Obsolescent_Features
-
- * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
- dummy parameter to scng instantiation.
- Needed for new restriction No_Obsolescent_Features
-
- * scn.adb: (Obsolescent_Check): New procedure
- Needed for new restriction No_Obsolescent_Features
-
- * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
- specified by AI-285, needed for implementation of AI-388 (adding greek
- pi to Ada.Numerics).
- Add new generic formal to scng, needed for new restriction
- No_Obsolescent_Features.
-
- * s-rident.ads: Add new restriction No_Obsolescent_Features.
-
- * ali.ads, ali.adb: Adjustments for reading new No_Dependence
- restrictions lines.
- (Scan_ALI): When finding an unexpected character on an R line, raise
- exception Bad_R_Line, instead of calling Fatal_Error, so that, when
- Ignore_Errors is True, default restrictions are set and scanning of the
- ALI file continues with the next line. Also, when Bad_R_Line is raised
- and Ignore_Errors is True, skip to the end of le line.
-
- * sem_ch10.adb: Check that explicit with's do not violate
- No_Dependence restrictions.
- (Install_Withed_Unit): Add code to implement AI-377 and diagnose
- illegal context clauses containing child units of instance.
-
- * sem_prag.adb: Processing and checking for new No_Dependence
- restrictions.
- (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
- analyze and check the External argument.
-
- * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
-
-2005-01-03 Robert Dewar <dewar@adacore.com>
-
- * atree.adb: Add a fifth component to entities
- This allows us to add 32 flags and four new fields
-
- * atree.ads: Add a fifth component to entities
- This allows us to add 32 flags and four new fields
-
- * einfo.ads, einfo.adb: Document new fields and new flags now available
- Add routines for printing new fields
-
- * treepr.adb: Call routines to print out additional fields if present
-
-2005-01-03 Arnaud Charlet <charlet@adacore.com>
-
- * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
- gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
-
- * Makefile.in: Add support to build shared Ada libraries on solaris x86
- Remove gpr2make, replaced by gprmake.
- Remove references to gnatmem and libaddr2line.
- Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
- (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
- Add support for specialized version of Ada.Numerics.Aux for Darwin: use
- a-numaux-darwin.ads and a-numaux-darwin.adb
- Enable mlib-tgt-lynxos.adb on lynxos.
-
- * Make-lang.in: Remove rules for gpr2make.
- When generating sdefault.adb, do not call Relocate_Path
- on S3 for function Target_Name, as it is not a path.
- Remove references to gnatmem and libaddr2line.
-
- * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
- files.
-
-2005-01-03 Samuel Tardieu <tardieu@adacore.com>
-
- * checks.adb (Apply_Alignment_Check): Generate a warning if an object
- address is incompatible with its base type alignment constraints when
- this can be decided statically.
-
-2005-01-03 Olivier Hainque <hainque@adacore.com>
-
- * decl.c (compatible_signatures_p): New function. The intended purpose
- is to check if two function signatures for a call-site and a callee are
- compatible enough for the call to be valid. The underlying purpose is
- to check if a call to a mapped builtin is using the right interface.
- The current code actually does not check antyhing - this a placeholder
- for future refinements.
- (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
- builtin calls for convention Intrinsic.
-
- * gigi.h (builtin_decl_for): Declare (new function).
-
- * utils.c (gnat_install_builtins): Install the target specific builtins.
- (builtin_decl_for): New function, provide a dummy body for now.
-
-2005-01-03 Geert Bosch <bosch@adacore.com>
-
- * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
- (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
- (Pred): Implement in terms of Succ.
-
- * trans.c (convert_with_check): Reimplement conversion of float to
- integer.
-
-2005-01-03 Ed Schonberg <schonberg@adacore.com>
- Vincent Celier <celier@adacore.com>
-
- * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
- bounds can be negative, and must be declared Int, not Nat.
-
- * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
- array is checked after using the index in the array.
-
- * makegpr.adb (Add_Switches): Check if there is a package for the
- processor. If there is no package, do not look for switches.
-
-2005-01-03 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
- generation of predefined stream operations (specs and bodies) should
- proceed. Under various restrictions these subprograms must not be
- generated.
-
-2005-01-03 Thomas Quinot <quinot@adacore.com>
-
- * exp_dist.adb:
- Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
- amount of PCS-specific code in RACW stubs generation.
- (Copy_Specification): Set Etype on copied formal parameter entities, as
- this information is needed for PolyORB stubs generation.
- (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
- variable Dynamic_Async.
- (Build_Subprogram_Receiving_Stubs): Make PCS-specific
- (Build_RPC_Receiver_Specification): Make generic again, as recent
- changes have allowed RPC receivers to have the same profile for both
- variants of the PCS.
- Reorganise RPC receiver generation to reduce differences between the
- structure of GARLIC and PolyORB RPC receivers.
- (Add_Receiving_Stubs_To_Declarations): Make this subprogram
- PCS-specific.
- Simplify elaboration code for RCI packages.
-
- * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
- generation to reduce differences between the structure of GARLIC and
- PolyORB RPC receivers.
-
- * s-stratt.adb: Fix typo in comment.
-
-2005-01-03 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
- copied from Make_Init_Call).
-
- * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
- reads and assignments on a temporary variable declared with appropriate
- discriminants.
-
-2005-01-03 Robert Dewar <dewar@adacore.com>
-
- * i-c.adb (To_C): Raise CE if string is null and Append_Null
-
-2005-01-03 Robert Dewar <dewar@adacore.com>
-
- * i-cstrin.adb (Update): Do not append a null in form called with a
- String. This avoids unintended behavior.
-
-2005-01-03 Arnaud Charlet <charlet@adacore.com>
-
- PR ada/17527
- * init.c: Fix warnings on Free BSD section.
-
-2005-01-03 Arnaud Charlet <charlet@adacore.com>
-
- PR ada/16949
- * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
- xsinfo.adb).
-
-2005-01-03 Vincent Celier <celier@adacore.com>
-
- * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
- libraries when Unique_Compile is True (-u switch).
- (Gnatmake): ditto.
-
-2005-01-03 Robert Dewar <dewar@adacore.com>
-
- * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
- upper case letter or underscore after W, as allowed by spec.
-
-2005-01-03 Arnaud Charlet <charlet@adacore.com>
-
- * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
- darwin port by using proper type definitions from header files.
- Use SIGTERM instead of SIGABRT for SIGADAABORT.
-
-2005-01-03 Robert Dewar <dewar@adacore.com>
-
- * par.adb: Enhance error message handling for configuration file
- pragmas.
-
-2005-01-03 Robert Dewar <dewar@adacore.com>
-
- * s-arit64.adb (Double_Divide): Put back changes that got accidentally
- removed during the previous update (test properly for case of dividing
- largest negative number by -1, which generates overflow).
-
-2005-01-03 Ed Schonberg <schonberg@adacore.com>
- Sergey Rybin <rybin@adacore.com>
-
- * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
- to use as the defining identifier for a formal package.
- (Remove_Parent): If the instance takes place within (an instance of)
- a sibling, preserve private declarations of common parent.
-
-2005-01-03 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
- to determine whether one of the operands is a fixed-point type for
- which a user-defined multiplication or division operation might be
- defined.
-
- * sem_res.adb (Valid_Conversion): The legality rules for conversions
- of access types are symmetric in Ada 2005: either designated type can
- be unconstrained.
-
-2005-01-03 Vincent Celier <celier@adacore.com>
-
- * s-fileio.adb (Temp_File_Record): Change length of string component
- Name from L_tmpnam + 1 to max_path_len + 1.
-
-2005-01-03 Arnaud Charlet <charlet@adacore.com>
-
- * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
- Self_Id.Deferral_Level = 0.
- (Do_Pending_Action): Move this function to the spec.
-
- * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
- Do_Pending_Action explicitely when needed, in case we're using
- No_Abort restrictions.
-
- * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
- deferral level since it will not get changed by the generated code.
- Keeping a default value of 1 would prevent some operations (e.g.
- select or delay) to proceed successfully.
-
-2005-01-03 Ben Brosgol <brosgol@adacore.com>
- Robert Dewar <dewar@adacore.com>
- Cyrille Comar <comar@adacore.com>
-
- * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
- porting guide chapter (vms version).
- Revised doc title (removed "for native platforms") and subtitle.
- Add discussion on warning flag for obsolescent features. First we
- note that it applies to obsolete GNAT features, which was previously
- omitted. Second we contrast the behavior with that of the new
- Ada 2005 AI-368 restriction No_Obsolescent_Features.
- Preliminary rewriting of GNAT & libraries chapter in order to take
- into account default project locations & new project manager
- capabilities.
-
-2005-01-03 Robert Dewar <dewar@adacore.com>
-
- * cstand.adb (Create_Operators): Clean up format and documentation of
- unary and binary operator result tables. No change in code, just
- reformatting and addition of comments.
-
- * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
- sem_ch2.adb: Minor reformatting
-
- * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
- sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
- comments for Tree_Read and Tree_Write.
-
-2005-01-03 Pascal Obry <obry@adacore.com>
-
- * exp_attr.ads: Minor reformatting.
-
-2005-01-03 Romain Berrendonner <berrendo@adacore.com>
-
- * comperr.adb (Compiler_Abort): Add specialized message for GAP
- versions.
-
-2005-01-03 Ed Schonberg <schonberg@adacore.com>
-
- * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
- whether the ancestor type is private, as may be the case with nested
- instantiations.
-
-2004-12-30 Sohail Somani <sohail@sohailsomani.com>
-
- PR ada/19128
- * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
-
-2004-12-23 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
- * utils2.c (build_unary_op): Likewise.
-
-2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
-
-2004-12-19 Richard Henderson <rth@redhat.com>
-
- * trans.c (gigi): Update gimplify_body call.
-
-2004-12-09 Nathan Sidwell <nathan@codesourcery.com>
-
- * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
-
-2004-12-07 Ed Falis <falis@adacore.com>
-
- * s-intman-vxworks.adb (Notify_Exception): removed useless check for
- current task being suspended.
-
- * init.c (__gnat_clear_exception): added to reset VxWorks exception
- count.
- (__gnat_map_signal): removed test for current task being suspended.
-
-2004-12-07 Gary Dismukes <dismukes@adacore.com>
-
- * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
- from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
- targets (such as AAMP).
-
-2004-12-07 Ed Schonberg <schonberg@adacore.com>
-
- * atree.adb (Visit_Itype): Create a new name for the generated itype,
- because the back-end may otherwise treat it as a redefinition of the
- old symbol.
-
-2004-12-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * back_end.adb (Scan_Back_End_Switches): Accept --param.
-
- * lang-specs.h: Accept --param.
-
-2004-12-07 Vincent Celier <celier@adacore.com>
-
- * make.adb (Check_Mains, Switches_Of): Adapt to name changes in
- package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
- Current_Body_Suffix => Ada_Body_Suffix).
- Take into account Externally_Built attribute.
-
- * clean.adb (In_Extension_Chain): Always return False when one of the
- parameter is No_Project.
- (Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
- Ada_Language_Index).
- (Gnatclean): Adapt to change in package Prj.Pars (no parameter
- Process_Languages for procedure Parse).
-
- * gnatcmd.adb (Carg_Switches): New table.
- (GNATCmd): Put all switches following -cargs in the Carg_Switches table.
- Adapt to name changes in package Prj (Current_Spec_Suffix =>
- Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
-
- * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
- Header_Num and function Hash are now declared in package Prj,
- not Prj.Com.
-
- * prj.adb (Suffix_Of): New function.
- (Set (Suffix)): New procedure.
- (Hash): One function moved from Prj.Com
- (Is_Present, Language_Processing_Data_Of): New functions
- (Set): Two new procedures
- (Add_Language_Name, Display_Language_Name): New procedures
-
- * prj.ads: (Suffix_Of): New function
- (Set (Suffix)): New procedure
- Add several types and tables for multi-language support.
- (Header_Num): Type moved from Prj.Com
- (Hash): Two functions moved from Prj.Com
- (Is_Present, Language_Processing_Data_Of): New functions
- (Set): Two new procedures
- (Add_Language_Name, Display_Language_Name): New procedures
- (Naming): Component name changes:
- Current_Spec_Suffix => Ada_Spec_Suffix,
- Current_Body_Suffix => Ada_Body_Suffix. Add new components:
- Impl_Suffixes, Supp_Suffixes.
- (Project_Data): New components: Externally_Built, Supp_Languages,
- First_Language_Processing, Supp_Language_Processing, Default_Linker,
- Default_Linker_Path.
-
- * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
- new package Language_Processing with its attributes (Compiler_Driver,
- Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
- Binder_Driver, Default_Linker).
-
- * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
- (Header_Num): Type moved to package Prj
-
- * prj-env.adb: Adapt to name changes in package Prj
- (Current_Spec_Suffix => Ada_Spec_Suffix,
- Current_Body_Suffix => Ada_Body_Suffix).
-
- * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
- default to the project path, except the "-" is one of the directories
- in env var ADA_PROJECT_PATH.
- (Current_Project_Path): Global variable, replacing Project_Path
- that was in the body of Prj.Part.
- (Project_Path): New function
- (Set_Project_Path): New procedure
- Initialize Current_Project_Path during elaboration of the package
- Remove dependency on Prj.Com, no longer needed
-
- * prj-ext.ads (Project_Path): New function
- (Set_Project_Path): New procedure
-
- * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
- suffix is defined for language <lang>.
- (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
- accessing directly the components of Naming.
- (Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
- Reorganise of this package.
- Break procedure Check in several procedures.
-
- * prj-nmsc.ads: Replace all procedures (Ada_Check,
- Other_Languages_Check and Language_Independent_Check) with a single
- procedure Check.
-
- * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
- Process_Languages, no longer needed.
-
- * prj-part.adb (Project_Path): Move to the body of Prj.Ext as
- Current_Project_Path.
- Remove elaboration code, moved to the body of Prj.Ext
- Use new function Prj.Ext.Project_Path instead of old variable
- Project_Path.
- (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
- When comparing with project paths on the stack, first put the resolved
- path in canonical case.
- (Parse_Single_Project): Set the path name of the project file in the
- tree to the normalized path.
-
- * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
- parameter Process_Languages, no longer needed.
- (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
- Other_Languages_Check.
-
- * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
- to store the resolved canonical path of the project file.
- Remove dependency to Prj.Com, no longer needed
-
- * prj-util.adb: Adapt to name changes in package Prj
- (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
- Ada_Body_Suffix).
-
- * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
- Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
- Externally_Built, Include_Option, Language_Processing.
-
- * makegpr.adb: Numerous changes due to changes in packages
- Prj and Prj.Nmsc.
-
- * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
- default to the project path, except whe "-" is one of the directories
- in env var ADA_PROJECT_PATH.
- (Gnatls): In verbose mode, add the new section "Project Search Path:"
-
-2004-12-07 Robert Dewar <dewar@adacore.com>
-
- * debug.adb: Document that -gnatdA automatically sets -gnatR3m
-
- * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
- set -gnatR3m mode.
-
- * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
- flag. No longer needed now that we handle this in gnat1drv.adb.
-
- * repinfo.ads: Minor reformatting
-
-2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- Olivier Hainque <hainque@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
- TYPE_SIZE_UNIT of result type if SIZE is not specified.
- (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
- of a bitfield, which we know is useless and causes trouble because of
- alignment implications.
-
- * utils.c (create_var_decl): Set DECL_COMMON again on targets without
- BSS sections.
- (process_attributes): Clear DECL_COMMON again when a section attribute
- is present.
- (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
- SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
- (create_field_decl): Special case ADDRESSABLE negative to mean
- "no bitfield creation", to be used by make_aligning_type. Don't
- restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
- fields claimed addressable still have to be bitfields. Use
- value_factor_p instead of a raw binop construction to check for the
- position's alignment.
-
-2004-12-07 Geert Bosch <bosch@adacore.com>
-
- * eval_fat.adb: Revert previous change.
-
-2004-12-07 Thomas Quinot <quinot@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
- with an implicit dereference as its prefix, use
- Insert_Explicit_Dereference instead of merely rewriting the prefix into
- an explicit dereference. This ensures that a reference to the original
- prefix is generated, if appropriate.
-
- * sem_util.adb (Insert_Explicit_Dereference): When an implicit
- dereference is rewritten to an explicit one, generate a reference to
- the entity denoted by its prefix using the original prefix node, so
- the dereference can be properly recorded as a read of the denoted
- access value, if appropriate.
-
- * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
- emitting 'assigned but never read' warning on a variable on the basis
- that it has an access type.
- (Check_References): Emit unreferenced warning when the scope is a
- subprogram body.
-
-2004-12-07 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch6.adb (Expand_Call): Add comment on handling of back end
- intrinsic
-
- * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
- leaving call unchanged.
- This deals with the case where the pragma Import specified
- an external name, to be handled by the back end.
-
- * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
- subprogram which is Imported with convention Intrinsic if an
- External_Name argument is specified.
- (Process_Import_Or_Interface): Properly diagnose link name argument.
- (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
- with Sem_Ch6.Cannot_Inline.
- (Process_Inline): Provide separate warning for inapplicable inline
- pragma.
- (Cannot_Inline): Reject subprograms that have an at_end handler, so that
- treatment is uniform on different targets.
-
-2004-12-07 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
- construct is rewritten, preserve end label to permit source navigation.
-
-2004-12-07 Thomas Quinot <quinot@adacore.com>
-
- * exp_dist.adb (Specific_Build_General_Calling_Stubs,
- Specific_Build_Stub_Target): New subprograms.
- (Build_Subprogram_Calling_Stubs): Make this procedure independent from
- the PCS implementation used, using the above PCS-customized subprograms.
- Minor reformatting.
- (PolyORB_Support.Helpers): New subunit containing supporting subprograms
- for generation of DSA code targeted to the PolyORB PCS.
- (Add_Stub_Type): Rewrite to isolate the parts that are specific to one
- implementation of the partition communication subsystem in ancillary
- subprograms.
- (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
- PolyORB_Support.Build_Stub_Type): New subrograms containing the
- PCS-specific part of Add_Stub_Type.
- (Insert_Partition_Check): Use runtime library function to perform
- E.4(19) check.
-
- * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
- (RE_Same_Partition): New entity, from s-parint.
-
- * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
-
-2004-12-07 Gary Dismukes <dismukes@adacore.com>
-
- * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
- Output the copyright message on a separate line from the version
- message.
-
-2004-12-07 Joel Brobecker <brobecker@adacore.com>
-
- * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
- compile-time warning.
-
-2004-12-07 Robert Dewar <dewar@adacore.com>
-
- * g-regpat.adb: (Match): Change a misuse of or to or else
-
-2004-12-07 Ed Schonberg <schonberg@adacore.com>
-
- * lib-xref.adb:
- (Generate_Reference): Handle properly a reference to an entry formal,
- when an accept statement has a pragma Unreferenced for it.
-
- * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
- and the Has_Pragma_Unreferenced flag for each formal before analyzing
- the body, to ensure that warnings are properly emitted for each accept
- statement of a given task entry.
-
-2004-12-07 Vasiliy Fofanov <fofanov@adacore.com>
-
- * Makefile.in: Add support for foreign threads on VMS.
-
-2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
- Remove.
- (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
-
- * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
-
- * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
- exception.
- (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
-
-2004-12-07 Robert Dewar <dewar@adacore.com>
-
- * nlists.adb (Prepend_Debug): Remove parameters and nest within
- Prepend.
- (Remove_Next_Debug): Same fix
-
- * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
- maintain back pointers now, though we did not used to, and comments
- were out of date).
- (Prepend): Remove pragma Inline.
- (Remove_Next): Same cleanup
-
-2004-12-07 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
- used to record an implicit dereference as a read operation on its
- prefix when operating under -gnatc. Necessary to avoid spurious
- 'variable assigned but never read' warnings in that mode.
- (Process_Indexed_Component, Analyze_Selected_Component): When the prefix
- is a non-overloaded implicit dereference, call the above subprogram to
- ensure proper recording of references.
-
-2004-12-07 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
- to be resolved later as part of Analyze_Iteration_Scheme's call to
- Make_Index.
-
-2004-12-07 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
- prefix is not a scalar type, place error message on prefix, not on
- type entity.
-
-2004-12-07 Bernard Banner <banner@adacore.com>
-
- * vxaddr2line.adb: Add support for x86 vxworks
-
-2004-12-07 Thomas Quinot <quinot@adacore.com>
-
- * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
- documentation of the behaviour of these functions when passed an IP
- address that has no record in the system hosts database and no reverse
- record in the DNS.
-
- * cstand.adb, a-tags.ads: Fix typos in comment.
-
-2004-12-07 Robert Dewar <dewar@adacore.com>
-
- * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
- exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
- sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
- s-poosiz.ads: Minor reformatting
-
- * make.adb: Minor reformatting
- Add some ??? comments asking for more comments
-
- * s-poosiz.adb: Minor reformatting
- Add comments on alignment requirement
-
- * sinfo.ads: Remove obsolete comment and fix typo.
-
-2004-12-07 Vincent Celier <celier@adacore.com>
- Sergey Rybin <rybin@adacore.com>
-
- * gnat_ugn.texi: Update the section "The GNAT Driver and Project
- Files" with the new tool and package names.
- Reformatting to suppress most of the warnings for line too long
- Document the new section "Project Search Path:" in the output of
- gnatls -v.
- Add gnatmetric section
-
-2004-12-07 Vincent Celier <celier@adacore.com>
-
- * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
- -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
- and -eit to -ept. Added qualifier
- /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
-
-2004-11-27 Andreas Schwab <schwab@suse.de>
-
- * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
-
-2004-11-25 Arnaud Charlet <charlet@adacore.com>
-
- * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from
- internal implementation unit GNAT.Sockets.Thin,
- as their usage for sockets is non-portable (using the read and write
- functions from the system runtime library is fine on UNIX but won't
- work under Windows).
-
- * mingw32.h: Update copyright notice.
-
-2004-11-25 Arnaud Charlet <charlet@adacore.com>
-
- * ada-tree.h: Minor reformatting of previous change to avoid lines
- longer than 79 characters.
-
-2004-11-25 Olivier Hainque <hainque@adacore.com>
-
- * tb-gcc.c: GCC infrastructure based implementation of
- __gnat_backtrace.
-
-2004-11-24 Steven Bosscher <stevenb@suse.de>
-
- * misc.c (gnat_post_options): Don't clear
- flag_inline_functions.
-
-2004-11-22 Andrew Pinski <pinskia@physics.uc.edu>
-
- PR ada/17986
- * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
- tree.
-
-2004-11-21 Andreas Jaeger <aj@suse.de>
-
- * stylesw.adb: Change Style_Check_Subprogram_Order to
- Style_Check_Order_Subprograms.
-
-2004-11-18 Arnaud Charlet <charlet@adacore.com>
-
- * adaint.h, adaint.c
- (__gnat_portable_spawn): Fix cast of spawnvp third parameter
- to avoid warnings.
- Add also a cast to kill another warning.
- (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
- parameter with the priority class of the parent process instead of
- always using the NORMAL_PRIORITY_CLASS.
- (__gnat_dup): New function.
- (__gnat_dup2): New function.
- (__gnat_is_symbolic_link): Enable the effective body of this
- function when __APPLE__ is defined.
-
- * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
- Update comments.
-
-2004-11-18 Olivier Hainque <hainque@adacore.com>
-
- * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
- address of which may be used to represent "others" and "all others"
- choices in exception tables, instead of the current harcoded
- (void *)0 and (void *)1.
- (Setup_Exception): Do nothing in the GNAT SJLJ case.
-
- * gigi.h (others_decl, all_others_decl): New decls representing the
- new Others_Value and All_Others_Value objects.
- (struct attrib): Rename "arg" component as "args", since GCC expects a
- list of arguments in there.
-
- * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
- corresponding objects exported by a-exexpr, instead of hardcoded dummy
- addresses.
-
- * trans.c (Exception_Handler_to_gnu_zcx): Use the address of
- others_decl and all_others_decl instead of hardcoded dummy addresses
- to represent "others" and "all others" choices, which is cleaner and
- more flexible with respect to the possible eh pointer encoding policies.
-
- * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
- (process_attributes): Account for the naming change of the "args"
- attribute list entry component.
-
- * decl.c (build_attr_list): Rename into prepend_attributes to allow
- cumulating attributes for different entities into a single list.
- (gnat_to_gnu_entity): Use prepend_attributes to build the list of
- attributes for the current entity and propagate first subtype
- attributes to other subtypes.
- <E_Procedure>: Attribute arguments are attr->args and not
- attr->arg any more.
- (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
- argument provided, as this is what GCC expects. Use NULL_TREE instead
- of 0 for trees.
-
-2004-11-18 Robert Dewar <dewar@adacore.com>
-
- * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
- Minor reformatting througout (including new function specs)
- Add ??? comments asking for clarification.
-
-2004-11-18 Thomas Quinot <quinot@adacore.com>
-
- * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
- incomplete duplicate implementation of this subprogram from butil.
-
-2004-11-18 Thomas Quinot <quinot@adacore.com>
-
- * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
- procedures factors the common processing for building an RPC receiver
- for an RCI package or an RACW type.
- Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
- Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
- (Get_PCS_Name): New subprogram. Returns the name of the PCS currently
- in use.
- (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
- Add_RACW_Features.
- (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
- Add_RAST_Features.
- (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
- distribution subprogram identifiers that are either subprogram numbers
- or strings.
- (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
- string distribution identifiers assigned to a given subprogram.
- (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
- (Add_RAS_Dereference_TSS): Add comments.
- (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
- is not referenced yet because it will be used by the PolyORB DSA
- implementation.
- (Insert_Partition_Check): Remove fossile code.
- (First_RCI_Subprogram_Id): Document this constant.
- (Add_RAS_Access_TSS): Correct the setting of the Etype of the
- RAS_Access TSS.
- (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
- replaced with calls to Get_Library_Unit_Name_String. Previously there
- were several instances of the same code in different locations in the
- compiler; this checkin completes the replacement of all of these
- instances with calls to a common subprogram.
- Minor reformatting.
-
- * sem_dist.adb: Remove comment noting that RPC receiver generation
- should be disabled for RACWs that implement RASs.
- (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
-
- * sem_util.ads, sem_util.adb (Has_Stream): New function
- (Get_Library_Unit_Name_String): New subprogram to retrieve the fully
- qualified name of a library unit into the name buffer.
- (Note_Possible_Modification): Generate a reference only
- if the context comes from source.
-
- * snames.ads (PCS_Names): New subtype corresponding to names of
- supported implementations of the Partition Communication Subsystem
- (PCS) (i.e. the runtime library support modules for the distributed
- systems annex).
-
-2004-11-18 Robert Dewar <dewar@adacore.com>
- Ed Schonberg <schonberg@adacore.com>
-
- * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
- (Has_Rep_Pragma): New function
- (Has_Attribute_Definition_Clause): New function
- (Record_Rep_Pragma): Moved here from sem_ch13.adb
- (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
-
- * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
-
- * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
- (Expand_Pragma_Psect_Object): New procedure
- These procedures contain the revised and cleaned up processing for
- these two pragmas. This processing was formerly in Sem_Prag, but
- is more appropriately moved here. The cleanup involves making sure
- that the pragmas are properly attached to the tree, and that no
- nodes are improperly shared.
-
- * sem_prag.adb: Move expansion of Common_Object and Psect_Object
- pragmas to Exp_Prag, which is more appropriate.
- Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
- check for duplicates Remove use of Is_Psected flag, no longer needed.
- Use new Make_String_Literal function with string.
-
- * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
- that are functions return universal values, that have to be converted
- to the context type.
- Use new Make_String_Literal function with string.
- (Get_Stream_Convert_Pragma): New function, replaces the use of
- Get_Rep_Pragma, which had to be kludged to work in this case.
-
- * freeze.adb: Use new Has_Rep_Pragma function
-
- * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
- function with string.
- Use new Has_Rep_Pragma function.
-
- * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
- string argument.
-
-2004-11-18 Robert Dewar <dewar@adacore.com>
-
- * errout.ads, errout.adb: (First_Sloc): New function
-
- * par-ch5.adb (P_Condition): Check for redundant parens is now a style
- check (-gnatyx) instead of being included as a redundant construct
- warning.
-
- * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
- Style_Check_Order_Subprograms.
-
- * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
- stylesw.adb: Add Style_Check_Xtra_Parens
-
- * usage.adb: Add line for -gnatyx (check extra parens)
-
- * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
-
-2004-11-18 Ed Schonberg <schonberg@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb (Expand_N_Selected_Component): If the component is the
- discriminant of a constrained subtype, analyze the copy of the
- corresponding constraint, because in some cases it may be only
- partially analyzed.
- Removes long-lived ??? comments.
-
- * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
- handled controlled or secondary-stack expressions within the
- iteration_scheme of a loop.
-
- * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
- bounds that may contain functions calls, to prevent memory leaks when
- the bound contains a call to a function that uses the secondary stack.
- (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
- generate temporaries for loop bounds that might contain function calls
- that require secondary stack and/or finalization actions.
-
- * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
- selected component and the selector is overloadable (not just a
- function) treat as function call, Analyze_Call will disambiguate if
- necessary.
- (Analyze_Selected_Component): Do not generate an actual subtype for the
- selected component if expansion is disabled. The actual subtype is only
- needed for constraint checks.
- (Analyze_Allocator): If restriction No_Streams is set, then do
- not permit objects to be declared of a stream type, or of a
- composite type containing a stream.
-
- * restrict.ads: Remove the a-stream entry from Unit_Array, since
- No_Streams no longer prohibits with'ing this package.
-
- * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
- discriminants, but the parent base has unknown discriminants, there is
- no discriminant constraint to inherit. Such a discrepancy can arise
- when the actual for a formal type with unknown discriminants is a
- similar private type whose full view has discriminants.
- (Analyze_Object_Declaration): If restriction No_Streams is set, then
- do not permit objects to be declared of a stream type, or of a
- composite type containing a stream.
-
-2004-11-18 Ed Schonberg <schonberg@adacore.com>
-
- * exp_dbug.ads: Update documentation to reflect simpler encoding for
- protected operations.
-
- * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
- generated name, it complicates decoding in gdb and hinders debugging
- of protected operations.
- (Build_Barrier_Function_Specification): Set the Needs_Debug_Info
- flag for the protected entry barrier function.
- (Build_Protected_Entry_Specification): Set the Needs_Debug_Info
- flag for the protected entry function.
-
-2004-11-18 Nicolas Setton <setton@adacore.com>
-
- * expect.c: Define __unix__ when __APPLE__ is defined.
-
- * Makefile.in: Inform the value of the variable GMEM_LIB in the
- Darwin-specific section.
-
- * lang-specs.h: Change the placement of the %1 marker.
- Works around the fact that gcc adds -fPIC by default under Darwin.
-
-2004-11-18 Ed Schonberg <schonberg@adacore.com>
-
- * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
- type of the object with the packed array type, set the Analyzed flag
- on the object if it is an entity or simple indexed component, to avoid
- spurious type errors.
-
-2004-11-18 Gary Dismukes <dismukes@adacore.com>
-
- * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
- gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
- separate line from the version message.
-
-2004-11-18 Ed Falis <falis@adacore.com>
-
- * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
- vthreads.
- (init_float): Eliminate initialization of floating point status for
- AE653. The instructions have no effect for vThreads.
-
-2004-11-18 Vincent Celier <celier@adacore.com>
-
- * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
- gnatbind is invoked with -shared.
-
-2004-11-18 Jose Ruiz <ruiz@adacore.com>
-
- * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
- for Detect_Blocking which is redundant with the check done within the
- procedure Protected_Single_Entry_Call.
- (Lock_Read_Only_Entry): Remove the code for raising Program_Error for
- Detect_Blocking which is redundant with the check done within the
- procedure Protected_Single_Entry_Call.
-
-2004-11-18 Vincent Celier <celier@adacore.com>
-
- * makegpr.adb (Compile): Put the compiling switches (in package
- Compiler and on the command line) immediately after "-c", instead of
- at the end of the command line invocation of the compiler, when
- compiling a non-Ada file.
- (Build_Global_Archive): When there is no need to rebuild the archive,
- set Global_Archive_Exists, so that the archive is passed to the linker
- if one is needed.
-
-2004-11-18 Robert Dewar <dewar@adacore.com>
- Sergey Rybin <rybin@adacore.com>
-
- * gnat_ugn.texi:
- Remove extra paren check from list of checks for redundant constructs
- Add documentation of new -gnatyx style check (check extra parens)
- Remove paragraph about gnatelim debug options.
-
- * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
- objects rather than forbidding dependencies on the package Ada.Streams.
-
- * sinfo.ads: Add ??? note that we should document pragmas passed to
- back end.
-
- * g-expect.ads: Fix a few typos in the comments.
-
-2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
-
- * misc.c (gnat_handle_option): Use %< and %> for quoting in
- warning message.
-
-2004-11-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * a-numaux-x86.adb (Tan): Fix fdivp syntax.
-
-2004-11-07 Andreas Schwab <schwab@suse.de>
-
- * Makefile.in (install-gnatlib): Remove spurious hyphen.
-
-2004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
-
- PR ada/18228
- * Makefile.in (darwin): Set soext to .dylib.
-
-2004-10-26 Vincent Celier <celier@gnat.com>
- Thomas Quinot <quinot@act-europe.fr>
-
- * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads:
- (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as
- there is no use of GNAT.Sockets.Constants.
- Remove remaining pragma Import for C_Write
- Remove C_Read and C_Write from internal implementation unit
- GNAT.Sockets.Thin, as their usage for sockets is non-portable (using
- the read and write functions from the system runtime library is fine
- on UNIX but won't work under Windows).
-
- * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write.
- (Check_Selector): Use C_Recv instead of C_Read.
- Selectors are the GNAT.Sockets abstraction to perform a select()
- call on a set of descriptors. To allow abortion of an ongoing
- select operation, some data is written to a dedicated socket that
- is always monitored.
- Under Windows, the write and read library functions cannot operate
- on sockets, so we need to use send and recv instead, which is portable
- across all supported platforms.
-
- * g-socthi.ads: Remove C_Read and C_Write from internal implementation
- unit GNAT.Sockets.Thin, as their usage for sockets is non-portable
- (using the read and write functions from the system runtime library is
- fine on UNIX but won't work under Windows).
-
-2004-10-26 Nicolas Setton <setton@act-europe.fr>
-
- * mlib-tgt-darwin.adb: New file.
-
- * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
- mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
- mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
- mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New
- subprogram body.
-
- * Makefile.in: Add support for building shared libraries under Darwin.
- (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing
- the low level EH init subprogram to be called from __gnat_initialize.
-
- * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
- indicates which options to pass to the archive indexer.
-
- * mlib-utl.adb: Add support for calling ranlib with additional
- options. This is needed for instance under Mac OS X.
- (Ranlib_Options): New global variable, used to store the potential
- options to pass to ranlib.
- (Ar): Use Ranlib_Options when spawning ranlib.
- (Initialize): Set the value of ranlib option.
-
-2004-10-26 Olivier Hainque <hainque@act-europe.fr>
-
- * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K
- instead of 8K, to reflect the real potential needs for stack-checking
- in the ZCX case.
-
-2004-10-26 Pascal Obry <obry@gnat.com>
-
- * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
-
- * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On
- Windows only the initial thread stack size can be set so it is good to
- start we a low stack size.
- The OS will adjust the size as needed.
-
-2004-10-26 Olivier Hainque <hainque@act-europe.fr>
- Nicolas Setton <setton@act-europe.fr>
-
- * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with
- "__unix__" instead of "unix".
- The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the
- sections were just mistakenly ignored. The former is
- implicitely defined by gcc2.8, gcc3.2 and gcc3.4.
- Update #ifdef preprocessor macro to detect the symbol __hpux__ instead
- of hpux. This prevents an unwanted definition of the symbol
- convert_addresses in adaint.o.
-
-2004-10-26 Gary Dismukes <dismukes@gnat.com>
-
- * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for
- compatibility with type Unwind_Word on 16-bit targets such as AAMP.
-
-2004-10-26 Cyrille Comar <comar@act-europe.fr>
-
- * a-filico.ads, a-filico.adb: fix incorrect header.
-
-2004-10-26 Javier Miranda <miranda@gnat.com>
-
- * a-ststio.ads: Fix typo in identifier
-
-2004-10-26 Thomas Quinot <quinot@act-europe.fr>
-
- * sem_ch4.adb: Minor reformatting.
-
-2004-10-26 Ed Schonberg <schonberg@gnat.com>
-
- * checks.adb (Expr_Known_Valid): If floating-point validity checks are
- enabled, check the result of unary and binary operations when the
- expression is the right-hand side of an assignment.
-
-2004-10-26 Vincent Celier <celier@gnat.com>
-
- * clean.adb (Delete): Do not output warnings when in quiet output and
- not in verbose mode.
- (Force_Deletions): New Boolean flag, defaulted to False
- (Delete): Only delete a file if it is writable, and when
- Force_Deletions is True.
- (Parse_Cmd_Line): New switch -f: set Force_Deletions to True
- (Usage): Line for new switch -f
- (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our
- own.
-
-2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
-
- * decl.c (gnat_to_gnu_field): Use the type of the inner object for a
- JM type only if its size matches that of the wrapper. When a size is
- prescribed and the field is not aliased, remove the wrapper of a JM
- type only if the size is not greater than that of the packed array.
- (gnat_to_gnu_entity): Change the extension of packed array wrappers
- from LJM to JM.
-
-2004-10-26 Geert Bosch <bosch@gnat.com>
-
- * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used.
- (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
- (Pred): Implement in terms of Succ.
-
-2004-10-26 Ed Schonberg <schonberg@gnat.com>
-
- * exp_aggr.adb (Safe_Component): An aggregate component that is an
- unchecked conversion is safe for in-place use if the expression of the
- conversion is safe.
- (Expand_Array_Aggregate): An aggregate that initializes an allocator may
- be expandable in place even if the aggregate does not come from source.
- (Convert_Array_Aggr_In_Allocator): New procedure to initialize the
- designated object of an allocator in place, rather than building it
- first on the stack. The previous scheme forces a full copy of the array,
- and may be altogether unsusable if the size of the array is too large
- for stack allocation.
-
-2004-10-26 Robert Dewar <dewar@gnat.com>
-
- * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
- compares if the component is atomic.
-
- * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
- array assignment if the component type is atomic.
-
-2004-10-26 Ed Schonberg <schonberg@gnat.com>
- Eric Botcazou <ebotcazou@act-europe.fr>
-
- * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter
- is aliased and is a by_reference type, do not pass by copy.
- (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to
- detect whether the call is in the right side of an assignment or
- the expression of an object declaration. Recurse on component
- association within aggregates.
- Call it in the condition that determines whether the temporary is
- necessary for correct stack-checking.
-
-2004-10-26 Thomas Quinot <quinot@act-europe.fr>
-
- * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter
- RACW_Type, used in the PolyORB version.
- Rename RCI_Info to RCI_Locator, for consistency between the PolyORB
- version and the GARLIC version.
-
- * snames.ads, snames.adb, s-parint.ads, s-parint.adb:
- Rename RCI_Info to RCI_Locator for better consistency between the
- GARLIC and PolyORB versions of the distributed systems annex.
- (DSA_Implementation_Name): This enumeration lists the possible
- implementations of the Partition Communication Subsystem for the
- Distributed Systems Annex (DSA). The three available implementations
- are the dummy stub implementation (No_DSA), and two versions based on
- two different distribution runtime libraries: GARLIC and PolyORB. Both
- the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution
- technology.
- Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
- that organization.
-
- * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
- between the GARLIC and PolyORB versions of the distributed systems
- annex.
- Remove RE_Unbounded_Reclaim_Pool since it is unused.
-
-2004-10-26 Gary Dismukes <dismukes@gnat.com>
-
- * gnat1drv.adb: Suppress calling the back end when
- Frontend_Layout_On_Target is true.
-
-2004-10-26 Thomas Quinot <quinot@act-europe.fr>
-
- * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable,
- Set_Read_Only): New subprograms.
- These new routines allow the user to set or unset the Owner execute
- and Owner write permission flags on a file.
-
- * makegpr.adb, mlib.adb, mlib-prj.adb: Use
- GNAT.OS_Lib.Set_Executable instead of rolling our own.
-
-2004-10-26 Matthew Gingell <gingell@gnat.com>
-
- * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
-
-2004-10-26 Pascal Obry <obry@gnat.com>
-
- * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the
- memory before the faulting page we properly test the process read
- access for this address using appropriate Win32 routine.
- (HPUX sections): guard with "__hpux__" instead of "hpux".
-
-2004-10-26 Robert Dewar <dewar@gnat.com>
-
- * lib-xref.adb (Generate_Reference): Don't complain about reference to
- entry parameter if pragma Unreferenced set, since we do not properly
- handle the case of multiple parameters.
-
-2004-10-26 Vincent Celier <celier@gnat.com>
-
- * prj-env.adb: (Contains_ALI_Files): New Boolean function
- (Ada_Objects_Path.Add): For a library project, add to the object path
- the library directory only if there is no object directory or if the
- library directory contains ALI files.
- (Set_Ada_Paths.Add.Recursive_Add): Ditto
-
-2004-10-26 Vincent Celier <celier@gnat.com>
-
- * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
- extension of library projects.
-
- * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project
- path defaults to ".:<prefix>/lib/gnat".
- (Parse): For an extending all project, allow direct import of a project
- that is virtually extended.
-
- * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with
- the specified name is directly imported, return its ID. Otherwise, if
- an extension of this project is imported, return the ID of the
- extension.
-
-2004-10-26 Robert Dewar <dewar@gnat.com>
-
- * s-arit64.adb: (Le3): New function, used by Scaled_Divide
- (Sub3): New procedure, used by Scaled_Divide
- (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
- correct more than one instance of failure to propagate carries
- correctly.
- (Double_Divide): Handle overflow case of largest negative number
- divided by minus one.
-
- * s-arit64.ads (Double_Divide): Document that overflow can occur in
- the case of a quotient value out of range.
- Fix comments.
-
-2004-10-26 Robert Dewar <dewar@gnat.com>
-
- * s-bitops.adb (Bit_Eq): Remove redundant check.
-
- * s-bitops.ads: Minor comment updates
- Change some occurrences of Address to System.Address
-
- * s-carsi8.ads: Fix minor cut-and-paste error in comments
-
-2004-10-26 Ed Schonberg <schonberg@gnat.com>
-
- * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
- accessibility check to prefix that is a protected operation.
-
-2004-10-26 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
- empty, post message on stub.
-
-2004-10-26 Ed Schonberg <schonberg@gnat.com>
- Javier Miranda <miranda@gnat.com>
-
- * sem_ch12.adb (In_Main_Context): Predicate to determine whether the
- current instance appears within a unit that is directly in the context
- of the main unit.
- Used to determine whether the body of the instance should be analyzed
- immediately after its spec, to make its subprogram bodies available
- for front-end inlining.
- (Analyze_Formal_Array_Type): Cleanup condition that checks that range
- constraint is not allowed on the component type (AARM 12.5.3(3))
-
-2004-10-26 Cyrille Comar <comar@act-europe.fr>
-
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
- 'Storage_Pool): enhance, document & limit detection of non-sharable
- internal pools.
-
- * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
-
- * s-pooglo.ads: Add more documentation now that this pool is properly
- documented.
-
-2004-10-26 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
- or protected type with discriminants, do not constrain the
- corresponding record type if the subtype declaration has no
- discriminant constraints. This can be the case in source code, or in
- the subtype declaration created to rename an actual type within an
- instantiation.
-
-2004-10-26 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
- different kind of stub (possibly wrong name for file), do not check
- for conformance.
- (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
- includes call to some function that returns an unconstrained type, do
- not inline.
-
-2004-10-26 Ed Schonberg <schonberg@gnat.com>
-
- * sem_elab.adb (Check_Elab_Call): Do not check a call that does not
- appear in the code for the main unit. Dependencies among units in the
- context of the main unit are established when those other units are
- compiled. Otherwise spurious elaboration constraints can generate
- incorrect elaboration circularities.
-
-2004-10-26 Thomas Quinot <quinot@act-europe.fr>
- Ed Schonberg <schonberg@gnat.com>
-
- * sem_util.adb (Is_Aliased_View): Defend against the case where this
- subprogram is called with a parameter that is not an object name. This
- situation arises for some cases of illegal code, which is diagnosed
- later, and in this case it is wrong to call Is_Aliased, as that might
- cause a compiler crash.
- (Explain_Limited_Type): Refine previous fix to include
- inherited components of derived types, to provide complete information.
-
- * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
- is the prival for a protected object.
- It is necessary to mark this entity as a variable, in addition to
- flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
- modified to avoid checking the Aliased flag on entities that are not
- objects. (Checking that flag for non-objects is erroneous and could
- lead to a compiler crash).
-
-2004-10-26 Robert Dewar <dewar@gnat.com>
-
- * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if
- X_Frac = 0.5, then we know that the number X must be positive.
- (Succ): Remove the same redundant test, and also fix the primary test
- to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong.
- Minor reformatting
- (Decompose): Add fuller comments to spec
-
-2004-10-26 Pascal Obry <obry@gnat.com>
-
- * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
- validity (process must have read access). Set to 0 in all other cases.
- (STOP_FRAME): Now check for ptr validity to avoid a segmentation
- violation on Win32.
- (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
- segmentation violation.
-
-2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
-
- * trans.c (call_to_gnu): For an (in-)out parameter passed by reference
- whose type is a constructed subtype of an aliased object with an
- unconstrained nominal subtype, convert the actual to the constructed
- subtype before taking its address.
-
-2004-10-26 Vincent Celier <celier@gnat.com>
-
- * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
- (Is_Path_Name_Case_Sensitive): New function
-
- * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
- (Base_Name, Simple_Name, Current_Directory, Compose,
- Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
- the result.
-
-2004-10-26 Cyrille Comar <comar@act-europe.fr>
- Vasiliy Fofanov <fofanov@act-europe.fr>
- Vincent Celier <celier@gnat.com>
-
- * gnat_ugn.texi: Generalize "finding memory problems" section into a
- "memory management issues" section and document some of the useful
- memory pools provided as part of the GNAT library.
- Remove "virtual" from declaration of A::method2 in
- the simple example of Ada/C++ mixed system.
- Library Projects may be virtually extended: their virtual extensions
- are not Library Projects.
- Added section on extending project hierarchies.
-
-2004-10-19 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
-
- * adaint.c (__gnat_get_libraries_from_registry): Cast value
- to LPBYTE.
- (__gnat_portable_spawn): Remove const.
-
- * mingw32.h (MAXPATHLEN): Check for previous definition.
-
-2004-10-17 Matthias Klose <doko@debian.org>
-
- * gnatvsn.ads: Set gnat library version to 4.0.
-
-2004-10-05 Vincent Celier <celier@gnat.com>
-
- * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
-
-2004-10-04 Laurent Guerby <laurent@guerby.net>
-
- PR ada/15156
- * Makefile.in: Define and use RANLIB_FLAGS.
-
-2004-10-04 Pascal Obry <obry@gnat.com>
-
- * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
- other x86 platforms).
-
-2004-10-04 Olivier Hainque <hainque@act-europe.fr>
-
- * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense
- in general and triggers stack alignment adjustment for thread entry
- points on targets where this is necessary.
-
-2004-10-04 Bernard Banner <banner@gnat.com>
-
- PR ada/13897
- * Makefile.in: Add section for powerpc linux
- Add variant i-vxwork-x86.ads
-
- * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
-
-2004-10-04 Olivier Hainque <hainque@act-europe.fr>
-
- * init.c (__gnat_initialize): Call an Ada subprogram to perform the
- table registration calls when need be. Ensures no reference to the crt
- ctors symbol are issued in the SJLJ case, which avoids possible
- undefined symbol errors in the case of modules to be statically linked
- with the kernel.
-
-2004-10-04 Javier Miranda <miranda@gnat.com>
-
- * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
- in-line the code corresponding to subprogram Analyze_Actuals. In
- addition, analyze the actuals only in case of subprogram call.
-
-2004-10-04 Ed Falis <falis@gnat.com>
-
- * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
-
-2004-10-04 Sergey Rybin <rybin@act-europe.fr>
-
- * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
- in the documentation.
-
-2004-10-04 Robert Dewar <dewar@gnat.com>
-
- * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
- IF and CASE.
- (Analyze_Block_Statement): Add circuitry to detect following dead code
- (Check_Unreachable_Code): Handle case of block exit
-
-2004-10-04 Robert Dewar <dewar@gnat.com>
-
- * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
- (XMatchD): Avoid warning for Logic_Error call
-
-2004-10-04 Robert Dewar <dewar@gnat.com>
-
- * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
- consider expressions buried within a procedure actual to be an actual.
- This caused some blowups with uses of packed slices within a procedure
- actual.
-
-2004-10-04 Robert Dewar <dewar@gnat.com>
-
- * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
- longer need to be initialized to zero.
- (Get_Simple_Init_Val): Modular packed arrays no longer need to be
- initialized to zero.
-
- * checks.adb (Expr_Known_Valid): Packed arrays are now always
- considered valid, even if the representation is modular. That's correct
- now that we no longer initialize packed modular arrays to zero.
-
- * exp_dbug.ads: Clarify documentation on handling of PAD and JM
- suffixes. These are now documented as the only cases in which the
- debugger ignores outer records.
- Previously, the spec allowed arbitrary suffixes for this purpose.
- Change name of LJM to JM for packed array pad records
- Create separate section on packed array handling, and add a whole new
- set of comments to this section describing the situation with packed
- modular types and justification requirements depending on endianness.
-
-2004-10-04 Robert Dewar <dewar@gnat.com>
-
- * a-except.adb: Add a comment for last change
-
- * einfo.ads: Minor spelling correction in comment
-
- * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
-
- * sem_ch11.adb: Fix a case of using | instead of \ for continuation
- messages.
-
- * sem_util.ads: Minor comment update
-
-2004-10-04 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
- Inline_Always when in Configurable_Run_Time mode.
-
- * sem_prag.adb (Process_Convention): If entity is an inherited
- subprogram, apply convention to parent subprogram if in same scope.
- (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
- when in Configurable_Run_Time mode.
-
-2004-10-04 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
- class_wide type after component list has been inherited.
-
-2004-10-04 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch12.adb (Check_Generic_Actuals): New predicate
- Denotes_Previous_Actual, to handle properly the case of a private
- actual that is also the component type of a subsequent array actual.
- The visibility status of the first actual is not affected when the
- second is installed.
- (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
- make fully recursive the treatment of formals of packages declared
- with a box.
- (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
- the above on exit from an instantiation.
- (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
- current instantiation which is now complete.
- (Analyze_Package_Instantiation): No instantiated body is needed if the
- main unit is generic. Efficient, and avoid anomalies when a instance
- appears in a package accessed through rtsfind.
-
-2004-10-04 Ed Schonberg <schonberg@gnat.com>
-
- * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
- do not generate a declaration for a temporary if the call is part of a
- library-level instantiation.
-
-2004-10-04 Ed Schonberg <schonberg@gnat.com>
-
- * sem_util.adb (Explain_Limited_Type): Ignore internal components when
- searching for a limited component to flag.
-
- * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
- expansion of Input, to account for the fact that the implicit call
- generated by the attribute reference must freeze the user-defined
- stream subprogram. This is only relevant to 'Input, because it can
- appear in an object declaration, prior to the body of the subprogram.
-
- * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
- expansion can proceed and further errors uncovered.
- (Minor clean up): Fix cases of using | instead of \ for continuation
- messages.
-
-2004-10-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
-
- * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
- (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
- Use gcc_assert and gcc_unreachable.
-
- * decl.c (gnat_to_gnu_entity, case object): Check and process a
- specified alignment before validating size.
- (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
- stripped-down declaration for the type of the inner field when making
- a JM type.
-
- * utils.c (finish_record_type): Do not compute the size in units
- incrementally. Instead compute it once for the rep clause case.
- Use gcc_assert and gcc_unreachable.
-
-2004-10-04 Vincent Celier <celier@gnat.com>
-
- * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
- in file name.
- (Is_Valid_Path_Name): Take '/' as a directory separator.
-
-2004-10-04 Vincent Celier <celier@gnat.com>
-
- * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
- (Extended_Project) only if Extended_Project is defined, to avoid
- assertion error.
- (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
- resolved path.
- (Parse_Single_Project): Ditto.
-
- * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
- Add_To_Project_Path for virtual projects.
-
-2004-10-04 Vincent Celier <celier@gnat.com>
-
- * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
- mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
- mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
- mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
- parameter Options_2.
-
- * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
- Build_Dynamic_Library with an empty Options_2.
-
- * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
- default anymore.
-
- * makegpr.adb (Get_Imported_Directories.add): Remove trailing
- directory separator, if any.
- (Gprmake): Do not allow mains on the command line for library projects.
- Do not attempt to link when the project is a library project.
- (Library_Opts): New table to store Library_Options.
- (Build_Library): If Library_Options is specified, pass these options
- when building a shared library.
-
-2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
-
- * s-tposen.adb (Service_Entry): The object must be always unlocked at
- the end of this procedure now that the unlock operation was inserted
- by the expander.
-
-2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
-
- * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
- corresponding to the Preallocated_Stacks flags in System.
- (Get_Target_Parameters): Including the processing for
- Preallocated_Stacks.
-
- * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
- system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
- system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
- system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
- system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
- system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
- system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
- system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
- system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
- system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
- system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
- used to signal whether the compiler creates the required stacks and
- descriptors for the different tasks (when True) or it is done by the
- underlying operating system at run time (when False).
- It is initially set to False in all targets.
-
- * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
- if it is supported by the target.
- (Make_Task_Create_Call): Pass the stack address if it has been
- previously created. Otherwise pass a Null_Address.
-
- * snames.adb: Add _stack.
-
- * snames.ads: Add Name_uStack. Required to allow the expander to
- statically allocated task stacks.
-
- * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
- Stack_Address argument.
- Check that its value is equal to Null_Address because this target does
- not support the static stack allocation.
-
-2004-10-04 Thomas Quinot <quinot@act-europe.fr>
-
- * usage.adb: Change "pragma inline" to "pragma Inline" in information
- and error messages
-
-2004-10-04 Thomas Quinot <quinot@act-europe.fr>
-
- * exp_dist.adb: Split declaration of asynchronous flag out of
- Add_RACW_Read_Attribute.
- Minor reformatting for better alignment with PolyORB version.
- Store the entity for the asynchronous flag of an RACW, rather than the
- expression, in the asynchronous flags table. This will allow this flag
- to be used in other subprograms beside Add_RACW_Read_Attribute.
-
-2004-10-04 Thomas Quinot <quinot@act-europe.fr>
-
- * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
- g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
- g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
- g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
- g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads: Add new
- sockets constant MSG_NOSIGNAL (Linux-specific).
- Add new sockets constant MSG_Forced_Flags, list of flags to be set on
- all Send operations.
- For Linux, set MSG_NOSIGNAL on all send operations to prevent them
- from trigerring SIGPIPE.
- Rename components to avoid clash with Ada 2005 possible reserved
- word 'interface'.
- (Check_Selector): When the select system call returns with an error
- condition, propagate Socket_Error to the caller.
-
-2004-10-01 Jan Hubicka <jh@suse.cz>
-
- * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
-
-2004-09-23 Robert Dewar <dewar@gnat.com>
-
- PR ada/17540
- * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
- instead do this at freeze time (we won't do it if there is an address
- clause).
- Change "pragma inline" to "pragma Inline" in information and error
- messages.
- Minor reformatting.
-
- * freeze.adb (Check_Address_Clause): Remove previous change, not the
- right way of doing things after all.
- (Freeze_Entity): For object, set Is_Public for imported entities
- unless there is an address clause present.
-
-2004-09-21 Olivier Hainque <hainque@act-europe.fr>
-
- * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
- dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
- ensures proper handling of types with rep clauses, which might have
- their TYPE_SIZE set already.
-
-2004-09-21 Robert Dewar <dewar@gnat.com>
-
- * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
- packed array types in both little- and big-endian cases. This change
- ensures that we no longer count on the unused bits being initialized
- for such types (and in particular ensures that equality testing will
- only read the relevant bits).
- Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
- These changes mean that we no longer need to initialize small packed
- arrays.
- (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
- optimization to an LJM field as to its parent field.
-
- * ada-tree.h, trans.c, utils.c, utils2.c:
- Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
-
-2004-09-20 Jan Hubicka <jh@suse.cz>
-
- * utils.c (gnat_finalize): Remove.
- (end_subprog_body): Directly call cgraph_finalize_function;
- do not lower the nested functions.
-
-2004-09-20 Robert Dewar <dewar@gnat.com>
-
- PR ada/17540
- * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
- if an address clause is present, since that means that the Import
- should be ignored.
-
-2004-09-20 Arnaud Charlet <charlet@act-europe.fr>
-
- * 5tsystem.ads: Removed, no longer used.
-
-2004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
- Zack Weinberg <zack@codesourcery.com>
-
- * ada-tree.def: Use tree_code_class enumeration constants
- instead of code letters.
- * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
- Update for new tree-class enumeration constants.
-
-2004-09-17 Vincent Celier <celier@gnat.com>
-
- * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
- capabilities of the general project manager.
-
-2004-09-09 Vincent Celier <celier@gnat.com>
-
- * a-direct.ads: Add pragma Ada_05
- (Directory_Entry_Type): Give default value to component Kind to avoid
- not initialized warnings.
-
- * a-direct.adb (Current_Directory): Remove directory separator at the
- end.
- (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
- an existing directory.
- (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
- (Size (String)): Function C_Size returns Long_Integer, not File_Size.
- Convert the result to File_Size.
-
- * prj.ads: (Project_Error): New exception
-
- * prj-attr.adb: Except in procedure Initialize, Fail comes from
- Prj.Com, not from Osint.
- (Attrs, Package_Attributes): Tables moved to private part of spec
- (Add_Attribute, Add_Unknown_Package): Moved to new child package
- Prj.Attr.PM.
- (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
- Prj.Project_Error after call to Fail.
- (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
- Fail. Check that package name is not already in use.
-
- * prj-attr.ads: Comment updates to indicate that all subprograms may be
- used by tools, not only by the project manager, and to indicate that
- exception Prj.Prj_Error may be raised in case of problem.
- (Add_Unknown_Package, Add_Attribute): Moved to new child package
- Prj.Attr.PM.
- (Attrs, Package_Attributes): Table instantiations moved from the body to
- the private part to be accessible from Prj.Attr.PM body.
-
- * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
- from new package Prj.Attr.PM.
- (Parse_Attribute_Declaration): Call Add_Attribute from new package
- Prj.Attr.PM.
-
- * Makefile.in: Add prj-attr-pm.o to gnatmake object list
-
- * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
- instead of Elaboration_Checks).
-
- * a-calend.adb: Minor reformatting
-
-2004-09-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * gigi.h (maybe_pad_type): New declaration.
- (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
-
- * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
-
- * cuintp.c: Convert to use buildN.
-
- * decl.c (maybe_pad_type): No longer static.
- (gnat_to_gnu_entity, case E_Function): Handle case of returning by
- target pointer.
- Convert to use buildN.
-
- * trans.c (call_to_gnu): Add arg GNU_TARGET; support
- TYPE_RETURNS_BY_TARGET_PTR_P. All callers changed.
- (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
- RHS.
- (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
- (gnat_gimplify_expr, case ADDR_EXPR): New case.
- Convert to use buildN.
-
- * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
- TREE_READONLY for const.
- Convert to use buildN.
-
- * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
- (create_var_decl): Refine when TREE_STATIC is set.
- Convert to use buildN.
-
-2004-09-09 Gary Dismukes <dismukes@gnat.com>
-
- * gnat_ugn.texi: Delete text relating to checking of ali and object
- consistency.
-
- * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
- routines.
-
-2004-09-09 Jose Ruiz <ruiz@act-europe.fr>
-
- * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
- pragmas recognized by GNAT.
-
- * gnat_rm.texi: Document pragma Detect_Blocking.
-
- * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
- raise Program_Error if called from a protected operation.
-
- * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
- the protected action nesting level.
- (Lock_Read_Only): When pragma Detect_Blocking is active increase the
- protected action nesting level.
- (Unlock): When pragma Detect_Blocking is active decrease the protected
- action nesting level.
-
- * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
- Protected_Action_Nesting.
-
- * s-taskin.ads: Adding the field Protected_Action_Nesting to the
- Common_ATCB record. It contains the dynamic level of protected action
- nesting for each task. It is needed for checking whether potentially
- blocking operations are called from protected operations.
- (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
- Detect_Blocking is active or not in the partition.
-
- * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
- raise Program_Error if called from a protected operation.
- (Task_Entry_Call): When pragma Detect_Blocking is active, raise
- Program_Error if called from a protected operation.
- (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
- Program_Error if called from a protected operation.
-
- * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
- raise Program_Error if called from a protected operation.
-
- * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
- raise Program_Error if called from a protected operation, and increase
- the protected action nesting level.
- (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
- Program_Error if called from a protected operation, and increase the
- protected action nesting level.
- (Unlock_Entries): When pragma Detect_Blocking is active decrease the
- protected action nesting level.
-
- * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
- raise Program_Error if called from a protected operation, and increase
- the protected action nesting level.
- (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
- Program_Error if called from a protected operation, and increase the
- protected action nesting level.
- (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
- raise Program_Error if called from a protected operation.
- (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
- active, raise Program_Error if called from a protected operation.
- (Unlock_Entry): When pragma Detect_Blocking is active decrease the
- protected action nesting level.
-
- * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
- insertion of the statement raising Program_Error. The run time
- contains the required machinery for handling that.
-
- * sem_util.ads: Change comment associated to procedure
- Check_Potentially_Blocking_Operation.
- This procedure does not insert a call for raising the exception because
- that is currently done by the run time.
-
- * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
-
- * init.c: Add the global variable __gl_detect_blocking that indicates
- whether pragma Detect_Blocking is active (1) or not (0). Needed for
- making the pragma available at run time.
- (__gnat_set_globals): Pass and update the detect_blocking parameter.
-
- * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
- pragma Detect_Blocking is active.
-
- * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
-
- * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
- DB is found in the ali file. Any unit compiled with pragma
- Detect_Blocking active forces its effect in the whole partition.
-
- * a-retide.adb (Delay_Until): Raise Program_Error if pragma
- Detect_Blocking is active and delay is called from a protected
- operation.
-
- * bindgen.adb (Gen_Adainit_Ada): When generating the call to
- __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
- Detect_Blocking is active (0 otherwise).
- (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
- as Detect_Blocking parameter if pragma Detect_Blocking is active (0
- otherwise).
-
-2004-09-09 Thomas Quinot <quinot@act-europe.fr>
-
- * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
- GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
- package.
-
- * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
- (Register_Receiving_Stub): Add Subp_Info formal parameter.
- Update API in placeholder implemetation of s-parint to reflect changes
- in distribution runtime library.
-
- * sem_ch3.adb (Expand_Derived_Record): Rename to
- Expand_Record_Extension.
-
- * sem_disp.adb (Check_Controlling_Formals): Improve error message for
- primitive operations of potentially distributed object types that have
- non-controlling anonymous access formals.
-
- * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
- subprogram.
- New implementation of expansion for remote access-to-subprogram types,
- based on the RACW infrastructure.
- This version of sem_dist is compatible with PolyORB/DSA as well as
- GLADE.
-
- * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
- Asynchrronous that applies to a remote access-to-subprogram type, mark
- the underlying RACW type as asynchronous.
-
- * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
- __gnat_using_gnu_linker to 1.
-
- * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
- g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
- GNAT.Perfect_Hash_Generators, and remove the empty
- GNAT.Perfect_Hash package.
-
- * atree.adb: Minor reformatting
-
- * exp_ch3.adb (Expand_Derived_Record): Rename to
- Expand_Record_Extension.
- (Build_Record_Init_Proc.Build_Assignment): The default expression in
- a component declaration must remain attached at that point in the
- tree so New_Copy_Tree copies it if the enclosing record type is derived.
- It is therefore necessary to take a copy of the expression when building
- the corresponding assignment statement in the init proc.
- As a side effect, in the case of a derived record type, we now see the
- original expression, without any rewriting that could have occurred
- during expansion of the ancestor type's init proc, and we do not need
- to go back to Original_Node.
-
- * exp_ch3.ads (Expand_Derived_Record): Rename to
- Expand_Record_Extension.
-
- * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
- Returns the RACW type used to implement a remote access-to-subprogram
- type.
- (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
- New subprograms. Used to create a proxy tagged object for a remote
- subprogram. The proxy object is used as the designated object
- for RAS values on the same partition (unless All_Calls_Remote applies).
- (Build_Get_Unique_RP_Call): New subprogram. Build a call to
- System.Partition_Interface.Get_Unique_Remote_Pointer.
- (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
- Renamed from Add_RAS_*_Attribute.
- (Add_Receiving_Stubs_To_Declarations): Generate a table of local
- subprograms.
- New implementation of expansion for remote access-to-subprogram types,
- based on the RACW infrastructure.
-
- * exp_dist.ads (Copy_Specification): Update comment to note that this
- function can copy the specification from either a subprogram
- specification or an access-to-subprogram type definition.
-
-2004-09-09 Ed Schonberg <schonberg@gnat.com>
-
- * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
- in an instance, between an explicit subprogram an one inherited from a
- type derived from an actual.
-
- * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
- add a polling call if the subprogram is to be inlined by the back-end,
- to avoid repeated calls with multiple inlinings.
-
- * checks.adb (Apply_Alignment_Check): If the expression in the address
- clause is a call whose name is not a static entity (e.g. a dispatching
- call), treat as dynamic.
-
-2004-09-09 Robert Dewar <dewar@gnat.com>
-
- * g-trasym.ads: Minor reformatting
-
- * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
- packed arrays, since unused bits are expected to be zero for a
- comparison.
-
-2004-09-09 Eric Botcazou <ebotcazou@act-europe.fr>
-
- * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
- comment.
-
-2004-09-09 Pascal Obry <obry@gnat.com>
-
- * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
- enable map file generation. Add the right option to generate the map
- file if Map_File is set to True.
-
- * gnatdll.adb (Gen_Map_File): New variable.
- (Syntax): Add info about new -m (Map_File) option.
- (Parse_Command_Line): Add support for -m option.
- (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
- Minor reformatting.
-
-2004-09-09 Laurent Pautet <pautet@act-europe.fr>
-
- * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
- new gnatdist implementation.
- Define a subpackage isolating the output routines specific to this
- verbose mode.
-
-2004-09-09 Joel Brobecker <brobecker@gnat.com>
-
- * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
-
- * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
-
-2004-09-09 Cyrille Comar <comar@act-europe.fr>
-
- * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
- internal unit.
-
- * opt.ads: Add Ada_Version_Runtime constant used to decide which
- version of the language is used to compile the run time.
-
-2004-09-09 Arnaud Charlet <charlet@act-europe.fr>
-
- * sem_util.adb (Requires_Transient_Scope): Re-enable handling
- of variable length temporaries for function return now that the
- back-end and gigi support it.
-
-2004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
-
- * trans.c (struct stmt_group): Delete field GLOBAL.
- (gnat_init_stmt_group): Do not initialize it.
- (call_to_gnu): Use save_expr, not protect_multiple_eval.
- (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
- (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
- (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
- (start_stmt_group): Likewise.
- (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
-
- * utils2.c (ggc.h): Include.
- (build_call_raise): Call build_int_cst, not build_int_2.
-
- * utils.c (gnat_init_decl_processing): Fix arg to
- build_common_tree_nodes.
- (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
- (gnat_define_builtin): Set built_in_decls.
- (init_gigi_decls): Call build_int_cst, not build_int_2.
-
- * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
- (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
- (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
- (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
- SET_TYPE_MODULE): Use them.
- (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
- (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
- (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
- SET_TYPE_ADA_SIZE): Likewise.
- (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
- (DECL_CONST_CORRESPONDING_VAR,
- SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
- (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
- (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
- (TYPE_RM_SIZE_NUM): New macro.
- (TYPE_RM_SIZE): Modified to use above.
-
- * cuintp.c: (build_cst_from_int): New function.
- (UI_To_gnu): Use it.
-
- * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
- (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
- (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
- MIN_EXPR for the size, copy it into new.
-
-2004-09-01 Robert Dewar <dewar@gnat.com>
-
- * exp_ch6.adb (Expand_Call): Properly handle validity checks for
- packed indexed component where array is an IN OUT formal. This
- generated garbage code previously.
-
- * gnat_ugn.texi: Document -fverbose-asm
-
- * gnat-style.texi: Minor updates (note that boolean constants and
- variables are joined with AND/OR rather than short circuit forms).
-
-2004-09-01 Ed Schonberg <schonberg@gnat.com>
-
- * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
- it is an upward conversion of an untagged type with no representation
- change.
-
-2004-09-01 Thomas Quinot <quinot@act-europe.fr>
-
- * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
- System.Partition_Interface.
-
- * checks.adb (Apply_Access_Checks): Do not generate checks when
- expander is not active (but check for unset reference to prefix of
- dereference).
-
- * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
- pragma Debug as an if statement with a constant condition, for
- consistent treatment of entity references contained within the
- enclosed procedure call.
-
-2004-09-01 Vincent Celier <celier@gnat.com>
-
- * bindgen.adb: (Set_EA_Last): New procedure
- (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
- Set_EA_Last.
- (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
- (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
- linked without errors.
- (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
- ST and EA.
- (Gen_Exception_Table_C): Correct same bugs
-
- * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
-
- * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
- on Windows, make sure that the drive letter is in upper case.
-
- * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
- Windows, when the drive letter is added and Case_Sensitive is True, the
- drive letter is forced to upper case.
-
- * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
- to Options_2 for the call to MLib.Utl.Gcc.
-
- * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
- directory separator when defining BASE_DIR.
-
-2004-09-01 Pascal Obry <obry@gnat.com>
-
- * gprcmd.adb (Extend): Do not output trailing directory separator. This
- is not needed and it confuses Windows GNU/make which does not report
- directory terminated by a slash as a directory.
- (gprcmd): Idem for "pwd" internal command.
-
- * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
- target names rewrite to fix regressions with recent version of
- GNU/make. Starting with GNU/make 3.80 the pipe character was not
- handled properly anymore.
-
-2004-09-01 Andreas Schwab <schwab@suse.de>
-
- * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
- * raise.c [!IN_RTS]: Undef abort.
-
-2004-08-27 Nathan Sidwell <nathan@codesourcery.com>
-
- * utils2.c (build_allocator): Use ssize_int.
-
- * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
-
-2004-08-27 Andreas Schwab <schwab@suse.de>
-
- * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
-
-2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
- Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
-
-2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
-
- * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
- * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
- * utils.c (init_gigi_decls): Likewise.
- * utils2.c (build_call_raise, build_allocator): Likewise.
-
-2004-08-24 Nathan Sidwell <nathan@codesourcery.com>
-
- * utils.c (gnat_init_decl_processing): Adjust
- build_common_tree_nodes call.
-
-2004-08-20 Nathan Sidwell <nathan@codesourcery.com>
-
- * utils2.c (build_allocator): Use build_int_cst for negative
- size types.
-
-2004-08-18 Richard Henderson <rth@redhat.com>
-
- * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
-
-2004-08-16 Nathan Sidwell <nathan@codesourcery.com>
-
- * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
- call.s
- * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
- (gnat_to_gnu): Likewise.
-
-2004-08-16 Pascal Obry <obry@gnat.com>
-
- * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
- backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
- option and not mdll anymore. Update comment.
-
-2004-08-16 Pascal Obry <obry@gnat.com>
-
- * bld.adb (Put_Include_Project): Properly handle directory separators
- on Windows.
-
-2004-08-16 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
- decreasing the number of allocated junk nodes while searching for the
- appropriate subprogram.
-
-2004-08-15 Nathan Sidwell <nathan@codesourcery.com>
-
- * cuintp.c (UI_To_gnu): Use build_int_cst..
- * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
- * utils.c (init_gigi_decls): Likewise.
- * utils2.c (build_call_raise): Likewise.
-
-2004-08-13 Olivier Hainque <hainque@act-europe.fr>
-
- * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
- for a global aliased object with a variable size and an unconstrained
- nominal subtype, pretend there is no initializer if the one we have is
- incomplete, and avoid referencing an inexistant component in there. The
- part we have will be rebuilt anyway and the reference may confuse
- further operations.
-
-2004-08-13 Thomas Quinot <quinot@act-europe.fr>
-
- * einfo.ads: Minor reformatting
-
- * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
- restrictions in the ALI if we only want to warn about violations.
-
-2004-08-13 Vincent Celier <celier@gnat.com>
-
- * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
- when creating a new Unit_Record in table Units.
-
- * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
- that are violated, if any.
-
- * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
- add directory separator if path already ends with a directory separator.
-
-2004-08-13 Ed Schonberg <schonberg@gnat.com>
-
- * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
- unit, this is an attempt to inline a construct that is not available in
- the current restricted mode, so abort rather than trying to continue.
-
- * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
- discriminants that rename those of the parent, recover names of
- original discriminants for the constraint on the full view of the
- parent.
- (Complete_Private_Subtype): Do not create a subtype declaration if the
- subtype is an itype.
-
- * gnat_rm.texi: Added section on implementation of discriminated
- records with default values for discriminants.
-
-2004-08-13 Ed Schonberg <schonberg@gnat.com>
-
- PR ada/15601
- * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
- the second operand is overloaded.
-
-2004-08-10 Richard Henderson <rth@redhat.com>
-
- * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
- add __builtin_alloca.
-
-2004-08-10 Richard Henderson <rth@redhat.com>
-
- * config-lang.in (boot_language): Yes.
-
-2004-08-09 Thomas Quinot <quinot@act-europe.fr>
-
- * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
- from complaining on potential uninitialized reference.
- Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
- new specification and test explicitly for non-zero return value.
-
- * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
- returning C.int, to avoid using a derived boolean type.
-
- * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
- Duplicate_Subexpr_No_Checks in preference to direct use of
- Remove_Side_Effects and New_Copy_Tree.
- Clear Comes_From_Source on prefix of 'Size attribute reference.
-
- * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
- g-socthi-vxworks.adb: Change calls to
- GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
- and test explicitly for non-zero return value.
-
- * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
- (Is_Socket_In_Set): Declare imported function as returning C.int, to
- avoid using a derived boolean type.
-
-2004-08-09 Albert Lee <lee@gnat.com>
-
- * system-irix-n32.ads: Refine tasking priority constants for IRIX.
-
-2004-08-09 Pascal Obry <obry@gnat.com>
-
- * gnat_ugn.texi: Document new way to build DLLs on Windows using
- GCC's -shared option.
-
- * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
- Options_2 parameter (options put after object files).
-
-2004-08-09 Olivier Hainque <hainque@act-europe.fr>
-
- * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
- ignore overflows on low and high bounds of an index to also account for
- differences in signedness between sizetype and gnu_index_subtype.
- These are as legitimate as the ones caused by a lower TYPE_PRECISION
- on sizetype.
-
-2004-08-09 Robert Dewar <dewar@gnat.com>
-
- * s-solita.ads, s-solita.adb: Minor reformatting
-
- * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
- Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
- obsolescent section
- Add note that No_Implicit_Conditionals does not suppress
- run time constraint checks.
-
- * vms_conv.ads: Minor reformatting
-
- * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
- and necessary for following change).
- (Mark): Return new format Mark_Id containing sec stack address
- (Release): Use sec stack address from Mark_Id avoiding Self call
-
- * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
- pointer (cleanup and necessary for following change).
- Define Mark_Id as record containing address of secondary stack, that way
- Release does not need to find the stack again, decreasing the number of
- calls to Self and improving efficiency.
-
- * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
-
- * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
- case variable into the individual case branches when possible.
-
- * sem_ch11.adb: Minor reformatting
-
- * prj.ads: Correct spelling of suffixs
-
- * prj-nmsc.adb: Minor reformatting
- Correct spelling suffixs throughout (also in identifiers)
-
- * freeze.adb: Minor spelling correction
-
- * exp_ch2.adb: Cleanups to handling of Current_Value
- (no functional effect).
-
- * bld.adb: Correct spelling of suffixs
-
- * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
-
-2004-08-09 Ed Schonberg <schonberg@gnat.com>
-
- PR ada/15408
- * sem_ch7.adb (Install_Private_Declarations): In the body of the
- package or of a child, private entities are both immediately_visible
- and not hidden.
-
-2004-08-09 Ed Schonberg <schonberg@gnat.com>
-
- * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
- there are no range checks on the value of the literal.
-
- * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
- wrapped is the triggering alternative of an asynchronous select, action
- statements mustbe inserted before the select itself.
-
- * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
- case where the prefix is a protected function call.
- (Resolve_Attribute, case 'Access): The attribute reference on a
- subprogram is legal in a generic body if the subprogram is declared
- elsewhere.
-
-2004-08-09 Vincent Celier <celier@gnat.com>
-
- * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
- languages, otherwise building the library may fail with unresolved
- symbols.
- (Compile_Sources): Do not build libraries if -c switch is used
-
- * gnatlink.adb (Process_Args): New switches -M and -Mmap
- (Write_Usage): If map file creation is supported, output new switches
- -M and -Mmap.
- (Gnatlink): When -M is specified, add the necessary switch(es) to the
- gcc call, when supported.
-
- * Makefile.in: Added indepsw.o to the object list for gnatlink
- Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
-
- * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
- indepsw.adb, indepsw.ads: New files.
-
-2004-08-09 Bernard Banner <banner@gnat.com>
-
- * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
-
- * Makefile.in: add section for vxworks x86
-
-2004-08-09 Hristian Kirtchev <kirtchev@gnat.com>
-
- * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
- per-object constrained components where the discriminant is of an
- Access type.
- (Build_Record_Init_Proc): Add condition to prevent the inheritance of
- the parent initialization procedure for derived Unchecked_Unions.
- Instead, derived Unchecked_Unions build their own initialization
- procedure.
- (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
- Check the body of the subprogram for details.
- (Freeze_Record_Type): Prevent the inheritance of discriminant checking
- functions for derived Unchecked_Union types by introducing a condition.
- Allow the creation of TSS equality functions for Unchecked_Unions.
- (Make_Eq_Case): Rename formal parameter Node to E in function signature.
- Add formal parameter Discr to function signature. Discr is used to
- control the generated case statement for Unchecked_Union types.
- (Make_Eq_If): Rename formal parameter Node to E in function signature.
-
- * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
- Unchecked_Unions.
- Check the body of the subprogram for details.
- (Expand_Composite_Equality): Augment composite type equality to include
- correct handling of Unchecked_Union components.
- (Expand_N_In): Add condition to detect illegal membership tests when the
- subtype mark is a constrained Unchecked_Union and the expression lacks
- inferable discriminants, and build a Raise_Program_Error node.
- (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
- to detect types that contain components of unconstrained Unchecked_Union
- subtype. Add condition to detect equality between types that have an
- unconstrained Unchecked_Union component, and build a Raise_Program_Error
- node. Add condition to detect equality between Unchecked_Union types
- that lack inferable discriminants, and build a Raise_Program_Error node.
- Otherwise build a TSS equality function call.
- (Expand_N_Type_Conversion): Add condition to detect illegal conversions
- from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
- with the operand lacking inferable discriminants, and build a Raise_
- Program_Error node.
- (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
- composite equality.
- (Has_Inferable_Discriminants): Implement new predicate for objects and
- expressions of Unchecked_Union type. Check the body of subprogram for
- details.
- (Has_Unconstrained_UU_Components): Add function
- Component_Is_Unconstrained_UU. It is used to detect whether a single
- component is of an unconstrained Unchecked_Union subtype. Add function
- Variant_Is_Unconstrained_UU. It is used to detect whether a single
- component inside a variant is of an unconstrained Unchecked_Union type.
-
- * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
- inferred discriminant values. Add condition to generate a case
- statement with an inferred discriminant as the switch.
- (Make_Component_List_Assign): Introduce a Boolean flag that determines
- the behaviour of the subprogram in the presence of an Unchecked_Union.
- Add condition to trigger the usage of the inferred discriminant value
- as the generated case statement switch.
- (Make_Field_Assign): Introduce a Boolean flag that determines the
- behaviour of the subprogram in the presence of an Unchecked_Union. Add
- condition to trigger the usage of the inferred discriminant value as
- the right-hand side of the generated assignment.
-
- * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
- parameter generation when dealing with Unchecked_Unions.
-
- * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
- checks for Unchecked_Unions.
-
- * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
-
- * exp_attr.adb (Expand_N_Attribute_Reference): Produce
- Raise_Program_Error nodes for the execution of Read and Write
- attributes of Unchecked_Union types and the execution of Input and
- Output attributes of Unchecked_Union types that lack default
- discriminant values.
-
- * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
- Unchecked_Union. Add procedure Check_Component. It is used to inspect
- per-object constrained components of Unchecked_Unions for being
- Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
- check individual components withing a variant.
-
- * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
- comparison of Unchecked_Unions.
- (Resolve_Equality_OP): Remove guard that prevents equality between
- Unchecked_Unions.
-
- * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
- of component subtypes for Unchecked_Union components.
- (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
- since it is the actual subtype.
-
- * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
- pass of Unchecked_Union subtypes as generic actuals to formal types
- that lack known_discriminant_parts or that are derived Unchecked_Union
- types, and do nothing. In any other case, produce an error message.
-
- * sem_ch3.adb (Analyze_Component_Declaration): Add function
- Contains_POC. It determines whether a constraint uses the discriminant
- of an enclosing record type.
- Add condition to detect per-object constrained component and set the
- appropriate flag.
- (Derived_Type_Declaration): Remove guard that prevents derivation from
- Unchecked_Union types.
- (Process_Subtype): Remove quard that prevents the creation of Unchecked_
- Union subtypes.
-
- * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
- references to Unchecked_Union discriminants.
-
- * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
- formal generation when dealing with Unchecked_Unions.
- (Set_Actual_Subtypes): Add condition to prevent generation of actual
- subtypes for Unchecked_Unions.
-
- * sem_ch7.adb (Analyze_Package_Specification): Add procedure
- Inspect_Unchecked_Union_Completion. It is used to detect incorrect
- completions of discriminated partial views by Unchecked_Unions and
- produce an error message.
-
-2004-08-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * trans.c (struct stmt_group): New field, GLOBAL.
- (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
- (struct elab_info): New struct.
- (elab_info_list, gnu_elab_proc_stack): New variables.
- (Compilation_Unit_to_gnu): New procedure.
- (gigi): Call it and also handle elaboration procs we've saved.
- (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
- global field from parent.
- (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
- (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
- (start_stmt_group): Initialize global field from parent.
- (add_decl_expr): Set to global for current statement group.
- (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
- post.
-
- * utils.c (global_bindings_p): True when no current_function_decl; no
- longer check current_binding_level.
-
-2004-08-09 Ben Brosgol <brosgol@gnat.com>
-
- * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
- choice.
-
- * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
-
-2004-08-06 Andreas Schwab <schwab@suse.de>
-
- * utils.c (gnat_define_builtin): Remove second parameter of
- make_decl_rtl.
- (begin_subprog_body): Likewise.
-
-2004-07-26 Arnaud Charlet <charlet@act-europe.fr>
-
- * sem_util.adb (Requires_Transient_Scope): Temporarily disable
- optimization, not supported by the tree-ssa back-end.
-
-2004-07-26 Olivier Hainque <hainque@act-europe.fr>
-
- * s-mastop-irix.adb: Update comments.
-
- * a-except.adb (Exception_Information): Raise Constraint_Error if
- exception Id is Null_Id.
- This is required behavior, which is more reliably and clearly checked
- at the top level interface level.
-
-2004-07-26 Javier Miranda <miranda@gnat.com>
-
- * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
- call if a component has no default_expression and the box is used.
-
- * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
- default_expression and you use box, it behaves as if you had declared a
- stand-alone object.
- (Resolve_Record_Aggregate): If a component has no default_expression and
- you use box, it behaves as if you had declared a stand-alone object.
-
- * sem_ch10.adb (Install_Siblings): Do not make visible the private
- entities of private-with siblings.
-
-2004-07-26 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
- for a component of an itype, set the parent pointer for analysis,
- there is no list in which to insert it.
-
- * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
- bona-fide renamings, not for inherited operations.
-
- * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
- actual for a formal that is an access parameter, create local
- finalization list even if the expression is not an aggregate.
-
-2004-07-26 Ed Schonberg <schonberg@gnat.com>
-
- PR ada/16213
- * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
- Diagnose properly illegal subprogram renamings that are library units.
-
-2004-07-26 Ed Schonberg <schonberg@gnat.com>
-
- PR ada/15588
- * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
- conversion rewritten as an unchecked conversion, check that original
- expression is a variable.
-
- * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
- unchecked_conversion, create new node rather than rewriting in place,
- to preserve original construct.
-
-2004-07-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * gigi.h (gnat_expand_body): Deleted.
-
- * Make-lang.in: (trans.o): Depends on function.h.
-
- * misc.c: (gnat_expand_body): Moved to here.
-
- * trans.c (gnat_expand_body_1): Deleted.
- (gnat_expand_body): Moved from here.
- (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
- (add_stmt): Check for marked visited with global_bindings_p.
- (gnat_gimplify_expr, case COMPONENT_REF): New case.
- (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
-
- * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
- VIEW_CONVERT_EXPR if not operation type.
-
- * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
- fat pointer.
-
- * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
- changes: reformatting of negation operators, removing unneeded
- inequality comparison with zero, converting equality comparisons with
- zero to negations, changing int/0/1 to bool/false/true, replace calls
- to gigi_abort with abort, and various other similar changes.
-
-2004-07-26 Vincent Celier <celier@gnat.com>
-
- * gnatcmd.adb (GNATCmd): Add processing for new built-in command
- "setup".
-
- * make.adb (Gnatmake): Fail when a library is not present and there is
- no object directory.
-
- * mlib-prj.adb (Check_Library): No need to check if the library needs
- to be rebuilt if there is no object directory, hence no object files
- to build the library.
-
- * opt.ads (Setup_Projects): New Boolean flag.
-
- * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
- Location.
- Create directory when Kind /= "" and in "gnat setup". Report error if
- directory cannot be created.
- (Ada_Check): Create library interface copy dir if it does not exist
- and we are in "gnat setup".
- (Find_Sources): No error if in "gnat setup" and no Ada sources were
- found.
- (Language_Independent_Check): Create object directory, exec directory
- and/or library directory if they do not exist and we are in
- "gnat setup".
-
- * vms_conv.ads: (Command_Type): New command Setup.
-
- * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
-
- * vms_data.ads: Add qualifiers/switches for new built-in command
- "setup".
-
-2004-07-25 Richard Henderson <rth@redhat.com>
-
- * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
- DECL_IGNORED_P on RESULT_DECL.
-
-2004-07-20 Olivier Hainque <hainque@act-europe.fr>
-
- * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
- allocation and potentially overflowing update with
- Tailored_Exception_Information. Use the sec-stack free procedural
- interface to output Exception_Information instead.
-
- * a-except.adb (To_Stderr): New subprogram for character, and string
- version moved from a-exextr to be visible from other separate units.
- (Tailored_Exception_Information): Remove the procedural version,
- previously used by the default Last_Chance_Handler and not any more.
- Adjust various comments.
-
- * a-exexda.adb: Generalize the exception information procedural
- interface, to minimize the use of secondary stack and the need for
- local buffers when the info is to be output to stderr:
- (Address_Image): Removed.
- (Append_Info_Character): New subprogram, checking for overflows and
- outputing to stderr if buffer to fill is of length 0.
- (Append_Info_String): Output to stderr if buffer to fill is of length 0.
- (Append_Info_Address, Append_Info_Exception_Name,
- Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
- Append_Info_Basic_Exception_Traceback,
- Append_Info_Exception_Information): New subprograms.
- (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
- (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
- Exception_Info_Maxlength, Exception_Name_Length,
- Exception_Message_Length): New subprograms.
- (Exception_Information): Use Append_Info_Exception_Information.
- (Tailored_Exception_Information): Use
- Append_Info_Basic_Exception_Information.
- Export services for the default Last_Chance_Handler.
-
- * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
- other separate units.
-
-2004-07-20 Vincent Celier <celier@gnat.com>
-
- * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
-
-2004-07-20 Ed Schonberg <schonberg@gnat.com>
-
- * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
- emit itype references for the designated types of component types that
- are declared outside of the full record declaration, and that may
- denote a partial view of that record type.
-
-2004-07-20 Ed Schonberg <schonberg@gnat.com>
-
- PR ada/15607
- * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
- which is the designated type in an access component declaration, to the
- list of incomplete dependents of the parent type, to avoid elaboration
- issues with out-of-scope subtypes.
- (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
- full view of the parent.
-
-2004-07-20 Ed Schonberg <schonberg@gnat.com>
-
- PR ada/15610
- * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
- entities that are hidden, such as references to generic actuals
- outside an instance.
-
-2004-07-20 Javier Miranda <miranda@gnat.com>
-
- * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
- support to the new notation.
- (Analyze_Selected_Component): Add call to Try_Object_Operation.
-
-2004-07-20 Jose Ruiz <ruiz@act-europe.fr>
-
- * s-taprob.adb: Adding the elaboration code required for initializing
- the tasking soft links that are common to the full and the restricted
- run times.
-
- * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
- restricted run time has been moved to the package
- System.Soft_Links.Tasking.
-
- * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
- restricted run time has been moved to the package
- System.Soft_Links.Tasking.
-
- * Makefile.rtl: Add entry for s-solita.o in run-time library list.
-
- * s-solita.ads, s-solita.adb: New files.
-
-2004-07-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
- Case_Statement_to_gnu): Split off from gnat_to_gnu.
- (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
- Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
- Exception_Handler_to_gnu_zcx): Likewise.
-
-2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk>
-
- * gigi.h (builtin_function): Declare.
-
-2004-07-15 Robert Dewar <dewar@gnat.com>
-
- * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
- reformatting
-
- * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
- access values as an example of a warning.
-
- * gnat_rm.texi: Document new attribute Has_Access_Values
-
- * gnat-style.texi: Document that box comments belong on nested
- subprograms
-
- * sem_util.ads (Has_Access_Values): Improved documentation
-
- * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
-
- * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
- (Process_Interface_Name): Call to this new procedure
- (Set_Extended_Import_Export_External_Name): Call to this new procedure
-
- * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
-
- * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
-
- * einfo.ads: Minor comment typo fixed
-
-2004-07-15 Jose Ruiz <ruiz@act-europe.fr>
-
- * snames.adb: Add _atcb.
-
- * snames.ads: Add Name_uATCB.
-
- * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
- (in the expanded code) when using the restricted run time.
-
- * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
- a in parameter in order to allow ATCBs to be preallocated (in the
- expanded code).
-
- * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
- order to allow ATCBs to be preallocated. In case of error, the ATCB is
- deallocated in System.Tasking.Stages.
-
- * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
- order to allow ATCBs to be preallocated.
-
- * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
- here. It was previously done in Initialize_ATCB.
-
- * rtsfind.ads: Make the Ada_Task_Control_Block visible.
-
- * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
- Restricted run time.
-
- * exp_ch3.adb: When using the Restricted run time, pass the
- preallocated Ada_Task_Control_Block when creating a task.
-
-2004-07-15 Ed Schonberg <schonberg@gnat.com>
-
- * sem_util.adb (Normalize_Actuals): If there are no actuals on a
- function call that is itself an actual in an enclosing call, diagnose
- problem here rather than assuming that resolution will catch it.
-
- * sem_ch7.adb (Analyze_Package_Specification): If the specification is
- the local copy of a generic unit for a formal package, and the generic
- is a child unit, install private part of ancestors before compiling
- private part of spec.
-
- * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
- use scope entities rather than tree structures, to handle properly
- parent units that are instances rewritten as bodies for inlining
- purposes.
-
- * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
- Remove_Parents): Handle properly a parent unit that is an
- instantiation, when the unit has been rewritten as a body for inlining
- purposes.
-
- * par.adb (Goto_List): Global variable to collect goto statements in a
- given unit, for use in detecting natural loops.
-
- * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
- use in detecting natural loops.
-
- * par-labl.adb (Find_Natural_Loops): Recognize loops create by
- backwards goto's, and rewrite as a infinite loop, to improve locality
- of temporaries.
-
- * exp_util.adb (Force_Evaluation): Recognize a left-hand side
- subcomponent that includes an indexed reference, to prevent the
- generation of copies that would miscompile the desired assignment
- statement.
- (Build_Task_Image_Decls): Add a numeric suffix to
- generated name for string variable, to avoid spurious conflicts with
- the name of the type of a single protected object.
-
- * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
- loop with an explicit exit statement, to avoid generating an
- out-of-range value with 'Succ leading to spurious constraint_errors
- when compiling with -gnatVo.
-
-2004-07-15 Thomas Quinot <quinot@act-europe.fr>
-
- * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
- might not be analyzed yet, even if its Etype is already set (case of an
- unchecked conversion built using Unchecked_Convert_To, for example).
- If the prefix has already been analyzed, this will be a nop anyway.
-
- * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
- controller type, or an assignment of a record type with controlled
- components, copy only user data, and leave the finalization chain
- pointers untouched.
-
-2004-07-15 Vincent Celier <celier@gnat.com>
-
- * make.adb (Collect_Arguments): Improve error message when attempting
- to compile a source not part of any project, when -x is not used.
-
- * prj.ads: (Defined_Variable_Kind): New subtype
-
- * prj-attr.adb (Register_New_Package): Two new procedures to register
- a package with or without its attributes.
- (Register_New_Attribute): Mew procedure to register a new attribute in a
- package.
- New attribute oriented subprograms: Attribute_Node_Id_Of,
- Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
- Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
- Next_Attribute.
- New package oriented subprograms: Package_Node_Id_Of,
- Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
-
- * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
- type.
- (Package_Node_Id): Now a private, self initialized type
- (Register_New_Package): New procedure to register a package with its
- attributes.
- New attribute oriented subprograms: Attribute_Node_Id_Of,
- Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
- Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
- Next_Attribute.
- New package oriented subprograms: Package_Node_Id_Of,
- Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
-
- * prj-dect.adb (Parse_Attribute_Declaration,
- Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
-
- * prj-makr.adb (Make): Parse existing project file before creating
- other files. Fail if there was an error during parsing.
-
- * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
- new spec of Prj.Attr.
-
- * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
- to new spec of Prj.Attr.
-
-2004-07-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * utils2.c: Fix typo in comment.
-
-2004-07-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
- * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
-
-2004-07-14 Andreas Schwab <schwab@suse.de>
-
- * trans.c (gnat_init_stmt_group): Remove duplicate definition.
-
-2004-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
- object type.
- (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
- TYPE_STUB_DECL.
-
- * misc.c (gnat_types_compatible_p): New function.
- (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
- (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
-
- * trans.c (gigi): Move processing of main N_Compilation_Unit here.
- (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
- (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
- (mark_visited): Don't mark dummy type.
- (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
- parameter, we must remove any LJM building from GNU_NAME.
- (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
- (pos_to_constructor): Use int_const_binop.
- (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
- PARM_DECL.
-
- * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
- (gnat_pushlevel): Set TREE_USE on BLOCK node.
- (gnat_install_builtins): Add __builtin_memset.
-
-2004-07-13 Olivier Hainque <hainque@act-europe.fr>
-
- * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
- for a renaming, stabilize the initialization expression if we are at a
- local level. At the local level, uses of the renaming may be performed
- by a direct dereference of the initializing expression, and we don't
- want possible variables there to be evaluated for every use.
-
- * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
- Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
- them on the way. Account for the fact that we may introduce side
- effects in the process.
-
-2004-07-13 Richard Henderson <rth@redhat.com>
-
- * misc.c (default_pass_by_ref): Use pass_by_reference.
-
-2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
-
- * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
- LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
-
-2004-07-08 Richard Henderson <rth@redhat.com>
-
- * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
- commentary.
-
-2004-07-06 Vincent Celier <celier@gnat.com>
-
- * vms_conv.ads: Minor reformatting.
- Alphabetical order for enumerated values of type Command_Type, to have
- the command in alphabetical order for the usage.
-
- * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
- the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
-
- * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
-
- * makegpr.adb (Global_Archive_Exists): New global Boolean variable
- (Add_Archive_Path): Only add the global archive if there is one.
- (Build_Global_Archive): Set Global_Archive_Exists depending if there is
- or not any object file to put in the global archive, and don't build
- a global archive if there is none.
- (X_Switches): New table
- (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
- in the X_Switches table, if any.
- (Initialize): Make sure the X_Switches table is empty
- (Scan_Arg): Record -X switches in table X_Switches
-
- * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
-
- * make.adb: Minor comment fix
-
- * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
- invoked with directory information, add the directory in front of the
- path.
-
- * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
- invoked with directory information, add the directory in front of the
- path.
-
- * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
- when Keep_Temporary_Files is False.
- (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
- directory information, add the directory in front of the path.
- When not on VMS, handle new switch -dn before the command to set
- Keep_Temporary_Files to True.
- (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
- everywhere.
-
- * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
- invoked with directory information, add the directory in front of the
- path.
-
-2004-07-06 Thomas Quinot <quinot@act-europe.fr>
-
- * snames.ads, snames.adb (Name_Stub): New name for the distributed
- systems annex.
-
- * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
- New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
-
- * g-socket.adb (To_Timeval): Fix incorrect conversion of
- Selector_Duration to Timeval for the case of 0.0.
-
- * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
- documentation from Evolve_And_Then.
-
-2004-07-06 Jose Ruiz <ruiz@act-europe.fr>
-
- * s-taprop-tru64.adb, s-taprop-os2.adb,
- s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
-
-2004-07-06 Robert Dewar <dewar@gnat.com>
-
- * s-osinte-hpux.ads, s-osinte-freebsd.ads,
- s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
- s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
- s-interr-sigaction.adb, s-taprop-irix-athread.adb,
- s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
- s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
- s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
- s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
- a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
- a-tags.ads, bindgen.ads, checks.adb, checks.adb,
- csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
- exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
- g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
- i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
- sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
- sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
- sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
- s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
- s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
- s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
- vms_data.ads: Minor reformatting,
- Fix bad box comment format.
-
- * gnat_rm.texi: Fix minor grammatical error
-
- * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
-
- * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
- more cases of discriminated records to be recognized as not needing a
- secondary stack.
- (Has_Access_Values): New function.
-
- * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
-
- * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
- Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
- with LRM terminology).
- Change terminology in comments primitive type => elementary type.
-
-2004-07-06 Ed Schonberg <schonberg@gnat.com>
-
- PR ada/15602
- * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
- parameters do not impose any requirements on the presence of a body.
-
-2004-07-06 Ed Schonberg <schonberg@gnat.com>
-
- PR ada/15593
- * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
- compilation unit and is in an open scope at the point of instantiation,
- assume that a body may be present later.
-
-2004-07-06 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
- Improve error message when specified size is not supported.
-
- * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
- is never a primitive operation.
-
-2004-07-05 Andreas Schwab <schwab@suse.de>
-
- * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
- RECORD_OR_UNION_CHECK.
- (TYPE_CONTAINS_TEMPLATE_P): Likewise.
-
-2004-07-04 Kelley Cook <kcook@gcc.gnu.org>
-
- * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
- dependency on xgnatugn, instead build it via a submake.
- (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
-
-2004-07-04 Richard Henderson <rth@redhat.com>
-
- * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
-
-2004-07-01 Richard Henderson <rth@redhat.com>
-
- * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
- * utils.c (max_size): Likewise.
-
-2004-06-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
- and rest_of_type_compilation; add arg to create_*_decl.
- (annotate_decl_with_node): Deleted.
- (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
- * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
- (get_current_block_context, gnat_pushdecl): New declarations.
- (gnat_init_stmt_group): Likewise.
- (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
- * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
- (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
- (gnat_init): Call gnat_init_stmt_group.
- * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
- (gnu_pending_elaboration_list): Deleted.
- (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
- (gigi): Rearrange initialization calls and move some to last above.
- (gnat_to_gnu): If statement and not in procedure, go into elab proc.
- Delete calls to add_decl_expr; add arg to create_*_decl.
- (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
- (gnat_to_gnu, case N_Subprogram_Body): Move some code to
- begin_subprog_body and call it.
- Don't push and pop ggc context.
- (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
- (add_stmt): Remove handling of DECL_EXPR from here.
- If not in function, mark visited.
- (add_decl_expr): Put global at top level.
- Check for cases of DECL_INITIAL we have to handle here.
- (process_type): Add extra arg to create_type_decl.
- (build_unit_elab): Rework to just gimplify.
- * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
- (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
- (get_pending_elaborations, pending_elaborations_p): Likewise.
- (push_pending_elaborations, pop_pending_elaborations): Likewise.
- (get_elaboration_location, insert_elaboration_list): Likewise.
- (gnat_binding_level): Renamed from ada_binding_level.
- (init_gnat_to_gnu): Don't clear pending_elaborations.
- (global_bindings_p): Treat as global if no current_binding_level.
- (set_current_block_context): New function.
- (gnat_pushdecl): Renamed from pushdecl; major rework.
- All callers changed.
- (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
- (finish_record_type): Call call pushdecl for stub decl.
- (function_nesting_depth): Deleted.
- (begin_subprog_body): Delete obsolete code.
- * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
-
-2004-06-28 Robert Dewar <dewar@gnat.com>
-
- * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
- mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
- mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
- mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
- a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
-
- * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
- deal with problem of inefficient slices on machines with strict
- alignment, when the slice is a component of a composite.
-
- * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
- machines, we need the check there as well.
-
-2004-06-28 Ed Schonberg <schonberg@gnat.com>
-
- * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
- determine safe copying direction for overlapping slice assignments
- when component is controlled.
-
- * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
- formal derived type in the actual for a formal package are visible in
- the enclosing instance.
-
-2004-06-28 Ed Schonberg <schonberg@gnat.com>
-
- PR ada/15600
- * sem_util.adb (Trace_Components): Diagnose properly an illegal
- circularity involving a private type whose completion includes a
- self-referential component.
- (Enter_Name): Use Is_Inherited_Operation to distinguish a source
- renaming or an instantiation from an implicit derived operation.
-
-2004-06-28 Pascal Obry <obry@gnat.com>
-
- * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
- DLL.
- (Library_File_Name_For): Idem.
-
-2004-06-28 Matthew Gingell <gingell@gnat.com>
-
- * g-traceb.ads: Add explanatory note on the format of addresses
- expected by addr2line.
-
-2004-06-28 Jerome Guitton <guitton@act-europe.fr>
-
- * Makefile.in: Force debugging information on s-tasdeb.adb,
- a-except.adb and s-assert.adb needed by the debugger.
-
-2004-06-28 Vincent Celier <celier@gnat.com>
-
- * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
- Need_To_Build_Lib.
- (Gnatmake): Ditto.
-
- * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
-
- * prj.adb: Minor reformatting
- (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
-
- * prj.ads: Comment updates
- Minor reformatting
- (Project_Data): Change Flag1 to Need_To_Build_Lib.
- Remove Flag2: not used.
-
- * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
- declaration.
-
- * gnat_ugn.texi: Put a "null;" declaration in one project file example
-
- * gnat_rm.texi: Document Empty declarations "null;".
-
- * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
- front of the linker options.
- (Link_Foreign): Put the global archives and the libraries in front of
- the linker options.
-
-2004-06-28 Javier Miranda <miranda@gnat.com>
-
- * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
- (RTU_Loaded): Code cleanup
- (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
- withed predefined units.
-
- * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
- explicitly withed predefined units.
- Fix typo in comment
-
- * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
- explicitly withed predefined units.
-
-2004-06-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * ada-tree.def (DECL_STMT): Deleted.
- * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
- (DECL_STMT_VAR): Deleted.
- * decl.c: add_decl_stmt now add_decl_expr.
- * gigi.h: Likewise.
- * trans.c: Likewise.
- (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
- (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
- (add_stmt): Only handle padded type here.
- (add_stmt_with_node): Allow gnat_node to not be present.
- (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
- (gnat_gimplify_stmt, case DECL_STMT): Deleted.
- (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
- make a SAVE_EXPR for the entire fat pointer.
- * utils.c (pushdecl): Walk a DECL_EXPR in global case.
- (create_index_type): Make a DECL_EXPR.
- (end_subprog_body): Don't call allocate_struct_function here but
- do clear cfun.
-
-2004-06-25 Pascal Obry <obry@gnat.com>
-
- * makegpr.adb (Build_Library): Remove parameter Lib_Address and
- Relocatable from Build_Dynamic_Library call.
-
- * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
- Relocatable are now synonym.
-
- * Makefile.in: Use s-parame-mingw.adb on MingW platform.
-
- * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
- Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
- call.
-
- * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
- Lib_Address and Relocatable.
- (Default_DLL_Address): Removed.
-
- * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
- mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
- mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
- (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
- (Default_DLL_Address): Removed.
-
- * mlib-tgt-mingw.adb: Ditto.
- (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
-
- * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
- the initial thread stack size.
-
- * a-strmap.ads: Move package L to private part as it is not used in
- the spec. Found while reading code.
-
-2004-06-25 Olivier Hainque <hainque@act-europe.fr>
-
- * tracebak.c: Introduce support for a GCC infrastructure based
- implementation of __gnat_backtrace.
-
- * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
- any more. Use accessors instead. This eases maintenance and relaxes
- some alignment constraints.
- (_GNAT_Exception structure): Remove the Ada specific fields
- (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
- a-exexpr.adb.
- (is_handled_by, __gnat_eh_personality): Replace component references to
- exception structure by use of the new accessors.
-
- * init.c (__gnat_initialize): Adjust comments to match the just
- reverted meaning of the -static link-time option.
-
- * adaint.c (convert_addresses): Arrange not to define a stub for
- mips-irix any more, as we now want to rely on a real version from a
- recent libaddr2line.
-
- * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
- the personality routine can use them and not have to rely on a C
- counterpart of the record anymore. This simplifies maintenance and
- relaxes the constraint of having Standard'Maximum_Alignment match
- BIGGEST_ALIGNMENT.
- Update comments, and add a section on the common header alignment issue.
-
-2004-06-25 Geert Bosch <bosch@gnat.com>
-
- * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
- polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
-
-2004-06-25 Robert Dewar <dewar@gnat.com>
-
- * gnat_rm.texi: Fix section on component clauses to indicate that the
- restriction on byte boundary placement still applies for bit packed
- arrays.
- Add comment on stack usage from Initialize_Scalars
-
- * gnat_ugn.texi: Add documentation for -gnatyLnnn
-
- * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
- limiting nesting level.
-
- * usage.adb: Add line for -gnatyLnnn switch
-
- * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
- sem_ch13.adb, exp_aggr.adb: Minor reformatting
-
- * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
- type as well as on the subtype. This corrects a problem in freeze in
- setting alignments of atomic types.
-
- * sem_eval.ads: Minor comment typo fixed
-
- * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
- level. Minor reformatting.
-
- * fname.adb (Is_Predefined_File_Name): Require a letter after the
- minus sign. This means that file names like a--b.adb will not be
- considered predefined.
-
- * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
- record Test new flag and give diagnostic for bad component clause.
- (Freeze_Entity): Set alignment of array from component alignment in
- cases where this is safe to do.
-
- * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
- arrays.
-
- * cstand.adb: (Create_Standard): Set alignment of String to 1
-
- * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
-
- * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
- code in the common constrained array cases.
-
- * a-storio.adb: Change implementation to avoid possible alignment
- problems on machines requiring strict alignment (data should be moved
- as type Buffer, not type Elmt).
-
- * checks.adb (Apply_Array_Size_Check): Improve these checks by
- killing the overflow checks which we really do not need (64-bits is
- enough).
-
-2004-06-25 Vincent Celier <celier@gnat.com>
-
- * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
- (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
- inconditionally for the main project.
- (Recursive_Add_Archives.Add_Archive_Path): New procedure
- (Link_Executables.Check_Time_Stamps): New procedure
- (Link_Executables.Link_Foreign): New procedure
- Changes made to reduce nesting level of this package
- (Check): New procedure
- (Add_Switches): When not in quiet output, check that a switch is not
- the concatenation of several valid switches. If it is, issue a warning.
- (Build_Global_Archive): If the global archive is rebuilt, linking need
- to be done.
- (Compile_Sources): Rebuilding a library archive does not imply
- rebuilding the global archive.
- (Build_Global_Archive): New procedure
- (Build_Library): New name for Build_Archive, now only for library
- project
- (Check_Archive_Builder): New procedure
- (Create_Global_Archive_Dependency_File): New procedure
- (Gprmake): Call Build_Global_Archive before linking
- * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
- throughout.
- (Scan_Arg): Display the Copyright notice when -v is used
-
- * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
- for gnatls.
-
- * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
- COMPILE.
- Add new GNAT LIST qualifier /FILES=
- Added qualifier /DIRECTORY= to GNAT METRIC
- Added qualifier /FILES= to GNAT METRIC
- Added qualifier /FILES to GNAT PRETTY
-
- * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
- to take into account both versions of the switch.
-
- * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
- always be the last switch to the gcc driver. Disable switch storing so
- that switches automatically added by the gcc driver are not put in the
- ALI file.
-
- * prj.adb (Project_Empty): Take into account changes in components of
- Project_Data.
-
- * prj.ads (Languages_Processed): New enumaration value All_Languages.
-
- * prj.ads (Project_Data): Remove component Lib_Elaboration: never
- used. Split Boolean component Ada_Sources_Present in two Boolean
- components Ada_Sources_Present and Other_Sources_Present.
- Minor reformatting
-
- * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
- instead of Sources_Present.
- (Set_Ada_Paths.Add.Recursive_Add): Ditto
-
- * prj-nmsc.adb: Minor reformatting
- (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
- (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
- Check_Ada_Naming_Scheme.
- Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
- throughout.
-
- * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
- In_Limited.
- Make sure that all cycles where there is at least one "limited with"
- are detected.
- (Parse_Single_Project): New Boolean parameter In_Limited
-
- * prj-proc.adb (Recursive_Check): When Process_Languages is
- All_Languages, call first Prj.Nmsc.Ada_Check, then
- Prj.Nmsc.Other_Languages_Check.
-
- * prj-proc.adb (Process): Use Ada_Sources_Present or
- Other_Sources_Present (instead of Sources_Present) depending on
- Process_Languages.
-
- * lang-specs.h: Keep -g and -m switches in the same order, and as the
- last switches.
-
- * lib.adb (Switch_Storing_Enabled): New global Boolean flag
- (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
- False.
- (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
- False.
-
- * lib.ads (Disable_Switch_Storing): New procedure.
-
- * make.adb: Modifications to reduce nesting level of this package.
- (Check_Standard_Library): New procedure
- (Gnatmake.Check_Mains): New procedure
- (Gnatmake.Create_Binder_Mapping_File): New procedure
- (Compile_Sources.Compile): Add switch -gnatez as the last option
- (Display): Never display -gnatez
-
- * Makefile.generic:
- When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
-
- * gnatcmd.adb (Check_Project): New function
- (Process_Link): New procedure to reduce nesting depth
- (Check_Files): New procedure to reduce the nesting depth.
- For GNAT METRIC, include the inherited sources in extending projects.
- (GNATCmd): When GNAT LS is invoked with a project file and no files,
- add the list of files from the sources of the project file. If this list
- is too long, put it in a temp text files and use switch -files=
- (Delete_Temp_Config_Files): Delete the temp text file that contains
- a list of source for gnatpp or gnatmetric, if one has been created.
- (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
- in the project file is too large, create a temporary text file that
- list them and pass it to the tool with "-files=<temp text file>".
- (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
-
- * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
- generated file is in not in Ada.
-
- * gnatls.adb: Remove all parameters And_Save that are no longer used.
- (Scan_Ls_Arg): Add processing for -files=
- (Usage): Add line for -files=
-
- * g-os_lib.adb (On_Windows): New global constant Boolean flag
- (Normalize_Pathname): When on Windows and the path starts with a
- directory separator, make sure that the resulting path will start with
- a drive letter.
-
- * clean.adb (Clean_Archive): New procedure
- (Clean_Project): When there is non-Ada code, delete the global archive,
- the archive dependency files, the object files and their dependency
- files, if they exist.
- (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
-
-2004-06-25 Thomas Quinot <quinot@act-europe.fr>
-
- * sinfo.ads: Fix typo in comment.
-
- * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
- the TSS for remote access-to-subprogram types, since these TSS are
- always present once the type has been analyzed.
- (RAS_E_Dereference): Same.
-
- * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
- reference raises Bad_Attribute, mark the reference as analyzed so the
- node (and any children resulting from rewrites that could have occurred
- during the analysis that ultimately failed) is not analyzed again.
-
- * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
-
- * exp_dist.adb: Minor comment fix.
-
- * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
- type is an anonymous access type, no unchecked deallocation of the
- allocated object can occur. If the object is controlled, attach it with
- a count of 1. This allows attachment to the Global_Final_List, if
- no other relevant list is available.
- (Get_Allocator_Final_List): For an anonymous access type that is
- the type of a discriminant or record component, the corresponding
- finalisation list is the one of the scope of the type.
-
-2004-06-25 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch3.adb (Replace_Type): When computing the signature of an
- inherited subprogram, use the first subtype if the derived type
- declaration has no constraint.
-
- * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
- before applying previous optimization. Minor code cleanup.
-
- * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
- placed at the beginning of an unpacked record without explicit
- alignment, a slice of it will be aligned and does not need a copy when
- used as an actual.
-
-2004-06-25 Ed Schonberg <schonberg@gnat.com>
-
- PR ada/15591
- PR ada/15592
- * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
- reference is written with expressions mimicking parameters.
-
-2004-06-25 Hristian Kirtchev <kirtchev@gnat.com>
-
- PR ada/15589
- * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
- STEP 2a. The constraints of a full type declaration of a derived record
- type are checked for conformance with those declared in the
- corresponding private extension declaration. The message
- "not conformant with previous declaration" is emitted if an error is
- detected.
-
-2004-06-25 Vasiliy Fofanov <fofanov@act-europe.fr>
-
- * g-traceb.ads: Document the need for -E binder switch in the spec.
-
- * g-trasym.ads: Document the need for -E binder switch in the spec.
-
-2004-06-25 Jose Ruiz <ruiz@act-europe.fr>
-
- * sem_prag.adb: Add handling of pragma Detect_Blocking.
-
- * snames.h, snames.ads, snames.adb: Add entry for pragma
- Detect_Blocking.
-
- * s-rident.ads: Change reference to pragma Detect_Blocking.
-
- * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
- system.ads.
-
- * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
- to indicate whether pragma Detect_Blocking is active.
-
- * par-prag.adb: Add entry for pragma Detect_Blocking.
-
- * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
- of not handling WITH.
- Note that this replaces the previous update which was incorrect.
-
-2004-06-25 Javier Miranda <miranda@gnat.com>
-
- * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
- use-clauses to have a clean environment.
-
- * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
- the installation of the use-clauses to stablish a clean environment in
- case of compilation of a separate unit; otherwise the call to
- use_one_package is protected by the barrier Applicable_Use.
-
- * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
- the installation of the use-clauses to stablish a clean environment in
- case of compilation of a separate unit.
- (End_Use_Clauses): Minor comment cleanup.
-
-2004-06-25 Sergey Rybin <rybin@act-europe.fr>
-
- * gnat_ugn.texi: Add description of the gnatpp 'files' switch
-
-2004-06-23 Richard Henderson <rth@redhat.com>
-
- * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
-
-2004-06-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * decl.c (elaborate_expression, elaborate_expression_1): Arguments
- now bool instead of int.
- (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
- * trans.c (gnu_switch_label_stack): New function.
- (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
- elaboration of renamed entity returns.
- (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
- (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
- (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
- (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
- DECL_SIZE_UNIT and simplify variable-sized case.
- (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
- Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
- (gnat_stabilize_reference): Add arg to COMPONENT_REF.
- (build_unit_elab): Disable for now.
- * utils.c (mark_visited): New function.
- (pushdecl): Walk tree to call it for global decl.
- (update_pointer_to): Update all variants of pointer and ref types.
- Add arg to COMPONENT_REF.
- (convert): Likewise.
- Move check for converting between variants lower down.
- * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
- (build_allocator): Don't force type of MODIFY_EXPR.
- (gnat_mark_addressable, case VAR_DECL): Unconditionally call
- put_var_into_stack.
-
-2004-06-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
- * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
- * decl.c (gnat_to_gnu_entity): Also set force_global for imported
- subprograms.
- * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
- all callers changed.
- (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
- the way that EXIT_STMT finds the loop label.
- (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
- (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
- (add_stmt): Use annotate_with_locus insted of setting directly.
- (pos_to_construct): Set TREE_PURPOSE of each entry to index.
- (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
- * utils.c (gnat_install_builtins): Install __builtin_memcmp.
- (build_vms_descriptor): Add extra args to ARRAY_REF.
- (convert): Use VIEW_CONVERT_EXPR between aggregate types.
- * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
- New cases.
- (build_binary_op): Don't make explicit CONVERT_EXPR.
- Add extra rgs to ARRAY_REF.
-
-2004-06-14 Pascal Obry <obry@gnat.com>
-
- * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
- Windows. Fix minor typo.
-
- * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
- which is now supported on Windows. With this implementation using the
- Library Project feature is no different on Windows than on UNIX.
-
-2004-06-14 Vincent Celier <celier@gnat.com>
-
- * makegpr.adb (Compile_Sources): Nothing to do when there are no
- non-Ada sources.
-
- * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
-
- * prj-part.adb (Parse_Single_Project): When a duplicate project name is
- found, show the project name and the path of the previously parsed
- project file.
-
-2004-06-14 Ed Schonberg <schonberg@gnat.com>
-
- * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
- array, avoid copying the actual before the call.
-
-2004-06-14 Thomas Quinot <quinot@act-europe.fr>
-
- * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
- Instead, allocate memory on worst-case alignment assumptions, and then
- return an aligned address within the allocated zone.
-
-2004-06-14 Robert Dewar <dewar@gnat.com>
-
- * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
- elab entities in predefined units in No_Run_Time_Mode.
- (Gen_Adainit_C): Same fix
- (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
- units in No_Run_Time_Mode
- (Gen_Elab_Calls_C): Same fix
-
- * symbols-vms-alpha.adb: Minor reformatting
-
- * g-debpoo.ads: Minor reformatting
-
- * lib.adb (In_Same_Extended_Unit): Version working on node id's
-
- * lib.ads (In_Same_Extended_Unit): Version working on node id's
-
- * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
- working on nodes.
-
- * make.adb: Minor reformatting
-
- * par-ch12.adb: Minor reformatting
-
- * par-prag.adb: Add dummy entry for pragma Profile_Warnings
-
- * prj-strt.adb: Minor reformatting
-
- * restrict.ads, restrict.adb: Redo handling of profile restrictions to
- be more general.
-
- * sem_attr.adb: Minor reformatting
-
- * sem_ch7.adb: Minor reformatting
-
- * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
- for type in the same unit as the object declaration.
-
- * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
- static string expressions and not just string literals.
- Minor reformatting
- (Set_Warning): Reset restriction warning flag for restriction pragma
- Implement pragma Profile_Warnings
- Implement pragma Profile (Restricted)
- Give obolescent messages for old restrictions and pragmas
-
- * snames.h, snames.ads, snames.adb: Add new entry for pragma
- Profile_Warnings.
-
- * s-rident.ads: Add declarations for restrictions required by profile
- Restricted and profile Ravenscar.
-
- * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
-
- * gnat_ugn.texi: Correct some missing entries in the list of GNAT
- configuration pragmas.
-
-2004-06-11 Vincent Celier <celier@gnat.com>
-
- * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
- gnatsym, when symbol policy is Restricted.
-
- * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
- gnatsym, when symbol policy is Restricted.
-
- * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
- read the symbol file.
- (Finalize): Fail in symbol policy Restricted if a symbol in the original
- symbol file is not in the object files. Do not create a new symbol file
- when symbol policy is Restricted.
-
- * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
- in Scng.
-
- * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
- Restricted.
- (Usage): Line for new switch -R
-
- * make.adb (Initialize): When the platform is not VMS, add the
- directory where gnatmake is invoked in the front of the path, if
- gnatmake is invoked with directory information. Change the Scan_Args
- while loop to a for loop.
- (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
- if Depth is equal or greater than the proposed depth, there is nothing
- to do.
- (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
- instead of 0.
-
- * prj.ads: Add new symbol policy Restricted.
-
- * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
- with the new parameters Check_All_Labels and Case_Location.
-
- * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
- (Library_Symbol_File needs to be defined).
-
- * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
- and Case_Location If Check_All_Labels is True, check that all values of
- the string type are used, and output warning(s) if they are not.
-
- * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
- and Case_Location.
-
- * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
-
- * gnat_ugn.texi: Update documentation about the library directory in
- Library Projects.
-
- * makegpr.adb (Display_Command): In verbose mode, also display the
- value of the CPATH env var, when the compiler is gcc.
- (Initialize): Change the Scan_Args while loop to a for loop
- (Compile_Individual_Sources): Change directory to object directory
- before compilations.
-
- * symbols.ads: New symbol policy Restricted.
-
-2004-06-11 Olivier Hainque <hainque@act-europe.fr>
-
- * a-except.adb (Raise_After_Setup family): Remove. The responsibility
- is now taken care of internally in the Exception_Propagation package
- and does not require clients assistance any more.
-
- * a-exexpr.adb (Is_Setup_And_Not_Propagated,
- Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
- functions. Helpers to maintain a predicate required in the handling of
- occurrence transfer between tasks.
- This is now handled internally and does not require clients assistance
- for the setup/propagate separation anymore.
- (Setup_Exception, Propagate_Exception): Simplify the Private_Data
- allocation strategy, handle the Setup_And_Not_Propagated predicate and
- document.
-
- * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
- raise_after_setup, now that everything is handled internally within the
- setup/propagation engine.
-
-2004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
-
- * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
- Add additional conditions for the case of an actual being a simple
- name or literal. Improve inlining by preventing the generation
- of temporaries with a short lifetime (one use).
-
-2004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
-
- PR ada/15587
- * einfo.ads: Minor comment updates for Has_Completion and
- E_Constant list of flags.
-
- * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
- and constant redeclarations now set the Has_Completion flag of their
- defining identifiers.
-
- * sem_ch7.adb (Analyze_Package_Spec): Add procedure
- Inspect_Deferred_Constant_Completion.
- Used to detect private deferred constants that have not been completed
- either by a constant redeclaration or pragma Import. Emits error message
- "constant declaration requires initialization expression".
-
- * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
- completes a deferred constant.
-
-2004-06-11 Geert Bosch <bosch@gnat.com>
-
- * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
-
- * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
- calculating exponent for scaling denormal numbers.
- (Leading_Part): Properly raise Constraint_Error for zero or negative
- Adjustment.
- (Remainder): Properly raise Constraint_Error for zero divisor.
-
-2004-06-11 Thomas Quinot <quinot@act-europe.fr>
-
- * sem_util.adb: Minor reformatting.
-
- * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
- dereference when accessing the entry parameter record.
- (Check_Array_Type): Always check for possible implicit dereference.
- (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
- Abort if a pointer is still present (denoting that an implicit
- dereference was left in the tree by the front-end).
-
- * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
- dereference when accessing the entry parameter record.
- (Check_Array_Type): Always check for possible implicit dereference.
- (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
- Abort if a pointer is still present (denoting that an implicit
- dereference was left in the tree by the front-end).
-
-2004-06-11 Emmanuel Briot <briot@act-europe.fr>
-
- * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
- message, like the compiler itself does. Easier to parse the output.
-
- * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
-
- * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
- be base names, and not includes directories.
-
-2004-06-11 Arnaud Charlet <charlet@act-europe.fr>
-
- * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
- so that dependencies are properly taken into account by make.
-
-2004-06-11 Arnaud Charlet <charlet@act-europe.fr>
-
- PR ada/15622
- * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
- exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
-
-2004-06-11 Jerome Guitton <guitton@act-europe.fr>
-
- * Makefile.in (install-gnatlib): install target-specific run-time files.
-
- * Make-lang.in: Remove obsolete targets.
-
-2004-06-11 Ed Schonberg <schonberg@gnat.com>
-
- * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
- specification, to catch misuses of program unit names.
-
- * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
- superfluous conversions in an instance.
-
-2004-06-11 Ed Schonberg <schonberg@gnat.com>
-
- PR ada/15403
- * sem_ch12.adb (Save_References): If operator node has been folded to
- enumeration literal, associated_node must be discarded.
-
-2004-06-11 Jose Ruiz <ruiz@act-europe.fr>
-
- * s-stchop-vxworks.adb: Add required pragma Convention to
- Task_Descriptor because it is updated by a C function.
-
-2004-06-08 Arnaud Charlet <charlet@act-europe.fr>
-
- PR ada/15568
- * Makefile.in: Remove target specific SO_OPT on IRIX
-
-2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
- (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
- (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
- (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
- (STMT_STMT, USE_STMT): New statement codes.
- (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
- * ada-tree.h: Reflect above changes.
- (struct tree_loop_id): Deleted.
- (union lang_tree_node, struct lang_decl, struct lang_type):
- Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
- and DECL_LANGUAGE_SPECIFIC to reflect these changes.
- (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
- (IS_ADA_STMT): New macro.
- * decl.c (annotate_decl_with_node): New function.
- (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
- (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
- Call add_stmt_with_node to do needed assignments.
- Add call to update setjmp buffer directly, not via EXPR_STMT.
- (maybe_variable): Argment GNAT_NODE deleted.
- * gigi.h (maybe_variable): Likewise.
- (make_transform, add_stmt_with_node, set_block_for_group): New.
- (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
- (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
- (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
- (set_lineno, set_lineno_from_sloc): Likewise.
- (record_code_position, insert_code_for): Likewise.
- (gnat_poplevel): Now returns void.
- (end_subprog_body): Now takes argument.
- * misc.c (cgraph.h, tree-inline.h): New includes.
- (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
- (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
- (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
- (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
- (gnat_parse_file): Don't set immediate_size_expand.
- Call cgraph functions.
- (gnat_expand_expr): Remove most cases.
- (record_code_position, insert_code_for): Remove from here.
- * trans.c (toplev.h, tree-gimple.h): Now included.
- (discard_file_names): Deleted.
- (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
- (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
- (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
- (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
- (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
- (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
- (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
- (set_block_for_group, add_stmt_list): Likewise.
- (start_stmt_group): Renamed from start_block_stmt.
- (end_stmt_group): Likewise, from end_block_stmt.
- (build_stmt_group): Likewise, from build_block_stmt, also add arg.
- (gigi): Don't set discard_file_names or call set_lineno.
- Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
- (tree_transform): Deleted, now renamed to be gnat_to_gnu.
- Numerous changes throughout to reflect new names and complete
- function-at-a-time implementation.
- (gnat_expand_stmt): Delete or comment out all cases.
- (process_inlined_subprograms): Use add_stmt.
- (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
- call set_lineno; also remove unneeded block handling.
- (process_type): Remove unneeded block handling.
- (build_unit_elab): Remove calls to deleted functions.
- * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
- (tree-dump.h): Likewise.
- (struct ada_binding_level): Add field jmpbuf_decl.
- (gnat_define_builtin, gnat_install_builtins): New.
- (gnat_gimplify_function, gnat_finalize): Likewise.
- (gnat_poplevel): No longer return BLOCK, set it instead.
- Remove code dealing with nested functions.
- (gnat_init_decl_processing): Also set size_type_node.
- Call gnat_install_builtins.
- (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
- (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
- Remove special-case for "main".
- (end_subprog_body): Add arg and rework for tree-ssa.
- (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
- Add case for BOOLEAN_TYPE.
- * utils2.c (rtl.h): Now include.
- (build_call_raise): Test Debug_Flag_NN directly.
- (build_call_alloc_dealloc): Don't use local stack allocation for now.
- (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
- (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
-
-2004-06-07 Robert Dewar <dewar@gnat.com>
-
- * a-direct.ads, einfo.ads: Minor comment updates
-
- * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
- s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
- s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
- s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
- s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
-
- * s-interr-sigaction.adb: Remove unreferenced variable
- (Attached_Interrupts). Minor reformatting.
- Avoid use of variable I (replace by J).
-
- * par-ch10.adb: Fix text of one error message
-
- * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
- exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
- exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
- opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
- par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
- par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
- sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
- sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
- sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
- sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
- snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
- 2005 support.
-
-2004-06-07 Doug Rupp <rupp@gnat.com>
-
- * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
-
- * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
-
- * mlib-tgt-vms-ia64.adb: New file.
-
- * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
- Add mlib-tgt-vms-ia64.adb
- Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
- Move to alpha specific ifeq section.
- Add VMS specific versions of symbols.adb
- Renaming of 5q vms files.
-
- * 5qsystem.ads renamed to system-vms_64.ads.
-
-2004-06-07 Vincent Celier <celier@gnat.com>
-
- * a-calend.ads: Add a GNAT Note comment after function Time_Of to
- explain that when a time of day corresponding to the non existing hour
- on the day switching to DST is specified, Split may return a different
- value for Seconds.
-
- * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
- to GNAT PRETTY.
-
- * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
- (Normalize_Pathname): Only resolve VMS logical names when on VMS.
-
- * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
- to False.
- If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
- the linking options.
- (Build_Library.Check_Libs): On VMS, if there is a dependency on
- g-trasym.ads, set Gtrasymobj_Needed to True.
-
- * prj-attr.adb: Add new package Metrics for gnatmetric
-
- * prj-nmsc.adb (Record_Other_Sources): Put source file names in
- canonical case to take into account files with upper case characters on
- Windows.
- (Ada_Check): Load the reference symbol file name in the name buffer to
- check it, not the symbol file name.
-
- * snames.ads, snames.adb: Add standard name Metrics (name of project
- file package for gnatmetric).
-
- * vms_conv.ads: Add Metric to Comment_Type
-
- * vms_conv.adb (Initialize): Add component dor Metric in Command_List
-
- * vms_data.ads: Add qualifiers for GNAT METRIC
-
- * makegpr.adb (Link_Executables): Take into account the switches
- specified in package Linker of the main project.
-
-2004-06-07 Thomas Quinot <quinot@act-europe.fr>
-
- * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
- the index of the last element is Units.Last, not Units.Table'Last
- (which is usually not a valid index within the actually allocated
- storage for the table).
-
- * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
- determines whether to generate a call to a checked storage pool
- Dereference action.
- Generate such a call only for a dereference that either comes from
- source, or is the result of rewriting a dereference that comes from
- source.
-
-2004-06-07 Romain Berrendonner <berrendo@act-europe.fr>
-
- * bindgen.adb (Gen_Output_File): Add support for GAP builds.
-
-2004-06-07 Eric Botcazou <ebotcazou@act-europe.fr>
-
- (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
- file level, elaborate the stride for inner dimensions in alignment
- units, not bytes.
-
- * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
- in a comment.
-
-2004-06-07 Javier Miranda <miranda@gnat.com>
-
- * exp_ch6.adb: Correct wrong modification in previous patch
-
-2004-06-07 Vasiliy Fofanov <fofanov@act-europe.fr>
-
- * g-trasym.ads: Corrected comment to properly reflect level of support
- on VMS.
-
-2004-06-07 Hristian Kirtchev <kirtchev@gnat.com>
-
- * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
- includes case of a variable referenced on the left hand side of an
- assignment, therefore remove redundant code. Variables and prefixes of
- indexed or selected components are now marked as referenced on left
- hand side. Warnings are now properly emitted when variables or prefixes
- are assigned but not read.
-
- * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
- left hand side referenced variables. Private access types do not
- produce the warning "variable ... is assigned but never read".
- Add also additional checks to left hand side referenced variables.
- Aliased, renamed objects and access types do not produce the warning
- "variable ... is assigned but never read" since other entities may read
- the memory location.
-
-2004-06-07 Jerome Guitton <guitton@act-europe.fr>
-
- * Makefile.in: In the powerpc/vxworks-specific section, restore
- EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
- by mistake).
-
-2004-06-07 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
- predefined operators.
- Removes spurious type errors from g-trasym-vms.adb.
-
- * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
- distinct from the operator appearing in the source, call appropriate
- routine to insert conversions when needed, and complete resolution of
- node.
- (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
- interpretations for rewritten right operand.
- (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
- the other operand is overloaded and the context is a type conversion.
-
-2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * ada-tree.def (BLOCK_STMT): Now has two operands.
- (BREAK_STMT): New.
-
- * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
-
- * gigi.h: (gnat_poplevel): Now returns a tree.
-
- * trans.c (end_block_stmt): Add arg; all callers changed.
- (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
- (start_block_stmt): Clear BLOCK_STMT_BLOCK.
- (add_stmt): Set TREE_TYPE.
- (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
- (gnat_expand_stmt, case BREAK_STMT): New case.
-
- * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
-
-2004-06-07 Jose Ruiz <ruiz@act-europe.fr>
-
- * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
- procedure Set_Stack_Size that is not needed.
-
-2004-06-07 Sergey Rybin <rybin@act-europe.fr>
-
- * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
- used for gnatpp input file and for the files upon which it depends
-
-2004-06-07 Ben Brosgol <brosgol@gnat.com>
-
- * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
-
-2004-06-07 Arnaud Charlet <charlet@act-europe.fr>
-
- * gnatvsn.ads: Bump version numbers appropriately.
- Add new build type.
-
-2004-06-07 Pascal Obry <obry@gnat.com>
-
- * gnat_ugn.texi: Improve comments about imported names and link names
- on Windows. Add a note about the requirement to use -k gnatdll's option
- when working with a DLL which has stripped stdcall symbols (no @nn
- suffix).
-
-2004-05-27 Vincent Celier <celier@gnat.com>
-
- * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
- COMMENTS_LAYOUT=UNTOUCHED
-
- * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
- symbols-vms-alpha.adb
-
-2004-05-27 Thomas Quinot <quinot@act-europe.fr>
-
- * sem.ads: Clarify documentation on checks suppression.
-
- * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
-
-2004-05-27 Ed Schonberg <schonberg@gnat.com>
-
- * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
- the case of multiple derivations.
- (Is_Object_Reference): For a selected component, verify that the prefix
- is itself an object and not a value.
-
- * sem_ch12.adb (Same_Instantiated_Constant): New name for
- Same_Instantiated_Entity.
- (Same_Instantiated_Variable): Subsidiary to
- Check_Formal_Package_Instance, to recognize actuals for in-out generic
- formals that are obtained from a previous formal package.
- (Instantiate_Subprogram_Body): Emit proper error when
- generating code and the proper body of a stub is missing.
-
- * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
- has a universal interpretation, do the disambiguation here.
-
- * exp_ch4.adb (Expand_N_Type_Conversion,
- Expand_N_Unchecked_Type_Conversion): Special handling when target type
- is Address, to avoid typing anomalies when Address is a visible integer
- type.
-
- * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
- to determine whether a subprogram should not be marked Pure, even when
- declared in a pure package.
-
-2004-05-27 Jose Ruiz <ruiz@act-europe.fr>
-
- * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
-
- * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
- Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
- Update the documentation about the Ravenscar profile, following the
- definition found in AI-249.
-
- * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
- setting the Profile (Ravenscar). This must be done in addition to
- setting the required restrictions.
-
- * rtsfind.ads: Add the set of operations defined in package
- Ada.Interrupts.
-
- * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
- restriction.
-
-2004-05-27 Eric Botcazou <ebotcazou@act-europe.fr>
-
- lang-specs.h: Always require -c or -S and always redirect to /dev/null
- if -gnatc or -gnats is passed.
-
-2004-05-27 Hristian Kirtchev <kirtchev@gnat.com>
-
- * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
- a significant reference. Warnings are now properly emitted when a
- discriminated type is not referenced.
-
- * lib-xref.adb (Generate_Reference): A deferred constant completion,
- record representation clause or record type discriminant does not
- produce a reference to its corresponding entity. Warnings are now
- properly emitted when deferred constants and record types are not
- referenced.
-
-2004-05-27 Geert Bosch <bosch@gnat.com>
-
- * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
- Fixes ACATS Annex G tests.
-
-2004-05-27 Robert Dewar <dewar@gnat.com>
-
- * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
- handling WITH
-
-2004-05-27 Arnaud Charlet <charlet@act-europe.fr>
-
- * s-interr.adb (Server_Task): Take into account case of early return
- from sigwait under e.g. linux.
-
-2004-05-27 Sergey Rybin <rybin@act-europe.fr>
-
- * gnat_ugn.texi: Add description for the new gnatpp options:
- -rnb - replace the original source without creating its backup copy
- -c0 - do not format comments
-
-2004-05-24 Geert Bosch <bosch@gnat.com>
-
- * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
- with 192 bits of precision, sufficient to reduce a double-extended
- arguments X with a maximum relative error of T'Machine_Epsilon, for X
- in -2.0**32 .. 2.0**32.
- (Cos, Sin): Always reduce arguments of 1/4 Pi or larger, to prevent
- reduction by the processor, which only uses a 68-bit approximation of
- Pi.
- (Tan): Always reduce arguments and compute function either using
- the processor's fptan instruction, or by dividing sin and cos as needed.
-
-2004-05-24 Doug Rupp <rupp@gnat.com>
-
- * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
- gcc error on 32/64 bit VMS.
-
-2004-05-24 Olivier Hainque <hainque@act-europe.fr>
-
- * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
- since this is what we get for stack overflows although not documented
- as such.
- Document the issues which may require adjustments to our signal
- handlers.
-
-2004-05-24 Ed Schonberg <schonberg@gnat.com>
-
- * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
- enclosing dynamic scope if the instantiation is within a generic unit.
-
-2004-05-24 Arnaud Charlet <charlet@act-europe.fr>
-
- * exp_dbug.ads: Fix typo.
-
- * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
- Rename it to its proper name: system-linux-ia64.ads
- (stamp-gnatlib1): Remove extra target specific run time files when
- setting up the rts directory.
-
-2004-05-24 Javier Miranda <miranda@gnat.com>
-
- * einfo.ads, einfo.adb (Limited_Views): Removed.
- (Limited_View): New attribute that replaces the previous one. It is
- now a bona fide package with the limited-view list through the
- first_entity and first_private attributes.
-
- * sem_ch10.adb (Install_Private_With_Clauses): Give support to
- limited-private-with clause.
- (Install_Limited_Withed_Unit): Install the private declarations of a
- limited-private-withed package. Update the installation of the shadow
- entities according to the new structure (see Build_Limited_Views)
- (Build_Limited_Views): Replace the previous implementation of the
- limited view by a package entity that references the first shadow
- entity plus the first shadow private entity (required for limited-
- private-with clause)
- (New_Internal_Shadow_Entity): Code cleanup.
- (Remove_Limited_With_Clause): Update the implementation to undo the
- new work carried out by Build_Limited_Views.
- (Build_Chain): Complete documentation.
- Replace Ada0Y by Ada 0Y in comments
- Minor reformating
-
- * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
- types the level of accessibility depends on the enclosing type
- declaration.
-
- * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
- entities. Complete documentation of previous change.
-
-2004-05-24 Robert Dewar <dewar@gnat.com>
-
- * namet.adb: Minor reformatting
- Avoid use of name I (replace by J)
- Minor code restructuring
-
- * sem_ch6.adb: Minor reformatting
-
- * lib-writ.adb: Do not set restriction as active if this is a
- Restriction_Warning case.
-
- * sem_prag.adb: Reset restriction warning flag if real pragma
- restriction encountered.
-
- * s-htable.adb: Minor reformatting
- Change rotate count to 3 in Hash (improves hash for small strings)
-
- * 5qsystem.ads: Add comments for type Address (no literals allowed).
-
- * gnat_ugn.texi: Add new section of documentation "Code Generation
- Control", which describes the use of -m switches.
-
-2004-05-24 Eric Botcazou <ebotcazou@act-europe.fr>
-
- trans.c (tree_transform) <N_Identifier>: Do the dereference directly
- through the DECL_INITIAL for renamed variables.
-
-2004-05-24 Arnaud Charlet <charlet@act-europe.fr>
-
- * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
-
-2004-05-19 Joel Brobecker <brobecker@gnat.com>
-
- * exp_dbug.ads: Correct comments concerning handling of overloading,
- since we no longer use $ anymore.
-
-2004-05-19 Sergey Rybin <rybin@act-europe.fr>
-
- * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
- ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
- with illegal subunits.
-
-2004-05-19 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
- body with front-end inlining enabled, check whether an inline pragma
- appears immediately after the body and applies to it.
-
- * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
- enabled and the pragma appears after the body of the subprogram.
-
-2004-05-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- Part of function-at-a-time conversion
-
- * misc.c (adjust_decl_rtl): Deleted.
- (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
- Define.
-
- * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
- (add_decl_stmt, add_stmt, block_has_vars): New functions.
- (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
-
- * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
- when making a decl.
- (gnat_to_gnu_entity): Likewise.
- Use add_stmt to update setjmp buffer.
- Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
- flush_addressof.
- No longer call adjust_decl_rtl.
- (DECL_INIT_BY_ASSIGN_P): New macro.
- (DECL_STMT_VAR): Likewise.
-
- * trans.c (gigi): Call start_block_stmt to make the outermost
- BLOCK_STMT.
- (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
- Call start_block_stmt and end_block_stmt temporarily.
- Use gnat_expand_stmt instead of expand_expr_stmt.
- (add_decl_stmt): New function.
- (tree_transform): Call it.
- (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
- (end_block_stmt): Set type and NULL_STMT.
- (gnat_expand_stmt): Make recursize call instead of calling
- expand_expr_stmt.
- (gnat_expand_stmt, case DECL_STMT): New case.
- (set_lineno_from_sloc): Do nothing if global.
- (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
- (start_block_stmt, add_stmt, end_block_stmt): New functions.
- (build_block_stmt): Call them.
- (gnat_to_code): Don't expand NULL_STMT.
- (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
- args.
- (tree_transform): Likewise.
- (tree_transform, case N_Null_Statement): Return NULL_STMT.
- (gnat_expand_stmt, case NULL_STMT): New case.
- (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
- IF_STMT_TRUE.
-
- * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
- TREE_ADDRESSABLE.
-
- * utils.c (create_var_decl): Do not call expand_decl or
- expand_decl_init.
- Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
- Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
- here.
- (struct e_stack): Add chain_next to GTY.
- (struct binding_level): Deleted.
- (struct ada_binding_level): New struct.
- (free_block_chain): New.
- (global_binding_level, clear_binding_level): Deleted.
- (global_bindings_p): Rework to see if no chain.
- (kept_level_p, set_block): Deleted.
- (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
- new data structure and work directly on BLOCK node.
- (gnat_poplevel): Similarly.
- (get_decls): Look at BLOCK_VARS.
- (insert_block): Work directly on BLOCK node.
- (block_has_var): New function.
- (pushdecl): Rework for new binding structures.
- (gnat_init_decl_processing): Rename and rework calls to pushlevel and
- poplevel.
- (build_subprog_body): Likewise.
- (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
-
- * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
-
- * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
- (DECL_STMT_VAR): Likewise.
-
-2004-05-17 Robert Dewar <dewar@gnat.com>
-
- * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
- procedure
-
- * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
- of restriction synonyums by using
- Restrict.Process_Restriction_Synonyms.
-
- * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
-
- * s-restri.ads (Tasking_Allowed): Correct missing comment
-
- * s-rident.ads: Add entries for restriction synonyms
-
- * ali.adb: Fix some problems with badly formatted ALI files that can
- result in infinite loops.
-
- * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
- s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
- s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
- s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
- s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
- s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
- s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
- s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
- s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
- a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
- exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
- s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
- s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
- s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
- s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
- s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
- s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
- s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
- s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
- s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
- to Task_Id (minor cleanup).
-
-2004-05-17 Vincent Celier <celier@gnat.com>
-
- * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
- directory separator.
-
- * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
- project being extended, if Languages is not declared in extending
- project.
-
-2004-05-17 Javier Miranda <miranda@gnat.com>
-
- * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
- limited view of a visible sibling.
-
-2004-05-14 Robert Dewar <dewar@gnat.com>
-
- * gnat_ugn.texi: Minor change to -gnatS documentation
-
- * sprint.adb: Remove some instances of Assert (False) and for this
- purpose replace them by output of a ??? string.
-
- * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
- Assert (False).
-
- * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
- flag processing. This was suppressing required dependencies in
- No_Run_Time mode and is not needed since the binder does not generate
- references for things in libgnat anyway.
-
- * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
- warning.
-
-2004-05-14 Thomas Quinot <quinot@act-europe.fr>
-
- * gnat_ugn.texi: Document AIX-specific issue with initialization of
- resolver library.
-
- * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
- action for the case of an actual parameter in an init proc call.
-
-2004-05-14 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
- subtype, check visible entities in base type.
-
- * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
- actions if the object is a renaming.
-
- * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
- Check_Formal_Package_Instance, to determine more precisely when the
- formal and the actual denote the same entity.
-
-2004-05-14 Javier Miranda <miranda@gnat.com>
-
- * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
-
- * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
- corresponding to a private_with must be removed from visibility; it
- will be made visible later, just before we analyze the private part of
- the package.
- (Check_Private_Child_Unit): Allow private_with clauses in public
- siblings.
- (Install_Siblings): Make visible the private entities of private-withed
- siblings.
- (Install_Withed_Unit): Do not install the private withed unit if we
- are compiling a package declaration and the Private_With_OK flag was
- not set by the caller. These declarations will be installed later,
- just before we analyze the private part of the package.
-
- * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
- during the evaluation of the expression that initializes the object,
- decorate it with the expected type to avoid cascade errors.
- Code cleanup.
-
- * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
- subprogram we have to install the private_with clauses after its
- specification has been analyzed (as documented in AI-262.TXT).
-
- * sem_ch8.adb (Has_Private_With): New function. Determines if the
- current compilation unit has a private with on a given entity.
- (Find_Direct_Name): Detect the Beaujolais problem described in
- AI-262.TXT
-
- * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
- provides the functionality of the function Is_Ancestor that was
- previously available in sem_ch10. It has been renamed to avoid
- overloading.
-
- * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
-
-2004-05-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * utils.c (build_vms_descriptor): Use SImode pointers.
-
-2004-05-14 Vasiliy Fofanov <fofanov@act-europe.fr>
-
- * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
-
-2004-05-14 GNAT Script <nobody@gnat.com>
-
- * Make-lang.in: Makefile automatically updated
-
-2004-05-14 Arnaud Charlet <charlet@act-europe.fr>
-
- Renaming of target specific files for clarity
-
- * Makefile.in: Rename GNAT target specific files.
-
- * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
- 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
- 3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
- 3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
- 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
- 3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
- 42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
- 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
- 4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
- 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
- 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
- 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
- 51osinte.adb, 51osinte.ads, 51system.ads,
- 52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
- 55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
- 56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
- 56tpopsp.adb, 57system.ads, 58system.ads,
- 5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
- 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
- 5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
- 5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
- 5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
- 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
- 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
- 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
- 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
- 5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
- 5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
- 5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
- 5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
- 5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
- 5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
- 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
- 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
- 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
- 5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
- 5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
- 5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
- 5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
- 5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
- 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
- 5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
- 5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
- 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
- 5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
- 5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
- 5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
- 5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
- 5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
- 5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
- 5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
- 5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
- 5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
- 7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
- 7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
- 7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
- 7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
-
- * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
- a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
- a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
- a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
- a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
- a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
- a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
- a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
- a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
- a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
- g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
- g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
- g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
- g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
- g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
- g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
- g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
- g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
- interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
- mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
- mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
- mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
- s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
- s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
- s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
- s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
- s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
- s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
- s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
- s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
- s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
- s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
- s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
- s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
- s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
- s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
- s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
- s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
- s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
- s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
- s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
- s-osinte-vms.ads, s-osinte-vxworks.adb,
- s-osinte-vxworks.ads, s-osprim-mingw.adb,
- s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
- s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
- s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
- s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
- s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
- s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
- s-stchop-vxworks.adb, s-taprop-dummy.adb,
- s-taprop-hpux-dce.adb, s-taprop-irix.adb,
- s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
- s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
- s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
- s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
- s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
- s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
- s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
- s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
- s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
- s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
- s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
- s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
- s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
- s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
- s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
- s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
- s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
- symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
- system-hpux.ads, system-interix.ads, system-irix-n32.ads,
- system-irix-o32.ads, system-linux-x86_64.ads,
- system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
- system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
- system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
- system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
- system-vxworks-alpha.ads, system-vxworks-m68k.ads,
- system-vxworks-mips.ads, system-vxworks-ppc.ads,
- system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
- above.
-
-2004-05-13 Zack Weinberg <zack@codesourcery.com>
-
- * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
-
-2004-05-13 Diego Novillo <dnovillo@redhat.com>
-
- Merge from tree-ssa-20020619-branch.
-
- * config-lang.in (boot_language, build_by_default): Set
- to no.
- * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
- (max_size): Add static chain op for call_expr.
-
-2004-05-12 Richard Sandiford <rsandifo@redhat.com>
-
- PR target/15331
- * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
-
-2004-05-11 Roger Sayle <roger@eyesopen.com>
-
- * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
- COND_EXPR.
-
-2004-05-10 Doug Rupp <rupp@gnat.com>
-
- * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
- system.aux_dec.
-
- * s-auxdec.ads: Add Short_Address subtype (moved here from System).
-
- * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
-
- * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
- Fixes undefined symbols in IA64 gnatlib.
-
- * 5vinmaop.adb: Reference s-auxdec for Short_Address.
-
- * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
- Short_Address). This will be moved to system.auxdec.
-
-2004-05-10 Thomas Quinot <quinot@act-europe.fr>
-
- * sem_util.adb: Replace test for presence of a node that is always
- present with a call to Discard_Node.
-
- * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
- Analyze on the library unit node after generation of distribution stub
- constructs. The call was a no-op because Unit_Node has already been
- Analyzed, and the tree fragments for the distribution stubs are
- analyzed as they are inserted in Exp_Dist.
- Update comment regarding to distribution stubs to reflect that we
- do not generate stub in separate files anymore.
-
- * einfo.ads: Clarify the fact that a tagged private type has the
- E_Record_Type_With_Private Ekind.
-
- * erroutc.adb: Minor reformatting
-
- * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
- values if line length is increased using -gnatyM (noticed during code
- reading).
-
- * eval_fat.adb: Minor reformatting
- Put spaces around exponentiation operator
-
-2004-05-10 Ed Schonberg <schonberg@gnat.com>
-
- PR ada/15005
- * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
- has been rewritten as an explicit dereference, retrieve type of
- original node to check for possibly unconstrained record type.
-
-2004-05-10 Ed Schonberg <schonberg@gnat.com>
-
- * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
- overriding, use the operation of the parent unconditionally.
-
- * sem_ch4.adb (Remove_Address_Interpretations): Remove address
- operation when either operand is a literal, to avoid further
- ambiguities.
-
- * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
- overridden by a previous explicit declaration, mark the previous entity
- as overriding.
-
- * sem_disp.adb (Check_Dispatching_Operation): New predicate
- Is_Visibly_Controlled, to determine whether a declaration of a
- primitive control operation for a derived type overrides an inherited
- one. Add warning if the explicit declaration does not override.
-
-2004-05-10 Vincent Celier <celier@gnat.com>
-
- * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
- some cases when the sources are no longer present.
-
- * make.adb (Collect_Arguments): Fail if an external source, not part
- of any project need to be compiled, when switch -x has not been
- specified.
-
- * makeusg.adb: Document new switch -x
-
- * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
- defaulted to False.
-
- * switch-m.adb (Scan_Make_Switches): New switch -x
-
- * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
- gnatmake switch -x.
-
- * gnat_ugn.texi: Document new gnatmake switch -x
-
-2004-05-10 Eric Botcazou <ebotcazou@act-europe.fr>
-
- * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
-
- * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
- (process_attributes): Likewise.
-
-2004-05-10 Joel Brobecker <brobecker@gnat.com>
-
- * s-inmaop.ads: Fix spelling mistake in one of the comments.
-
-2004-05-10 Robert Dewar <dewar@gnat.com>
-
- * gnat_ugn.texi: Document that for config pragma files, the maximum
- line length is always 32767.
-
- * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
- literals is now allowed.
-
- * gnat-style.texi: Remove statement about splitting long lines before
- an operator rather than after, since we do not follow this rule at all.
- Clarify rule (really lack of rule) for spaces around exponentiation
-
- * sem_elim.adb: Allow concatenation of string literals as well as a
- single string literal for pragma arguments.
-
- * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
-
- * a-textio.adb (Terminate_Line): Do not add line feed if nothing
- written for append case.
-
- * frontend.adb: Changes to avoid checking max line length in config
- pragma files.
-
- * g-os_lib.ads: Minor reformatting
-
- * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
- wrong in any case. Instead use standard value. Noticed during code
- reading.
-
- * opt.ads (Max_Line_Length): New field, used to implement removal of
- limitation on length of lines when scanning config pragma files.
-
- * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
- makeutl.ads, makeutl.adb: Minor reformatting
-
- * scn.adb: Do not check line length while scanning config pragma files
- Do not check line length while scanning out license information
-
- * scng.adb: Changes to avoid line length checks while parsing config
- pragma files.
-
-2004-05-10 GNAT Script <nobody@gnat.com>
-
- * Make-lang.in: Makefile automatically updated
-
-2004-05-05 Arnaud Charlet <charlet@act-europe.fr>
-
- * osint.adb (Find_Program_Name): Fix handling of VMS version
- number.
-
-2004-05-05 Emmanuel Briot <briot@act-europe.fr>
-
- * g-os_lib.ads (Invalid_Time): New constant
-
- * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
- return OS_Time instead of time_t to match what is imported by Ada.
- Now return -1 if the file doesn't exist, instead of a random value
-
-2004-05-05 Robert Dewar <dewar@gnat.com>
-
- * usage.adb: Add line for -gnatR?s switch
-
- * sem_ch13.adb, exp_ch2.adb: Minor reformatting
-
- * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
- and for Match (Data_First, Data_last)
-
- * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
- written when we are dealing with multi-unit files.
-
-2004-05-05 Jerome Guitton <guitton@act-europe.fr>
-
- * Makefile.in: Remove unused targets and variables.
-
-2004-05-05 Vincent Celier <celier@gnat.com>
-
- * switch-m.adb: New gnatmake switch -eI
-
- * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
- of new gnatmake switch -eInnn.
-
- * makegpr.adb: Take into account new parameters Index and Src_Index in
- Prj.Util.
-
- * clean.adb: Implement support for multi-unit sources, including new
- switch -i.
-
- * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
- Src_Index.
-
- * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
- (Extract_From_Q): New out parameter Index
- (Mark, Is_Marked): Subprograms moved to Makeutl
- (Switches_Of): New parameter Source_Index
- (Add_Switch): New parameter Index
- (Check): New parameter Source_Index
- (Collect_Arguments): New parameter Source_Index
- (Collect_Arguments_And_Compile): New parameter Source_Index
- (Compile): New parameter Source_Index
- Put subprograms in alphabetical order
- Add support for multi-source sources, including in project files.
-
- * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
- (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
- Make.
-
- * makeusg.adb: New gnatmake switch -eInnn
-
- * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
- Prj.Util.Value_Of.
-
- * opt.ads (Main_Index): New variable, defaulted to 0.
-
- * osint.ads, osinte.adb (Add_File): New parameter Index
- (Current_Source_Index): New function
-
- * prj.adb: Take into account new components Index and Src_Index
-
- * prj.ads (String_Element): New component Index
- (Variable_Value): New component Index
- (Array_Element): New component Src_Index
-
- * prj-attr.adb: Indicate that optional index may be specified for
- attributes Main, Executable, Spec, Body and some of Switches.
-
- * prj-attr.ads (Attribute_Kind): New values for optional indexes
- (Attribute_Record): New component Optional_Index
-
- * prj-com.ads (File_Name_Data): New component Index
-
- * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
-
- * prj-env.adb (Put): Output optional index
-
- * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
- attributes Spec and Body.
-
- * prj-nmsc.adb: Process optional indexes
-
- * prj-pp.adb: Ouput "at" for optional indexes
-
- * prj-proc.adb: Take into account optional indexes
-
- * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
- Optional_Index. For string literal,
- process optional index when Optional_Index is True.
- (Parse_Expresion): New Boolean parameter Optional_Index
-
- * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
- (Set_Source_Index_Of): New procedure
-
- * prj-util.adb (Executable_Of, Value_Of): Take into account optional
- index.
-
- * prj-util.ads (Executable_Of): New parameter Index
- (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
- New parameter Src_Index, defaulted to 0.
-
-2004-05-05 Ed Schonberg <schonberg@gnat.com>
-
- PR ada/15257
- * sem_ch3.adb (Access_Definition): If this is an access parameter
- whose designated type is imported through a limited_with clause, do
- not add the enclosing subprogram to the list of private dependents of
- the type.
-
-2004-05-05 Ed Schonberg <schonberg@gnat.com>
-
- PR ada/15258
- * sem_ch6.adb (Base_Types_Match): True if one type is imported through
- a limited_with clause, and the other is its non-limited view.
-
-2004-05-05 Thomas Quinot <quinot@act-europe.fr>
-
- * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
-
- * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
- exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
- Stand.Boolean_Literals to produce references to entities
- Standard_False and Standard_True from compile-time computed boolean
- values.
-
- * stand.ads (Boolean_Literals): New variable, provides the entity
- values for False and True, for use by the expander.
-
-2004-05-05 Doug Rupp <rupp@gnat.com>
-
- * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
- 5vinmaop.adb: Unchecked convert Short_Address vice Address
-
- * adaint.c, raise.c: Caste CRTL function return value
- to avoid gcc error on 32/64 bit IVMS.
-
- * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
- target = IA64/VMS.
-
- * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
-
- * 5qsystem.ads (Address): Declare as Long_Integer
- (Short_Address): Declare as 32 bit subtype of Address
- Declare abstract address operations to avoid gratuitous ambiguities.
-
-2004-05-05 Jose Ruiz <ruiz@act-europe.fr>
-
- * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
- instead of the old Boolean_Entry_Barriers.
- Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
-
-2004-05-05 GNAT Script <nobody@gnat.com>
-
- * Make-lang.in: Makefile automatically updated
-
-2004-05-03 Arnaud Charlet <charlet@act-europe.fr>
-
- * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
-
-2004-05-03 Olivier Hainque <hainque@act-europe.fr>
-
- PR ada/15152
- * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
- alone. Replacing object references by literals is inappropriate in a
- so low level context.
-
-2004-05-03 Arnaud Charlet <charlet@act-europe.fr>
-
- * a-exexpr.adb: Add comments
-
-2004-05-03 Joel Brobecker <brobecker@gnat.com>
-
- * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
- declare the Ancestor_Tags array in Type_Specific_Data with a small size
- without risking a bounds check error when accessing one of its
- components.
- (Type_Specific_Data): Define Ancestor_Tags as a small array.
- This prevents us from hitting a limitation during the debug info
- generation when using stabs.
-
- * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
- small array.
- This prevents us from hitting a limitation during the debug info
- generation when using stabs.
-
-2004-05-03 Eric Botcazou <ebotcazou@act-europe.fr>
-
- lang-specs.h: Remove -gnatz* from specs.
-
-2004-05-03 Vincent Celier <celier@gnat.com>
-
- * gprmake.adb, makegpr.ads, makegpr.adb: New files.
-
- * Make-lang.in, Makefile.in: Add gprmake
-
-2004-05-03 Thomas Quinot <quinot@act-europe.fr>
-
- * sem_aggr.adb: Fix typo in comment.
-
-2004-05-03 Robert Dewar <dewar@gnat.com>
-
- * make.adb: Minor reformatting
-
- * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
-
- * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
- so that it works when address is not a private type.
-
- * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
- properly with rewritten unchecked conversions. This prevents
- order-of-elaboration issues that can otherwise arise.
- (Minimum_Size): Don't check size of access types under VMS
-
- * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
- interpretations of integer literals as type System.Address.
-
- * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
- (Is_Descendent_Of): New function
-
-2004-05-03 Jose Ruiz <ruiz@act-europe.fr>
-
- * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
- Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
- No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
-
- * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
- of the old Max_Entry_Queue_Depth.
-
- * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
- Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
- No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
-
- * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
- New entry for proper handling of Max_Entry_Queue_Depth.
- New entry for proper handling of No_Dynamic_Interrupts.
-
- * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
- supersedes the GNAT specific restriction Boolean_Entry_Barriers.
- Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
- the GNAT specific restriction Max_Entry_Queue_Depth.
- Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
- the GNAT specific restriction No_Dynamic_Interrupts.
-
- * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
- instead of the old Boolean_Entry_Barriers.
- Use the new restriction No_Dynamic_Attachment instead of the old
- No_Dynamic_Interrupts.
-
- * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
- supersedes the GNAT specific restriction Boolean_Entry_Barriers.
-
- * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
- of the old Max_Entry_Queue_Depth.
-
-2004-05-03 GNAT Script <nobody@gnat.com>
-
- * Make-lang.in: Makefile automatically updated
-
-2004-04-29 Ed Schonberg <schonberg@gnat.com>
-
- * checks.adb (Enable_Range_Check): If the prefix of an index component
- is an access to an unconstrained array, perform check unconditionally.
-
-2004-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * decl.c (gnat_to_gnu_field): Also call make_packable_type if
- Component_Clause.
-
-2004-04-29 Olivier Hainque <hainque@act-europe.fr>
-
- * init.c (__gnat_install_handler, __gnat_error_handler): Remove
- alternate stack setting. There was no support for the tasking cases
- and the changes eventually caused a number of side-effect failures in
- the non-tasking case too.
-
-2004-04-29 Eric Botcazou <ebotcazou@act-europe.fr>
-
- lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
- -gnats is passed.
-
-2004-04-29 Vincent Celier <celier@gnat.com>
-
- * make.adb (Gnatmake): Increase max size of argument array for
- gnatbind for the potential addition of -F.
- If there are Stand-Alone Library projects, invoke gnatbind with -F to
- be sure that elaboration flags will be checked.
-
- * switch-c.adb: Correct call to Scan_Pos for -gnateI
-
-2004-04-29 Thomas Quinot <quinot@act-europe.fr>
-
- * sem_warn.adb (Check_References): Move '<access-variable> may be
- null' warning out of under Warn_On_No_Value_Assigned.
-
-2004-04-29 Ed Falis <falis@gnat.com>
-
- * gnat_ugn.texi: Fixed texi error
-
-2004-04-29 Robert Dewar <dewar@gnat.com>
-
- * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
- abstract operations if they come from predefined files.
-
- * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
- Dynamic, not RM).
-
- * s-addope.adb: Correct obvious error in mod function
-
-2004-04-28 Andrew W. Reynolds <awreynolds@mac.com>
-
- * Makefile.in: Add target pairs for powerpc darwin*
- tasking support.
-
- * a-intnam-darwin.ads, s-osinte-darwin.adb,
- s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
-
-2004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
-
- * Makefile.in: Add target macro definitions for s390*-linux*.
- * system-linux-s390.ads: New file.
- * system-linux-s390x.ads: New file.
-
-2004-04-28 Joseph S. Myers <jsm@polyomino.org.uk>
-
- * gnat_ugn.texi: Correct argument to @setfilename.
-
-2004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
-
- * a-exexpr.adb (Unwind_Word): New data type.
- (Unwind_Exception): Use it as type of Private1 and Private2.
-
- * raise.c (db_action_for): Fix debug printf.
-
-2004-04-27 Ed Schonberg <schonberg@gnat.com>
-
- * a-wtmoio.ads: Formal type must be a modular type, not a signed
- integer type.
-
-2004-04-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * decl.c (gnat_to_gnu_entity, case object): Call
- __builtin_update_setjmp_buf.
-
- * gigi.h (update_setjmp_buf): Deleted.
- (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
-
- * misc.c: (update_setjmp_buf): Deleted.
-
- * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
- around block of RTL.
-
- * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
-
-2004-04-26 Thomas Quinot <quinot@act-europe.fr>
-
- * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
- subprogram for which no pragma All_Calls_Remote applies, store the
- address of the real subprogram in the underlying record type, so local
- dereferences do not go through the PCS.
-
-2004-04-26 Robert Dewar <dewar@gnat.com>
-
- * i-c.ads: Add some type qualifications to avoid ambiguities when
- compiling with s-auxdec.ads and a non-private address type.
-
-2004-04-26 Arnaud Charlet <charlet@act-europe.fr>
-
- * Makefile.rtl: Fix error in previous check-in:
- Add s-addope.o to non tasking object list (rather than tasking object
- list).
-
-2004-04-26 Javier Miranda <miranda@gnat.com>
-
- * sem_aggr.adb: Fix typo in comments
- (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
- Required to check the null-exclusion attribute.
-
- * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
- case of anonymous access types in record and array components. For a
- component definition the level is the same of the enclosing composite
- type.
-
- * sem_ch3.adb (Analyze_Component_Declaration): In case of components
- that are anonymous access types the level of accessibility depends on
- the enclosing type declaration. In order to have this information, set
- the scope of the anonymous access type to the enclosing record type
- declaration.
- (Array_Type_Declaration): In case of components that are anonymous
- access types the level of accessibility depends on the enclosing type
- declaration. In order to have this information, set the scope of the
- anonymous access type to the enclosing array type declaration.
-
- * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
- access type.
-
- * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
- renaming of anonymous access-to-constant types allowed if and only if
- the renamed object is access-to-constant.
-
- * sem_util.adb (Type_Access_Level): In case of anonymous access types
- that are component_definition or discriminants of a nonlimited type,
- the level is the same as that of the enclosing component type.
-
-2004-04-26 Sergey Rybin <rybin@act-europe.fr>
-
- * sem_elim.adb: Some minor code reorganization from code reading. Fix
- misprint in the function name (File_Name_Match).
-
-2004-04-23 Laurent Guerby <laurent@guerby.net>
-
- * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
- install.
-
-2004-04-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
-
-2004-04-23 Emmanuel Briot <briot@act-europe.fr>
-
- * adaint.c (__gnat_try_lock): No longer requires that the parent
- directory be writable, the directory itself is enough.
- (gnat_is_absolute_path): Change profile, so that the call from
- GNAT.OS_Lib can be made more efficient.
-
- * adaint.h (gnat_is_absolute_path): Change profile, so that the call
- from GNAT.OS_Lib can be made more efficient.
-
- * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
- one copy of the file name. Found by code reading.
-
-2004-04-23 Vincent Celier <celier@gnat.com>
-
- * gnat_ugn.texi: Add documentation for gnatmake switch -eL
- Correct documentation on gnatmake switches transmitted to the compiler
-
- * ali.ads: Minor comment fix
-
-2004-04-23 Javier Miranda <miranda@gnat.com>
-
- * sem_ch6.adb: (Confirming Types): Code cleanup
-
- * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
- subprogram types: E_Anonymous_Access_Subprogram_Type and
- E_Anonymous_Access_Protected_Subprogram_Type.
-
-2004-04-23 Thomas Quinot <quinot@act-europe.fr>
-
- * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
- whether a pragma All_Calls_Remote applies to the subprogram on which
- 'Access is taken.
- No functional change is introduced by this revision; the new parameter
- will be used to allow calls to local RCI subprograms to be optimized
- to not use the PCS in the case where no pragma All_Calls_Remote applies,
- as is already done in the PolyORB implementation of the DSA.
-
- * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
- whether a pragma All_Calls_Remote applies to the subprogram on which
- 'Access is taken.
- No functional change is introduced by this revision; the new parameter
- will be used to allow calls to local RCI subprograms to be optimized
- to not use the PCS in the case where no pragma All_Calls_Remote applies,
- as is already done in the PolyORB implementation of the DSA.
-
-2004-04-23 Robert Dewar <dewar@gnat.com>
-
- * Makefile.rtl: Add entry for s-addope.o in run time library list
- * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
- * s-addope.ads, s-addope.adb: New files.
-
- * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
- s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
- s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
- System.Address to be non-private and signed.
-
- * sem_elim.adb: Minor reformatting (fairly extensive)
- Some minor code reorganization from code reading
- Add a couple of ??? comments
-
-2004-04-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
- (tree_transform, case N_If_Statement): Remove non-determinism.
-
- * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
-
-2004-04-23 Sergey Rybin <rybin@act-europe.fr>
-
- * gnat_rm.texi: Small fixes in the changes made in the 'pragma
- Eliminate' section.
-
- * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
- no longer used as a parameter name for Eliminate pragma).
-
-2004-04-22 Laurent Guerby <laurent@guerby.net>
-
- PR optimization/14984
- PR optimization/14985
- * trans.c (gigi): Fix non determinism leading to bootstrap
- comparison failures.
-
-2004-04-21 Pascal Obry <obry@gnat.com>
-
- * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
- passed to spawnvp() to properly handle program pathname with spaces on
- Win32.
-
-2004-04-21 Emmanuel Briot <briot@act-europe.fr>
-
- * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
- (Allocate, Deallocate, Free_Physically): Make sure the tasks are
- unlocked in case of exceptions.
-
-2004-04-21 Joel Brobecker <brobecker@gnat.com>
-
- * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
- This function does not exist anymore.
-
-2004-04-21 Thomas Quinot <quinot@act-europe.fr>
-
- * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
-
- * link.c: Move variables to the __gnat name space.
-
- * Makefile.in: list link.o explicitly when needed.
-
- * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
-
-2004-04-21 Javier Miranda <miranda@gnat.com>
-
- * einfo.adb (Original_Access_Type): New subprogram
- (Set_Original_Access_Type): New subprogram
- (Write_Field21_Name): Write the name of the new field
-
- * einfo.ads (Original_Access_Type): New field present in access to
- subprogram types.
- Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
- E_Anonymous_Access_Protected_Subprogram_Type.
-
- * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
- subprogram types.
-
- * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
- to anonymous access to subprogram types.
-
- * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
- to subprogram types.
-
- * sem_ch3.adb (Access_Definition): Complete decoration of entities
- corresponding to anonymous access to subprogram types.
- (Analyze_Component_Declaration): Add new actual to the call to
- subprogram replace_anonymous_access_to_protected_subprogram.
- (Array_Type_Declaration): Add new actual to the call to subprogram
- replace_anonymous_access_to_protected_subprogram.
- (Process_Discriminants): Add new actual to the call to subprogram
- replace_anonymous_access_to_protected_subprogram.
- (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
-
- * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
- formal.
-
- * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
- access to subprogram types.
-
- * sem_util.adb (Has_Declarations): Addition of package_specification
- nodes.
-
-2004-04-21 Ed Schonberg <schonberg@gnat.com>
-
- * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
- inlined flags to renamed entity only if in current unit.
-
-2004-04-21 Thomas Quinot <quinot@act-europe.fr>
-
- * s-parint.ads: Add DSA implementation marker.
-
- * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
- value of System.Partition_Interface.DSA_Implementation to determine
- what version of the distributed systems annex is available (no
- implementation, GLADE, or PolyORB).
-
-2004-04-21 Joel Brobecker <brobecker@gnat.com>
-
- * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
-
-2004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
- with new type if alias sets differ.
- Fixes ACATS c41103b.
-
-2004-04-21 Vincent Celier <celier@gnat.com>
-
- * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
- Add array Lang_Args for the language specific compiling argument
- switches.
-
- * gnat_ugn.texi: Explain in more details when a library is rebuilt.
-
-2004-04-21 Sergey Rybin <rybin@act-europe.fr>
-
- * gnat_rm.texi: Update the descripton of the Eliminate pragma
- according to the recent changes in the format of the parameters of the
- pragma (replacing Homonym_Number with Source_Location).
-
-2004-04-19 Arnaud Charlet <charlet@act-europe.fr>
-
- * 5isystem.ads: Removed, unused.
-
- * gnat_rm.texi: Redo 1.13 change.
-
-2004-04-19 Robert Dewar <dewar@gnat.com>
-
- * s-stoele.ads: Clean up definition of Storage_Offset (the new
- definition is cleaner, avoids the kludge of explicit Standard operator
- references, and also is consistent with a visible System.Address with
- no visible operations.
-
- * s-geveop.adb: Add declarations to avoid assumption of visible
- operations on type System.Address (since these might not be available
- if Address is a non-private type for which the operations
- are made abstract).
-
- * sem_eval.adb: Minor reformatting
-
- * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
- s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
- reformatting (new function spec format).
-
- * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
- s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
- s-caun64.adb: Add declarations to avoid assumption of visible
- operations on type System.Address (since these might not be available
- if Address is a non-private type for which the operations are made
- abstract).
-
- * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
-
- * exp_intr.adb: Minor comment update
-
- * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
-
- * 5omastop.adb: Add declarations to avoid assumption of visible
- operations on type System.Address (since these might not be available
- if Address is a non-private type for which the operations
- are made abstract).
-
-2004-04-19 Vincent Celier <celier@gnat.com>
-
- * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
-
- * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
- defaulted to Ada.
-
- * prj-proc.adb (Process): New Boolean parameter Process_Languages,
- defaulted to Ada.
- Call Check with Process_Languages.
- (Check): New Boolean parameter Process_Languages. Call Recursive_Check
- with Process_Languages.
- (Recursive_Check): New Boolean parameter Process_Languages. Call
- Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
- Process_Languages.
-
- * prj-proc.ads (Process): New Boolean parameter Process_Languages,
-
- * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
- parameter Ada_Main, defaulted to True.
- Check for Ada specific characteristics only when Ada_Main is True.
-
- * opt.ads: (Follow_Links): New Boolean flag for gnatmake
-
- * prj.adb: (Project_Empty): Add new Project_Data components.
-
- * prj.ads: New types and tables for non Ada languages.
- (Project_Data): New components Languages, Impl_Suffixes,
- First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
- Include_Path, Include_Data_Set.
-
- * prj-env.ads, prj-env.adb: Minor reformatting
-
- * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
- Put subprograms in alphabetical order
-
- * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
- defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
- Opt.Follow_Links.
-
- * mlib-prj.adb: Back out modification in last version, as they are
- incorrect.
- (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
-
- * make.adb: (Mains): Moved to package Makeutl
- (Linker_Opts): Moved to package Makeutl
- (Is_External_Assignment): Moved to package Makeutl
- (Test_If_Relative_Path): Moved to package Makeutl
- (Gnatmake): Move sorting of linker options to function
- Makeutl.Linker_Options_Switches.
-
- * makeutl.ads, makeutl.adb: New files.
-
- * Makefile.in: Add makeutl.o to the object files for gnatmake
-
- * makeusg.adb: Add line for new switch -eL.
-
- * gnatls.adb (Image): New function.
- (Output_Unit): If in verbose mode, output the list of restrictions
- specified by pragmas Restrictions.
-
- * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
- Text_IO.
-
- * a-calend.adb (Split): Shift the date by multiple of 56 years, if
- needed, to put it in the range 1970 (included) - 2026 (excluded).
- (Time_Of): Do not shift Unix_Min_Year (1970).
- Shift the date by multiple of 56 years, if needed, to put it in the
- range 1970 (included) - 2026 (excluded).
-
- * adaint.h, adaint.c (__gnat_set_executable): New function.
-
-2004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
- and pop GC context.
- (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
- (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
- (tree_transform, case N_Procedure_Call_Statement): Build a tree.
- (tree_transform, case N_Code_Statement): Likewise.
- (gnat_expand_stmt, case LABEL_STMT): Don't look at
- LABEL_STMT_FIRST_IN_EH.
- (gnat_expand_stmt, case ASM_STMT): New case.
-
- * utils2.c (build_unary_op): Properly set TREE_READONLY of
- UNCONSTRAINED_ARRAY_REF.
-
- * utils.c (poplevel): Temporarily push/pop GC context around inline
- function expansion.
-
- * decl.c (maybe_variable): Properly set TREE_READONLY of
- UNCONSTRAINED_ARRAY_REF.
- (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
-
- * ada-tree.def: (ASM_STMT): New.
-
- * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
- (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
- ASM_STMT_INPUT): New.
- (ASM_STMT_CLOBBER): Likewise.
-
-2004-04-19 Thomas Quinot <quinot@act-europe.fr>
-
- * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
- general rcheck mechanism to raise Program_Error for E.4(18), instead
- of a custom raiser in System.Partition_Interface.
- Part of general cleanup work before PolyORB integration.
-
- * snames.ads, snames.adb: Add new runtime library entities and names
- for PolyORB DSA.
-
- * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
- exp_dist.
- (Build_Subprogram_Id): New subprogram provided by exp_dist
- Code reorganisation in preparation for PolyORB integration.
-
- * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
- exp_dist.
- (Build_Subprogram_Id): New subprogram provided by exp_dist
-
- * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
- actual parameter types for call to dereference of an
- access-to-subprogram type.
-
- * rtsfind.ads: Add new runtime library entities and names for PolyORB
- DSA.
-
- * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
- instead, which has the same behaviour here since we never pass it a
- NULL pointer.
-
- * link.c (run_path_option, Solaris case): Use -Wl, as for other
- platforms.
-
- * Makefile.in: adjust object file lists for gnatlink and gnatmake
- to account for new dependency upon Interfaces.C.Strings + link.o
- For x86 FreeBSD, use 86numaux.
-
- * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
- from Mlib.Tgt to Mlib.
-
- * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
- target-independent.
-
- * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
- target-specific versions of this subprogram, now implemented as a
- target-independent function in Mlib.
-
- * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
- 5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
- (Linker_Library_Path_Option): Remove target-specific versions of this
- subprogram, now implemented as a target-independent function in Mlib.
-
- * atree.adb: (Allocate_Initialize_Node): New subprogram.
- Factors out node table slots allocation.
- (Fix_Parents): New subprogram.
- Encapsulate the pattern of fixing up parent pointers for syntactic
- children of a rewritten node.
- (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
- (Rewrite): Use New_Copy when creating saved copy of original node.
- (Replace): Use Copy_Node to copy nodes.
-
-2004-04-19 Javier Miranda <miranda@gnat.com>
-
- * sprint.adb (Sprint_Node_Actual): Give support to the new
- Access_To_Subprogram node available in Access_Definition nodes. In
- addition, give support to the AI-231 node fields: null-exclusion,
- all-present, constant-present.
-
- * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
-
- * sinfo.ads, sinfo.adb:
- New field Access_To_Subprogram_Definition in Access_Definition nodes
-
- * sem_ch6.adb (Process_Formals): Move here the code that creates and
- decorates internal subtype declaration corresponding to the
- null-excluding formal. This code was previously in Set_Actual_Subtypes.
- In addition, carry out some code cleanup on this code. In case of
- access to protected subprogram call
- Replace_Anonymous_Access_To_Protected_Subprogram.
- (Set_Actual_Subtypes): Code cleanup.
-
- * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
- Find_Type in case of anonymous access renamings. Add warning in case of
- null-excluding attribute used in anonymous access renaming.
-
- * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
- subprogram
-
- * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
- subprogram.
- (Access_Definition): In case of anonymous access to subprograms call
- the corresponding semantic routine to decorate the node.
- (Access_Subprogram_Declaration): Addition of some comments indicating
- some code that probably should be added here. Detected by comparison
- with the access_definition subprogram.
- (Analyze_Component_Declaration): In case of access to protected
- subprogram call Replace_Anonymous_Access_To_Protected.
- (Array_Type_Declaration): In case of access to protected subprogram call
- Replace_Anonymous_Access_To_Protected_Subprogram.
- (Process_Discriminants): In case of access to protected subprogram call
- Replace_Anonymous_Access_To_Protected_Subprogram.
-
- * par.adb (P_Access_Definition): New formal that indicates if the
- null-exclusion part was present.
- (P_Access_Type_Definition): New formal that indicates if the caller has
- already parsed the null-excluding part.
-
- * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
- (P_Identifier_Declarations): Code cleanup and give support to renamings
- of anonymous access to subprogram types.
- (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
- (P_Array_Type_Definition): Give support to AI-254.
- (P_Component_Items): Give support to AI-254.
- (P_Access_Definition): New formal that indicates if the header was
- already parsed by the caller.
- (P_Access_Type_Definition): New formal that indicates if the caller has
- already parsed the null-excluding part.
-
- * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
- call to P_Access_Definition.
-
-2004-04-19 Geert Bosch <bosch@gnat.com>
-
- * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
- the delicate semantics of floating-point to integer conversion.
- (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
-
- * eval_fat.adb (Machine_Mantissa): Moved to spec.
- (Machine_Radix): New function.
-
- * eval_fat.ads (Machine_Mantissa): Moved from body for use in
- conversion checks.
- (Machine_Radix): New function also for use in conversion checks.
-
-2004-04-19 Ed Schonberg <schonberg@gnat.com>
-
- * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
-
- * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
- to decorate the access-to-protected subprogram and the equivalent type.
-
- * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
- to anonymous access to subprogram types.
-
- * exp_ch4.adb (Expand_N_In): Preserve Static flag before
- constant-folding, for legality checks in contexts that require an RM
- static expression.
-
- * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
- temporary but stack checking is not enabled, increment serial number
- to so that symbol generation is consistent with and without stack
- checking.
-
- * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
- independent on whether stack checking is enabled, caller must check
- the corresponding flag.
-
- * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
- range checks.
- (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
- parent if it has discriminants.
- (Build_Derived_Private_Type): Constructed full view does
- not come from source.
- (Process_Discriminants): Default discriminants on a tagged type are
- legal if this is the internal completion of a private untagged
- derivation.
-
- * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
- no constraint checks, because it corresponds to an existing object.
-
- * sem_prag.adb (Process_Convention): Pragma applies
- only to subprograms in the same declarative part, i.e. the same unit,
- not the same scope.
-
- * sem_res.adb (Valid_Conversion): In an instance or inlined body,
- ignore type mismatch on a numeric conversion if expression comes from
- expansion.
-
-2004-04-19 Sergey Rybin <rybin@act-europe.fr>
-
- * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
- Homonym_Number parameter, add processing for Source_Location parameter
- corresponding.
- (Check_Eliminated): Remove the check for homonym numbers, add the check
- for source location traces.
-
- * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
- with Arg_Source_Location corresponding to the changes in the format of
- the pragma.
-
- * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
- Eliminate pragma corresponding to the changes in the format of the
- pragma: Homonym_Number is replaced with Source_Location, two ways of
- distinguishing homonyms are mutially-exclusive.
-
-2004-04-19 Joel Brobecker <brobecker@gnat.com>
-
- * get_targ.ads (Get_No_Dollar_In_Label): Remove.
-
- * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
- No_Dollar_In_Label, no longer necessary, as it is always True.
- (Strip_Suffixes): Likewise.
-
-2004-04-19 Gary Dismukes <dismukes@gnat.com>
-
- * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
- modulus for compatibility with size clause on targets with 16-bit
- Integer.
-
- * layout.adb (Discrimify): In the case of private types, set Vtyp to
- full type to fix type mismatches on calls to size functions for
- discriminant-dependent array components.
-
-2004-04-19 Jerome Guitton <guitton@act-europe.fr>
-
- * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
- lib.
-
-2004-04-19 Pascal Obry <obry@gnat.com>
-
- * mdll-utl.adb (Locate): New version is idempotent.
-
-2004-04-17 Laurent Guerby <laurent@guerby.net>
-
- PR ada/14988 (partial)
- * impunit.adb: Fix typo.
-
-2004-04-14 Nathanael Nerode <neroden@gcc.gnu.org>
-
- * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
- and install-rts-cert targets. Remove all gnatlib and gnattools
- targets and all other rts-* targets (moved to libada). Remove (now)
- unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
- TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
-
-2004-04-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * trans.c (tree_transform): Shortcut returning error_mark_node for
- statements in annotate_only_mode.
- (tree_transform, case N_Label, case N_Return_Statement,
- N_Goto_Statement): Make statement tree instead of generating code.
- (tree_transform, case N_Assignment_Statement): No longer check
- type_annotate_only.
- (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
- RETURN_STMT): New.
- (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
- New fcns.
- (gnat_to_gnu): Collect any RTL generated and deal with it.
- (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
- (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
- (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
-
- * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
-
- * ada-tree.def (EXPR_STMT): Fix typo in name.
- (BLOCK_STMT, IF_STMT): New nodes.
-
- * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
- LABEL_STMT_FIRST_IN_EH): New macros.
- (RETURN_STMT_EXPR): Likewise.
-
- * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
- IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
-
-2004-04-08 Thomas Quinot <quinot@act-europe.fr>
-
- * atree.ads: Correct documentation on extended nodes.
-
- * link.c: Set run_path_option for FreeBSD.
-
-2004-04-08 Vincent Celier <celier@gnat.com>
-
- * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
- one of the ALI file, do not link with DEC lib.
-
- * par.adb Remove the last two characters ("%s" or "%b") when checking
- if a language defined unit may be recompiled.
-
-2004-04-08 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
- removal of abstract operation leaves no possible interpretation for
- expression.
-
- * sem_eval.adb (Eval_Qualified_Expression): Use
- Set_Raises_Constraint_Error on node when needed, so that it does not
- get optimized away by subsequent optimizations.
-
- * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
- operands even when they are not wrapped in a type conversion.
-
-2004-04-08 Olivier Hainque <hainque@act-europe.fr>
-
- * sem_prag.adb (Set_Exported): Warn about making static as result of
- export only when the export is coming from source. This may be not
- be true e.g. on VMS where we expand export pragmas for exception codes
- together with imported or exported exceptions, and we don't want the
- user to be warned about something he didn't write.
-
-2004-04-08 Thomas Quinot <quinot@act-europe.fr>
-
- * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
- duplication between normal entities and those declared as renamings.
- No functional change.
-
- * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
- inline functions returning an unconstrained result.
-
-2004-04-08 Eric Botcazou <ebotcazou@act-europe.fr>
-
- * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
- conform to what other front-ends do.
-
-2004-04-08 Doug Rupp <rupp@gnat.com>
-
- * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
- libraries.
-
-2004-04-06 Pascal Obry <obry@gnat.com>
-
- * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
-
- * osint.adb (Program_Name): Do not look past a directory separator.
-
-2004-04-06 Thomas Quinot <quinot@act-europe.fr>
-
- * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
-
- * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
- requirement for preserving a copy of the original assignment node.
-
- * sinfo.ads: Update comment (Original_Tree -> Original_Node).
-
-2004-04-06 Olivier Hainque <hainque@act-europe.fr>
-
- (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
- when supported.
-
-2004-04-06 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
- operator calls in functional notation, and apply
- Universal_Interpretation to operands, not to their type.
-
-2004-04-06 Robert Dewar <dewar@gnat.com>
-
- * 5wdirval.adb: Minor reformatting
-
-2004-04-06 Ed Falis <falis@gnat.com>
-
- * gnat_rm.texi: Improve a reference to the GCC manual
-
-2004-04-05 Vincent Celier <celier@gnat.com>
-
- * adaint.h, adaint.c: Add function __gnat_named_file_length
-
- * impunit.adb: Add Ada.Directories to the list
-
- * Makefile.in: Add VMS and Windows versions of
- Ada.Directories.Validity package body.
-
- * Makefile.rtl: Add a-direct and a-dirval
-
- * mlib-tgt.ads: Minor comment update.
-
- * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
- a-direct.ads, a-direct.adb: New files.
-
-2004-04-05 Vincent Celier <celier@gnat.com>
-
- PR ada/13620
- * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
- just to the compiler.
-
-2004-04-05 Robert Dewar <dewar@gnat.com>
-
- * a-except.adb (Exception_Name_Simple): Make sure lower bound of
- returned string is 1.
-
- * ali-util.adb: Use proper specific form for Warnings (Off, entity)
-
- * eval_fat.ads: Minor reformatting
-
- * g-curexc.ads: Document that lower bound of returned string values
- is always one.
-
- * gnatlink.adb: Add ??? comment for previous change
- (need to document why this is VMS specific)
-
- * s-stoele.ads: Minor reformatting
-
- * tbuild.ads: Minor reformatting throughout (new function specs)
-
- * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
- after WITH.
-
- * scng.adb: Minor reformatting
-
-2004-04-05 Geert Bosch <bosch@gnat.com>
-
- * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
- (Leading_Part): Still perform truncation to machine number if the
- specified radix_digits is greater or equal to machine_mantissa.
-
-2004-04-05 Javier Miranda <miranda@gnat.com>
-
- * par-ch3.adb: Complete documentation of previous change
- Correct wrong syntax documentation of the OBJECT_DECLARATION rule
- (aliased must appear before constant).
-
- * par-ch4.adb: Complete documentation of previous change.
-
- * par-ch6.adb: Complete documentation of previous change.
-
- * sinfo.ads: Fix typo in commment.
-
-2004-04-05 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch3.adb (Inherit_Components): If derived type is private and has
- stored discriminants, use its discriminants to constrain parent type,
- as is done for non-private derived record types.
-
- * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
- Ada 2005 AI-310: an abstract non-dispatching operation is not a
- candidate interpretation in an overloaded call.
-
- * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
- expression is Null and target type is not an access type (e.g. a
- non-private address type).
-
-2004-04-05 Thomas Quinot <quinot@act-europe.fr>
-
- * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
- statement whose right-hand side is an inlined call, save a copy of the
- original assignment subtree to preserve enough consistency for
- Analyze_Assignment to proceed.
-
- * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
- complete assignment subtree which is now unnecessary, as the expansion
- of inlined call has been improved to preserve a consistent assignment
- tree. Note_Possible_Modification must be called only
- after checks have been applied, or else unnecessary checks will
- be generated.
-
- * sem_util.adb (Note_Possible_Modification): Reorganise the handling
- of explicit dereferences that do not Come_From_Source:
- - be selective on cases where we must go back to the dereferenced
- pointer (an assignment to an implicit dereference must not be
- recorded as modifying the pointer);
- - do not rely on Original_Node being present (Analyze_Assignment
- calls Note_Possible_Modification on a copied tree).
-
- * sem_warn.adb (Check_References): When an unset reference to a pointer
- that is never assigned is encountered, prefer '<pointer> may be null'
- warning over '<pointer> is never assigned a value'.
-
-2004-04-05 Ramon Fernandez <fernandez@gnat.com>
-
- * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
- the ABI.
-
-2004-04-05 Olivier Hainque <hainque@act-europe.fr>
-
- * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
- libexc. We currently don't reference anything in this library and
- linking it in triggers linker warnings we don't want to see.
-
- * init.c: Update comments.
-
-2004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
- * utils.c (create_field_decl): Likewise.
- * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
-
-2004-04-02 Arnaud Charlet <charlet@act-europe.fr>
-
- * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
- Replace ifinfo by ifnottex, to make makeinfo --html happy again.
- Add info directory entry and category.
-
-2004-04-02 Jan Hubicka <jh@suse.cz>
-
- * utils.c: Include function.h
- (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
-
-2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
-
- PR ada/14150
- * Make-lang.in: Clean up generation of documentation
-
- * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
-
- * xgnatug.adb: Removed, replaced by xgnatugn.adb
-
- * xgnatugn.adb: Replaces xgnatug.adb
-
- * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
-
- * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
-
- * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
- gnat_ug_wnt.texi: Removed.
-
-2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
-
- * utils2.c: Update copyright notice.
-
-2004-04-01 Robert Dewar <dewar@gnat.com>
-
- * checks.adb: Minor reformatting throughout
- Note that prev checkin added RM reference to alignment warning
-
-2004-04-01 Ed Schonberg <schonberg@gnat.com>
-
- * exp_aggr.adb (Get_Component_Val): Treat a string literal as
- non-static when building aggregate for bit-packed array.
-
- * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
- function call that is itself the actual in a procedure call, build
- temporary for it.
-
- * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
- a string literal, create a temporary for it, constant folding only
- handles scalars here.
-
-2004-04-01 Vincent Celier <celier@gnat.com>
-
- * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
- Error_Msg_SP): New empty procedures to instantiate the Scanner.
- (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
- tokens.
- (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
- (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
- and get the checksum.
-
- * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
- already in the Q.
- Increase the Marking_Label at the end of the Multiple_Main_Loop,
- instead of at the beginning.
-
- * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
- directly.
- (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
- on VMS.
-
- * osint.ads (Multi_Unit_Index_Character): New Character global variable
-
- * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
- not '~' directly.
-
- * par.adb: Remove test on file name to detect language defined units.
- Add test on unit name, after parsing, to detect language defined units
- that are not compiled with -gnatg (except System.RPC and its children)
-
- * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
- following units without style checking.
-
- * switch-c.adb: Change -gnatC to -gnateI
-
- * usage.adb: Document new switch -gnateInnn
-
- * scng.adb (Accumulate_Token_Checksum): New procedure
- (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
- word or literal number.
- (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
- numbers.
-
-2004-04-01 Thomas Quinot <quinot@act-europe.fr>
-
- * a-tasatt.adb,
- g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
- switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
- 5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
- 5vtpopde.adb: Add missing 'constant' keywords.
-
-2004-04-01 Javier Miranda <miranda@gnat.com>
-
- * par-ch4.adb: (P_Allocator): Code cleanup
-
- * sem_ch3.adb (Access_Definition): Properly set the null-excluding
- attribute.
-
- * sinfo.ads: Complete documentation of previous change
-
-2004-04-01 Pascal Obry <obry@gnat.com>
-
- * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
- only on VMS. This special handling was done because an old GNU/ld bug
- on Windows which has been fixed.
-
-2004-04-01 GNAT Script <nobody@gnat.com>
-
- * Make-lang.in: Makefile automatically updated
-
-2004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * decl.c (gnat_to_gnu_entity, make_type_from_size):
- Use TYPE_UNSIGNED, not TREE_UNSIGNED.
- * trans.c (tree_transform, convert_with_check): Likewise.
- * utils.c (gnat_signed_or_unsigned_type): Likewise.
- (build_vms_descriptor, unchecked_convert): Likewise.
- * utils2.c (nonbinary_modular_operation): Likewise.
-
-2004-03-29 Javier Miranda <miranda@gnat.com>
-
- * checks.adb (Null_Exclusion_Static_Checks): New subprogram
- (Install_Null_Excluding_Check): Local subprogram that determines whether
- an access node requires a runtime access check and if so inserts the
- appropriate run-time check.
- (Apply_Access_Check): Call Install_Null_Excluding check if required
- (Apply_Constraint_Check): Call Install_Null_Excluding check if required
-
- * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
-
- * einfo.ads: Fix typo in comment
-
- * exp_ch3.adb (Build_Assignment): Generate conversion to the
- null-excluding type to force the corresponding run-time check.
- (Expand_N_Object_Declaration): Generate conversion to the null-excluding
- type to force the corresponding run-time check.
-
- * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
- the null-excluding type to force the corresponding run-time check.
-
- * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
- case of access types unless they have the null-excluding attribute.
-
- * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
- part.
-
- * exp_util.ads: Fix typo in comment
-
- * par.adb (P_Null_Exclusion): New subprogram
- (P_Subtype_Indication): New formal that indicates if the null-excluding
- part has been scanned-out and it was present
-
- * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
-
- * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
- (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
- type to force the corresponding run-time check
- (Resolve_Aggregate): Propagate the null-excluding attribute to the array
- components
- (Resolve_Array_Aggregate): Carry out some static checks
- (Resolve_Record_Aggregate.Get_Value): Carry out some static check
-
- * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
- attribute must be set only if specified by means of the null-excluding
- part. In addition, we must also propagate the access-constant attribute
- if present.
- (Access_Subprogram_Declaration, Access_Type_Declaration,
- Analyze_Component_Declaration, Analyze_Object_Declaration,
- Array_Type_Declaration, Process_Discriminants,
- Analyze_Subtype_Declaration): Propagate the null-excluding attribute
- and carry out some static checks.
- (Build_Derived_Access_Type): Set the null-excluding attribute
- (Derived_Type_Declaration, Process_Subtype): Carry out some static
- checks.
-
- * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
-
- * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
-
- * sem_ch6.adb (Process_Formals): Carry out some static checks.
- (Set_Actual_Subtypes): Generate null-excluding subtype if the
- null-excluding part was present; it is not required to be done here in
- case of anonymous access types.
- (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
- value.
-
- * sem_res.adb (Resolve_Actuals): Carry out some static check
- (Resolve_Null): Allow null in anonymous access
-
- * sinfo.adb: New subprogram Null_Exclusion_Present
- All_Present and Constant_Present available on access_definition nodes
-
- * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
- object_declaration, derived_type_definition, component_definition,
- discriminant_specification, access_to_object_definition,
- access_function_definition, allocator, access_procedure_definition,
- access_definition, parameter_specification, All_Present and
- Constant_Present flags available on access_definition nodes.
-
-2004-03-29 Robert Dewar <dewar@gnat.com>
-
- * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
- gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
- opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
- par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
- sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
- sem_prag.adb: Updates to handle multiple units/file
-
- * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
-
- * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
- sem_util.adb: Minor reformatting
-
- * sem_ch12.adb: Add comment for previous change
-
-2004-03-29 Laurent Pautet <pautet@act-europe.fr>
-
- * osint.adb (Executable_Prefix): Set Exec_Name to the current
- executable name when not initialized. Otherwise, use its current value.
-
- * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
- initialize it to another executable name than the current one. This
- allows to configure paths for an executable name (gnatmake) different
- from the current one (gnatdist).
-
-2004-03-29 Ed Schonberg <schonberg@gnat.com>
-
- * exp_ch6.adb (Expand_Call): A call to a function declared in the
- current unit cannot be inlined if it appears in the body of a withed
- unit, to avoid order of elaboration problems in gigi.
-
- * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
- information for protected (wrapper) operation as well, to simplify gdb
- use.
-
- * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
- protected body, indicate that the entity for the generated spec comes
- from source, to ensure that references are properly generated for it.
- (Build_Body_To_Inline): Do not inline a function that returns a
- controlled type.
-
- * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
- apply convention to homonyms that are declared explicitly.
-
- * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
- that renames an equality operator and the operands are overloaded,
- resolve them with the declared formal types, before rewriting as an
- operator.
-
-2004-03-29 GNAT Script <nobody@gnat.com>
-
- * Make-lang.in: Makefile automatically updated
-
-2004-03-25 Vasiliy Fofanov <fofanov@act-europe.fr>
-
- * memtrack.adb: Log realloc calls, which are treated as free followed
- by alloc.
-
-2004-03-25 Vincent Celier <celier@gnat.com>
-
- * prj-makr.adb (Process_Directories): Detect when a file contains
- several units. Do not include such files in the config pragmas or
- in the naming scheme.
-
- * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
- Resolve links only when not in Trusted_Mode.
- (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
- Do not resolve links for the display names.
-
- * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
- resolve links when computing the display names.
-
-2004-03-25 Thomas Quinot <quinot@act-europe.fr>
-
- * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
- attribute reference does not denote a subtype, it can be any
- expression that has a classwide type, potentially after an implicit
- dereference. In particular, the prefix can be a view conversion for
- a classwide type (for which Is_Object_Reference holds), but it can
- also be a value conversion for an access-to-classwide type. In the
- latter case, there is an implicit dereference, and the original node
- for the prefix does not verify Is_Object_Reference.
-
- * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
- conversion of a discriminant-dependent component of a mutable object
- is one itself.
-
-2004-03-25 Ed Schonberg <schonberg@gnat.com>
-
- * freeze.adb (Freeze_Entity): When an inherited subprogram is
- inherited, has convention C, and has unconstrained array parameters,
- place the corresponding warning on the derived type declaration rather
- than the original subprogram.
-
- * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
- indication on renaming declaration, if formal has a box and actual
- is absent.
-
- * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
- determine whether to generate an implicit or explicit reference to
- the renamed entity.
-
- * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
- subprogram renaming comes from a defaulted formal subprogram in an
- instance.
-
-2004-03-25 Gary Dismukes <dismukes@gnat.com>
-
- * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
- value expressions to ensure that calls within a component definition
- will be checked (since those are evaluated during the record type's
- elaboration).
-
-2004-03-25 Arnaud Charlet <charlet@act-europe.fr>
-
- * s-tpobop.adb: Code clean up:
- (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
- code.
- (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
-
-2004-03-25 Jose Ruiz <ruiz@act-europe.fr>
-
- * Makefile.in: Clean up in the ravenscar run time.
-
-2004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
- of No_Strict_Aliasing to build_pointer_type_for_mode.
- * utils.c (update_pointer_to): Walk pointer and ref chains.
-
-2004-03-22 Cyrille Comar <comar@act-europe.fr>
-
- * ali.ads: Fix Comment about Dynamic_Elab.
-
- * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
- Has_RACW, Is_Generic, etc.)
- (Output_Object, Gnatls): Take into account ALI files not attached to
- an object.
-
-2004-03-22 Vincent Celier <celier@gnat.com>
-
- * gprep.adb: Change all String_Access to Name_Id
- (Is_ASCII_Letter): new function
- (Double_File_Name_Buffer): New procedure
- (Preprocess_Infile_Name): New procedure
- (Process_Files): New procedure
- (Gnatprep): Check if output and input are existing directories.
- Call Process_Files to do the real job.
-
-2004-03-22 Robert Dewar <dewar@gnat.com>
-
- * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
- s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
-
-2004-03-22 Sergey Rybin <rybin@act-europe.fr>
-
- * scn.adb (Contains): Add check for EOF, is needed for a degenerated
- case when the source contains only comments.
-
-2004-03-22 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
- declaration for a child subprogram body that acts as a spec, indicate
- that the entity in the declaration needs debugging information.
-
- * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
- full view if the subtype is created for a constrained record component;
- gigi has enough information to construct the record, and there is no
- place in the tree for the declaration.
-
- * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
- serial number for the dummy body that is built for analysis, to avoid
- inconsistencies in the generation of internal names when compiling
- with -gnatN.
-
-2004-03-22 Thomas Quinot <quinot@act-europe.fr>
-
- * sem_util.adb (Is_Object_Reference): A view conversion denotes an
- object.
-
-2004-03-22 GNAT Script <nobody@gnat.com>
-
- * Make-lang.in: Makefile automatically updated
-
-2004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
- * trans.c (tree_transform, emit_index_check): Likewise.
- * utils.c (build_template): Likewise.
- (max_size, convert): Remove handling of WITH_RECORD_EXPR.
- (maybe_unconstrained_array, unchecked_convert): Likewise.
- * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
- (build_unary_op): Likewise.
- (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
- (fill_vms_descriptor): Likewise.
- (build_call_alloc_dealloc): Likewise.
- ALIGN is unsigned.
- * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
-
-2004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
-
- PR other/14630
- * gnat_ug.texi: Add info directory category and entry.
- * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
- gnat_ug_wnt.texi: Regenerate.
-
-2004-03-19 Arnaud Charlet <charlet@act-europe.fr>
-
- * ada-tree.h: Update copyright notice.
- Minor reformatting.
-
-2004-03-19 Olivier Hainque <hainque@act-europe.fr>
-
- * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
- as regular exception objects and not as mere integers representing the
- condition code. The latter approach required some dynamics to mask off
- severity bits, which did not fit well into the GCC table based model.
- (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
- exception data objects. We don't it and it would conflict with the other
- external symbol we have to generate for such exceptions.
-
- * trans.c (tree_transform, case N_Exception_Handler): Remove part of
- the special code for VMS exceptions, since these are now represented
- as regular exceptions objects.
-
-2004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * decl.c (debug_no_type_hash): Remove.
- (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
- * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
-
-2004-03-19 Laurent Guerby <laurent@guerby.net>
-
- * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
- aggregate, allows bootstrap from 3.3 on powerpc-darwin.
-
-2004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
- (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
- (TYPE_RM_SIZE_INT): Directly use type.values.
- (TREE_LOOP_ID): Clean up check.
- * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
- TYPE_VALUES, not TYPE_FIELDS.
- * trans.c (convert_with_check): Delay access of bounds of basetype
- until sure is numeric.
-
-2004-03-18 Arnaud Charlet <charlet@act-europe.fr>
-
- * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
-
- Code clean up:
- * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
- 5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
- Specific.Set instead of direct call to e.g pthread_setspecific.
-
-2004-03-18 Thomas Quinot <quinot@act-europe.fr>
-
- * adaint.c: Update comments.
-
- * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
- GNATLIB_SHARED for FreeBSD.
-
-2004-03-18 Jose Ruiz <ruiz@act-europe.fr>
-
- * init.c [VxWorks]: Do not fix the stack size for the environment task.
- When needed (stack checking) the stack size is retrieved
- from the VxWorks kernel.
-
- * Makefile.in: Flag -nostdinc is required when building the run time
- for avoiding looking for files in the base compiler.
- Add the VxWorks specific version of the package body for
- System.Stack_checking.Operations (5zstchop.adb).
-
- * Make-lang.in: Add the object file for
- System.Stack_Checking.Operations.
-
- * Makefile.rtl: Add object file for the package
- System.Stack_Checking.Operations.
-
- * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
-
- * s-stache.ads, s-stache.adb: Move the operations related to stack
- checking from this package to package System.Stack_Checking.Operations.
- This way, stack checking operations are only linked in the final
- executable when using the -fstack-check flag.
-
-2004-03-18 Doug Rupp <rupp@gnat.com>
-
- * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
- Reorganize ifeq's.
-
- * 5qsystem.ads, 5xcrtl.ads: New files.
-
-2004-03-18 Vincent Celier <celier@gnat.com>
-
- * prj.adb (Reset): Reset hash table Files_Htable
-
- * prj-env.adb (Source_Paths, Object_Paths): New tables.
- (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
- the procedures Add_To_Path_File.
- (Set_Ada_Paths): Accumulate source and object dirs in the tables,
- making sure that each directory is present only once and, for object
- dirs, when a directory already present is added, the duplicate is
- removed and the directory is always put as the last in the table.
- Write the path files at the end of these accumulations.
-
- * prj-nmsc.adb (Record_Source): Add source file name in hash table
- Files_Htable for all sources.
-
- * prj-proc.adb (Process): Remove restrictions between not directly
- related extending projects.
-
-2004-03-18 Emmanuel Briot <briot@act-europe.fr>
-
- * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
- (Find_Sources): Minor speed optimization.
-
- * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
- parameter Trusted_Mode.
-
-2004-03-18 Sergey Rybin <rybin@act-europe.fr>
-
- * scn.adb (Determine_License): Take into account a degenerated case
- when the source contains only comments.
-
-2004-03-18 Ed Schonberg <schonberg@gnat.com>
-
- * sem_warn.adb (Check_References): For a warning on a selected
- component that does not come from source, locate an uninitialized
- component of the record type to produce a more precise error message.
-
-2004-03-15 Jerome Guitton <guitton@act-europe.fr>
-
- * 3zsoccon.ads: Fix multicast options.
-
- * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
- in the spec.
-
-2004-03-15 Robert Dewar <dewar@gnat.com>
-
- * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
- pragma used for a private type.
-
- * lib-xref.adb (Generate_Reference): Do not generate warning if
- reference is in a different unit from the pragma Unreferenced.
-
- * 5vtpopde.adb: Minor reformatting
- Fix casing of To_Task_ID
-
- * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
- flag if we have an unchecked conversion to an access type in the same
- unit.
-
-2004-03-15 Geert Bosch <bosch@gnat.com>
-
- * a-ngcoty.adb (Modulus): In alternate formula for large real or
- imaginary parts, use Double precision throughout.
-
- * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
- we want to be able to compile run-time with -gnata for testing, but
- this may also be instantiated in user code that is compiled with -gnata.
-
-2004-03-15 Olivier Hainque <hainque@act-europe.fr>
-
- * s-stalib.ads (Exception_Code): New type, to represent Import/Export
- codes. Having a separate type for this is useful to enforce consistency
- throughout the various run-time units.
- (Exception_Data): Use Exception_Code for Import_Code.
-
- * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
- Natural and Integer in various places.
- (Register_VMS_Exception): Use Base_Code_In to compute the exception code
- with the severity bits masked off.
- (Register_VMS_Exception): Handle the additional exception data pointer
- argument.
-
- * raise.c (_GNAT_Exception structure): Remove the handled_by_others
- component, now reflected by an exported accessor.
- (is_handled_by): New routine to compute whether the propagated
- occurrence matches some handler choice specification. Extracted out of
- get_action_description_for, and expanded to take care of the VMS
- specifities.
- (get_action_description_for): Use is_handled_by instead of an explicit
- complex condition to decide if the current choice at hand catches the
- propagated occurrence.
-
- * raise.h (Exception_Code): New type for C.
-
- * rtsfind.ads (RE_Id, RE_Unit_Table): Add
- System.Standard_Library.Exception_Code, to allow references from the
- pragma import/export expander.
-
- * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
- New accessors to allow easy access to GNAT exception data
- characteristics.
- (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
- redundant Handled_By_Others component, helper for the personality
- routine which will now be able to call the appropriate exception data
- accessor instead.
-
- * cstand.adb (Create_Standard): Adjust the type of the Import_Code
- component of Standard_Exception_Type to be the closest possible to
- Exception_Code in System.Standard_Library, that we cannot get at this
- point. Expand a ??? comment to notify that this type node should
- probably be rewritten later on.
-
- * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
- registration call to include a pointer to the exception object in the
- arguments.
-
- * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
- instead of int and explicit bitmasks.
-
-2004-03-15 Vincent Celier <celier@gnat.com>
-
- * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
- equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
-
- * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
- longer needed now that it is in the spec of
- System.Tasking.Task_Attributes.
-
- * adaint.h, adaint.c: (__gnat_create_output_file): New function
-
- * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
-
- * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
-
- * make.adb (Gnatmake): Do not check the executable suffix; it is being
- taken care of in Scan_Make_Arg.
- (Scan_Make_Arg): Add the executable suffix only if the argument
- following -o, in canonical case, does not end with the executable
- suffix. When in verbose mode and executable file name does not end
- with executable suffix, output the executable name, in canonical case.
-
- * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
- to avoid warnings when instantiating Ada.Task_Attributes.
- Minor reformating.
-
- * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
- in the correct order.
-
- * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
- redirect standard output and error to a file for the invocation of the
- compiler, then read the file.
-
- * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
- directory, instead of the Value.
- (Find_Source_Dirs): Remove useless code & comments.
-
-2004-03-15 Ed Schonberg <schonberg@gnat.com>
-
- * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
- tagged type is inherited, and the parent operation is not frozen yet,
- force generation of a freeze node for the inherited operation, so the
- corresponding dispatch entry is properly initialized.
- (Make_Predefined_Primitive_Specs): Check that return type is Boolean
- when looking for user-defined equality operation.
-
- * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
- boolean when locating primitive equality of tagged component.
-
- * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
- bit-aligned field and the right-hand side a string literal, introduce
- a temporary before expanding assignment into a loop.
-
- * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
- priority in full, to ensure that any expanded subepxressions of it are
- elaborated in the scope of the init_proc.
-
- * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
- after object declaration, skipping over code that may have been
- generated for validity checks.
-
- * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
- discriminants, ignore the known discriminants of its full view, if
- any, to check legality.
-
- * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
- component if type has unknown discriminants.
- (Analyze_Private_Extension_Declaration): Discriminant constraint is
- null if type has unknown discriminants.
-
- * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
- for end label when present.
-
- * s-fileio.adb (Open): When called with a C_Stream, use given name for
- temporary file, rather than an empty string.
-
-2004-03-15 Ed Falis <falis@gnat.com>
-
- * s-thread.adb: Removed, no longer used.
-
-2004-03-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * decl.c (target.h): Now include.
- (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
- in new build_pointer_from_mode calls for non-fat/non-thin pointer.
- (validate_size): For POINTER_TYPE, get smallest size permitted on
- machine.
-
- * fe.h: Sort Einfo decls and add Set_Mechanism.
-
- * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
- (ada/decl.o): Depends on target.h.
-
- * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
- FUNCTION_BOUNDARY; always use TYPE_ALIGN.
-
-2004-03-15 Thomas Quinot <quinot@act-europe.fr>
-
- * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
-
- * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
- Insert_Dereference_Action when rewriting an implicit dereference into
- an explicit one, this will be taken care of during expansion of the
- explicit dereference.
- (Expand_N_Slice): Same. Always do the rewriting, even for the case
- of non-packed slices, since the dereference action generated by
- expansion of the explicit dereference is needed in any case.
- (Expand_N_Selected_Component): When rewriting an implicit dereference,
- analyze and resolve the rewritten explicit dereference so it is seen
- by the expander.
- (Insert_Dereference_Action): This procedure is now called only for the
- expansion of an N_Explcit_Dereference_Node. Do insert a check even for
- dereferences that do not come from source (including explicit
- dereferences resulting from rewriting implicit ones), but do not
- recursively insert a check for the dereference nodes contained within
- the check.
- (Insert_Dereference_Action): Clarify and correct comment.
-
-2004-03-08 Paolo Bonzini <bonzini@gnu.org>
-
- PR ada/14131
- Move language detection to the top level.
- * config-lang.in: Build by default.
-
-2004-03-05 Robert Dewar <dewar@gnat.com>
-
- * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
-
- * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
- i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
- 5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
- 5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
- unchecked conversion to spec to avoid warnings.
-
- * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
- to Task_ID
-
- * 7stpopsp.adb: Correct casing in To_Task_ID call
-
- * a-strsea.ads, a-strsea.adb: Minor reformatting
-
- * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
-
- * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
- Adjust Max_Msg_Length to be clearly large enough.
-
- * fe.h: Define In_Same_Source_Unit
-
- * osint.adb: Add pragma Warnings Off to suppress warnings
- * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
- aliasing warnings.
-
- * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
-
- * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
-
- * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
-
- * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
-
- * sem_prag.adb: Implement pragma No_Strict_Aliasing.
-
- * sinfo.ads: Remove obsolete comment on validate unchecked conversion
- node. We now do generate them for gcc back end.
-
- * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
- warning.
-
- * sinput-c.adb: Fix bad name in header.
- Add pragma Warnings Off to suppress aliasing warning.
-
- * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
-
- * snames.h, snames.ads, snames.adb: Add entry for pragma
- No_Strict_Aliasing.
-
-2004-03-05 Vincent Celier <celier@gnat.com>
-
- * prj-com.ads: Add hash table Files_Htable to check when a file name
- is already a source of another project.
-
- * prj-nmsc.adb (Record_Source): Before recording a new source, check
- if its file name is not already a source of another project. Report an
- error if it is.
-
- * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
- source file name, call gnatpp with all the sources of the main project.
-
- * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
- of file names.
-
- * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
- NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
- /RUNTIME_SYSTEM=, converted to --RTS=
- /NOTABS, converted to -notabs
-
-2004-03-05 Pascal Obry <obry@gnat.com>
-
- * make.adb: Minor reformatting.
-
-2004-03-05 Ed Schonberg <schonberg@gnat.com>
-
- Part of implemention of AI-262.
- * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
-
- * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
- procedure.
-
- * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
- when component type is a partially constrained class-wide subtype.
- (Constrain_Discriminated_Type): If parent type has unknown
- discriminants, a constraint is illegal, even if full view has
- discriminants.
- (Build_Derived_Record_Type): Inherit discriminants when deriving a type
- with unknown discriminants whose full view is a discriminated record.
-
- * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
- flag, to handle properly derivations of tagged types with unknown
- discriminants.
- (Analyze_Package_Spec, Analyze_Package_Body): Install
- Private_With_Clauses before analyzing private part or body.
-
- * einfo.ads: Indicate that both Has_Unknown_Discriminants and
- Has_Discriminants can be true for a given type (documentation).
-
-2004-03-05 Arnaud Charlet <charlet@act-europe.fr>
-
- * s-restri.ads: Fix license (GPL->GMGPL).
-
- * s-tassta.adb: Minor reformatting.
-
- * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
- by calls to Exit_One_ATC_Level, since additional clean up is performed
- by this function.
-
- * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
- by calls to Exit_One_ATC_Level, since additional clean up is performed
- by this function.
-
-2004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * trans.c: Reflect GCC changes to fix bootstrap problem.
- Add warning for suspicious aliasing unchecked conversion.
-
-2004-03-05 GNAT Script <nobody@gnat.com>
-
- * Make-lang.in: Makefile automatically updated
-
-2004-03-02 Emmanuel Briot <briot@act-europe.fr>
-
- * ali.adb (Read_Instantiation_Instance): Do not modify the
- current_file_num when reading information about instantiations, since
- this corrupts files in later references.
-
-2004-03-02 Vincent Celier <celier@gnat.com>
-
- * bcheck.adb (Check_Consistency): Get the full path of an ALI file
- before checking if it is read-only.
-
- * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
- of SRC_DIRS and eliminate duplicates.
-
- * gprcmd.adb: Replace command "path" with command "path_sep" to return
- the path separator.
- (Usage): Document path_sep
-
- * Makefile.generic: For Ada and GNU C++ cases, link directly with the
- C++ compiler. No need for a script.
- Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
- Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
- subst.
-
- * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
- where there are Ada sources.
- (Set_Ada_Paths): Only add to the include path the source dirs of project
- with Ada sources.
- (Add_To_Path): Add the Display_Values of the directories, not their
- Values.
-
- * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
- data.
-
- * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
- is not No_Name.
- (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
- Value is canonicalized.
- (Language_Independent_Check): Do not copy Value to Display_Value when
- canonicalizing Value.
-
- * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
- path to find limited with cycles.
- (Parse_Single_Project): Use canonical cased path to find the end of a
- with cycle.
-
-2004-03-02 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
- and not a child unit.
-
- * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
- appear in a with_clause.
-
- * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
- only happen in type_annotate mode, do not try to elaborate it.
-
- * exp_util.adb (Force_Evaluation): If expression is a selected
- component on the left of an assignment, use a renaming rather than a
- temporary to remove side effects.
-
- * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
- inlined instance body, which is analyzed before the end of the
- enclosing scope.
-
-2004-03-02 Robert Dewar <dewar@gnat.com>
-
- * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
- sem_ch4.adb: Use new feature for substitution of keywords in VMS
-
- * errout.ads, errout.adb: Implement new circuit for substitution of
- keywords in VMS.
-
- * sem_case.adb (Analyze_Choices): Place message properly when case is
- a subtype reference rather than an explicit range.
-
- * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
-
-2004-03-02 Doug Rupp <rupp@gnat.com>
-
- * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
-
-2004-03-02 Thomas Quinot <quinot@act-europe.fr>
-
- * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
-
-2004-03-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
- BLKmode bitfield.
-
-2004-02-25 Robert Dewar <dewar@gnat.com>
-
- * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
- 55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
- 5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
- 5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
- 5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
- 5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
- the defining instance of the type to avoid aliasing problems.
- Fix copyright header. Fix bad comments in package header.
-
- * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
-
-2004-02-25 Ed Schonberg <schonberg@gnat.com>
-
- * exp_ch2.adb (Param_Entity): Handle properly formals that have been
- rewritten as references when aliased through an address clause.
-
- * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
- whether call can be interpreted as an indirect call to the result of a
- parameterless function call returning an access subprogram.
-
-2004-02-25 Arnaud Charlet <charlet@act-europe.fr>
-
- Code clean up:
- * exp_ch7.adb (Make_Clean): Remove generation of calls to
- Unlock[_Entries], since this is now done by Service_Entries directly.
-
- * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
-
- * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
- Requeue_Call for better code readability. Change spec and update calls:
- PO_Service_Entries now unlock the PO on exit.
- (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
- PO_Service_Entries.
-
- * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
-
- * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
-
-2004-02-25 Sergey Rybin <rybin@act-europe.fr>
-
- * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
- protected subprogram call and analyzing the result of such expanding
- in case when the called protected subprogram is eliminated.
-
- * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
- names.
-
-2004-02-25 Jerome Guitton <guitton@act-europe.fr>
-
- * Makefile.in: Clean ups.
-
-2004-02-23 Ed Schonberg <schonberg@gnat.com>
-
- * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
- protected operations if original subprogram is flagged as eliminated.
- (Expand_N_Subprogram_Body): For a protected operation, create
- discriminals for next operation before checking whether the operation
- is eliminated.
-
- * exp_ch9.adb (Expand_N_Protected_Body,
- Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
- for internal protected operations if the original subprogram is
- eliminated.
-
- * sem_elim.adb (Check_Eliminated): Handle properly protected operations
- declared in a single protected object.
-
-2004-02-23 Vincent Celier <celier@gnat.com>
-
- * prj-attr.adb: Make attribute Builder'Executable an associative array,
- case insensitive if file names are case insensitive, instead of a
- standard associative array.
-
- * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
- them as case insensitive on platforms where the file names are case
- sensitive.
-
- * prj-part.adb (Parse_Single_Project): Make sure, when checking if
- project file has already been parsed that canonical path are compared.
-
-2004-02-23 Robert Dewar <dewar@gnat.com>
-
- * sinput-c.ads: Correct bad unit title in header
-
- * freeze.adb: Minor reformatting
-
-2004-02-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * trans.c (tree_transform, case N_Procedure_Call_Statement): For
- nonaddressable COMPONENT_REF that is removing padding that we are
- taking the address of, take the address of the padded record instead
- if item is variable size.
-
-2004-02-20 Robert Dewar <dewar@gnat.com>
-
- * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
-
-2004-02-20 Ed Schonberg <schonberg@gnat.com>
-
- * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
- itype references for the constrained designated type of a component
- whose base type is already frozen.
-
-2004-02-20 Arnaud Charlet <charlet@act-europe.fr>
-
- * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
- avoid GCC warnings.
-
-2004-02-20 Sergey Rybin <rybin@act-europe.fr>
-
- * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
- identifier for a phantom package that rewrites the formal package
- declaration with a box. The Add semantic decorations for the defining
- identifier from the original node (that represents the formal package).
-
-2004-02-19 Matt Kraai <kraai@alumni.cmu.edu>
-
- * Make-lang.in (ada/stamp-sdefault): Use the top level
- move-if-change.
-
-2004-02-19 Richard Henderson <rth@redhat.com>
-
- * misc.c (record_code_position): Add third build arg for RTL_EXPR.
-
-2004-02-18 Emmanuel Briot <briot@act-europe.fr>
-
- * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
- Scan_ALI can be used for multiple ALI files without reinitializing
- between calls.
-
-2004-02-18 Robert Dewar <dewar@gnat.com>
-
- * debug.adb: Minor reformatting.
-
-2004-02-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
- to zero if there is an address clause.
-
-2004-02-18 Thomas Quinot <quinot@act-europe.fr>
-
- * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
-
-2004-02-18 Gary Dismukes <dismukes@gnat.com>
-
- * layout.adb (Layout_Component_List): Revise generation of call to
- discriminant-checking function to pass selections of all of the type's
- discriminants rather than just the variant-controlling discriminant.
-
-2004-02-18 Olivier Hainque <hainque@act-europe.fr>
-
- * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
- fail in the current setup and triggers spurious system error messages.
- Pretend it occurred and failed instead.
-
-2004-02-18 Vincent Celier <celier@gnat.com>
-
- * bld.adb: Mark FLDFLAGS as saved
- (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
- it is not the root project. Put each directory to be
- extended between double quotes to prevent it to be expanded on Windows.
- (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
- the project file. Set them back to their initial values if they have not
- been set in the project file.
-
- * gprcmd.adb: (Gprdebug, Debug): New global variables
- (Display_Command): New procedure
- (Usage): Document new command "linkopts"
- Call Display_Command when env var GPRDEBUG has the value "TRUE"
- Implement new command "linkopts"
- Remove quotes that may be around arguments for "extend"
- Always call Normalize_Pathname with arguments formatted for the platform
-
- * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
- Change @echo to @$(display) in target clean to be able to clean silently
-
- * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
-
- * prj-part.adb (Project_Path_Name_Of): Do not put final result in
- canonical case.
-
- * prj-part.adb (Parse_Single_Project): Always call with From_Extended
- = Extending_All when current project is an extending all project.
-
- * vms_conv.adb (Output_File_Expected): New Boolean global variable,
- set to True only for LINK command, after Unix switch -o.
- (Process_Arguments): Set Output_File_Expected to True for LINK command
- after Unix switch -o. When Output_File_Expected is True, never add an
- extension to a file name.
-
- * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
- option file name, only to the --for-linker= switch.
- (Option_File_Name): If option file name do not end with ".opt", append
- "/OPTIONS".
-
-2004-02-18 GNAT Script <nobody@gnat.com>
-
- * Make-lang.in: Makefile automatically updated
-
-2004-02-17 Matt Kraai <kraai@alumni.cmu.edu>
-
- * Make-lang.in (stamp-sdefault): Do not depend on
- move-if-change.
-
-2004-02-12 Zack Weinberg <zack@codesourcery.com>
-
- * config-lang.in: Disable Ada by default until probe logic for
- a bootstrap Ada compiler can be moved to the top level configure
- script.
-
-2004-02-12 Olivier Hainque <hainque@act-europe.fr>
-
- * decl.c (components_to_record): Don't claim that the internal fields
- we make to hold the variant parts are semantically addressable, because
- they are not.
-
- * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
- adjust the comment describing the modular type form when we can use it.
- (Install_PAT): Account for the Esiz renaming.
-
- * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
- sc_onstack context indication before raising the exception to which
- the signal is mapped. Allows better handling of later signals possibly
- triggered by the resumed user code if the exception is handled.
-
-2004-02-12 Arnaud Charlet <charlet@act-europe.fr>
-
- * 5zinit.adb: Removed, no longer used.
-
-2004-02-12 Robert Dewar <dewar@gnat.com>
-
- * ali.adb: Remove separating space between parameters on R line. Makes
- format consistent with format used by the binder for Set_Globals call.
-
- * atree.ads, atree.adb: Minor reformatting (new function header format)
-
- * bindgen.adb: Add Run-Time Globals documentation section containing
- detailed documentation of the globals passed from the binder file to
- the run time.
-
- * gnatls.adb: Minor reformatting
-
- * init.c (__gnat_set_globals): Add note pointing to documentation in
- bindgen.
-
- * lib-writ.ads, lib-writ.adb: Remove separating space between
- parameters on R line.
- Makes format consistent with format used by the binder for Set_Globals
- call.
-
- * osint.ads: Add 2004 to copyright notice
- Minor reformatting
-
- * snames.ads: Correct capitalization of FIFO_Within_Priorities
- Noticed during code reading, documentation issue only
-
- * usage.adb: Remove junk line for obsolete C switch
- Noticed during code reading
-
-2004-02-12 Vincent Celier <celier@gnat.com>
-
- * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
- extend for each directory, so that multiple /** directories are
- extended individually.
- (Recursive_Process): Set the default for LANGUAGES to ada
-
- * gprcmd.adb: Define new command "ignore", to do nothing.
- Implement new comment "path".
-
- * Makefile.generic: Suppress output when SILENT is set
- Make sure that when compiler for C/C++ is gcc, the correct -x switch is
- used, so that the correct compiler is invoked.
- When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
- CXX_INCLUDE_PATH, to avoid failure with too long command lines.
-
-2004-02-12 Jerome Guitton <guitton@act-europe.fr>
-
- * Makefile.in: Clean ups and remove obsolete targets.
-
-2004-02-12 Ed Schonberg <schonberg@gnat.com>
-
- * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
- predicate declared in exp_util.
-
- * exp_util.adb: Add comments.
-
- * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
- visibility before compiling context of the subunit.
-
- * sem_res.adb (Check_Parameterless_Call): If the context expects a
- value but the name is a procedure, do not attempt to analyze as a call,
- in order to obtain more telling diagnostics.
-
- * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
- 'Access on parameterless function calls.
- (Normalize_Actuals): For a parameterless function call with missing
- actuals, defer diagnostic until resolution of enclosing call.
-
- * sem_util.adb (Wrong_Type): If the context type is an access to
- subprogram and the expression is a procedure name, suggest a missing
- 'attribute.
-
-2004-02-10 Arnaud Charlet <charlet@act-europe.fr>,
- Nathanael Nerode <neroden@gcc.gnu.org>
-
- PR ada/6637
- PR ada/5911
- Merge with libada-branch:
- * config-lang.in: Build libada only when ada is built.
-
-2004-02-09 Ed Schonberg <schonberg@gnat.com>
-
- * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
- for a tagged type, verify that both formals have the same type.
-
- * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
- temporary when the formal is an in-parameter and the actual a possibly
- unaligned slice.
-
- * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
- when expansion is disabled, to ensure proper name capture with
- overloaded literals. Condition can be of any boolean type, resolve
- accordingly.
-
- * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
- renaming is for a formal subprogram with a default operator name, and
- there is a usable operator that is visible at the point of
- instantiation.
-
-2004-02-09 Robert Dewar <dewar@gnat.com>
-
- * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
- rewrite to ignore errors in ali files, intended to allow tools downward
- compatibility with new versions of ali files.
-
- * ali.ads: Add new parameter Ignore_Errors
-
- * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
- duplicating the error message giving the file with restrictions.
-
- * debug.adb: Add debug flag I for gnatbind
-
- * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
- operators for the case where the operator is a defining operator.
-
- * exp_ch3.adb: Minor reformatting (new function spec format).
-
- * exp_ch4.adb: Add comment for previous change, and make minor
- adjustment to loop to always check for improper loop termination.
- Minor reformatting throughout (new function spec format).
-
- * gnatbind.adb: Implement -di debug flag for gnatbind
-
- * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
-
- * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
-
- * lib-load.adb: Fix bad assertion.
- Found by testing and code reading.
- Minor reformatting.
-
- * lib-load.ads: Minor reformatting.
-
- * lib-writ.adb: There is only one R line now.
-
- * lib-writ.ads: Add documentation on making downward compatible changes
- to ali files so old tools work with new ali files.
- There is only one R line now.
- Add documentation on format incompatibilities (with special GPS note)
-
- * namet.ads, namet.adb: (Is_Operator_Name): New procedure
-
- * par-load.adb: Minor reformatting
-
- * sem_ch8.adb: Fix to error message from last update
- Minor reformatting and restructuring of code from last update
-
- * par-prag.adb, snames.adb, snames.ads, snames.h,
- sem_prag.adb: Implement pragma Profile.
-
- * stylesw.adb: Implement -gnatyN switch to turn off all style check
- options.
-
- * usage.adb: Add line for -gnatyN switch
-
- * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
-
-2004-02-09 Albert Lee <lee@gnat.com>
-
- * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
-
-2004-02-09 Ed Schonberg <schonberg@gnat.com>
-
- * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
- slices.
-
- * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
- is nested in an instance that is not frozen yet, to avoid
- order-of-elaboration problems in gigi.
-
- * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
- body the attribute is legal.
-
-2004-02-09 Robert Dewar <dewar@gnat.com>
-
- * s-rident.ads: Minor comment correction
-
- * targparm.adb: Remove dependence on uintp completely. There was
- always a bug in Make in that it called Targparm before initializing
- the Uint package. The old code appeared to get away with this, but
- the new code did not! This caused an assertion error in gnatmake.
-
- * targparm.ads: Fix bad comment, restriction pragmas with parameters
- are indeed fully supported.
-
-2004-02-06 Alan Modra <amodra@bigpond.net.au>
-
- * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
-
-2004-02-05 Kazu Hirata <kazu@cs.umass.edu>
-
- * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
- with targetm.calls.promote_prototypes.
-
-2004-02-04 Robert Dewar <dewar@gnat.com>
-
- * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
- ali.ads, gprcmd.adb: Minor reformatting
-
- * bindgen.adb: Output restrictions string for new style restrictions
- handling
-
- * impunit.adb: Add s-rident.ads (System.Rident) and
- s-restri (System.Restrictions)
-
- * lib-writ.adb: Fix bug in writing restrictions string (last few
- entries wrong)
-
- * s-restri.ads, s-restri.adb: Change name Restrictions to
- Run_Time_Restrictions to avoid conflict with package name.
- Add circuit to read and acquire run time restrictions.
-
-2004-02-04 Jose Ruiz <ruiz@act-europe.fr>
-
- * restrict.ads, restrict.adb: Use the new restriction
- No_Task_Attributes_Package instead of the old No_Task_Attributes.
-
- * sem_prag.adb: No_Task_Attributes is a synonym of
- No_Task_Attributes_Package.
-
- * snames.ads, snames.adb: New entry for proper handling of
- No_Task_Attributes.
-
- * s-rident.ads: Adding restriction No_Task_Attributes_Package
- (AI-00249) that supersedes the GNAT specific restriction
- No_Task_Attributes.
-
-2004-02-04 Ed Schonberg <schonberg@gnat.com>
-
- * sem_prag.adb:
- (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
- body, an identifier may be wrapped in an unchecked conversion.
-
-2004-02-04 Vincent Celier <celier@gnat.com>
-
- * lib-writ.ads: Comment update for the W lines
-
- * bld.adb: (Expression): An empty string list is static
-
- * fname-uf.adb: Minor comment update
-
- * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
-
- * gnatbind.adb: Initialize Cumulative_Restrictions with the
- restrictions on the target.
-
-2004-02-03 Kazu Hirata <kazu@cs.umass.edu>
-
- * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
- gen_rtx.
-
-2004-02-02 Arnaud Charlet <charlet@gnat.com>
-
- * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
-
-2004-02-02 Vincent Celier <celier@gnat.com>
-
- * gprcmd.adb (Check_Args): If condition is false, print the invoked
- comment before the usage.
- Gprcmd: Fail when command is not recognized.
- (Usage): Document command "prefix"
-
- * g-md5.adb (Digest): Process last block.
- (Update): Do not process last block. Store remaining characters and
- length in Context.
-
- * g-md5.ads (Update): Document that several call to update are
- equivalent to one call with the concatenated string.
- (Context): Add fields to allow new Update behaviour.
-
- * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
- defaulted to False.
- When May_Fail is True and no existing file can be found, return No_File.
-
- * 6vcstrea.adb: Inlined functions are now wrappers to implementation
- functions.
-
- * lib-writ.adb (Write_With_Lines): When body file does not exist, use
- spec file name instead on the W line.
-
-2004-02-02 Robert Dewar <dewar@gnat.com>
-
- * ali.adb: Read and acquire info from new format restrictions lines
-
- * bcheck.adb: Add circuits for checking restrictions with parameters
-
- * bindgen.adb: Output dummy restrictions data
- To be changed later
-
- * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
- exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
- freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
- sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
- sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
-
- * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
- the warning message on access to possibly uninitialized variable S)
- Minor changes for new restrictions handling.
-
- * gnatbind.adb: Minor reformatting
- Minor changes for new restrictions handling
- Move circuit for -r processing here from bcheck (cleaner)
-
- * gnatcmd.adb, gnatlink.adb: Minor reformatting
-
- * lib-writ.adb: Output new format restrictions lines
-
- * lib-writ.ads: Document new R format lines for new restrictions
- handling.
-
- * s-restri.ads/adb: New files
-
- * Makefile.rtl: Add entry for s-restri.ads/adb
-
- * par-ch3.adb: Fix bad error messages starting with upper case letter
- Minor reformatting
-
- * restrict.adb: Major rewrite throughout for new restrictions handling
- Major point is to handle restrictions with parameters
-
- * restrict.ads: Major changes in interface to handle restrictions with
- parameters. Also generally simplifies setting of restrictions.
-
- * snames.ads/adb: New entry for proper handling of No_Requeue
-
- * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
- restriction counting.
- Other minor changes for new restrictions handling
-
- * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
- Restriction_Warnings now allows full parameter notation
- Major rewrite of Restrictions for new restrictions handling
-
-2004-02-02 Javier Miranda <miranda@gnat.com>
-
- * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
- syntax rule for object renaming declarations.
- (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
- component definitions.
-
- * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
- components.
- (Array_Type_Declaration): Give support to access components. In addition
- it was also modified to reflect the name of the object in anonymous
- array types. The old code did not take into account that it is possible
- to have an unconstrained anonymous array with an initial value.
- (Check_Or_Process_Discriminants): Allow access discriminant in
- non-limited types.
- (Process_Discriminants): Allow access discriminant in non-limited types
- Initialize the new Access_Definition field in N_Object_Renaming_Decl
- node. Change Ada0Y to Ada 0Y in comments
-
- * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
- equality operators.
- Change Ada0Y to Ada 0Y in comments
-
- * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
- renamings Change Ada0Y to Ada 0Y in comments
-
- * sem_type.adb (Find_Unique_Type): Give support to the equality
- operators for universal access types
- Change Ada0Y to Ada 0Y in comments
-
- * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
-
- * sinfo.ads (N_Component_Definition): Addition of Access_Definition
- field.
- (N_Object_Renaming_Declaration): Addition of Access_Definition field
- Change Ada0Y to Ada 0Y in comments
-
- * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
- component definition and object renaming nodes
- Change Ada0Y to Ada 0Y in comments
-
-2004-02-02 Jose Ruiz <ruiz@act-europe.fr>
-
- * restrict.adb: Use the new restriction identifier
- No_Requeue_Statements instead of the old No_Requeue for defining the
- restricted profile.
-
- * sem_ch9.adb (Analyze_Requeue): Check the new restriction
- No_Requeue_Statements.
-
- * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
- that supersedes the GNAT specific restriction No_Requeue. The later is
- kept for backward compatibility.
-
-2004-02-02 Ed Schonberg <schonberg@gnat.com>
-
- * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
- 5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
- pragma and fix incorrect ones.
-
- * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
- warning if the pragma is redundant.
-
-2004-02-02 Thomas Quinot <quinot@act-europe.fr>
-
- * 5staprop.adb: Add missing 'constant' keywords.
-
- * Makefile.in: use consistent value for SYMLIB on
- platforms where libaddr2line is supported.
-
-2004-02-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * utils.c (end_subprog_body): Do not call rest_of_compilation if just
- annotating types.
-
-2004-02-02 Olivier Hainque <hainque@act-europe.fr>
-
- * init.c (__gnat_install_handler): Setup an alternate stack for signal
- handlers in the environment thread. This allows proper propagation of
- an exception on stack overflows in this thread even when the builtin
- ABI stack-checking scheme is used without support for a stack reserve
- region.
-
- * utils.c (create_field_decl): Augment the head comment about bitfield
- creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
- here, because the former is not accurate enough at this point.
- Let finish_record_type decide instead.
- Don't make a bitfield if the field is to be addressable.
- Always set a size for the field if the record is packed, to ensure the
- checks for bitfield creation are triggered.
- (finish_record_type): During last pass over the fields, clear
- DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
- not covered by the calls to layout_decl. Adjust DECL_NONADDRESSABLE_P
- from DECL_BIT_FIELD.
-
-2004-01-30 Kelley Cook <kcook@gcc.gnu.org>
-
- * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
- (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
- (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
-
-2004-01-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
-
- * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
- (ZCX_By_Default): Likewise.
- (Front_End_ZCX_Support): Likewise.
-
- * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
- (Initialize_Lock): Mark Level unreferenced.
- (Sleep): Mark Reason unreferenced.
- (Timed_Sleep): Likewise.
- (Wakeup): Likewise.
- (Exit_Task): Use Result.
- (Check_No_Locks): Mark Self_ID unreferenced.
-
- * 5gtasinf.adb (New_Sproc): Make Attr constant.
- (Bound_Thread_Attributes): Make Sproc constant.
- (New_Bound_Thread_Attributes): Likewise.
-
-2004-01-26 Ed Schonberg <schonberg@gnat.com>
-
- * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
- one-dimensional array an slice assignments, when component type is
- controlled.
-
- * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
- component type is controlled, and control_actions are in effect, use
- TSS procedure rather than generating inline code.
-
- * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
- arrays with controlled components.
-
-2004-01-26 Vincent Celier <celier@gnat.com>
-
- * gnatcmd.adb (GNATCmd): Add specification of argument file on the
- command line for the non VMS case.
-
- * gnatlink.adb (Process_Binder_File): When building object file, if
- GNU linker is used, put all object paths between quotes, to prevent ld
- error when there are unusual characters (such as '!') in the paths.
-
- * Makefile.generic: When there are sources in Ada and the main is in
- C/C++, invoke gnatmake with -B, instead of -z.
-
- * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
- from VMS_Conversion.
- (Process_Argument): New procedure, extracted from VMS_Conversion. Add
- specification of argument file on the command line.
-
-2004-01-26 Bernard Banner <banner@gnat.com>
-
- * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
-
-2004-01-26 Ed Schonberg <schonberg@gnat.com>
-
- * snames.adb: Update copyright notice.
- Add info on slice assignment for controlled arrays.
-
-2004-01-23 Robert Dewar <dewar@gnat.com>
-
- * exp_aggr.adb: Minor reformatting
-
- * exp_ch9.adb: Minor code clean up
- Minor reformatting
- Fix bad character in comment
-
- PR ada/13471
- * targparm.adb (Get_Target_Parameters): Give clean abort error on
- unexpected end of file, along with more detailed message.
-
-2004-01-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
- PAT.
-
- * decl.c (copy_alias_set): New function.
- (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
-
-2004-01-23 Doug Rupp <rupp@gnat.com>
-
- * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
- lib$${file} in case subsequent character is not a separator.
-
-2004-01-23 Vincent Celier <celier@gnat.com>
-
- * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
- when the GCC version is at least 3.
-
- * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
- Remove all "Opt.", to prepare for opt split
-
- * prj-part.adb (Parse_Single_Project): New Boolean out parameter
- Extends_All. Set to True when the project parsed is an extending all
- project. Fails for importing an extending all project only when the
- imported project is an extending all project.
- (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
- depending on the value of Extends_All returned.
-
- * prj-proc.adb (Process): Check that no project shares its object
- directory with a project that extends it, directly or indirectly,
- including a virtual project.
- Check that no project extended by another project shares its object
- directory with another also extended project.
-
- * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
- Kind = N_With_Clause
-
- * prj-tree.ads: Minor reformatting
- Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
-
-2004-01-23 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
- applies to a type with an incomplete view, use full view in Name of
- clause, for consistency with uses of Get_Attribute_Definition_Clause.
-
-2004-01-23 Arnaud Charlet <charlet@act-europe.fr>
-
- * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
- SCHED_RR, since other values are not supported by this policy.
- (Initialize): Move initialization of mutex attribute to package
- elaboration, to prevent early access to this variable.
-
- * Makefile.in: Remove mention of Makefile.adalib, unused.
-
- * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
- 1ssecsta.ads: Removed, unused.
-
-2004-01-21 Javier Miranda <miranda@gnat.com>
-
- * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
- entity if already built in the current scope.
-
- * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
- reminder in internal scopes. Required for nested limited aggregates.
-
-2004-01-21 Doug Rupp <rupp@gnat.com>
-
- * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
- VMS. Replace all occurences of libgnat- and libgnarl- with
- libgnat$(hyphen) and libgnarl$(hyphen).
- Fixed shared library build problem on VMS.
-
-2004-01-21 Robert Dewar <dewar@gnat.com>
-
- * mlib-prj.adb: Minor reformatting
-
-2004-01-21 Thomas Quinot <quinot@act-europe.fr>
-
- * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
- 'constant' keywords for declaration of pointers that are not modified.
-
- * exp_pakd.adb: Fix English in comment.
-
-2004-01-21 Ed Schonberg <schonberg@gnat.com>
-
- PR ada/10889
- * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
- copy all attributes of the parent, including the foreign language
- convention.
-
-2004-01-21 Sergey Rybin <rybin@act-europe.fr>
-
- PR ada/10565
- * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
- for 'delay until' statement.
-
-2004-01-20 Kelley Cook <kcook@gcc.gnu.org>
-
- * Make-lang.in: Replace $(docdir) with doc.
- (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
- doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
- to use consistent MAKEINFO rule.
- (ada.man, ada.srcman): Dummy entry.
- (ADA_INFOFILES): Define.
- (ada.info, ada.srcinfo): New rules.
-
-2004-01-19 Arnaud Charlet <charlet@act-europe.fr>
-
- * utils.c: Update copyright notice, missed in previous change.
-
-2004-01-19 Vincent Celier <celier@gnat.com>
-
- * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
- args if Bind is True. Set First_ALI, if not already done.
- (Build_Library): For Stand Alone Libraries, extract from one ALI file
- an eventual --RTS switch, for gnatbind, and all backend switches +
- --RTS, for linking.
-
-2004-01-19 Robert Dewar <dewar@gnat.com>
-
- * sem_attr.adb, memtrack.adb: Minor reformatting
-
-2004-01-19 Ed Schonberg <schonberg@gnat.com>
-
- * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
- that rename enumeration literals. This is properly done in sem_eval.
-
- * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
- to functions that rename enumeration literals.
-
- * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
- functions that rename enumeration literals.
-
-2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
-
- * Make-lang.in (utils.o): Depend on target.h.
- * utils.c: Include target.h.
- (process_attributes): Use targetm.have_named_sections instead
- of ASM_OUTPUT_SECTION_NAME.
-
-2004-01-16 Andreas Jaeger <aj@suse.de>
-
- * Makefile.in: Add $(DESTDIR).
-
-2004-01-15 Olivier Hainque <hainque@act-europe.fr>
-
- * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
- also when not defining if a Size clause applies. That information is
- not to be ignored.
-
-2004-01-15 Arnaud Charlet <charlet@act-europe.fr>
-
- * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
- symbolic links for the shared gnat run time when needed.
-
-2004-01-15 Vasiliy Fofanov <fofanov@act-europe.fr>
-
- * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
- for writing, and terminate with an error message if not.
-
-2004-01-15 Ed Schonberg <schonberg@gnat.com>
-
- * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
- warning on an access to subprogram in an instance, when the target
- type is declared in the same generic unit.
- (Eval_Attribute): If 'access is known to fail accessibility check,
- rewrite as a raise statement.
-
-2004-01-15 GNAT Script <nobody@gnat.com>
-
- * Make-lang.in: Makefile automatically updated
-
-2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * Make-lang.in (ada.srcextra): Dummy entry.
-
-2004-01-14 Kelley Cook <kcook@gcc.gnu.org>
-
- * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
-
-2004-01-13 Ed Schonberg <schonberg@gnat.com>
-
- * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
- components that are initialized with aggregates.
-
-2004-01-13 Vincent Celier <celier@gnat.com>
-
- * gnatlink.adb (Process_Binder_File): To find directory of shared
- libgcc, if "gcc-lib" is not a subdirectory, look for the last
- subdirectory "lib" in the path of the shared libgnat or libgnarl.
-
- * make.adb (Gnatmake): If GCC version is at least 3, link with
- -shared-libgcc, when there is at least one shared library project.
-
- * opt.ads (GCC_Version): New integer constant.
-
- * adaint.c (get_gcc_version): New function.
-
-2004-01-13 Robert Dewar <dewar@gnat.com>
-
- * sem_dist.adb, sem_res.adb, sem_util.adb,
- sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
- exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
-
-2004-01-13 Thomas Quinot <quinot@act-europe.fr>
-
- * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
- g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
- declarations.
-
-2004-01-12 Arnaud Charlet <charlet@act-europe.fr>
-
- * misc.c: Remove trailing spaces.
- Update copyright notice missed in previous change.
-
- PR ada/13572
- * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
- prefix/share/make
-
- * Makefile.generic: Update copyright.
- Add license notice.
-
- * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
- of prefix/share/make.
-
- * Makefile.prolog: Update copyright.
- Add license notice.
-
-2004-01-12 Laurent Pautet <pautet@act-europe.fr>
-
- * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
- 3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
- g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
- instead of String.
-
- * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
- signature.
-
-2004-01-12 Javier Miranda <miranda@gnat.com>
-
- * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
- exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
- sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
- sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
- Component_Definition node.
-
-2004-01-12 Ed Falis <falis@gnat.com>
-
- * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
-
-2004-01-12 Thomas Quinot <quinot@act-europe.fr>
-
- * link.c: Change default libgnat kind to STATIC for FreeBSD.
-
-2004-01-12 Bernard Banner <banner@gnat.com>
-
- * Makefile.in: map 86numaux to a-numaux for x86_64
-
-2004-01-12 Ed Schonberg <schonberg@gnat.com>
-
- * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
- generated to rename a generic actual, go to the actual itself, the
- subtype is not a user-visible entity.
-
- * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
- part is a private subtype, reset the visibility of its full view, if
- any, to be consistent.
-
- PR ada/13417
- * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
- to use a generic package G as a formal package for another generic
- declared within G.
-
-2004-01-12 Robert Dewar <dewar@gnat.com>
-
- * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
-
- * usage.adb: Remove mention of obsolete -gnatwb switch
- Noticed during code reading
-
-2004-01-12 Jerome Guitton <guitton@act-europe.fr>
-
- * 1ssecsta.adb: Minor changes for -gnatwa warnings
-
-2004-01-12 GNAT Script <nobody@gnat.com>
-
- * Make-lang.in: Makefile automatically updated
-
-2004-01-09 Mark Mitchell <mark@codesourcery.com>
-
- * misc.c (gnat_expand_expr): Add alt_rtl parameter.
-
-2004-01-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * link.c [sgi] (shared_libgnat_default): Change to STATIC.
-
-2004-01-05 Kelley Cook <kcook@gcc.gnu.org>
-
- * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
- Update comment and copyright date.
- * stamp-xgnatug: Delete.
-
-2004-01-05 Robert Dewar <dewar@gnat.com>
-
- * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
- be modified by the binder generated main program if the -D switch is
- used.
-
- * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
- imported functions (since now we expect this to be done for imported
- functions)
-
- * 5vtaprop.adb: Add several ??? for sections requiring more comments
- Minor reformatting throughout
-
- * 5zinit.adb: Minor reformatting
- Add 2004 to copyright date
- Minor changes to avoid -gnatwa warnings
- Correct some instances of using OR instead of OR ELSE (noted while
- doing reformatting)
-
- * sprint.adb: Minor updates to avoid -gnatwa warnings
-
- * s-secsta.ads, s-secsta.adb:
- (SS_Get_Max): New function to obtain high water mark for ss stack
- Default_Secondary_Stack is not a constant since it may be modified by
- the binder generated main program if the -D switch is used.
-
- * switch-b.adb: New -Dnnn switch for binder
-
- * switch-c.adb:
- Make -gnatg imply all warnings currently in -gnatwa
-
- * vms_conv.adb: Minor reformatting
- Add 2004 to copyright notice
- Add 2004 to printed copyright notice
-
- * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
- 3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
- 5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
- 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
- 5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
- 5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
- 5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
- 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
- 5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
- 5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
- 6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
- vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
- xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
- sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
- checks.adb, clean.adb, cstand.adb, einfo.ads,
- einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
- exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
- prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
- sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
- g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
- lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
- Minor reformatting and code clean ups.
- Minor changes to prevent -gnatwa warnings
-
- * ali.adb: Minor reformatting and cleanup of code
- Acquire new SS indication of secondary stack use from ali files
-
- * a-numaux.ads: Add Pure_Function pragmas for all imported functions
- (since now we expect this to be done for imported functions)
-
- * bindgen.adb: Generate call to modify default secondary stack size if
- -Dnnn switch given
-
- * bindusg.adb: Add line for new -D switch
-
- * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
- replacement name for Type_May_Have_Non_Bit_Aligned_Components!
- Add circuitry for both records and arrays to avoid gigi
- processing if the type involved has non-bit-aligned components
-
- * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
- N_String_Literal node always references an E_String_Literal_Subtype
- entity. This may not be true in the future.
- (Possible_Bit_Aligned_Component): Move processing of
- Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
-
- * exp_ch6.adb (Expand_Thread_Body): Pick up
- Default_Secondary_Stack_Size as variable so that we get value modified
- by possible -Dnnn binder parameter.
-
- * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
- (Type_May_Have_Bit_Aligned_Components): New function.
-
- * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
- (Type_May_Have_Bit_Aligned_Components): New function.
-
- * fe.h: (Set_Identifier_Casing): Fix prototype.
- Add declaration for Sem_Elim.Eliminate_Error_Msg.
- Minor reformatting.
-
- * freeze.adb (Freeze_Entity): Add RM reference to error message about
- importing constant atomic/volatile objects.
- (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
- unless explicit Pure_Function pragma given, to avoid insidious bug of
- call to non-pure imported function getting eliminated.
-
- * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
- gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
- gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
- Add 2004 to printed copyright notice
-
- * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
- stack used.
-
- * Makefile.rtl: Add entry for g-sestin.o
- g-sestin.ads: New file.
-
- * mdll.adb: Minor changes to avoid -gnatwa warnings
-
- * mlib-tgt.adb: Minor reformatting
-
- * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
- New switch Sec_Stack_Used (GNAT, GNATBIND)
- Make Default_Secondary_Stack_Size a variable instead of a constant,
- so that it can be modified by the new -Dnnn bind switch.
-
- * rtsfind.adb (Load_Fail): Give full error message in configurable
- run-time mode if all_errors mode is set. This was not done in the case
- of a file not found, which was an oversight.
- Note if secondary stack unit is used by compiler.
-
- * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
- ineffective elaborate all pragmas on non-visible packages (this
- happened when a renamed subprogram was called). Now the elaborate all
- always goes on the package containing the renaming rather than the one
- containing the renamed subprogram.
-
- * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
- (Process_Eliminate_Pragma): Add parameter to capture pragma location.
-
- * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
- has an Etype that references an E_String_Literal.
- (Eval_String_Literal): Avoid assumption that N_String_Literal node
- always references an E_String_Literal_Subtype entity. This may not
- be true in the future.
-
- * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
- pragma location.
-
- * sem_res.adb (Resolve): Specialize msg for function name used in proc
- call.
-
-2004-01-05 Ed Falis <falis@gnat.com>
-
- * g-debuti.adb: Replaced direct boolean operator with short-circuit
- form.
-
-2004-01-05 Vincent Celier <celier@gnat.com>
-
- * bld.adb: Minor comment updates
- (Process_Declarative_Items): Correct incorrect name (Index_Name instead
- of Item_Name).
-
- * make.adb (Gnatmake): Special process for files to compile/check when
- -B is specified. Fail when there are only foreign mains in attribute
- Main of the project file and -B is not specified. Do not skip bind/link
- steps when -B is specified.
-
- * makeusg.adb: Document new switch -B
-
- * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
-
- * switch-m.adb: (Scan_Make_Switches): Process -B switch
-
- * vms_data.ads: Add new GNAT PRETTY qualifier
- /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
-
-2004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
- case.
-
- * misc.c (gnat_printable_name): If VERBOSITY is 2, call
- Set_Identifier_Casing.
-
- * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
- has size that overflows.
-
-2004-01-05 Gary Dismukes <dismukes@gnat.com>
-
- * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
- -gnatwa warning on static condition.
-
-2004-01-05 Doug Rupp <rupp@gnat.com>
-
- * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
-
-2004-01-05 Arnaud Charlet <charlet@act-europe.fr>
-
- * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
- all attributes, including read-only attribute.
-
-2004-01-05 Pascal Obry <obry@gnat.com>
-
- * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
- library naming scheme.
-
- * mlib-prj.adb (Build_Library): Generate different names for the static
- or dynamic version of the GNAT runtime. This is needed to support the
- new shared library naming scheme.
- (Process_Binder_File): Add detection of shared library in binder file
- based on the new naming scheme.
-
- * gnatlink.adb (Process_Binder_File): Properly detect the new naming
- scheme for the shared runtime libraries.
-
- * Makefile.in:
- (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
- scheme.
- (install-gnatlib): Do not create symlinks for shared libraries.
- (gnatlib-shared-default): Idem.
- (gnatlib-shared-dual-win32): New target. Not used for now as the
- auto-import feature does not support arrays/records.
- (gnatlib-shared-win32): Do not create copy for the shared libraries.
- (gnatlib-shared-vms): Fix shared runtime libraries names.
-
- * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
- dependent runtime shared library name.
-
-2004-01-05 Vasiliy Fofanov <fofanov@act-europe.fr>
-
- * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
- than the object.
-
-2004-01-05 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
- protected objects when allocator has a subtype indication, not a
- qualified expression. Note that qualified expressions may have to be
- checked when limited aggregates are implemented.
-
- * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
- pure, emit warning.
- (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
- subprogram is imported, remove warning.
-
-2004-01-05 Geert Bosch <bosch@gnat.com>
-
- * s-poosiz.adb: Update copyright notice.
- (Allocate): Use Task_Lock to protect against concurrent access.
- (Deallocate): Likewise.
-
-2004-01-05 Joel Brobecker <brobecker@gnat.com>
-
- * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
- comment.
-
-2003-12-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * gnat_ug.texi: Force a CVS commit by updating copyright.
- * gnat_ug_vxw.texi: Regenerate.
- * gnat_ug_wnt.texi: Regenerate.
- * gnat_ug_vms.texi: Regenerate.
- * gnat_ug_unx.texi: Regenerate.
-
-2003-12-20 Kazu Hirata <kazu@cs.umass.edu>
-
- * trans.c: Remove uses of "register" specifier in
- declarations of local variables.
-
-2003-12-18 Kelley Cook <kcook@gcc.gnu.org>
-
- * stamp-xgnatug: New stamp file.
- * Make-lang.in (stamp-xgnatug): New stamp file and comment.
- (ada/doctools/xgnatug): Add $(build_exeext).
- (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
- ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
-
-2003-12-17 Ed Falis <falis@gnat.com>
-
- * a-elchha.adb (Tailored_Exception_Information): made Info constant to
- eliminate warning.
-
- * a-exextr.adb: Add context clause for
- Ada.Exceptions.Last_Chance_Handler.
-
-2003-12-17 Sergey Rybin <rybin@act-europe.fr>
-
- * cstand.adb (Create_Standard): Change the way how the declaration of
- the Duration type is created (making it the same way as it is for all
- the other standard types).
-
-2003-12-17 Robert Dewar <dewar@gnat.com>
-
- * s-crtl.ads: Fix header format
- Change Pure to Preelaborate
-
-2003-12-17 Ed Schonberg <schonberg@gnat.com>
-
- * checks.adb (Selected_Length_Checks): Generate an Itype reference for
- the expression type only if it is declared in the current unit.
-
- * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
- are universal and already analyzed, as can occur in constrained
- subcomponents that depend on discriminants, when one constraint is a
- subtype mark.
-
- * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
- type Any_Fixed is legal as the argument of a conversion, if only one
- fixed-point type is in context.
-
-2003-12-17 GNAT Script <nobody@gnat.com>
-
- * Make-lang.in: Makefile automatically updated
-
-2003-12-15 Robert Dewar <dewar@gnat.com>
-
- * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
- sec stack size.
-
-2003-12-15 Vincent Celier <celier@gnat.com>
-
- * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
- (Gnatchop): Do not set failure status when reporting the number of
- warnings.
-
-2003-12-15 Doug Rupp <rupp@gnat.com>
-
- * s-ctrl.ads: New file.
-
- * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
-
- * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
- (GNATBIND_OBJS): Add ada/s-crtl.o.
-
- * Makefile.in [VMS]: Clean up ifeq rules.
-
- * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
- a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
- g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
- s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
- s-tasdeb.adb: Update copyright.
- Import System.CRTL.
- Make minor modifications to use System.CRTL declared functions instead
- of importing locally.
-
-2003-12-15 GNAT Script <nobody@gnat.com>
-
- * Make-lang.in: Makefile automatically updated
-
-2003-12-11 Ed Falis <falis@gnat.com>
-
- * 5zinit.adb: Clean up.
-
- * 5zintman.adb (Notify_Exception): replaced case statement with a call
- to __gnat_map_signal, imported from init.c to support
- signal -> exception mappings that depend on the vxWorks version.
-
- * init.c:
- Created and exported __gnat_map_signal to support signal -> exception
- mapping that is dependent on the VxWorks version.
- Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
-
-2003-12-11 Vasiliy Fofanv <fofanov@act-europe.fr>
-
- * 5wosinte.ads: Link with -mthreads switch.
-
-2003-12-11 Arnaud Charlet <charlet@act-europe.fr>
-
- * init.c (__gnat_install_handler [NetBSD]): Set
- __gnat_handler_installed, as done on all other platforms.
- Remove duplicated code.
-
-2003-12-11 Jerome Guitton <guitton@act-europe.fr>
-
- * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
-
-2003-12-11 Thomas Quinot <quinot@act-europe.fr>
-
- * sinfo.ads: Fix inconsistent example code in comment.
-
-2003-12-11 Robert Dewar <dewar@gnat.com>
-
- * a-tiinau.adb: Add a couple of comments
-
- * sem_ch3.adb: Minor reformatting
-
- * sem_prag.adb:
- Fix bad prototype of Same_Base_Type in body (code reading cleanup)
- Minor reformatting throughout
-
-2003-12-11 Ed Schonberg <schonberg@gnat.com>
-
- * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
- bounds of a loop, create a separate block in order to generate proper
- cleanup actions to prevent memory leaks.
-
- * sem_res.adb (Resolve_Call): After a call to
- Establish_Transient_Scope, the call may be rewritten and relocated, in
- which case no further processing is needed.
-
- * sem_util.adb: (Wrong_Type): Refine previous fix.
- Fixes ACATS regressions.
-
- PR ada/13353
- * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
- be inlined.
-
-2003-12-08 Jerome Guitton <guitton@act-europe.fr>
-
- * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
- i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
- obsolete files.
-
- * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
- (rts-zfp): Ditto.
-
-2003-12-08 Robert Dewar <dewar@gnat.com>
-
- * 7sintman.adb: Minor reformatting
-
- * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
- standard linker options to get standard libraries linked. We now plan
- to provide dummy versions of these libraries to match the appropriate
- configurable run-time (e.g. if a library is not needed at all, provide
- a dummy empty library).
-
- * targparm.ads: Configurable_Run_Time mode no longer affects linker
- options (-L parameters and standard libraries). What we plan to do is
- to provide dummy libraries where the libraries are not required.
-
- * gnatbind.adb: Minor comment improvement
-
-2003-12-08 Javier Miranda <miranda@gnat.com>
-
- * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
- aggregate in the parent. Otherwise constants with limited aggregates
- are not supported. Add new formal to pass the component type (Ctype).
- It is required to call the corresponding IP subprogram in case of
- default initialized components.
- (Gen_Assign): In case of default-initialized component, generate a
- call to the IP subprogram associated with the component.
- (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
- of aggregate with default initialized components.
- (Has_Default_Init_Comps): Improve implementation to recursively check
- all the present expressions.
-
- * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
- to indicate that the initialization call corresponds to a
- default-initialized component of an aggregate.
- In case of default initialized aggregate with tasks this parameter is
- used to generate a null string (this is just a workaround that must be
- improved later). In case of discriminants, this parameter is used to
- generate a selected component node that gives access to the discriminant
- value.
-
- * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
- subprogram, based on Build_Task_Allocate_Block, but adapted to expand
- allocated aggregates with default-initialized components.
-
- * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
- the box notation is used in positional aggregates.
-
-2003-12-08 Samuel Tardieu <tardieu@act-europe.fr>
-
- * lib.ads: Fix typo in comment
-
-2003-12-08 Vincent Celier <celier@gnat.com>
-
- * prj.adb (Project_Empty): New component Unkept_Comments
- (Scan): Remove procedure; moved to Prj.Err.
-
- * prj.ads (Project_Data): New Boolean component Unkept_Comments
- (Scan): Remove procedure; moved to Prj.Err.
-
- * prj-dect.adb: Manage comments for the different declarations.
-
- * prj-part.adb (With_Record): New component Node
- (Parse): New Boolean parameter Store_Comments, defaulted to False.
- Set the scanner to return ends of line and comments as tokens, if
- Store_Comments is True.
- (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
- comments are associated with these nodes. Store the node IDs in the
- With_Records.
- (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
- With_Records.
- (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
- the N_Project node. Call Tree.Save and Tree.Reset before scanning the
- current project. Call Tree.Restore afterwards. Set the various nodes
- for comment storage (Next_End, End_Of_Line, Previous_Line,
- Previous_End).
-
- * prj-part.ads (Parse): New Boolean parameter Store_Comments,
- defaulted to False.
-
- * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
- to False. When Truncated is True, truncate the string, never go to the
- next line.
- (Write_End_Of_Line_Comment): New procedure
- (Print): Process comments for nodes N_With_Clause,
- N_Package_Declaration, N_String_Type_Declaration,
- N_Attribute_Declaration, N_Typed_Variable_Declaration,
- N_Variable_Declaration, N_Case_Construction, N_Case_Item.
- Process nodes N_Comment.
-
- * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
- without comments and there are some comments, set the flag
- Unkept_Comments to True.
- (Scan): If there are comments, set the flag Unkept_Comments to True and
- clear the comments.
- (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
- (Next_End_Nodes: New table
- (Comment_Zones_Of): New function
- (Scan): New procedure; moved from Prj. Accumulate comments in the
- Comments table and set end of line comments, comments after, after end
- and before end.
- (Add_Comments): New procedure
- (Save, Restore, Seset_State): New procedures
- (There_Are_Unkept_Comments): New function
- (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
- (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
- procedures.
- (First_Comment_After, First_Comment_After_End): New functions
- (First_Comment_Before, First_Comment_Before_End): New functions
- (Next_Comment): New function
- (End_Of_Line_Comment, Follows_Empty_Line,
- Is_Followed_By_Empty_Line): New functions
- (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
- (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
- (Set_Next_Comment): New procedure
- (Default_Project_Node): Associate comment before if the node can store
- comments.
-
- * scans.ads (Token_Type): New enumeration value Tok_Comment
- (Comment_Id): New global variable
-
- * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
- defaulted to False.
- (Scan): Store position of start of comment. If comments are tokens, set
- Comment_Id and set Token to Tok_Comment when scanning a comment.
- (Set_Comment_As_Token): New procedure
-
- * sinput-p.adb: Update Copyright notice
- (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
- that no longer exists.
-
-2003-12-08 Javier Miranda <miranda@gnat.com>
-
- * sem_aggr.adb: Add dependence on Exp_Tss package
- Correct typo in comment
- (Resolve_Aggregate): In case of array aggregates set the estimated
- type of the aggregate before calling resolve. This is needed to know
- the name of the corresponding IP in case of limited array aggregates.
- (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
- in case of default initialized array components.
-
- * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
- types. Required to give support to limited aggregates in generic
- formals.
-
-2003-12-08 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch3.adb (Check_Initialization): For legality purposes, an
- inlined body functions like an instantiation.
- (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
- until bounds are analyzed, to diagnose premature use of type.
-
- * sem_util.adb (Wrong_Type): Improve error message when the type of
- the expression is used prematurely.
-
-2003-12-08 GNAT Script <nobody@gnat.com>
-
- * Make-lang.in: Makefile automatically updated
-
-2003-12-08 Arnaud Charlet <charlet@act-europe.fr>
-
- * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
- they are automatically generated by Make-lang.in and cause nothing but
- maintenance troubles.
-
-2003-12-05 Thomas Quinot <quinot@act-europe.fr>
-
- * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
- version of this unit).
-
-2003-12-05 Olivier Hainque <hainque@act-europe.fr>
-
- * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
- 5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
- 5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
- the body of System.Interrupt_Management common to several targets.
- Update copyright notice when appropriate.
-
- * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
- constant.
-
- * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
- to ensure that the kernel fills in the interrupted context structure
- before calling a signal handler, which is necessary to be able to
- unwind past it. Update the copyright notice.
-
-2003-12-05 Jerome Guitton <guitton@act-europe.fr>
-
- * a-elchha.ads: New file.
-
- * a-elchha.adb: New default last chance handler. Contents taken from
- Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
-
- * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
- is moved to a-elchha.adb to provide a target-independent default last
- chance handler.
-
- * Makefile.rtl: Add a-elchha.o
-
- * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
-
-2003-12-05 Ed Schonberg <schonberg@gnat.com>
-
- * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
- declared in an instance, do not inline the call if the instance is not
- frozen yet, to prevent order of elaboration problems.
-
- * sem_prag.adb: Add comments for previous fix.
-
-2003-12-05 Samuel Tardieu <tardieu@act-europe.fr>
-
- * g-table.adb: Use the right variable in Set_Item.
- Update copyright notice.
-
-2003-12-05 Arnaud Charlet <charlet@act-europe.fr>
-
- * Makefile.in: Remove unused rules.
-
-2003-12-05 Vincent Celier <celier@gnat.com>
-
- * switch-c.adb (Scan_Front_End_Switches): Remove processing of
- -nostdlib. Not needed here after all.
-
-2003-12-03 Thomas Quinot <quinot@act-europe.fr>
-
- PR ada/11724
- * adaint.h, adaint.c, g-os_lib.ads:
- Do not assume that the offset argument to lseek(2) is a 32 bit integer,
- on some platforms (including FreeBSD), it is a 64 bit value.
- Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
-
-2003-12-03 Arnaud Charlet <charlet@act-europe.fr>
-
- * gnatvsn.ads (Library_Version): Now contain only the relevant
- version info.
- (Verbose_Library_Version): New constant.
-
- * g-spipat.adb, g-awk.adb, g-debpoo.adb,
- g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
- s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
-
- * gnatlbr.adb: Clean up: replace Library_Version by
- Verbose_Library_Version.
-
- * make.adb, lib-writ.adb, exp_attr.adb:
- Clean up: replace Library_Version by Verbose_Library_Version.
-
- * 5lintman.adb: Removed.
-
- * Makefile.in:
- Update and simplify computation of LIBRARY_VERSION.
- Fix computation of GSMATCH_VERSION.
- 5lintman.adb is no longer used: replaced by 7sintman.adb.
-
-2003-12-03 Robert Dewar <dewar@gnat.com>
-
- * exp_ch5.adb:
- (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
- name. Modified to consider small non-bit-packed arrays as troublesome
- and in need of component-by-component assigment expansion.
-
-2003-12-03 Vincent Celier <celier@gnat.com>
-
- * lang-specs.h: Process nostdlib as nostdinc
-
- * back_end.adb: Update Copyright notice
- (Scan_Compiler_Arguments): Process -nostdlib directly.
-
-2003-12-03 Jose Ruiz <ruiz@act-europe.fr>
-
- * Makefile.in:
- When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
- redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
- included in HIE_NONE_TARGET_PAIRS.
-
-2003-12-03 Ed Schonberg <schonberg@gnat.com>
-
- * sem_attr.adb:
- (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
- is legal in an instance, because legality is cheched in the template.
-
- * sem_prag.adb:
- (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
- appplied to an unchecked conversion of a formal parameter.
-
- * sem_warn.adb:
- (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
- variables.
-
-2003-12-03 Olivier Hainque <hainque@act-europe.fr>
-
- * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
- routines. The second one is new functionality to deal with backtracing
- through signal handlers.
- (unwind): Split into the two separate subroutines above.
- Update the documentation, and deal properly with sizeof (REG) different
- from sizeof (void*).
-
-2003-12-01 Nicolas Setton <setton@act-europe.fr>
-
- * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
- so that the debugger can reliably access the value of the parameter,
- and therefore is able to display the exception name when an exception
- breakpoint is reached.
-
-2003-12-01 Thomas Quinot <quinot@act-europe.fr>
-
- * fmap.adb: Fix typo in warning message.
-
- * g-socket.ads, g-socket.adb: Make Free a visible instance of
- Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
-
-2003-12-01 Vincent Celier <celier@gnat.com>
-
- * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
- ther is no Afile.
- (Build_Library): Get the switches only if Default_Switches is declared
- in package Binder.
-
-2003-12-01 Ed Schonberg <schonberg@gnat.com>
-
- * exp_ch6.adb (Expand_Actuals): When applying validity checks to
- actuals that are indexed components, reanalyze actual to ensure that
- packed array references are properly expanded.
-
- * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
- attempted assignment to a discriminant.
-
-2003-12-01 Robert Dewar <dewar@gnat.com>
-
- * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
- reformatting.
-
- * switch-c.adb: Minor reformatting of comments
-
-2003-12-01 Arnaud Charlet <charlet@act-europe.fr>
-
- * Makefile.in: Clean ups.
-
-2003-12-01 GNAT Script <nobody@gnat.com>
-
- * Make-lang.in: Makefile automatically updated
-
-2003-12-01 Arnaud Charlet <charlet@act-europe.fr>
-
- * 5wsystem.ads: Disable zero cost exception, not ready yet.
-
-2003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
-
- * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
- to force serialization.
-
-2003-11-26 Thomas Quinot <quinot@act-europe.fr>
-
- * g-socket.ads, g-socket.adb:
- Clarify documentation of function Stream. Introduce a Free procedure
- to release the returned Stream once it becomes unused.
-
- * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
-
-2003-11-26 Arnaud Charlet <charlet@act-europe.fr>
-
- (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
- since NT 4 cannot handle timeout values that are too large,
- e.g. DWORD'Last - 1.
-
-2003-11-26 Ed Schonberg <schonberg@gnat.com>
-
- * exp_ch4.adb:
- (Expand_N_Slice): Recognize all cases of slices that appear as actuals
- in procedure calls and whose expansion must be deferred.
-
- * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
- is in exp_ch4.
-
- * sem_ch3.adb:
- (Build_Derived_Array_Type): Create operator for unconstrained type
- if ancestor is unconstrained.
-
-2003-11-26 Vincent Celier <celier@gnat.com>
-
- * make.adb (Project_Object_Directory): New global variable
- (Change_To_Object_Directory): New procedure
- (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
- of Change_Dir directly. Do not change working directory to object
- directory of main project after each compilation.
- (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
- directly.
- Change to object directory of main project before binding step.
- (Initialize): Initialize Project_Object_Directory to No_Project
-
- * mlib-prj.adb:
- (Build_Library): Take into account Builder'Default_Switches ("Ada") when
- binding a Stand-Alone Library.
-
- * output.adb: Update Copyright notice
- (Write_Char): Output buffer when full
-
-2003-11-26 Robert Dewar <dewar@gnat.com>
-
- * sem_ch13.adb: (Check_Size): Reset size if size is too small
-
- * sem_ch13.ads:
- (Check_Size): Fix documentation to include bit-packed array case
-
- * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
-
- * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
-
- * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
-
-2003-11-24 Arnaud Charlet <charlet@act-europe.fr>
-
- PR ada/13142
- * utils.c (init_gigi_decls): Change name of built-in setjmp to
- __builtin_setjmp, since this is apparently needed by recent
- non Ada changes.
-
-2003-11-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * adadecode.c: Only include ctype.h if not IN_GCC.
- (__gnat_decode): Use ISDIGIT from safe-ctype.h.
-
-2003-11-24 Jose Ruiz <ruiz@act-europe.fr>
-
- * Makefile.in:
- Use 5zintman.ads for VxWorks targets. This file avoid confusion between
- signals and interrupts.
-
- * 5zintman.ads: New File.
-
- * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
- add exception signals to the set of unmasked signals.
-
- * 5ztaprop.adb:
- Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
- between signals and interrupts.
- Add to Unblocked_Signal_Mask the set of signals that are in
- Keep_Unmasked.
-
- * 7sinmaop.adb:
- Adding a check to see whether the Interrupt_ID we want to unmask is in
- the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
- reason is that the index type of the Keep_Unmasked array is not always
- Interrupt_ID; it may be a subtype of Interrupt_ID.
-
-2003-11-24 Gary Dismukes <dismukes@gnat.com>
-
- * exp_util.adb:
- (Remove_Side_Effects): Condition constantness of object created for a
- an unchecked type conversion on the constantness of the expression
- to ensure the correct value for 'Constrained when passing components
- of view-converted class-wide objects.
-
-2003-11-24 Robert Dewar <dewar@gnat.com>
-
- * par-load.adb (Load): Improve handling of misspelled and missing units
- Removes several cases of compilation abandoned messages
-
- * lib.adb: (Remove_Unit): New procedure
-
- * lib.ads: (Remove_Unit): New procedure
-
- * lib-load.adb: Minor reformatting
-
-2003-11-24 Vincent Celier <celier@gnat.com>
-
- * make.adb:
- (Gnatmake, Initialize): Call Usage instead of Makeusg directly
- (Marking_Label): Label to mark processed source files. Incremented for
- each executable.
- (Gnatmake): Increase Marking_Labet for each executable
- (Is_Marked): Compare against marking label
- (Mark): Mark with marking label
-
-2003-11-24 Jerome Guitton <guitton@act-europe.fr>
-
- * s-thread.ads:
- Move the declaration of the TSD for System.Threads to System.Soft_Links.
- Add some comments.
-
- * Makefile.in: Added target pair for s-thread.adb for cert runtime.
- (rts-cert): build a single relocatable object for the run-time lib.
- Fix perms.
-
-2003-11-24 Vasiliy Fofanov <fofanov@act-europe.fr>
-
- * Make-lang.in:
- Use gnatls rather than gcc to obtain the location of GNAT RTL for
- crosstools build.
-
-2003-11-24 Sergey Rybin <rybin@act-europe.fr>
-
- * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
- can not use it as before (that is, as a variable) when dumping it into
- the tree file. Add a local variable to store the result of this
- function and to be used as the string to be written into the tree.
-
- * scn.adb (Initialize_Scanner): Add comments explaining the recent
- changes.
-
- * sinput.adb (Source_First, Source_Last): In case of
- Internal_Source_File, replace returning attributes of
- Internal_Source_Ptr (which is wrong) with returning attributes of
- Internal_Source.
-
-2003-11-24 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch3.adb:
- (New_Concatenation_Op): Proper name for New_Binary_Operator, only
- used for implicit concatenation operators.
- Code cleanup.
-
- * sem_elab.adb:
- (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
- task bodies that are in the scope of a Suppress pragma.
- (Check_A Call): Use the flag to prevent spurious elaboration checks.
-
- * sinfo.ads, sinfo.adb:
- New flag No_Elaboration_Check on function/procedure calls, to properly
- suppress checks on calls in task bodies that are within a local suppress
- pragma.
-
- * exp_ch4.adb:
- (Expand_Concatenate_Other): Use the proper integer type for the
- expression for the upper bound, to avoid universal_integer computations
- when possible.
-
-2003-11-21 Kelley Cook <kcook@gcc.gnu.org>
-
- * .cvsignore: Delete.
-
-2003-11-21 Andreas Schwab <schwab@suse.de>
-
- * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
-
-2003-11-21 Vasiliy Fofanov <fofanov@act-europe.fr>
-
- * 5wsystem.ads: Enable zero cost exception.
-
-2003-11-21 Jerome Guitton <guitton@act-europe.fr>
-
- * 5ztiitho.adb: Remove an unreferenced variable.
-
-2003-11-21 Thomas Quinot <quinot@act-europe.fr>
-
- * adaint.c: For FreeBSD, use mkstemp.
-
-2003-11-21 Arnaud Charlet <charlet@act-europe.fr>
-
- * gnatlbr.adb: Now reference Gnat_Static_Version_String.
-
-2003-11-21 Robert Dewar <dewar@gnat.com>
-
- * bld.adb: Remove useless USE of gnatvsn
-
- * gnatchop.adb: Minor reformatting
- Clean up version handling to be more consistent
-
- * gnatxref.adb: Minor reformatting
-
- * gprcmd.adb: Minor reformatting
- Fix output of copyright to be more consistent with other tools
-
-2003-11-21 Vincent Celier <celier@gnat.com>
-
- * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
-
-2003-11-21 Sergey Rybin <rybin@act-europe.fr>
-
- * atree.adb (Initialize): Add initializations for global variables
- used in New_Copy_Tree.
-
- * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
- Internal_Source_File as the actual).
- Put the set of statements creating Any_Character before the set of
- statements creating Any_Array to have Any_Character fully initialized
- when it is used in creating Any_Array.
-
- * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
- not call Scan in case if the actual is Internal_Source_File
- Add 2003 to copyright note.
-
- * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
- processing Internal_Source_File.
-
- * types.ads: Add the constant Internal_Source_File representing the
- source buffer for artificial source-code-like strings created within
- the compiler (the definition of Source_File_Index is changed).
-
-2003-11-20 Arnaud Charlet <charlet@act-europe.fr>
-
- * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
- 56system.ads: New file, FreeBSD version.
-
-2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
-
- * Make-lang.in (ada.extraclean): Delete.
-
-2003-11-19 Arnaud Charlet <charlet@act-europe.fr>
-
- * gnatmem.adb: Clean up verbose output.
-
- * gprcmd.adb: Change copyright to FSF.
-
-2003-11-19 Vincent Celier <celier@gnat.com>
-
- * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
- and Version (ignored).
-
- * symbols.ads: (Policy): New type
- (Initialize): New parameter Reference, Symbol_Policy and
- Library_Version.
- Remove parameter Force.
- Minor reformatting.
-
- * snames.ads, snames.adbadb: New standard names
- Library_Reference_Symbol_File and Library_Symbol_Policy
-
- * mlib-prj.adb:
- (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
- project.
-
- * mlib-tgt.adb:
- (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
-
- * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
-
- * prj.adb: (Project_Empty): New component Symbol_Data
-
- * prj.ads: (Policy, Symbol_Record): New types
- (Project_Data): New component Symbol_Data
-
- * prj-attr.adb:
- New attributes Library_Symbol_File, Library_Symbol_Policy and
- Library_Reference_Symbol_File.
-
- * prj-nmsc.adb:
- (Ada_Check): When project is a Stand-Alone library project, process
- attribute Library_Symbol_File, Library_Symbol_Policy and
- Library_Reference_Symbol_File.
-
- * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
- 5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
- 5sml-tgt.adb (Build_Dynamic_Library): New parameter
- Symbol_Data (ignored).
-
- * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
- (Build_Dynamic_Library): New parameter Symbol_Data. New internal
- functions Option_File_Name and Version_String. Set new options of
- gnatsym related to symbol file, symbol policy and reference symbol
- file.
-
- * 5vsymbol.adb:
- Extensive modifications to take into account the reference symbol file,
- the symbol policy, the library version and to put in the symbol file the
- minor and major IDs.
-
- * bld.adb (Process_Declarative_Items): Put second argument of
- gprcmd to_absolute between single quotes, to avoid problems with
- Windows.
-
- * bld-io.adb: Update Copyright notice.
- (Flush): Remove last character of a line, if it is a back slash, to
- avoid make problems.
-
- * gnatsym.adb:
- Implement new scheme with reference symbol file and symbol policy.
-
- * g-os_lib.ads: (Is_Directory): Clarify comment
-
-2003-11-19 Robert Dewar <dewar@gnat.com>
-
- * atree.adb: Move New_Copy_Tree global variables to head of package
-
- * errout.adb: Minor reformatting
-
-2003-11-19 Javier Miranda <miranda@gnat.com>
-
- * sem_ch4.adb: (Diagnose_Call): Improve error message.
- Add reference to Ada0Y (AI-50217)
-
- * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
- sem_util.adb: Add reference to AI-50217
-
- * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
-
- * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
-
- * sem_aggr.adb: Complete documentation of AI-287 changes
-
- * par-ch4.adb: Document previous changes.
-
- * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
- sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
- Ada0Y (AI-50217)
-
- * exp_aggr.adb: Add references to AI-287 in previous changes
-
-2003-11-19 Ed Schonberg <schonberg@gnat.com>
-
- * exp_ch6.adb:
- (Add_Call_By_Copy_Node): Do not original node of rewritten expression
- in the rewriting is the result of an inlined call.
-
- * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
- parameter is a type conversion, use original node to construct the
- post-call assignment, because expression may have been rewritten, e.g.
- if it is a packed array.
-
- * sem_attr.adb:
- (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
- body, just as it is in an instance.
- Categorization routines
-
- * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
- Instantiate_Object): Set proper sloc reference for message on missing
- actual.
-
-2003-11-19 Thomas Quinot <quinot@act-europe.fr>
-
- * Makefile.in: Add FreeBSD libgnat pairs.
-
- * usage.adb: Fix typo in usage message.
-
-2003-11-19 Jerome Guitton <guitton@act-europe.fr>
-
- * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
- s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
- pragma Thread_Body.
- Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
-
- * s-thread.adb: This file is now a dummy implementation of
- System.Thread.
-
-2003-11-19 Sergey Rybin <rybin@act-europe.fr>
-
- * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
-
-2003-11-19 Emmanuel Briot <briot@act-europe.fr>
-
- * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
- instanciation references in the parent type description.
-
-2003-11-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
-
- * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
- TYPE_PRECISION directly from esize.
-
-2003-11-18 Thomas Quinot <quinot@act-europe.fr>
-
- * cstreams.c:
- Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
-
- * init.c: Initialization routines for FreeBSD
-
- * link.c: Link info for FreeBSD
-
- * sysdep.c: Add the case of FreeBSD
-
-2003-11-17 Jerome Guitton <guitton@act-europe.fr>
-
- * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
- already called in System.Threads.
-
- * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
- environment task, as it has been moved to System.Threads.Initialization.
-
-2003-11-17 Arnaud Charlet <charlet@act-europe.fr>
-
- * adaint.c (__gnatlib_install_locks): Only reference
- __gnat_install_locks on VMS, since other platforms can avoid using
- --enable-threads=gnat
-
-2003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
-
- * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
- TYPE_PACKED_ARRAY_TYPE_P.
- (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
-
- Part of PR ada/12806
- * utils.c (float_type_for_precision): Renamed from float_type_for_size.
- Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
-
-2003-11-17 Vincent Celier <celier@gnat.com>
-
- * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
- to False.
- Do not set exit status to Failure when Warning is True.
- (Gnatchop): Make errors "no compilation units found" and
- "no source files written" warnings only.
-
- * make.adb (Gnatmake): When using a project file, set
- Look_In_Primary_Dir to False.
- (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
- and Local_Configuration_Pragmas in the project where they are declared
- not an extending project which might have inherited them.
-
- * osint.adb (Locate_File): If Name is already an absolute path, do not
- look for a directory.
-
- * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
- -gnats (Check_Syntax) is used, issue only a warning, not an error.
-
- * prj.adb (Register_Default_Naming_Scheme): Add new component Project
- in objects of type Variable_Value.
-
- * prj.ads: (Variable_Value): New component Project
-
- * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
- is in a project extended by Project.
-
- * prj-proc.adb (Add_Attributes): New parameter Project. Set component
- Project of Variable_Values to this new parameter value.
- (Expression): Set component Project of Variable_Values.
- (Process_Declarative_Items): Call Add_Attributes with parameter Project.
- Set the component Project in array elements.
-
-2003-11-17 Sergey Rybin <rybin@act-europe.fr>
-
- * errout.adb: (Initialize): Add initialization for error nodes.
-
- * sem_ch12.adb (Initialize): Add missing initializations for
- Exchanged_Views and Hidden_Entities.
-
-2003-11-17 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
- already instantiated tree for use in subsequent inlining.
- (Analyze_Associations, Instantiate_Formal_Subprogram,
- Instantiate_Object): improve error message for mismatch in
- instantiations.
-
- * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
- instantiations of subprograms declared in instances.
-
-2003-11-17 Javier Miranda <miranda@gnat.com>
-
- * sem_ch4.adb (Analyze_Allocator): Previous modification must be
- executed only under the Extensions_Allowed flag.
-
-2003-11-17 Robert Dewar <dewar@gnat.com>
-
- * a-exexda.adb (Address_Image): Fix documentation to indicate leading
- zeroes suppressed.
- (Address_Image): Fix bug of returning 0x instead of 0x0
- Minor reformatting (function specs).
-
- * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
- (missed case of 33-63)
-
- * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
-
- * s-thread.adb: Add comments for pragma Restriction
-
- * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
- sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
-
-2003-11-17 Ed Falis <falis@gnat.com>
-
- * s-thread.adb: Added No_Tasking restriction for this implementation.
-
-2003-11-17 Emmanuel Briot <briot@act-europe.fr>
-
- * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
- instanciation references in the parent type description.
-
-2003-11-17 GNAT Script <nobody@gnat.com>
-
- * Make-lang.in: Makefile automatically updated
-
-2003-11-16 Jason Merrill <jason@redhat.com>
-
- * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
- and TAGS files that include them for each front end.
-
-2003-11-14 Andreas Jaeger <aj@suse.de>
-
- * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
- is the canonical version.
- * misc.c (gnat_handle_option): Likewise.
-
- * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
-
- * 5nsystem.ads: New file for x86_64-linux-gnu.
-
-2003-11-14 Arnaud Charlet <charlet@act-europe.fr>
-
- * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
-
- * comperr.adb: Fix logic in previous change.
-
-2003-11-13 Vincent Celier <celier@gnat.com>
-
- * 5bml-tgt.adb (Build_Dynamic_Library): Use
- Osint.Include_Dir_Default_Prefix instead of
- Sdefault.Include_Dir_Default_Name.
-
- * gnatlbr.adb: Update Copyright notice
- (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
- Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
- instead of Sdefault.Object_Dir_Default_Name
-
- * gnatlink.adb:
- (Process_Binder_File): Never suppress the option following -Xlinker
-
- * mdll-utl.adb:
- (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
- Sdefault.Object_Dir_Default_Name.
-
- * osint.ads, osint.adb:
- (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
- Minor reformatting.
-
- * vms_conv.ads: Minor reformating
- Remove GNAT STANDARD and GNAT PSTA
-
- * vms_conv.adb:
- Allow GNAT MAKE to have several files on the command line.
- (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
- Sdefault.Object_Dir_Default_Name.
- Minor Reformating
- Remove data for GNAT STANDARD
-
- * vms_data.ads:
- Add new compiler qualifier /PRINT_STANDARD (-gnatS)
- Remove data for GNAT STANDARD
- Remove options and documentation for -gnatwb/-gnatwB: these warning
- options no longer exist.
-
-2003-11-13 Ed Falis <falis@gnat.com>
-
- * 5zthrini.adb: (Init_RTS): Made visible
-
- * 5zthrini.adb:
- (Register): Removed unnecessary call to taskVarGet that checked whether
- an ATSD was already set as a task var for the argument thread.
-
- * s-thread.adb:
- Updated comment to reflect that this is a VxWorks version
- Added context clause for System.Threads.Initialization
- Added call to System.Threads.Initialization.Init_RTS
-
-2003-11-13 Jerome Guitton <guitton@act-europe.fr>
-
- * 5zthrini.adb:
- (Init_RTS): New procedure, for the initialization of the run-time lib.
-
- * s-thread.adb:
- Remove dependancy on System.Init, so that this file can be used in the
- AE653 sequential run-time lib.
-
-2003-11-13 Robert Dewar <dewar@gnat.com>
-
- * bindgen.adb: Minor reformatting
-
-2003-11-13 Ed Schonberg <schonberg@gnat.com>
-
- * checks.adb:
- (Apply_Discriminant_Check): Do no apply check if target type is derived
- from source type with no applicable constraint.
-
- * lib-writ.adb:
- (Ensure_System_Dependency): Do not apply the style checks that may have
- been specified for the main unit.
-
- * sem_ch8.adb:
- (Find_Selected_Component): Further improvement in error message, with
- RM reference.
-
- * sem_res.adb:
- (Resolve): Handle properly the case of an illegal overloaded protected
- procedure.
-
-2003-11-13 Javier Miranda <miranda@gnat.com>
-
- * exp_aggr.adb:
- (Has_Default_Init_Comps): New function to check the presence of
- default initialization in an aggregate.
- (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
- extension aggregate of a limited record. In addition, a new formal
- was added to do not initialize the record controller (if any) during
- this recursive expansion of ancestors.
- (Init_Controller): Add support for limited record components.
- (Expand_Record_Aggregate): In case of default initialized components
- convert the aggregate into a set of assignments.
-
- * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
- describing the new syntax.
- Nothing else needed to be done because this subprogram delegates part of
- its work to P_Precord_Or_Array_Component_Association.
- (P_Record_Or_Array_Component_Association): Give support to the new
- syntax for default initialization of components.
-
- * sem_aggr.adb:
- (Resolve_Aggregate): Relax the strictness of the frontend in case of
- limited aggregates.
- (Resolve_Record_Aggregate): Give support to default initialized
- components.
- (Get_Value): In case of default initialized components, duplicate
- the corresponding default expression (from the record type
- declaration). In case of default initialization in the *others*
- choice, do not check that all components have the same type.
- (Resolve_Extension_Aggregate): Give support to limited extension
- aggregates.
-
- * sem_ch3.adb:
- (Check_Initialization): Relax the strictness of the front-end in case
- of aggregate and extension aggregates. This test is now done in
- Get_Value in a per-component manner.
-
- * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
- expression corresponds to a limited aggregate. This test is now done
- in Get_Value.
-
- * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
- Box_Present flag.
-
- * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
- present in an N_Component_Association node
-
-2003-11-13 Thomas Quinot <quinot@act-europe.fr>
-
- * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
- type-conformant entry only if they are homographs.
-
-2003-11-13 GNAT Script <nobody@gnat.com>
-
- * Make-lang.in: Makefile automatically updated
-
-2003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * adadecode.c: Use <> form of include for ctype.h.
- * sysdep.c [IN_RTS]: Use <> form of include for time.h.
-
-2003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
- Works around PR middle-end/6552.
-
-2003-11-10 Ed Falis <falis@gnat.com>
-
- * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
-
- * 5zinit.adb: (Install_Handler): Moved back to spec
- (Install_Signal_Handlers): Deleted
-
- * 5zthrini.adb: Added context clause for System.Storage_Elements
- (Register): Only handles creation of taskVar; initialization moved to
- Thread_Body_Enter.
- (Reset_TSD): Deleted; replaced by Thread_Body_Enter
- Added declaration of environment task secondary stack and
- initialization.
-
- * s-thread.adb: Implement bodies for thread body processing
-
- * s-thread.ads:
- Added comment identifying supported targets for pragma Thread_Body.
-
-2003-11-10 Pascal Obry <obry@gnat.com>
-
- * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
- GNAT_MAX_PATH_LEN.
-
- * s-fileio.adb:
- (Open): Properly check for string length before copying into the buffer.
- Raises Name_Error if buffer is too small. Note that this was a potential
- buffer overflow.
-
-2003-11-10 Romain Berrendonner <berrendo@act-europe.fr>
-
- * bindgen.adb, comperr.adb: Code clean ups.
- * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
-
-2003-11-10 Sergey Rybin <rybin@act-europe.fr>
-
- * gnat1drv.adb: Add call to Sem_Elim.Initialize.
-
-2003-11-10 Vincent Celier <celier@gnat.com>
-
- * gprcmd.adb:
- (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
- installation.
-
- * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
-
- * prj.adb: (Project_Empty): Add new boolean component Virtual
-
- * prj.ads: (Virtual_Prefix): New constant string
- (Project_Data): New boolean component Virtual
-
- * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
- a library project is extended by a virtual extending project.
-
- * prj-part.adb:
- Modifications throughout to implement extending-all project, including:
- (Virtual_Hash, Processed_Hash): New hash tables
- (Create_Virtual_Extending_Project): New procedure
- (Look_For_Virtual_Projects_For): New procedure
-
- * prj-proc.adb:
- (Process): After checking the projects, if main project is an
- extending-all project, set the object directory of all virtual extending
- project to the object directory of the main project.
- Adjust error message when a virtual extending project has the same
- object directory as an project being extended.
- (Recursive_Process): If name starts with the virtual prefix, set Virtual
- to True in the project data.
-
- * prj-tree.adb:
- (Default_Project_Node): Add new boolean component Extending_All
- (Is_Extending_All): New function
- (Set_Is_Extending_All): New procedure
-
- * prj-tree.ads: (Is_Extending_All): New function
- (Set_Is_Extending_All): New procedure
- (Project_Node_Record): New boolean component Extending_All
-
- * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
-
- * vms_data.ads:
- Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
-
- * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
- "gprcmd prefix" to define it.
-
-2003-11-10 Thomas Quinot <quinot@act-europe.fr>
-
- * einfo.ads: Fix a typo and remove an extraneous word in comments.
-
- * lib-load.adb:
- (Create_Dummy_Package_Unit): Set the scope of the entity for the
- created dummy package to Standard_Standard, not to itself, to
- defend other parts of the front-end against encoutering a cycle in
- the scope chain.
-
- * sem_ch10.adb:
- (Analyze_With_Clause): When setting the entities for the successive
- N_Expanded_Names that constitute the name of a child unit, do not
- attempt to go further than Standard_Standard in the chain of scopes.
- This case arises from the placeholder units created by
- Create_Dummy_Package_Unit in the case of a with_clause for a
- nonexistent child unit.
-
-2003-11-10 Ed Schonberg <schonberg@gnat.com>
-
- * exp_ch6.adb:
- (Expand_Thread_Body): Place subprogram on scope stack, so that new
- declarations are given the proper scope.
-
- * sem_ch13.adb:
- (Check_Expr_Constants): Reject an expression that contains a constant
- created during expansion, and that appears after the object to which
- the address clause applies.
-
- * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
- Analyze_Iteration_Scheme, to rewrite a loop parameter specification
- that uses 'Range of a function call with controlled components, so
- that the function result can be finalized before starting the loop.
-
- * sem_ch8.adb:
- (Find_Selected_Component): Improve error message when prefix is
- an implicit dereference of an incomplete type.
-
-2003-11-10 Robert Dewar <dewar@gnat.com>
-
- * opt.ads: New Print_Standard flag for -gnatS switch
-
- * sem_ch13.adb: Remove some additional checks for unaligned arrays
-
- * cstand.adb (Create_Standard): Print out package standard if -gnatS
- switch set
-
- * debug.adb: Update doc for -gnatds to discuss relationship with new
- -gnatS flag
-
- * sinfo.adb: Add new field Entity_Or_Associated_Node
-
- * sinfo.ads: Add new field Entity_Or_Associated_Node
- Update documentation for Associated_Node and Entity fields to clarify
- relationship and usage.
-
- * sprint.adb:
- (Write_Id): Properly process Associated_Node field in generic template
-
- * switch-c.adb:
- Recognize new -gnatS switch for printing package Standard
- This replaces gnatpsta
-
- * usage.adb:
- Add line for new -gnatS switch for printing package Standard
- This replaces gnatpsta
-
-2003-11-10 Andreas Jaeger <aj@suse.de>
-
- * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
- integer.
-
-2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
-
- * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
- by gnat1.
-
-2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
-
- * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
- no longer needed.
-
- * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
-
- * sysdep.c: Add handling of cygwin.
-
-2003-11-10 GNAT Script <nobody@gnat.com>
-
- * Make-lang.in: Makefile automatically updated
-
-2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
-
- PR 12950
- * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
- functions. Used to handle dynamic prefix relocation, via set_std_prefix.
- Replace GNAT_ROOT by GCC_ROOT.
-
- * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
-
-2003-11-06 Zack Weinberg <zack@codesourcery.com>
-
- * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
- and update for changed meaning of GET_MODE_BITSIZE.
-
-2003-11-04 Doug Rupp <rupp@gnat.com>
-
- * sysdep.c: Problem discovered during IA64 VMS port.
- [VMS] #include <unixio.h> to get proper prototypes.
-
- * adaint.c:
- Issues discovered/problems fixed during IA64 VMS port.
- [VMS] #define _POSIX_EXIT for proper semantics.
- [VMS] #include <unixio.h> for proper prototypes.
- [VMS] (fork): #define IA64 version.
- (__gnat_os_exit): Remove unnecessary VMS specific code.
-
-2003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- Part of PR ada/12806
- * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
- tree, not integer.
-
- * decl.c:
- (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
- not integer.
-
- * targtyps.c, decl.c, misc.c,
- gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
- routines to work around change in FP sizing semantics in GCC.
-
- * utils.c:
- (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
-
- * gigi.h: (enumerate_modes): New function.
-
- * Make-lang.in: (ada/misc.o): Add real.h.
-
- * misc.c: (enumerate_modes): New function.
-
-2003-11-04 Robert Dewar <dewar@gnat.com>
-
- * 3vtrasym.adb: Minor reformatting
- Use terminology encoded/decoded name, rather than C++ specific notion
- of mangling (this is the terminology used throughout GNAT).
-
- * einfo.h: Regenerated
-
- * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
-
- * exp_ch6.adb:
- (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
-
- * par-prag.adb: Add dummy entry for Thread_Body pragma
-
- * rtsfind.ads:
- Add entries for System.Threads entities for thread body processing
-
- * sem_attr.adb:
- (Analyze_Pragma, Access attributes): Check these are not applied to a
- thread body, since this is not permitted
-
- * sem_prag.adb: Add processing for Thread_Body pragma.
- Minor comment fix.
-
- * sem_res.adb:
- (Resolve_Call): Check for incorrect attempt to call a thread body
- procedure with a direct call.
-
- * snames.ads, snames.adb: Add entry for Thread_Body pragma
- Add names associated with thread body expansion
-
- * snames.h: Add entry for Thread_Body pragma
-
- * s-thread.adb: Add entries for thread body processing
- These are dummy bodies so far
-
- * s-thread.ads: Add documentation on thread body handling.
- Add entries for thread body processing.
-
-2003-11-04 Javier Miranda <miranda@gnat.com>
-
- * sem_ch10.adb:
- (Build_Limited_Views): Return after posting an error in case of limited
- with_clause on subprograms, generics, instances or generic renamings
- (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
- on subprograms, generics, instances or generic renamings
-
-2003-11-04 Arnaud Charlet <charlet@act-europe.fr>
-
- * raise.c (setup_to_install): Correct mistake in last revision; two
- arguments out of order.
-
- * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
- gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
- notice, missed in previous change.
- Remove trailing blanks and other style errors introduced in previous
- change.
-
-2003-11-04 Olivier Hainque <hainque@act-europe.fr>
-
- * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
- rid of the wrapper for a LJM type, ensuring we don't do that if the
- field is addressable. This avoids potential low level type view
- mismatches later on, for instance in a by-reference argument passing
- process.
-
-2003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
- aligned at byte boundary.
-
-2003-11-04 Joel Brobecker <brobecker@gnat.com>
-
- * decl.c (components_to_record): Do not delete the empty variants from
- the end of the union type.
-
-2003-11-04 Ed Schonberg <schonberg@gnat.com>
-
- * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
- operation for a derived type, an explicit declaration may use a local
- subtype of Boolean.
-
-2003-11-04 Vincent Celier <celier@gnat.com>
-
- * make.adb (Gnatmake): Allow main sources on the command line with a
- library project when it is only for compilation (no binding or
- linking).
-
-2003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * Makefile.in: Remove many duplicate variables.
-
-2003-11-03 Kelley Cook <kcook@gcc.gnu.org>
-
- * Make-lang.in (dvi): Move targets to $(docobjdir).
- (gnat_ug_vms.dvi): Simplify rule and adjust target.
- (gnat_ug_wnt.dvi): Likewise.
- (gnat_ug_unx.dvi): Likewise.
- (gnat_ug_vxw.dvi): Likewise.
- (gnat_rm.dvi): Likewise.
- (gnat-style.dvi): Likewise.
-
-2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
-
- * gigi.h: Missed commit from update for C90.
-
-2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
-
-2003-10-31 Andreas Schwab <schwab@suse.de>
-
- * raise.c (get_action_description_for): Fix typo in last change.
-
-2003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
-
- PR ada/12761
- * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
- T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
-
-2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
-
- * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
- ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
- gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
- sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
- trans.c, utils.c, utils2.c: Convert function prototypes to C90.
-
-2003-10-30 Vasiliy Fofanov <fofanov@act-europe.fr>
-
- * 3vtrasym.adb:
- Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
- numbers when symbol name is too long.
-
-2003-10-30 Ed Falis <falis@gnat.com>
-
- * g-signal.ads, g-signal.adb: New files
-
- * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
-
- * Makefile.rtl: Introduce GNAT.Signals
-
-2003-10-30 Robert Dewar <dewar@gnat.com>
-
- * freeze.adb: Minor reformatting
-
- * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
-
- * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
- par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
- New handling of Id_Check parameter to improve recognition of keywords
- used as identifiers.
- Update copyright notice to include 2003
-
-2003-10-29 Robert Dewar <dewar@gnat.com>
-
- * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
- sem_ch10.adb: Minor reformatting
-
- * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
- (Expand_Assign_Record): Test right hand side for bit unaligned as well
-
-2003-10-29 Vasiliy Fofanov <fofanov@act-europe.fr>
-
- * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
- Support for TBK$SYMBOLIZE-based symbolic traceback.
-
-2003-10-29 Jose Ruiz <ruiz@act-europe.fr>
-
- * exp_disp.adb:
- Revert previous change, that did not work well when pragma No_Run_Time
- was used in conjunction with a run-time other than ZFP.
-
-2003-10-29 Vincent Celier <celier@gnat.com>
-
- * make.adb:
- (Gnatmake): When there are no Ada mains in attribute Main, disable the
- bind and link steps only is switch -z is not used.
-
-2003-10-29 Arnaud Charlet <charlet@act-europe.fr>
-
- * Makefile.generic: Remove duplicated setting of CC.
-
- * Makefile.prolog: Set CC to gcc by default, to override make's
- default (cc).
-
- * einfo.h: Regenerated.
-
-2003-10-29 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
- current body, after compiling subunit.
-
- * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
- when in deleted code, because gigi needs properly ordered freeze
- actions to annotate types.
-
- * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
- prevent the premature freezing of record type that contains
- subcomponents with a private type that does not yet have a completion.
-
-2003-10-29 Javier Miranda <miranda@gnat.com>
-
- * sem_ch12.adb:
- (Analyze_Package_Instantiation): Check that instances can not be used in
- limited with_clauses.
-
- * sem_ch8.adb:
- (Analyze_Package_Renaming): Check that limited withed packages cannot
- be renamed. Improve text on error messages related to limited
- with_clauses.
-
- * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
-
- * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
- Update copyright notice.
-
- * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
- (Install_Limited_Context_Clauses): New subprogram that isolates all the
- checks required for limited context_clauses and installs the limited
- view.
- (Install_Limited_Withed_Unit): Complete its documentation.
- (Analyze_Context): Check that limited with_clauses are only allowed in
- package specs.
- (Install_Context): Call Install_Limited_Context_Clauses after the
- parents have been installed.
- (Install_Limited_Withed_Unit): Add documentation. Mark the installed
- package as 'From_With_Type'; this mark indicates that the limited view
- is installed. Used to check bad usages of limited with_clauses.
- (Build_Limited_Views): Do not add shadow entities to the scope's list
- of entities. Do not add real entities to the Non_Limited_Views chain.
- Improve error notification.
- (Remove_Context_Clauses): Remove context clauses in two phases:
- limited views first and regular views later (to maintain the
- stack model).
- (Remove_Limited_With_Clause): If the package is analyzed then reinstall
- its visible entities.
-
-2003-10-29 Thomas Quinot <quinot@act-europe.fr>
-
- * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
- with any type that Is_Fixed_Point_Type.
-
- * sinfo.ads: Fix documentation for Associated_Node attribute.
-
-2003-10-29 Sergey Rybin <rybin@act-europe.fr>
-
- * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
- both '-gnatc' and '-gnatt' are specified.
-
- * atree.adb (Initialize): Add initialization for Node_Count (set to
- zero).
-
-2003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
- do not consider as Pure.
-
- Part of implementation of function-at-a-time:
-
- * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
- (tree_transform): Add new argument to build_component_ref.
- (tree_transform, case N_Assignment_Statement): Make and return an
- EXPR_STMT.
- (tree_transform): If result IS_STMT, set flags and return it.
- (gnat_expand_stmt, set_lineno_from_sloc): New functions.
-
- * utils2.c (build_simple_component_ref, build_component_ref): Add new
- arg, NO_FOLD_P.
- (build_binary_op, case EQ_EXPR): Pass additional arg to it.
- (build_allocator): Likewise.
-
- * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
- Add new arg to build_component_ref.
- (maybe_unconstrained_array, unchecked_convert): Likewise.
-
- * ada-tree.def (EXPR_STMT): New code.
-
- * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
-
- * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
- build_component_ref calls.
-
- * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
-
- * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
- (build_component_ref): Add new argument, NO_FOLD_P.
-
-2003-10-27 Arnaud Charlet <charlet@act-europe.fr>
-
- * Makefile.generic: Add missing substitution on object_deps handling.
-
- PR ada/5909
- * Make-lang.in (check-ada): Enable ACATS test suite.
-
-2003-10-27 Robert Dewar <dewar@gnat.com>
-
- * exp_ch3.adb:
- (Freeze_Array_Type): We do not need an initialization routine for types
- derived from String or Wide_String. They should be treated the same
- as String and Wide_String themselves. This caused problems with the
- use of Initialize_Scalars.
-
- * exp_ch5.adb:
- (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
- composites. This allows use of component clauses that are not byte
- aligned.
-
- * sem_prag.adb:
- (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
- is an attempt to pack an array of atomic objects.
-
- * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
-
-2003-10-27 Pascal Obry <obry@gnat.com>
-
- * g-dirope.adb:
- (Basename): Check for drive letters in a pathname only on DOS based OS.
-
-2003-10-27 Vincent Celier <celier@gnat.com>
-
- * make.adb:
- (Gnatmake): When unable to change dir to the object dir, display the
- content of the parent dir of the obj dir, to try to understand why this
- happens.
-
-2003-10-27 GNAT Script <nobody@gnat.com>
-
- * Make-lang.in: Makefile automatically updated
-
-2003-10-27 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch12.adb:
- (Inline_Instance_Body): Indicate that the save/restore of use_clauses
- should not be done in Save/Restore_Scope_Stack, because it is performed
- locally.
-
- * sem_ch8.adb:
- (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
- whether use clauses should be removed/restored.
-
- * sem_ch8.ads:
- (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
- whether use clauses should be removed/restored.
-
-2003-10-26 Andreas Jaeger <aj@suse.de>
-
- * Makefile.in: Remove duplicated lines.
-
-2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
-
- * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
- minimize the differences with ACT tree.
-
- * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
- gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
- Gnatvsn.Gnat_Static_Version_String to reduce differences between
- ACT and FSF trees.
-
-2003-10-24 Pascal Obry <obry@gnat.com>
-
- PR ada/12014
- * adadecode.c (ostrcpy): New function.
- (__gnat_decode): Use ostrcpy of strcpy.
- (has_prefix): Set first parameter a const.
- (has_suffix): Set first parameter a const.
- Update copyright notice. Fix source name in header.
- Removes a trailing space.
-
-2003-10-24 Jose Ruiz <ruiz@act-europe.fr>
-
- * exp_disp.adb:
- Remove the test against being in No_Run_Time_Mode before generating a
- call to Register_Tag. It is redundant with the test against the
- availability of the function Register_Tag.
-
-2003-10-24 Vincent Celier <celier@gnat.com>
-
- * g-catiio.adb: (Month_Name): Correct spelling of February
-
- * make.adb: (Mains): New package
- (Initialize): Call Mains.Delete
- (Gnatmake): Check that each main on the command line is a source of a
- project file and, if there are several mains, each of them is a source
- of the same project file.
- (Gnatmake): When a foreign language is specified in attribute Languages,
- no main is specified on the command line and attribute Mains is not
- empty, only build the Ada main. If there is no Ada main, just compile
- the Ada sources and their closure.
- (Gnatmake): If a main is specified on the command line with directory
- information, check that the source exists and, if it does, that the path
- is the actual path of a source of a project.
-
- * prj-env.adb:
- (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
- Full_Path is True, return the full path instead of the simple file name.
- (Project_Of): New function
-
- * prj-env.ads:
- (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
- defaulted to False.
- (Project_Of): New function
-
-2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
-
- * Makefile.generic:
- Ensure objects of main project are always checked and rebuilt if needed.
- Set CC to gcc by default.
- Prepare new handling of link by creating a global archive (not activated
- yet).
-
- * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
- stringt.h: Update copyright notice. Remove trailing blanks.
- Fix source name in header.
-
-2003-10-24 Robert Dewar <dewar@gnat.com>
-
- * sem_ch12.adb: Minor reformatting
-
- * sem_ch3.adb:
- Minor reformatting (including new function return style throughout)
-
- * sem_ch3.ads:
- Minor reformatting (including new function return style throughout)
-
-2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
-
- * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
- stringt.h: Update copyright notice. Remove trailing blanks.
- Fix source name in header.
-
-2003-10-24 GNAT Script <nobody@gnat.com>
-
- * Make-lang.in: Makefile automatically updated
-
-2003-10-23 Nathanael Nerode <neroden@gcc.gnu.org>
-
- * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
- stringt.h: Convert to ISO C90 declarations and definitions.
-
-2003-10-23 Thomas Quinot <quinot@act-europe.fr>
-
- PR ada/11978
- * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
- External_Tag attribute definition clauses.
-
-2003-10-23 Ed Schonberg <schonberg@gnat.com>
-
- PR ada/7613
- * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
- child unit, generate a fully qualified name to avoid spurious errors
- when the context contains renamings of different child units with
- the same simple name.
-
- * exp_dbug.ads: Add documentation on name qualification for renamings
- of child units.
-
-2003-10-23 Robert Dewar <dewar@gnat.com>
-
- * g-regpat.ads, g-regpat.adb: Minor reformatting
-
-2003-10-23 Jose Ruiz <ruiz@act-europe.fr>
-
- * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
-
-2003-10-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
- Machine call.
-
- * urealp.h: (Machine): Update to proper definition.
-
-2003-10-23 Arnaud Charlet <charlet@act-europe.fr>
-
- * init.c, adaint.c: Minor reformatting.
-
-2003-10-23 Danny Smith <dannysmith@users.sourceforge.net>
-
- * adaint.c (w32_epoch_offset): Define static const at file level.
- (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
- rather than t_create, t_access in call to GetFileTime. Use union
- to convert between FILETIME and unsigned long long.
- (__gnat_file_time_name): Test for invalid file handle.
- (__gnat_set_filetime_name): Support win32 targets using
- w32api SetFileTime.
-
-2003-10-22 Danny Smith <dannysmith@users.sourceforge.net>
-
- * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
-
- * ctrl_c.c (__gnat_int_handler): Remove declaration.
-
- * decl.c (creat_concat_name): Const-ify prefix.
-
- * adaint.c: Include ctype.h if __MINGW32__.
- (__gnat_readlink): Mark arguments as possibly unused.
- (__gnat_symlink): Likewise.
- (__gnat_is_symbolic_link): Likewise.
- (__gnat_portable_spawn): Likewise. Cast last arg of spawnvp to match
- declaration
- (__gnat_file_time_name): Don't declare struct stat statbuf when
- not needed.
- (__gnat_is_absolute_path): Add parenthesis around condition of
- 'if' statement to avoid warning.
- (__gnat_plist_init): Specify void as parameter.
- (plist_enter): Likewise.
- (plist_leave): Likewise.
- (remove_handle): Make static. Initialize prev.
-
-2003-10-22 Arnaud Charlet <charlet@act-europe.fr>
-
- PR ada/10110
- * Makefile.in: Disable build of gnatpsta.
- * cstreams.c (__gnat_full_name): Minor improvements and clean up
- of previous change.
-
-2003-10-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * tracebak.c (MAX): Avoid redefinition warning.
-
- * init.c [sgi] (__gnat_error_handler): Remove i, unused.
- Change msg to const char *.
- (__gnat_install_handler): Remove ss, unused.
- [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
- to const char *.
- * cstreams.c (__gnat_full_name): Declare p only when used.
- (__gnat_full_name) [sgi] Return buffer.
-
-2003-10-22 Arnaud Charlet <charlet@act-europe.fr>
-
- * mingw32.h: New file.
- * gnat_wrapper.adb: New file.
-
-2003-10-22 Jerome Roussel <roussel@act-europe.fr>
-
- * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
- string match a pre compiled regular expression (the corresponding
- version of the function working on a raw regular expression)
- Fix typos in various comments
- Update copyright notice in spec
-
-2003-10-21 Gary Dismukes <dismukes@gnat.com>
-
- * exp_ch3.adb:
- (Component_Needs_Simple_Initialization): Return False when the type is a
- packed bit array. Revise spec comments to document this case.
-
- * exp_prag.adb:
- (Expand_Pragma_Import): Set any expression on the imported object to
- empty to avoid initializing imported objects (in particular this
- covers the case of zero-initialization of bit arrays).
- Update copyright notice.
-
-2003-10-21 Ed Schonberg <schonberg@gnat.com>
-
- * sem_ch12.adb:
- (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
- a subunit is missing.
- (Instantiate_Subprogram_Body): If body of function is missing, set type
- of return expression explicitly in dummy body, to prevent cascaded
- errors when a subunit is missing.
- Fixes PR 5677.
-
- * sem_ch3.adb:
- (Access_Subprogram_Declaration): Verify that return type is valid.
- Fixes PR 8693.
-
- * sem_elab.adb:
- (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
- generic.
- Fixes PR 12318.
-
- * sem_util.adb:
- (Corresponding_Discriminant): If the scope of the discriminant is a
- private type without discriminant, use its full view.
- Fixes PR 8247.
-
-2003-10-21 Arnaud Charlet <charlet@act-europe.fr>
-
- * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
- 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
- 3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
- 55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
- 56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
- 59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
- 5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
- 5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
- 5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
- 5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
- 5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
- 5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
- 5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
- 5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
- 7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
- a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
- a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
- a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
- bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
- erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
- err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
- g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
- g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
- g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
- g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
- g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
- g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
- gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
- g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
- g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
- i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
- prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
- prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
- s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
- s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
- s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
- s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
- s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
- s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
- s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
- s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
- socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
- s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
- s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
- s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
- styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
- s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
- tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
- vms_conv.ads, vms_conv.adb, vms_data.ads,
- vxaddr2line.adb: Files added. Merge with ACT tree.
-
- * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
- 5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
- 5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
- 5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
- g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
- s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
- s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
- s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
- s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
- s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
-
- * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
- 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
- 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
- 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
- 4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
- 4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
- 4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
- 4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
- 51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
- 53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
- 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
- 5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
- 5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
- 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
- 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
- 5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
- 5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
- 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
- 5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
- 5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
- 5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
- 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
- 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
- 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
- 5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
- 5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
- 5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
- 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
- 5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
- 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
- 5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
- 5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
- 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
- 5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
- 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
- 7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
- 7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
- a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
- a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
- a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
- a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
- a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
- ali.adb, ali.ads, ali-util.adb, ali-util.ads,
- a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
- a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
- a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
- a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
- a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
- a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
- a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
- a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
- a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
- a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
- a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
- a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
- atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
- a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
- a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
- bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
- checks.adb, checks.ads, cio.c, comperr.adb,
- comperr.ads, csets.adb, cstand.adb, cstreams.c,
- debug_a.adb, debug_a.ads, debug.adb, decl.c,
- einfo.adb, einfo.ads, errout.adb, errout.ads,
- eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
- expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
- exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
- exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
- exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
- exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
- exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
- exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
- exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
- fe.h, fmap.adb, fmap.ads, fname.adb,
- fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
- freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
- g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.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-comlin.ads,
- g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
- g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
- g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
- g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
- g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
- g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
- g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
- g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
- gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
- gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
- gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
- gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
- gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
- g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
- g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
- g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
- g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
- g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
- g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
- g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
- g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
- i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
- i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
- inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
- itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
- layout.adb, lib.adb, lib.ads, lib-list.adb,
- lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
- lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
- link.c, live.adb, make.adb, make.ads,
- Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
- mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
- mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
- misc.c, mkdir.c, mlib.adb, mlib.ads,
- mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
- mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
- namet.adb, namet.ads, namet.h, nlists.ads,
- nlists.h, nmake.adt, opt.adb, opt.ads,
- osint.adb, osint.ads, osint-b.adb, osint-c.adb,
- par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
- par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
- par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
- par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
- prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
- prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
- prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
- prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
- prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
- prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
- prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
- prj-util.adb, prj-util.ads, raise.c, raise.h,
- repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
- rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
- s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
- s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
- scans.ads, scn.adb, scn.ads, s-crc32.adb,
- s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
- sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
- sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
- sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
- sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
- sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
- sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
- sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
- sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
- sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
- sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
- sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
- s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
- s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
- s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
- s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
- s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
- s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
- s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
- sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
- sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
- sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
- s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
- s-memory.adb, s-memory.ads, snames.adb, snames.ads,
- snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
- s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
- s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
- s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
- s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
- s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
- s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
- s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
- s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
- s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
- s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
- s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
- s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
- s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
- s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
- s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
- s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
- stringt.adb, stringt.ads, stringt.h, style.ads,
- stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
- s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
- s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
- switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
- s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
- table.adb, table.ads, targparm.adb, targparm.ads,
- targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
- trans.c, tree_io.adb, treepr.adb, treeprs.adt,
- ttypes.ads, types.ads, types.h, uintp.adb,
- uintp.ads, uintp.h, uname.adb, urealp.adb,
- urealp.ads, urealp.h, usage.adb, utils2.c,
- utils.c, validsw.adb, validsw.ads, widechar.adb,
- xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
- xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
- einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
- gnatvsn.ads: Merge with ACT tree.
-
- * gnatvsn.adb: Rewritten in a simpler and more efficient way.
-
-2003-10-20 Mark Mitchell <mark@codesourcery.com>
-
- * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
- (gnat_ug_vmx.info): Likewise.
- (gnat_ug_vxw.info): Likewise.
- (gnat_ug_wnt.info): Likewise.
- (gnat_rm.info): Likewise.
- (gnat-style.info): Likewise.
-
- * Make-lang.in (ada.install-info): Remove target.
- (info): New target.
- (install-info): Likewise.
- (gnat_ug_unx.info): Simplify rule.
- (gnat_ug_vmx.info): Likewise.
- (gnat_ug_vxw.info): Likewise.
- (gnat_ug_wnt.info): Likewise.
- (gnat_rm.info): Likewise.
- (gnat-style.info): Likewise.
-
-2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
-
- * Make-lang.in: Replace uses of $(target_alias) with
- $(target_noncanonical).
- * ada/Makefile.in: Remove unused mention of $(target_alias).
-
-2003-10-06 Mark Mitchell <mark@codesourcery.com>
-
- * Make-lang.in (ada.info): Replace with ...
- (info): ... this.
- (ada.dvi): Replace with ...
- (dvi): ... this.
-
-2003-09-29 Zack Weinberg <zack@codesourcery.com>
-
- * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
- initialize dconstp5 and dconstmp5.
-
-2003-09-28 Richard Henderson <rth@redhat.com>
-
- * trans.c (tree_transform): Update call to expand_asm_operands.
-
-2003-09-21 Richard Henderson <rth@redhat.com>
-
- * trans.c, utils.c: Revert.
-
-2003-09-21 Richard Henderson <rth@redhat.com>
-
- * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
- change to const.
-
-2003-09-04 Michael Matz <matz@suse.de>
-
- * misc.c: Include "target.h".
- * Make-lang.in (misc.o): Add dependency on target.h.
-
-2003-09-03 DJ Delorie <dj@redhat.com>
-
- * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
- hook.
-
-2003-08-30 Zack Weinberg <zack@codesourcery.com>
-
- * Makefile.in: Update substitutions to match changes to
- configure. Use include directives instead of @-insertions
- to read in host and target fragments. Add a rule to
- regenerate ada/Makefile.
-
-2003-07-18 Neil Booth <neil@daikokuya.co.uk>
-
- * lang-options.h: Remove.
- * lang.opt: Add help text.
-
-2003-07-07 Nathan Sidwell <nathan@codesourcery.com>
-
- * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
- calls.
-
-2003-07-06 Neil Booth <neil@daikokuya.co.uk>
-
- * misc.c (gnat_handle_option): Don't handle filenames.
-
-2003-07-04 H.J. Lu <hongjiu.lu@intel.com>
-
- * Make-lang.in: Replace PWD with PWD_COMMAND.
- * Makefile.adalib: Likewise.
- * Makefile.in: Likewise.
-
-2003-07-04 Matt Kraai <kraai@alumni.cmu.edu>
-
- * misc.c (gnat_argv): Revert last change.
- (gnat_handle_option, gnat_init_options): Copy arguments.
-
-2003-07-03 Neil Booth <neil@daikokuya.co.uk>
-
- * misc.c (gnat_argv): Make const.
-
-2003-07-02 Neil Booth <neil@daikokuya.co.uk>
-
- * misc.c (save_argc, save_argv): Keep non-static!
-
-2003-07-02 Neil Booth <neil@daikokuya.co.uk>
-
- * misc.c (save_argc, save_argv): Make static.
- (gnat_init_options): New prototype.
- (gnat_init_options): Update.
-
-2003-07-01 Matt Kraai <kraai@alumni.cmu.edu>
-
- * gnat_ug.texi: Remove unlikely characters from @vars.
- * gnat_ug_vms.texi: Regenerate.
-
-2003-06-27 Nathan Sidwell <nathan@codesourcery.com>
-
- * misc.c (record_code_position): Adjust emit_note call.
-
-2003-06-26 Neil Booth <neil@daikokuya.co.uk>
-
- * misc.c (gnat_handle_option): Don't check for missing arguments.
-
-2003-06-20 Nathan Sidwell <nathan@codesourcery.com>
-
- * utils.c (end_subprog_body): Adjust expand_function_end call.
-
-2003-06-16 Matt Kraai <kraai@alumni.cmu.edu>
-
- * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
- Bind_Main_Program.
-
-2003-06-15 Neil Booth <neil@daikokuya.co.uk>
-
- * lang.opt: Declare Ada.
- * misc.c (gnat_init_options): Update.
-
-2003-06-14 Nathan Sidwell <nathan@codesourcery.com>
-
- * utils.c (begin_subprog_body): Adjust init_function_start call.
-
-2003-06-14 Neil Booth <neil@daikokuya.co.uk>
-
- * Make-lang.in: Update to use options.c and options.h.
- * misc.c: Include options.h not aoptions.h.
- (gnat_handle_option): Abort on unrecognized switch.
- (gnat_init_options): Request Ada switches.
-
-2003-06-14 Neil Booth <neil@daikokuya.co.uk>
-
- * lang.opt: Add -Wall.
- * misc.c (gnat_handle_option): Handle it.
-
-2003-06-12 Neil Booth <neil@daikokuya.co.uk>
-
- * misc.c (gnat_handle_option): Fix warnings.
-
-2003-06-11 Matt Kraai <kraai@alumni.cmu.edu>
-
- * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
-
-2003-06-11 Neil Booth <neil@daikokuya.co.uk>
-
- * Make-lang.in: Update to handle command-line options.
- * lang.opt: New file.
- * misc.c: Include aoptions.h.
- (cl_options_count, cl_options): Remove.
- (gnat_handle_option): New.
- (gnat_decode_option): Remove.
- (LANG_HOOKS_DECODE_OPTION): Remove.
- (LANG_HOOKS_HANDLE_OPTION): Override.
-
-2003-06-10 Nathanael Nerode <neroden@gcc.gnu.org>
-
- * init.c, misc.c, trans.c, utils.c: Remove dead code.
-
-2003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
-
- * Makefile.in: Replace "host_canonical" with "host" for autoconf
- substitution.
-
-2003-06-08 Neil Booth <neil@daikokuya.co.uk>
-
- * Make-lang.in: Update.
- * misc.c: Include opts.h. Define cl_options_count and cl_options.
-
-2003-06-07 Neil Booth <neil@daikokuya.co.uk>
-
- * misc.c (gnat_init_options): Update.
-
-2003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
-
- * Make-lang.in (ada/b_gnatb.o-warn): Remove.
- * bindgen.adb (Gen_Main_C): Mark ensure_reference with
- __attribute__ ((__unused__)).
-
-2003-06-05 Jan Hubicka <jh@suse.cz>
-
- * Make-lang.in: Add support for stageprofile and stagefeedback
-
-2003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
-
- * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
- (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
-
-2003-06-04 Matt Kraai <kraai@alumni.cmu.edu>
-
- * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
- Remove non-VMS directive.
- (Switches for gnatlbr, Optimization Levels): Remove non-VMS
- alternatives.
- (Examples of gnatls Usage): Remove VMS alternative.
-
-2003-06-04 Olivier Hainque <hainque@act-europe.fr>
-
- PR ada/9953
- * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
- and turn ZCX_By_Default back to False since the underlying support
- is not quite there yet.
-
-2003-06-01 Andreas Jaeger <aj@suse.de>
-
- * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
- and ROUND_TYPE_SIZE_UNIT.
-
-2003-05-22 Geert Bosch <bosch@gnat.com>
-
- * gnat_rm.texi : Remove reference to Ada Core Technologies.
-
-2003-05-03 Nathan Sidwell <nathan@codesourcery.com>
-
- * trans.c (tree_transform): Use location_t and input_location
- directly.
- (build_unit_elab): Likewise.
- * utils.c (create_label_decl): Likewise.
-
-2003-05-01 Nathan Sidwell <nathan@codesourcery.com>
-
- * trans.c (tree_transform, build_unit_elab,
- set_lineno): Rename lineno to input_line.
- * utils.c (pushdecl, create_label_decl, begin_subprog_body,
- end_subprog_body): Likewise.
- * utils2.c (build_call_raise): Likewise.
-
-2003-05-01 Laurent Guerby <guerby@acm.org>
-
- PR ada/10546
- * 5iosinte.ads: Increase pthread_cond_t size to match recent
- LinuxThread and NPTL version, merge from ACT.
-
-2003-04-28 Zack Weinberg <zack@codesourcery.com>
-
- * utils.c (convert): No need to clear TREE_CST_RTL.
-
-2003-04-23 Geert Bosch <bosch@gnat.com>
-
- * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
- 1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
- 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
- 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
- 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
- 4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
- 4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
- 4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
- 4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
- 4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
- 4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
- 4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
- 52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
- 5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
- 5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
- 5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
- 5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
- 5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
- 5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
- 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
- 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
- 5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
- 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
- 5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
- 5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
- 5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
- 5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
- 5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
- 5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
- 5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
- 5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
- 5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
- 5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
- 5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
- 5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
- 5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
- 5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
- 5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
- 5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
- 5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
- 5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
- 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
- 5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
- 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
- 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
- 7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
- 7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
- 9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
- a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
- a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
- a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
- a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
- a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
- a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
- a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
- a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
- a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
- a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
- a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
- a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
- a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
- a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
- a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
- a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
- a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
- a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
- a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
- a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
- a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
- a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
- a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
- a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
- a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
- a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
- a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
- a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
- a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
- a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
- a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
- a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
- a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
- a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
- a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
- a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
- a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
- a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
- a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
- a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
- a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
- a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
- a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
- a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
- a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
- a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
- a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
- a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
- a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
- a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
- a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
- a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
- a-wttest.ads, ada-tree.h, ada.ads, ada.h,
- adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
- ali.adb, ali.ads, alloc.ads, argv.c,
- atree.adb, atree.ads, atree.h, aux-io.c,
- back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
- binde.adb, binde.ads, binderr.adb, binderr.ads,
- bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
- butil.adb, butil.ads, cal.c, calendar.ads,
- casing.adb, casing.ads, ceinfo.adb, checks.adb,
- checks.ads, cio.c, comperr.adb, comperr.ads,
- config-lang.in, csets.adb, csets.ads, csinfo.adb,
- cstand.adb, cstand.ads, cuintp.c, debug.adb,
- debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
- dec-io.ads, dec.ads, deftarg.c, directio.ads,
- einfo.adb, einfo.ads, elists.adb, elists.ads,
- elists.h, errno.c, errout.adb, errout.ads,
- eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
- exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
- exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
- exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
- exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
- exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
- exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
- exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
- exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
- exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
- exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
- exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
- exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
- exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
- exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
- fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
- fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
- freeze.adb, freeze.ads, frontend.adb, frontend.ads,
- g-awk.adb, g-awk.ads, 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-comlin.ads,
- g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
- g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
- g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
- g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
- g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.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-md5.adb,
- g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
- g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
- g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
- g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
- g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
- g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
- g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
- g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
- g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
- get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
- gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
- gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
- gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
- gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
- gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
- gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
- gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
- hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
- i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
- i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
- i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
- i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
- i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
- i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
- inline.adb, inline.ads, interfac.ads, ioexcept.ads,
- itypes.adb, itypes.ads, krunch.adb, krunch.ads,
- layout.adb, layout.ads, lib-list.adb, lib-load.adb,
- lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
- lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
- lib.adb, lib.ads, live.adb, live.ads,
- machcode.ads, make.adb, make.ads, makeusg.adb,
- makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
- mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
- memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
- mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
- mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
- mlib.ads, namet.adb, namet.ads, nlists.adb,
- nlists.ads, opt.adb, opt.ads, osint-b.adb,
- osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
- osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
- osint.ads, output.adb, output.ads, par-ch10.adb,
- par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
- par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
- par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
- par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
- par-tchk.adb, par-util.adb, par.adb, par.ads,
- prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
- prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
- prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
- prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
- prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
- prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
- prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
- prj.adb, prj.ads, repinfo.adb, repinfo.ads,
- restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
- rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
- s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
- s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
- s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
- s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
- s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
- s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
- s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
- s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
- s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
- s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
- s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
- s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
- s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
- s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
- s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
- s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
- s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
- s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
- s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
- s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
- s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
- s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
- s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
- s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
- s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
- s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
- s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
- s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
- s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
- s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
- s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
- s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
- s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
- s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
- s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
- s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
- s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
- s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
- s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
- s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
- s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
- s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
- s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
- s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
- s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
- s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
- s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
- s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
- s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
- s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
- s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
- s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
- s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
- s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
- s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
- s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
- s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
- s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
- s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
- s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
- s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
- s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
- s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
- s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
- s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
- s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
- s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
- s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
- s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
- s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
- s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
- s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
- s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
- s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
- s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
- s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
- s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
- s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
- s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
- s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
- s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
- s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
- s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
- s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
- s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
- s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
- s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
- s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
- s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
- s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
- s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
- s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
- s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
- scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
- sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
- sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
- sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
- sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
- sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
- sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
- sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
- sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
- sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
- sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
- sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
- sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
- sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
- sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
- sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
- sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
- sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
- sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
- sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
- sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
- snames.ads, sprint.adb, sprint.ads, stand.adb,
- stand.ads, stringt.adb, stringt.ads, style.adb,
- style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
- switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
- switch-m.ads, switch.adb, switch.ads, system.ads,
- table.adb, table.ads, targparm.adb, targparm.ads,
- tbuild.adb, tbuild.ads, text_io.ads, trans.c,
- tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
- tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
- ttypef.ads, ttypes.ads, types.adb, types.ads,
- uintp.adb, uintp.ads, uname.adb, uname.ads,
- unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
- usage.adb, usage.ads, validsw.adb, validsw.ads,
- widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
- xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
- xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
- formatting and other trivial changes from ACT.
-
-2003-04-12 Zack Weinberg <zack@codesourcery.com>
-
- * gigi.h, utils2.c (build_constructor):
- Rename gnat_build_constructor. Use build_constructor.
- * decl.c (gnat_to_gnu_entity)
- * trans.c (tree_transform, pos_to_constructor, extract_values)
- * ada/utils.c (build_template, convert_to_fat_pointer, convert)
- (unchecked_convert)
- * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
- (fill_vms_descriptor):
- Update to match.
-
-2003-04-06 Zack Weinberg <zack@codesourcery.com>
-
- * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
- * misc.c (gnat_tree_size): New function.
- (LANG_HOOKS_TREE_SIZE): Override.
-
-2003-04-03 Jason Merrill <jason@redhat.com>
-
- * misc.c (gnat_adjust_rli): #if 0.
-
-2003-03-31 Geert Bosch <bosch@gnat.com>
-
- PR ada/10020
- * link.c : Fix misspelled "const" keyword
-
-2003-03-23 Mark Mitchell <mark@codesourcery.com>
-
- PR c++/7086
- * utils2.c: Adjust calls to put_var_into_stack.
-
-2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
-
- * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
-
-2003-03-08 Neil Booth <neil@daikokuya.co.uk>
-
- * misc.c (gnat_init): Update for new prototype.
-
-2003-03-05 Olivier Hainque <hainque@gnat.com>
-
- ada/9961
- * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
- warning, and fix return type for the IN_RTS && !SJLJ case.
-
-2003-03-04 Tom Tromey <tromey@redhat.com>
-
- * Make-lang.in (ada.tags): New target.
-
-2003-03-04 Olivier Hainque <hainque@act-europe.fr>
-
- ada/9911
- * a-except.adb (Unwind_RaiseException): Import a GNAT specific
- wrapper, which name remains constant whatever underlying GCC
- scheme.
-
- * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
- the stable interface needed for a-except.
-
-2003-03-02 Andreas Jaeger <aj@suse.de>
-
- * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
- gnat_ug_wnt.texi: Regenerate.
-
-2003-03-02 Laurent Guerby <guerby@acm.org>
-
- * Makefile.in (install-gnatlib): Match previous change there
- so it works.
-
-2003-02-28 Andreas Schwab <schwab@suse.de>
-
- * Make-lang.in (install-gnatlib): Change to ada directory before
- running make instead of using ada/Makefile directly.
-
-2003-02-18 Ben Elliston <bje@redhat.com>
-
- Part of PR ada/9406
- * gnat_ug.texi (Binder output file): Grammar fix.
-
-2003-02-18 Ben Elliston <bje@redhat.com>
-
- PR other/7350
- * 5qtaprop.adb (Sleep): Fix typo in comment.
-
-2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
-
- * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
- * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
- gnat_ug_wnt.texi: Regenerate.
-
-2003-02-03 Christian Cornelssen <ccorn@cs.tu-berlin.de>
-
- * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
- be created if necessary.
- (ada.install-common): Let $(DESTDIR)$(bindir) be created
- if necessary. Remove erroneous and redundant gnatchop
- installation commands. Test for gnatdll before attempting
- to install it.
- (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
- and gnatdll from all plausible locations.
-
-2003-02-01 Richard Sandiford <rsandifo@redhat.com>
-
- * utils2.c (build_unary_op): Don't check flag_volatile.
- * gnat_ug.texi: Remove -fvolatile from example.
- * gnat_ug_vxw.texi: Likewise.
-
-2003-01-29 Laurent Guerby <guerby@acm.org>
-
- PR ada/8344
- * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
- * Makefile.in: match previous change.
- * Make-lang.in: match previous change.
-
-2003-01-29 Joel Sherrill <joel@OARcorp.com>
-
- * 5rosinte.ads: Add SIGXCPU.
- * 5rtpopsp.adb: New file.
- * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
- * Makefile.in: Recognize more RTEMS targets and add the RTEMS
- specific file 5rtpopsp.adb.
- * adaint.h: Add include of <stdio.h> when target is RTEMS. This
- is likely needed for all newlib targets.
- * init.c: Add RTEMS specific version of __gnat_initialize().
-
-2003-01-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
-
-2003-01-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * init.c (__gnat_error_handler): Make msg const.
-
- * gmem.c (convert_addresses): Move declaration ...
- * adaint.h: ... here.
- * adaint.c (convert_addresses): Adapt addrs type to match
- prototype.
-
- * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
-
-2003-01-24 Andreas Schwab <schwab@suse.de>
-
- * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
- size_t to avoid warning.
-
-2003-01-21 Zack Weinberg <zack@codesourcery.com>
-
- * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * gnat_rm.texi: Remove RCS version number.
-
- * ada-tree.h (union lang_tree_node): Add chain_next option.
-
-2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
-
- * Make-lang.in (ada.install-info, ada.install-common,
- ada.uninstall): Prepend $(DESTDIR) to the destination
- directory in all (un)installation commands.
- * Makefile.in (install-gnatlib, install-rts): Ditto.
-
-2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
-
- * gnat_rm.texi, gnat_ug.texi: Use @copying.
- * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
- gnat_ug_wnt.texi: Regenerate.
-
-2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
-
- * gnat_rm.texi: Include gcc-common.texi. Use GCC version number
- only.
- * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
- $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
- $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
- ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
- ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
- $(srcdir)/doc/include/gcc-common.texi.
-
-2002-12-15 Geert Bosch <bosch@gnat.com>
-
- * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
-
-2002-12-14 Geert Bosch <bosch@gnat.com>
-
- PR ada/5690
- * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
- case of a body created for a Renaming_As_Body, on which
- conformance checks are not performed.
-
-2002-11-30 Zack Weinberg <zack@codesourcery.com>
-
- * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
- utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
- not already included.
- * Make-lang.in: Update dependencies.
-
-2002-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
- * adaint.c (__gnat_tmp_name): Better, but good enough for now,
- solution to buffer overflow bug on GNU/Linux.
-
-2002-11-14 Nathanael Nerode <neroden@gcc.gnu.org>
-
- PR ada/5856
- PR ada/6919
- * bindgen.adb: Remove all references to Public_Version.
- * comperr.adb: Remove all references to Public_Version and
- GNATPRO_Version; correct bug reporting instructions.
- * comperr.ads: Change to match bug box.
- * gnatvsn.ads: Remove all references to Public version and
- GNATPRO version.
-
-2002-11-13 Nathanael Nerode <neroden@gcc.gnu.org>
-
- PR ada/6919
- * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
- GNU/Linux.
-
- PR ada/6558
- * config-lang.in: Remove diff_excludes.
-
-2002-11-05 Graham Stott <graham.stott@btinternet.com>
-
- PR ada/8358
- * trans.c (gnu_pending_elaboration_lists): New GC root.
- (build_unit_elab): Use..
-
-2002-10-30 Geert Bosch <bosch@gnat.com>
-
- PR ada/6558
- * misc.c : Include optabs.h
-
- * Make-lang.in (misc.o): Add dependency on optabs.h
-
-2002-10-29 Geert Bosch <bosch@gnat.com>
-
- PR ada/6558
- * Make-lang.in (gnatbind): Depend on CONFIG_H
-
-2002-10-29 Geert bosch <bosch@gnat.com>
-
- PR ada/6558
- * misc.c: Unrevert misc.c (1.13)
-
-2002-10-28 Nathanael Nerode <neroden@gcc.gnu.org>
-
- * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
- maintainership comments.
-
-2002-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
-
- PR ada/5904
- * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
- 5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
- 5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
- 7staprop.adb: Correct statements in comments about
- maintainership of GNAT.
-
- PR ada/5904
- * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
- gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
- osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
- osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
- s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
- s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
- sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
- switch-c.ads switch-m.adb switch-m.ads: Correct statements in
- comments about maintainership of GNAT.
-
- PR ada/6919 (forward port of patch for PR ada/5904)
- * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
- 4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
- 4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
- 4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
- 4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
- 4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
- 4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
- 52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
- 5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
- 5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
- 5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
- 5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
- 5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
- 5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
- 5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
- 5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
- 5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
- 5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
- 5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
- 5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
- 5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
- 5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
- 5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
- 5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
- 5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
- 5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
- 5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
- 5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
- 7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
- a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
- a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
- a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
- a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
- a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
- a-except.adb a-except.ads a-excpol.adb a-exctra.adb
- a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
- a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
- a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
- a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
- a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
- a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
- a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
- a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
- a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
- a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
- a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
- a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
- a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
- a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
- a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
- a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
- a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
- a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
- a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
- a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
- a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
- a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
- a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
- a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
- a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
- a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
- a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
- a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
- a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
- a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
- a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
- a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
- a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
- adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
- alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
- back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
- binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
- bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
- ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
- csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
- cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
- debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
- einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
- errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
- exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
- exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
- exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
- exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
- exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
- exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
- exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
- exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
- exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
- exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
- exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
- exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
- exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
- final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
- fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
- freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
- g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
- g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
- gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
- gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
- gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
- gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
- gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
- gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
- i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
- i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
- i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
- i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
- impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
- itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
- lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
- lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
- lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
- lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
- makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
- namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
- nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
- osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
- par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
- par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
- par-endh.adb par-labl.adb par-load.adb par-prag.adb
- par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
- prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
- prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
- prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
- prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
- prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
- prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
- repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
- rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
- s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
- s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
- s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
- s-direio.adb s-direio.ads s-except.ads s-exctab.adb
- s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
- s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
- s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
- s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
- s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
- s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
- s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
- s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
- s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
- s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
- s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
- s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
- s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
- s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
- s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
- s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
- s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
- s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
- s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
- s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
- s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
- s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
- s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
- s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
- s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
- s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
- s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
- s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
- s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
- s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
- s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
- s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
- s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
- s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
- s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
- s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
- s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
- s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
- s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
- s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
- s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
- s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
- s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
- s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
- s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
- s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
- s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
- s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
- s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
- s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
- s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
- s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
- s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
- s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
- s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
- s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
- s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
- s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
- s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
- s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
- s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
- s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
- s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
- s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
- s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
- s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
- s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
- s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
- s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
- s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
- s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
- s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
- s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
- s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
- s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
- s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
- s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
- s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
- scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
- sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
- sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
- sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
- sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
- sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
- sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
- sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
- sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
- sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
- sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
- sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
- sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
- sem_type.adb sem_type.ads sem_util.adb sem_util.ads
- sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
- sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
- sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
- sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
- snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
- stringt.ads stringt.h style.adb style.ads stylesw.adb
- stylesw.ads switch.adb switch.ads sysdep.c system.ads
- table.adb table.ads targparm.adb targparm.ads targtyps.c
- tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
- tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
- treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
- types.adb types.ads types.h uintp.adb uintp.ads uintp.h
- uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
- usage.ads utils.c utils2.c validsw.adb validsw.ads
- widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
- xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
- xtreeprs.adb: Correct statements in comments about maintainership
- of GNAT.
-
-2002-09-23 Zack Weinberg <zack@codesourcery.com>
-
- * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
- * Makefile.in (TOOLS_LIBS): Add ../../version.o.
- * gnatvsn.ads: Gnat_Version_String is now a function.
- * gnatvsn.adb: New file. When asked for Gnat_Version_String,
- copy the C version_string into a String and return it.
- * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
- gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
- Remove pragma Ident (Gnat_Version_String). If this was the
- sole use of package Gnatvsn, remove the with statement too.
- * gnat1drv.adb: Tweak -gnatv output.
-
-2002-09-17 Richard Henderson <rth@redhat.com>
-
- * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
- * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
- * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
- (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
- * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
- and real_2expN instead of a loop.
- * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
- (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
-
-2002-08-25 Andre Leis <a.leis@gmx.net>
- David Billinghurst <David.Billinghurst@riotinto.com>
-
- * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
-
-2002-08-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
- Remove $(CONFIG_H) dependency.
-
-2002-08-08 Nathan Sidwell <nathan@codesourcery.com>
-
- * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
-
-2002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * adadecode.c (ada_demangle): Use xstrdup in lieu of
- xmalloc/strcpy.
- * misc.c (gnat_decode_option): Likewise.
-
-2002-07-15 Florian Weimer <fw@deneb.enyo.de>
-
- * make.adb (Add_Switch): Make Generic_Position a procedure. The
- function approach did not work well because of a side effect (the
- function call could reallocate the table which was being indexed
- using its result). Fixes ada/4851. [RESURRECTED]
-
-2002-07-01 Roger Sayle <roger@eyesopen.com>
-
- * ada/utils.c (builtin_function): Accept an additional parameter.
-
-2002-06-28 Andreas Jaeger <aj@suse.de>
-
- PR ada/7144
- * Makefile.in: Fix typo in comment, patch by Adrian Knoth
- <adi@thur.de>.
-
-2002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (SHELL): Set to @SHELL@.
-
-2002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
- array size calculation.
-
-2002-06-04 Andreas Jaeger <aj@suse.de>
-
- * Make-lang.in (gnatbind): Readd rule that has been lost in last
- patch.
-
-2002-06-03 Geoffrey Keating <geoffk@redhat.com>
-
- Merge from pch-branch:
-
- * config-lang.in (gtfiles): Add ada-tree.h.
- * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
- (SET_TYPE_MODULUS): New.
- (SET_TYPE_INDEX): New.
- (SET_TYPE_DIGITS_VALUE): New.
- (SET_TYPE_RM_SIZE): New.
- (SET_TYPE_UNCONSTRAINED_ARRAY): New.
- (SET_TYPE_ADA_SIZE): New.
- (SET_TYPE_ACTUAL_BOUNDS): New.
- (SET_DECL_CONST_CORRESPONDING_VAR): New.
- (SET_DECL_ORIGINAL_FIELD): New.
- (TREE_LOOP_ID): Correct typo.
- * decl.c: Use new macros.
- * utils.c: Include debug.h, use new macros.
- * utils2.c: Use new macros.
-
- * ada-tree.h: Update all macros for new tree description.
- (struct tree_loop_id): New.
- (union lang_tree_node): New.
- (struct lang_decl): New.
- (struct lang_type): New.
- * misc.c (gnat_mark_tree): Delete.
- (LANG_HOOKS_MARK_TREE): Delete.
- * trans.c (tree_transform): No longer any need to cast
- for TREE_LOOP_ID.
-
- * utils.c (struct language_function): New dummy structure.
-
- * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
- (misc.o): Likewise.
- (utils.o): Likewise; also gtype-ada.h.
- * Make-lang.in (gnat1): Add dependency on s-gtype.
- (gnatbind): Add dependency on $(CONFIG_H).
- * utils.c: Correct last #include.
- (stuct e_stack): Remove unnecessary 'static'.
- (mark_e_stack): Remove unused prototype.
-
- * scn-nlit.adb: Remove whitespace after version number to
- keep lines under 80 chars.
- * snames.adb: Likewise.
- * treepr.ads: Likewise.
-
- * Makefile.in (decl.o): Include gt-ada-<filename>.h.
- (misc.o): Likewise.
- (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
- * config-lang.in (gtfiles): New.
- * decl.c: Use gengtype for roots.
- * gigi.h: Use gengtype for roots.
- * trans.c: Use gengtype for roots.
- * utils.c: Use gengtype for roots, marking. Include gtype-ada.h.
-
-2002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * misc.c (gnat_init): Adjust setting of internal_error_function.
-
-2002-06-01 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
- * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
- gnat_ug_wnt.texi: Regenerate.
-
-2002-05-31 Florian Weimer <fw@deneb.enyo.de>
-
- * 5ntaprop.adb (with System.OS_Primitives): Remove.
-
- * cstreams.c (max_path_len): Move from here ...
- * adaint.c (__gnat_max_path_len): ... to here.
- * adaint.c (__gnat_max_path_len): Declare.
- * g-dirope.adb (Max_Path): Adjust.
- * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
- * i-cstrea.ads (max_path_len): Adjust.
- * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
- * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
-
- * Makefile.in, Make-lang.in: Documentation is now built in
- Make-lang.in. Store Info and generated Texinfo files in the
- source directory.
- * gnat_ug.texi: Remove CVS keywords, correct version number.
- Set file name correctly.
-
- * gnat_ug_*.texi: Add.
- * .cvsignore: Ignore generated Texinfo files.
-
-2002-05-30 Zack Weinberg <zack@codesourcery.com>
-
- * ada.h: Add MI guard macro.
- (SUBTYPE): Define constants with an anonymous enum, not static
- const variables.
- (IN): Cast constants to appropriate type before use.
-
-2002-05-26 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
- (experimental)".
-
-2002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * Make-lang.in (CP, ECHO): Copy from Makefile.in.
- (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
- (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
- (ALL_ADA_CFLAGS): Likewise.
- (ADA_INCLUDES): Likewise.
- Adapt for new working dir.
- (GNATBIND): Use Makefile.in version.
- (.SUFFIXES): Copy from Makefile.in.
- (ada-warn): Define.
- (.adb.o, .ads.o): Copy from Makefile.in.
- Added $(OUTPUT_OPTION).
- (GNAT1_C_OBJS): Moved from Makefile.in.
- Prefix with ada subdir.
- (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
- (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
- Adapt for new working dir.
- (EXTRA_GNATBIND_OBJS): Likewise.
- (ADA_BACKEND): Moved from Makefile.in.
- Renamed to avoid conflict with global BACKEND.
- Use that one.
- (TARGET_ADA_SRCS): Moved from Makefile.in.
- (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
- Use ADA_BACKEND.
- (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
- (ada_extra_files): Moved from Makefile.in.
- Prefix with ada subdir.
- (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
- (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
- (ada/nmake.ads): Likewise.
- (update-sources): Moved from Makefile.in.
- Prefix with ada subdir.
- (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
- (ADA_TREE_H): Likewise.
- (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
- (ada/memtrack.o): Likewise.
- (ada/adadecode.o): Likewise.
- Update dependencies.
- (ada/adaint.o): New.
- (ada/argv.o): Moved from Makefile.in.
- Prefix with ada subdir.
- Update dependencies.
- (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
- (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
- (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
- Prefix with ada subdir.
- (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
- (GNAT DEPENDENCIES): Regenerate.
- * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
- toplevel Makefile.in.
- (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
- (TARGET_ADA_SRCS): Removed.
- (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
- (GNATBIND_OBJS): Likewise.
- (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
- (BACKEND): Removed.
- (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
- (TREE_H): Likewise.
- (ada_extra_files): Likewise.
- (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
- (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
- (update-sources): Likewise.
- (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
- (ADA_TREE_H): Likewise.
- (adadecoce.o): Likewise.
- (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
- (GNAT DEPENDENCIES): Likewise.
-
-2002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
- * Makefile.in: Likewise.
-
-2002-05-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
- Restore $(CONFIG_H) and prefix.o dependencies.
- (ada.stage[1-4]): Depend on stage?-start.
-
- * Makefile.in (b_gnatb.c): Depend on interfac.o.
-
-2002-05-02 Jim Wilson <wilson@redhat.com>
-
- * utils.c (finish_record_type): Change record_size to record_type.
-
-2001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
- (ALL_ADA_CFLAGS): Define. Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
- ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
-
-2002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * misc.c (gnat_parse_file): Update.
-
-2002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * misc.c (gnat_init): Don't set lang_attribute_common.
-
-2002-04-21 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
-
-2002-04-21 Florian Weimer <fw@deneb.enyo.de>
-
- * gnat_ug.texi: New file.
-
- * gnat_rm.texi: Do not include texiplus.texi. Include fdl.texi
- instead of gfdl.texi
-
- * xgnatug.adb, ug_words: New files.
-
- * Makefile.in (doc, dvi): New targets. Build gnat_ug_*,
- gnat_rm and gnat-style manuals.
-
-2002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * gigi.h (incomplete_type_error): Remove.
- * utils.c (incomplete_type_error): Remove.
-
-2002-04-16 Mark Mitchell <mark@codesourcery.com>
-
- * trans.c (tree_transform): Add has_scope argument to
- expand_start_stmt_expr.
-
-2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * gigi.h (truthvalue_conversion): Rename.
- * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
- * trans.c (tree_transform): Update.
- * utils2.c (truthvalue_conversion): Rename, update.
- (build_binary_op, build_unary_op): Update.
-
-2002-04-04 Laurent Guerby <guerby@acm.org>
-
- * make.adb: Implement -margs, remove restriction about file name placement.
- * makeusg.adb: Documentation update.
- * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
- * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
-
-2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
- (builtin_function): Similarly.
-
-2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * decl.c (gnat_to_gnu_entity): Update.
- * gigi.h (mark_addressable): Rename.
- * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
- * trans.c (tree_transform): Update.
- * utils.c (create_var_decl): Update.
- * util2.c (build_binary_op, build_unary_op,
- fill_vms_descriptor): Update.
- (mark_addressable): Rename, update.
-
-2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
- Rename.
- * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
- LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
- * trans.c (tree_transform, convert_with_check): Update.
- * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
- Rename.
-
-2002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * gigi.h (finish_incomplete_decl): Rename.
- * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
- * utils.c (gnat_init_decl_processing): Don't set hook.
- (finish_incomplete_decl): Rename.
-
-2002-03-29 Andreas Schwab <schwab@suse.de>
-
- * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
- directory.
-
-2001-03-28 Robert Dewar <dewar@gnat.com>
-
- * checks.ads:
- (Remove_Checks): New procedure
-
- * checks.adb:
- (Remove_Checks): New procedure
-
- * exp_util.adb:
- Use new Duplicate_Subexpr functions
- (Duplicate_Subexpr_No_Checks): New procedure
- (Duplicate_Subexpr_No_Checks_Orig): New procedure
- (Duplicate_Subexpr): Restore original form (checks duplicated)
- (Duplicate_Subexpr): Call Remove_Checks
-
- * exp_util.ads:
- (Duplicate_Subexpr_No_Checks): New procedure
- (Duplicate_Subexpr_No_Checks_Orig): New procedure
- Add 2002 to copyright notice
-
- * sem_util.adb: Use new Duplicate_Subexpr functions
-
- * sem_eval.adb:
- (Eval_Indexed_Component): This is the place to call
- Constant_Array_Ref and to replace the value. We simply merge
- the code of this function in here, since it is now no longer
- used elsewhere. This fixes the problem of the back end not
- realizing we were clever enough to see that this was
- constant.
- (Expr_Val): Remove call to Constant_Array_Ref
- (Expr_Rep_Val): Remove call to Constant_Array_Ref
- Minor reformatting
- (Constant_Array_Ref): Deal with string literals (patch
- suggested by Zack Weinberg on the gcc list)
-
-2001-03-28 Ed Schonberg <schonber@gnat.com>
-
- * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
- Duplicate_Subexpr_Move_Checks.
-
- * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
- Duplicate_Subexpr_Move_Checks.
-
- * sem_eval.adb: (Constant_Array_Ref): Verify that constant
- value of array exists before retrieving it (it may a private
- protected component in a function).
-
-2002-03-28 Geert Bosch <bosch@gnat.com>
-
- * prj-pp.adb : New file.
-
- * prj-pp.ads : New file.
-
-2002-03-28 Andreas Jaeger <aj@suse.de>
-
- * Makefile.in (stamp-sdefault): Fix path for Makefile.
-
-2002-03-28 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * misc.c (gnat_expand_expr): Move prototype.
-
-2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * misc.c (insert_default_attributes): Remove.
-
-2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
- (gnat_init): Don't set hook.
- (gnat_expand_expr): Fix prototype.
-
-2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * misc.c (ggc_p): Remove.
-
-2002-03-27 Geert Bosch <bosch@gnat.com>
-
- * prj-makr.ads, prj-makr.adb : New files.
-
-2002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
- (lang_mark_tree): Make static, rename.
-
-2002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * misc.c (maybe_build_cleanup): Remove.
-
-2002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * gigi.h (yyparse): Remove.
-
-2002-03-23 Florian Weimer <fw@deneb.enyo.de>
-
- From Ben Brosgol <brosgol@gnat.com>
- * gnat_rm.texi: Sync with ACT version.
-
-2002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
- (gnat_init): Remove old hook.
-
-2002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
- (yyparse): Rename gnat_parse_file.
-
-2002-03-14 Geoffrey Keating <geoffk@redhat.com>
-
- Delete all lines containing "$Revision:".
- * xeinfo.adb: Don't look for revision numbers.
- * xnmake.adb: Likewise.
- * xsinfo.adb: Likewise.
- * xsnames.adb: Likewise.
- * xtreeprs.adb: Likewise.
-
-2002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * misc.c (gnat_tree_code_type, gnat_tree_code_length,
- gnat_tree_code_name): Delete.
- (tree_code_type, tree_code_length, tree_code_name): Define.
- (gnat_init): Don't try to copy into the various tree_code
- arrays.
-
-2002-03-11 Richard Henderson <rth@redhat.com>
-
- * Makefile.in (.NOTPARALLEL): Add fake tag.
-
-2002-03-07 Geert Bosch <bosch@gnat.com>
-
- * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
- s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
- switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
- switch-m.adb, switch-m.ads : New files.
-
-2002-03-07 Geert Bosch <bosch@gnat.com>
-
- * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
- 4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
- 4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
- 4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
- 5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
- 5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
- 5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
- 5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
- 5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
- 5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
- 5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
- 5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
- 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
- 5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
- 5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
- 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
- 5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
- 5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
- 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
- 5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
- 7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
- Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
- a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
- a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
- a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
- a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
- a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
- a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
- a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
- adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
- atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
- bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
- csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
- einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
- eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
- exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
- exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
- exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
- exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
- exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
- expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
- freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
- g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
- g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
- g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
- g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
- g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
- g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
- gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
- gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
- gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
- i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
- impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
- lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
- lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
- memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
- mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
- nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
- output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
- par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
- prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
- prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
- prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
- rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
- s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
- s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
- s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
- s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
- s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
- s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
- s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
- s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
- s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
- s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
- s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
- s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
- s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
- s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
- s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
- sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
- sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
- sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
- sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
- sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
- sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
- sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
- sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
- sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
- sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
- snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
- stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
- table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
- tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
- treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
- types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
- utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
- xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
-
- * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
- g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
- mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
- osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
-
- * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
- 5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
-
- * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
- to mdll-fil.ad[bs] and mdll-util.ad[bs]
-
- * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
- from mdllfile.ad[bs] and mdlltool.ad[bs]
-
-2002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
- lieu of explicit sizeof/sizeof.
-
-2002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * misc.c (copy_lang_decl): Remove.
-
-2002-02-27 Zack Weinberg <zack@codesourcery.com>
-
- * misc.c: Delete traditional-mode-related code copied from the
- C front end but not used, or used only to permit the compiler
- to link.
-
-2002-02-07 Richard Henderson <rth@redhat.com>
-
- * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
- * adaint.h (__gnat_to_gm_time): Update prototype.
-
-2002-01-30 Richard Henderson <rth@redhat.com>
-
- * trans.c (tree_transform) [N_Loop_Statement]: Use
- expand_exit_loop_top_cond.
-
-2001-12-23 Richard Henderson <rth@redhat.com>
-
- * utils.c (end_subprog_body): Push GC context around
- rest_of_compilation for nested functions.
-
-2001-12-23 Richard Henderson <rth@redhat.com>
-
- * 5nosinte.ads: Get definition of "int" from Interfaces.C.
-
-2001-12-23 Florian Weimer <fw@deneb.enyo.de>
-
- * gnat-style.texi (Declarations and Types): Remove ancient style
- rule which was mandated by code generation issues.
-
- * gnat-style.texi (header): Add @dircategory, @direntry.
- (title page): Remove date.
- (general) Add @./@: where approriate, and two spaces after the
- full stop at the end of a sentence. Use @samp markup when
- referring concrete lexical entities (keywords, attribute names
- etc.), and @syntax for ARM grammar elements. Use @r for English
- text in comments. Use @emph for emphasis. Change "if-statements"
- etc. to "if statements" (without @samp). Break long lines. Make
- casing of section names consistent.
- (Identifiers): Use @samp markup for variable names.
- (Comments): Use @samp markup for comment characters. Line-end
- comments may follow any Ada code, not just statements. Fix
- misspelling of "Integer" as "integer".
- (Loop statements): Do not use variable name "I", use "J".
- (Subprogram Declarations): Document alignment.
- (Subprogram Bodies, Block statements): Document empty line before
- "begin".
-
-2001-12-22 Florian Weimer <fw@deneb.enyo.de>
-
- * make.adb (Add_Switch): Make Generic_Position a procedure. The
- function approach did not work well because of a side effect (the
- function call could reallocate the table which was being indexed
- using its result). Fixes ada/4851.
-
-2001-12-19 Robert Dewar <dewar@gnat.com>
-
- * bindgen.adb: Minor reformatting
-
- * cstand.adb: Minor reformatting
-
- * fmap.adb: Minor reformatting
- Change name from Add for Add_To_File_Map (Add is much too generic)
- Change Path_Name_Of to Mapped_Path_Name
- Change File_Name_Of to Mapped_File_Name
- Fix copyright dates in header
-
- * fmap.ads:
- Change name from Add for Add_To_File_Map (Add is much too generic)
- Change Path_Name_Of to Mapped_Path_Name
- Change File_Name_Of to Mapped_File_Name
- Fix copyright dates in header
-
- * fname-uf.adb: Minor reformatting. New names of stuff in Fmap.
- Add use clause for Fmap.
-
- * make.adb: Minor reformatting
-
- * osint.adb: Minor reformatting. Change of names in Fmap.
- Add use clause for Fmap.
-
- * prj-env.adb: Minor reformatting
-
- * prj-env.ads: Minor reformatting
-
- * switch.adb: Minor reformatting. Do proper raise of Bad_Switch if
- error found (there were odd exceptions to this general rule in
- -gnatec/-gnatem processing)
-
-2001-12-19 Olivier Hainque <hainque@gnat.com>
-
- * raise.c (__gnat_eh_personality): Exception handling personality
- routine for Ada. Still in rough state, inspired from the C++ version
- and still containing a bunch of debugging artifacts.
- (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
- inspired from the C++ library.
-
- * raise.c (eh_personality): Add comments. Part of work for the GCC 3
- exception handling integration.
-
-2001-12-19 Arnaud Charlet <charlet@gnat.com>
-
- * Makefile.in: Remove use of 5smastop.adb which is obsolete.
- (HIE_SOURCES): Add s-secsta.ad{s,b}.
- (HIE_OBJS): Add s-fat*.o
- (RAVEN_SOURCES): Remove files that are no longer required. Add
- interrupt handling files.
- (RAVEN_MOD): Removed, no longer needed.
-
-2001-12-19 Robert Dewar <dewar@gnat.com>
-
- * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
- Add 2001 to copyright date
-
- * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
- need to force universal inlining for these cases.
-
-2001-12-19 Arnaud Charlet <charlet@gnat.com>
-
- * s-taprob.adb: Minor clean ups so that this unit can be used in
- Ravenscar HI.
-
- * exp_ch7.adb: Allow use of secondary stack in HI mode.
- Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
-
-2001-12-19 Vincent Celier <celier@gnat.com>
-
- * prj-tree.ads (Project_Node_Record): Add comments for components
- Pkg_Id and Case_Insensitive.
-
-2001-12-19 Pascal Obry <obry@gnat.com>
-
- * g-socket.adb: Minor reformatting. Found while reading code.
-
-2001-12-19 Robert Dewar <dewar@gnat.com>
-
- * prj-tree.ads: Minor reformatting
-
-2001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * config-lang.in (diff_excludes): Remove.
-
-2001-12-17 Ed Schonberg <schonber@gnat.com>
-
- * sem_res.adb (Resolve_Selected_Component): do not generate a
- discriminant check if the selected component is a component of
- the argument of an initialization procedure.
-
- * trans.c (tree_transform, case of arithmetic operators): If result
- type is private, the gnu_type is the base type of the full view,
- given that the full view itself may be a subtype.
-
-2001-12-17 Robert Dewar <dewar@gnat.com>
-
- * sem_res.adb: Minor reformatting
-
- * trans.c (tree_transform, case N_Real_Literal): Add missing third
- parameter in call to Machine (unknown horrible effects from this
- omission).
-
- * urealp.h: Add definition of Round_Even for call to Machine
- Add third parameter for Machine
-
-2001-12-17 Ed Schonberg <schonber@gnat.com>
-
- * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
- predefined units in No_Run_Time mode.
-
-2001-12-17 Richard Kenner <kenner@gnat.com>
-
- * misc.c (insn-codes.h): Now include.
-
-2001-12-17 Olivier Hainque <hainque@gnat.com>
-
- * a-except.adb: Preparation work for future integration of the GCC 3
- exception handling mechanism
- (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
- to factorize previous code sequences and make them externally callable,
- e.g. for the Ada personality routine when the GCC 3 mechanism is used.
- (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
- Use the new notification routines.
-
-2001-12-17 Emmanuel Briot <briot@gnat.com>
-
- * prj-tree.ads (First_Choice_Of): Document the when others case
-
-2001-12-17 Arnaud Charlet <charlet@gnat.com>
-
- * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
- HI-E mode, in order to support Ravenscar profile properly.
-
- * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
- mode on 32 bits targets.
-
-2001-12-17 Vincent Celier <celier@gnat.com>
-
- * fmap.adb: Initial version.
-
- * fmap.ads: Initial version.
-
- * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
- If search is successfully done, add to mapping.
-
- * frontend.adb: Initialize the mapping if a -gnatem switch was used.
-
- * make.adb:
- (Gnatmake): Add new local variable Mapping_File_Name.
- Create mapping file when using project file(s).
- Delete mapping file before exiting.
-
- * opt.ads (Mapping_File_Name): New variable
-
- * osint.adb (Find_File): Use path name found in mapping, if any.
-
- * prj-env.adb (Create_Mapping_File): New procedure
-
- * prj-env.ads (Create_Mapping_File): New procedure.
-
- * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
- (Mapping_File)
-
- * usage.adb: Add entry for new switch -gnatem.
-
- * Makefile.in: Add dependencies for fmap.o.
-
-2001-12-17 Ed Schonberg <schonber@gnat.com>
-
- * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
- is a package instantiation rewritten as a package body.
- (Install_Withed_Unit): Undo previous change, now redundant.
-
-2001-12-17 Gary Dismuke <dismukes@gnat.com>
-
- * layout.adb:
- (Compute_Length): Move conversion to Unsigned to callers.
- (Get_Max_Size): Convert Len expression to Unsigned after calls to
- Compute_Length and Determine_Range.
- (Layout_Array_Type): Convert Len expression to Unsigned after calls to
- Compute_Length and Determine_Range.
- Above changes fix problem with length computation for supernull arrays
- where Max (Len, 0) wasn't getting applied due to the Unsigned
- conversion used by Compute_Length.
-
-2001-12-17 Arnaud Charlet <charlet@gnat.com>
-
- * rtsfind.ads:
- (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
- System.Secondary_Stack.
- (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
- in HI-E mode.
- Remove unused entity RE_Exception_Data.
-
- * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
-
- * rident.ads (No_Secondary_Stack): New restriction.
-
-2001-12-17 Joel Brobecker <brobecke@gnat.com>
-
- * gnat_rm.texi: Fix minor typos. Found while reading the section
- regarding "Bit_Order Clauses" that was sent to a customer.
- Very interesting documentation!
-
-2001-12-17 Robert Dewar <dewar@gnat.com>
-
- * sem_case.adb (Choice_Image): Avoid creating improper character
- literal names by using the routine Set_Character_Literal_Name. This
- fixes bombs in certain error message cases.
-
-2001-12-17 Arnaud Charlet <charlet@gnat.com>
-
- * a-reatim.adb: Minor reformatting.
-
-2001-12-17 Ed Schonberg <schonber@gnat.com>
-
- * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
- case where the formal is an extension of another formal in the current
- unit or in a parent generic unit.
-
-2001-12-17 Arnaud Charlet <charlet@gnat.com>
-
- * s-tposen.adb: Update comments. Minor reformatting.
- Minor code clean up.
-
- * s-tarest.adb: Update comments. Minor code reorganization.
-
-2001-12-17 Gary Dismukes <dismukes@gnat.com>
-
- * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
- when Java_VM.
-
-2001-12-17 Robert Dewa <dewar@gnat.com>
-
- * exp_attr.adb: Minor reformatting
-
-2001-12-17 Ed Schonberg <schonber@gnat.com>
-
- * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
- derivations nested within a child unit: verify that the parent
- type is declared in an outer scope.
-
-2001-12-17 Robert Dewar <dewar@gnat.com>
-
- * sem_ch12.adb: Minor reformatting
-
-2001-12-17 Ed Schonberg <schonber@gnat.com>
-
- * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
- warning if current unit is a predefined one, from which bodies may
- have been deleted.
-
-2001-12-17 Robert Dewar <dewar@gnat.com>
-
- * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
- Fix header format. Add 2001 to copyright date.
-
- * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
- which caused CE during compilation if checks were enabled.
-
-2001-12-17 Vincent Celier <celier@gnat.com>
-
- * make.adb:
- (Switches_Of): New function
- (Test_If_Relative_Path): New procedure
- (Add_Switches): Use new function Switches_Of
- (Collect_Arguments_And_Compile): Use new function Switches_Of.
- When using a project file, test if there are any relative
- search path. Fail if there are any.
- (Gnatmake): Only add switches for the primary directory when not using
- a project file. When using a project file, change directory to the
- object directory of the main project file. When using a project file,
- test if there are any relative search path. Fail if there are any.
- When using a project file, fail if specified executable is relative
- path with directory information, and prepend executable, if not
- specified as an absolute path, with the exec directory. Make sure
- that only one -o switch is transmitted to the linker.
-
- * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
-
- * prj-nmsc.adb:
- (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
- when using a non standard naming scheme.
- (Check_Ada_Naming_Scheme): Make sure that error messages
- do not raise exceptions.
- (Is_Illegal_Append): Return True if there is no dot in the suffix.
- (Language_Independent_Check): Check the exec directory.
-
- * prj.adb (Project_Empty): Add new component Exec_Directory
-
- * prj.ads:
- (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
- (Project_Data): Add component Exec_Directory
-
- * snames.adb: Updated to match snames.ads revision 1.215
-
- * snames.ads: Added Exec_Dir
-
-2001-12-17 Robert Dewar <dewar@gnat.com>
-
- * make.adb: Minor reformatting
-
- * prj-nmsc.adb: Minor reformatting
-
- * snames.adb: Updated to match snames.ads
-
- * snames.ads: Alphebetize entries for project file
-
-2001-12-17 Ed Schonberg <schonber@gnat.com>
-
- * trans.c (process_freeze_entity): Do nothing if the entity is a
- subprogram that was already elaborated.
-
-2001-12-17 Richard Kenner <kenner@gnat.com>
-
- * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
- and Esize if object is referenced via pointer.
-
-2001-12-17 Ed Schonberg <schonber@gnat.com>
-
- * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
- is discrete before analyzing choices.
-
-2001-12-17 Joel Brobecker <brobecke@gnat.com>
-
- * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
- containing the name of the Ada Main Program. This string is mainly
- intended for the debugger.
- (Gen_Output_File_C): Do the equivalent change when generating a C file.
-
-2001-12-17 Robert Dewar <dewar@gnat.com>
-
- * ali.adb: Set new Dummy_Entry field in dependency entry
-
- * ali.ads: Add Dummy_Entry field to source dependency table
-
- * bcheck.adb (Check_Consistency): Ignore dummy D lines
-
- * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
-
- * lib-writ.ads: Document dummy D lines for missing files.
-
- * types.ads: (Dummy_Time_Stamp): New value for non-existant files
-
-2001-12-17 Robert Dewar <dewar@gnat.com>
-
- * ali.adb: Type reference does not reset current file.
-
- * ali.adb: Recognize and scan renaming reference
-
- * ali.ads: Add spec for storing renaming references.
-
- * lib-xref.ads: Add documentation for handling of renaming references
-
- * lib-xref.adb: Implement output of renaming reference.
-
- * checks.adb:
- (Determine_Range): Document local variables
- (Determine_Range): Make sure Hbound is initialized. It looks as though
- there could be a real problem here with an uninitialized reference
- to Hbound, but no actual example of failure has been found.
-
-2001-12-17 Laurent Pautet <pautet@gnat.com>
-
- * g-socket.ads:
- Fix comment of Shutdown_Socket and Close_Socket. These functions
- should not fail silently because if they are called twice, this
- probably means that there is a race condition in the user program.
- Anyway, this behaviour is consistent with the rest of this unit.
- When an error occurs, an exception is raised with the error message
- as exception message.
-
-2001-12-17 Robert Dewar <dewar@gnat.com>
-
- * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
- that it happens before modification of Sloc values for -gnatD.
-
- * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
- so that it happens before modification of Sloc values for -gnatD.
-
- * switch.adb: Minor reformatting
-
-2001-12-15 Richard Henderson <rth@redhat.com>
-
- * sem_ch7.adb: Wrap comment.
-
-2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
- 5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
- 5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
- 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
- 5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
- 7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
- a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
- a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
- cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
- exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
- exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
- g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
- gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
- make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
- par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
- repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
- s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
- s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
- s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
- s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
- sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
- sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
- sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
- sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
- spelling errors.
-
-2001-12-14 Vincent Celier <celier@gnat.com>
-
- * osint.adb(Create_Debug_File): When an object file is specified,
- put the .dg file in the same directory as the object file.
-
-2001-12-14 Robert Dewar <dewar@gnat.com>
-
- * osint.adb: Minor reformatting
-
- * lib-xref.adb (Output_Instantiation): New procedure to generate
- instantiation references.
-
- * lib-xref.ads: Add documentation of handling of generic references.
-
- * ali.adb (Read_Instantiation_Ref): New procedure to read
- instantiation references
-
- * ali.ads: Add spec for storing instantiation references
-
- * bindusg.adb: Minor reformatting
-
- * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
-
- * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
-
- * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
-
- * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
-
- * csets.ads:
- Fix header format
- Add 2001 to copyright date
- Add entry for Latin-5 (Cyrillic ISO-8859-5)
-
-2001-12-14 Matt Gingell <gingell@gnat.com>
-
- * adaint.c: mktemp is a macro on Lynx and can not be used as an
- expression.
-
-2001-12-14 Richard Kenner <kenner@gnat.com>
-
- * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
- if operand is CONSTRUCTOR.
-
-2001-12-14 Ed Schonberg <schonber@gnat.com>
-
- * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
- before emiting check on right-hand side, so that exception information
- is correct.
-
-2001-12-14 Richard Kenner <kenner@gnat.com>
-
- * utils.c (create_var_decl): Throw away initializing expression
- if just annotating types and non-constant.
-
-2001-12-14 Vincent Celier <celier@gnat.com>
-
- * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
- Default_Ada_...
-
- * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
- Remove functions.
- (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
-
- * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
- Remove functions.
- (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
-
-2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * ChangeLog: Remove piece of diff output.
-
-2001-12-14 Geert Bosch <bosch@gnat.com>
-
- * config-lang.in: Update copyright notice
-
- * layout.adb: Remove commented out code.
-
- * mdllfile.ads: Update copyright notice. Fix header format.
-
- * sem_case.ads: Likewise.
-
- * sem_ch3.adb: Minor reformatting.
-
-2001-12-12 Geert Bosch <bosch@gnat.com>
-
- * freeze.ads: Update copyright date.
-
- * g-comlin.ads: Minor reformatting.
-
- * gnat-style.texi: Fix typo.
-
-2001-12-12 Geert Bosch <bosch@gnat.com>
-
- * einfo.h: Regenerate.
-
-2001-12-12 Ed Schonberg <schonber@gnat.com>
-
- * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
- on known node types, rather than untyped fields. Further cleanups.
-
-2001-12-12 Robert Dewar <dewar@gnat.com>
-
- * sem_ch12.adb:
- (Save_Entity_Descendant): Minor comment update.
- (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
- of an N_Attribute_Reference node. As per note below, this does not
- eliminate need for Associated_Node in attribute ref nodes.
- (Associated_Node): Documentation explicitly mentions attribute
- reference nodes, since this field is used in such nodes.
-
- * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
-
-2001-12-12 Robert Dewar <dewar@gnat.com>
-
- * s-stalib.adb: Add more comments on with statements being needed
-
- * par-ch12.adb: Minor reformatting
-
- * prj-dect.ads: Fix copyright header
-
- * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
- inputs fit in 32 bits, but the result still overflows.
-
- * s-fatgen.ads: Minor comment improvement
-
-2001-12-12 Ed Schonberg <schonber@gnat.com>
-
- * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
- formal derived type, look for an inherited component from the full
- view of the parent, if any.
-
-2001-12-12 Robert Dewar <dewar@gnat.com>
-
- * checks.ads (Apply_Alignment_Check): New procedure.
-
- * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
- ensure that the alignment of objects with address clauses is
- appropriate, and raise PE if not.
-
- * exp_util.ads (Must_Be_Aligned): Removed, replaced by
- Exp_Pakd.Known_Aligned_Enough
-
- * mdllfile.ads: Minor reformatting
-
- * mlib-fil.ads: Minor reformatting
-
-2001-12-12 Ed Schonberg <schonber@gnat.com>
-
- * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
- fix to any component reference if enclosing record has non-standard
- representation.
-
-2001-12-12 Vincent Celier <celier@gnat.com>
-
- * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
- Iteration
-
-2001-12-12 Ed Schonberg <schonber@gnat.com>
-
- * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
- sem_attr.
-
-2001-12-12 Robert Dewar <dewar@gnat.com>
-
- * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
-
-2001-12-12 Emmanuel Briot <briot@gnat.com>
-
- * g-regexp.adb: Remove all debug code, since it isn't required anymore,
- and it adds dependencies to system.io.
-
-2001-12-12 Pascal Obry <obry@gnat.com>
-
- * g-dirope.adb (Expand_Path.Var): Correctly detect end of
- variable name.
-
-2001-12-11 Ed Schonberg <schonber@gnat.com>
-
- * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
- that is the parent of other generics, the instance body replaces the
- instance node. Retrieve the instance of the spec, which is the one
- that is visible in clients and within the body.
-
-2001-12-11 Vincent Celier <celier@gnat.com>
-
- * gnatmain.adb: Initial version.
-
- * gnatmain.ads: Initial version.
-
- * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
-
- * snames.adb: Updated to match snames.ads.
-
- * snames.ads: Added Gnatstub.
-
-2001-12-11 Vincent Celier <celier@gnat.com>
-
- * prj-attr.adb (Initialization_Data): Change name from
- Initialisation_Data.
-
-2001-12-11 Emmanuel Briot <briot@gnat.com>
-
- * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
- + and * applied to backslashed expressions like \r.
-
-2001-12-11 Vasiliy Fofanov <fofanov@gnat.com>
-
- * g-os_lib.ads: String_List type added, Argument_List type is now
- subtype of String_List.
-
-2001-12-11 Robert Dewar <dewar@gnat.com>
-
- * g-os_lib.ads: Change copyright to FSF
- Add comments for String_List type
-
-2001-12-11 Vincent Celier <celier@gnat.com>
-
- * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
- string to the buffer).
-
-2001-12-11 Ed Schonberg <schonber@gnat.com>
-
- * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
- sem_attr.
-
- * sem_attr.adb: Simplify previous fix for Address.
- (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
- to avoid anomalies where the bound of the type appears to raise
- constraint error.
-
-2001-12-11 Robert Dewar <dewar@gnat.com>
-
- * lib-xref.adb (Output_Refs): Make sure pointers are always properly
- handled.
-
-2001-12-11 Ed Schonber <schonber@gnat.com>
-
- * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
- renamed unit before checking for recursive instantiations.
-
-2001-12-11 Emmanuel Briot <briot@gnat.com>
-
- * prj.ads: Add comments for some of the fields.
-
-2001-12-11 Robert Dewar <dewar@gnat.com>
-
- * lib-xref.adb (Output_Refs): Don't output type references outside
- the main unit if they are not otherwise referenced.
-
-2001-12-11 Ed Schonberg <schonber@gnat.com>
-
- * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
- code and diagnose additional illegal uses
-
- * sem_util.adb (Is_Object_Reference): An indexed component is an
- object only if the prefix is.
-
-2001-12-11 Vincent Celier <celier@gnat.com>
-
- * g-diopit.adb: Initial version.
-
- * g-diopit.ads: Initial version.
-
- * g-dirope.adb:
- (Expand_Path): Avoid use of Unbounded_String
- (Find, Wildcard_Iterator): Moved to child package Iteration
-
- * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
-
-2001-12-11 Robert Dewar <dewar@gnat.com>
-
- * sem_attr.adb: Minor reformatting
-
-2001-12-11 Ed Schonberg <schonber@gnat.com>
-
- * sem_ch3.adb: Clarify some ???.
-
-2001-12-11 Robert Dewar <dewar@gnat.com>
-
- * exp_util.adb (Must_Be_Aligned): Removed, replaced by
- Exp_Pakd.Known_Aligned_Enough
-
- * sem_ch13.adb (Check_Address_Alignment): Removed, extended
- version is moved to Exp_Ch13.
-
-2001-12-11 Robert Dewar <dewar@gnat.com>
-
- * einfo.ads: Minor reformatting
-
- * exp_ch5.adb: Add comment for previous.change
-
- * ali.adb: New interface for extended typeref stuff.
-
- * ali.ads: New interface for typeref stuff.
-
- * checks.adb (Apply_Alignment_Check): New procedure.
-
- * debug.adb: Add -gnatdM for modified ALI output
-
- * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
-
- * lib-xref.adb: Extend generation of <..> notation to cover
- subtype/object types. Note that this is a complete rewrite,
- getting rid of the very nasty quadratic algorithm previously
- used for derived type output.
-
- * lib-xref.ads: Extend description of <..> notation to cover
- subtype/object types. Uses {..} for these other cases.
- Also use (..) for pointer types.
-
- * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
-
- * exp_pakd.adb: Minor reformatting. Note that prevous RH should say:
- (Known_Aligned_Enough): Replaces Must_Be_Aligned.
-
-2001-12-11 Vincent Celier <celier@gnat.com>
-
- * gnatcmd.adb:
- Changed /COMPILE_ONLY to /ACTIONS=COMPILE
- Changed /BIND_ONLY to /ACTIONS=BIND
- Changed /LINK_ONLY to /ACTIONS=LINK
-
-2001-12-11 Ed Schonberg <schonber@gnat.com>
-
- * sem_ch8.adb (Find_Selected_Component): improved search for a
- candidate package in case of error.
-
- * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
- chain back on scope stack before reinstalling use clauses.
-
- * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
- is enabled, do not kill the code for the condition, to preserve
- warning.
-
-2001-12-11 Robert Dewar <dewar@gnat.com>
-
- * checks.adb (Insert_Valid_Check): Apply validity check to expression
- of conversion, not to result of conversion.
-
-2001-12-11 Ed Schonberg <schonber@gnat.com>
-
- * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
- before freezing parent. If the declarations are mutually recursive,
- an access to the current record type may be frozen before the
- derivation is complete.
-
-2001-12-05 Vincent Celier <celier@gnat.com>
-
- * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
- -c /COMPILE_ONLY, -l /LINK_ONLY
-
- * opt.ads:
- (Bind_Only): New Flag
- (Link_Only): New flag
-
- * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
- and -l (Link_Only)
-
- * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
-
- * make.adb:
- (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
- (Gnatmake): Set the step flags. Only perform a step if the
- corresponding step flag is True.
- (Scan_Make_Arg): Reset the bind and link step flags when -u
- or -gnatc has been specified.
-
-2001-12-05 Ed Schonberg <schonber@gnat.com>
-
- * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
- get bounds from right operand.
-
- * sem_eval.adb: Minor reformatting
-
- * exp_util.adb (Make_Literal_Range): use bound of literal rather
- than Index'First, its lower bound may be different from 1.
-
- * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
- and C48009J
-
-2001-12-05 Vincent Celier <celier@gnat.com>
-
- * prj-nmsc.adb Minor reformatting
-
- * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
- set and libraries are not supported.
-
-2001-12-05 Ed Schonberg <schonber@gnat.com>
-
- * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
- private view explicitly, so the back-end can treat as a global
- when appropriate.
-
-2001-12-05 Ed Schonberg <schonber@gnat.com>
-
- * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
- unit, always replace instance node with new body, for ASIS use.
-
-2001-12-05 Vincent Celier <celier@gnat.com>
-
- * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
- libraries are not supported and both attributes Library_Name and
- Library_Dir are specified.
-
- * prj-proc.adb (Expression): Set location of Result to location of
- first term.
-
- * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
- (prj-nmsc is now importing MLib.Tgt)
-
- * prj-proc.adb: Put the change indicated above that was forgotten.
-
-2001-12-05 Robert Dewar <dewar@gnat.com>
-
- * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
-
-2001-12-05 Ed Schonberg <schonber@gnat.com>
-
- * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
- constraint, introduce explicit subtype declaration and derive from it.
-
- * sem_ch3.adb: Minor reformatting
-
-2001-12-05 Robert Dewar <dewar@gnat.com>
-
- * checks.adb (Determine_Range): Increase cache size for checks.
- Minor reformatting
-
- * exp_ch6.adb: Minor reformatting
- (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
- a parameter whose root type is System.Address, since treating such
- subprograms as pure in the code generator is almost surely a mistake
- that will lead to unexpected results.
-
- * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
- change handling of conversions.
-
- * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
-
-2001-12-05 Ed Schonberg <schonber@gnat.com>
-
- * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
- aggregate with static wrong size, attach generated Raise node to
- declaration.
-
-2001-12-05 Robert Dewar <dewar@gnat.com>
-
- * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
- Fixes compilation abandoned bomb in B24009B.
-
-2001-12-05 Ed Schonberg <schonber@gnat.com>
-
- * sem_ch12.adb:
- Document use of Associated_Node on Selected_Components.
- (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
- to clarify use of untyped descendant fields.
-
-2001-12-05 Robert Dewar <dewar@gnat.com>
-
- * prj-dect.ads: Add ??? comment
- Add 2001 to copyright notice (was not done in after all)
-
- * prj-part.adb: Minor reformatting. Reword one awkward error message.
-
- * prj.ads: Minor reformatting throughout, and add some ??? comments
-
- * snames.ads: Minor reformatting
-
-2001-12-05 Geert Bosch <bosch@gnat.com>
-
- * snames.adb: Autoupdate
-
-2001-12-05 Vincent Celier <celier@gnat.com>
-
- * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
-
- * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
-
- * prj-env.adb: Minor comment changes (modifying -> extends).
-
- * prj-nmsc.adb: Minor comment changes (modifying -> extends).
-
- * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
- Tok_Extends.
-
- * prj.adb (Initialize): Change Modifying to Extends.
-
- * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
-
- * prj.ads: Minor comment change (Modifying -> extending).
-
- * snames.ads: Change modifying to extends.
-
-2001-12-05 Robert Dewar <dewar@gnat.com>
-
- * sem_warn.adb: Remove stuff for conditionals, we are not going to
- do this after all.
-
- * sem_warn.ads: Remove stuff for conditionals, we are not going to
- do this after all. Add 2001 to copyright notice
-
-2001-12-04 Geert Bosch <bosch@gnat.com>
-
- * einfo.h, sinfo.h, treeprs.ads: Regenerate.
-
-2001-12-04 Robert Dewar <dewar@gnat.com>
-
- * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
- location if we already have errors. Stops some cases of cascaded
- errors.
-
- * errout.adb: Improve comment.
-
-2001-12-04 Robert Dewar <dewar@gnat.com>
-
- * sem_ch12.adb:
- (Analyze_Formal_Type_Definition): Defend against Error.
- (Analyze_Formal_Subprogram): Defend against Error.
-
- * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
- remove following semicolon if present. Removes cascaded error.
-
-2001-12-04 Douglas B. Rupp <rupp@gnat.com>
-
- * bindgen.adb:
- (Gen_Exception_Table_Ada): Write "begin" and then return if Num
- exceptions equals 0.
- (Gen_Exception_Table_C): Return if Num exceptions equals 0.
- Fixes PIWG E tests (which have to be run with -gnatL).
-
-2001-12-04 Robert Dewar <dewar@gnat.com>
-
- * einfo.ads: Minor reformatting
-
-2001-12-04 Ed Schonberg <schonber@gnat.com>
-
- * einfo.ads: Block_Node points to the identifier of the block, not to
- the block node itself, to preserve the link when the block is
- rewritten, e.g. within an if-statement with a static condition.
-
- * inline.adb (Cleanup_Scopes): recover block statement from block
- entity using new meaning of Block_Node.
-
- * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
- identifier of block node, rather than to node itself.
-
-2001-12-04 Gary Dismukes <dismukes@gnat.com>
-
- * layout.adb:
- (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
- (Discrimify): Go back to setting the Etypes of the selected component
- because the Vname component does not exist at this point and will
- fail name resolution. Also set Analyzed.
- Remove with and use of Sem_Res.
-
-2001-12-04 Arnaud Charlet <charlet@gnat.com>
-
- * Makefile.in: (HIE_SOURCES): add s-fat*.
-
-2001-12-04 Robert Dewar <dewar@gnat.com>
-
- * sem_attr.adb:
- (Compile_Time_Known_Attribute): New procedure.
- (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
- proper range check.
-
-2001-12-04 Ed Schonberg <schonber@gnat.com>
-
- * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
- processing discriminants to diagnose illegal default values.
-
-2001-12-04 Ed Schonberg <schonber@gnat.com>
-
- * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
- access discriminant within a type extension that constrains its
- parent discriminants.
-
-2001-12-04 Ed Schonberg <schonber@gnat.com>
-
- * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
- is malformed, use instance of Any_Id to allow analysis to proceed.
-
- * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
- type definition is illegal.
- (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
- misplaced.
-
-2001-12-04 Ed Schonberg <schonber@gnat.com>
-
- * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
- constants.
-
-2001-12-04 Robert Dewar <dewar@gnat.com>
-
- * errout.adb: Minor reformatting
-
-2001-12-04 Robert Dewar <dewar@gnat.com>
-
- * exp_util.adb: Minor reformatting from last change
-
- * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
- which is a rewriting of an expression, traverse the original
- expression to remove warnings that may have been posted on it.
-
-2001-12-04 Ed Schonberg <schonber@gnat.com>
-
- * exp_util.adb (Must_Be_Aligned): Return false for a component of a
- record that has other packed components.
-
-2001-12-04 Douglass B. Rupp <rupp@gnat.com>
-
- * adaint.c: Minor cleanups.
-
-2001-12-04 Douglass B. Rupp <rupp@gnat.com>
-
- * adaint.c: Do not use utime.h on vxworks.
-
-2001-12-04 Arnaud Charlet <charlet@gnat.com>
-
- * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
- more confusion than it solves.
-
-2001-12-04 Geert bosch <bosch@gnat.com>
-
- * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
-
-2001-12-04 Geert Bosch <bosch@gnat.com>
-
- * Makefile.in (update-sources): New target.
- For use by gcc_release script.
-
-2001-12-04 Ed Schonberg <schonber@gnat.com>
-
- * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
- a configuration pragma, it is now legal wherever a pragma can appear.
-
-2001-12-04 Zack Weinberg <zack@codesourcery.com>
-
- * Makefile.in: Don't set ALL. Delete @cross_defines@,
- @cross_overrides@, @build_overrides@ stanzas. INTERNAL_CFLAGS
- is now @CROSS@ -DIN_GCC; update comment.
-
-2001-12-04 Robert Dewar <dewar@gnat.com>
-
- * einfo.adb (Has_Pragma_Pure_Function): New flag.
- Fix problem that stopped ceinfo from working
-
- * einfo.ads (Has_Pragma_Pure_Function): New flag.
-
- * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
-
-2001-12-04 Douglas B. Rupp <rupp@gnat.com>
-
- * gnatchop.adb:
- (File_Time_Stamp): New procedure.
- (Preserve_Mode): New boolean.
- (Write_Unit): Pass time stamp.
- Implement -p switch (preserve time stamps).
-
- * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
-
- * gnatchop.adb: Do usage info for -p switch
-
- * adaint.h (__gnat_set_file_time_name): New function
-
- * adaint.c (__gnat_set_file_time_name): Implement
-
- * adaint.h: Fix typo
-
-2001-12-03 Robert Dewar <dewar@gnat.com>
-
- * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
- have Associated_Node.
-
-2001-12-03 Robert Dewar <dewar@gnat.com>
-
- * prj-proc.adb: Minor reformatting
-
- * make.adb: Minor reformatting
-
-2001-12-03 Geert Bosch <bosch@gnat.com>
-
- * make.adb: Minor reformatting.
-
-2001-12-03 Robert Dewar <dewar@gnat.com>
-
- * sem_ch12.adb: Minor reformatting
-
-2001-12-03 Ed Schonberg <schonber@gnat.com>
-
- * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
- push Standard on the stack before analyzing the instance body,
- in order to have a clean visibility environment.
-
- * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
-
-2001-12-03 Ed Schonberg <schonber@gnat.com>
-
- * sem_ch12.adb (Instantiate_Package_Body): Protect against double
- instantiation of a body that contains an inlined body.
-
-2001-12-03 Ed Schonberg <schonber@gnat.com>
-
- * sem_ch12.adb:
- (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
- to prevent freezing within formal packages.
- (Freeze_Subprogram_Body): If body comes from another instance that
- appeared before its own body, place freeze node at end of current
- declarative part, to prevent a back-end crash.
- (Inline_Instance_Body): Handle properly a package instance within
- a subprogram instance that is a child unit.
-
-2001-12-01 Graham Stott <grahams@redhat.com>
-
- * Makefile.in (misc.o): Add missing $(srcdir) prefix
- and add optabs.h dependency.
-
- * misc.c: Include optabs.h
- (gnat_tree_code_type): Make static and const.
- (gnat_tree_code_length): Likewise.
- (gnat_tree_code_name): Likewise.
- (update_setjmp_buf): Obtain operands mode from insn_data.
-
-2001-11-29 Richard Henderson <rth@redhat.com>
-
- * init.c: Remove obsolete dwarf2 frame.h section.
-
-2001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * Make-lang.in (ada.generated-manpages): New dummy target.
-
-2001-11-29 Ed Schonberg <schonber@gnat.com>
-
- * g-os_lib.adb (Add_To_Command): use explicit loop to move string
- into Command, an array conversion is illegal here. Uncovered by
- ACATS B460005.
-
-2001-11-28 Geert Bosch <bosch@gnat.com>
-
- * init.c: Minor whitespace changes.
-
-2001-11-28 Doug Rupp <rupp@gnat.com>
-
- * init.c: (__gnat_install_handler,VMS): Increase size of alternate
- signal stack.
-
-2001-11-28 Zack Weinberg <zack@codesourcery.com>
-
- * misc.c (gnat_expand_constant): Move declaration above
- definition of lang_hooks.
- (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
- (gnat_init): lang_expand_constant no longer exists.
-
- (internal_error_function): Remove #ifdef HAVE_VPRINTF. We
- always have vprintf.
- (gnat_init): Always call set_internal_error_function.
-
-2001-11-27 Andreas Jaeger <aj@suse.de>
-
- * Makefile.in (stamp-tool_src_dir): Use symbolic link.
-
-2001-11-27 Laurent Guerby <guerby@acm.org>
-
- * Makefile.in: Regenerate Ada dependencies.
-
-2001-11-26 Richard Henderson <rth@redhat.com>
-
- * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
- gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
- gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
-
-2001-11-25 Laurent Guerby <guerby@acm.org>
-
- * sysdep.c (rts_get_*): Fix style.
-
-2001-11-19 Laurent Guerby <guerby@acm.org>
-
- * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
- since it is of no apparent use and cause warnings.
-
-2001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * misc.c (gnat_decode_option, gnat_init_options): Make definitions
- static too.
- (gnat_init): Don't return NULL.
- (finish_parse): Remove.
-
-2001-11-17 Laurent Guerby <guerby@acm.org>
-
- * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
- * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
- * io-aux.c: Provide K&R prototypes to all functions, reformat code.
- * lang-spec.h: Add missing struct field to silence warnings.
- * sysdep.c (rts_get_*): Provide K&R prototype.
- * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
- * traceback.c (Unlock_Task, Lock_Task): Likewise.
- * tracebak.c (__gnat_backtrace): Remove unused variable.
- * utils.c (end_subprog_body): Move to K&R style.
-
-Thu Nov 15 18:16:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
-
-2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * misc.c (gnat_init): Change prototype. Include the
- functionality of the old init_parse and init_decl_processing.
- (gnat_init_decl_processing): New prototype.
- (init_parse): Remove.
- * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
-
-2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * misc.c (gnat_print_decl, gnat_print_type): Renamed.
- (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
- (print_lang_statistics, lang_print_xnode, print_lang_identifier,
- set_yydebug): Remove.
-
-2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
- (struct lang_hooks): Constify.
- (language_string, lang_identify): Remove.
- * utils.c (init_decl_processing): Update.
-
-2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
-
- * misc.c: Include langhooks-def.h.
- * Makefile.in: Update.
-
-2001-10-30 Robert Dewar <dewar@gnat.com>
-
- * style.adb:
- (Check_Identifier): Rewrite circuit to be compatible with use of letters
- in the upper half of ASCII.
- (Check_Identifier): Minor reformatting
-
-2001-10-30 Geert Bosch <bosch@gnat.com>
-
- * (Associated_Node, Set_Associated_Node): Do not check for
- Freeze_Entity.
-
-2001-10-30 Robert Dewar <dewar@gnat.com>
-
- * a-reatim.ads: Minor reformatting
-
-2001-10-30 Robert Dewar <dewar@gnat.com>
-
- * gnatdll.adb: Minor reformatting throughout. Many ??? added for
- undocumented declarations.
-
-2001-10-30 Pascal Obry <obry@gnat.com>
-
- * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
- to the binder and linker.
- Minor style fix.
-
- * mdll.ads: Fix layout. Update copyright notice.
-
- * mdll.adb: Fix layout. Update copyright notice.
-
-2001-10-30 Robert Dewar <dewar@gnat.com>
-
- * usage.adb: Minor fix to output for -gnaty.
-
-2001-10-30 Ed Schonberg <schonber@gnat.com>
-
- * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
- to accommodate all its possible values.
-
- * a-reatim.adb (Split): Special-case handling of Time_Span_First
- and of small absolute values of T.
-
-2001-10-30 Richard Kenner <kenner@gnat.com>
-
- * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
- set_mem_attributes since not needed and wrong if RESULT if a REG;
- fixes ACATS failures.
-
-2001-10-30 Geert Bosch <bosch@gnat.com>
-
- * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
- s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
-
-2001-10-30 Robert Dewar <dewar@gnat.com>
-
- * bindusg.adb: Undocument -f switch.
-
- * gnatcmd.adb: Remove /FULL_ELABORATION.
-
- * opt.ads (Force_RM_Elaboration_Order): Document that this is
- obsolescent.
-
- * gnatbind.adb: Output new warning for use of obsolescent -f switch.
-
- * gnatbind.adb: Minor update of warning msg.
-
-2001-10-30 Vincent Celier <celier@gnat.com>
-
- * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
- for project file switches (-P (/PROJECT_FILE=),
- -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
- or MEDIUM or HIGH)
-
-2001-10-30 Geert Bosch <bosch@gnat.com>
-
- * decl.c: Minor whitespace fixes.
-
-2001-10-30 Richard Kenner <kenner@gnat.com>
-
- * utils2.c (build_allocator): Test for SIZE overflow in array case too
-
-2001-10-30 Geert Bosch <bosch@gnat.com>
-
- * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
- Found due to GCC 3.0 warning of using uninitialized value.
-
- * layout.adb:
- (Get_Max_Size): Use variant record for tracking value/expression.
- Makes logic clearer and prevents warnings for uninitialized variables.
- (Layout_Array_Type): Use variant record for tracking value/expression.
- Makes logic clearer and prevents warnings for uninitialized variables.
-
-2001-10-30 Robert Dewar <dewar@gnat.com>
-
- * lib.adb: Minor reformatting
-
- * s-taprop.ads: Minor reformatting
-
-2001-10-29 Laurent Guerby <guerby@acm.org>
-
- * init.c:
- (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
- const.
- (_gnat_error_handler): Make MSG const.
-
-2001-10-29 Richard Kenner <kenner@gnat.com>
-
- * sysdep.c: Fix localtime_r problem on LynxOS.
- Also remove #elif to avoid warnings.
-
- * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
- used by this.
-
- * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
-
-2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
- exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
- g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
- g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
- layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
- s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
- sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
- sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
- sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
- types.ads, urealp.adb: Fix spelling errors.
-
-2001-10-27 Laurent Guerby <guerby@acm.org>
-
- * trans.c (gigi): Fix non determinism leading to bootstrap
- comparison failures for debugging information.
-
-2001-10-26 Florian Weimer <fw@deneb.enyo.de>
-
- * gnat_rm.texi: Use @./@: where appropriate.
-
-2001-10-26 Robert Dewar <dewar@gnat.com>
-
- * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
-
-2001-10-26 Richard Kenner <kenner@gnat.com>
-
- * gmem.c (__gnat_gmem_read_next): Properly check for EOF
-
-2001-10-26 Richard Kenner <kenner@gnat.com>
-
- * decl.c (validate_size): Modify message for bad size to avoid
- implication that compiler is modifying the size.
-
-2001-10-26 Robert Dewar <dewar@gnat.com>
-
- * prj-util.adb: Minor reformatting. Fix bad header format.
-
-2001-10-26 Robert Dewar <dewar@gnat.com>
-
- * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
-
- * sinfo.ads: Clarify use of Associated_Node (documentation only).
-
- * sem_ch12.adb: Change Node4 to Associated_Node. Change
- Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
- much more narrowly in places where needed. These are cleanups.
-
-2001-10-26 Joel Brobecker <brobecke@gnat.com>
-
- * 5zosinte.ads (null_pthread): new constant.
-
- * 5ztaprop.adb:
- (Initialize_TCB): Initialize thread ID to null, to be able to verify
- later that this field has been set.
- (Finalize_TCB): ditto.
- (Suspend_Task): Verify that the thread ID is not null before using it.
- (Resume_Task): ditto.
-
- * s-tasdeb.adb:
- (Resume_All_Tasks): Lock the tasks list before using it.
- (Suspend_All_Tasks): ditto.
-
-2001-10-26 Richard Kenner <kenner@gnat.com>
-
- * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
- Make constant variant of designated type for Is_Access_Constant.
- Call update_pointer_to with main variant.
-
- * trans.c (process_freeze_entity, process_type):
- Call update_pointer_to on main variant.
-
- * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
- If main variant, update all other variants.
-
- * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
- TREE_STATIC.
-
-2001-10-26 Robert Dewar <dewar@gnat.com>
-
- * prj-util.adb: Minor reformatting
-
-2001-10-26 Robert Dewar <dewar@gnat.com>
-
- * prj-util.adb: Minor reformatting
-
-2001-10-26 Robert Dewar <dewar@gnat.com>
-
- * prj-attr.adb: Minor reformatting throughout
-
-2001-10-26 Robert Dewar <dewar@gnat.com>
-
- * prj-attr.ads: Minor reformatting
- Add ??? comment (this whole spec has almost no comments)
-
-2001-10-26 Vincent Celier <celier@gnat.com>
-
- * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
- ("//") that precede the drive letter on Interix.
-
-2001-10-26 Geert Bosch <bosch@gnat.com>
-
- * gnat_rm.texi: Add GNAT Reference Manual.
-
-2001-10-25 Robert Dewar <dewar@gnat.com>
-
- * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
- is Error. Similar change for other renaming cases.
-
-2001-10-25 Robert Dewar <dewar@gnat.com>
-
- * s-atacco.ads: Add pragma Inline_Always for functions.
- Fix header format. Add copyright 2001
-
-2001-10-25 Ed Schonberg <schonber@gnat.com>
-
- * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
- return Error rather than Empty so that analysis can proceed.
-
-2001-10-25 Ed Schonberg <schonber@gnat.com>
-
- * sem_util.adb (Enter_Name): better handling of cascaded error
- messages when a unit appears in its own context.
-
-2001-10-25 Ed Schonberg <schonber@gnat.com>
-
- * sem_util.adb (Defining_Entity): in case of error, attach created
- entity to specification, so that semantic analysis can proceed.
-
-2001-10-25 Robert Dewar <dewar@gnat.com>
-
- * sem_util.adb
- (Defining_Entity): Deal with Error.
- (Process_End_Label): Deal with bad end label for.
-
-2001-10-25 Ed Schonberg <schonber@gnat.com>
-
- * sem_elab.adb (Check_A_Call): refine message when call is in an
- instance but callee is not declared in the generic unit.
-
-2001-10-25 Ed Schonberg <schonber@gnat.com>
-
- * sem_elab.adb (Check_A_Call): check for renaming before finding the
- enclosing unit, which may already be different from the calling unit.
-
-2001-10-25 Geert Bosch <bosch@gnat.com>
-
- * 4gintnam.ads: fix header format.
-
-2001-10-25 Ed Schonberg <schonber@gnat.com>
-
- * sem_res.adb (Resolve_Call): if the call is actually an indexing
- operation on the result of a parameterless call, perform elaboration
- check after the node has been properly rewritten.
-
- * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
- inlined within the generic tree, the defining identifier is not a
- compilation_unit.
-
-2001-10-25 Ed Schonberg <schonber@gnat.com>
-
- * sem_res.adb (Resolve): special-case resolution of Null in an
- instance or an inlined body to avoid view conflicts.
-
- * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
- compatibility by retrieving the access type of the generic copy.
-
-2001-10-25 Robert Dewar <dewar@gnat.com>
-
- * sem_ch3.adb:
- (Analyze_Number_Declaration): Handle error expression.
- (Signed_Integer_Type_Declaration): Handle error bound.
- (Analyze_Subtype_Indication): Handle error range.
-
- * sem_util.adb (Get_Index_Bounds): Check for Error.
-
-2001-10-25 Robert Dewar <dewar@gnat.com>
-
- * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
- in no run time mode.
-
-2001-10-25 Pascal Obry <obry@gnat.com>
-
- * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
- mode case for ALLOC case.
-
- * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
- all platforms. Improvement of last change.
-
-2001-10-25 Robert Dewar <dewar@gnat.com>
-
- * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
-
-2001-10-25 Geert Bosch <bosch@gnat.com>
-
- * osint.adb (Is_Relative): Remove duplicate.
-
-2001-10-25 Pascal Obry <obry@gnat.com>
-
- * osint.adb (Read_Default_Search_Dirs): correctly detect relative
- pathnames in UNIX and DOS style with drive letter.
- (Is_Relative): new routine.
-
- * osint.adb: Minor reformatting
-
- * osint.adb (Is_Relative): implementation using
- GNAT.OS_Lib.Is_Absolute_Path. Better fix.
-
-2001-10-25 Pascal Obry <obry@gnat.com>
-
- * g-dirope.adb (Basename): correctly compute offset between the
- original Path and the translated one.
-
- * g-dirope.adb: (Base_Name): add some comments.
-
-2001-10-25 Robert Dewar <dewar@gnat.com>
-
- * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
- in HIE mode, avoids compilation abandoned message
-
- * exp_imgv.adb: Correct typo in previous change
-
- * exp_imgv.adb: Correct typo in previous change (not my day!)
-
-2001-10-25 Robert Dewar <dewar@gnat.com>
-
- * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
-
-2001-10-25 Pascal Obry <obry@gnat.com>
-
- * g-awk.ads: Move all pragma inlines next to the routine
- declarations. This is more uniform with other GNAT spec.
-
-2001-10-22 Geert Bosch <bosch@gnat.com>
-
- * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
-
-2001-10-19 Geert Bosch <bosch@gnat.com>
-
- * Makefile.in (tools, gnattools): Remove gnatmem.
-
-2001-10-17 Richard Henderson <rth@redhat.com>
-
- * Makefile.in (misc.o): Depend on langhooks.h.
- * misc.c: Include it.
- (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
- (LANG_HOOKS_DECODE_OPTION): New.
- (lang_hooks): Use LANG_HOOKS_INITIALIZER.
-
-2001-10-16 Florian Weimer <fw@deneb.enyo.de>
-
- * trans.c (tree_transform): Adjust to recent change in
- expand_asm_operands to implement named asm operands.
-
-2001-10-11 Ed Schonberg <schonber@gnat.com>
-
- * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
- renaming of discriminant for mutable record type.
-
-2001-10-11 Robert Dewar <dewar@gnat.com>
-
- * validsw.adb: Properly save -gnatVn status.
-
-2001-10-11 Robert Dewar <dewar@gnat.com>
-
- * usage.adb: Add lines for V switch.
-
- * gnatcmd.adb (COMPILE): Revise translations for -gnatV
- (/VALIDITY_CHECKING).
-
-2001-10-11 Ed Schonberg <schonber@gnat.com>
-
- * sem_type.adb (Add_One_Interp): an operator for a type declared in
- an extension of System is known to be visible.
-
-2001-10-11 Ed Schonberg <schonber@gnat.com>
-
- * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
- properly. Fixes regression on ACATS C34005G.
-
-2001-10-11 Robert Dewar <dewar@gnat.com>
-
- * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
- loop in generic instance, since this is likely not very useful.
-
-2001-10-11 Robert Dewar <dewar@gnat.com>
-
- * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
- the error message for high integrity mode.
-
- * rtsfind.adb (RTE): Give message if we try to find an entity that
- is not available in high integrity mode.
-
- * rtsfind.ads:
- (OK_To_Use_In_HIE_Mode): New array.
- (RTE): May return Empty in high integrity mode.
-
- * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
- OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
-
- * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
- unit if not inlined always and in no runtime mode. Fixes problem
- caused by new Rtsfind changes.
-
- * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
- body is deleted.
-
- * rtsfind.adb (RTE): Make sure we do not try to load unit after
- giving message for entity not available in high integrity mode.
-
-2001-10-11 Pascal Obry <obry@gnat.com>
-
- * impunit.adb: Add GNAT.CRC32.
-
-2001-10-11 Ed Schonberg <schonber@gnat.com>
-
- * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
- properly the case where one universal operand in a non-static
- exponentiation of a real literal.
-
-2001-10-11 Ed Schonberg <schonber@gnat.com>
-
- * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
- clause, return the gobal finalization list, for lack of anthing else.
-
-2001-10-11 Ed Schonberg <schonber@gnat.com>
-
- * exp_ch7.adb (Make_Transient_Block): if statement is within
- exception handler, always use new transient scope to place Clean
- procedure.
-
-2001-10-11 Pascal Obry <obry@gnat.com>
-
- * Makefile.in:
- (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
- (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
- (GNATLS_RTL_OBJS): add g-crc32.o
- (GNATMAKE_RTL_OBJS): add g-crc32.o
-
- * ali-util.adb:
- (CRC_Match): new function.
- (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
- instead of the previous simple checksum algorithm.
- (Time_Stamp_Mismatch): use CRC_Match for comparison.
- (Set_Source_Table): idem.
-
- * ali-util.ads:
- (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
- instead of simple checksum.
- (CRC_Match): new function.
- (CRC_Error): new constant.
-
- * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
- a CRC now and not a simple checksum. A CRC uses lower-case hex
- letters, fixes ambiguity in parsing.
-
- * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
- is what this variable will store.
-
- * bcheck.adb: Change reference to chechsum in comments by CRC.
- (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
- rename All_Checksum_Match to All_CRC_Match. Change due to API
- renaming since now GNAT does not use a simple checksum but a
- CRC using GNAT.CRC32.
-
- * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
- now and not anymore a simple checksum.
-
- * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
- places.
-
- * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
-
- * scans.adb:
- (Restore_Scan_State): rename Checksum to CRC.
- (Save_Scan_State): idem.
-
- * scans.ads:
- With GNAT.CRC32.
- (Checksum): rename to CRC.
- (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
-
- * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
- GNAT.CRC32). Update copyright notice.
-
- * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
- GNAT.CRC32). Update copyright notice.
-
- * scn.adb:
- (Accumulate_Checksum): removed.
- (Update): new procedure. Add a wide-character into the CRC.
-
- * sinput-l.adb:
- (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
- (Load_File): fix initialization of S (change Source_Checksum to
- Source_CRC)
-
- * sinput-p.adb (Load_Project_File): rename Source_Checksum to
- Source_CRC in S initialization.
-
- * sinput.adb (Source_Checksum): renamed to Source_CRC.
-
- * sinput.ads (Source_Checksum): renamed to Source_CRC.
- Update comments for the CRC.
-
- * types.adb (Hex): Use lowercase for the letter part.
-
- * types.ads (Get_Hex_String): Returns the hexadecimal representation
- for a word. This is currently used only for CRC. In previous version,
- the checksum was using a representation with all letter being
- upper-case. With the new implementation (using CRC) we do not remove
- the 32th bit of the CRC, so we can have an upper-case starting letter
- in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
- It is ambigous since the CRC was optional and could be followed by
- options like EB, EE. So now this routines uses lower-case letter for
- the hexadecimal representation. Strange enough only lower case letters
- where checked in Scan_ALI (even if this was not a possible case).
-
- * gnatvsn.ads (Library_Version): changed to 3.15a.
-
- * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
- for the compiler.
-
- * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
- for the compiler.
-
- * ali-util.adb: Redo previous change to avoid using word CRC everywhere
- Add 2001 to copyright notice
- (Accumulate_Checksum): Modify to use System.CRC32.
-
- * ali-util.ads: Redo changes of previous revision to continue to use
- the word Checksum. Add 2001 to copyright notice.
-
- * ali.adb: Undo some of previous changes, not needed.
- Keep the change for lower case letters in the checksum.
-
- * ali.ads: Undo previous change not needed.
-
- * bcheck.adb: Undo most of previous change, not needed.
- But do use Checksums_Match for checksum comparison.
-
- * gnatls.adb: Undo most of previous change, not needed.
- But do use Checksums_Match for comparing checksums.
-
- * lib-load.adb: Undo previous change, not needed.
-
- * lib-writ.adb: Undo previous change, not needed.
-
- * lib-writ.ads: Document that checksums use lower case,
- not upper case letters.
-
- * scans.adb: Undo previous change, not needed
-
- * scans.ads: Undo previous change, not needed.
-
- * scn-nlit.adb: Undo previous changes, not needed.
-
- * scn-slit.adb: Undo previous change, not needed. Fix header format.
-
- * scn.adb:
- (Accumulate_Checksum): Use System.CRC32.
- (Initialize_Checksum): New procedure.
- Remove other changes of previous revision.
-
- * sinput-p.adb: Undo previous change, not needed.
-
- * sinput.adb: Undo previous change, not needed.
-
- * sinput-l.adb: Undo previous change, not needed.
-
- * sinput.ads: Undo previous change, not needed. Keep only comment
- on new checksum algorithm
-
- * Makefile.in: Add s-crc32 as needed, remove g-crc32.
- Also remove a-tags and a-stream from GNAT sources.
-
- * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
-
- * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
-
-2001-10-11 Geert Bosch <bosch@gnat.com>
-
- * einfo.h: Regenerate.
-
- * nmake.ads: Regenerate.
-
- * nmake.adb: Regenerate.
-
- * sinfo.h: Regenerate.
-
- * treeprs.adb: Regenerate.
-
-2001-10-10 Geert Bosch <bosch@gnat.com>
-
- * gnat-style.texi: New file describing coding guidelines for Ada.
-
-2001-10-10 Ed Schonberg <schonber@gnat.com>
-
- * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
- is Flag174.
-
-2001-10-10 Geert Bosch <bosch@gnat.com>
-
- * snames.ads: Add new names for project facility.
-
- * snames.adb: Update to reflect snames.ads changes.
-
- * snames.h: Update to reflect snames.ads changes.
-
-2001-10-10 Vincent Celier <celier@gnat.com>
-
- * make.adb:
- (Add_Switches): reflect the changes for the switches attributes
- Default_Switches indexed by the programming language,
- Switches indexed by the file name.
- (Collect_Arguments_And_Compile): Idem.
- Reflect the attribute name changes.
-
- * prj-attr.adb:
- (Initialisation_Data): Change the names of some packages and
- attributes.
- (Initialize): process case insensitive associative arrays.
-
- * prj-attr.ads:
- (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
-
- * prj-dect.adb:
- (Parse_Attribute_Declaration): For case insensitive associative
- arrays, set the index string to lower case.
-
- * prj-env.adb:
- Reflect the changes of the project attributes.
-
- * prj-nmsc.adb:
- Replace Check_Naming_Scheme by Ada_Check and
- Language_Independent_Check.
-
- * prj-nmsc.ads:
- Replaced Check_Naming_Scheme by 2 procedures:
- Ada_Check and Language_Independent_Check.
-
- * prj-proc.adb:
- (Process_Declarative_Items): For case-insensitive associative
- arrays, set the index string to lower case.
- (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
- Prj.Nmsc.Check_Naming_Scheme.
-
- * prj-tree.adb:
- (Case_Insensitive): New function
- (Set_Case_Insensitive): New procedure
-
- * prj-tree.ads:
- (Case_Insensitive): New function
- (Set_Case_Insensitive): New procedure
- (Project_Node_Record): New flag Case_Insensitive.
-
- * prj-util.adb:
- (Value_Of): new function to get the string value of a single
- string variable or attribute.
-
- * prj-util.ads:
- (Value_Of): new function to get the string value of a single
- string variable or attribute.
-
- * prj.adb:
- (Ada_Default_Spec_Suffix): New function
- (Ada_Default_Impl_Suffix): New function
- Change definitions of several constants to reflect
- new components of record types.
-
- * prj.ads:
- (Naming_Data): Change several components to reflect new
- elements of naming schemes.
- (Project_Data): New flags Sources_Present and
- Language_Independent_Checked.
- (Ada_Default_Spec_Suffix): New function.
- (Ada_Default_Impl_Suffix): New function.
-
- * snames.ads:
- Modification of predefined names for project manager: added
- Implementation, Specification_Exceptions, Implementation_Exceptions,
- Specification_Suffix, Implementation_Suffix, Separate_Suffix,
- Default_Switches, _Languages, Builder, Cross_Reference,
- Finder. Removed Body_Part, Specification_Append, Body_Append,
- Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
- Gnatlink.
-
- * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
- Add comments.
-
- * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
- not that it is Nil_Variable_Value.
-
- * prj.ads: Add ??? for uncommented declarations
-
-2001-10-10 Ed Schonberg <schonber@gnat.com>
-
- * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
- constant, do not indicate possible modification, so that gigi can
- treat it as a bona fide constant.
-
-2001-10-10 Robert Dewar <dewar@gnat.com>
-
- * sem_prag.adb: Add processing for pragma External.
-
- * snames.ads: Add entry for pragma External.
-
- * par-prag.adb: Add pragma External.
-
- * snames.adb: Updated to match snames.ads.
-
-2001-10-10 Ed Schonberg <schonber@gnat.com>
-
- * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
- a dynamic task if the allocator appears in an indexed assignment
- or selected component assignment.
-
- * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
- For a dynamic task in an assignment statement, use target of
- assignment to generate meaningful name.
-
-2001-10-10 Ed Schonberg <schonber@gnat.com>
-
- * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
- a generic package.
-
- * einfo.ads: Body_Entity is also defined for generic package.
- Documentation change only
-
- * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
- others_choice for a discriminated component initialization,
- convert discriminant references into the corresponding discriminals.
-
- * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
- only if original type is private and expression has to be wrapped
- in a conversion.
-
- * checks.adb:
- (Apply_Constraint_Check): Do not perform length check
- if expression is an aggregate with only an others_choice.
- (Length_N_Cond): two references to the same in_parameter
- (typically the discriminal in an init_proc) denote the same value.
- Two useful optimization uncovered by bugfixes above.
-
-2001-10-10 Robert Dewar <dewar@gnat.com>
-
- * xeinfo.adb: Change int to char in translation of enumeration types.
- This fixes a problem in the C representation of component alignment.
- Add 2001 to copyright notice
-
-2001-10-10 Richard Kenner <kenner@gnat.com>
-
- * decl.c: (validate_size): Do check size of object of integral type
- if it is a packed array type.
-
-2001-10-10 Richard Kenner <kenner@gnat.com>
-
- * decl.c: (gnat_to_gnu_entity, case object): Also materialize
- VAR_DECL for constant if not Is_Public but -O0.
-
-2001-10-10 Richard Kenner <kenner@gnat.com>
-
- * misc.c (struct lang_hooks): Add new initializer to match GCC change.
-
-2001-10-10 Geert Bosch <bosch@gnat.com>
-
- * xnmake.adb (XNmake): Fix handling of -s/-b options. No longer
- use '/' as switch character, allowing for absolute file names.
-
-2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
- FSF address.
-
-2001-10-08 Geert Bosch <bosch@gnat.com>
-
- * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
- Automatically build utilities when files need to be regenerated.
-
-2001-10-08 Geert Bosch <bosch@gnat.com>
-
- * xsnames.adb: New utility for updating snames.ads and snames.adb
-
-2001-10-08 Zack Weinberg <zack@codesourcery.com>
-
- * Make-lang.in (ADAFLAGS): Add -W -Wall.
- (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
- (gnat1): Also depend on attribs.o.
- (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
- * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
- (ADAC): Set to @ADAC@ in stage1, $(CC) later.
- (ADAFLAGS): Add -W -Wall.
- (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
- take out CFLAGS.
-
- (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
- s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
- s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
- Use $(ADAC), not $(CC), as compilation command.
-
- (gnattools): Depend directly on tools to build, don't use
- recursive make.
- (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
-
- * einfo.h, sinfo.h: New files (autogenerated).
-
-2001-10-08 Richard Henderson <rth@redhat.com>
-
- * comperr.adb (Abort_In_Progress): New.
- (Compiler_Abort): Use it to prevent recursion.
-
-2001-10-08 Robert Dewar <dewar@gnat.com>
-
- * atree.adb: Set Error_Posted in Error node, helps error recovery.
-
- * par-endh.adb (Output_End_Expected): We should also not test
- Error_Posted on the Error node, since now it is always set.
-
- * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
- to help error recovery. Part of general work on 9407-004.
-
- * par.adb: Add ??? for misuse of error
-
- * sem_res.adb:
- (Resolve): Defend against Error, fixes 9407-003.
- (Resolve_Discrete_Subtype_Indication): Defend against Error.
-
- * sinfo.ads (N_Error): Now has Etype field (which will be set
- to Any_Type to help error recovery).
-
-2001-10-08 Richard Kenner <kenner@gnat.com>
-
- * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
- Consistently set MEM attributes from expression; fixes
- bootstrap failure on x86.
-
-2001-10-08 Geert Bosch <bosch@gnat.com>
-
- * 5oosinte.adb: Add 2001 to copyright notice.
-
-2001-10-08 Geert Bosch <bosch@gnat.com>
-
- * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
-
- * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
-
-2001-10-05 Geert Bosch <bosch@gnat.com>
-
- * adaint.h: Small formatting fix.
-
-2001-10-04 Geert Bosch <bosch@gnat.com>
-
- * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
- Arg is int, not FILE *, in dummy version of functions.
-
- * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
- Arg is int, not FILE *.
-
-2001-10-04 Geert Bosch <bosch@gnat.com>
-
- * 3lsoccon.ads: Added file, missed with initial check ins.
-
- * 4lintnam.ads: Fix header format.
- Change Linux to GNU/Linux.
-
- * 5iosinte.adb: Change Linux to GNU/Linux.
-
- * 5iosinte.ads: Change Linux to GNU/Linux.
-
- * 5itaprop.adb: Change Linux to GNU/Linux.
-
- * 5itaspri.ads: Change Linux to GNU/Linux.
- Update copyright notice.
-
- * 5lintman.adb: Change Linux to GNU/Linux.
-
- * 5lml-tgt.adb: Change Linux to GNU/Linux.
-
- * 5losinte.ads: Change Linux to GNU/Linux.
-
- * 5lsystem.ads: Change Linux to GNU/Linux.
-
- * 5qosinte.adb: Change Linux to GNU/Linux.
-
- * 5qosinte.ads: Change Linux to GNU/Linux.
-
- * 5qparame.ads: Change Linux to GNU/Linux.
-
- * 5qtaprop.adb: Change Linux to GNU/Linux.
-
- * 5qtaspri.ads: Change Linux to GNU/Linux.
- Add 2001 to copyright notice.
-
- * 5vintman.ads: Change Linux to GNU/Linux.
- Fix header format. Add 2001 to copyright notice.
-
- * g-soccon.ads: Change Linux to GNU/Linux.
-
- * g-trasym.ads: Change Linux to GNU/Linux.
- Add 2001 to copyright notice.
-
- * memtrack.adb: Change Linux to GNU/Linux.
-
- * s-intman.ads: Change Linux to GNU/Linux.
- Add 2001 to copyright notice. Fix header format.
-
- * s-stache.adb: Change Linux to GNU/Linux.
-
- * adaint.c: Change Linux to GNU/Linux.
-
- * cio.c: Change Linux to GNU/Linux.
-
- * cstreams.c: Change Linux to GNU/Linux.
-
- * init.c: Change Linux to GNU/Linux.
-
- * gmem.c: Change Linux to GNU/Linux.
-
- * tracebak.c: Change Linux to GNU/Linux.
-
-
-2001-10-02 Geert Bosch <bosch@gnat.com>
-
- * misc.c (insert_default_attributes): Add dummy version.
-Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
-2009 Free Software Foundation, Inc.
+Copyright (C) 2009 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/ada/ChangeLog-2001 b/gcc/ada/ChangeLog-2001
new file mode 100644
index 00000000000..ffc40022b4c
--- /dev/null
+++ b/gcc/ada/ChangeLog-2001
@@ -0,0 +1,2239 @@
+2001-12-23 Richard Henderson <rth@redhat.com>
+
+ * utils.c (end_subprog_body): Push GC context around
+ rest_of_compilation for nested functions.
+
+2001-12-23 Richard Henderson <rth@redhat.com>
+
+ * 5nosinte.ads: Get definition of "int" from Interfaces.C.
+
+2001-12-23 Florian Weimer <fw@deneb.enyo.de>
+
+ * gnat-style.texi (Declarations and Types): Remove ancient style
+ rule which was mandated by code generation issues.
+
+ * gnat-style.texi (header): Add @dircategory, @direntry.
+ (title page): Remove date.
+ (general) Add @./@: where approriate, and two spaces after the
+ full stop at the end of a sentence. Use @samp markup when
+ referring concrete lexical entities (keywords, attribute names
+ etc.), and @syntax for ARM grammar elements. Use @r for English
+ text in comments. Use @emph for emphasis. Change "if-statements"
+ etc. to "if statements" (without @samp). Break long lines. Make
+ casing of section names consistent.
+ (Identifiers): Use @samp markup for variable names.
+ (Comments): Use @samp markup for comment characters. Line-end
+ comments may follow any Ada code, not just statements. Fix
+ misspelling of "Integer" as "integer".
+ (Loop statements): Do not use variable name "I", use "J".
+ (Subprogram Declarations): Document alignment.
+ (Subprogram Bodies, Block statements): Document empty line before
+ "begin".
+
+2001-12-22 Florian Weimer <fw@deneb.enyo.de>
+
+ * make.adb (Add_Switch): Make Generic_Position a procedure. The
+ function approach did not work well because of a side effect (the
+ function call could reallocate the table which was being indexed
+ using its result). Fixes ada/4851.
+
+2001-12-19 Robert Dewar <dewar@gnat.com>
+
+ * bindgen.adb: Minor reformatting
+
+ * cstand.adb: Minor reformatting
+
+ * fmap.adb: Minor reformatting
+ Change name from Add for Add_To_File_Map (Add is much too generic)
+ Change Path_Name_Of to Mapped_Path_Name
+ Change File_Name_Of to Mapped_File_Name
+ Fix copyright dates in header
+
+ * fmap.ads:
+ Change name from Add for Add_To_File_Map (Add is much too generic)
+ Change Path_Name_Of to Mapped_Path_Name
+ Change File_Name_Of to Mapped_File_Name
+ Fix copyright dates in header
+
+ * fname-uf.adb: Minor reformatting. New names of stuff in Fmap.
+ Add use clause for Fmap.
+
+ * make.adb: Minor reformatting
+
+ * osint.adb: Minor reformatting. Change of names in Fmap.
+ Add use clause for Fmap.
+
+ * prj-env.adb: Minor reformatting
+
+ * prj-env.ads: Minor reformatting
+
+ * switch.adb: Minor reformatting. Do proper raise of Bad_Switch if
+ error found (there were odd exceptions to this general rule in
+ -gnatec/-gnatem processing)
+
+2001-12-19 Olivier Hainque <hainque@gnat.com>
+
+ * raise.c (__gnat_eh_personality): Exception handling personality
+ routine for Ada. Still in rough state, inspired from the C++ version
+ and still containing a bunch of debugging artifacts.
+ (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
+ inspired from the C++ library.
+
+ * raise.c (eh_personality): Add comments. Part of work for the GCC 3
+ exception handling integration.
+
+2001-12-19 Arnaud Charlet <charlet@gnat.com>
+
+ * Makefile.in: Remove use of 5smastop.adb which is obsolete.
+ (HIE_SOURCES): Add s-secsta.ad{s,b}.
+ (HIE_OBJS): Add s-fat*.o
+ (RAVEN_SOURCES): Remove files that are no longer required. Add
+ interrupt handling files.
+ (RAVEN_MOD): Removed, no longer needed.
+
+2001-12-19 Robert Dewar <dewar@gnat.com>
+
+ * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
+ Add 2001 to copyright date
+
+ * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
+ need to force universal inlining for these cases.
+
+2001-12-19 Arnaud Charlet <charlet@gnat.com>
+
+ * s-taprob.adb: Minor clean ups so that this unit can be used in
+ Ravenscar HI.
+
+ * exp_ch7.adb: Allow use of secondary stack in HI mode.
+ Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
+
+2001-12-19 Vincent Celier <celier@gnat.com>
+
+ * prj-tree.ads (Project_Node_Record): Add comments for components
+ Pkg_Id and Case_Insensitive.
+
+2001-12-19 Pascal Obry <obry@gnat.com>
+
+ * g-socket.adb: Minor reformatting. Found while reading code.
+
+2001-12-19 Robert Dewar <dewar@gnat.com>
+
+ * prj-tree.ads: Minor reformatting
+
+2001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * config-lang.in (diff_excludes): Remove.
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * sem_res.adb (Resolve_Selected_Component): do not generate a
+ discriminant check if the selected component is a component of
+ the argument of an initialization procedure.
+
+ * trans.c (tree_transform, case of arithmetic operators): If result
+ type is private, the gnu_type is the base type of the full view,
+ given that the full view itself may be a subtype.
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * sem_res.adb: Minor reformatting
+
+ * trans.c (tree_transform, case N_Real_Literal): Add missing third
+ parameter in call to Machine (unknown horrible effects from this
+ omission).
+
+ * urealp.h: Add definition of Round_Even for call to Machine
+ Add third parameter for Machine
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
+ predefined units in No_Run_Time mode.
+
+2001-12-17 Richard Kenner <kenner@gnat.com>
+
+ * misc.c (insn-codes.h): Now include.
+
+2001-12-17 Olivier Hainque <hainque@gnat.com>
+
+ * a-except.adb: Preparation work for future integration of the GCC 3
+ exception handling mechanism
+ (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
+ to factorize previous code sequences and make them externally callable,
+ e.g. for the Ada personality routine when the GCC 3 mechanism is used.
+ (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
+ Use the new notification routines.
+
+2001-12-17 Emmanuel Briot <briot@gnat.com>
+
+ * prj-tree.ads (First_Choice_Of): Document the when others case
+
+2001-12-17 Arnaud Charlet <charlet@gnat.com>
+
+ * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
+ HI-E mode, in order to support Ravenscar profile properly.
+
+ * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
+ mode on 32 bits targets.
+
+2001-12-17 Vincent Celier <celier@gnat.com>
+
+ * fmap.adb: Initial version.
+
+ * fmap.ads: Initial version.
+
+ * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
+ If search is successfully done, add to mapping.
+
+ * frontend.adb: Initialize the mapping if a -gnatem switch was used.
+
+ * make.adb:
+ (Gnatmake): Add new local variable Mapping_File_Name.
+ Create mapping file when using project file(s).
+ Delete mapping file before exiting.
+
+ * opt.ads (Mapping_File_Name): New variable
+
+ * osint.adb (Find_File): Use path name found in mapping, if any.
+
+ * prj-env.adb (Create_Mapping_File): New procedure
+
+ * prj-env.ads (Create_Mapping_File): New procedure.
+
+ * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
+ (Mapping_File)
+
+ * usage.adb: Add entry for new switch -gnatem.
+
+ * Makefile.in: Add dependencies for fmap.o.
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
+ is a package instantiation rewritten as a package body.
+ (Install_Withed_Unit): Undo previous change, now redundant.
+
+2001-12-17 Gary Dismuke <dismukes@gnat.com>
+
+ * layout.adb:
+ (Compute_Length): Move conversion to Unsigned to callers.
+ (Get_Max_Size): Convert Len expression to Unsigned after calls to
+ Compute_Length and Determine_Range.
+ (Layout_Array_Type): Convert Len expression to Unsigned after calls to
+ Compute_Length and Determine_Range.
+ Above changes fix problem with length computation for supernull arrays
+ where Max (Len, 0) wasn't getting applied due to the Unsigned
+ conversion used by Compute_Length.
+
+2001-12-17 Arnaud Charlet <charlet@gnat.com>
+
+ * rtsfind.ads:
+ (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
+ System.Secondary_Stack.
+ (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
+ in HI-E mode.
+ Remove unused entity RE_Exception_Data.
+
+ * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
+
+ * rident.ads (No_Secondary_Stack): New restriction.
+
+2001-12-17 Joel Brobecker <brobecke@gnat.com>
+
+ * gnat_rm.texi: Fix minor typos. Found while reading the section
+ regarding "Bit_Order Clauses" that was sent to a customer.
+ Very interesting documentation!
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * sem_case.adb (Choice_Image): Avoid creating improper character
+ literal names by using the routine Set_Character_Literal_Name. This
+ fixes bombs in certain error message cases.
+
+2001-12-17 Arnaud Charlet <charlet@gnat.com>
+
+ * a-reatim.adb: Minor reformatting.
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
+ case where the formal is an extension of another formal in the current
+ unit or in a parent generic unit.
+
+2001-12-17 Arnaud Charlet <charlet@gnat.com>
+
+ * s-tposen.adb: Update comments. Minor reformatting.
+ Minor code clean up.
+
+ * s-tarest.adb: Update comments. Minor code reorganization.
+
+2001-12-17 Gary Dismukes <dismukes@gnat.com>
+
+ * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
+ when Java_VM.
+
+2001-12-17 Robert Dewa <dewar@gnat.com>
+
+ * exp_attr.adb: Minor reformatting
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
+ derivations nested within a child unit: verify that the parent
+ type is declared in an outer scope.
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch12.adb: Minor reformatting
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
+ warning if current unit is a predefined one, from which bodies may
+ have been deleted.
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
+ Fix header format. Add 2001 to copyright date.
+
+ * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
+ which caused CE during compilation if checks were enabled.
+
+2001-12-17 Vincent Celier <celier@gnat.com>
+
+ * make.adb:
+ (Switches_Of): New function
+ (Test_If_Relative_Path): New procedure
+ (Add_Switches): Use new function Switches_Of
+ (Collect_Arguments_And_Compile): Use new function Switches_Of.
+ When using a project file, test if there are any relative
+ search path. Fail if there are any.
+ (Gnatmake): Only add switches for the primary directory when not using
+ a project file. When using a project file, change directory to the
+ object directory of the main project file. When using a project file,
+ test if there are any relative search path. Fail if there are any.
+ When using a project file, fail if specified executable is relative
+ path with directory information, and prepend executable, if not
+ specified as an absolute path, with the exec directory. Make sure
+ that only one -o switch is transmitted to the linker.
+
+ * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
+
+ * prj-nmsc.adb:
+ (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
+ when using a non standard naming scheme.
+ (Check_Ada_Naming_Scheme): Make sure that error messages
+ do not raise exceptions.
+ (Is_Illegal_Append): Return True if there is no dot in the suffix.
+ (Language_Independent_Check): Check the exec directory.
+
+ * prj.adb (Project_Empty): Add new component Exec_Directory
+
+ * prj.ads:
+ (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
+ (Project_Data): Add component Exec_Directory
+
+ * snames.adb: Updated to match snames.ads revision 1.215
+
+ * snames.ads: Added Exec_Dir
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * make.adb: Minor reformatting
+
+ * prj-nmsc.adb: Minor reformatting
+
+ * snames.adb: Updated to match snames.ads
+
+ * snames.ads: Alphebetize entries for project file
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * trans.c (process_freeze_entity): Do nothing if the entity is a
+ subprogram that was already elaborated.
+
+2001-12-17 Richard Kenner <kenner@gnat.com>
+
+ * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
+ and Esize if object is referenced via pointer.
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
+ is discrete before analyzing choices.
+
+2001-12-17 Joel Brobecker <brobecke@gnat.com>
+
+ * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
+ containing the name of the Ada Main Program. This string is mainly
+ intended for the debugger.
+ (Gen_Output_File_C): Do the equivalent change when generating a C file.
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * ali.adb: Set new Dummy_Entry field in dependency entry
+
+ * ali.ads: Add Dummy_Entry field to source dependency table
+
+ * bcheck.adb (Check_Consistency): Ignore dummy D lines
+
+ * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
+
+ * lib-writ.ads: Document dummy D lines for missing files.
+
+ * types.ads: (Dummy_Time_Stamp): New value for non-existant files
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * ali.adb: Type reference does not reset current file.
+
+ * ali.adb: Recognize and scan renaming reference
+
+ * ali.ads: Add spec for storing renaming references.
+
+ * lib-xref.ads: Add documentation for handling of renaming references
+
+ * lib-xref.adb: Implement output of renaming reference.
+
+ * checks.adb:
+ (Determine_Range): Document local variables
+ (Determine_Range): Make sure Hbound is initialized. It looks as though
+ there could be a real problem here with an uninitialized reference
+ to Hbound, but no actual example of failure has been found.
+
+2001-12-17 Laurent Pautet <pautet@gnat.com>
+
+ * g-socket.ads:
+ Fix comment of Shutdown_Socket and Close_Socket. These functions
+ should not fail silently because if they are called twice, this
+ probably means that there is a race condition in the user program.
+ Anyway, this behaviour is consistent with the rest of this unit.
+ When an error occurs, an exception is raised with the error message
+ as exception message.
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
+ that it happens before modification of Sloc values for -gnatD.
+
+ * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
+ so that it happens before modification of Sloc values for -gnatD.
+
+ * switch.adb: Minor reformatting
+
+2001-12-15 Richard Henderson <rth@redhat.com>
+
+ * sem_ch7.adb: Wrap comment.
+
+2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
+ 5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
+ 5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
+ 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
+ 5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
+ 7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
+ a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
+ a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
+ cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
+ exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
+ exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
+ g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
+ gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
+ make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
+ par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
+ repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
+ s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
+ s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
+ s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
+ s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
+ sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
+ sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
+ sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
+ sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
+ spelling errors.
+
+2001-12-14 Vincent Celier <celier@gnat.com>
+
+ * osint.adb(Create_Debug_File): When an object file is specified,
+ put the .dg file in the same directory as the object file.
+
+2001-12-14 Robert Dewar <dewar@gnat.com>
+
+ * osint.adb: Minor reformatting
+
+ * lib-xref.adb (Output_Instantiation): New procedure to generate
+ instantiation references.
+
+ * lib-xref.ads: Add documentation of handling of generic references.
+
+ * ali.adb (Read_Instantiation_Ref): New procedure to read
+ instantiation references
+
+ * ali.ads: Add spec for storing instantiation references
+
+ * bindusg.adb: Minor reformatting
+
+ * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
+
+ * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
+
+ * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
+
+ * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
+
+ * csets.ads:
+ Fix header format
+ Add 2001 to copyright date
+ Add entry for Latin-5 (Cyrillic ISO-8859-5)
+
+2001-12-14 Matt Gingell <gingell@gnat.com>
+
+ * adaint.c: mktemp is a macro on Lynx and can not be used as an
+ expression.
+
+2001-12-14 Richard Kenner <kenner@gnat.com>
+
+ * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
+ if operand is CONSTRUCTOR.
+
+2001-12-14 Ed Schonberg <schonber@gnat.com>
+
+ * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
+ before emiting check on right-hand side, so that exception information
+ is correct.
+
+2001-12-14 Richard Kenner <kenner@gnat.com>
+
+ * utils.c (create_var_decl): Throw away initializing expression
+ if just annotating types and non-constant.
+
+2001-12-14 Vincent Celier <celier@gnat.com>
+
+ * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
+ Default_Ada_...
+
+ * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
+ Remove functions.
+ (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
+
+ * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
+ Remove functions.
+ (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
+
+2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * ChangeLog: Remove piece of diff output.
+
+2001-12-14 Geert Bosch <bosch@gnat.com>
+
+ * config-lang.in: Update copyright notice
+
+ * layout.adb: Remove commented out code.
+
+ * mdllfile.ads: Update copyright notice. Fix header format.
+
+ * sem_case.ads: Likewise.
+
+ * sem_ch3.adb: Minor reformatting.
+
+2001-12-12 Geert Bosch <bosch@gnat.com>
+
+ * freeze.ads: Update copyright date.
+
+ * g-comlin.ads: Minor reformatting.
+
+ * gnat-style.texi: Fix typo.
+
+2001-12-12 Geert Bosch <bosch@gnat.com>
+
+ * einfo.h: Regenerate.
+
+2001-12-12 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
+ on known node types, rather than untyped fields. Further cleanups.
+
+2001-12-12 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch12.adb:
+ (Save_Entity_Descendant): Minor comment update.
+ (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
+ of an N_Attribute_Reference node. As per note below, this does not
+ eliminate need for Associated_Node in attribute ref nodes.
+ (Associated_Node): Documentation explicitly mentions attribute
+ reference nodes, since this field is used in such nodes.
+
+ * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
+
+2001-12-12 Robert Dewar <dewar@gnat.com>
+
+ * s-stalib.adb: Add more comments on with statements being needed
+
+ * par-ch12.adb: Minor reformatting
+
+ * prj-dect.ads: Fix copyright header
+
+ * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
+ inputs fit in 32 bits, but the result still overflows.
+
+ * s-fatgen.ads: Minor comment improvement
+
+2001-12-12 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
+ formal derived type, look for an inherited component from the full
+ view of the parent, if any.
+
+2001-12-12 Robert Dewar <dewar@gnat.com>
+
+ * checks.ads (Apply_Alignment_Check): New procedure.
+
+ * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
+ ensure that the alignment of objects with address clauses is
+ appropriate, and raise PE if not.
+
+ * exp_util.ads (Must_Be_Aligned): Removed, replaced by
+ Exp_Pakd.Known_Aligned_Enough
+
+ * mdllfile.ads: Minor reformatting
+
+ * mlib-fil.ads: Minor reformatting
+
+2001-12-12 Ed Schonberg <schonber@gnat.com>
+
+ * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
+ fix to any component reference if enclosing record has non-standard
+ representation.
+
+2001-12-12 Vincent Celier <celier@gnat.com>
+
+ * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
+ Iteration
+
+2001-12-12 Ed Schonberg <schonber@gnat.com>
+
+ * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
+ sem_attr.
+
+2001-12-12 Robert Dewar <dewar@gnat.com>
+
+ * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
+
+2001-12-12 Emmanuel Briot <briot@gnat.com>
+
+ * g-regexp.adb: Remove all debug code, since it isn't required anymore,
+ and it adds dependencies to system.io.
+
+2001-12-12 Pascal Obry <obry@gnat.com>
+
+ * g-dirope.adb (Expand_Path.Var): Correctly detect end of
+ variable name.
+
+2001-12-11 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
+ that is the parent of other generics, the instance body replaces the
+ instance node. Retrieve the instance of the spec, which is the one
+ that is visible in clients and within the body.
+
+2001-12-11 Vincent Celier <celier@gnat.com>
+
+ * gnatmain.adb: Initial version.
+
+ * gnatmain.ads: Initial version.
+
+ * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
+
+ * snames.adb: Updated to match snames.ads.
+
+ * snames.ads: Added Gnatstub.
+
+2001-12-11 Vincent Celier <celier@gnat.com>
+
+ * prj-attr.adb (Initialization_Data): Change name from
+ Initialisation_Data.
+
+2001-12-11 Emmanuel Briot <briot@gnat.com>
+
+ * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
+ + and * applied to backslashed expressions like \r.
+
+2001-12-11 Vasiliy Fofanov <fofanov@gnat.com>
+
+ * g-os_lib.ads: String_List type added, Argument_List type is now
+ subtype of String_List.
+
+2001-12-11 Robert Dewar <dewar@gnat.com>
+
+ * g-os_lib.ads: Change copyright to FSF
+ Add comments for String_List type
+
+2001-12-11 Vincent Celier <celier@gnat.com>
+
+ * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
+ string to the buffer).
+
+2001-12-11 Ed Schonberg <schonber@gnat.com>
+
+ * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
+ sem_attr.
+
+ * sem_attr.adb: Simplify previous fix for Address.
+ (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
+ to avoid anomalies where the bound of the type appears to raise
+ constraint error.
+
+2001-12-11 Robert Dewar <dewar@gnat.com>
+
+ * lib-xref.adb (Output_Refs): Make sure pointers are always properly
+ handled.
+
+2001-12-11 Ed Schonber <schonber@gnat.com>
+
+ * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
+ renamed unit before checking for recursive instantiations.
+
+2001-12-11 Emmanuel Briot <briot@gnat.com>
+
+ * prj.ads: Add comments for some of the fields.
+
+2001-12-11 Robert Dewar <dewar@gnat.com>
+
+ * lib-xref.adb (Output_Refs): Don't output type references outside
+ the main unit if they are not otherwise referenced.
+
+2001-12-11 Ed Schonberg <schonber@gnat.com>
+
+ * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
+ code and diagnose additional illegal uses
+
+ * sem_util.adb (Is_Object_Reference): An indexed component is an
+ object only if the prefix is.
+
+2001-12-11 Vincent Celier <celier@gnat.com>
+
+ * g-diopit.adb: Initial version.
+
+ * g-diopit.ads: Initial version.
+
+ * g-dirope.adb:
+ (Expand_Path): Avoid use of Unbounded_String
+ (Find, Wildcard_Iterator): Moved to child package Iteration
+
+ * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
+
+2001-12-11 Robert Dewar <dewar@gnat.com>
+
+ * sem_attr.adb: Minor reformatting
+
+2001-12-11 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb: Clarify some ???.
+
+2001-12-11 Robert Dewar <dewar@gnat.com>
+
+ * exp_util.adb (Must_Be_Aligned): Removed, replaced by
+ Exp_Pakd.Known_Aligned_Enough
+
+ * sem_ch13.adb (Check_Address_Alignment): Removed, extended
+ version is moved to Exp_Ch13.
+
+2001-12-11 Robert Dewar <dewar@gnat.com>
+
+ * einfo.ads: Minor reformatting
+
+ * exp_ch5.adb: Add comment for previous.change
+
+ * ali.adb: New interface for extended typeref stuff.
+
+ * ali.ads: New interface for typeref stuff.
+
+ * checks.adb (Apply_Alignment_Check): New procedure.
+
+ * debug.adb: Add -gnatdM for modified ALI output
+
+ * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
+
+ * lib-xref.adb: Extend generation of <..> notation to cover
+ subtype/object types. Note that this is a complete rewrite,
+ getting rid of the very nasty quadratic algorithm previously
+ used for derived type output.
+
+ * lib-xref.ads: Extend description of <..> notation to cover
+ subtype/object types. Uses {..} for these other cases.
+ Also use (..) for pointer types.
+
+ * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
+
+ * exp_pakd.adb: Minor reformatting. Note that prevous RH should say:
+ (Known_Aligned_Enough): Replaces Must_Be_Aligned.
+
+2001-12-11 Vincent Celier <celier@gnat.com>
+
+ * gnatcmd.adb:
+ Changed /COMPILE_ONLY to /ACTIONS=COMPILE
+ Changed /BIND_ONLY to /ACTIONS=BIND
+ Changed /LINK_ONLY to /ACTIONS=LINK
+
+2001-12-11 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch8.adb (Find_Selected_Component): improved search for a
+ candidate package in case of error.
+
+ * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
+ chain back on scope stack before reinstalling use clauses.
+
+ * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
+ is enabled, do not kill the code for the condition, to preserve
+ warning.
+
+2001-12-11 Robert Dewar <dewar@gnat.com>
+
+ * checks.adb (Insert_Valid_Check): Apply validity check to expression
+ of conversion, not to result of conversion.
+
+2001-12-11 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
+ before freezing parent. If the declarations are mutually recursive,
+ an access to the current record type may be frozen before the
+ derivation is complete.
+
+2001-12-05 Vincent Celier <celier@gnat.com>
+
+ * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
+ -c /COMPILE_ONLY, -l /LINK_ONLY
+
+ * opt.ads:
+ (Bind_Only): New Flag
+ (Link_Only): New flag
+
+ * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
+ and -l (Link_Only)
+
+ * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
+
+ * make.adb:
+ (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
+ (Gnatmake): Set the step flags. Only perform a step if the
+ corresponding step flag is True.
+ (Scan_Make_Arg): Reset the bind and link step flags when -u
+ or -gnatc has been specified.
+
+2001-12-05 Ed Schonberg <schonber@gnat.com>
+
+ * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
+ get bounds from right operand.
+
+ * sem_eval.adb: Minor reformatting
+
+ * exp_util.adb (Make_Literal_Range): use bound of literal rather
+ than Index'First, its lower bound may be different from 1.
+
+ * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
+ and C48009J
+
+2001-12-05 Vincent Celier <celier@gnat.com>
+
+ * prj-nmsc.adb Minor reformatting
+
+ * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
+ set and libraries are not supported.
+
+2001-12-05 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
+ private view explicitly, so the back-end can treat as a global
+ when appropriate.
+
+2001-12-05 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
+ unit, always replace instance node with new body, for ASIS use.
+
+2001-12-05 Vincent Celier <celier@gnat.com>
+
+ * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
+ libraries are not supported and both attributes Library_Name and
+ Library_Dir are specified.
+
+ * prj-proc.adb (Expression): Set location of Result to location of
+ first term.
+
+ * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
+ (prj-nmsc is now importing MLib.Tgt)
+
+ * prj-proc.adb: Put the change indicated above that was forgotten.
+
+2001-12-05 Robert Dewar <dewar@gnat.com>
+
+ * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
+
+2001-12-05 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
+ constraint, introduce explicit subtype declaration and derive from it.
+
+ * sem_ch3.adb: Minor reformatting
+
+2001-12-05 Robert Dewar <dewar@gnat.com>
+
+ * checks.adb (Determine_Range): Increase cache size for checks.
+ Minor reformatting
+
+ * exp_ch6.adb: Minor reformatting
+ (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
+ a parameter whose root type is System.Address, since treating such
+ subprograms as pure in the code generator is almost surely a mistake
+ that will lead to unexpected results.
+
+ * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
+ change handling of conversions.
+
+ * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
+
+2001-12-05 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
+ aggregate with static wrong size, attach generated Raise node to
+ declaration.
+
+2001-12-05 Robert Dewar <dewar@gnat.com>
+
+ * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
+ Fixes compilation abandoned bomb in B24009B.
+
+2001-12-05 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch12.adb:
+ Document use of Associated_Node on Selected_Components.
+ (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
+ to clarify use of untyped descendant fields.
+
+2001-12-05 Robert Dewar <dewar@gnat.com>
+
+ * prj-dect.ads: Add ??? comment
+ Add 2001 to copyright notice (was not done in after all)
+
+ * prj-part.adb: Minor reformatting. Reword one awkward error message.
+
+ * prj.ads: Minor reformatting throughout, and add some ??? comments
+
+ * snames.ads: Minor reformatting
+
+2001-12-05 Geert Bosch <bosch@gnat.com>
+
+ * snames.adb: Autoupdate
+
+2001-12-05 Vincent Celier <celier@gnat.com>
+
+ * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
+
+ * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
+
+ * prj-env.adb: Minor comment changes (modifying -> extends).
+
+ * prj-nmsc.adb: Minor comment changes (modifying -> extends).
+
+ * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
+ Tok_Extends.
+
+ * prj.adb (Initialize): Change Modifying to Extends.
+
+ * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
+
+ * prj.ads: Minor comment change (Modifying -> extending).
+
+ * snames.ads: Change modifying to extends.
+
+2001-12-05 Robert Dewar <dewar@gnat.com>
+
+ * sem_warn.adb: Remove stuff for conditionals, we are not going to
+ do this after all.
+
+ * sem_warn.ads: Remove stuff for conditionals, we are not going to
+ do this after all. Add 2001 to copyright notice
+
+2001-12-04 Geert Bosch <bosch@gnat.com>
+
+ * einfo.h, sinfo.h, treeprs.ads: Regenerate.
+
+2001-12-04 Robert Dewar <dewar@gnat.com>
+
+ * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
+ location if we already have errors. Stops some cases of cascaded
+ errors.
+
+ * errout.adb: Improve comment.
+
+2001-12-04 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch12.adb:
+ (Analyze_Formal_Type_Definition): Defend against Error.
+ (Analyze_Formal_Subprogram): Defend against Error.
+
+ * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
+ remove following semicolon if present. Removes cascaded error.
+
+2001-12-04 Douglas B. Rupp <rupp@gnat.com>
+
+ * bindgen.adb:
+ (Gen_Exception_Table_Ada): Write "begin" and then return if Num
+ exceptions equals 0.
+ (Gen_Exception_Table_C): Return if Num exceptions equals 0.
+ Fixes PIWG E tests (which have to be run with -gnatL).
+
+2001-12-04 Robert Dewar <dewar@gnat.com>
+
+ * einfo.ads: Minor reformatting
+
+2001-12-04 Ed Schonberg <schonber@gnat.com>
+
+ * einfo.ads: Block_Node points to the identifier of the block, not to
+ the block node itself, to preserve the link when the block is
+ rewritten, e.g. within an if-statement with a static condition.
+
+ * inline.adb (Cleanup_Scopes): recover block statement from block
+ entity using new meaning of Block_Node.
+
+ * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
+ identifier of block node, rather than to node itself.
+
+2001-12-04 Gary Dismukes <dismukes@gnat.com>
+
+ * layout.adb:
+ (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
+ (Discrimify): Go back to setting the Etypes of the selected component
+ because the Vname component does not exist at this point and will
+ fail name resolution. Also set Analyzed.
+ Remove with and use of Sem_Res.
+
+2001-12-04 Arnaud Charlet <charlet@gnat.com>
+
+ * Makefile.in: (HIE_SOURCES): add s-fat*.
+
+2001-12-04 Robert Dewar <dewar@gnat.com>
+
+ * sem_attr.adb:
+ (Compile_Time_Known_Attribute): New procedure.
+ (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
+ proper range check.
+
+2001-12-04 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
+ processing discriminants to diagnose illegal default values.
+
+2001-12-04 Ed Schonberg <schonber@gnat.com>
+
+ * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
+ access discriminant within a type extension that constrains its
+ parent discriminants.
+
+2001-12-04 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
+ is malformed, use instance of Any_Id to allow analysis to proceed.
+
+ * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
+ type definition is illegal.
+ (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
+ misplaced.
+
+2001-12-04 Ed Schonberg <schonber@gnat.com>
+
+ * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
+ constants.
+
+2001-12-04 Robert Dewar <dewar@gnat.com>
+
+ * errout.adb: Minor reformatting
+
+2001-12-04 Robert Dewar <dewar@gnat.com>
+
+ * exp_util.adb: Minor reformatting from last change
+
+ * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
+ which is a rewriting of an expression, traverse the original
+ expression to remove warnings that may have been posted on it.
+
+2001-12-04 Ed Schonberg <schonber@gnat.com>
+
+ * exp_util.adb (Must_Be_Aligned): Return false for a component of a
+ record that has other packed components.
+
+2001-12-04 Douglass B. Rupp <rupp@gnat.com>
+
+ * adaint.c: Minor cleanups.
+
+2001-12-04 Douglass B. Rupp <rupp@gnat.com>
+
+ * adaint.c: Do not use utime.h on vxworks.
+
+2001-12-04 Arnaud Charlet <charlet@gnat.com>
+
+ * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
+ more confusion than it solves.
+
+2001-12-04 Geert bosch <bosch@gnat.com>
+
+ * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
+
+2001-12-04 Geert Bosch <bosch@gnat.com>
+
+ * Makefile.in (update-sources): New target.
+ For use by gcc_release script.
+
+2001-12-04 Ed Schonberg <schonber@gnat.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
+ a configuration pragma, it is now legal wherever a pragma can appear.
+
+2001-12-04 Zack Weinberg <zack@codesourcery.com>
+
+ * Makefile.in: Don't set ALL. Delete @cross_defines@,
+ @cross_overrides@, @build_overrides@ stanzas. INTERNAL_CFLAGS
+ is now @CROSS@ -DIN_GCC; update comment.
+
+2001-12-04 Robert Dewar <dewar@gnat.com>
+
+ * einfo.adb (Has_Pragma_Pure_Function): New flag.
+ Fix problem that stopped ceinfo from working
+
+ * einfo.ads (Has_Pragma_Pure_Function): New flag.
+
+ * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
+
+2001-12-04 Douglas B. Rupp <rupp@gnat.com>
+
+ * gnatchop.adb:
+ (File_Time_Stamp): New procedure.
+ (Preserve_Mode): New boolean.
+ (Write_Unit): Pass time stamp.
+ Implement -p switch (preserve time stamps).
+
+ * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
+
+ * gnatchop.adb: Do usage info for -p switch
+
+ * adaint.h (__gnat_set_file_time_name): New function
+
+ * adaint.c (__gnat_set_file_time_name): Implement
+
+ * adaint.h: Fix typo
+
+2001-12-03 Robert Dewar <dewar@gnat.com>
+
+ * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
+ have Associated_Node.
+
+2001-12-03 Robert Dewar <dewar@gnat.com>
+
+ * prj-proc.adb: Minor reformatting
+
+ * make.adb: Minor reformatting
+
+2001-12-03 Geert Bosch <bosch@gnat.com>
+
+ * make.adb: Minor reformatting.
+
+2001-12-03 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch12.adb: Minor reformatting
+
+2001-12-03 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
+ push Standard on the stack before analyzing the instance body,
+ in order to have a clean visibility environment.
+
+ * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
+
+2001-12-03 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch12.adb (Instantiate_Package_Body): Protect against double
+ instantiation of a body that contains an inlined body.
+
+2001-12-03 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch12.adb:
+ (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
+ to prevent freezing within formal packages.
+ (Freeze_Subprogram_Body): If body comes from another instance that
+ appeared before its own body, place freeze node at end of current
+ declarative part, to prevent a back-end crash.
+ (Inline_Instance_Body): Handle properly a package instance within
+ a subprogram instance that is a child unit.
+
+2001-12-01 Graham Stott <grahams@redhat.com>
+
+ * Makefile.in (misc.o): Add missing $(srcdir) prefix
+ and add optabs.h dependency.
+
+ * misc.c: Include optabs.h
+ (gnat_tree_code_type): Make static and const.
+ (gnat_tree_code_length): Likewise.
+ (gnat_tree_code_name): Likewise.
+ (update_setjmp_buf): Obtain operands mode from insn_data.
+
+2001-11-29 Richard Henderson <rth@redhat.com>
+
+ * init.c: Remove obsolete dwarf2 frame.h section.
+
+2001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * Make-lang.in (ada.generated-manpages): New dummy target.
+
+2001-11-29 Ed Schonberg <schonber@gnat.com>
+
+ * g-os_lib.adb (Add_To_Command): use explicit loop to move string
+ into Command, an array conversion is illegal here. Uncovered by
+ ACATS B460005.
+
+2001-11-28 Geert Bosch <bosch@gnat.com>
+
+ * init.c: Minor whitespace changes.
+
+2001-11-28 Doug Rupp <rupp@gnat.com>
+
+ * init.c: (__gnat_install_handler,VMS): Increase size of alternate
+ signal stack.
+
+2001-11-28 Zack Weinberg <zack@codesourcery.com>
+
+ * misc.c (gnat_expand_constant): Move declaration above
+ definition of lang_hooks.
+ (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
+ (gnat_init): lang_expand_constant no longer exists.
+
+ (internal_error_function): Remove #ifdef HAVE_VPRINTF. We
+ always have vprintf.
+ (gnat_init): Always call set_internal_error_function.
+
+2001-11-27 Andreas Jaeger <aj@suse.de>
+
+ * Makefile.in (stamp-tool_src_dir): Use symbolic link.
+
+2001-11-27 Laurent Guerby <guerby@acm.org>
+
+ * Makefile.in: Regenerate Ada dependencies.
+
+2001-11-26 Richard Henderson <rth@redhat.com>
+
+ * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
+ gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
+ gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
+
+2001-11-25 Laurent Guerby <guerby@acm.org>
+
+ * sysdep.c (rts_get_*): Fix style.
+
+2001-11-19 Laurent Guerby <guerby@acm.org>
+
+ * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
+ since it is of no apparent use and cause warnings.
+
+2001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (gnat_decode_option, gnat_init_options): Make definitions
+ static too.
+ (gnat_init): Don't return NULL.
+ (finish_parse): Remove.
+
+2001-11-17 Laurent Guerby <guerby@acm.org>
+
+ * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
+ * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
+ * io-aux.c: Provide K&R prototypes to all functions, reformat code.
+ * lang-spec.h: Add missing struct field to silence warnings.
+ * sysdep.c (rts_get_*): Provide K&R prototype.
+ * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
+ * traceback.c (Unlock_Task, Lock_Task): Likewise.
+ * tracebak.c (__gnat_backtrace): Remove unused variable.
+ * utils.c (end_subprog_body): Move to K&R style.
+
+Thu Nov 15 18:16:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
+
+2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (gnat_init): Change prototype. Include the
+ functionality of the old init_parse and init_decl_processing.
+ (gnat_init_decl_processing): New prototype.
+ (init_parse): Remove.
+ * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
+
+2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (gnat_print_decl, gnat_print_type): Renamed.
+ (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
+ (print_lang_statistics, lang_print_xnode, print_lang_identifier,
+ set_yydebug): Remove.
+
+2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
+ (struct lang_hooks): Constify.
+ (language_string, lang_identify): Remove.
+ * utils.c (init_decl_processing): Update.
+
+2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
+
+ * misc.c: Include langhooks-def.h.
+ * Makefile.in: Update.
+
+2001-10-30 Robert Dewar <dewar@gnat.com>
+
+ * style.adb:
+ (Check_Identifier): Rewrite circuit to be compatible with use of letters
+ in the upper half of ASCII.
+ (Check_Identifier): Minor reformatting
+
+2001-10-30 Geert Bosch <bosch@gnat.com>
+
+ * (Associated_Node, Set_Associated_Node): Do not check for
+ Freeze_Entity.
+
+2001-10-30 Robert Dewar <dewar@gnat.com>
+
+ * a-reatim.ads: Minor reformatting
+
+2001-10-30 Robert Dewar <dewar@gnat.com>
+
+ * gnatdll.adb: Minor reformatting throughout. Many ??? added for
+ undocumented declarations.
+
+2001-10-30 Pascal Obry <obry@gnat.com>
+
+ * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
+ to the binder and linker.
+ Minor style fix.
+
+ * mdll.ads: Fix layout. Update copyright notice.
+
+ * mdll.adb: Fix layout. Update copyright notice.
+
+2001-10-30 Robert Dewar <dewar@gnat.com>
+
+ * usage.adb: Minor fix to output for -gnaty.
+
+2001-10-30 Ed Schonberg <schonber@gnat.com>
+
+ * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
+ to accommodate all its possible values.
+
+ * a-reatim.adb (Split): Special-case handling of Time_Span_First
+ and of small absolute values of T.
+
+2001-10-30 Richard Kenner <kenner@gnat.com>
+
+ * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
+ set_mem_attributes since not needed and wrong if RESULT if a REG;
+ fixes ACATS failures.
+
+2001-10-30 Geert Bosch <bosch@gnat.com>
+
+ * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
+ s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
+
+2001-10-30 Robert Dewar <dewar@gnat.com>
+
+ * bindusg.adb: Undocument -f switch.
+
+ * gnatcmd.adb: Remove /FULL_ELABORATION.
+
+ * opt.ads (Force_RM_Elaboration_Order): Document that this is
+ obsolescent.
+
+ * gnatbind.adb: Output new warning for use of obsolescent -f switch.
+
+ * gnatbind.adb: Minor update of warning msg.
+
+2001-10-30 Vincent Celier <celier@gnat.com>
+
+ * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
+ for project file switches (-P (/PROJECT_FILE=),
+ -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
+ or MEDIUM or HIGH)
+
+2001-10-30 Geert Bosch <bosch@gnat.com>
+
+ * decl.c: Minor whitespace fixes.
+
+2001-10-30 Richard Kenner <kenner@gnat.com>
+
+ * utils2.c (build_allocator): Test for SIZE overflow in array case too
+
+2001-10-30 Geert Bosch <bosch@gnat.com>
+
+ * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
+ Found due to GCC 3.0 warning of using uninitialized value.
+
+ * layout.adb:
+ (Get_Max_Size): Use variant record for tracking value/expression.
+ Makes logic clearer and prevents warnings for uninitialized variables.
+ (Layout_Array_Type): Use variant record for tracking value/expression.
+ Makes logic clearer and prevents warnings for uninitialized variables.
+
+2001-10-30 Robert Dewar <dewar@gnat.com>
+
+ * lib.adb: Minor reformatting
+
+ * s-taprop.ads: Minor reformatting
+
+2001-10-29 Laurent Guerby <guerby@acm.org>
+
+ * init.c:
+ (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
+ const.
+ (_gnat_error_handler): Make MSG const.
+
+2001-10-29 Richard Kenner <kenner@gnat.com>
+
+ * sysdep.c: Fix localtime_r problem on LynxOS.
+ Also remove #elif to avoid warnings.
+
+ * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
+ used by this.
+
+ * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
+
+2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
+ exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
+ g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
+ g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
+ layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
+ s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
+ sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
+ sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
+ sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
+ types.ads, urealp.adb: Fix spelling errors.
+
+2001-10-27 Laurent Guerby <guerby@acm.org>
+
+ * trans.c (gigi): Fix non determinism leading to bootstrap
+ comparison failures for debugging information.
+
+2001-10-26 Florian Weimer <fw@deneb.enyo.de>
+
+ * gnat_rm.texi: Use @./@: where appropriate.
+
+2001-10-26 Robert Dewar <dewar@gnat.com>
+
+ * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
+
+2001-10-26 Richard Kenner <kenner@gnat.com>
+
+ * gmem.c (__gnat_gmem_read_next): Properly check for EOF
+
+2001-10-26 Richard Kenner <kenner@gnat.com>
+
+ * decl.c (validate_size): Modify message for bad size to avoid
+ implication that compiler is modifying the size.
+
+2001-10-26 Robert Dewar <dewar@gnat.com>
+
+ * prj-util.adb: Minor reformatting. Fix bad header format.
+
+2001-10-26 Robert Dewar <dewar@gnat.com>
+
+ * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
+
+ * sinfo.ads: Clarify use of Associated_Node (documentation only).
+
+ * sem_ch12.adb: Change Node4 to Associated_Node. Change
+ Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
+ much more narrowly in places where needed. These are cleanups.
+
+2001-10-26 Joel Brobecker <brobecke@gnat.com>
+
+ * 5zosinte.ads (null_pthread): new constant.
+
+ * 5ztaprop.adb:
+ (Initialize_TCB): Initialize thread ID to null, to be able to verify
+ later that this field has been set.
+ (Finalize_TCB): ditto.
+ (Suspend_Task): Verify that the thread ID is not null before using it.
+ (Resume_Task): ditto.
+
+ * s-tasdeb.adb:
+ (Resume_All_Tasks): Lock the tasks list before using it.
+ (Suspend_All_Tasks): ditto.
+
+2001-10-26 Richard Kenner <kenner@gnat.com>
+
+ * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
+ Make constant variant of designated type for Is_Access_Constant.
+ Call update_pointer_to with main variant.
+
+ * trans.c (process_freeze_entity, process_type):
+ Call update_pointer_to on main variant.
+
+ * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
+ If main variant, update all other variants.
+
+ * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
+ TREE_STATIC.
+
+2001-10-26 Robert Dewar <dewar@gnat.com>
+
+ * prj-util.adb: Minor reformatting
+
+2001-10-26 Robert Dewar <dewar@gnat.com>
+
+ * prj-util.adb: Minor reformatting
+
+2001-10-26 Robert Dewar <dewar@gnat.com>
+
+ * prj-attr.adb: Minor reformatting throughout
+
+2001-10-26 Robert Dewar <dewar@gnat.com>
+
+ * prj-attr.ads: Minor reformatting
+ Add ??? comment (this whole spec has almost no comments)
+
+2001-10-26 Vincent Celier <celier@gnat.com>
+
+ * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
+ ("//") that precede the drive letter on Interix.
+
+2001-10-26 Geert Bosch <bosch@gnat.com>
+
+ * gnat_rm.texi: Add GNAT Reference Manual.
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
+ is Error. Similar change for other renaming cases.
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * s-atacco.ads: Add pragma Inline_Always for functions.
+ Fix header format. Add copyright 2001
+
+2001-10-25 Ed Schonberg <schonber@gnat.com>
+
+ * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
+ return Error rather than Empty so that analysis can proceed.
+
+2001-10-25 Ed Schonberg <schonber@gnat.com>
+
+ * sem_util.adb (Enter_Name): better handling of cascaded error
+ messages when a unit appears in its own context.
+
+2001-10-25 Ed Schonberg <schonber@gnat.com>
+
+ * sem_util.adb (Defining_Entity): in case of error, attach created
+ entity to specification, so that semantic analysis can proceed.
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * sem_util.adb
+ (Defining_Entity): Deal with Error.
+ (Process_End_Label): Deal with bad end label for.
+
+2001-10-25 Ed Schonberg <schonber@gnat.com>
+
+ * sem_elab.adb (Check_A_Call): refine message when call is in an
+ instance but callee is not declared in the generic unit.
+
+2001-10-25 Ed Schonberg <schonber@gnat.com>
+
+ * sem_elab.adb (Check_A_Call): check for renaming before finding the
+ enclosing unit, which may already be different from the calling unit.
+
+2001-10-25 Geert Bosch <bosch@gnat.com>
+
+ * 4gintnam.ads: fix header format.
+
+2001-10-25 Ed Schonberg <schonber@gnat.com>
+
+ * sem_res.adb (Resolve_Call): if the call is actually an indexing
+ operation on the result of a parameterless call, perform elaboration
+ check after the node has been properly rewritten.
+
+ * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
+ inlined within the generic tree, the defining identifier is not a
+ compilation_unit.
+
+2001-10-25 Ed Schonberg <schonber@gnat.com>
+
+ * sem_res.adb (Resolve): special-case resolution of Null in an
+ instance or an inlined body to avoid view conflicts.
+
+ * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
+ compatibility by retrieving the access type of the generic copy.
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch3.adb:
+ (Analyze_Number_Declaration): Handle error expression.
+ (Signed_Integer_Type_Declaration): Handle error bound.
+ (Analyze_Subtype_Indication): Handle error range.
+
+ * sem_util.adb (Get_Index_Bounds): Check for Error.
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
+ in no run time mode.
+
+2001-10-25 Pascal Obry <obry@gnat.com>
+
+ * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
+ mode case for ALLOC case.
+
+ * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
+ all platforms. Improvement of last change.
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
+
+2001-10-25 Geert Bosch <bosch@gnat.com>
+
+ * osint.adb (Is_Relative): Remove duplicate.
+
+2001-10-25 Pascal Obry <obry@gnat.com>
+
+ * osint.adb (Read_Default_Search_Dirs): correctly detect relative
+ pathnames in UNIX and DOS style with drive letter.
+ (Is_Relative): new routine.
+
+ * osint.adb: Minor reformatting
+
+ * osint.adb (Is_Relative): implementation using
+ GNAT.OS_Lib.Is_Absolute_Path. Better fix.
+
+2001-10-25 Pascal Obry <obry@gnat.com>
+
+ * g-dirope.adb (Basename): correctly compute offset between the
+ original Path and the translated one.
+
+ * g-dirope.adb: (Base_Name): add some comments.
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
+ in HIE mode, avoids compilation abandoned message
+
+ * exp_imgv.adb: Correct typo in previous change
+
+ * exp_imgv.adb: Correct typo in previous change (not my day!)
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
+
+2001-10-25 Pascal Obry <obry@gnat.com>
+
+ * g-awk.ads: Move all pragma inlines next to the routine
+ declarations. This is more uniform with other GNAT spec.
+
+2001-10-22 Geert Bosch <bosch@gnat.com>
+
+ * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
+
+2001-10-19 Geert Bosch <bosch@gnat.com>
+
+ * Makefile.in (tools, gnattools): Remove gnatmem.
+
+2001-10-17 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (misc.o): Depend on langhooks.h.
+ * misc.c: Include it.
+ (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
+ (LANG_HOOKS_DECODE_OPTION): New.
+ (lang_hooks): Use LANG_HOOKS_INITIALIZER.
+
+2001-10-16 Florian Weimer <fw@deneb.enyo.de>
+
+ * trans.c (tree_transform): Adjust to recent change in
+ expand_asm_operands to implement named asm operands.
+
+2001-10-11 Ed Schonberg <schonber@gnat.com>
+
+ * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
+ renaming of discriminant for mutable record type.
+
+2001-10-11 Robert Dewar <dewar@gnat.com>
+
+ * validsw.adb: Properly save -gnatVn status.
+
+2001-10-11 Robert Dewar <dewar@gnat.com>
+
+ * usage.adb: Add lines for V switch.
+
+ * gnatcmd.adb (COMPILE): Revise translations for -gnatV
+ (/VALIDITY_CHECKING).
+
+2001-10-11 Ed Schonberg <schonber@gnat.com>
+
+ * sem_type.adb (Add_One_Interp): an operator for a type declared in
+ an extension of System is known to be visible.
+
+2001-10-11 Ed Schonberg <schonber@gnat.com>
+
+ * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
+ properly. Fixes regression on ACATS C34005G.
+
+2001-10-11 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
+ loop in generic instance, since this is likely not very useful.
+
+2001-10-11 Robert Dewar <dewar@gnat.com>
+
+ * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
+ the error message for high integrity mode.
+
+ * rtsfind.adb (RTE): Give message if we try to find an entity that
+ is not available in high integrity mode.
+
+ * rtsfind.ads:
+ (OK_To_Use_In_HIE_Mode): New array.
+ (RTE): May return Empty in high integrity mode.
+
+ * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
+ OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
+ unit if not inlined always and in no runtime mode. Fixes problem
+ caused by new Rtsfind changes.
+
+ * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
+ body is deleted.
+
+ * rtsfind.adb (RTE): Make sure we do not try to load unit after
+ giving message for entity not available in high integrity mode.
+
+2001-10-11 Pascal Obry <obry@gnat.com>
+
+ * impunit.adb: Add GNAT.CRC32.
+
+2001-10-11 Ed Schonberg <schonber@gnat.com>
+
+ * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
+ properly the case where one universal operand in a non-static
+ exponentiation of a real literal.
+
+2001-10-11 Ed Schonberg <schonber@gnat.com>
+
+ * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
+ clause, return the gobal finalization list, for lack of anthing else.
+
+2001-10-11 Ed Schonberg <schonber@gnat.com>
+
+ * exp_ch7.adb (Make_Transient_Block): if statement is within
+ exception handler, always use new transient scope to place Clean
+ procedure.
+
+2001-10-11 Pascal Obry <obry@gnat.com>
+
+ * Makefile.in:
+ (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
+ (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
+ (GNATLS_RTL_OBJS): add g-crc32.o
+ (GNATMAKE_RTL_OBJS): add g-crc32.o
+
+ * ali-util.adb:
+ (CRC_Match): new function.
+ (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
+ instead of the previous simple checksum algorithm.
+ (Time_Stamp_Mismatch): use CRC_Match for comparison.
+ (Set_Source_Table): idem.
+
+ * ali-util.ads:
+ (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
+ instead of simple checksum.
+ (CRC_Match): new function.
+ (CRC_Error): new constant.
+
+ * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
+ a CRC now and not a simple checksum. A CRC uses lower-case hex
+ letters, fixes ambiguity in parsing.
+
+ * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
+ is what this variable will store.
+
+ * bcheck.adb: Change reference to chechsum in comments by CRC.
+ (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
+ rename All_Checksum_Match to All_CRC_Match. Change due to API
+ renaming since now GNAT does not use a simple checksum but a
+ CRC using GNAT.CRC32.
+
+ * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
+ now and not anymore a simple checksum.
+
+ * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
+ places.
+
+ * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
+
+ * scans.adb:
+ (Restore_Scan_State): rename Checksum to CRC.
+ (Save_Scan_State): idem.
+
+ * scans.ads:
+ With GNAT.CRC32.
+ (Checksum): rename to CRC.
+ (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
+
+ * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
+ GNAT.CRC32). Update copyright notice.
+
+ * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
+ GNAT.CRC32). Update copyright notice.
+
+ * scn.adb:
+ (Accumulate_Checksum): removed.
+ (Update): new procedure. Add a wide-character into the CRC.
+
+ * sinput-l.adb:
+ (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
+ (Load_File): fix initialization of S (change Source_Checksum to
+ Source_CRC)
+
+ * sinput-p.adb (Load_Project_File): rename Source_Checksum to
+ Source_CRC in S initialization.
+
+ * sinput.adb (Source_Checksum): renamed to Source_CRC.
+
+ * sinput.ads (Source_Checksum): renamed to Source_CRC.
+ Update comments for the CRC.
+
+ * types.adb (Hex): Use lowercase for the letter part.
+
+ * types.ads (Get_Hex_String): Returns the hexadecimal representation
+ for a word. This is currently used only for CRC. In previous version,
+ the checksum was using a representation with all letter being
+ upper-case. With the new implementation (using CRC) we do not remove
+ the 32th bit of the CRC, so we can have an upper-case starting letter
+ in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
+ It is ambigous since the CRC was optional and could be followed by
+ options like EB, EE. So now this routines uses lower-case letter for
+ the hexadecimal representation. Strange enough only lower case letters
+ where checked in Scan_ALI (even if this was not a possible case).
+
+ * gnatvsn.ads (Library_Version): changed to 3.15a.
+
+ * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
+ for the compiler.
+
+ * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
+ for the compiler.
+
+ * ali-util.adb: Redo previous change to avoid using word CRC everywhere
+ Add 2001 to copyright notice
+ (Accumulate_Checksum): Modify to use System.CRC32.
+
+ * ali-util.ads: Redo changes of previous revision to continue to use
+ the word Checksum. Add 2001 to copyright notice.
+
+ * ali.adb: Undo some of previous changes, not needed.
+ Keep the change for lower case letters in the checksum.
+
+ * ali.ads: Undo previous change not needed.
+
+ * bcheck.adb: Undo most of previous change, not needed.
+ But do use Checksums_Match for checksum comparison.
+
+ * gnatls.adb: Undo most of previous change, not needed.
+ But do use Checksums_Match for comparing checksums.
+
+ * lib-load.adb: Undo previous change, not needed.
+
+ * lib-writ.adb: Undo previous change, not needed.
+
+ * lib-writ.ads: Document that checksums use lower case,
+ not upper case letters.
+
+ * scans.adb: Undo previous change, not needed
+
+ * scans.ads: Undo previous change, not needed.
+
+ * scn-nlit.adb: Undo previous changes, not needed.
+
+ * scn-slit.adb: Undo previous change, not needed. Fix header format.
+
+ * scn.adb:
+ (Accumulate_Checksum): Use System.CRC32.
+ (Initialize_Checksum): New procedure.
+ Remove other changes of previous revision.
+
+ * sinput-p.adb: Undo previous change, not needed.
+
+ * sinput.adb: Undo previous change, not needed.
+
+ * sinput-l.adb: Undo previous change, not needed.
+
+ * sinput.ads: Undo previous change, not needed. Keep only comment
+ on new checksum algorithm
+
+ * Makefile.in: Add s-crc32 as needed, remove g-crc32.
+ Also remove a-tags and a-stream from GNAT sources.
+
+ * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
+
+ * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
+
+2001-10-11 Geert Bosch <bosch@gnat.com>
+
+ * einfo.h: Regenerate.
+
+ * nmake.ads: Regenerate.
+
+ * nmake.adb: Regenerate.
+
+ * sinfo.h: Regenerate.
+
+ * treeprs.adb: Regenerate.
+
+2001-10-10 Geert Bosch <bosch@gnat.com>
+
+ * gnat-style.texi: New file describing coding guidelines for Ada.
+
+2001-10-10 Ed Schonberg <schonber@gnat.com>
+
+ * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
+ is Flag174.
+
+2001-10-10 Geert Bosch <bosch@gnat.com>
+
+ * snames.ads: Add new names for project facility.
+
+ * snames.adb: Update to reflect snames.ads changes.
+
+ * snames.h: Update to reflect snames.ads changes.
+
+2001-10-10 Vincent Celier <celier@gnat.com>
+
+ * make.adb:
+ (Add_Switches): reflect the changes for the switches attributes
+ Default_Switches indexed by the programming language,
+ Switches indexed by the file name.
+ (Collect_Arguments_And_Compile): Idem.
+ Reflect the attribute name changes.
+
+ * prj-attr.adb:
+ (Initialisation_Data): Change the names of some packages and
+ attributes.
+ (Initialize): process case insensitive associative arrays.
+
+ * prj-attr.ads:
+ (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
+
+ * prj-dect.adb:
+ (Parse_Attribute_Declaration): For case insensitive associative
+ arrays, set the index string to lower case.
+
+ * prj-env.adb:
+ Reflect the changes of the project attributes.
+
+ * prj-nmsc.adb:
+ Replace Check_Naming_Scheme by Ada_Check and
+ Language_Independent_Check.
+
+ * prj-nmsc.ads:
+ Replaced Check_Naming_Scheme by 2 procedures:
+ Ada_Check and Language_Independent_Check.
+
+ * prj-proc.adb:
+ (Process_Declarative_Items): For case-insensitive associative
+ arrays, set the index string to lower case.
+ (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
+ Prj.Nmsc.Check_Naming_Scheme.
+
+ * prj-tree.adb:
+ (Case_Insensitive): New function
+ (Set_Case_Insensitive): New procedure
+
+ * prj-tree.ads:
+ (Case_Insensitive): New function
+ (Set_Case_Insensitive): New procedure
+ (Project_Node_Record): New flag Case_Insensitive.
+
+ * prj-util.adb:
+ (Value_Of): new function to get the string value of a single
+ string variable or attribute.
+
+ * prj-util.ads:
+ (Value_Of): new function to get the string value of a single
+ string variable or attribute.
+
+ * prj.adb:
+ (Ada_Default_Spec_Suffix): New function
+ (Ada_Default_Impl_Suffix): New function
+ Change definitions of several constants to reflect
+ new components of record types.
+
+ * prj.ads:
+ (Naming_Data): Change several components to reflect new
+ elements of naming schemes.
+ (Project_Data): New flags Sources_Present and
+ Language_Independent_Checked.
+ (Ada_Default_Spec_Suffix): New function.
+ (Ada_Default_Impl_Suffix): New function.
+
+ * snames.ads:
+ Modification of predefined names for project manager: added
+ Implementation, Specification_Exceptions, Implementation_Exceptions,
+ Specification_Suffix, Implementation_Suffix, Separate_Suffix,
+ Default_Switches, _Languages, Builder, Cross_Reference,
+ Finder. Removed Body_Part, Specification_Append, Body_Append,
+ Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
+ Gnatlink.
+
+ * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
+ Add comments.
+
+ * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
+ not that it is Nil_Variable_Value.
+
+ * prj.ads: Add ??? for uncommented declarations
+
+2001-10-10 Ed Schonberg <schonber@gnat.com>
+
+ * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
+ constant, do not indicate possible modification, so that gigi can
+ treat it as a bona fide constant.
+
+2001-10-10 Robert Dewar <dewar@gnat.com>
+
+ * sem_prag.adb: Add processing for pragma External.
+
+ * snames.ads: Add entry for pragma External.
+
+ * par-prag.adb: Add pragma External.
+
+ * snames.adb: Updated to match snames.ads.
+
+2001-10-10 Ed Schonberg <schonber@gnat.com>
+
+ * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
+ a dynamic task if the allocator appears in an indexed assignment
+ or selected component assignment.
+
+ * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
+ For a dynamic task in an assignment statement, use target of
+ assignment to generate meaningful name.
+
+2001-10-10 Ed Schonberg <schonber@gnat.com>
+
+ * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
+ a generic package.
+
+ * einfo.ads: Body_Entity is also defined for generic package.
+ Documentation change only
+
+ * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
+ others_choice for a discriminated component initialization,
+ convert discriminant references into the corresponding discriminals.
+
+ * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
+ only if original type is private and expression has to be wrapped
+ in a conversion.
+
+ * checks.adb:
+ (Apply_Constraint_Check): Do not perform length check
+ if expression is an aggregate with only an others_choice.
+ (Length_N_Cond): two references to the same in_parameter
+ (typically the discriminal in an init_proc) denote the same value.
+ Two useful optimization uncovered by bugfixes above.
+
+2001-10-10 Robert Dewar <dewar@gnat.com>
+
+ * xeinfo.adb: Change int to char in translation of enumeration types.
+ This fixes a problem in the C representation of component alignment.
+ Add 2001 to copyright notice
+
+2001-10-10 Richard Kenner <kenner@gnat.com>
+
+ * decl.c: (validate_size): Do check size of object of integral type
+ if it is a packed array type.
+
+2001-10-10 Richard Kenner <kenner@gnat.com>
+
+ * decl.c: (gnat_to_gnu_entity, case object): Also materialize
+ VAR_DECL for constant if not Is_Public but -O0.
+
+2001-10-10 Richard Kenner <kenner@gnat.com>
+
+ * misc.c (struct lang_hooks): Add new initializer to match GCC change.
+
+2001-10-10 Geert Bosch <bosch@gnat.com>
+
+ * xnmake.adb (XNmake): Fix handling of -s/-b options. No longer
+ use '/' as switch character, allowing for absolute file names.
+
+2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
+ FSF address.
+
+2001-10-08 Geert Bosch <bosch@gnat.com>
+
+ * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
+ Automatically build utilities when files need to be regenerated.
+
+2001-10-08 Geert Bosch <bosch@gnat.com>
+
+ * xsnames.adb: New utility for updating snames.ads and snames.adb
+
+2001-10-08 Zack Weinberg <zack@codesourcery.com>
+
+ * Make-lang.in (ADAFLAGS): Add -W -Wall.
+ (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
+ (gnat1): Also depend on attribs.o.
+ (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
+ * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
+ (ADAC): Set to @ADAC@ in stage1, $(CC) later.
+ (ADAFLAGS): Add -W -Wall.
+ (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
+ take out CFLAGS.
+
+ (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
+ s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
+ s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
+ Use $(ADAC), not $(CC), as compilation command.
+
+ (gnattools): Depend directly on tools to build, don't use
+ recursive make.
+ (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
+
+ * einfo.h, sinfo.h: New files (autogenerated).
+
+2001-10-08 Richard Henderson <rth@redhat.com>
+
+ * comperr.adb (Abort_In_Progress): New.
+ (Compiler_Abort): Use it to prevent recursion.
+
+2001-10-08 Robert Dewar <dewar@gnat.com>
+
+ * atree.adb: Set Error_Posted in Error node, helps error recovery.
+
+ * par-endh.adb (Output_End_Expected): We should also not test
+ Error_Posted on the Error node, since now it is always set.
+
+ * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
+ to help error recovery. Part of general work on 9407-004.
+
+ * par.adb: Add ??? for misuse of error
+
+ * sem_res.adb:
+ (Resolve): Defend against Error, fixes 9407-003.
+ (Resolve_Discrete_Subtype_Indication): Defend against Error.
+
+ * sinfo.ads (N_Error): Now has Etype field (which will be set
+ to Any_Type to help error recovery).
+
+2001-10-08 Richard Kenner <kenner@gnat.com>
+
+ * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
+ Consistently set MEM attributes from expression; fixes
+ bootstrap failure on x86.
+
+2001-10-08 Geert Bosch <bosch@gnat.com>
+
+ * 5oosinte.adb: Add 2001 to copyright notice.
+
+2001-10-08 Geert Bosch <bosch@gnat.com>
+
+ * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
+
+ * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
+
+2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
+
+2001-10-05 Geert Bosch <bosch@gnat.com>
+
+ * adaint.h: Small formatting fix.
+
+2001-10-04 Geert Bosch <bosch@gnat.com>
+
+ * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
+ Arg is int, not FILE *, in dummy version of functions.
+
+ * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
+ Arg is int, not FILE *.
+
+2001-10-04 Geert Bosch <bosch@gnat.com>
+
+ * 3lsoccon.ads: Added file, missed with initial check ins.
+
+ * 4lintnam.ads: Fix header format.
+ Change Linux to GNU/Linux.
+
+ * 5iosinte.adb: Change Linux to GNU/Linux.
+
+ * 5iosinte.ads: Change Linux to GNU/Linux.
+
+ * 5itaprop.adb: Change Linux to GNU/Linux.
+
+ * 5itaspri.ads: Change Linux to GNU/Linux.
+ Update copyright notice.
+
+ * 5lintman.adb: Change Linux to GNU/Linux.
+
+ * 5lml-tgt.adb: Change Linux to GNU/Linux.
+
+ * 5losinte.ads: Change Linux to GNU/Linux.
+
+ * 5lsystem.ads: Change Linux to GNU/Linux.
+
+ * 5qosinte.adb: Change Linux to GNU/Linux.
+
+ * 5qosinte.ads: Change Linux to GNU/Linux.
+
+ * 5qparame.ads: Change Linux to GNU/Linux.
+
+ * 5qtaprop.adb: Change Linux to GNU/Linux.
+
+ * 5qtaspri.ads: Change Linux to GNU/Linux.
+ Add 2001 to copyright notice.
+
+ * 5vintman.ads: Change Linux to GNU/Linux.
+ Fix header format. Add 2001 to copyright notice.
+
+ * g-soccon.ads: Change Linux to GNU/Linux.
+
+ * g-trasym.ads: Change Linux to GNU/Linux.
+ Add 2001 to copyright notice.
+
+ * memtrack.adb: Change Linux to GNU/Linux.
+
+ * s-intman.ads: Change Linux to GNU/Linux.
+ Add 2001 to copyright notice. Fix header format.
+
+ * s-stache.adb: Change Linux to GNU/Linux.
+
+ * adaint.c: Change Linux to GNU/Linux.
+
+ * cio.c: Change Linux to GNU/Linux.
+
+ * cstreams.c: Change Linux to GNU/Linux.
+
+ * init.c: Change Linux to GNU/Linux.
+
+ * gmem.c: Change Linux to GNU/Linux.
+
+ * tracebak.c: Change Linux to GNU/Linux.
+
+2001-10-02 Geert Bosch <bosch@gnat.com>
+
+ * misc.c (insert_default_attributes): Add dummy version.
+
+
+
+Copyright (C) 2001 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/ada/ChangeLog-2002 b/gcc/ada/ChangeLog-2002
new file mode 100644
index 00000000000..09580b3db9c
--- /dev/null
+++ b/gcc/ada/ChangeLog-2002
@@ -0,0 +1,986 @@
+2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gnat_rm.texi, gnat_ug.texi: Use @copying.
+ * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+ gnat_ug_wnt.texi: Regenerate.
+
+2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gnat_rm.texi: Include gcc-common.texi. Use GCC version number
+ only.
+ * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
+ $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
+ $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
+ ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
+ ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
+ $(srcdir)/doc/include/gcc-common.texi.
+
+2002-12-15 Geert Bosch <bosch@gnat.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
+
+2002-12-14 Geert Bosch <bosch@gnat.com>
+
+ PR ada/5690
+ * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
+ case of a body created for a Renaming_As_Body, on which
+ conformance checks are not performed.
+
+2002-11-30 Zack Weinberg <zack@codesourcery.com>
+
+ * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
+ utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
+ not already included.
+ * Make-lang.in: Update dependencies.
+
+2002-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
+ * adaint.c (__gnat_tmp_name): Better, but good enough for now,
+ solution to buffer overflow bug on GNU/Linux.
+
+2002-11-14 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ PR ada/5856
+ PR ada/6919
+ * bindgen.adb: Remove all references to Public_Version.
+ * comperr.adb: Remove all references to Public_Version and
+ GNATPRO_Version; correct bug reporting instructions.
+ * comperr.ads: Change to match bug box.
+ * gnatvsn.ads: Remove all references to Public version and
+ GNATPRO version.
+
+2002-11-13 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ PR ada/6919
+ * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
+ GNU/Linux.
+
+ PR ada/6558
+ * config-lang.in: Remove diff_excludes.
+
+2002-11-05 Graham Stott <graham.stott@btinternet.com>
+
+ PR ada/8358
+ * trans.c (gnu_pending_elaboration_lists): New GC root.
+ (build_unit_elab): Use..
+
+2002-10-30 Geert Bosch <bosch@gnat.com>
+
+ PR ada/6558
+ * misc.c : Include optabs.h
+
+ * Make-lang.in (misc.o): Add dependency on optabs.h
+
+2002-10-29 Geert Bosch <bosch@gnat.com>
+
+ PR ada/6558
+ * Make-lang.in (gnatbind): Depend on CONFIG_H
+
+2002-10-29 Geert bosch <bosch@gnat.com>
+
+ PR ada/6558
+ * misc.c: Unrevert misc.c (1.13)
+
+2002-10-28 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
+ maintainership comments.
+
+2002-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ PR ada/5904
+ * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
+ 5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
+ 5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
+ 7staprop.adb: Correct statements in comments about
+ maintainership of GNAT.
+
+ PR ada/5904
+ * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
+ gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
+ osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
+ osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
+ s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
+ s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
+ sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
+ switch-c.ads switch-m.adb switch-m.ads: Correct statements in
+ comments about maintainership of GNAT.
+
+ PR ada/6919 (forward port of patch for PR ada/5904)
+ * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
+ 4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
+ 4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
+ 4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
+ 4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
+ 4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
+ 4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
+ 52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
+ 5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
+ 5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
+ 5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
+ 5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
+ 5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
+ 5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
+ 5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
+ 5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
+ 5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
+ 5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
+ 5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
+ 5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
+ 5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
+ 5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
+ 5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
+ 5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
+ 5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
+ 5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
+ 5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
+ 5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
+ 7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
+ a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
+ a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
+ a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
+ a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
+ a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
+ a-except.adb a-except.ads a-excpol.adb a-exctra.adb
+ a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
+ a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
+ a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
+ a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
+ a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
+ a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
+ a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
+ a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
+ a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
+ a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
+ a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
+ a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
+ a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
+ a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
+ a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
+ a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
+ a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
+ a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
+ a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
+ a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
+ a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
+ a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
+ a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
+ a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
+ a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
+ a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
+ a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
+ a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
+ a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
+ a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
+ a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
+ a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
+ a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
+ adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
+ alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
+ back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
+ binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
+ bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
+ ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
+ csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
+ cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
+ debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
+ einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
+ errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
+ exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
+ exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
+ exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
+ exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
+ exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
+ exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
+ exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
+ exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
+ exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
+ exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
+ exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
+ exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
+ exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
+ final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
+ fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
+ freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
+ g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
+ g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
+ gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
+ gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
+ gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
+ gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
+ gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
+ gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
+ i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
+ i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
+ i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
+ i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
+ impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
+ itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
+ lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
+ lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
+ lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
+ lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
+ makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
+ namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
+ nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
+ osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
+ par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
+ par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
+ par-endh.adb par-labl.adb par-load.adb par-prag.adb
+ par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
+ prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
+ prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
+ prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
+ prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
+ prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
+ prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
+ repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
+ rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
+ s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
+ s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
+ s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
+ s-direio.adb s-direio.ads s-except.ads s-exctab.adb
+ s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
+ s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
+ s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
+ s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
+ s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
+ s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
+ s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
+ s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
+ s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
+ s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
+ s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
+ s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
+ s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
+ s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
+ s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
+ s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
+ s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
+ s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
+ s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
+ s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
+ s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
+ s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
+ s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
+ s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
+ s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
+ s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
+ s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
+ s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
+ s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
+ s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
+ s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
+ s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
+ s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
+ s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
+ s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
+ s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
+ s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
+ s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
+ s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
+ s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
+ s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
+ s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
+ s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
+ s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
+ s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
+ s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
+ s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
+ s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
+ s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
+ s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
+ s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
+ s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
+ s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
+ s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
+ s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
+ s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
+ s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
+ s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
+ s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
+ s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
+ s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
+ s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
+ s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
+ s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
+ s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
+ s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
+ s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
+ s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
+ s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
+ s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
+ s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
+ s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
+ s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
+ s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
+ s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
+ s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
+ s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
+ s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
+ scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
+ sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
+ sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
+ sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
+ sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
+ sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
+ sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
+ sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
+ sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
+ sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
+ sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
+ sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
+ sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
+ sem_type.adb sem_type.ads sem_util.adb sem_util.ads
+ sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
+ sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
+ sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
+ sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
+ snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
+ stringt.ads stringt.h style.adb style.ads stylesw.adb
+ stylesw.ads switch.adb switch.ads sysdep.c system.ads
+ table.adb table.ads targparm.adb targparm.ads targtyps.c
+ tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
+ tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
+ treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
+ types.adb types.ads types.h uintp.adb uintp.ads uintp.h
+ uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
+ usage.ads utils.c utils2.c validsw.adb validsw.ads
+ widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
+ xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
+ xtreeprs.adb: Correct statements in comments about maintainership
+ of GNAT.
+
+2002-09-23 Zack Weinberg <zack@codesourcery.com>
+
+ * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
+ * Makefile.in (TOOLS_LIBS): Add ../../version.o.
+ * gnatvsn.ads: Gnat_Version_String is now a function.
+ * gnatvsn.adb: New file. When asked for Gnat_Version_String,
+ copy the C version_string into a String and return it.
+ * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
+ gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
+ Remove pragma Ident (Gnat_Version_String). If this was the
+ sole use of package Gnatvsn, remove the with statement too.
+ * gnat1drv.adb: Tweak -gnatv output.
+
+2002-09-17 Richard Henderson <rth@redhat.com>
+
+ * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
+ * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
+ * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
+ (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
+ * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
+ and real_2expN instead of a loop.
+ * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
+ (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
+
+2002-08-25 Andre Leis <a.leis@gmx.net>
+ David Billinghurst <David.Billinghurst@riotinto.com>
+
+ * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
+
+2002-08-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
+ Remove $(CONFIG_H) dependency.
+
+2002-08-08 Nathan Sidwell <nathan@codesourcery.com>
+
+ * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
+
+2002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * adadecode.c (ada_demangle): Use xstrdup in lieu of
+ xmalloc/strcpy.
+ * misc.c (gnat_decode_option): Likewise.
+
+2002-07-15 Florian Weimer <fw@deneb.enyo.de>
+
+ * make.adb (Add_Switch): Make Generic_Position a procedure. The
+ function approach did not work well because of a side effect (the
+ function call could reallocate the table which was being indexed
+ using its result). Fixes ada/4851. [RESURRECTED]
+
+2002-07-01 Roger Sayle <roger@eyesopen.com>
+
+ * ada/utils.c (builtin_function): Accept an additional parameter.
+
+2002-06-28 Andreas Jaeger <aj@suse.de>
+
+ PR ada/7144
+ * Makefile.in: Fix typo in comment, patch by Adrian Knoth
+ <adi@thur.de>.
+
+2002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * Makefile.in (SHELL): Set to @SHELL@.
+
+2002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
+ array size calculation.
+
+2002-06-04 Andreas Jaeger <aj@suse.de>
+
+ * Make-lang.in (gnatbind): Readd rule that has been lost in last
+ patch.
+
+2002-06-03 Geoffrey Keating <geoffk@redhat.com>
+
+ Merge from pch-branch:
+
+ * config-lang.in (gtfiles): Add ada-tree.h.
+ * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
+ (SET_TYPE_MODULUS): New.
+ (SET_TYPE_INDEX): New.
+ (SET_TYPE_DIGITS_VALUE): New.
+ (SET_TYPE_RM_SIZE): New.
+ (SET_TYPE_UNCONSTRAINED_ARRAY): New.
+ (SET_TYPE_ADA_SIZE): New.
+ (SET_TYPE_ACTUAL_BOUNDS): New.
+ (SET_DECL_CONST_CORRESPONDING_VAR): New.
+ (SET_DECL_ORIGINAL_FIELD): New.
+ (TREE_LOOP_ID): Correct typo.
+ * decl.c: Use new macros.
+ * utils.c: Include debug.h, use new macros.
+ * utils2.c: Use new macros.
+
+ * ada-tree.h: Update all macros for new tree description.
+ (struct tree_loop_id): New.
+ (union lang_tree_node): New.
+ (struct lang_decl): New.
+ (struct lang_type): New.
+ * misc.c (gnat_mark_tree): Delete.
+ (LANG_HOOKS_MARK_TREE): Delete.
+ * trans.c (tree_transform): No longer any need to cast
+ for TREE_LOOP_ID.
+
+ * utils.c (struct language_function): New dummy structure.
+
+ * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
+ (misc.o): Likewise.
+ (utils.o): Likewise; also gtype-ada.h.
+ * Make-lang.in (gnat1): Add dependency on s-gtype.
+ (gnatbind): Add dependency on $(CONFIG_H).
+ * utils.c: Correct last #include.
+ (stuct e_stack): Remove unnecessary 'static'.
+ (mark_e_stack): Remove unused prototype.
+
+ * scn-nlit.adb: Remove whitespace after version number to
+ keep lines under 80 chars.
+ * snames.adb: Likewise.
+ * treepr.ads: Likewise.
+
+ * Makefile.in (decl.o): Include gt-ada-<filename>.h.
+ (misc.o): Likewise.
+ (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
+ * config-lang.in (gtfiles): New.
+ * decl.c: Use gengtype for roots.
+ * gigi.h: Use gengtype for roots.
+ * trans.c: Use gengtype for roots.
+ * utils.c: Use gengtype for roots, marking. Include gtype-ada.h.
+
+2002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * misc.c (gnat_init): Adjust setting of internal_error_function.
+
+2002-06-01 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
+ * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+ gnat_ug_wnt.texi: Regenerate.
+
+2002-05-31 Florian Weimer <fw@deneb.enyo.de>
+
+ * 5ntaprop.adb (with System.OS_Primitives): Remove.
+
+ * cstreams.c (max_path_len): Move from here ...
+ * adaint.c (__gnat_max_path_len): ... to here.
+ * adaint.c (__gnat_max_path_len): Declare.
+ * g-dirope.adb (Max_Path): Adjust.
+ * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
+ * i-cstrea.ads (max_path_len): Adjust.
+ * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
+ * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
+
+ * Makefile.in, Make-lang.in: Documentation is now built in
+ Make-lang.in. Store Info and generated Texinfo files in the
+ source directory.
+ * gnat_ug.texi: Remove CVS keywords, correct version number.
+ Set file name correctly.
+
+ * gnat_ug_*.texi: Add.
+ * .cvsignore: Ignore generated Texinfo files.
+
+2002-05-30 Zack Weinberg <zack@codesourcery.com>
+
+ * ada.h: Add MI guard macro.
+ (SUBTYPE): Define constants with an anonymous enum, not static
+ const variables.
+ (IN): Cast constants to appropriate type before use.
+
+2002-05-26 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
+ (experimental)".
+
+2002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Make-lang.in (CP, ECHO): Copy from Makefile.in.
+ (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
+ (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
+ (ALL_ADA_CFLAGS): Likewise.
+ (ADA_INCLUDES): Likewise.
+ Adapt for new working dir.
+ (GNATBIND): Use Makefile.in version.
+ (.SUFFIXES): Copy from Makefile.in.
+ (ada-warn): Define.
+ (.adb.o, .ads.o): Copy from Makefile.in.
+ Added $(OUTPUT_OPTION).
+ (GNAT1_C_OBJS): Moved from Makefile.in.
+ Prefix with ada subdir.
+ (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
+ (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
+ Adapt for new working dir.
+ (EXTRA_GNATBIND_OBJS): Likewise.
+ (ADA_BACKEND): Moved from Makefile.in.
+ Renamed to avoid conflict with global BACKEND.
+ Use that one.
+ (TARGET_ADA_SRCS): Moved from Makefile.in.
+ (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
+ Use ADA_BACKEND.
+ (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
+ (ada_extra_files): Moved from Makefile.in.
+ Prefix with ada subdir.
+ (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
+ (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
+ (ada/nmake.ads): Likewise.
+ (update-sources): Moved from Makefile.in.
+ Prefix with ada subdir.
+ (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
+ (ADA_TREE_H): Likewise.
+ (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
+ (ada/memtrack.o): Likewise.
+ (ada/adadecode.o): Likewise.
+ Update dependencies.
+ (ada/adaint.o): New.
+ (ada/argv.o): Moved from Makefile.in.
+ Prefix with ada subdir.
+ Update dependencies.
+ (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
+ (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
+ (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
+ Prefix with ada subdir.
+ (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
+ (GNAT DEPENDENCIES): Regenerate.
+ * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
+ toplevel Makefile.in.
+ (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
+ (TARGET_ADA_SRCS): Removed.
+ (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
+ (GNATBIND_OBJS): Likewise.
+ (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
+ (BACKEND): Removed.
+ (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
+ (TREE_H): Likewise.
+ (ada_extra_files): Likewise.
+ (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
+ (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
+ (update-sources): Likewise.
+ (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
+ (ADA_TREE_H): Likewise.
+ (adadecoce.o): Likewise.
+ (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
+ (GNAT DEPENDENCIES): Likewise.
+
+2002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
+ * Makefile.in: Likewise.
+
+2002-05-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
+ Restore $(CONFIG_H) and prefix.o dependencies.
+ (ada.stage[1-4]): Depend on stage?-start.
+
+ * Makefile.in (b_gnatb.c): Depend on interfac.o.
+
+2002-05-02 Jim Wilson <wilson@redhat.com>
+
+ * utils.c (finish_record_type): Change record_size to record_type.
+
+2001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
+ (ALL_ADA_CFLAGS): Define. Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
+ ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
+
+2002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (gnat_parse_file): Update.
+
+2002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (gnat_init): Don't set lang_attribute_common.
+
+2002-04-21 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
+
+2002-04-21 Florian Weimer <fw@deneb.enyo.de>
+
+ * gnat_ug.texi: New file.
+
+ * gnat_rm.texi: Do not include texiplus.texi. Include fdl.texi
+ instead of gfdl.texi
+
+ * xgnatug.adb, ug_words: New files.
+
+ * Makefile.in (doc, dvi): New targets. Build gnat_ug_*,
+ gnat_rm and gnat-style manuals.
+
+2002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * gigi.h (incomplete_type_error): Remove.
+ * utils.c (incomplete_type_error): Remove.
+
+2002-04-16 Mark Mitchell <mark@codesourcery.com>
+
+ * trans.c (tree_transform): Add has_scope argument to
+ expand_start_stmt_expr.
+
+2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * gigi.h (truthvalue_conversion): Rename.
+ * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
+ * trans.c (tree_transform): Update.
+ * utils2.c (truthvalue_conversion): Rename, update.
+ (build_binary_op, build_unary_op): Update.
+
+2002-04-04 Laurent Guerby <guerby@acm.org>
+
+ * make.adb: Implement -margs, remove restriction about file name placement.
+ * makeusg.adb: Documentation update.
+ * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
+ * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
+
+2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
+ (builtin_function): Similarly.
+
+2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * decl.c (gnat_to_gnu_entity): Update.
+ * gigi.h (mark_addressable): Rename.
+ * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
+ * trans.c (tree_transform): Update.
+ * utils.c (create_var_decl): Update.
+ * util2.c (build_binary_op, build_unary_op,
+ fill_vms_descriptor): Update.
+ (mark_addressable): Rename, update.
+
+2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
+ Rename.
+ * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
+ LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
+ * trans.c (tree_transform, convert_with_check): Update.
+ * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
+ Rename.
+
+2002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * gigi.h (finish_incomplete_decl): Rename.
+ * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
+ * utils.c (gnat_init_decl_processing): Don't set hook.
+ (finish_incomplete_decl): Rename.
+
+2002-03-29 Andreas Schwab <schwab@suse.de>
+
+ * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
+ directory.
+
+2001-03-28 Robert Dewar <dewar@gnat.com>
+
+ * checks.ads:
+ (Remove_Checks): New procedure
+
+ * checks.adb:
+ (Remove_Checks): New procedure
+
+ * exp_util.adb:
+ Use new Duplicate_Subexpr functions
+ (Duplicate_Subexpr_No_Checks): New procedure
+ (Duplicate_Subexpr_No_Checks_Orig): New procedure
+ (Duplicate_Subexpr): Restore original form (checks duplicated)
+ (Duplicate_Subexpr): Call Remove_Checks
+
+ * exp_util.ads:
+ (Duplicate_Subexpr_No_Checks): New procedure
+ (Duplicate_Subexpr_No_Checks_Orig): New procedure
+ Add 2002 to copyright notice
+
+ * sem_util.adb: Use new Duplicate_Subexpr functions
+
+ * sem_eval.adb:
+ (Eval_Indexed_Component): This is the place to call
+ Constant_Array_Ref and to replace the value. We simply merge
+ the code of this function in here, since it is now no longer
+ used elsewhere. This fixes the problem of the back end not
+ realizing we were clever enough to see that this was
+ constant.
+ (Expr_Val): Remove call to Constant_Array_Ref
+ (Expr_Rep_Val): Remove call to Constant_Array_Ref
+ Minor reformatting
+ (Constant_Array_Ref): Deal with string literals (patch
+ suggested by Zack Weinberg on the gcc list)
+
+2001-03-28 Ed Schonberg <schonber@gnat.com>
+
+ * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
+ Duplicate_Subexpr_Move_Checks.
+
+ * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
+ Duplicate_Subexpr_Move_Checks.
+
+ * sem_eval.adb: (Constant_Array_Ref): Verify that constant
+ value of array exists before retrieving it (it may a private
+ protected component in a function).
+
+2002-03-28 Geert Bosch <bosch@gnat.com>
+
+ * prj-pp.adb : New file.
+
+ * prj-pp.ads : New file.
+
+2002-03-28 Andreas Jaeger <aj@suse.de>
+
+ * Makefile.in (stamp-sdefault): Fix path for Makefile.
+
+2002-03-28 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (gnat_expand_expr): Move prototype.
+
+2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (insert_default_attributes): Remove.
+
+2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
+ (gnat_init): Don't set hook.
+ (gnat_expand_expr): Fix prototype.
+
+2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (ggc_p): Remove.
+
+2002-03-27 Geert Bosch <bosch@gnat.com>
+
+ * prj-makr.ads, prj-makr.adb : New files.
+
+2002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
+ (lang_mark_tree): Make static, rename.
+
+2002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (maybe_build_cleanup): Remove.
+
+2002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * gigi.h (yyparse): Remove.
+
+2002-03-23 Florian Weimer <fw@deneb.enyo.de>
+
+ From Ben Brosgol <brosgol@gnat.com>
+ * gnat_rm.texi: Sync with ACT version.
+
+2002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
+ (gnat_init): Remove old hook.
+
+2002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
+ (yyparse): Rename gnat_parse_file.
+
+2002-03-14 Geoffrey Keating <geoffk@redhat.com>
+
+ Delete all lines containing "$Revision:".
+ * xeinfo.adb: Don't look for revision numbers.
+ * xnmake.adb: Likewise.
+ * xsinfo.adb: Likewise.
+ * xsnames.adb: Likewise.
+ * xtreeprs.adb: Likewise.
+
+2002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * misc.c (gnat_tree_code_type, gnat_tree_code_length,
+ gnat_tree_code_name): Delete.
+ (tree_code_type, tree_code_length, tree_code_name): Define.
+ (gnat_init): Don't try to copy into the various tree_code
+ arrays.
+
+2002-03-11 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (.NOTPARALLEL): Add fake tag.
+
+2002-03-07 Geert Bosch <bosch@gnat.com>
+
+ * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
+ s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
+ switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
+ switch-m.adb, switch-m.ads : New files.
+
+2002-03-07 Geert Bosch <bosch@gnat.com>
+
+ * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
+ 4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
+ 4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
+ 4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
+ 5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
+ 5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
+ 5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
+ 5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
+ 5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
+ 5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
+ 5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
+ 5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
+ 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
+ 5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
+ 5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
+ 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
+ 5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
+ 5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
+ 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
+ 5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
+ 7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
+ Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
+ a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
+ a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
+ a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
+ a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
+ a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
+ a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
+ a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
+ adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
+ atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
+ bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
+ csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
+ einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
+ eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
+ exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
+ exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
+ exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
+ exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
+ exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
+ expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
+ freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
+ g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
+ g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
+ g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
+ g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
+ g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
+ g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
+ gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
+ gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
+ gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
+ i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
+ impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
+ lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
+ lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
+ memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
+ mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
+ nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
+ output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
+ par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
+ prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
+ prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
+ prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
+ rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
+ s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
+ s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
+ s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
+ s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
+ s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
+ s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
+ s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
+ s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
+ s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
+ s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
+ s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
+ s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
+ s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
+ s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
+ s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
+ sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
+ sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
+ sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
+ sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
+ sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
+ sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
+ sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
+ sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
+ sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
+ sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
+ snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
+ stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
+ table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
+ tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
+ treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
+ types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
+ utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
+ xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
+
+ * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
+ g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
+ mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
+ osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
+
+ * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
+ 5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
+
+ * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
+ to mdll-fil.ad[bs] and mdll-util.ad[bs]
+
+ * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
+ from mdllfile.ad[bs] and mdlltool.ad[bs]
+
+2002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
+ lieu of explicit sizeof/sizeof.
+
+2002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (copy_lang_decl): Remove.
+
+2002-02-27 Zack Weinberg <zack@codesourcery.com>
+
+ * misc.c: Delete traditional-mode-related code copied from the
+ C front end but not used, or used only to permit the compiler
+ to link.
+
+2002-02-07 Richard Henderson <rth@redhat.com>
+
+ * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
+ * adaint.h (__gnat_to_gm_time): Update prototype.
+
+2002-01-30 Richard Henderson <rth@redhat.com>
+
+ * trans.c (tree_transform) [N_Loop_Statement]: Use
+ expand_exit_loop_top_cond.
+
+
+
+Copyright (C) 2002 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/ada/ChangeLog-2003 b/gcc/ada/ChangeLog-2003
new file mode 100644
index 00000000000..6b950685e2c
--- /dev/null
+++ b/gcc/ada/ChangeLog-2003
@@ -0,0 +1,3021 @@
+2003-12-23 Kelley Cook <kcook@gcc.gnu.org>
+
+ * gnat_ug.texi: Force a CVS commit by updating copyright.
+ * gnat_ug_vxw.texi: Regenerate.
+ * gnat_ug_wnt.texi: Regenerate.
+ * gnat_ug_vms.texi: Regenerate.
+ * gnat_ug_unx.texi: Regenerate.
+
+2003-12-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ * trans.c: Remove uses of "register" specifier in
+ declarations of local variables.
+
+2003-12-18 Kelley Cook <kcook@gcc.gnu.org>
+
+ * stamp-xgnatug: New stamp file.
+ * Make-lang.in (stamp-xgnatug): New stamp file and comment.
+ (ada/doctools/xgnatug): Add $(build_exeext).
+ (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
+ ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
+
+2003-12-17 Ed Falis <falis@gnat.com>
+
+ * a-elchha.adb (Tailored_Exception_Information): made Info constant to
+ eliminate warning.
+
+ * a-exextr.adb: Add context clause for
+ Ada.Exceptions.Last_Chance_Handler.
+
+2003-12-17 Sergey Rybin <rybin@act-europe.fr>
+
+ * cstand.adb (Create_Standard): Change the way how the declaration of
+ the Duration type is created (making it the same way as it is for all
+ the other standard types).
+
+2003-12-17 Robert Dewar <dewar@gnat.com>
+
+ * s-crtl.ads: Fix header format
+ Change Pure to Preelaborate
+
+2003-12-17 Ed Schonberg <schonberg@gnat.com>
+
+ * checks.adb (Selected_Length_Checks): Generate an Itype reference for
+ the expression type only if it is declared in the current unit.
+
+ * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
+ are universal and already analyzed, as can occur in constrained
+ subcomponents that depend on discriminants, when one constraint is a
+ subtype mark.
+
+ * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
+ type Any_Fixed is legal as the argument of a conversion, if only one
+ fixed-point type is in context.
+
+2003-12-17 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-12-15 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
+ sec stack size.
+
+2003-12-15 Vincent Celier <celier@gnat.com>
+
+ * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
+ (Gnatchop): Do not set failure status when reporting the number of
+ warnings.
+
+2003-12-15 Doug Rupp <rupp@gnat.com>
+
+ * s-ctrl.ads: New file.
+
+ * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
+
+ * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
+ (GNATBIND_OBJS): Add ada/s-crtl.o.
+
+ * Makefile.in [VMS]: Clean up ifeq rules.
+
+ * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
+ a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
+ g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
+ s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
+ s-tasdeb.adb: Update copyright.
+ Import System.CRTL.
+ Make minor modifications to use System.CRTL declared functions instead
+ of importing locally.
+
+2003-12-15 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-12-11 Ed Falis <falis@gnat.com>
+
+ * 5zinit.adb: Clean up.
+
+ * 5zintman.adb (Notify_Exception): replaced case statement with a call
+ to __gnat_map_signal, imported from init.c to support
+ signal -> exception mappings that depend on the vxWorks version.
+
+ * init.c:
+ Created and exported __gnat_map_signal to support signal -> exception
+ mapping that is dependent on the VxWorks version.
+ Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
+
+2003-12-11 Vasiliy Fofanv <fofanov@act-europe.fr>
+
+ * 5wosinte.ads: Link with -mthreads switch.
+
+2003-12-11 Arnaud Charlet <charlet@act-europe.fr>
+
+ * init.c (__gnat_install_handler [NetBSD]): Set
+ __gnat_handler_installed, as done on all other platforms.
+ Remove duplicated code.
+
+2003-12-11 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
+
+2003-12-11 Thomas Quinot <quinot@act-europe.fr>
+
+ * sinfo.ads: Fix inconsistent example code in comment.
+
+2003-12-11 Robert Dewar <dewar@gnat.com>
+
+ * a-tiinau.adb: Add a couple of comments
+
+ * sem_ch3.adb: Minor reformatting
+
+ * sem_prag.adb:
+ Fix bad prototype of Same_Base_Type in body (code reading cleanup)
+ Minor reformatting throughout
+
+2003-12-11 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
+ bounds of a loop, create a separate block in order to generate proper
+ cleanup actions to prevent memory leaks.
+
+ * sem_res.adb (Resolve_Call): After a call to
+ Establish_Transient_Scope, the call may be rewritten and relocated, in
+ which case no further processing is needed.
+
+ * sem_util.adb: (Wrong_Type): Refine previous fix.
+ Fixes ACATS regressions.
+
+ PR ada/13353
+ * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
+ be inlined.
+
+2003-12-08 Jerome Guitton <guitton@act-europe.fr>
+
+ * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
+ i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
+ obsolete files.
+
+ * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
+ (rts-zfp): Ditto.
+
+2003-12-08 Robert Dewar <dewar@gnat.com>
+
+ * 7sintman.adb: Minor reformatting
+
+ * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
+ standard linker options to get standard libraries linked. We now plan
+ to provide dummy versions of these libraries to match the appropriate
+ configurable run-time (e.g. if a library is not needed at all, provide
+ a dummy empty library).
+
+ * targparm.ads: Configurable_Run_Time mode no longer affects linker
+ options (-L parameters and standard libraries). What we plan to do is
+ to provide dummy libraries where the libraries are not required.
+
+ * gnatbind.adb: Minor comment improvement
+
+2003-12-08 Javier Miranda <miranda@gnat.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
+ aggregate in the parent. Otherwise constants with limited aggregates
+ are not supported. Add new formal to pass the component type (Ctype).
+ It is required to call the corresponding IP subprogram in case of
+ default initialized components.
+ (Gen_Assign): In case of default-initialized component, generate a
+ call to the IP subprogram associated with the component.
+ (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
+ of aggregate with default initialized components.
+ (Has_Default_Init_Comps): Improve implementation to recursively check
+ all the present expressions.
+
+ * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
+ to indicate that the initialization call corresponds to a
+ default-initialized component of an aggregate.
+ In case of default initialized aggregate with tasks this parameter is
+ used to generate a null string (this is just a workaround that must be
+ improved later). In case of discriminants, this parameter is used to
+ generate a selected component node that gives access to the discriminant
+ value.
+
+ * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
+ subprogram, based on Build_Task_Allocate_Block, but adapted to expand
+ allocated aggregates with default-initialized components.
+
+ * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
+ the box notation is used in positional aggregates.
+
+2003-12-08 Samuel Tardieu <tardieu@act-europe.fr>
+
+ * lib.ads: Fix typo in comment
+
+2003-12-08 Vincent Celier <celier@gnat.com>
+
+ * prj.adb (Project_Empty): New component Unkept_Comments
+ (Scan): Remove procedure; moved to Prj.Err.
+
+ * prj.ads (Project_Data): New Boolean component Unkept_Comments
+ (Scan): Remove procedure; moved to Prj.Err.
+
+ * prj-dect.adb: Manage comments for the different declarations.
+
+ * prj-part.adb (With_Record): New component Node
+ (Parse): New Boolean parameter Store_Comments, defaulted to False.
+ Set the scanner to return ends of line and comments as tokens, if
+ Store_Comments is True.
+ (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
+ comments are associated with these nodes. Store the node IDs in the
+ With_Records.
+ (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
+ With_Records.
+ (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
+ the N_Project node. Call Tree.Save and Tree.Reset before scanning the
+ current project. Call Tree.Restore afterwards. Set the various nodes
+ for comment storage (Next_End, End_Of_Line, Previous_Line,
+ Previous_End).
+
+ * prj-part.ads (Parse): New Boolean parameter Store_Comments,
+ defaulted to False.
+
+ * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
+ to False. When Truncated is True, truncate the string, never go to the
+ next line.
+ (Write_End_Of_Line_Comment): New procedure
+ (Print): Process comments for nodes N_With_Clause,
+ N_Package_Declaration, N_String_Type_Declaration,
+ N_Attribute_Declaration, N_Typed_Variable_Declaration,
+ N_Variable_Declaration, N_Case_Construction, N_Case_Item.
+ Process nodes N_Comment.
+
+ * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
+ without comments and there are some comments, set the flag
+ Unkept_Comments to True.
+ (Scan): If there are comments, set the flag Unkept_Comments to True and
+ clear the comments.
+ (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
+ (Next_End_Nodes: New table
+ (Comment_Zones_Of): New function
+ (Scan): New procedure; moved from Prj. Accumulate comments in the
+ Comments table and set end of line comments, comments after, after end
+ and before end.
+ (Add_Comments): New procedure
+ (Save, Restore, Seset_State): New procedures
+ (There_Are_Unkept_Comments): New function
+ (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
+ (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
+ procedures.
+ (First_Comment_After, First_Comment_After_End): New functions
+ (First_Comment_Before, First_Comment_Before_End): New functions
+ (Next_Comment): New function
+ (End_Of_Line_Comment, Follows_Empty_Line,
+ Is_Followed_By_Empty_Line): New functions
+ (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
+ (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
+ (Set_Next_Comment): New procedure
+ (Default_Project_Node): Associate comment before if the node can store
+ comments.
+
+ * scans.ads (Token_Type): New enumeration value Tok_Comment
+ (Comment_Id): New global variable
+
+ * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
+ defaulted to False.
+ (Scan): Store position of start of comment. If comments are tokens, set
+ Comment_Id and set Token to Tok_Comment when scanning a comment.
+ (Set_Comment_As_Token): New procedure
+
+ * sinput-p.adb: Update Copyright notice
+ (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
+ that no longer exists.
+
+2003-12-08 Javier Miranda <miranda@gnat.com>
+
+ * sem_aggr.adb: Add dependence on Exp_Tss package
+ Correct typo in comment
+ (Resolve_Aggregate): In case of array aggregates set the estimated
+ type of the aggregate before calling resolve. This is needed to know
+ the name of the corresponding IP in case of limited array aggregates.
+ (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
+ in case of default initialized array components.
+
+ * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
+ types. Required to give support to limited aggregates in generic
+ formals.
+
+2003-12-08 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch3.adb (Check_Initialization): For legality purposes, an
+ inlined body functions like an instantiation.
+ (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
+ until bounds are analyzed, to diagnose premature use of type.
+
+ * sem_util.adb (Wrong_Type): Improve error message when the type of
+ the expression is used prematurely.
+
+2003-12-08 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-12-08 Arnaud Charlet <charlet@act-europe.fr>
+
+ * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
+ they are automatically generated by Make-lang.in and cause nothing but
+ maintenance troubles.
+
+2003-12-05 Thomas Quinot <quinot@act-europe.fr>
+
+ * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
+ version of this unit).
+
+2003-12-05 Olivier Hainque <hainque@act-europe.fr>
+
+ * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
+ 5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
+ 5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
+ the body of System.Interrupt_Management common to several targets.
+ Update copyright notice when appropriate.
+
+ * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
+ constant.
+
+ * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
+ to ensure that the kernel fills in the interrupted context structure
+ before calling a signal handler, which is necessary to be able to
+ unwind past it. Update the copyright notice.
+
+2003-12-05 Jerome Guitton <guitton@act-europe.fr>
+
+ * a-elchha.ads: New file.
+
+ * a-elchha.adb: New default last chance handler. Contents taken from
+ Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
+
+ * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
+ is moved to a-elchha.adb to provide a target-independent default last
+ chance handler.
+
+ * Makefile.rtl: Add a-elchha.o
+
+ * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
+
+2003-12-05 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
+ declared in an instance, do not inline the call if the instance is not
+ frozen yet, to prevent order of elaboration problems.
+
+ * sem_prag.adb: Add comments for previous fix.
+
+2003-12-05 Samuel Tardieu <tardieu@act-europe.fr>
+
+ * g-table.adb: Use the right variable in Set_Item.
+ Update copyright notice.
+
+2003-12-05 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.in: Remove unused rules.
+
+2003-12-05 Vincent Celier <celier@gnat.com>
+
+ * switch-c.adb (Scan_Front_End_Switches): Remove processing of
+ -nostdlib. Not needed here after all.
+
+2003-12-03 Thomas Quinot <quinot@act-europe.fr>
+
+ PR ada/11724
+ * adaint.h, adaint.c, g-os_lib.ads:
+ Do not assume that the offset argument to lseek(2) is a 32 bit integer,
+ on some platforms (including FreeBSD), it is a 64 bit value.
+ Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
+
+2003-12-03 Arnaud Charlet <charlet@act-europe.fr>
+
+ * gnatvsn.ads (Library_Version): Now contain only the relevant
+ version info.
+ (Verbose_Library_Version): New constant.
+
+ * g-spipat.adb, g-awk.adb, g-debpoo.adb,
+ g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
+ s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
+
+ * gnatlbr.adb: Clean up: replace Library_Version by
+ Verbose_Library_Version.
+
+ * make.adb, lib-writ.adb, exp_attr.adb:
+ Clean up: replace Library_Version by Verbose_Library_Version.
+
+ * 5lintman.adb: Removed.
+
+ * Makefile.in:
+ Update and simplify computation of LIBRARY_VERSION.
+ Fix computation of GSMATCH_VERSION.
+ 5lintman.adb is no longer used: replaced by 7sintman.adb.
+
+2003-12-03 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch5.adb:
+ (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
+ name. Modified to consider small non-bit-packed arrays as troublesome
+ and in need of component-by-component assigment expansion.
+
+2003-12-03 Vincent Celier <celier@gnat.com>
+
+ * lang-specs.h: Process nostdlib as nostdinc
+
+ * back_end.adb: Update Copyright notice
+ (Scan_Compiler_Arguments): Process -nostdlib directly.
+
+2003-12-03 Jose Ruiz <ruiz@act-europe.fr>
+
+ * Makefile.in:
+ When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
+ redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
+ included in HIE_NONE_TARGET_PAIRS.
+
+2003-12-03 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_attr.adb:
+ (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
+ is legal in an instance, because legality is cheched in the template.
+
+ * sem_prag.adb:
+ (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
+ appplied to an unchecked conversion of a formal parameter.
+
+ * sem_warn.adb:
+ (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
+ variables.
+
+2003-12-03 Olivier Hainque <hainque@act-europe.fr>
+
+ * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
+ routines. The second one is new functionality to deal with backtracing
+ through signal handlers.
+ (unwind): Split into the two separate subroutines above.
+ Update the documentation, and deal properly with sizeof (REG) different
+ from sizeof (void*).
+
+2003-12-01 Nicolas Setton <setton@act-europe.fr>
+
+ * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
+ so that the debugger can reliably access the value of the parameter,
+ and therefore is able to display the exception name when an exception
+ breakpoint is reached.
+
+2003-12-01 Thomas Quinot <quinot@act-europe.fr>
+
+ * fmap.adb: Fix typo in warning message.
+
+ * g-socket.ads, g-socket.adb: Make Free a visible instance of
+ Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
+
+2003-12-01 Vincent Celier <celier@gnat.com>
+
+ * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
+ ther is no Afile.
+ (Build_Library): Get the switches only if Default_Switches is declared
+ in package Binder.
+
+2003-12-01 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Expand_Actuals): When applying validity checks to
+ actuals that are indexed components, reanalyze actual to ensure that
+ packed array references are properly expanded.
+
+ * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
+ attempted assignment to a discriminant.
+
+2003-12-01 Robert Dewar <dewar@gnat.com>
+
+ * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
+ reformatting.
+
+ * switch-c.adb: Minor reformatting of comments
+
+2003-12-01 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.in: Clean ups.
+
+2003-12-01 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-12-01 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 5wsystem.ads: Disable zero cost exception, not ready yet.
+
+2003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
+ to force serialization.
+
+2003-11-26 Thomas Quinot <quinot@act-europe.fr>
+
+ * g-socket.ads, g-socket.adb:
+ Clarify documentation of function Stream. Introduce a Free procedure
+ to release the returned Stream once it becomes unused.
+
+ * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
+
+2003-11-26 Arnaud Charlet <charlet@act-europe.fr>
+
+ (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
+ since NT 4 cannot handle timeout values that are too large,
+ e.g. DWORD'Last - 1.
+
+2003-11-26 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch4.adb:
+ (Expand_N_Slice): Recognize all cases of slices that appear as actuals
+ in procedure calls and whose expansion must be deferred.
+
+ * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
+ is in exp_ch4.
+
+ * sem_ch3.adb:
+ (Build_Derived_Array_Type): Create operator for unconstrained type
+ if ancestor is unconstrained.
+
+2003-11-26 Vincent Celier <celier@gnat.com>
+
+ * make.adb (Project_Object_Directory): New global variable
+ (Change_To_Object_Directory): New procedure
+ (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
+ of Change_Dir directly. Do not change working directory to object
+ directory of main project after each compilation.
+ (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
+ directly.
+ Change to object directory of main project before binding step.
+ (Initialize): Initialize Project_Object_Directory to No_Project
+
+ * mlib-prj.adb:
+ (Build_Library): Take into account Builder'Default_Switches ("Ada") when
+ binding a Stand-Alone Library.
+
+ * output.adb: Update Copyright notice
+ (Write_Char): Output buffer when full
+
+2003-11-26 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch13.adb: (Check_Size): Reset size if size is too small
+
+ * sem_ch13.ads:
+ (Check_Size): Fix documentation to include bit-packed array case
+
+ * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
+
+ * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
+
+ * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
+
+2003-11-24 Arnaud Charlet <charlet@act-europe.fr>
+
+ PR ada/13142
+ * utils.c (init_gigi_decls): Change name of built-in setjmp to
+ __builtin_setjmp, since this is apparently needed by recent
+ non Ada changes.
+
+2003-11-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * adadecode.c: Only include ctype.h if not IN_GCC.
+ (__gnat_decode): Use ISDIGIT from safe-ctype.h.
+
+2003-11-24 Jose Ruiz <ruiz@act-europe.fr>
+
+ * Makefile.in:
+ Use 5zintman.ads for VxWorks targets. This file avoid confusion between
+ signals and interrupts.
+
+ * 5zintman.ads: New File.
+
+ * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
+ add exception signals to the set of unmasked signals.
+
+ * 5ztaprop.adb:
+ Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
+ between signals and interrupts.
+ Add to Unblocked_Signal_Mask the set of signals that are in
+ Keep_Unmasked.
+
+ * 7sinmaop.adb:
+ Adding a check to see whether the Interrupt_ID we want to unmask is in
+ the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
+ reason is that the index type of the Keep_Unmasked array is not always
+ Interrupt_ID; it may be a subtype of Interrupt_ID.
+
+2003-11-24 Gary Dismukes <dismukes@gnat.com>
+
+ * exp_util.adb:
+ (Remove_Side_Effects): Condition constantness of object created for a
+ an unchecked type conversion on the constantness of the expression
+ to ensure the correct value for 'Constrained when passing components
+ of view-converted class-wide objects.
+
+2003-11-24 Robert Dewar <dewar@gnat.com>
+
+ * par-load.adb (Load): Improve handling of misspelled and missing units
+ Removes several cases of compilation abandoned messages
+
+ * lib.adb: (Remove_Unit): New procedure
+
+ * lib.ads: (Remove_Unit): New procedure
+
+ * lib-load.adb: Minor reformatting
+
+2003-11-24 Vincent Celier <celier@gnat.com>
+
+ * make.adb:
+ (Gnatmake, Initialize): Call Usage instead of Makeusg directly
+ (Marking_Label): Label to mark processed source files. Incremented for
+ each executable.
+ (Gnatmake): Increase Marking_Labet for each executable
+ (Is_Marked): Compare against marking label
+ (Mark): Mark with marking label
+
+2003-11-24 Jerome Guitton <guitton@act-europe.fr>
+
+ * s-thread.ads:
+ Move the declaration of the TSD for System.Threads to System.Soft_Links.
+ Add some comments.
+
+ * Makefile.in: Added target pair for s-thread.adb for cert runtime.
+ (rts-cert): build a single relocatable object for the run-time lib.
+ Fix perms.
+
+2003-11-24 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * Make-lang.in:
+ Use gnatls rather than gcc to obtain the location of GNAT RTL for
+ crosstools build.
+
+2003-11-24 Sergey Rybin <rybin@act-europe.fr>
+
+ * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
+ can not use it as before (that is, as a variable) when dumping it into
+ the tree file. Add a local variable to store the result of this
+ function and to be used as the string to be written into the tree.
+
+ * scn.adb (Initialize_Scanner): Add comments explaining the recent
+ changes.
+
+ * sinput.adb (Source_First, Source_Last): In case of
+ Internal_Source_File, replace returning attributes of
+ Internal_Source_Ptr (which is wrong) with returning attributes of
+ Internal_Source.
+
+2003-11-24 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch3.adb:
+ (New_Concatenation_Op): Proper name for New_Binary_Operator, only
+ used for implicit concatenation operators.
+ Code cleanup.
+
+ * sem_elab.adb:
+ (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
+ task bodies that are in the scope of a Suppress pragma.
+ (Check_A Call): Use the flag to prevent spurious elaboration checks.
+
+ * sinfo.ads, sinfo.adb:
+ New flag No_Elaboration_Check on function/procedure calls, to properly
+ suppress checks on calls in task bodies that are within a local suppress
+ pragma.
+
+ * exp_ch4.adb:
+ (Expand_Concatenate_Other): Use the proper integer type for the
+ expression for the upper bound, to avoid universal_integer computations
+ when possible.
+
+2003-11-21 Kelley Cook <kcook@gcc.gnu.org>
+
+ * .cvsignore: Delete.
+
+2003-11-21 Andreas Schwab <schwab@suse.de>
+
+ * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
+
+2003-11-21 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * 5wsystem.ads: Enable zero cost exception.
+
+2003-11-21 Jerome Guitton <guitton@act-europe.fr>
+
+ * 5ztiitho.adb: Remove an unreferenced variable.
+
+2003-11-21 Thomas Quinot <quinot@act-europe.fr>
+
+ * adaint.c: For FreeBSD, use mkstemp.
+
+2003-11-21 Arnaud Charlet <charlet@act-europe.fr>
+
+ * gnatlbr.adb: Now reference Gnat_Static_Version_String.
+
+2003-11-21 Robert Dewar <dewar@gnat.com>
+
+ * bld.adb: Remove useless USE of gnatvsn
+
+ * gnatchop.adb: Minor reformatting
+ Clean up version handling to be more consistent
+
+ * gnatxref.adb: Minor reformatting
+
+ * gprcmd.adb: Minor reformatting
+ Fix output of copyright to be more consistent with other tools
+
+2003-11-21 Vincent Celier <celier@gnat.com>
+
+ * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
+
+2003-11-21 Sergey Rybin <rybin@act-europe.fr>
+
+ * atree.adb (Initialize): Add initializations for global variables
+ used in New_Copy_Tree.
+
+ * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
+ Internal_Source_File as the actual).
+ Put the set of statements creating Any_Character before the set of
+ statements creating Any_Array to have Any_Character fully initialized
+ when it is used in creating Any_Array.
+
+ * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
+ not call Scan in case if the actual is Internal_Source_File
+ Add 2003 to copyright note.
+
+ * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
+ processing Internal_Source_File.
+
+ * types.ads: Add the constant Internal_Source_File representing the
+ source buffer for artificial source-code-like strings created within
+ the compiler (the definition of Source_File_Index is changed).
+
+2003-11-20 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
+ 56system.ads: New file, FreeBSD version.
+
+2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * Make-lang.in (ada.extraclean): Delete.
+
+2003-11-19 Arnaud Charlet <charlet@act-europe.fr>
+
+ * gnatmem.adb: Clean up verbose output.
+
+ * gprcmd.adb: Change copyright to FSF.
+
+2003-11-19 Vincent Celier <celier@gnat.com>
+
+ * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
+ and Version (ignored).
+
+ * symbols.ads: (Policy): New type
+ (Initialize): New parameter Reference, Symbol_Policy and
+ Library_Version.
+ Remove parameter Force.
+ Minor reformatting.
+
+ * snames.ads, snames.adbadb: New standard names
+ Library_Reference_Symbol_File and Library_Symbol_Policy
+
+ * mlib-prj.adb:
+ (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
+ project.
+
+ * mlib-tgt.adb:
+ (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
+
+ * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
+
+ * prj.adb: (Project_Empty): New component Symbol_Data
+
+ * prj.ads: (Policy, Symbol_Record): New types
+ (Project_Data): New component Symbol_Data
+
+ * prj-attr.adb:
+ New attributes Library_Symbol_File, Library_Symbol_Policy and
+ Library_Reference_Symbol_File.
+
+ * prj-nmsc.adb:
+ (Ada_Check): When project is a Stand-Alone library project, process
+ attribute Library_Symbol_File, Library_Symbol_Policy and
+ Library_Reference_Symbol_File.
+
+ * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
+ 5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
+ 5sml-tgt.adb (Build_Dynamic_Library): New parameter
+ Symbol_Data (ignored).
+
+ * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
+ (Build_Dynamic_Library): New parameter Symbol_Data. New internal
+ functions Option_File_Name and Version_String. Set new options of
+ gnatsym related to symbol file, symbol policy and reference symbol
+ file.
+
+ * 5vsymbol.adb:
+ Extensive modifications to take into account the reference symbol file,
+ the symbol policy, the library version and to put in the symbol file the
+ minor and major IDs.
+
+ * bld.adb (Process_Declarative_Items): Put second argument of
+ gprcmd to_absolute between single quotes, to avoid problems with
+ Windows.
+
+ * bld-io.adb: Update Copyright notice.
+ (Flush): Remove last character of a line, if it is a back slash, to
+ avoid make problems.
+
+ * gnatsym.adb:
+ Implement new scheme with reference symbol file and symbol policy.
+
+ * g-os_lib.ads: (Is_Directory): Clarify comment
+
+2003-11-19 Robert Dewar <dewar@gnat.com>
+
+ * atree.adb: Move New_Copy_Tree global variables to head of package
+
+ * errout.adb: Minor reformatting
+
+2003-11-19 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch4.adb: (Diagnose_Call): Improve error message.
+ Add reference to Ada0Y (AI-50217)
+
+ * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
+ sem_util.adb: Add reference to AI-50217
+
+ * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
+
+ * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
+
+ * sem_aggr.adb: Complete documentation of AI-287 changes
+
+ * par-ch4.adb: Document previous changes.
+
+ * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
+ sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
+ Ada0Y (AI-50217)
+
+ * exp_aggr.adb: Add references to AI-287 in previous changes
+
+2003-11-19 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb:
+ (Add_Call_By_Copy_Node): Do not original node of rewritten expression
+ in the rewriting is the result of an inlined call.
+
+ * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
+ parameter is a type conversion, use original node to construct the
+ post-call assignment, because expression may have been rewritten, e.g.
+ if it is a packed array.
+
+ * sem_attr.adb:
+ (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
+ body, just as it is in an instance.
+ Categorization routines
+
+ * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
+ Instantiate_Object): Set proper sloc reference for message on missing
+ actual.
+
+2003-11-19 Thomas Quinot <quinot@act-europe.fr>
+
+ * Makefile.in: Add FreeBSD libgnat pairs.
+
+ * usage.adb: Fix typo in usage message.
+
+2003-11-19 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
+ s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
+ pragma Thread_Body.
+ Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
+
+ * s-thread.adb: This file is now a dummy implementation of
+ System.Thread.
+
+2003-11-19 Sergey Rybin <rybin@act-europe.fr>
+
+ * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
+
+2003-11-19 Emmanuel Briot <briot@act-europe.fr>
+
+ * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
+ instanciation references in the parent type description.
+
+2003-11-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
+
+ * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
+ TYPE_PRECISION directly from esize.
+
+2003-11-18 Thomas Quinot <quinot@act-europe.fr>
+
+ * cstreams.c:
+ Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
+
+ * init.c: Initialization routines for FreeBSD
+
+ * link.c: Link info for FreeBSD
+
+ * sysdep.c: Add the case of FreeBSD
+
+2003-11-17 Jerome Guitton <guitton@act-europe.fr>
+
+ * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
+ already called in System.Threads.
+
+ * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
+ environment task, as it has been moved to System.Threads.Initialization.
+
+2003-11-17 Arnaud Charlet <charlet@act-europe.fr>
+
+ * adaint.c (__gnatlib_install_locks): Only reference
+ __gnat_install_locks on VMS, since other platforms can avoid using
+ --enable-threads=gnat
+
+2003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
+
+ * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
+ TYPE_PACKED_ARRAY_TYPE_P.
+ (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
+
+ Part of PR ada/12806
+ * utils.c (float_type_for_precision): Renamed from float_type_for_size.
+ Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
+
+2003-11-17 Vincent Celier <celier@gnat.com>
+
+ * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
+ to False.
+ Do not set exit status to Failure when Warning is True.
+ (Gnatchop): Make errors "no compilation units found" and
+ "no source files written" warnings only.
+
+ * make.adb (Gnatmake): When using a project file, set
+ Look_In_Primary_Dir to False.
+ (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
+ and Local_Configuration_Pragmas in the project where they are declared
+ not an extending project which might have inherited them.
+
+ * osint.adb (Locate_File): If Name is already an absolute path, do not
+ look for a directory.
+
+ * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
+ -gnats (Check_Syntax) is used, issue only a warning, not an error.
+
+ * prj.adb (Register_Default_Naming_Scheme): Add new component Project
+ in objects of type Variable_Value.
+
+ * prj.ads: (Variable_Value): New component Project
+
+ * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
+ is in a project extended by Project.
+
+ * prj-proc.adb (Add_Attributes): New parameter Project. Set component
+ Project of Variable_Values to this new parameter value.
+ (Expression): Set component Project of Variable_Values.
+ (Process_Declarative_Items): Call Add_Attributes with parameter Project.
+ Set the component Project in array elements.
+
+2003-11-17 Sergey Rybin <rybin@act-europe.fr>
+
+ * errout.adb: (Initialize): Add initialization for error nodes.
+
+ * sem_ch12.adb (Initialize): Add missing initializations for
+ Exchanged_Views and Hidden_Entities.
+
+2003-11-17 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
+ already instantiated tree for use in subsequent inlining.
+ (Analyze_Associations, Instantiate_Formal_Subprogram,
+ Instantiate_Object): improve error message for mismatch in
+ instantiations.
+
+ * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
+ instantiations of subprograms declared in instances.
+
+2003-11-17 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch4.adb (Analyze_Allocator): Previous modification must be
+ executed only under the Extensions_Allowed flag.
+
+2003-11-17 Robert Dewar <dewar@gnat.com>
+
+ * a-exexda.adb (Address_Image): Fix documentation to indicate leading
+ zeroes suppressed.
+ (Address_Image): Fix bug of returning 0x instead of 0x0
+ Minor reformatting (function specs).
+
+ * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
+ (missed case of 33-63)
+
+ * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
+
+ * s-thread.adb: Add comments for pragma Restriction
+
+ * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
+ sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
+
+2003-11-17 Ed Falis <falis@gnat.com>
+
+ * s-thread.adb: Added No_Tasking restriction for this implementation.
+
+2003-11-17 Emmanuel Briot <briot@act-europe.fr>
+
+ * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
+ instanciation references in the parent type description.
+
+2003-11-17 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-11-16 Jason Merrill <jason@redhat.com>
+
+ * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
+ and TAGS files that include them for each front end.
+
+2003-11-14 Andreas Jaeger <aj@suse.de>
+
+ * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
+ is the canonical version.
+ * misc.c (gnat_handle_option): Likewise.
+
+ * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
+
+ * 5nsystem.ads: New file for x86_64-linux-gnu.
+
+2003-11-14 Arnaud Charlet <charlet@act-europe.fr>
+
+ * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
+
+ * comperr.adb: Fix logic in previous change.
+
+2003-11-13 Vincent Celier <celier@gnat.com>
+
+ * 5bml-tgt.adb (Build_Dynamic_Library): Use
+ Osint.Include_Dir_Default_Prefix instead of
+ Sdefault.Include_Dir_Default_Name.
+
+ * gnatlbr.adb: Update Copyright notice
+ (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
+ Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
+ instead of Sdefault.Object_Dir_Default_Name
+
+ * gnatlink.adb:
+ (Process_Binder_File): Never suppress the option following -Xlinker
+
+ * mdll-utl.adb:
+ (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
+ Sdefault.Object_Dir_Default_Name.
+
+ * osint.ads, osint.adb:
+ (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
+ Minor reformatting.
+
+ * vms_conv.ads: Minor reformating
+ Remove GNAT STANDARD and GNAT PSTA
+
+ * vms_conv.adb:
+ Allow GNAT MAKE to have several files on the command line.
+ (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
+ Sdefault.Object_Dir_Default_Name.
+ Minor Reformating
+ Remove data for GNAT STANDARD
+
+ * vms_data.ads:
+ Add new compiler qualifier /PRINT_STANDARD (-gnatS)
+ Remove data for GNAT STANDARD
+ Remove options and documentation for -gnatwb/-gnatwB: these warning
+ options no longer exist.
+
+2003-11-13 Ed Falis <falis@gnat.com>
+
+ * 5zthrini.adb: (Init_RTS): Made visible
+
+ * 5zthrini.adb:
+ (Register): Removed unnecessary call to taskVarGet that checked whether
+ an ATSD was already set as a task var for the argument thread.
+
+ * s-thread.adb:
+ Updated comment to reflect that this is a VxWorks version
+ Added context clause for System.Threads.Initialization
+ Added call to System.Threads.Initialization.Init_RTS
+
+2003-11-13 Jerome Guitton <guitton@act-europe.fr>
+
+ * 5zthrini.adb:
+ (Init_RTS): New procedure, for the initialization of the run-time lib.
+
+ * s-thread.adb:
+ Remove dependancy on System.Init, so that this file can be used in the
+ AE653 sequential run-time lib.
+
+2003-11-13 Robert Dewar <dewar@gnat.com>
+
+ * bindgen.adb: Minor reformatting
+
+2003-11-13 Ed Schonberg <schonberg@gnat.com>
+
+ * checks.adb:
+ (Apply_Discriminant_Check): Do no apply check if target type is derived
+ from source type with no applicable constraint.
+
+ * lib-writ.adb:
+ (Ensure_System_Dependency): Do not apply the style checks that may have
+ been specified for the main unit.
+
+ * sem_ch8.adb:
+ (Find_Selected_Component): Further improvement in error message, with
+ RM reference.
+
+ * sem_res.adb:
+ (Resolve): Handle properly the case of an illegal overloaded protected
+ procedure.
+
+2003-11-13 Javier Miranda <miranda@gnat.com>
+
+ * exp_aggr.adb:
+ (Has_Default_Init_Comps): New function to check the presence of
+ default initialization in an aggregate.
+ (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
+ extension aggregate of a limited record. In addition, a new formal
+ was added to do not initialize the record controller (if any) during
+ this recursive expansion of ancestors.
+ (Init_Controller): Add support for limited record components.
+ (Expand_Record_Aggregate): In case of default initialized components
+ convert the aggregate into a set of assignments.
+
+ * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
+ describing the new syntax.
+ Nothing else needed to be done because this subprogram delegates part of
+ its work to P_Precord_Or_Array_Component_Association.
+ (P_Record_Or_Array_Component_Association): Give support to the new
+ syntax for default initialization of components.
+
+ * sem_aggr.adb:
+ (Resolve_Aggregate): Relax the strictness of the frontend in case of
+ limited aggregates.
+ (Resolve_Record_Aggregate): Give support to default initialized
+ components.
+ (Get_Value): In case of default initialized components, duplicate
+ the corresponding default expression (from the record type
+ declaration). In case of default initialization in the *others*
+ choice, do not check that all components have the same type.
+ (Resolve_Extension_Aggregate): Give support to limited extension
+ aggregates.
+
+ * sem_ch3.adb:
+ (Check_Initialization): Relax the strictness of the front-end in case
+ of aggregate and extension aggregates. This test is now done in
+ Get_Value in a per-component manner.
+
+ * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
+ expression corresponds to a limited aggregate. This test is now done
+ in Get_Value.
+
+ * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
+ Box_Present flag.
+
+ * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
+ present in an N_Component_Association node
+
+2003-11-13 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
+ type-conformant entry only if they are homographs.
+
+2003-11-13 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * adadecode.c: Use <> form of include for ctype.h.
+ * sysdep.c [IN_RTS]: Use <> form of include for time.h.
+
+2003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
+ Works around PR middle-end/6552.
+
+2003-11-10 Ed Falis <falis@gnat.com>
+
+ * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
+
+ * 5zinit.adb: (Install_Handler): Moved back to spec
+ (Install_Signal_Handlers): Deleted
+
+ * 5zthrini.adb: Added context clause for System.Storage_Elements
+ (Register): Only handles creation of taskVar; initialization moved to
+ Thread_Body_Enter.
+ (Reset_TSD): Deleted; replaced by Thread_Body_Enter
+ Added declaration of environment task secondary stack and
+ initialization.
+
+ * s-thread.adb: Implement bodies for thread body processing
+
+ * s-thread.ads:
+ Added comment identifying supported targets for pragma Thread_Body.
+
+2003-11-10 Pascal Obry <obry@gnat.com>
+
+ * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
+ GNAT_MAX_PATH_LEN.
+
+ * s-fileio.adb:
+ (Open): Properly check for string length before copying into the buffer.
+ Raises Name_Error if buffer is too small. Note that this was a potential
+ buffer overflow.
+
+2003-11-10 Romain Berrendonner <berrendo@act-europe.fr>
+
+ * bindgen.adb, comperr.adb: Code clean ups.
+ * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
+
+2003-11-10 Sergey Rybin <rybin@act-europe.fr>
+
+ * gnat1drv.adb: Add call to Sem_Elim.Initialize.
+
+2003-11-10 Vincent Celier <celier@gnat.com>
+
+ * gprcmd.adb:
+ (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
+ installation.
+
+ * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
+
+ * prj.adb: (Project_Empty): Add new boolean component Virtual
+
+ * prj.ads: (Virtual_Prefix): New constant string
+ (Project_Data): New boolean component Virtual
+
+ * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
+ a library project is extended by a virtual extending project.
+
+ * prj-part.adb:
+ Modifications throughout to implement extending-all project, including:
+ (Virtual_Hash, Processed_Hash): New hash tables
+ (Create_Virtual_Extending_Project): New procedure
+ (Look_For_Virtual_Projects_For): New procedure
+
+ * prj-proc.adb:
+ (Process): After checking the projects, if main project is an
+ extending-all project, set the object directory of all virtual extending
+ project to the object directory of the main project.
+ Adjust error message when a virtual extending project has the same
+ object directory as an project being extended.
+ (Recursive_Process): If name starts with the virtual prefix, set Virtual
+ to True in the project data.
+
+ * prj-tree.adb:
+ (Default_Project_Node): Add new boolean component Extending_All
+ (Is_Extending_All): New function
+ (Set_Is_Extending_All): New procedure
+
+ * prj-tree.ads: (Is_Extending_All): New function
+ (Set_Is_Extending_All): New procedure
+ (Project_Node_Record): New boolean component Extending_All
+
+ * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
+
+ * vms_data.ads:
+ Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
+
+ * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
+ "gprcmd prefix" to define it.
+
+2003-11-10 Thomas Quinot <quinot@act-europe.fr>
+
+ * einfo.ads: Fix a typo and remove an extraneous word in comments.
+
+ * lib-load.adb:
+ (Create_Dummy_Package_Unit): Set the scope of the entity for the
+ created dummy package to Standard_Standard, not to itself, to
+ defend other parts of the front-end against encoutering a cycle in
+ the scope chain.
+
+ * sem_ch10.adb:
+ (Analyze_With_Clause): When setting the entities for the successive
+ N_Expanded_Names that constitute the name of a child unit, do not
+ attempt to go further than Standard_Standard in the chain of scopes.
+ This case arises from the placeholder units created by
+ Create_Dummy_Package_Unit in the case of a with_clause for a
+ nonexistent child unit.
+
+2003-11-10 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb:
+ (Expand_Thread_Body): Place subprogram on scope stack, so that new
+ declarations are given the proper scope.
+
+ * sem_ch13.adb:
+ (Check_Expr_Constants): Reject an expression that contains a constant
+ created during expansion, and that appears after the object to which
+ the address clause applies.
+
+ * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
+ Analyze_Iteration_Scheme, to rewrite a loop parameter specification
+ that uses 'Range of a function call with controlled components, so
+ that the function result can be finalized before starting the loop.
+
+ * sem_ch8.adb:
+ (Find_Selected_Component): Improve error message when prefix is
+ an implicit dereference of an incomplete type.
+
+2003-11-10 Robert Dewar <dewar@gnat.com>
+
+ * opt.ads: New Print_Standard flag for -gnatS switch
+
+ * sem_ch13.adb: Remove some additional checks for unaligned arrays
+
+ * cstand.adb (Create_Standard): Print out package standard if -gnatS
+ switch set
+
+ * debug.adb: Update doc for -gnatds to discuss relationship with new
+ -gnatS flag
+
+ * sinfo.adb: Add new field Entity_Or_Associated_Node
+
+ * sinfo.ads: Add new field Entity_Or_Associated_Node
+ Update documentation for Associated_Node and Entity fields to clarify
+ relationship and usage.
+
+ * sprint.adb:
+ (Write_Id): Properly process Associated_Node field in generic template
+
+ * switch-c.adb:
+ Recognize new -gnatS switch for printing package Standard
+ This replaces gnatpsta
+
+ * usage.adb:
+ Add line for new -gnatS switch for printing package Standard
+ This replaces gnatpsta
+
+2003-11-10 Andreas Jaeger <aj@suse.de>
+
+ * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
+ integer.
+
+2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
+
+ * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
+ by gnat1.
+
+2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
+ no longer needed.
+
+ * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
+
+ * sysdep.c: Add handling of cygwin.
+
+2003-11-10 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
+
+ PR 12950
+ * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
+ functions. Used to handle dynamic prefix relocation, via set_std_prefix.
+ Replace GNAT_ROOT by GCC_ROOT.
+
+ * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
+
+2003-11-06 Zack Weinberg <zack@codesourcery.com>
+
+ * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
+ and update for changed meaning of GET_MODE_BITSIZE.
+
+2003-11-04 Doug Rupp <rupp@gnat.com>
+
+ * sysdep.c: Problem discovered during IA64 VMS port.
+ [VMS] #include <unixio.h> to get proper prototypes.
+
+ * adaint.c:
+ Issues discovered/problems fixed during IA64 VMS port.
+ [VMS] #define _POSIX_EXIT for proper semantics.
+ [VMS] #include <unixio.h> for proper prototypes.
+ [VMS] (fork): #define IA64 version.
+ (__gnat_os_exit): Remove unnecessary VMS specific code.
+
+2003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ Part of PR ada/12806
+ * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
+ tree, not integer.
+
+ * decl.c:
+ (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
+ not integer.
+
+ * targtyps.c, decl.c, misc.c,
+ gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
+ routines to work around change in FP sizing semantics in GCC.
+
+ * utils.c:
+ (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
+
+ * gigi.h: (enumerate_modes): New function.
+
+ * Make-lang.in: (ada/misc.o): Add real.h.
+
+ * misc.c: (enumerate_modes): New function.
+
+2003-11-04 Robert Dewar <dewar@gnat.com>
+
+ * 3vtrasym.adb: Minor reformatting
+ Use terminology encoded/decoded name, rather than C++ specific notion
+ of mangling (this is the terminology used throughout GNAT).
+
+ * einfo.h: Regenerated
+
+ * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
+
+ * exp_ch6.adb:
+ (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
+
+ * par-prag.adb: Add dummy entry for Thread_Body pragma
+
+ * rtsfind.ads:
+ Add entries for System.Threads entities for thread body processing
+
+ * sem_attr.adb:
+ (Analyze_Pragma, Access attributes): Check these are not applied to a
+ thread body, since this is not permitted
+
+ * sem_prag.adb: Add processing for Thread_Body pragma.
+ Minor comment fix.
+
+ * sem_res.adb:
+ (Resolve_Call): Check for incorrect attempt to call a thread body
+ procedure with a direct call.
+
+ * snames.ads, snames.adb: Add entry for Thread_Body pragma
+ Add names associated with thread body expansion
+
+ * snames.h: Add entry for Thread_Body pragma
+
+ * s-thread.adb: Add entries for thread body processing
+ These are dummy bodies so far
+
+ * s-thread.ads: Add documentation on thread body handling.
+ Add entries for thread body processing.
+
+2003-11-04 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch10.adb:
+ (Build_Limited_Views): Return after posting an error in case of limited
+ with_clause on subprograms, generics, instances or generic renamings
+ (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
+ on subprograms, generics, instances or generic renamings
+
+2003-11-04 Arnaud Charlet <charlet@act-europe.fr>
+
+ * raise.c (setup_to_install): Correct mistake in last revision; two
+ arguments out of order.
+
+ * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
+ gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
+ notice, missed in previous change.
+ Remove trailing blanks and other style errors introduced in previous
+ change.
+
+2003-11-04 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
+ rid of the wrapper for a LJM type, ensuring we don't do that if the
+ field is addressable. This avoids potential low level type view
+ mismatches later on, for instance in a by-reference argument passing
+ process.
+
+2003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
+ aligned at byte boundary.
+
+2003-11-04 Joel Brobecker <brobecker@gnat.com>
+
+ * decl.c (components_to_record): Do not delete the empty variants from
+ the end of the union type.
+
+2003-11-04 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
+ operation for a derived type, an explicit declaration may use a local
+ subtype of Boolean.
+
+2003-11-04 Vincent Celier <celier@gnat.com>
+
+ * make.adb (Gnatmake): Allow main sources on the command line with a
+ library project when it is only for compilation (no binding or
+ linking).
+
+2003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Makefile.in: Remove many duplicate variables.
+
+2003-11-03 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in (dvi): Move targets to $(docobjdir).
+ (gnat_ug_vms.dvi): Simplify rule and adjust target.
+ (gnat_ug_wnt.dvi): Likewise.
+ (gnat_ug_unx.dvi): Likewise.
+ (gnat_ug_vxw.dvi): Likewise.
+ (gnat_rm.dvi): Likewise.
+ (gnat-style.dvi): Likewise.
+
+2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
+
+ * gigi.h: Missed commit from update for C90.
+
+2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
+
+2003-10-31 Andreas Schwab <schwab@suse.de>
+
+ * raise.c (get_action_description_for): Fix typo in last change.
+
+2003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ PR ada/12761
+ * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
+ T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
+
+2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
+
+ * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
+ ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
+ gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
+ sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
+ trans.c, utils.c, utils2.c: Convert function prototypes to C90.
+
+2003-10-30 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * 3vtrasym.adb:
+ Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
+ numbers when symbol name is too long.
+
+2003-10-30 Ed Falis <falis@gnat.com>
+
+ * g-signal.ads, g-signal.adb: New files
+
+ * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
+
+ * Makefile.rtl: Introduce GNAT.Signals
+
+2003-10-30 Robert Dewar <dewar@gnat.com>
+
+ * freeze.adb: Minor reformatting
+
+ * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
+
+ * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
+ par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
+ New handling of Id_Check parameter to improve recognition of keywords
+ used as identifiers.
+ Update copyright notice to include 2003
+
+2003-10-29 Robert Dewar <dewar@gnat.com>
+
+ * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
+ sem_ch10.adb: Minor reformatting
+
+ * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
+ (Expand_Assign_Record): Test right hand side for bit unaligned as well
+
+2003-10-29 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
+ Support for TBK$SYMBOLIZE-based symbolic traceback.
+
+2003-10-29 Jose Ruiz <ruiz@act-europe.fr>
+
+ * exp_disp.adb:
+ Revert previous change, that did not work well when pragma No_Run_Time
+ was used in conjunction with a run-time other than ZFP.
+
+2003-10-29 Vincent Celier <celier@gnat.com>
+
+ * make.adb:
+ (Gnatmake): When there are no Ada mains in attribute Main, disable the
+ bind and link steps only is switch -z is not used.
+
+2003-10-29 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.generic: Remove duplicated setting of CC.
+
+ * Makefile.prolog: Set CC to gcc by default, to override make's
+ default (cc).
+
+ * einfo.h: Regenerated.
+
+2003-10-29 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
+ current body, after compiling subunit.
+
+ * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
+ when in deleted code, because gigi needs properly ordered freeze
+ actions to annotate types.
+
+ * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
+ prevent the premature freezing of record type that contains
+ subcomponents with a private type that does not yet have a completion.
+
+2003-10-29 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch12.adb:
+ (Analyze_Package_Instantiation): Check that instances can not be used in
+ limited with_clauses.
+
+ * sem_ch8.adb:
+ (Analyze_Package_Renaming): Check that limited withed packages cannot
+ be renamed. Improve text on error messages related to limited
+ with_clauses.
+
+ * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
+
+ * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
+ Update copyright notice.
+
+ * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
+ (Install_Limited_Context_Clauses): New subprogram that isolates all the
+ checks required for limited context_clauses and installs the limited
+ view.
+ (Install_Limited_Withed_Unit): Complete its documentation.
+ (Analyze_Context): Check that limited with_clauses are only allowed in
+ package specs.
+ (Install_Context): Call Install_Limited_Context_Clauses after the
+ parents have been installed.
+ (Install_Limited_Withed_Unit): Add documentation. Mark the installed
+ package as 'From_With_Type'; this mark indicates that the limited view
+ is installed. Used to check bad usages of limited with_clauses.
+ (Build_Limited_Views): Do not add shadow entities to the scope's list
+ of entities. Do not add real entities to the Non_Limited_Views chain.
+ Improve error notification.
+ (Remove_Context_Clauses): Remove context clauses in two phases:
+ limited views first and regular views later (to maintain the
+ stack model).
+ (Remove_Limited_With_Clause): If the package is analyzed then reinstall
+ its visible entities.
+
+2003-10-29 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
+ with any type that Is_Fixed_Point_Type.
+
+ * sinfo.ads: Fix documentation for Associated_Node attribute.
+
+2003-10-29 Sergey Rybin <rybin@act-europe.fr>
+
+ * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
+ both '-gnatc' and '-gnatt' are specified.
+
+ * atree.adb (Initialize): Add initialization for Node_Count (set to
+ zero).
+
+2003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
+ do not consider as Pure.
+
+ Part of implementation of function-at-a-time:
+
+ * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
+ (tree_transform): Add new argument to build_component_ref.
+ (tree_transform, case N_Assignment_Statement): Make and return an
+ EXPR_STMT.
+ (tree_transform): If result IS_STMT, set flags and return it.
+ (gnat_expand_stmt, set_lineno_from_sloc): New functions.
+
+ * utils2.c (build_simple_component_ref, build_component_ref): Add new
+ arg, NO_FOLD_P.
+ (build_binary_op, case EQ_EXPR): Pass additional arg to it.
+ (build_allocator): Likewise.
+
+ * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
+ Add new arg to build_component_ref.
+ (maybe_unconstrained_array, unchecked_convert): Likewise.
+
+ * ada-tree.def (EXPR_STMT): New code.
+
+ * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
+
+ * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
+ build_component_ref calls.
+
+ * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
+
+ * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
+ (build_component_ref): Add new argument, NO_FOLD_P.
+
+2003-10-27 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.generic: Add missing substitution on object_deps handling.
+
+ PR ada/5909
+ * Make-lang.in (check-ada): Enable ACATS test suite.
+
+2003-10-27 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch3.adb:
+ (Freeze_Array_Type): We do not need an initialization routine for types
+ derived from String or Wide_String. They should be treated the same
+ as String and Wide_String themselves. This caused problems with the
+ use of Initialize_Scalars.
+
+ * exp_ch5.adb:
+ (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
+ composites. This allows use of component clauses that are not byte
+ aligned.
+
+ * sem_prag.adb:
+ (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
+ is an attempt to pack an array of atomic objects.
+
+ * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
+
+2003-10-27 Pascal Obry <obry@gnat.com>
+
+ * g-dirope.adb:
+ (Basename): Check for drive letters in a pathname only on DOS based OS.
+
+2003-10-27 Vincent Celier <celier@gnat.com>
+
+ * make.adb:
+ (Gnatmake): When unable to change dir to the object dir, display the
+ content of the parent dir of the obj dir, to try to understand why this
+ happens.
+
+2003-10-27 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-10-27 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch12.adb:
+ (Inline_Instance_Body): Indicate that the save/restore of use_clauses
+ should not be done in Save/Restore_Scope_Stack, because it is performed
+ locally.
+
+ * sem_ch8.adb:
+ (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
+ whether use clauses should be removed/restored.
+
+ * sem_ch8.ads:
+ (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
+ whether use clauses should be removed/restored.
+
+2003-10-26 Andreas Jaeger <aj@suse.de>
+
+ * Makefile.in: Remove duplicated lines.
+
+2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
+
+ * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
+ minimize the differences with ACT tree.
+
+ * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
+ gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
+ Gnatvsn.Gnat_Static_Version_String to reduce differences between
+ ACT and FSF trees.
+
+2003-10-24 Pascal Obry <obry@gnat.com>
+
+ PR ada/12014
+ * adadecode.c (ostrcpy): New function.
+ (__gnat_decode): Use ostrcpy of strcpy.
+ (has_prefix): Set first parameter a const.
+ (has_suffix): Set first parameter a const.
+ Update copyright notice. Fix source name in header.
+ Removes a trailing space.
+
+2003-10-24 Jose Ruiz <ruiz@act-europe.fr>
+
+ * exp_disp.adb:
+ Remove the test against being in No_Run_Time_Mode before generating a
+ call to Register_Tag. It is redundant with the test against the
+ availability of the function Register_Tag.
+
+2003-10-24 Vincent Celier <celier@gnat.com>
+
+ * g-catiio.adb: (Month_Name): Correct spelling of February
+
+ * make.adb: (Mains): New package
+ (Initialize): Call Mains.Delete
+ (Gnatmake): Check that each main on the command line is a source of a
+ project file and, if there are several mains, each of them is a source
+ of the same project file.
+ (Gnatmake): When a foreign language is specified in attribute Languages,
+ no main is specified on the command line and attribute Mains is not
+ empty, only build the Ada main. If there is no Ada main, just compile
+ the Ada sources and their closure.
+ (Gnatmake): If a main is specified on the command line with directory
+ information, check that the source exists and, if it does, that the path
+ is the actual path of a source of a project.
+
+ * prj-env.adb:
+ (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
+ Full_Path is True, return the full path instead of the simple file name.
+ (Project_Of): New function
+
+ * prj-env.ads:
+ (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
+ defaulted to False.
+ (Project_Of): New function
+
+2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.generic:
+ Ensure objects of main project are always checked and rebuilt if needed.
+ Set CC to gcc by default.
+ Prepare new handling of link by creating a global archive (not activated
+ yet).
+
+ * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
+ stringt.h: Update copyright notice. Remove trailing blanks.
+ Fix source name in header.
+
+2003-10-24 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch12.adb: Minor reformatting
+
+ * sem_ch3.adb:
+ Minor reformatting (including new function return style throughout)
+
+ * sem_ch3.ads:
+ Minor reformatting (including new function return style throughout)
+
+2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
+
+ * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
+ stringt.h: Update copyright notice. Remove trailing blanks.
+ Fix source name in header.
+
+2003-10-24 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-10-23 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
+ stringt.h: Convert to ISO C90 declarations and definitions.
+
+2003-10-23 Thomas Quinot <quinot@act-europe.fr>
+
+ PR ada/11978
+ * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
+ External_Tag attribute definition clauses.
+
+2003-10-23 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/7613
+ * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
+ child unit, generate a fully qualified name to avoid spurious errors
+ when the context contains renamings of different child units with
+ the same simple name.
+
+ * exp_dbug.ads: Add documentation on name qualification for renamings
+ of child units.
+
+2003-10-23 Robert Dewar <dewar@gnat.com>
+
+ * g-regpat.ads, g-regpat.adb: Minor reformatting
+
+2003-10-23 Jose Ruiz <ruiz@act-europe.fr>
+
+ * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
+
+2003-10-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
+ Machine call.
+
+ * urealp.h: (Machine): Update to proper definition.
+
+2003-10-23 Arnaud Charlet <charlet@act-europe.fr>
+
+ * init.c, adaint.c: Minor reformatting.
+
+2003-10-23 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * adaint.c (w32_epoch_offset): Define static const at file level.
+ (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
+ rather than t_create, t_access in call to GetFileTime. Use union
+ to convert between FILETIME and unsigned long long.
+ (__gnat_file_time_name): Test for invalid file handle.
+ (__gnat_set_filetime_name): Support win32 targets using
+ w32api SetFileTime.
+
+2003-10-22 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
+
+ * ctrl_c.c (__gnat_int_handler): Remove declaration.
+
+ * decl.c (creat_concat_name): Const-ify prefix.
+
+ * adaint.c: Include ctype.h if __MINGW32__.
+ (__gnat_readlink): Mark arguments as possibly unused.
+ (__gnat_symlink): Likewise.
+ (__gnat_is_symbolic_link): Likewise.
+ (__gnat_portable_spawn): Likewise. Cast last arg of spawnvp to match
+ declaration
+ (__gnat_file_time_name): Don't declare struct stat statbuf when
+ not needed.
+ (__gnat_is_absolute_path): Add parenthesis around condition of
+ 'if' statement to avoid warning.
+ (__gnat_plist_init): Specify void as parameter.
+ (plist_enter): Likewise.
+ (plist_leave): Likewise.
+ (remove_handle): Make static. Initialize prev.
+
+2003-10-22 Arnaud Charlet <charlet@act-europe.fr>
+
+ PR ada/10110
+ * Makefile.in: Disable build of gnatpsta.
+ * cstreams.c (__gnat_full_name): Minor improvements and clean up
+ of previous change.
+
+2003-10-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * tracebak.c (MAX): Avoid redefinition warning.
+
+ * init.c [sgi] (__gnat_error_handler): Remove i, unused.
+ Change msg to const char *.
+ (__gnat_install_handler): Remove ss, unused.
+ [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
+ to const char *.
+ * cstreams.c (__gnat_full_name): Declare p only when used.
+ (__gnat_full_name) [sgi] Return buffer.
+
+2003-10-22 Arnaud Charlet <charlet@act-europe.fr>
+
+ * mingw32.h: New file.
+ * gnat_wrapper.adb: New file.
+
+2003-10-22 Jerome Roussel <roussel@act-europe.fr>
+
+ * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
+ string match a pre compiled regular expression (the corresponding
+ version of the function working on a raw regular expression)
+ Fix typos in various comments
+ Update copyright notice in spec
+
+2003-10-21 Gary Dismukes <dismukes@gnat.com>
+
+ * exp_ch3.adb:
+ (Component_Needs_Simple_Initialization): Return False when the type is a
+ packed bit array. Revise spec comments to document this case.
+
+ * exp_prag.adb:
+ (Expand_Pragma_Import): Set any expression on the imported object to
+ empty to avoid initializing imported objects (in particular this
+ covers the case of zero-initialization of bit arrays).
+ Update copyright notice.
+
+2003-10-21 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch12.adb:
+ (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
+ a subunit is missing.
+ (Instantiate_Subprogram_Body): If body of function is missing, set type
+ of return expression explicitly in dummy body, to prevent cascaded
+ errors when a subunit is missing.
+ Fixes PR 5677.
+
+ * sem_ch3.adb:
+ (Access_Subprogram_Declaration): Verify that return type is valid.
+ Fixes PR 8693.
+
+ * sem_elab.adb:
+ (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
+ generic.
+ Fixes PR 12318.
+
+ * sem_util.adb:
+ (Corresponding_Discriminant): If the scope of the discriminant is a
+ private type without discriminant, use its full view.
+ Fixes PR 8247.
+
+2003-10-21 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
+ 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
+ 3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
+ 55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
+ 56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
+ 59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
+ 5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
+ 5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
+ 5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
+ 5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
+ 5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
+ 5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
+ 5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
+ 5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
+ 7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
+ a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
+ a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
+ a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
+ bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
+ erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
+ err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
+ g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
+ g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
+ g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
+ g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
+ g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
+ g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
+ gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
+ g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
+ g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
+ i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
+ prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
+ prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
+ s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
+ s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
+ s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
+ s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
+ s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
+ s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
+ s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
+ s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
+ socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
+ s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
+ s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
+ s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
+ styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
+ s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
+ tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
+ vms_conv.ads, vms_conv.adb, vms_data.ads,
+ vxaddr2line.adb: Files added. Merge with ACT tree.
+
+ * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
+ 5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
+ 5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
+ 5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
+ g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
+ s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
+ s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
+ s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
+ s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
+ s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
+
+ * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
+ 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
+ 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
+ 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
+ 4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
+ 4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
+ 4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
+ 4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
+ 51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
+ 53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
+ 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
+ 5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
+ 5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
+ 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
+ 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
+ 5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
+ 5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
+ 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
+ 5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
+ 5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
+ 5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
+ 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
+ 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
+ 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
+ 5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
+ 5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
+ 5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
+ 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
+ 5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
+ 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
+ 5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
+ 5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
+ 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
+ 5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
+ 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
+ 7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
+ 7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
+ a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
+ a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
+ a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
+ a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
+ a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
+ ali.adb, ali.ads, ali-util.adb, ali-util.ads,
+ a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
+ a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
+ a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
+ a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
+ a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
+ a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
+ a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
+ a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
+ a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
+ a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
+ a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
+ a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
+ atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
+ a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
+ a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
+ bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
+ checks.adb, checks.ads, cio.c, comperr.adb,
+ comperr.ads, csets.adb, cstand.adb, cstreams.c,
+ debug_a.adb, debug_a.ads, debug.adb, decl.c,
+ einfo.adb, einfo.ads, errout.adb, errout.ads,
+ eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
+ expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
+ exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
+ exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
+ exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
+ exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
+ exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
+ exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
+ exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
+ fe.h, fmap.adb, fmap.ads, fname.adb,
+ fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
+ freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
+ g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.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-comlin.ads,
+ g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
+ g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
+ g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
+ g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
+ g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
+ g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
+ g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
+ g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
+ gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
+ gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
+ gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
+ gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
+ gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
+ g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
+ g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
+ g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
+ g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
+ g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
+ g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
+ g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
+ g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
+ i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
+ i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
+ inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
+ itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
+ layout.adb, lib.adb, lib.ads, lib-list.adb,
+ lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
+ lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
+ link.c, live.adb, make.adb, make.ads,
+ Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
+ mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
+ mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
+ misc.c, mkdir.c, mlib.adb, mlib.ads,
+ mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
+ mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
+ namet.adb, namet.ads, namet.h, nlists.ads,
+ nlists.h, nmake.adt, opt.adb, opt.ads,
+ osint.adb, osint.ads, osint-b.adb, osint-c.adb,
+ par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
+ par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
+ par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
+ par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
+ prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
+ prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
+ prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
+ prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
+ prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
+ prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
+ prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
+ prj-util.adb, prj-util.ads, raise.c, raise.h,
+ repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
+ rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
+ s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
+ s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
+ scans.ads, scn.adb, scn.ads, s-crc32.adb,
+ s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
+ sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
+ sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
+ sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
+ sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
+ sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
+ sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
+ sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
+ sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
+ sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
+ sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
+ sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
+ s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
+ s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
+ s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
+ s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
+ s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
+ s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
+ s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
+ sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
+ sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
+ sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
+ s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
+ s-memory.adb, s-memory.ads, snames.adb, snames.ads,
+ snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
+ s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
+ s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
+ s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
+ s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
+ s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
+ s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
+ s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
+ s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
+ s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
+ s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
+ s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
+ s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
+ s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
+ s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
+ s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
+ s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
+ stringt.adb, stringt.ads, stringt.h, style.ads,
+ stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
+ s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
+ s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
+ switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
+ s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
+ table.adb, table.ads, targparm.adb, targparm.ads,
+ targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
+ trans.c, tree_io.adb, treepr.adb, treeprs.adt,
+ ttypes.ads, types.ads, types.h, uintp.adb,
+ uintp.ads, uintp.h, uname.adb, urealp.adb,
+ urealp.ads, urealp.h, usage.adb, utils2.c,
+ utils.c, validsw.adb, validsw.ads, widechar.adb,
+ xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
+ xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
+ einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
+ gnatvsn.ads: Merge with ACT tree.
+
+ * gnatvsn.adb: Rewritten in a simpler and more efficient way.
+
+2003-10-20 Mark Mitchell <mark@codesourcery.com>
+
+ * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
+ (gnat_ug_vmx.info): Likewise.
+ (gnat_ug_vxw.info): Likewise.
+ (gnat_ug_wnt.info): Likewise.
+ (gnat_rm.info): Likewise.
+ (gnat-style.info): Likewise.
+
+ * Make-lang.in (ada.install-info): Remove target.
+ (info): New target.
+ (install-info): Likewise.
+ (gnat_ug_unx.info): Simplify rule.
+ (gnat_ug_vmx.info): Likewise.
+ (gnat_ug_vxw.info): Likewise.
+ (gnat_ug_wnt.info): Likewise.
+ (gnat_rm.info): Likewise.
+ (gnat-style.info): Likewise.
+
+2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * Make-lang.in: Replace uses of $(target_alias) with
+ $(target_noncanonical).
+ * ada/Makefile.in: Remove unused mention of $(target_alias).
+
+2003-10-06 Mark Mitchell <mark@codesourcery.com>
+
+ * Make-lang.in (ada.info): Replace with ...
+ (info): ... this.
+ (ada.dvi): Replace with ...
+ (dvi): ... this.
+
+2003-09-29 Zack Weinberg <zack@codesourcery.com>
+
+ * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
+ initialize dconstp5 and dconstmp5.
+
+2003-09-28 Richard Henderson <rth@redhat.com>
+
+ * trans.c (tree_transform): Update call to expand_asm_operands.
+
+2003-09-21 Richard Henderson <rth@redhat.com>
+
+ * trans.c, utils.c: Revert.
+
+2003-09-21 Richard Henderson <rth@redhat.com>
+
+ * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
+ change to const.
+
+2003-09-04 Michael Matz <matz@suse.de>
+
+ * misc.c: Include "target.h".
+ * Make-lang.in (misc.o): Add dependency on target.h.
+
+2003-09-03 DJ Delorie <dj@redhat.com>
+
+ * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
+ hook.
+
+2003-08-30 Zack Weinberg <zack@codesourcery.com>
+
+ * Makefile.in: Update substitutions to match changes to
+ configure. Use include directives instead of @-insertions
+ to read in host and target fragments. Add a rule to
+ regenerate ada/Makefile.
+
+2003-07-18 Neil Booth <neil@daikokuya.co.uk>
+
+ * lang-options.h: Remove.
+ * lang.opt: Add help text.
+
+2003-07-07 Nathan Sidwell <nathan@codesourcery.com>
+
+ * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
+ calls.
+
+2003-07-06 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (gnat_handle_option): Don't handle filenames.
+
+2003-07-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * Make-lang.in: Replace PWD with PWD_COMMAND.
+ * Makefile.adalib: Likewise.
+ * Makefile.in: Likewise.
+
+2003-07-04 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * misc.c (gnat_argv): Revert last change.
+ (gnat_handle_option, gnat_init_options): Copy arguments.
+
+2003-07-03 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (gnat_argv): Make const.
+
+2003-07-02 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (save_argc, save_argv): Keep non-static!
+
+2003-07-02 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (save_argc, save_argv): Make static.
+ (gnat_init_options): New prototype.
+ (gnat_init_options): Update.
+
+2003-07-01 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * gnat_ug.texi: Remove unlikely characters from @vars.
+ * gnat_ug_vms.texi: Regenerate.
+
+2003-06-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * misc.c (record_code_position): Adjust emit_note call.
+
+2003-06-26 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (gnat_handle_option): Don't check for missing arguments.
+
+2003-06-20 Nathan Sidwell <nathan@codesourcery.com>
+
+ * utils.c (end_subprog_body): Adjust expand_function_end call.
+
+2003-06-16 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
+ Bind_Main_Program.
+
+2003-06-15 Neil Booth <neil@daikokuya.co.uk>
+
+ * lang.opt: Declare Ada.
+ * misc.c (gnat_init_options): Update.
+
+2003-06-14 Nathan Sidwell <nathan@codesourcery.com>
+
+ * utils.c (begin_subprog_body): Adjust init_function_start call.
+
+2003-06-14 Neil Booth <neil@daikokuya.co.uk>
+
+ * Make-lang.in: Update to use options.c and options.h.
+ * misc.c: Include options.h not aoptions.h.
+ (gnat_handle_option): Abort on unrecognized switch.
+ (gnat_init_options): Request Ada switches.
+
+2003-06-14 Neil Booth <neil@daikokuya.co.uk>
+
+ * lang.opt: Add -Wall.
+ * misc.c (gnat_handle_option): Handle it.
+
+2003-06-12 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (gnat_handle_option): Fix warnings.
+
+2003-06-11 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
+
+2003-06-11 Neil Booth <neil@daikokuya.co.uk>
+
+ * Make-lang.in: Update to handle command-line options.
+ * lang.opt: New file.
+ * misc.c: Include aoptions.h.
+ (cl_options_count, cl_options): Remove.
+ (gnat_handle_option): New.
+ (gnat_decode_option): Remove.
+ (LANG_HOOKS_DECODE_OPTION): Remove.
+ (LANG_HOOKS_HANDLE_OPTION): Override.
+
+2003-06-10 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * init.c, misc.c, trans.c, utils.c: Remove dead code.
+
+2003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * Makefile.in: Replace "host_canonical" with "host" for autoconf
+ substitution.
+
+2003-06-08 Neil Booth <neil@daikokuya.co.uk>
+
+ * Make-lang.in: Update.
+ * misc.c: Include opts.h. Define cl_options_count and cl_options.
+
+2003-06-07 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (gnat_init_options): Update.
+
+2003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * Make-lang.in (ada/b_gnatb.o-warn): Remove.
+ * bindgen.adb (Gen_Main_C): Mark ensure_reference with
+ __attribute__ ((__unused__)).
+
+2003-06-05 Jan Hubicka <jh@suse.cz>
+
+ * Make-lang.in: Add support for stageprofile and stagefeedback
+
+2003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
+ (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
+
+2003-06-04 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
+ Remove non-VMS directive.
+ (Switches for gnatlbr, Optimization Levels): Remove non-VMS
+ alternatives.
+ (Examples of gnatls Usage): Remove VMS alternative.
+
+2003-06-04 Olivier Hainque <hainque@act-europe.fr>
+
+ PR ada/9953
+ * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
+ and turn ZCX_By_Default back to False since the underlying support
+ is not quite there yet.
+
+2003-06-01 Andreas Jaeger <aj@suse.de>
+
+ * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
+ and ROUND_TYPE_SIZE_UNIT.
+
+2003-05-22 Geert Bosch <bosch@gnat.com>
+
+ * gnat_rm.texi : Remove reference to Ada Core Technologies.
+
+2003-05-03 Nathan Sidwell <nathan@codesourcery.com>
+
+ * trans.c (tree_transform): Use location_t and input_location
+ directly.
+ (build_unit_elab): Likewise.
+ * utils.c (create_label_decl): Likewise.
+
+2003-05-01 Nathan Sidwell <nathan@codesourcery.com>
+
+ * trans.c (tree_transform, build_unit_elab,
+ set_lineno): Rename lineno to input_line.
+ * utils.c (pushdecl, create_label_decl, begin_subprog_body,
+ end_subprog_body): Likewise.
+ * utils2.c (build_call_raise): Likewise.
+
+2003-05-01 Laurent Guerby <guerby@acm.org>
+
+ PR ada/10546
+ * 5iosinte.ads: Increase pthread_cond_t size to match recent
+ LinuxThread and NPTL version, merge from ACT.
+
+2003-04-28 Zack Weinberg <zack@codesourcery.com>
+
+ * utils.c (convert): No need to clear TREE_CST_RTL.
+
+2003-04-23 Geert Bosch <bosch@gnat.com>
+
+ * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
+ 1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
+ 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
+ 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
+ 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
+ 4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
+ 4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
+ 4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
+ 4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
+ 4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
+ 4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
+ 4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
+ 52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
+ 5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
+ 5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
+ 5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
+ 5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
+ 5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
+ 5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
+ 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
+ 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
+ 5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
+ 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
+ 5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
+ 5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
+ 5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
+ 5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
+ 5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
+ 5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
+ 5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
+ 5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
+ 5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
+ 5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
+ 5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
+ 5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
+ 5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
+ 5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
+ 5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
+ 5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
+ 5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
+ 5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
+ 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
+ 5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
+ 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
+ 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
+ 7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
+ 7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
+ 9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
+ a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
+ a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
+ a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
+ a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
+ a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
+ a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
+ a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
+ a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
+ a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
+ a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
+ a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
+ a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
+ a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
+ a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
+ a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
+ a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
+ a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
+ a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
+ a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
+ a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
+ a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
+ a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
+ a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
+ a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
+ a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
+ a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
+ a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
+ a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
+ a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
+ a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
+ a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
+ a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
+ a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
+ a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
+ a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
+ a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
+ a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
+ a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
+ a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
+ a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
+ a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
+ a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
+ a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
+ a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
+ a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
+ a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
+ a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
+ a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
+ a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
+ a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
+ a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
+ a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
+ a-wttest.ads, ada-tree.h, ada.ads, ada.h,
+ adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
+ ali.adb, ali.ads, alloc.ads, argv.c,
+ atree.adb, atree.ads, atree.h, aux-io.c,
+ back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
+ binde.adb, binde.ads, binderr.adb, binderr.ads,
+ bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
+ butil.adb, butil.ads, cal.c, calendar.ads,
+ casing.adb, casing.ads, ceinfo.adb, checks.adb,
+ checks.ads, cio.c, comperr.adb, comperr.ads,
+ config-lang.in, csets.adb, csets.ads, csinfo.adb,
+ cstand.adb, cstand.ads, cuintp.c, debug.adb,
+ debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
+ dec-io.ads, dec.ads, deftarg.c, directio.ads,
+ einfo.adb, einfo.ads, elists.adb, elists.ads,
+ elists.h, errno.c, errout.adb, errout.ads,
+ eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
+ exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
+ exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
+ exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
+ exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
+ exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
+ exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
+ exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
+ exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
+ exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
+ exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
+ exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
+ exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
+ exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
+ exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
+ fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
+ fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
+ freeze.adb, freeze.ads, frontend.adb, frontend.ads,
+ g-awk.adb, g-awk.ads, 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-comlin.ads,
+ g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
+ g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
+ g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
+ g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
+ g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.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-md5.adb,
+ g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
+ g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
+ g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
+ g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
+ g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
+ g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
+ g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
+ g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
+ g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
+ get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
+ gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
+ gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
+ gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
+ gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
+ gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
+ gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
+ gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
+ hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
+ i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
+ i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
+ i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
+ i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
+ i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
+ i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
+ inline.adb, inline.ads, interfac.ads, ioexcept.ads,
+ itypes.adb, itypes.ads, krunch.adb, krunch.ads,
+ layout.adb, layout.ads, lib-list.adb, lib-load.adb,
+ lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
+ lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
+ lib.adb, lib.ads, live.adb, live.ads,
+ machcode.ads, make.adb, make.ads, makeusg.adb,
+ makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
+ mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
+ memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
+ mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
+ mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
+ mlib.ads, namet.adb, namet.ads, nlists.adb,
+ nlists.ads, opt.adb, opt.ads, osint-b.adb,
+ osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
+ osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
+ osint.ads, output.adb, output.ads, par-ch10.adb,
+ par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
+ par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
+ par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
+ par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
+ par-tchk.adb, par-util.adb, par.adb, par.ads,
+ prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
+ prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
+ prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
+ prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
+ prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
+ prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
+ prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
+ prj.adb, prj.ads, repinfo.adb, repinfo.ads,
+ restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
+ rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
+ s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
+ s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
+ s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
+ s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
+ s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
+ s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
+ s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
+ s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
+ s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
+ s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
+ s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
+ s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
+ s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
+ s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
+ s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
+ s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
+ s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
+ s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
+ s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
+ s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
+ s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
+ s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
+ s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
+ s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
+ s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
+ s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
+ s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
+ s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
+ s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
+ s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
+ s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
+ s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
+ s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
+ s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
+ s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
+ s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
+ s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
+ s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
+ s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
+ s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
+ s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
+ s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
+ s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
+ s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
+ s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
+ s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
+ s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
+ s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
+ s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
+ s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
+ s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
+ s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
+ s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
+ s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
+ s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
+ s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
+ s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
+ s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
+ s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
+ s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
+ s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
+ s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
+ s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
+ s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
+ s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
+ s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
+ s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
+ s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
+ s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
+ s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
+ s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
+ s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
+ s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
+ s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
+ s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
+ s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
+ s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
+ s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
+ s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
+ s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
+ s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
+ s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
+ s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
+ s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
+ s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
+ s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
+ s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
+ s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
+ s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
+ s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
+ s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
+ s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
+ s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
+ scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
+ sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
+ sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
+ sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
+ sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
+ sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
+ sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
+ sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
+ sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
+ sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
+ sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
+ sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
+ sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
+ sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
+ sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
+ sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
+ sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
+ sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
+ sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
+ sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
+ sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
+ snames.ads, sprint.adb, sprint.ads, stand.adb,
+ stand.ads, stringt.adb, stringt.ads, style.adb,
+ style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
+ switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
+ switch-m.ads, switch.adb, switch.ads, system.ads,
+ table.adb, table.ads, targparm.adb, targparm.ads,
+ tbuild.adb, tbuild.ads, text_io.ads, trans.c,
+ tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
+ tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
+ ttypef.ads, ttypes.ads, types.adb, types.ads,
+ uintp.adb, uintp.ads, uname.adb, uname.ads,
+ unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
+ usage.adb, usage.ads, validsw.adb, validsw.ads,
+ widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
+ xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
+ xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
+ formatting and other trivial changes from ACT.
+
+2003-04-12 Zack Weinberg <zack@codesourcery.com>
+
+ * gigi.h, utils2.c (build_constructor):
+ Rename gnat_build_constructor. Use build_constructor.
+ * decl.c (gnat_to_gnu_entity)
+ * trans.c (tree_transform, pos_to_constructor, extract_values)
+ * ada/utils.c (build_template, convert_to_fat_pointer, convert)
+ (unchecked_convert)
+ * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
+ (fill_vms_descriptor):
+ Update to match.
+
+2003-04-06 Zack Weinberg <zack@codesourcery.com>
+
+ * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
+ * misc.c (gnat_tree_size): New function.
+ (LANG_HOOKS_TREE_SIZE): Override.
+
+2003-04-03 Jason Merrill <jason@redhat.com>
+
+ * misc.c (gnat_adjust_rli): #if 0.
+
+2003-03-31 Geert Bosch <bosch@gnat.com>
+
+ PR ada/10020
+ * link.c : Fix misspelled "const" keyword
+
+2003-03-23 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/7086
+ * utils2.c: Adjust calls to put_var_into_stack.
+
+2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
+
+2003-03-08 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (gnat_init): Update for new prototype.
+
+2003-03-05 Olivier Hainque <hainque@gnat.com>
+
+ ada/9961
+ * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
+ warning, and fix return type for the IN_RTS && !SJLJ case.
+
+2003-03-04 Tom Tromey <tromey@redhat.com>
+
+ * Make-lang.in (ada.tags): New target.
+
+2003-03-04 Olivier Hainque <hainque@act-europe.fr>
+
+ ada/9911
+ * a-except.adb (Unwind_RaiseException): Import a GNAT specific
+ wrapper, which name remains constant whatever underlying GCC
+ scheme.
+
+ * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
+ the stable interface needed for a-except.
+
+2003-03-02 Andreas Jaeger <aj@suse.de>
+
+ * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+ gnat_ug_wnt.texi: Regenerate.
+
+2003-03-02 Laurent Guerby <guerby@acm.org>
+
+ * Makefile.in (install-gnatlib): Match previous change there
+ so it works.
+
+2003-02-28 Andreas Schwab <schwab@suse.de>
+
+ * Make-lang.in (install-gnatlib): Change to ada directory before
+ running make instead of using ada/Makefile directly.
+
+2003-02-18 Ben Elliston <bje@redhat.com>
+
+ Part of PR ada/9406
+ * gnat_ug.texi (Binder output file): Grammar fix.
+
+2003-02-18 Ben Elliston <bje@redhat.com>
+
+ PR other/7350
+ * 5qtaprop.adb (Sleep): Fix typo in comment.
+
+2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
+ * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+ gnat_ug_wnt.texi: Regenerate.
+
+2003-02-03 Christian Cornelssen <ccorn@cs.tu-berlin.de>
+
+ * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
+ be created if necessary.
+ (ada.install-common): Let $(DESTDIR)$(bindir) be created
+ if necessary. Remove erroneous and redundant gnatchop
+ installation commands. Test for gnatdll before attempting
+ to install it.
+ (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
+ and gnatdll from all plausible locations.
+
+2003-02-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * utils2.c (build_unary_op): Don't check flag_volatile.
+ * gnat_ug.texi: Remove -fvolatile from example.
+ * gnat_ug_vxw.texi: Likewise.
+
+2003-01-29 Laurent Guerby <guerby@acm.org>
+
+ PR ada/8344
+ * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
+ * Makefile.in: match previous change.
+ * Make-lang.in: match previous change.
+
+2003-01-29 Joel Sherrill <joel@OARcorp.com>
+
+ * 5rosinte.ads: Add SIGXCPU.
+ * 5rtpopsp.adb: New file.
+ * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
+ * Makefile.in: Recognize more RTEMS targets and add the RTEMS
+ specific file 5rtpopsp.adb.
+ * adaint.h: Add include of <stdio.h> when target is RTEMS. This
+ is likely needed for all newlib targets.
+ * init.c: Add RTEMS specific version of __gnat_initialize().
+
+2003-01-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
+
+2003-01-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * init.c (__gnat_error_handler): Make msg const.
+
+ * gmem.c (convert_addresses): Move declaration ...
+ * adaint.h: ... here.
+ * adaint.c (convert_addresses): Adapt addrs type to match
+ prototype.
+
+ * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
+
+2003-01-24 Andreas Schwab <schwab@suse.de>
+
+ * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
+ size_t to avoid warning.
+
+2003-01-21 Zack Weinberg <zack@codesourcery.com>
+
+ * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
+
+2003-01-09 Geoffrey Keating <geoffk@apple.com>
+
+ * gnat_rm.texi: Remove RCS version number.
+
+ * ada-tree.h (union lang_tree_node): Add chain_next option.
+
+2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
+
+ * Make-lang.in (ada.install-info, ada.install-common,
+ ada.uninstall): Prepend $(DESTDIR) to the destination
+ directory in all (un)installation commands.
+ * Makefile.in (install-gnatlib, install-rts): Ditto.
+
+
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/ada/ChangeLog-2004 b/gcc/ada/ChangeLog-2004
new file mode 100644
index 00000000000..aee7b460d12
--- /dev/null
+++ b/gcc/ada/ChangeLog-2004
@@ -0,0 +1,8347 @@
+2004-12-30 Sohail Somani <sohail@sohailsomani.com>
+
+ PR ada/19128
+ * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
+
+2004-12-23 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
+ * utils2.c (build_unary_op): Likewise.
+
+2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
+
+2004-12-19 Richard Henderson <rth@redhat.com>
+
+ * trans.c (gigi): Update gimplify_body call.
+
+2004-12-09 Nathan Sidwell <nathan@codesourcery.com>
+
+ * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
+
+2004-12-07 Ed Falis <falis@adacore.com>
+
+ * s-intman-vxworks.adb (Notify_Exception): removed useless check for
+ current task being suspended.
+
+ * init.c (__gnat_clear_exception): added to reset VxWorks exception
+ count.
+ (__gnat_map_signal): removed test for current task being suspended.
+
+2004-12-07 Gary Dismukes <dismukes@adacore.com>
+
+ * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
+ from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
+ targets (such as AAMP).
+
+2004-12-07 Ed Schonberg <schonberg@adacore.com>
+
+ * atree.adb (Visit_Itype): Create a new name for the generated itype,
+ because the back-end may otherwise treat it as a redefinition of the
+ old symbol.
+
+2004-12-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * back_end.adb (Scan_Back_End_Switches): Accept --param.
+
+ * lang-specs.h: Accept --param.
+
+2004-12-07 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Check_Mains, Switches_Of): Adapt to name changes in
+ package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
+ Current_Body_Suffix => Ada_Body_Suffix).
+ Take into account Externally_Built attribute.
+
+ * clean.adb (In_Extension_Chain): Always return False when one of the
+ parameter is No_Project.
+ (Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
+ Ada_Language_Index).
+ (Gnatclean): Adapt to change in package Prj.Pars (no parameter
+ Process_Languages for procedure Parse).
+
+ * gnatcmd.adb (Carg_Switches): New table.
+ (GNATCmd): Put all switches following -cargs in the Carg_Switches table.
+ Adapt to name changes in package Prj (Current_Spec_Suffix =>
+ Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
+
+ * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
+ Header_Num and function Hash are now declared in package Prj,
+ not Prj.Com.
+
+ * prj.adb (Suffix_Of): New function.
+ (Set (Suffix)): New procedure.
+ (Hash): One function moved from Prj.Com
+ (Is_Present, Language_Processing_Data_Of): New functions
+ (Set): Two new procedures
+ (Add_Language_Name, Display_Language_Name): New procedures
+
+ * prj.ads: (Suffix_Of): New function
+ (Set (Suffix)): New procedure
+ Add several types and tables for multi-language support.
+ (Header_Num): Type moved from Prj.Com
+ (Hash): Two functions moved from Prj.Com
+ (Is_Present, Language_Processing_Data_Of): New functions
+ (Set): Two new procedures
+ (Add_Language_Name, Display_Language_Name): New procedures
+ (Naming): Component name changes:
+ Current_Spec_Suffix => Ada_Spec_Suffix,
+ Current_Body_Suffix => Ada_Body_Suffix. Add new components:
+ Impl_Suffixes, Supp_Suffixes.
+ (Project_Data): New components: Externally_Built, Supp_Languages,
+ First_Language_Processing, Supp_Language_Processing, Default_Linker,
+ Default_Linker_Path.
+
+ * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
+ new package Language_Processing with its attributes (Compiler_Driver,
+ Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
+ Binder_Driver, Default_Linker).
+
+ * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
+ (Header_Num): Type moved to package Prj
+
+ * prj-env.adb: Adapt to name changes in package Prj
+ (Current_Spec_Suffix => Ada_Spec_Suffix,
+ Current_Body_Suffix => Ada_Body_Suffix).
+
+ * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
+ default to the project path, except the "-" is one of the directories
+ in env var ADA_PROJECT_PATH.
+ (Current_Project_Path): Global variable, replacing Project_Path
+ that was in the body of Prj.Part.
+ (Project_Path): New function
+ (Set_Project_Path): New procedure
+ Initialize Current_Project_Path during elaboration of the package
+ Remove dependency on Prj.Com, no longer needed
+
+ * prj-ext.ads (Project_Path): New function
+ (Set_Project_Path): New procedure
+
+ * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
+ suffix is defined for language <lang>.
+ (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
+ accessing directly the components of Naming.
+ (Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
+ Reorganise of this package.
+ Break procedure Check in several procedures.
+
+ * prj-nmsc.ads: Replace all procedures (Ada_Check,
+ Other_Languages_Check and Language_Independent_Check) with a single
+ procedure Check.
+
+ * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
+ Process_Languages, no longer needed.
+
+ * prj-part.adb (Project_Path): Move to the body of Prj.Ext as
+ Current_Project_Path.
+ Remove elaboration code, moved to the body of Prj.Ext
+ Use new function Prj.Ext.Project_Path instead of old variable
+ Project_Path.
+ (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
+ When comparing with project paths on the stack, first put the resolved
+ path in canonical case.
+ (Parse_Single_Project): Set the path name of the project file in the
+ tree to the normalized path.
+
+ * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
+ parameter Process_Languages, no longer needed.
+ (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
+ Other_Languages_Check.
+
+ * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
+ to store the resolved canonical path of the project file.
+ Remove dependency to Prj.Com, no longer needed
+
+ * prj-util.adb: Adapt to name changes in package Prj
+ (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
+ Ada_Body_Suffix).
+
+ * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
+ Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
+ Externally_Built, Include_Option, Language_Processing.
+
+ * makegpr.adb: Numerous changes due to changes in packages
+ Prj and Prj.Nmsc.
+
+ * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
+ default to the project path, except whe "-" is one of the directories
+ in env var ADA_PROJECT_PATH.
+ (Gnatls): In verbose mode, add the new section "Project Search Path:"
+
+2004-12-07 Robert Dewar <dewar@adacore.com>
+
+ * debug.adb: Document that -gnatdA automatically sets -gnatR3m
+
+ * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
+ set -gnatR3m mode.
+
+ * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
+ flag. No longer needed now that we handle this in gnat1drv.adb.
+
+ * repinfo.ads: Minor reformatting
+
+2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
+ TYPE_SIZE_UNIT of result type if SIZE is not specified.
+ (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
+ of a bitfield, which we know is useless and causes trouble because of
+ alignment implications.
+
+ * utils.c (create_var_decl): Set DECL_COMMON again on targets without
+ BSS sections.
+ (process_attributes): Clear DECL_COMMON again when a section attribute
+ is present.
+ (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
+ SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
+ (create_field_decl): Special case ADDRESSABLE negative to mean
+ "no bitfield creation", to be used by make_aligning_type. Don't
+ restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
+ fields claimed addressable still have to be bitfields. Use
+ value_factor_p instead of a raw binop construction to check for the
+ position's alignment.
+
+2004-12-07 Geert Bosch <bosch@adacore.com>
+
+ * eval_fat.adb: Revert previous change.
+
+2004-12-07 Thomas Quinot <quinot@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
+ with an implicit dereference as its prefix, use
+ Insert_Explicit_Dereference instead of merely rewriting the prefix into
+ an explicit dereference. This ensures that a reference to the original
+ prefix is generated, if appropriate.
+
+ * sem_util.adb (Insert_Explicit_Dereference): When an implicit
+ dereference is rewritten to an explicit one, generate a reference to
+ the entity denoted by its prefix using the original prefix node, so
+ the dereference can be properly recorded as a read of the denoted
+ access value, if appropriate.
+
+ * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
+ emitting 'assigned but never read' warning on a variable on the basis
+ that it has an access type.
+ (Check_References): Emit unreferenced warning when the scope is a
+ subprogram body.
+
+2004-12-07 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): Add comment on handling of back end
+ intrinsic
+
+ * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
+ leaving call unchanged.
+ This deals with the case where the pragma Import specified
+ an external name, to be handled by the back end.
+
+ * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
+ subprogram which is Imported with convention Intrinsic if an
+ External_Name argument is specified.
+ (Process_Import_Or_Interface): Properly diagnose link name argument.
+ (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
+ with Sem_Ch6.Cannot_Inline.
+ (Process_Inline): Provide separate warning for inapplicable inline
+ pragma.
+ (Cannot_Inline): Reject subprograms that have an at_end handler, so that
+ treatment is uniform on different targets.
+
+2004-12-07 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
+ construct is rewritten, preserve end label to permit source navigation.
+
+2004-12-07 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Specific_Build_General_Calling_Stubs,
+ Specific_Build_Stub_Target): New subprograms.
+ (Build_Subprogram_Calling_Stubs): Make this procedure independent from
+ the PCS implementation used, using the above PCS-customized subprograms.
+ Minor reformatting.
+ (PolyORB_Support.Helpers): New subunit containing supporting subprograms
+ for generation of DSA code targeted to the PolyORB PCS.
+ (Add_Stub_Type): Rewrite to isolate the parts that are specific to one
+ implementation of the partition communication subsystem in ancillary
+ subprograms.
+ (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
+ PolyORB_Support.Build_Stub_Type): New subrograms containing the
+ PCS-specific part of Add_Stub_Type.
+ (Insert_Partition_Check): Use runtime library function to perform
+ E.4(19) check.
+
+ * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
+ (RE_Same_Partition): New entity, from s-parint.
+
+ * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
+
+2004-12-07 Gary Dismukes <dismukes@adacore.com>
+
+ * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
+ Output the copyright message on a separate line from the version
+ message.
+
+2004-12-07 Joel Brobecker <brobecker@adacore.com>
+
+ * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
+ compile-time warning.
+
+2004-12-07 Robert Dewar <dewar@adacore.com>
+
+ * g-regpat.adb: (Match): Change a misuse of or to or else
+
+2004-12-07 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-xref.adb:
+ (Generate_Reference): Handle properly a reference to an entry formal,
+ when an accept statement has a pragma Unreferenced for it.
+
+ * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
+ and the Has_Pragma_Unreferenced flag for each formal before analyzing
+ the body, to ensure that warnings are properly emitted for each accept
+ statement of a given task entry.
+
+2004-12-07 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * Makefile.in: Add support for foreign threads on VMS.
+
+2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
+ Remove.
+ (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
+
+ * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
+
+ * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
+ exception.
+ (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
+
+2004-12-07 Robert Dewar <dewar@adacore.com>
+
+ * nlists.adb (Prepend_Debug): Remove parameters and nest within
+ Prepend.
+ (Remove_Next_Debug): Same fix
+
+ * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
+ maintain back pointers now, though we did not used to, and comments
+ were out of date).
+ (Prepend): Remove pragma Inline.
+ (Remove_Next): Same cleanup
+
+2004-12-07 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
+ used to record an implicit dereference as a read operation on its
+ prefix when operating under -gnatc. Necessary to avoid spurious
+ 'variable assigned but never read' warnings in that mode.
+ (Process_Indexed_Component, Analyze_Selected_Component): When the prefix
+ is a non-overloaded implicit dereference, call the above subprogram to
+ ensure proper recording of references.
+
+2004-12-07 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
+ to be resolved later as part of Analyze_Iteration_Scheme's call to
+ Make_Index.
+
+2004-12-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
+ prefix is not a scalar type, place error message on prefix, not on
+ type entity.
+
+2004-12-07 Bernard Banner <banner@adacore.com>
+
+ * vxaddr2line.adb: Add support for x86 vxworks
+
+2004-12-07 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
+ documentation of the behaviour of these functions when passed an IP
+ address that has no record in the system hosts database and no reverse
+ record in the DNS.
+
+ * cstand.adb, a-tags.ads: Fix typos in comment.
+
+2004-12-07 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
+ exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
+ sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
+ s-poosiz.ads: Minor reformatting
+
+ * make.adb: Minor reformatting
+ Add some ??? comments asking for more comments
+
+ * s-poosiz.adb: Minor reformatting
+ Add comments on alignment requirement
+
+ * sinfo.ads: Remove obsolete comment and fix typo.
+
+2004-12-07 Vincent Celier <celier@adacore.com>
+ Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Update the section "The GNAT Driver and Project
+ Files" with the new tool and package names.
+ Reformatting to suppress most of the warnings for line too long
+ Document the new section "Project Search Path:" in the output of
+ gnatls -v.
+ Add gnatmetric section
+
+2004-12-07 Vincent Celier <celier@adacore.com>
+
+ * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
+ -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
+ and -eit to -ept. Added qualifier
+ /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
+
+2004-11-27 Andreas Schwab <schwab@suse.de>
+
+ * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
+
+2004-11-25 Arnaud Charlet <charlet@adacore.com>
+
+ * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from
+ internal implementation unit GNAT.Sockets.Thin,
+ as their usage for sockets is non-portable (using the read and write
+ functions from the system runtime library is fine on UNIX but won't
+ work under Windows).
+
+ * mingw32.h: Update copyright notice.
+
+2004-11-25 Arnaud Charlet <charlet@adacore.com>
+
+ * ada-tree.h: Minor reformatting of previous change to avoid lines
+ longer than 79 characters.
+
+2004-11-25 Olivier Hainque <hainque@adacore.com>
+
+ * tb-gcc.c: GCC infrastructure based implementation of
+ __gnat_backtrace.
+
+2004-11-24 Steven Bosscher <stevenb@suse.de>
+
+ * misc.c (gnat_post_options): Don't clear
+ flag_inline_functions.
+
+2004-11-22 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR ada/17986
+ * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
+ tree.
+
+2004-11-21 Andreas Jaeger <aj@suse.de>
+
+ * stylesw.adb: Change Style_Check_Subprogram_Order to
+ Style_Check_Order_Subprograms.
+
+2004-11-18 Arnaud Charlet <charlet@adacore.com>
+
+ * adaint.h, adaint.c
+ (__gnat_portable_spawn): Fix cast of spawnvp third parameter
+ to avoid warnings.
+ Add also a cast to kill another warning.
+ (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
+ parameter with the priority class of the parent process instead of
+ always using the NORMAL_PRIORITY_CLASS.
+ (__gnat_dup): New function.
+ (__gnat_dup2): New function.
+ (__gnat_is_symbolic_link): Enable the effective body of this
+ function when __APPLE__ is defined.
+
+ * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
+ Update comments.
+
+2004-11-18 Olivier Hainque <hainque@adacore.com>
+
+ * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
+ address of which may be used to represent "others" and "all others"
+ choices in exception tables, instead of the current harcoded
+ (void *)0 and (void *)1.
+ (Setup_Exception): Do nothing in the GNAT SJLJ case.
+
+ * gigi.h (others_decl, all_others_decl): New decls representing the
+ new Others_Value and All_Others_Value objects.
+ (struct attrib): Rename "arg" component as "args", since GCC expects a
+ list of arguments in there.
+
+ * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
+ corresponding objects exported by a-exexpr, instead of hardcoded dummy
+ addresses.
+
+ * trans.c (Exception_Handler_to_gnu_zcx): Use the address of
+ others_decl and all_others_decl instead of hardcoded dummy addresses
+ to represent "others" and "all others" choices, which is cleaner and
+ more flexible with respect to the possible eh pointer encoding policies.
+
+ * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
+ (process_attributes): Account for the naming change of the "args"
+ attribute list entry component.
+
+ * decl.c (build_attr_list): Rename into prepend_attributes to allow
+ cumulating attributes for different entities into a single list.
+ (gnat_to_gnu_entity): Use prepend_attributes to build the list of
+ attributes for the current entity and propagate first subtype
+ attributes to other subtypes.
+ <E_Procedure>: Attribute arguments are attr->args and not
+ attr->arg any more.
+ (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
+ argument provided, as this is what GCC expects. Use NULL_TREE instead
+ of 0 for trees.
+
+2004-11-18 Robert Dewar <dewar@adacore.com>
+
+ * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
+ Minor reformatting througout (including new function specs)
+ Add ??? comments asking for clarification.
+
+2004-11-18 Thomas Quinot <quinot@adacore.com>
+
+ * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
+ incomplete duplicate implementation of this subprogram from butil.
+
+2004-11-18 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
+ procedures factors the common processing for building an RPC receiver
+ for an RCI package or an RACW type.
+ Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
+ Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
+ (Get_PCS_Name): New subprogram. Returns the name of the PCS currently
+ in use.
+ (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
+ Add_RACW_Features.
+ (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
+ Add_RAST_Features.
+ (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
+ distribution subprogram identifiers that are either subprogram numbers
+ or strings.
+ (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
+ string distribution identifiers assigned to a given subprogram.
+ (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
+ (Add_RAS_Dereference_TSS): Add comments.
+ (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
+ is not referenced yet because it will be used by the PolyORB DSA
+ implementation.
+ (Insert_Partition_Check): Remove fossile code.
+ (First_RCI_Subprogram_Id): Document this constant.
+ (Add_RAS_Access_TSS): Correct the setting of the Etype of the
+ RAS_Access TSS.
+ (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
+ replaced with calls to Get_Library_Unit_Name_String. Previously there
+ were several instances of the same code in different locations in the
+ compiler; this checkin completes the replacement of all of these
+ instances with calls to a common subprogram.
+ Minor reformatting.
+
+ * sem_dist.adb: Remove comment noting that RPC receiver generation
+ should be disabled for RACWs that implement RASs.
+ (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
+
+ * sem_util.ads, sem_util.adb (Has_Stream): New function
+ (Get_Library_Unit_Name_String): New subprogram to retrieve the fully
+ qualified name of a library unit into the name buffer.
+ (Note_Possible_Modification): Generate a reference only
+ if the context comes from source.
+
+ * snames.ads (PCS_Names): New subtype corresponding to names of
+ supported implementations of the Partition Communication Subsystem
+ (PCS) (i.e. the runtime library support modules for the distributed
+ systems annex).
+
+2004-11-18 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
+ (Has_Rep_Pragma): New function
+ (Has_Attribute_Definition_Clause): New function
+ (Record_Rep_Pragma): Moved here from sem_ch13.adb
+ (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
+
+ * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
+
+ * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
+ (Expand_Pragma_Psect_Object): New procedure
+ These procedures contain the revised and cleaned up processing for
+ these two pragmas. This processing was formerly in Sem_Prag, but
+ is more appropriately moved here. The cleanup involves making sure
+ that the pragmas are properly attached to the tree, and that no
+ nodes are improperly shared.
+
+ * sem_prag.adb: Move expansion of Common_Object and Psect_Object
+ pragmas to Exp_Prag, which is more appropriate.
+ Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
+ check for duplicates Remove use of Is_Psected flag, no longer needed.
+ Use new Make_String_Literal function with string.
+
+ * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
+ that are functions return universal values, that have to be converted
+ to the context type.
+ Use new Make_String_Literal function with string.
+ (Get_Stream_Convert_Pragma): New function, replaces the use of
+ Get_Rep_Pragma, which had to be kludged to work in this case.
+
+ * freeze.adb: Use new Has_Rep_Pragma function
+
+ * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
+ function with string.
+ Use new Has_Rep_Pragma function.
+
+ * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
+ string argument.
+
+2004-11-18 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads, errout.adb: (First_Sloc): New function
+
+ * par-ch5.adb (P_Condition): Check for redundant parens is now a style
+ check (-gnatyx) instead of being included as a redundant construct
+ warning.
+
+ * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
+ Style_Check_Order_Subprograms.
+
+ * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
+ stylesw.adb: Add Style_Check_Xtra_Parens
+
+ * usage.adb: Add line for -gnatyx (check extra parens)
+
+ * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
+
+2004-11-18 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Selected_Component): If the component is the
+ discriminant of a constrained subtype, analyze the copy of the
+ corresponding constraint, because in some cases it may be only
+ partially analyzed.
+ Removes long-lived ??? comments.
+
+ * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
+ handled controlled or secondary-stack expressions within the
+ iteration_scheme of a loop.
+
+ * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
+ bounds that may contain functions calls, to prevent memory leaks when
+ the bound contains a call to a function that uses the secondary stack.
+ (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
+ generate temporaries for loop bounds that might contain function calls
+ that require secondary stack and/or finalization actions.
+
+ * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
+ selected component and the selector is overloadable (not just a
+ function) treat as function call, Analyze_Call will disambiguate if
+ necessary.
+ (Analyze_Selected_Component): Do not generate an actual subtype for the
+ selected component if expansion is disabled. The actual subtype is only
+ needed for constraint checks.
+ (Analyze_Allocator): If restriction No_Streams is set, then do
+ not permit objects to be declared of a stream type, or of a
+ composite type containing a stream.
+
+ * restrict.ads: Remove the a-stream entry from Unit_Array, since
+ No_Streams no longer prohibits with'ing this package.
+
+ * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
+ discriminants, but the parent base has unknown discriminants, there is
+ no discriminant constraint to inherit. Such a discrepancy can arise
+ when the actual for a formal type with unknown discriminants is a
+ similar private type whose full view has discriminants.
+ (Analyze_Object_Declaration): If restriction No_Streams is set, then
+ do not permit objects to be declared of a stream type, or of a
+ composite type containing a stream.
+
+2004-11-18 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_dbug.ads: Update documentation to reflect simpler encoding for
+ protected operations.
+
+ * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
+ generated name, it complicates decoding in gdb and hinders debugging
+ of protected operations.
+ (Build_Barrier_Function_Specification): Set the Needs_Debug_Info
+ flag for the protected entry barrier function.
+ (Build_Protected_Entry_Specification): Set the Needs_Debug_Info
+ flag for the protected entry function.
+
+2004-11-18 Nicolas Setton <setton@adacore.com>
+
+ * expect.c: Define __unix__ when __APPLE__ is defined.
+
+ * Makefile.in: Inform the value of the variable GMEM_LIB in the
+ Darwin-specific section.
+
+ * lang-specs.h: Change the placement of the %1 marker.
+ Works around the fact that gcc adds -fPIC by default under Darwin.
+
+2004-11-18 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
+ type of the object with the packed array type, set the Analyzed flag
+ on the object if it is an entity or simple indexed component, to avoid
+ spurious type errors.
+
+2004-11-18 Gary Dismukes <dismukes@adacore.com>
+
+ * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
+ gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
+ separate line from the version message.
+
+2004-11-18 Ed Falis <falis@adacore.com>
+
+ * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
+ vthreads.
+ (init_float): Eliminate initialization of floating point status for
+ AE653. The instructions have no effect for vThreads.
+
+2004-11-18 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
+ gnatbind is invoked with -shared.
+
+2004-11-18 Jose Ruiz <ruiz@adacore.com>
+
+ * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
+ for Detect_Blocking which is redundant with the check done within the
+ procedure Protected_Single_Entry_Call.
+ (Lock_Read_Only_Entry): Remove the code for raising Program_Error for
+ Detect_Blocking which is redundant with the check done within the
+ procedure Protected_Single_Entry_Call.
+
+2004-11-18 Vincent Celier <celier@adacore.com>
+
+ * makegpr.adb (Compile): Put the compiling switches (in package
+ Compiler and on the command line) immediately after "-c", instead of
+ at the end of the command line invocation of the compiler, when
+ compiling a non-Ada file.
+ (Build_Global_Archive): When there is no need to rebuild the archive,
+ set Global_Archive_Exists, so that the archive is passed to the linker
+ if one is needed.
+
+2004-11-18 Robert Dewar <dewar@adacore.com>
+ Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi:
+ Remove extra paren check from list of checks for redundant constructs
+ Add documentation of new -gnatyx style check (check extra parens)
+ Remove paragraph about gnatelim debug options.
+
+ * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
+ objects rather than forbidding dependencies on the package Ada.Streams.
+
+ * sinfo.ads: Add ??? note that we should document pragmas passed to
+ back end.
+
+ * g-expect.ads: Fix a few typos in the comments.
+
+2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
+
+ * misc.c (gnat_handle_option): Use %< and %> for quoting in
+ warning message.
+
+2004-11-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * a-numaux-x86.adb (Tan): Fix fdivp syntax.
+
+2004-11-07 Andreas Schwab <schwab@suse.de>
+
+ * Makefile.in (install-gnatlib): Remove spurious hyphen.
+
+2004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR ada/18228
+ * Makefile.in (darwin): Set soext to .dylib.
+
+2004-10-26 Vincent Celier <celier@gnat.com>
+ Thomas Quinot <quinot@act-europe.fr>
+
+ * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads:
+ (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as
+ there is no use of GNAT.Sockets.Constants.
+ Remove remaining pragma Import for C_Write
+ Remove C_Read and C_Write from internal implementation unit
+ GNAT.Sockets.Thin, as their usage for sockets is non-portable (using
+ the read and write functions from the system runtime library is fine
+ on UNIX but won't work under Windows).
+
+ * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write.
+ (Check_Selector): Use C_Recv instead of C_Read.
+ Selectors are the GNAT.Sockets abstraction to perform a select()
+ call on a set of descriptors. To allow abortion of an ongoing
+ select operation, some data is written to a dedicated socket that
+ is always monitored.
+ Under Windows, the write and read library functions cannot operate
+ on sockets, so we need to use send and recv instead, which is portable
+ across all supported platforms.
+
+ * g-socthi.ads: Remove C_Read and C_Write from internal implementation
+ unit GNAT.Sockets.Thin, as their usage for sockets is non-portable
+ (using the read and write functions from the system runtime library is
+ fine on UNIX but won't work under Windows).
+
+2004-10-26 Nicolas Setton <setton@act-europe.fr>
+
+ * mlib-tgt-darwin.adb: New file.
+
+ * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+ mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
+ mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
+ mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New
+ subprogram body.
+
+ * Makefile.in: Add support for building shared libraries under Darwin.
+ (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing
+ the low level EH init subprogram to be called from __gnat_initialize.
+
+ * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
+ indicates which options to pass to the archive indexer.
+
+ * mlib-utl.adb: Add support for calling ranlib with additional
+ options. This is needed for instance under Mac OS X.
+ (Ranlib_Options): New global variable, used to store the potential
+ options to pass to ranlib.
+ (Ar): Use Ranlib_Options when spawning ranlib.
+ (Initialize): Set the value of ranlib option.
+
+2004-10-26 Olivier Hainque <hainque@act-europe.fr>
+
+ * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K
+ instead of 8K, to reflect the real potential needs for stack-checking
+ in the ZCX case.
+
+2004-10-26 Pascal Obry <obry@gnat.com>
+
+ * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
+
+ * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On
+ Windows only the initial thread stack size can be set so it is good to
+ start we a low stack size.
+ The OS will adjust the size as needed.
+
+2004-10-26 Olivier Hainque <hainque@act-europe.fr>
+ Nicolas Setton <setton@act-europe.fr>
+
+ * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with
+ "__unix__" instead of "unix".
+ The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the
+ sections were just mistakenly ignored. The former is
+ implicitely defined by gcc2.8, gcc3.2 and gcc3.4.
+ Update #ifdef preprocessor macro to detect the symbol __hpux__ instead
+ of hpux. This prevents an unwanted definition of the symbol
+ convert_addresses in adaint.o.
+
+2004-10-26 Gary Dismukes <dismukes@gnat.com>
+
+ * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for
+ compatibility with type Unwind_Word on 16-bit targets such as AAMP.
+
+2004-10-26 Cyrille Comar <comar@act-europe.fr>
+
+ * a-filico.ads, a-filico.adb: fix incorrect header.
+
+2004-10-26 Javier Miranda <miranda@gnat.com>
+
+ * a-ststio.ads: Fix typo in identifier
+
+2004-10-26 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_ch4.adb: Minor reformatting.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+
+ * checks.adb (Expr_Known_Valid): If floating-point validity checks are
+ enabled, check the result of unary and binary operations when the
+ expression is the right-hand side of an assignment.
+
+2004-10-26 Vincent Celier <celier@gnat.com>
+
+ * clean.adb (Delete): Do not output warnings when in quiet output and
+ not in verbose mode.
+ (Force_Deletions): New Boolean flag, defaulted to False
+ (Delete): Only delete a file if it is writable, and when
+ Force_Deletions is True.
+ (Parse_Cmd_Line): New switch -f: set Force_Deletions to True
+ (Usage): Line for new switch -f
+ (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our
+ own.
+
+2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_field): Use the type of the inner object for a
+ JM type only if its size matches that of the wrapper. When a size is
+ prescribed and the field is not aliased, remove the wrapper of a JM
+ type only if the size is not greater than that of the packed array.
+ (gnat_to_gnu_entity): Change the extension of packed array wrappers
+ from LJM to JM.
+
+2004-10-26 Geert Bosch <bosch@gnat.com>
+
+ * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used.
+ (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
+ (Pred): Implement in terms of Succ.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_aggr.adb (Safe_Component): An aggregate component that is an
+ unchecked conversion is safe for in-place use if the expression of the
+ conversion is safe.
+ (Expand_Array_Aggregate): An aggregate that initializes an allocator may
+ be expandable in place even if the aggregate does not come from source.
+ (Convert_Array_Aggr_In_Allocator): New procedure to initialize the
+ designated object of an allocator in place, rather than building it
+ first on the stack. The previous scheme forces a full copy of the array,
+ and may be altogether unsusable if the size of the array is too large
+ for stack allocation.
+
+2004-10-26 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
+ compares if the component is atomic.
+
+ * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
+ array assignment if the component type is atomic.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+ Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter
+ is aliased and is a by_reference type, do not pass by copy.
+ (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to
+ detect whether the call is in the right side of an assignment or
+ the expression of an object declaration. Recurse on component
+ association within aggregates.
+ Call it in the condition that determines whether the temporary is
+ necessary for correct stack-checking.
+
+2004-10-26 Thomas Quinot <quinot@act-europe.fr>
+
+ * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter
+ RACW_Type, used in the PolyORB version.
+ Rename RCI_Info to RCI_Locator, for consistency between the PolyORB
+ version and the GARLIC version.
+
+ * snames.ads, snames.adb, s-parint.ads, s-parint.adb:
+ Rename RCI_Info to RCI_Locator for better consistency between the
+ GARLIC and PolyORB versions of the distributed systems annex.
+ (DSA_Implementation_Name): This enumeration lists the possible
+ implementations of the Partition Communication Subsystem for the
+ Distributed Systems Annex (DSA). The three available implementations
+ are the dummy stub implementation (No_DSA), and two versions based on
+ two different distribution runtime libraries: GARLIC and PolyORB. Both
+ the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution
+ technology.
+ Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
+ that organization.
+
+ * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
+ between the GARLIC and PolyORB versions of the distributed systems
+ annex.
+ Remove RE_Unbounded_Reclaim_Pool since it is unused.
+
+2004-10-26 Gary Dismukes <dismukes@gnat.com>
+
+ * gnat1drv.adb: Suppress calling the back end when
+ Frontend_Layout_On_Target is true.
+
+2004-10-26 Thomas Quinot <quinot@act-europe.fr>
+
+ * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable,
+ Set_Read_Only): New subprograms.
+ These new routines allow the user to set or unset the Owner execute
+ and Owner write permission flags on a file.
+
+ * makegpr.adb, mlib.adb, mlib-prj.adb: Use
+ GNAT.OS_Lib.Set_Executable instead of rolling our own.
+
+2004-10-26 Matthew Gingell <gingell@gnat.com>
+
+ * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
+
+2004-10-26 Pascal Obry <obry@gnat.com>
+
+ * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the
+ memory before the faulting page we properly test the process read
+ access for this address using appropriate Win32 routine.
+ (HPUX sections): guard with "__hpux__" instead of "hpux".
+
+2004-10-26 Robert Dewar <dewar@gnat.com>
+
+ * lib-xref.adb (Generate_Reference): Don't complain about reference to
+ entry parameter if pragma Unreferenced set, since we do not properly
+ handle the case of multiple parameters.
+
+2004-10-26 Vincent Celier <celier@gnat.com>
+
+ * prj-env.adb: (Contains_ALI_Files): New Boolean function
+ (Ada_Objects_Path.Add): For a library project, add to the object path
+ the library directory only if there is no object directory or if the
+ library directory contains ALI files.
+ (Set_Ada_Paths.Add.Recursive_Add): Ditto
+
+2004-10-26 Vincent Celier <celier@gnat.com>
+
+ * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
+ extension of library projects.
+
+ * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project
+ path defaults to ".:<prefix>/lib/gnat".
+ (Parse): For an extending all project, allow direct import of a project
+ that is virtually extended.
+
+ * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with
+ the specified name is directly imported, return its ID. Otherwise, if
+ an extension of this project is imported, return the ID of the
+ extension.
+
+2004-10-26 Robert Dewar <dewar@gnat.com>
+
+ * s-arit64.adb: (Le3): New function, used by Scaled_Divide
+ (Sub3): New procedure, used by Scaled_Divide
+ (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
+ correct more than one instance of failure to propagate carries
+ correctly.
+ (Double_Divide): Handle overflow case of largest negative number
+ divided by minus one.
+
+ * s-arit64.ads (Double_Divide): Document that overflow can occur in
+ the case of a quotient value out of range.
+ Fix comments.
+
+2004-10-26 Robert Dewar <dewar@gnat.com>
+
+ * s-bitops.adb (Bit_Eq): Remove redundant check.
+
+ * s-bitops.ads: Minor comment updates
+ Change some occurrences of Address to System.Address
+
+ * s-carsi8.ads: Fix minor cut-and-paste error in comments
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
+ accessibility check to prefix that is a protected operation.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
+ empty, post message on stub.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+ Javier Miranda <miranda@gnat.com>
+
+ * sem_ch12.adb (In_Main_Context): Predicate to determine whether the
+ current instance appears within a unit that is directly in the context
+ of the main unit.
+ Used to determine whether the body of the instance should be analyzed
+ immediately after its spec, to make its subprogram bodies available
+ for front-end inlining.
+ (Analyze_Formal_Array_Type): Cleanup condition that checks that range
+ constraint is not allowed on the component type (AARM 12.5.3(3))
+
+2004-10-26 Cyrille Comar <comar@act-europe.fr>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
+ 'Storage_Pool): enhance, document & limit detection of non-sharable
+ internal pools.
+
+ * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
+
+ * s-pooglo.ads: Add more documentation now that this pool is properly
+ documented.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
+ or protected type with discriminants, do not constrain the
+ corresponding record type if the subtype declaration has no
+ discriminant constraints. This can be the case in source code, or in
+ the subtype declaration created to rename an actual type within an
+ instantiation.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
+ different kind of stub (possibly wrong name for file), do not check
+ for conformance.
+ (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
+ includes call to some function that returns an unconstrained type, do
+ not inline.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_elab.adb (Check_Elab_Call): Do not check a call that does not
+ appear in the code for the main unit. Dependencies among units in the
+ context of the main unit are established when those other units are
+ compiled. Otherwise spurious elaboration constraints can generate
+ incorrect elaboration circularities.
+
+2004-10-26 Thomas Quinot <quinot@act-europe.fr>
+ Ed Schonberg <schonberg@gnat.com>
+
+ * sem_util.adb (Is_Aliased_View): Defend against the case where this
+ subprogram is called with a parameter that is not an object name. This
+ situation arises for some cases of illegal code, which is diagnosed
+ later, and in this case it is wrong to call Is_Aliased, as that might
+ cause a compiler crash.
+ (Explain_Limited_Type): Refine previous fix to include
+ inherited components of derived types, to provide complete information.
+
+ * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
+ is the prival for a protected object.
+ It is necessary to mark this entity as a variable, in addition to
+ flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
+ modified to avoid checking the Aliased flag on entities that are not
+ objects. (Checking that flag for non-objects is erroneous and could
+ lead to a compiler crash).
+
+2004-10-26 Robert Dewar <dewar@gnat.com>
+
+ * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if
+ X_Frac = 0.5, then we know that the number X must be positive.
+ (Succ): Remove the same redundant test, and also fix the primary test
+ to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong.
+ Minor reformatting
+ (Decompose): Add fuller comments to spec
+
+2004-10-26 Pascal Obry <obry@gnat.com>
+
+ * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
+ validity (process must have read access). Set to 0 in all other cases.
+ (STOP_FRAME): Now check for ptr validity to avoid a segmentation
+ violation on Win32.
+ (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
+ segmentation violation.
+
+2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * trans.c (call_to_gnu): For an (in-)out parameter passed by reference
+ whose type is a constructed subtype of an aliased object with an
+ unconstrained nominal subtype, convert the actual to the constructed
+ subtype before taking its address.
+
+2004-10-26 Vincent Celier <celier@gnat.com>
+
+ * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
+ (Is_Path_Name_Case_Sensitive): New function
+
+ * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
+ (Base_Name, Simple_Name, Current_Directory, Compose,
+ Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
+ the result.
+
+2004-10-26 Cyrille Comar <comar@act-europe.fr>
+ Vasiliy Fofanov <fofanov@act-europe.fr>
+ Vincent Celier <celier@gnat.com>
+
+ * gnat_ugn.texi: Generalize "finding memory problems" section into a
+ "memory management issues" section and document some of the useful
+ memory pools provided as part of the GNAT library.
+ Remove "virtual" from declaration of A::method2 in
+ the simple example of Ada/C++ mixed system.
+ Library Projects may be virtually extended: their virtual extensions
+ are not Library Projects.
+ Added section on extending project hierarchies.
+
+2004-10-19 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ * adaint.c (__gnat_get_libraries_from_registry): Cast value
+ to LPBYTE.
+ (__gnat_portable_spawn): Remove const.
+
+ * mingw32.h (MAXPATHLEN): Check for previous definition.
+
+2004-10-17 Matthias Klose <doko@debian.org>
+
+ * gnatvsn.ads: Set gnat library version to 4.0.
+
+2004-10-05 Vincent Celier <celier@gnat.com>
+
+ * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
+
+2004-10-04 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/15156
+ * Makefile.in: Define and use RANLIB_FLAGS.
+
+2004-10-04 Pascal Obry <obry@gnat.com>
+
+ * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
+ other x86 platforms).
+
+2004-10-04 Olivier Hainque <hainque@act-europe.fr>
+
+ * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense
+ in general and triggers stack alignment adjustment for thread entry
+ points on targets where this is necessary.
+
+2004-10-04 Bernard Banner <banner@gnat.com>
+
+ PR ada/13897
+ * Makefile.in: Add section for powerpc linux
+ Add variant i-vxwork-x86.ads
+
+ * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
+
+2004-10-04 Olivier Hainque <hainque@act-europe.fr>
+
+ * init.c (__gnat_initialize): Call an Ada subprogram to perform the
+ table registration calls when need be. Ensures no reference to the crt
+ ctors symbol are issued in the SJLJ case, which avoids possible
+ undefined symbol errors in the case of modules to be statically linked
+ with the kernel.
+
+2004-10-04 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
+ in-line the code corresponding to subprogram Analyze_Actuals. In
+ addition, analyze the actuals only in case of subprogram call.
+
+2004-10-04 Ed Falis <falis@gnat.com>
+
+ * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
+
+2004-10-04 Sergey Rybin <rybin@act-europe.fr>
+
+ * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
+ in the documentation.
+
+2004-10-04 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
+ IF and CASE.
+ (Analyze_Block_Statement): Add circuitry to detect following dead code
+ (Check_Unreachable_Code): Handle case of block exit
+
+2004-10-04 Robert Dewar <dewar@gnat.com>
+
+ * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
+ (XMatchD): Avoid warning for Logic_Error call
+
+2004-10-04 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
+ consider expressions buried within a procedure actual to be an actual.
+ This caused some blowups with uses of packed slices within a procedure
+ actual.
+
+2004-10-04 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
+ longer need to be initialized to zero.
+ (Get_Simple_Init_Val): Modular packed arrays no longer need to be
+ initialized to zero.
+
+ * checks.adb (Expr_Known_Valid): Packed arrays are now always
+ considered valid, even if the representation is modular. That's correct
+ now that we no longer initialize packed modular arrays to zero.
+
+ * exp_dbug.ads: Clarify documentation on handling of PAD and JM
+ suffixes. These are now documented as the only cases in which the
+ debugger ignores outer records.
+ Previously, the spec allowed arbitrary suffixes for this purpose.
+ Change name of LJM to JM for packed array pad records
+ Create separate section on packed array handling, and add a whole new
+ set of comments to this section describing the situation with packed
+ modular types and justification requirements depending on endianness.
+
+2004-10-04 Robert Dewar <dewar@gnat.com>
+
+ * a-except.adb: Add a comment for last change
+
+ * einfo.ads: Minor spelling correction in comment
+
+ * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
+
+ * sem_ch11.adb: Fix a case of using | instead of \ for continuation
+ messages.
+
+ * sem_util.ads: Minor comment update
+
+2004-10-04 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
+ Inline_Always when in Configurable_Run_Time mode.
+
+ * sem_prag.adb (Process_Convention): If entity is an inherited
+ subprogram, apply convention to parent subprogram if in same scope.
+ (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
+ when in Configurable_Run_Time mode.
+
+2004-10-04 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
+ class_wide type after component list has been inherited.
+
+2004-10-04 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch12.adb (Check_Generic_Actuals): New predicate
+ Denotes_Previous_Actual, to handle properly the case of a private
+ actual that is also the component type of a subsequent array actual.
+ The visibility status of the first actual is not affected when the
+ second is installed.
+ (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
+ make fully recursive the treatment of formals of packages declared
+ with a box.
+ (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
+ the above on exit from an instantiation.
+ (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
+ current instantiation which is now complete.
+ (Analyze_Package_Instantiation): No instantiated body is needed if the
+ main unit is generic. Efficient, and avoid anomalies when a instance
+ appears in a package accessed through rtsfind.
+
+2004-10-04 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
+ do not generate a declaration for a temporary if the call is part of a
+ library-level instantiation.
+
+2004-10-04 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_util.adb (Explain_Limited_Type): Ignore internal components when
+ searching for a limited component to flag.
+
+ * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
+ expansion of Input, to account for the fact that the implicit call
+ generated by the attribute reference must freeze the user-defined
+ stream subprogram. This is only relevant to 'Input, because it can
+ appear in an object declaration, prior to the body of the subprogram.
+
+ * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
+ expansion can proceed and further errors uncovered.
+ (Minor clean up): Fix cases of using | instead of \ for continuation
+ messages.
+
+2004-10-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
+
+ * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
+ (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
+ Use gcc_assert and gcc_unreachable.
+
+ * decl.c (gnat_to_gnu_entity, case object): Check and process a
+ specified alignment before validating size.
+ (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
+ stripped-down declaration for the type of the inner field when making
+ a JM type.
+
+ * utils.c (finish_record_type): Do not compute the size in units
+ incrementally. Instead compute it once for the rep clause case.
+ Use gcc_assert and gcc_unreachable.
+
+2004-10-04 Vincent Celier <celier@gnat.com>
+
+ * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
+ in file name.
+ (Is_Valid_Path_Name): Take '/' as a directory separator.
+
+2004-10-04 Vincent Celier <celier@gnat.com>
+
+ * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
+ (Extended_Project) only if Extended_Project is defined, to avoid
+ assertion error.
+ (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
+ resolved path.
+ (Parse_Single_Project): Ditto.
+
+ * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
+ Add_To_Project_Path for virtual projects.
+
+2004-10-04 Vincent Celier <celier@gnat.com>
+
+ * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+ mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
+ mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
+ mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
+ parameter Options_2.
+
+ * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
+ Build_Dynamic_Library with an empty Options_2.
+
+ * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
+ default anymore.
+
+ * makegpr.adb (Get_Imported_Directories.add): Remove trailing
+ directory separator, if any.
+ (Gprmake): Do not allow mains on the command line for library projects.
+ Do not attempt to link when the project is a library project.
+ (Library_Opts): New table to store Library_Options.
+ (Build_Library): If Library_Options is specified, pass these options
+ when building a shared library.
+
+2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
+
+ * s-tposen.adb (Service_Entry): The object must be always unlocked at
+ the end of this procedure now that the unlock operation was inserted
+ by the expander.
+
+2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
+
+ * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
+ corresponding to the Preallocated_Stacks flags in System.
+ (Get_Target_Parameters): Including the processing for
+ Preallocated_Stacks.
+
+ * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
+ system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
+ system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
+ system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
+ system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
+ system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
+ system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
+ system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
+ system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
+ system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
+ system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
+ used to signal whether the compiler creates the required stacks and
+ descriptors for the different tasks (when True) or it is done by the
+ underlying operating system at run time (when False).
+ It is initially set to False in all targets.
+
+ * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
+ if it is supported by the target.
+ (Make_Task_Create_Call): Pass the stack address if it has been
+ previously created. Otherwise pass a Null_Address.
+
+ * snames.adb: Add _stack.
+
+ * snames.ads: Add Name_uStack. Required to allow the expander to
+ statically allocated task stacks.
+
+ * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
+ Stack_Address argument.
+ Check that its value is equal to Null_Address because this target does
+ not support the static stack allocation.
+
+2004-10-04 Thomas Quinot <quinot@act-europe.fr>
+
+ * usage.adb: Change "pragma inline" to "pragma Inline" in information
+ and error messages
+
+2004-10-04 Thomas Quinot <quinot@act-europe.fr>
+
+ * exp_dist.adb: Split declaration of asynchronous flag out of
+ Add_RACW_Read_Attribute.
+ Minor reformatting for better alignment with PolyORB version.
+ Store the entity for the asynchronous flag of an RACW, rather than the
+ expression, in the asynchronous flags table. This will allow this flag
+ to be used in other subprograms beside Add_RACW_Read_Attribute.
+
+2004-10-04 Thomas Quinot <quinot@act-europe.fr>
+
+ * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
+ g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
+ g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
+ g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
+ g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads: Add new
+ sockets constant MSG_NOSIGNAL (Linux-specific).
+ Add new sockets constant MSG_Forced_Flags, list of flags to be set on
+ all Send operations.
+ For Linux, set MSG_NOSIGNAL on all send operations to prevent them
+ from trigerring SIGPIPE.
+ Rename components to avoid clash with Ada 2005 possible reserved
+ word 'interface'.
+ (Check_Selector): When the select system call returns with an error
+ condition, propagate Socket_Error to the caller.
+
+2004-10-01 Jan Hubicka <jh@suse.cz>
+
+ * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
+
+2004-09-23 Robert Dewar <dewar@gnat.com>
+
+ PR ada/17540
+ * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
+ instead do this at freeze time (we won't do it if there is an address
+ clause).
+ Change "pragma inline" to "pragma Inline" in information and error
+ messages.
+ Minor reformatting.
+
+ * freeze.adb (Check_Address_Clause): Remove previous change, not the
+ right way of doing things after all.
+ (Freeze_Entity): For object, set Is_Public for imported entities
+ unless there is an address clause present.
+
+2004-09-21 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
+ dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
+ ensures proper handling of types with rep clauses, which might have
+ their TYPE_SIZE set already.
+
+2004-09-21 Robert Dewar <dewar@gnat.com>
+
+ * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
+ packed array types in both little- and big-endian cases. This change
+ ensures that we no longer count on the unused bits being initialized
+ for such types (and in particular ensures that equality testing will
+ only read the relevant bits).
+ Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
+ These changes mean that we no longer need to initialize small packed
+ arrays.
+ (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
+ optimization to an LJM field as to its parent field.
+
+ * ada-tree.h, trans.c, utils.c, utils2.c:
+ Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
+
+2004-09-20 Jan Hubicka <jh@suse.cz>
+
+ * utils.c (gnat_finalize): Remove.
+ (end_subprog_body): Directly call cgraph_finalize_function;
+ do not lower the nested functions.
+
+2004-09-20 Robert Dewar <dewar@gnat.com>
+
+ PR ada/17540
+ * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
+ if an address clause is present, since that means that the Import
+ should be ignored.
+
+2004-09-20 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 5tsystem.ads: Removed, no longer used.
+
+2004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
+ Zack Weinberg <zack@codesourcery.com>
+
+ * ada-tree.def: Use tree_code_class enumeration constants
+ instead of code letters.
+ * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
+ Update for new tree-class enumeration constants.
+
+2004-09-17 Vincent Celier <celier@gnat.com>
+
+ * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
+ capabilities of the general project manager.
+
+2004-09-09 Vincent Celier <celier@gnat.com>
+
+ * a-direct.ads: Add pragma Ada_05
+ (Directory_Entry_Type): Give default value to component Kind to avoid
+ not initialized warnings.
+
+ * a-direct.adb (Current_Directory): Remove directory separator at the
+ end.
+ (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
+ an existing directory.
+ (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
+ (Size (String)): Function C_Size returns Long_Integer, not File_Size.
+ Convert the result to File_Size.
+
+ * prj.ads: (Project_Error): New exception
+
+ * prj-attr.adb: Except in procedure Initialize, Fail comes from
+ Prj.Com, not from Osint.
+ (Attrs, Package_Attributes): Tables moved to private part of spec
+ (Add_Attribute, Add_Unknown_Package): Moved to new child package
+ Prj.Attr.PM.
+ (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
+ Prj.Project_Error after call to Fail.
+ (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
+ Fail. Check that package name is not already in use.
+
+ * prj-attr.ads: Comment updates to indicate that all subprograms may be
+ used by tools, not only by the project manager, and to indicate that
+ exception Prj.Prj_Error may be raised in case of problem.
+ (Add_Unknown_Package, Add_Attribute): Moved to new child package
+ Prj.Attr.PM.
+ (Attrs, Package_Attributes): Table instantiations moved from the body to
+ the private part to be accessible from Prj.Attr.PM body.
+
+ * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
+ from new package Prj.Attr.PM.
+ (Parse_Attribute_Declaration): Call Add_Attribute from new package
+ Prj.Attr.PM.
+
+ * Makefile.in: Add prj-attr-pm.o to gnatmake object list
+
+ * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
+ instead of Elaboration_Checks).
+
+ * a-calend.adb: Minor reformatting
+
+2004-09-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * gigi.h (maybe_pad_type): New declaration.
+ (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
+
+ * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
+
+ * cuintp.c: Convert to use buildN.
+
+ * decl.c (maybe_pad_type): No longer static.
+ (gnat_to_gnu_entity, case E_Function): Handle case of returning by
+ target pointer.
+ Convert to use buildN.
+
+ * trans.c (call_to_gnu): Add arg GNU_TARGET; support
+ TYPE_RETURNS_BY_TARGET_PTR_P. All callers changed.
+ (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
+ RHS.
+ (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
+ (gnat_gimplify_expr, case ADDR_EXPR): New case.
+ Convert to use buildN.
+
+ * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
+ TREE_READONLY for const.
+ Convert to use buildN.
+
+ * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
+ (create_var_decl): Refine when TREE_STATIC is set.
+ Convert to use buildN.
+
+2004-09-09 Gary Dismukes <dismukes@gnat.com>
+
+ * gnat_ugn.texi: Delete text relating to checking of ali and object
+ consistency.
+
+ * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
+ routines.
+
+2004-09-09 Jose Ruiz <ruiz@act-europe.fr>
+
+ * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
+ pragmas recognized by GNAT.
+
+ * gnat_rm.texi: Document pragma Detect_Blocking.
+
+ * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
+ raise Program_Error if called from a protected operation.
+
+ * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
+ the protected action nesting level.
+ (Lock_Read_Only): When pragma Detect_Blocking is active increase the
+ protected action nesting level.
+ (Unlock): When pragma Detect_Blocking is active decrease the protected
+ action nesting level.
+
+ * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
+ Protected_Action_Nesting.
+
+ * s-taskin.ads: Adding the field Protected_Action_Nesting to the
+ Common_ATCB record. It contains the dynamic level of protected action
+ nesting for each task. It is needed for checking whether potentially
+ blocking operations are called from protected operations.
+ (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
+ Detect_Blocking is active or not in the partition.
+
+ * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
+ raise Program_Error if called from a protected operation.
+ (Task_Entry_Call): When pragma Detect_Blocking is active, raise
+ Program_Error if called from a protected operation.
+ (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
+ Program_Error if called from a protected operation.
+
+ * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
+ raise Program_Error if called from a protected operation.
+
+ * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
+ raise Program_Error if called from a protected operation, and increase
+ the protected action nesting level.
+ (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
+ Program_Error if called from a protected operation, and increase the
+ protected action nesting level.
+ (Unlock_Entries): When pragma Detect_Blocking is active decrease the
+ protected action nesting level.
+
+ * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
+ raise Program_Error if called from a protected operation, and increase
+ the protected action nesting level.
+ (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
+ Program_Error if called from a protected operation, and increase the
+ protected action nesting level.
+ (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
+ raise Program_Error if called from a protected operation.
+ (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
+ active, raise Program_Error if called from a protected operation.
+ (Unlock_Entry): When pragma Detect_Blocking is active decrease the
+ protected action nesting level.
+
+ * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
+ insertion of the statement raising Program_Error. The run time
+ contains the required machinery for handling that.
+
+ * sem_util.ads: Change comment associated to procedure
+ Check_Potentially_Blocking_Operation.
+ This procedure does not insert a call for raising the exception because
+ that is currently done by the run time.
+
+ * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
+
+ * init.c: Add the global variable __gl_detect_blocking that indicates
+ whether pragma Detect_Blocking is active (1) or not (0). Needed for
+ making the pragma available at run time.
+ (__gnat_set_globals): Pass and update the detect_blocking parameter.
+
+ * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
+ pragma Detect_Blocking is active.
+
+ * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
+
+ * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
+ DB is found in the ali file. Any unit compiled with pragma
+ Detect_Blocking active forces its effect in the whole partition.
+
+ * a-retide.adb (Delay_Until): Raise Program_Error if pragma
+ Detect_Blocking is active and delay is called from a protected
+ operation.
+
+ * bindgen.adb (Gen_Adainit_Ada): When generating the call to
+ __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
+ Detect_Blocking is active (0 otherwise).
+ (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
+ as Detect_Blocking parameter if pragma Detect_Blocking is active (0
+ otherwise).
+
+2004-09-09 Thomas Quinot <quinot@act-europe.fr>
+
+ * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
+ GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
+ package.
+
+ * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
+ (Register_Receiving_Stub): Add Subp_Info formal parameter.
+ Update API in placeholder implemetation of s-parint to reflect changes
+ in distribution runtime library.
+
+ * sem_ch3.adb (Expand_Derived_Record): Rename to
+ Expand_Record_Extension.
+
+ * sem_disp.adb (Check_Controlling_Formals): Improve error message for
+ primitive operations of potentially distributed object types that have
+ non-controlling anonymous access formals.
+
+ * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
+ subprogram.
+ New implementation of expansion for remote access-to-subprogram types,
+ based on the RACW infrastructure.
+ This version of sem_dist is compatible with PolyORB/DSA as well as
+ GLADE.
+
+ * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
+ Asynchrronous that applies to a remote access-to-subprogram type, mark
+ the underlying RACW type as asynchronous.
+
+ * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
+ __gnat_using_gnu_linker to 1.
+
+ * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
+ g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
+ GNAT.Perfect_Hash_Generators, and remove the empty
+ GNAT.Perfect_Hash package.
+
+ * atree.adb: Minor reformatting
+
+ * exp_ch3.adb (Expand_Derived_Record): Rename to
+ Expand_Record_Extension.
+ (Build_Record_Init_Proc.Build_Assignment): The default expression in
+ a component declaration must remain attached at that point in the
+ tree so New_Copy_Tree copies it if the enclosing record type is derived.
+ It is therefore necessary to take a copy of the expression when building
+ the corresponding assignment statement in the init proc.
+ As a side effect, in the case of a derived record type, we now see the
+ original expression, without any rewriting that could have occurred
+ during expansion of the ancestor type's init proc, and we do not need
+ to go back to Original_Node.
+
+ * exp_ch3.ads (Expand_Derived_Record): Rename to
+ Expand_Record_Extension.
+
+ * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
+ Returns the RACW type used to implement a remote access-to-subprogram
+ type.
+ (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
+ New subprograms. Used to create a proxy tagged object for a remote
+ subprogram. The proxy object is used as the designated object
+ for RAS values on the same partition (unless All_Calls_Remote applies).
+ (Build_Get_Unique_RP_Call): New subprogram. Build a call to
+ System.Partition_Interface.Get_Unique_Remote_Pointer.
+ (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
+ Renamed from Add_RAS_*_Attribute.
+ (Add_Receiving_Stubs_To_Declarations): Generate a table of local
+ subprograms.
+ New implementation of expansion for remote access-to-subprogram types,
+ based on the RACW infrastructure.
+
+ * exp_dist.ads (Copy_Specification): Update comment to note that this
+ function can copy the specification from either a subprogram
+ specification or an access-to-subprogram type definition.
+
+2004-09-09 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
+ in an instance, between an explicit subprogram an one inherited from a
+ type derived from an actual.
+
+ * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
+ add a polling call if the subprogram is to be inlined by the back-end,
+ to avoid repeated calls with multiple inlinings.
+
+ * checks.adb (Apply_Alignment_Check): If the expression in the address
+ clause is a call whose name is not a static entity (e.g. a dispatching
+ call), treat as dynamic.
+
+2004-09-09 Robert Dewar <dewar@gnat.com>
+
+ * g-trasym.ads: Minor reformatting
+
+ * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
+ packed arrays, since unused bits are expected to be zero for a
+ comparison.
+
+2004-09-09 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
+ comment.
+
+2004-09-09 Pascal Obry <obry@gnat.com>
+
+ * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
+ enable map file generation. Add the right option to generate the map
+ file if Map_File is set to True.
+
+ * gnatdll.adb (Gen_Map_File): New variable.
+ (Syntax): Add info about new -m (Map_File) option.
+ (Parse_Command_Line): Add support for -m option.
+ (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
+ Minor reformatting.
+
+2004-09-09 Laurent Pautet <pautet@act-europe.fr>
+
+ * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
+ new gnatdist implementation.
+ Define a subpackage isolating the output routines specific to this
+ verbose mode.
+
+2004-09-09 Joel Brobecker <brobecker@gnat.com>
+
+ * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
+
+ * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
+
+2004-09-09 Cyrille Comar <comar@act-europe.fr>
+
+ * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
+ internal unit.
+
+ * opt.ads: Add Ada_Version_Runtime constant used to decide which
+ version of the language is used to compile the run time.
+
+2004-09-09 Arnaud Charlet <charlet@act-europe.fr>
+
+ * sem_util.adb (Requires_Transient_Scope): Re-enable handling
+ of variable length temporaries for function return now that the
+ back-end and gigi support it.
+
+2004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
+
+ * trans.c (struct stmt_group): Delete field GLOBAL.
+ (gnat_init_stmt_group): Do not initialize it.
+ (call_to_gnu): Use save_expr, not protect_multiple_eval.
+ (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
+ (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
+ (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
+ (start_stmt_group): Likewise.
+ (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
+
+ * utils2.c (ggc.h): Include.
+ (build_call_raise): Call build_int_cst, not build_int_2.
+
+ * utils.c (gnat_init_decl_processing): Fix arg to
+ build_common_tree_nodes.
+ (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
+ (gnat_define_builtin): Set built_in_decls.
+ (init_gigi_decls): Call build_int_cst, not build_int_2.
+
+ * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
+ (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
+ (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
+ (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
+ SET_TYPE_MODULE): Use them.
+ (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
+ (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
+ (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
+ SET_TYPE_ADA_SIZE): Likewise.
+ (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
+ (DECL_CONST_CORRESPONDING_VAR,
+ SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
+ (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
+ (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
+ (TYPE_RM_SIZE_NUM): New macro.
+ (TYPE_RM_SIZE): Modified to use above.
+
+ * cuintp.c: (build_cst_from_int): New function.
+ (UI_To_gnu): Use it.
+
+ * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
+ (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
+ (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
+ MIN_EXPR for the size, copy it into new.
+
+2004-09-01 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch6.adb (Expand_Call): Properly handle validity checks for
+ packed indexed component where array is an IN OUT formal. This
+ generated garbage code previously.
+
+ * gnat_ugn.texi: Document -fverbose-asm
+
+ * gnat-style.texi: Minor updates (note that boolean constants and
+ variables are joined with AND/OR rather than short circuit forms).
+
+2004-09-01 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
+ it is an upward conversion of an untagged type with no representation
+ change.
+
+2004-09-01 Thomas Quinot <quinot@act-europe.fr>
+
+ * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
+ System.Partition_Interface.
+
+ * checks.adb (Apply_Access_Checks): Do not generate checks when
+ expander is not active (but check for unset reference to prefix of
+ dereference).
+
+ * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
+ pragma Debug as an if statement with a constant condition, for
+ consistent treatment of entity references contained within the
+ enclosed procedure call.
+
+2004-09-01 Vincent Celier <celier@gnat.com>
+
+ * bindgen.adb: (Set_EA_Last): New procedure
+ (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
+ Set_EA_Last.
+ (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
+ (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
+ linked without errors.
+ (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
+ ST and EA.
+ (Gen_Exception_Table_C): Correct same bugs
+
+ * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
+
+ * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
+ on Windows, make sure that the drive letter is in upper case.
+
+ * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
+ Windows, when the drive letter is added and Case_Sensitive is True, the
+ drive letter is forced to upper case.
+
+ * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
+ to Options_2 for the call to MLib.Utl.Gcc.
+
+ * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
+ directory separator when defining BASE_DIR.
+
+2004-09-01 Pascal Obry <obry@gnat.com>
+
+ * gprcmd.adb (Extend): Do not output trailing directory separator. This
+ is not needed and it confuses Windows GNU/make which does not report
+ directory terminated by a slash as a directory.
+ (gprcmd): Idem for "pwd" internal command.
+
+ * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
+ target names rewrite to fix regressions with recent version of
+ GNU/make. Starting with GNU/make 3.80 the pipe character was not
+ handled properly anymore.
+
+2004-09-01 Andreas Schwab <schwab@suse.de>
+
+ * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
+ * raise.c [!IN_RTS]: Undef abort.
+
+2004-08-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * utils2.c (build_allocator): Use ssize_int.
+
+ * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
+
+2004-08-27 Andreas Schwab <schwab@suse.de>
+
+ * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
+
+2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
+
+2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
+
+ * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
+ * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
+ * utils.c (init_gigi_decls): Likewise.
+ * utils2.c (build_call_raise, build_allocator): Likewise.
+
+2004-08-24 Nathan Sidwell <nathan@codesourcery.com>
+
+ * utils.c (gnat_init_decl_processing): Adjust
+ build_common_tree_nodes call.
+
+2004-08-20 Nathan Sidwell <nathan@codesourcery.com>
+
+ * utils2.c (build_allocator): Use build_int_cst for negative
+ size types.
+
+2004-08-18 Richard Henderson <rth@redhat.com>
+
+ * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
+
+2004-08-16 Nathan Sidwell <nathan@codesourcery.com>
+
+ * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
+ call.s
+ * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
+ (gnat_to_gnu): Likewise.
+
+2004-08-16 Pascal Obry <obry@gnat.com>
+
+ * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
+ backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
+ option and not mdll anymore. Update comment.
+
+2004-08-16 Pascal Obry <obry@gnat.com>
+
+ * bld.adb (Put_Include_Project): Properly handle directory separators
+ on Windows.
+
+2004-08-16 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
+ decreasing the number of allocated junk nodes while searching for the
+ appropriate subprogram.
+
+2004-08-15 Nathan Sidwell <nathan@codesourcery.com>
+
+ * cuintp.c (UI_To_gnu): Use build_int_cst..
+ * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
+ * utils.c (init_gigi_decls): Likewise.
+ * utils2.c (build_call_raise): Likewise.
+
+2004-08-13 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
+ for a global aliased object with a variable size and an unconstrained
+ nominal subtype, pretend there is no initializer if the one we have is
+ incomplete, and avoid referencing an inexistant component in there. The
+ part we have will be rebuilt anyway and the reference may confuse
+ further operations.
+
+2004-08-13 Thomas Quinot <quinot@act-europe.fr>
+
+ * einfo.ads: Minor reformatting
+
+ * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
+ restrictions in the ALI if we only want to warn about violations.
+
+2004-08-13 Vincent Celier <celier@gnat.com>
+
+ * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
+ when creating a new Unit_Record in table Units.
+
+ * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
+ that are violated, if any.
+
+ * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
+ add directory separator if path already ends with a directory separator.
+
+2004-08-13 Ed Schonberg <schonberg@gnat.com>
+
+ * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
+ unit, this is an attempt to inline a construct that is not available in
+ the current restricted mode, so abort rather than trying to continue.
+
+ * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
+ discriminants that rename those of the parent, recover names of
+ original discriminants for the constraint on the full view of the
+ parent.
+ (Complete_Private_Subtype): Do not create a subtype declaration if the
+ subtype is an itype.
+
+ * gnat_rm.texi: Added section on implementation of discriminated
+ records with default values for discriminants.
+
+2004-08-13 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15601
+ * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
+ the second operand is overloaded.
+
+2004-08-10 Richard Henderson <rth@redhat.com>
+
+ * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
+ add __builtin_alloca.
+
+2004-08-10 Richard Henderson <rth@redhat.com>
+
+ * config-lang.in (boot_language): Yes.
+
+2004-08-09 Thomas Quinot <quinot@act-europe.fr>
+
+ * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
+ from complaining on potential uninitialized reference.
+ Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
+ new specification and test explicitly for non-zero return value.
+
+ * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
+ returning C.int, to avoid using a derived boolean type.
+
+ * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
+ Duplicate_Subexpr_No_Checks in preference to direct use of
+ Remove_Side_Effects and New_Copy_Tree.
+ Clear Comes_From_Source on prefix of 'Size attribute reference.
+
+ * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
+ g-socthi-vxworks.adb: Change calls to
+ GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
+ and test explicitly for non-zero return value.
+
+ * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
+ (Is_Socket_In_Set): Declare imported function as returning C.int, to
+ avoid using a derived boolean type.
+
+2004-08-09 Albert Lee <lee@gnat.com>
+
+ * system-irix-n32.ads: Refine tasking priority constants for IRIX.
+
+2004-08-09 Pascal Obry <obry@gnat.com>
+
+ * gnat_ugn.texi: Document new way to build DLLs on Windows using
+ GCC's -shared option.
+
+ * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
+ Options_2 parameter (options put after object files).
+
+2004-08-09 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
+ ignore overflows on low and high bounds of an index to also account for
+ differences in signedness between sizetype and gnu_index_subtype.
+ These are as legitimate as the ones caused by a lower TYPE_PRECISION
+ on sizetype.
+
+2004-08-09 Robert Dewar <dewar@gnat.com>
+
+ * s-solita.ads, s-solita.adb: Minor reformatting
+
+ * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
+ Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
+ obsolescent section
+ Add note that No_Implicit_Conditionals does not suppress
+ run time constraint checks.
+
+ * vms_conv.ads: Minor reformatting
+
+ * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
+ and necessary for following change).
+ (Mark): Return new format Mark_Id containing sec stack address
+ (Release): Use sec stack address from Mark_Id avoiding Self call
+
+ * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
+ pointer (cleanup and necessary for following change).
+ Define Mark_Id as record containing address of secondary stack, that way
+ Release does not need to find the stack again, decreasing the number of
+ calls to Self and improving efficiency.
+
+ * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
+
+ * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
+ case variable into the individual case branches when possible.
+
+ * sem_ch11.adb: Minor reformatting
+
+ * prj.ads: Correct spelling of suffixs
+
+ * prj-nmsc.adb: Minor reformatting
+ Correct spelling suffixs throughout (also in identifiers)
+
+ * freeze.adb: Minor spelling correction
+
+ * exp_ch2.adb: Cleanups to handling of Current_Value
+ (no functional effect).
+
+ * bld.adb: Correct spelling of suffixs
+
+ * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
+
+2004-08-09 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15408
+ * sem_ch7.adb (Install_Private_Declarations): In the body of the
+ package or of a child, private entities are both immediately_visible
+ and not hidden.
+
+2004-08-09 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
+ there are no range checks on the value of the literal.
+
+ * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
+ wrapped is the triggering alternative of an asynchronous select, action
+ statements mustbe inserted before the select itself.
+
+ * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
+ case where the prefix is a protected function call.
+ (Resolve_Attribute, case 'Access): The attribute reference on a
+ subprogram is legal in a generic body if the subprogram is declared
+ elsewhere.
+
+2004-08-09 Vincent Celier <celier@gnat.com>
+
+ * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
+ languages, otherwise building the library may fail with unresolved
+ symbols.
+ (Compile_Sources): Do not build libraries if -c switch is used
+
+ * gnatlink.adb (Process_Args): New switches -M and -Mmap
+ (Write_Usage): If map file creation is supported, output new switches
+ -M and -Mmap.
+ (Gnatlink): When -M is specified, add the necessary switch(es) to the
+ gcc call, when supported.
+
+ * Makefile.in: Added indepsw.o to the object list for gnatlink
+ Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
+
+ * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
+ indepsw.adb, indepsw.ads: New files.
+
+2004-08-09 Bernard Banner <banner@gnat.com>
+
+ * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
+
+ * Makefile.in: add section for vxworks x86
+
+2004-08-09 Hristian Kirtchev <kirtchev@gnat.com>
+
+ * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
+ per-object constrained components where the discriminant is of an
+ Access type.
+ (Build_Record_Init_Proc): Add condition to prevent the inheritance of
+ the parent initialization procedure for derived Unchecked_Unions.
+ Instead, derived Unchecked_Unions build their own initialization
+ procedure.
+ (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
+ Check the body of the subprogram for details.
+ (Freeze_Record_Type): Prevent the inheritance of discriminant checking
+ functions for derived Unchecked_Union types by introducing a condition.
+ Allow the creation of TSS equality functions for Unchecked_Unions.
+ (Make_Eq_Case): Rename formal parameter Node to E in function signature.
+ Add formal parameter Discr to function signature. Discr is used to
+ control the generated case statement for Unchecked_Union types.
+ (Make_Eq_If): Rename formal parameter Node to E in function signature.
+
+ * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
+ Unchecked_Unions.
+ Check the body of the subprogram for details.
+ (Expand_Composite_Equality): Augment composite type equality to include
+ correct handling of Unchecked_Union components.
+ (Expand_N_In): Add condition to detect illegal membership tests when the
+ subtype mark is a constrained Unchecked_Union and the expression lacks
+ inferable discriminants, and build a Raise_Program_Error node.
+ (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
+ to detect types that contain components of unconstrained Unchecked_Union
+ subtype. Add condition to detect equality between types that have an
+ unconstrained Unchecked_Union component, and build a Raise_Program_Error
+ node. Add condition to detect equality between Unchecked_Union types
+ that lack inferable discriminants, and build a Raise_Program_Error node.
+ Otherwise build a TSS equality function call.
+ (Expand_N_Type_Conversion): Add condition to detect illegal conversions
+ from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
+ with the operand lacking inferable discriminants, and build a Raise_
+ Program_Error node.
+ (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
+ composite equality.
+ (Has_Inferable_Discriminants): Implement new predicate for objects and
+ expressions of Unchecked_Union type. Check the body of subprogram for
+ details.
+ (Has_Unconstrained_UU_Components): Add function
+ Component_Is_Unconstrained_UU. It is used to detect whether a single
+ component is of an unconstrained Unchecked_Union subtype. Add function
+ Variant_Is_Unconstrained_UU. It is used to detect whether a single
+ component inside a variant is of an unconstrained Unchecked_Union type.
+
+ * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
+ inferred discriminant values. Add condition to generate a case
+ statement with an inferred discriminant as the switch.
+ (Make_Component_List_Assign): Introduce a Boolean flag that determines
+ the behaviour of the subprogram in the presence of an Unchecked_Union.
+ Add condition to trigger the usage of the inferred discriminant value
+ as the generated case statement switch.
+ (Make_Field_Assign): Introduce a Boolean flag that determines the
+ behaviour of the subprogram in the presence of an Unchecked_Union. Add
+ condition to trigger the usage of the inferred discriminant value as
+ the right-hand side of the generated assignment.
+
+ * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
+ parameter generation when dealing with Unchecked_Unions.
+
+ * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
+ checks for Unchecked_Unions.
+
+ * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Produce
+ Raise_Program_Error nodes for the execution of Read and Write
+ attributes of Unchecked_Union types and the execution of Input and
+ Output attributes of Unchecked_Union types that lack default
+ discriminant values.
+
+ * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
+ Unchecked_Union. Add procedure Check_Component. It is used to inspect
+ per-object constrained components of Unchecked_Unions for being
+ Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
+ check individual components withing a variant.
+
+ * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
+ comparison of Unchecked_Unions.
+ (Resolve_Equality_OP): Remove guard that prevents equality between
+ Unchecked_Unions.
+
+ * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
+ of component subtypes for Unchecked_Union components.
+ (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
+ since it is the actual subtype.
+
+ * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
+ pass of Unchecked_Union subtypes as generic actuals to formal types
+ that lack known_discriminant_parts or that are derived Unchecked_Union
+ types, and do nothing. In any other case, produce an error message.
+
+ * sem_ch3.adb (Analyze_Component_Declaration): Add function
+ Contains_POC. It determines whether a constraint uses the discriminant
+ of an enclosing record type.
+ Add condition to detect per-object constrained component and set the
+ appropriate flag.
+ (Derived_Type_Declaration): Remove guard that prevents derivation from
+ Unchecked_Union types.
+ (Process_Subtype): Remove quard that prevents the creation of Unchecked_
+ Union subtypes.
+
+ * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
+ references to Unchecked_Union discriminants.
+
+ * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
+ formal generation when dealing with Unchecked_Unions.
+ (Set_Actual_Subtypes): Add condition to prevent generation of actual
+ subtypes for Unchecked_Unions.
+
+ * sem_ch7.adb (Analyze_Package_Specification): Add procedure
+ Inspect_Unchecked_Union_Completion. It is used to detect incorrect
+ completions of discriminated partial views by Unchecked_Unions and
+ produce an error message.
+
+2004-08-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (struct stmt_group): New field, GLOBAL.
+ (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
+ (struct elab_info): New struct.
+ (elab_info_list, gnu_elab_proc_stack): New variables.
+ (Compilation_Unit_to_gnu): New procedure.
+ (gigi): Call it and also handle elaboration procs we've saved.
+ (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
+ global field from parent.
+ (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
+ (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
+ (start_stmt_group): Initialize global field from parent.
+ (add_decl_expr): Set to global for current statement group.
+ (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
+ post.
+
+ * utils.c (global_bindings_p): True when no current_function_decl; no
+ longer check current_binding_level.
+
+2004-08-09 Ben Brosgol <brosgol@gnat.com>
+
+ * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
+ choice.
+
+ * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
+
+2004-08-06 Andreas Schwab <schwab@suse.de>
+
+ * utils.c (gnat_define_builtin): Remove second parameter of
+ make_decl_rtl.
+ (begin_subprog_body): Likewise.
+
+2004-07-26 Arnaud Charlet <charlet@act-europe.fr>
+
+ * sem_util.adb (Requires_Transient_Scope): Temporarily disable
+ optimization, not supported by the tree-ssa back-end.
+
+2004-07-26 Olivier Hainque <hainque@act-europe.fr>
+
+ * s-mastop-irix.adb: Update comments.
+
+ * a-except.adb (Exception_Information): Raise Constraint_Error if
+ exception Id is Null_Id.
+ This is required behavior, which is more reliably and clearly checked
+ at the top level interface level.
+
+2004-07-26 Javier Miranda <miranda@gnat.com>
+
+ * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
+ call if a component has no default_expression and the box is used.
+
+ * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
+ default_expression and you use box, it behaves as if you had declared a
+ stand-alone object.
+ (Resolve_Record_Aggregate): If a component has no default_expression and
+ you use box, it behaves as if you had declared a stand-alone object.
+
+ * sem_ch10.adb (Install_Siblings): Do not make visible the private
+ entities of private-with siblings.
+
+2004-07-26 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
+ for a component of an itype, set the parent pointer for analysis,
+ there is no list in which to insert it.
+
+ * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
+ bona-fide renamings, not for inherited operations.
+
+ * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
+ actual for a formal that is an access parameter, create local
+ finalization list even if the expression is not an aggregate.
+
+2004-07-26 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/16213
+ * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
+ Diagnose properly illegal subprogram renamings that are library units.
+
+2004-07-26 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15588
+ * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
+ conversion rewritten as an unchecked conversion, check that original
+ expression is a variable.
+
+ * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
+ unchecked_conversion, create new node rather than rewriting in place,
+ to preserve original construct.
+
+2004-07-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * gigi.h (gnat_expand_body): Deleted.
+
+ * Make-lang.in: (trans.o): Depends on function.h.
+
+ * misc.c: (gnat_expand_body): Moved to here.
+
+ * trans.c (gnat_expand_body_1): Deleted.
+ (gnat_expand_body): Moved from here.
+ (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
+ (add_stmt): Check for marked visited with global_bindings_p.
+ (gnat_gimplify_expr, case COMPONENT_REF): New case.
+ (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
+
+ * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
+ VIEW_CONVERT_EXPR if not operation type.
+
+ * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
+ fat pointer.
+
+ * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
+ changes: reformatting of negation operators, removing unneeded
+ inequality comparison with zero, converting equality comparisons with
+ zero to negations, changing int/0/1 to bool/false/true, replace calls
+ to gigi_abort with abort, and various other similar changes.
+
+2004-07-26 Vincent Celier <celier@gnat.com>
+
+ * gnatcmd.adb (GNATCmd): Add processing for new built-in command
+ "setup".
+
+ * make.adb (Gnatmake): Fail when a library is not present and there is
+ no object directory.
+
+ * mlib-prj.adb (Check_Library): No need to check if the library needs
+ to be rebuilt if there is no object directory, hence no object files
+ to build the library.
+
+ * opt.ads (Setup_Projects): New Boolean flag.
+
+ * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
+ Location.
+ Create directory when Kind /= "" and in "gnat setup". Report error if
+ directory cannot be created.
+ (Ada_Check): Create library interface copy dir if it does not exist
+ and we are in "gnat setup".
+ (Find_Sources): No error if in "gnat setup" and no Ada sources were
+ found.
+ (Language_Independent_Check): Create object directory, exec directory
+ and/or library directory if they do not exist and we are in
+ "gnat setup".
+
+ * vms_conv.ads: (Command_Type): New command Setup.
+
+ * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
+
+ * vms_data.ads: Add qualifiers/switches for new built-in command
+ "setup".
+
+2004-07-25 Richard Henderson <rth@redhat.com>
+
+ * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
+ DECL_IGNORED_P on RESULT_DECL.
+
+2004-07-20 Olivier Hainque <hainque@act-europe.fr>
+
+ * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
+ allocation and potentially overflowing update with
+ Tailored_Exception_Information. Use the sec-stack free procedural
+ interface to output Exception_Information instead.
+
+ * a-except.adb (To_Stderr): New subprogram for character, and string
+ version moved from a-exextr to be visible from other separate units.
+ (Tailored_Exception_Information): Remove the procedural version,
+ previously used by the default Last_Chance_Handler and not any more.
+ Adjust various comments.
+
+ * a-exexda.adb: Generalize the exception information procedural
+ interface, to minimize the use of secondary stack and the need for
+ local buffers when the info is to be output to stderr:
+ (Address_Image): Removed.
+ (Append_Info_Character): New subprogram, checking for overflows and
+ outputing to stderr if buffer to fill is of length 0.
+ (Append_Info_String): Output to stderr if buffer to fill is of length 0.
+ (Append_Info_Address, Append_Info_Exception_Name,
+ Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
+ Append_Info_Basic_Exception_Traceback,
+ Append_Info_Exception_Information): New subprograms.
+ (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
+ (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
+ Exception_Info_Maxlength, Exception_Name_Length,
+ Exception_Message_Length): New subprograms.
+ (Exception_Information): Use Append_Info_Exception_Information.
+ (Tailored_Exception_Information): Use
+ Append_Info_Basic_Exception_Information.
+ Export services for the default Last_Chance_Handler.
+
+ * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
+ other separate units.
+
+2004-07-20 Vincent Celier <celier@gnat.com>
+
+ * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
+
+2004-07-20 Ed Schonberg <schonberg@gnat.com>
+
+ * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
+ emit itype references for the designated types of component types that
+ are declared outside of the full record declaration, and that may
+ denote a partial view of that record type.
+
+2004-07-20 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15607
+ * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
+ which is the designated type in an access component declaration, to the
+ list of incomplete dependents of the parent type, to avoid elaboration
+ issues with out-of-scope subtypes.
+ (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
+ full view of the parent.
+
+2004-07-20 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15610
+ * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
+ entities that are hidden, such as references to generic actuals
+ outside an instance.
+
+2004-07-20 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
+ support to the new notation.
+ (Analyze_Selected_Component): Add call to Try_Object_Operation.
+
+2004-07-20 Jose Ruiz <ruiz@act-europe.fr>
+
+ * s-taprob.adb: Adding the elaboration code required for initializing
+ the tasking soft links that are common to the full and the restricted
+ run times.
+
+ * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
+ restricted run time has been moved to the package
+ System.Soft_Links.Tasking.
+
+ * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
+ restricted run time has been moved to the package
+ System.Soft_Links.Tasking.
+
+ * Makefile.rtl: Add entry for s-solita.o in run-time library list.
+
+ * s-solita.ads, s-solita.adb: New files.
+
+2004-07-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
+ Case_Statement_to_gnu): Split off from gnat_to_gnu.
+ (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
+ Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
+ Exception_Handler_to_gnu_zcx): Likewise.
+
+2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gigi.h (builtin_function): Declare.
+
+2004-07-15 Robert Dewar <dewar@gnat.com>
+
+ * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
+ reformatting
+
+ * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
+ access values as an example of a warning.
+
+ * gnat_rm.texi: Document new attribute Has_Access_Values
+
+ * gnat-style.texi: Document that box comments belong on nested
+ subprograms
+
+ * sem_util.ads (Has_Access_Values): Improved documentation
+
+ * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
+
+ * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
+ (Process_Interface_Name): Call to this new procedure
+ (Set_Extended_Import_Export_External_Name): Call to this new procedure
+
+ * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
+
+ * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
+
+ * einfo.ads: Minor comment typo fixed
+
+2004-07-15 Jose Ruiz <ruiz@act-europe.fr>
+
+ * snames.adb: Add _atcb.
+
+ * snames.ads: Add Name_uATCB.
+
+ * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
+ (in the expanded code) when using the restricted run time.
+
+ * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
+ a in parameter in order to allow ATCBs to be preallocated (in the
+ expanded code).
+
+ * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
+ order to allow ATCBs to be preallocated. In case of error, the ATCB is
+ deallocated in System.Tasking.Stages.
+
+ * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
+ order to allow ATCBs to be preallocated.
+
+ * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
+ here. It was previously done in Initialize_ATCB.
+
+ * rtsfind.ads: Make the Ada_Task_Control_Block visible.
+
+ * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
+ Restricted run time.
+
+ * exp_ch3.adb: When using the Restricted run time, pass the
+ preallocated Ada_Task_Control_Block when creating a task.
+
+2004-07-15 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_util.adb (Normalize_Actuals): If there are no actuals on a
+ function call that is itself an actual in an enclosing call, diagnose
+ problem here rather than assuming that resolution will catch it.
+
+ * sem_ch7.adb (Analyze_Package_Specification): If the specification is
+ the local copy of a generic unit for a formal package, and the generic
+ is a child unit, install private part of ancestors before compiling
+ private part of spec.
+
+ * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
+ use scope entities rather than tree structures, to handle properly
+ parent units that are instances rewritten as bodies for inlining
+ purposes.
+
+ * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
+ Remove_Parents): Handle properly a parent unit that is an
+ instantiation, when the unit has been rewritten as a body for inlining
+ purposes.
+
+ * par.adb (Goto_List): Global variable to collect goto statements in a
+ given unit, for use in detecting natural loops.
+
+ * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
+ use in detecting natural loops.
+
+ * par-labl.adb (Find_Natural_Loops): Recognize loops create by
+ backwards goto's, and rewrite as a infinite loop, to improve locality
+ of temporaries.
+
+ * exp_util.adb (Force_Evaluation): Recognize a left-hand side
+ subcomponent that includes an indexed reference, to prevent the
+ generation of copies that would miscompile the desired assignment
+ statement.
+ (Build_Task_Image_Decls): Add a numeric suffix to
+ generated name for string variable, to avoid spurious conflicts with
+ the name of the type of a single protected object.
+
+ * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
+ loop with an explicit exit statement, to avoid generating an
+ out-of-range value with 'Succ leading to spurious constraint_errors
+ when compiling with -gnatVo.
+
+2004-07-15 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
+ might not be analyzed yet, even if its Etype is already set (case of an
+ unchecked conversion built using Unchecked_Convert_To, for example).
+ If the prefix has already been analyzed, this will be a nop anyway.
+
+ * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
+ controller type, or an assignment of a record type with controlled
+ components, copy only user data, and leave the finalization chain
+ pointers untouched.
+
+2004-07-15 Vincent Celier <celier@gnat.com>
+
+ * make.adb (Collect_Arguments): Improve error message when attempting
+ to compile a source not part of any project, when -x is not used.
+
+ * prj.ads: (Defined_Variable_Kind): New subtype
+
+ * prj-attr.adb (Register_New_Package): Two new procedures to register
+ a package with or without its attributes.
+ (Register_New_Attribute): Mew procedure to register a new attribute in a
+ package.
+ New attribute oriented subprograms: Attribute_Node_Id_Of,
+ Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
+ Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
+ Next_Attribute.
+ New package oriented subprograms: Package_Node_Id_Of,
+ Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
+
+ * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
+ type.
+ (Package_Node_Id): Now a private, self initialized type
+ (Register_New_Package): New procedure to register a package with its
+ attributes.
+ New attribute oriented subprograms: Attribute_Node_Id_Of,
+ Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
+ Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
+ Next_Attribute.
+ New package oriented subprograms: Package_Node_Id_Of,
+ Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
+
+ * prj-dect.adb (Parse_Attribute_Declaration,
+ Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
+
+ * prj-makr.adb (Make): Parse existing project file before creating
+ other files. Fail if there was an error during parsing.
+
+ * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
+ new spec of Prj.Attr.
+
+ * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
+ to new spec of Prj.Attr.
+
+2004-07-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * utils2.c: Fix typo in comment.
+
+2004-07-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
+ * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
+
+2004-07-14 Andreas Schwab <schwab@suse.de>
+
+ * trans.c (gnat_init_stmt_group): Remove duplicate definition.
+
+2004-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
+ object type.
+ (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
+ TYPE_STUB_DECL.
+
+ * misc.c (gnat_types_compatible_p): New function.
+ (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
+ (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
+
+ * trans.c (gigi): Move processing of main N_Compilation_Unit here.
+ (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
+ (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
+ (mark_visited): Don't mark dummy type.
+ (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
+ parameter, we must remove any LJM building from GNU_NAME.
+ (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
+ (pos_to_constructor): Use int_const_binop.
+ (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
+ PARM_DECL.
+
+ * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
+ (gnat_pushlevel): Set TREE_USE on BLOCK node.
+ (gnat_install_builtins): Add __builtin_memset.
+
+2004-07-13 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
+ for a renaming, stabilize the initialization expression if we are at a
+ local level. At the local level, uses of the renaming may be performed
+ by a direct dereference of the initializing expression, and we don't
+ want possible variables there to be evaluated for every use.
+
+ * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
+ Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
+ them on the way. Account for the fact that we may introduce side
+ effects in the process.
+
+2004-07-13 Richard Henderson <rth@redhat.com>
+
+ * misc.c (default_pass_by_ref): Use pass_by_reference.
+
+2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
+ LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
+
+2004-07-08 Richard Henderson <rth@redhat.com>
+
+ * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
+ commentary.
+
+2004-07-06 Vincent Celier <celier@gnat.com>
+
+ * vms_conv.ads: Minor reformatting.
+ Alphabetical order for enumerated values of type Command_Type, to have
+ the command in alphabetical order for the usage.
+
+ * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
+ the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
+
+ * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
+
+ * makegpr.adb (Global_Archive_Exists): New global Boolean variable
+ (Add_Archive_Path): Only add the global archive if there is one.
+ (Build_Global_Archive): Set Global_Archive_Exists depending if there is
+ or not any object file to put in the global archive, and don't build
+ a global archive if there is none.
+ (X_Switches): New table
+ (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
+ in the X_Switches table, if any.
+ (Initialize): Make sure the X_Switches table is empty
+ (Scan_Arg): Record -X switches in table X_Switches
+
+ * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
+
+ * make.adb: Minor comment fix
+
+ * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
+ invoked with directory information, add the directory in front of the
+ path.
+
+ * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
+ invoked with directory information, add the directory in front of the
+ path.
+
+ * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
+ when Keep_Temporary_Files is False.
+ (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
+ directory information, add the directory in front of the path.
+ When not on VMS, handle new switch -dn before the command to set
+ Keep_Temporary_Files to True.
+ (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
+ everywhere.
+
+ * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
+ invoked with directory information, add the directory in front of the
+ path.
+
+2004-07-06 Thomas Quinot <quinot@act-europe.fr>
+
+ * snames.ads, snames.adb (Name_Stub): New name for the distributed
+ systems annex.
+
+ * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
+ New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
+
+ * g-socket.adb (To_Timeval): Fix incorrect conversion of
+ Selector_Duration to Timeval for the case of 0.0.
+
+ * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
+ documentation from Evolve_And_Then.
+
+2004-07-06 Jose Ruiz <ruiz@act-europe.fr>
+
+ * s-taprop-tru64.adb, s-taprop-os2.adb,
+ s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
+
+2004-07-06 Robert Dewar <dewar@gnat.com>
+
+ * s-osinte-hpux.ads, s-osinte-freebsd.ads,
+ s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
+ s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
+ s-interr-sigaction.adb, s-taprop-irix-athread.adb,
+ s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
+ s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
+ s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
+ s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
+ a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
+ a-tags.ads, bindgen.ads, checks.adb, checks.adb,
+ csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
+ exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
+ g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
+ i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
+ sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
+ sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
+ sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
+ s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
+ s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
+ s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
+ vms_data.ads: Minor reformatting,
+ Fix bad box comment format.
+
+ * gnat_rm.texi: Fix minor grammatical error
+
+ * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
+
+ * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
+ more cases of discriminated records to be recognized as not needing a
+ secondary stack.
+ (Has_Access_Values): New function.
+
+ * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
+
+ * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
+ Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
+ with LRM terminology).
+ Change terminology in comments primitive type => elementary type.
+
+2004-07-06 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15602
+ * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
+ parameters do not impose any requirements on the presence of a body.
+
+2004-07-06 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15593
+ * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
+ compilation unit and is in an open scope at the point of instantiation,
+ assume that a body may be present later.
+
+2004-07-06 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
+ Improve error message when specified size is not supported.
+
+ * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
+ is never a primitive operation.
+
+2004-07-05 Andreas Schwab <schwab@suse.de>
+
+ * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
+ RECORD_OR_UNION_CHECK.
+ (TYPE_CONTAINS_TEMPLATE_P): Likewise.
+
+2004-07-04 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
+ dependency on xgnatugn, instead build it via a submake.
+ (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
+
+2004-07-04 Richard Henderson <rth@redhat.com>
+
+ * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
+
+2004-07-01 Richard Henderson <rth@redhat.com>
+
+ * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
+ * utils.c (max_size): Likewise.
+
+2004-06-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
+ and rest_of_type_compilation; add arg to create_*_decl.
+ (annotate_decl_with_node): Deleted.
+ (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
+ * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
+ (get_current_block_context, gnat_pushdecl): New declarations.
+ (gnat_init_stmt_group): Likewise.
+ (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
+ * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
+ (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
+ (gnat_init): Call gnat_init_stmt_group.
+ * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
+ (gnu_pending_elaboration_list): Deleted.
+ (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
+ (gigi): Rearrange initialization calls and move some to last above.
+ (gnat_to_gnu): If statement and not in procedure, go into elab proc.
+ Delete calls to add_decl_expr; add arg to create_*_decl.
+ (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
+ (gnat_to_gnu, case N_Subprogram_Body): Move some code to
+ begin_subprog_body and call it.
+ Don't push and pop ggc context.
+ (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
+ (add_stmt): Remove handling of DECL_EXPR from here.
+ If not in function, mark visited.
+ (add_decl_expr): Put global at top level.
+ Check for cases of DECL_INITIAL we have to handle here.
+ (process_type): Add extra arg to create_type_decl.
+ (build_unit_elab): Rework to just gimplify.
+ * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
+ (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
+ (get_pending_elaborations, pending_elaborations_p): Likewise.
+ (push_pending_elaborations, pop_pending_elaborations): Likewise.
+ (get_elaboration_location, insert_elaboration_list): Likewise.
+ (gnat_binding_level): Renamed from ada_binding_level.
+ (init_gnat_to_gnu): Don't clear pending_elaborations.
+ (global_bindings_p): Treat as global if no current_binding_level.
+ (set_current_block_context): New function.
+ (gnat_pushdecl): Renamed from pushdecl; major rework.
+ All callers changed.
+ (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
+ (finish_record_type): Call call pushdecl for stub decl.
+ (function_nesting_depth): Deleted.
+ (begin_subprog_body): Delete obsolete code.
+ * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
+
+2004-06-28 Robert Dewar <dewar@gnat.com>
+
+ * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+ mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
+ mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
+ mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
+ a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
+
+ * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
+ deal with problem of inefficient slices on machines with strict
+ alignment, when the slice is a component of a composite.
+
+ * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
+ machines, we need the check there as well.
+
+2004-06-28 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
+ determine safe copying direction for overlapping slice assignments
+ when component is controlled.
+
+ * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
+ formal derived type in the actual for a formal package are visible in
+ the enclosing instance.
+
+2004-06-28 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15600
+ * sem_util.adb (Trace_Components): Diagnose properly an illegal
+ circularity involving a private type whose completion includes a
+ self-referential component.
+ (Enter_Name): Use Is_Inherited_Operation to distinguish a source
+ renaming or an instantiation from an implicit derived operation.
+
+2004-06-28 Pascal Obry <obry@gnat.com>
+
+ * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
+ DLL.
+ (Library_File_Name_For): Idem.
+
+2004-06-28 Matthew Gingell <gingell@gnat.com>
+
+ * g-traceb.ads: Add explanatory note on the format of addresses
+ expected by addr2line.
+
+2004-06-28 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in: Force debugging information on s-tasdeb.adb,
+ a-except.adb and s-assert.adb needed by the debugger.
+
+2004-06-28 Vincent Celier <celier@gnat.com>
+
+ * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
+ Need_To_Build_Lib.
+ (Gnatmake): Ditto.
+
+ * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
+
+ * prj.adb: Minor reformatting
+ (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
+
+ * prj.ads: Comment updates
+ Minor reformatting
+ (Project_Data): Change Flag1 to Need_To_Build_Lib.
+ Remove Flag2: not used.
+
+ * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
+ declaration.
+
+ * gnat_ugn.texi: Put a "null;" declaration in one project file example
+
+ * gnat_rm.texi: Document Empty declarations "null;".
+
+ * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
+ front of the linker options.
+ (Link_Foreign): Put the global archives and the libraries in front of
+ the linker options.
+
+2004-06-28 Javier Miranda <miranda@gnat.com>
+
+ * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
+ (RTU_Loaded): Code cleanup
+ (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
+ withed predefined units.
+
+ * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
+ explicitly withed predefined units.
+ Fix typo in comment
+
+ * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
+ explicitly withed predefined units.
+
+2004-06-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.def (DECL_STMT): Deleted.
+ * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
+ (DECL_STMT_VAR): Deleted.
+ * decl.c: add_decl_stmt now add_decl_expr.
+ * gigi.h: Likewise.
+ * trans.c: Likewise.
+ (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
+ (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
+ (add_stmt): Only handle padded type here.
+ (add_stmt_with_node): Allow gnat_node to not be present.
+ (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
+ (gnat_gimplify_stmt, case DECL_STMT): Deleted.
+ (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
+ make a SAVE_EXPR for the entire fat pointer.
+ * utils.c (pushdecl): Walk a DECL_EXPR in global case.
+ (create_index_type): Make a DECL_EXPR.
+ (end_subprog_body): Don't call allocate_struct_function here but
+ do clear cfun.
+
+2004-06-25 Pascal Obry <obry@gnat.com>
+
+ * makegpr.adb (Build_Library): Remove parameter Lib_Address and
+ Relocatable from Build_Dynamic_Library call.
+
+ * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
+ Relocatable are now synonym.
+
+ * Makefile.in: Use s-parame-mingw.adb on MingW platform.
+
+ * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
+ Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
+ call.
+
+ * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
+ Lib_Address and Relocatable.
+ (Default_DLL_Address): Removed.
+
+ * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+ mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
+ mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
+ (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
+ (Default_DLL_Address): Removed.
+
+ * mlib-tgt-mingw.adb: Ditto.
+ (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
+
+ * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
+ the initial thread stack size.
+
+ * a-strmap.ads: Move package L to private part as it is not used in
+ the spec. Found while reading code.
+
+2004-06-25 Olivier Hainque <hainque@act-europe.fr>
+
+ * tracebak.c: Introduce support for a GCC infrastructure based
+ implementation of __gnat_backtrace.
+
+ * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
+ any more. Use accessors instead. This eases maintenance and relaxes
+ some alignment constraints.
+ (_GNAT_Exception structure): Remove the Ada specific fields
+ (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
+ a-exexpr.adb.
+ (is_handled_by, __gnat_eh_personality): Replace component references to
+ exception structure by use of the new accessors.
+
+ * init.c (__gnat_initialize): Adjust comments to match the just
+ reverted meaning of the -static link-time option.
+
+ * adaint.c (convert_addresses): Arrange not to define a stub for
+ mips-irix any more, as we now want to rely on a real version from a
+ recent libaddr2line.
+
+ * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
+ the personality routine can use them and not have to rely on a C
+ counterpart of the record anymore. This simplifies maintenance and
+ relaxes the constraint of having Standard'Maximum_Alignment match
+ BIGGEST_ALIGNMENT.
+ Update comments, and add a section on the common header alignment issue.
+
+2004-06-25 Geert Bosch <bosch@gnat.com>
+
+ * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
+ polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
+
+2004-06-25 Robert Dewar <dewar@gnat.com>
+
+ * gnat_rm.texi: Fix section on component clauses to indicate that the
+ restriction on byte boundary placement still applies for bit packed
+ arrays.
+ Add comment on stack usage from Initialize_Scalars
+
+ * gnat_ugn.texi: Add documentation for -gnatyLnnn
+
+ * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
+ limiting nesting level.
+
+ * usage.adb: Add line for -gnatyLnnn switch
+
+ * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
+ sem_ch13.adb, exp_aggr.adb: Minor reformatting
+
+ * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
+ type as well as on the subtype. This corrects a problem in freeze in
+ setting alignments of atomic types.
+
+ * sem_eval.ads: Minor comment typo fixed
+
+ * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
+ level. Minor reformatting.
+
+ * fname.adb (Is_Predefined_File_Name): Require a letter after the
+ minus sign. This means that file names like a--b.adb will not be
+ considered predefined.
+
+ * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
+ record Test new flag and give diagnostic for bad component clause.
+ (Freeze_Entity): Set alignment of array from component alignment in
+ cases where this is safe to do.
+
+ * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
+ arrays.
+
+ * cstand.adb: (Create_Standard): Set alignment of String to 1
+
+ * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
+
+ * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
+ code in the common constrained array cases.
+
+ * a-storio.adb: Change implementation to avoid possible alignment
+ problems on machines requiring strict alignment (data should be moved
+ as type Buffer, not type Elmt).
+
+ * checks.adb (Apply_Array_Size_Check): Improve these checks by
+ killing the overflow checks which we really do not need (64-bits is
+ enough).
+
+2004-06-25 Vincent Celier <celier@gnat.com>
+
+ * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
+ (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
+ inconditionally for the main project.
+ (Recursive_Add_Archives.Add_Archive_Path): New procedure
+ (Link_Executables.Check_Time_Stamps): New procedure
+ (Link_Executables.Link_Foreign): New procedure
+ Changes made to reduce nesting level of this package
+ (Check): New procedure
+ (Add_Switches): When not in quiet output, check that a switch is not
+ the concatenation of several valid switches. If it is, issue a warning.
+ (Build_Global_Archive): If the global archive is rebuilt, linking need
+ to be done.
+ (Compile_Sources): Rebuilding a library archive does not imply
+ rebuilding the global archive.
+ (Build_Global_Archive): New procedure
+ (Build_Library): New name for Build_Archive, now only for library
+ project
+ (Check_Archive_Builder): New procedure
+ (Create_Global_Archive_Dependency_File): New procedure
+ (Gprmake): Call Build_Global_Archive before linking
+ * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
+ throughout.
+ (Scan_Arg): Display the Copyright notice when -v is used
+
+ * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
+ for gnatls.
+
+ * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
+ COMPILE.
+ Add new GNAT LIST qualifier /FILES=
+ Added qualifier /DIRECTORY= to GNAT METRIC
+ Added qualifier /FILES= to GNAT METRIC
+ Added qualifier /FILES to GNAT PRETTY
+
+ * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
+ to take into account both versions of the switch.
+
+ * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
+ always be the last switch to the gcc driver. Disable switch storing so
+ that switches automatically added by the gcc driver are not put in the
+ ALI file.
+
+ * prj.adb (Project_Empty): Take into account changes in components of
+ Project_Data.
+
+ * prj.ads (Languages_Processed): New enumaration value All_Languages.
+
+ * prj.ads (Project_Data): Remove component Lib_Elaboration: never
+ used. Split Boolean component Ada_Sources_Present in two Boolean
+ components Ada_Sources_Present and Other_Sources_Present.
+ Minor reformatting
+
+ * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
+ instead of Sources_Present.
+ (Set_Ada_Paths.Add.Recursive_Add): Ditto
+
+ * prj-nmsc.adb: Minor reformatting
+ (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
+ (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
+ Check_Ada_Naming_Scheme.
+ Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
+ throughout.
+
+ * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
+ In_Limited.
+ Make sure that all cycles where there is at least one "limited with"
+ are detected.
+ (Parse_Single_Project): New Boolean parameter In_Limited
+
+ * prj-proc.adb (Recursive_Check): When Process_Languages is
+ All_Languages, call first Prj.Nmsc.Ada_Check, then
+ Prj.Nmsc.Other_Languages_Check.
+
+ * prj-proc.adb (Process): Use Ada_Sources_Present or
+ Other_Sources_Present (instead of Sources_Present) depending on
+ Process_Languages.
+
+ * lang-specs.h: Keep -g and -m switches in the same order, and as the
+ last switches.
+
+ * lib.adb (Switch_Storing_Enabled): New global Boolean flag
+ (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
+ False.
+ (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
+ False.
+
+ * lib.ads (Disable_Switch_Storing): New procedure.
+
+ * make.adb: Modifications to reduce nesting level of this package.
+ (Check_Standard_Library): New procedure
+ (Gnatmake.Check_Mains): New procedure
+ (Gnatmake.Create_Binder_Mapping_File): New procedure
+ (Compile_Sources.Compile): Add switch -gnatez as the last option
+ (Display): Never display -gnatez
+
+ * Makefile.generic:
+ When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
+
+ * gnatcmd.adb (Check_Project): New function
+ (Process_Link): New procedure to reduce nesting depth
+ (Check_Files): New procedure to reduce the nesting depth.
+ For GNAT METRIC, include the inherited sources in extending projects.
+ (GNATCmd): When GNAT LS is invoked with a project file and no files,
+ add the list of files from the sources of the project file. If this list
+ is too long, put it in a temp text files and use switch -files=
+ (Delete_Temp_Config_Files): Delete the temp text file that contains
+ a list of source for gnatpp or gnatmetric, if one has been created.
+ (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
+ in the project file is too large, create a temporary text file that
+ list them and pass it to the tool with "-files=<temp text file>".
+ (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
+
+ * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
+ generated file is in not in Ada.
+
+ * gnatls.adb: Remove all parameters And_Save that are no longer used.
+ (Scan_Ls_Arg): Add processing for -files=
+ (Usage): Add line for -files=
+
+ * g-os_lib.adb (On_Windows): New global constant Boolean flag
+ (Normalize_Pathname): When on Windows and the path starts with a
+ directory separator, make sure that the resulting path will start with
+ a drive letter.
+
+ * clean.adb (Clean_Archive): New procedure
+ (Clean_Project): When there is non-Ada code, delete the global archive,
+ the archive dependency files, the object files and their dependency
+ files, if they exist.
+ (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
+
+2004-06-25 Thomas Quinot <quinot@act-europe.fr>
+
+ * sinfo.ads: Fix typo in comment.
+
+ * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
+ the TSS for remote access-to-subprogram types, since these TSS are
+ always present once the type has been analyzed.
+ (RAS_E_Dereference): Same.
+
+ * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
+ reference raises Bad_Attribute, mark the reference as analyzed so the
+ node (and any children resulting from rewrites that could have occurred
+ during the analysis that ultimately failed) is not analyzed again.
+
+ * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
+
+ * exp_dist.adb: Minor comment fix.
+
+ * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
+ type is an anonymous access type, no unchecked deallocation of the
+ allocated object can occur. If the object is controlled, attach it with
+ a count of 1. This allows attachment to the Global_Final_List, if
+ no other relevant list is available.
+ (Get_Allocator_Final_List): For an anonymous access type that is
+ the type of a discriminant or record component, the corresponding
+ finalisation list is the one of the scope of the type.
+
+2004-06-25 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch3.adb (Replace_Type): When computing the signature of an
+ inherited subprogram, use the first subtype if the derived type
+ declaration has no constraint.
+
+ * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
+ before applying previous optimization. Minor code cleanup.
+
+ * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
+ placed at the beginning of an unpacked record without explicit
+ alignment, a slice of it will be aligned and does not need a copy when
+ used as an actual.
+
+2004-06-25 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15591
+ PR ada/15592
+ * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
+ reference is written with expressions mimicking parameters.
+
+2004-06-25 Hristian Kirtchev <kirtchev@gnat.com>
+
+ PR ada/15589
+ * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
+ STEP 2a. The constraints of a full type declaration of a derived record
+ type are checked for conformance with those declared in the
+ corresponding private extension declaration. The message
+ "not conformant with previous declaration" is emitted if an error is
+ detected.
+
+2004-06-25 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * g-traceb.ads: Document the need for -E binder switch in the spec.
+
+ * g-trasym.ads: Document the need for -E binder switch in the spec.
+
+2004-06-25 Jose Ruiz <ruiz@act-europe.fr>
+
+ * sem_prag.adb: Add handling of pragma Detect_Blocking.
+
+ * snames.h, snames.ads, snames.adb: Add entry for pragma
+ Detect_Blocking.
+
+ * s-rident.ads: Change reference to pragma Detect_Blocking.
+
+ * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
+ system.ads.
+
+ * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
+ to indicate whether pragma Detect_Blocking is active.
+
+ * par-prag.adb: Add entry for pragma Detect_Blocking.
+
+ * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
+ of not handling WITH.
+ Note that this replaces the previous update which was incorrect.
+
+2004-06-25 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
+ use-clauses to have a clean environment.
+
+ * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
+ the installation of the use-clauses to stablish a clean environment in
+ case of compilation of a separate unit; otherwise the call to
+ use_one_package is protected by the barrier Applicable_Use.
+
+ * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
+ the installation of the use-clauses to stablish a clean environment in
+ case of compilation of a separate unit.
+ (End_Use_Clauses): Minor comment cleanup.
+
+2004-06-25 Sergey Rybin <rybin@act-europe.fr>
+
+ * gnat_ugn.texi: Add description of the gnatpp 'files' switch
+
+2004-06-23 Richard Henderson <rth@redhat.com>
+
+ * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
+
+2004-06-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (elaborate_expression, elaborate_expression_1): Arguments
+ now bool instead of int.
+ (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
+ * trans.c (gnu_switch_label_stack): New function.
+ (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
+ elaboration of renamed entity returns.
+ (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
+ (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
+ (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
+ (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
+ DECL_SIZE_UNIT and simplify variable-sized case.
+ (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
+ Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
+ (gnat_stabilize_reference): Add arg to COMPONENT_REF.
+ (build_unit_elab): Disable for now.
+ * utils.c (mark_visited): New function.
+ (pushdecl): Walk tree to call it for global decl.
+ (update_pointer_to): Update all variants of pointer and ref types.
+ Add arg to COMPONENT_REF.
+ (convert): Likewise.
+ Move check for converting between variants lower down.
+ * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
+ (build_allocator): Don't force type of MODIFY_EXPR.
+ (gnat_mark_addressable, case VAR_DECL): Unconditionally call
+ put_var_into_stack.
+
+2004-06-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
+ * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
+ * decl.c (gnat_to_gnu_entity): Also set force_global for imported
+ subprograms.
+ * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
+ all callers changed.
+ (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
+ the way that EXIT_STMT finds the loop label.
+ (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
+ (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
+ (add_stmt): Use annotate_with_locus insted of setting directly.
+ (pos_to_construct): Set TREE_PURPOSE of each entry to index.
+ (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
+ * utils.c (gnat_install_builtins): Install __builtin_memcmp.
+ (build_vms_descriptor): Add extra args to ARRAY_REF.
+ (convert): Use VIEW_CONVERT_EXPR between aggregate types.
+ * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
+ New cases.
+ (build_binary_op): Don't make explicit CONVERT_EXPR.
+ Add extra rgs to ARRAY_REF.
+
+2004-06-14 Pascal Obry <obry@gnat.com>
+
+ * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
+ Windows. Fix minor typo.
+
+ * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
+ which is now supported on Windows. With this implementation using the
+ Library Project feature is no different on Windows than on UNIX.
+
+2004-06-14 Vincent Celier <celier@gnat.com>
+
+ * makegpr.adb (Compile_Sources): Nothing to do when there are no
+ non-Ada sources.
+
+ * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
+
+ * prj-part.adb (Parse_Single_Project): When a duplicate project name is
+ found, show the project name and the path of the previously parsed
+ project file.
+
+2004-06-14 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
+ array, avoid copying the actual before the call.
+
+2004-06-14 Thomas Quinot <quinot@act-europe.fr>
+
+ * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
+ Instead, allocate memory on worst-case alignment assumptions, and then
+ return an aligned address within the allocated zone.
+
+2004-06-14 Robert Dewar <dewar@gnat.com>
+
+ * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
+ elab entities in predefined units in No_Run_Time_Mode.
+ (Gen_Adainit_C): Same fix
+ (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
+ units in No_Run_Time_Mode
+ (Gen_Elab_Calls_C): Same fix
+
+ * symbols-vms-alpha.adb: Minor reformatting
+
+ * g-debpoo.ads: Minor reformatting
+
+ * lib.adb (In_Same_Extended_Unit): Version working on node id's
+
+ * lib.ads (In_Same_Extended_Unit): Version working on node id's
+
+ * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
+ working on nodes.
+
+ * make.adb: Minor reformatting
+
+ * par-ch12.adb: Minor reformatting
+
+ * par-prag.adb: Add dummy entry for pragma Profile_Warnings
+
+ * prj-strt.adb: Minor reformatting
+
+ * restrict.ads, restrict.adb: Redo handling of profile restrictions to
+ be more general.
+
+ * sem_attr.adb: Minor reformatting
+
+ * sem_ch7.adb: Minor reformatting
+
+ * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
+ for type in the same unit as the object declaration.
+
+ * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
+ static string expressions and not just string literals.
+ Minor reformatting
+ (Set_Warning): Reset restriction warning flag for restriction pragma
+ Implement pragma Profile_Warnings
+ Implement pragma Profile (Restricted)
+ Give obolescent messages for old restrictions and pragmas
+
+ * snames.h, snames.ads, snames.adb: Add new entry for pragma
+ Profile_Warnings.
+
+ * s-rident.ads: Add declarations for restrictions required by profile
+ Restricted and profile Ravenscar.
+
+ * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
+
+ * gnat_ugn.texi: Correct some missing entries in the list of GNAT
+ configuration pragmas.
+
+2004-06-11 Vincent Celier <celier@gnat.com>
+
+ * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
+ gnatsym, when symbol policy is Restricted.
+
+ * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
+ gnatsym, when symbol policy is Restricted.
+
+ * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
+ read the symbol file.
+ (Finalize): Fail in symbol policy Restricted if a symbol in the original
+ symbol file is not in the object files. Do not create a new symbol file
+ when symbol policy is Restricted.
+
+ * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
+ in Scng.
+
+ * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
+ Restricted.
+ (Usage): Line for new switch -R
+
+ * make.adb (Initialize): When the platform is not VMS, add the
+ directory where gnatmake is invoked in the front of the path, if
+ gnatmake is invoked with directory information. Change the Scan_Args
+ while loop to a for loop.
+ (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
+ if Depth is equal or greater than the proposed depth, there is nothing
+ to do.
+ (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
+ instead of 0.
+
+ * prj.ads: Add new symbol policy Restricted.
+
+ * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
+ with the new parameters Check_All_Labels and Case_Location.
+
+ * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
+ (Library_Symbol_File needs to be defined).
+
+ * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
+ and Case_Location If Check_All_Labels is True, check that all values of
+ the string type are used, and output warning(s) if they are not.
+
+ * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
+ and Case_Location.
+
+ * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
+
+ * gnat_ugn.texi: Update documentation about the library directory in
+ Library Projects.
+
+ * makegpr.adb (Display_Command): In verbose mode, also display the
+ value of the CPATH env var, when the compiler is gcc.
+ (Initialize): Change the Scan_Args while loop to a for loop
+ (Compile_Individual_Sources): Change directory to object directory
+ before compilations.
+
+ * symbols.ads: New symbol policy Restricted.
+
+2004-06-11 Olivier Hainque <hainque@act-europe.fr>
+
+ * a-except.adb (Raise_After_Setup family): Remove. The responsibility
+ is now taken care of internally in the Exception_Propagation package
+ and does not require clients assistance any more.
+
+ * a-exexpr.adb (Is_Setup_And_Not_Propagated,
+ Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
+ functions. Helpers to maintain a predicate required in the handling of
+ occurrence transfer between tasks.
+ This is now handled internally and does not require clients assistance
+ for the setup/propagate separation anymore.
+ (Setup_Exception, Propagate_Exception): Simplify the Private_Data
+ allocation strategy, handle the Setup_And_Not_Propagated predicate and
+ document.
+
+ * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
+ raise_after_setup, now that everything is handled internally within the
+ setup/propagation engine.
+
+2004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
+
+ * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
+ Add additional conditions for the case of an actual being a simple
+ name or literal. Improve inlining by preventing the generation
+ of temporaries with a short lifetime (one use).
+
+2004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
+
+ PR ada/15587
+ * einfo.ads: Minor comment updates for Has_Completion and
+ E_Constant list of flags.
+
+ * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
+ and constant redeclarations now set the Has_Completion flag of their
+ defining identifiers.
+
+ * sem_ch7.adb (Analyze_Package_Spec): Add procedure
+ Inspect_Deferred_Constant_Completion.
+ Used to detect private deferred constants that have not been completed
+ either by a constant redeclaration or pragma Import. Emits error message
+ "constant declaration requires initialization expression".
+
+ * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
+ completes a deferred constant.
+
+2004-06-11 Geert Bosch <bosch@gnat.com>
+
+ * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
+
+ * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
+ calculating exponent for scaling denormal numbers.
+ (Leading_Part): Properly raise Constraint_Error for zero or negative
+ Adjustment.
+ (Remainder): Properly raise Constraint_Error for zero divisor.
+
+2004-06-11 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_util.adb: Minor reformatting.
+
+ * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
+ dereference when accessing the entry parameter record.
+ (Check_Array_Type): Always check for possible implicit dereference.
+ (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
+ Abort if a pointer is still present (denoting that an implicit
+ dereference was left in the tree by the front-end).
+
+ * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
+ dereference when accessing the entry parameter record.
+ (Check_Array_Type): Always check for possible implicit dereference.
+ (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
+ Abort if a pointer is still present (denoting that an implicit
+ dereference was left in the tree by the front-end).
+
+2004-06-11 Emmanuel Briot <briot@act-europe.fr>
+
+ * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
+ message, like the compiler itself does. Easier to parse the output.
+
+ * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
+
+ * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
+ be base names, and not includes directories.
+
+2004-06-11 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
+ so that dependencies are properly taken into account by make.
+
+2004-06-11 Arnaud Charlet <charlet@act-europe.fr>
+
+ PR ada/15622
+ * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
+ exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
+
+2004-06-11 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in (install-gnatlib): install target-specific run-time files.
+
+ * Make-lang.in: Remove obsolete targets.
+
+2004-06-11 Ed Schonberg <schonberg@gnat.com>
+
+ * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
+ specification, to catch misuses of program unit names.
+
+ * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
+ superfluous conversions in an instance.
+
+2004-06-11 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15403
+ * sem_ch12.adb (Save_References): If operator node has been folded to
+ enumeration literal, associated_node must be discarded.
+
+2004-06-11 Jose Ruiz <ruiz@act-europe.fr>
+
+ * s-stchop-vxworks.adb: Add required pragma Convention to
+ Task_Descriptor because it is updated by a C function.
+
+2004-06-08 Arnaud Charlet <charlet@act-europe.fr>
+
+ PR ada/15568
+ * Makefile.in: Remove target specific SO_OPT on IRIX
+
+2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
+ (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
+ (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
+ (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
+ (STMT_STMT, USE_STMT): New statement codes.
+ (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
+ * ada-tree.h: Reflect above changes.
+ (struct tree_loop_id): Deleted.
+ (union lang_tree_node, struct lang_decl, struct lang_type):
+ Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
+ and DECL_LANGUAGE_SPECIFIC to reflect these changes.
+ (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
+ (IS_ADA_STMT): New macro.
+ * decl.c (annotate_decl_with_node): New function.
+ (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
+ (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
+ Call add_stmt_with_node to do needed assignments.
+ Add call to update setjmp buffer directly, not via EXPR_STMT.
+ (maybe_variable): Argment GNAT_NODE deleted.
+ * gigi.h (maybe_variable): Likewise.
+ (make_transform, add_stmt_with_node, set_block_for_group): New.
+ (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
+ (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
+ (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
+ (set_lineno, set_lineno_from_sloc): Likewise.
+ (record_code_position, insert_code_for): Likewise.
+ (gnat_poplevel): Now returns void.
+ (end_subprog_body): Now takes argument.
+ * misc.c (cgraph.h, tree-inline.h): New includes.
+ (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
+ (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
+ (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
+ (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
+ (gnat_parse_file): Don't set immediate_size_expand.
+ Call cgraph functions.
+ (gnat_expand_expr): Remove most cases.
+ (record_code_position, insert_code_for): Remove from here.
+ * trans.c (toplev.h, tree-gimple.h): Now included.
+ (discard_file_names): Deleted.
+ (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
+ (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
+ (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
+ (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
+ (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
+ (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
+ (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
+ (set_block_for_group, add_stmt_list): Likewise.
+ (start_stmt_group): Renamed from start_block_stmt.
+ (end_stmt_group): Likewise, from end_block_stmt.
+ (build_stmt_group): Likewise, from build_block_stmt, also add arg.
+ (gigi): Don't set discard_file_names or call set_lineno.
+ Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
+ (tree_transform): Deleted, now renamed to be gnat_to_gnu.
+ Numerous changes throughout to reflect new names and complete
+ function-at-a-time implementation.
+ (gnat_expand_stmt): Delete or comment out all cases.
+ (process_inlined_subprograms): Use add_stmt.
+ (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
+ call set_lineno; also remove unneeded block handling.
+ (process_type): Remove unneeded block handling.
+ (build_unit_elab): Remove calls to deleted functions.
+ * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
+ (tree-dump.h): Likewise.
+ (struct ada_binding_level): Add field jmpbuf_decl.
+ (gnat_define_builtin, gnat_install_builtins): New.
+ (gnat_gimplify_function, gnat_finalize): Likewise.
+ (gnat_poplevel): No longer return BLOCK, set it instead.
+ Remove code dealing with nested functions.
+ (gnat_init_decl_processing): Also set size_type_node.
+ Call gnat_install_builtins.
+ (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
+ (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
+ Remove special-case for "main".
+ (end_subprog_body): Add arg and rework for tree-ssa.
+ (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
+ Add case for BOOLEAN_TYPE.
+ * utils2.c (rtl.h): Now include.
+ (build_call_raise): Test Debug_Flag_NN directly.
+ (build_call_alloc_dealloc): Don't use local stack allocation for now.
+ (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
+ (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
+
+2004-06-07 Robert Dewar <dewar@gnat.com>
+
+ * a-direct.ads, einfo.ads: Minor comment updates
+
+ * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
+ s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
+ s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
+ s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
+ s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
+
+ * s-interr-sigaction.adb: Remove unreferenced variable
+ (Attached_Interrupts). Minor reformatting.
+ Avoid use of variable I (replace by J).
+
+ * par-ch10.adb: Fix text of one error message
+
+ * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
+ exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
+ exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
+ opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
+ par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
+ par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
+ sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
+ sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
+ sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
+ sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
+ snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
+ 2005 support.
+
+2004-06-07 Doug Rupp <rupp@gnat.com>
+
+ * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
+
+ * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
+
+ * mlib-tgt-vms-ia64.adb: New file.
+
+ * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
+ Add mlib-tgt-vms-ia64.adb
+ Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
+ Move to alpha specific ifeq section.
+ Add VMS specific versions of symbols.adb
+ Renaming of 5q vms files.
+
+ * 5qsystem.ads renamed to system-vms_64.ads.
+
+2004-06-07 Vincent Celier <celier@gnat.com>
+
+ * a-calend.ads: Add a GNAT Note comment after function Time_Of to
+ explain that when a time of day corresponding to the non existing hour
+ on the day switching to DST is specified, Split may return a different
+ value for Seconds.
+
+ * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
+ to GNAT PRETTY.
+
+ * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
+ (Normalize_Pathname): Only resolve VMS logical names when on VMS.
+
+ * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
+ to False.
+ If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
+ the linking options.
+ (Build_Library.Check_Libs): On VMS, if there is a dependency on
+ g-trasym.ads, set Gtrasymobj_Needed to True.
+
+ * prj-attr.adb: Add new package Metrics for gnatmetric
+
+ * prj-nmsc.adb (Record_Other_Sources): Put source file names in
+ canonical case to take into account files with upper case characters on
+ Windows.
+ (Ada_Check): Load the reference symbol file name in the name buffer to
+ check it, not the symbol file name.
+
+ * snames.ads, snames.adb: Add standard name Metrics (name of project
+ file package for gnatmetric).
+
+ * vms_conv.ads: Add Metric to Comment_Type
+
+ * vms_conv.adb (Initialize): Add component dor Metric in Command_List
+
+ * vms_data.ads: Add qualifiers for GNAT METRIC
+
+ * makegpr.adb (Link_Executables): Take into account the switches
+ specified in package Linker of the main project.
+
+2004-06-07 Thomas Quinot <quinot@act-europe.fr>
+
+ * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
+ the index of the last element is Units.Last, not Units.Table'Last
+ (which is usually not a valid index within the actually allocated
+ storage for the table).
+
+ * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
+ determines whether to generate a call to a checked storage pool
+ Dereference action.
+ Generate such a call only for a dereference that either comes from
+ source, or is the result of rewriting a dereference that comes from
+ source.
+
+2004-06-07 Romain Berrendonner <berrendo@act-europe.fr>
+
+ * bindgen.adb (Gen_Output_File): Add support for GAP builds.
+
+2004-06-07 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
+ file level, elaborate the stride for inner dimensions in alignment
+ units, not bytes.
+
+ * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
+ in a comment.
+
+2004-06-07 Javier Miranda <miranda@gnat.com>
+
+ * exp_ch6.adb: Correct wrong modification in previous patch
+
+2004-06-07 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * g-trasym.ads: Corrected comment to properly reflect level of support
+ on VMS.
+
+2004-06-07 Hristian Kirtchev <kirtchev@gnat.com>
+
+ * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
+ includes case of a variable referenced on the left hand side of an
+ assignment, therefore remove redundant code. Variables and prefixes of
+ indexed or selected components are now marked as referenced on left
+ hand side. Warnings are now properly emitted when variables or prefixes
+ are assigned but not read.
+
+ * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
+ left hand side referenced variables. Private access types do not
+ produce the warning "variable ... is assigned but never read".
+ Add also additional checks to left hand side referenced variables.
+ Aliased, renamed objects and access types do not produce the warning
+ "variable ... is assigned but never read" since other entities may read
+ the memory location.
+
+2004-06-07 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in: In the powerpc/vxworks-specific section, restore
+ EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
+ by mistake).
+
+2004-06-07 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
+ predefined operators.
+ Removes spurious type errors from g-trasym-vms.adb.
+
+ * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
+ distinct from the operator appearing in the source, call appropriate
+ routine to insert conversions when needed, and complete resolution of
+ node.
+ (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
+ interpretations for rewritten right operand.
+ (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
+ the other operand is overloaded and the context is a type conversion.
+
+2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.def (BLOCK_STMT): Now has two operands.
+ (BREAK_STMT): New.
+
+ * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
+
+ * gigi.h: (gnat_poplevel): Now returns a tree.
+
+ * trans.c (end_block_stmt): Add arg; all callers changed.
+ (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
+ (start_block_stmt): Clear BLOCK_STMT_BLOCK.
+ (add_stmt): Set TREE_TYPE.
+ (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
+ (gnat_expand_stmt, case BREAK_STMT): New case.
+
+ * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
+
+2004-06-07 Jose Ruiz <ruiz@act-europe.fr>
+
+ * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
+ procedure Set_Stack_Size that is not needed.
+
+2004-06-07 Sergey Rybin <rybin@act-europe.fr>
+
+ * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
+ used for gnatpp input file and for the files upon which it depends
+
+2004-06-07 Ben Brosgol <brosgol@gnat.com>
+
+ * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
+
+2004-06-07 Arnaud Charlet <charlet@act-europe.fr>
+
+ * gnatvsn.ads: Bump version numbers appropriately.
+ Add new build type.
+
+2004-06-07 Pascal Obry <obry@gnat.com>
+
+ * gnat_ugn.texi: Improve comments about imported names and link names
+ on Windows. Add a note about the requirement to use -k gnatdll's option
+ when working with a DLL which has stripped stdcall symbols (no @nn
+ suffix).
+
+2004-05-27 Vincent Celier <celier@gnat.com>
+
+ * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
+ COMMENTS_LAYOUT=UNTOUCHED
+
+ * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
+ symbols-vms-alpha.adb
+
+2004-05-27 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem.ads: Clarify documentation on checks suppression.
+
+ * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
+
+2004-05-27 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
+ the case of multiple derivations.
+ (Is_Object_Reference): For a selected component, verify that the prefix
+ is itself an object and not a value.
+
+ * sem_ch12.adb (Same_Instantiated_Constant): New name for
+ Same_Instantiated_Entity.
+ (Same_Instantiated_Variable): Subsidiary to
+ Check_Formal_Package_Instance, to recognize actuals for in-out generic
+ formals that are obtained from a previous formal package.
+ (Instantiate_Subprogram_Body): Emit proper error when
+ generating code and the proper body of a stub is missing.
+
+ * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
+ has a universal interpretation, do the disambiguation here.
+
+ * exp_ch4.adb (Expand_N_Type_Conversion,
+ Expand_N_Unchecked_Type_Conversion): Special handling when target type
+ is Address, to avoid typing anomalies when Address is a visible integer
+ type.
+
+ * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
+ to determine whether a subprogram should not be marked Pure, even when
+ declared in a pure package.
+
+2004-05-27 Jose Ruiz <ruiz@act-europe.fr>
+
+ * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
+
+ * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
+ Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
+ Update the documentation about the Ravenscar profile, following the
+ definition found in AI-249.
+
+ * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
+ setting the Profile (Ravenscar). This must be done in addition to
+ setting the required restrictions.
+
+ * rtsfind.ads: Add the set of operations defined in package
+ Ada.Interrupts.
+
+ * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
+ restriction.
+
+2004-05-27 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ lang-specs.h: Always require -c or -S and always redirect to /dev/null
+ if -gnatc or -gnats is passed.
+
+2004-05-27 Hristian Kirtchev <kirtchev@gnat.com>
+
+ * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
+ a significant reference. Warnings are now properly emitted when a
+ discriminated type is not referenced.
+
+ * lib-xref.adb (Generate_Reference): A deferred constant completion,
+ record representation clause or record type discriminant does not
+ produce a reference to its corresponding entity. Warnings are now
+ properly emitted when deferred constants and record types are not
+ referenced.
+
+2004-05-27 Geert Bosch <bosch@gnat.com>
+
+ * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
+ Fixes ACATS Annex G tests.
+
+2004-05-27 Robert Dewar <dewar@gnat.com>
+
+ * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
+ handling WITH
+
+2004-05-27 Arnaud Charlet <charlet@act-europe.fr>
+
+ * s-interr.adb (Server_Task): Take into account case of early return
+ from sigwait under e.g. linux.
+
+2004-05-27 Sergey Rybin <rybin@act-europe.fr>
+
+ * gnat_ugn.texi: Add description for the new gnatpp options:
+ -rnb - replace the original source without creating its backup copy
+ -c0 - do not format comments
+
+2004-05-24 Geert Bosch <bosch@gnat.com>
+
+ * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
+ with 192 bits of precision, sufficient to reduce a double-extended
+ arguments X with a maximum relative error of T'Machine_Epsilon, for X
+ in -2.0**32 .. 2.0**32.
+ (Cos, Sin): Always reduce arguments of 1/4 Pi or larger, to prevent
+ reduction by the processor, which only uses a 68-bit approximation of
+ Pi.
+ (Tan): Always reduce arguments and compute function either using
+ the processor's fptan instruction, or by dividing sin and cos as needed.
+
+2004-05-24 Doug Rupp <rupp@gnat.com>
+
+ * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
+ gcc error on 32/64 bit VMS.
+
+2004-05-24 Olivier Hainque <hainque@act-europe.fr>
+
+ * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
+ since this is what we get for stack overflows although not documented
+ as such.
+ Document the issues which may require adjustments to our signal
+ handlers.
+
+2004-05-24 Ed Schonberg <schonberg@gnat.com>
+
+ * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
+ enclosing dynamic scope if the instantiation is within a generic unit.
+
+2004-05-24 Arnaud Charlet <charlet@act-europe.fr>
+
+ * exp_dbug.ads: Fix typo.
+
+ * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
+ Rename it to its proper name: system-linux-ia64.ads
+ (stamp-gnatlib1): Remove extra target specific run time files when
+ setting up the rts directory.
+
+2004-05-24 Javier Miranda <miranda@gnat.com>
+
+ * einfo.ads, einfo.adb (Limited_Views): Removed.
+ (Limited_View): New attribute that replaces the previous one. It is
+ now a bona fide package with the limited-view list through the
+ first_entity and first_private attributes.
+
+ * sem_ch10.adb (Install_Private_With_Clauses): Give support to
+ limited-private-with clause.
+ (Install_Limited_Withed_Unit): Install the private declarations of a
+ limited-private-withed package. Update the installation of the shadow
+ entities according to the new structure (see Build_Limited_Views)
+ (Build_Limited_Views): Replace the previous implementation of the
+ limited view by a package entity that references the first shadow
+ entity plus the first shadow private entity (required for limited-
+ private-with clause)
+ (New_Internal_Shadow_Entity): Code cleanup.
+ (Remove_Limited_With_Clause): Update the implementation to undo the
+ new work carried out by Build_Limited_Views.
+ (Build_Chain): Complete documentation.
+ Replace Ada0Y by Ada 0Y in comments
+ Minor reformating
+
+ * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
+ types the level of accessibility depends on the enclosing type
+ declaration.
+
+ * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
+ entities. Complete documentation of previous change.
+
+2004-05-24 Robert Dewar <dewar@gnat.com>
+
+ * namet.adb: Minor reformatting
+ Avoid use of name I (replace by J)
+ Minor code restructuring
+
+ * sem_ch6.adb: Minor reformatting
+
+ * lib-writ.adb: Do not set restriction as active if this is a
+ Restriction_Warning case.
+
+ * sem_prag.adb: Reset restriction warning flag if real pragma
+ restriction encountered.
+
+ * s-htable.adb: Minor reformatting
+ Change rotate count to 3 in Hash (improves hash for small strings)
+
+ * 5qsystem.ads: Add comments for type Address (no literals allowed).
+
+ * gnat_ugn.texi: Add new section of documentation "Code Generation
+ Control", which describes the use of -m switches.
+
+2004-05-24 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ trans.c (tree_transform) <N_Identifier>: Do the dereference directly
+ through the DECL_INITIAL for renamed variables.
+
+2004-05-24 Arnaud Charlet <charlet@act-europe.fr>
+
+ * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
+
+2004-05-19 Joel Brobecker <brobecker@gnat.com>
+
+ * exp_dbug.ads: Correct comments concerning handling of overloading,
+ since we no longer use $ anymore.
+
+2004-05-19 Sergey Rybin <rybin@act-europe.fr>
+
+ * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
+ ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
+ with illegal subunits.
+
+2004-05-19 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
+ body with front-end inlining enabled, check whether an inline pragma
+ appears immediately after the body and applies to it.
+
+ * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
+ enabled and the pragma appears after the body of the subprogram.
+
+2004-05-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ Part of function-at-a-time conversion
+
+ * misc.c (adjust_decl_rtl): Deleted.
+ (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
+ Define.
+
+ * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
+ (add_decl_stmt, add_stmt, block_has_vars): New functions.
+ (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
+
+ * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
+ when making a decl.
+ (gnat_to_gnu_entity): Likewise.
+ Use add_stmt to update setjmp buffer.
+ Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
+ flush_addressof.
+ No longer call adjust_decl_rtl.
+ (DECL_INIT_BY_ASSIGN_P): New macro.
+ (DECL_STMT_VAR): Likewise.
+
+ * trans.c (gigi): Call start_block_stmt to make the outermost
+ BLOCK_STMT.
+ (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
+ Call start_block_stmt and end_block_stmt temporarily.
+ Use gnat_expand_stmt instead of expand_expr_stmt.
+ (add_decl_stmt): New function.
+ (tree_transform): Call it.
+ (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
+ (end_block_stmt): Set type and NULL_STMT.
+ (gnat_expand_stmt): Make recursize call instead of calling
+ expand_expr_stmt.
+ (gnat_expand_stmt, case DECL_STMT): New case.
+ (set_lineno_from_sloc): Do nothing if global.
+ (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
+ (start_block_stmt, add_stmt, end_block_stmt): New functions.
+ (build_block_stmt): Call them.
+ (gnat_to_code): Don't expand NULL_STMT.
+ (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
+ args.
+ (tree_transform): Likewise.
+ (tree_transform, case N_Null_Statement): Return NULL_STMT.
+ (gnat_expand_stmt, case NULL_STMT): New case.
+ (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
+ IF_STMT_TRUE.
+
+ * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
+ TREE_ADDRESSABLE.
+
+ * utils.c (create_var_decl): Do not call expand_decl or
+ expand_decl_init.
+ Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
+ Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
+ here.
+ (struct e_stack): Add chain_next to GTY.
+ (struct binding_level): Deleted.
+ (struct ada_binding_level): New struct.
+ (free_block_chain): New.
+ (global_binding_level, clear_binding_level): Deleted.
+ (global_bindings_p): Rework to see if no chain.
+ (kept_level_p, set_block): Deleted.
+ (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
+ new data structure and work directly on BLOCK node.
+ (gnat_poplevel): Similarly.
+ (get_decls): Look at BLOCK_VARS.
+ (insert_block): Work directly on BLOCK node.
+ (block_has_var): New function.
+ (pushdecl): Rework for new binding structures.
+ (gnat_init_decl_processing): Rename and rework calls to pushlevel and
+ poplevel.
+ (build_subprog_body): Likewise.
+ (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
+
+ * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
+
+ * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
+ (DECL_STMT_VAR): Likewise.
+
+2004-05-17 Robert Dewar <dewar@gnat.com>
+
+ * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
+ procedure
+
+ * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
+ of restriction synonyums by using
+ Restrict.Process_Restriction_Synonyms.
+
+ * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
+
+ * s-restri.ads (Tasking_Allowed): Correct missing comment
+
+ * s-rident.ads: Add entries for restriction synonyms
+
+ * ali.adb: Fix some problems with badly formatted ALI files that can
+ result in infinite loops.
+
+ * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
+ s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
+ s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
+ s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
+ s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
+ s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
+ s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
+ s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
+ s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
+ a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
+ exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
+ s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
+ s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
+ s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
+ s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
+ s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
+ s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
+ s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
+ s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
+ s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
+ to Task_Id (minor cleanup).
+
+2004-05-17 Vincent Celier <celier@gnat.com>
+
+ * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
+ directory separator.
+
+ * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
+ project being extended, if Languages is not declared in extending
+ project.
+
+2004-05-17 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
+ limited view of a visible sibling.
+
+2004-05-14 Robert Dewar <dewar@gnat.com>
+
+ * gnat_ugn.texi: Minor change to -gnatS documentation
+
+ * sprint.adb: Remove some instances of Assert (False) and for this
+ purpose replace them by output of a ??? string.
+
+ * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
+ Assert (False).
+
+ * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
+ flag processing. This was suppressing required dependencies in
+ No_Run_Time mode and is not needed since the binder does not generate
+ references for things in libgnat anyway.
+
+ * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
+ warning.
+
+2004-05-14 Thomas Quinot <quinot@act-europe.fr>
+
+ * gnat_ugn.texi: Document AIX-specific issue with initialization of
+ resolver library.
+
+ * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
+ action for the case of an actual parameter in an init proc call.
+
+2004-05-14 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
+ subtype, check visible entities in base type.
+
+ * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
+ actions if the object is a renaming.
+
+ * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
+ Check_Formal_Package_Instance, to determine more precisely when the
+ formal and the actual denote the same entity.
+
+2004-05-14 Javier Miranda <miranda@gnat.com>
+
+ * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
+
+ * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
+ corresponding to a private_with must be removed from visibility; it
+ will be made visible later, just before we analyze the private part of
+ the package.
+ (Check_Private_Child_Unit): Allow private_with clauses in public
+ siblings.
+ (Install_Siblings): Make visible the private entities of private-withed
+ siblings.
+ (Install_Withed_Unit): Do not install the private withed unit if we
+ are compiling a package declaration and the Private_With_OK flag was
+ not set by the caller. These declarations will be installed later,
+ just before we analyze the private part of the package.
+
+ * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
+ during the evaluation of the expression that initializes the object,
+ decorate it with the expected type to avoid cascade errors.
+ Code cleanup.
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
+ subprogram we have to install the private_with clauses after its
+ specification has been analyzed (as documented in AI-262.TXT).
+
+ * sem_ch8.adb (Has_Private_With): New function. Determines if the
+ current compilation unit has a private with on a given entity.
+ (Find_Direct_Name): Detect the Beaujolais problem described in
+ AI-262.TXT
+
+ * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
+ provides the functionality of the function Is_Ancestor that was
+ previously available in sem_ch10. It has been renamed to avoid
+ overloading.
+
+ * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
+
+2004-05-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * utils.c (build_vms_descriptor): Use SImode pointers.
+
+2004-05-14 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
+
+2004-05-14 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-05-14 Arnaud Charlet <charlet@act-europe.fr>
+
+ Renaming of target specific files for clarity
+
+ * Makefile.in: Rename GNAT target specific files.
+
+ * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
+ 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
+ 3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
+ 3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
+ 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
+ 3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
+ 42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
+ 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
+ 4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
+ 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
+ 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
+ 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
+ 51osinte.adb, 51osinte.ads, 51system.ads,
+ 52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
+ 55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
+ 56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
+ 56tpopsp.adb, 57system.ads, 58system.ads,
+ 5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
+ 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
+ 5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
+ 5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
+ 5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
+ 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
+ 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
+ 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
+ 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
+ 5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
+ 5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
+ 5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
+ 5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
+ 5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
+ 5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
+ 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
+ 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
+ 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
+ 5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
+ 5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
+ 5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
+ 5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
+ 5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
+ 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
+ 5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
+ 5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
+ 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
+ 5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
+ 5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
+ 5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
+ 5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
+ 5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
+ 5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
+ 5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
+ 5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
+ 5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
+ 7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
+ 7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
+ 7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
+ 7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
+
+ * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
+ a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
+ a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
+ a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
+ a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
+ a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
+ a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
+ a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
+ a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
+ a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
+ g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
+ g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
+ g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
+ g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
+ g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
+ g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
+ g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
+ g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
+ interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
+ mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
+ mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
+ mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
+ s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
+ s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
+ s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
+ s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
+ s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
+ s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
+ s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
+ s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
+ s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
+ s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
+ s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
+ s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
+ s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
+ s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
+ s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
+ s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
+ s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
+ s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
+ s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
+ s-osinte-vms.ads, s-osinte-vxworks.adb,
+ s-osinte-vxworks.ads, s-osprim-mingw.adb,
+ s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
+ s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
+ s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
+ s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
+ s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
+ s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
+ s-stchop-vxworks.adb, s-taprop-dummy.adb,
+ s-taprop-hpux-dce.adb, s-taprop-irix.adb,
+ s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
+ s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
+ s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
+ s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
+ s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
+ s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
+ s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
+ s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
+ s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
+ s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
+ s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
+ s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
+ s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
+ s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
+ s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
+ s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
+ s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
+ symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
+ system-hpux.ads, system-interix.ads, system-irix-n32.ads,
+ system-irix-o32.ads, system-linux-x86_64.ads,
+ system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
+ system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
+ system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
+ system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
+ system-vxworks-alpha.ads, system-vxworks-m68k.ads,
+ system-vxworks-mips.ads, system-vxworks-ppc.ads,
+ system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
+ above.
+
+2004-05-13 Zack Weinberg <zack@codesourcery.com>
+
+ * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
+
+2004-05-13 Diego Novillo <dnovillo@redhat.com>
+
+ Merge from tree-ssa-20020619-branch.
+
+ * config-lang.in (boot_language, build_by_default): Set
+ to no.
+ * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
+ (max_size): Add static chain op for call_expr.
+
+2004-05-12 Richard Sandiford <rsandifo@redhat.com>
+
+ PR target/15331
+ * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
+
+2004-05-11 Roger Sayle <roger@eyesopen.com>
+
+ * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
+ COND_EXPR.
+
+2004-05-10 Doug Rupp <rupp@gnat.com>
+
+ * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
+ system.aux_dec.
+
+ * s-auxdec.ads: Add Short_Address subtype (moved here from System).
+
+ * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
+
+ * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
+ Fixes undefined symbols in IA64 gnatlib.
+
+ * 5vinmaop.adb: Reference s-auxdec for Short_Address.
+
+ * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
+ Short_Address). This will be moved to system.auxdec.
+
+2004-05-10 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_util.adb: Replace test for presence of a node that is always
+ present with a call to Discard_Node.
+
+ * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
+ Analyze on the library unit node after generation of distribution stub
+ constructs. The call was a no-op because Unit_Node has already been
+ Analyzed, and the tree fragments for the distribution stubs are
+ analyzed as they are inserted in Exp_Dist.
+ Update comment regarding to distribution stubs to reflect that we
+ do not generate stub in separate files anymore.
+
+ * einfo.ads: Clarify the fact that a tagged private type has the
+ E_Record_Type_With_Private Ekind.
+
+ * erroutc.adb: Minor reformatting
+
+ * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
+ values if line length is increased using -gnatyM (noticed during code
+ reading).
+
+ * eval_fat.adb: Minor reformatting
+ Put spaces around exponentiation operator
+
+2004-05-10 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15005
+ * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
+ has been rewritten as an explicit dereference, retrieve type of
+ original node to check for possibly unconstrained record type.
+
+2004-05-10 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
+ overriding, use the operation of the parent unconditionally.
+
+ * sem_ch4.adb (Remove_Address_Interpretations): Remove address
+ operation when either operand is a literal, to avoid further
+ ambiguities.
+
+ * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
+ overridden by a previous explicit declaration, mark the previous entity
+ as overriding.
+
+ * sem_disp.adb (Check_Dispatching_Operation): New predicate
+ Is_Visibly_Controlled, to determine whether a declaration of a
+ primitive control operation for a derived type overrides an inherited
+ one. Add warning if the explicit declaration does not override.
+
+2004-05-10 Vincent Celier <celier@gnat.com>
+
+ * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
+ some cases when the sources are no longer present.
+
+ * make.adb (Collect_Arguments): Fail if an external source, not part
+ of any project need to be compiled, when switch -x has not been
+ specified.
+
+ * makeusg.adb: Document new switch -x
+
+ * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
+ defaulted to False.
+
+ * switch-m.adb (Scan_Make_Switches): New switch -x
+
+ * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
+ gnatmake switch -x.
+
+ * gnat_ugn.texi: Document new gnatmake switch -x
+
+2004-05-10 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
+
+ * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
+ (process_attributes): Likewise.
+
+2004-05-10 Joel Brobecker <brobecker@gnat.com>
+
+ * s-inmaop.ads: Fix spelling mistake in one of the comments.
+
+2004-05-10 Robert Dewar <dewar@gnat.com>
+
+ * gnat_ugn.texi: Document that for config pragma files, the maximum
+ line length is always 32767.
+
+ * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
+ literals is now allowed.
+
+ * gnat-style.texi: Remove statement about splitting long lines before
+ an operator rather than after, since we do not follow this rule at all.
+ Clarify rule (really lack of rule) for spaces around exponentiation
+
+ * sem_elim.adb: Allow concatenation of string literals as well as a
+ single string literal for pragma arguments.
+
+ * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
+
+ * a-textio.adb (Terminate_Line): Do not add line feed if nothing
+ written for append case.
+
+ * frontend.adb: Changes to avoid checking max line length in config
+ pragma files.
+
+ * g-os_lib.ads: Minor reformatting
+
+ * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
+ wrong in any case. Instead use standard value. Noticed during code
+ reading.
+
+ * opt.ads (Max_Line_Length): New field, used to implement removal of
+ limitation on length of lines when scanning config pragma files.
+
+ * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
+ makeutl.ads, makeutl.adb: Minor reformatting
+
+ * scn.adb: Do not check line length while scanning config pragma files
+ Do not check line length while scanning out license information
+
+ * scng.adb: Changes to avoid line length checks while parsing config
+ pragma files.
+
+2004-05-10 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-05-05 Arnaud Charlet <charlet@act-europe.fr>
+
+ * osint.adb (Find_Program_Name): Fix handling of VMS version
+ number.
+
+2004-05-05 Emmanuel Briot <briot@act-europe.fr>
+
+ * g-os_lib.ads (Invalid_Time): New constant
+
+ * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
+ return OS_Time instead of time_t to match what is imported by Ada.
+ Now return -1 if the file doesn't exist, instead of a random value
+
+2004-05-05 Robert Dewar <dewar@gnat.com>
+
+ * usage.adb: Add line for -gnatR?s switch
+
+ * sem_ch13.adb, exp_ch2.adb: Minor reformatting
+
+ * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
+ and for Match (Data_First, Data_last)
+
+ * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
+ written when we are dealing with multi-unit files.
+
+2004-05-05 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in: Remove unused targets and variables.
+
+2004-05-05 Vincent Celier <celier@gnat.com>
+
+ * switch-m.adb: New gnatmake switch -eI
+
+ * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
+ of new gnatmake switch -eInnn.
+
+ * makegpr.adb: Take into account new parameters Index and Src_Index in
+ Prj.Util.
+
+ * clean.adb: Implement support for multi-unit sources, including new
+ switch -i.
+
+ * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
+ Src_Index.
+
+ * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
+ (Extract_From_Q): New out parameter Index
+ (Mark, Is_Marked): Subprograms moved to Makeutl
+ (Switches_Of): New parameter Source_Index
+ (Add_Switch): New parameter Index
+ (Check): New parameter Source_Index
+ (Collect_Arguments): New parameter Source_Index
+ (Collect_Arguments_And_Compile): New parameter Source_Index
+ (Compile): New parameter Source_Index
+ Put subprograms in alphabetical order
+ Add support for multi-source sources, including in project files.
+
+ * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
+ (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
+ Make.
+
+ * makeusg.adb: New gnatmake switch -eInnn
+
+ * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
+ Prj.Util.Value_Of.
+
+ * opt.ads (Main_Index): New variable, defaulted to 0.
+
+ * osint.ads, osinte.adb (Add_File): New parameter Index
+ (Current_Source_Index): New function
+
+ * prj.adb: Take into account new components Index and Src_Index
+
+ * prj.ads (String_Element): New component Index
+ (Variable_Value): New component Index
+ (Array_Element): New component Src_Index
+
+ * prj-attr.adb: Indicate that optional index may be specified for
+ attributes Main, Executable, Spec, Body and some of Switches.
+
+ * prj-attr.ads (Attribute_Kind): New values for optional indexes
+ (Attribute_Record): New component Optional_Index
+
+ * prj-com.ads (File_Name_Data): New component Index
+
+ * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
+
+ * prj-env.adb (Put): Output optional index
+
+ * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
+ attributes Spec and Body.
+
+ * prj-nmsc.adb: Process optional indexes
+
+ * prj-pp.adb: Ouput "at" for optional indexes
+
+ * prj-proc.adb: Take into account optional indexes
+
+ * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
+ Optional_Index. For string literal,
+ process optional index when Optional_Index is True.
+ (Parse_Expresion): New Boolean parameter Optional_Index
+
+ * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
+ (Set_Source_Index_Of): New procedure
+
+ * prj-util.adb (Executable_Of, Value_Of): Take into account optional
+ index.
+
+ * prj-util.ads (Executable_Of): New parameter Index
+ (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
+ New parameter Src_Index, defaulted to 0.
+
+2004-05-05 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15257
+ * sem_ch3.adb (Access_Definition): If this is an access parameter
+ whose designated type is imported through a limited_with clause, do
+ not add the enclosing subprogram to the list of private dependents of
+ the type.
+
+2004-05-05 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15258
+ * sem_ch6.adb (Base_Types_Match): True if one type is imported through
+ a limited_with clause, and the other is its non-limited view.
+
+2004-05-05 Thomas Quinot <quinot@act-europe.fr>
+
+ * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
+
+ * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
+ exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
+ Stand.Boolean_Literals to produce references to entities
+ Standard_False and Standard_True from compile-time computed boolean
+ values.
+
+ * stand.ads (Boolean_Literals): New variable, provides the entity
+ values for False and True, for use by the expander.
+
+2004-05-05 Doug Rupp <rupp@gnat.com>
+
+ * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
+ 5vinmaop.adb: Unchecked convert Short_Address vice Address
+
+ * adaint.c, raise.c: Caste CRTL function return value
+ to avoid gcc error on 32/64 bit IVMS.
+
+ * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
+ target = IA64/VMS.
+
+ * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
+
+ * 5qsystem.ads (Address): Declare as Long_Integer
+ (Short_Address): Declare as 32 bit subtype of Address
+ Declare abstract address operations to avoid gratuitous ambiguities.
+
+2004-05-05 Jose Ruiz <ruiz@act-europe.fr>
+
+ * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
+ instead of the old Boolean_Entry_Barriers.
+ Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
+
+2004-05-05 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-05-03 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
+
+2004-05-03 Olivier Hainque <hainque@act-europe.fr>
+
+ PR ada/15152
+ * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
+ alone. Replacing object references by literals is inappropriate in a
+ so low level context.
+
+2004-05-03 Arnaud Charlet <charlet@act-europe.fr>
+
+ * a-exexpr.adb: Add comments
+
+2004-05-03 Joel Brobecker <brobecker@gnat.com>
+
+ * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
+ declare the Ancestor_Tags array in Type_Specific_Data with a small size
+ without risking a bounds check error when accessing one of its
+ components.
+ (Type_Specific_Data): Define Ancestor_Tags as a small array.
+ This prevents us from hitting a limitation during the debug info
+ generation when using stabs.
+
+ * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
+ small array.
+ This prevents us from hitting a limitation during the debug info
+ generation when using stabs.
+
+2004-05-03 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ lang-specs.h: Remove -gnatz* from specs.
+
+2004-05-03 Vincent Celier <celier@gnat.com>
+
+ * gprmake.adb, makegpr.ads, makegpr.adb: New files.
+
+ * Make-lang.in, Makefile.in: Add gprmake
+
+2004-05-03 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_aggr.adb: Fix typo in comment.
+
+2004-05-03 Robert Dewar <dewar@gnat.com>
+
+ * make.adb: Minor reformatting
+
+ * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
+
+ * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
+ so that it works when address is not a private type.
+
+ * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
+ properly with rewritten unchecked conversions. This prevents
+ order-of-elaboration issues that can otherwise arise.
+ (Minimum_Size): Don't check size of access types under VMS
+
+ * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
+ interpretations of integer literals as type System.Address.
+
+ * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
+ (Is_Descendent_Of): New function
+
+2004-05-03 Jose Ruiz <ruiz@act-europe.fr>
+
+ * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
+ Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
+ No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
+
+ * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
+ of the old Max_Entry_Queue_Depth.
+
+ * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
+ Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
+ No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
+
+ * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
+ New entry for proper handling of Max_Entry_Queue_Depth.
+ New entry for proper handling of No_Dynamic_Interrupts.
+
+ * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
+ supersedes the GNAT specific restriction Boolean_Entry_Barriers.
+ Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
+ the GNAT specific restriction Max_Entry_Queue_Depth.
+ Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
+ the GNAT specific restriction No_Dynamic_Interrupts.
+
+ * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
+ instead of the old Boolean_Entry_Barriers.
+ Use the new restriction No_Dynamic_Attachment instead of the old
+ No_Dynamic_Interrupts.
+
+ * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
+ supersedes the GNAT specific restriction Boolean_Entry_Barriers.
+
+ * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
+ of the old Max_Entry_Queue_Depth.
+
+2004-05-03 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-04-29 Ed Schonberg <schonberg@gnat.com>
+
+ * checks.adb (Enable_Range_Check): If the prefix of an index component
+ is an access to an unconstrained array, perform check unconditionally.
+
+2004-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_field): Also call make_packable_type if
+ Component_Clause.
+
+2004-04-29 Olivier Hainque <hainque@act-europe.fr>
+
+ * init.c (__gnat_install_handler, __gnat_error_handler): Remove
+ alternate stack setting. There was no support for the tasking cases
+ and the changes eventually caused a number of side-effect failures in
+ the non-tasking case too.
+
+2004-04-29 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
+ -gnats is passed.
+
+2004-04-29 Vincent Celier <celier@gnat.com>
+
+ * make.adb (Gnatmake): Increase max size of argument array for
+ gnatbind for the potential addition of -F.
+ If there are Stand-Alone Library projects, invoke gnatbind with -F to
+ be sure that elaboration flags will be checked.
+
+ * switch-c.adb: Correct call to Scan_Pos for -gnateI
+
+2004-04-29 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_warn.adb (Check_References): Move '<access-variable> may be
+ null' warning out of under Warn_On_No_Value_Assigned.
+
+2004-04-29 Ed Falis <falis@gnat.com>
+
+ * gnat_ugn.texi: Fixed texi error
+
+2004-04-29 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
+ abstract operations if they come from predefined files.
+
+ * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
+ Dynamic, not RM).
+
+ * s-addope.adb: Correct obvious error in mod function
+
+2004-04-28 Andrew W. Reynolds <awreynolds@mac.com>
+
+ * Makefile.in: Add target pairs for powerpc darwin*
+ tasking support.
+
+ * a-intnam-darwin.ads, s-osinte-darwin.adb,
+ s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
+
+2004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * Makefile.in: Add target macro definitions for s390*-linux*.
+ * system-linux-s390.ads: New file.
+ * system-linux-s390x.ads: New file.
+
+2004-04-28 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gnat_ugn.texi: Correct argument to @setfilename.
+
+2004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * a-exexpr.adb (Unwind_Word): New data type.
+ (Unwind_Exception): Use it as type of Private1 and Private2.
+
+ * raise.c (db_action_for): Fix debug printf.
+
+2004-04-27 Ed Schonberg <schonberg@gnat.com>
+
+ * a-wtmoio.ads: Formal type must be a modular type, not a signed
+ integer type.
+
+2004-04-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity, case object): Call
+ __builtin_update_setjmp_buf.
+
+ * gigi.h (update_setjmp_buf): Deleted.
+ (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
+
+ * misc.c: (update_setjmp_buf): Deleted.
+
+ * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
+ around block of RTL.
+
+ * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
+
+2004-04-26 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
+ subprogram for which no pragma All_Calls_Remote applies, store the
+ address of the real subprogram in the underlying record type, so local
+ dereferences do not go through the PCS.
+
+2004-04-26 Robert Dewar <dewar@gnat.com>
+
+ * i-c.ads: Add some type qualifications to avoid ambiguities when
+ compiling with s-auxdec.ads and a non-private address type.
+
+2004-04-26 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.rtl: Fix error in previous check-in:
+ Add s-addope.o to non tasking object list (rather than tasking object
+ list).
+
+2004-04-26 Javier Miranda <miranda@gnat.com>
+
+ * sem_aggr.adb: Fix typo in comments
+ (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
+ Required to check the null-exclusion attribute.
+
+ * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
+ case of anonymous access types in record and array components. For a
+ component definition the level is the same of the enclosing composite
+ type.
+
+ * sem_ch3.adb (Analyze_Component_Declaration): In case of components
+ that are anonymous access types the level of accessibility depends on
+ the enclosing type declaration. In order to have this information, set
+ the scope of the anonymous access type to the enclosing record type
+ declaration.
+ (Array_Type_Declaration): In case of components that are anonymous
+ access types the level of accessibility depends on the enclosing type
+ declaration. In order to have this information, set the scope of the
+ anonymous access type to the enclosing array type declaration.
+
+ * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
+ access type.
+
+ * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
+ renaming of anonymous access-to-constant types allowed if and only if
+ the renamed object is access-to-constant.
+
+ * sem_util.adb (Type_Access_Level): In case of anonymous access types
+ that are component_definition or discriminants of a nonlimited type,
+ the level is the same as that of the enclosing component type.
+
+2004-04-26 Sergey Rybin <rybin@act-europe.fr>
+
+ * sem_elim.adb: Some minor code reorganization from code reading. Fix
+ misprint in the function name (File_Name_Match).
+
+2004-04-23 Laurent Guerby <laurent@guerby.net>
+
+ * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
+ install.
+
+2004-04-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
+
+2004-04-23 Emmanuel Briot <briot@act-europe.fr>
+
+ * adaint.c (__gnat_try_lock): No longer requires that the parent
+ directory be writable, the directory itself is enough.
+ (gnat_is_absolute_path): Change profile, so that the call from
+ GNAT.OS_Lib can be made more efficient.
+
+ * adaint.h (gnat_is_absolute_path): Change profile, so that the call
+ from GNAT.OS_Lib can be made more efficient.
+
+ * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
+ one copy of the file name. Found by code reading.
+
+2004-04-23 Vincent Celier <celier@gnat.com>
+
+ * gnat_ugn.texi: Add documentation for gnatmake switch -eL
+ Correct documentation on gnatmake switches transmitted to the compiler
+
+ * ali.ads: Minor comment fix
+
+2004-04-23 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch6.adb: (Confirming Types): Code cleanup
+
+ * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
+ subprogram types: E_Anonymous_Access_Subprogram_Type and
+ E_Anonymous_Access_Protected_Subprogram_Type.
+
+2004-04-23 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
+ whether a pragma All_Calls_Remote applies to the subprogram on which
+ 'Access is taken.
+ No functional change is introduced by this revision; the new parameter
+ will be used to allow calls to local RCI subprograms to be optimized
+ to not use the PCS in the case where no pragma All_Calls_Remote applies,
+ as is already done in the PolyORB implementation of the DSA.
+
+ * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
+ whether a pragma All_Calls_Remote applies to the subprogram on which
+ 'Access is taken.
+ No functional change is introduced by this revision; the new parameter
+ will be used to allow calls to local RCI subprograms to be optimized
+ to not use the PCS in the case where no pragma All_Calls_Remote applies,
+ as is already done in the PolyORB implementation of the DSA.
+
+2004-04-23 Robert Dewar <dewar@gnat.com>
+
+ * Makefile.rtl: Add entry for s-addope.o in run time library list
+ * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
+ * s-addope.ads, s-addope.adb: New files.
+
+ * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
+ s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
+ s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
+ System.Address to be non-private and signed.
+
+ * sem_elim.adb: Minor reformatting (fairly extensive)
+ Some minor code reorganization from code reading
+ Add a couple of ??? comments
+
+2004-04-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
+ (tree_transform, case N_If_Statement): Remove non-determinism.
+
+ * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
+
+2004-04-23 Sergey Rybin <rybin@act-europe.fr>
+
+ * gnat_rm.texi: Small fixes in the changes made in the 'pragma
+ Eliminate' section.
+
+ * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
+ no longer used as a parameter name for Eliminate pragma).
+
+2004-04-22 Laurent Guerby <laurent@guerby.net>
+
+ PR optimization/14984
+ PR optimization/14985
+ * trans.c (gigi): Fix non determinism leading to bootstrap
+ comparison failures.
+
+2004-04-21 Pascal Obry <obry@gnat.com>
+
+ * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
+ passed to spawnvp() to properly handle program pathname with spaces on
+ Win32.
+
+2004-04-21 Emmanuel Briot <briot@act-europe.fr>
+
+ * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
+ (Allocate, Deallocate, Free_Physically): Make sure the tasks are
+ unlocked in case of exceptions.
+
+2004-04-21 Joel Brobecker <brobecker@gnat.com>
+
+ * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
+ This function does not exist anymore.
+
+2004-04-21 Thomas Quinot <quinot@act-europe.fr>
+
+ * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
+
+ * link.c: Move variables to the __gnat name space.
+
+ * Makefile.in: list link.o explicitly when needed.
+
+ * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
+
+2004-04-21 Javier Miranda <miranda@gnat.com>
+
+ * einfo.adb (Original_Access_Type): New subprogram
+ (Set_Original_Access_Type): New subprogram
+ (Write_Field21_Name): Write the name of the new field
+
+ * einfo.ads (Original_Access_Type): New field present in access to
+ subprogram types.
+ Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
+ E_Anonymous_Access_Protected_Subprogram_Type.
+
+ * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
+ subprogram types.
+
+ * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
+ to anonymous access to subprogram types.
+
+ * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
+ to subprogram types.
+
+ * sem_ch3.adb (Access_Definition): Complete decoration of entities
+ corresponding to anonymous access to subprogram types.
+ (Analyze_Component_Declaration): Add new actual to the call to
+ subprogram replace_anonymous_access_to_protected_subprogram.
+ (Array_Type_Declaration): Add new actual to the call to subprogram
+ replace_anonymous_access_to_protected_subprogram.
+ (Process_Discriminants): Add new actual to the call to subprogram
+ replace_anonymous_access_to_protected_subprogram.
+ (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
+
+ * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
+ formal.
+
+ * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
+ access to subprogram types.
+
+ * sem_util.adb (Has_Declarations): Addition of package_specification
+ nodes.
+
+2004-04-21 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
+ inlined flags to renamed entity only if in current unit.
+
+2004-04-21 Thomas Quinot <quinot@act-europe.fr>
+
+ * s-parint.ads: Add DSA implementation marker.
+
+ * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
+ value of System.Partition_Interface.DSA_Implementation to determine
+ what version of the distributed systems annex is available (no
+ implementation, GLADE, or PolyORB).
+
+2004-04-21 Joel Brobecker <brobecker@gnat.com>
+
+ * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
+
+2004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
+ with new type if alias sets differ.
+ Fixes ACATS c41103b.
+
+2004-04-21 Vincent Celier <celier@gnat.com>
+
+ * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
+ Add array Lang_Args for the language specific compiling argument
+ switches.
+
+ * gnat_ugn.texi: Explain in more details when a library is rebuilt.
+
+2004-04-21 Sergey Rybin <rybin@act-europe.fr>
+
+ * gnat_rm.texi: Update the descripton of the Eliminate pragma
+ according to the recent changes in the format of the parameters of the
+ pragma (replacing Homonym_Number with Source_Location).
+
+2004-04-19 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 5isystem.ads: Removed, unused.
+
+ * gnat_rm.texi: Redo 1.13 change.
+
+2004-04-19 Robert Dewar <dewar@gnat.com>
+
+ * s-stoele.ads: Clean up definition of Storage_Offset (the new
+ definition is cleaner, avoids the kludge of explicit Standard operator
+ references, and also is consistent with a visible System.Address with
+ no visible operations.
+
+ * s-geveop.adb: Add declarations to avoid assumption of visible
+ operations on type System.Address (since these might not be available
+ if Address is a non-private type for which the operations
+ are made abstract).
+
+ * sem_eval.adb: Minor reformatting
+
+ * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
+ s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
+ reformatting (new function spec format).
+
+ * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
+ s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
+ s-caun64.adb: Add declarations to avoid assumption of visible
+ operations on type System.Address (since these might not be available
+ if Address is a non-private type for which the operations are made
+ abstract).
+
+ * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
+
+ * exp_intr.adb: Minor comment update
+
+ * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
+
+ * 5omastop.adb: Add declarations to avoid assumption of visible
+ operations on type System.Address (since these might not be available
+ if Address is a non-private type for which the operations
+ are made abstract).
+
+2004-04-19 Vincent Celier <celier@gnat.com>
+
+ * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
+
+ * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
+ defaulted to Ada.
+
+ * prj-proc.adb (Process): New Boolean parameter Process_Languages,
+ defaulted to Ada.
+ Call Check with Process_Languages.
+ (Check): New Boolean parameter Process_Languages. Call Recursive_Check
+ with Process_Languages.
+ (Recursive_Check): New Boolean parameter Process_Languages. Call
+ Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
+ Process_Languages.
+
+ * prj-proc.ads (Process): New Boolean parameter Process_Languages,
+
+ * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
+ parameter Ada_Main, defaulted to True.
+ Check for Ada specific characteristics only when Ada_Main is True.
+
+ * opt.ads: (Follow_Links): New Boolean flag for gnatmake
+
+ * prj.adb: (Project_Empty): Add new Project_Data components.
+
+ * prj.ads: New types and tables for non Ada languages.
+ (Project_Data): New components Languages, Impl_Suffixes,
+ First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
+ Include_Path, Include_Data_Set.
+
+ * prj-env.ads, prj-env.adb: Minor reformatting
+
+ * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
+ Put subprograms in alphabetical order
+
+ * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
+ defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
+ Opt.Follow_Links.
+
+ * mlib-prj.adb: Back out modification in last version, as they are
+ incorrect.
+ (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
+
+ * make.adb: (Mains): Moved to package Makeutl
+ (Linker_Opts): Moved to package Makeutl
+ (Is_External_Assignment): Moved to package Makeutl
+ (Test_If_Relative_Path): Moved to package Makeutl
+ (Gnatmake): Move sorting of linker options to function
+ Makeutl.Linker_Options_Switches.
+
+ * makeutl.ads, makeutl.adb: New files.
+
+ * Makefile.in: Add makeutl.o to the object files for gnatmake
+
+ * makeusg.adb: Add line for new switch -eL.
+
+ * gnatls.adb (Image): New function.
+ (Output_Unit): If in verbose mode, output the list of restrictions
+ specified by pragmas Restrictions.
+
+ * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
+ Text_IO.
+
+ * a-calend.adb (Split): Shift the date by multiple of 56 years, if
+ needed, to put it in the range 1970 (included) - 2026 (excluded).
+ (Time_Of): Do not shift Unix_Min_Year (1970).
+ Shift the date by multiple of 56 years, if needed, to put it in the
+ range 1970 (included) - 2026 (excluded).
+
+ * adaint.h, adaint.c (__gnat_set_executable): New function.
+
+2004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
+ and pop GC context.
+ (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
+ (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
+ (tree_transform, case N_Procedure_Call_Statement): Build a tree.
+ (tree_transform, case N_Code_Statement): Likewise.
+ (gnat_expand_stmt, case LABEL_STMT): Don't look at
+ LABEL_STMT_FIRST_IN_EH.
+ (gnat_expand_stmt, case ASM_STMT): New case.
+
+ * utils2.c (build_unary_op): Properly set TREE_READONLY of
+ UNCONSTRAINED_ARRAY_REF.
+
+ * utils.c (poplevel): Temporarily push/pop GC context around inline
+ function expansion.
+
+ * decl.c (maybe_variable): Properly set TREE_READONLY of
+ UNCONSTRAINED_ARRAY_REF.
+ (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
+
+ * ada-tree.def: (ASM_STMT): New.
+
+ * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
+ (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
+ ASM_STMT_INPUT): New.
+ (ASM_STMT_CLOBBER): Likewise.
+
+2004-04-19 Thomas Quinot <quinot@act-europe.fr>
+
+ * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
+ general rcheck mechanism to raise Program_Error for E.4(18), instead
+ of a custom raiser in System.Partition_Interface.
+ Part of general cleanup work before PolyORB integration.
+
+ * snames.ads, snames.adb: Add new runtime library entities and names
+ for PolyORB DSA.
+
+ * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
+ exp_dist.
+ (Build_Subprogram_Id): New subprogram provided by exp_dist
+ Code reorganisation in preparation for PolyORB integration.
+
+ * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
+ exp_dist.
+ (Build_Subprogram_Id): New subprogram provided by exp_dist
+
+ * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
+ actual parameter types for call to dereference of an
+ access-to-subprogram type.
+
+ * rtsfind.ads: Add new runtime library entities and names for PolyORB
+ DSA.
+
+ * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
+ instead, which has the same behaviour here since we never pass it a
+ NULL pointer.
+
+ * link.c (run_path_option, Solaris case): Use -Wl, as for other
+ platforms.
+
+ * Makefile.in: adjust object file lists for gnatlink and gnatmake
+ to account for new dependency upon Interfaces.C.Strings + link.o
+ For x86 FreeBSD, use 86numaux.
+
+ * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
+ from Mlib.Tgt to Mlib.
+
+ * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
+ target-independent.
+
+ * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
+ target-specific versions of this subprogram, now implemented as a
+ target-independent function in Mlib.
+
+ * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
+ 5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
+ (Linker_Library_Path_Option): Remove target-specific versions of this
+ subprogram, now implemented as a target-independent function in Mlib.
+
+ * atree.adb: (Allocate_Initialize_Node): New subprogram.
+ Factors out node table slots allocation.
+ (Fix_Parents): New subprogram.
+ Encapsulate the pattern of fixing up parent pointers for syntactic
+ children of a rewritten node.
+ (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
+ (Rewrite): Use New_Copy when creating saved copy of original node.
+ (Replace): Use Copy_Node to copy nodes.
+
+2004-04-19 Javier Miranda <miranda@gnat.com>
+
+ * sprint.adb (Sprint_Node_Actual): Give support to the new
+ Access_To_Subprogram node available in Access_Definition nodes. In
+ addition, give support to the AI-231 node fields: null-exclusion,
+ all-present, constant-present.
+
+ * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
+
+ * sinfo.ads, sinfo.adb:
+ New field Access_To_Subprogram_Definition in Access_Definition nodes
+
+ * sem_ch6.adb (Process_Formals): Move here the code that creates and
+ decorates internal subtype declaration corresponding to the
+ null-excluding formal. This code was previously in Set_Actual_Subtypes.
+ In addition, carry out some code cleanup on this code. In case of
+ access to protected subprogram call
+ Replace_Anonymous_Access_To_Protected_Subprogram.
+ (Set_Actual_Subtypes): Code cleanup.
+
+ * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
+ Find_Type in case of anonymous access renamings. Add warning in case of
+ null-excluding attribute used in anonymous access renaming.
+
+ * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
+ subprogram
+
+ * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
+ subprogram.
+ (Access_Definition): In case of anonymous access to subprograms call
+ the corresponding semantic routine to decorate the node.
+ (Access_Subprogram_Declaration): Addition of some comments indicating
+ some code that probably should be added here. Detected by comparison
+ with the access_definition subprogram.
+ (Analyze_Component_Declaration): In case of access to protected
+ subprogram call Replace_Anonymous_Access_To_Protected.
+ (Array_Type_Declaration): In case of access to protected subprogram call
+ Replace_Anonymous_Access_To_Protected_Subprogram.
+ (Process_Discriminants): In case of access to protected subprogram call
+ Replace_Anonymous_Access_To_Protected_Subprogram.
+
+ * par.adb (P_Access_Definition): New formal that indicates if the
+ null-exclusion part was present.
+ (P_Access_Type_Definition): New formal that indicates if the caller has
+ already parsed the null-excluding part.
+
+ * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
+ (P_Identifier_Declarations): Code cleanup and give support to renamings
+ of anonymous access to subprogram types.
+ (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
+ (P_Array_Type_Definition): Give support to AI-254.
+ (P_Component_Items): Give support to AI-254.
+ (P_Access_Definition): New formal that indicates if the header was
+ already parsed by the caller.
+ (P_Access_Type_Definition): New formal that indicates if the caller has
+ already parsed the null-excluding part.
+
+ * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
+ call to P_Access_Definition.
+
+2004-04-19 Geert Bosch <bosch@gnat.com>
+
+ * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
+ the delicate semantics of floating-point to integer conversion.
+ (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
+
+ * eval_fat.adb (Machine_Mantissa): Moved to spec.
+ (Machine_Radix): New function.
+
+ * eval_fat.ads (Machine_Mantissa): Moved from body for use in
+ conversion checks.
+ (Machine_Radix): New function also for use in conversion checks.
+
+2004-04-19 Ed Schonberg <schonberg@gnat.com>
+
+ * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
+
+ * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
+ to decorate the access-to-protected subprogram and the equivalent type.
+
+ * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
+ to anonymous access to subprogram types.
+
+ * exp_ch4.adb (Expand_N_In): Preserve Static flag before
+ constant-folding, for legality checks in contexts that require an RM
+ static expression.
+
+ * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
+ temporary but stack checking is not enabled, increment serial number
+ to so that symbol generation is consistent with and without stack
+ checking.
+
+ * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
+ independent on whether stack checking is enabled, caller must check
+ the corresponding flag.
+
+ * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
+ range checks.
+ (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
+ parent if it has discriminants.
+ (Build_Derived_Private_Type): Constructed full view does
+ not come from source.
+ (Process_Discriminants): Default discriminants on a tagged type are
+ legal if this is the internal completion of a private untagged
+ derivation.
+
+ * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
+ no constraint checks, because it corresponds to an existing object.
+
+ * sem_prag.adb (Process_Convention): Pragma applies
+ only to subprograms in the same declarative part, i.e. the same unit,
+ not the same scope.
+
+ * sem_res.adb (Valid_Conversion): In an instance or inlined body,
+ ignore type mismatch on a numeric conversion if expression comes from
+ expansion.
+
+2004-04-19 Sergey Rybin <rybin@act-europe.fr>
+
+ * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
+ Homonym_Number parameter, add processing for Source_Location parameter
+ corresponding.
+ (Check_Eliminated): Remove the check for homonym numbers, add the check
+ for source location traces.
+
+ * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
+ with Arg_Source_Location corresponding to the changes in the format of
+ the pragma.
+
+ * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
+ Eliminate pragma corresponding to the changes in the format of the
+ pragma: Homonym_Number is replaced with Source_Location, two ways of
+ distinguishing homonyms are mutially-exclusive.
+
+2004-04-19 Joel Brobecker <brobecker@gnat.com>
+
+ * get_targ.ads (Get_No_Dollar_In_Label): Remove.
+
+ * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
+ No_Dollar_In_Label, no longer necessary, as it is always True.
+ (Strip_Suffixes): Likewise.
+
+2004-04-19 Gary Dismukes <dismukes@gnat.com>
+
+ * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
+ modulus for compatibility with size clause on targets with 16-bit
+ Integer.
+
+ * layout.adb (Discrimify): In the case of private types, set Vtyp to
+ full type to fix type mismatches on calls to size functions for
+ discriminant-dependent array components.
+
+2004-04-19 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
+ lib.
+
+2004-04-19 Pascal Obry <obry@gnat.com>
+
+ * mdll-utl.adb (Locate): New version is idempotent.
+
+2004-04-17 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/14988 (partial)
+ * impunit.adb: Fix typo.
+
+2004-04-14 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
+ and install-rts-cert targets. Remove all gnatlib and gnattools
+ targets and all other rts-* targets (moved to libada). Remove (now)
+ unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
+ TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
+
+2004-04-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (tree_transform): Shortcut returning error_mark_node for
+ statements in annotate_only_mode.
+ (tree_transform, case N_Label, case N_Return_Statement,
+ N_Goto_Statement): Make statement tree instead of generating code.
+ (tree_transform, case N_Assignment_Statement): No longer check
+ type_annotate_only.
+ (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
+ RETURN_STMT): New.
+ (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
+ New fcns.
+ (gnat_to_gnu): Collect any RTL generated and deal with it.
+ (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
+ (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
+ (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
+
+ * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
+
+ * ada-tree.def (EXPR_STMT): Fix typo in name.
+ (BLOCK_STMT, IF_STMT): New nodes.
+
+ * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
+ LABEL_STMT_FIRST_IN_EH): New macros.
+ (RETURN_STMT_EXPR): Likewise.
+
+ * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
+ IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
+
+2004-04-08 Thomas Quinot <quinot@act-europe.fr>
+
+ * atree.ads: Correct documentation on extended nodes.
+
+ * link.c: Set run_path_option for FreeBSD.
+
+2004-04-08 Vincent Celier <celier@gnat.com>
+
+ * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
+ one of the ALI file, do not link with DEC lib.
+
+ * par.adb Remove the last two characters ("%s" or "%b") when checking
+ if a language defined unit may be recompiled.
+
+2004-04-08 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
+ removal of abstract operation leaves no possible interpretation for
+ expression.
+
+ * sem_eval.adb (Eval_Qualified_Expression): Use
+ Set_Raises_Constraint_Error on node when needed, so that it does not
+ get optimized away by subsequent optimizations.
+
+ * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
+ operands even when they are not wrapped in a type conversion.
+
+2004-04-08 Olivier Hainque <hainque@act-europe.fr>
+
+ * sem_prag.adb (Set_Exported): Warn about making static as result of
+ export only when the export is coming from source. This may be not
+ be true e.g. on VMS where we expand export pragmas for exception codes
+ together with imported or exported exceptions, and we don't want the
+ user to be warned about something he didn't write.
+
+2004-04-08 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
+ duplication between normal entities and those declared as renamings.
+ No functional change.
+
+ * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
+ inline functions returning an unconstrained result.
+
+2004-04-08 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
+ conform to what other front-ends do.
+
+2004-04-08 Doug Rupp <rupp@gnat.com>
+
+ * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
+ libraries.
+
+2004-04-06 Pascal Obry <obry@gnat.com>
+
+ * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
+
+ * osint.adb (Program_Name): Do not look past a directory separator.
+
+2004-04-06 Thomas Quinot <quinot@act-europe.fr>
+
+ * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
+
+ * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
+ requirement for preserving a copy of the original assignment node.
+
+ * sinfo.ads: Update comment (Original_Tree -> Original_Node).
+
+2004-04-06 Olivier Hainque <hainque@act-europe.fr>
+
+ (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
+ when supported.
+
+2004-04-06 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
+ operator calls in functional notation, and apply
+ Universal_Interpretation to operands, not to their type.
+
+2004-04-06 Robert Dewar <dewar@gnat.com>
+
+ * 5wdirval.adb: Minor reformatting
+
+2004-04-06 Ed Falis <falis@gnat.com>
+
+ * gnat_rm.texi: Improve a reference to the GCC manual
+
+2004-04-05 Vincent Celier <celier@gnat.com>
+
+ * adaint.h, adaint.c: Add function __gnat_named_file_length
+
+ * impunit.adb: Add Ada.Directories to the list
+
+ * Makefile.in: Add VMS and Windows versions of
+ Ada.Directories.Validity package body.
+
+ * Makefile.rtl: Add a-direct and a-dirval
+
+ * mlib-tgt.ads: Minor comment update.
+
+ * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
+ a-direct.ads, a-direct.adb: New files.
+
+2004-04-05 Vincent Celier <celier@gnat.com>
+
+ PR ada/13620
+ * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
+ just to the compiler.
+
+2004-04-05 Robert Dewar <dewar@gnat.com>
+
+ * a-except.adb (Exception_Name_Simple): Make sure lower bound of
+ returned string is 1.
+
+ * ali-util.adb: Use proper specific form for Warnings (Off, entity)
+
+ * eval_fat.ads: Minor reformatting
+
+ * g-curexc.ads: Document that lower bound of returned string values
+ is always one.
+
+ * gnatlink.adb: Add ??? comment for previous change
+ (need to document why this is VMS specific)
+
+ * s-stoele.ads: Minor reformatting
+
+ * tbuild.ads: Minor reformatting throughout (new function specs)
+
+ * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
+ after WITH.
+
+ * scng.adb: Minor reformatting
+
+2004-04-05 Geert Bosch <bosch@gnat.com>
+
+ * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
+ (Leading_Part): Still perform truncation to machine number if the
+ specified radix_digits is greater or equal to machine_mantissa.
+
+2004-04-05 Javier Miranda <miranda@gnat.com>
+
+ * par-ch3.adb: Complete documentation of previous change
+ Correct wrong syntax documentation of the OBJECT_DECLARATION rule
+ (aliased must appear before constant).
+
+ * par-ch4.adb: Complete documentation of previous change.
+
+ * par-ch6.adb: Complete documentation of previous change.
+
+ * sinfo.ads: Fix typo in commment.
+
+2004-04-05 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch3.adb (Inherit_Components): If derived type is private and has
+ stored discriminants, use its discriminants to constrain parent type,
+ as is done for non-private derived record types.
+
+ * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
+ Ada 2005 AI-310: an abstract non-dispatching operation is not a
+ candidate interpretation in an overloaded call.
+
+ * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
+ expression is Null and target type is not an access type (e.g. a
+ non-private address type).
+
+2004-04-05 Thomas Quinot <quinot@act-europe.fr>
+
+ * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
+ statement whose right-hand side is an inlined call, save a copy of the
+ original assignment subtree to preserve enough consistency for
+ Analyze_Assignment to proceed.
+
+ * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
+ complete assignment subtree which is now unnecessary, as the expansion
+ of inlined call has been improved to preserve a consistent assignment
+ tree. Note_Possible_Modification must be called only
+ after checks have been applied, or else unnecessary checks will
+ be generated.
+
+ * sem_util.adb (Note_Possible_Modification): Reorganise the handling
+ of explicit dereferences that do not Come_From_Source:
+ - be selective on cases where we must go back to the dereferenced
+ pointer (an assignment to an implicit dereference must not be
+ recorded as modifying the pointer);
+ - do not rely on Original_Node being present (Analyze_Assignment
+ calls Note_Possible_Modification on a copied tree).
+
+ * sem_warn.adb (Check_References): When an unset reference to a pointer
+ that is never assigned is encountered, prefer '<pointer> may be null'
+ warning over '<pointer> is never assigned a value'.
+
+2004-04-05 Ramon Fernandez <fernandez@gnat.com>
+
+ * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
+ the ABI.
+
+2004-04-05 Olivier Hainque <hainque@act-europe.fr>
+
+ * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
+ libexc. We currently don't reference anything in this library and
+ linking it in triggers linker warnings we don't want to see.
+
+ * init.c: Update comments.
+
+2004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
+ * utils.c (create_field_decl): Likewise.
+ * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
+
+2004-04-02 Arnaud Charlet <charlet@act-europe.fr>
+
+ * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
+ Replace ifinfo by ifnottex, to make makeinfo --html happy again.
+ Add info directory entry and category.
+
+2004-04-02 Jan Hubicka <jh@suse.cz>
+
+ * utils.c: Include function.h
+ (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
+
+2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
+
+ PR ada/14150
+ * Make-lang.in: Clean up generation of documentation
+
+ * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
+
+ * xgnatug.adb: Removed, replaced by xgnatugn.adb
+
+ * xgnatugn.adb: Replaces xgnatug.adb
+
+ * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
+
+ * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
+
+ * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+ gnat_ug_wnt.texi: Removed.
+
+2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
+
+ * utils2.c: Update copyright notice.
+
+2004-04-01 Robert Dewar <dewar@gnat.com>
+
+ * checks.adb: Minor reformatting throughout
+ Note that prev checkin added RM reference to alignment warning
+
+2004-04-01 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_aggr.adb (Get_Component_Val): Treat a string literal as
+ non-static when building aggregate for bit-packed array.
+
+ * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
+ function call that is itself the actual in a procedure call, build
+ temporary for it.
+
+ * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
+ a string literal, create a temporary for it, constant folding only
+ handles scalars here.
+
+2004-04-01 Vincent Celier <celier@gnat.com>
+
+ * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
+ Error_Msg_SP): New empty procedures to instantiate the Scanner.
+ (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
+ tokens.
+ (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
+ (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
+ and get the checksum.
+
+ * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
+ already in the Q.
+ Increase the Marking_Label at the end of the Multiple_Main_Loop,
+ instead of at the beginning.
+
+ * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
+ directly.
+ (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
+ on VMS.
+
+ * osint.ads (Multi_Unit_Index_Character): New Character global variable
+
+ * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
+ not '~' directly.
+
+ * par.adb: Remove test on file name to detect language defined units.
+ Add test on unit name, after parsing, to detect language defined units
+ that are not compiled with -gnatg (except System.RPC and its children)
+
+ * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
+ following units without style checking.
+
+ * switch-c.adb: Change -gnatC to -gnateI
+
+ * usage.adb: Document new switch -gnateInnn
+
+ * scng.adb (Accumulate_Token_Checksum): New procedure
+ (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
+ word or literal number.
+ (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
+ numbers.
+
+2004-04-01 Thomas Quinot <quinot@act-europe.fr>
+
+ * a-tasatt.adb,
+ g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
+ switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
+ 5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
+ 5vtpopde.adb: Add missing 'constant' keywords.
+
+2004-04-01 Javier Miranda <miranda@gnat.com>
+
+ * par-ch4.adb: (P_Allocator): Code cleanup
+
+ * sem_ch3.adb (Access_Definition): Properly set the null-excluding
+ attribute.
+
+ * sinfo.ads: Complete documentation of previous change
+
+2004-04-01 Pascal Obry <obry@gnat.com>
+
+ * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
+ only on VMS. This special handling was done because an old GNU/ld bug
+ on Windows which has been fixed.
+
+2004-04-01 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity, make_type_from_size):
+ Use TYPE_UNSIGNED, not TREE_UNSIGNED.
+ * trans.c (tree_transform, convert_with_check): Likewise.
+ * utils.c (gnat_signed_or_unsigned_type): Likewise.
+ (build_vms_descriptor, unchecked_convert): Likewise.
+ * utils2.c (nonbinary_modular_operation): Likewise.
+
+2004-03-29 Javier Miranda <miranda@gnat.com>
+
+ * checks.adb (Null_Exclusion_Static_Checks): New subprogram
+ (Install_Null_Excluding_Check): Local subprogram that determines whether
+ an access node requires a runtime access check and if so inserts the
+ appropriate run-time check.
+ (Apply_Access_Check): Call Install_Null_Excluding check if required
+ (Apply_Constraint_Check): Call Install_Null_Excluding check if required
+
+ * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
+
+ * einfo.ads: Fix typo in comment
+
+ * exp_ch3.adb (Build_Assignment): Generate conversion to the
+ null-excluding type to force the corresponding run-time check.
+ (Expand_N_Object_Declaration): Generate conversion to the null-excluding
+ type to force the corresponding run-time check.
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
+ the null-excluding type to force the corresponding run-time check.
+
+ * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
+ case of access types unless they have the null-excluding attribute.
+
+ * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
+ part.
+
+ * exp_util.ads: Fix typo in comment
+
+ * par.adb (P_Null_Exclusion): New subprogram
+ (P_Subtype_Indication): New formal that indicates if the null-excluding
+ part has been scanned-out and it was present
+
+ * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
+
+ * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
+ (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
+ type to force the corresponding run-time check
+ (Resolve_Aggregate): Propagate the null-excluding attribute to the array
+ components
+ (Resolve_Array_Aggregate): Carry out some static checks
+ (Resolve_Record_Aggregate.Get_Value): Carry out some static check
+
+ * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
+ attribute must be set only if specified by means of the null-excluding
+ part. In addition, we must also propagate the access-constant attribute
+ if present.
+ (Access_Subprogram_Declaration, Access_Type_Declaration,
+ Analyze_Component_Declaration, Analyze_Object_Declaration,
+ Array_Type_Declaration, Process_Discriminants,
+ Analyze_Subtype_Declaration): Propagate the null-excluding attribute
+ and carry out some static checks.
+ (Build_Derived_Access_Type): Set the null-excluding attribute
+ (Derived_Type_Declaration, Process_Subtype): Carry out some static
+ checks.
+
+ * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
+
+ * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
+
+ * sem_ch6.adb (Process_Formals): Carry out some static checks.
+ (Set_Actual_Subtypes): Generate null-excluding subtype if the
+ null-excluding part was present; it is not required to be done here in
+ case of anonymous access types.
+ (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
+ value.
+
+ * sem_res.adb (Resolve_Actuals): Carry out some static check
+ (Resolve_Null): Allow null in anonymous access
+
+ * sinfo.adb: New subprogram Null_Exclusion_Present
+ All_Present and Constant_Present available on access_definition nodes
+
+ * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
+ object_declaration, derived_type_definition, component_definition,
+ discriminant_specification, access_to_object_definition,
+ access_function_definition, allocator, access_procedure_definition,
+ access_definition, parameter_specification, All_Present and
+ Constant_Present flags available on access_definition nodes.
+
+2004-03-29 Robert Dewar <dewar@gnat.com>
+
+ * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
+ gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
+ opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
+ par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
+ sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
+ sem_prag.adb: Updates to handle multiple units/file
+
+ * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
+
+ * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
+ sem_util.adb: Minor reformatting
+
+ * sem_ch12.adb: Add comment for previous change
+
+2004-03-29 Laurent Pautet <pautet@act-europe.fr>
+
+ * osint.adb (Executable_Prefix): Set Exec_Name to the current
+ executable name when not initialized. Otherwise, use its current value.
+
+ * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
+ initialize it to another executable name than the current one. This
+ allows to configure paths for an executable name (gnatmake) different
+ from the current one (gnatdist).
+
+2004-03-29 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Expand_Call): A call to a function declared in the
+ current unit cannot be inlined if it appears in the body of a withed
+ unit, to avoid order of elaboration problems in gigi.
+
+ * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
+ information for protected (wrapper) operation as well, to simplify gdb
+ use.
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
+ protected body, indicate that the entity for the generated spec comes
+ from source, to ensure that references are properly generated for it.
+ (Build_Body_To_Inline): Do not inline a function that returns a
+ controlled type.
+
+ * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
+ apply convention to homonyms that are declared explicitly.
+
+ * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
+ that renames an equality operator and the operands are overloaded,
+ resolve them with the declared formal types, before rewriting as an
+ operator.
+
+2004-03-29 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-03-25 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * memtrack.adb: Log realloc calls, which are treated as free followed
+ by alloc.
+
+2004-03-25 Vincent Celier <celier@gnat.com>
+
+ * prj-makr.adb (Process_Directories): Detect when a file contains
+ several units. Do not include such files in the config pragmas or
+ in the naming scheme.
+
+ * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
+ Resolve links only when not in Trusted_Mode.
+ (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
+ Do not resolve links for the display names.
+
+ * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
+ resolve links when computing the display names.
+
+2004-03-25 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
+ attribute reference does not denote a subtype, it can be any
+ expression that has a classwide type, potentially after an implicit
+ dereference. In particular, the prefix can be a view conversion for
+ a classwide type (for which Is_Object_Reference holds), but it can
+ also be a value conversion for an access-to-classwide type. In the
+ latter case, there is an implicit dereference, and the original node
+ for the prefix does not verify Is_Object_Reference.
+
+ * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
+ conversion of a discriminant-dependent component of a mutable object
+ is one itself.
+
+2004-03-25 Ed Schonberg <schonberg@gnat.com>
+
+ * freeze.adb (Freeze_Entity): When an inherited subprogram is
+ inherited, has convention C, and has unconstrained array parameters,
+ place the corresponding warning on the derived type declaration rather
+ than the original subprogram.
+
+ * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
+ indication on renaming declaration, if formal has a box and actual
+ is absent.
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
+ determine whether to generate an implicit or explicit reference to
+ the renamed entity.
+
+ * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
+ subprogram renaming comes from a defaulted formal subprogram in an
+ instance.
+
+2004-03-25 Gary Dismukes <dismukes@gnat.com>
+
+ * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
+ value expressions to ensure that calls within a component definition
+ will be checked (since those are evaluated during the record type's
+ elaboration).
+
+2004-03-25 Arnaud Charlet <charlet@act-europe.fr>
+
+ * s-tpobop.adb: Code clean up:
+ (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
+ code.
+ (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
+
+2004-03-25 Jose Ruiz <ruiz@act-europe.fr>
+
+ * Makefile.in: Clean up in the ravenscar run time.
+
+2004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
+ of No_Strict_Aliasing to build_pointer_type_for_mode.
+ * utils.c (update_pointer_to): Walk pointer and ref chains.
+
+2004-03-22 Cyrille Comar <comar@act-europe.fr>
+
+ * ali.ads: Fix Comment about Dynamic_Elab.
+
+ * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
+ Has_RACW, Is_Generic, etc.)
+ (Output_Object, Gnatls): Take into account ALI files not attached to
+ an object.
+
+2004-03-22 Vincent Celier <celier@gnat.com>
+
+ * gprep.adb: Change all String_Access to Name_Id
+ (Is_ASCII_Letter): new function
+ (Double_File_Name_Buffer): New procedure
+ (Preprocess_Infile_Name): New procedure
+ (Process_Files): New procedure
+ (Gnatprep): Check if output and input are existing directories.
+ Call Process_Files to do the real job.
+
+2004-03-22 Robert Dewar <dewar@gnat.com>
+
+ * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
+ s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
+
+2004-03-22 Sergey Rybin <rybin@act-europe.fr>
+
+ * scn.adb (Contains): Add check for EOF, is needed for a degenerated
+ case when the source contains only comments.
+
+2004-03-22 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
+ declaration for a child subprogram body that acts as a spec, indicate
+ that the entity in the declaration needs debugging information.
+
+ * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
+ full view if the subtype is created for a constrained record component;
+ gigi has enough information to construct the record, and there is no
+ place in the tree for the declaration.
+
+ * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
+ serial number for the dummy body that is built for analysis, to avoid
+ inconsistencies in the generation of internal names when compiling
+ with -gnatN.
+
+2004-03-22 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_util.adb (Is_Object_Reference): A view conversion denotes an
+ object.
+
+2004-03-22 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
+ * trans.c (tree_transform, emit_index_check): Likewise.
+ * utils.c (build_template): Likewise.
+ (max_size, convert): Remove handling of WITH_RECORD_EXPR.
+ (maybe_unconstrained_array, unchecked_convert): Likewise.
+ * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
+ (build_unary_op): Likewise.
+ (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
+ (fill_vms_descriptor): Likewise.
+ (build_call_alloc_dealloc): Likewise.
+ ALIGN is unsigned.
+ * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
+
+2004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ PR other/14630
+ * gnat_ug.texi: Add info directory category and entry.
+ * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+ gnat_ug_wnt.texi: Regenerate.
+
+2004-03-19 Arnaud Charlet <charlet@act-europe.fr>
+
+ * ada-tree.h: Update copyright notice.
+ Minor reformatting.
+
+2004-03-19 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
+ as regular exception objects and not as mere integers representing the
+ condition code. The latter approach required some dynamics to mask off
+ severity bits, which did not fit well into the GCC table based model.
+ (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
+ exception data objects. We don't it and it would conflict with the other
+ external symbol we have to generate for such exceptions.
+
+ * trans.c (tree_transform, case N_Exception_Handler): Remove part of
+ the special code for VMS exceptions, since these are now represented
+ as regular exceptions objects.
+
+2004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (debug_no_type_hash): Remove.
+ (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
+ * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
+
+2004-03-19 Laurent Guerby <laurent@guerby.net>
+
+ * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
+ aggregate, allows bootstrap from 3.3 on powerpc-darwin.
+
+2004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
+ (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
+ (TYPE_RM_SIZE_INT): Directly use type.values.
+ (TREE_LOOP_ID): Clean up check.
+ * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
+ TYPE_VALUES, not TYPE_FIELDS.
+ * trans.c (convert_with_check): Delay access of bounds of basetype
+ until sure is numeric.
+
+2004-03-18 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
+
+ Code clean up:
+ * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
+ 5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
+ Specific.Set instead of direct call to e.g pthread_setspecific.
+
+2004-03-18 Thomas Quinot <quinot@act-europe.fr>
+
+ * adaint.c: Update comments.
+
+ * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
+ GNATLIB_SHARED for FreeBSD.
+
+2004-03-18 Jose Ruiz <ruiz@act-europe.fr>
+
+ * init.c [VxWorks]: Do not fix the stack size for the environment task.
+ When needed (stack checking) the stack size is retrieved
+ from the VxWorks kernel.
+
+ * Makefile.in: Flag -nostdinc is required when building the run time
+ for avoiding looking for files in the base compiler.
+ Add the VxWorks specific version of the package body for
+ System.Stack_checking.Operations (5zstchop.adb).
+
+ * Make-lang.in: Add the object file for
+ System.Stack_Checking.Operations.
+
+ * Makefile.rtl: Add object file for the package
+ System.Stack_Checking.Operations.
+
+ * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
+
+ * s-stache.ads, s-stache.adb: Move the operations related to stack
+ checking from this package to package System.Stack_Checking.Operations.
+ This way, stack checking operations are only linked in the final
+ executable when using the -fstack-check flag.
+
+2004-03-18 Doug Rupp <rupp@gnat.com>
+
+ * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
+ Reorganize ifeq's.
+
+ * 5qsystem.ads, 5xcrtl.ads: New files.
+
+2004-03-18 Vincent Celier <celier@gnat.com>
+
+ * prj.adb (Reset): Reset hash table Files_Htable
+
+ * prj-env.adb (Source_Paths, Object_Paths): New tables.
+ (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
+ the procedures Add_To_Path_File.
+ (Set_Ada_Paths): Accumulate source and object dirs in the tables,
+ making sure that each directory is present only once and, for object
+ dirs, when a directory already present is added, the duplicate is
+ removed and the directory is always put as the last in the table.
+ Write the path files at the end of these accumulations.
+
+ * prj-nmsc.adb (Record_Source): Add source file name in hash table
+ Files_Htable for all sources.
+
+ * prj-proc.adb (Process): Remove restrictions between not directly
+ related extending projects.
+
+2004-03-18 Emmanuel Briot <briot@act-europe.fr>
+
+ * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
+ (Find_Sources): Minor speed optimization.
+
+ * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
+ parameter Trusted_Mode.
+
+2004-03-18 Sergey Rybin <rybin@act-europe.fr>
+
+ * scn.adb (Determine_License): Take into account a degenerated case
+ when the source contains only comments.
+
+2004-03-18 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_warn.adb (Check_References): For a warning on a selected
+ component that does not come from source, locate an uninitialized
+ component of the record type to produce a more precise error message.
+
+2004-03-15 Jerome Guitton <guitton@act-europe.fr>
+
+ * 3zsoccon.ads: Fix multicast options.
+
+ * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
+ in the spec.
+
+2004-03-15 Robert Dewar <dewar@gnat.com>
+
+ * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
+ pragma used for a private type.
+
+ * lib-xref.adb (Generate_Reference): Do not generate warning if
+ reference is in a different unit from the pragma Unreferenced.
+
+ * 5vtpopde.adb: Minor reformatting
+ Fix casing of To_Task_ID
+
+ * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
+ flag if we have an unchecked conversion to an access type in the same
+ unit.
+
+2004-03-15 Geert Bosch <bosch@gnat.com>
+
+ * a-ngcoty.adb (Modulus): In alternate formula for large real or
+ imaginary parts, use Double precision throughout.
+
+ * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
+ we want to be able to compile run-time with -gnata for testing, but
+ this may also be instantiated in user code that is compiled with -gnata.
+
+2004-03-15 Olivier Hainque <hainque@act-europe.fr>
+
+ * s-stalib.ads (Exception_Code): New type, to represent Import/Export
+ codes. Having a separate type for this is useful to enforce consistency
+ throughout the various run-time units.
+ (Exception_Data): Use Exception_Code for Import_Code.
+
+ * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
+ Natural and Integer in various places.
+ (Register_VMS_Exception): Use Base_Code_In to compute the exception code
+ with the severity bits masked off.
+ (Register_VMS_Exception): Handle the additional exception data pointer
+ argument.
+
+ * raise.c (_GNAT_Exception structure): Remove the handled_by_others
+ component, now reflected by an exported accessor.
+ (is_handled_by): New routine to compute whether the propagated
+ occurrence matches some handler choice specification. Extracted out of
+ get_action_description_for, and expanded to take care of the VMS
+ specifities.
+ (get_action_description_for): Use is_handled_by instead of an explicit
+ complex condition to decide if the current choice at hand catches the
+ propagated occurrence.
+
+ * raise.h (Exception_Code): New type for C.
+
+ * rtsfind.ads (RE_Id, RE_Unit_Table): Add
+ System.Standard_Library.Exception_Code, to allow references from the
+ pragma import/export expander.
+
+ * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
+ New accessors to allow easy access to GNAT exception data
+ characteristics.
+ (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
+ redundant Handled_By_Others component, helper for the personality
+ routine which will now be able to call the appropriate exception data
+ accessor instead.
+
+ * cstand.adb (Create_Standard): Adjust the type of the Import_Code
+ component of Standard_Exception_Type to be the closest possible to
+ Exception_Code in System.Standard_Library, that we cannot get at this
+ point. Expand a ??? comment to notify that this type node should
+ probably be rewritten later on.
+
+ * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
+ registration call to include a pointer to the exception object in the
+ arguments.
+
+ * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
+ instead of int and explicit bitmasks.
+
+2004-03-15 Vincent Celier <celier@gnat.com>
+
+ * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
+ equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
+
+ * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
+ longer needed now that it is in the spec of
+ System.Tasking.Task_Attributes.
+
+ * adaint.h, adaint.c: (__gnat_create_output_file): New function
+
+ * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
+
+ * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
+
+ * make.adb (Gnatmake): Do not check the executable suffix; it is being
+ taken care of in Scan_Make_Arg.
+ (Scan_Make_Arg): Add the executable suffix only if the argument
+ following -o, in canonical case, does not end with the executable
+ suffix. When in verbose mode and executable file name does not end
+ with executable suffix, output the executable name, in canonical case.
+
+ * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
+ to avoid warnings when instantiating Ada.Task_Attributes.
+ Minor reformating.
+
+ * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
+ in the correct order.
+
+ * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
+ redirect standard output and error to a file for the invocation of the
+ compiler, then read the file.
+
+ * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
+ directory, instead of the Value.
+ (Find_Source_Dirs): Remove useless code & comments.
+
+2004-03-15 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
+ tagged type is inherited, and the parent operation is not frozen yet,
+ force generation of a freeze node for the inherited operation, so the
+ corresponding dispatch entry is properly initialized.
+ (Make_Predefined_Primitive_Specs): Check that return type is Boolean
+ when looking for user-defined equality operation.
+
+ * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
+ boolean when locating primitive equality of tagged component.
+
+ * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
+ bit-aligned field and the right-hand side a string literal, introduce
+ a temporary before expanding assignment into a loop.
+
+ * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
+ priority in full, to ensure that any expanded subepxressions of it are
+ elaborated in the scope of the init_proc.
+
+ * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
+ after object declaration, skipping over code that may have been
+ generated for validity checks.
+
+ * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
+ discriminants, ignore the known discriminants of its full view, if
+ any, to check legality.
+
+ * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
+ component if type has unknown discriminants.
+ (Analyze_Private_Extension_Declaration): Discriminant constraint is
+ null if type has unknown discriminants.
+
+ * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
+ for end label when present.
+
+ * s-fileio.adb (Open): When called with a C_Stream, use given name for
+ temporary file, rather than an empty string.
+
+2004-03-15 Ed Falis <falis@gnat.com>
+
+ * s-thread.adb: Removed, no longer used.
+
+2004-03-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (target.h): Now include.
+ (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
+ in new build_pointer_from_mode calls for non-fat/non-thin pointer.
+ (validate_size): For POINTER_TYPE, get smallest size permitted on
+ machine.
+
+ * fe.h: Sort Einfo decls and add Set_Mechanism.
+
+ * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
+ (ada/decl.o): Depends on target.h.
+
+ * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
+ FUNCTION_BOUNDARY; always use TYPE_ALIGN.
+
+2004-03-15 Thomas Quinot <quinot@act-europe.fr>
+
+ * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
+
+ * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
+ Insert_Dereference_Action when rewriting an implicit dereference into
+ an explicit one, this will be taken care of during expansion of the
+ explicit dereference.
+ (Expand_N_Slice): Same. Always do the rewriting, even for the case
+ of non-packed slices, since the dereference action generated by
+ expansion of the explicit dereference is needed in any case.
+ (Expand_N_Selected_Component): When rewriting an implicit dereference,
+ analyze and resolve the rewritten explicit dereference so it is seen
+ by the expander.
+ (Insert_Dereference_Action): This procedure is now called only for the
+ expansion of an N_Explcit_Dereference_Node. Do insert a check even for
+ dereferences that do not come from source (including explicit
+ dereferences resulting from rewriting implicit ones), but do not
+ recursively insert a check for the dereference nodes contained within
+ the check.
+ (Insert_Dereference_Action): Clarify and correct comment.
+
+2004-03-08 Paolo Bonzini <bonzini@gnu.org>
+
+ PR ada/14131
+ Move language detection to the top level.
+ * config-lang.in: Build by default.
+
+2004-03-05 Robert Dewar <dewar@gnat.com>
+
+ * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
+
+ * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
+ i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
+ 5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
+ 5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
+ unchecked conversion to spec to avoid warnings.
+
+ * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
+ to Task_ID
+
+ * 7stpopsp.adb: Correct casing in To_Task_ID call
+
+ * a-strsea.ads, a-strsea.adb: Minor reformatting
+
+ * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
+
+ * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
+ Adjust Max_Msg_Length to be clearly large enough.
+
+ * fe.h: Define In_Same_Source_Unit
+
+ * osint.adb: Add pragma Warnings Off to suppress warnings
+ * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
+ aliasing warnings.
+
+ * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
+
+ * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
+
+ * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
+
+ * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
+
+ * sem_prag.adb: Implement pragma No_Strict_Aliasing.
+
+ * sinfo.ads: Remove obsolete comment on validate unchecked conversion
+ node. We now do generate them for gcc back end.
+
+ * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
+ warning.
+
+ * sinput-c.adb: Fix bad name in header.
+ Add pragma Warnings Off to suppress aliasing warning.
+
+ * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
+
+ * snames.h, snames.ads, snames.adb: Add entry for pragma
+ No_Strict_Aliasing.
+
+2004-03-05 Vincent Celier <celier@gnat.com>
+
+ * prj-com.ads: Add hash table Files_Htable to check when a file name
+ is already a source of another project.
+
+ * prj-nmsc.adb (Record_Source): Before recording a new source, check
+ if its file name is not already a source of another project. Report an
+ error if it is.
+
+ * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
+ source file name, call gnatpp with all the sources of the main project.
+
+ * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
+ of file names.
+
+ * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
+ NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
+ /RUNTIME_SYSTEM=, converted to --RTS=
+ /NOTABS, converted to -notabs
+
+2004-03-05 Pascal Obry <obry@gnat.com>
+
+ * make.adb: Minor reformatting.
+
+2004-03-05 Ed Schonberg <schonberg@gnat.com>
+
+ Part of implemention of AI-262.
+ * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
+
+ * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
+ procedure.
+
+ * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
+ when component type is a partially constrained class-wide subtype.
+ (Constrain_Discriminated_Type): If parent type has unknown
+ discriminants, a constraint is illegal, even if full view has
+ discriminants.
+ (Build_Derived_Record_Type): Inherit discriminants when deriving a type
+ with unknown discriminants whose full view is a discriminated record.
+
+ * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
+ flag, to handle properly derivations of tagged types with unknown
+ discriminants.
+ (Analyze_Package_Spec, Analyze_Package_Body): Install
+ Private_With_Clauses before analyzing private part or body.
+
+ * einfo.ads: Indicate that both Has_Unknown_Discriminants and
+ Has_Discriminants can be true for a given type (documentation).
+
+2004-03-05 Arnaud Charlet <charlet@act-europe.fr>
+
+ * s-restri.ads: Fix license (GPL->GMGPL).
+
+ * s-tassta.adb: Minor reformatting.
+
+ * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
+ by calls to Exit_One_ATC_Level, since additional clean up is performed
+ by this function.
+
+ * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
+ by calls to Exit_One_ATC_Level, since additional clean up is performed
+ by this function.
+
+2004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c: Reflect GCC changes to fix bootstrap problem.
+ Add warning for suspicious aliasing unchecked conversion.
+
+2004-03-05 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-03-02 Emmanuel Briot <briot@act-europe.fr>
+
+ * ali.adb (Read_Instantiation_Instance): Do not modify the
+ current_file_num when reading information about instantiations, since
+ this corrupts files in later references.
+
+2004-03-02 Vincent Celier <celier@gnat.com>
+
+ * bcheck.adb (Check_Consistency): Get the full path of an ALI file
+ before checking if it is read-only.
+
+ * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
+ of SRC_DIRS and eliminate duplicates.
+
+ * gprcmd.adb: Replace command "path" with command "path_sep" to return
+ the path separator.
+ (Usage): Document path_sep
+
+ * Makefile.generic: For Ada and GNU C++ cases, link directly with the
+ C++ compiler. No need for a script.
+ Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
+ Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
+ subst.
+
+ * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
+ where there are Ada sources.
+ (Set_Ada_Paths): Only add to the include path the source dirs of project
+ with Ada sources.
+ (Add_To_Path): Add the Display_Values of the directories, not their
+ Values.
+
+ * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
+ data.
+
+ * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
+ is not No_Name.
+ (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
+ Value is canonicalized.
+ (Language_Independent_Check): Do not copy Value to Display_Value when
+ canonicalizing Value.
+
+ * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
+ path to find limited with cycles.
+ (Parse_Single_Project): Use canonical cased path to find the end of a
+ with cycle.
+
+2004-03-02 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
+ and not a child unit.
+
+ * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
+ appear in a with_clause.
+
+ * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
+ only happen in type_annotate mode, do not try to elaborate it.
+
+ * exp_util.adb (Force_Evaluation): If expression is a selected
+ component on the left of an assignment, use a renaming rather than a
+ temporary to remove side effects.
+
+ * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
+ inlined instance body, which is analyzed before the end of the
+ enclosing scope.
+
+2004-03-02 Robert Dewar <dewar@gnat.com>
+
+ * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
+ sem_ch4.adb: Use new feature for substitution of keywords in VMS
+
+ * errout.ads, errout.adb: Implement new circuit for substitution of
+ keywords in VMS.
+
+ * sem_case.adb (Analyze_Choices): Place message properly when case is
+ a subtype reference rather than an explicit range.
+
+ * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
+
+2004-03-02 Doug Rupp <rupp@gnat.com>
+
+ * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
+
+2004-03-02 Thomas Quinot <quinot@act-europe.fr>
+
+ * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
+
+2004-03-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
+ BLKmode bitfield.
+
+2004-02-25 Robert Dewar <dewar@gnat.com>
+
+ * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
+ 55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
+ 5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
+ 5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
+ 5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
+ 5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
+ the defining instance of the type to avoid aliasing problems.
+ Fix copyright header. Fix bad comments in package header.
+
+ * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
+
+2004-02-25 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch2.adb (Param_Entity): Handle properly formals that have been
+ rewritten as references when aliased through an address clause.
+
+ * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
+ whether call can be interpreted as an indirect call to the result of a
+ parameterless function call returning an access subprogram.
+
+2004-02-25 Arnaud Charlet <charlet@act-europe.fr>
+
+ Code clean up:
+ * exp_ch7.adb (Make_Clean): Remove generation of calls to
+ Unlock[_Entries], since this is now done by Service_Entries directly.
+
+ * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
+
+ * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
+ Requeue_Call for better code readability. Change spec and update calls:
+ PO_Service_Entries now unlock the PO on exit.
+ (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
+ PO_Service_Entries.
+
+ * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
+
+ * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
+
+2004-02-25 Sergey Rybin <rybin@act-europe.fr>
+
+ * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
+ protected subprogram call and analyzing the result of such expanding
+ in case when the called protected subprogram is eliminated.
+
+ * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
+ names.
+
+2004-02-25 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in: Clean ups.
+
+2004-02-23 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
+ protected operations if original subprogram is flagged as eliminated.
+ (Expand_N_Subprogram_Body): For a protected operation, create
+ discriminals for next operation before checking whether the operation
+ is eliminated.
+
+ * exp_ch9.adb (Expand_N_Protected_Body,
+ Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
+ for internal protected operations if the original subprogram is
+ eliminated.
+
+ * sem_elim.adb (Check_Eliminated): Handle properly protected operations
+ declared in a single protected object.
+
+2004-02-23 Vincent Celier <celier@gnat.com>
+
+ * prj-attr.adb: Make attribute Builder'Executable an associative array,
+ case insensitive if file names are case insensitive, instead of a
+ standard associative array.
+
+ * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
+ them as case insensitive on platforms where the file names are case
+ sensitive.
+
+ * prj-part.adb (Parse_Single_Project): Make sure, when checking if
+ project file has already been parsed that canonical path are compared.
+
+2004-02-23 Robert Dewar <dewar@gnat.com>
+
+ * sinput-c.ads: Correct bad unit title in header
+
+ * freeze.adb: Minor reformatting
+
+2004-02-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (tree_transform, case N_Procedure_Call_Statement): For
+ nonaddressable COMPONENT_REF that is removing padding that we are
+ taking the address of, take the address of the padded record instead
+ if item is variable size.
+
+2004-02-20 Robert Dewar <dewar@gnat.com>
+
+ * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
+
+2004-02-20 Ed Schonberg <schonberg@gnat.com>
+
+ * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
+ itype references for the constrained designated type of a component
+ whose base type is already frozen.
+
+2004-02-20 Arnaud Charlet <charlet@act-europe.fr>
+
+ * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
+ avoid GCC warnings.
+
+2004-02-20 Sergey Rybin <rybin@act-europe.fr>
+
+ * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
+ identifier for a phantom package that rewrites the formal package
+ declaration with a box. The Add semantic decorations for the defining
+ identifier from the original node (that represents the formal package).
+
+2004-02-19 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * Make-lang.in (ada/stamp-sdefault): Use the top level
+ move-if-change.
+
+2004-02-19 Richard Henderson <rth@redhat.com>
+
+ * misc.c (record_code_position): Add third build arg for RTL_EXPR.
+
+2004-02-18 Emmanuel Briot <briot@act-europe.fr>
+
+ * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
+ Scan_ALI can be used for multiple ALI files without reinitializing
+ between calls.
+
+2004-02-18 Robert Dewar <dewar@gnat.com>
+
+ * debug.adb: Minor reformatting.
+
+2004-02-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
+ to zero if there is an address clause.
+
+2004-02-18 Thomas Quinot <quinot@act-europe.fr>
+
+ * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
+
+2004-02-18 Gary Dismukes <dismukes@gnat.com>
+
+ * layout.adb (Layout_Component_List): Revise generation of call to
+ discriminant-checking function to pass selections of all of the type's
+ discriminants rather than just the variant-controlling discriminant.
+
+2004-02-18 Olivier Hainque <hainque@act-europe.fr>
+
+ * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
+ fail in the current setup and triggers spurious system error messages.
+ Pretend it occurred and failed instead.
+
+2004-02-18 Vincent Celier <celier@gnat.com>
+
+ * bld.adb: Mark FLDFLAGS as saved
+ (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
+ it is not the root project. Put each directory to be
+ extended between double quotes to prevent it to be expanded on Windows.
+ (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
+ the project file. Set them back to their initial values if they have not
+ been set in the project file.
+
+ * gprcmd.adb: (Gprdebug, Debug): New global variables
+ (Display_Command): New procedure
+ (Usage): Document new command "linkopts"
+ Call Display_Command when env var GPRDEBUG has the value "TRUE"
+ Implement new command "linkopts"
+ Remove quotes that may be around arguments for "extend"
+ Always call Normalize_Pathname with arguments formatted for the platform
+
+ * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
+ Change @echo to @$(display) in target clean to be able to clean silently
+
+ * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
+
+ * prj-part.adb (Project_Path_Name_Of): Do not put final result in
+ canonical case.
+
+ * prj-part.adb (Parse_Single_Project): Always call with From_Extended
+ = Extending_All when current project is an extending all project.
+
+ * vms_conv.adb (Output_File_Expected): New Boolean global variable,
+ set to True only for LINK command, after Unix switch -o.
+ (Process_Arguments): Set Output_File_Expected to True for LINK command
+ after Unix switch -o. When Output_File_Expected is True, never add an
+ extension to a file name.
+
+ * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
+ option file name, only to the --for-linker= switch.
+ (Option_File_Name): If option file name do not end with ".opt", append
+ "/OPTIONS".
+
+2004-02-18 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-02-17 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * Make-lang.in (stamp-sdefault): Do not depend on
+ move-if-change.
+
+2004-02-12 Zack Weinberg <zack@codesourcery.com>
+
+ * config-lang.in: Disable Ada by default until probe logic for
+ a bootstrap Ada compiler can be moved to the top level configure
+ script.
+
+2004-02-12 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (components_to_record): Don't claim that the internal fields
+ we make to hold the variant parts are semantically addressable, because
+ they are not.
+
+ * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
+ adjust the comment describing the modular type form when we can use it.
+ (Install_PAT): Account for the Esiz renaming.
+
+ * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
+ sc_onstack context indication before raising the exception to which
+ the signal is mapped. Allows better handling of later signals possibly
+ triggered by the resumed user code if the exception is handled.
+
+2004-02-12 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 5zinit.adb: Removed, no longer used.
+
+2004-02-12 Robert Dewar <dewar@gnat.com>
+
+ * ali.adb: Remove separating space between parameters on R line. Makes
+ format consistent with format used by the binder for Set_Globals call.
+
+ * atree.ads, atree.adb: Minor reformatting (new function header format)
+
+ * bindgen.adb: Add Run-Time Globals documentation section containing
+ detailed documentation of the globals passed from the binder file to
+ the run time.
+
+ * gnatls.adb: Minor reformatting
+
+ * init.c (__gnat_set_globals): Add note pointing to documentation in
+ bindgen.
+
+ * lib-writ.ads, lib-writ.adb: Remove separating space between
+ parameters on R line.
+ Makes format consistent with format used by the binder for Set_Globals
+ call.
+
+ * osint.ads: Add 2004 to copyright notice
+ Minor reformatting
+
+ * snames.ads: Correct capitalization of FIFO_Within_Priorities
+ Noticed during code reading, documentation issue only
+
+ * usage.adb: Remove junk line for obsolete C switch
+ Noticed during code reading
+
+2004-02-12 Vincent Celier <celier@gnat.com>
+
+ * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
+ extend for each directory, so that multiple /** directories are
+ extended individually.
+ (Recursive_Process): Set the default for LANGUAGES to ada
+
+ * gprcmd.adb: Define new command "ignore", to do nothing.
+ Implement new comment "path".
+
+ * Makefile.generic: Suppress output when SILENT is set
+ Make sure that when compiler for C/C++ is gcc, the correct -x switch is
+ used, so that the correct compiler is invoked.
+ When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
+ CXX_INCLUDE_PATH, to avoid failure with too long command lines.
+
+2004-02-12 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in: Clean ups and remove obsolete targets.
+
+2004-02-12 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
+ predicate declared in exp_util.
+
+ * exp_util.adb: Add comments.
+
+ * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
+ visibility before compiling context of the subunit.
+
+ * sem_res.adb (Check_Parameterless_Call): If the context expects a
+ value but the name is a procedure, do not attempt to analyze as a call,
+ in order to obtain more telling diagnostics.
+
+ * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
+ 'Access on parameterless function calls.
+ (Normalize_Actuals): For a parameterless function call with missing
+ actuals, defer diagnostic until resolution of enclosing call.
+
+ * sem_util.adb (Wrong_Type): If the context type is an access to
+ subprogram and the expression is a procedure name, suggest a missing
+ 'attribute.
+
+2004-02-10 Arnaud Charlet <charlet@act-europe.fr>,
+ Nathanael Nerode <neroden@gcc.gnu.org>
+
+ PR ada/6637
+ PR ada/5911
+ Merge with libada-branch:
+ * config-lang.in: Build libada only when ada is built.
+
+2004-02-09 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
+ for a tagged type, verify that both formals have the same type.
+
+ * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
+ temporary when the formal is an in-parameter and the actual a possibly
+ unaligned slice.
+
+ * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
+ when expansion is disabled, to ensure proper name capture with
+ overloaded literals. Condition can be of any boolean type, resolve
+ accordingly.
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
+ renaming is for a formal subprogram with a default operator name, and
+ there is a usable operator that is visible at the point of
+ instantiation.
+
+2004-02-09 Robert Dewar <dewar@gnat.com>
+
+ * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
+ rewrite to ignore errors in ali files, intended to allow tools downward
+ compatibility with new versions of ali files.
+
+ * ali.ads: Add new parameter Ignore_Errors
+
+ * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
+ duplicating the error message giving the file with restrictions.
+
+ * debug.adb: Add debug flag I for gnatbind
+
+ * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
+ operators for the case where the operator is a defining operator.
+
+ * exp_ch3.adb: Minor reformatting (new function spec format).
+
+ * exp_ch4.adb: Add comment for previous change, and make minor
+ adjustment to loop to always check for improper loop termination.
+ Minor reformatting throughout (new function spec format).
+
+ * gnatbind.adb: Implement -di debug flag for gnatbind
+
+ * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
+
+ * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
+
+ * lib-load.adb: Fix bad assertion.
+ Found by testing and code reading.
+ Minor reformatting.
+
+ * lib-load.ads: Minor reformatting.
+
+ * lib-writ.adb: There is only one R line now.
+
+ * lib-writ.ads: Add documentation on making downward compatible changes
+ to ali files so old tools work with new ali files.
+ There is only one R line now.
+ Add documentation on format incompatibilities (with special GPS note)
+
+ * namet.ads, namet.adb: (Is_Operator_Name): New procedure
+
+ * par-load.adb: Minor reformatting
+
+ * sem_ch8.adb: Fix to error message from last update
+ Minor reformatting and restructuring of code from last update
+
+ * par-prag.adb, snames.adb, snames.ads, snames.h,
+ sem_prag.adb: Implement pragma Profile.
+
+ * stylesw.adb: Implement -gnatyN switch to turn off all style check
+ options.
+
+ * usage.adb: Add line for -gnatyN switch
+
+ * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
+
+2004-02-09 Albert Lee <lee@gnat.com>
+
+ * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
+
+2004-02-09 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
+ slices.
+
+ * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
+ is nested in an instance that is not frozen yet, to avoid
+ order-of-elaboration problems in gigi.
+
+ * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
+ body the attribute is legal.
+
+2004-02-09 Robert Dewar <dewar@gnat.com>
+
+ * s-rident.ads: Minor comment correction
+
+ * targparm.adb: Remove dependence on uintp completely. There was
+ always a bug in Make in that it called Targparm before initializing
+ the Uint package. The old code appeared to get away with this, but
+ the new code did not! This caused an assertion error in gnatmake.
+
+ * targparm.ads: Fix bad comment, restriction pragmas with parameters
+ are indeed fully supported.
+
+2004-02-06 Alan Modra <amodra@bigpond.net.au>
+
+ * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
+
+2004-02-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
+ with targetm.calls.promote_prototypes.
+
+2004-02-04 Robert Dewar <dewar@gnat.com>
+
+ * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
+ ali.ads, gprcmd.adb: Minor reformatting
+
+ * bindgen.adb: Output restrictions string for new style restrictions
+ handling
+
+ * impunit.adb: Add s-rident.ads (System.Rident) and
+ s-restri (System.Restrictions)
+
+ * lib-writ.adb: Fix bug in writing restrictions string (last few
+ entries wrong)
+
+ * s-restri.ads, s-restri.adb: Change name Restrictions to
+ Run_Time_Restrictions to avoid conflict with package name.
+ Add circuit to read and acquire run time restrictions.
+
+2004-02-04 Jose Ruiz <ruiz@act-europe.fr>
+
+ * restrict.ads, restrict.adb: Use the new restriction
+ No_Task_Attributes_Package instead of the old No_Task_Attributes.
+
+ * sem_prag.adb: No_Task_Attributes is a synonym of
+ No_Task_Attributes_Package.
+
+ * snames.ads, snames.adb: New entry for proper handling of
+ No_Task_Attributes.
+
+ * s-rident.ads: Adding restriction No_Task_Attributes_Package
+ (AI-00249) that supersedes the GNAT specific restriction
+ No_Task_Attributes.
+
+2004-02-04 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_prag.adb:
+ (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
+ body, an identifier may be wrapped in an unchecked conversion.
+
+2004-02-04 Vincent Celier <celier@gnat.com>
+
+ * lib-writ.ads: Comment update for the W lines
+
+ * bld.adb: (Expression): An empty string list is static
+
+ * fname-uf.adb: Minor comment update
+
+ * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
+
+ * gnatbind.adb: Initialize Cumulative_Restrictions with the
+ restrictions on the target.
+
+2004-02-03 Kazu Hirata <kazu@cs.umass.edu>
+
+ * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
+ gen_rtx.
+
+2004-02-02 Arnaud Charlet <charlet@gnat.com>
+
+ * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
+
+2004-02-02 Vincent Celier <celier@gnat.com>
+
+ * gprcmd.adb (Check_Args): If condition is false, print the invoked
+ comment before the usage.
+ Gprcmd: Fail when command is not recognized.
+ (Usage): Document command "prefix"
+
+ * g-md5.adb (Digest): Process last block.
+ (Update): Do not process last block. Store remaining characters and
+ length in Context.
+
+ * g-md5.ads (Update): Document that several call to update are
+ equivalent to one call with the concatenated string.
+ (Context): Add fields to allow new Update behaviour.
+
+ * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
+ defaulted to False.
+ When May_Fail is True and no existing file can be found, return No_File.
+
+ * 6vcstrea.adb: Inlined functions are now wrappers to implementation
+ functions.
+
+ * lib-writ.adb (Write_With_Lines): When body file does not exist, use
+ spec file name instead on the W line.
+
+2004-02-02 Robert Dewar <dewar@gnat.com>
+
+ * ali.adb: Read and acquire info from new format restrictions lines
+
+ * bcheck.adb: Add circuits for checking restrictions with parameters
+
+ * bindgen.adb: Output dummy restrictions data
+ To be changed later
+
+ * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
+ exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
+ freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
+ sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
+ sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
+
+ * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
+ the warning message on access to possibly uninitialized variable S)
+ Minor changes for new restrictions handling.
+
+ * gnatbind.adb: Minor reformatting
+ Minor changes for new restrictions handling
+ Move circuit for -r processing here from bcheck (cleaner)
+
+ * gnatcmd.adb, gnatlink.adb: Minor reformatting
+
+ * lib-writ.adb: Output new format restrictions lines
+
+ * lib-writ.ads: Document new R format lines for new restrictions
+ handling.
+
+ * s-restri.ads/adb: New files
+
+ * Makefile.rtl: Add entry for s-restri.ads/adb
+
+ * par-ch3.adb: Fix bad error messages starting with upper case letter
+ Minor reformatting
+
+ * restrict.adb: Major rewrite throughout for new restrictions handling
+ Major point is to handle restrictions with parameters
+
+ * restrict.ads: Major changes in interface to handle restrictions with
+ parameters. Also generally simplifies setting of restrictions.
+
+ * snames.ads/adb: New entry for proper handling of No_Requeue
+
+ * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
+ restriction counting.
+ Other minor changes for new restrictions handling
+
+ * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
+ Restriction_Warnings now allows full parameter notation
+ Major rewrite of Restrictions for new restrictions handling
+
+2004-02-02 Javier Miranda <miranda@gnat.com>
+
+ * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
+ syntax rule for object renaming declarations.
+ (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
+ component definitions.
+
+ * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
+ components.
+ (Array_Type_Declaration): Give support to access components. In addition
+ it was also modified to reflect the name of the object in anonymous
+ array types. The old code did not take into account that it is possible
+ to have an unconstrained anonymous array with an initial value.
+ (Check_Or_Process_Discriminants): Allow access discriminant in
+ non-limited types.
+ (Process_Discriminants): Allow access discriminant in non-limited types
+ Initialize the new Access_Definition field in N_Object_Renaming_Decl
+ node. Change Ada0Y to Ada 0Y in comments
+
+ * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
+ equality operators.
+ Change Ada0Y to Ada 0Y in comments
+
+ * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
+ renamings Change Ada0Y to Ada 0Y in comments
+
+ * sem_type.adb (Find_Unique_Type): Give support to the equality
+ operators for universal access types
+ Change Ada0Y to Ada 0Y in comments
+
+ * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
+
+ * sinfo.ads (N_Component_Definition): Addition of Access_Definition
+ field.
+ (N_Object_Renaming_Declaration): Addition of Access_Definition field
+ Change Ada0Y to Ada 0Y in comments
+
+ * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
+ component definition and object renaming nodes
+ Change Ada0Y to Ada 0Y in comments
+
+2004-02-02 Jose Ruiz <ruiz@act-europe.fr>
+
+ * restrict.adb: Use the new restriction identifier
+ No_Requeue_Statements instead of the old No_Requeue for defining the
+ restricted profile.
+
+ * sem_ch9.adb (Analyze_Requeue): Check the new restriction
+ No_Requeue_Statements.
+
+ * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
+ that supersedes the GNAT specific restriction No_Requeue. The later is
+ kept for backward compatibility.
+
+2004-02-02 Ed Schonberg <schonberg@gnat.com>
+
+ * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
+ 5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
+ pragma and fix incorrect ones.
+
+ * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
+ warning if the pragma is redundant.
+
+2004-02-02 Thomas Quinot <quinot@act-europe.fr>
+
+ * 5staprop.adb: Add missing 'constant' keywords.
+
+ * Makefile.in: use consistent value for SYMLIB on
+ platforms where libaddr2line is supported.
+
+2004-02-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * utils.c (end_subprog_body): Do not call rest_of_compilation if just
+ annotating types.
+
+2004-02-02 Olivier Hainque <hainque@act-europe.fr>
+
+ * init.c (__gnat_install_handler): Setup an alternate stack for signal
+ handlers in the environment thread. This allows proper propagation of
+ an exception on stack overflows in this thread even when the builtin
+ ABI stack-checking scheme is used without support for a stack reserve
+ region.
+
+ * utils.c (create_field_decl): Augment the head comment about bitfield
+ creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
+ here, because the former is not accurate enough at this point.
+ Let finish_record_type decide instead.
+ Don't make a bitfield if the field is to be addressable.
+ Always set a size for the field if the record is packed, to ensure the
+ checks for bitfield creation are triggered.
+ (finish_record_type): During last pass over the fields, clear
+ DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
+ not covered by the calls to layout_decl. Adjust DECL_NONADDRESSABLE_P
+ from DECL_BIT_FIELD.
+
+2004-01-30 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
+ (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
+ (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
+
+2004-01-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
+
+ * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
+ (ZCX_By_Default): Likewise.
+ (Front_End_ZCX_Support): Likewise.
+
+ * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
+ (Initialize_Lock): Mark Level unreferenced.
+ (Sleep): Mark Reason unreferenced.
+ (Timed_Sleep): Likewise.
+ (Wakeup): Likewise.
+ (Exit_Task): Use Result.
+ (Check_No_Locks): Mark Self_ID unreferenced.
+
+ * 5gtasinf.adb (New_Sproc): Make Attr constant.
+ (Bound_Thread_Attributes): Make Sproc constant.
+ (New_Bound_Thread_Attributes): Likewise.
+
+2004-01-26 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
+ one-dimensional array an slice assignments, when component type is
+ controlled.
+
+ * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
+ component type is controlled, and control_actions are in effect, use
+ TSS procedure rather than generating inline code.
+
+ * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
+ arrays with controlled components.
+
+2004-01-26 Vincent Celier <celier@gnat.com>
+
+ * gnatcmd.adb (GNATCmd): Add specification of argument file on the
+ command line for the non VMS case.
+
+ * gnatlink.adb (Process_Binder_File): When building object file, if
+ GNU linker is used, put all object paths between quotes, to prevent ld
+ error when there are unusual characters (such as '!') in the paths.
+
+ * Makefile.generic: When there are sources in Ada and the main is in
+ C/C++, invoke gnatmake with -B, instead of -z.
+
+ * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
+ from VMS_Conversion.
+ (Process_Argument): New procedure, extracted from VMS_Conversion. Add
+ specification of argument file on the command line.
+
+2004-01-26 Bernard Banner <banner@gnat.com>
+
+ * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
+
+2004-01-26 Ed Schonberg <schonberg@gnat.com>
+
+ * snames.adb: Update copyright notice.
+ Add info on slice assignment for controlled arrays.
+
+2004-01-23 Robert Dewar <dewar@gnat.com>
+
+ * exp_aggr.adb: Minor reformatting
+
+ * exp_ch9.adb: Minor code clean up
+ Minor reformatting
+ Fix bad character in comment
+
+ PR ada/13471
+ * targparm.adb (Get_Target_Parameters): Give clean abort error on
+ unexpected end of file, along with more detailed message.
+
+2004-01-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
+ PAT.
+
+ * decl.c (copy_alias_set): New function.
+ (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
+
+2004-01-23 Doug Rupp <rupp@gnat.com>
+
+ * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
+ lib$${file} in case subsequent character is not a separator.
+
+2004-01-23 Vincent Celier <celier@gnat.com>
+
+ * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
+ when the GCC version is at least 3.
+
+ * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
+ Remove all "Opt.", to prepare for opt split
+
+ * prj-part.adb (Parse_Single_Project): New Boolean out parameter
+ Extends_All. Set to True when the project parsed is an extending all
+ project. Fails for importing an extending all project only when the
+ imported project is an extending all project.
+ (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
+ depending on the value of Extends_All returned.
+
+ * prj-proc.adb (Process): Check that no project shares its object
+ directory with a project that extends it, directly or indirectly,
+ including a virtual project.
+ Check that no project extended by another project shares its object
+ directory with another also extended project.
+
+ * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
+ Kind = N_With_Clause
+
+ * prj-tree.ads: Minor reformatting
+ Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
+
+2004-01-23 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
+ applies to a type with an incomplete view, use full view in Name of
+ clause, for consistency with uses of Get_Attribute_Definition_Clause.
+
+2004-01-23 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
+ SCHED_RR, since other values are not supported by this policy.
+ (Initialize): Move initialization of mutex attribute to package
+ elaboration, to prevent early access to this variable.
+
+ * Makefile.in: Remove mention of Makefile.adalib, unused.
+
+ * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
+ 1ssecsta.ads: Removed, unused.
+
+2004-01-21 Javier Miranda <miranda@gnat.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
+ entity if already built in the current scope.
+
+ * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
+ reminder in internal scopes. Required for nested limited aggregates.
+
+2004-01-21 Doug Rupp <rupp@gnat.com>
+
+ * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
+ VMS. Replace all occurences of libgnat- and libgnarl- with
+ libgnat$(hyphen) and libgnarl$(hyphen).
+ Fixed shared library build problem on VMS.
+
+2004-01-21 Robert Dewar <dewar@gnat.com>
+
+ * mlib-prj.adb: Minor reformatting
+
+2004-01-21 Thomas Quinot <quinot@act-europe.fr>
+
+ * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
+ 'constant' keywords for declaration of pointers that are not modified.
+
+ * exp_pakd.adb: Fix English in comment.
+
+2004-01-21 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/10889
+ * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
+ copy all attributes of the parent, including the foreign language
+ convention.
+
+2004-01-21 Sergey Rybin <rybin@act-europe.fr>
+
+ PR ada/10565
+ * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
+ for 'delay until' statement.
+
+2004-01-20 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in: Replace $(docdir) with doc.
+ (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
+ doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
+ to use consistent MAKEINFO rule.
+ (ada.man, ada.srcman): Dummy entry.
+ (ADA_INFOFILES): Define.
+ (ada.info, ada.srcinfo): New rules.
+
+2004-01-19 Arnaud Charlet <charlet@act-europe.fr>
+
+ * utils.c: Update copyright notice, missed in previous change.
+
+2004-01-19 Vincent Celier <celier@gnat.com>
+
+ * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
+ args if Bind is True. Set First_ALI, if not already done.
+ (Build_Library): For Stand Alone Libraries, extract from one ALI file
+ an eventual --RTS switch, for gnatbind, and all backend switches +
+ --RTS, for linking.
+
+2004-01-19 Robert Dewar <dewar@gnat.com>
+
+ * sem_attr.adb, memtrack.adb: Minor reformatting
+
+2004-01-19 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
+ that rename enumeration literals. This is properly done in sem_eval.
+
+ * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
+ to functions that rename enumeration literals.
+
+ * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
+ functions that rename enumeration literals.
+
+2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
+
+ * Make-lang.in (utils.o): Depend on target.h.
+ * utils.c: Include target.h.
+ (process_attributes): Use targetm.have_named_sections instead
+ of ASM_OUTPUT_SECTION_NAME.
+
+2004-01-16 Andreas Jaeger <aj@suse.de>
+
+ * Makefile.in: Add $(DESTDIR).
+
+2004-01-15 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
+ also when not defining if a Size clause applies. That information is
+ not to be ignored.
+
+2004-01-15 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
+ symbolic links for the shared gnat run time when needed.
+
+2004-01-15 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
+ for writing, and terminate with an error message if not.
+
+2004-01-15 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
+ warning on an access to subprogram in an instance, when the target
+ type is declared in the same generic unit.
+ (Eval_Attribute): If 'access is known to fail accessibility check,
+ rewrite as a raise statement.
+
+2004-01-15 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in (ada.srcextra): Dummy entry.
+
+2004-01-14 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
+
+2004-01-13 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
+ components that are initialized with aggregates.
+
+2004-01-13 Vincent Celier <celier@gnat.com>
+
+ * gnatlink.adb (Process_Binder_File): To find directory of shared
+ libgcc, if "gcc-lib" is not a subdirectory, look for the last
+ subdirectory "lib" in the path of the shared libgnat or libgnarl.
+
+ * make.adb (Gnatmake): If GCC version is at least 3, link with
+ -shared-libgcc, when there is at least one shared library project.
+
+ * opt.ads (GCC_Version): New integer constant.
+
+ * adaint.c (get_gcc_version): New function.
+
+2004-01-13 Robert Dewar <dewar@gnat.com>
+
+ * sem_dist.adb, sem_res.adb, sem_util.adb,
+ sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
+ exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
+
+2004-01-13 Thomas Quinot <quinot@act-europe.fr>
+
+ * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
+ g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
+ declarations.
+
+2004-01-12 Arnaud Charlet <charlet@act-europe.fr>
+
+ * misc.c: Remove trailing spaces.
+ Update copyright notice missed in previous change.
+
+ PR ada/13572
+ * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
+ prefix/share/make
+
+ * Makefile.generic: Update copyright.
+ Add license notice.
+
+ * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
+ of prefix/share/make.
+
+ * Makefile.prolog: Update copyright.
+ Add license notice.
+
+2004-01-12 Laurent Pautet <pautet@act-europe.fr>
+
+ * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
+ 3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
+ g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
+ instead of String.
+
+ * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
+ signature.
+
+2004-01-12 Javier Miranda <miranda@gnat.com>
+
+ * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
+ exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
+ sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
+ sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
+ Component_Definition node.
+
+2004-01-12 Ed Falis <falis@gnat.com>
+
+ * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
+
+2004-01-12 Thomas Quinot <quinot@act-europe.fr>
+
+ * link.c: Change default libgnat kind to STATIC for FreeBSD.
+
+2004-01-12 Bernard Banner <banner@gnat.com>
+
+ * Makefile.in: map 86numaux to a-numaux for x86_64
+
+2004-01-12 Ed Schonberg <schonberg@gnat.com>
+
+ * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
+ generated to rename a generic actual, go to the actual itself, the
+ subtype is not a user-visible entity.
+
+ * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
+ part is a private subtype, reset the visibility of its full view, if
+ any, to be consistent.
+
+ PR ada/13417
+ * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
+ to use a generic package G as a formal package for another generic
+ declared within G.
+
+2004-01-12 Robert Dewar <dewar@gnat.com>
+
+ * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
+
+ * usage.adb: Remove mention of obsolete -gnatwb switch
+ Noticed during code reading
+
+2004-01-12 Jerome Guitton <guitton@act-europe.fr>
+
+ * 1ssecsta.adb: Minor changes for -gnatwa warnings
+
+2004-01-12 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-01-09 Mark Mitchell <mark@codesourcery.com>
+
+ * misc.c (gnat_expand_expr): Add alt_rtl parameter.
+
+2004-01-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * link.c [sgi] (shared_libgnat_default): Change to STATIC.
+
+2004-01-05 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
+ Update comment and copyright date.
+ * stamp-xgnatug: Delete.
+
+2004-01-05 Robert Dewar <dewar@gnat.com>
+
+ * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
+ be modified by the binder generated main program if the -D switch is
+ used.
+
+ * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
+ imported functions (since now we expect this to be done for imported
+ functions)
+
+ * 5vtaprop.adb: Add several ??? for sections requiring more comments
+ Minor reformatting throughout
+
+ * 5zinit.adb: Minor reformatting
+ Add 2004 to copyright date
+ Minor changes to avoid -gnatwa warnings
+ Correct some instances of using OR instead of OR ELSE (noted while
+ doing reformatting)
+
+ * sprint.adb: Minor updates to avoid -gnatwa warnings
+
+ * s-secsta.ads, s-secsta.adb:
+ (SS_Get_Max): New function to obtain high water mark for ss stack
+ Default_Secondary_Stack is not a constant since it may be modified by
+ the binder generated main program if the -D switch is used.
+
+ * switch-b.adb: New -Dnnn switch for binder
+
+ * switch-c.adb:
+ Make -gnatg imply all warnings currently in -gnatwa
+
+ * vms_conv.adb: Minor reformatting
+ Add 2004 to copyright notice
+ Add 2004 to printed copyright notice
+
+ * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
+ 3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
+ 5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
+ 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
+ 5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
+ 5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
+ 5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
+ 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
+ 5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
+ 5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
+ 6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
+ vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
+ xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
+ sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
+ checks.adb, clean.adb, cstand.adb, einfo.ads,
+ einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
+ exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
+ prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
+ sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
+ g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
+ lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
+ Minor reformatting and code clean ups.
+ Minor changes to prevent -gnatwa warnings
+
+ * ali.adb: Minor reformatting and cleanup of code
+ Acquire new SS indication of secondary stack use from ali files
+
+ * a-numaux.ads: Add Pure_Function pragmas for all imported functions
+ (since now we expect this to be done for imported functions)
+
+ * bindgen.adb: Generate call to modify default secondary stack size if
+ -Dnnn switch given
+
+ * bindusg.adb: Add line for new -D switch
+
+ * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
+ replacement name for Type_May_Have_Non_Bit_Aligned_Components!
+ Add circuitry for both records and arrays to avoid gigi
+ processing if the type involved has non-bit-aligned components
+
+ * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
+ N_String_Literal node always references an E_String_Literal_Subtype
+ entity. This may not be true in the future.
+ (Possible_Bit_Aligned_Component): Move processing of
+ Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
+
+ * exp_ch6.adb (Expand_Thread_Body): Pick up
+ Default_Secondary_Stack_Size as variable so that we get value modified
+ by possible -Dnnn binder parameter.
+
+ * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
+ (Type_May_Have_Bit_Aligned_Components): New function.
+
+ * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
+ (Type_May_Have_Bit_Aligned_Components): New function.
+
+ * fe.h: (Set_Identifier_Casing): Fix prototype.
+ Add declaration for Sem_Elim.Eliminate_Error_Msg.
+ Minor reformatting.
+
+ * freeze.adb (Freeze_Entity): Add RM reference to error message about
+ importing constant atomic/volatile objects.
+ (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
+ unless explicit Pure_Function pragma given, to avoid insidious bug of
+ call to non-pure imported function getting eliminated.
+
+ * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
+ gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
+ gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
+ Add 2004 to printed copyright notice
+
+ * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
+ stack used.
+
+ * Makefile.rtl: Add entry for g-sestin.o
+ g-sestin.ads: New file.
+
+ * mdll.adb: Minor changes to avoid -gnatwa warnings
+
+ * mlib-tgt.adb: Minor reformatting
+
+ * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
+ New switch Sec_Stack_Used (GNAT, GNATBIND)
+ Make Default_Secondary_Stack_Size a variable instead of a constant,
+ so that it can be modified by the new -Dnnn bind switch.
+
+ * rtsfind.adb (Load_Fail): Give full error message in configurable
+ run-time mode if all_errors mode is set. This was not done in the case
+ of a file not found, which was an oversight.
+ Note if secondary stack unit is used by compiler.
+
+ * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
+ ineffective elaborate all pragmas on non-visible packages (this
+ happened when a renamed subprogram was called). Now the elaborate all
+ always goes on the package containing the renaming rather than the one
+ containing the renamed subprogram.
+
+ * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
+ (Process_Eliminate_Pragma): Add parameter to capture pragma location.
+
+ * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
+ has an Etype that references an E_String_Literal.
+ (Eval_String_Literal): Avoid assumption that N_String_Literal node
+ always references an E_String_Literal_Subtype entity. This may not
+ be true in the future.
+
+ * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
+ pragma location.
+
+ * sem_res.adb (Resolve): Specialize msg for function name used in proc
+ call.
+
+2004-01-05 Ed Falis <falis@gnat.com>
+
+ * g-debuti.adb: Replaced direct boolean operator with short-circuit
+ form.
+
+2004-01-05 Vincent Celier <celier@gnat.com>
+
+ * bld.adb: Minor comment updates
+ (Process_Declarative_Items): Correct incorrect name (Index_Name instead
+ of Item_Name).
+
+ * make.adb (Gnatmake): Special process for files to compile/check when
+ -B is specified. Fail when there are only foreign mains in attribute
+ Main of the project file and -B is not specified. Do not skip bind/link
+ steps when -B is specified.
+
+ * makeusg.adb: Document new switch -B
+
+ * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
+
+ * switch-m.adb: (Scan_Make_Switches): Process -B switch
+
+ * vms_data.ads: Add new GNAT PRETTY qualifier
+ /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
+
+2004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
+ case.
+
+ * misc.c (gnat_printable_name): If VERBOSITY is 2, call
+ Set_Identifier_Casing.
+
+ * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
+ has size that overflows.
+
+2004-01-05 Gary Dismukes <dismukes@gnat.com>
+
+ * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
+ -gnatwa warning on static condition.
+
+2004-01-05 Doug Rupp <rupp@gnat.com>
+
+ * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
+
+2004-01-05 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
+ all attributes, including read-only attribute.
+
+2004-01-05 Pascal Obry <obry@gnat.com>
+
+ * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
+ library naming scheme.
+
+ * mlib-prj.adb (Build_Library): Generate different names for the static
+ or dynamic version of the GNAT runtime. This is needed to support the
+ new shared library naming scheme.
+ (Process_Binder_File): Add detection of shared library in binder file
+ based on the new naming scheme.
+
+ * gnatlink.adb (Process_Binder_File): Properly detect the new naming
+ scheme for the shared runtime libraries.
+
+ * Makefile.in:
+ (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
+ scheme.
+ (install-gnatlib): Do not create symlinks for shared libraries.
+ (gnatlib-shared-default): Idem.
+ (gnatlib-shared-dual-win32): New target. Not used for now as the
+ auto-import feature does not support arrays/records.
+ (gnatlib-shared-win32): Do not create copy for the shared libraries.
+ (gnatlib-shared-vms): Fix shared runtime libraries names.
+
+ * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
+ dependent runtime shared library name.
+
+2004-01-05 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
+ than the object.
+
+2004-01-05 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
+ protected objects when allocator has a subtype indication, not a
+ qualified expression. Note that qualified expressions may have to be
+ checked when limited aggregates are implemented.
+
+ * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
+ pure, emit warning.
+ (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
+ subprogram is imported, remove warning.
+
+2004-01-05 Geert Bosch <bosch@gnat.com>
+
+ * s-poosiz.adb: Update copyright notice.
+ (Allocate): Use Task_Lock to protect against concurrent access.
+ (Deallocate): Likewise.
+
+2004-01-05 Joel Brobecker <brobecker@gnat.com>
+
+ * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
+ comment.
+
+
+
+Copyright (C) 2004 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/ada/ChangeLog-2005 b/gcc/ada/ChangeLog-2005
new file mode 100644
index 00000000000..19301f92360
--- /dev/null
+++ b/gcc/ada/ChangeLog-2005
@@ -0,0 +1,8014 @@
+2005-12-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * s-osinte-linux-hppa.ads: Correct alignment of atomic_lock_t.
+
+2005-12-12 Arnaud Charlet <charlet@adacore.com>
+
+ * Makefile.in: Remove dummy setting of GCC_FOR_TARGET, no longer
+ needed.
+
+2005-12-12 Arnaud Charlet <charlet@adacore.com>
+
+ * Make-lang.in: Update dependencies
+
+2005-12-12 Arnaud Charlet <charlet@adacore.com>
+
+ * Make-lang.in: Add rule for ada/exp_sel.o
+
+2005-12-12 Arnaud Charlet <charlet@adacore.com>
+
+ * Makefile.in (mingw section): Remove EH_MECHANISM setting.
+
+2005-12-09 Arnaud Charlet <charlet@adacore.com>
+
+ * gnatvsn.ads (Library_Version): Bump to version 4.2
+ (ASIS_Version_Number): Bumped.
+
+2005-12-09 Doug Rupp <rupp@adacore.com>
+
+ * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb (Is_Interface): Change
+ Ada bind file prefix on VMS from b$ to b__.
+ (Build_Dynamic_Library): Change Init file suffix on VMS from $init to
+ __init.
+
+ * prj-nmsc.adb: Change some Hostparm.OpenVMS checks to
+ Targparm.OpenVMS_On_Target.
+ (Object_Suffix): Initialize with target object suffix.
+ (Get_Unit): Change Ada bind file prefix on VMS from b$ to b__.
+
+ * butil.adb: Change some Hostparm.OpenVMS checks to
+ Targparm.OpenVMS_On_Target.
+
+ * clean.adb: Change some Hostparm.OpenVMS checks to
+ Targparm.OpenVMS_On_Target.
+ (Object_Suffix): Initialize with call to Get_Target_Object_Suffix.
+ ({declaraction},Delete_Binder_Generated_Files,{initialization}): Change
+ Ada bind file prefix on VMS from b$ to b__.
+
+ * gnatlink.adb (Process_Args): Call Add_Src_Search_Dir for -I in
+ --GCC so that Get_Target_Parameters can find system.ads.
+ (Gnatlink): Call Get_Target_Parameters in mainline.
+ Initialize standard packages for Targparm.
+ Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
+ (Process_Args): Also Check for object files with target object
+ extension.
+ (Make_Binder_File_Names): Create with target object extension.
+ (Make_Binder_File_Names): Change Ada bind file prefix on VMS from b$
+ to b__.
+
+ * mlib-prj.adb: Change some Hostparm.OpenVMS checks to
+ Targparm.OpenVMS_On_Target.
+ ({declaration},Build_Library,Check_Library): Change Ada bind file
+ prefix on VMS from b$ to b__.
+
+ * osint-b.adb: Change some Hostparm.OpenVMS checks to
+ Targparm.OpenVMS_On_Target.
+ (Create_Binder_Output): Change Ada bind file prefix on VMS from b$ to
+ b__.
+
+ * targext.c: New file.
+
+ * Makefile.in: add support for vxworks653 builds
+ (../../vxaddr2line): gnatlink with targext.o.
+ (TOOLS_LIBS): Move targext.o to precede libgnat.
+ (init.o, initialize.o): Minor clean up in dependencies.
+ (GNATLINK_OBJS): Add targparm.o, snames.o
+ Add rules fo building targext.o and linking it explicitly with all
+ tools.
+ Also add targext.o to gnatlib.
+
+ * Make-lang.in: Add rules for building targext.o and linking it in
+ with gnat1 and gnatbind.
+ Add entry for exp_sel.o.
+
+ * osint.adb Change some Hostparm.OpenVMS checks to
+ Targparm.OpenVMS_On_Target.
+ (Object_File_Name): Use target object suffix.
+
+ * osint.ads (Object_Suffix): Remove, no longer used.
+ (Target_Object_Suffix): Initialize with target object suffix.
+
+ * rident.ads: Add special exception to license.
+
+ * targparm.adb (Get_Target_Parameters): Set the value of
+ Multi_Unit_Index_Character after OpenVMS_On_Target gets its definitive
+ value.
+ (Get_Target_Parameters): Set OpenVMS_On_Target if openvms.
+
+ * targparm.ads: Add special exception to license.
+
+ * g-os_lib.ads, g-os_lib.adb (Get_Target_Debuggable_Suffix): New
+ function.
+ (Copy_File): Make sure from file is closed if error on to file
+ (Get_Target_Executable_Suffix, Get_Target_Object_Suffix): New functions.
+
+ * make.adb (Object_Suffix): Intialize with Get_Target_Object_Suffix.
+ (Executable_Suffix): Intialize with Get_Target_Executable_Suffix.
+
+ * osint-c.adb (Set_Output_Object_File_Name): Initialize extension with
+ target object suffix.
+
+2005-12-09 Jose Ruiz <ruiz@adacore.com>
+ Quentin Ochem <ochem@adacore.com>
+ Florian Villoing <villoing@adacore.com>
+
+ * a-taster.ads, a-taster.adb: New files.
+
+ * a-elchha.adb (Last_Chance_Handler): Change the task termination soft
+ link to the version that does nothing. This way the task termination
+ routine is not executed twice for the environment task when finishing
+ because of an unhandled exception.
+
+ * a-exextr.adb (Notify_Unhandled_Exception): Call the task termination
+ handler because of an unhandled exception.
+
+ * a-taside.adb (Abort_Tasks): Call the Abort_Tasks procedure from
+ System.Tasking.Utilities instead of that in System.Tasking.Stages.
+
+ * s-finimp.adb (initialization code): Modify the soft link for the
+ finalization of the global list instead of Adafinal.
+
+ * s-soflin.ads, s-soflin.adb (Task_Termination_NT): Add this
+ non-tasking version of the soft link for task termination. We do
+ nothing since if we are using the non-tasking version it
+ means that the task termination functionality is not used.
+ (Null_Finalize_Global_List): Add this null version for the procedure
+ in charge of finalizing the global list for controlled objects.
+ (Null_Adafinal): Remove this procedure. Adafinal_NT has been created
+ instead for handling run-time termination in a more flexible way.
+ (Adafinal_NT): This new procedure will take care of finalizing the
+ global list for controlled objects if needed, but no tasking
+ finalization.
+
+ * s-tarest.adb (Task_Lock): Do not try to lock again the
+ Global_Task_Lock if we already own it. Otherwise, we get blocked in
+ some run-time operations.
+ (Task_Unlock): Do not try to actually unlock the Global_Task_Lock
+ until all nested locks have been released.
+ (Task_Wrapper): Call the fall-back task termination handler. It
+ applies to all tasks but the environment task.
+ (Finalize_Global_Tasks): Add the call for the task termination
+ procedure for the environment task.
+ (Task_Wrapper): suppress warnings around declaration of
+ Secondary_Stack_Address.
+
+ * s-tasini.adb (Final_Task_Unlock): Global_Task_Lock_Nesting has been
+ moved to the Common_ATCB record.
+ (Task_Lock): Global_Task_Lock_Nesting has been moved to the
+ Common_ATCB record.
+ (Task_Unlock): Global_Task_Lock_Nesting has been moved to the
+ Common_ATCB record.
+
+ * s-taskin.adb (Initialize_ATCB): Initialize Global_Task_Lock_Nesting,
+ Fall_Back_Handler, and Specific_Handler.
+
+ * s-taskin.ads (Cause_Of_Termination): Redefine this type here, already
+ defined in Ada.Task_Termination, to avoid circular dependencies.
+ (Termination_Handler): Redefine this type here, alredy defined in
+ Ada.Task_Termination, for avoiding circular dependencies.
+ (Common_ATCB): Add the Fall_Back_Handler and Specific_Handler required
+ for storing task termination handlers. In addition,
+ Global_Task_Lock_Nesting has been moved from Ada_Task_Control_Block to
+ Common_ATCB because it is used by both the regular and the restricted
+ run times.
+ (Ada_Task_Control_Block): Move Global_Task_Lock_Nesting from here to
+ Common_ATCB because it is used by both the regular and the restricted
+ run times.
+ (Common_ATCB): Added a dynamic task analyzer field.
+
+ * s-tassta.adb (Abort_Tasks): Move the code in charge of checking
+ potentially blocking operations to System.Tasking.Utilities.Abort_Tasks.
+ (Task_Wrapper): Call the task termination handler. It applies to all
+ tasks but the environment task.
+ (Finalize_Global_Tasks): Call the task termination procedure for the
+ environment task. The call to Finalize_Global_List is now performed
+ using the soft links mechanism.
+ (Task_Wrapper): added dynamic stack analysis.
+
+ * s-tasuti.adb (Abort_Tasks): The code in charge of checking
+ potentially blocking operations has been moved from
+ System.Tasking.Stages.Abort_Tasks to this procedure. There can be
+ direct calls to System.Tasking.Utilities.Abort_Tasks that do not pass
+ through System.Tasking.Stages.Abort_Tasks, and we do not want to miss
+ this run-time check.
+
+ * s-solita.adb (Task_Termination_Handler_T): Add this task-safe version
+ of task termination procedure.
+ (Init_Tasking_Soft_Links): Install the task-safe version of the soft
+ link for the task termination procedure.
+
+ * bindusg.adb: (Bindusg): Added documentation for -u option.
+
+ * bindgen.adb (Get_Main_Ada) Added handling of dynamic stack analysis.
+ (Get_Main_C): Add handling of dynamic stack analysis.
+ (Gen_Output_File_C): Add external functions for dynamic stack analysis.
+
+ * Makefile.rtl: Add entry for a-taster (Ada.Task_Termination).
+ (GNATRTL_NONTASKING_OBJS) Added entries for dynamic stack analysis
+ (GNATRTL_NONTASKING_OBJS): Add AltiVec files.
+
+ * opt.ads: Added flags used by dynamic stack measurement.
+ (Max_Line_Length): Remove (not used anymore)
+
+ * s-io.ads, s-io.adb (Standard_Error): new subprogram
+ (Standart_Output): new subprogram
+ (Set_Output): new subprogram
+ (Put): now uses the value of Current_Out to know if the output has to be
+ send to stderr or stdout.
+
+ * s-stausa.ads: Complete implementation.
+
+ * switch-b.adb: Added handling of -u switch for dynamic stack analysis.
+
+ * impunit.adb (Non_Imp_File_Names_05): Add Ada.Task_Termination to the
+ list of Ada 05 files.
+ (GNAT Library Units): Add AltiVec files.
+
+ * g-allein.ads, g-alleve.adb, g-alleve.ads, g-altcon.adb,
+ g-altcon.ads, g-altive.ads, g-alveop.adb, g-alveop.ads
+ g-alvety.ads, g-alvevi.ads: New files providing altivec API.
+
+2005-12-09 Nicolas Setton <setton@adacore.com>
+
+ * adaint.c (__gnat_locate_regular_file): Return immediately if
+ file_name is empty.
+
+2005-12-09 Javier Miranda <miranda@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-tags.ads, a-tags.adb (Offset_To_Top): Moved from the package body
+ to the specification because the frontend generates code that uses this
+ subprogram.
+ (Set_Interface_Table): Add missing assertion.
+ Update documentation describing the run-time structure.
+ (Displace): New subprogram that displaces the pointer to the object
+ to reference one of its secondary dispatch tables.
+ (IW_Membership): Modified to use the new table of interfaces.
+ (Inherit_TSD): Modified to use the new table of interfaces.
+ (Register_Interface_Tag): Use the additional formal to fill the
+ contents of the new table of interfaces.
+ (Set_Interface_Table): New subprogram that stores in the TSD the
+ pointer to the table of interfaces.
+ (Set_Offset_To_Top): Use the additional formal to save copy of
+ the offset value in the table of interfaces.
+ Update structure of GNAT Primary and Secondary dispatch table diagram.
+ Add comment section on GNAT dispatch table prologue.
+ (Offset_To_Signature): Update the constant value of the Signature field.
+ (Dispatch_Table): Update comment on hidden fields in the prologue.
+ (Get_Entry_Index, Get_Prim_Op_Kind, Get_Offset_Index, OSD,
+ Set_Entry_Index, Set_Offset_Index, Set_Prim_Op_Kind, SSD, TSD): Change
+ the type of formal parameter T to Tag, introduce additional assertions.
+ (Get_Num_Prim_Ops, Set_Num_Prim_Ops): Remove an unnecessary type
+ conversion.
+ (Get_Tagged_Kind, Set_Tagged_Kind): New bodies.
+
+ * exp_ch6.adb (Register_Interface_DT_Entry): Remove the Thunk_Id actual
+ in all the calls to Expand_Interface_Thunk. Instead of referencing the
+ record component containing the tag of the secondary dispatch table we
+ have to use the Offset_To_Top run-time function to get this information;
+ otherwise if the pointer to the base of the object has been displace
+ we get a wrong value if we use the 'position attribute.
+
+ * exp_disp.adb (Expand_Interface_Thunk): Remove the Thunk_Id actual in
+ all the calls to Expand_Interface_Thunk.
+ (Make_Secondary_DT): Secondary dispatch tables do not have a table of
+ interfaces; hence the call to Set_Interface_Table was clearly wrong.
+ (Collect_All_Interfaces): Modify the internal subprogram Collect to
+ ensure that the interfaces implemented by the ancestors are placed
+ at the header of the generated list.
+ (Expand_Interface_Conversion): Handle the case in which the displacement
+ associated with the interface conversion is not statically known. In
+ this case we generate a call to the new run-time subprogram Displace.
+ (Make_DT): Generate and fill the new table of interfaces.
+ (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Add entries for
+ Get_Tagged_Kind and Set_Tagged_Kind.
+ (Tagged_Kind): New function that determines the tagged kind of a type
+ with respect to limitedness and concurrency and returns a reference to
+ RE_Tagged_Kind.
+ (Make_Disp_Asynchronous_Select_Body, Make_Disp_Conditional_Select_Body,
+ Make_Disp_Timed_Select_Body): Correctly retrieve the pointer to the
+ primary dispatch table for a type.
+ (Make_DT, Make_Secondary_DT): Set the tagged kind in the primary and
+ secondary dispatch table respectively of a tagged type.
+
+ * exp_disp.ads (Expand_Interface_Thunk): Remove Thunk_Id formal.
+ (Expand_Interface_Conversion): New subprogram to indicate if the
+ displacement of the type conversion is statically known.
+ (DT_Access_Action): Add values Get_Tagged_Kind and Set_Tagged_Kind.
+
+ * rtsfind.ads (RE_Offset_To_Top): New entity
+ (RTU_Id): Add Ada_Task_Termination to the list so that it is made
+ accessible to users.
+ (Re_Displace): New entity
+ (RE_Interface_Data): New entity
+ (RE_Set_Interface_Data): New_Entity
+ (RE_Id, RE_Unit_Table): Add entry for RE_Get_Tagged_Kind,
+ Set_Tagged_Kind, RE_Tagged_Kind, RE_TK_Abstract_Limited_Tagged,
+ RE_TK_Abstract_Tagged, RE_TK_Limited_Tagged, RE_TK_Protected,
+ RE_TK_Tagged, RE_TK_Task.
+
+ * exp_ch3.adb (Init_Secondary_Tags): Modify the subprogram
+ Init_Secondary_Tags_Internal to allow its use with interface types and
+ also to generate the code for the new additional actual required
+ by Set_Offset_To_Top.
+ (Build_Init_Statements): In case of components associated with abstract
+ interface types there is no need to generate a call to its IP.
+ (Freeze_Record_Type): Generate Select Specific Data tables only for
+ concurrent types.
+ (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies): Generate
+ the bodies and specifications of the predefined primitive operations
+ dealing with dispatching selects and abort, 'Callable, 'Terminated only
+ for concurrent types.
+
+ * exp_sel.ads, exp_sel.adb: New files.
+
+ * exp_ch9.adb (Build_Protected_Entry, Expand_N_Protected_Body,
+ Expand_N_Protected_Type_Declaration, Make_Initialize_Protection): Handle
+ properly protected objects and attach handler in the case of the
+ restricted profile.
+ Move embeded package Select_Expansion_Utilities into a separate external
+ package.
+ (Expand_N_Asynchronous_Select, Expand_N_Conditional_Select,
+ Expand_N_Timed_Entry_Call): Correct calls external package Exp_Sel.
+ (Build_K, Build_S_Assignment): New subprograms, part of the select
+ expansion utilities.
+ (Expand_N_Asynchronous_Select, Expand_N_Conditional_Entry_Call,
+ Expand_N_Timed_Entry_Call): Optimize expansion of select statements
+ where the trigger is a dispatching procedure of a limited tagged type.
+
+2005-12-09 Olivier Hainque <hainque@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity, renaming object case): Don't early expand
+ pointer initialization values. Make a SAVE_EXPR instead. Add comments
+ about the use and expansion of SAVE_EXPRs in the various possible
+ renaming handling cases.
+ (components_to_record, compare_field_bitpos): Sort by DECL_UID, not by
+ abusing DECL_FCONTEXT.
+
+2005-12-09 Matthew Heaney <heaney@adacore.com>
+
+ * a-convec.adb (Merge): Added assertions to check whether vector params
+ are sorted.
+
+ * a-coinve.adb (Merge): Added assertions to check whether vector params
+ are sorted.
+
+ * a-cohama.ads (Cursor'Write): raises Program_Error per latest AI-302
+ draft.
+ (Cursor'Read): raises PE
+
+ * a-cohama.adb (Insert.New_Node): Uses box-style syntax to init elem
+ to its default value.
+
+ * a-cihama.adb: Manually check whether cursor's key and elem are
+ non-null
+
+ * a-cidlli.ads, a-cidlli.adb (Splice): Changed param name and param mode
+ (Merge): Assert that target and source lists are in order
+ (Swap): Declare non-const temporaries, to pass to Splice
+
+ * a-cdlili.ads: (Splice): Changed param name and param mode
+
+ * a-cdlili.adb: (Splice): Changed param name and param mode
+ (Merge): Assert that target and source lists are in order
+ (Swap): Declare non-const temporaries, to pass to Splice
+
+ * a-ciorma.ads, a-coorma.ads: (Read): declare Stream param as not null
+ (Write): declare Stream param as not null
+
+ * a-ciorma.adb, a-coorma.adb: All explicit raise statements now include
+ an exception message.
+
+2005-12-09 Thomas Quinot <quinot@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * hostparm.ads (Max_Line_Length): Set to Types.Column_Number'Last - 1,
+ which is the absolute maximum length we can support.
+
+ * frontend.adb: For the processing of configuration pragma files,
+ remove references to Opt.Max_Line_Length, which is not checked anymore.
+
+ * namet.ads (Name_Buffer): Adjust size to reflect increase on max line
+ length.
+
+ * scn.adb, scng.adb:
+ Always check line length against the absolute supported maximum,
+ Hostparm.Max_Line_Length.
+
+ * stylesw.adb (Set_Style_Check_Options, case M): The maximum supported
+ value for the maximum line length is Max_Line_Length (not
+ Column_Number'Last).
+ Minor error msg update
+ (Set_Style_Check_Options): New interface returning error msg
+ Minor code reorganization (processing for 'M' was out of alpha order)
+
+ * switch-c.adb: New interface for Set_Style_Check_Options
+
+ * stylesw.ads (Set_Style_Check_Options): New interface returning error
+ msg.
+
+2005-12-09 Javier Miranda <miranda@adacore.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): Default-initialialized records
+ with IP subprogram were only supported if there were limited types.
+
+ * sem_aggr.adb (Resolve_Record_Aggregate): Default-initialialized
+ records with IP subprogram were only supported if there were limited
+ types.
+
+2005-12-09 Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (tree_transform, emit_check): Adjust calls to
+ build_call_raise, passing the now expected GNAT_NODE argument.
+
+ * gigi.h (build_call_raise): Add a GNAT_NODE argument to convey better
+ source line information than what the current global locus indicates
+ when appropriate.
+
+ * utils2.c (build_simple_component_ref): Return 0 if the offset of the
+ field has overflowed.
+ (build_call_raise): Add a GNAT_NODE argument to convey better source
+ line information than what the current global locus indicates when
+ appropriate.
+ (build_component_ref): Adjust call to build_call_raise.
+
+2005-12-09 Pascal Obry <obry@adacore.com>
+
+ * g-diopit.adb (Find): Fix test to exit the iterator and make sure that
+ the iterator is quitting iteration on parent directory.
+
+2005-12-09 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): In case of tagged types
+ and the assignment to a class-wide object, before the assignment we
+ generate a run-time check to ensure that the tag of the Target is
+ covered by the tag of the source.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * exp_imgv.adb (Expand_Image_Attribute): Generate extra boolean
+ parameter in call to Image_Wide_Character.
+
+ * s-imgwch.ads, s-imgwch.adb (Image_Wide_Character): Add boolean
+ parameter Ada_2005 to deal with annoying FFFE/FFFF inconsistency.
+ (Image_Wide_Character): Add boolean parameter Ada_2005 to deal with
+ annoying FFFE/FFFF inconsistency.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_util.ads, exp_util.adb (Is_Ref_To_Bit_Packed_Slice): Handle case
+ of type conversion.
+ (Find_Interface): New subprogram that given a tagged type and one of its
+ component associated with the secondary table of an abstract interface
+ type, return the entity associated with such abstract interface type.
+ (Make_Subtype_From_Expr): If type has unknown discriminants, always use
+ base type to create anonymous subtype, because entity may be a locally
+ declared subtype or generic actual.
+ (Find_Interface): New subprogram that given a tagged type and one of its
+ component associated with the secondary table of an abstract interface
+ type, return the entity associated with such abstract interface type.
+
+ * sem_res.adb (Resolve_Type_Conversion): Handle the case in which the
+ conversion cannot be handled at compile time. In this case we pass this
+ information to the expander to generate the appropriate code.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb (Itype_Printed): New flag
+ (Is_Limited_Type): Derived types do not inherit limitedness from
+ interface progenitors.
+ (Is_Return_By_Reference_Type): Predicate does not apply to limited
+ interfaces.
+
+ * einfo.ads (Itype_Printed): New flag
+ Move Is_Wrapper_Package to proper section
+ Add missing Inline for Is_Volatile
+
+ * output.ads, output.adb (Write_Erase_Char): New procedure
+ (Save/Restore_Output_Buffer): New procedures
+ (Save/Restore_Output_Buffer): New procedures
+
+ * sprint.ads, sprint.adb (Write_Itype): Handle case of record itypes
+ Add missing support for anonymous access type
+ (Write_Id): Insert calls to Write_Itype
+ (Write_Itype): New procedure to output itypes
+
+ * par-ch12.adb (P_Formal_Derived_Type_Definition): In Ada 2005, handle
+ use of "limited" in declaration.
+
+ * sinfo.ads, sinfo.adb:
+ Formal derived types can carry an explicit "limited" indication.
+
+ * sem_ch3.adb: Add with and use of Targparm.
+ (Create_Component): If Frontend_Layout_On_Target is True and the
+ copied component does not have a known static Esize, then reset
+ the size and positional fields of the new component.
+ (Analyze_Component_Declaration): A limited component is
+ legal within a protected type that implements an interface.
+ (Collect_Interfaces): Do not add to the list the interfaces that
+ are implemented by the ancestors.
+ (Derived_Type_Declaration): If the parent of the full-view is an
+ interface perform a transformation of the tree to ensure that it has
+ the same parent than the partial-view. This simplifies the job of the
+ expander in order to generate the correct object layout, and it is
+ needed because the list of interfaces of the full-view can be given in
+ any order.
+ (Process_Full_View): The parent of the full-view does not need to be
+ a descendant of the parent of the partial view if both parents are
+ interfaces.
+ (Analyze_Private_Extension_Declaration): If declaration has an explicit
+ "limited" the parent must be a limited type.
+ (Build_Derived_Record_Type): A derived type that is explicitly limited
+ must have limited ancestor and progenitors.
+ (Build_Derived_Type): Ditto.
+ (Process_Full_View): Verify that explicit uses of "limited" in partial
+ and full declarations are consistent.
+ (Find_Ancestor_Interface): Remove function.
+ (Collect_Implemented_Interfaces): New procedure used to gather all
+ implemented interfaces by a type.
+ (Contain_Interface): New function used to check whether an interface is
+ present in a list.
+ (Find_Hidden_Interface): New function used to determine whether two
+ lists of interfaces constitute a set equality. If not, the first
+ differing interface is returned.
+ (Process_Full_View): Improve the check for the "no hidden interface"
+ rule as defined by AI-396.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): Only test for useless pack on record
+ types, not on record subtypes.
+ (Freeze_Entity): Code cleanup. Add barrier to the loop
+ that generates the references for primitive operations. This allows to
+ remove an unnecessary exception handler.
+ Code reformatting and comment clean ups.
+
+2005-12-09 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (GNATCmd): GNAT CHECK accepts switch -U
+ If GNAT CHECK is called with a project file, but with no
+ source on the command line, call gnatcheck with all the compilable
+ sources of the project.
+ Take into account the new command Check, for gnatcheck. Treat as for
+ other ASIS tools: take into account project, specific package Check and
+ Compiler switches.
+ For ASIS tools, add the switches in package Compiler for
+ the invocation of the compiler.
+
+ * prj-attr.adb: Add package Check and its attributes
+
+ * vms_conv.ads (Command_Type): New command Check, for gnatcheck
+
+ * vms_conv.adb (Initialize): Change Params of command Check to
+ unlimited files.
+ Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
+ Add data for new command Check
+
+ * vms_data.ads: Add project related qualifiers for GNAT CHECK and GNAT
+ ELIM.
+ Add qualifiers for Check command options
+ (Command_Type): New command Check
+
+2005-12-09 Thomas Quinot <quinot@adacore.com>
+
+ * mlib-utl.adb (Ar): Use Output.Buffer_Max to determine whether a
+ command line switch overruns the output buffer.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb: Processing for new pragma Complete_Representation
+ (Analyze_Pragma, case Debug): Implement two argument form.
+
+ * par-prag.adb: Entry for new pragma Complete_Representation
+ (Prag, case Debug): Recognize two argument form of pragma Debug
+ New interface for Set_Style_Check_Options.
+
+ * sem_ch13.adb: Implement new pragma Complete_Representation.
+
+ * snames.adb, snames.ads, snames.h: Entry for new pragma
+ Complete_Representation.
+
+2005-12-09 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Revise test for
+ available user-specified stream attributes on limited parameters to
+ also test the type directly rather than only its underlying type (for
+ Ada 95) and, in the case of Ada 2005, to check that the user-specified
+ attributes are visible at the point of the subprogram declaration.
+ For Ada 2005, the error message is modified to indicate that the
+ type's stream attributes must be visible (again, only for -gnat05).
+
+2005-12-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Subtypes_Match): Handle properly Ada05 arrays of
+ anonymous access types.
+
+ * sem_eval.adb (Subtypes_Statically_Match): Implement new rules for
+ matching of anonymous access types and anonymous access to subprogram
+ types. 'R'M 4.9.1 (2/2).
+
+2005-12-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Remove_Abstract_Operations): Do not apply preference
+ rule prematurely when operands are universal, remaining ambiguities
+ will be removed during resolution.
+ Code cleanup.
+
+ * sem_type.adb (Disambiguate): In Ada95 mode, discard interpretations
+ that are Ada 2005 functions.
+ (Has_Abstract_Interpretation): Subsidiary to
+ Remove_Conversions, to remove ambiguities caused by abstract operations
+ on numeric types when operands are universal.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): Properly check categorization
+ for case where spec is categorized.
+
+2005-12-09 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch8.adb (Find_Type): In case of tagged types that are concurrent
+ types use the corresponding record type. This was not needed before
+ the implementation of Ada 2005 synchronized types because
+ concurrent types were never tagged types in Ada 95.
+
+2005-12-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch9.adb (Analyze_Delay_Alternative, Analyze_Delay_Until): Use the
+ first subtype of the type of the expression to verify that it is a
+ legal Time type.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.ads, sem_util.adb (Full_Qualified_Name): Now provides
+ decoded names.
+
+2005-12-09 Quentin Ochem <ochem@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Falis <falis@adacore.com>
+ Florian Villoing <villoing@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi: Created section "Stack Related Tools"
+ Moved "Stack Overflow Checking" subsection from "Switches for gcc" to
+ "Stack Related Tools"
+ Added subsection "Static Stack Usage Analysis"
+ Added subsection "Dynamic Stack Usage Analysis"
+ Include documentation of itypes in sprint listing (-gnatG)
+ Documented gnatbind -D switch (default sec stack size for fixed sec
+ stacks).
+ Added Interrupt_State and Persistent_BSS to list of configuration
+ pragmas.
+ Add missing doc for maximum value of nnn in -gnatyMnnn
+
+ * gnat_rm.texi: Document the AltiVec binding.
+ Add documentation for pragma Complete_Representation
+ Shortened an overly long line (> 79 chars)
+ Clarify documentation of unchecked conversion in implementation
+ defined cases.
+ Document two argument form of pragma Debug
+
+ * types.ads (Column_Number): Update documentation.
+
+ * exp_ch7.ads (Make_Adjust_Call): Document the special processing for
+ library level Finalize_Storage_Only objects (these are not attached to
+ any finalization list).
+
+ * system-mingw.ads: (Underlying_Priorities): Update comment.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * i-c.adb, i-cexten.ads, i-cobol.adb, i-cobol.ads, i-cpoint.ads,
+ i-cpp.adb, i-cpp.ads, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
+ inline.adb, interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads,
+ i-os2thr.ads, itypes.adb, itypes.adb, itypes.ads, krunch.ads,
+ krunch.adb, lib.adb, lib.ads, lib-list.adb, lib-load.adb,
+ lib-load.ads, lib-sort.adb, live.adb, make.ads, i-cstrea-vms.adb,
+ interfac-vms.ads, makegpr.adb, indepsw-gnu.adb, indepsw.ads,
+ s-wchcon.ads, sdefault.ads, sem_ch10.adb, sem_eval.ads: Minor
+ reformatting.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * s-vaflop-vms-alpha.adb: (Ne_F): New function
+ (Ne_G): New function
+
+ * exp_ch4.adb (Expand_Allocator_Expression): Factor duplicated code
+ for tag assignment.
+ (Rewrite_Comparison): Handle case where operation is not a comparison
+ and ignore, and also handle type conversion case.
+
+2005-12-09 Thomas Quinot <quinot@adacore.com>
+
+ * exp_aggr.ads: Fix typo in comment.
+ ???-mark Convert_Aggr_In_Assignment as needing documentation.
+
+2005-12-09 Gary Dismukes <dismukes@adacore.com>
+
+ * layout.adb: Replace various uses of byte by storage unit throughout.
+ (Get_Max_SU_Size): Name changed from Get_Max_Size. In the case of a
+ static size, convert to storage units before returning, to conform to
+ spec.
+
+2005-12-09 Matthew Gingell <gingell@adacore.com>
+
+ * g-exctra.ads: Fix typo in comment.
+
+2005-12-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * utils.c: Minor reformatting.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * g-soccon.ads:
+ Further comment fixes to make the status of the default file clear
+
+ * s-bitops.adb: Clarify comment for Bits_Array
+
+2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+
+ * Make-lang.in (ada.install-normal): Remove.
+
+2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+
+ * Make-lang.in: Remove all dependencies on s-gtype.
+
+2005-12-05 Richard Guenther <rguenther@suse.de>
+
+ * utils.c (convert): Use fold_convert where appropriate.
+
+2005-12-05 Paolo Bonzini <bonzini@gnu.org>
+
+ * Makefile.in (gnatlib): Fix regex, using \. instead of . when
+ a period is meant.
+
+2005-12-02 Richard Guenther <rguenther@suse.de>
+
+ * trans.c (gnat_gimplify_expr): Use buildN instead of build.
+
+2005-12-01 Roger Sayle <roger@eyesopen.com>
+
+ * utils.c (max_size): Only test for TREE_OVERFLOW on INTEGER_CST
+ nodes.
+
+2005-11-23 Laurent Guerby <laurent@guerby.net>
+
+ * mlib-prj.adb (Build_Library): Initialize Delete.
+
+2005-11-21 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * socket.c: Add extern int h_errno for rtems since networking header
+ files are not available at this point in a tool bootstrap. Newlib
+ only has basic C library header files.
+
+2005-11-19 Richard Guenther <rguenther@suse.de>
+ Roger Sayle <roger@eyesopen.com>
+
+ PR ada/23717
+ * misc.c (internal_error_function): Don't use vsprintf to format
+ the error message text, instead use pp_format_text and the new
+ pretty printer APIs. This allows handling of %qs, %w, etc.
+
+2005-11-18 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/24857
+ * Makefile.in: Use s-auxdec-empty for RTEMS.
+
+2005-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ PR ada/22333
+ * trans.c (gnat_gimplify_expr, case ADDR_EXPR): Always make
+ a temporary if taking the address of something that is neither
+ reference, declaration, or constant, since the gimplifier
+ can't handle that case.
+
+2005-11-17 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/24857
+ * s-auxdec-empty.ads, s-auxdec-empty.adb: New files.
+
+2005-11-16 Richard Guenther <rguenther@suse.de>
+
+ * Makefile.in: Add EH_MECHANISM=-gcc to s390(x) linux.
+
+2005-11-16 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ PR ada/24855
+ * raise-gcc.c: Add missing stdarg.h include.
+
+2005-11-16 Richard Guenther <rguenther@suse.de>
+
+ * Make-lang.in (ada/decl.o): Add $(EXPR_H) dependency.
+ (ada/misc.o): Likewise.
+
+2005-11-14 Thomas Quinot <quinot@adacore.com>
+
+ * g-soccon.ads: Minor reformatting. Update comments.
+
+ * gsocket.h: Include <sys/times.h> in the VxWorks case, in order to
+ gain visibility on the declaration of struct timeval.
+
+ * g-soccon-freebsd.ads,
+ g-soccon-darwin.ads,
+ g-soccon-tru64.ads,
+ g-soccon-aix.ads,
+ g-soccon-irix.ads,
+ g-soccon-hpux.ads,
+ g-soccon-solaris.ads,
+ g-soccon-vms.ads,
+ g-soccon-mingw.ads,
+ g-soccon-vxworks.ads (SIZEOF_tv_sec, SIZEOF_tv_usec): New constants.
+
+ * g-soccon-hpux-ia64.ads, g-soccon-linux-ppc.ads,
+ g-soccon-solaris-64.ads, g-soccon-linux-64.ads,
+ g-soccon-linux-x86.ads: New files.
+
+ * g-socthi-mingw.adb:
+ (Socket_Error_Message): Remove redundant use of GNAT.Sockets.Constants
+
+ * g-socthi-vxworks.ads, g-socthi-vms.ads, g-socthi-mingw.ads
+ (time_t, suseconds_t): New types constructed to match the tv_sec
+ and tv_usec fields of C struct timeval.
+ (Timeval): Construct structure in terms of the new types.
+ (Host_Errno): New function (imported from socket.c), returns last hosts
+ database error.
+
+ * g-socthi-vxworks.adb: Add error handling circuitry.
+
+ * g-socket.ads, g-socket.adb (To_Timeval): Reflect change of type for
+ components of struct timeval.
+ (Get_Host_By_Name, Get_Host_By_Address): Fix error reporting circuitry.
+ (Check_Selector): In error conditions, clear internal socket sets to
+ avoid a memory leak.
+ (Get_Socket_Option, Set_Socket_Option): Support for Multicast_If,
+ Send_Timeout, Receive_Timeout.
+
+ * g-socthi.ads (time_t, suseconds_t): New types constructed to match
+ the tv_sec and tv_usec fields of C struct timeval.
+ (Timeval): Construct structure in terms of the new types.
+ (Host_Errno): New function (imported from socket.c), returns last hosts
+ database error.
+
+ * socket.c (__gnat_get_h_errno): New function to retrieve h_errno, the
+ hosts database last error code.
+
+ * gen-soccon.c: Complete value expansion should not be performed on
+ TARGET, as it has the form of a math expression, and some components
+ may be platform-defined macros.
+ For VxWorks, generate the OK and ERROR values.
+ New constants giving the sizes of the components of C struct timeval.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/18434
+ * types.ads: Include All_Checks in Suppress_Array
+
+ * checks.adb (Check_Needed): Remove kludge for a/=b rewritten as
+ not(a=b), since we no longer do this rewriting, and hence it is not
+ needed.
+ (Elaboration_Checks_Suppressed): Add special casing to
+ deal with different cases of static and dynamic elaboration checks (all
+ checks does not count in the first case, but does in the second).
+ (Expr_Known_Valid): Do not assume that the result of any arbitrary
+ function call is valid, since this is not the case.
+ (Ensure_Valid): Do not apply validity check to a real literal
+ in a universal or fixed context
+
+ * exp_ch4.adb (Expand_N_Op_Ne): Don't expand a/=b to not(a=b) for
+ elementary types using the operator in standard. It is cleaner not to
+ modify the programmers intent, especially in the case of floating-point.
+ (Rewrite_Comparison): Fix handling of /= (this was always wrong, but
+ it did not matter because we always rewrote a/=b to not(a=b).
+ (Expand_Allocator_Expression): For an allocator expression whose nominal
+ subtype is an unconstrained packed type, convert the expression to its
+ actual constrained subtype.
+ Implement warning for <= or >= where < or > not possible
+ Fix to Vax_Float tests (too early in many routines, causing premature
+ Vax_Float expansions.
+
+ * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow this pragma
+ to be used with packages and generic packages as well as with
+ subprograms.
+ (Suppress): Set All_Checks, but not Elaboration_Check, for case
+ of pragma Suppress (All_Checks)
+ (Analyze_Pragma, case Warnings): Implement first argument allowed to be
+ a string literal for precise control over warnings.
+ Avoid raise of pragma in case of unrecognized pragma and just return
+ instead.
+
+ * sem_prag.ads: Minor reformatting
+
+ * switch-c.adb (Scan_Front_End_Switches): Replace "raise Bad_Switch;"
+ with call to new procedure Bad_Switch. Call Scan_Pos with new parameter
+ Switch. Do not handle any exception.
+ Include -gnatwx as part of -gnatg (warn on redundant parens)
+ Allow optional = after -gnatm
+ (Scan_Front_End_Switches): The -gnatp switch sets All_Checks, but no
+ longer sets Elaboration_Checks.
+ Code to set warning mode moved to Sem_Warn
+ so that it can be shared by pragma processing.
+
+ * s-mastop-tru64.adb (Pop_Frame): Remove redundant parentheses in if
+ statement.
+
+ * s-taprop-solaris.adb:
+ Change some <= to =, to avoid new warning
+
+ * a-exexda.adb, prj-proc.adb:
+ Fix obvious typo (Num_Tracebacks compared <= 0 instead of < 0)
+ Fix obvious typo (Total_Errors_Detected <= 0 should be = 0)
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * exp_vfpt.adb: Handle /= case
+ (Expand_Vax_Conversion): Properly recognize Conversion_OK flag
+ so that we do not get duplicate scaling for fixed point conversions.
+
+ * s-vaflop.ads, s-vaflop.adb: (Ne_F): New function
+
+2005-11-14 Matthew Gingell <gingell@adacore.com>
+
+ * system-lynxos-ppc.ads, system-lynxos-x86.ads:
+ Increase default priority on Lynx from 15 to 17, and meet the Ada
+ requirement that Default_Priority be ((Priority'First +
+ Priority'Last) / 2) by increasing the range of Interrupt_Priority.
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+ mlib-tgt-hpux.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
+ mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb,
+ mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb,
+ mlib-tgt-darwin.adb, mlib-tgt.adb, mlib-tgt.ads,
+ mlib-tgt-lynxos.adb (DLL_Prefix): New function
+
+2005-11-14 Doug Rupp <rupp@adacore.com>
+
+ * system-vms.ads, system-vms_64.ads: ADA$GNAT: New exported object in
+ private part.
+
+2005-11-14 Arnaud Charlet <charlet@adacore.com>
+
+ * s-traces-default.adb, s-trafor-default.ads,
+ s-tratas-default.adb: Fix compilation errors.
+
+2005-11-14 Jose Ruiz <ruiz@adacore.com>
+
+ * s-taprop-posix.adb (Initialize_Lock): Destroy mutex attribute before
+ raising the exception so the memory used is freed.
+
+2005-11-14 Arnaud Charlet <charlet@adacore.com>
+
+ * adaint.h, adaint.c (__gnat_is_cross_compiler): New constant.
+ (Gnat_Install_Locks, __gnatlib_install_locks): Removed, no longer used.
+ (convert_address): Update comments and list of platforms using this.
+
+ * s-tasini.adb (Gnat_Install_Locks, __gnatlib_install_locks): Removed,
+ no longer used.
+
+2005-11-14 Pascal Obry <obry@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * gnatdll.adb (Parse_Command_Line): Remove redundant use of
+ GNAT.Command_Line.
+
+ * memroot.adb: Remove redundant with/use clause on
+ System.Storage_Elements.
+
+2005-11-14 Arnaud Charlet <charlet@adacore.com>
+
+ * a-except.adb (Zero_Cost_Exceptions): Removed, no longer used.
+ (builtin_longjmp, Process_Raise_Exceeption): Move setjmp/longjmp
+ related code to a-exexpr.adb
+ (Save_Occurrence_And_Private): Move GCC EH related code to
+ a-exexpr-gcc.adb
+ (Raise_Current_Excep): Add new variable Id with pragma
+ volatile, to ensure that the variable lives on stack.
+
+ * a-exexpr-gcc.adb, raise-gcc.c: New file.
+
+ * a-exexpr.adb (builtin_longjmp, Propagate_Exception): Moved here code
+ from a-except.adb.
+ Move GCC EH related code to a-exexpr-gcc.adb
+
+ * Makefile.in: Add or update g-soccon LIBGNAT pairs for Linux/PPC and
+ 64-bit Solaris
+ Split the Linux version of g-soccon into separate variants for 32 and 64
+ bit platforms.
+ (gnatlib): Use $(AR_FOR_TARGET) and $(RANLIB_FOR_TARGET)
+ vice $(AR) and $(RANLIB). Remove use of host variable $(RANLIB_FLAGS).
+ install-gnatlib: Use $(RANLIB_FOR_TARGET) vice $(RANLIB). Remove use
+ of host variable $(RANLIB_FLAGS).
+ (alpha64-dec-*vms*): Fix translations for 64 bit compiler.
+ Code clean up: remove unused/obsolete targets.
+ (EH_MECHANISM): New variable introduced to differenciate between the
+ two EH mechanisms statically.
+ (gnatlib-zcx, gnatlib-sjlj): Force EH_MECHANISM manually.
+ (LIBGNAT_OBJS): Add raise-gcc.o
+ (LIBGNAT_TARGET_PAIRS for ppc-vxworks): Use an specialized version of
+ s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
+ supports VxWorks 6 RTPs.
+ (EXTRA_GNATRTL_NONTASKING_OBJS for ppc-vxworks): Remove the use of
+ i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.
+
+ * raise.c: Move all GCC EH-related routines to raise-gcc.c
+
+2005-11-14 Jose Ruiz <ruiz@adacore.com>
+
+ * s-tassta.adb (Create_Task): Move the code in charge of resetting the
+ deferral level, when abort is not allowed, to a later stage (the
+ Task_Wrapper).
+ (Task_Wrapper): If Abort is not allowed, reset the deferral level since
+ it will not get changed by the generated code. It was previously done
+ in Create_Task.
+
+2005-11-14 Thomas Quinot <quinot@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c:
+ Factor common code to build a storage type for an unconstrained object
+ from a fat or thin pointer type and a constrained object type.
+ (annotate_value): Handle BIT_AND_EXPR.
+ (annotate_rep): Don't restrict the back annotation of inherited
+ components to the type_annotate_only case.
+ (gnat_to_gnu_entity) <E_Array_Type>: Do not invoke create_type_decl if
+ we are not defining the type.
+ <E_Record_Type>: Likewise.
+ (gnat_to_gnu_entity) <object, renaming>: Adjust comments and structure
+ to get advantage of the new maybe_stabilize_reference interface, to
+ ensure that what we reference is indeed stabilized instead of relying
+ on assumptions on what the stabilizer does.
+ (gnat_to_gnu_entity) <E_Incomplete_Type>: If the entity is an incomplete
+ type imported through a limited_with clause, use its non-limited view.
+ (Has_Stdcall_Convention): New macro, to centralize the Windows vs others
+ differentiation.
+ (gnat_to_gnu_entity): Use Has_Stdcall_Convention instead of a spread mix
+ of #if sections + explicit comparisons of convention identifiers.
+ (gnat_to_gnu_entity) <E_Variable>: Decrement force_global if necessary
+ before early-returning for certain types when code generation is
+ disabled.
+ (gnat_to_gnu_entity) <object>: Adjust comment attached to the
+ nullification of gnu_expr we do for objects with address clause and
+ that we are not defining.
+ (elaborate_expression_1): Do not create constants when creating
+ variables needed by the debug info: the dwarf2 writer considers that
+ CONST_DECLs is used only to represent enumeration constants, and emits
+ nothing for them.
+ (gnat_to_gnu_entity) <object>: When turning a non-definition of an
+ object with an address clause into an indirect reference, drop the
+ initializing expression.
+ Include "expr.h".
+ (STACK_CHECK_BUILTIN): Delete.
+ (STACK_CHECK_PROBE_INTERVAL): Likewise.
+ (STACK_CHECK_MAX_FRAME_SIZE): Likewise.
+ (STACK_CHECK_MAX_VAR_SIZE): Likewise.
+ (gnat_to_gnu_entity): If gnat_entity is a renaming, do not mark the tree
+ corresponding to the renamed object as ignored for debugging purposes.
+
+ * trans.c (tree_transform, case N_Attribute_Reference, case Attr_Size &
+ related): For a prefix that is a dereference of a fat or thin pointer,
+ if there is an actual subtype provided by the front-end, use that
+ subtype to build an actual type with bounds template.
+ (tree_transform, case N_Free_Statement): If an Actual_Designated_Subtype
+ is provided by the front-end, use that subtype to compute the size of
+ the deallocated object.
+ (gnat_to_gnu): When adding a statement into an elaboration procedure,
+ check for a potential violation of a No_Elaboration_Code restriction.
+ (maybe_stabilize_reference): New function, like gnat_stabilize_reference
+ with extra arguments to control whether to recurse through non-values
+ and to let the caller know if the stabilization has succeeded.
+ (gnat_stabilize_reference): Now a simple wrapper around
+ maybe_stabilize, for common uses without restriction on lvalues and
+ without need to check for the success indication.
+ (gnat_to_gnu, call_to_gnu): Adjust calls to gnat_stabilize_reference, to
+ pass false instead of 0 as the FORCE argument which is a bool.
+ (Identifier_to_gnu): Remove checks ensuring that an renamed object
+ attached to a renaming pointer has been properly stabilized, as no such
+ object is attached otherwise.
+ (call_to_gnu): Invoke create_var_decl to create the temporary when the
+ function uses the "target pointer" return mechanism.
+ Reinstate conversion of the actual to the type of the formal
+ parameter before any other specific treatment based on the passing
+ mechanism. This turns out to be necessary in order for PLACEHOLDER
+ substitution to work properly when the latter type is unconstrained.
+
+ * gigi.h (build_unc_object_type_from_ptr): New subprogram, factoring a
+ common pattern.
+ (maybe_stabilize_reference): New function, like gnat_stabilize_reference
+ with extra arguments to control whether to recurse through non-values
+ and to let the caller know if the stabilization has succeeded.
+
+ * utils2.c (gnat_build_constructor): Only sort the fields for possible
+ static output of record constructor if all the components are constant.
+ (gnat_build_constructor): For a record type, sort the list of field
+ initializers in increasing bit position order.
+ Factor common code to build a storage type for an unconstrained object
+ from a fat or thin pointer type and a constrained object type.
+ (build_unary_op) <ADDR_EXPR>: Always recurse down conversions between
+ types variants, and process special cases of VIEW_CONVERT expressions
+ as their NOP_EXPR counterpart to ensure we get to the
+ CORRESPONDING_VARs associated with CONST_DECls.
+ (build_binary_op) <MODIFY_EXPR>: Do not strip VIEW_CONVERT_EXPRs
+ on the right-hand side.
+
+ * utils.c (build_unc_object_type_from_ptr): New subprogram, factoring
+ a common pattern.
+ (convert) <VIEW_CONVERT_EXPR>: Return the inner operand directly if we
+ are converting back to its original type.
+ (convert) <JM input>: Fallthrough regular conversion code instead of
+ extracting the object if converting to a type variant.
+ (create_var_decl): When a variable has an initializer requiring code
+ generation and we are at the top level, check for a potential violation
+ of a No_Elaboration_Code restriction.
+ (create_var_decl): call expand_decl for CONST_DECLs, to set MODE, ALIGN
+ SIZE and SIZE_UNIT which we need for later back-annotations.
+ * utils.c: (convert) <STRING_CST>: Remove obsolete code.
+ <VIEW_CONVERT_EXPR>: Do not lift the conversion if the target type
+ is an unchecked union.
+ (pushdecl): Set DECL_NO_STATIC_CHAIN on imported nested functions.
+ (convert) <VIEW_CONVERT_EXPR>: When the types have the same
+ main variant, just replace the VIEW_CONVERT_EXPR.
+ <UNION_TYPE>: Revert 2005-03-02 change.
+
+ * repinfo.h, repinfo.ads: Add tcode for BIT_AND_EXPR.
+
+ * repinfo.adb (Print_Expr, Rep_Value): Handle Bit_And_Expressions.
+
+2005-11-14 Matthew Heaney <heaney@adacore.com>
+
+ * a-crbtgo.ads, a-crbtgo.adb, a-coorse.ads, a-coorse.adb, a-convec.ads,
+ a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohama.ads, a-cohama.adb,
+ a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-cidlli.ads,
+ a-cidlli.adb, a-cdlili.ads, a-cdlili.adb, a-coormu.adb, a-ciormu.adb,
+ a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
+ a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorma.adb, a-coorma.adb:
+ Compiles against the spec for ordered maps described in sections
+ A.18.6 of the most recent (August 2005) AI-302 draft.
+
+2005-11-14 Olivier Hainque <hainque@adacore.com>
+
+ * cuintp.c (UI_To_gnu): Use a proper type for intermediate computations
+ to ensure bias adjustments take place when need be and to prevent
+ occurrences of intermediate overflows.
+
+2005-11-14 Matthew Gingell <gingell@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * tb-gcc.c (trace_callback): Work around problem with _Unwind_GetIP on
+ ia64 HP-UX.
+
+ * tracebak.c (ia64 configuration): Enable _Unwind_Backtrace driven
+ tracebacks on ia64 HP-UX and provide explanatory comment.
+ Enable backtraces on ia64 GNU/Linux.
+ (x86 configuration): Bump FRAME_LEVEL to 1 to ensure we retrieve a real
+ base pointer from builtin_frame_address. Adjust BASE_SKIP accordingly.
+
+2005-11-14 Hristian Kirtchev <kirtchev@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * rtsfind.ads, exp_util.adb, exp_util.ads, exp_disp.adb, exp_disp.ads,
+ exp_ch7.adb, sem_ch9.adb, snames.adb, snames.ads,
+ exp_ch9.adb, exp_ch9.ads, exp_ch6.adb, exp_ch3.adb, exp_ch3.ads,
+ einfo.ads, einfo.adb: Complete support for Ada 2005 interfaces.
+
+ * a-tags.ads, a-tags.adb: Major rewrite and additions to implement
+ properly new Ada 2005 interfaces (AI-345) and add run-time checks (via
+ assertions).
+
+ * exp_dbug.ads, exp_dbug.adb (Get_Secondary_DT_External_Name): New
+ subprogram that generates the external name associated with a
+ secondary dispatch table.
+ (Get_Secondary_DT_External_Name): New subprogram that generates the
+ external name associated with a secondary dispatch table.
+
+2005-11-14 Emmanuel Briot <briot@adacore.com>
+
+ * xref_lib.adb (Parse_Identifier_Info): It is possible for an entity
+ line in the ALI file to include both an instantiation reference, and a
+ returned value.
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * clean.adb (Check_Project): Look for Ada code in extending project,
+ even if Ada is not specified as a language.
+ Use new function DLL_Prefix for DLL_Name
+ (Clean_Interface_Copy_Directory): New procedure
+ (Clean_Library_Directory): New procedure
+ (Clean_Directory): Remove procedure, no longer used
+ (Clean_Project): Do not delete any file in an externally built project
+
+ * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Add the object
+ directory of an extending project, even when there are no Ada source
+ present.
+ (Ada_Objects_Path.Add): Add Library_ALI_Dir, not Library_Dir to the path
+ (Set_Ada_Paths.Add.Recursive_Add): Ditto
+
+ * mlib-prj.adb (Check_Library): For all library projects, get the
+ library file timestamp.
+ (Build_Library): Copy ALI files in Library_ALI_Dir, not in Library_Dir
+ (Build_Library): Use new function DLL_Prefix for the DLL_Name
+ (Clean): Remove procedure, no longer used
+ (Ultimate_Extension_Of): New function
+ (Build_Library): When cleaning the library directory, only remove an
+ existing library file and any ALI file of a source of the project.
+ When cleaning the interface copy directory, remove any source that
+ could be a source of the project.
+
+ * prj.ads, prj.adb (Project_Empty): Add values of new components
+ Library_TS and All_Imported_Projects.
+ (Project_Empty): Add values for new components of Project_Data:
+ Library_ALI_Dir and Display_Library_ALI_Dir
+
+ * prj-attr.adb: New project level attribute name Library_ALI_Dir
+
+ * prj-nmsc.adb (Check_Library_Attributes): Take into account new
+ attribute Library_ALI_Dir.
+ (Check_Library_Attributes): The library directory cannot be the same as
+ any source directory of the project tree.
+ (Check_Stand_Alone_Library): The interface copy directory cannot be
+ the same as any source directory of the project tree.
+
+ * mlib.adb: Use Prj.Com.Fail, instead of Osint.Fail directly, to delete
+ all temporary files.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_elab.adb: Change name Is_Package to Is_Package_Or_Generic_Package
+ (Check_Elab_Call): A call within a protected body is never an
+ elaboration call, and does not require checking.
+ (Same_Elaboration_Scope): Take into account protected types for both
+ entities.
+ (Activate_Elaborate_All_Desirable): New procedure
+
+ * ali.ads, ali.adb: Implement new AD/ED for Elaborate_All/Elaborate
+ desirable
+
+ * binde.adb: Implement new AD/ED for Elaborate_All/Elaborate desirable
+ (Elab_Error_Msg): Use -da to include internal unit links, not -de.
+
+ * lib-writ.ads, lib-writ.adb:
+ Implement new AD/ED for Elaborate_All/Elaborate desirable
+ Use new Elaborate_All_Desirable flag in N_With_Clause node
+
+ * sinfo.ads, sinfo.adb (Actual_Designated_Subtype): New attribute for
+ N_Free_Statement nodes.
+ Define new class N_Subprogram_Instantiation
+ Add Elaborate_Desirable flag to N_With_Clause node
+ Add N_Delay_Statement (covering two kinds of delay)
+
+ * debug.adb: Introduce d.f flag for compiler
+ Add -da switch for binder
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+ Cyrille Comar <comar@adacore.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): Do not create master entity
+ for task component, in the case of a limited aggregate. The enclosed
+ object declaration will create it earlier. Otherwise, in the case of a
+ nested aggregate, the object may appear in the wrong scope.
+ (Convert_Aggr_In_Object_Decl): Create a transient scope when needed.
+ (Gen_Assign): If the component being assigned is an array type and the
+ expression is itself an aggregate, wrap the assignment in a block to
+ force finalization actions on the temporary created for each row of the
+ enclosing object.
+ (Build_Record_Aggr_Code): Significant rewrite insuring that ctrl
+ structures are initialized after all discriminants are set so that
+ they can be accessed even when their offset is dynamic.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_attr.adb: Implement Machine_Rounding attribute
+ (Analyze_Access_Attribute): The access attribute may appear within an
+ aggregate that has been expanded into a loop.
+ (Check_Task_Prefix): Add semantic check for attribute 'Callable and
+ 'Terminated whenever the prefix is of a task interface class-wide type.
+ (Analyze_Attribute): Add semantic check for attribute 'Identity whenever
+ the prefix is of a task interface class-wide type.
+
+ * s-vaflop-vms-alpha.adb: Valid_D, Valid_F, Valid_G: Make Val constant
+ to avoid warnings.
+
+ * s-fatgen.ads, s-fatgen.adb (Machine_Rounding): New function
+ Remove pragma Inline for [Unaligned_]Valid.
+ Add comments that Valid routines do not work for Vax_Float
+
+ * exp_attr.adb: Implement Machine_Rounding attribute
+
+ * snames.h: Add entry for Machine_Rounding attribute
+
+2005-11-14 Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference, cases of Attribute_Size
+ and related): For a prefix that is an explicit dereference of an
+ access to unconstrained packed array type, annotate the dereference
+ with an actual subtype so GIGI can make a correct size computation.
+ (Expand_N_Attribute_Reference): In case of 'Unchecked_Access and
+ 'Unrestricted_Access, if the designated type is an interface we
+ add a type conversion to force the displacement of the pointer
+ to the secondary dispatch table.
+ Use Universal_Real instead of Long_Long_Float when we need a high
+ precision float type for the generated code (prevents gratuitous
+ Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
+ (Expand_N_Attribute_Reference): Add support for attribute 'Callable and
+ 'Terminated for task interface class-wide objects. Generate a call to
+ the predefined dispatching routine used to retrieve the _task_id from
+ a task corresponding record.
+ (Expand_Fpt_Attribute): Major change to properly handle Vax_Float
+
+ * sem_disp.adb: Change name Is_Package to Is_Package_Or_Generic_Package
+ (Check_Dispatching_Operation): Protect the frontend againts
+ previously detected errors.
+
+ * Makefile.rtl: Add new instantiations of system.fat_gen
+
+ * s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads:
+ Change name of instantiated package for better consistency
+ with newly added system.fat_gen instantiations.
+
+ * s-filofl.ads, s-fishfl.ads, s-fvadfl.ads, s-fvaffl.ads,
+ s-fvagfl.ads: New files.
+
+2005-11-14 Cyrille Comar <comar@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement, Tagged_Case): For an
+ assignment of a value of a tagged type that has been rewritten to a
+ block statement, it is known by construction that no checks are
+ necessary for the statements within the block: analyze it with checks
+ suppressed.
+ (Expand_N_If_Statement): When killing a dead then-branch in an
+ if-statement that has elsif_parts, recompute the Current_Value node
+ for any entity whose value is known from the condition of the first
+ elsif_part.
+ (Expand_N_Return_Statement): When returning a mutable record, convert
+ the return value into its actual subtype in order to help the backend
+ to return the actual size instead of the maximum. This is another
+ aftermath of not returning mutable records on the sec-stack anymore.
+
+ * sem_ch5.ads, sem_ch5.adb (Analyze_Iteration_Scheme): Minor change to
+ handling of error msg for suspicious reverse range iteration.
+ (Check_Possible_Current_Value_Condition): Move declaration from body to
+ spec, to allow this subprogram to be called from exp_ch5.
+
+2005-11-14 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Append_Array_Traversal): Modify constrained case to
+ generate a set of nested array aggregates instead of a single flat
+ aggregate for multi-dimensional arrays.
+
+2005-11-14 Pascal Obry <obry@adacore.com>
+
+ * expect.c (__gnat_kill) [Win32]: Fix implementation, the pid returned
+ by spawnve is a process handle, no need to convert. Add a parameter
+ close to control wether the process handle must be closed.
+ (__gnat_waitpid): Fix implementation, the pid returned by spawnve is
+ a process handle, not need to convert.
+ (__gnat_kill) [*]: Add dummy parameter close to match the Win32 spec.
+
+ * g-expect.adb: (Kill): Document the new close parameter.
+ (Close): Do not release the process handle in the kill there as
+ waitpid() is using it.
+ (Send_Signal): Release the process handle.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * exp_fixd.adb: Use Universal_Real instead of Long_Long_Float when we
+ need a high precision float type for the generated code (prevents
+ gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
+ used).
+
+ * exp_imgv.adb: Use Universal_Real instead of Long_Long_Float when we
+ need a high precision float type for the generated code (prevents
+ gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
+ used).
+ (Expand_Width_Attribute): In configurable run-time, the attribute is not
+ allowed on non-static enumeration subtypes. Force a load error to emit
+ the correct diagnostic.
+
+2005-11-14 Thomas Quinot <quinot@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_intr.adb (Expand_Unc_Deallocation): If GIGI needs an actual
+ subtype to compute the size of the designated object at run-time,
+ create such a subtype and store it in the Actual_Designated_Subtype
+ attribute of the N_Free_Statement.
+ Generate itype for classwide designated object in both cases of
+ user-specified storage pool: specific and class-wide, not only in the
+ specific case.
+ Raise CE when trying to set a not null access type object to null.
+ (Expand_Dispatching_Constructor_Call): Retrieve subprogram actual with
+ an explicit loop, because freeze nodes make its position variable.
+
+ * sem_intr.adb (Check_Intrinsic_Call): Given warning for freeing not
+ null object.
+
+2005-11-14 Javier Miranda <miranda@adacore.com>
+
+ * exp_strm.adb (Build_Stream_Attr_Profile, Build_Stream_Function,
+ Build_Stream_Procedure): Add the null-excluding attribute to the first
+ formal.
+ This has no semantic meaning under Ada95 mode but it is a
+ requirement under Ada05 mode.
+
+ * par-ch3.adb (P_Access_Definition): Addition of warning message if
+ the null exclusion is used under Ada95 mode
+ (P_Null_Exclusion): The qualifier has no semantic meaning in Ada 95.
+ (P_Access_Definition): Remove assertion that forbids the use of
+ the null-exclusion feature in Ada95.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * impunit.adb: Exclude container helper units not intended for use by
+ users.
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Entity): For an access formal that is an access
+ to subprogram, freeze the anonymous subprogram type at the same time,
+ to prevent later freezing in the wrong scope, such as the enclosing
+ subprogram body.
+ (Freeze_Entity): Freeze the equivalent_type of an access_to_protected_
+ subprogram whenever available.
+
+2005-11-14 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/23732
+ * gnatvsn.ads (Library_Version): Bump to 4.1
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * g-debpoo.adb (Set_Valid): Use Integer_Address instead of
+ Storage_Offset to avoid wrap around causing invalid results.
+
+2005-11-14 Pascal Obry <obry@adacore.com>
+
+ * gnatbind.adb (Is_Cross_Compiler): New function returning True for
+ cross-compiler.
+ (Scan_Bind_Arg): Fail with an error message if -M option is used
+ on a native compiler.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * gprep.adb: Implement -C switch to scan comments
+
+ * scng.adb: Scan comment symbol separately if Replace_In_Comments set
+
+ * scans.ads: Comment updates (including new use of Tok_Comment in
+ preprocessing)
+
+ * opt.ads: Add documentation for flags that are used by gprmake,
+ currently and in the next version of gprmake.
+ (Verbosity_Level): New variable
+ Add Replace_In_Comments switch
+
+ * vms_data.ads: Add VMS equivalent for new gnatmake switches -vl, -vm
+ and -vm.
+ Add /REPLACE_IN_COMMENTS for gnatprep -C switch
+
+2005-11-14 Arnaud Charlet <charlet@adacore.com>
+
+ * g-regpat.adb (Fail): raise Expression_Error including the diagnostic
+ message, friendlier.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * g-spitbo.adb: (Hash): Rotate by 3 instead of 1
+
+2005-11-14 Doug Rupp <rupp@adacore.com>
+
+ * init.c [VMS]: Don't install __gnat_error_handler if DBG$TDBG defined.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * interfac.ads: Change declarations of IEEE float types so that we no
+ longer need a separate version of this package for VMS.
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-xref.adb (Generate_Definition, Generate_Reference): Treat the
+ internal entity created for the declaration of a child subprogram body
+ with no spec as coming from source, to generate proper cross-reference
+ information.
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Compile_Sources): Change verbose message to minimum
+ verbosity level High for "is in an Ada library", "is a read-only
+ library" and "is an internal library",
+ (Create_Binder_Mapping_File): Path name of ALI file for library project
+ must include the library directory, not the object directory.
+ (Scan_Make_Arg): Make sure that Switch.M.Scan_Make_Switches is called
+ for new switches -vl, -vm and -vh.
+ (Verbose_Msg): Add new defaulted parameter Minimum_Verbosity
+ (Check): Use minimum verbosity Medium for some Verbose_Msg calls
+ (Compile_Sources): Do not attempt to compile if an ALI file is missing
+ in a project that is externally built.
+ (Compute_All_Imported_Projects): New procedure
+ (Gnatmake): Check if importing libraries should be regenerated because
+ at least an imported library is more recent.
+ (Initialize): For each project compute the list of the projects it
+ imports directly or indirectly.
+ (Add_Library_Search_Dir): New procedure, used in place of
+ Add_Lib_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
+ put in the search paths.
+ (Add_Source_Search_Dir): New procedure, used in place of
+ Add_Src_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
+ put in the search paths.
+ (Mark_Directory): Resolve the absolute path the directory before marking
+ it.
+
+ * switch-m.adb (Scan_Make_Switches): Replace "raise Bad_Switch;" with
+ call to new procedure Bad_Switch. Call Scan_Pos with new parameter
+ Switch. Do not handle any exception.
+ (Scan_Make_Switches): Increment Ptr for new switches -vl, -vm and -vh
+ so that the switch is recognized as valid.
+ (Scan_Make_Switches): Implement new switches -vl, -vm and -vh.
+
+2005-11-14 GNAT Script <nobody@adacore.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2005-11-14 Pascal Obry <obry@adacore.com>
+
+ * mdll.adb (Build_Reloc_DLL): Fix parameter handling when a map file is
+ used.
+ (Ada_Build_Reloc_DLL): Fix parameter handling when a map file is used.
+ In both cases the last argument was dropped.
+
+2005-11-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * namet.h: (Column_Numbe): New type.
+ (Get_Column_Number): Define to sinput__get_column_number.
+ (Instantiation): Define to sinput__instantiation.
+ (Get_Column_Number): Declare.
+ (Instantiation): Likewise.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * par-ch10.adb (P_Compilation_Unit): Add defenses against junk unit
+ syntax, which could cause compiler hangs.
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * prj-ext.adb: Take into account new environment variable
+ GPR_PROJECT_PATH. Warn if both GPR_PROJECT_PATH and ADA_PROJECT_PATH
+ are defined.
+ (Prj.Ext elaboration): For each directory in the ADA_PROJECT_PATH,
+ normalize its path name, making it absolute and resolving symbolic
+ links, and replace the original if resolved path is different.
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * prj-part.adb (Create_Virtual_Extending_Project): Put virtual project
+ into Prj.Tree.Tree_Private_Part.Projects_Htable for GPS.
+
+2005-11-14 Emmanuel Briot <briot@adacore.com>
+
+ * prj-pp.adb (Print): Do not output the with statement if the
+ associated name is empty, which happens for virtual extending projects.
+ (Print): Preserve the "extends all" attribute when printing the project.
+
+ * prj-tree.ads (String_Value_Of): Add comment about returned value for
+ a virtual extending project.
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Resolve_Aggregate): An others choice is legal on the
+ rhs of an assignment even if the type is unconstrained, when the
+ context is non-expanding.
+ In an inlined body, if the context type is private,
+ resolve with its full view, which must be a composite type.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb: Change name Is_Package to Is_Package_Or_Generic_Package
+ Do not give obsolescent warning on with of subprogram (since we
+ diagnose calls)
+ (Analyze_With_Clause): Add test for obsolescent package
+ (Install_Context_Clauses): If the unit is the body of a child unit, do
+ not install twice the private declarations of the parents, to prevent
+ circular lists of Use_Clauses in a parent.
+ (Implicit_With_On_Parent): Do add duplicate with_clause on parent when
+ compiling body of child unit.
+ Use new class N_Subprogram_Instantiation
+ (Expand_With_Clause): If this is a private with_clause for a child unit,
+ appearing in the context of a package declaration, then the implicit
+ with_clauses generated for parent units are private as well.
+ (License_Check): Do not generate message if with'ed unit is internal
+
+2005-11-14 Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch12.ads, sem_ch12.adb (Map_Entities): Exclude entities whose
+ names are internal, because they will not have a corresponding partner
+ in the actual package.
+ (Analyze_Formal_Package): Move the setting of the formal package spec's
+ Generic_Parent field so that it occurs prior to analyzing the package,
+ to allow proper operation of Install_Parent_Private_Declarations.
+ (Analyze_Package_Instantiation): Set the instantiated package entity's
+ Package_Instantiation field.
+ (Get_Package_Instantiation_Node): Move declaration to package spec.
+ Retrieve the N_Package_Instantiation node when the Package_Instantiation
+ field is present.
+ (Check_Generic_Child_Unit): Within an inlined call, the only possible
+ instantiation is Unchecked_Conversion, for which no parents are needed.
+ (Inline_Instance_Body): Deinstall and record the use_clauses for all
+ parent scopes of a scope being removed prior to inlining an instance
+ body.
+ (Analyze_Package_Instantiation): Do not perform front-end inlining when
+ the current context is itself an instance within a non-instance child
+ unit, to prevent scope stack errors.
+ (Save_References): If the node is an aggregate that is an actual in a
+ call, rewrite as a qualified expression to preserve some type
+ information, to resolve possible ambiguities in the instance.
+ (Instance_Parent_Unit): New global variable to record the ultimate
+ parent unit associated with a generic child unit instance (associated
+ with the existing Parent_Unit_Visible flag).
+ (type Instance_Env): New component Instance_Parent_Unit for stacking
+ parents recorded in the global Instance_Parent_Unit.
+ (Init_Env): Save value of Instance_Parent_Unit in the Instance_Env
+ stack.
+ (Install_Spec): Save the parent unit entity in Instance_Parent_Unit when
+ it's not a top-level unit, and only do this if Instance_Parent_Unit is
+ not already set. Replace test of Is_Child_Unit with test of parent's
+ scope against package Standard. Add comments and a ??? comment.
+ (Remove_Parent): Revise condition for resetting Is_Immediately_Visible
+ on a child instance parent to test that the parent equals
+ Instance_Parent rather than simply checking that the unit is not a
+ child unit.
+ (Restore_Env): Restore value of Instance_Parent_Unit from Instance_Env.
+ (Validate_Derived_Interface_Type_Instance): Verify that all ancestors of
+ a formal interface are ancestors of the corresponding actual.
+ (Validate_Formal_Interface_Type): Additional legality checks.
+ (Analyze_Formal_Derived_Interface_Type): New procedure to handle formal
+ interface types with ancestors.
+ (Analyze_Formal_Package): If formal is a renaming, use renamed entity
+ to diagnose attempts to use generic within its own declaration.
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.ads, sem_ch3.adb (Build_Discriminal): Add link to original
+ discriminant.
+ (Build_Private_Derived_Type): The entity of the created full view of the
+ derived type does not come from source. If after installing the private
+ declarations of the parent scope the parent is still private, use its
+ full view to construct the full declaration of the derived type.
+ (Build_Derived_Record_Type): Relax the condition that controls the
+ execution of the check that verifies that the partial view and
+ the full view agree in the set of implemented interfaces. In
+ addition, this test now only takes into account the progenitors.
+ (Derive_Interface_Subprograms): No need to derive subprograms
+ of ancestors that are interfaces.
+ (Derive_Subprograms): Remove formal No_Predefined_Prims and the
+ associated code.
+ Change name Is_Package to Is_Package_Or_Generic_Package
+ (Complete_Subprograms_Derivation): Handle the case in which the full
+ view is a transitive derivation of the ancestor of the partial view.
+ (Process_Full_View): Rename local subprogram Find_Interface_In_
+ Descendant to Find_Ancestor_Interface to leave the code more clear.
+ Remove wrong code that avoids the generation of an error message
+ when the immediate ancestor of the partial view is an interface.
+ In addition some minor reorganization of the code has been done to
+ leave it more clear.
+ (Analyze_Type_Declaration): If type has previous incomplete tagged
+ partial view, inherit properly its primitive operations.
+ (Collect_Interfaces): Make public, for analysis of formal
+ interfaces.
+ (Analyze_Interface_Declaration): New procedure for use for regular and
+ formal interface declarations.
+ (Build_Derived_Record_Type): Add support for private types to the code
+ that checks if a tagged type implements abstract interfaces.
+ (Check_Aliased_Component_Type): The test applies in the spec of an
+ instance as well.
+ (Access_Type_Declaration): Clean up declaration of malformed type
+ declared as an access to its own classwide type, to prevent cascaded
+ crash.
+ (Collect_Interfaces): For private extensions and for derived task types
+ and derived protected types, the parent may be an interface that must
+ be included in the interface list.
+ (Access_Definition): If the designated type is an interface that may
+ contain tasks, create Master_Id for it before analyzing the expression
+ of the declaration, which may be an allocator.
+ (Record_Type_Declaration): Set properly the interface kind, for use
+ in allocators, the creation of master id's for task interfaces, etc.
+
+2005-11-14 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Check_Conformance): The null-exclusion feature can be
+ omitted in case of stream attribute subprograms.
+ (Check_Inline_Pragma): Handle Inline and Inline_Always pragmas that
+ appear immediately after a subprogram body, when there is no previous
+ subprogram declaration.
+ Change name Is_Package to Is_Package_Or_Generic_Package
+ (Process_Formals): A non null qualifier on a non null named access
+ type is not an error, and is a warning only if Redundant_Constructs
+ are flagged.
+
+2005-11-14 Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch7.adb (Install_Parent_Private_Declarations): New procedure
+ nested within Analyze_Package_Specification to install the private
+ declarations and use clauses within each of the parent units of a
+ package instance of a generic child package.
+ (Analyze_Package_Specification): When entering a private part of a
+ package associated with a generic instance or formal package, the
+ private declarations of the parent must be installed (by calling new
+ procedure Install_Parent_Private_Declarations).
+ Change name Is_Package to Is_Package_Or_Generic_Package
+ (Preserve_Full_Attributes): For a synchronized type, the corresponding
+ record is absent in a generic context, which does not indicate a
+ compiler error.
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic context, do
+ not try to rewrite a renamed stream attribute, because the operations
+ on the type may not have been generated.
+ Handle properly a renaming_as_body generated for a stream operation
+ whose default is abstract because the object type itself is abstract.
+ (Find_Type): If the type is incomplete and appears as the prefix of a
+ 'Class reference, it is tagged, and its list of primitive operations
+ must be initialized properly.
+ (Chain_Use_Clauses): When chaining the use clauses that appear in the
+ private declaration of a parent unit, prior to compiling the private
+ part of a child unit, find on the scope stack the proper parent entity
+ on which to link the use clause.
+ (Note_Redundant_Use): Emit a warning when a redundant use clause is
+ detected.
+ (Analyze_Object_Renaming): An attribute reference is not a legal object
+ if it is not a function call.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_eval.adb: Implement d.f flag
+ (Subtype_Statically_Match): A generic actual type has unknown
+ discriminants when the corresponding actual has a similar partial view.
+ If the routine is called to validate the signature of an inherited
+ operation in a child instance, the generic actual matches the full view,
+
+2005-11-14 Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb (Resolve_Call): Provide a better error message whenever
+ a procedure call is used as a select statement trigger and is not an
+ entry renaming or a primitive of a limited interface.
+ (Valid_Conversion): If the operand has a single interpretation do not
+ remove address operations.
+ (Check_Infinite_Recursion): Skip freeze nodes when looking for a raise
+ statement to inhibit warning.
+ (Resolve_Unary_Op): Do not produce a warning when
+ processing an expression of the form -(A mod B)
+ Use Universal_Real instead of Long_Long_Float when we need a high
+ precision float type for the generated code (prevents gratuitous
+ Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
+ (Resolve_Concatenation_Arg): Improve error message when argument is an
+ ambiguous call to a function that returns an array.
+ (Make_Call_Into_Operator, Operand_Type_In_Scope): Do not check that
+ there is an implicit operator in the given scope if we are within an
+ instance: legality check has been performed on the generic.
+ (Resolve_Unary_Op): Apply warnings checks on argument of Abs operator
+ after resolving operand, to avoid false warnings on overloaded calls.
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ PR ada/15604
+ * sem_type.adb (Covers): In an inlined body, a composite type matches
+ a private type whose full view is a composite type.
+ (Interface_Present_In_Ancestor): Protect the frontend against
+ previously detected errors to ensure that its compilation
+ with assertions enabled gives the same output that its
+ compilation without assertions.
+ (Interface_Present_In_Ancestor): Add support for private types.
+ Change name In_Actual to In_Generic_Actual (clean up)
+ (Disambiguate): New predicate In_Actual, to recognize expressions that
+ appear in the renaming declaration generated for generic actuals, and
+ which must be resolved in the outer context.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.ads, sem_util.adb: Change name Is_Package to
+ Is_Package_Or_Generic_Package.
+ (Check_Obsolescent): New procedure.
+ (Set_Is_Public): Remove obsolete junk test.
+ (Set_Public_Status): Do not set Is_Public on an object whose declaration
+ occurs within a handled_sequence_of_statemets.
+ (Is_Controlling_Limited_Procedure): Factor some of the logic, account
+ for a parameterless procedure.
+ (Enter_Name): Recognize renaming declarations created for private
+ component of a protected type within protected operations, so that
+ the source name of the component can be used in the debugger.
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_warn.ads, sem_warn.adb (Publicly_Referenceable): Generic formals
+ of a generic subprogram are not visible outside the body.
+ (Set_Warning_Switch): New procedure (code to set warning mode moved
+ here from Switch.C so that it can be shared by pragma processing.
+ (Check_References): Special case warning for non-modified non-imported
+ volatile objects.
+ * par-prag.adb: Modify processing of pragma Warnings to accomodate new
+ form with a string literal argument
+
+2005-11-14 Javier Miranda <miranda@adacore.com>
+
+ * s-finroo.ads, s-finroo.adb (Read): Addition of "not null" to the
+ anonymous access.
+ (Write): Addition of "not null" to the anonymous access.
+ (Read): Addition of "not null" to the anonymous access.
+ (Write): Addition of "not null" to the anonymous access.
+
+ * s-strxdr.adb, s-stratt.ads, s-stratt.adb (I_AD, I_AS, I_B, I_C, I_F,
+ I_I, I_LF, I_LI, I_LLF, I_LLI, I_LLU, I_LU, I_SF, I_SI, I_SSI, I_SSU,
+ I_SU, I_U, I_WC): Addition of "not null" to the anonymous access.
+ (W_AD, W_AS, W_B, W_C, W_F, W_I, W_LF, W_LI, W_LLF, W_LLI, W_LLU,
+ W_LU, W_SF, W_SI, W_SSI, W_SSU, W_SU, W_U, W_WC): Addition of
+ "not null" to the anonymous access.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * s-stoele.adb: Fix code for Address mod Storage_Offset for negative
+ offset values
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * switch.adb (Bad_Switch): New procedure
+ (Scan_Nat, Scan_Pos): Directly call Osint.Fail with the appropriate
+ message when in error.
+
+ * switch.ads (Bad_Switch, Bad_Switch_Value, Missing_Switch_Value,
+ Too_Many_Output_Files): Remove declarations, no longer used.
+ (Scan_Nat): New parameter Switch
+ (Scan_Pos): Ditto
+ (Bad_Switch): New procedure
+
+ * switch-b.adb (Scan_Binder_Switches): Replace "raise Bad_Switch;"
+ with call to new procedure Bad_Switch. Call Scan_Pos and Scan_Natwith
+ new parameter Switch. Replace "raise Too_Many_Output_Files;" with call
+ to Osint.Fail. Do not handle any exception.
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * tempdir.adb (Tempdir): Do not use environment variable TMPDIR if it
+ designates a non existent directory.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * xgnatugn.adb: Replace invalid membership test by 'Valid
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * makegpr.adb (Gprmake): Do not attempt to build the global archive if
+ there is no object directory.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * usage.adb: Minor adjustment to output format, use nn instead of nnn
+ (so that -gnateInnn does not run into next column)
+
+2005-11-14 Ed Falis <falis@adacore.com>
+
+ * s-bitops.adb (Bits_Array): corrected comment: "unconstrained" =>
+ "constrained"
+
+2005-11-14 Cyrille Comar <comar@adacore.com>
+
+ * s-chepoo.ads: Add comments on Dereference.
+ Remove unnecessary inherited abstract primitives.
+ Cosmetic cleanup.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * sem_cat.ads (Validate_Access_Type_Declaration): Remove declaration
+ node parameter, not needed, since it is available as Declaration_Node.
+
+2005-11-14 Geert Bosch <bosch@adacore.com>
+
+ * s-exnllf.adb (Exn_LLF): Fix comment to be more precise and
+ grammatically correct.
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * s-fileio.ads: Correct spelling error in comment
+
+2005-11-14 Cyrille Comar <comar@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Vincent Celier <celier@adacore.com>
+ Ben Brosgol <brosgol@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+ Pascal Obry <obry@adacore.com>
+
+ * gnat_ugn.texi:
+ Document that -fstack-check is needed for strict compliance with the
+ Ada 95 Reference Manual.
+ Correct reference to VAX systems to meet HP guidelines
+ Add documentation for new gnatmake switches -vl, -vm and -vh
+ Replace DEC Ada by HP Ada
+ Replace DIGITAL by HP
+ Remove empty section on tools in compatibility section
+ Clarify the Windows convention semantics.
+ Document the Win32 calling convention.
+ The Stdcall, Win32 and DLL convention are synonyms.
+ Add a note in -gnatR description about zero size record components
+ Note on new >= and <= warnings for -gnatwc
+ Document that equal sign after -gnatm is optional.
+ Note that strip is working fine on DLL built with a Library
+ Project. The restriction apply only to DLL built with gnatdll.
+ Update section about the way to debug a DLL.
+ Update information about the DLL convention.
+ Document -C switch for gnatprep
+ Document new attribute Library_ALI_Dir
+ Update elaboration doc to include implicit Elaborate pragmas now
+ generated for subprogram instantiations.
+ Document limitation on executable names that include spaces for --GCC,
+ --GNATBIND, and --GNATLINK switches.
+ Document that -w causes -gnatws to be added at start of gcc switches
+
+ * gnat_rm.texi: Document that -mieee is needed for generating infinite
+ and NaN values in case of overflow on machines that are not fully
+ compliant with the IEEE floating-point standard.
+ Create a section describing the set of compiler options needed for
+ strict compliance with the Ada 95 Reference Manual.
+ Add documentation for pragma Obsolescent applied to a package
+ Clarify potential issues of mixed language programs related to the
+ I/O buffering enabling in the elaboration of the GNAT runtime.
+ Add extra documentation for pragma Restrictions (No_Elaboration_Code)
+ This documentation only patch adds extra documentsion for pragma
+ Restrictions (No_Elaboration_Code), explaining why it is not possible
+ to document this restriction in terms of allowed source constructs.
+ Document string literal form of pragma Warnings
+ Document new attribute Library_ALI_Dir
+ Add documentation on stable attributes in project files that was missing
+
+ * gnat-style.texi: Indicate that paragraphs within a single comment
+ should be separated by empty comment lines
+
+ * ug_words: Added replacements for -gnat95 and -gnat05 (/95 and
+ /05 respectively)
+
+ * bindusg.adb: Minor cleanup, put -m before -M for consistency
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * a-secain.adb, a-slcain.adb, a-shcain.adb, a-chtgke.ads, a-chtgke.adb,
+ a-stwiha.adb, a-strhas.adb, a-chzla1.ads, a-chzla9.ads, a-stzbou.adb,
+ a-stzbou.ads, a-stzfix.adb, a-stzhas.adb, a-stzmap.adb, a-stzmap.ads,
+ a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads, a-stzunb.adb,
+ a-stzunb.ads, a-szuzha.adb, a-szuzha.ads, a-szuzti.adb, a-szuzti.ads,
+ a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb, a-ztcstr.adb, a-ztcstr.ads,
+ a-ztdeau.adb, a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
+ a-ztedit.ads, a-ztenau.ads, a-ztenio.adb, a-ztenio.ads, a-ztexio.adb,
+ a-ztexio.ads, a-ztfiio.adb, a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads,
+ a-ztflio.adb, a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
+ a-ztinau.ads, a-ztinio.adb, a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads,
+ a-zttest.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-alpha.adb,
+ g-enblsp-vms-ia64.adb, g-enblsp-vms-ia64.adb, system-linux-hppa.ads,
+ a-chacon.adb, a-chacon.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb,
+ a-zchuni.ads, g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb,
+ system-hpux-ia64.ads, g-soccon-unixware.ads, g-soliop-unixware.ads,
+ g-soccon-interix.ads, g-soliop-solaris.ads, g-eacodu-vms.adb,
+ g-expect-vms.adb, g-socthi-vms.adb, g-soliop-mingw.ads,
+ a-intnam-unixware.ads, a-intnam-lynxos.ads, a-intnam-tru64.ads,
+ a-intnam-aix.ads, a-intnam-linux.ads, a-intnam-linux.ads,
+ a-intnam-dummy.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
+ a-intnam-solaris.ads, a-calend-vms.adb, a-calend-vms.ads,
+ a-intnam-vms.ads, a-calend-mingw.adb, a-intnam-mingw.ads,
+ a-intnam-vxworks.ads, a-numaux-vxworks.ads, system-unixware.ads,
+ system-linux-ia64.ads, a-intnam-freebsd.ads, system-freebsd-x86.ads,
+ system-lynxos-ppc.ads, system-linux-x86_64.ads, a-stunha.adb,
+ a-cgaaso.ads, a-cgaaso.adb, a-chtgop.adb, a-cgcaso.adb, a-cgarso.adb,
+ a-cohata.ads, a-crbtgk.adb, a-crbltr.ads, a-coprnu.adb, a-rbtgso.adb,
+ a-intnam-darwin.ads, system-darwin-ppc.ads, gprmake.adb, makegpr.ads,
+ system-tru64.ads, system-aix.ads, system-solaris-x86.ads,
+ system-irix-o32.ads, s-interr-sigaction.adb, system-irix-n32.ads,
+ s-parame-mingw.adb, system-hpux.ads, s-traceb-hpux.adb,
+ system-linux-x86.ads, s-inmaop-dummy.adb, system-os2.ads,
+ system-interix.ads, system-solaris-sparc.ads,
+ system-solaris-sparcv9.ads, s-inmaop-vms.adb,
+ s-mastop-vms.adb, expander.adb, expander.ads, s-gloloc-mingw.adb,
+ system-mingw.ads, system-vms-zcx.ads, s-osinte-fsu.adb,
+ s-traceb-mastop.adb, a-exextr.adb, a-exstat.adb, a-filico.ads,
+ a-finali.ads, a-interr.ads, a-intsig.adb, a-intsig.ads,
+ a-except.ads, a-numaux-x86.ads, a-astaco.adb, a-calend.adb,
+ a-calend.ads, a-chahan.adb, a-chahan.ads, a-chlat9.ads,
+ a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
+ a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
+ a-elchha.adb, a-decima.adb, a-decima.ads, a-diocst.ads,
+ a-direio.adb, a-direio.ads, a-excach.adb, a-excach.adb,
+ a-exctra.ads, ali-util.adb, a-ngcefu.adb, a-ngcoty.adb,
+ a-ngcoty.ads, a-nudira.adb, a-nudira.ads, a-nuflra.adb,
+ a-numaux.ads, a-reatim.ads, a-sequio.adb, a-sequio.ads,
+ a-siocst.ads, a-ssicst.ads, a-stmaco.ads, a-storio.adb,
+ a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
+ a-strmap.adb, a-strmap.ads, a-strsea.adb, a-strsea.ads,
+ a-strsup.adb, a-strsup.ads, a-strunb.adb, a-strunb.ads,
+ a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwima.adb,
+ a-stwima.ads, a-stwise.adb, a-stwise.ads, a-stwisu.adb,
+ a-stwisu.ads, a-stwiun.adb, a-stwiun.ads, a-suteio.adb,
+ a-suteio.ads, a-swmwco.ads, a-swuwti.adb, a-swuwti.ads,
+ a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb,
+ a-taside.ads, a-teioed.adb, a-textio.adb, a-textio.ads,
+ a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tideau.adb,
+ a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
+ a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
+ a-tiinio.adb, a-timoau.adb, a-timoio.adb, a-timoio.ads,
+ a-tiocst.ads, a-titest.adb, atree.adb, a-witeio.adb,
+ a-witeio.ads, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb,
+ a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtedit.adb,
+ a-wtedit.ads, a-wtenau.adb, a-wtenio.adb, a-wtfiio.adb,
+ a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
+ a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, back_end.adb,
+ bindgen.adb, butil.adb, butil.ads, checks.ads, cio.c, comperr.adb,
+ csets.ads, cstand.adb, debug.ads, elists.ads, errno.c, errout.adb,
+ errout.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
+ errutil.ads, err_vars.ads, eval_fat.adb, exp_ch11.adb, exp_ch11.ads,
+ exp_ch2.adb, exp_ch7.ads, exp_imgv.ads, exp_pakd.adb, exp_prag.adb,
+ exp_prag.ads, exp_tss.adb, exp_tss.ads, exp_vfpt.ads, fe.h, fmap.adb,
+ freeze.ads, frontend.adb, frontend.ads, g-arrspl.adb, g-arrspl.ads,
+ g-awk.adb, g-awk.ads, g-boumai.ads, g-calend.adb, g-calend.ads,
+ g-catiio.adb, g-comlin.adb, g-comlin.ads, g-comlin.ads, g-comlin.ads,
+ g-comver.adb, g-crc32.adb, g-crc32.ads, g-ctrl_c.ads, g-curexc.ads,
+ g-debpoo.ads, g-debuti.adb, g-diopit.adb, g-diopit.ads, g-dirope.adb,
+ g-dirope.ads, g-dyntab.adb, g-dyntab.ads, g-excact.adb, g-excact.ads,
+ g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.ads, g-flocon.ads,
+ g-hesorg.ads, g-io.adb, g-locfil.ads, g-md5.adb, g-md5.ads, g-md5.ads,
+ g-moreex.adb, g-signal.ads, g-signal.adb, gnatbind.ads, gnatchop.adb,
+ gnatcmd.adb, gnatfind.adb, gnatlbr.adb, gnatmake.ads, gnatmem.adb,
+ gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb, g-os_lib.adb,
+ g-os_lib.ads, g-pehage.adb, g-pehage.ads, gprep.ads, g-regexp.adb,
+ g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.ads, g-semaph.adb,
+ g-socthi.adb, g-soliop.ads, g-spipat.adb, g-spipat.ads, g-sptabo.ads,
+ g-sptain.ads, g-sptavs.ads, g-string.ads, g-tasloc.adb, g-tasloc.ads,
+ g-trasym.adb, g-trasym.ads, i-fortra.adb, i-fortra.ads, inline.adb,
+ layout.adb, live.adb, make.ads, makeutl.ads, makeutl.adb, mdll-fil.adb,
+ mdll-fil.ads, mdll-utl.ads, memroot.ads, memtrack.adb, mlib.ads,
+ mlib-fil.adb, mlib-fil.ads, mlib-prj.ads, mlib-utl.adb, mlib-utl.ads,
+ nlists.adb, nlists.ads, osint.adb, osint.ads, osint-c.adb, osint-l.adb,
+ osint-l.ads, osint-m.ads, output.adb, par.adb, par.adb, par.ads,
+ par-ch11.adb, par-ch12.adb, par-ch2.adb, par-ch4.adb, par-ch5.adb,
+ par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
+ par-tchk.adb, prep.adb, prepcomp.adb, prepcomp.ads, prj-attr.ads,
+ prj-com.ads, prj-dect.adb, prj-dect.ads, prj-env.ads, prj-err.ads,
+ prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.ads, prj-pars.adb,
+ prj-pars.ads, prj-part.ads, prj-pp.ads, prj-proc.ads, prj-strt.adb,
+ prj-strt.ads, prj-tree.adb, prj-util.adb, prj-util.ads, rtsfind.adb,
+ sem.adb, sem.ads, sem_case.adb, sem_case.ads, sem_ch11.adb,
+ sem_ch4.adb, sem_ch6.ads, sem_ch7.ads, sem_dist.ads, sem_elab.ads,
+ sem_elim.ads, sem_eval.ads, sem_intr.ads, sem_maps.adb, sem_maps.ads,
+ sem_maps.ads, sem_res.ads, sem_type.ads, sfn_scan.adb, sfn_scan.ads,
+ s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads, s-inmaop.ads, sinput.adb,
+ sinput.ads, s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads,
+ s-pack06.adb, s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb,
+ s-pack09.ads, s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
+ s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb,
+ s-pack14.ads, s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads,
+ s-pack18.adb, s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb,
+ s-pack20.ads, s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
+ s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb,
+ s-pack25.ads, s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads,
+ s-pack28.adb, s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb,
+ s-pack30.ads, s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
+ s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb,
+ s-pack36.ads, s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads,
+ s-pack39.adb, s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb,
+ s-pack41.ads, s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
+ s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb,
+ s-pack46.ads, s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads,
+ s-pack49.adb, s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb,
+ s-pack51.ads, s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
+ s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb,
+ s-pack56.ads, s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads,
+ s-pack59.adb, s-pack59.ads, s-pack60.adb, s-pack60.adb, s-pack60.ads,
+ s-pack61.adb, s-pack61.ads, s-pack62.adb, s-pack62.ads, s-pack63.adb,
+ s-pack63.ads, s-parint.adb, s-parint.adb, s-parint.ads, sprint.ads,
+ s-purexc.ads, s-restri.ads, s-restri.adb, s-scaval.adb, s-scaval.ads,
+ s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads, stand.ads,
+ s-tasuti.adb, s-traceb.adb, s-traceb.ads, stringt.adb, stringt.ads,
+ styleg.ads, s-valboo.adb, s-valboo.ads, s-valcha.adb, s-valcha.ads,
+ s-valdec.adb, s-valdec.ads, s-valint.adb, s-valint.ads, s-valint.ads,
+ s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads, s-valllu.adb,
+ s-valllu.ads, s-valrea.adb, s-valrea.ads, s-valuns.adb, s-valuns.ads,
+ s-valuti.adb, s-valuti.ads, s-valwch.ads, s-veboop.adb, s-veboop.ads,
+ s-vercon.adb, s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchcon.ads,
+ s-wchjis.adb, s-wchjis.ads, s-wchstw.adb, s-wchstw.adb, s-wchstw.ads,
+ s-wchwts.adb, s-wchwts.ads, s-widboo.adb, s-widboo.ads, s-widcha.adb,
+ s-widcha.ads, s-widenu.adb, s-widenu.ads, s-widlli.adb, s-widlli.ads,
+ s-widllu.adb, s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
+ s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, symbols.adb, symbols.ads,
+ table.ads, targparm.adb, targparm.ads, tb-alvms.c, tb-alvxw.c,
+ tbuild.adb, tree_io.ads, treepr.adb, treeprs.adt, ttypef.ads,
+ ttypes.ads, types.adb, uintp.adb, uintp.ads, uname.ads, urealp.ads,
+ usage.ads, validsw.ads, vxaddr2line.adb, widechar.adb, widechar.ads,
+ xeinfo.adb, xnmake.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads,
+ xsinfo.adb, xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb,
+ a-dirval.ads, a-dirval.adb, a-dirval-mingw.adb, a-direct.ads,
+ a-direct.adb, indepsw.ads, prj-attr-pm.ads, system-linux-ppc.ads,
+ a-numaux-darwin.ads, a-numaux-darwin.adb,
+ a-swuwha.ads, a-stunha.ads: Minor reformatting
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ PR ada/18434
+ * osint-m.adb: Add pragma Elaborate_All for Osint
+
+2005-11-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/23995
+ * trans.c (call_to_gnu): Restore statement lost in translation.
+
+2005-11-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * init.c: Use the Linux-specific section for the IA-64/Linux target.
+ (__gnat_adjust_context_for_raise): Add conditional code so that the
+ IA-64 is also supported.
+
+2005-11-03 James E Wilson <wilson@specifix.com>
+
+ PR ada/23427
+ * trans.c (gnat_to_gnu): Use TYPE_SIZE_UNIT not TYPE_SIZE in
+ TREE_OVERFLOW check.
+
+2005-09-21 Olivier Hainque <hainque@adacore.com>
+
+ PR ada/22418
+ * decl.c (maybe_pad_type): Use proper bitsizetype for XVZ objects,
+ as we create them to store a size in bits.
+
+2005-10-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/21937
+ PR ada/22328
+ PR ada/22381
+ PR ada/22383
+ PR ada/22419
+ PR ada/22420
+ * utils2.c (build_return_expr): New helper function.
+ * gigi.h (build_return_expr): Declare it.
+ * trans.c (Subprogram_Body_to_gnu): Use build_return_expr instead
+ of manually building the RETURN_EXPR tree.
+ (call_to_gnu): Pass MODIFY_EXPR through build_binary_op.
+ (gnat_to_gnu) <N_Return_Statement>: Pass MODIFY_EXPR through
+ build_binary_op for the "target pointer" case. Use build_return_expr
+ instead of manually building the RETURN_EXPR tree.
+
+2005-09-16 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/23788
+ * s-tpinop.ads: Make this unit Preelaborate.
+
+2005-09-16 Andreas Jaeger <aj@suse.de>
+
+ * socket.c: Add string.h for memcpy.
+
+2005-09-05 Arnaud Charlet <charlet@adacore.com>
+
+ * dec-io.ads, dec-io.adb: Removed, no longer used.
+
+2005-09-01 Arnaud Charlet <charlet@adacore.com>
+
+ * 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
+ categorization.
+ 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
+ Preelaborate.
+ 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
+ Preelaborate.
+ 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
+ Preelaborate.
+ 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
+ duplication.
+ Remove reference to *Machine_State_Addr*, no longer needed.
+
+2005-09-01 Arnaud Charlet <charlet@adacore.com>
+
+ * 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
+ preelaborate.
+ (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
+ preelaborate.
+ 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.
+
+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
+ Make_Function_Specification.
+ (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.
+
+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
+ table.
+ 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
+ Set_Result_Definition.
+ (Build_Variant_Record_Equality): Change Subtype_Mark to
+ Result_Definition.
+ (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
+ interface.
+
+ * 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
+ interfaces.
+ (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_
+ Entity.
+ (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
+ Default_Prim_Op_Count.
+ (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
+ selects.
+ (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
+ interface.
+ (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
+ predefined.
+ (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,
+ Set_Prim_Op_Kind.
+
+ * sem_ch9.adb (Analyze_Triggering_Alternative): Check for legal type
+ of procedure name or prefix that appears as a trigger in a triggering
+ alternative.
+
+ * uintp.ads: Introduce constants Uint_11 and Uint_13.
+
+2005-09-01 Arnaud Charlet <charlet@adacore.com>
+
+ * 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.
+
+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
+ Preelaborate.
+ (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
+ caller.
+ Use only Preelaborate-compatible constructs.
+
+ * s-tpopsp-vxworks.adb (ATBC_Key, ATCB_Key_Addr): Moved from
+ Primitives.Operations.
+ (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.
+
+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:
+ IP_MULTICAST_IF
+ SO_RCVTIMEO/SO_SNDTIMEO
+ IOV_MAX
+
+ * 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.
+
+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.
+
+2005-09-01 Arnaud Charlet <charlet@adacore.com>
+
+ * 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.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+
+ * binde.adb: Minor reformatting
+ (Find_Elab_Order): Output warning if -p used with static elab order
+
+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.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+
+ * a-ztexio.adb, a-textio.adb, a-witeio.adb: Replace bad range checks
+ with 'Valid tests.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads, errout.adb (Fix Error_Msg_F): Fix implementation to meet
+ spec.
+ 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
+ warning).
+ (Check_For_Source): Change value of Source_Id only after the current
+ source has been dealt with.
+
+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
+
+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.
+
+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
+ typ___XB_lowerbound__upperbound.
+
+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.
+
+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.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+
+ * exp_pakd.adb (Create_Packed_Array_Type): Properly handle very large
+ packed arrays.
+
+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
+
+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.
+
+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.
+
+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
+ Result_Definition.
+
+ * 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
+ Set_Subtype_Mark.
+
+ * 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
+ N_Function_Specification.
+ (Set_Null_Exclusion_Present): Allow this flag for
+ N_Function_Specification.
+ (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
+ N_Access_Function_Definition.
+ (Set_Result_Definition): New procedure for N_Function_Specification and
+ N_Access_Function_Definition.
+
+ * sprint.adb (S_Print_Node_Actual): Change Subtype_Mark calls to
+ Result_Definition for cases of N_Access_Function_Definition and
+ N_Function_Specification.
+ Print "not null" if Null_Exclusion_Present on N_Function_Specification.
+
+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.
+
+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
+ information.
+
+ * ali.adb (Get_Typeref): New subprogram. Adds support for parsing the
+ overriding entity information.
+
+2005-09-01 Vincent Celier <celier@adacore.com>
+
+ * mlib-prj.adb (Copy_Interface_Sources): Copy all interface sources,
+ including those that are inherited.
+
+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
+ Pack.
+
+ * 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,
+ Name_Disp_Timed_Select.
+ New pragma Debug_Policy
+
+ * switch-c.adb (Scan_Front_End_Switches): Set Ada 2005 mode
+ explicitly.
+ 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.
+
+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.
+
+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
+
+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)
+
+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)
+
+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_
+ With_Clause
+ (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.
+
+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.
+
+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.
+
+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
+ operations.
+ (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_
+ dispatching_operation)
+ (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.
+
+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
+ usual.
+ (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
+ view.
+ (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.
+
+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
+ Set_Result_Definition.
+ (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.
+
+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.
+
+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.
+
+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
+ types.
+ (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.
+
+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
+
+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
+ parameter.
+ (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
+ operation.
+ 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.
+
+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.
+
+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.
+
+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
+ positions.
+ 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
+ Float_Representation.
+ Add documentation for pragma No_Strict_Aliasing
+ Add note that explicit component clause overrides pragma Pack.
+ Add documentation of pragma Debug_Policy
+
+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.
+
+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.
+
+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
+
+2005-08-29 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/23187
+ * adaint.c
+ (GNAT_MAXPATH_LEN): Use default value if MAXPATHLEN is undefined.
+
+2005-08-29 Arnaud Charlet <charlet@adacore.com>
+ Doug Rupp <rupp@adacore.com>
+
+ * s-stalib.adb: Add missing pragma Warnings (On) to reenable Warnings
+ when needed.
+ (Inside_Elab_Final_Code): Moved to init.c to avoid having to keep
+ this code in the GNAT run-time.
+
+ * decl.c, fe.h: Replace GCC_ZCX by Back_End_Exceptions.
+
+ PR ada/21053
+ * init.c (__gnat_error_handler [many]): Mark "msg" as const
+ (__gnat_error_handler [HPUX]): Mark siginfo parameter as unused
+
+ (__gnat_inside_elab_final_code): Moved here from
+ Standard_Library and only defined for the compiler.
+ __gnat_error_handler [VMS]: Adjust sigargs to account for PC & PSL.
+ (__gnat_inum_to_ivec): Do not define this function on VxWorks when
+ using RTPs because directly vectored Interrupt routines are not
+ supported on this configuration.
+ (getpid): Do not redefine this function on VxWorks when using RTPs
+ because this primitive is well supported by the RTP libraries.
+ (copy_msg): Correct the code that checks for buffer overflow.
+ Discovered during code reading.
+
+2005-08-29 Olivier Hainque <hainque@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Variable>: When allocating storage for
+ a library level mutable variable with an initializer, tell
+ build_allocator to ignore the initializer's size. It may not be large
+ enough for all the values that might be assigned to the variable later
+ on.
+
+2005-08-29 Arnaud Charlet <charlet@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c: Protect < in error msg with quote
+ Replace GCC_ZCX by Back_End_Exceptions.
+ (addressable_p) <COMPONENT_REF>: Also return 1 if the field
+ has been sufficiently aligned in the record.
+
+2005-08-15 James E. Wilson <wilson@specifix.com>
+
+ * system-linux-alpha.ads: Change ia64 to alpha.
+
+2005-08-01 Kazu Hirata <kazu@codesourcery.com>
+
+ * decl.c, utils.c: Fix comment typos.
+
+2005-07-29 Kazu Hirata <kazu@codesourcery.com>
+
+ * decl.c, init.c, initialize.c: Fix comment typos.
+
+2005-07-20 Giovanni Bajo <giovannibajo@libero.it>
+
+ Make CONSTRUCTOR use VEC to store initializers.
+ * decl.c (gnat_to_gnu_entity): Update to cope with VEC in
+ CONSTRUCTOR_ELTS.
+ * trans.c (extract_values): Likewise.
+ * utils.c (convert, remove_conversions): Likewise.
+ * utils2.c (contains_save_expr_p, build_binary_op, build_unary_op,
+ gnat_build_constructor): Likewise.
+
+2005-07-09 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * decl.c (components_to_record): Use DECL_FCONTEXT instead of
+ DECL_SECTION_NAME.
+ (compare_field_bitpos): Likewise.
+
+2005-07-09 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * utils.c (create_var_decl): Only set DECL_COMMON on
+ VAR_DECLs. Only set SET_DECL_ASSEMBLER_NAME on
+ VAR_OR_FUNCTION_DECL_P.
+
+2005-07-08 Daniel Berlin <dberlin@dberlin.org>
+
+ * utils.c (create_param_decl): DECL_ARG_TYPE_AS_WRITTEN is
+ removed.
+
+2005-07-07 Pascal Obry <obry@adacore.com>
+
+ * g-socthi-mingw.adb (C_Inet_Addr): New body used to convert the
+ returned type on Windows.
+
+ * g-socthi-mingw.ads (C_Inet_Addr): Remove pragma Import for this
+ routine.
+
+ * g-socket.adb (Inet_Addr): Check for empty Image and raises an
+ exception in this case.
+ Simplify the code as "Image (Image'Range)" = "Image".
+
+2005-07-07 Vincent Celier <celier@adacore.com>
+
+ * bindgen.adb (Gen_Output_File_C): When switch -a was specified, put
+ the destructor/constructor attributes for <lib>final/<lib>init.
+
+ * gnatbind.adb (Gnatbind): Allow -a to be used in conjunction with -C
+
+2005-07-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not strip the padding
+ type if the parameter is not passed by copy but reference by default.
+
+2005-07-07 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Build_Record_Init_Proc/Freeze_Record_Type):
+ Reimplementation of the support for abstract interface types in order
+ to leave the code more clear and easy to maintain.
+
+ * exp_ch6.adb (Freeze_Subprogram): Reimplementation of the support for
+ abstract interface types in order to leave the code clearer and easier
+ to maintain.
+
+ * exp_disp.ads, exp_disp.adb (Fill_DT_Entry): Part of its functionality
+ is now implemented by the new subprogram Fill_Secondary_DT_Entry.
+ (Fill_Secondary_DT_Entry): Generate the code necessary to fill the
+ appropriate entry of the secondary dispatch table.
+ (Make_DT): Add code to inherit the secondary dispatch tables of
+ the ancestors.
+
+ * exp_util.adb (Find_Interface_Tag/Find_Interface_ADT): Instead of
+ implementing both functionalities by means of a common routine, each
+ routine has its own code.
+
+2005-07-07 Javier Miranda <miranda@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Check wrong uses of tag incomplete types.
+
+ * par-ch3.adb (P_Type_Declaration): Give support to tagged incomplete
+ types:
+ --
+ type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
+ --
+
+ * sem_attr.adb (Check_Not_Incomplete_Type): Additional checks for wrong
+ use of tag incomplete types.
+
+ * sem_ch3.adb (Analyze_Incomplete_Type): Add mininum decoration to
+ give support to tagged incomplete types.
+
+ * sem_ch5.adb (Analyze_Case_Statement): In generated code, if the
+ expression is a discriminant reference and its type is private, as can
+ happen within a stream operation for a mutable record, use the full
+ view of the type to resolve the case alternatives.
+ (Analyze_Assignment): Check wrong dereference of incomplete types.
+
+ * sem_ch6.adb (Process_Formals): Allow the use of tagged incomplete
+ types.
+
+ * sem_res.adb (Resolve_Explicit_Dereference): Allow the use of tagged
+ incomplete types.
+
+ * sinfo.adb (Taggged_Present/Set_Taggged_Present): Applicable to
+ N_Incomplete_Type_Declaration nodes.
+
+ * sinfo.ads (N_Incomplete_Type_Declaration): Addition of attribute
+ Tag_Present to give support to tagged incomplete types:
+ --
+ type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
+ --
+
+2005-07-07 Olivier Hainque <hainque@adacore.com>
+
+ PR ada/22301
+ * raise.c: Only include unwind.h if IN_RTS, and provide dummy type
+ definitions for the Unwind wrappers in the compiler case.
+
+2005-07-07 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * par-load.adb (Load): If a child unit is loaded through a limited_with
+ clause, each parent must be loaded as a limited unit as well.
+
+ * sem_ch10.adb (Previous_Withed_Unit): Better name for
+ Check_Withed_Unit. Return true if there is a previous with_clause for
+ this unit, whether limited or not.
+ (Expand_Limited_With_Clause): Do not generate a limited_with_clause on
+ the current unit.
+ (Is_Visible_Through_Renamings): New local subprogram of install_limited
+ _withed_unit that checks if some package installed through normal with
+ clauses has a renaming declaration of package whose limited-view is
+ ready to be installed. This enforces the check of the rule 10.1.2 (21/2)
+ of the current Draft document for Ada 2005.
+ (Analyze_Context): Complete the list of compilation units that
+ are allowed to contain limited-with clauses. It also contains
+ checks that were previously done by Install_Limited_Context_Clauses.
+ This makes the code more clear and easy to maintain.
+ (Expand_Limited_With_Clause) It is now a local subprogram of
+ Install_Limited_Context_Clauses, and contains the code that adds
+ the implicit limited-with clauses for parents of child units.
+ This functionality was prevously done by Analyze_Context.
+
+ * sem_ch4.adb (Analyze_Selected_Component): Check wrong use of
+ incomplete type.
+
+ * sem_ch7.adb (Analyze_Package_Declaration): Check if the package has
+ been erroneously named in a limited-with clause of its own context.
+ In this case the error has been previously notified by Analyze_Context.
+
+2005-07-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Find_Direct_Name): Handle properly the case of a
+ generic package that contains local declarations with the same name.
+ (Analyze_Object_Renaming): Check wrong renaming of incomplete type.
+
+2005-07-07 Bernard Banner <banner@adacore.com>
+
+ * tracebak.c: Refine tracebacks to use Unwind_Backtrace scheme on
+ ia64 platform only on platforms that you the GCC unwind library
+ rather than the system unwind library.
+
+2005-07-07 Thomas Quinot <quinot@adacore.com>
+
+ * expect.c: Minor reformatting
+
+2005-07-07 Sergey Rybin <rybin@adacore.com>
+
+ * vms_data.ads: Add VMS qualifiers for new gnatpp switch
+ --no-separate-is
+
+ * gnat_ugn.texi: Add description for new gnatpp option
+ (--no-separate-is)
+
+2005-07-04 Thomas Quinot <quinot@adacore.com>
+
+ * g-expect-vms.adb, g-expect.ads, g-expect.adb
+ (Get_Command_Output): New subprogram to launch a process and get its
+ standard output as a string.
+
+2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to
+ fetch a code-range descriptor associated with the machine state. On
+ failure set the machine state's PC to 0; on success, pass the
+ descriptor to exc_virtual_unwind.
+
+ * init.c (Tru64 section): New function __gnat_set_code_loc.
+
+2005-07-04 Vincent Celier <celier@adacore.com>
+
+ * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+ mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
+ mlib-tgt-mingw.adb, mlib-tgt-darwin.adb (Build_Dynamic_Library):
+ Remove all auto-initialization code, as this is now done through the
+ constructor mechanism.
+
+ * adaint.h, adaint.c (__gnat_binder_supports_auto_init,
+ __gnat_sals_init_using_constructors): New functions.
+
+ * bindgen.adb (Gen_Output_File_Ada): Generate pragmas
+ Linker_Constructor and Linker_Destructor when switch -a is used.
+
+ * bindusg.adb: Add line for new switch -a
+
+ * gnatbind.adb (Gnatbind_Supports_Auto_Init): New Boolean function
+ (Gnatbind): When switch -a is used, check if it is allowed
+
+ * switch-b.adb (Scan_Binder_Switches): Process new switch -a
+
+2005-07-04 Joel Brobecker <brobecker@adacore.com>
+
+ * a-tags.adb (Type_Specific_Data): Define Tags_Table as a small array.
+ This prevents us from hitting a limitation during the debug info
+ generation when using stabs.
+ (Prims_Ptr): Likewise.
+
+2005-07-04 Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * checks.adb (Null_Exclusion_Static_Checks): In the case of
+ N_Object_Declaration, only perform the checks if the Object_Definition
+ is not an Access_Definition.
+
+ * sem_ch3.adb (Access_Subprogram_Declaration): Add test for the case
+ where the parent of an the access definition is an N_Object_Declaration
+ when determining the Associated_Node_For_Itype and scope of an
+ anonymous access-to-subprogram type.
+
+ * exp_ch6.adb (Expand_N_Subprogram_Declaration): Set the
+ Corresponding_Spec on the body created for a null procedure. Add ???
+ comment. Remove New_Copy_Tree call on body argument to
+ Set_Body_To_Inline.
+
+ * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): For an out parameter with
+ discriminants, use the type of the actual as well, because the
+ discriminants may be read by the called subprogram.
+
+ * sem_ch3.adb (Access_Type_Declaration): If the designated type is an
+ access type we do not need to handle non-limited views.
+ (Build_Derived_Record_Type): Additional check to check that in case of
+ private types, interfaces are only allowed in private extensions.
+
+2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (prepend_attributes) <Pragma_Linker_Constructor>: New case.
+ <Pragma_Linker_Destructor>: Likewise.
+
+ * einfo.ads (Has_Gigi_Rep_Item): Document Pragma_Linker_Constructor and
+ Pragma_Linker_Destructor.
+
+ * gigi.h (attr_type): Add ATTR_LINK_CONSTRUCTOR and
+ ATTR_LINK_DESTRUCTOR.
+ (static_ctors, static_dtors): New variables.
+
+ * misc.c (gnat_expand_body): Output current function as constructor
+ and destructor if requested.
+
+ * par-prag.adb: Add processing for pragma Linker_Constructor and
+ Linker_Destructor.
+
+ * sem_prag.adb (Find_Unique_Parameterless_Procedure): New function
+ extracted from Check_Interrupt_Or_Attach_Handler.
+ (Check_Interrupt_Or_Attach_Handler): Invoke it.
+ Implement pragma Linker_Constructor and Linker_Destructor with the
+ help of Find_Unique_Parameterless_Procedure.
+ Replace Name_Alias with Name_Target for pragma Linker_Alias.
+
+ * snames.h, snames.ads, snames.adb:
+ Add Name_Linker_Constructor and Name_Linker_Destructor.
+ Add Pragma_Linker_Constructor and Pragma_Linker_Destructor.
+ * snames.adb: Remove Name_Alias.
+
+ * trans.c: Include cgraph.h.
+ (build_global_cdtor): New function.
+ (Compilation_Unit_to_gnu): Build global constructor and destructor if
+ needed.
+ (tree_transform) <N_Identifier>: Substitute renaming of view-conversions
+ of objects too.
+ (addressable_p) <COMPONENT_REF>: Unconditionally test
+ DECL_NONADDRESSABLE_P on STRICT_ALIGNMENT platforms.
+
+ * utils.c (process_attributes) <ATTR_LINK_ALIAS>: Do not assemble the
+ variable if it is external.
+
+ (static_ctors, static_dtors): New global variables.
+ (process_attributes) <ATTR_LINK_CONSTRUCTOR>: New case.
+ <ATTR_LINK_DESTRUCTOR>: Likewise.
+ (end_subprog_body): Chain function as constructor and destructor
+ if requested.
+
+ * exp_util.adb (Force_Evaluation): Unconditionally invoke
+ Remove_Side_Effects with Variable_Ref set to true.
+ (Remove_Side_Effects): Handle scalar types first. Use a renaming
+ for non-scalar types even if Variable_Ref is true and for class-wide
+ expressions.
+
+2005-07-04 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_attr.adb (Mod): Evaluate condition expression with checks off,
+ to prevent spurious warnings.
+
+2005-07-04 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Build_TypeCode_Call): Remove incorrect processing for
+ Itypes. Itypes are really unexpected there.
+ (Build_TypeCode_Function): Generalise special processing for Itypes to
+ handle the case of numeric implicit base types as well as enumerated
+ ones.
+
+2005-07-04 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
+ controlled, indicate the expected type of the dereference that is
+ created for the call to Deep_Finalize, to prevent spurious errors when
+ the designated type is private and completed with a derivation from
+ another private type.
+
+2005-07-04 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Change_To_Object_Directory): When unable to change the
+ current dir to the object directory, output the full path of the
+ directory.
+
+2005-07-04 Matthew Gingell <gingell@adacore.com>
+
+ * Makefile.in: Replace indepsw-linux.adb by indepsw-gnu.adb
+
+ * indepsw-linux.adb: Replace by...
+
+ * indepsw-gnu.adb: ...this new file
+
+2005-07-04 Vincent Celier <celier@adacore.com>
+
+ * mlib-prj.adb (Auto_Initialize): New constant String
+ (SALs_Use_Constructors): New Boolean function
+ (Build_Library): Call gnatbind with Auto_Initialize switch when
+ SALs_Use_Constructors returns True.
+
+ * mlib-tgt.ads: Minor reformatting
+
+ * mlib-utl.ads: Minor reformatting
+
+ * opt.ads: (Use_Pragma_Linker_Constructor): New Boolean flag
+
+2005-07-04 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch9.adb (P_Task, P_Protected): Indicate that single task and
+ single protected declarations can have an interface list.
+ (P_Entry_Declaration): Add handler for Error_Resync, which can be raised
+ with seriously malformed entry declarations, and lead to compilation
+ abandoned messages.
+
+2005-07-04 Javier Miranda <miranda@adacore.com>
+
+ * par-load.adb: Load the context items in two rounds.
+
+2005-07-04 Robert Dewar <dewar@adacore.com>
+
+ * scng.adb: Do not consider Mod used as an attribute to be a keyword
+
+2005-07-04 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch10.adb (Build_Limited_Views): A type declared with a private
+ type extension needs a limited view.
+ Remove previous restriction on private types available through the
+ limited-view (only tagged private types were previously allowed).
+ (Install_Withed_Unit): In the code that implements the
+ legality rule given in AI-377, exclude a child unit with the name
+ Standard, because it is a homonym of the Standard environment package.
+
+2005-07-04 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch4.adb (Transform_Object_Operation): For an actual that is an
+ overloaded function call, carry interpretations from the original tree
+ to the copy.
+
+2005-07-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Conforming_Types): If the types are anonymous access
+ types check whether some designated type is a limited view, and use
+ the non-limited view if available.
+
+2005-07-04 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_eval.adb (Subtypes_Statically_Match): Use the discriminant
+ constraint of full view of a private view T1 if present, when T2 is a
+ discriminated full view.
+
+2005-07-04 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb (Resolve_Actuals): Do not resolve the expression of an
+ actual that is a view conversion of a bit packed array reference.
+
+2005-07-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_type.adb (Covers): Verify that Corresponding_Record_Type is
+ present before checking whether an interface type covers a synchronized
+ type.
+
+2005-07-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Is_Object_Reference): An indexed or selected component
+ whose prefix is an implicit dereference is an object reference. Removes
+ spurious errors when compiling with -gnatc.
+
+2005-07-04 Robert Dewar <dewar@adacore.com>
+
+ PR ada/22039
+ * s-sopco3.ads, s-sopco4.ads, s-sopco5.ads: Minor documentation fix
+
+2005-07-04 Matthew Gingell <gingell@adacore.com>
+
+ * tracebak.c: Enable tracebacks on ia64 platforms
+
+2005-07-04 Vincent Celier <celier@adacore.com>
+
+ * vms_conv.adb (Initialize): Allow multiple ALI files to be given to
+ the GNAT BIND command, as gnatbind accepts multiples ALI files with
+ the -L or -n switches.
+
+2005-07-04 Vincent Celier <celier@adacore.com>
+
+ * makegpr.adb (Build_Global_Archive): Make sure the list of sources is
+ correctly computed and the main project data is not modified while
+ doing so.
+ (Add_C_Plus_Plus_Link_For_Gnatmake): Always link with the C++ compiler
+ (Choose_C_Plus_Plus_Link_Process): Do not generate shell script
+ c++linker as this does not work on some platforms.
+
+2005-07-04 Matthew Heaney <heaney@adacore.com>
+
+ * a-convec.ads, a-coinve.ads: Declaration of subtype Extended_Index
+ was changed.
+ * a-coinve.adb: Perform constraint checks explicitly.
+
+2005-07-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ Thomas Quinot <quinot@adacore.com>
+
+ * Make-lang.in: (ada/targtyps.o): Add missing TREE_H dependency.
+ new target gen-soccon.
+
+2005-07-04 Robert Dewar <dewar@adacore.com>
+
+ * s-mastop-irix.adb, s-mastop-vms.adb: Minor reformatting
+
+2005-07-04 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.ads (Check_Selector): Minor rewording of comment.
+
+2005-07-04 Vincent Celier <celier@adacore.com>
+
+ * vms_data.ads: Add VMS qualifiers for new gnatpp switch --eol=
+
+2005-07-04 Thomas Quinot <quinot@adacore.com>
+
+ * gen-soccon.c: Add constants SO_SNDTIMEO and SO_RCVTIMEO.
+
+2005-07-04 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Add description of --eol gnatpp option
+
+2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * gnat_rm.texi: Add a note that pragma Unreferenced is not appropriate
+ if the user wants all calls of a subprogram to be flagged,
+ independently of whether they are made from within the same unit or
+ another unit.
+ Mention restriction for pragma Linker_Alias on some platforms.
+ Document pragma Linker_Constructor and Linker_Destructor.
+ Rewrite documentation of Weak_External, Linker_Section and
+ Linker_Alias pragmas.
+
+2005-07-04 Arnaud Charlet <charlet@adacore.com>
+
+ * s-stausa.ads, s-stausa.adb: New files.
+
+2005-06-30 Kelley Cook
+
+ * all files: Update FSF address in copyright headers.
+ * gen-soccon.co (main): Output new FSF address in generated files.
+
+2005-06-28 Paul Brook <paul@codesourcery.com>
+
+ * misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
+
+2005-06-14 Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-mastop-irix.adb (Pop_Frame): Revert shorcuts avoiding calls to
+ exc_unwind, now that we are generating proper .debug_frame output for
+ that target.
+
+ * tracebak.c: Remove the mips-irix section, as we are now using the
+ s-mastop based unwinder again.
+ Under SPARC/Solaris, take into account the stack bias to compute the
+ frame offset. The stack bias is 0 for the V8 ABI and 2047 for the V9
+ ABI.
+
+2005-06-14 Doug Rupp <rupp@adacore.com>
+
+ * g-trasym-vms.adb: renamed g-trasym-vms-alpha.adb
+
+ * g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb: New files
+
+2005-06-14 Pascal Obry <obry@adacore.com>
+
+ * a-strhas.ads, a-secain.adb, a-secain.ads, a-rbtgso.ads, a-cgaaso.adb,
+ a-cgaaso.ads, a-cgarso.adb, a-cgcaso.adb, a-cgarso.ads, a-cgcaso.ads,
+ a-contai.ads, a-coprnu.ads, a-coprnu.adb: Fix header style (spaces in
+ package name).
+
+ * a-intnam-lynxos.ads, a-intnam-unixware.ads, a-intnam-tru64.ads,
+ a-intnam-aix.ads, a-intnam-irix.ads, a-excpol-interix.adb,
+ a-intnam-hpux.ads, a-intnam-linux.ads, a-intnam-dummy.ads,
+ a-intnam-os2.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
+ a-intnam-solaris.ads, a-caldel-vms.adb, a-calend-vms.ads,
+ a-intnam-vms.ads, a-excpol-abort.adb, a-intnam-mingw.ads,
+ a-intnam-vxworks.ads, a-numaux-vxworks.ads, s-osinte-unixware.adb,
+ s-osinte-unixware.ads, s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads,
+ s-osinte-hpux.ads, s-osinte-solaris-posix.ads, a-intnam-freebsd.ads,
+ s-osinte-freebsd.adb, s-osinte-freebsd.ads, s-osinte-lynxos.adb,
+ s-osinte-lynxos.ads, s-tpopsp-lynxos.adb, s-osinte-tru64.adb,
+ s-osinte-tru64.ads, s-tpopsp-posix-foreign.adb, s-vxwork-alpha.ads,
+ s-osinte-aix.adb, s-osinte-aix.ads, s-osinte-aix-fsu.ads,
+ s-osinte-irix.adb, s-osinte-irix.ads, s-interr-sigaction.adb,
+ s-osinte-irix-athread.ads, s-osinte-hpux-dce.adb,
+ s-osinte-hpux-dce.ads, s-osinte-posix.adb, s-osinte-linux.ads,
+ s-vxwork-m68k.ads, s-osinte-linux-fsu.ads, s-vxwork-mips.ads,
+ s-osinte-dummy.ads, s-interr-dummy.adb, s-osinte-os2.adb,
+ s-osinte-os2.ads, s-osprim-os2.adb, s-osinte-interix.ads,
+ s-osprim-unix.adb, s-vxwork-ppc.ads, s-osinte-solaris.adb,
+ s-osinte-solaris.ads, s-osprim-solaris.adb, s-tpopsp-solaris.adb,
+ s-vxwork-sparcv9.ads, s-osinte-solaris-fsu.ads, s-interr-vms.adb,
+ s-osinte-vms.adb, s-osinte-vms.ads, s-osprim-vms.adb,
+ s-osprim-vms.ads, s-tpopde-vms.adb, s-tpopde-vms.ads,
+ s-osprim-mingw.adb, s-vxwork-xscale.ads, s-interr-vxworks.adb,
+ s-osinte-vxworks.adb, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
+ s-tfsetr-vxworks.adb, s-tpopsp-vxworks.adb, s-intman-posix.adb,
+ s-osinte-fsu.adb, s-osprim-posix.adb, s-tfsetr-default.adb,
+ s-tpopsp-posix.adb, s-traces-default.adb, s-trafor-default.adb,
+ s-trafor-default.ads, s-tratas-default.adb, a-numaux-x86.adb,
+ a-numaux-x86.ads, a-astaco.adb, a-astaco.ads, a-caldel.adb,
+ a-caldel.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads, a-colien.adb,
+ a-colien.ads, a-colire.adb, a-colire.ads, a-comlin.adb, a-cwila1.ads,
+ a-cwila9.ads, ada.ads, a-decima.adb, a-diocst.ads, a-direio.adb,
+ a-dynpri.adb, a-dynpri.ads, a-excpol.adb, a-flteio.ads, a-fwteio.ads,
+ a-inteio.ads, a-interr.adb, a-intnam.ads, a-intsig.adb, a-intsig.ads,
+ a-ioexce.ads, a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
+ a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads, a-lliwti.ads,
+ a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads, a-ngcoty.adb, a-ngelfu.adb,
+ a-ngelfu.ads, a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
+ a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads,
+ a-nucoty.ads, a-nudira.adb, a-nuelfu.ads, a-nuflra.adb, a-numaux.ads,
+ a-numeri.ads, a-reatim.adb, a-retide.adb, a-retide.ads, a-sequio.adb,
+ a-sequio.ads, a-sfteio.ads, a-sfwtio.ads, a-siocst.ads, a-siteio.ads,
+ a-siwtio.ads, a-ssicst.ads, a-ssitio.ads, a-ssiwti.ads, a-stmaco.ads,
+ a-storio.adb, a-strbou.adb, a-strfix.adb, a-string.ads, a-strmap.adb,
+ a-strsea.adb, a-strsup.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
+ a-stunau.ads, a-stwibo.adb, a-stwifi.adb, a-stwifi.ads, a-stwima.adb,
+ a-stwise.adb, a-stwisu.adb, a-suteio.adb, a-suteio.ads, a-swuwti.adb,
+ a-swuwti.ads, a-teioed.adb, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb,
+ a-tideau.adb, a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
+ a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinio.adb, a-timoau.adb,
+ a-timoio.adb, a-timoio.ads, a-tiocst.ads, a-titest.adb, a-titest.ads,
+ a-witeio.adb, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
+ a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtenau.adb, a-wtenio.adb,
+ a-wtfiio.adb, a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
+ a-wtinio.ads, a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, calendar.ads,
+ dec.ads, dec-io.adb, dec-io.ads, directio.ads, errno.c, g-bubsor.adb,
+ g-bubsor.ads, g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
+ g-casuti.adb, g-casuti.ads, g-debuti.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-memdum.adb, g-memdum.ads, g-sestin.ads, g-signal.ads, g-signal.adb,
+ gnat.ads, g-souinf.ads, g-speche.adb, g-speche.ads, g-table.adb,
+ g-table.ads, g-thread.adb, g-thread.ads, ioexcept.ads, i-vxwoio.adb,
+ i-vxwoio.ads, math_lib.adb, s-assert.adb, s-assert.ads, s-asthan.ads,
+ s-bitops.adb, s-bitops.ads, s-boarop.ads, s-carsi8.adb, s-carsi8.ads,
+ s-carun8.adb, s-carun8.ads, s-casi16.adb, s-casi16.ads, s-casi32.adb,
+ s-casi32.ads, s-casi64.adb, s-casi64.ads, s-casuti.adb, s-casuti.ads,
+ s-caun16.adb, s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
+ s-caun64.ads, s-direio.adb, s-direio.ads, sequenio.ads, s-errrep.adb,
+ s-errrep.ads, s-exnint.adb, s-exnint.ads, s-exnllf.adb, s-exnllf.ads,
+ s-exnlli.adb, s-exnlli.ads, s-expint.adb, s-expint.ads, s-explli.adb,
+ s-explli.ads, s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
+ s-expuns.adb, s-expuns.ads, s-fore.adb, s-fore.ads, s-geveop.adb,
+ s-geveop.ads, s-htable.adb, s-htable.ads, s-imgbiu.adb, s-imgbiu.ads,
+ s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
+ s-imgdec.ads, s-imgenu.adb, s-imgenu.ads, s-imgint.adb, s-imgint.ads,
+ s-imgllb.adb, s-imgllb.ads, s-imglld.adb, s-imglld.ads, s-imglli.adb,
+ s-imglli.ads, s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
+ s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwiu.adb, s-imgwiu.ads
+ s-interr.ads, s-io.adb, s-mantis.adb, s-mantis.ads, s-osprim.ads,
+ s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads, s-pack06.adb,
+ s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
+ s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads, s-pack12.adb,
+ s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb, s-pack14.ads,
+ s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads, s-pack18.adb,
+ s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
+ s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads, s-pack23.adb,
+ s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb, s-pack25.ads,
+ s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads, s-pack28.adb,
+ s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
+ s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads, s-pack34.adb,
+ s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb, s-pack36.ads,
+ s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads, s-pack39.adb,
+ s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
+ s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads, s-pack44.adb,
+ s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb, s-pack46.ads,
+ s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads, s-pack49.adb,
+ s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
+ s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads, s-pack54.adb,
+ s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb, s-pack56.ads,
+ s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads, s-pack59.adb,
+ s-pack59.ads, s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
+ s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads, s-scaval.adb,
+ s-scaval.ads, s-sequio.adb, s-sequio.ads, s-stache.adb, s-stache.ads,
+ s-stratt.adb, s-stratt.ads, s-strcom.adb, s-strcom.ads, s-strops.adb,
+ s-strops.ads, s-taasde.ads, s-tadeca.adb, s-tadeca.ads, s-tadert.adb,
+ s-tadert.ads, s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
+ s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads, s-tasini.adb,
+ s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
+ s-tasren.ads, s-tasres.ads, s-tassta.adb, s-tassta.ads, s-tasuti.adb,
+ s-tasuti.ads, s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
+ s-tpoben.adb, s-tpoben.ads, s-tpobop.ads, s-tporft.adb, s-tposen.ads,
+ s-traces.adb, s-traces.ads, s-tratas.adb, s-tratas.ads, s-valint.ads,
+ s-unstyp.ads, s-veboop.adb, s-veboop.ads, s-vector.ads, s-vercon.adb,
+ s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchjis.adb, s-wchjis.ads,
+ s-wchstw.adb, s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
+ s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb, s-widenu.ads,
+ s-widlli.adb, s-widlli.ads, s-widllu.adb, s-widllu.ads, s-wwdcha.ads,
+ s-wwdenu.adb, s-wwdwch.ads, text_io.ads, s-stchop.ads, s-stchop.adb,
+ s-stchop-vxworks.adb, a-intnam-darwin.ads, s-osinte-darwin.adb,
+ s-osinte-darwin.ads, s-vxwork-x86.ads, a-numaux-darwin.ads,
+ a-numaux-darwin.adb, a-chzla1.ads, a-chzla9.ads, a-lfztio.ads,
+ a-liztio.ads, a-llfzti.ads, a-llizti.ads, a-sfztio.ads, a-siztio.ads,
+ a-ssizti.ads, a-stzbou.adb, a-stzfix.adb, a-stzfix.ads, a-stzmap.adb,
+ a-stzsea.adb, a-stzsup.adb, a-swunau.adb, a-swunau.ads, a-szuzti.adb,
+ a-szuzti.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads,
+ a-ztcoio.adb, a-ztcoio.ads, a-ztcstr.ads, a-ztdeau.adb, a-ztdeio.adb,
+ a-ztenio.adb, a-ztexio.adb, a-ztfiio.adb, a-ztflio.adb, a-ztgeau.adb,
+ a-ztinau.adb, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb, a-ztmoio.adb,
+ a-zttest.adb, a-zzunio.ads, g-utf_32.adb: Fix header style.
+ "GNU Ada" to GNAT, use proper casing for RUN-TIME.
+
+2005-06-14 Jose Ruiz <ruiz@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * a-sytaco.ads, a-sytaco.adb (Suspension_Object): These objects are no
+ longer protected objects. They have been replaced by lower-level
+ suspension objects made up by a mutex and a condition variable (or
+ their equivalent given a particular OS) plus some internal data to
+ reflect the state of the suspension object.
+ (Initialize, Finalize): Add this initialization procedure for
+ Suspension_Object, which is a controlled type.
+ (Finalize): Add the finalization procedure for Suspension_Object,
+ which is a controlled type.
+
+ * a-sytaco-vxworks.ads, a-sytaco-vxworks.adb: Remove this version of
+ Ada.Synchronous_Task_Control because there is no longer a need for a
+ VxWorks specific version of this package. Target dependencies
+ has been moved to System.Task_Primitives.Operations.
+
+ * s-osinte-mingw.ads (pCRITICAL_SECTION): Remove this type which is no
+ longer needed.
+ (InitializeCriticalSection, EnterCriticalSection,
+ LeaveCriticalSection, DeleteCriticalSection): Replace the type
+ pCriticalSection by an anonymous access type so that we avoid problems
+ of accessibility to local objects.
+
+ * s-taprop.ads, s-taprop-posix.adb, s-taprop-vxworks.adb,
+ s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
+ s-taprop-os2.adb, s-taprop-dummy.adb, s-taprop-hpux-dce.adb,
+ s-taprop-linux.adb, s-taprop-irix.adb, s-taprop-irix-athread.adb,
+ s-taprop-tru64.adb, s-taprop-lynxos.adb (Elaboration Code): No longer
+ set the environment task mask here.
+ (Current_State): Add this function that returns the state of the
+ suspension object.
+ (Set_False): Add this procedure that sets the state of the suspension
+ object to False.
+ (Set_True): Add this procedure that sets the state of the suspension
+ object to True, releasing the task that was suspended, if any.
+ (Suspend_Until_True): Add this procedure that blocks the calling task
+ until the state of the object is True. Program_Error is raised if
+ another task is already waiting on that suspension object.
+ (Initialize): Add this procedure for initializing the suspension
+ object. It initializes the mutex and the condition variable which are
+ used for synchronization and queuing, and it sets the internal state
+ to False.
+ (Finalize): Add this procedure for finalizing the suspension object,
+ destroying the mutex and the condition variable.
+
+ * s-taspri-posix.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
+ s-taspri-vms.ads, s-taspri-solaris.ads, s-taspri-os2.ads,
+ s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-linux.ads,
+ s-taspri-tru64.ads, s-taspri-lynxos.ads (Suspension_Object): New object
+ which provides a low-level abstraction (using operating system
+ primitives) for Ada.Synchronous_Task_Control.
+ This object is made up by a mutex (for ensuring mutual exclusion), a
+ condition variable (for queuing threads until the condition is
+ signaled), a Boolean (State) indicating whether the object is open,
+ and a Boolean (Waiting) reflecting whether there is a task already
+ suspended on this object.
+
+ * s-intman.ads, s-intman-irix.adb, s-intman-irix-athread.adb,
+ s-intman-dummy.adb, s-intman-solaris.adb, s-intman-vms.adb,
+ s-intman-vms.ads, s-intman-mingw.adb,
+ (Initialize_Interrupts): Removed, no longer used.
+
+ * s-inmaop-posix.adb, s-inmaop-vms.adb, s-inmaop-dummy.adb,
+ (Setup_Interrupt_Mask): New procedure.
+
+ * s-intman-vxworks.ads, s-intman-vxworks.adb: Update comments.
+
+ * s-inmaop.ads (Setup_Interrupt_Mask): New procedure
+
+ * s-interr.adb: Add explicit call to Setup_Interrupt_Mask now that
+ this is no longer done in the body of s-taprop
+ (Server_Task): Explicitely test for Pending_Action in case
+ System.Parameters.No_Abort is True.
+
+ * s-taasde.adb: Add explicit call to Setup_Interrupt_Mask now that this
+ is no longer done in the body of s-taprop
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
+ system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
+ system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
+ system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
+ system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
+ system-linux-x86.ads, system-vxworks-mips.ads, system-vxworks-mips.ads,
+ system-os2.ads, system-interix.ads, system-solaris-sparc.ads,
+ system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
+ system-vms-zcx.ads, system-vxworks-ppc.ads, system.ads,
+ system-darwin-ppc.ads, system-vxworks-x86.ads, system-linux-ppc.ads,
+ system-linux-hppa.ads, system-vms_64.ads,
+ system-vxworks-alpha.ads: Minor comment update for
+ AI-362 (unit is Pure).
+
+ * a-chahan.ads, a-chahan.adb: Move Wide_Wide functions to Conversions
+ Add pragma Pure_05 for AI-362
+ Make remaining conversion functions obsolescent in Ada 95
+
+ * impunit.adb: Change a-swunha to a-swuwha and a-szunha to a-szuzha
+ Make Ada.Wide_Characters[.Unicode] available in Ada 95 mode
+ Add entries for a-wichun and a-zchuni
+ Add a-widcha a-zchara for AI-395
+ Add a-chacon (Ada.Characters.Conversions) to list of Ada 2005 routines
+
+ * Makefile.rtl: Change a-swunha to a-swuwha and a-szunha to a-szuzha
+ Add entries for a-wichun.o and a-zchuni.o
+ Entries for a-widcha.o and a-zchara.o
+ Add entry for a-chacon.o
+
+ * a-ztenau.adb: Add with of Ada.Characters.Conversions
+
+ * a-chacon.ads, a-chacon.adb: New files.
+
+ * a-taside.adb, a-exstat.adb, a-excach.adb: Add warnings off to allow
+ categorization violations.
+
+ * a-strmap.ads: Add pragma Pure_05 for AI-362
+ * a-strmap.ads: Add note on implicit categorization for AI-362
+
+ * a-tgdico.ads, a-taside.ads: Add pragma Preelaborate_05 for AI-362
+
+ * par-prag.adb: Dummy entry for pragma Persistent_BSS
+ Set Ada_Version_Explicit, for implementation of AI-362
+ Add processing for pragma Pure_05 and Preelaborate_05
+ Add entry for Assertion_Policy pragma
+
+ * sem.adb: Make sure predefined units are compiled with GNAT_Mode true
+ when needed for proper processing of categorization stuff
+
+ * sem_cat.adb:
+ For several cases, make errors in preealborate units warnings,
+ instead of errors, if GNAT_Mode is set. For AI-362.
+
+ * sem_elab.adb (Check_Elab_Call): Call to non-static subprogram in
+ preelaborate unit is now warning if in GNAT mode
+
+ * s-stoele.ads: Document AI-362 for pragma preelaborate
+
+2005-06-14 Doug Rupp <rupp@adacore.com>
+
+ * s-parame-vms.ads, s-parame-hpux.ads, s-parame-vms-restrict.ads,
+ s-parame-ae653.ads, s-parame.ads, s-parame-vxworks.ads:
+ Default_Exception_Msg_Max_Length: new parameter.
+
+ * a-except.ads: (Exception_Msg_Max_Length): Set to
+ System.Parameters.Default_Exception_Msg_Max_Length
+ Add pragma Preelaborate_05 for AI-362
+ Add warnings off to allow categorization violations for AI-362
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+
+ * gnatsym.adb: Adapt to modification of package Symbols: procedure
+ Process is now in package Processing.
+
+ * symbols.ads, symbols.adb:
+ (Processing): New package, containing procedure Process
+
+ * symbols-vms-alpha.adb:
+ Replaced by symbols-vms.adb and symbols-processing-vms-alpha.adb
+
+ * symbols-vms.adb, symbols-processing-vms-alpha.adb,
+ symbols-processing-vms-ia64.adb: New files.
+
+2005-06-14 Pascal Obry <obry@adacore.com>
+
+ * mlib-tgt-mingw.adb (Build_Dynamic_Library): Replace the previous
+ implementation. This new version generates the proper DllMain routine
+ to initialize the SAL. The DllMain is generated in Ada and compiled
+ before being added as option to the library build command.
+
+2005-06-14 Doug Rupp <rupp@adacore.com>
+ Pascal Obry <obry@adacore.com>
+
+ * adaint.c (__gnat_to_canonical_file_spec): Check for error returns in
+ call to decc$translate_vms.
+ (__gnat_locate_regular_file): Check if the path_val contains quotes. We
+ need to remove those quotes before catenating the filename.
+ (__gnat_locate_exec_on_path): improvements to the Win32 section:
+ * avoid allocating the memory twice for better efficiency;
+ * allocate 32K buffer for environment expansion as suggested by MSDN;
+ * prepend ".;" to the path so that current directory is searched too.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * a-except.adb (Exception_Identity): return Null_Id for null occurrence
+ instead of raising CE (AI-241)
+ Add warnings off to allow categorization violations for AI-362
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * ali-util.adb, gnatbind.adb: Remove references to
+ Force_RM_Elaboration_Order.
+
+ * switch-b.adb: Remove recognition of -f switch
+
+2005-06-14 Pascal Obry <obry@adacore.com>
+
+ * a-stzunb.adb, a-stwiun.adb, a-strunb.adb (Realloc_For_Chunk): New
+ implementation which is slightly more efficient.
+
+2005-06-14 Gary Dismukes <dismukes@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Expand_Allocator_Expression): When an initialized
+ allocator's designated type is a class-wide type, and compiling for
+ Ada 2005, emit a run-time check that the accessibility level of the
+ type given in the allocator's expression is not deeper than the level
+ of the allocator's access type.
+
+ (Tagged_Membership): Modified to gives support to abstract interface
+ types.
+
+ * a-tags.ads, a-tags.adb (type Type_Specific_Data): Add component
+ Access_Level.
+ (Descendant_Tag): New predefined function
+ (Is_Descendant_At_Same_Level): New predefined function
+ (Get_Access_Level): New private function
+ (Set_Access_Level): New private procedure
+ (IW_Membership): New function. Given the tag of an object and the tag
+ associated with an interface, evaluate if the object implements the
+ interface.
+ (Register_Interface_Tag): New procedure used to initialize the table of
+ interfaces used by the IW_Membership function.
+ (Set_Offset_To_Top): Initialize the Offset_To_Top field in the prologue
+ of the dispatch table.
+ (Inherit_TSD): Modified to copy the table of ancestor tags plus the
+ table of interfaces of the parent.
+ (Expanded_Name): Raise Tag_Error if the passed tag equals No_Tag.
+ (External_Tag): Raise Tag_Error if the passed tag equals No_Tag.
+ (Parent_Tag): Return No_Tag in the case of a root-level tagged type,
+ and raise Tag_Error if the passed tag equalis No_Tag, to conform with
+ Ada 2005 semantics for the new predefined function.
+
+ * exp_attr.adb (Expand_N_Attribute, case Attribute_Input): Generate
+ call to Descendant_Tag rather than Internal_Tag.
+ (Expand_N_Attribute, case Attribute_Output): Emit a check to ensure that
+ the accessibility level of the attribute's Item parameter is not deeper
+ than the level of the attribute's prefix type. Tag_Error is raised if
+ the check fails. The check is only emitted for Ada_05.
+ (Find_Stream_Subprogram): If a TSS exists on the type itself for the
+ requested stream attribute, use it.
+ (Expand_N_Attribute_Reference): If the designated type is an interface
+ then rewrite the referenced object as a conversion to force the
+ displacement of the pointer to the secondary dispatch table.
+ (Expand_N_Attribute_Reference, case 'Constrained): Return false if this
+ is a dereference of an object with a constrained partial view.
+
+ * exp_ch5.adb (Expand_N_Return_Statement): When a function's result
+ type is a class-wide type, emit a run-time check that the accessibility
+ level of the returned object is not deeper than the level of the
+ function's master (only when compiling for Ada 2005).
+
+ * exp_disp.ads, exp_disp.adb (Ada_Actions, Action_Is_Proc,
+ Action_Nb_Arg): Add entries for new Get_Access_Level and
+ Set_Access_Level routines in these tables.
+ (Make_DT): Generate a call to set the accessibility level of the
+ tagged type in its TSD.
+ (Make_DT): Code cleanup. The functionality of generating all the
+ secondary dispatch tables has been moved to freeze_record_type.
+ (Make_Abstract_Interface_DT): Minor code cleanup.
+ (Set_All_DT_Position): Code cleanup. As part of the code cleanup
+ this subprogram implements a new algorithm that provides the
+ same functionality and it is more clear in case of primitives
+ associated with abstract interfaces.
+ (Set_All_Interfaces_DTC_Entity): Removed. As part of the code
+ clean up, the functionality of this subprogram is now provided
+ by Set_All_DT_Position.
+ (Write_DT): New subprogram: a debugging procedure designed to be called
+ within gdb to display the dispatch tables associated with a tagged
+ type.
+ (Collect_All_Interfaces): New subprogram that collects the whole list
+ of interfaces that are directly or indirectly implemented by a tagged
+ type.
+ (Default_Prim_Op_Position): New subprogram that returns the fixed
+ position in the dispatch table of the default primitive operations.
+ (Expand_Interface_Actuals): New subprogram to generate code that
+ displaces all the actuals corresponding to class-wide interfaces to
+ reference the interface tag of the actual object.
+ (Expand_Interface_Conversion): New subprogram. Reference the base of
+ the object to give access to the interface tag associated with the
+ secondary dispatch table.
+ (Expand_Interface_Thunk): New subprogram that generates the code of the
+ thunk. This is required for compatibility with the C+ ABI.
+ (Make_Abstract_Interface_DT): New subprogram that generate the
+ declarations for the secondary dispatch tables associated with an
+ abstract interface.
+ (Set_All_Interfaces_DTC_Entity): New subprogram that sets the DTC_Entity
+ attribute for each primitive operation covering interface subprograms
+ (Expand_Dispatching_Call, Fill_DT_Entry, Make_DT, Set_All_DT_Position):
+ These subprograms were upgraded to give support to abstract interfaces
+
+ * rtsfind.ads (type RE_Id): Add RE_Descendant_Tag,
+ RE_Is_Descendant_At_Same_Level, RE_Get_Access_Level, and
+ RE_Set_Access_Level.
+ (RE_Unit_Table): Add entries for new Ada.Tags operations.
+ Add support to call the followig new run-time subprograms:
+ IW_Membership, Register_Interface_Tag, and Set_Offset_To_Top
+
+ * sem_ch3.adb (Constant_Redeclaration): Allow a deferred constant to
+ match its full declaration when both have an access definition with
+ statically matching designated subtypes.
+ (Analyze_Component_Declaration): Delete commented out code that was
+ incorrectly setting the scope of an anonymous access component's type.
+ (Process_Discriminants): Set Is_Local_Anonymous_Access for the type of
+ an access discriminant when the containing type is nonlimited.
+ (Make_Incomplete_Type_Declaration): Create an incomplete type
+ declaration for a record type that includes self-referential access
+ components.
+ (Check_Anonymous_Access_Types): Before full analysis of a record type
+ declaration, create anonymous access types for each self-referential
+ access component.
+ (Analyze_Component_Declaration, Array_Type_Declaration): Indicate that
+ an access component in this context is a Local_Anonymous_Access, for
+ proper accessibility checks.
+ (Access_Definition): Set properly the scope of the anonymous access type
+ created for a stand-alone access object.
+ (Find_Type_Of_Object): An object declaration may be given with an access
+ definition.
+ (Complete_Subprograms_Derivation): New subprogram used to complete
+ type derivation of private tagged types implementing interfaces.
+ In this case some interface primitives may have been overriden
+ with the partial-view and, instead of re-calculating them, they
+ are included in the list of primitive operations of the full-view.
+ (Build_Derived_Record_Type): Modified to give support to private
+ types implemening interfaces.
+ (Access_Definition): Reject ALL on anonymous access types.
+ (Build_Derived_Record_Type): In the case of Ada 2005, allow a tagged
+ type derivation to occur at a deeper accessibility level than the
+ parent type.
+ For the case of derivation within a generic body however, disallow the
+ derivation if the derived type has an ancestor that is a formal type
+ declared in the formal part of an enclosing generic.
+ (Analyze_Object_Declaration): For protected objects, remove the check
+ that they cannot contain interrupt handlers if not declared at library
+ level.
+ (Add_Interface_Tag_Components): New subprogram to add the tag components
+ corresponding to all the abstract interface types implemented by a
+ record type or a derived record type.
+ (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
+ Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
+ Process_Full_View, Record_Type_Declaration): Modified to give
+ support to abstract interface types
+ (Collect_Interfaces): New subprogram that collects the list of
+ interfaces that are not already implemented by the ancestors
+ (Process_Full_View): Set flag Has_Partial_Constrained_View appropriately
+ when partial view has no discriminants and full view has defaults.
+ (Constrain_Access): Reject a constraint on a general access type
+ if the discriminants of the designated type have defaults.
+ (Access_Subprogram_Declaration): Associate the Itype node with the inner
+ full-type declaration or subprogram spec. This is required to handle
+ nested anonymous declarations.
+ (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
+ Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
+ Process_Full_View, Record_Type_Declaration): Modified to give
+ support to abstract interface types
+ (Derive_Subprograms): Addition of a new formal to indicate if
+ we are in the case of an abstact-interface derivation
+ (Find_Type_Of_Subtype_Indic): Moved from the body of the package
+ to the specification because it is requied to analyze all the
+ identifiers found in a list of interfaces
+
+ * debug.adb: Complete documentation of flag "-gnatdZ"
+
+ * exp_ch3.adb: Implement config version of persistent_bss pragma
+ (Check_Stream_Attributes): Use Stream_Attribute_Available instead of
+ testing for TSS presence to properly enforce visibility rules.
+ (Freeze_Record_Type): Code cleanup. Modified to call the subprogram
+ Make_Abstract_Interfaces_DT to generate the secondary tables
+ associated with abstract interfaces.
+ (Build_Init_Procedure): Modified to initialize all the tags
+ corresponding.
+ (Component_Needs_Simple_Initialization): Similar to other tags,
+ interface tags do not need initialization.
+ (Freeze_Record_Type): Modified to give support to abstract interface
+ types.
+ (Expand_N_Object_Declaration): Do not generate an initialization for
+ a scalar temporary marked as internal.
+
+ * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Handle properly an
+ in-out parameter that is a component in an initialization procedure,
+ whose constraint might depend on discriminants, and that may be
+ misaligned because of packing or representation clauses.
+ (Is_Legal_Copy): New predicate to determine whether a possibly
+ misaligned in-out actual can actually be passed by copy/return. This
+ is an error in case the type is by_reference, and a warning if this is
+ the consequence of a DEC import pragma on the subprogram.
+ (Expand_Call, Freeze_Subprogram): Modified to give support to abstract
+ interface types
+ (Expand_Inlined_Call): Mark temporary generated for the return value as
+ internal, so that no useless scalar normalization is generated for it.
+ (Expand_N_Subprogram_Declaration): Save unanalyzed body so calls to
+ null procedure can always be inlined.
+ (Expand_N_Subprogram_Declaration): If this is the declaration of a null
+ procedure, generate an explicit empty body for it.
+
+ * exp_util.ads, exp_util.adb (Find_Interface_ADT): New subprogram.
+ Given a type implementing an interface, returns the corresponding
+ access_disp_table value.
+ (Find_Interface_Tag): New subprogram. Given a type implementing an
+ interface, returns the record component containing the tag of the
+ interface.
+ (Find_Interface_Tag): New overloaded subprogram. Subsidiary to the
+ previous ones that return the corresponding tag and access_disp_table
+ entities.
+ (Is_Predefined_Dispatching_Operation): Determines if a subprogram
+ is a predefined primitive operation.
+ (Expand_Subtype_From_Expr): If the expression is a selected component
+ within an initialization procedure, compute its actual subtype, because
+ the component may depend on the discriminants of the enclosing record.
+
+ * i-cpp.ads, i-cpp.adb:
+ This package has been left available for compatibility with previous
+ versions of the frontend. As part of the new layout this is now a
+ dummy package that uses declarations available at a-tags.ads
+
+ * par-ch3.adb (P_Identifier_Declarations): Give an error for use of
+ "constant access" and "aliased [constant] access" when not compiling
+ with -gnat05.
+ Suppress Ada 2005 keyword warning if -gnatwY used
+ (P_Identifier_Declarations): Add support for object declarations with
+ access definitions.
+ (Private_Extension_Declaration): Complete the documentation
+ (P_Derived_Type_Def_Or_Private_Ext_Decl): Fill the inteface_list
+ attribute in case of private extension declaration
+ (P_Type_Declaration): Mark as "abstract" the type declarations
+ corresponding with protected, synchronized and task interfaces
+ (P_Declarative_Items): "not" and "overriding" are overriding indicators
+ for a subprogram or instance declaration.
+
+ * sem_ch12.adb (Analyze_Subprogram_Instantiation): Verify that an
+ instantiation that is a dispatching operation has controlling access
+ parameters that are null excluding.
+ Save and restore Ada_Version_Explicit, for implementation of AI-362
+ (Validate_Derived_Type_Instance): Add check for abstract interface
+ types.
+ (Analyze_Formal_Package): Establish Instantiation source for the copy of
+ the generic that is created to represent the formal package.
+ (Analyze_Package_Instantiation): Instantiate body immediately if the
+ package is a predefined unit that contains inlined subprograms, and
+ we are compiling for a Configurable_Run_Time.
+ (Instantiate_Formal_Subprogram): Indicate that null default subprogram
+ If the program has a null default, generate an empty body for it.
+
+ * sem_ch6.adb, sem_ch9.adb (Analyze_Subprograms_Declaration): Update
+ error message condition, null procedures are correctly detected now.
+ (New_Overloaded_Entity): Bypass trivial overriding indicator check
+ for subprograms in the context of protected types. Instead, the
+ indicator is examined in Sem_Ch9 while analysing the subprogram
+ declaration.
+ (Check_Overriding_Indicator): Check consistency of overriding indicator
+ on subprogram stubs as well.
+ (Analyze_Subprogram_Declaration): Diagnose null procedures declared at
+ the library level.
+ (Analize_Subprogram_Specification): When analyzing a subprogram in which
+ the type of the first formal is a concurrent type, replace this type
+ by the corresponding record type.
+ (Analyze_Subprogram_Body): Undo the previous work.
+ (Analyze_Procedure_Call): If the call has the form Object.Op, the
+ analysis of the prefix ends up analyzing the call itself, after which
+ we are done.
+ (Has_Interface_Formals): New subprogram subsidiary to analyze
+ subprogram_specification that returns true if some non
+ class-wide interface subprogram is found
+ (New_Overloaded_Entity): Modified to give support to abstract
+ interface types
+ (Conforming_Types): In Ada 2005 mode, conformance checking of anonymous
+ access to subprograms must be recursive.
+ (Is_Unchecked_Conversion): Improve the test that recognizes
+ instantiations of Unchecked_Conversion, and allows them in bodies that
+ are to be inlined by the front-end. When the body comes from an
+ instantiation, a reference to Unchecked_Conversion will be an
+ Expanded_Name, even though the body has not been analyzed yet.
+ Replace Is_Overriding and Not_Overriding in subprogram_indication with
+ Must_Override and Must_Not_Override, to better express intent of AI.
+ (Analyze_Subprogram_Body): If an overriding indicator is given, check
+ that it is consistent with the overrinding status of the subprogram
+ at this point.
+ (Analyze_Subprogram_Declaration): Indicate that a null procedure is
+ always inlined.
+ If the subprogram is a null procedure, indicate that it does not need
+ a completion.
+
+ * sem_disp.adb (Check_Controlling_Type): Give support to entities
+ available through limited-with clauses.
+ (Check_Dispatching_Operation): A stub acts like a body, and therefore is
+ allowed as the last primitive of a tagged type if it has no previous
+ spec.
+ (Override_Dispatching_Operation, Check_Dispatching_Operation): Modified
+ to give support to abstract interface types
+
+ * sem_res.adb (Valid_Conversion): Perform an accessibility level check
+ in the case where the target type is an anonymous access type of an
+ object or component (that is, when Is_Local_Anonymous_Access is true).
+ Prevent the special checks for conversions of access discriminants in
+ the case where the discriminant belongs to a nonlimited type, since
+ such discriminants have their accessibility level defined in the same
+ way as a normal component of an anonymous access type.
+ (Resolve_Allocator): When an allocator's designated type is a class-wide
+ type, check that the accessibility level of type given in the
+ allocator's expression or subtype indication is not statically deeper
+ than the level of the allocator's access type.
+ (Check_Discriminant_Use): Diagnose discriminant given by an expanded
+ name in a discriminant constraint of a record component.
+ (Resolve_Explicit_Dereference): Do not check whether the type is
+ incomplete when the dereference is a use of an access discriminant in
+ an initialization procedure.
+ (Resolve_Type_Conversion): Handle conversions to abstract interface
+ types.
+ (Valid_Tagged_Conversion): The conversion of a tagged type to an
+ abstract interface type is always valid.
+ (Valid_Conversion): Modified to give support to abstract interface types
+ (Resolve_Actuals): Enable full error reporting on view conversions
+ between unrelated by_reference array types.
+ The rule for view conversions of arrays with aliased components is
+ weakened in Ada 2005.
+ Call to obsolescent subprogram is now considered to be a violation of
+ pragma Restrictions (No_Obsolescent_Features).
+ (Check_Direct_Boolean_Operator): If the boolean operation has been
+ constant-folded, there is nothing to check.
+ (Resolve_Comparison_Op, Resolve_Equality_Op, Resolve_Boolean_Op): Defer
+ check on possible violation of restriction No_Direct_Boolean_Operators
+ until after expansion of operands, to prevent spurious errors when
+ operation is constant-folded.
+
+ * sem_type.ads, sem_type.adb (Covers, Intersect_Types, Specific_Type,
+ Has_Compatible_Type): Modified to give support to abstract interface
+ types.
+ (Interface_Present_In_Ancestor): New function to theck if some ancestor
+ of a given type implements a given interface
+
+ * sem_ch4.adb (Analyze_Call): Handle properly an indirect call whose
+ prefix is a parameterless function that returns an access_to_procedure.
+ (Transform_Object_Operation): Handle properly function calls of the
+ form Obj.Op (X), which prior to analysis appear as indexed components.
+ (Analyze_One_Call): Complete the error notification to help new Ada
+ 2005 users.
+ (Analyze_Allocator): For an allocator without an initial value, where
+ the designated type has a constrained partial view, a discriminant
+ constraint is illegal.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * a-textio.adb (Set_Col): Fix two errors noticed recently, having to
+ do with treatment of Set_Col when positioned at end of line character.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * atree.adb: (Elist*): Protect against uninitialized field
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * checks.adb (Install_Null_Excluding_Check): Do not generate checks
+ for an attribute reference that returns an access type.
+ (Apply_Discriminant_Check): No need for check if (designated) type has
+ constrained partial view.
+
+ (Apply_Float_Conversion_Check): Generate a short-circuit expression for
+ both bound checks, rather than a conjunction.
+ (Insert_Valid_Check): If the expression is an actual that is an indexed
+ component of a bit-packed array, force expansion of the packed element
+ reference, because it is specifically inhibited elsewhere.
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+
+ * clean.adb (Clean_Project): Correctly delete executable specified as
+ absolute path names.
+
+ * make.adb (Gnatmake): Allow relative executable path names with
+ directory information even when project files are used.
+ (Change_To_Object_Directory): Fail gracefully when unable to change
+ current working directory to object directory of a project.
+ (Gnatmake): Remove exception handler that could no longer be exercized
+ (Compile_Sources.Compile): Use deep copies of arguments, as some of them
+ may be deallocated by Normalize_Arguments.
+ (Collect_Arguments): Eliminate empty arguments
+
+ * gnatcmd.adb (All_Projects): New Boolean flag, initialized to False,
+ and set to True when -U is used for GNAT PRETTY or GNAT METRIC.
+ (Check_Project): Return False when Project is No_Project. Return True
+ when All_Projects is True.
+ (GNATCmd): Recognize switch -U for GNAT PRETTY and GNAT METRIC and set
+ All_Projects to True.
+ Minor reformatting
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * einfo.ads, einfo.adb (Is_Local_Anonymous_Access): New flag on
+ anonymous access types, to indicate that the accessibility level of
+ the type is determined by that of the enclosing declaration.
+ (Has_Persistent_BSS): New flag
+ (Set_Is_Primitive_Wrapper): Upgrade the barrier to allow the usage
+ of this attribute with functions.
+ (Is_Primitive_Wrapper): Remove the barrier.
+ (Has_Specified_Stream_Input, Has_Specified_Stream_Output,
+ Has_Specified_Stream_Read, Has_Specified_Stream_Write):
+ New subprograms.
+ (Set_Has_Specified_Stream_Input, Set_Has_Specified_Stream_Output,
+ Set_Has_Specified_Stream_Read, Set_Has_Specified_Stream_Write):
+ New subprograms.
+ (Is_Pure_Unit_Access_Type): New flag
+ (Abstract_Interfaces): Complete the assertion to cover all usages.
+ (Set_Is_Interface): Complete the assertion to cover all usages.
+ (Is_Primitive_Wrapper): New attribute.
+ (Is_Obsolescent): Now applies to all entities (though it is only set
+ for subprograms currently)
+ New flag: Has_Constrained_Partial_View, to implemente Ada 2005 AI-363,
+ which solves various problems concerning access subtypes.
+ (Has_Persistent_BSS): New flag
+ (Is_Primitive_Wrapper, Set_Primitive_Wrapper): Code cleanup.
+ Remove these subprograms because this attribute is currently
+ not used.
+ New entity flags:
+ Has_Specified_Stream_Input (Flag190)
+ Has_Specified_Stream_Output (Flag191)
+ Has_Specified_Stream_Read (Flag192)
+ Has_Specified_Stream_Write (Flag193)
+ Present in all type and subtype entities. Set for a given view if the
+ corresponding stream-oriented attribute has been defined by an
+ attribute definition clause. When such a clause occurs, a TSS is set
+ on the underlying full view; the flags are used to track visibility of
+ the attribute definition clause for partial or incomplete views.
+ (Is_Pure_Unit_Access_Type): New flag
+ Clarify use of Is_Internal.
+ (Is_Primitive_Wrapper): New attribute present in primitive subprograms
+ internally generated to wrap the invocation of tasks and protected
+ types that implement interfaces.
+ (Implementation_Base_Type): Documentation correction
+ (Is_Obsolescent): Now applies to all entities (though it is only set
+ for subprograms currently)
+ New flag: Has_Constrained_Partial_View, to implement Ada 2005 AI-363,
+ which solves various problems concerning access subtypes.
+
+ * exp_ch9.adb (Type_Conformant_Parameters): Introduce mode conformance
+ for examined parameters. Identify unequal parameter list lengths as
+ non-conformant parameters.
+ (Overriding_Possible): Do not check for "All" qualifier in declaration
+ of controlling access parameter, following prescription of AI-404.
+ (Build_Entry_Wrapper_Spec, Build_Entry_Wrapper_Body): New subprograms
+ that build the procedure body that wraps an entry invocation
+ (Build_Corresponding_Record, Build_Protected_Sub_Specification,
+ Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
+ Expand_N_Task_Body, Expand_N_Task_Type_Declaration): Modified to
+ give support to abstract interface types
+
+ * freeze.adb (Freeze_Entity): Issue error message if
+ Is_Pure_Unit_Access_Type set, unless we are in Ada 2005 mode and the
+ type has no storage pool (Ada 2005) AI-366.
+ Also modified to give support to abstract interface types
+ (Freeze_Subprogram): Issue an error for a dispatching subprogram with an
+ Inline_Always pragma.
+
+ * par-ch9.adb (P_Task_Items): Reserved words "not" or "overriding" may
+ now begin an entry declaration.
+ (P_Entry_Or_Subprogram_With_Indicator): New procedure in
+ P_Protected_Operation_Declaration_Opt. Parse an entry declaration or
+ a subprogram declaration preceded by an overriding indicator.
+ (P_Protected_Operation_Declaration_Opt): Add case for parsing entry
+ declarations or subprogram declarations preceded by reserved words
+ "not" or "overriding".
+ (P_Entry_Declaration): Update comment. Parse and check overriding
+ indicator, set semantic flags of entry declarations.
+ (P_Task): New error message in case of private applied
+ to a task type declaration.
+ (P_Protected): New error message in case of private applied
+ to a task type declaration.
+
+ * sem_ch7.adb (Preserve_Full_Attributes): Modified to handle the case
+ in which the full view of a type implementing an interface is a
+ concurrent type.
+ (Has_Overriding_Pragma): Remove obsolete implementation of AI-218.
+ Declare_Inherited_Private_Subprograms): If an explicit operation
+ overrides an operation that is inherited in the private part, mark the
+ explicit one as overriding, to enable overriding indicator checks.
+ (Preserve_Full_Attributes): Propagate Is_Unchecked_Union attribute from
+ full view to partial view, to simplify handling in back-end.
+
+ * sprint.adb: Print interface lists where needed: derived types,
+ protected types, task types.
+ output "is null" for null procedures. Part of implementation of
+
+ * sem_cat.adb (Validate_Access_Type_Declaration): Implement AI-366
+ relaxation of rules for access types in pure, shared passive partitions.
+
+ * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Reorganize to
+ first read discriminants into temporary objects, performing checks on
+ the read values, then possibly performing discriminant checks on the
+ actual (if it is constrained), and only finally reading the components
+ into a constrained temporary object.
+ (Build_Elementary_Input_Call): Adjust the specific circuitry for the
+ case of reading discriminants of a mutable record type to recognize
+ the new form of the code generated by
+ Build_Mutable_Record_Read_Procedure.
+
+ * exp_tss.ads, exp_tss.adb (Make_Init_Proc_Name): Reimplement in terms
+ of a simple call to Make_TSS_Name.
+ (Make_TSS_Name_Local): Add the TSS name as the last thing in the name
+ buffer, in order for Is_TSS to work correctly on local TSS names.
+
+ * sem_attr.ads, sem_attr.adb (Resolve_Attribute, case 'Access): Use flag
+ Is_Local_Anonymous_Access to check legaliy of attributes in the
+ context of access components and stand-alone access objects.
+ (Stream_Attribute_Available): In Ada 95 mode, a stream attribute is
+ treated as available for a limited private type if there is an
+ attribute_definition_clause that applies to its full view, but not in
+ other cases where the attribute is available for the full view
+ (specifically, the sole fact that the full view is non-limited does not
+ make the attribute available for the partial view).
+ (Build_Access_Subprogram_Type): Diagnose attempt to apply 'access to a
+ non-overloaded intrinsic subprogram.
+ (Check_Stream_Attribute): Reject an attribute reference for an
+ unavailable stream attribute even if the prefix is not a limited type
+ (case of a 'Input attribute reference for an abstract, non-classwide
+ type)
+ (Stream_Attribute_Available): New function to determine whether a stream
+ attribute is available at a place.
+ (Check_Attribute): Use Stream_Attribute_Available instead of just
+ testing for TSS presence on the implementation base type.
+ (Analyze_Attribute): Modified to give support to task interfaces.
+ (Analyze_Access_Attribute): Add error check for use of an Access (or
+ Unrestricted_Access) attribute with a subprogram marked as
+ Inline_Always.
+ (Analyze_Attribute, case Attribute_Address): Add error check for use of
+ an Address attribute with a subprogram marked as Inline_Always.
+ Update Eval_Attribute to handle new value of Width from AI-395
+
+ * sem_ch13.adb (Analyze_Stream_TSS_Definition): New subprogram.
+ (Analyze_Attribute_Definition_Clause, cases Input, Output, Read, Write):
+ Factor common code across the stream-oriented attribute circcuits into
+ a new subprogram, Analyze_Stream_TSS_Definition. The new uniform
+ processing is functionally identical to the previous duplicated one,
+ except that an expression that denotes an abstract subprogram will now
+ be rejected, as mandated by AI-195 item 5.
+
+ * sem_util.ads, sem_util.adb (Type_Access_Level): Use flag
+ Is_Local_Anonymous_Access to apply accessibility checks to access
+ components and stand-alone access objects.
+ (Has_Discriminant_Dependent_Constraint): Moved to spec for use
+ elsewhere.
+ (Is_Potentially_Persistent_Type): New function
+ (Is_Dependent_Component_Of_Mutable_Object): If the enclosing object is
+ a heap-object whose type has a constrained partial view, the object is
+ unconstrained and the component may depend on a discriminant, making its
+ renaming illegal.
+
+ * sinfo.ads, sinfo.adb
+ (Must_Not_Override): Flag applicable to N_Entry_Declaration.
+ (Must_Override): Flag applicable to N_Entry_Declaration.
+ Indicate that interface_list can appear in single task and single
+ protected declarations.
+ Replace Is_Overriding and Not_Overriding with Must_Override and
+ Must_Not_Override, to better express intent of AI.
+ Is_Overriding, Not_Overriding: Ada2005 flags that indicate the presence
+ of an overriding indicator in a subprogram or instance.
+ Ada 2005 (AI-248) Null_Present can appear in a procedure specification.
+ Add the overriding indicator [[not] overriding] construct to the
+ following grammar productions:
+ ENTRY_DECLARATION
+ GENERIC_INSTANTIATION
+ SUBPROGRAM_SPECIFICATION
+
+ * par-ch10.adb (P_Compilation_Unit): Subprogram declaration or body
+ can start with an overriding indicator.
+
+ * par-ch6.adb (P_Subprogram): Recognize overriding indicator, and set
+ flags accordingly on subrogram specifications or instances.
+
+ * sem_ch8.adb:
+ (Analyze_Subprogram_Renaming): For a renaming_as_body, verify that the
+ overriding_indicator, if present, is consistent with status of spec.
+ Improve error message for null-excluding checks on controlling access
+ parameters.
+ (Check_In_Previous_With_Clause): Protect the frontend against
+ previously reported critical errors in the context clauses.
+ Save and restore Ada_Version_Explicit, for implementation of AI-362
+ (Analyze_Subprogram_Renaming): If the new entity is a dispatching
+ operation verify that controlling formals of the renamed entity that
+ are access parameters are explicitly non-null.
+ (Find_Expanded_Name): Improve error message when prefix is an illegal
+ reference to a private child unit.
+
+ * exp_imgv.adb, s-imgwch.ads, s-imgwch.adb, s-valwch.adb,
+ s-valwch.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdwch.adb:
+ Rewrite to correspond to new wide character names in AI-395
+
+ * par-ch12.adb (P_Formal_Subprogram_Declaration): Recognize null
+ default procedures.
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * errout.ads, errout.adb (Error_Msg_NW): Only emit warning on user
+ code, not on the bodies of predefined operations, to cut down on
+ spurious noise.
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Aggr_Size_OK): An array with no components can always
+ be expanded in place. The size computation does not require a
+ subtraction, which would raise an exception on a compiler built with
+ assertions when the upper bound is Integer'first.
+ (Flatten): For an array of composite components, take into account the
+ size of the components to determine whether it is safe to expand the
+ array into a purely positional representation.
+
+2005-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch2.adb (Param_Entity): Take the case of an expanded_name
+ denoting a formal parameter into account.
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch7.adb (Find_Node_To_Be_Wrapped): If the node appears within
+ the entry_call alternative of a conditional entry call, wrap the
+ conditional entry call itself.
+
+2005-06-14 Nicolas Setton <setton@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_dbug.ads, exp_dbug.adb (Get_Variant_Part): Fix the encoding of
+ the "simple_choice" member in a variant record, in accordance with the
+ description in the package spec: the information output for a constant
+ should be "S number", not "SS number".
+ (Get_Encoded_Name): Return at once if not generating code. Avoids name
+ overflow problem when compiling with -gnatct, for ASIS/gnatmetrics.
+
+2005-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): For an
+ RACW without any primitives, do not generate the if statement for
+ dispatching by name in the PolyORB/DSA case, as it would be malformed
+ (it would have an Elsif_Parts list that is not No_List, but with a
+ length of 0).
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * exp_intr.adb, par-ch5.adb: Minor fix to error message text
+
+2005-06-14 Jose Ruiz <ruiz@adacore.com>
+
+ * fe.h: Add entry for Opt.Exception_Locations_Suppressed so that gigi
+ can determine whether pragma Suppress_Exception_Locations is in effect.
+
+ * utils2.c (build_call_raise): Do not pass the file name to the
+ exception handler if pragma Suppress_Exception_Locations is in effect.
+ (build_allocator): Add and process arg IGNORE_INIT_TYPE.
+
+2005-06-14 Emmanuel Briot <briot@adacore.com>
+
+ * g-debpoo.adb (Deallocate, Dereference): Improve output.
+
+2005-06-14 Nicolas Roche <roche@adacore.com>
+
+ * g-diopit.adb (Wildcard_Iterator): Return directly if Path is equal
+ to ""
+ (Next_Level): Fix minor bug in handling of ../dir case
+ (Read): Add dir separator to Directory name so that "" is understood as
+ "/"
+
+2005-06-14 Pascal Obry <obry@adacore.com>
+
+ * g-dynhta.ads, g-dynhta.adb (Reset): Free the table itself after
+ releasing the items.
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+ Cyrille Comar <comar@adacore.com>
+
+ * g-os_lib.ads, g-os_lib.adb (Non_Blocking_Spawn): Two new versions
+ with output file descriptor and with output file name.
+ (Dup, Dup2): Now global procedures as they are used by two subprograms
+ (Copy): Allocate the 200K buffer on the heap rather than on the stack.
+
+2005-06-14 Thomas Quinot <quinot@adacore.com>
+
+ PR ada/6717
+ * g-socket.ads, g-socket.adb (Inet_Addr): Special case the all-ones
+ broadcast address.
+ (Create_Selector): Bind listening socket used to create the signalling
+ socket pair to 127.0.0.1 to limit the scope for 'theft' of connection.
+ Set listen backlog to 1 to ensure that we detect socket theft by a
+ failure of our own connect(2) call.
+ (Check_Selector): Improve documentation of the selector mechanism.
+ (Broadcast_Inet_Addr): New constant.
+
+2005-06-14 Gary Dismukes <dismukes@adacore.com>
+
+ * layout.adb (Discrimify): Remove resetting of Vtype to the underlying
+ type which turns out to be an incomplete and incorrect fix.
+ (Layout_Array_Type): Use Underlying_Type when checking whether the scope
+ of the type is declared in a record (for determination of insertion
+ type).
+ (SO_Ref_From_Expr): Test whether Vtype denotes a partial or full view of
+ a private type and ensure that the primary entity is used for the type
+ of the newly created function's V formal by taking the Etype of the
+ view.
+
+2005-06-14 Javier Miranda <miranda@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * lib-load.ads, lib-load.adb (Load_Unit): Addition of a new parameter
+ that indicates if we are parsing a compilation unit found in a
+ limited-with clause.
+ It is use to avoid the circularity check.
+
+ * par.ads, par.adb (Par): Addition of a new parameter to indicate if
+ we are parsing a compilation unit found in a limited-with clause. This
+ is use to avoid the circularity check.
+
+ * par-load.adb (Load): Indicate Lib.Load_Unit if we are loading the
+ unit as a consequence of parsing a limited-with clause. This is used
+ to avoid the circularity check.
+
+ * sem_ch10.adb: Suppress Ada 2005 unit warning if -gnatwY used
+ (Analyze_Context): Limited-with clauses are now allowed
+ in more compilation units.
+ (Analyze_Subunit_Context, Check_Parent): Protect the frontend
+ againts previously reported critical errors in context clauses
+ (Install_Limited_Withed_Unit): Code cleanup plus static detection
+ of two further errors: renamed subprograms and renamed packages
+ are not allowed in limited with clauses.
+ (Install_Siblings): Do not install private_with_clauses on the package
+ declaration for a non-private child unit.
+ (Re_Install_Parents): When a parent of the subunit is reinstalled,
+ reset visibility of child units properly.
+ (Install_Withed_Unit): When a child unit appears in a with_clause of its
+ parent, it is immediately visible.
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+ Emmanuel Briot <briot@adacore.com>
+
+ * lib-xref.ads, lib-xref.adb (Generate_Definition): Treat any entity
+ declared within an inlined body as referenced, to prevent spurious
+ warnings.
+ (Output_One_Ref): If an entity renames an array component, indicate in
+ the ALI file that this aliases (renames) the array. Capture as well
+ function renamings that rename predefined operations.
+ Add information about generic parent for package and subprogram
+ instances.
+ (Get_Type_Reference): For a subtype that is the renaming of an actual in
+ an instantiation, use the first_subtype to ensure that we don't generate
+ cross-reference information for internal types.
+ For objects and parameters of a generic private type, retain the '*'
+ indicator to distinguish such an entity from its type.
+
+ * ali.ads (Xref_Entity_Record): New fields Iref_File_Num and Iref_Line,
+ to store information about instantiated entities.
+
+ * ali.adb (Scan_ALI): Add support for parsing the reference to the
+ generic parent
+
+ * xref_lib.adb (Skip_To_Matching_Closing_Bracket): New subprogram
+ (Parse_Identifier_Info, Parse_Token): Add support for the generic parent
+ information.
+
+2005-06-10 Doug Rupp <rupp@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+
+ * Make-lang.in: Add initialize.o when needed.
+ Remove obsolete references to RT_FLAGS.
+ Add missing dependencies for sdefault.o
+
+ * initialize.c: New file.
+
+ * init.c [VMS] Declare ADA$ externs weak to fix build problem in IVMS.
+ [VMS] cond_signal_table: Fix problem in declaration.
+ [VMS] __gnat_error_handler: rewrite.
+ Move all __gnat_initialize() routines to initialize.c
+ Specialize the former "hpux" section to "hppa hpux", as this is what the
+ section really is here for and we now have other hpux ports that need
+ different contents.
+ (__gnat_adjust_context_for_raise) i386-linux: First version of this
+ function for this target. Adjust PC by one in the machine context. This
+ adjustment was previously done in the MD_FALLBACK_FRAME_STATE_FOR, but
+ it is more reliable to do that in the signal handler itself.
+ (__gnat_install_handler) i386-linux: Set SA_SIGINFO in the sigaction
+ flags, so that the handler is passed the context structure to adjust
+ prior to the raise.
+ (__gnat_error_handler) i386-linux: Adjust the signature to match what a
+ SA_SIGINFO sigaction should look like. Call
+ __gnat_adjust_context_for_raise before actually raising. Cleanup unused
+ Machine_State_Operations stuff.
+ Add conditional code so that the x86_64 is also supported.
+
+2005-06-14 Pascal Obry <obry@adacore.com>
+
+ * mdll.adb (Get_Dll_Name): New routine that returns the DLL name given
+ the library name.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads, opt.adb: New flags for persistent_bss mode
+ Add Ada_Version_Explicit, for implementation of AI-362
+ Add Assertions_Enabled_Config and associated handling
+ Needed since setting can be changed with Assertion_Policy pragma
+ Add new flag Warn_On_Ada_2005_Compatibility
+
+ * switch-c.adb: Recognize -gnatwy/Y
+ Set Ada_Version_Explicit, for implementation of AI-362
+ The -gnatg switch now includes -gnatyu
+
+ * usage.adb: Add -gnatwy/Y
+ Remove wrong asterisk on -gnatwX line
+ Add line for -gnatyu switch
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+
+ * osint.adb (Add_Default_Search_Dirs): Put source and object
+ directories of project files before directories coming from
+ ADA_INCLUDE_PATH and ADA_OBJECTS_PATH.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ PR ada/15613
+ * par-ch2.adb (Scan_Pragma_Argument): New procedure
+ (P_Pragma): Implement RM 2.8(4) check for no pos args after named args
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+
+ * prep.adb (Preprocess): Ignore error when scanning the first token of
+ a line.
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Suffix_For): Change default suffix for C++ to ".cpp"
+ (Check_Stand_Alone_Library): If the specified reference symbol file does
+ not exist, only issue a warning when the symbol policy is not
+ Controlled. And, when symbol policy is Compliant, set the symbol
+ policy to Autonomous.
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+
+ * prj-part.adb (Pre_Parse_Context_Clause): Call Set_Is_Not_Last_In_List
+ when the project file in a with clause is not the last one, that is the
+ project file name is followed by a comma.
+ * prj-pp.adb: (First_With_In_List): New Boolean global variable
+ (Print): Issue list of project files separated by commas in with clauses
+ according to the values returned by Is_Not_Last_In_List.
+ * prj-tree.ads, prj-tree.adb: (Is_Not_Last_In_List): New function
+ (Set_Is_Not_Last_In_List): New procedure
+
+2005-06-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-atacco.ads: Put a pragma No_Strict_Aliasing on Object_Pointer.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * scng.adb: Add call to new Check_EOF routine
+ (Accumulate_Checksum): Properly handle wide wide char >= 2 ** 24
+ Add some comments regarding wide character handling
+
+ * style.ads, styleg.ads, styleg.adb: Implement new style switch -gnatyu
+
+ * stylesw.ads, stylesw.adb: Implement new style switch -gnatyu
+
+ * g-utf_32.ads, g-utf_32.adb (Is_UTF_32_Non_Graphic): Other_Format
+ characters are now considered graphic characters and hence yield false
+ in this call.
+
+ * nmake.adt: Modify header so that xnmake does not generate output
+ files with multiple blank lines.
+
+ * treeprs.adt: Remove a blank line so that output from xtreeprs does
+ not have an extra blank line
+
+2005-06-14 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_aggr.adb (Aggregate_Constraint_Checks): Apply a conversion to the
+ expression when the component type is an anonymous access type to
+ ensure that appropriate accessibility checks are done.
+
+ * sem_ch5.adb (Analyze_Assignment): Apply a implicit conversion to the
+ expression of an assignment when the target object is of an anonymous
+ access type. This ensures that required accessibility checks are done.
+ (One_Bound): Move the check for type Universal_Integer to
+ Process_Bounds.
+ (Process_Bounds): Check whether the type of the preanalyzed range is
+ Universal_Integer, and in that case set Typ to Integer_Type prior
+ to setting the type of the original range and the calls to One_Bound.
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_case.adb (Expand_Others_Choice): Improve warning.
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_eval.adb (Subtypes_Statically_Match): Use discriminant
+ constraint of full view if present, when other type is discriminated.
+ (Eval_Relational_Op): Recognize tests of pointer values against Null,
+ when the pointer is known to be non-null, and emit appropriate warning.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/10671
+ * sem_prag.adb: Implement pragma Persistent_BSS
+ Remove obsolete pragma Persistent_Data, Persistent_Object
+ Set Ada_Version_Explicit, for implementation of AI-362
+ Test Ada_Version_Explicit for Preelaborate_05 and Pure_05
+ Add processing for pragma Pure_05 and Preelaborate_05
+ Add processing for Assertion_Policy pragma
+ Add pragma identifiers for Assert
+ (Analyze_Pragma, case Assert): Check number of arguments
+ (Process_Inline): Additional guard against an illegal program, where the
+ argument of the pragma is undefined, and warnings on redundant
+ constructs are enabled.
+ (Analyze_Pragma, case Obsolescent): Allow an optional second argument
+ Ada_05 to this pragma, specifying that the pragma is only active in
+ Ada_05 mode.
+ (Check_Arg_Order): New procedure
+ Add appropriate calls to this procedure throughout
+ Also throughout, check entity name before doing any other checks
+
+ * snames.h snames.ads, snames.adb: Add pragma Persistent_BSS
+ Remove obsolete pragma Persistent_Data, Persistent_Object
+ Add entries for pragma Pure_05 and Preelaborate_05
+ Add entries for Assertion_Policy pragma and associated names
+ Add some names for pragma argument processing
+
+ * tbuild.ads, tbuild.adb: (Make_Linker_Section_Pragma): New function
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_warn.adb (Warn_On_Known_Condition): If the constant expression
+ appears within a negation (either from source or as a rewriting of
+ inequality) adjust text of warning accordingly.
+
+2005-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * s-strxdr.adb: Follow AI95-00132
+
+2005-06-14 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tasren.adb (Exceptional_Complete_Rendezvous): Fix race condition.
+
+2005-06-14 Arnaud Charlet <charlet@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+
+ * s-tposen.adb, s-tpobop.adb
+ (Exceptional_Complete_Rendezvous): Save the occurrence and not only
+ the exception id.
+ (PO_Do_Or_Queue): Before queuing a task on an entry queue we check that
+ there is no violation of the Max_Entry_Queue_Length restriction (if it
+ has been set); Program_Error is raised otherwise.
+ (Requeue_Call): Before requeuing the task on the target entry queue we
+ check that there is no violation of the Max_Entry_Queue_Length
+ restriction (if it has been set); Program_Error is raised otherwise.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * styleg.adb: Fix several remaining problems in -gnatyu switch
+ Blank line count not reset at start
+ Scanning outside source buffer in some cases
+ Confusing message for blanks at end of file
+ Non-empty blank lines not recognized
+
+ * nmake.adt: Modify header so that xnmake does not generate output
+ files with multiple blank lines.
+
+ * treeprs.adt: Remove a blank line so that output from xtreeprs does
+ not have an extra blank line
+
+2005-06-14 Sergey Rybin <rybin@adacore.com>
+
+ * styleg-c.adb (Body_With_No_Spec): Remove ':' from warning message.
+
+2005-06-14 Doug Rupp <rupp@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * vms_conv.ads, vms_conv.adb: Remove "Library" command.
+ Update copyright.
+
+ * vms_data.ads: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
+ Remove "Library" command.
+ Change keyword for style check -gnatyd from NOCRLF to
+ DOS_LINE_ENDINGS.
+ Remove useless second style check keyword NONE
+ Remove help documentation for inexistent style check keyword
+ RM_COLUMN_LAYOUT.
+ Add help documentation for style check keywords DOS_LINE_ENDINGS,
+ UNNECESSARY_BLANK_LINES and XTRA_PARENS
+ Add UNNECESSARY_BLANK_LINES for -gnatyu
+ Add qualifiers /ALL_PROJECTS (-U) for GNAT PRETTY and GNAT METRIC
+
+ * ug_words: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+
+ * makegpr.adb (Compile_Link_With_Gnatmake): Invoke gnatmake with -d if
+ gprmake was invoked with -d.
+ (Compile_Sources): If -d was used, output the "completed ..." message
+ for each compilation.
+ (Scan_Arg): Recognize new switch -d
+ When -c and at least one main is specified, set
+ Unique_Compile to True to guarantee that no other sources will be
+ compiled.
+
+2005-06-14 Matthew Heaney <heaney@adacore.com>
+
+ * a-swunha.ads, a-swunha.adb: Removed. Replaced by a-swuwha.ad[sb]
+ * a-swuwha.ads, a-swuwha.adb: New files
+
+ * a-szunha.ads, a-szunha.adb: Removed, replaced by a-szuzha.ad[sb]
+ * a-szuzha.ads, a-szuzha.adb: New files.
+
+ * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
+ a-crbtgk.adb, a-crbltr.ads, a-coorse.ads, a-coorse.adb, a-convec.ads,
+ a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohata.ads, a-cohama.ads,
+ a-cohama.adb, a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
+ a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
+ a-cdlili.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb,
+ a-cohase.ads, a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads,
+ a-swunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb, a-shcain.ads,
+ a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads, a-stwiha.adb,
+ a-strhas.adb, a-stzhas.adb: synchronized to the latest version of the
+ Ada 2005 RM.
+
+2005-06-10 Eric Botcazou <ebotcazou@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ Pascal Obry <obry@adacore.com>
+
+ * gigi.h: (build_allocator): Add arg IGNORE_INIT_TYPE.
+
+ * trans.c (call_to_gnu): Issue a warning for users of Starlet when
+ making a temporary around a procedure call because of non-addressable
+ actual parameter.
+ (process_freeze_entity): If entity is a private type, capture size
+ information that may have been computed for the full view.
+ (tree_transform, case N_Allocator): If have initializing expression,
+ check type for Has_Constrained_Partial_View and pass that to
+ build_allocator.
+ (tree_transform, case N_Return_Statement): Pass extra arg to
+ build_allocator.
+
+ * decl.c (annotate_value): Remove early return if -gnatR is not
+ specified.
+ (gnat_to_gnu_field): Don't make a packable type for a component clause
+ if the position is byte aligned, the field is aliased, and the clause
+ size isn't a multiple of the packable alignment. It serves no useful
+ purpose packing-wise and would be rejected later on.
+ (gnat_to_gnu_entity, case object): Pass extra arg to build_allocator.
+
+ PR ada/20515
+ (gnat_to_gnu_entity): Remove use of macro _WIN32 which is wrong in the
+ context of cross compilers. We use TARGET_DLLIMPORT_DECL_ATTRIBUTES
+ instead.
+ (create_concat_name): Idem.
+
+2005-06-10 Robert Dewar <dewar@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+ Ben Brosgol <brosgol@adacore.com>
+ Cyrille Comar <comar@adacore.com>
+ Sergey Rybin <rybin@adacore.com>
+ Pascal Obry <obry@adacore.com>
+
+ * gnat_rm.texi: Add documentation for pragma Persistent_BSS
+ Document second argument (Ada_05) of pragma Obsolescent
+ Add note that call to subprogram marked with pragma Obsolescent
+ is now considered to be a violation of program Restrictions
+ (No_Obsolescent_Features).
+ (Implementation Defined Pragmas) <Machine_Attribute>: Make it clear
+ that only machine-dependent attributes are supported.
+
+ * gnat_ugn.texi:
+ Commented out menu lines and empty section for gnatclean examples
+ Document -gnatwy/Y
+ Fix some over long lines
+ Clarify and enhance documentation of ADA_PROJECT_PATH.
+ Rework section 2.11.2(3) about linking with a non-GNU compiler.
+ Mention new switch -fcallgraph-info.
+ Mention new switch -fstack-usage.
+ For gnatpp, replace '-notab' with '-N' and add this option to Index
+ Corrected VMS example.
+ VMS keyword for style check -gnatyd is DOS_LINE_ENDINGS, no NOCRLF
+ Minor reformatting
+ Add documentation for -gnatyu switch (unnecessary blank lines)
+ Document new switch -U for GNAT PRETTY and GNAT METRIC
+ Add note about Stdcall being handled as C convention on non Windows OS.
+ Remove some junk typo in description of gnatbind -S switch
+ Remove reference to Extensions_Allowed pragma
+ Document the new order of the directories to be searched (source and
+ object directories of project files before directories in ADA_*_PATH
+ environment variables.
+
+ * g-trasym.ads: Document that IRIX is supported
+
+2005-06-10 Arnaud Charlet <charlet@adacore.com>
+
+ * Makefile.in: Add initialize.o when needed.
+ Adapt to new VMS package body Symbols and subunits
+ No specialized version of a-sytaco is needed for VxWorks.
+
+ * a-wichun.ads, a-wichun.adb, a-zchuni.ads, a-zchuni.adb: New files.
+ * a-zchara.ads, a-widcha.ads: New files.
+
+ * system-hpux-ia64.ads: New file.
+
+ * i-vxwork-x86.ads, i-vxwork.ads (intContext): Add this function which
+ is imported from the VxWorks kernel.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * g-soliop-mingw.ads, g-soccon-vms.adb, a-swmwco.ads, exp_smem.adb,
+ fmap.adb, a-szmzco.ads, s-traent-vms.adb, s-traent-vms.ads,
+ a-direio.ads, a-exctra.ads, a-exexda.adb, a-exextr.adb, a-stream.ads,
+ s-restri.ads, s-restri.adb, s-traent.adb, s-traent.ads, a-slcain.adb,
+ a-stzhas.ads, a-tiinau.adb, comperr.adb, exp_ch11.adb, g-boubuf.adb,
+ g-calend.adb, g-debpoo.ads, g-moreex.ads, gprep.adb, g-regpat.ads,
+ i-cexten.ads, i-os2thr.ads, makeutl.ads, memroot.adb, mlib-prj.adb,
+ namet.adb, namet.ads, prj-makr.adb, prj-proc.adb, sem_dist.adb,
+ sem_elim.ads, s-valint.adb, s-vallli.adb, s-vallli.adb, s-vallli.ads,
+ s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, scn.adb,
+ s-tasinf.adb, targparm.adb, uname.adb, uname.ads, xnmake.adb,
+ xsinfo.adb, a-direct.ads: Remove extra blank lines. Minor reformatting.
+
+2005-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * xeinfo.adb: Fix typo in comment
+
+2005-06-14 Javier Miranda <miranda@adacore.com>
+
+ * repinfo.ads: Fix typo in comment
+
+2005-06-14 Gary Dismukes <dismukes@adacore.com>
+
+ * s-finimp.adb (Parent_Tag): Delete this imported function (function
+ Parent_Tag is now in the visible part of Ada.Tags).
+ (Get_Deep_Controller): Call Ada.Tags.Parent_Tag directly instead of
+ using imported function.
+
+2005-06-14 Bernard Banner <banner@adacore.com>
+
+ * vxaddr2line.adb: Add support for Windows hosted x86 vxworks. Should
+ also apply for handling support for VxSim 653.
+
+2005-06-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * xsnames.adb: Add automatic generation of snames.h.
+
+2005-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * gen-soccon.c: Add IP_MULTICAST_IF constant
+ Minor reformatting and adjustments to prevent warnings.
+
+2005-06-14 Pascal Obry <obry@adacore.com>
+
+ * seh_init.c: Do not include <sys/stat.h>. This is not needed.
+
+2005-06-03 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * trans.c (gnat_gimplify_expr): Call
+ recompute_tree_invarant_for_addr_expr when we change
+ the operand of the ADDR_EXPR.
+
+2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * misc.c: Don't include errors.h.
+
+2005-05-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * raise.c (db): Add ATTRIBUTE_PRINTF_2.
+
+2005-05-29 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cal.c, decl.c, init.c, raise.c, trans.c, utils2.c: Fix
+ comment typos.
+ * gnat_rm.texi, gnat_ugn.texi: Fix typos.
+
+2005-05-16 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ PR ada/20270
+ * Makefile.in: Make TGT_LIB behave correctly.
+
+2005-04-23 DJ Delorie <dj@redhat.com>
+
+ * misc.c: Adjust warning() callers.
+
+2005-04-16 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/18847
+ * a-nudira.adb (Value): Check for valid string.
+ * a-nuflra.adb (Value): Likewise.
+
+2005-04-11 Richard Sandiford <rsandifo@redhat.com>
+
+ * lang.opt: Refer to the GCC internals documentation instead of c.opt.
+
+2005-04-10 Kazu Hirata <kazu@cs.umass.edu>
+
+ * adaint.c, init.c, tracebak.c: Fix comment typos.
+ * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Fix typos.
+
+2005-04-07 Laurent Guerby <laurent@guerby.net>
+ John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * Makefile.in: Add make ifeq define for hppa linux tasking support.
+ * system-hpux.ads: Define Signed_Zeros to be True.
+ * system-linux-hppa.ads, s-osinte-linux-hppa.ads: New files.
+
+2005-04-01 Kazu Hirata <kazu@cs.umass.edu>
+
+ * adaint.c, cal.c, decl.c, gigi.h, gmem.c, init.c, link.c,
+ raise.c, tracebak.c, trans.c, utils2.c, utils.c: Fix comment
+ typos.
+
+2005-03-30 Tom Tromey <tromey@redhat.com>
+
+ * decl.c (gnat_substitute_in_type): Don't handle FILE_TYPE.
+
+2005-03-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ * adaint.c (_gnat_set_close_on_exec): Mark parameters unused.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb (Resolve_Real_Literal): Generate warning if static
+ fixed-point expression has value that is not a multiple of the Small
+ value.
+
+ * opt.ads (Warn_On_Bad_Fixed_Value): New flag
+
+ * s-taprop-tru64.adb (RT_Resolution): Return an integer number of
+ nanoseconds.
+
+ * ug_words: Add entry for [NO_]BAD_FIXED_VALUES for -gnatwb/-gnatwB
+
+2005-03-29 Vincent Celier <celier@adacore.com>
+
+ * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb
+ (Build_Dynamic_Library.Version_String): Return the empty string when
+ Lib_Version is empty or when the symbol policy is not Autonomous.
+
+ * symbols-vms-alpha.adb (Finalize): For symbol policy Compliant, when
+ a symbol is not in the reference symbol file, increase the Major ID
+ and set the Minor ID to 0.
+ Use gsmatch=lequal instead of gsmatch=equal
+
+2005-03-29 Doug Rupp <rupp@adacore.com>
+
+ * adaint.c (__gnat_to_canonical_file_spec [VMS]): Check for logical
+ name and translate.
+
+2005-03-29 Javier Miranda <miranda@adacore.com>
+
+ * a-tags.ads, a-tags.adb (Get_TSD): Subprogram removed.
+ (Inherit_DT): The first formal has been redefined as a Tag.
+ This allows us the removal of the subprogram Get_TSD.
+ (TSD): Replace the call to Get_TSD by the actual code.
+
+ * exp_disp.ads, exp_disp.adb: Remove support to call Get_TSD.
+ (Make_DT): Upgrade the call to Inherit_TSD according to the
+ new interface: the first formal is now a Tag.
+
+ * i-cpp.ads, i-cpp.adb (CPP_Inherit_DT): The first formal has been
+ redefined as a Tag.
+ This change allows us to remove the subprogram Get_TSD.
+ (CPP_Get_TSD): Subprogram removed.
+ (TSD): Replace the call to CPP_Get_TSD by the actual code.
+
+ * rtsfind.ads: Remove support to call the run-time
+ subprogram Get_TSD
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * errutil.adb, errout.adb:
+ Minor comment updates on Line_Terminator references
+
+ * par-ch10.adb: Add ??? comment about line terminator
+
+ * styleg.adb (Check_Line_Terminator): Add check for new switch -gnatyd
+ (check dos line terminator).
+ (Check_Line_Max_Length): New procedure, split off from the existing
+ Check_Line_Terminator routine. Separating this out allows -gnatyf to
+ be properly recognized.
+
+ * styleg.adb: Add ??? comment for line terminator reference
+
+ * scng.adb (Check_End_Of_Line): Fix bug of -gnatyf being ignored
+ (Check_End_Of_Line): Add -gnatyd handling (check dos line terminators)
+
+ * styleg.ads (Check_Line_Terminator): Add check for new switch -gnatyd
+ (check dos line terminator).
+ (Check_Line_Max_Length): New procedure, split off from the existing
+ Check_Line_Terminator routine. Separating this out allows -gnatyf to
+ be properly recognized.
+
+ * stylesw.ads, stylesw.adb:
+ Add handling for new -gnatyd switch (check dos line terminator)
+
+ * switch-c.adb: Recognize new -gnatyd switch (check dos line terminator)
+ Recognize -gnatwb/-gnatwB switches
+ Include Warn_On_Bad_Fixed_Value for -gnatg
+
+ * usage.adb:
+ Add line for new -gnatyd switch (check dos line terminator)
+
+ * usage.adb: Add lines for -gnatwb/-gnatwB
+
+ * vms_data.ads: Add entry for NOCRLF (-gnatyd)
+
+ * vms_data.ads: [NO_]BAD_FIXED_VALUES synonym for -gnatwb/-gnatwB
+
+ * gnat_ugn.texi: Fix overlong lines
+ Document new -gnatyd switch
+ Document new -gnatwb/-gnatwB switches
+
+2005-03-29 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Has_Unconstrained_UU_Component): Use the base type in
+ order to retrieve the component list of the type, before examining
+ individual components.
+
+ * sem_type.adb (Covers): Types are compatible if one is the base type
+ of the other, even though their base types might differ when private
+ views are involved.
+
+2005-03-29 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Add_RAST_Features, PolyORB version): Set the From_Any,
+ To_Any and TypeCode TSSs on RAS types directly using Set_TSS, instead
+ of using Set_Renaming_TSS. This ensures that the TSS bodies are not
+ analyzed if expansion is disabled (which could otherwise cause spurious
+ error messages if expansion has been disabled due to previous
+ (unrelated) errors).
+
+ * sem_prag.adb (Analyze_Pragma, case Asynchronous): If RAS expansion
+ is disabled, the entity denoted by the argument is the access type
+ itself, not an underlying record type, so there is no need to go back
+ to the Corresponding_Remote_Type.
+
+2005-03-29 Gary Dismukes <dismukes@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_intr.adb (Expand_Dispatching_Constructor_Call): New procedure to
+ expand a call to an instance of
+ Ada.Tags.Generic_Dispatching_Constructor into a dispatching call to the
+ Constructor actual of the instance. A class-wide membership
+ check is also generated, to ensure that the tag passed to the instance
+ denotes a type in the class.
+ (Expand_Intrinsic_Call): Call Expand_Dispatching_Constructor in the case
+ of Name_Generic_Dispatching_Constructor.
+
+ * Makefile.rtl: Add a-tgdico.ads to the list of library units (new Ada
+ 05 unit for AI-260-02).
+
+ * a-tgdico.ads: New file.
+
+ * impunit.adb (Non_Imp_File_Names_05): Add entry "a-tgdico" for new
+ predefined Ada 05 generic unit Ada.Tags.Generic_Dispatching_Constructor.
+
+ * snames.ads, snames.adb (Preset_Names): Add entry for
+ Generic_Dispatching_Constructor.
+
+ PR ada/20300
+ * sem_ch8.adb (Find_Direct_Name): Go to root type for check of
+ character type cases.
+ (Analyze_Subprogram_Renaming): Add special handling for
+ the case of renaming of stream attributes when the renaming denotes a
+ generic formal subprogram association for an abstract formal subprogram.
+ Check that the attribute is a primitive stream attribute (and not
+ a class-wide stream attribute) and then rewrite the attribute name
+ as the name of the appropriate compiler-generated stream primitive.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb (Remove_Side_Effects): Properly propagate arguments to
+ recursive calls.
+ (Is_Possibly_Unaligned_Object): Correct typo that
+ resulted in inaccurate result for unaligned scalars within records.
+
+2005-03-29 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): If the type of the component is an
+ itype whose parent is controlled and not yet frozen, do not create a
+ freeze node for the itype if expansion is disabled.
+
+2005-03-29 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Gnatmake): Don't fail if the main project file is declared
+ as having no Ada sources. Do not display message "no sources to
+ compile" in quiet output.
+
+2005-03-29 Doug Rupp <rupp@adacore.com>
+
+ * Makefile.in [VMS] (EXTRA_GNATTOOLS): Add vms_help and gnat.hlp as
+ extra tools.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * par-ch12.adb (P_Generic): Give better msg for illegal private generic
+ child.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * par-ch3.adb (P_Type_Declaration): Fix bad error recovery after
+ missing TYPE Improve the error message generated when compiling a
+ limited interface in Ada83 or Ada95 mode.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * par-ch4.adb (P_Name): When a bad attribute is returned, return error,
+ rather than proceed ahead using a junk attribute name.
+
+2005-03-29 Vincent Celier <celier@adacore.com>
+
+ * prj.ads, prj.adb: (Project_Data): Add new component Display_Name
+
+ * prj-part.adb (Parse_Single_Project): Set the location of a project
+ on its defining identifier, rather than on the reserved word "project".
+
+ * prj-proc.adb (Expression): Adapt to the fact that default of external
+ references may be string expressions, not always literal strings.
+ (Recursive_Process): Set Display_Name equal to Name
+ when Location is No_Location, that is when there is no actual file.
+ Get the Display_Name of the project from the source, when it is not a
+ virtual project.
+ (Process): Use the Display_Name in error messages
+
+ * prj-strt.adb (External_Reference): Allow default to be string
+ expressions, not only literal strings.
+
+2005-03-29 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_Stand_Alone_Library): Do not forbid the symbol
+ file and the reference symbol file to be the same file.
+
+2005-03-29 Thomas Quinot <quinot@adacore.com>
+
+ * sem_cat.adb (Validate_Remote_Types_Type_Conversion): Perform check to
+ forbid conversion of a local access-to-subprogram type to a remote one.
+
+ * sem_util.adb (Wrong_Type): For a record type that is the expanded
+ equivalent type for a remote access-to-subprogram type, go back to the
+ original RAS entity when displaying an error message, so the casing is
+ the original source casing.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch11.adb (Analyze_Raise_Statement): Change message for warning
+ on param update.
+
+2005-03-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): Do not generate an actual
+ subtype if code is being pre-analyzed, to prevent un-expanded
+ references to protected formals, among others.
+ (Analyze_Explicit_Dereference): If the overloaded prefix includes some
+ interpretation that can be a call, include the result of the call as a
+ possible interpretation of the dereference.
+
+ * sem_ch5.adb (Process_Bounds): Determine type of range by
+ pre-analyzing a copy of the original range, and then analyze the range
+ with the expected type.
+
+ * sem_res.adb (Check_Parameterless_Call): For an explicit dereference
+ with an overloaded prefix where not all interpretations yield an
+ access to subprogram, do not rewrite node as a call.
+ (Resolve_Explicit_Dereference): Recognize the previous case and rewrite
+ the node as a call once the context identifies the interpretation of
+ the prefix whose call yields the context type.
+ (Valid_Conversion): For the case of a conversion between
+ local access-to-subprogram types, check subtype conformance using
+ Check_Subtype_Conformant instead of Subtype_Conformant, to have a more
+ detailed error message.
+
+2005-03-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Set_Formal_Mode): If the subtype has a non_null
+ indicator, indicate that the formal can never be null.
+ (Process_Formals): If a formal has a non_null indicator, insert the
+ resulting subtype immediately before the enclosing subprogram decl,
+ and not at the beginning of the corresponding declarative part, to
+ prevent access before elaboration (Ada2005).
+
+2005-03-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ PR ada/19956
+ * utils.c (finish_record_type): Use variable_size when setting sizes.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * xtreeprs.adb, xnmake.adb: Use Stream_IO instead of Text_IO to
+ guarantee Unix style line terminators for the output files, even when
+ running on windows.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * a-direct.ads, a-direct.adb (Start_Search): Free allocated search
+ buffer if an exception is raised.
+
+2005-03-29 Ed Falis <falis@adacore.com>
+
+ * cio.c: Undefine putchar and getchar for VTHREADS: incompatible with
+ VxWorks 653 1.4
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.ads: Minor reformatting
+ * gnat_rm.texi: Minor editing.
+
+2005-03-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Variable>: Rework comment.
+ * trans.c (tree_transform) <N_Identifier>: Use correct predicates.
+
+2005-03-24 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ * adaint.c (__gnat_portable_spawn): Adjust cast.
+
+2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
+
+ * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
+
+2005-03-17 Pascal Obry <obry@adacore.com>
+
+ * adaint.h, adaint.c (__gnat_waitpid): Moved to expect.c where it is
+ used.
+
+ * expect.c (__gnat_waitpid): Moved here from adaint.c.
+ Reimplement under Win32 using Win32 API.
+
+ (__gnat_kill) [Win32]: Properly close the process handle before leaving
+ this routine.
+
+2005-03-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * ada-tree.h: (DECL_RENAMING_GLOBAL_P): New predicate.
+ (DECL_RENAMED_OBJECT): New accessor macro.
+ (SET_DECL_RENAMED_OBJECT): New setter macro.
+
+ * decl.c (gnat_to_gnu_entity) <E_Variable>: Stabilize the renamed
+ object in all cases. Attach the renamed object to the VAR_DECL.
+ (gnat_to_gnu_field): Do not lift the record wrapper if the size of the
+ field is not prescribed.
+
+ * misc.c (gnat_handle_option): Handle -gnatO separately.
+ (gnat_print_decl) <VAR_DECL>: New case.
+ Print the DECL_RENAMED_OBJECT node.
+
+ * lang.opt: Declare separate -gnatO option.
+
+ * trans.c (tree_transform) <N_Identifier>: If the object is a renaming
+ pointer, replace it with the renamed object.
+ <N_Validate_Unchecked_Conversion>: Warn for a conversion to a fat
+ pointer type if the source is not a fat pointer type whose underlying
+ array has the same non-zero alias set as that of the destination array.
+
+2005-03-17 Javier Miranda <miranda@adacore.com>
+
+ * a-tags.ads, a-tags.adb (Get_Expanded_Name): Removed.
+ (Get_Inheritance_Depth): Removed.
+ (Set_Inheritance_Depth): Removed.
+
+ * rtsfind.ads, exp_disp.ads, exp_disp.adb: Remove support to call the
+ subprogram Get_Expanded_Name because it is not referenced by the
+ frontend.
+
+ * i-cpp.ads, i-cpp.adb (CPP_Get_Expanded_Name): Removed.
+ (CPP_Get_Inheritance_Depth): Removed.
+ (CPP_Set_Inheritance_Depth): Removed.
+
+ * tbuild.ads, tbuild.adb (Make_DT_Component): Removed.
+
+2005-03-17 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Apply_Array_Size_Check): Completely remove this for GCC
+ 3, since we now expect GCC 3 to do all the work.
+
+2005-03-17 Javier Miranda <miranda@adacore.com>
+
+ * einfo.adb (First_Private_Entity, Set_First_Private_Entity): Addition
+ of one barrier to avoid wrong usage of this attribute.
+
+ * sem_ch12.adb (Formal_Entity): Fix erroneous usage of the attribute
+ First_Private_Entity.
+
+ * sem_ch7.adb (Install_Visible_Declarations): Add a barrier to protect
+ the subprogram against wrong usage.
+ Adapt the code to traverse the entities in the
+ scope of a record_type because in addition to its usage regarding
+ packages, this subprogram is also called by Expand_N_Freeze_Entity
+ to install the visible declarations of the enclosing scope of a
+ record_type_with_private to establish the proper visibility before
+ freezing the entity and related subprograms.
+
+2005-03-17 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch2.adb (In_Assignment_Context): Recognize slice assignments to
+ entry formals.
+
+2005-03-17 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch3.adb (Check_Attr): New subprogram.
+ (Check_Stream_Attribute): Move the code for 13.13.2(9/1) enforcement
+ into a new Check_Attr subprogram, in order to provide a more
+ explanatory error message (including the name of the missing attribute).
+ (Stream_Operation_OK): Renamed from Stream_Operations_OK. This
+ subprogram determines whether a default implementation exists for a
+ given stream attribute.
+ (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies):
+ Determine whether to generate a default implementation for each stream
+ attribute separately, as this depends on the specific attribute.
+
+ * exp_strm.adb (Make_Field_Attribute): For the case of an illegal
+ limited extension where a stream attribute is missing for a limited
+ component (which will have been flagged in Exp_Ch3.Sem_Attr), do not
+ generate a bogus reference to the missing attribute to prevent
+ cascaded errors. Instead, generate a null statement.
+
+ * sem_attr.adb (Check_Stream_Attribute): A stream attribute is
+ available for a limited type if it has been specified for an ancestor
+ of the type.
+
+2005-03-17 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Expand_Inlined_Call): handle the case when the renamed
+ entity is an operator.
+
+2005-03-17 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
+ spec, to make this predicate available to other units.
+
+ * rtsfind.adb (Check_RPC): Use Sem_Dist.Get_PCS_Name instead of
+ reimplementing it.
+
+ * sem_ch8.adb: Disable expansion of remote access-to-subprogram types
+ when no distribution runtime library is available.
+
+ * sem_res.adb, sem_dist.adb: Disable expansion of remote
+ access-to-subprogram types when no distribution runtime library is
+ available.
+ (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist spec, to make this
+ predicate available to other units.
+
+ * sem_dist.ads (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
+ spec, to make this predicate available to other units.
+
+2005-03-17 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Insert_Project_Sources): Make sure the Q is always
+ initialized.
+
+ * prj-nmsc.adb (Check_Ada_Naming_Scheme_Validity): Check Naming against
+ the default for the tree, not the global default naming.
+
+ * prj-proc.adb (Recursive_Process): No need to put the default naming
+ in the project data, it's already there.
+
+2005-03-17 Doug Rupp <rupp@adacore.com>
+
+ * Makefile.in: (ia64-hp-*vms*): Use s-crtl-vms64.ads.
+
+ * 5xcrtl.ads: Renamed to...
+ * s-crtl-vms64.ads: ...this new file
+
+2005-03-17 Robert Dewar <dewar@adacore.com>
+
+ PR ada/19519
+ * namet.adb (Copy_One_Character): Set proper wide character encoding
+ for upper half character if we have upper half encoding.
+
+2005-03-17 Robert Dewar <dewar@adacore.com>
+
+ * par.adb (Par): Improved msg for attempt to recompile predefined unit
+
+2005-03-17 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch13.adb (New_Stream_Function, New_Stream_Procedure): For a
+ tagged limited type, the TSS is a newly built renaming declaration:
+ insert it using Set_TSS, not Copy_TSS.
+
+2005-03-17 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch4.adb (Try_Primitive_Operation, Class_Wide_Operation and
+ Try_Object_Operation): Analyze the object that is accessible
+ through the prefix of the subprogram call before we apply
+ the transformation of the object-operation notation.
+
+2005-03-17 Jose Ruiz <ruiz@adacore.com>
+
+ * s-taprob.adb (Initialize_Protection): Initialize the protected
+ object's owner to Null_Task.
+ (Lock): If pragma Detect_Blocking is in effect and the caller of this
+ procedure is already the protected object's owner then Program_Error
+ is raised. In addition the protected object's owner is updated.
+ (Lock_Read_Only): If pragma Detect_Blocking is in effect and the caller
+ of this procedure is already the protected object's owner then
+ Program_Error is raised.
+ In addition the protected object's owner is updated.
+ (Unlock): Remove the ownership of the protected object.
+
+ * s-taprob.ads (Protection): Add the field Owner, used to store the
+ protected object's owner.
+ This component is needed for detecting one type of potentially blocking
+ operations (external calls on a protected subprogram with the same
+ target object as that of the protected action). Document the rest of
+ the components.
+
+ * s-tposen.adb, s-tpoben.adb (Initialize_Protection_Entries):
+ Initialize the protected object's owner to Null_Task.
+ (Lock_Read_Only_Entries): If pragma Detect_Blocking is in effect and the
+ caller of this procedure is already the protected object's owner then
+ Program_Error is raised.
+ Do not raise Program_Error when this procedure is called from a
+ protected action.
+ (Unlock_Entries): Remove the ownership of the protected object.
+ (Lock_Entries): If pragma Detect_Blocking is in effect and the caller
+ of this procedure is already the protected object's owner then
+ Program_Error is raised.
+ Do not raise Program_Error when this procedure is called from
+ a protected action.
+
+ * s-tposen.ads, s-tpoben.ads (Protection_Entries): Add the field Owner,
+ used to store the protected object's owner.
+
+ * s-tpobop.adb (Protected_Entry_Call): If pragma Detect_Blocking is in
+ effect and this procedure (a potentially blocking operation) is called
+ from whithin a protected action, Program_Error is raised.
+ (Timed_Protected_Entry_Call): If pragma Detect_Blocking is in effect
+ and this procedure (a potentially blocking operation) is called from
+ whithin a protected action, Program_Error is raised.
+
+2005-03-17 Vincent Celier <celier@adacore.com>
+ Nicolas Setton <setton@adacore.com>
+
+ * mlib-tgt-darwin.adb (Build_Dynamic_Library): Remove the "-fini"
+ switch, not supported by the linker on Darwin. Add '_' before
+ <library>init, as this character is added unconditionally by the
+ compiler.
+ (Is_Archive_Ext): Replace the wrong library extension ".dyld" by the
+ correct one ".dylib". This fixes detection of the archive files when
+ building library projects.
+
+2005-03-17 Vincent Celier <celier@adacore.com>
+
+ * switch-m.adb (Normalize_Compiler_Switches): Recognize switches
+ -gnat83, -gnat95 and -gnat05.
+
+2005-03-17 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * gnat_ugn.texi: Document gnatmem restriction
+
+2005-03-17 Thomas Quinot <quinot@adacore.com>
+
+ * snames.adb: Document new TSS names introduced by exp_dist/exp_tss
+ cleanup
+
+2005-03-17 Robert Dewar <dewar@adacore.com>
+
+ * s-interr.ads, s-interr.adb, sem_ch3.adb, prj.ads, prj.adb,
+ a-interr.adb, a-interr.ads, s-interr-sigaction.adb, s-interr-dummy.adb,
+ s-interr-vms.adb, s-interr-vxworks.adb: Minor reformatting
+
+ * casing.adb: Comment improvements
+
+2005-03-17 Pascal Obry <obry@adacore.com>
+
+ * g-expect.adb: Minor reformatting.
+
+2005-03-15 Zack Weinberg <zack@codesourcery.com>
+
+ * Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
+ (doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
+ to dependencies.
+
+2005-03-15 Vincent Celier <celier@adacore.com>
+
+ * mlib-tgt-darwin.adb (Library_Exist_For, Library_File_Name_For):
+ Add new parameter In_Tree to specify the project tree: needed
+ by the project manager. Adapt to changes in project manager
+ using new parameter In_Tree.
+
+2005-03-15 Jakub Jelinek <jakub@redhat.com>
+
+ * Make-lang.in (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h,
+ ada/nmake.adb, ada/nmake.ads): Use unique subdirectories of
+ ada/bldtools to avoid make -jN failures.
+
+2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (gnat_to_gnu) <N_Return_Statement>: Set gnu_result
+ to NULL_TREE on entry.
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
+ system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
+ system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
+ system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
+ system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
+ system-linux-x86.ads, system-vxworks-mips.ads, system-os2.ads,
+ system-interix.ads, system-solaris-sparc.ads,
+ system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
+ system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads,
+ system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
+ system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads,
+ system-linux-s390.ads, system-linux-s390x.ads: Add line defining
+ Compiler_System_Version to be False.
+
+ * opt.ads: Add new flag Opt.Address_Is_Private
+
+ * targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private
+ Add new parameter Compiler_System_Version to avoid checking for
+ completeness of parameters when compiler is compiling itself.
+ Allows old versions of GNAT to be compiled with new compiler.
+
+2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function
+ (Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the
+ calling thread.
+ (Stack_Base_Available): New flag.
+ (Get_Page_Size): New overloaded functions imported from C.
+ (PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL,
+ PROT_ON, PROT_OFF): New constants.
+ (mprotect): New function imported from C.
+ (pthread_teb_t): New record type.
+
+ * s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
+ (Create_Task): Account for the Yellow Zone and the guard page.
+
+2005-03-15 Vincent Celier <celier@adacore.com>
+
+ * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+ mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
+ mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
+ mlib-tgt-vxworks.adb, mlib-tgt-lynxos.adb (Library_Exist_For,
+ Library_File_Name_For): Add new parameter In_Tree
+ to specify the project tree: needed by the project manager.
+ Adapt to changes in project manager using new parameter In_Tree.
+ Remove local imports, use functions in System.CRTL.
+
+ * make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
+ to use the project manager.
+
+ * makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter
+ In_Tree to designate the project tree. Adapt to changes in the project
+ manager, using In_Tree.
+
+ * mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library,
+ Copy_Interface_Sources): Add new parameter In_Tree to specify the
+ project tree: needed by the project manager.
+ (Build_Library): Check that Arg'Length >= 6 before checking if it
+ contains "--RTS=...".
+
+ * mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For,
+ Library_File_Name_For): Add new parameter In_Tree to specify the
+ project tree: needed by the project manager.
+
+ * prj.ads, prj.adb: Major modifications to allow several project trees
+ in memory at the same time.
+ Change tables to dynamic tables and hash tables to dynamic hash
+ tables. Move tables and hash tables from Prj.Com (in the visible part)
+ and Prj.Env (in the private part). Move some constants from the visible
+ part to the private part. Make other constants deferred.
+ (Project_Empty): Make it a variable, not a function
+ (Empty_Project): Add parameter Tree. Returns the data with the default
+ naming data of the project tree Tree.
+ (Initialize): After updating Std_Naming_Data, copy its value to the
+ component Naming of Project Empty.
+ (Register_Default_Naming_Scheme): Use and update the default naming
+ component of the project tree, instead of the global variable
+ Std_Naming_Data.
+ (Standard_Naming_Data): Add defaulted parameter Tree. If project tree
+ Tree is not defaulted, return the default naming data of the Tree.
+ (Initial_Buffer_Size): Constant moved from private part
+ (Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new
+ variables initialized in procedure Initialize.
+ (Add_To_Buffer): Add two in out parameters to replace global variables
+ Buffer and Buffer_Last.
+ (Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New
+ functions.
+ Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
+ hash tables.
+ (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
+ for the project tree.
+ (Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and
+ constant at the beginning of the package spec, so that they cane be used
+ in subprograms before their full declarations.
+ (Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref
+ (Empty_Project): Add parameter of type Project_Node_Ref
+ (Private_Project_Tree_Data): Add component Default_Naming of type
+ Naming_Data.
+ (Buffer, Buffer_Last): remove global variables
+ (Add_To_Buffer): Add two in out parameters to replace global variables
+ Buffer and Buffer_Last.
+ (Current_Packages_To_Check): Remove global variable
+ (Empty_Name): Move to private part
+ (No-Symbols): Make it a constant
+ (Private_Project_Tree_Data): New type for the private part of the
+ project tree data.
+ (Project_Tree_Data): New type for the data of a project tree
+ (Project_Tree_Ref): New type to designate a project tree
+ (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
+ for the project tree.
+
+ * prj-attr.ads: Add with Table; needed, as package Prj no longer
+ imports package Table.
+
+ * prj-com.adb: Remove empty, no longer needed body
+
+ * prj-com.ads: Move most of the content of this package to package Prj.
+
+ * prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to
+ designate the project node tree and Packages_To_Check to replace
+ global variable Current_Packages_To_Check.
+ Add new parameters In_Tree and Packages_To_Check to local subprograms,
+ when needed. Adapt to changes in project manager with project node tree
+ In_Tree.
+
+ * prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the
+ project tree to most subprograms. Move tables and hash tables to
+ private part of package Prj.
+ Adapt to changes in project manager using project tree In_Tree.
+
+ * prj-makr.adb (Tree): New constant to designate the project node tree
+ Adapt to change in project manager using project node tree Tree
+
+ * prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly
+ display the Library_Src_Dir and the Library_Dir.
+ Add new parameter In_Tree to designate the project node tree to most
+ subprograms. Adapt to changes in the project manager, using project tree
+ In_Tree.
+ (Check_Naming_Scheme): Do not alter the casing on platforms where
+ the casing of file names is not significant.
+ (Check): Add new parameter In_Tree to designate the
+
+ * prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to
+ designate the project tree.
+ Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process
+
+ * prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables,
+ to replace those that were in the private part of package Prj.
+ Add new parameter In__Tree to designate the project node tree to most
+ subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
+ (Post_Parse_Context_Clause): When specifying the project node of a with
+ clause, indicate that it is a limited with only if there is "limited"
+ in the with clause, not necessarily when In_Limited is True.
+ (Parse): Add new parameter In_Tree to designate the project node tree
+
+ * prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to
+ designate the project node tree. Adapt to change in Prj.Tree with
+ project node tree In_Tree.
+
+ * prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project
+ tree In_Tree in the call to function Empty_Process to give its initial
+ value to the project data Processed_Data.
+ Add new parameters In_Tree to designate the project tree and
+ From_Project_Node_Tree to designate the project node tree to several
+ subprograms. Adapt to change in project manager with project tree
+ In_Tree and project node tree From_Project_Node_Tree.
+
+ * prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables,
+ to replace those that were in the private part of package Prj.
+ Add new parameter In_Tree to designate the project node tree to most
+ subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
+
+ * prj-tree.ads, prj-tree.adb: Add new parameter of type
+ Project_Node_Tree_Ref to most subprograms.
+ Use this new parameter to store project nodes in the designated project
+ node tree.
+ (Project_Node_Tree_Ref): New type to designate a project node tree
+ (Tree_Private_Part): Change table to dynamic table and hash tables to
+ dynamic hash tables.
+
+ * prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate
+ the project tree to most subprograms. Adapt to changes in project
+ manager using project tree In_Tree.
+
+ * makegpr.adb (Project_Tree): New constant needed to use project
+ manager.
+
+2005-03-15 Olivier Hainque <hainque@adacore.com>
+
+ * s-intman-posix.adb (Notify_Exception): Adjust signature, as handler
+ for sigactions with SA_SIGINFO set. Call
+ __gnat_adjust_context_for_raise before raising, to perform the
+ potentially required adjustments to the machine context for the GCC
+ unwinder.
+
+ * raise.h (__gnat_adjust_context_for_raise): New prototype.
+
+ * init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision.
+ Adjust PC by one in the provided machine context.
+ (__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags,
+ so that the handler is passed the context structure to adjust prior to
+ the raise.
+ (__gnat_error_handler) HPUX: Adjust the signature to match what an
+ SA_SIGINFO sigaction should look like. Call
+ __gnat_adjust_context_for_raise before actually raising.
+ (__gnat_adjust_context_for_raise): Default noop to help PC
+ adjustments before raise from signal handlers.
+ (__gnat_error_handler): Indirectly call a predicate function to
+ determine if a condition should be resignaled or not.
+ (__gnat_set_resignal_predicate): User interface to modify the predicate.
+ (__gnat_default_resignal_p): Default GNAT predicate.
+
+2005-03-15 Doug Rupp <rupp@adacore.com>
+
+ * adaint.c: Prefix #include of VMS system header files with vms/
+ [VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS.
+ Do not define a dummy function "convert_addresses" under Darwin,
+ not needed.
+
+ * tb-alvms.c, expect.c: Prefix #include of VMS system header files
+ with vms/
+
+2005-03-15 Nicolas Setton <setton@adacore.com>
+
+ * tracebak.c: Under Darwin, use the same unwinding mechanisms as under
+ PPC/AIX.
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ * a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
+ AI-386.
+
+ * a-retide.ads: Minor comment changes
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ * a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads,
+ a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move
+ Realloc_For_Chunk to private part of package.
+ New subprograms for AI-301
+
+ * a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
+ Get_Line procedure.
+ Avoid unnecessary use of Get/Set_Wide_String
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ PR ada/13470
+ * a-stunau.ads, a-stunau.adb:
+ Change interface to allow efficient (and correct) implementation
+ The previous changes to allow extra space in unbounded strings had
+ left this interface a bit broken.
+
+ * a-suteio.adb: Avoid unnecessary use of Get/Set_String
+
+ * g-spipat.ads, g-spipat.adb: New interface for Get_String
+ Minor reformatting (function specs)
+
+ * g-spitbo.adb: New interface for Get_String
+
+ * g-spitbo.ads: Minor reformatting
+
+ * a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String
+
+ * a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String
+
+2005-03-15 Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * atree.ads, atree.adb: Add support for Elist24 field
+
+ * atree.h: Fix wrong definition of Field27
+ Add support for Elist16 field
+ Add support for Elist24 field
+
+ * einfo.ads, einfo.adb (Abstract_Interfaces,
+ Set_Abstract_Interfaces): New subprograms.
+ (Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New
+ subprograms.
+ (Access_Disp_Table, Set_Access_Disp_Table): Modified to handle a list of
+ entities rather than a single node.
+ (Is_Interface, Set_Is_Interface): New subprogram
+ (First_Tag_Component): New syntesized attribute
+ (Next_Tag_Component): New synthesized attribute
+ (Write_Entity_Flags): Upgraded to write Is_Interface
+ (Write_Field24_Name): Upgraded to write Abstract_Interfaces
+ (Write_Field25_Name): Upgraded to write Abstract_Interface_Alias
+ (Task_Body_Procedure): New subprogram to read this attribute.
+ (Set_Task_Body_Procedure): New subprogram to set this attribute.
+ (Has_Controlled_Component): Now applies to all entities.
+ This is only a documentation change, since it always worked to apply
+ this to other than composite types (yielding false), but now this is
+ official.
+ Update documentation on Must_Be_Byte_Aligned for new spec
+
+ * tbuild.adb, exp_dist.adb, exp_disp.adb, exp_ch3.ads, exp_ch3.adb,
+ exp_attr.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb: Upgrade all the
+ uses of the Access_Disp_Table attribute to reference the first dispatch
+ table associated with a tagged type. As
+ part of the implementation of abstract interface types,
+ Access_Disp_Table has been redefined to contain a list of dispatch
+ tables (rather than a single dispatch table).
+ Similarly, upgrade all the references to Tag_Component by the
+ new attribute First_Tag_Component.
+ (Find_Inherited_TSS): Moved to exp_tss.
+ Clean up test in Expand_N_Object_Declaration for cases
+ where we need to do a separate assignment of the initial value.
+ (Expand_N_Object_Declaration): If the expression in the
+ declaration of a tagged type is an aggregate, no need to generate an
+ additional tag assignment.
+ (Freeze_Type): Now a function that returns True if the N_Freeze_Entity
+ is to be deleted.
+ Bit packed array ops are only called if operands are known to be
+ aligned.
+ (Component_Equality): When returning an N_Raise_Program_Error statement,
+ ensure that its Etype is set to Empty to avoid confusing GIGI (which
+ expects that only expressions have a bona fide type).
+ (Make_Tag_Ctrl_Assignment): Use Build_Actual_Subtype to correctly
+ determine the amount of data to be copied.
+
+ * par.adb (P_Interface_Type_Definition): New subprogram that parses the
+ new syntax rule of Ada 2005 interfaces (for AI-251 and AI-345):
+ INTERFACE_TYPE_DEFINITION ::=
+ [limited | task | protected | synchronized] interface
+ [AND interface_list]
+
+ * par-ch3.adb (P_Type_Declaration): Modified to give support to
+ interfaces.
+ (P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to
+ interfaces.
+ (P_Interface_Type_Definition): New subprogram that parses the new
+ syntax rule of Ada 2005 interfaces
+ (P_Identifier_Declarations): fix two occurrences of 'RENAMES' in error
+ messages by the correct RENAMES (quotes removed).
+
+ * sem_prag.adb: Upgrade all the references to Tag_Component by the new
+ attribute First_Tag_Component.
+
+ * sinfo.ads, sinfo.adb: Remove OK_For_Stream flag, not used, not needed
+ (Interface_List, Set_Interface_List): New subprograms.
+ (Interface_Present, Set_Interface_Present): New subprograms.
+ (Limited_Present, Set_Limited_Present): Available also in derived
+ type definition nodes.
+ (Protected_Present, Set_Protected_Present): Available also in
+ record type definition and
+ derived type definition nodes.
+ (Synchronized_Present, Set_Synchronized_Present): New subprograms.
+ (Task_Present, Set_Task_Present): New subprogram.
+ (Task_Body_Procedure): Removed.
+ (Set_Task_Body_Procedure): Removed.
+ These subprogram have been removed because the attribute
+ Task_Body_Procedure has been moved to the corresponding task type
+ or task subtype entity to leave a field free to store the list
+ of interfaces implemented by a task (for AI-345)
+ Add Expression field to N_Raise_Statement node for Ada 2005 AI-361
+ (Null_Exclusion_Present): Change to Flag11, to avoid conflict with
+ expression flag Do_Range_Check
+ (Exception_Junk): Change to Flag7 to accomodate above change
+ (Box_Present, Default_Name, Specification, Set_Box_Present,
+ Set_Default_Name, Set_Specification): Expand the expression
+ "X in N_Formal_Subprogram_Declaration" into the corresponding
+ two comparisons. Required to use the csinfo tool.
+
+ * exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where
+ "with string" given.
+
+ * sem_ch11.adb (Analyze_Raise_Statement): Handle case where string
+ expression given.
+
+ * par-ch11.adb (P_Raise_Statement): Recognize with string expression
+ in 2005 mode
+
+ * exp_ch9.adb (Build_Task_Proc_Specification): Modified to use entity
+ attribute Task_Body_Procedure rather than the old semantic field that
+ was available in the task_type_declaration node.
+
+ * par-ch12.adb (P_Formal_Type_Definition): Modified to handle formal
+ interface type definitions.
+ (P_Formal_Derived_Type_Definition): Modified to handle the list of
+ interfaces.
+
+ * par-ch9.adb (P_Task): Modified to handle the list of interfaces in a
+ task type declaration.
+ (P_Protected): Modified to handle the list of interfaces in a
+ protected type declaration.
+
+2005-03-15 Doug Rupp <rupp@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
+ (Gen_Output_File_C): Likewise.
+ (Gen_Main_C): Issue #include <stdlib.h> to avoid warning
+
+2005-03-15 Thomas Quinot <quinot@adacore.com>
+
+ * checks.adb (Get_E_First_Or_Last): When the expression being retrieved
+ is an N_Raise_Constraint_Error node, create a new copy of it without
+ going through a call to Duplicate_Subexpr.
+
+2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ Nicolas Setton <setton@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/19900
+ PR ada/19408
+ PR ada/19140
+ PR ada/20255
+ * decl.c (gnat_to_gnu_field): Reject aliased components with a
+ representation clause that prescribes a size not equal to the rounded
+ size of their types.
+ (gnat_to_gnu_entity, case E_Component): Always look at
+ Original_Record_Component if Present and not the entity.
+ (gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
+ of tagged extension types by not making field for components that are
+ inside the parent.
+ (gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
+ (gnat_to_gnu_entity) <E_Variable>: Do not convert again the
+ expression to the type of the object when the object is constant.
+ Reverse defer_debug_incomplete_list before traversing it, so that trees
+ are processed in the order at which they were added to the list. This
+ order is important when using the stabs debug format.
+ If we are deferring the output of debug information, also defer this
+ output for a function return type.
+ When adding fields to a record, prevent emitting debug information
+ for incomplete records, emit the information only when the record is
+ complete.
+ (components_to_record): New parameter defer_debug.
+ (gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
+ (gnat_to_gnu_field_decl): New function.
+ (substitution_list, annotate_rep): Call it.
+ (gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
+ (gnat_to_gnu_entity, case E_Record_Type): Likewise.
+ No longer update discriminants to not be a COMPONENT_REF.
+ (copy_alias_set): Strip padding from input type; also handle
+ unconstrained arrays properly.
+
+ * gigi.h (write_record_type_debug_info): New function.
+ Convert to use ANSI-style prototypes. Remove unused
+ declarations for emit_stack_check, elab_all_gnat and
+ set_second_error_entity.
+ (gnat_to_gnu_field_decl): New decl.
+
+ * utils.c (write_record_type_debug_info): New function.
+ (finish_record_type): Delegate generation of debug information to
+ write_record_type_debug_info.
+ (update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
+ (update_pointer_to): Fix pasto.
+ (convert) <UNION_TYPE>: Accept slight type variations when
+ converting to an unchecked union type.
+
+ * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
+ replace the N_Freeze_Entity with a null statement.
+
+ * freeze.adb (Freeze_Expression): If the freeze nodes are generated
+ within a constrained subcomponent of an enclosing record, place the
+ freeze nodes in the scope stack entry for the enclosing record.
+ (Undelay_Type): New Subprogram.
+ (Set_Small_Size): Pass T, the type to modify; all callers changed.
+ (Freeze_Entity, Freeze_Record_Type): Change the way we handle types
+ within records; allow them to have freeze nodes if their base types
+ aren't frozen yet.
+
+ * exp_util.adb (Remove_Side_Effects): Properly test for
+ Expansion_Delayed and handle case when it's inside an
+ N_Qualified_Expression.
+
+ * sem_ch3.adb (Derived_Type_Declaration): New predicate
+ Comes_From_Generic, to recognize accurately that the parent type in a
+ derived type declaration can be traced back to a formal type, because
+ it is one or is derived from one, or because its completion is derived
+ from one.
+ (Constrain_Component_Type): If component comes from source and has no
+ explicit constraint, no need to constrain in in a subtype of the
+ enclosing record.
+ (Constrain_Access, Constrain_Array): Allow itypes to be delayed.
+ Minor change to propagate Is_Ada_2005 flag
+
+ * trans.c (gnat_to_gnu, case N_Aggregate): Verify that
+ Expansion_Delayed is False.
+ (assoc_to_constructor): Ignore fields that have a
+ Corresponding_Discriminant.
+ (gnat_to_gnu) <N_Return_Statement>: Restructure. If the
+ function returns "by target", dereference the target pointer using the
+ type of the actual return value.
+ <all>: Be prepared for a null gnu_result.
+ (processed_inline_subprograms): Check flag_really_no_inline
+ instead of flag_no_inline.
+ (set_second_error_entity): Remove unused function.
+ (gnat_to_gnu, case N_Selected_Component): Call
+ gnat_to_gnu_field_decl.
+ (assoc_to_constructor): Likewise.
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * exp_pakd.adb (Create_Packed_Array_Type): Do not set
+ Must_Be_Byte_Aligned for cases where we do not need to use a
+ System.Pack_nn unit.
+
+ * exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
+ as procedures.
+ Needed now that we do some processing for IN parameters as well. This
+ may well fix some unrelated errors.
+ (Expand_Call): Handle case of unaligned objects (in particular those
+ that come from packed arrays).
+ (Expand_Inlined_Call): If the subprogram is a renaming as body, and the
+ renamed entity is an inherited operation, re-expand the call using the
+ original operation, which is the one to call.
+ Detect attempt to inline parameterless recursive subprogram.
+ (Represented_As_Scalar): Fix to work properly with private types
+ (Is_Possibly_Unaligned_Object): Major rewrite to get a much more
+ accurate estimate. Yields True in far fewer cases than before,
+ improving the quality of code that depends on this test.
+
+ * exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
+ over both visible and private declarations to remove them from tree,
+ and mark subprograms declared in package as eliminated, to prevent
+ spurious use in subsequent compilation of generic units in the context.
+
+ * exp_util.ads: Minor cleanup in variable names
+
+ * sem_eval.ads, sem_eval.adb: Minor reformatting
+ (Compile_Time_Known_Bounds): New function
+
+2005-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch7.adb (Convert_View): Use base types of underlying types when
+ determining whether an unchecked conversion is needed for the argument
+ of an initialization call.
+
+2005-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type
+ that appears in the instantiation rather than the internal subtype
+ generated in the wrapper package, to avoid anomalies in gigi when the
+ target is derived from a private type whose full view is an access type.
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ * exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
+ not needed.
+ Add documentation to replace the use of this flag
+ Fix kludge for Maximum_Alignment on x86 so that it does not apply to
+ the x86_64.
+
+2005-03-15 Thomas Quinot <quinot@adacore.com>
+
+ * exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved
+ here from exp_attr so it can be shared between exp_attr and exp_dist.
+ (TSS_Names): Renamed from OK_TSS_Names. This array contains the list of
+ all TSS names, not a subset thereof, and the previous name introduced
+ an unnecessarily confusion that a distinction might exist between
+ "OK" TSS names and some "not OK" TSS names.
+
+2005-03-15 Doug Rupp <rupp@adacore.com>
+
+ * gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
+ Command_Name.
+
+2005-03-15 Pascal Obry <obry@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/20226
+ PR ada/20344
+ * init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
+ when IN_RTS. This is to work around a bootstrap path problem.
+
+ * misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler)
+ table and pass it to __gnat_install_SEH_handler().
+ (gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
+
+ * lang.opt: Fix specification of -fRTS=.
+
+2005-03-15 Doug Rupp <rupp@adacore.com>
+ Bernard Banner <banner@adacore.com>
+ Vincent Celier <celier@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/6852
+ This change works fine when gnatlib is built from the gcc directory,
+ but does not work when using the libada Makefile, since GCC_FOR_TARGET
+ is not passed to ada/Makefile.in, so more work is needed by a
+ Makefile/configure expert.
+
+ * Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library.
+ set GMEM_LIB on ia64 linux to add optional support for gnatmem.
+ Setup gnatlink switch -M for x86_64 linux, as it is already setup
+ for Linux x86.
+ (gnatlib-shared-default): Use GNATLIBCFLAGS as well.
+ Run ranlib on libgccprefix.a
+ Define PREFIX_OBJS for Darwin, to build libgccprefix.
+ (ADA_INCLUDE_SRCS): Split Ada packages.
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ * Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
+
+ * impunit.adb: Add GNAT.UTF_32
+
+ * scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
+
+ * widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
+ now uses GNAT.UTF_32).
+
+ * g-utf_32.ads, g-utf_32.adb: This is a new unit with full
+ capabilities for categorizing characters using Unicode categories
+
+2005-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an
+ instantiation that has been rewritten as a package body, retrieve spec
+ to generate proper name for implicit_with_clause.
+ (Install_Parents): Recognize a parent that is an instantiation but has
+ been rewritten as a package declaration during analysis.
+
+2005-03-15 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Instantiate_Object): If the analysis of the actual
+ parameter reported some error we immediately return. This improves the
+ behaviour of the frontend in case of errors.
+ (Install_Parent, Remove_Parent): Introduce new flag
+ Parent_Unit_Visible, to preserve the proper visibility of the ultimate
+ ancestor of a generic child unit, when the child is being instantiated.
+ (Inline_Instance_Body): If we are compiling the private
+ part or the body of a child unit, restore the proper visibility of the
+ parents after compiling the instance body.
+
+2005-03-15 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ PR ada/15608
+ * sem_util.adb (Get_Task_Body_Procedure): Type may be the completion
+ of a private type, in which case it is underlying_type that denotes
+ the proper task. Also modified to use the new entity attribute
+ that is directly available in the task type and task subtype entities
+ (Build_Actual_Subtype_Of_Component): Handle properly multidimensional
+ arrays when other dimensions than the first are constrained by
+ discriminants of an enclosing record.
+ (Insert_Explicit_Dereference): If the prefix is an indexed component or
+ a combination of indexed and selected components, find ultimate entity
+ and generate the appropriate reference for it, to suppress spurious
+ warnings.
+ (Note_Possible_Modification): If an entity name has no entity, return.
+ (Is_Variable): A function call never denotes a variable.
+ (Requires_Transient_Scope): For record types, recurse only on
+ components, not on internal subtypes that may have been generated for
+ constrained components.
+
+2005-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked
+ Eliminated as candidates for resolution. Both efficient, and avoids
+ anomalies with operators declared in deleted code.
+ (Process_Implicit_Dereference_Prefix): Use this procedure whenever
+ expansion is disabled (as when compiling a generic) to prevent spurious
+ warnings on prefixes of selected components.
+
+2005-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is
+ attached to a list before checking whether it appears in the private
+ declarations of the current package.
+ (Make_Inequality_Operator): Insert declaration in proper declarative
+ list rather than just setting the Parent field, so that
+ Is_Private_Declaration can handle it properly.
+
+2005-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is
+ a renaming a body, check that the renamed subprogram in not intrinsic.
+ (Find_Direct_Name): If several use_visible entities hide
+ each other, and the context is a predefined file compiled through
+ rtsfind, keep only the entity that comes from a predefined file.
+
+2005-03-15 Geert Bosch <bosch@adacore.com>
+
+ * s-fatgen.adb (Valid): Extend special exceptions to account for long
+ long float padding to also cover AMD64 and IA64.
+
+2005-03-15 Gary Dismukes <dismukes@adacore.com>
+
+ * s-imgwch.adb: Add with and use of Interfaces.
+ (Img_Wide_Character): Change type of Val to Unsigned_16.
+ (Img_Wide_Wide_Character): Change type of Val to Unsigned_32.
+
+2005-03-15 Matthew Gingell <gingell@adacore.com>
+
+ * sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ * usage.adb: Add missing lines for -gnat95 and -gnat05 switches
+
+ * sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
+
+ * i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ * s-bitops.adb, s-bitops.ads,
+ s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads,
+ s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb,
+ tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads,
+ s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads,
+ s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads,
+ s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads,
+ s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads,
+ s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor
+ reformatting.
+
+2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils2.c (build_binary_op): Fix typo.
+
+2005-03-15 Doug Rupp <rupp@adacore.com>
+
+ * s-crtl.ads (popen,pclose): New imports.
+
+2005-03-15 Cyrille Comar <comar@adacore.com>
+
+ * comperr.adb (Compiler_Abort): remove references to obsolete
+ procedures in the bug boxes for various GNAT builds.
+
+2005-03-15 Vincent Celier <celier@adacore.com>
+
+ * snames.ads, snames.adb: Save as Unix text file, not as DOS text file
+
+2005-03-15 Geert Bosch <bosch@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Cyrille Comar <comar@adacore.com>
+ Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Remove extended inline assembly example, as it was far
+ too specific and long-winded to be appropriate for the GNAT User's
+ Guide.
+ Warn about use of GCC switches not documented in the GNAT User's Guide,
+ as these may cause generated code to not conform to Ada semantics.
+ Remove mention of -gdwarf-2 for sparc64, since this is now the default.
+ Add documentation for -gnat95 and -gnat05 switches
+ Remove paragraph documenting obsolete way to refer to third party
+ libraries.
+ Add a few references to Ada_05 that were missing.
+ Update documentation on -gnatZ/-gnatL.
+ Document limitation when using -m64 under Solaris.
+ Change the "Name Casing" subsection of the pretty-printer section
+ according to the changes in the dictionary processing.
+
+ * gnat_rm.texi: Document the Ada_05 pragma.
+ Section on record representation clauses describes the new more
+ relaxed rules about placement of large packed bit array components.
+ Add documentation of GNAT.UTF_32
+
+2005-03-12 Daniel Berlin <dberlin@dberlin.org>
+
+ * misc.c (gnat_post_options): Turn off structural
+ aliasing for now.
+
+2005-03-08 Laurent Guerby <laurent@guerby.net>
+
+ * system-linux-sparc.ads: Fix typo in previous commit.
+
+2005-03-07 James A. Morrison <phython@gcc.gnu.org>
+ Laurent Guerby <laurent@guerby.net>
+
+ PR ada/20035
+ * system-linux-sparc.ads: New.
+ * Makefile.in: Add sparc linux entry.
+
+2005-02-27 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth
+ parameters as unused.
+
+2005-02-26 Nathanael Nerode <neroden@gcc.gnu.org>
+ Partial merge from libada-gnattools-branch:
+
+ 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
+ * Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags
+ into code in gnattools/Makefile.in. Remove direct dependencies on
+ stamp-tools by tools clauses.
+ 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
+ * config-lang.in: Add gnattools to $lang_dirs.
+
+2005-02-13 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR ada/19942
+ * utils.c (gnat_type_for_mode): Return null instead of ICE because
+ we asked for an unknown mode.
+
+2005-02-12 Richard Henderson <rth@redhat.com>
+
+ * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
+ validate SCALAR_INT_MODE_P before calling gnat_type_for_size.
+
+2005-02-10 Andreas Jaeger <aj@suse.de>
+
+ * init.c (__gnat_initialize): Mark parameter as unused.
+
+2005-02-09 Doug Rupp <rupp@adacore.com>
+
+ * g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
+ * g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
+
+2005-02-09 Doug Rupp <rupp@adacore.com>
+
+ * gnatchop.adb (dup, dup2),
+ g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
+
+ * gnatlbr.adb (mkdir),
+ mlib-tgt-vms-ia64.adb (popen, plose): Import with decc$ prefix.
+
+ * s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
+
+2005-02-09 Doug Rupp <rupp@adacore.com>
+
+ * s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
+
+2005-02-09 Robert Dewar <dewar@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Pascal Obry <obry@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Doug Rupp <rupp@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * g-zstspl.ads: New file.
+
+ * a-chahan.ads, a-chahan.adb: Add declarations from AI-285
+
+ * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
+ Ada 95 mode
+ Add definition of Wide_Wide_Space for AI-285
+
+ * impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
+ interface (to support Ada 95 and Ada 2005 units).
+ Add Unbounded_IO files
+ Add entries for Wide_Wide packages for AI-285
+ Add list of containers packages to Ada 2005 unit list
+
+ * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
+ support new Unbounded_IO package cleanly.
+
+ * g-utf_32.ads, g-utf_32.adb: New files.
+
+ * Makefile.rtl: Add entry for g-utf_32
+ Add new files for Unbounded_IO
+ Adjust make file for new AI-285 wide wide packages
+ Add AI-302 containers to the run time.
+
+ * a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
+ a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
+ subprograms for AI-301.
+
+ * a-stwiun.adb, a-stwiun.ads: Minor reformatting.
+
+ * a-stunau.ads: Minor comment correction
+
+ * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
+ etc.
+ Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
+ (Check_RPC): Update to match changes in expanded code.
+ Clean up unused entity.
+
+ * exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
+ was not taken into account.
+ This includes proper initialization with Normalize_Scalars.
+ (Get_Simple_Init_Val): Major rewrite for initialize scalars and
+ normalize scalars cases (particularly the latter) to do a better job
+ of finding invalid representations.
+
+ * s-scaval.ads, s-scaval.adb: Add values for zero invalid values
+
+ * s-strops.ads, s-strops.adb: Remove string normalize routines, never
+ used
+
+ * exp_dist.adb: Add support for wide wide character type
+ (Expand_Receiving_Stubs_Bodies): For a package declaration that has a
+ private part, generate stub bodies at the end of the private part,
+ not the visible part.
+ (Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
+ PolyORB support.
+ (Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
+ generic wrapper to execute final processing after completing the
+ expansion of the RPC receiver for an RACW.
+
+ * snames.h, snames.ads, snames.adb: Add definitions for wide_wide
+ packages and attributes.
+ (Preset_Names): Addition of the new reserved words of Ada 2005,
+ that is interface, overriding and synchronized.
+ (Get_Pragma_Id): Give support to the use of the new reserved word
+ "interface" as a pragma name.
+ (Is_Pragma_Name): Give support to the use of the new reserved word
+ "interface" as a pragma name.
+ (Preset_Names): Add stream_size string for the Stream_Size Ada2005
+ attribute implementation.
+
+ * exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
+ checks to entities that are output parameters of Asm operations.
+ Handle the Stream_Size attribute.
+ Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width
+
+ * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
+
+ * sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
+ for second parameter being 0.0.
+ Add support for wide wide character type.
+ (Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.
+
+ * s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
+ s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
+ s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
+ s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
+ for wide wide character cases.
+
+ * cstand.adb: Create entities for Wide_Wide_Character and
+ Wide_Wide_String.
+
+ * i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
+ accordance with AI-258.
+ Add new declarations for 16/32 bit C character types (Part of AI285)
+
+ * einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
+ (Obsolescent_Warning): New field
+ (Rep_Clause): New local subprogram used to share code. Returns the rep
+ clause for which the name is given in parameter.
+ (Has_Stream_Size_Clause): New routine.
+ (Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
+ (Address_Clause): Implementation is now using Rep_Clause.
+ (Alignment_Clause): Idem.
+ (Size_Clause): Idem.
+
+ * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
+ entity in non-Ada 2005 mode and generate warning.
+
+ * par-prag.adb: Add handling of one argument form for pragma Ada_05.
+ (Prag): Code cleanup. Remove old gnat pragma "overriding"
+
+ * sem_prag.adb: Add handling of one argument form for pragma Ada_05
+ (Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
+ on the named unit if the pragma is not in the current compilation unit,
+ so that elaboration calls in the current unit can set up an elaboration
+ dependency on the named unit, as needed.
+ (Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
+ subprogram as well as for subprograms declared within a package.
+ (Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
+ pragma overriding.
+
+ * krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
+ to z) to avoid some instances of duplication for Wide_Wide packages.
+
+ * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
+ characters.
+
+ * scn.adb: Char_Literal_Value field is now a Uint
+
+ * scng.adb: Significant rewrite to handle new Ada 2005 features
+ allowing wide and wide wide characters in program text, e.g. for
+ identifiers, as described in AI-285.
+ (Set_Reserved): New procedure, makes setting up keywords cleaner.
+ (Initialize_Scanner): Register the new reserved words of Ada 2005.
+ (Scan): Give support to the new reserved words.
+
+ * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
+ warning notifying that interface, overriding, and synchronized are
+ new reserved words.
+ (P_Pragma): Allow the use of the new reserved word "interface" as
+ a pragma name.
+
+ * gnatls.adb, gnatbind.adb,
+ ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
+ identifiers named "interface" to "SAL_Interface".
+
+ * bindgen.adb (Gen_Main_Ada): Add support for the new SEH
+ (Structured Exception handling).
+ (Gen_Main_C): Idem.
+
+ * bindgen.adb:
+ (Gen_Main_Ada): Set the default exit code if specified.
+ (Gen_Main_C): Likewise.
+ Part of *DC20-006.
+ (Gen_Output_File_C): Remove redundant output of gnat_exit_status.
+ Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
+
+ * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
+ new -Xnnn switch.
+
+ * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
+ has a collision with the new Ada 2005 "interface" reserved word.
+
+ * par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
+ generate a warning notifying that interface, overriding, and
+ synchronized are new reserved words.
+
+ * scans.ads (Token_Type): Addition of the tokens corresponding to the
+ new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
+ and Tok_Synchronized.
+
+ * sem_res.adb (Resolve_Actuals): Change error messages to refer to
+ "dispatching" rather than "primitive" operations, since dispatching
+ calls are now allowed to abstract formal subprograms (which are not
+ primitive).
+ Char_Literal_Value field is now a Uint
+ (Resolve_Slice): If the prefix is an access to an unconstrained array,
+ compute the actual subtype of the designated object to impose the proper
+ index constraints.
+ (Resolve_Selected_Component): Do not insert an access check if the
+ prefix is an access type: such a node is expanded into an explicit
+ dereference, on which the access check is performed anyway. Removes
+ expensive duplicate checks.
+ (Resolve_Call): Use new flag Is_Obsolescent and field
+ Obsolescent_Warning so that pragma Obsolescent works on library
+ subprograms.
+ Add support for wide wide character type
+ (Resolve_Allocator): Replace the error message on wrong null-exclusion
+ value by a warning message.
+ (Resolve_Type_Conversion): If the mixed-mode expression is interpreted
+ as fixed-point, and one of the operands is non-static and universal, it
+ can only be an illegal exponentiation operation, in which case there is
+ no real value to retrieve.
+
+ * exp_strm.adb: Add support for wide wide character type
+ (Build_Elementary_Input_Call): Compute the size of the stream element by
+ querying the rep chain to find the Stream_Attribute attribute value.
+ (Build_Elementary_Write_Call): Ditto.
+
+ * sem_aggr.adb: Char_Literal_Value field is now a Uint
+ Add support for wide wide character type
+ Replace the error messages on wrong null-exclusion value by warnings
+ as described in Ada 2005.
+ (Resolve_Extension_Aggregate): Document the fact that the error
+ message on class-wide expressions in extensions aggregates.
+
+ * sem_case.adb: Add support for wide wide character type
+
+ * sem_ch13.adb: Add support for wide wide character type
+ (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
+
+ * sem_ch3.adb: Add support for wide wide character type
+ (Process_Subtype): If constraint is illegal for the type, set Ekind of
+ now-useless Itype, to prevent cascaded errors on a compiler built
+ without -gnatp.
+
+ * sem_ch8.adb: Add with and use of Sem_Disp.
+ (Analyze_Subprogram_Renaming): Replace unclean uses of
+ Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
+ of Corresponding_Spec to Empty).
+ (Attribute_Renaming): Replace use of Corresponding_Spec with
+ Corresponding_ Formal_Spec and simplify condition.
+ (Use_One_Package): Check that scope of homonym of identifier is defined,
+ before checking whether it is a wrapper package.
+ Add support for wide wide character type
+
+ * sem_eval.adb: Add support for wide wide character type.
+ (Eval_Arithmetic_Op): Check for compile time known signed integer
+ overflow in the non-static case.
+ (Subtypes_Statically_Match): A formal scalar type and its base type do
+ not statically match.
+
+ * sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
+ "not in" for test of N_Formal_Subprogram_Declaration (which is now a
+ subtype).
+ (Unit_Declaration_Node): Ditto.
+ (Is_Variable_Prefix): For the case of an indexed component whose prefix
+ has a packed array type, the prefix has been rewritten into a type
+ conversion. Determine variable-ness from the converted expression.
+ Handle wide wide character cases.
+
+ * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
+
+ * stringt.ads, stringt.adb: Handle full UTF-32 range.
+ Remove ["0A"] from comment, since it can look like a line terminator.
+ Currently we don't permit this, but this is under discussion by the
+ ARG, and it is easy enough to use a different example.
+
+ * s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
+ handling UTF-32 encoding for wide wide character.
+ Implement new brackets coding ["hhhhhhhh"]
+ Add UTF-8 encodings for full UTF-32 range
+
+ * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
+
+ * types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
+ bit range Add full UTF-32 support.
+ (RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
+ notify that constraint error will be raised at run-time
+ because a null value is assigned to a null-excluding object.
+ Remove some obsolete declarations and make Char_Code
+ unsigned.
+
+ * a-except.adb (Rcheck_30): New subprogram. Addition of the message
+ corresponding to CE_Null_Not_Allowed, and adjust the output of all the
+ Rcheck subprograms.
+
+ * checks.adb (Check_Null_Not_Allowed): Replace the error message on
+ wrong null-exclusion value by a warning message.
+ (Enable_Range_Check): Do range check if the prefix is an
+ explicit dereference whose designated object is an unconstrained array.
+ Current algorithm for removing duplicate checks is over-eager in this
+ case.
+
+ * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
+ null-exclusion value by a warning message
+
+ * atree.h, atree.ads, atree.adb: Remove Char_Code field support
+ completely. Add support for Uint2 field
+
+ sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
+ exp_prag.adb: Char_Literal_Value field is now a Uint.
+
+ * exp_util.adb (Insert_Actions): Replace
+ N_Formal_Subprogram_Declaration by
+ N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
+ Char_Literal_Value field is now a Uint.
+
+ * sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
+ defined for subprogram renaming declarations. When set, the field
+ indicates the defining entity of a corresponding formal subprogram
+ when the renaming corresponds to a formal subprogram association in an
+ instantiation.
+ (Set_Corresponding_Formal_Spec): New procedure to return
+ Corresponding_Formal_Spec field.
+ Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
+ (which is now a subtype).
+ Char_Literal_Value field is now a Uint
+
+ * exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
+ pointer to the base of the dispatch table.
+ Minor changes to comments.
+ (Controlling_Type): New function for determining the tagged type
+ associated with a tagged primitive subprogram.
+ (Expand_Dispatching_Call): Add support for a controlling actual that is
+ directly a value of type Ada.Tag rather than a tagged object.
+
+ * i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
+ describing the new layout.
+ (Dispatch_Table): The expander computes the actual array size, allocates
+ the Dispatch_Table record accordingly, and generates code that displaces
+ the base of the record after the Typeinfo_Ptr component. The access to
+ these components is done by means of local functions.
+ (Offset_To_Top): New function.
+ (Typeinfo_Ptr): New function.
+ (Get_TSD): Modified to access the new position of the TSD.
+ (Set_TSD): Modified to save the TSD in its new position.
+
+ * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
+ case of formal abstract subprograms. Add check and message for -gnat05.
+ Update comments.
+
+ * sem_ch12.adb: Add with and use for Sem_Disp.
+ (Analyze_Associations): Minor change from "=" to "in" for use of
+ N_Formal_Subtype_Declaration (which is now a subtype).
+ (Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
+ N_Formal_Subtype_Declaration (which is now a subtype).
+ (Analyze_Formal_Subprogram): Add handling for
+ N_Formal_Abstract_Subprogram, marking the formal as abstract and
+ dispatching, setting the controlling status of the formal parameters
+ and result, and issuing an error if there is no controlling type for
+ the formal subprogram.
+ (Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
+ which is an unclean use of that field, we set the new field
+ Corresponding_Formal_Spec to make the formal subprogram available to
+ processing in Analyze_Subprogram_Declaration.
+ (Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
+ Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
+ Constrained, so that it is is does not statically match its anonymous
+ base type.
+
+ * sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
+ abstract formal subprograms in error check for functions returning
+ abstract types. Set scope of new designator for
+ a parameterless subprogram, so that it is available when checking the
+ body for nested subprograms, before full analysis of said body.
+ (Analyze_Subprogram_Body): Warn on inlining bodies with nested
+ subprogram only if inner one comes from source.
+ (Analyze_Function_Call): If the call is given in object notation, the
+ analysis of the name rewrites the node and analyzes it with the proper
+ argument list. After analyzing the name, if the call has been rewritten
+ and the result type is set, no further analysis is needed.
+ (Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
+ mark in function specification, in a context where the formals are
+ visible and hide outer homographs.
+
+ * sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
+ as the tagged type for the cases of abstract formal subprograms and
+ renamings of those. Clean up spec comments.
+ (Check_Dispatching_Context): Add error message to indicate "abstract
+ procedure", covering the case of a call to a formal abstract procedure
+ that has statically tagged operands.
+ (Check_Dispatching_Call): Check for the case of an actual given by
+ a tag-indeterminate function call whose type is an ancestor of the
+ containing call's associated tagged type. This situation can occur
+ for inherited primitives with function defaults. In this case we
+ use the tagged type's tag directly as the controlling argument for
+ the calls.
+ (Expand_Call): Name change on call to Expand_Dispatch_Call.
+
+ * sprint.adb (Sprint_Node_Actual): Split
+ N_Formal_Subprogram_Declaration into two alternatives for the new
+ cases N_Formal_Abstract_Subprogram_Declaration and
+ N_Formal_Concrete_Subprogram_Declaration.
+ Char_Literal_Value field is now a Uint.
+
+ * trans.c: Get rid of junk Uint2 reference.
+ Char_Literal_Value field is now a Uint.
+ (gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
+ (gigi): Correct third arg to gimplify_body.
+
+ * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
+ (TYPE_LANG_FLAG_0): Check for record or union.
+
+ * treepr.adb: Char_Literal_Value field is now a Uint
+
+ * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
+ UI_From_CC.
+
+ * widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
+ Add full UTF-32 support
+ Char_Code is now 32 bits
+
+ * sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
+ wide character UTF_32 line terminators.
+ Initialize Main_Source_File to avoid error when no main
+ source is loaded.
+
+ * errout.adb (Finalize): Do not check Num_SRef_Pragmas
+ (Main_Source_File) when no main source has been loaded, to avoid
+ potential crash.
+
+2005-02-09 Robert Dewar <dewar@adacore.com>
+
+ * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
+ Fix name of Set routine
+
+ * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
+ fixed packages.
+
+ * a-stwise.ads, a-stwise.adb, a-stwifi.ads, a-stwifi.adb,
+ a-strsea.ads, a-strsea.adb: Add new index functions from AI-301 to
+ fixed packages
+
+ * a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
+ forms of Get_Line subprograms for AI-301.
+
+ * a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
+ a-wtedit.adb, a-wtedit.adb, a-wtedit.ads, a-wttest.adb,
+ a-wttest.ads, a-strmap.ads, a-strmap.adb, a-stwima.adb,
+ a-stwima.ads: Minor reformatting.
+
+2005-02-09 Doug Rupp <rupp@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * adaint.c, adaint.h
+ [VMS] (to_ptr32): New function.
+ (MAYBE_TO_PTR32): New macro.
+ (__gnat_portable_spawn,__gnat_portable_no_block_spawn): Adjust argv
+ for pointer size.
+ [VMS] (descriptor_s, ile_s): Use __char_ptr32 for adr field.
+ [VMS] (#define fork()): Remove since unneccessary.
+ (__gnat_set_close_on_exec): New routine to support
+ GNAT.OS_Lib.Set_Close_On_Exec.
+
+ * g-expect.adb (Set_Up_Communications): Mark the pipe descriptors for
+ the parent side as close-on-exec so that they are not inherited by the
+ child.
+
+ * g-os_lib.ads, g-os_lib.adb (Set_Close_On_Exec): New subprogram to
+ set or clear the FD_CLOEXEC flag on a file descriptor.
+
+2005-02-09 Eric Botcazou <ebotcazou@adacore.com>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ PR ada/19386
+ * decl.c:
+ (gnat_to_gnu_field): Do not necessarily invoke make_packable_type
+ on the field if Pragma Component_Alignment (Storage_Unit).
+ (gnat_to_gnu_entity, case object): Do not treat a renaming that has
+ side-effects as if it were a constant; also make SAVE_EXPR to protect
+ side-effects.
+ (gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
+ UNION_TYPE.
+ (make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
+ (components_to_record): Test it.
+ Fix improper usage of REFERENCE_CLASS_P.
+
+ * utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
+ RECORD_TYPE.
+
+ * utils2.c: Minor reformatting.
+
+ * utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
+ handle other cases like RECORD_TYPE.
+
+ * utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
+
+2005-02-09 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
+ component of an array of arrays in an assignment context, and the
+ aggregate has component associations that require sliding on
+ assignment, force reanalysis of the aggregate to generate a temporary
+ before the assignment.
+ (Must_Slide): Make global to the package, for use in Gen_Assign.
+
+2005-02-09 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_Composite_Equality): If a component is an
+ unchecked union with no inferable discriminants, return a
+ Raise_Program_Error node, rather than inserting it at the point the
+ type is frozen.
+ (Expand_Record_Equality, Component_Equality): Handle properly the case
+ where some subcomponent is an unchecked union whose generated equality
+ code raises program error.
+
+2005-02-09 Doug Rupp <rupp@adacore.com>
+
+ * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
+ [VMS] (#define exit hack): Remove.
+
+2005-02-09 Pascal Obry <obry@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * init.c (__gnat_initialize): Add a new parameter eh which contains the
+ address of the exception registration. The Win32 version of this
+ routine calls __gnat_install_SEH_handler() to initialize the SEH
+ (Structured Exception Handling) handler.
+ (__gnat_error_handler) [Win32]: Removed. Not needed as we use
+ SEH (Structured Exception Handling) now.
+ (__gnat_install_handler) [Win32]: Nothing to do now as we use SEH.
+ (__gnat_initialize for ppc-vxworks): Adjust comments and the
+ preprocessor condition protecting the call to the extra eh setup
+ subprogram, which is only available for the ppc target.
+ (__gnat_clear_exception_count): replaced reference to
+ variable taskIdCurrent by call to taskIdSelf(), cleaner.
+
+ * seh_init.c: New file.
+
+ * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.
+ (GNATBIND_OBJS): Idem.
+
+ * misc.c (gnat_parse_file): Update call to __gnat_initialize. This
+ routine takes a new parameter (a pointer to the exception registration
+ for the SEH (Structured Exception Handling) support.
+
+ * raise.h: (__gnat_install_SEH_handler): New prototype.
+ Update copyright notice.
+
+ * s-tassta.adb (Task_Wrapper): Declare the exception registration
+ record and initialize it by calling __gnat_install_SEH_handler.
+
+2005-02-09 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Gnatmake): Do not fail when the main project has no object
+ directory.
+
+2005-02-09 Doug Rupp <rupp@adacore.com>
+
+ * Makefile.in [VMS] (LN,LN_S): Define as cp -p
+ Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
+ [VMS]: Add translations for g-enblsp.adb.
+
+ * s-asthan-vms.adb: Removed.
+ * s-asthan-vms-alpha.adb: Added.
+
+2005-02-09 Pascal Obry <obry@adacore.com>
+
+ * Makefile.in (LIBGNAT_SRCS): Add seh_init.c.
+ (LIBGNAT_OBJS): Add seh_init.o.
+
+2005-02-09 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/16592
+ * Makefile.in: Link all gnat tools with -static-libgcc, since
+ -shared-libgcc is now used by default on some systems (e.g. linux with
+ recent binutils).
+ Remove references to Makefile.prolog/generic, no longer used.
+
+2005-02-09 Vincent Celier <celier@adacore.com>
+
+ * prj-makr.adb (Process_Directory): Put file name in canonical case
+ before matching against the patterns.
+ If gnatname has been invoked as <prefix>-gnatname
+ then invoke the compiler as <prefix>-gcc, not just "gcc".
+
+2005-02-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
+ with expansion disabled. The actual subtype is needed among other
+ places when the selected component appears in the context of a loop
+ bound, and denotes a packed array.
+ (Operator_Check): Always use the first subtype in the
+ error message, to avoid the appearance of internal base types.
+ (Transform_Object_Operation): Copy each actual in full
+ to the parameter associations of the constructed call, rather than
+ using the shallow copy mechanism of New_Copy_List. This ensures that
+ the chaining of named associations is done properly.
+ (Complete_Object_Operation): Rewrite node, rather than
+ replacing it, so that we can trace back to the original selected
+ component.
+
+ * sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
+ and calls that use object notation, if the called function is not
+ declared in a withed unit, place the elaboration constraint on the
+ unit in the context that makes the function accessible.
+ (Check_Elab_Subtype_Declaration): Check whether a subtype declaration
+ imposes an elaboration constraint between two packages.
+
+2005-02-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch7.adb (Uninstall_Declarations): Exchange full and private
+ views of a private type after handling its private dependents, to
+ maintain proper stack discipline between entry and exit from the
+ package.
+
+2005-02-09 Cyrille Comar <comar@adacore.com>
+
+ * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
+ Minor reformatting.
+
+2005-02-09 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
+ fields for foreign threads.
+
+2005-02-09 Doug Rupp <rupp@adacore.com>
+
+ * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
+ recursion warnings when compiled with -gnatdm.
+
+2005-02-09 Robert Dewar <dewar@adacore.com>
+
+ * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
+ Slight fix to documentation of -gnaty with no parameters
+
+ * xr_tabls.ads: Add ??? comment for missing overall comment
+
+ * xsinfo.adb: Make default file name be sinfo.h, since this is what
+ we now use by default.
+
+ * xsnames.adb: Adjust end of file test to look for five space followed
+ by '#' instead of six spaces. The format of xsnames.adb was modified
+ in the last update.
+
+ * a-numeri.ads: Add reference to AI-388 for greek letter pi
+ identifier.
+
+ * clean.adb: Minor reformatting.
+
+ * gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
+ gnatname.adb: Minor reformatting
+ Add 2005 to copyright output when utility is run
+
+ * csets.adb: Eliminate obsolete comment
+
+ * debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
+ Update comments.
+
+ * sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.
+
+2005-02-09 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Add to the gnatpp section the paragraph describing
+ the difference between compact and incompact layout and add the record
+ representation clause to the example illustrating different layouts.
+ Add the description of '-A5' gnatpp option ("align 'AT' keywords in
+ component clauses").
+
+2005-02-09 Florian Villoing <villoing@adacore.com>
+
+ * gnat_ugn.texi: Fix typos.
+ Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
+ @file.
+ Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
+ in the generated documentation.
+
+2005-02-09 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi: Remove all mentions of FSU threads, which are no
+ longer supported.
+ Update linker wrapper when linking with non GNU C++.
+
+2005-02-09 Pascal Obry <obry@adacore.com>
+
+ * gnat_ugn.texi:
+ Document the procedure to debug the DllMain routine on Windows.
+ Add note about -funwind-tables and mixed Ada and C/C++ programming in
+ ZCX mode.
+ Document new BIND qualifer /RETURN_CODES=VMS.
+
+2005-02-09 Ben Brosgol <brosgol@adacore.com>
+
+ * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
+ Edited gnatmetric chapter
+
+2005-02-09 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi:
+ Changes to document new wide wide character support
+ For AI-285
+ Update documentation on Normalize_Scalars and Initialize_Scalars
+
+2005-02-09 Pascal Obry <obry@adacore.com>
+
+ * s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.
+
+2005-02-09 Jose Ruiz <ruiz@adacore.com>
+
+ * s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
+ from the VxWorks kernel) that is needed for getting the active
+ priority of the different tasks.
+
+ * s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
+ Use a pragma Elaborate_Body in the spec file instead.
+ Noticed by code reading.
+
+2005-02-09 Thomas Quinot <quinot@adacore.com>
+
+ * exp_util.ads: Minor correction in comment.
+
+2005-02-09 Arnaud Charlet <charlet@adacore.com>
+
+ * s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
+ since this procedure is now too complex to be worth inlining.
+
+2005-02-09 Richard Henderson <rth@redhat.com>
+
+ * utils.c (gnat_define_builtin): Remove.
+ (gnat_install_builtins): Use build_common_builtin_nodes.
+
+2005-02-09 Arnaud Charlet <charlet@adacore.com>
+
+ * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
+ a-crbtgk.adb, a-crbltr.ads, a-coprnu.ads, a-coprnu.adb,
+ a-coorse.ads, a-coorse.adb, a-convec.ads, a-convec.adb,
+ a-contai.ads, a-coinve.ads, a-coinve.adb, a-cohata.ads,
+ a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb,
+ a-cihama.ads, a-cihama.adb, a-cidlli.ads, a-cidlli.adb,
+ a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgcaso.adb,
+ a-cgarso.ads, a-cgarso.adb, a-cdlili.ads, a-cdlili.adb,
+ a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb,
+ a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
+ a-coorma.ads, a-swunha.ads, a-stunha.ads, a-ciormu.ads,
+ a-coormu.ads, a-rbtgso.ads, a-swunha.adb, a-stunha.adb,
+ a-cgaaso.ads, a-ciorma.adb, a-coorma.adb, a-secain.adb,
+ a-secain.ads, a-slcain.ads, a-slcain.adb, a-shcain.ads,
+ a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads,
+ a-stwiha.adb, a-strhas.ads, a-strhas.adb, a-chzla1.ads,
+ a-chzla9.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
+ a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads,
+ a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzfix.ads,
+ a-stzhas.adb, a-stzhas.ads, a-stzmap.adb, a-stzmap.ads,
+ a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads,
+ a-stzunb.adb, a-stzunb.ads, a-swunau.adb, a-swunau.ads,
+ a-szmzco.ads, a-szunau.adb, a-szunau.ads, a-szunha.adb,
+ a-szunha.ads, a-szuzti.adb, a-szuzti.ads, a-tiunio.ads,
+ a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb,
+ a-ztcoio.ads, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb,
+ a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
+ a-ztedit.ads, a-ztenau.adb, a-ztenau.ads, a-ztenio.adb,
+ a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb,
+ a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb,
+ a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
+ a-ztinau.ads, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb,
+ a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb,
+ a-zttest.ads, a-zzunio.ads: New files. Part of new Ada 2005
+ library.
+
+2005-01-27 Laurent Guerby <laurent@guerby.net>
+
+ * Makefile.in: Fix a-intnam.ads from previous commit,
+ add 2005 to copyright.
+ * a-intman-rtems.ads: Renamed to...
+ * a-intnam-rtems.ads:
+
+2005-01-27 Laurent Guerby <laurent@guerby.net>
+
+ * Makefile.in: Rename GNAT RTEMS specific files.
+ * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,
+ 5rosinte.ads, 5rparame.adb: Replaced by files below.
+ * s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
+ s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
+
+2005-01-27 Joel Sherrill <joel.sherrill@oarcorp.com>
+ Laurent Guerby <laurent@guerby.net>
+
+ PR ada/19488
+ * 5rosinte.ads: Add No_Key constant.
+ * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
+ * gsocket.h: Do not include <sys/socket.h> with RTEMS either.
+
+2005-01-26 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/19414
+ * i-cobol.adb (Valid_Numeric): Handle zero length case.
+
+2005-01-20 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
+ a-intnam-linux.ads and system-linux-alpha.ads.
+ * a-intnam-linux-alpha.ads: Remove file.
+ * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
+ * system-linux-alpha.ads: New file.
+
+2005-01-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR ada/13470
+ * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
+ set to the new string.
+
+2005-01-18 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
+ to True.
+
+2005-01-18 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
+ THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
+ for alpha-linux.
+ * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
+
+2005-01-14 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
+ (GCC_ZCX_Support): Likewise.
+
+2005-01-11 Bastian Blank <waldi@debian.org>
+
+ * system-linux-s390.ads: Define Preallocated_Stacks.
+ * system-linux-s390x.ads: Likewise.
+
+2005-01-04 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi: Fix texi errors with null variables.
+
+2005-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * gen-soccon.c: New utility program to generate g-soccon.ads
+ automatically.
+
+ * socket.c, gsocket.h: Split inclusion of system header files into a
+ gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
+
+ * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
+ g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
+ g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
+ g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
+ should not be edited by hand anymore, but should be regenerated using
+ gen-soccon.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
+ on/off, since this is an obsolescent feature, for which we now generate
+ a warning.
+
+ * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
+ warning mode is set and obsolescent usage of this attribute occurs.
+ (Resolve_Access, case 'Access): Note that GNAT uses the context type to
+ disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
+ predates, and partly motivates, the adoption of the AI.
+ Implement new Ada 2005 attribute Mod
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
+ attribute Mod.
+
+ * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
+
+ * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
+ pragma restrictions.
+ New entry for Ada 2005 attribute Mod.
+
+ * par-prag.adb:
+ Add recognition of new pragma Restrictions No_Dependence
+ Recognize restriction No_Obsolescent_Features at parse time
+
+ * bcheck.adb: Add circuitry for checking for consistency of
+ No_Dependence restrictions.
+
+ * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
+ restrictions.
+
+ * restrict.ads, restrict.adb: Add subprograms to deal with
+ No_Dependence restrictions.
+
+ * rtsfind.adb: Check that implicit with's do not violate No_Dependence
+ restrictions.
+
+ * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
+ sem_attr.adb: Add check for new restriction No_Obsolescent_Features
+
+ * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
+ dummy parameter to scng instantiation.
+ Needed for new restriction No_Obsolescent_Features
+
+ * scn.adb: (Obsolescent_Check): New procedure
+ Needed for new restriction No_Obsolescent_Features
+
+ * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
+ specified by AI-285, needed for implementation of AI-388 (adding greek
+ pi to Ada.Numerics).
+ Add new generic formal to scng, needed for new restriction
+ No_Obsolescent_Features.
+
+ * s-rident.ads: Add new restriction No_Obsolescent_Features.
+
+ * ali.ads, ali.adb: Adjustments for reading new No_Dependence
+ restrictions lines.
+ (Scan_ALI): When finding an unexpected character on an R line, raise
+ exception Bad_R_Line, instead of calling Fatal_Error, so that, when
+ Ignore_Errors is True, default restrictions are set and scanning of the
+ ALI file continues with the next line. Also, when Bad_R_Line is raised
+ and Ignore_Errors is True, skip to the end of le line.
+
+ * sem_ch10.adb: Check that explicit with's do not violate
+ No_Dependence restrictions.
+ (Install_Withed_Unit): Add code to implement AI-377 and diagnose
+ illegal context clauses containing child units of instance.
+
+ * sem_prag.adb: Processing and checking for new No_Dependence
+ restrictions.
+ (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
+ analyze and check the External argument.
+
+ * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * atree.adb: Add a fifth component to entities
+ This allows us to add 32 flags and four new fields
+
+ * atree.ads: Add a fifth component to entities
+ This allows us to add 32 flags and four new fields
+
+ * einfo.ads, einfo.adb: Document new fields and new flags now available
+ Add routines for printing new fields
+
+ * treepr.adb: Call routines to print out additional fields if present
+
+2005-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
+ gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
+
+ * Makefile.in: Add support to build shared Ada libraries on solaris x86
+ Remove gpr2make, replaced by gprmake.
+ Remove references to gnatmem and libaddr2line.
+ Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
+ (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
+ Add support for specialized version of Ada.Numerics.Aux for Darwin: use
+ a-numaux-darwin.ads and a-numaux-darwin.adb
+ Enable mlib-tgt-lynxos.adb on lynxos.
+
+ * Make-lang.in: Remove rules for gpr2make.
+ When generating sdefault.adb, do not call Relocate_Path
+ on S3 for function Target_Name, as it is not a path.
+ Remove references to gnatmem and libaddr2line.
+
+ * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
+ files.
+
+2005-01-03 Samuel Tardieu <tardieu@adacore.com>
+
+ * checks.adb (Apply_Alignment_Check): Generate a warning if an object
+ address is incompatible with its base type alignment constraints when
+ this can be decided statically.
+
+2005-01-03 Olivier Hainque <hainque@adacore.com>
+
+ * decl.c (compatible_signatures_p): New function. The intended purpose
+ is to check if two function signatures for a call-site and a callee are
+ compatible enough for the call to be valid. The underlying purpose is
+ to check if a call to a mapped builtin is using the right interface.
+ The current code actually does not check antyhing - this a placeholder
+ for future refinements.
+ (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
+ builtin calls for convention Intrinsic.
+
+ * gigi.h (builtin_decl_for): Declare (new function).
+
+ * utils.c (gnat_install_builtins): Install the target specific builtins.
+ (builtin_decl_for): New function, provide a dummy body for now.
+
+2005-01-03 Geert Bosch <bosch@adacore.com>
+
+ * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
+ (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
+ (Pred): Implement in terms of Succ.
+
+ * trans.c (convert_with_check): Reimplement conversion of float to
+ integer.
+
+2005-01-03 Ed Schonberg <schonberg@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
+ bounds can be negative, and must be declared Int, not Nat.
+
+ * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
+ array is checked after using the index in the array.
+
+ * makegpr.adb (Add_Switches): Check if there is a package for the
+ processor. If there is no package, do not look for switches.
+
+2005-01-03 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
+ generation of predefined stream operations (specs and bodies) should
+ proceed. Under various restrictions these subprograms must not be
+ generated.
+
+2005-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb:
+ Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
+ amount of PCS-specific code in RACW stubs generation.
+ (Copy_Specification): Set Etype on copied formal parameter entities, as
+ this information is needed for PolyORB stubs generation.
+ (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
+ variable Dynamic_Async.
+ (Build_Subprogram_Receiving_Stubs): Make PCS-specific
+ (Build_RPC_Receiver_Specification): Make generic again, as recent
+ changes have allowed RPC receivers to have the same profile for both
+ variants of the PCS.
+ Reorganise RPC receiver generation to reduce differences between the
+ structure of GARLIC and PolyORB RPC receivers.
+ (Add_Receiving_Stubs_To_Declarations): Make this subprogram
+ PCS-specific.
+ Simplify elaboration code for RCI packages.
+
+ * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
+ generation to reduce differences between the structure of GARLIC and
+ PolyORB RPC receivers.
+
+ * s-stratt.adb: Fix typo in comment.
+
+2005-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
+ copied from Make_Init_Call).
+
+ * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
+ reads and assignments on a temporary variable declared with appropriate
+ discriminants.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * i-c.adb (To_C): Raise CE if string is null and Append_Null
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * i-cstrin.adb (Update): Do not append a null in form called with a
+ String. This avoids unintended behavior.
+
+2005-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/17527
+ * init.c: Fix warnings on Free BSD section.
+
+2005-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/16949
+ * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
+ xsinfo.adb).
+
+2005-01-03 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
+ libraries when Unique_Compile is True (-u switch).
+ (Gnatmake): ditto.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
+ upper case letter or underscore after W, as allowed by spec.
+
+2005-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
+ darwin port by using proper type definitions from header files.
+ Use SIGTERM instead of SIGABRT for SIGADAABORT.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * par.adb: Enhance error message handling for configuration file
+ pragmas.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * s-arit64.adb (Double_Divide): Put back changes that got accidentally
+ removed during the previous update (test properly for case of dividing
+ largest negative number by -1, which generates overflow).
+
+2005-01-03 Ed Schonberg <schonberg@adacore.com>
+ Sergey Rybin <rybin@adacore.com>
+
+ * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
+ to use as the defining identifier for a formal package.
+ (Remove_Parent): If the instance takes place within (an instance of)
+ a sibling, preserve private declarations of common parent.
+
+2005-01-03 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
+ to determine whether one of the operands is a fixed-point type for
+ which a user-defined multiplication or division operation might be
+ defined.
+
+ * sem_res.adb (Valid_Conversion): The legality rules for conversions
+ of access types are symmetric in Ada 2005: either designated type can
+ be unconstrained.
+
+2005-01-03 Vincent Celier <celier@adacore.com>
+
+ * s-fileio.adb (Temp_File_Record): Change length of string component
+ Name from L_tmpnam + 1 to max_path_len + 1.
+
+2005-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
+ Self_Id.Deferral_Level = 0.
+ (Do_Pending_Action): Move this function to the spec.
+
+ * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
+ Do_Pending_Action explicitely when needed, in case we're using
+ No_Abort restrictions.
+
+ * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
+ deferral level since it will not get changed by the generated code.
+ Keeping a default value of 1 would prevent some operations (e.g.
+ select or delay) to proceed successfully.
+
+2005-01-03 Ben Brosgol <brosgol@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Cyrille Comar <comar@adacore.com>
+
+ * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
+ porting guide chapter (vms version).
+ Revised doc title (removed "for native platforms") and subtitle.
+ Add discussion on warning flag for obsolescent features. First we
+ note that it applies to obsolete GNAT features, which was previously
+ omitted. Second we contrast the behavior with that of the new
+ Ada 2005 AI-368 restriction No_Obsolescent_Features.
+ Preliminary rewriting of GNAT & libraries chapter in order to take
+ into account default project locations & new project manager
+ capabilities.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * cstand.adb (Create_Operators): Clean up format and documentation of
+ unary and binary operator result tables. No change in code, just
+ reformatting and addition of comments.
+
+ * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
+ sem_ch2.adb: Minor reformatting
+
+ * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
+ sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
+ comments for Tree_Read and Tree_Write.
+
+2005-01-03 Pascal Obry <obry@adacore.com>
+
+ * exp_attr.ads: Minor reformatting.
+
+2005-01-03 Romain Berrendonner <berrendo@adacore.com>
+
+ * comperr.adb (Compiler_Abort): Add specialized message for GAP
+ versions.
+
+2005-01-03 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
+ whether the ancestor type is private, as may be the case with nested
+ instantiations.
+
+
+
+Copyright (C) 2005 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/ada/ChangeLog-2006 b/gcc/ada/ChangeLog-2006
new file mode 100644
index 00000000000..b43e0106f66
--- /dev/null
+++ b/gcc/ada/ChangeLog-2006
@@ -0,0 +1,4462 @@
+2006-12-07 Geoffrey Keating <geoffk@apple.com>
+
+ * Makefile.in: Replace CROSS_COMPILE with CROSS_DIRECTORY_STRUCTURE.
+ * adaint.c: Likewise.
+
+2006-12-05 Aldy Hernandez <aldyh@redhat.com>
+
+ Merge from gimple-tuples-branch:
+ 2006-11-02 Aldy Hernandez <aldyh@redhat.com>
+
+ * ada-tree.h (lang_tree_node): Handle gimple tuples.
+ * trans.c (gnat_gimplify_expr): Replace MODIFY_EXPR with
+ GIMPLE_MODIFY_STMT.
+
+2006-12-02 Kazu Hirata <kazu@codesourcery.com>
+
+ * Makefile.in, mingw32.h, trans.c: Fix comment typos.
+ * gnat_rm.texi, gnat_ugn.texi: Follow spelling conventions.
+ Fix typos.
+
+2006-11-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/27936
+ * trans.c (add_decl_expr): Do not dynamically elaborate padded objects
+ if the initializer takes into account the padding.
+
+2006-11-11 Richard Guenther <rguenther@suse.de>
+
+ * trans.c (maybe_stabilize_reference): Remove handling of
+ FIX_CEIL_EXPR, FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
+
+2006-11-05 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/29707
+ * s-osinte-linux-alpha.ads, s-osinte-linux-hppa.ads
+ (To_Target_Priority): New function.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * a-taster.adb, s-traent-vms.adb, a-elchha.ads, a-elchha.adb,
+ a-exctra.adb, ali-util.adb, exp_disp.ads, s-stalib.ads, s-traent.adb,
+ s-addope.ads, s-addope.adb, a-rbtgso.adb, a-crbltr.ads, a-coprnu.adb,
+ a-cgcaso.adb, a-cgarso.adb, a-cgaaso.adb, a-coormu.adb, a-ciormu.adb,
+ a-rbtgso.ads, a-stunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb,
+ a-secain.adb, a-slcain.adb, a-shcain.adb, a-stwiha.adb, a-stwiha.adb,
+ a-strhas.adb, a-strhas.adb, a-stzhas.adb, a-stzhas.adb, a-szuzha.adb,
+ a-chacon.adb, a-chacon.adb, a-chacon.ads, a-stboha.adb, a-swbwha.adb,
+ a-szbzha.adb: Minor reformatting. Fix header.
+
+ * a-numaux-x86.adb: Add parentheses for use of unary minus
+ * a-ngcefu.adb: Supply missing parentheses for unary minus
+ * a-ngcoty.adb: Add parens for use of unary minus
+ * a-ngelfu.adb: Add missing parens for unary minus
+ * a-tifiio.adb: Add parentheses for uses of unary minus
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Bob Duff <duff@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Unary_Op): Add warning for use of unary minus
+ with multiplying operator.
+ (Expected_Type_Is_Any_Real): New function to determine from the Parent
+ pointer whether the context expects "any real type".
+ (Resolve_Arithmetic_Op): Do not give an error on calls to the
+ universal_fixed "*" and "/" operators when they are used in a context
+ that expects any real type. Also set the type of the node to
+ Universal_Real in this case, because downstream processing requires it
+ (mainly static expression evaluation).
+ Reword some continuation messages
+ Add some \\ sequences to continuation messages
+ (Resolve_Call): Refine infinite recursion case. The test has been
+ sharpened to eliminate some false positives.
+ Check for Current_Task usage now includes entry barrier, and is now a
+ warning, not an error.
+ (Resolve): If the call is ambiguous, indicate whether an interpretation
+ is an inherited operation.
+ (Check_Aggr): When resolving aggregates, skip associations with a box,
+ which are priori correct, and will be replaced by an actual default
+ expression in the course of expansion.
+ (Resolve_Type_Conversion): Add missing support for conversion from
+ a class-wide interface to a tagged type. Minor code cleanup.
+ (Valid_Tagged_Converion): Add support for abstact interface type
+ conversions.
+ (Resolve_Selected_Component): Call Generate_Reference here rather than
+ during analysis, and use May_Be_Lvalue to distinguish read/write.
+ (Valid_Array_Conversion): New procedure, abstracted from
+ Valid_Conversion, to incorporate accessibility checks for arrays of
+ anonymous access types.
+ (Valid_Conversion): For a conversion to a numeric type occurring in an
+ instance or inlined body, no need to check that the operand type is
+ numeric, since this has been checked during analysis of the template.
+ Remove legacy test for scope name Unchecked_Conversion.
+
+ * sem_res.ads: Minor reformatting
+
+ * a-except.adb, a-except-2005.adb: Turn off subprogram ordering
+ (PE_Current_Task_In_Entry_Body): New exception code
+ (SE_Restriction_Violation): Removed, not used
+
+ * a-except.ads: Update comments.
+
+ * types.h, types.ads: Add definition for Validity_Check
+ (PE_Current_Task_In_Entry_Body): New exception code
+ (SE_Restriction_Violation): Removed, not used
+
+2006-10-31 Thomas Quinot <quinot@adacore.com>
+
+ * g-socthi-vxworks.adb (C_Gethostbyname): Fix wrong test for returned
+ error status.
+
+2006-10-31 Hristian Kirtchev <kirtchev@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+
+ * a-calend-vms.adb (Leap_Sec_Ops): Temp body for package in private
+ part of Ada.Calendar: all subprogram raise Unimplemented.
+ (Split_W_Offset): Temp function body, raising Unimplemented
+
+ * a-calend.ads, a-calend-vms.ads:
+ Add imported variable Invalid_TZ_Offset used to designate targets unable
+ to support time zones.
+ (Unimplemented): Temporary function raised by the body of new
+ subprograms below.
+ (Leap_Sec_Ops): New package in the private part of Ada.Calendar. This
+ unit provides handling of leap seconds and is used by the new Ada 2005
+ packages Ada.Calendar.Arithmetic and Ada.Calendar.Formatting.
+ (Split_W_Offset): Identical spec to that of Ada.Calendar.Split. This
+ version returns an extra value which is the offset to UTC.
+
+ * a-calend.adb (Split_W_Offset): Add call to localtime_tzoff.
+ (Leap_Sec_Ops): New body for package in private part of Ada.Calendar.
+ (Split_W_Offset): New function body.
+ (Time_Of): When a date is close to UNIX epoch, compute the time for
+ that date plus one day (that amount is later substracted after
+ executing mktime) so there are no problems with time zone adjustments.
+
+ * a-calend-mingw.adb: Remove Windows specific version no longer needed.
+
+ * a-calari.ads, a-calari.adb, a-calfor.ads, a-calfor.adb,
+ a-catizo.ads, a-catizo.adb: New files.
+
+ * impunit.adb: Add new Ada 2005 entries
+
+ * sysdep.c: Add external variable __gnat_invalid_tz_offset.
+ Rename all occurences of "__gnat_localtime_r" to
+ "__gnat_localtime_tzoff".
+ (__gnat_localtime_tzoff for Windows): Add logic to retrieve the time
+ zone data and calculate the GMT offset.
+ (__gnat_localtime_tzoff for Darwin, Free BSD, Linux, Lynx and Tru64):
+ Use the field "tm_gmtoff" to extract the GMT offset.
+ (__gnat_localtime_tzoff for AIX, HPUX, SGI Irix and Sun Solaris): Use
+ the external variable "timezone" to calculate the GMT offset.
+
+2006-10-31 Arnaud Charlet <charlet@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+
+ * s-osinte-posix.adb, s-osinte-linux.ads, s-osinte-freebsd.adb,
+ s-osinte-freebsd.ads, s-osinte-solaris-posix.ads, s-osinte-hpux.ads,
+ s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-lynxos-3.ads,
+ s-osinte-lynxos-3.adb (To_Target_Priority): New function maps from
+ System.Any_Priority to a POSIX priority on the target.
+
+ * system-linux-ia64.ads:
+ Extend range of Priority types on Linux to use the whole range made
+ available by the system.
+
+ * s-osinte-aix.adb, s-osinte-aix.ads (To_Target_Priority): New
+ function maps from System.Any_Priority to a POSIX priority on the
+ target.
+ (PTHREAD_PRIO_PROTECT): Set real value.
+ (PTHREAD_PRIO_INHERIT): Now a function.
+ (SIGCPUFAIL): New signal.
+ (Reserved): Add SIGALRM1, SIGWAITING, SIGCPUFAIL, since these signals
+ are documented as reserved by the OS.
+
+ * system-aix.ads: Use the full range of priorities provided by the
+ system on AIX.
+
+ * s-taprop-posix.adb: Call new function To_Target_Priority.
+ (Set_Priority): Take into account Task_Dispatching_Policy and
+ Priority_Specific_Dispatching pragmas when determining if Round Robin
+ must be used for scheduling the task.
+
+ * system-linux-x86_64.ads, system-linux-x86.ads,
+ system-linux-ppc.ads: Extend range of Priority types on Linux to use
+ the whole range made available by the system.
+
+ * s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-irix.adb,
+ s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-hpux-dce.adb,
+ s-taprop-lynxos.adb (Finalize_TCB): invalidate the stack-check cache
+ when deallocating the TCB in order to avoid potential references to
+ deallocated data.
+ (Set_Priority): Take into account Task_Dispatching_Policy and
+ Priority_Specific_Dispatching pragmas when determining if Round Robin
+ or FIFO within priorities must be used for scheduling the task.
+
+ * s-taprop-vxworks.adb (Enter_Task): Store the user-level task id in
+ the Thread field (to be used internally by the run-time system) and the
+ kernel-level task id in the LWP field (to be used by the debugger).
+ (Create_Task): Reorganize to unify the calls to taskSpawn into a single
+ instance, and propagate the current task options to the spawned task.
+ (Set_Priority): Take into account Priority_Specific_Dispatching pragmas.
+ (Initialize): Set Round Robin dispatching when the corresponding pragma
+ is in effect.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
+ system-linux-hppa.ads, system-hpux-ia64.ads,
+ system-lynxos-ppc.ads, system-lynxos-x86.ads, system-tru64.ads,
+ system-vxworks-sparcv9.ads, system-solaris-x86.ads,
+ system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
+ system-vxworks-m68k.ads, system-vxworks-mips.ads, system-interix.ads,
+ system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
+ system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
+ system-vxworks-alpha.ads, system.ads: Add pragma Warnings(Off,
+ Default_Bit_Order) to kill constant condition warnings for references
+ to this switch.
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * mlib-tgt-lynxos.adb, mlib-tgt-mingw.adb, mlib-tgt-tru64.adb,
+ mlib-tgt-aix.adb, mlib-tgt-irix.adb, mlib-tgt-hpux.adb,
+ mlib-tgt-linux.adb, mlib-tgt-solaris.adb: Use Append_To, instead of
+ Ext_To, when building the library file name
+
+ * mlib-tgt-vxworks.adb: ditto.
+ (Get_Target_Suffix): Add support for x86 targets.
+
+ * mlib-fil.ads, mlib-fil.adb: (Append_To): New function
+
+ * mlib-tgt-darwin.adb:
+ Use Append_To, instead of Ext_To, when building the library file name
+ (Flat_Namespace): New global variable.
+ (No_Shared_Libgcc_Switch): Rename to No_Shared_Libgcc_Options.
+ (Shared_Libgcc_Switch): Rename to With_Shared_Libgcc_Options.
+ (Link_Shared_Libgcc): Delete.
+ (Build_Dynamic_Library): Adjust for above changes.
+ Use Opt package.
+ (Build_Dynamic_Library): Pass -shared-libgcc if GCC 4 or later.
+
+2006-10-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-taprop-solaris.adb: (Time_Slice_Val): Change type to Integer.
+ (Initialize): Add type conversions required by above change.
+
+2006-10-31 Jose Ruiz <ruiz@adacore.com>
+
+ * s-osinte-vxworks.ads, s-osinte-vxworks.adb:
+ (getpid): New body for this function that uses the underlying taskIdSelf
+ function for VxWorks 5 and VxWorks 6 in kernel mode.
+ (unsigned_int): New type, modular to allow logical bit operations.
+ (taskOptionsGet): New imported function.
+
+ * s-taspri-vxworks.ads (Private_Data): Change the type for the LWP
+ field to be compliant with the type used by the corresponding operating
+ system primitive.
+
+2006-10-31 Pascal Obry <obry@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * adaint.c (__gnat_get_libraries_from_registry): Call explicitly the
+ ASCII version of the registry API. This is needed as the GNAT runtime
+ is now UNICODE by default.
+ Include version.h.
+ (get_gcc_version): Do not hardcode the return value.
+ (__gnat_file_time_name): On Windows properly set the default returned
+ value to -1 which corresponds to Invalid_Time.
+ (__gnat_fopen): New routine. A simple wrapper on all plateforms
+ except on Windows where it does conversion for unicode support.
+ (__gnat_freopen): Idem.
+ (__gnat_locate_exec_on_path): If environment variable PATH does not
+ exist, return a NULL pointer
+
+ * adaint.h: (__gnat_fopen): Declare.
+ (__gnat_freopen): Likewise.
+
+ * mingw32.h (_tfreopen): Define this macro here for older MingW
+ version.
+ Activate the unicode support on platforms using a MingW runtime
+ version 3.9 or newer.
+
+ * s-crtl.ads (fopen): Is now an import to the wrapper __gnat_freopen.
+ This is needed for proper unicode support on Windows.
+ (freopen): Idem.
+
+2006-10-31 Eric Botcazou <ebotcazou@adacore.com>
+ Nicolas Setton <setton@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * gigi.h: (tree_code_for_record_type): Declare.
+ (add_global_renaming_pointer): Rename to record_global_renaming_pointer.
+ (get_global_renaming_pointers): Rename to
+ invalidate_global_renaming_pointers.
+ (static_ctors): Delete.
+ (static_dtors): Likewise.
+ (gnat_write_global_declarations): Declare.
+ (create_var_decl): Adjust descriptive comment to indicate that the
+ subprogram may return a CONST_DECL node.
+ (create_true_var_decl): Declare new function, similar to
+ create_var_decl but forcing the creation of a VAR_DECL node.
+ (get_global_renaming_pointers): Declare.
+ (add_global_renaming_pointer): Likewise.
+
+ * ada-tree.h (DECL_READONLY_ONCE_ELAB): New macro.
+
+ * decl.c (gnat_to_gnu_entity) <case E_Function>: Don't copy the type
+ tree before setting TREE_ADDRESSABLE for by-reference return mechanism
+ processing.
+ (gnat_to_gnu_entity): Remove From_With_Type from computation for
+ imported_p.
+ <E_Access_Type>: Use the Non_Limited_View as the full view of the
+ designated type if the pointer comes from a limited_with clause. Make
+ incomplete designated type if it is in the main unit and has a freeze
+ node.
+ <E_Incomplete_Type>: Rework to treat Non_Limited_View, Full_View, and
+ Underlying_Full_View similarly. Return earlier if the full view already
+ has an associated tree.
+ (gnat_to_gnu_entity) <E_Record_Type>: Restore comment.
+ (gnat_to_gnu_entity) <E_Record_Type>: Do not use a dummy type.
+ (gnat_to_gnu_entity) <E_Variable>: Set TYPE_REF_CAN_ALIAS_ALL on the
+ reference type built for objects with an address clause.
+ Use create_true_var_decl with const_flag set for
+ DECL_CONST_CORRESPONDING_VARs, ensuring a VAR_DECL is created with
+ TREE_READONLY set.
+ (gnat_to_gnu_entity, case E_Enumeration_Type): Set TYPE_NAME
+ for Character and Wide_Character types. This info is read by the
+ dwarf-2 writer, and is needed to be able to use the command "ptype
+ character" in the debugger.
+ (gnat_to_gnu_entity): When generating a type representing
+ a Character or Wide_Character type, set the flag TYPE_STRING_FLAG,
+ so that debug writers can distinguish it from ordinary integers.
+ (elaborate_expression_1): Test the DECL_READONLY_ONCE_ELAB flag in
+ addition to TREE_READONLY to assert the constantness of variables for
+ elaboration purposes.
+ (gnat_to_gnu_entity, subprogram cases): Change loops on formal
+ parameters to call new Einfo function First_Formal_With_Extras.
+ (gnat_to_gnu_entity): In type_annotate mode, replace a discriminant of a
+ protected type with its corresponding discriminant, to obtain a usable
+ declaration
+ (gnat_to_gnu_entity) <E_Access_Protected_Subprogram_Type>: Be prepared
+ for a multiple elaboration of the "equivalent" type.
+ (gnat_to_gnu_entity): Adjust for renaming of add_global_renaming_pointer
+ into record_global_renaming_pointer.
+ (gnat_to_gnu_entity) <E_Array_Type>: Do not force
+ TYPE_NONALIASED_COMPONENT to 0 if the element type is an aggregate.
+ <E_Array_Subtype>: Likewise.
+ (gnat_to_gnu_entity) <E_Incomplete_Subtype>: Add support for regular
+ incomplete subtypes and incomplete subtypes of incomplete types visible
+ through a limited with clause.
+ (gnat_to_gnu_entity) <E_Array_Subtype>: Take into account the bounds of
+ the base index type for the maximum size of the array only if they are
+ constant.
+ (gnat_to_gnu_entity, renaming object case): Do not wrap up the
+ expression into a SAVE_EXPR if stabilization failed.
+
+ * utils.c (create_subprog_decl): Turn TREE_ADDRESSABLE on the type of
+ a result decl into DECL_BY_REFERENCE on this decl, now what is expected
+ by lower level compilation passes.
+ (gnat_genericize): New function, lowering a function body to GENERIC.
+ Turn the type of RESULT_DECL into a real reference type if the decl
+ has been marked DECL_BY_REFERENCE, and adjust references to the latter
+ accordingly.
+ (gnat_genericize_r): New function. Tree walking callback for
+ gnat_genericize.
+ (convert_from_reference, is_byref_result): New functions. Helpers for
+ gnat_genericize_r.
+ (create_type_decl): Call gnat_pushdecl before calling
+ rest_of_decl_compilation, to make sure that field TYPE_NAME of
+ type_decl is properly set before calling the debug information writers.
+ (write_record_type_debug_info): The heuristics which compute the
+ alignment of a field in a variant record might not be accurate. Add a
+ safety test to make sure no alignment is set to a smaller value than
+ the alignment of the field type.
+ (make_dummy_type): Use the Non_Limited_View as the underlying type if
+ the type comes from a limited_with clause. Do not loop on the full view.
+ (GET_GNU_TREE, SET_GNU_TREE, PRESENT_GNU_TREE): New macros.
+ (dummy_node_table): New global variable, moved from decl.c.
+ (GET_DUMMY_NODE, SET_DUMMY_NODE, PRESENT_DUMMY_NODE): New macros.
+ (save_gnu_tree): Use above macros.
+ (get_gnu_tree): Likewise.
+ (present_gnu_tree): Likewise.
+ (init_dummy_type): New function, moved from decl.c. Use above macros.
+ (make_dummy_type): Likewise.
+ (tree_code_for_record_type): New function extracted from make_dummy_type
+ (init_gigi_decls): Set DECL_IS_MALLOC on gnat_malloc.
+ (static_ctors): Change it to a vector, make static.
+ (static_dtors): Likewise.
+ (end_subprog_body): Adjust for above change.
+ (build_global_cdtor): Moved from trans.c.
+ (gnat_write_global_declarations): Emit global constructor and
+ destructor, and call cgraph_optimize before emitting debug info for
+ global declarations.
+ (global_decls): New global variable.
+ (gnat_pushdecl): Store the global declarations in global_decls, for
+ later use.
+ (gnat_write_global_declarations): Emit debug information for global
+ declarations.
+ (create_var_decl_1): Former create_var_decl, with an extra argument to
+ state whether the creation of a CONST_DECL is allowed.
+ (create_var_decl): Behavior unchanged. Now a wrapper around
+ create_var_decl_1 allowing CONST_DECL creation.
+ (create_true_var_decl): New function, similar to create_var_decl but
+ forcing the creation of a VAR_DECL node (CONST_DECL not allowed).
+ (create_field_decl): Do not always mark the field as addressable
+ if its type is an aggregate.
+ (global_renaming_pointers): New static variable.
+ (add_global_renaming_pointer): New function.
+ (get_global_renaming_pointers): Likewise.
+
+ * misc.c (gnat_dwarf_name): New function.
+ (LANG_HOOKS_DWARF_NAME): Define to gnat_dwarf_name.
+ (gnat_post_options): Add comment about structural alias analysis.
+ (gnat_parse_file): Do not call cgraph_optimize here.
+ (LANG_HOOKS_WRITE_GLOBALS): Define to gnat_write_global_declarations.
+
+ * trans.c (process_freeze_entity): Don't abort if we already have a
+ non dummy GCC tree for a Concurrent_Record_Type, as it might
+ legitimately have been elaborated while processing the associated
+ Concurrent_Type prior to this explicit freeze node.
+ (Identifier_to_gnu): Do not make a variable referenced in a SJLJ
+ exception handler volatile if it is of variable size.
+ (process_type): Remove bypass for types coming from a limited_with
+ clause.
+ (call_to_gnu): When processing the copy-out of a N_Type_Conversion GNAT
+ actual, convert the corresponding gnu_actual to the real destination
+ type when necessary.
+ (add_decl_expr): Set the DECL_READONLY_ONCE_ELAB flag on variables
+ originally TREE_READONLY but whose elaboration cannot be performed
+ statically.
+ Part of fix for F504-021.
+ (tree_transform, subprogram cases): Change loops on formal parameters to
+ call new Einfo function First_Formal_With_Extras.
+ (gnat_to_gnu) <N_Op_Shift_Right_Arithmetic>: Ignore constant overflow
+ stemming from type conversion for the lhs.
+ (Attribute_to_gnu) <Attr_Alignment>: Also divide the alignment by the
+ number of bits per unit for components of records.
+ (gnat_to_gnu) <N_Code_Statement>: Mark operands addressable if needed.
+ (Handled_Sequence_Of_Statements_to_gnu): Register the cleanup associated
+ with At_End_Proc after the SJLJ EH cleanup.
+ (Compilation_Unit_to_gnu): Call elaborate_all_entities only on the main
+ compilation unit.
+ (elaborate_all_entities): Do not retest type_annotate_only.
+ (tree_transform) <N_Abstract_Subprogram_Declaration>: Process the
+ result type of an abstract subprogram, which may be an itype associated
+ with an anonymous access result (related to AI-318-02).
+ (build_global_cdtor): Move to utils.c.
+ (Case_Statement_to_gnu): Avoid adding the choice of a when statement if
+ this choice is not a null tree nor an integer constant.
+ (gigi): Run unshare_save_expr via walk_tree_without_duplicates
+ on the body of elaboration routines instead of mark_unvisited.
+ (add_stmt): Do not mark the tree.
+ (add_decl_expr): Tweak comment.
+ (mark_unvisited): Delete.
+ (unshare_save_expr): New static function.
+ (call_to_gnu): Issue an error when making a temporary around a
+ procedure call because of non-addressable actual parameter if the
+ type of the formal is by_reference.
+ (Compilation_Unit_to_gnu): Invalidate the global renaming pointers
+ after building the elaboration routine.
+
+2006-10-31 Bob Duff <duff@adacore.com>
+
+ * a-filico.adb (Finalize(List_Controller)): Mark the finalization list
+ as finalization-started, so we can raise Program_Error on 'new'.
+
+ * s-finimp.adb: Raise Program_Error on 'new' if finalization of the
+ collection has already started.
+
+ * s-finimp.ads (Collection_Finalization_Started): Added new special
+ flag value for indicating that a collection's finalization has started.
+
+ * s-tassta.adb (Create_Task): Raise Program_Error on an attempt to
+ create a task whose master has already waited for dependent tasks.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * lib.adb, lib.ads: (In_Predefined_Unit): New functions
+
+ * a-finali.ads, a-ngcoty.ads, a-strbou.ads, a-stream.ads, a-strmap.ads,
+ a-strunb.ads, a-stwibo.ads, a-stwima.ads, a-stwiun.ads, a-taside.ads,
+ a-coorse.ads, a-convec.ads, a-coinve.ads, a-cohama.ads, a-ciorse.ads,
+ a-cihama.ads, a-cihase.ads, a-cohase.ads, a-ciorma.ads, a-coorma.ads,
+ a-ciormu.ads, a-coormu.ads, a-stzbou.ads, a-stzmap.ads, a-stzunb.ads,
+ a-except-2005.ads: Add pragma Preelaborable_Warning
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+
+ * a-dispat.ads, a-dispat.adb, a-diroro.ads, a-diroro.adb: New files.
+
+ * ali.adb (Get_Name): Properly handle scanning of wide character names
+ encoded with brackets notation.
+ (Known_ALI_Lines): Add S lines to this list.
+ (Scan_ALI): Acquire S (priority specific dispatching) lines.
+ New flag Elaborate_All_Desirable in unit table
+
+ * ali.ads (Priority_Specific_Dispatching): Add this range of
+ identifiers to be used for Priority_Specific_Dispatching table entries.
+ (ALIs_Record): Add First_Specific_Dispatching and
+ Last_Specific_Dispatching that point to the first and last entries
+ respectively in the priority specific dispatching table for this unit.
+ (Specific_Dispatching): Add this table for storing each S (priority
+ specific dispatching) line encountered in the input ALI file.
+ New flag Elaborate_All_Desirable in unit table
+
+ * bcheck.adb: (Check_Configuration_Consistency): Add call to
+ Check_Consistent_Dispatching_Policy.
+ (Check_Consistent_Dispatching_Policy): Add this procedure in charge of
+ verifying that the use of Priority_Specific_Dispatching,
+ Task_Dispatching_Policy, and Locking_Policy is consistent across the
+ partition.
+
+ * bindgen.adb: (Public_Version_Warning): function removed.
+ (Set_PSD_Pragma_Table): Add this procedure in charge of getting the
+ required information from ALI files in order to initialize the table
+ containing the specific dispatching policy.
+ (Gen_Adainit_Ada): Generate the variables required for priority specific
+ dispatching entries (__gl_priority_specific_dispatching and
+ __gl_num_specific_dispatching).
+ (Gen_Adainit_C): Generate the variables required for priority specific
+ dispatching entries (__gl_priority_specific_dispatching and
+ __gl_num_specific_dispatching).
+ (Gen_Output_File): Acquire settings for Priority_Specific_Dispatching
+ pragma entries.
+ (Gen_Restrictions_String_1, Gen_Restrictions_String_2): Removed.
+ (Gen_Restrictions_Ada, Gen_Restrictions_C, Set_Boolean): New procedures.
+ (Tab_To): Removed.
+ (Gen_Output_File_Ada/_C): Set directly __gl_xxx variables instead of
+ a call to gnat_set_globals.
+ Generate a string containing settings from
+ Priority_Specific_Dispatching pragma entries.
+ (Gen_Object_Files_Options): Do not include the runtime libraries when
+ pragma No_Run_Time is specified.
+
+ * init.c (__gnat_install_handler, case FreeBSD): Use SA_SIGINFO, for
+ consistency with s-intman-posix.adb.
+ (__gnat_error_handler, case FreeBSD): Account for the fact that the
+ handler is installed with SA_SIGINFO.
+ (__gnat_adjust_context_for_raise, FreeBSD case): New function for
+ FreeBSD ZCX support, copied from Linux version.
+ Add MaRTE-specific definitions for the linux target. Redefine sigaction,
+ sigfillset, and sigemptyset so the routines defined by MaRTE.
+ (__gl_priority_specific_dispatching): Add this variable that stores the
+ string containing priority specific dispatching policies in the
+ partition.
+ (__gl_num_specific_dispatching): Add this variable that indicates the
+ highest priority for which a priority specific dispatching pragma
+ applies.
+ (__gnat_get_specific_dispatching): Add this routine that returns the
+ priority specific dispatching policy, as set by a
+ Priority_Specific_Dispatching pragma appearing anywhere in the current
+ partition. The input argument is the priority number, and the result
+ is the upper case first character of the policy name.
+ (__gnat_set_globals): Now a dummy function.
+ (__gnat_handle_vms_condition): Feed adjust_context_for_raise with
+ mechargs instead of sigargs, as the latter can be retrieved from the
+ former and sigargs is not what we want on ia64.
+ (__gnat_adjust_context_for_raise, alpha-vms): Fetch sigargs from the
+ mechargs argument.
+ (__gnat_adjust_context_for_raise, ia64-vms): New function.
+ (tasking_error): Remove unused symbol.
+ (_abort_signal): Move this symbol to the IRIX specific part since this
+ is the only target that uses this definition.
+ (Check_Abort_Status): Move this symbol to the IRIX specific part since
+ this is the only target that uses this definition.
+ (Lock_Task): Remove unused symbol.
+ (Unlock_Task): Remove unused symbol.
+
+ * lib-writ.adb (Write_ALI): Output new S lines for
+ Priority_Specific_Dispatching pragmas.
+ Implement new flag BD for elaborate body desirable
+
+ * lib-writ.ads: Document S lines for Priority Specific Dispatching.
+ (Specific_Dispatching): Add this table for storing the entries
+ corresponding to Priority_Specific_Dispatching pragmas.
+ Document new BD flag for elaborate body desirable
+
+ * par-prag.adb (Prag): Add Priority_Specific_Dispatching to the list
+ of known pragmas.
+
+2006-10-31 Javier Miranda <miranda@adacore.com>
+
+ * a-tags.ads, a-tags.adb:
+ (Predefined_DT): New function that improves readability of the code.
+ (Get_Predefined_Prim_Op_Address, Set_Predefined_Prim_Op_Address,
+ Inherit_DT): Use the new function Predefined_DT to improve code
+ readability.
+ (Register_Interface_Tag): Update assertion.
+ (Set_Interface_Table): Update assertion.
+ (Interface_Ancestor_Tags): New subprogram required to implement AI-405:
+ determining progenitor interfaces in Tags.
+ (Inherit_CPP_DT): New subprogram.
+
+ * exp_disp.adb (Expand_Interface_Thunk): Suppress checks during the
+ analysis of the thunk code.
+ (Expand_Interface_Conversion): Handle run-time conversion of
+ access to class wide types.
+ (Expand_Dispatching_Call): When generating the profile for the
+ subprogram itype for a dispatching operation, properly terminate the
+ formal parameters chaind list (set the Next_Entity of the last formal
+ to Empty).
+ (Collect_All_Interfaces): Removed. This routine has been moved to
+ sem_util and renamed as Collect_All_Abstract_Interfaces.
+ (Set_All_DT_Position): Hidden entities associated with abstract
+ interface primitives are not taken into account in the check for
+ 3.9.3(10); this check is done with the aliased entity.
+ (Make_DT, Set_All_DT_Position): Enable full ABI compatibility for
+ interfacing with CPP by default.
+ (Expand_Interface_Conversion): Add missing support for static conversion
+ from an interface to a tagged type.
+ (Collect_All_Interfaces): Add new out formal containing the list of
+ abstract interface types to cleanup the subprogram Make_DT.
+ (Make_DT): Update the code to generate the table of interfaces in case
+ of abstract interface types.
+ (Is_Predefined_Dispatching_Alias): New function that returns true if
+ a primitive is not a predefined dispatching primitive but it is an
+ alias of a predefined dispatching primitive.
+ (Make_DT): If the ancestor of the type is a CPP_Class and we are
+ compiling under full ABI compatibility mode we avoid the generation of
+ calls to run-time services that fill the dispatch tables because under
+ this mode we currently inherit the dispatch tables in the IP subprogram.
+ (Write_DT): Emit an "is null" indication for a null procedure primitive.
+ (Expand_Interface_Conversion): Use an address as the type of the formal
+ of the internally built function that handles the case in which the
+ target type is an access type.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * binde.adb (Better_Choice, Worse_Choice): Implement new preferences.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * bindusg.ads, bindusg.adb:
+ Change to package and rename procedure as Display, which
+ now ensures that it only outputs usage information once.
+
+2006-10-31 Jose Ruiz <ruiz@adacore.com>
+
+ * cal.c: Use the header sys/time.h for VxWorks 6.2 or greater when
+ using RTPs.
+
+ * mkdir.c: Use a different version of mkdir for VxWorks 6.2 or greater
+ when using RTPs.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * treepr.adb: Use new subtype N_Membership_Test
+
+ * checks.ads, checks.adb: Add definition for Validity_Check
+ (Range_Or_Validity_Checks_Suppressed): New function
+ (Ensure_Valid): Test Validity_Check suppressed
+ (Insert_Valid_Check): Test Validity_Check suppressed
+ (Insert_Valid_Check): Preserve Do_Range_Check flag
+ (Validity_Check_Range): New procedure
+ (Expr_Known_Valid): Result of membership test is always valid
+ (Selected_Range_Checks): Range checks cannot be applied to discriminants
+ by themselves. Disabling those checks must also be done for task types,
+ where discriminants may be used for the bounds of entry families.
+ (Apply_Address_Clause_Check): Remove side-effects if address expression
+ is non-static and is not the name of a declared constant.
+ (Null_Exclusion_Static_Checks): Extend to handle Function_Specification.
+ Code cleanup and new error messages.
+ (Enable_Range_Check): Test for some cases of suppressed checks
+ (Generate_Index_Checks): Suppress index checks if index checks are
+ suppressed for array object or array type.
+ (Apply_Selected_Length_Checks): Give warning for compile-time detected
+ length check failure, even if checks are off.
+ (Ensure_Valid): Do not generate a check on an indexed component whose
+ prefix is a packed boolean array.
+ * checks.adb: (Alignment_Checks_Suppressed): New function
+ (Apply_Address_Clause_Check): New procedure, this is a completely
+ rewritten replacement for Apply_Alignment_Check
+ (Get_E_Length/Get_E_First_Or_Last): Add missing barrier to ensure that
+ we request a discriminal value only in case of discriminants.
+ (Apply_Discriminant_Check): For Ada_05, only call Get_Actual_Subtype for
+ assignments where the target subtype is unconstrained and the target
+ object is a parameter or dereference (other aliased cases are known
+ to be unconstrained).
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * clean.adb, gnatname.adb, gnatsym.adb, prep.adb, prep.ads,
+ prepcomp.adb, prj.ads, prj-strt.adb, sem_maps.ads,
+ vms_conv.adb: Fix bad table increment values (much too small)
+
+ * table.adb (Realloc): Make sure we get at least some new elements
+ Defends against silly small values for table increment
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * einfo.ads, einfo.adb (Obsolescent_Warning): Now defined on all
+ entities. Move other fields around to make this possible
+ (Is_Derived_Type): Add missing call to Is_Type.
+ (Extra_Formals): New function for subprograms, entries, subprogram
+ types.
+ (Set_Extra_Formals): New procedure for subprograms, entries, subp types.
+ (First_Formal_With_Extras): New function for subprogs, entries, subp
+ types.
+ (Write_Field28_Name): New procedure for node display of "Extra_Formals".
+ Add node information for E_Return_Statement.
+ (Elaborate_Body_Desirable): New flag
+ (Is_Return_By_Reference_Type): Rename Is_Return_By_Reference_Type
+ to be Is_Inherently_Limited_Type, because return-by-reference has
+ no meaning in Ada 2005.
+ (E_Return_Statement): New entity kind.
+ (Return_Applies_To): Field of E_Return_Statement.
+ (Is_Return_Object): New flag in object entities.
+ (Is_Dynamic_Scope): Make it True for E_Return_Statement.
+ (Must_Have_Preelab_Init): New flag
+ (Known_To_Have_Preelab_Init): New flag
+ (Is_Formal_Object): Move from Sem_Ch8 body to Einfo
+ (Is_Visible_Formal): New flag on entities in formal packages.
+ (Low_Bound_Known): New flag
+ (Non_Limited_View, Set_Non_Limited_View): Add membership test agains
+ Incomplete_Kind.
+ (Write_Field17_Name): Correct spelling of Non_Limited_View. Add name
+ output when Id is an incomplete subtype.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads, errout.adb (Finalize): Implement switch -gnatd.m
+ Avoid abbreviation Creat
+ (Finalize): List all sources in extended mail source if -gnatl
+ switch is active.
+ Suppress copyright notice to file in -gnatl=f mode if -gnatd7 set
+ (Finalize): Implement new -gnatl=xxx switch to output listing to file
+ (Set_Specific_Warning_On): New procedure
+ (Set_Specific_Warning_Off): New procedure
+ Add implementation of new insertion \\
+ (Error_Msg_Internal): Add handling for Error_Msg_Line_Length
+ (Unwind_Internal_Type): Improve report on anonymous access_to_subprogram
+ types.
+ (Error_Msg_Internal): Make sure that we set Last_Killed to
+ True when a message from another package is suppressed.
+ Implement insertion character ~ (insert string)
+ (First_Node): Minor adjustments to get better placement.
+
+ * frontend.adb:
+ Implement new -gnatl=xxx switch to output listing to file
+
+ * gnat1drv.adb:
+ Implement new -gnatl=xxx switch to output listing to file
+
+ * opt.ads: (Warn_On_Questionable_Missing_Paren): New switch
+ (Commands_To_Stdout): New flag
+ Implement new -gnatl=xxx switch to output listing to file
+ New switch Dump_Source_Text
+ (Warn_On_Deleted_Code): New warning flag for -gnatwt
+ Define Error_Msg_Line_Length
+ (Warn_On_Assumed_Low_Bound): New switch
+
+ * osint.ads, osint.adb
+ (Normalize_Directory_Name): Fix bug.
+ Implement new -gnatl=xxx switch to output listing to file
+ (Concat): Removed, replaced by real concatenation
+ Make use of concatenation now allowed in compiler
+ (Executable_Prefix.Get_Install_Dir): First get the full path, so that
+ we find the 'lib' or 'bin' directory even when the tool has been
+ invoked with a relative path.
+ (Executable_Name): New function taking string parameters.
+
+ * osint-c.ads, osint-c.adb:
+ Implement new -gnatl=xxx switch to output listing to file
+
+ * sinput-d.adb: Change name Creat_Debug_File to Create_Debug_File
+
+ * switch-c.adb:
+ Implement new -gnatl=xxx switch to output listing to file
+ Recognize new -gnatL switch
+ (no longer keep in old warning about old style usage)
+ Use concatenation to simplify code
+ Recognize -gnatjnn switch
+ (Scan_Front_End_Switches): Clean up handling of -gnatW
+ (Scan_Front_End_Switches): Include Warn_On_Assumed_Low_Bound for -gnatg
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * erroutc.ads, erroutc.adb (Set_Specific_Warning_On): New procedure
+ (Set_Specific_Warning_Off): New procedure
+ (Warning_Specifically_Suppressed): New function
+ (Validate_Specific_Warnings): New procedure
+ (Output_Msg_Text): Complete rewrite to support -gnatjnn
+
+ * err_vars.ads: Implement insertion character ~ (insert string)
+
+2006-10-31 Bob Duff <duff@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): For extension aggregates, if
+ the parent part is a build-in-place function call, generate assignments.
+ (Expand_Record_Aggregate): Call Convert_To_Assignments if any components
+ are build-in-place function calls.
+ (Replace_Self_Reference): New subsidiary of
+ Make_OK_Assignment_Statement, to replace an access attribute that is a
+ self-reference into an access to the appropriate component of the
+ target object. Generalizes previous mechanism to handle self-references
+ nested at any level.
+ (Is_Self_Referential_Init): Remove, not needed.
+ (Is_Self_Referential_Init): New predicate to simplify handling of self
+ referential components in record aggregates.
+ (Has_Default_Init_Comps, Make_OK_Assignment_Statement): Add guard to
+ check for presence of entity before checking for self-reference.
+ (Has_Default_Init_Comps): Return True if a component association is a
+ self-reference to the enclosing type, which can only come from a
+ default initialization.
+ (Make_OK_Assignment_Statement): If the expression is of the form
+ Typ'Acc, where Acc is an access attribute, the expression comes from a
+ default initialized self-referential component.
+ (Build_Record_Aggr_Code): If the type of the aggregate is a tagged type
+ that has been derived from several abstract interfaces we must also
+ initialize the tags of the secondary dispatch tables.
+
+2006-10-31 Ed Schonberg <schonberg@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb:
+ (Expand_Access_To_Protected_Op): If the context indicates that an access
+ to a local operation may be transfered outside of the object, create an
+ access to the wrapper operation that must be used in an external call.
+ (Expand_N_Attribute_Reference, case Attribute_Valid): For the AAMP
+ target, pass the Valid attribute applied to a floating-point prefix on
+ to the back end without expansion.
+ (Storage_Size): Use the new run-time function Storage_Size to retrieve
+ the allocated storage when it is specified by a per-object expression.
+ (Expand_N_Attribute_Reference): Add case for Attribute_Stub_Type.
+ Nothing to do here, the attribute has been rewritten during semantic
+ analysis.
+ (Expand_Attribute_Reference): Handle expansion of the new Priority
+ attribute
+ (Find_Fat_Info): Handle case of universal real
+ (Expand_Access_To_Protected_Op): Fix use of access to protected
+ subprogram from inside the body of a protected entry.
+ (Expand_Access_To_Protected_Op): Common procedure for the expansion of
+ 'Access and 'Unrestricted_Access, to transform the attribute reference
+ into a fat pointer.
+ (Is_Constrained_Aliased_View): New predicate to help determine whether a
+ subcomponent's enclosing variable is aliased with a constrained subtype.
+ (Expand_N_Attribute_Reference, case Attribute_Constrained): For Ada_05,
+ test Is_Constrained_Aliased_View rather than Is_Aliased_View, because
+ an aliased prefix must be known to be constrained in order to use True
+ for the attribute value, and now it's possible for some aliased views
+ to be unconstrained.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch2.adb: Change Is_Lvalue to May_Be_Lvalue
+ (Expand_Entity_Reference): Correct error of not handling subprogram
+ formals in current_value processing.
+
+2006-10-31 Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch3.ads, exp_ch3.adb (Expand_N_Object_Declaration): Do not
+ register in the final list objects containing class-wide interfaces;
+ otherwise we incorrectly register the tag of the interface in the final
+ list.
+ (Make_Controlling_Function_Wrappers): Add missing barrier to do not
+ generate the wrapper if the parent primitive is abstract. This is
+ required to report the correct error message.
+ (Expand_N_Subtype_Indication): Do validity checks on range
+ (Clean_Task_Names): If an initialization procedure includes a call to
+ initialize a task (sub)component, indicate that the procedure will use
+ the secondary stack.
+ (Build_Init_Procedure, Init_Secondary_Tags): Enable full ABI
+ compatibility for interfacing with CPP by default.
+ (Expand_N_Object_Declaration): Only build an Adjust call when the
+ object's type is a nonlimited controlled type.
+ * exp_ch3.adb: Add with and use of Exp_Ch6.
+ (Expand_N_Object_Declaration): Check for object initialization that is a
+ call to build-in-place function and apply Make_Build_In_Place_Call_In_
+ Object_Declaration to the call.
+ (Freeze_Type): When the designated type of an RACW was not frozen at the
+ point where the RACW was declared, validate the primitive operations
+ with respect to E.2.2(14) when it finally is frozen.
+ (Build_Initialization_Call,Expand_Record_Controller): Rename
+ Is_Return_By_Reference_Type to be Is_Inherently_Limited_Type, because
+ return-by-reference has no meaning in Ada 2005.
+ (Init_Secondary_Tags): Add missing call to Set_Offset_To_Top
+ to register tag of the immediate ancestor interfaces in the
+ run-time structure.
+ (Init_Secondary_Tags): Moved to the specification to allow the
+ initialization of extension aggregates with abstract interfaces.
+ (Build_Master_Renaming): Make public, for use by function declarations
+ whose return type is an anonymous access type.
+ (Freeze_Record_Type): Replace call to Insert_List_Before by call to
+ Insert_List_Before_And_Analyze after the generation of the specs
+ associated with null procedures.
+ (Expand_Tagged_Root): Update documentation in its specification.
+ (Init_Secondary_Tags): Update documentation.
+ (Build_Init_Procedure): If we are compiling under CPP full ABI compa-
+ tibility mode and the immediate ancestor is a CPP_Pragma tagged type
+ then generate code to inherit the contents of the dispatch table
+ directly from the ancestor.
+ (Expand_Record_Controller): Insert controller component after tags of
+ implemented interfaces.
+ (Freeze_Record_Type): Call new procedure Make_Null_Procedure_Specs to
+ create null procedure overridings when null procedures are inherited
+ from interfaces.
+ (Make_Null_Procedure_Specs): New procedure to generate null procedure
+ declarations for overriding null primitives inherited from interfaces.
+ (Is_Null_Interface_Procedure): New function in
+ Make_Null_Procedure_Specs.
+ (Make_Predefined_Primitive_Specs/Predefined_Primitive_Bodies): If the
+ immediate ancestor of a tagged type is an abstract interface type we
+ must generate the specification of the predefined primitives associated
+ with controlled types (because the dispatch table of the ancestor is
+ null and hence these entries cannot be inherited). This is required to
+ elaborate well the dispatch table.
+
+2006-10-31 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Bob Duff <duff@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Type_Conversion): Handle missing interface type
+ conversion.
+ (Expand_N_In): Do validity checks on range
+ (Expand_Selected_Component): Use updated for of Denotes_Discriminant.
+ (Expand_N_Allocator): For "new T", if the object is constrained by
+ discriminant defaults, allocate the right amount of memory, rather than
+ the maximum for type T.
+ (Expand_Allocator_Expression): Suppress the call to Remove_Side_Effects
+ when the allocator is initialized by a build-in-place call, since the
+ allocator is already rewritten as a reference to the function result,
+ and this prevents an unwanted duplication of the function call.
+ Add with and use of Exp_Ch6.
+ (Expand_Allocator_Expresssion): Check for an allocator whose expression
+ is a call to build-in-place function and apply
+ Make_Build_In_Place_Call_In_Allocator to the call (for both tagged and
+ untagged designated types).
+ (Expand_N_Unchecked_Type_Conversion): Do not do integer literal
+ optimization if source or target is biased.
+ (Expand_N_Allocator): Add comments for case of an allocator within a
+ function that returns an anonymous access type designating tasks.
+ (Expand_N_Allocator): apply discriminant checks for access
+ discriminants of anonymous access types (AI-402, AI-416)
+
+2006-10-31 Bob Duff <duff@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.ads (Expand_N_Extended_Return_Statement): New procedure.
+
+ * exp_ch5.adb (Expand_N_Loop_Statement): Do validity checks on range
+ (Expand_N_Assignment_Statement): Call
+ Make_Build_In_Place_Call_In_Assignment if the right-hand side is a
+ build-in-place function call. Currently, this can happen only for
+ assignments that come from aggregates.
+ Add -gnatd.l --Use Ada 95 semantics for limited function returns,
+ in order to alleviate the upward compatibility introduced by AI-318.
+ (Expand_N_Extended_Return_Statement): Add support for handling the
+ return object as a build-in-place result.
+ (Expand_Non_Function_Return): Implement simple return statements nested
+ within an extended return.
+ (Enable_New_Return_Processing): Turn on the new processing of return
+ statements.
+ (Expand_Non_Function_Return): For a return within an extended return,
+ don't raise Program_Error, because Sem_Ch6 now gives a warning.
+ (Expand_N_Extended_Return_Statement): Implement AI-318
+ (Expand_Simple_Function_Return): Ditto.
+ (Expand_N_If_Statement): Handle new -gnatwt warning
+ (Expand_N_Case_Statement): Handle new -gnatwt warning
+ (Expand_N_Assignment): Handle assignment to the Priority attribute of
+ a protected object.
+ (Expand_N_Assignment_Statement): Implement -gnatVe/E to control
+ validity checking of assignments to elementary record components.
+ (Expand_N_Return_Statement): return Class Wide types on the secondary
+ stack independantly of their controlled status since with HIE runtimes,
+ class wide types are not potentially controlled anymore.
+
+ * expander.adb (Expand): Add case for new N_Extended_Return_Statement
+ node kind.
+
+ * exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Avoid
+ Expand_Cleanup_Actions in case of N_Extended_Return_Statement, because
+ it expects a block, procedure, or task. The return statement will get
+ turned into a block, and Expand_Cleanup_Actions will happen then.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Bob Duff <duff@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch6.ads, exp_ch6.adb: Use new Validity_Check suppression
+ capability.
+ (Expand_Inlined_Call): Tagged types are by-reference types, and
+ therefore should be replaced by a renaming declaration in the expanded
+ body, as is done for limited types.
+ (Expand_Call): If this is a call to a function with dispatching access
+ result, propagate tag from context.
+ (Freeze_Subprogram): Enable full ABI compatibility for interfacing with
+ CPP by default.
+ (Make_Build_In_Place_Call_In_Assignment): New procedure to do
+ build-in-place when the right-hand side of an assignment is a
+ build-in-place function call.
+ (Make_Build_In_Place_Call_In_Allocator): Apply an unchecked conversion
+ of the explicit dereference of the allocator to the result subtype of
+ the build-in-place function. This is needed to satisfy type checking
+ in cases where the caller's return object is created by an allocator for
+ a class-wide access type and the type named in the allocator is a
+ specific type.
+ (Make_Build_In_Place_Call_In_Object_Declaration): Apply an unchecked
+ conversion of the reference to the declared object to the result subtype
+ of the build-in-place function. This is needed to satisfy type checking
+ in cases where the declared object has a class-wide type. Also, in the
+ class-wide case, change the type of the object entity to the specific
+ result subtype of the function, to avoid passing a class-wide object
+ without explicit initialization to the back end.
+ (Register_Interface_DT_Entry): Moved outside the body of
+ Freeze_Subprogram because this routine is now public; it is called from
+ Check_Dispatching_Overriding to handle late overriding of abstract
+ interface primitives.
+ (Add_Access_Actual_To_Build_In_Place_Call): New utility procedure for
+ adding an implicit access actual on a call to a build-in-place function.
+ (Expand_Actuals): Test for an actual parameter that is a call to a
+ build-in-place function and apply
+ Make_Build_In_Place_Call_In_Anonymous_Context to the call.
+ (Is_Build_In_Place_Function): New function to determine whether an
+ entity is a function whose calls should be handled as build-in-place.
+ (Is_Build_In_Place_Function_Call): New function to determine whether an
+ expression is a function call that should handled as build-in-place.
+ (Make_Build_In_Place_Call_In_Allocator): New procedure for handling
+ calls to build-in-place functions as the initialization of an allocator.
+ (Make_Build_In_Place_Call_In_Anonymous_Context): New procedure for
+ handling calls to build-in-place functions in contexts that do not
+ involve init of a separate object (for example, actuals of subprogram
+ calls).
+ (Make_Build_In_Place_Call_In_Object_Declaration): New procedure for
+ handling calls to build-in-place functions as the initialization of an
+ object declaration.
+ (Detect_Infinite_Recursion): Add explicit parameter Process to
+ instantiation of Traverse_Body to avoid unreferenced warning.
+ (Check_Overriding_Inherited_Interfaces): Removed.
+ (Register_Interface_DT_Entry): Code cleanup.
+ (Register_Predefined_DT_Entry): Code cleanup.
+ (Expand_Inlined_Call.Rewrite_Procedure_Call): Do not omit block around
+ inlined statements if within a transient scope.
+ (Expand_Inlined_Call.Process_Formals): When replacing occurrences of
+ formal parameters with occurrences of actuals in inlined body, establish
+ visibility on the proper view of the actual's subtype for the body's
+ context.
+ (Freeze_Subprogram): Do nothing if we are compiling under full ABI
+ compatibility mode and we have an imported CPP subprogram because
+ for now we assume that imported CPP primitives correspond with
+ objects whose constructor is in the CPP side (and therefore we
+ don't need to generate code to register them in the dispatch table).
+ (Expand_Actuals): Introduce copy of actual, only if it might be a bit-
+ aligned selected component.
+ (Add_Call_By_Copy_Node): Add missing code to handle the case in which
+ the actual of an in-mode parameter is a type conversion.
+ (Expand_Actuals): If the call does not come from source and the actual
+ is potentially misaligned, let gigi handle it rather than rejecting the
+ (Expand_N_Subprogram_Body, Freeze_Subprogram): set subprograms returning
+ Class Wide types as returning by reference independantly of their
+ controlled status since with HIE runtimes class wide types are not
+ potentially controlled anymore.
+
+2006-10-31 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch9.adb (Update_Prival_Types): Simplify code for entity
+ references that are private components of the protected object.
+ (Build_Barrier_Function): Set flag Is_Entry_Barrier_Function
+ (Update_Prival_Subtypes): Add explicit Process argument to Traverse_Proc
+ instantiation to deal with warnings.
+ (Initialize_Protection): If expression for priority is non-static, use
+ System_Priority as its expected type, in case the expression has not
+ been analyzed yet.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * exp_dbug.ads, exp_dbug.adb (Get_External_Name): Add missing
+ initialization of Homonym_Len.
+ (Fully_Qualify_Name): Remove kludge to eliminate anonymous block
+ names from fully qualified name. Fixes problem of duplicate
+ external names differing only in the presence of such a block name.
+
+2006-10-31 Thomas Quinot <quinot@adacore.com>
+ Pablo Oliveira <oliveira@adacore.com>
+
+ * exp_dist.adb (Get_Subprogram_Ids): This function will no more assign
+ subprogram Ids, even if they are not yet assigned.
+ (Build_Subprogram_Id): It is now this function that will take care of
+ calling Assign_Subprogram_Ids if necessary.
+ (Add_Receiving_Stubs_To_Declarations): Checking the subprograms ids
+ should be done only once they are assigned.
+ (Build_From_Any_Function, case of tagged types): Add missing call to
+ Allocate_Buffer.
+ (Corresponding_Stub_Type): New subprogram. Returns the associated stub
+ type for an RACW type.
+ (Add_RACW_Features): When processing an RACW declaration for which the
+ designated type is already frozen, enforce E.2.2(14) rules immediately.
+ (GARLIC_Support.Build_Subprogram_Receiving_Stubs): Do not perform any
+ special reordering of controlling formals.
+
+ * exp_dist.ads (Corresponding_Stub_Type): New subprogram. Returns the
+ associated stub type for an RACW type.
+
+2006-10-31 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_fixd.adb (Rounded_Result_Set): For multiplication and division of
+ fixed-point operations in an integer context, i.e. as operands of a
+ conversion to an integer type, indicate that result must be rounded.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * exp_imgv.adb (Expand_Image_Attribute): For Wide_[Wide_]Character
+ cases, pass the encoding method, since it is now required by the run
+ time.
+
+ * s-valwch.ads, s-valwch.adb (Value_Wide_Wide_Character): Avoid
+ assumption that Str'First = 1.
+ (Value_Wide_Character): Takes EM (encoding method) parameter and passes
+ it on to the Value_Wide_Wide_Character call.
+ (Value_Wide_Wide_Character): Takes EM (encoding method) parameter and
+ properly handles a string of the form quote-encoded_wide_char-quote.
+
+ * s-wchcnv.adb: Minor reformatting
+
+2006-10-31 Javier Miranda <miranda@adacore.com>
+
+ * exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing
+ run-time membership test to ensure that the constructed object
+ implements the target abstract interface.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Common_Object): Use a single
+ Machine_Attribute pragma internally to implement the user pragma.
+ Add processing for pragma Interface so that it is now completely
+ equivalent to pragma Import.
+
+ * sem_prag.adb (Analyze_Pragma, case Obsolescent): Extend this pragma
+ so that it can be applied to all entities, including record components
+ and enumeration literals.
+ (Analyze_Pragma, case Priority_Specific_Dispatching): Check whether
+ priority ranges are correct, verify compatibility against task
+ dispatching and locking policies, and if everything is correct an entry
+ is added to the table containing priority specific dispatching entries
+ for this compilation unit.
+ (Delay_Config_Pragma_Analyze): Delay processing
+ Priority_Specific_Dispatching pragmas because when processing the
+ pragma we need to access run-time data, such as the range of
+ System.Any_Priority.
+ (Sig_Flags): Add Pragma_Priority_Specific_Dispatching.
+ Allow pragma Unreferenced as a context item
+ Add pragma Preelaborable_Initialization
+ (Analyze_Pragma, case Interface): Interface is extended so that it is
+ now syntactically and semantically equivalent to Import.
+ (Analyze_Pragma, case Compile_Time_Warning): Fix error of blowups on
+ insertion characters.
+ Add handling for Pragma_Wide_Character_Encoding
+ (Process_Restrictions_Restriction_Warnings): Ensure that a warning
+ never supercedes a real restriction, and that a real restriction
+ always supercedes a warning.
+ (Analyze_Pragma, case Assert): Set Low_Bound_Known if assert is of
+ appropriate form.
+
+2006-10-31 Bob Duff <duff@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_ch7.adb (Build_Array_Deep_Procs, Build_Record_Deep_Procs,
+ Make_Deep_Record_Body): Rename Is_Return_By_Reference_Type to be
+ Is_Inherently_Limited_Type, because return-by-reference has no meaning
+ in Ada 2005.
+ (Find_Node_To_Be_Wrapped): Use new method of determining the result
+ type of the function containing a return statement, because the
+ Return_Type field was removed. We now use the Return_Applies_To field.
+
+ * exp_util.ads, exp_util.adb: Use new subtype N_Membership_Test
+ (Build_Task_Image_Decl): If procedure is not called from an
+ initialization procedure, indicate that function that builds task name
+ uses the sec. stack. Otherwise the enclosing initialization procedure
+ will carry the indication.
+ (Insert_Actions): Remove N_Return_Object_Declaration. We now use
+ N_Object_Declaration instead.
+ (Kill_Dead_Code): New interface to implement -gnatwt warning for
+ conditional dead code killed, and change implementation accordingly.
+ (Insert_Actions): Add N_Return_Object_Declaration case.
+ Correct comment to mention N_Extension_Aggregate node.
+ (Set_Current_Value_Condition): Call Safe_To_Capture_Value to avoid bad
+ attempts to save information for global variables which cannot be
+ safely tracked.
+ (Get_Current_Value_Condition): Handle conditions the other way round
+ (constant on left). Also handle right operand of AND and AND THEN
+ (Set_Current_Value_Condition): Corresponding changes
+ (Append_Freeze_Action): Remove unnecessary initialization of Fnode.
+ (Get_Current_Value_Condition): Handle simple boolean operands
+ (Get_Current_Value_Condition): Handle left operand of AND or AND THEN
+ (Get_Current_Value_Condition): If the variable reference is within an
+ if-statement, does not appear in the list of then_statments, and does
+ not come from source, treat it as being at unknown location.
+ (Get_Current_Value_Condition): Enhance to allow while statements to be
+ processed as well as if statements.
+ (New_Class_Wide_Subtype): The entity for a class-wide subtype does not
+ come from source.
+ (OK_To_Do_Constant_Replacement): Allow constant replacement within body
+ of loop. This is safe now that we fixed Kill_Current_Values.
+ (OK_To_Do_Constant_Replacement): Check whether current scope is
+ Standard, before examining outer scopes.
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * krunch.ads, krunch.adb (Krunch): New Boolean parameter VMS_On_Target.
+ When True, apply VMS treatment to children of packages A, G, I and S.
+ For F320-016
+
+ * fname-uf.adb (Get_File_Name): Call Krunch with OpenVMS_On_Target
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb: Add handling of Last_Assignment field
+ (Warn_Overlay): Supply missing continuation marks in error msgs
+ (Freeze_Entity): Add check for Preelaborable_Initialization
+
+ * g-comlin.adb: Add Warnings (Off) to prevent new warning
+
+ * g-expect.adb: Add Warnings (Off) to prevent new warning
+
+ * lib-xref.adb: Add handling of Last_Assignment field
+ (Generate_Reference): Centralize handling of pragma Obsolescent here
+ (Generate_Reference): Accept an implicit reference generated for a
+ default in an instance.
+ (Generate_Reference): Accept a reference for a node that is not in the
+ main unit, if it is the generic body corresponding to an subprogram
+ instantiation.
+
+ * xref_lib.adb: Add pragma Warnings (Off) to avoid new warnings
+
+ * sem_warn.ads, sem_warn.adb (Set_Warning_Switch): Add processing for
+ -gnatwq/Q.
+ (Warn_On_Useless_Assignment): Suppress warning if enclosing inner
+ exception handler.
+ (Output_Obsolescent_Entity_Warnings): Rewrite to avoid any messages on
+ use clauses, to avoid messages on packages used to qualify, and also
+ to avoid messages from obsolescent units.
+ (Warn_On_Useless_Assignments): Don't generate messages for imported
+ and exported variables.
+ (Warn_On_Useless_Assignments): New procedure
+ (Output_Obsolescent_Entity_Warnings): New procedure
+ (Check_Code_Statement): New procedure
+
+ * einfo.ads, einfo.adb (Has_Static_Discriminants): New flag
+ Change name Is_Ada_2005 to Is_Ada_2005_Only
+ (Last_Assignment): New field for useless assignment warning
+
+2006-10-31 Olivier Hainque <hainque@adacore.com>
+
+ * g-alleve.adb (lvx, stvx): Ceil-Round the Effective Address to the
+ closest multiple of VECTOR_ALIGNMENT and not the closest multiple of 16.
+
+2006-10-31 Bob Duff <duff@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * g-awk.adb (Default_Session, Current_Session): Compile this file in
+ Ada 95 mode, because it violates the new rules for AI-318.
+
+ * g-awk.ads: Use overloaded subprograms in every case where we used to
+ have a default of Current_Session. This makes the code closer to be
+ correct for both Ada 95 and 2005.
+
+ * g-moreex.adb (Occurrence): Turn off warnings for illegal-in-Ada-2005
+ code, relying on the fact that the compiler generates a warning
+ instead of an error in -gnatg mode.
+
+ * lib-xref.ads (Xref_Entity_Letters): Add entry for new
+ E_Return_Statement entity kind.
+ Add an entry for E_Incomplete_Subtype in Xref_Entity_Letters.
+
+ * par.adb (P_Interface_Type_Definition): Addition of one formal to
+ report an error if the reserved word abstract has been previously found.
+ (SS_End_Type): Add E_Return for new extended_return_statement syntax.
+
+ * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve message for
+ parenthesized range attribute usage
+ (P_Expression_No_Right_Paren): Add missing comment about error recovery.
+
+ * par-ch6.adb (P_Return_Object_Declaration): AI-318: Allow "constant"
+ in the syntax for extended_return_statement. This is not in the latest
+ RM, but the ARG is expected to issue an AI allowing this.
+ (P_Return_Subtype_Indication,P_Return_Subtype_Indication): Remove
+ N_Return_Object_Declaration. We now use N_Object_Declaration instead.
+ (P_Return_Object_Declaration, P_Return_Subtype_Indication,
+ P_Return_Statement): Parse the new syntax for extended_return_statement.
+
+ * par-endh.adb (Check_End, Output_End_Deleted, Output_End_Expected,
+ Output_End_Missing): Add error-recovery code for the new
+ extended_return_statement syntax; that is, the new E_Return entry on
+ the scope stack.
+
+ * s-auxdec-vms_64.ads, s-auxdec.ads (AST_Handler): Change type from
+ limited to nonlimited, because otherwise we violate the new Ada 2005
+ rules about returning limited types in function Create_AST_Handler in
+ s-asthan.adb.
+
+ * sem.adb (Analyze): Add cases for new node kinds
+ N_Extended_Return_Statement and N_Return_Object_Declaration.
+
+ * sem_aggr.adb (Aggregate_Constraint_Checks): Verify that component
+ type is in the same category as type of context before applying check,
+ to prevent anomalies in instantiations.
+ (Resolve_Aggregate): Remove test for limited components in aggregates.
+ It's unnecessary in Ada 95, because if it has limited components, then
+ it must be limited. It's wrong in Ada 2005, because limited aggregates
+ are now allowed.
+ (Resolve_Record_Aggregate): Move check for limited types later, because
+ OK_For_Limited_Init requires its argument to have been resolved.
+ (Get_Value): When copying the component default expression for a
+ defaulted association in an aggregate, use the sloc of the aggregate
+ and not that of the original expression, to prevent spurious
+ elaboration errors, when the expression includes function calls.
+ (Check_Non_Limited_Type): Correct code for AI-287, extension aggregates
+ were missing. We also didn't handle qualified expressions. Now also
+ allow function calls. Use new common routine OK_For_Limited_Init.
+ (Resolve_Extension_Aggregate): Minor fix to bad error message (started
+ with space can upper case letter).
+
+ * sem_ch3.ads, sem_ch3.adb (Create_Constrained_Components): Set
+ Has_Static_Discriminants flag
+ (Record_Type_Declaration): Diagnose an attempt to declare an interface
+ type with discriminants.
+ (Process_Range_Expr_In_Decl): Do validity checks on range
+ (Build_Discriminant_Constraints): Use updated form of
+ Denotes_Discriminant.
+ (Process_Subtype): If the subtype is a private subtype whose full view
+ is a concurrent subtype, introduce an itype reference to prevent scope
+ anomalies in gigi.
+ (Build_Derived_Record_Type, Collect_Interface_Primitives,
+ Record_Type_Declaration): The functionality of the subprograms
+ Collect_Abstract_Interfaces and Collect_All_Abstract_Interfaces
+ is now performed by a single routine.
+ (Build_Derived_Record_Type): If the type definition includes an explicit
+ indication of limitedness, then the type must be marked as limited here
+ to ensure that any access discriminants will not be treated as having
+ a local anonymous access type.
+ (Check_Abstract_Overriding): Issue a detailed error message when an
+ abstract subprogram was not overridden due to incorrect mode of its
+ first parameter.
+ (Analyze_Private_Extension_Declaration): Add support for the analysis of
+ synchronized private extension declarations. Verify that the ancestor is
+ a limited or synchronized interface or in the generic case, the ancestor
+ is a tagged limited type or synchronized interface and all progenitors
+ are either limited or synchronized interfaces.
+ Derived_Type_Declaration): Check for presence of private extension when
+ dealing with synchronized formal derived types.
+ Process_Full_View): Enchance the check done on the usage of "limited" by
+ testing whether the private view is synchronized.
+ Verify that a synchronized private view is completed by a protected or
+ task type.
+ (OK_For_Limited_Init_In_05): New function.
+ (Analyze_Object_Declaration): Move check for limited types later,
+ because OK_For_Limited_Init requires its argument to have been resolved.
+ Add -gnatd.l --Use Ada 95 semantics for limited function returns,
+ in order to alleviate the upward compatibility introduced by AI-318.
+ (Constrain_Corresponding_Record): If the constraint is for a component
+ subtype, mark the itype as frozen, to avoid out-of-scope references to
+ discriminants in the back-end.
+ (Collect_Implemented_Interfaces): Protect the recursive algorithm of
+ this subprogram against wrong sources.
+ (Get_Discr_Value, Is_Discriminant): Handle properly references to a
+ discriminant of limited type completed with a protected type, when the
+ discriminant is used to constrain a private component of the type, and
+ expansion is disabled.
+ (Find_Type_Of_Object): Do not treat a return subtype that is an
+ anonymous subtype as a local_anonymous_type, because its accessibility
+ level is the return type of the enclosing function.
+ (Check_Initialization): In -gnatg mode, turn the error "cannot
+ initialize entities of limited type" into a warning.
+ (OK_For_Limited_Init): Return true for generated nodes, since it
+ sometimes violates the legality rules.
+ (Make_Incomplete_Declaration): If the type for which an incomplete
+ declaration is created happens to be the currently visible entity,
+ preserve the homonym chain when removing it from visibility.
+ (Check_Conventions): Add support for Ada 2005 (AI-430): Conventions of
+ inherited subprograms.
+ (Access_Definition): If this is an access to function that is the return
+ type of an access_to_function definition, context is a type declaration
+ and the scope of the anonymous type is the current one.
+ (Analyze_Subtype_Declaration): Add the defining identifier of a regular
+ incomplete subtype to the set of private dependents of the original
+ incomplete type.
+ (Constrain_Discriminated_Type): Emit an error message whenever an
+ incomplete subtype is being constrained.
+ (Process_Incomplete_Dependents): Transform an incomplete subtype into a
+ corresponding subtype of the full view of the original incomplete type.
+ (Check_Incomplete): Properly detect invalid usage of incomplete types
+ and subtypes.
+
+2006-10-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * g-catiio.ads, g-catiio.adb (Value): New function.
+ Given an input String, try and parse a valid Time value.
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * g-debpoo.adb (Is_Valid): Correctly compute Offset using
+ Integer_Address arithmetic, as in Set_Valid.
+
+2006-10-31 Arnaud Charlet <charlet@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * gnatcmd.adb (Process_Link): Use Osint.Executable_Name instead of
+ handling executable extension manually and duplicating code.
+
+ * make.adb: Implement new -S switch
+ (Gnatmake): Use new function Osint.Executable_Name instead
+ of handling executable extension manually.
+
+ * prj-util.adb (Executable_Of): Make sure that if an Executable_Suffix
+ is specified, the executable name ends with this suffix.
+ Take advantage of Osint.Executable_Name instead of duplicating code.
+
+ * switch-m.adb: Recognize new gnatmake -S switch
+
+ * targparm.ads, targparm.adb (Executable_Extension_On_Target): New
+ variable.
+ (Get_Target_Parameters): Set Executable_Extension_On_Target if
+ available.
+
+ * makeusg.adb: Add line for gnatmake -S switch
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * gnatlink.adb (Gnatlink): If gcc is not called with -shared-libgcc,
+ call it with -static-libgcc, as there are some platforms, such as
+ Darwin, where one of these two switches is compulsory to link.
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * gnatls.adb: Take into account GPR_PROJECT_PATH, when it is defined,
+ instead of ADA_PROJECT_PATH, for the project path.
+ (Gnatls): When displaying the project path directories, use host dir
+ specs.
+
+ * prj-ext.adb (Prj.Ext elaboration): On VMS, only expand relative path
+ names in the project path, as absolute paths may correspond to
+ multi-valued VMS logical names.
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * g-os_lib.ads, g-os_lib.adb (Locate_Exec_On_Path): Always return an
+ absolute path name.
+ (Locate_Regular_File): Ditto
+ (Change_Dir): Remove, no longer used
+ (Normalize_Pathname): Do not use Change_Dir to get the drive letter
+ on Windows. Get it calling Get_Current_Dir.
+ (OpenVMS): Remove imported boolean, no longer needed.
+ (Normalize_Pathname)[VMS]: Do not resolve directory names.
+ (Pid_To_Integer): New function to convert a Process_Id to Integer
+
+2006-10-31 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.ads, g-socket.adb (Close_Selector): Once the signalling
+ sockets are closed, reset the R_Sig_Socket and W_Sig_Socket components
+ to No_Socket.
+ (Selector_Type): Add default value of No_Socket for R_Sig_Socket and
+ W_Sig_Socket.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * g-speche.ads, g-speche.adb: Add special case to recognize misspelling
+ initial letter o as a zero.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * g-spipat.adb (S_To_PE): Remove incorrect use of 0 instead of Str'First
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * layout.adb (Layout_Record_Type): Deal with non-static subtypes of
+ variant records
+ (Layout_Variant_Record): Retrieve the discriminants from the entity
+ rather than from the type definition, because in the case of a full
+ type for a private type we need to take the discriminants from the
+ partial view.
+ (Layout_Component_List): When applying the Max operator to variants with
+ a nonstatic size, check whether either operand is static and scale that
+ operand from bits to storage units before applying Max.
+ (Layout_Type): In VMS, if a C-convention access type has no explicit
+ size clause (and does not inherit one in the case of a derived type),
+ then the size is reset to 32 from 64.
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * lib-load.adb (Load_Unit): Skip the test for a unit not found when
+ its file has already been loaded, according to the unit being loaded,
+ not to the current value of Multiple_Unit_Index.
+
+2006-10-31 Thomas Quinot <quinot@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * Makefile.in: Set EH mechanism to ZCX for FreeBSD.
+ (NO_REORDER_ADAFLAGS): New var defined to -fno-toplevel-reorder if
+ possible.
+ (a-except.o): Pass it to the compiler.
+ (gnatlib-shared-vms): Removed -nostartfiles switch in link step.
+ (LIBGNAT_TARGET_PAIRS for Windows): Avoid the use of the specific
+ a-calend-mingw.adb version.
+
+ * Makefile.rtl: Added s-dsaser.
+ Add object entries for Ada.Calendar.[Arithmetic/Formatting/Time_Zones]
+ (GNATRTL_TASKING_OBJS): Add Ada.Dispatching and
+ Ada.Dispatching.Round_Robin.
+ Added new unit Ada.Containers.Restricted_Bounded_Doubly_Linked_Lists
+
+ * Make-lang.in: Remove all references to gt-ada-decl.h.
+ Add concatenation (s-strops/s-sopco3/s-sopco4/s-sopco5) to compiler
+ sources.
+ Add dependency on ada/s-restri.o for GNAT1 and GNATBIND objects.
+ Update dependencies.
+
+ * system-freebsd-x86.ads: Make ZCX the default EH mechanism for FreeBSD
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * mlib-utl.adb (Initialized): Remove, no longer used
+ (Initialize): Remove, no longer used
+ (Ar): If Ar_Exec is null, get the location of the archive builder and,
+ if there is one, the archive indexer. Fail if the archive builder cannot
+ be found.
+ (Gcc): If the driver path is unknown, get it. Fail if the driver cannot
+ be found.
+
+2006-10-31 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.ads, sem_ch10.adb (Check_Redundant_Withs,
+ Process_Body_Clauses): If the context of a body includes a use clause
+ for P.Q then a with_clause for P in the same body is not redundant,
+ even if the spec also has a with_clause on P.
+ Add missing continuation mark to error msg
+ (Build_Limited_Views): A limited view of a type is tagged if its
+ declaration includes a record extension.
+ (Analyze_Proper_Body): Set Corresponding_Stub field in N_Subunit
+ node, even if the subunit has errors. This avoids malfunction by
+ Lib.Check_Same_Extended_Unit in the presence of syntax errors.
+ (Analyze_Compilation_Unit): Add circuit to make sure we get proper
+ generation of obsolescent messages for with statements (cannot do
+ this too early, or we cannot implement avoiding the messages in the
+ case of obsolescent units withing obsolescent units).
+ (Install_Siblings): If the with_clause is on a remote descendant of
+ an ancestor of the current compilation unit, find whether there is
+ a sibling child unit that is immediately visible.
+ (Remove_Private_With_Clauses): New procedure, invoked after completing
+ the analysis of the private part of a nested package, to remove from
+ visibility the private with_clauses of the enclosing package
+ declaration.
+ (Analyze_With_Clause): Remove Check_Obsolescent call, this checking is
+ now centralized in Generate_Reference.
+ (Install_Limited_Context_Clauses): Remove superfluous error
+ message associated with unlimited view visible through use
+ and renamings. In addition, at the point in which the error
+ is reported, we add the backslash to the text of the error
+ to ensure that it is reported as a single error message.
+ Use new // insertion for some continuation messages
+ (Expand_Limited_With_Clause): Use copy of name rather than name itself,
+ to create implicit with_clause for parent unit mentioned in original
+ limited_with_clause.
+ (Install_Limited_With_Unit): Set entity of parent identifiers if the
+ unit is a child unit. For ASIS queries.
+ (Analyze_Subunit): If the subunit appears within a child unit, make all
+ ancestor child units directly visible again.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * par-ch10.adb (P_Context_Clause): Minor error message fix
+
+2006-10-31 Hristian Kirtchev <kirtchev@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * par-ch12.adb: Grammar update and cleanup.
+ (P_Formal_Type_Definition, P_Formal_Derived_Type_Definition): Add
+ support for synchronized derived type definitions.
+ Add the new actual Abstract_Present to every call to
+ P_Interface_Type_Definition.
+ (P_Formal_Object_Declarations): Update grammar rules. Handle parsing of
+ a formal object declaration with an access definition or a subtype mark
+ with a null exclusion.
+ (P_Generic_Association): Handle association with box, and others_choice
+ with box, to support Ada 2005 partially parametrized formal packages.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * par-ch3.adb (P_Range_Or_Subtype_Mark): Check for bad parentheses
+ (P_Type_Declaration): Remove barrier against the reserved word "limited"
+ after "abstract" to give support to the new syntax of AARM 3.4 (2/2).
+ (P_Type_Declaration): Minor code cleanup. Add support for synchronized
+ private extensions.
+ (P_Type_Declaration): Add the new actual Abstract_Present to every call
+ to P_Interface_Type_Definition.
+ (P_Interface_Type_Definition): Addition of one formal to report an error
+ if the reserved word abstract has been previously found.
+ (P_Identifier_Declarations): Update grammar rules. Handle parsing of an
+ object renaming declaration with an access definition or subtype mark
+ with a possible null exclusion.
+
+ * par-ch9.adb: Minor error msg fix
+
+ * par-load.adb: Add missing continuation mark to error msg
+
+ * par-tchk.adb: (Wrong_Token): Code cleanup, use concatenation
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * prj-dect.adb (Parse_Attribute_Declaration): Do not issue warning for
+ unknown attribute in unknown package or in package that does not need
+ to be checked.
+ (Parse_Package_Declaration): Do not issue warning for unknown package in
+ quiet output.
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * prj-makr.adb (Packages_To_Check_By_Gnatname): New global constant
+ (Make): Call Parse with Packages_To_Check_By_Gnatname for parameter
+ Packages_To_Check.
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_Ada_Name): For children of package A, G, I and S
+ on VMS, change "__" to '.' before checking the name.
+ (Record_Ada_Source): Always add the source file name in the list of
+ of sources, even if it is not the first time, as it is for another
+ source index.
+ (Get_Unit): Replace both '_' (after 'a', 'g', 'i' or 's') with a single
+ dot, instead of replacing only the first '_'.
+
+ * prj-part.adb (Parse): Convert project file path to canonical form
+
+ * prj-proc.adb (Recursive_Process): Make sure that, when a project is
+ extended, the project id of the project extending it is recorded in its
+ data, even when it has already been processed as an imported project.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * repinfo.adb (List_Entities): Don't list entities from renaming
+ declarations.
+
+2006-10-31 Arnaud Charlet <charlet@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * restrict.ads, restrict.adb (Restriction_Active): Now returns False if
+ only a restriction warning is active for the given restriction. This is
+ desirable because we do not want to modify code in the case where only
+ a warning is set.
+ (Set_Profile_Restrictions): Make sure that a Profile_Warnings never
+ causes overriding of real restrictions.
+ Take advantage of new No_Restrictions constant.
+
+ * raise.h: (__gnat_set_globals): Change profile.
+
+2006-10-31 Arnaud Charlet <charlet@adacore.com>
+
+ * rtsfind.adb: Remove s-polint from comment as it exists no more.
+
+ * rtsfind.ads:
+ Move entity RE_Get_Active_Partition_Id to package System.DSA_Services.
+ Move all the entities in obsolete package System.PolyORB_Interface to
+ System.Partition_Interface.
+ (RE_Storage_Size): New function in System.Tasking.
+ (RE_Get_Ceiling): New entity.
+ (RE_Set_Ceiling): New entity.
+ (RO_PE_Get_Ceiling): New entity.
+ (RO_RE_Set_Ceiling): New entity.
+ (Inherit_CPP_DT): New entity
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * scng.adb (Scan, case of numeric literal): Better msg for identifier
+ starting with a digit.
+
+2006-10-31 Ed Schonberg <schonberg@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * sem_attr.ads, sem_attr.adb (Analyze_Access_Attribute): Diagnose
+ properly an attempt to apply Unchecked_Access to a protected operation.
+ (OK_Self_Reference): New subprogram to check the legality of an access
+ attribute whose prefix is the type of an enclosing aggregate.
+ Generalizes previous mechanism to handle attribute references nested
+ arbitrarily deep within the aggregate.
+ (Analyze_Access_Attribute): An access attribute whose prefix is a type
+ can appear in an aggregate if this is a default-initialized aggregate
+ for a self-referential type.
+ (Resolve_Attribute, case Access): Ditto.
+ Add support for new implementation defined attribute Stub_Type.
+ (Eval_Attribute, case Attribute_Stub_Type): New case.
+ (Analyze_Attribute, case Attribute_Stub_Type): New case.
+ (Stream_Attribute_Available): Implement using new subprogram from
+ sem_cat, Has_Stream_Attribute_Definition, instead of incorrect
+ Has_Specified_Stream_Attribute flag.
+ Disallow Storage_Size and Storage_Pool for access to subprogram
+ (Resolve_Attribute, case 'Access et al): Take into account anonymous
+ access types of return subtypes in extended return statements. Remove
+ accessibility checks on anonymous access types when Unchecked_Access is
+ used.
+ (Analyze_Attribute): Add support for the use of 'Class to convert
+ a class-wide interface to a tagged type.
+ Add support for the attribute Priority.
+ (Resolve_Attribute, case Attribute_Access): For Ada_05, add test for
+ whether the designated type is discriminated with a constrained partial
+ view and require static matching in that case.
+ Add local variable Des_Btyp. The Designated_Type
+ of an access to incomplete subtype is either its non-limited view if
+ coming from a limited with or its etype if regular incomplete subtype.
+
+ * sem_cat.ads, sem_cat.adb (Validate_Remote_Access_To_Class_Wide_Type):
+ Fix predicate to identify and allow cases of (expander-generated)
+ references to tag of designated object of a RACW.
+ (Validate_Static_Object_Name): In Ada 2005, a formal object is
+ non-static, and therefore cannot appear as a primary in a preelaborable
+ package.
+ (Has_Stream_Attribute_Definition): New subprogram, abstracted from
+ Has_Read_Write_Attributes.
+ (Has_Read_Write_Attributes): Reimplement in termes of
+ Has_Stream_Attribute_Definition.
+ (Missing_Read_Write_Attributes): When checking component types in a
+ record, unconditionally call Missing_Read_Write_Attributes recursively
+ (remove guard checking for Is_Record_Type / Is_Access_Type).
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch11.adb (Analyze_Handled_Statements): Move final test for
+ useless assignments here and conditionalize it on absence of exception
+ handlers.
+ (Analyze_Exception_Handlers): Small code reorganization of error
+ detection code, for new handling of formal packages.
+
+2006-10-31 Ed Schonberg <schonberg@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch12.ads, sem_ch12.adb (Save_References): If node is an operator
+ that has been constant-folded, preserve information of original tree,
+ for ASIS uses.
+ (Analyze_Formal_Derived_Type): Set the limited present flag of the newly
+ generated private extension declaration if the formal derived type is
+ synchronized. Carry synchronized present over to the generated private
+ extension.
+ (Validate_Derived_Type_Instance): Ensure that the actual of a
+ synchronized formal derived type is a synchronized tagged type.
+ (Instantiate_Formal_Package): When creating the instantiation used to
+ validate the actual package of a formal declared without a box, check
+ whether the formal itself depends on a prior actual.
+ (Instantiate_Formal_Subprogram): Create new entities for the defining
+ identifiers of the formals in the renaming declaration, for ASIS use.
+ (Instantiate_Formal_Subprogram, Instantiate_Formal_Type): When creating
+ a renaming declaration or a subtype declaration for an actual in an
+ instance, capture location information of declaration in generic, for
+ ASIS use.
+ (Instantiate_Formal_Package): Add comments on needed additional tests.
+ AI-317 (partial parametrization) is fully implemented.
+ (Validate_Private_Type_Instance): Add check for actual which
+ must have preelaborable initialization
+ Use new // insertion for some continuation messages
+ (Analyze_Formal_Object_Declaration): Change usage of Expression to
+ Default_Expression. Add type retrieval when the declaration has an
+ access definition. Update premature usage of incomplete type check.
+ (Check_Access_Definition): New subsidiary routine. Check whether the
+ current compilation version is Ada 05 and the supplied node has an
+ access definition.
+ (Instantiate object): Alphabetize local variables. Handle the creation
+ of new renaming declarations with respect to the kind of definition
+ used - either an access definition or a subtype mark. Guard against
+ unnecessary error message in the context of anonymous access types after
+ they have been resolved. Add check for required null exclusion in a
+ formal object declaration.
+ (Switch_View): A private subtype of a non-private type needs to be
+ switched (the base type can have been switched without its private
+ dependents because of the last branch of Check_Private_View.
+ (Check_Private_View): Do not recompute Base_Type (T), instead use cached
+ value from BT.
+ (Instantiate_Type): Emit an error message whenever a class-wide type of
+ a tagged incomplete type is used as a generic actual.
+ (Find_Actual_Type): Extend routine to handle a component type in a child
+ unit that is imported from a formal package in a parent.
+ (Validate_Derived_Type_Instance): Check that analyzed formal and actual
+ agree on constrainedness, rather than checking against ultimate ancestor
+ (Instantiate_Subprogram_Body): Create a cross-reference link to the
+ generic body, for navigation purposes.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch13.adb: Storage pool cannot be given for access to subprogram
+ type.
+ (New_Stream_Subprogram): When processing an attribute definition clause
+ for a stream-oriented subprogram, record an entity node occurring at
+ the point of clause to use for checking the visibility of the clause,
+ as defined by 8.3(23) as amended by AI-195.
+ (New_Stream_Subprogram): New procedure, factoring behaviour from both
+ New_Stream_Function and New_Stream_Procedure.
+ (New_Stream_Function, New_Stream_Procedure): Removed.
+ (Analyze_Attribute_Definition_Clause, case Address): Check new
+ Alignment_Check check
+
+2006-10-31 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_ch4.adb (Try_Primitive_Operation): Code cleanup to ensure that we
+ generate the same errors compiling under -gnatc.
+ (Try_Object_Operation): If no candidate interpretation succeeds, but
+ there is at least one primitive operation with the right name, report
+ error in call rather than on a malformed selected component.
+ (Analyze_Selected_Component): If the prefix is an incomplete type from
+ a limited view, and the full view is available, use the full view to
+ determine whether this is a prefixed call to a primitive operation.
+ (Operator_Check): Verify that a candidate interpretation is a binary
+ operation before checking the type of its second formal.
+ (Analyze_Call): Add additional warnings for function call contexts not
+ yet supported.
+ (Analyze_Allocator): Move the check for "initialization not allowed for
+ limited types" after analyzing the expression. This is necessary,
+ because OK_For_Limited_Init looks at the structure of the expression.
+ Before analysis, we don't necessarily know what sort of expression it
+ is. For example, we don't know whether F(X) is a function call or an
+ indexed component; the former is legal in Ada 2005; the latter is not.
+ (Analyze_Allocator): Correct code for AI-287 -- extension aggregates
+ were missing. We also didn't handle qualified expressions. Now also
+ allow function calls. Use new common routine OK_For_Limited_Init.
+ (Analyze_Type_Conversion): Do not perform some legality checks in an
+ instance, because the error message will be redundant or spurious.
+ (Analyze_Overloaded_Selected_Component): Do not do style check when
+ setting an entity, since we do not know it is the right entity yet.
+ (Analyze_Selected_Component): Move Generate_Reference call to Sem_Res
+ (Analyze_Overloaded_Selected_Component): Same change
+ (Analyze_Selected_Component): Remove unnecessary prefix type retrieval
+ since regular incomplete subtypes are transformed into corresponding
+ subtypes of their full views.
+ (Complete_Object_Operation): Treat name of transformed subprogram call
+ as coming from source, for browsing purposes.
+ (Try_Primitive_Operation): If formal is an access parameter, compare
+ with base type of object to determine whether it is a primitive
+ operation.
+ (Operator_Check): If no interpretation of the operator matches, check
+ whether a use clause on any candidate might make the operation legal.
+ (Try_Class_Wide_Operation): Check whether the first parameter is an
+ access type whose designated type is class-wide.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch5.ads, sem_ch5.adb (Analyze_Loop_Statement): Add circuit to
+ warn on infinite loops.
+ Add \\ to some continuation messages
+ (Analyze_Assignment_Statement): Call Warn_On_Useless_Assignment
+ (Process_Bounds): If the bounds are integer literals that result from
+ constant-folding, and they carry a user-defined type, preserve that type
+ rather than treating this as an integer range.
+ (Analyze_Exit_Statement): Test for E_Return_Statement in legality check.
+ (Analyze_Goto_Statement): Test for E_Return_Stateemnt in legality check.
+ (Analyze_Assignment_Statement): Add call to Check_Elab_Assign for
+ left hand side of assignment.
+ (Analyze_Assignment): Add suport to manage assigments to the attribute
+ priority of a protected object.
+ (Check_Possible_Current_Value_Condition): Allow fully qualified names
+ not just identifiers.
+ (Check_Possible_Current_Value_Condition): Acquire left operand of AND
+ or AND THEN for possible tracking.
+ (Analyze_Iteration_Scheme): Check for setting Current_Value for the
+ case of while loops so we can track values in the loop body.
+
+2006-10-31 Ed Schonberg <schonberg@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Declaration): A null
+ procedure cannot be a protected operation (it is a basic_declaration,
+ not a subprogram_declaration).
+ (Check_Overriding_Indicator): Rename formal Does_Override to Overridden_
+ Subp. Add logic for entry processing.
+ (Check_Synchronized_Overriding): New procedure in New_Overloaded_Entity.
+ Determine whether an entry or subprogram of a protected or task type
+ override an inherited primitive of an implemented interface.
+ (New_Overloaded_Entity): Add calls to Check_Synchronized_Overriding.
+ Update the actual used in calls to Check_Overriding_Indicator.
+ (Analyze_Generic_Subprogram_Body): If the subprogram is a child unit,
+ generate the proper reference to the parent unit, for cross-reference.
+ (Analyze_Subprogram_Declaration): Protect Is_Controlling_Formal with
+ Is_Formal.
+ Add -gnatd.l --Use Ada 95 semantics for limited function returns,
+ (Add_Extra_Formal): Revise procedure to allow passing in associated
+ entity, scope, and name suffix, and handle setting of the new
+ Extra_Formals field.
+ (Create_Extra_Formals): Change existing calls to Add_Extra_Formal to
+ pass new parameters. Add support for adding the new extra access formal
+ for functions whose calls are treated as build-in-place.
+ (Analyze_A_Return_Statement): Correct casing in error message.
+ Move Pop_Scope to after Analyze_Function_Return, because an extended
+ return statement really is a full-fledged scope. Otherwise, visibility
+ doesn't work right. Correct use of "\" for continuation messages.
+ (Analyze_Function_Return): Call Analyze on the Obj_Decl, rather than
+ evilly trying to call Analyze_Object_Declaration directly. Otherwise,
+ the node doesn't get properly marked as analyzed.
+ (Analyze_Subprogram_Body): If subprogram is a function that returns
+ an anonymous access type that denotes a task, build a Master Entity
+ for it.
+ (Analyze_Return_Type): Add call to Null_Exclusion_Static_Checks. Verify
+ proper usage of null exclusion in a result definition.
+ (Process_Formals): Code cleanup and new error message.
+ (Process_Formals): Detect incorrect application of null exclusion to
+ non-access types.
+ (Conforming_Types): Handle conformance between [sub]types and itypes
+ generated for entities that have null exclusions applied to them.
+ (Maybe_Primitive_Operation): Add an additional type retrieval when the
+ base type is an access subtype. This case arrises with null exclusions.
+ (New_Overloaded_Entity): Do not remove the overriden entity from the
+ homonym chain if it corresponds with an abstract interface primitive.
+ (Process_Formals): Replace membership test agains Incomplete_Kind with a
+ call to the synthesized predicate Is_Incomplete_Type.
+ (Analyze_Subprogram_Body): Check wrong placement of abstract interface
+ primitives.
+ (Analyze_Subprogram_Declaration): Check that abstract interface
+ primitives are abstract or null.
+ (Analyze_Subprogram_Specification): Remove previous check for abstract
+ interfaces because it was not complete.
+ (Has_Interface_Formals): Removed.
+
+2006-10-31 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch7.adb (Check_Anonymous_Access_Types): New procedure, subsidiary
+ of Analyze_Package_Body, to create Itype references for anonymous
+ access types created in the package declaration, whose designated types
+ may have only a limited view.
+ (Analyze_Package_Specification): For the private part of a nested
+ package, install private_with_clauses of enclosing compilation unit if
+ we are in its visible part.
+ (Declare_Inherited_Private_Subprograms): Complete barrier
+ to ensure that the primitive operation has an alias to some parent
+ primitive. This is now required because, after the changes done for the
+ implementation of abstract interfaces, the contents of the list of
+ primitives has entities whose alias attribute references entities of
+ such list of primitives.
+ (Analyze_Package_Specification): Simplify code that handles parent units
+ of instances and formal packages.
+ (Uninstall_Declarations): Check the convention consistency among
+ primitive overriding operations of a tagged record type.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb: Minor error msg rewording
+ (Undefined): When checking for misspellings, invert arguments (to get
+ expected and found set right)
+ (Analyze_Subprogram_Renaming): Propagate Is_Pure, Is_Preelaborated
+ (Analyze_Generic_Renaming): Same fix
+ (Use_One_Package): Do not take into account the internal entities of
+ abstract interfaces during the analysis of entities that are marked
+ as potentially use-visible.
+ (Find_Type): Handle the case of an attribute reference for
+ implementation defined attribute Stub_Type (simply let the analysis of
+ the attribute reference rewrite it).
+ (Use_One_Type, End_Use_Type): Reject a reference to a limited view of a
+ type that appears in a Use_Type clause.
+ (Analyze_Object_Renaming): Add support for renaming of the Priority
+ attribute.
+ (Find_Type): In Ada 2005, a task type can be used within its own body,
+ when it appears in an access definition.
+ (Analyze_Object_Renaming): Remove warning on null_exclusion.
+ (Analyze_Object_Renaming): Introduce checks for required null exclusion
+ in a formal object declaration or in a subtype declaration.
+ (Analyze_Subprogram_Renaming): Add call to Check_Null_Exclusion.
+ (Check_Null_Exclusion): New local routine to
+ Analyze_Subprogram_Renaming. Check whether the formals and return
+ profile of a renamed subprogram have required null exclusions when
+ their counterparts of the renaming already impose them.
+ (In_Generic_Scope): New local routine to Analyze_Object_Renaming.
+ Determine whether an entity is inside a generic scope.
+ (In_Open_Scope): First pass of documentation update.
+ (Find_Expanded_Name): Add support for shadow entities associated with
+ limited withed packages. This is required to handle nested packages.
+ (Analyze_Package_Renaming): Remove the restriction imposed by AI-217
+ that makes a renaming of a limited withed package illegal.
+
+2006-10-31 Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch9.adb (Analyze_Protected_Definition): Remove call to
+ Check_Overriding_Indicator.
+ (Analyze_Task_Definition): Ditto.
+ (Analyze_Protected_Type, Analyze_Task_Type): Code cleanup.
+ (Check_Overriding_Indicator): To find overridden interface operation,
+ examine only homonyms that have an explicit subprogram declaration, not
+ inherited operations created by an unrelated type derivation.
+ (Check_Overriding_Indicator): When checking for the presence of "null"
+ in a procedure, ensure that the queried node is a procedure
+ specification.
+ (Matches_Prefixed_View_Profile): Add mechanism to retrieve the parameter
+ type when the formal is an access to variable.
+ (Analyze_Protected_Type): Add check for Preelaborable_Initialization
+ (Analyze_Task_Type): Same addition
+ (Analyze_Entry_Declaration): Call Generate_Reference_To_Formals, to
+ provide navigation capabilities for entries.
+
+2006-10-31 Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * sem_disp.adb (Check_Dispatching_Operation): Do not flag subprograms
+ inherited from an interface ancestor by another interface in the
+ context of an instance as 'late'.
+ (Is_Tag_Indeterminate, Propagate_Tag): Handle properly the dereference
+ of a call to a function that dispatches on access result.
+ (Check_Dispatching_Operation): In case of late overriding of a primitive
+ that covers abstract interface subprograms we register it in all the
+ secondary dispatch tables associated with abstract interfaces.
+ (Check_Dispatching_Call): Add check that a dispatching call is not made
+ to a function with a controlling result of a limited type. This is a
+ current implementation restriction.
+ (Check_Controlling_Formal): Remove bogus checks for E.2.2(14).
+ (Check_Dispatching_Operation): Do no emit a warning if the controlling
+ argument is an interface type that is a generic formal.
+ (Is_Interface_Subprogram): Removed.
+ (Check_Dispatching_Operation): If the subprogram is not a dispatching
+ operation, check the formals to handle the case in which it is
+ associated with an abstract interface type.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_elab.ads, sem_elab.adb (Check_Elab_Assign): New procedure
+ Add new calls to this procedure during traversal
+ (Activate_Elaborate_All_Desirable): Do not set elaboration flag on
+ another unit if expansion is disabled.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * sem_eval.adb (Compile_Time_Compare): Make use of information from
+ Current_Value in the conditional case, to evaluate additional
+ comparisons at compile time.
+
+2006-10-31 Ed Schonberg <schonberg@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_type.adb (Add_One_Interp): If node is an indirect call, preserve
+ subprogram type to provide better diagnostics in case of ambiguity.
+ (Covers): Handle coverage of formal and actual anonymous access types in
+ the context of generic instantiation.
+ (Covers/Interface_Present_In_Ancestors): Use the base type to manage
+ abstract interface types; this is required to handle concurrent types
+ with discriminants and abstract interface types.
+ (Covers): Include type coverage of both regular incomplete subtypes and
+ incomplete subtypes of incomplete type visibles through a limited with
+ clause.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.ads, sem_util.adb (Enter_Name): Exclude -gnatwh warning
+ messages for entities in packages which are not used.
+ (Collect_Synchronized_Interfaces): New procedure.
+ (Overrides_Synchronized_Primitive): New function.
+ (Denotes_Discriminant): Extend predicate to apply to task types.
+ Add missing continuation marks in error msgs
+ (Unqualify): New function for removing zero or more levels of
+ qualification from an expression. There are numerous places where this
+ ought to be used, but we currently only deal properly with zero or one
+ level.
+ (In_Instance); The analysis of the actuals in the instantiation of a
+ child unit is not within an instantiation, even though the parent
+ instance is on the scope stack.
+ (Safe_To_Capture_Value): Exclude the case of variables that are
+ renamings.
+ (Check_Obsolescent): Removed
+ (Is_Aliased_View): A reference to an enclosing instance in an aggregate
+ is an aliased view, even when rewritten as a reference to the target
+ object in an assignment.
+ (Get_Subprogram_Entity): New function
+ (Known_To_Be_Assigned): New function
+ (Type_Access_Level): Compute properly the access level of a return
+ subtype that is an anonymous access type.
+ (Explain_Limited_Type): Correct use of "\" for continuation messages.
+ (Is_Transfer): The new extended_return_statement causes a transfer of
+ control.
+ (Has_Preelaborable_Initialization): New function
+ (Has_Null_Exclusion): New function. Given a node N, determine whether it
+ has a null exclusion depending on its Nkind.
+ Change Is_Lvalue to May_Be_Lvalue
+ (May_Be_Lvalue): Extensive additional code to deal with subprogram
+ arguments (IN parameters are not Lvalues, IN OUT parameters are).
+ (Safe_To_Capture_Value): Extend functionality so it can be used for
+ the current value condition case.
+ (Has_Compatible_Alignment): New function
+ (Is_Dependent_Component_Of_Mutable_Object): Revise the tests for mutable
+ objects to handle the Ada 2005 case, where aliasedness no longer implies
+ that the object is constrained. In particular, for dereferenced names,
+ the designated object must be assumed to be unconstrained.
+ (Kill_Current_Values): Properly deal with the case where we encounter
+ a loop in the scope chain.
+ (Safe_To_Capture_Value): Do not let a loop stop us from capturing
+ a value.
+ (Compile_Time_Constraint_Error): Improve error message in error case
+
+ * exp_ch13.adb (Expand_N_Freeze_Entity): Remove the freezing node
+ associated with entities of abstract interface primitives.
+ Call Apply_Address_Clause_Check instead of Apply_Alignment_Check
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * s-osinte-tru64.adb:
+ Mark Asm statements Volatile to prevent warnings (seems a
+ reasonable change anyway)
+ Fixes new warnings
+
+ * s-mastop-irix.adb: Add Volatile to Asm statements
+ Suppresses warning, and seems appropriate in any case
+
+ * s-osinte-vms.adb: Add Volatile to Asm statement
+
+ * s-vaflop-vms-alpha.adb: Add Volatile to Asm statements
+
+ * exp_code.ads, exp_code.adb (Asm_Input_Value): Note that Error can be
+ returned.
+ Add call to Check_Code_Statement
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * sinfo.ads, sinfo.adb (Set_Synchronized_Present,
+ Synchronized_Present): Add Formal_Derived_Type_Definition and
+ Private_Extension_Declaration to the list of assertions.
+ (Is_Entry_Barrier_Function): New flag
+ (Has_Self_Reference): New flag on aggregates, to indicate that they
+ contain a reference to the enclosing type, inserted through a default
+ initialization.
+ (Next_Rep_Item): Move from Node4 to Node5.
+ (Entity): Add this field for N_Attribute_Definition_Clause.
+ (Comes_From_Extended_Return_Statement): New flag on N_Return_Statement
+ (N_Return_Object_Declaration): Remove this node kind. We now use
+ N_Object_Declaration instead.
+ (Actual_Designated_Subtype): Move to a different place to make room in
+ N_Extended_Return_Statement.
+ (Procedure_To_Call): Move to a different place to make room in
+ N_Extended_Return_Statement.
+ (Return_Type): Removed this field to make room in return statements
+ (both kinds).
+ (Return_Statement_Entity): New field in return statements, in part to
+ replace Return_Type, and in part to support the fact that return
+ statements are now pushed on the scope stack during semantic analysis.
+ (Return_Object_Declarations): New field to support extended return
+ statements.
+ (N_Extended_Return_Statement): New node for extended_return_statement
+ nonterminal.
+ (N_Return_Object_Declaration): New node for part of
+ extended_return_statement nonterminal. Needed because all the necessary
+ fields won't fit in N_Extended_Return_Statement.
+ Generic_associations now carry the Box_Present flag, to indicate a
+ default for an actual in a partially parametrized formal package.
+
+ * snames.h, snames.ads, snames.adb: Add definition for Validity_Check
+ (Preset_Names): Add entries for Priority_Specific_Dispatching pragma
+ and for the new predefined dispatching policies: EDF_Across_Priorities,
+ Non_Preemptive_Within_Priorities, and Round_Robin_Within_Priorities.
+ Introduce new name Stub_Type for implementation defined attribute.
+ Add pragma Preelaborable_Initialization
+ Add entry for Priority attribute.
+ Add Pragma_Wide_Character_Encoding
+ (Get_Convention_Name): Given a convention id, this function returns the
+ corresponding name id from the names table.
+
+2006-10-31 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * sprint.adb (Sprint_Node_Actual, case Parameter_Specification): Do not
+ print null exclusion twice in the case of an access definition,
+ Implement new -gnatL switch
+ Remove N_Return_Object_Declaration. We now use
+ N_Object_Declaration instead. Implement the case for
+ N_Extended_Return_Statement. Alphabetize the cases.
+ Add cases for new nodes N_Extended_Return_Statement and
+ N_Return_Object_Declaration. The code is not yet written.
+ Update the output for N_Formal_Object_Declaration
+ and N_Object_Renaming_Declaration.
+ (Write_Itype): Account for the case of a modular integer subtype whose
+ base type is private.
+
+2006-10-31 Arnaud Charlet <charlet@adacore.com>
+
+ * s-restri.ads, s-restri.adb: Mark this package as Preelaborate.
+ Remove elaboration code, now done in the binder.
+
+ * s-rident.ads: Make this unit Preelaborate.
+ (No_Restrictions): New constant used to clean up code and follow
+ preelaborate constraints.
+
+ * s-stalib.adb:
+ Add System.Restrictions dependence, referenced directly from the
+ binder generated file.
+
+2006-10-31 Gary Dismukes <dismukes@adacore.com>
+
+ * s-scaval.adb (Initialize): Add new Boolean flag AFloat that is set
+ True when AAMP extended floating-point is in use (48-bit). Change type
+ ByteLF to ByteLLF, add new array type ByteLF and condition the size of
+ the two byte array types on AFloat. Change type of IV_Ilf overlay
+ variable from Byte8 to ByteLF. Add appropriate initializations of
+ floating-point overlays for AAMP cases.
+
+2006-10-31 Javier Miranda <miranda@adacore.com>
+
+ * s-tpoben.ads, s-tpoben.adb, s-taprob.ads, s-taprob.adb
+ (Get_Ceiling): New subprogram that returns
+ the ceiling priority of the protected object.
+ (Set_Ceiling): New subprogram that sets the new ceiling priority of
+ the protected object.
+
+ * s-tarest.adb: (Create_Restricted_Task): Fix potential CE.
+
+ * s-taskin.ads, s-taskin.adb: (Storage_Size): New function.
+
+2006-10-31 Jose Ruiz <ruiz@adacore.com>
+
+ * s-tpobop.adb (Requeue_Call): Introduce a dispatching point when
+ requeuing to the same protected object to give higher priority tasks
+ the opportunity to execute.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * widechar.adb (Is_Start_Of_Wide_Char): In case of brackets encoding,
+ add more precise check for the character sequence that follows '[' to
+ avoid possible confusion in case if '[' is the last character of a
+ string literals.
+ (Scan_Wide): Always allow brackets encoding
+
+2006-10-31 Olivier Hainque <hainque@adacore.com>
+
+ * s-stchop.ads: make this unit preelaborate. This is desirable in
+ general and made mandatory by the use of this unit by s-taprop which
+ is itself preelaborate.
+
+ * s-stchop-vxworks.adb (Set_Stack_Info, Task_Descriptor type): Add
+ Td_Events component.
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * a-dirval-vms.adb (Invalid_Character): Specify that digits are allowed
+ in file names.
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * a-direct.ads, a-direct.adb (Search): New procedure in Ada 2005
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * makegpr.adb (Check_Compilation_Needed): Take into account path names
+ with spaces.
+ (Check_Compilation_Needed): When checking a C or C++ source, do not
+ resolve symbolic links.
+ (Display_Command): New Boolean parameter Ellipse, defaulted to False.
+ When not in verbose mode and Ellipse is True, display "..." for the
+ first argument with Display set to False.
+ (Build_Global_Archive): Always set Display True for the first object
+ file. Call Display_Command with Ellipse set to True.
+
+2006-10-31 Matt Heaney <heaney@adacore.com>
+
+ * a-crbtgo.ads: Commented each subprogram
+
+ * a-crbtgo.adb: Added reference to book from which algorithms were
+ adapted.
+
+ * a-crbtgk.ads, a-crbtgk.adb (Generic_Insert_Post): pass flag to
+ indicate which child.
+ (Generic_Conditional_Insert): changed parameter name from "Success" to
+ "Inserted".
+ (Generic_Unconditional_Insert_With_Hint): improved algorithm
+
+ * a-coorse.adb (Replace_Element): changed parameter name in call to
+ conditional insert operation.
+
+ * a-convec.adb, a-coinve.adb (Insert): removed obsolete comment
+
+ * a-cohama.adb (Iterate): manipulate busy-bit here, instead of in
+ Generic_Iteration
+
+ * a-ciorse.adb (Replace_Element): changed parameter name in call to
+ conditional insert operation.
+
+ * a-cihama.adb (Iterate): manipulate busy-bit here, instead of in
+ Generic_Iteration.
+
+ * a-cidlli.ads, a-cidlli.adb (Splice): Position param is now mode in
+ instead of mode inout.
+
+ * a-chtgop.adb (Adjust): modified comments to reflect current AI-302
+ draft
+ (Generic_Read): preserve existing buckets array if possible
+ (Generic_Write): don't send buckets array length anymore
+
+ * a-cdlili.ads, a-cdlili.adb (Splice): Position param is now mode in
+ instead of mode inout.
+
+ * a-cihase.adb (Difference): iterate over smaller of Tgt and Src sets
+ (Iterate): manipulate busy-bit here, instead of in Generic_Iteration
+
+ * a-cohase.adb (Difference): iterate over smaller of Tgt and Src sets
+ (Iterate): manipulate busy-bit here, instead of in Generic_Iteration
+ (Replace_Element): local operation is now an instantiation
+
+ * a-chtgke.ads, a-chtgke.adb (Generic_Conditional_Insert): manually
+ check current length.
+ (Generic_Replace_Element): new operation
+
+2006-10-31 Doug Rupp <rupp@adacore.com>
+
+ * g-trasym-vms-alpha.adb: Dummy_User_Act_Proc: New function.
+ Call TBK$SYMBOLIZE without omitting parameters.
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * symbols-processing-vms-ia64.adb,
+ symbols-processing-vms-alpha.adb (Process): Do not include symbols
+ that come from generic instantiations in bodies.
+
+2006-10-31 Pat Rogers <rogers@adacore.com>
+
+ * a-rttiev.ads, a-rttiev.adb:
+ This is a significant redesign primarily for the sake of automatic
+ timer task termination but also to fix a design flaw.
+ Therefore we are now using an RTS lock, instead of a protected
+ object, to provide mutual exclusion to the queue of pending events
+ and the type Timing_Event is no longer a protected type.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Cyrille Comar <comar@adacore.com>
+ Ben Brosgol <brosgol@adacore.com>
+
+ * debug.adb: Update flags documentation
+
+ * gnat_ugn.texi: Add documentation for new -gnatwq switch
+ Clean up documentation for several other warning switches
+ Clarify how task stack size can be specified with various
+ versions of Windows.
+ Add note that -gnatVo includes ranges including loops
+ Add documentation for -gnatL switch
+ Add note on elaboration warning for initializing variables
+ Add documentation for new -gnatwt warning switch
+ Document new form of pragma Warnings (On|Off, string)
+ Add comment on use of pragma Warnings to control warnings
+ Add documentation for -gnatjnn switch
+ Modify section on interfacing with C for VMS 64-bit.
+ Add doc for -gnatVe/E
+ Add documentation of new warning flags -gnatww/-gnatwW
+ Add warnings about address clause overlays to list of warnings
+ (Exception Handling Control): Document that the option --RTS must be
+ used consistently for gcc and gnatbind.
+ Clarify that inlining is not always possible
+ Update documentation on pragma Unchecked_Union.
+
+ * gnat_rm.texi:
+ Add documentation for new extended version of pragma Obsolescent
+ Add documentation for implementation defined attribute 'Stub_Type.
+ Add note on use of Volatile in asm statements
+ Add documentation on use of pragma Unreferenced in context clause
+ Document new form of pragma Warnings (On|Off, pattern)
+ Document pragma Wide_Character_Encoding
+ Add note that pragma Restrictions (No_Elaboration_Code) is only fully
+ enforced if code generation is active.
+ Add section on pragma Suppress to document GNAT specific check
+ Alignment_Check
+ Clarify difference between No_Dispatching_Calls & No_Dispatch.
+ Add documentation for pragma Restrictions (No_Elaboration_Code)
+
+ * gnat-style.texi:
+ Add comments on layout of subprogram local variables in the
+ presence of nested subprograms.
+
+ * ug_words: Resync.
+
+ * elists.ads: Minor reformatting
+ Node returns Node_Or_Entity_Id (doc change only)
+
+ * xgnatugn.adb: Replace ACADEMICEDITION with GPLEDITION
+
+ * g-arrspl.ads (Create): Update comments.
+
+ * sem.ads: Add details on the handling of the scope stack.
+
+ * usage.adb: Update documentation.
+
+ * validsw.ads, validsw.adb:
+ Add definition of Validity_Check_Components and implement -gnatVe/E
+
+ * vms_data.ads: Add missing VMS qualifiers.
+
+ * s-addope.ads: Add documentation on overflow and divide by zero
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * fmap.adb: Put routines in alpha order
+
+ * g-boumai.ads: Remove redundant 'in' keywords
+
+ * g-cgi.adb: Minor reformatting
+
+ * g-cgi.ads: Remove redundant 'in' keywords
+
+ * get_targ.adb: Put routines in alpha order
+
+ * prj-attr.ads: Minor reformatting
+
+ * s-atacco.ads: Minor reformatting
+
+ * scn.adb: Put routines in alpha order
+
+ * sinput-l.adb: Minor comment fix
+
+ * sinput-p.adb: Minor comment fix
+
+ * s-maccod.ads: Minor reformatting
+
+ * s-memory.adb: Minor reformatting
+
+ * s-htable.adb: Fix typo in comment.
+
+ * s-secsta.adb: Minor comment update.
+
+ * s-soflin.adb: Minor reformatting
+
+ * s-stoele.ads:
+ Add comment about odd qualification in Storage_Offset declaration
+
+ * s-strxdr.adb:
+ Remove unnecessary 'in' keywords for formal parameters.
+
+ * treeprs.adt: Minor reformatting
+
+ * urealp.adb: Put routines in alpha order
+
+ * s-wchcon.ads, s-wchcon.adb (Get_WC_Encoding_Method): New version
+ taking string.
+
+ * s-asthan-vms-alpha.adb: Remove redundant 'in' keywords
+
+ * g-trasym-vms-ia64.adb: Remove redundant 'in' keywords
+
+ * env.c (__gnat_unsetenv): Unsetenv is unavailable on LynxOS, so
+ workaround as on other platforms.
+
+ * g-eacodu-vms.adb: Remove redundant 'in' keywords
+ * g-expect-vms.adb: Remove redundant 'in' keywords
+
+ * gnatdll.adb (Add_Files_From_List): Handle Name_Error and report a
+ clear error message if the list-of-files file cannot be opened.
+
+ * g-thread.adb (Unregister_Thread_Id): Add use type Thread_Id so the
+ equality operator is always visible.
+
+ * lang.opt: Woverlength-strings: New option.
+
+ * nmake.adt:
+ Update copyright, since nmake.ads and nmake.adb have changed.
+
+ * osint-b.ads, osint-b.adb (Time_From_Last_Bind): removed function .
+ (Binder_Output_Time_Stamps_Set): removed.
+ (Old_Binder_Output_Time_Stamp): idem.
+ (New_Binder_Output_Time_Stamp): idem.
+ (Recording_Time_From_Last_Bind): idem.
+ (Recording_Time_From_Last_Bind): Make constant.
+
+ * output.ads, output.adb (Write_Str): Allow LF characters
+ (Write_Spaces): New procedure
+
+ * prepcomp.adb (Preproc_Data_Table): Change Increment from 5% to 100%
+
+ * inline.adb: Minor reformatting
+
+ * s-asthan-vms-alpha.adb: Remove redundant 'in' keywords
+
+ * s-mastop-vms.adb: Remove redundant 'in' keywords
+
+ * s-osprim-vms.adb: Remove redundant 'in' keywords
+
+ * s-trafor-default.adb: Remove redundant 'in' keywords
+
+ * 9drpc.adb: Remove redundant 'in' keywords
+
+ * s-osinte-mingw.ads: Minor reformatting
+
+ * s-inmaop-posix.adb: Minor reformatting
+
+ * a-direio.ads: Remove quotes from Compile_Time_Warning message
+
+ * a-exexda.adb: Minor code reorganization
+
+ * a-filico.adb: Minor reformatting
+
+ * a-finali.adb: Minor reformatting
+
+ * a-nudira.ads: Remove quote from Compile_Time_Warning message
+
+ * a-numeri.ads: Minor reformatting
+
+ * a-sequio.ads: Remove quotes from Compile_Time_Warning message
+
+ * exp_pakd.ads: Fix obsolete comment
+
+ * a-ztenau.adb, a-ztenio.adb, a-wtenau.adb, a-tienau.adb,
+ a-wtenio.adb (Put): Avoid assuming low bound of string is 1.
+ Probably not a bug, but certainly neater and more efficient.
+
+ * a-tienio.adb: Minor reformatting
+
+ * comperr.adb (Compiler_Abort): Call Cancel_Special_Output at start
+ Avoid assuming low bound of string is 1.
+
+ * gnatbind.adb: Change Bindusg to package and rename procedure as
+ Display, which now ensures that it only outputs usage information once.
+ (Scan_Bind_Arg): Avoid assuming low bound of string is 1.
+
+ * g-pehage.adb (Build_Identical_Keysets): Replace use of 1 by
+ Table'First.
+
+ * g-regpat.adb (Insert_Operator): Add pragma Warnings (Off) to kill
+ warning.
+ (Match): Add pragma Assert to ensure that Matches'First is zero
+
+ * g-regpat.ads (Match): Document that Matches lower bound must be zero
+
+ * makeutl.adb (Is_External_Assignment): Add pragma Assert's to check
+ documented preconditions (also kills warnings about bad indexes).
+
+ * mdll.adb (Build_Dynamic_Library): Avoid assumption that Afiles'First
+ is 1.
+ (Build_Import_Library): Ditto;
+
+ * mdll-utl.adb: (Gnatbind): Avoid assumption that Alis'First = 1
+
+ * rtsfind.adb (RTE_Error_Msg): Avoid assuming low bound of string is 1.
+
+ * sem_case.adb (Analyze_Choices): Add pragma Assert to check that
+ lower bound of choice table is 1.
+
+ * sem_case.ads (Analyze_Choices): Document that lower bound of
+ Choice_Table is 1.
+
+ * s-imgdec.adb (Set_Decimal_Digits): Avoid assuming low bound of
+ string is 1.
+
+ * uintp.adb (Init_Operand): Document that low bound of Vec is always 1,
+ and add appropriate Assert pragma to suppress warnings.
+
+ * atree.h, atree.ads, atree.adb
+ Change Elist24 to Elist25
+ Add definitions of Field28 and Node28
+ (Traverse_Field): Use new syntactic parent table in sinfo.
+
+ * cstand.adb: Change name Is_Ada_2005 to Is_Ada_2005_Only
+
+ * itypes.adb: Change name Is_Ada_2005 to Is_Ada_2005_Only
+
+ * exp_tss.adb: Put routines in alpha order
+
+ * fe.h: Remove redundant declarations.
+
+2006-10-23 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+
+ * utils.c (builtin_function): Rename to gnat_builtin_function.
+ Move common code to add_builtin_function.
+ * misc.c (LANG_HOOKS_BUILTIN_FUNCTION): Define as
+ gnat_builtin_function.
+ * gigi.h (builtin_function): Rename to gnat_builtin_function.
+ Change the signature.
+
+2006-10-16 Brooks Moses <bmoses@stanford.edu>
+
+ * Makefile.in: Add TEXI2PDF definition.
+ * Make-lang.in: Add "ada.pdf" target.
+
+2006-10-03 Kazu Hirata <kazu@codesourcery.com>
+
+ * decl.c, utils.c: Fix comment typos.
+ * utils.c: Fix a typo.
+
+2006-09-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set "const" flag
+ on "pure" Ada subprograms if SJLJ exceptions are used.
+ * trans.c (Handled_Sequence_Of_Statements_to_gnu): Set TREE_NO_WARNING
+ on the declaration node of JMPBUF_SAVE.
+ * utils.c (init_gigi_decls): Set DECL_IS_PURE on the declaration nodes
+ of Get_Jmpbuf_Address_Soft and Get_GNAT_Exception.
+ * utils2.c (build_call_0_expr): Do not set TREE_SIDE_EFFECTS.
+
+2006-08-20 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/28716
+ g-socket.adb (Bind_Socket): Call Set_Address.
+
+2006-09-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/15802
+ * decl.c (same_discriminant_p): New static function.
+ (gnat_to_gnu_entity) <E_Record_Type>: When there is a parent
+ subtype and we have discriminants, fix up the COMPONENT_REFs
+ for the discriminants to make them reference the corresponding
+ fields of the parent subtype after it has been built.
+
+2006-09-15 Roger Sayle <roger@eyesopen.com>
+
+ PR ada/18817
+ * utils.c (max_size): Perform constant folding of (A ? B : C) - D
+ into A ? B - D : C - D when calculating the size of a MINUS_EXPR.
+
+2006-09-13 Olivier Hainque <hainque@adacore.com>
+
+ PR ada/29025
+ * trans.c (gnat_gimplify_expr) <ADDR_EXPR>: When taking the address
+ of a SAVE_EXPR, just make the operand addressable/not-readonly and
+ let the common gimplifier code make and propagate a temporary copy.
+ (call_to_gnu): Clarify the use of SAVE_EXPR for not addressable
+ out/in-out actuals and defer setting the addressable/readonly bits
+ to the gimplifier.
+
+2006-09-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/28591
+ * decl.c (components_to_record): Defer emitting debug info for the
+ record type associated with the variant until after we are sure to
+ actually use it.
+
+2006-09-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/21952
+ * gigi.h (gnat_internal_attribute_table): Declare.
+ * misc.c (LANG_HOOKS_ATTRIBUTE_TABLE): Define to above.
+ * utils.c (gnat_internal_attribute_table): New global variable.
+ (builtin_function): Always call decl_attributes on the builtin.
+ (handle_const_attribute): New static function.
+ (handle_nothrow_attribute): Likewise.
+
+2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
+
+2006-06-23 Olivier Hainque <hainque@adacore.com>
+
+ * misc.c (gnat_type_max_size): Look at TYPE_ADA_SIZE if we have
+ not been able to get a constant upper bound from TYPE_SIZE_UNIT.
+
+2006-06-20 James A. Morrison <phython@gcc.gnu.org>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/18692
+ * Make-lang.in: Add check-gnat to lang_checks. Rename existing
+ check-gnat into check-acats.
+
+2006-06-17 Karl Berry <karl@gnu.org>
+
+ * gnat-style.texi (@dircategory): Use "Software development"
+ instead of "Programming", following the Free Software Directory.
+
+2006-06-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR ada/27944
+ * s-taprop-hpux-dce.adb: Delete redundant 'with System.Parameters'.
+
+2006-06-06 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/27769
+ mlib-utl.adb: Use Program_Name.
+
+2006-05-28 Kazu Hirata <kazu@codesourcery.com>
+
+ * decl.c, env.c, gigi.h, init.c, initialize.c, raise-gcc.c,
+ sem_ch13.adb, sysdep.c, targtyps.c, tb-alvxw.c, tracebak.c,
+ trans.c, utils.c: Fix comment typos. Follow spelling
+ conventions.
+ * gnat_rm.texi, gnat_ugn.texi, : Fix typos. Follow spelling
+ conventions.
+
+2006-05-19 Nicolas Setton <setton@adacore.com>
+
+ * misc.c (gnat_dwarf_name): New function.
+ (LANG_HOOKS_DWARF_NAME): Define to it.
+
+2006-05-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * Make-lang.in (ada/decl.o): Replace target.h with $(TARGET_H).
+ (ada/misc.o): Likewise.
+ (ada/utils.o): Likewise.
+
+2006-04-08 Aurelien Jarno <aurel32@debian.org>
+
+ * Makefile.in: Add Ada support for GNU/kFreeBSD.
+ * s-osinte-kfreebsd-gnu.ads: New file.
+
+2006-03-29 Carlos O'Donell <carlos@codesourcery.com>
+
+ * Make-lang.in: Rename docdir to gcc_docdir.
+
+2006-03-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gigi.h (get_ada_base_type): Delete.
+ * utils2.c (get_ada_base_type): Likewise.
+ * trans.c (convert_with_check): Operate in the real base type.
+
+2006-03-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * uintp.adb (Num_Bits): Handle Uint_Int_First specially.
+
+2006-03-02 Richard Sandiford <richard@codesourcery.com>
+
+ * utils.c (create_var_decl): Use have_global_bss_p when deciding
+ whether to make the decl common.
+
+2006-02-20 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+
+ * Make-lang.in (Ada): Remove.
+ (.PHONY): Remove Ada
+
+2006-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Find_Boolean_Types): If one of the operands is an
+ aggregate, check the interpretations of the other operand to find one
+ that may be a boolean array.
+
+ (Analyze_Selected_Component): Fix flow-of-control typo in case where
+ the prefix is a private extension.
+
+2006-02-17 Eric Botcazou <botcazou@adacore.com>
+
+ PR ada/26315
+ * utils2.c (find_common_type): If both input types are BLKmode and
+ have the same constant size, keep using the first one.
+
+ * bindgen.adb: (Gen_Versions_Ada): Revert previous workaround.
+
+ * decl.c (gnat_to_gnu_entity): Only check TREE_OVERFLOW for a constant.
+
+ * misc.c (gnat_handle_option): New case for -Woverlength-strings.
+
+2006-02-17 Jose Ruiz <ruiz@adacore.com>
+
+ * s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
+ s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
+ s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-lynxos.adb,
+ s-taprop-tru64.adb (Set_False, Set_True, Suspend_Until_True): Add
+ Abort_Defer/Undefer pairs to avoid the possibility of a task being
+ aborted while owning a lock.
+
+2006-02-17 Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Allocator): If the allocated object is accessed
+ through an access to class-wide interface we force the displacement of
+ the pointer to the allocated object to reference the corresponding
+ secondary dispatch table.
+ (Expand_N_Op_Divide): Allow 64 bit divisions by small power of 2,
+ if Long_Shifts are supported on the target, even if 64 bit divides
+ are not supported (configurable run time mode).
+ (Expand_N_Type_Conversion): Do validity check if validity checks on
+ operands are enabled.
+ (Expand_N_Qualified_Expression): Do validity check if validity checks
+ on operands are enabled.
+
+2006-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_dbug.adb (Debug_Renaming_Declaration): Indicate that the entity
+ must be materialized when the renamed expression is an explicit
+ dereference.
+
+2006-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Statically_Discriminated_Components): Return false if
+ the bounds of the type of the discriminant are not static expressions.
+
+ * sem_aggr.adb (Check_Static_Discriminated_Subtype): Return false if
+ the bounds of the discriminant type are not static.
+
+2006-02-17 Robert Dewar <dewar@adacore.com>
+
+ * g-os_lib.adb (Copy_File): Make sure that if From has an Invalid_FD,
+ then we close To if it is valid.
+
+2006-02-17 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * init.c (facility_resignal_table): new array
+ (__gnat_default_resignal_p): enhance default predicate to resignal if
+ VMS condition has one of the predefined facility codes.
+
+2006-02-17 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * Makefile.in: Use VMS64 specialized versions of several units in
+ Interfaces.C hierarchy to be compatible with HP C default size choices.
+ Use the default version of Ada.Synchronous_Task_Control for VxWorks 653.
+
+2006-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Analyze_With_Clause): If the unit is a subprogram
+ instantiation, the corresponding entity is the related_instance of the
+ wrapper package created for the instance.
+
+2006-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Package_Instantiation): Inline_Now is false if
+ the current instance is nested within another instance in a child unit.
+
+2006-02-17 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Discriminated_Subtype): In case of concurrent
+ type we cannot inherit the primitive operations; we inherit the
+ Corresponding_Record_Type (which has the list of primitive operations).
+ (Check_Anonymous_Access_Types): When creating anonymous access types for
+ access components, use Rewrite in order to preserve the tree structure,
+ for ASIS use.
+ (Analyze_Object_Declaration): For limited types with access
+ discriminants with defaults initialized by an aggregate, obtain
+ subtype from aggregate as for other mutable types.
+ (Derived_Type_Declaration): If the derived type is a limited interface,
+ set the corresponding flag (Is_Limited_Record is not sufficient).
+
+2006-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Build_Body_To_Inline): Enforce the rule that in order
+ to inline a function that returns an unconstrained type, the return
+ expression must be the first variable declared in the body of the
+ function.
+
+2006-02-17 Javier Miranda <miranda@adacore.com>
+
+ * sem_res.adb (Resolve_Type_Conversion): In case of conversion to an
+ abstract interface type, the static analysis is not enough to know if
+ the interface is implemented or not by the source tagged type. Hence
+ we must pass the work to the expander to generate the required code to
+ evaluate the conversion at run-time.
+ (Resolve_Equality_Op): Do not apply previous
+ transformation if expansion is disasbled, to prevent anomalies when
+ locating global references in a generic unit.
+
+2006-02-17 Vincent Celier <celier@adacore.com>
+
+ * snames.ads, snames.adb: New standard names for new project attributes:
+ archive_builder, archive_indexer, compiler_pic_option,
+ config_body_file_name, config_body_file_name_pattern,
+ config_file_switches, config_file_unique, config_spec_file_name,
+ config_spec_file_name_pattern, default_builder_switches,
+ default_global_compiler_switches, default_language,
+ dependency_file_kind, global_compiler_switches, include_path,
+ include_path_file, language_kind, linker_executable_option,
+ linker_lib_dir_option, linker_lib_name_option, mapping_file_switches,
+ roots, runtime_project.
+
+2006-02-17 Matthew Heaney <heaney@adacore.com>
+
+ * a-convec.ads, a-convec.adb:
+ (operator "&"): handle potential overflow for large index types
+ (Insert): removed Contraint_Error when using large index types
+ (Insert_Space): removed Constraint_Error for large index types
+ (Length): moved constraint check from Length to Insert
+
+ * a-coinve.ads, a-coinve.adb: Stream attribute procedures are declared
+ as not null access.
+ Explicit raise statements now include an exception message.
+ (operator "&"): handle potential overflow for large index types
+ (Insert): removed Contraint_Error when using large index types
+ (Insert_Space): removed Constraint_Error for large index types
+ (Length): moved constraint check from Length to Insert
+
+2006-02-17 Robert Dewar <dewar@adacore.com>
+
+ * s-wchcnv.adb: Document handling of [ on output (we do not change
+ this to ["5B"] and the new comments say why not.
+
+ * gnat_ugn.texi:
+ Add note for -gnatVo that this now includes the cases of type
+ conversions and qualified expressions.
+ Add comments on handling of brackets encoding for Text_IO
+
+2006-02-17 Ramon Fernandez <fernandez@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * expander.adb: Fix typo in comment
+
+ * exp_pakd.adb: Fix typo
+ Minor comment reformatting.
+
+ * g-dyntab.adb: Minor reformatting
+
+ * exp_ch6.adb (Register_Interface_DT_Entry): Traverse the list of
+ aliased subprograms to look for the abstract interface subprogram.
+
+2006-02-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * env.c (__gnat_setenv): Use size_t.
+ (__gnat_unsetenv): Likewise.
+ (__gnat_clearenv): Likewise.
+
+2006-02-16 Arnaud Charlet <charlet@adacore.com>
+
+ * opt.ads (Ada_Version_Default): Set to Ada 2005 by default.
+
+2006-02-13 Arnaud Charlet <charlet@adacore.com>
+
+ * a-intnam-os2.ads, a-intnam-unixware.ads, g-soccon-unixware.ads,
+ g-soliop-unixware.ads, i-os2err.ads, i-os2lib.adb, i-os2lib.ads,
+ i-os2syn.ads, i-os2thr.ads, s-intman-irix-athread.adb,
+ s-osinte-aix-fsu.ads, s-osinte-fsu.adb, s-parame-os2.adb,
+ s-osinte-irix-athread.ads, s-osinte-linux-fsu.ads, s-osinte-os2.adb,
+ s-osinte-os2.ads, s-osinte-solaris-fsu.ads, s-osinte-unixware.adb,
+ s-osinte-unixware.ads, s-osprim-os2.adb, s-taprop-irix-athread.adb,
+ s-taprop-os2.adb, s-tasinf-irix-athread.adb, s-tasinf-irix-athread.ads,
+ s-taspri-os2.ads, system-os2.ads, system-unixware.ads: Removed,
+ no longer used.
+
+2006-02-13 Jose Ruiz <ruiz@adacore.com>
+
+ * a-taster.adb (Current_Task_Fallback_Handler): Document why explicit
+ protection against race conditions is not needed.
+ (Set_Dependents_Fallback_Handler): Add mutual exclusive access to the
+ fallback handler.
+ (Set_Specific_Handler): Add mutual exclusive access to the specific
+ handler.
+ (Specific_Handler): Add mutual exclusive access for retrieving the
+ specific handler.
+
+ * s-tarest.adb (Task_Wrapper): Add mutual exclusive access to the fall
+ back handler.
+
+ * s-taskin.ads (Common_ATCB): Remove pragma Atomic for
+ Fall_Back_Handler and Specific_Handler.
+
+ * s-tassta.adb (Task_Wrapper): Add mutual exclusive access to the task
+ termination handlers.
+ Set two different owerflow depending on the maximal stack size.
+
+ * s-solita.adb (Task_Termination_Handler_T): Document why explicit
+ protection against race conditions is not needed when executing the
+ task termination handler.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * s-gloloc-mingw.adb, a-cgaaso.ads, a-stzmap.adb, a-stzmap.adb,
+ a-stzmap.ads, a-ztcoio.adb, a-ztedit.adb, a-ztedit.ads, a-ztenau.adb,
+ a-ztenau.ads, a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
+ a-comlin.adb, a-decima.adb, a-decima.ads, a-direio.adb, a-direio.adb,
+ a-direio.adb, a-direio.ads, a-ngcoty.adb, a-ngcoty.ads, a-nuflra.adb,
+ a-nuflra.ads, a-sequio.adb, a-sequio.ads, a-sequio.ads, a-storio.ads,
+ a-stream.ads, a-ststio.adb, a-ststio.adb, a-ststio.ads, a-ststio.ads,
+ a-stwima.adb, a-stwima.adb, a-stwima.ads, a-stwise.adb, a-teioed.adb,
+ a-teioed.ads, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tasatt.ads,
+ a-tideau.adb, a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
+ a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.ads, a-tiflau.adb,
+ a-tiflau.ads, a-tiflio.adb, a-tiflio.adb, a-tiflio.ads, a-tigeau.ads,
+ a-tiinau.adb, a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoio.adb,
+ a-timoio.ads, a-titest.adb, a-titest.ads, a-wtcoio.adb, a-wtdeau.adb,
+ a-wtdeau.ads, a-wtdeio.adb, a-wtdeio.ads, a-wtedit.adb, a-wtedit.adb,
+ a-wtedit.ads, a-wtenau.adb, a-wtenau.ads, a-wtenau.ads, a-wtenio.adb,
+ a-wtenio.ads, a-wtfiio.adb, a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads,
+ a-wtflio.adb, a-wtflio.adb, a-wtflio.ads, a-wtgeau.ads, a-wtinau.adb,
+ a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb, a-wtmoau.ads,
+ a-wtmoio.adb, a-wtmoio.ads, xref_lib.adb, xref_lib.ads, xr_tabls.adb,
+ g-boubuf.adb, g-boubuf.ads, g-cgideb.adb, g-io.adb, gnatdll.adb,
+ g-pehage.adb, i-c.ads, g-spitbo.adb, g-spitbo.ads, mdll.adb,
+ mlib-fil.adb, mlib-utl.adb, mlib-utl.ads, prj-env.adb, prj-tree.adb,
+ prj-tree.ads, prj-util.adb, s-arit64.adb, s-asthan.ads, s-auxdec.adb,
+ s-auxdec.ads, s-chepoo.ads, s-direio.adb, s-direio.ads, s-errrep.adb,
+ s-errrep.ads, s-fileio.adb, s-fileio.ads, s-finroo.adb, s-finroo.ads,
+ s-gloloc.adb, s-gloloc.ads, s-io.adb, s-io.ads, s-rpc.adb,
+ s-rpc.ads, s-shasto.ads, s-sequio.adb, s-stopoo.ads, s-stratt.adb,
+ s-stratt.ads, s-taasde.adb, s-taasde.ads, s-tadert.adb, s-sequio.ads,
+ s-taskin.adb, s-tasque.adb, s-tasque.ads, s-wchjis.ads, makegpr.adb,
+ a-coinve.adb, a-cidlli.adb, eval_fat.adb, exp_dist.ads, exp_smem.adb,
+ fmap.adb, g-dyntab.ads, g-expect.adb, lib-xref.ads, osint.adb,
+ par-load.adb, restrict.adb, sinput-c.ads, a-cdlili.adb,
+ system-vms.ads, system-vms-zcx.ads, system-vms_64.ads: Minor
+ reformatting.
+
+2006-02-13 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-tasatt.adb, s-osinte-lynxos-3.adb, s-osinte-lynxos.adb,
+ s-osinte-aix.adb, s-interr-sigaction.adb, s-asthan-vms-alpha.adb,
+ s-interr-vms.adb, s-intman-vms.adb, s-interr-vxworks.adb,
+ s-intman-vxworks.adb, s-asthan-vms-alpha.adb, a-ztexio.adb,
+ a-reatim.adb, a-taside.adb, a-textio.adb, a-witeio.adb, prj-attr.adb,
+ s-intman-irix.adb, s-intman-solaris.adb, s-intman-posix.adb,
+ a-dynpri.adb, a-interr.adb, g-dynhta.adb, s-asthan.adb, s-interr.adb,
+ s-pooglo.adb, s-pooloc.adb, s-poosiz.adb, s-tasren.adb, s-tasuti.adb,
+ s-tataat.adb, s-tpobop.adb: Remove redundant with clauses.
+
+2006-02-13 Arnaud Charlet <charlet@adacore.com>
+
+ * s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-vxworks.ads,
+ s-osinte-solaris.ads, s-osinte-linux.ads, s-osinte-freebsd.ads,
+ s-osinte-solaris-posix.ads, s-osinte-lynxos-3.ads, s-osinte-lynxos.ads,
+ s-osinte-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads,
+ s-osinte-hpux-dce.ads, s-osinte-linux-hppa.ads,
+ s-osinte-linux-alpha.ads, s-inmaop-posix.adb (sigset_t_ptr): Removed,
+ replaced by anonymous access type.
+ (pthread_sigmask): Now take an access sigset_t
+
+ * s-osinte-hpux.ads: Ditto.
+ (pthread_mutex_t, pthread_cond_t): Update definitions to support
+ properly 32 and 64 bit ABIs.
+
+2006-02-13 Pascal Obry <obry@adacore.com>
+
+ * s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb,
+ s-taprop-lynxos.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
+ s-taprop-linux.adb, s-taprop-solaris.adb,
+ s-taprop-vms.adb (Create_Task): Remove task adjustment code. This
+ adjustement is already done when calling this routine.
+
+2006-02-13 Pascal Obry <obry@adacore.com>
+
+ * system-mingw.ads (Underlying_Priorities): Update the priority mapping
+ table to take advantage of the 16 priority levels available on Windows
+ 2000 and XP. On NT4 there are only 7 priority levels, this is properly
+ supported by this new mapping.
+
+2006-02-13 Nicolas Setton <setton@adacore.com>
+
+ * adadecode.h, adadecode.c: (__gnat_decode): Improve support of types.
+ (get_encoding): New subprogram. Extracts the encodings from an encoded
+ Ada name.
+
+2006-02-13 Pascal Obry <obry@adacore.com>
+ Nicolas Roche <roche@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * adaint.h, adaint.c (DIR_SEPARATOR): Use _T() macro for Unicode
+ support.
+ (__gnat_try_lock): Add unicode support by using a specific section on
+ Windows.
+ (__gnat_get_current_dir): Idem.
+ (__gnat_open_read): Idem.
+ (__gnat_open_rw): Idem.
+ (__gnat_open_create): Idem.
+ (__gnat_create_output_file): Idem.
+ (__gnat_open_append): Idem.
+ (__gnat_open_new): Idem.
+ (__gnat_file_time_name): Idem.
+ (__gnat_set_file_time_name): Idem.
+ (__gnat_stat): Idem.
+ (win32_no_block_spawn): Idem.
+ (__gnat_locate_exec_on_path): Idem.
+ (__gnat_opendir): New routine.
+ (__gnat_closedir): Idem.
+ (__gnat_readdir): Add new parameter length (pointer to int). Update
+ implementation to use it and add specific Win32 code for Unicode
+ support.
+ (__gnat_get_env_value_ptr): Remove. Replaced by __gnat_getenv in env.c
+ (__gnat_set_env_value): Remove. Replaced by __gnat_setenv in env.c
+ (convert_addresses): Do not define this dummy routine on VMS.
+
+ * mingw32.h (GNAT_UNICODE_SUPPORT): New definition, if set the GNAT
+ runtime Unicode support will be activated.
+ (S2WS): String to Wide-String conversion. This version just copy a
+ string in non Unicode version.
+ (WS2S): Wide-String to String conversion. This version just copy a
+ string in non Unicode version.
+
+ * g-dirope.adb: (Close): Now import __gnat_closedir from adaint.c.
+ (Open): Now import __gnat_opendir from adaint.c.
+ (Read): Change the implementation to support unicode characters. It is
+ not possible to use strlen() on Windows as this version supports only
+ standard ASCII characters. So the length of the directory entry is now
+ returned from the imported __gnat_readdir routine.
+ Update copyright notice.
+
+ * s-crtl-vms64.ads, s-crtl.ads: (closedir): Moved to adaint.c.
+ (opendir): Moved to adaint.c.
+
+ * g-os_lib.adb (Copy_Time_Stamp): Fix off-by-one range computation.
+ (Get_Directory): Fix wrong indexing.
+ (Getenv): replace __gnat_get_env_value_ptr from adaint.c by
+ __gnat_getenv from env.c
+ (Setenv): replace __gnat_set_env_value from adaint.c by __gnat_setenv
+ from env.c
+
+ * env.h, env.c: New file.
+
+ * s-scaval.adb (Initialize): Replace __gnat_get_env_value_ptr from
+ adaint.c by __gnat_getenv from env.c
+
+ * s-shasto.adb (Initialize): replace __gnat_get_env_value_ptr from
+ adaint.c by __gnat_getenv from env.c
+
+ * Make-lang.in: Add env.o in the list of C object needed by gnat1
+ and gnatbind.
+ Update dependencies.
+
+2006-02-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * ada-tree.h: (TYPE_UNCHECKED_UNION_P): Deleted.
+
+ * gigi.h (value_factor_p): Add prototype and description, now public.
+
+ * decl.c (gnat_to_gnu_field): Don't attempt BLKmode to integral type
+ promotion for field with rep clause if the associated size was proven
+ to be in error.
+ Expand comments describing attempts to use a packable type.
+ (gnat_to_gnu_entity) <E_Signed_Integer_Subtype,
+ E_Floating_Point_Subtype>: Inherit alias set of what we are making a
+ subtype of to ensure conflicts amongst all subtypes in a hierarchy,
+ necessary since these are not different types and pointers may
+ actually designate any subtype in this hierarchy.
+ (gnat_to_gnu_entity, case E_Record_Type): Always make fields for
+ discriminants but put them into record only if not Unchecked_Union;
+ pass flag to components_to_record showing Unchecked_Union.
+ (make_dummy_type): Use UNION_TYPE only if Unchecked_Union and no
+ components before variants; don't set TYPE_UNCHECKED_UNION_P.
+ (components_to_record): New argument UNCHECKED_UNION.
+ Remove special case code for Unchecked_Union and instead use main code
+ with small changes.
+
+ PR ada/26096
+ (gnat_to_gnu_entity) <E_Variable>: Do not initialize the aligning
+ variable with the expression being built, only its inner field.
+
+ * trans.c (Handled_Sequence_Of_Statements_to_gnu): Remove call to
+ emit_sequence_entry_statements.
+ (emit_sequence_entry_statements, body_with_handlers_p): Delete.
+ (establish_gnat_vms_condition_handler): Move before
+ Subprogram_Body_to_gnu.
+ (Subprogram_Body_to_gnu): On VMS, establish_gnat_vms_condition_handler
+ for a subprogram if it has a foreign convention or is exported.
+ (Identifier_to_gnu): Manually unshare the DECL_INITIAL tree when it is
+ substituted for a CONST_DECL.
+ (tree_transform, case N_Aggregate): Remove code for UNION_TYPE and pass
+ Etype to assoc_to_constructor.
+ (assoc_to_constructor): New argument, GNAT_ENTITY; use it to ignore
+ discriminants of Unchecked_Union.
+ (TARGET_ABI_OPEN_VMS): Define to 0 if not defined, so that later uses
+ don't need cluttering preprocessor directives.
+ (establish_gnat_vms_condition_handler): New function. Establish the GNAT
+ condition handler as current in the compiled function.
+ (body_with_handlers_p): New function. Tell whether a given sequence of
+ statements node is attached to a package or subprogram body and involves
+ exception handlers possibly nested within inner block statements.
+ (emit_sequence_entry_statements): New function, to emit special
+ statements on entry of sequences when necessary. Establish GNAT
+ condition handler in the proper cases for VMS.
+ (Handled_Sequence_Of_Statements_to_gnu): Start block code with
+ emit_sequence_entry_statements.
+
+ * utils2.c (find_common_type): If both input types are BLKmode and
+ have a constant size, use the smaller one.
+ (build_simple_component_ref): Also match if FIELD and NEW_FIELD are
+ the same.
+
+ * utils.c (value_factor_p): Make public, to allow uses from other gigi
+ units.
+ (create_type_decl): Do not set the flag DECL_IGNORED_P for dummy types.
+ (convert, case UNION_TYPE): Remove special treatment for unchecked
+ unions.
+
+ PR ada/18659
+ (update_pointer_to): Update variants of pointer types to unconstrained
+ arrays by attaching the list of fields of the main variant.
+
+2006-02-13 Arnaud Charlet <charlet@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * a-exexpr.adb, a-exexpr-gcc.adb
+ (Process_Raise_Exception): Removed, merged with Propagate_Exception.
+ (Propagate_Exception): Now take extra From_Signal_Handler parameter.
+ Remove code unused for exception propagation for the compiler itself
+ from a-except.adb and update to still share separate packages.
+
+ * a-except.ads, a-except.adb: Ditto.
+ Add comments that this version is now used only by the compiler and
+ other basic tools. The full version that includes the Ada 2005 stuff
+ is in separate files a-except-2005.ads/adb. The reason is that we do
+ not want to cause bootstrap problems with compilers not recognizing
+ Wide_Wide_String.
+ Add exception reason code PE_Implicit_Return
+ Add new exception reason code (Null Exception_Id)
+
+ * a-except-2005.adb, a-except-2005.ads: New files.
+
+ * s-wchcon.ads: (Get_WC_Encoding_Method): New function.
+
+ * s-wchcon.adb: New file.
+
+ * Makefile.in (LIBGNAT_SRCS): Add tb-gcc.c.
+ (traceback.o deps): Likewise.
+ (SPARC/Solaris): Accept sparc[64|v9]-sun-solaris.
+ Activate build of GMEM instrumentation library on VMS targets.
+ (gnatlib-sjlj, gnatlib-zcx): Pass EH_MECHANISM to make gnatlib.
+ Use a-except-2005.ads/adb for all run-time library builds unless
+ specified otherwise.
+ [VMS] (LIBGNAT_TARGET_PAIRS_AUX1,2): Rename s-parame-vms.ads to
+ s-parame-vms-alpha.ads and add s-parame-vms-ia64.ads.
+ Use s-parame.adb on all native platforms.
+ Use s-parame-vxworks.adb on all vxworks platforms.
+ Add env.c env.h in LIBGNAT_SRCS
+ Add env.o in LIBGNAT_OBJS
+ (GNATMAKE_OBJS): Remove ctrl_c.o object.
+ (LIBGNAT_TARGET_PAIRS for x86-vxworks): Use an specialized version of
+ s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
+ supports VxWorks 6 RTPs.
+ (EXTRA_GNATRTL_NONTASKING_OBJS for x86-vxworks): Remove the use of
+ i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.
+
+ * types.h, types.ads (Terminate_Program): New exception
+ Add comment on modifying multiple versions of a-except.adb when the
+ table of exception reasons is modified.
+ Add exception reason code PE_Implicit_Return
+ Add new exception reason code (Null Exception_Id)
+
+ * clean.adb (Initialize): Get the target parameters before checking
+ if target is OpenVMS. Move the OpenVMS specific code here from package
+ body elaboration code.
+
+2006-02-13 Thomas Quinot <quinot@adacore.com>
+ Vincent Celier <celier@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * ali-util.adb (Get_File_Checksum): Update to account for change in
+ profile of Initialize_Scanner.
+
+ * gprep.adb (Gnatprep): Update to account for change in profile of
+ Initialize_Scanner.
+ (Process_One_File): Same.
+
+ * lib.adb (Get_Code_Or_Source_Unit): New subprogram factoring the
+ common code between Get_Code_Unit and Get_Source_Unit. Reimplement
+ that behaviour using the new Unit information recorded in the source
+ files table, rather than going through all units every time.
+ (Get_Code_Unit): Reimplement in terms of Get_Code_Or_Source_Unit.
+ (Get_Source_Unit): Same.
+
+ * prepcomp.adb (Parse_Preprocessing_Data_File): Update to account for
+ change in profile of Initialize_Scanner.
+ (Prepare_To_Preprocess): Same.
+
+ * lib.ads: Fix typo in comment (templace -> template).
+
+ * prj-part.adb (Parse_Single_Project): Update to account for change in
+ profile of Initialize_Scanner.
+
+ * scn.adb (Initialize_Scanner): Account for change in profile of
+ Scng.Initialize_Scanner: set Current_Source_Unit in Scn instead of Scng.
+ Also record the association of the given Source_File_Index to the
+ corresponding Unit_Number_Type.
+
+ * scng.ads, scng.adb (Initialize_Scanner.Set_Reserved): Remove
+ procedure.
+ (Initialize_Scanner): Call Scans.Initialize_Ada_Keywords.
+ Remove Unit formal for generic scanner: this formal
+ is only relevant to Scn (the scanner instance used to parse Ada source
+ files), not to other instances. Update comment accordingly.
+ (Scan): Use new function Snames.Is_Keyword_Name.
+
+ * sinfo-cn.adb: Fix typo in comment.
+
+ * sinput.adb (Unit, Set_Unit): Accessors for new source file attribute
+ Unit.
+
+ * sinput.ads (Source_File_Record): New component Unit, used to capture
+ the unit identifier (if any) associated to a source file.
+
+ * sinput-c.adb, sinput-l.adb (Load_File): Initialize new component
+ Unit in Source_File_Record.
+
+ * sinput-p.adb (Source_File_Is_Subunit): Update to account for change
+ in profile of Initialize_Scanner.
+
+ * scans.adb (Initialize_Ada_Keywords): New procedure
+
+ * scans.ads (Initialize_Ada_Keywords): New procedure to initialize the
+ Ada keywords in the Namet table, without the need to call
+ Initialize_Scanner.
+
+ * snames.adb: Add pragma Ada_2005 (synonym for Ada_05)
+ (Is_Keyword_Name): New function
+
+ * snames.ads: Add subtype Configuration_Pragma_Names
+ Add pragma Ada_2005 (synonym for Ada_05)
+ (Is_Keyword_Name): New function
+
+ * snames.h: Add pragma Ada_2005 (synonym for Ada_05)
+
+2006-02-13 Arnaud Charlet <charlet@adacore.com>
+
+ * a-stwisu.adb, a-strsup.adb, a-stzsup.adb (Super_Slice): Fix slice
+ index.
+
+ * a-stwima.adb (To_Set): Add extra check when N = 0.
+
+ * g-regpat.adb: (Match_Simple_Operator): Avoid possible overflow.
+
+2006-02-13 Arnaud Charlet <charlet@adacore.com>
+
+ * s-parame-mingw.adb, s-parame-linux.adb,
+ s-parame-solaris.adb: Removed, replaced by s-parame.adb
+
+ * s-parame-vxworks.ads: Fix typo.
+
+ * s-parame-vxworks.adb: New file.
+
+ * s-parame.adb: Version now used by all native platforms.
+ (Default_Stack_Size): Use 2 megs for default stack size and use
+ __gl_default_stack_size when available.
+ (Minimum_Stack_Size): Use 12K.
+
+ * s-taprop-mingw.adb: Set default stack size linker switch to 2megs.
+ (Create_Task): Refine implementation taking advantage of the XP stack
+ size support. On XP, we now create the thread using the flag
+ STACK_SIZE_PARAM_IS_A_RESERVATION.
+
+ * s-osinte-mingw.ads (Stack_Size_Param_Is_A_Reservation): New constant.
+
+ * sysdep.c (__gnat_is_windows_xp): New routine, returns 1 on Windows
+ XP and 0 on older Windows versions.
+
+ * interfac-vms.ads: Removed, no longer used.
+
+2006-02-13 Matthew Heaney <heaney@adacore.com>
+
+ * a-rbtgso.adb, a-crbtgo.adb, a-crbtgk.adb, a-coorse.adb,
+ a-cohama.adb, a-ciorse.adb, a-cihama.adb, a-cihase.adb,
+ a-cohase.adb: All explicit raise statements now include an exception
+ message.
+
+ * a-ciormu.ads, a-ciormu.adb, a-coormu.ads, a-coormu.adb
+ (Update_Element_Preserving_Key): renamed op to just Update_Element.
+ Explicit raise statements now include an exception message
+
+ * a-cihase.ads, a-cohase.ads: Removed comment.
+
+ * a-stboha.ads, a-stboha.adb, a-stfiha.ads, a-envvar.adb,
+ a-envvar.ads, a-swbwha.ads, a-swbwha.adb, a-swfwha.ads, a-szbzha.ads,
+ a-szbzha.adb, a-szfzha.ads: New files.
+
+2006-02-13 Matthew Heaney <heaney@adacore.com>
+
+ * a-cgcaso.adb, a-cgaaso.adb: Implemented using heapsort instead of
+ quicksort.
+
+2006-02-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * lang.opt: Wvariadic-macros: New option.
+ Wold-style-definition: Likewise.
+ Wmissing-format-attribute: Likewise.
+
+ * misc.c (gnat_handle_option): New cases for -Wvariadic-macros,
+ -Wold-style-definition and -Wmissing-format-attribute.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * a-ticoio.ads, a-ticoio.adb: Add use clause (moved here from spec)
+
+ * a-coteio.ads, a-lcteio.ads, a-llctio.ads, a-scteio.ads: New files.
+
+2006-02-13 Nicolas Roche <roche@adacore.com>
+
+ * a-envvar.adb, a-envvar.ads: New files.
+
+2006-02-13 Douglas Rupp <rupp@adacore.com>
+
+ * s-parame-vms.ads: Renamed to s-parame-vms-alpha.ads
+
+ * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: New files.
+
+2006-02-13 Pat Rogers <rogers@adacore.com>
+
+ * a-rttiev.adb, a-rttiev.ads: New files.
+
+2006-02-13 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-tiboio.adb, a-tiboio.ads, a-wwboio.adb,
+ a-wwboio.ads, a-zzboio.adb, a-zzboio.ads: New files.
+
+ * impunit.adb, Makefile.rtl: Added new Ada 2005 units.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * rtsfind.adb, exp_prag.adb, lib-writ.adb, par-labl.adb,
+ sem_case.adb: Minor code reorganization (not Present should be No)
+
+2006-02-13 Geert Bosch <bosch@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * a-tifiio.adb (Put_Digits): Test Last against To'First - 1 instead of
+ 0, since the lower bound of the actual string may be greater than one.
+
+ PR ada/20753
+ * a-tifiio.adb (Put): Fix condition to raise Layout_Error when invalid
+ layout is requested.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * back_end.adb (Scan_Compiler_Arguments): Check if
+ Search_Directory_Present is True and, if it is, add the argument in
+ the source search directory path.
+
+ * switch-c.adb (Scan_Front_End_Switches): Accept switch "-I". Set
+ Search_Directory_Present to True.
+
+2006-02-13 Joel Brobecker <brobecke@adacore.com>
+
+ * bindgen.adb (Gen_Main_C): declare the ensure_reference variable as
+ volatile, to tell the compiler to preserve this variable at any level
+ of optimization.
+ (Gen_Versions_Ada): Temporarily work around codegen bug.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * gnatlink.adb (Process_Binder_File): If -shared is specified, invoke
+ gcc to link with option -shared-libgcc.
+ (Gnatlink): Remove duplicate switches -shared-libgcc
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * gnatvsn.ads (Current_Year): New constant, used to easily update
+ copyright on all GNAT tools.
+
+ * gnatls.adb, gnatname.adb, vms_conv.adb: Add 2006 to displayed
+ copyright notice.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * erroutc.ads, erroutc.adb (Set_Message_Blank): Don't insert space
+ after hyphen (small aesthetic change useful for a range of numbers
+ using ^-^.
+ Suppress range checks for a couple of assignments which otherwise
+ cause validity checks with validity checking turned on.
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Size):
+ Improvement in error message for object.
+ (Rep_Item_Too_Late): Remove '!' in warning message.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * err_vars.ads: Suppress range checks for a couple of assignments
+ which otherwise cause validity checks with validity checking turned on.
+ Update comments.
+
+ * errout.adb (Error_Msg_Internal): Do not suppress warning messages.
+ Make message unconditional if it is a warning.
+ (Error_Msg_NEL): Always output warning messages.
+ Suppress range checks for a couple of assignments which otherwise
+ cause validity checks with validity checking turned on.
+
+ * errout.ads (Message Insertion Characters): Document that '!' is
+ implied by '?' in error messages.
+
+ * gnat1drv.adb: (Bad_Body): Remove '!' in warning message.
+ (Gnat1drv): Use a goto to end of main subprogram instead of
+ Exit_Program (E_Success) so that finalization can occur normally.
+
+2006-02-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-stchop.adb (Stack_Check): Raise Storage_Error if the argument has
+ wrapped around.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * a-direct.adb (Duration_To_Time, OS_Time_To_Long_Integer): New
+ Unchecked_Conversion functions.
+ (Modification_Time): Use direct conversion of OS_Time to Calendar time
+ when OpenVMS returns False.
+
+ * a-dirval-mingw.adb, a-dirval-vms.adb, a-dirval.ads,
+ a-dirval.adb (OpenVMS): New Boolean function
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * checks.adb (Build_Discriminant_Checks): If the expression being
+ checks is an aggregate retrieve the values of its discriminants to
+ generate the check, rather than creating a temporary and a reference
+ to it.
+ (Apply_Access_Check): Rewritten to handle new Is_Known_Null flag
+ (Install_Null_Excluding_Check): Ditto
+ (Selected_Length_Checks): Build actual subtype for the original Ck_Node,
+ not for the renamed object, so that the actual itype is attached in the
+ proper context.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * debug.adb: Eliminate numeric switches for binder/gnatmake
+
+ * switch-m.adb (Normalize_Compiler_Switches): Record numeric debug
+ switches for the compiler.
+ (Scan_Make_Switches): Do not allow numeric debug switches for gnatmake
+ (Scan_Make_Switches): When failing with an illegal switch, output an
+ error message with the full switch.
+ Eliminate numeric switches for binder/gnatmake
+
+ * switch.ads, switch.adb (Bad_Switch): New procedure
+
+ * switch-b.adb (Scan_Binder_Switches): Do not accept combined switches.
+ Remove 0-9 as debug flag character possibilities
+ -d is now controlling the primary stack size when its value is a
+ positive. Also add checks against invalid values, and support for kb,
+ mb. Ditto for -D switch.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+ Serguei Rybin <rybin@adacore.com>
+
+ * opt.ads opt.adb: Add Ada_Version_Explicit_Config along with
+ save/restore routines.
+ Properly handle Ada_Version_Explicit and Ada_Version_Config, which
+ were not always properly handled previously.
+ Since we are changing the tree format anyway, also get rid of the
+ junk obsolete Immediate_Errors flag.
+ (Tree_Read): Change the way of reading Tree_Version_String - now we
+ read the version string from the tree even if its length is not the
+ same as the length of the version string computed from Gnatvsn.
+ (Search_Directory_Present): New Boolean flag for the compiler.
+ Define Tree_Version_String as a dynamic string.
+ (Default_Stack_Size): new variable, used to handle switch -d.
+
+ * par-prag.adb:
+ For pragma Ada_2005, remove stuff about setting Ada_Version_Explicit
+ only for main unit.
+ Add pragma Ada_2005 (synonym for Ada_05)
+ Properly handle Ada_Version_Explicit and Ada_Version_Config, which
+ were not always properly handled previously.
+
+ * directio.ads, ioexcept.ads, sequenio.ads, text_io.ads: Change
+ explicit Ada_95 to Ada_2005.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.ads, einfo.adb (First_Tag_Component): Protect the frontend
+ against errors in the source program: a private types for which the
+ corresponding full type declaration is missing and pragma CPP_Virtual
+ is used.
+ (Is_Unchecked_Union): Check flag on Implementation_Base_Type.
+ (Is_Known_Null): New flag
+ (Has_Pragma_Pure): New flag
+ (No_Return): Present in all entities, set only for procedures
+ (Is_Limited_Type): A type whose ancestor is an interface is limited if
+ explicitly declared limited.
+ (DT_Offset_To_Top_Func): New attribute that is present in E_Component
+ entities. Only used for component marked Is_Tag. If present it stores
+ the Offset_To_Top function used to provide this value in tagged types
+ whose ancestor has discriminants.
+
+ * exp_ch2.adb: Update status of new Is_Known_Null flag
+
+ * sem_ch7.adb: Maintain status of new Is_Known_Null flag
+
+ * sem_cat.adb (Get_Categorization): Don't treat function as Pure in
+ the categorization sense if Is_Pure was set by pragma Pure_Function.
+
+2006-02-13 Quentin Ochem <ochem@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * bindusg.adb: Updated documentation for -d and -D switches.
+
+ * raise.h (__gnat_set_globals): added new parameter for
+ Default_Stack_Size.
+
+ * init.c (__gnat_adjust_context_for_raise) <alpha-vms case>: Implement.
+ (__gnat_handle_vms_condition): Adjust context before raise.
+ (__gnat_install_handler): Restore the global vector setup for GCC
+ versions before 3.4, as the frame based circtuitry is not available
+ in this case.
+ (__gnat_set_globals): added a parameter default_stack_size
+ (__gl_default_stack_size): new variable.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Build_Array_Aggr_Code): Rename variable
+ "Others_Mbox_Present" to "Others_Box_Present" because the mbox concept
+ does not exist in the Ada RM.
+ (Compatible_Int_Bounds): Determine whether two integer range bounds
+ are of equal length and have the same start and end values.
+ (Is_Int_Range_Bounds): Determine whether a node is an integer range.
+ (Build_Record_Aggr_Code): Perform proper sliding of a nested array
+ aggregate when it is part of an object declaration.
+ (Build_Record_Aggr_Code) If the aggregate ttype is a derived type that
+ constrains discriminants of its parent, add explicitly the discriminant
+ constraints of the ancestor by retrieving them from the
+ stored_constraint of the parent.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference, case Mechanism_Code): If
+ attribute Mechanism_Code is applied to renamed subprogram, modify
+ prefix to point to base subprogram.
+ Max/Min attributes now violate Restriction No_Implicit_Conditionals
+
+ * sinfo.ads: Document that Mechanism_Code cannot be applied to
+ renamed subprograms so that the front-end must replace the prefix
+ appropriately.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch3.adb (Component_Needs_Simple_Initialization): Add check for
+ availability of RE_Interface_Tag.
+ (Build_Initialization_Call): Fix wrong access to the discriminant value.
+ (Freeze_Record_Type): Do not generate the tables associated with
+ timed and conditional dispatching calls through synchronized
+ interfaces if compiling under No_Dispatching_Calls restriction.
+ When compiling for Ada 2005, for a nonabstract
+ type with a null extension, call Make_Controlling_Function_Wrappers
+ and insert the wrapper function declarations and bodies (the latter
+ being appended as freeze actions).
+ (Predefined_Primitive_Bodies): Do not generate the bodies of the
+ predefined primitives associated with timed and conditional
+ dispatching calls through synchronized interfaces if we are
+ compiling under No_Dispatching_Calls.
+ (Build_Init_Procedure): Use RTE_Available to check if a run-time
+ service is available before generating a call.
+ (Make_Controlling_Function_Wrappers): New procedure.
+ (Expand_N_Full_Type_Declaration): Create a class-wide master for
+ access-to-limited-interfaces because they can be used to reference
+ tasks that implement such limited interface.
+ (Build_Offset_To_Top_Functions): Build the tree corresponding to the
+ procedure spec and body of the Offset_To_Top function that is generated
+ when the parent of a type with discriminants has secondary dispatch
+ tables.
+ (Init_Secondary_Tags): Handle the case in which the parent of the type
+ containing secondary dispatch tables has discriminants to generate the
+ correct arguments to call Set_Offset_To_Top.
+ (Build_Record_Init_Proc): Add call to Build_Offset_To_Top_Functions.
+
+ * a-tags.ads, a-tags.adb: (Check_Index): Removed.
+ Add Wide_[Wide_]Expanded_Name.
+ (Get_Predefined_Prim_Op_Address): New subprogram that provides exactly
+ the same functionality of Get_Prim_Op_Address but applied to predefined
+ primitive operations because the pointers to the predefined primitives
+ are now saved in a separate table.
+ (Parent_Size): Modified to get access to the separate table of primitive
+ operations or the parent type.
+ (Set_Predefined_Prim_Op_Address): New subprogram that provides the same
+ functionality of Set_Prim_Op_Address but applied to predefined primitive
+ operations.
+ (Set_Signature): New subprogram used to store the signature of a DT.
+ (Displace): If the Offset_To_Top value is not static then call the
+ function generated by the expander to get such value; otherwise use
+ the value stored in the table of interfaces.
+ (Offset_To_Top): The type of the actual has been changed to Address to
+ give the correct support to tagged types with discriminants. In this
+ case this value is stored just immediately after the tag field.
+ (Set_Offset_To_Top): Two new formals have been added to indicate if the
+ offset_to_top value is static and hence pass this value to the run-time
+ to store it in the table of interfaces, or else if this value is dynamic
+ and then pass to the run-time the address of a function that is
+ generated by the expander to provide this value for each object of the
+ type.
+
+ * rtsfind.ads (Default_Prin_Op_Count): Removed.
+ (Default_Prim_Op_Count): New entity
+ (Get_Predefined_Prim_Op_Address): New entity
+ (Set_Predefined_Prim_Op_Address): New entity
+ (RE_Set_Signature): New entity
+
+2006-02-13 Thomas Quinot <quinot@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_Allocator_Expression): Pass Allocator => True to
+ Make_Adjust_Call done for a newly-allocated object.
+
+ * exp_ch7.ads, exp_ch7.adb (Expand_Cleanup_Actions): If the statements
+ in a subprogram are wrapped in a cleanup block, indicate that the
+ subprogram contains an inner block with an exception handler.
+ (Make_Adjust_Call): New Boolean formal Allocator indicating whether the
+ Adjust call is for a newly-allocated object. In that case we must not
+ assume that the finalization list chain pointers are correct (since they
+ come from a bit-for-bit copy of the original object's pointers) so if
+ the attach level would otherwise be zero (no change), we set it to 4
+ instead to cause the pointers to be reset to null.
+
+ * s-finimp.adb (Attach_To_Final_List): New attach level: 4, meaning
+ reset chain pointers to null.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Assign_Array): If the right-hand side is a
+ string, and the context requires a loop for the assignment (e.g.
+ because the left-hand side is packed), generate a unique name for the
+ temporary that holds the string, to prevent spurious name clashes.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch6.adb (Expand_Inlined_Call): Handle calls to functions that
+ return unconstrained arrays.
+ Update comments.
+ (Expand_Call): An indirect call through an access parameter of a
+ protected operation is not a protected call.
+ Add circuit to raise CE in Ada 2005 mode following call
+ to Raise_Exception.
+ (Register_DT_Entry): Do nothing if
+ the run-time does not give support to abstract interfaces.
+ (Freeze_Subprogram): In case of dispatching operations, do not generate
+ code to register the operation in the dispatch table if the source
+ is compiled with No_Dispatching_Calls.
+ (Register_Predefined_DT_Entry): Generate code that calls the new
+ run-time subprogram Set_Predefined_Prim_Op_Address instead of
+ Set_Prim_Op_Address.
+
+ * sem_ch5.adb (Analyze_Assignment_Statement): Do not apply length checks
+ on array assignments if the right-hand side is a function call that has
+ been inlined. Check is performed on the assignment in the block.
+ (Process_Bounds): If bounds and range are overloaded, apply preference
+ rule for root operations to disambiguate, and diagnose true ambiguity.
+ (Analyze_Assignment): Propagate the tag for a class-wide assignment with
+ a tag-indeterminate right-hand side even when Expander_Active is True.
+ Needed to ensure that dispatching calls to T'Input are allowed and
+ get the tag of the target class-wide object.
+
+ * sem_ch6.adb (New_Overloaded_Entity): Handle entities that override
+ an inherited primitive operation that already overrides several
+ abstract interface primitives. For transitivity, the new entity must
+ also override all the abstract interface primitives covered by the
+ inherited overriden primitive.
+ Emit warning if new entity differs from homograph in same scope only in
+ that one has an access parameter and the other one has a parameter of
+ a general access type with the same designated type, at the same
+ position in the signature.
+ (Make_Inequality_Operator): Use source locations of parameters and
+ subtype marks from corresponding equality operator when creating the
+ tree structure for the implicit declaration of "/=". This does not
+ change anything in behaviour except that the decoration of the
+ components of the subtree created for "/=" allows ASIS to get the
+ string images of the corresponding identifiers.
+ (Analyze_Return_Statement): Remove '!' in warning message.
+ (Check_Statement_Sequence): Likewise.
+ (Analyze_Subprogram_Body): For an access parameter whose designated type
+ is an incomplete type imported through a limited_with clause, use the
+ type of the corresponding formal in the body.
+ (Check_Returns): Implicit return in No_Return procedure now raises
+ Program_Error with a compile time warning, instead of beging illegal.
+ (Has_Single_Return): Function returning unconstrained type cannot be
+ inlined if expression in unique return statement is not an identifier.
+ (Build_Body_To_Inline): It is possible to inline a function call that
+ returns an unconstrained type if all return statements in the function
+ return the same local variable. Subsidiary procedure Has_Single_Return
+ verifies that the body conforms to this restriction.
+
+ * sem_res.adb (Resolve_Equality_Op): If the operands do not have the
+ same type, and one of them is of an anonymous access type, convert
+ the other operand to it, so that this is a valid binary operation for
+ gigi.
+ (Resolve_Type_Conversion): Handle subtypes of protected types and
+ task types when accessing to the corresponding record type.
+ (Resolve_Allocator): Add '\' in 2-line warning message.
+ Remove '!' in warning message.
+ (Resolve_Call): Add '\' in 2-line warning message.
+ (Valid_Conversion): Likewise.
+ (Resolve_Overloaded_Selected_Component): If disambiguation succeeds, the
+ resulting type may be an access type with an implicit dereference.
+ Obtain the proper component from the designated type.
+ (Make_Call_Into_Operator): Handle properly a call to predefined equality
+ given by an expanded name with prefix Standard, when the operands are
+ of an anonymous access type.
+ (Check_Fully_Declared_Prefix): New procedure, subsidiary of Resolve_
+ Explicit_Dereference and Resolve_Selected_Component, to verify that the
+ prefix of the expression is not of an incomplete type. Allows full
+ diagnoses of all semantic errors.
+ (Resolve_Actuals): If the actual is an allocator whose directly
+ designated type is a class-wide interface we build an anonymous
+ access type to use it as the type of the allocator. Later, when
+ the subprogram call is expanded, if the interface has a secondary
+ dispatch table the expander will add a type conversion to force
+ the displacement of the pointer.
+ (Resolve_Call): If a function that returns an unconstrained type is
+ marked Inlined_Always and inlined, the call will be inlined and does
+ not require the creation of a transient scope.
+ (Check_Direct_Boolean_Op): Removed
+ (Resolve_Comparison_Op): Remove call to above
+ (Resolve_Equality_Op): Remove call to above
+ (Resolve_Logical_Op): Inline above, since this is only call.
+ (Valid_Conversion): Handle properly conversions between arrays of
+ convertible anonymous access types.
+
+ PR ada/25885
+ (Set_Literal_String_Subtype): If the lower bound is not static, wrap
+ the literal in an unchecked conversion, because GCC 4.x needs a static
+ value for a string bound.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch9.adb (Expand_N_Protected_Type_Declaration): When creating the
+ components of the corresponding record, take into account component
+ definitions that are access definitions.
+ (Expand_N_Asynchronous_Select): A delay unit statement rewritten as a
+ procedure is not considered a dispatching call and will be expanded
+ properly.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.ads, exp_disp.adb (Expand_Dispatching_Call): If the
+ controlling argument of the dispatching call is an abstract interface
+ class-wide type then we use it directly.
+ Check No_Dispatching_Calls restriction.
+ (Default_Prim_Op_Position): Remove the code that looks for the last
+ entity in the list of aliased subprograms. This code was wrong in
+ case of renamings.
+ (Fill_DT_Entry): Add assertion to avoid the use of this subprogram
+ when the source is compiled with the No_Dispatching_Calls restriction.
+ (Init_Predefined_Interface_Primitives): No need to inherit primitives
+ if we are compiling with restriction No_Dispatching_Calls.
+ (Make_Disp_XXX): Addition of assertion to avoid the use of all these
+ subprograms if we are compiling under No_Dispatching_Calls restriction.
+ (Make_DT): Generate a dispatch table with a single dummy entry if
+ we are compiling with the No_Dispatching_Calls restriction. In
+ addition, in this case we don't generate code that calls to the
+ following run-time subprograms: Set_Type_Kind, Inherit_DT.
+ (Make_Select_Specific_Data_Table): Add assertion to avoid the use
+ of this subprogram if compiling with the No_Dispatching_Calls
+ restriction.
+ (Expand_Type_Conversion): Instead of using the actual parameter,
+ the argument passed as parameter to the conversion function was
+ erroneously referenced by the expander.
+ (Ada_Actions): Addition of Get_Predefined_Prim_Op_Address,
+ Set_Predefined_Primitive_Op_Address and Set_Signature.
+ (Expand_Dispatching_Call): Generate call to
+ Get_Predefined_Prim_Op_Address for predefined primitives.
+ (Fill_DT_Entry): Generate call to Set_Predefined_Prim_Op_Address for
+ predefined primitives.
+ (Make_DT, Make_Secondary_DT): If the tagged type has no user defined
+ primitives we reserve one dummy entry to ensure that the tag does not
+ point to some memory that is associated with some other object. In
+ addition, remove all the old code that generated the assignments
+ associated with the signature of the dispatch table and replace them
+ by a call to the new subprogram Set_Signature.
+ (Set_All_DT_Position): Change the algorithm because now we have a
+ separate dispatch table associated with predefined primitive operations.
+ (Expand_Interface_Conversion): In case of non-static offset_to_top
+ add explicit dereference to get access to the object after the call
+ to displace the pointer to the object.
+ (Expand_Interface_Thunk): Modify the generation of the actual used
+ in the calls to the run-time function Offset_To_Top to fulfil its
+ new interface.
+ (Make_DT): Add the new actuals required to call Set_Offset_To_Top.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_dist.adb (Copy_Specification): For access parameters, copy
+ Null_Exclusion flag, which will have been set for stream subprograms
+ in Ada2005 mode.
+
+2006-02-13 Pascal Obry <obry@adacore.com>
+
+ * expect.c (__gnat_expect_portable_execvp): New implementation. The
+ previous implementation was using the C runtime spawnve routine but
+ the corresponding wait was using directly the Win32 API. This was
+ causing some times a lock when waiting for an event using
+ WaitForSingleObject in __gnat_waitpid. This new implementation uses
+ the Win32 CreateProcess routine. Avoiding mixing C runtime and Win32
+ API fixes this problem.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * exp_intr.adb (Expand_Unc_Deallocation): Correct error of bad analyze
+ call.
+
+2006-02-13 Thomas Quinot <quinot@adacore.com>
+
+ * exp_pakd.ads: Fix typos in comments.
+
+ * exp_pakd.adb (Convert_To_PAT_Type): For the case of a bit packed
+ array reference that is an explicit dereference, mark the converted
+ (packed) array reference as analyzed to prevent a forthcoming
+ reanalysis from resetting its type to the original (non-packed) array
+ type.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_util.ads, exp_util.adb (Find_Prim_Op,
+ Is_Predefined_Primitive_Operation): When
+ searching for the predefined equality operator, verify that operands
+ have the same type.
+ (Is_Predefined_Dispatching_Operation): Remove the code that looks
+ for the last entity in the list of aliased subprograms. This code
+ was wrong in case of renamings.
+ (Set_Renamed_Subprogram): New procedure
+ (Remove_Side_Effects): Replace calls to Etype (Exp) with use of the
+ Exp_Type constant computed when entering this subprogram.
+ (Known_Null): New function
+ (OK_To_Do_Constant_Replacement): New function
+ (Known_Non_Null): Check scope before believing Is_Known_Non_Null flag
+ (Side_Effect_Free): An attribute reference 'Input is not free of
+ side effect, unlike other attributes that are functions. (from code
+ reading).
+ (Remove_Side_Effects): Expressions that involve packed arrays or records
+ are copied at the point of reference, and therefore must be marked as
+ renamings of objects.
+ (Is_Predefined_Dispatching_Operation): Return false if the operation is
+ not a dispatching operation.
+
+ PR ada/18819
+ (Remove_Side_Effects): Lift enclosing type conversion nodes for
+ elementary types in all cases.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Handle subtypes of protected types and
+ task types when accessing to the corresponding record type.
+ Remove '!' in warning message.
+
+2006-02-13 Olivier Hainque <hainque@adacore.com>
+
+ * g-altive.ads (VECTOR_ALIGNMENT): Set to Min (16, Max_Alignment),
+ to avoid useless and space inefficient overalignments on targets where
+ Max_Alignment is larger than 16.
+
+2006-02-13 Pascal Obry <obry@adacore.com>
+
+ * g-catiio.adb (Sec_Number): New type used to compute the number of
+ seconds since 1-1-1970.
+ (Image) [Natural]: The parameter was an Integer, as we can't deal with
+ negative numbers (years, months...) it is better to have a Natural here.
+ Code clean-up.
+ (Image) [Number]: Change parameter from Long_Integer to Number.
+ (Image): Use Number type to compute the seconds since 1-1-1970 to fix an
+ overflow for dates past year 2038.
+
+2006-02-13 Matthew Heaney <heaney@adacore.com>
+
+ * g-dyntab.adb (Index_Of): conversion from Natural can no longer raise
+ Constraint_Error.
+
+2006-02-13 Arnaud Charlet <charlet@adacore.com>
+
+ * gnatbind.adb (Scan_Bind_Arg): Replace error by warning on -M and
+ native platforms.
+ (Gnatbind): Do not call Exit_Program (E_Success) at the end, so that
+ finalization can occur normally.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (Rules_Switches): New table
+ (Add_To_Rules_Switches): New procedure
+ (GNATCmd): For command CHECK, put all options following "-rules" in the
+ Rules_Switches table. Append these -rules switches after the -cargs
+ switches.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * g-spipat.adb (Image, case PC_Assign_Imm and case PC_Assign_OnM):
+ These two cases were generating incorrect output, and if this unit
+ was built with checks on, generated a discriminant mismatch constraint
+ error.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * lib-xref.adb (Get_Type_Reference): For a private type whose full
+ view is an array type, indicate the component type as well, for
+ navigation purposes.
+ (Generate_Reference): Don't consider array ref on LHS to be a case
+ of violating pragma Unreferenced.
+ Do not give Ada 2005 warning except on real reference.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Collect_Arguments_And_Compile): For VMS, when compiling the
+ main source, add switch -mdebug-main=_ada_ so that the executable can
+ be debugged by the standard VMS debugger.
+ (Gnatmake): Set No_Main_Subprogram to True when there is no main
+ subprogram, to avoid issuing -mdebug-main=_ada_ for VMS uselessly.
+ Exit the Multi_Main_Loop when Unique_Compile is True after compilation
+ of the last source, as the binding and linking phases are never
+ performed.
+ Set all executable obsolete when rebuilding a library.
+
+ * makeutl.adb (Linker_Options_Switches): Do not process empty linker
+ options.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+
+ PR ada/23973
+ * par-ch3.adb (P_Derived_Type_Def_Or_Private_Ext_Decl): Reorganize the
+ code to improve the error message reported when the program has
+ declarations of abstract interface types and it is not compiled with
+ the -gnat05 switch.
+ (P_Access_Definition): Reorganize the code to improve the error
+ message reported when the new Ada 2005 syntax for anonymous
+ access types is used and the program is not compiled with the
+ -gnat05 switch.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * par-ch6.adb, style.ads, styleg.adb, styleg.ads, stylesw.adb,
+ stylesw.ads, usage.adb, vms_data.ads: Implement -gnatyI switch
+ (MODE_IN)
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+
+ * par-endh.adb (Explicit_Start_Label): Add code to protect the parser
+ against source containing syntax errors.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * prj.adb (Reset): Initialize the first element of table Namings with
+ the standard naming data.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * prj.ads (Error_Warning): New enumeration type
+
+ * prj-nmsc.ads, prj-nmsc.adb (Error_Msg): If location parameter is
+ unknown, use the location of the project to report the error.
+ (When_No_Sources): New global variable
+ (Report_No_Ada_Sources): New procedure
+ (Check): New parameter When_No_Sources. Set value of global variable
+ When_No_Sources,
+ (Find_Sources): Call Report_No_Ada_Sources when appropriate
+ (Get_Sources_From_File): Ditto
+ (Warn_If_Not_Sources): Better warning messages indicating the unit name
+ and the file name.
+
+ * prj-pars.ads, prj-pars.adb (Parse): New parameter When_No_Sources.
+ Call Prj.Proc.Process with parameter When_No_Sources.
+
+ * prj-proc.ads, prj-proc.adb (Check): New parameter When_No_Sources.
+ Call Recursive_Check with parameter When_No_Sources.
+ (Recursive_Check): New parameter When_No_Sources. Call itself and
+ Prj.Nmsc.Check with parameter When_No_Sources.
+ (Process): New parameter When_No_Sources. Call Check with parameter
+ When_No_Sources.
+ (Copy_Package_Declarations): New procedure to copy renamed parameters
+ and setting the location of the declared attributes to the location
+ of the renamed package.
+ (Process_Declarative_Items): Call Copy_Package_Declarations for renamed
+ packages.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * prj-makr.adb (Make): Preserve the comments from the original project
+ file.
+ When removing nodes (attributes Source_Dirs, Source_Files,
+ Source_List_File and package Naming), save the comments and attach the
+ saved comments to the newly created nodes.
+ Do not add a with clause for the naming package if one already exists.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * restrict.ads (No_Dispatching_Calls): New GNAT restriction.
+
+ * sem_disp.adb (Override_Dispatching_Operation): Traverse the list of
+ aliased entities to look for the overriden abstract interface
+ subprogram.
+ (Is_Interface_Subprogram): Complete documentation.
+ (Check_Dispatching_Operation): Do not generate code to register the
+ operation in the dispatch table if the source is compiled with
+ restriction No_Dispatching_Calls.
+ (Override_Dispatching_Operation): Check for illegal attempt to override
+ No_Return procedure with procedure that is not No_Return
+ (Check_Dispatching_Call): Suppress the check for an abstract operation
+ when the original node of an actual is a tag-indeterminate attribute
+ call, since the attribute, which must be 'Input, can never be abstract.
+ (Is_Tag_Indeterminate): Handle checking of tag indeterminacy of a
+ call to the Input attribute (even when rewritten).
+ (Propagate_Tag): Augment comment to indicate the possibility of a call
+ to an Input attribute.
+
+ * sem_disp.ads (Override_Dispatching_Operation): Moved to spec to allow
+ calling it from Exp_Ch3.Make_Controlling_Function_Wrappers.
+
+ * s-rident.ads: (No_Dispatching_Calls): New GNAT restriction.
+ No_Wide_Characters is no longer partition-wide
+ No_Implementation_Attributes/Pragmas are now Ada 2005 (AI-257)
+ rather than GNAT
+
+2006-02-13 Douglas Rupp <rupp@adacore.com>
+
+ * s-auxdec-vms_64.ads (Short_Address): Wrap it in a type.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+
+ * sem_aggr.adb (Resolve_Record_Aggregate): Restructure the code that
+ handles default-initialized components to keep separate the management
+ of this feature but also avoid the unrequired resolution and
+ expansion of components that do not have partially initialized
+ values.
+ (Collect_Aggr_Bounds): Add '\' in 2-line warning message.
+ (Check_Bounds): Likewise.
+ (Check_Length): Likewise.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): In case of 'Class applied to an
+ abstract interface type call analyze_and_resolve to expand the type
+ conversion into the corresponding displacement of the
+ reference to the base of the object.
+ (Eval_Attribute, case Width): For systems where IEEE extended precision
+ is supported, the maximum exponent occupies 4 decimal digits.
+ (Accessibility_Message): Add '\' in 2-line warning message.
+ (Resolve_Attribute): Likewise.
+ (case Attribute_Access): Significantly revise checks
+ for illegal access-to-subprogram Access attributes to properly enforce
+ the rules of 3.10.2(32/2).
+ Diagnose use of current instance with an illegal attribute.
+
+ * sem_util.ads, sem_util.adb (Enclosing_Generic_Body): Change formal
+ to a Node_Id.
+ (Enclosing_Generic_Unit): New function to return a node's innermost
+ enclosing generic declaration node.
+ (Compile_Time_Constraint_Error): Remove '!' in warning messages.
+ (Type_Access_Level): The accessibility level of anonymous acccess types
+ associated with discriminants is that of the current instance of the
+ type, and that's deeper than the type itself (AARM 3.10.2 (12.3.21)).
+ (Compile_Time_Constraint_Error): Handle case of conditional expression.
+ (Kill_Current_Values_For_Entity): New function
+ (Enter_Name): Change formal type to Entity_Id
+
+2006-02-13 Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch10.adb (Check_Redundant_Withs): New procedure in
+ Analyze_Compilation_Unit.
+ Detect and warn on redundant with clauses detected in a package spec
+ and/or body when -gnatwr is used.
+ (Analyze_Context): Analyze config pragmas before other items
+ (Install_Context_Items): Don't analyze config pragmas here
+ (Install_Limited_Withed_Unit): Set limited entity of package in
+ with_clause so that cross-reference information or warning messages on
+ unused packages can be properly generated
+ (Is_Visible_Through_Renamings): Return false if the limited_with_clause
+ has Error_Posted set. Prevent infinite loops in illegal programs.
+ (Check_Private_Child_Unit): Move test for a nonprivate with clause down
+ to the point of the error test requiring the current unit to be private.
+ This ensures that private with clauses are not exempted from the basic
+ checking for being a descendant of the same library unit parent as a
+ withed private descendant unit.
+ (Check_Private_Limited_Withed_Unit): Revise the checking algorithm to
+ handle private with clauses properly, as well as to account for cases
+ where the withed unit is a public descendant of a private ancestor
+ (in which case the current unit must be a descendant of the private
+ ancestor's parent). The spec comments were updated accordingly. Also,
+ the old error message in this subprogram was replaced with error
+ messages that mirror the errors tested and reported by
+ Check_Private_Child_Unit.
+ Parameter and variable names improved for readability.
+ (Install_Limited_Context_Clauses): Remove test for a withed unit being
+ private as the precondition for calling
+ Check_Private_Limited_Withed_Unit since that subprogram has been
+ revised to test public units as well as private units.
+
+2006-02-13 Thomas Quinot <quinot@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch12.adb (Inline_Instance_Body): Remove erroneous assumption
+ that Scope_Stack.First = 1.
+ Properly handle Ada_Version_Explicit and Ada_Version_Config, which
+ were not always properly handled previously.
+ (Formal_Entity): Complete rewrite, to handle properly some complex case
+ with multiple levels of parametrization by formal packages.
+ (Analyze_Formal_Derived_Type): Propagate Ada 2005 "limited" indicator
+ to the corresponding derived type declaration for proper semantics.
+
+ * sem_prag.adb (Analyze_Pragma): Remove '!' in warning message.
+ (Check_Component): Enforce restriction on components of
+ unchecked_unions: a component in a variant cannot contain tasks or
+ controlled types.
+ (Unchecked_Union): Allow nested variants and multiple discriminants, to
+ conform to AI-216.
+ Add pragma Ada_2005 (synonym for Ada_05)
+ Properly handle Ada_Version_Explicit and Ada_Version_Config, which
+ were not always properly handled previously.
+ Document that pragma Propagate_Exceptions has no effect
+ (Analyze_Pragma, case Pure): Set new flag Has_Pragma_Pure
+ (Set_Convention_From_Pragma): Check that if a convention is
+ specified for a dispatching operation, then it must be
+ consistent with the existing convention for the operation.
+ (CPP_Class): Because of the C++ ABI compatibility, the programmer is no
+ longer required to specify an vtable-ptr component in the record. For
+ compatibility reasons we leave the support for the previous definition.
+ (Analyze_Pragma, case No_Return): Allow multiple arguments
+
+ * sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Flag a
+ non-overrideen inherited operation with a controlling result as
+ illegal only its implicit declaration comes from the derived type
+ declaration of its result's type.
+ (Check_Possible_Deferred_Completion): Relocate the object definition
+ node of the subtype indication of a deferred constant completion rather
+ than directly analyzing it. The analysis of the generated subtype will
+ correctly decorate the GNAT tree.
+ (Record_Type_Declaration): Check whether this is a declaration for a
+ limited derived record before analyzing components.
+ (Analyze_Component_Declaration): Diagnose record types not explicitly
+ declared limited when a component has a limited type.
+ (Build_Derived_Record_Type): Code reorganization to check if some of
+ the inherited subprograms of a tagged type cover interface primitives.
+ This check was missing in case of a full-type associated with a private
+ type declaration.
+ (Constant_Redeclaration): Check that the subtypes of the partial and the
+ full view of a constrained deferred constant statically match.
+ (Mentions_T): A reference to the current type in an anonymous access
+ component declaration must be an entity name.
+ (Make_Incomplete_Type_Declaration): If type is tagged, set type of
+ class_wide type to refer to full type, not to the incomplete one.
+ (Add_Interface_Tag_Components): Do nothing if RE_Interface_Tag is not
+ available. Required to give support to the certified run-time.
+ (Analyze_Component_Declaration): In case of anonymous access components
+ perform missing checks for AARM 3.9.2(9) and 3.10.2 (12.2).
+ (Process_Discriminants): For an access discriminant, use the
+ discriminant specification as the associated_node_for_itype, to
+ simplify accessibility checks.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch4.adb (Remove_Abstract_Interpretations): Even if there are no
+ abstract interpretations on an operator, remove interpretations that
+ yield Address or a type derived from it, if one of the operands is an
+ integer literal.
+ (Try_Object_Operation.Try_Primitive_Operation,
+ Try_Object_Operation.Try_Class_Wide_Operation): Set proper source
+ location when creating the new reference to a primitive or class-wide
+ operation as a part of rewriting a subprogram call.
+ (Try_Primitive_Operations): If context requires a function, collect all
+ interpretations after the first match, because there may be primitive
+ operations of the same type with the same profile and different return
+ types. From code reading.
+ (Try_Primitive_Operation): Use the node kind to choose the proper
+ operation when a function and a procedure have the same parameter
+ profile.
+ (Complete_Object_Operation): If formal is an access parameter and prefix
+ is an object, rewrite as an Access reference, to match signature of
+ primitive operation.
+ (Find_Equality_Type, Find_One_Interp): Handle properly equality given
+ by an expanded name with prefix Standard, when the operands are of an
+ anonymous access type.
+ (Remove_Abstract_Operations): If the operation is abstract because it is
+ inherited by a user-defined type derived from Address, remove it as
+ well from the set of candidate interpretations of an overloaded node.
+ (Analyze_Membership_Op): Membership test not applicable to cpp-class
+ types.
+
+2006-02-13 Bob Duff <duff@adacore.com>
+
+ * sem_ch8.adb (Note_Redundant_Use): Suppress unhelpful warning about
+ redundant use clauses.
+ In particular, if the scope of two use clauses overlaps, but one is not
+ entirely included in the other, we should not warn. This can happen
+ with nested packages.
+ (Analyze_Subprogram_Renaming): Protect the compiler against previously
+ reported errors. The bug was reported when the compiler was built
+ with assertions enabled.
+ (Find_Type): If the node is a 'Class reference and the prefix is a
+ synchronized type without a corresponding record, return the type
+ itself.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): Check that
+ if this is the full-declaration associated with a private declaration
+ that implement interfaces, then the private type declaration must be
+ limited.
+ (Analyze_Single_Protected, Analyze_Single_Task): Do not mark the object
+ as aliased. The use of the 'access attribute is not available for such
+ object (for this purpose the object should be explicitly marked as
+ aliased, but being an anonymous type this is not possible).
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_elab.adb (Same_Elaboration_Scope): A package that is a
+ compilation unit is an elaboration scope.
+ (Add_Task_Proc): Add '\' in 2-line warning message.
+ (Activate_All_Desirable): Deal with case of unit with'ed by parent
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_type.adb (Write_Overloads): Improve display of candidate
+ interpretations.
+ (Add_One_Interp): Do not add to the list of interpretations aliased
+ entities corresponding with an abstract interface type that is an
+ immediate ancestor of a tagged type; otherwise we have a dummy
+ conflict between this entity and the aliased entity.
+ (Disambiguate): The predefined equality on universal_access is not
+ usable if there is a user-defined equality with the proper signature,
+ declared in the same declarative part as the designated type.
+ (Find_Unique_Type): The universal_access equality operator defined under
+ AI-230 does not cover pool specific access types.
+ (Covers): If one of the types is a generic actual subtype, check whether
+ it matches the partial view of the other type.
+
+2006-02-13 Thomas Quinot <quinot@adacore.com>
+
+ * sinput-d.adb (Write_Line): Update the Source_Index_Table after each
+ line. This is necessary to allow In_Extended_Main_Unit to provide
+ correct results for itypes while writing out expanded source.
+ (Close_File): No need to update the source_index_table here since it's
+ now done for each line.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sprint.adb (Write_Itype): Preserve Sloc of declaration, if any, to
+ preserve the source unit where the itype is declared, and prevent a
+ backend abort.
+ (Note_Implicit_Run_Time_Call): New procedure
+ (Write_Itype): Handle missing cases (E_Class_Wide_Type and
+ E_Subprogram_Type)
+
+ * sprint.ads: Document use of $ for implicit run time routine call
+
+2006-02-13 Quentin Ochem <ochem@adacore.com>
+
+ * s-stausa.adb (Initialize_Analyzer): fixed error in assignment of
+ task name.
+
+2006-02-13 Bob Duff <duff@adacore.com>
+
+ * s-valint.adb (Scan_Integer): Call Scan_Raw_Unsigned instead of
+ Scan_Unsigned, so we do not scan leading blanks and sign twice.
+ Integer'Value("- 5") and Integer'Value("-+5") now correctly
+ raise Constraint_Error.
+
+ * s-vallli.adb (Scan_Long_Long_Integer): Call
+ Scan_Raw_Long_Long_Unsigned instead of Scan_Long_Long_Unsigned, so we
+ do not scan leading blanks and sign twice.
+ Integer'Value("- 5") and Integer'Value("-+5") now correctly
+ raise Constraint_Error.
+
+ * s-valllu.ads, s-valllu.adb (Scan_Raw_Long_Long_Unsigned,
+ Scan_Long_Long_Unsigned): Split out most of the processing from
+ Scan_Long_Long_Unsigned out into
+ Scan_Raw_Long_Long_Unsigned, so that Val_LLI can call the Raw_ version.
+ This prevents scanning leading blanks and sign twice.
+ Also fixed a bug: Modular'Value("-0") should raise Constraint_Error
+ See RM-3.5(44).
+
+ * s-valuns.ads, s-valuns.adb (Scan_Raw_Unsigned, Scan_Unsigned): Split
+ out most of the processing from Scan_Unsigned out into
+ Scan_Raw_Unsigned, so that Val_LLI can call the Raw_ version.
+ This prevents scanning leading blanks and sign twice.
+
+ * s-valuti.ads, s-valuti.adb (Scan_Plus_Sign): Add Scan_Plus_Sign, for
+ use with Modular'Value attribute.
+ (Scan_Plus_Sign): Add Scan_Plus_Sign, for use with Modular'Value
+ attribute.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * s-wchjis.adb (JIS_To_EUC): Raise Constraint_Error for invalid value
+
+2006-02-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tracebak.c (PPC AIX/Darwin): Define FORCE_CALL to 1.
+ (PPC VxWorks): Likewise.
+ (Generic unwinder): Define FORCE_CALL to 0 if not already defined.
+ (forced_callee): Make non-inlinable and non-pure.
+ (__gnat_backtrace): Call forced_callee if FORCE_CALL is set to 1.
+
+2006-02-13 Arnaud Charlet <charlet@adacore.com>
+ Ben Brosgol <brosgol@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi, gnat_ugn.texi: Remove limitations with sparc m64
+ support.
+ Document that gnatbind -M option is for cross environments only.
+ Added description of using gnatmem to trace gnat rtl allocs and deallocs
+ Add note on use of $ to label implicit run time calls
+ Add documentation for -gnatyI (check mode IN)
+ Updated chapter on compatibility with HP Ada
+ VMS-oriented edits.
+ Ran spell and corrected errors
+ Add documentation for gnatbind -d and rework documentation of -D
+ at the same time.
+ Add subprogram/data elimination section.
+ Minor editing of annex A.
+ Add section for gnatcheck.
+ Add documentation for restriction No_Dispatching_Calls
+ Add documentation for pragma Ada_2005
+ Remove mention of obsolete pragma Propagate_Exceptions
+ Document that pragma Unreferenced can appear after DO in ACCEPT
+ Clarify Pure_Function for library level units
+ Mention Max/Min in connection with No_Implicit_Conditionals
+ No_Wide_Characters restriction is no longer partition-wide
+ Add a nice example for Universal_Literal_String attribute
+ Document that pragma No_Return can take multiple arguments
+
+ * ug_words: Added entry for gnatcheck
+
+ * g-ctrl_c.ads (Install_Handler): Enhance comments
+
+ * g-os_lib.ads: Add comments to OS_Exit that it is abrupt termination
+
+ * g-trasym.ads: Add documentation on how to do off line symbolic
+ traceback computation.
+
+ * s-fatgen.adb: Add comments for Unaligned_Valid
+
+ * stand.ads: Fix typo in comment
+
+2006-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Make-lang.in (check-gnat): Run run_acats with $(SHELL).
+
+2006-02-06 Roger Sayle <roger@eyesopen.com>
+
+ * decl.c (gnat_substitute_in_type): Don't handle CHAR_TYPE.
+
+2006-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/25926
+ * initialize.c (__gnat_initialize): Provide HP-UX 10 host and target
+ implementation that calls __main.
+
+2006-01-25 Peter O'Gorman <peter@pogma.com>
+
+ PR bootstrap/25859
+ * Makefile.in (GCC_LINK): Remove quotes.
+ (tools targets): Link with either $(GNATLINK) --GCC="$(GCC_LINK)"
+ or $(GCC_LINK).
+
+ (powerpc-darwin): Pass -shared-libgcc when building shared library.
+
+2006-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR ada/24533
+ * s-osinte-linux-hppa.ads: Reduce alignment of atomic_lock_t to 8.
+
+
+
+Copyright (C) 2006 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/ada/ChangeLog-2007 b/gcc/ada/ChangeLog-2007
new file mode 100644
index 00000000000..30a63656eaa
--- /dev/null
+++ b/gcc/ada/ChangeLog-2007
@@ -0,0 +1,9221 @@
+2007-12-27 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/34553
+ * adaint.c (__gnat_open_new_temp, __gnat_tmp_name): Use mkstemp()
+ instead of mktemp() or tmpnam() on NetBSD.
+
+2007-12-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (call_to_gnu): Make the temporary for non-addressable
+ In parameters passed by reference.
+ (addressable_p): Return true for STRING_CST and CALL_EXPR.
+
+2007-12-19 Robert Dewar <dewar@adacore.com>
+
+ * g-expect-vms.adb, g-expect.adb, s-poosiz.adb:
+ Add pragma Warnings (Off) for unassigned IN OUT arguments
+
+ * sem_warn.adb (Output_Reference): Suppress messages for internal names
+ (Check_References): Extensive changes to tune up warnings
+ (Output_Non_Modifed_In_Out_Warnings): Changes to tune up warnings
+ (Has_Pragma_Unmodifed_Check_Spec): New function
+ (Check_References): Implement pragma Unmodified
+ (Warn_On_Unassigned_Out_Parameter): Implement pragma Unmodified
+
+ * par-prag.adb: Dummy entry for pragma Unmodified
+
+ * sem_prag.adb: Implement pragma Unmodified
+
+ * einfo.ads, einfo.adb: (Has_Pragma_Unmodified): New flag
+ (Proc_Next_Component_Or_Discriminant): Fix typo.
+ Update comments.
+
+ * sem_util.adb (Note_Possible_Modification): Add processinng for pragma
+ Unmodified.
+ (Reset_Analyzed_Flags): Use Traverse_Proc instead of Traverse_Func,
+ because the former already takes care of discarding the result.
+ (Mark_Coextensions): Remove ununused initial value from Is_Dynamic.
+ Add comment.
+
+ * snames.h, snames.ads, snames.adb: Add entry for pragma Unmodified
+
+2007-12-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * targparm.adb, targparm.ads, system.ads, system-darwin-ppc.ads,
+ system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads,
+ system-hpux-ia64.ads, system-vxworks-arm.ads, system-darwin-x86.ads,
+ system-vms_64.ads, system-vms-ia64.ads, system-linux-ia64.ads,
+ system-freebsd-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
+ system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads,
+ system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
+ system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
+ system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
+ system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads
+ (Dynamic_Trampolines_Used): Delete.
+
+ * system-lynxos-x86.ads, system-lynxos-ppc.ads: Ditto.
+ Turn on stack probing mechanism on LynxOS.
+
+2007-12-19 Bob Duff <duff@adacore.com>
+
+ * atree.ads, atree.adb (Traverse_Func): Walk Field2 last, and eliminate
+ the resulting tail recursion by hand. This prevents running out of
+ memory on deeply nested concatenations, since Field2 is where the left
+ operand of concatenations is stored.
+ Fix bug (was returning OK_Orig in some cases). Fix return subtype to
+ clarify that it can only return OK or Abandon.
+
+ * sem_res.adb (Resolve_Op_Concat): Replace the recursion on the left
+ operand by iteration, in order to avoid running out of memory on
+ deeply-nested concatenations. Use the Parent pointer to get back up the
+ tree.
+ (Resolve_Op_Concat_Arg, Resolve_Op_Concat_First,
+ Resolve_Op_Concat_Rest): New procedures split out of
+ Resolve_Op_Concat, so the iterative algorithm in Resolve_Op_Concat is
+ clearer.
+
+ * checks.adb (Remove_Checks): Use Traverse_Proc instead of
+ Traverse_Func, because the former already takes care of discarding the
+ result.
+
+ * errout.adb (First_Node): Use Traverse_Proc instead of Traverse_Func,
+ because the former already takes care of discarding the result.
+ (Remove_Warning_Messages): Use appropriate subtype for Status and
+ Discard
+
+2007-12-19 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Not_OK_For_Backend): A component of a private type with
+ discriminants forces expansion of the aggregate into assignments.
+ (Init_Record_Controller): If the type of the aggregate is untagged and
+ is not inherently limited, the record controller is not limited either.
+
+2007-12-19 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference, case Size): Fix error in
+ handling compile time known size of record or array (case of front end
+ layout active, e.g. in GNAAMP).
+
+2007-12-19 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): Complete the circuitry
+ that forces the construction of static dispatch tables in case of
+ record subtypes.
+
+2007-12-19 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch9.adb (Null_Statements): Moved to library level
+ (Trivial_Accept_OK): New function
+ (Expand_Accept_Declaration): Use Trivial_Accept_OK
+ (Expand_N_Accept_Statement): Use Trivial_Accept_OK
+
+2007-12-19 Robert Dewar <dewar@adacore.com>
+
+ * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Fix packed array type
+ in complex case where array is Volatile.
+
+2007-12-19 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type, Check_Current_Instance): Implement
+ properly the Ada2005 rules concerning when the current instance of a
+ record type is aliased.
+
+2007-12-19 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch3.adb (P_Record_Declaration): Guard against cascaded errors in
+ mangled declaration
+ (P_Type_Declaration): Diagnose misuse of "abstract" in untagged record
+ declarations.
+ (P_Variant_Part): Cleaner patch for parenthesized discriminant
+
+2007-12-19 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb (Package_Node_Id_Of): Returns Unknown_Package when
+ package is not known
+
+ * prj-attr.ads (Unknown_Package): New constant
+ Do not crash when an unknown package is in several projects
+
+ * prj-dect.adb (Parse_Package_Declaration): Mark an unknown package as
+ ignored
+
+ * prj-nmsc.adb (Check): Remove obsolete code related to no longer
+ existing package Language_Processing.
+
+2007-12-19 Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/15803, ada/15805
+ * sem_ch6.adb, sem_ch3.adb (Constrain_Access): In Ada2005, diagnose
+ illegal access subtypes when there is a constrained partial view.
+ (Check_For_Premature_Usage): New procedure inside
+ Access_Subprogram_Declaration for checking that an access-to-subprogram
+ type doesn't reference its own name within any formal parameters or
+ result type (including within nested anonymous access types).
+ (Access_Subprogram_Declaration): Add call to Check_For_Premature_Usage.
+ (Sem_Ch3.Analyze_Object_Declaration, Sem_ch6.Process_Formals): if the
+ context is an access_to_variable, the expression cannot be an
+ access_to_constant.
+
+2007-12-19 Bob Duff <duff@adacore.com>
+
+ * sem_ch4.adb (Analyze_Concatenation_Rest): New procedure.
+ (Analyze_Concatenation): Use iteration instead of recursion in order
+ to avoid running out of stack space for deeply nested concatenations.
+
+2007-12-19 Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Diagnose illegal renamings
+ whose renamed entity is a subprogram that requires overriding.
+ (Premature_Usage): Test for the case of N_Full_Type_Declaration when
+ issuing an error for premature usage and issue a message that says
+ 'type' rather than 'object'.
+
+2007-12-19 Gary Dismukes <dismukes@adacore.com>
+
+ PR ada/34149
+ * sem_disp.adb (Check_Dispatching_Call): Augment existing test for
+ presence of a statically tagged operand (Present (Static_Tag)) with
+ test for Indeterm_Ancestor_Call when determining whether to propagate
+ the static tag to tag-indeterminate operands (which forces dispatching
+ on such calls).
+ (Check_Controlling_Formals): Ada2005, access parameters can have
+ defaults.
+ (Add_Dispatching_Operation, Check_Operation_From_Private_View): do
+ not insert subprogram in list of primitive operations if already there.
+
+2007-12-19 Tristan Gingold <gingold@adacore.com>
+
+ * utils.c (create_var_decl_1): call rest_of_decl_compilation only for
+ global variable.
+
+2007-12-19 Thomas Quinot <quinot@adacore.com>
+
+ Part of PR ada/33688
+ * gen-soccon.c: Add constant IP_PKTINFO to allow getting ancillary
+ datagram info on Linux.
+
+2007-12-19 Vincent Celier <celier@adacore.com>
+
+ * makegpr.adb (Check_Compilation_Needed): Normalize C_Source_Path so
+ that the source path name is always found in the dependencies.
+
+2007-12-19 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi, gnat_ugn.texi: Update documentation of -gnatw.o
+ Fix name of Wide_Wide_Latin_1/9 file names
+ Add documentation for Ada.Exceptions.Last_Chance_Handler (a-elchha.ads)
+ Add missing documentation for Ada.Wide_[Wide_]Characters.Unicode
+ Add missing documentation for Ada.Command_Line.Response_File
+ Update list of warning letters for Warnings pragma
+ Add documentation for pragma Unmodified
+
+2007-12-19 Samuel Tardieu <sam@rfc1149.net>
+
+ * Makefile.in: Add s-tasinf.ad[bs] substitutions for sh4-linux target.
+
+2007-12-17 Arnaud Charlet <charlet@adacore.com>
+
+ * s-vxwork-alpha.ads: Removed, no longer used.
+
+2007-12-15 Jakub Jelinek <jakub@redhat.com>
+
+ * Make-lang.in (gnat1, gnatbind): Pass ALL_CFLAGS on the link line.
+
+2007-12-13 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/34360
+ * Makefile.in: Change two occurrences of mlib-tgt.adb by correct name
+ mlib-tgt-specific.adb.
+
+2007-12-13 Bob Duff <duff@adacore.com>
+
+ * trans.c (Attribute_to_gnu): Check for violations of the
+ No_Implicit_Dynamic_Code restriction. This checking used to be done in
+ the front end, but is moved here so we can make it more accurate.
+
+2007-12-13 Pascal Obry <obry@adacore.com>
+
+ * adaint.c (__gnat_pthread_setaffinity_np): New routine. A dummy
+ version is provided for older GNU/Linux distribution not
+ supporting thread affinity sets.
+
+ * s-osinte-linux.ads (SC_NPROCESSORS_ONLN): New constant for sysconf
+ call.
+ (bit_field): New packed boolean type used by cpu_set_t.
+ (cpu_set_t): New type corresponding to the C type with
+ the same name. Note that on the Ada side we use a bit
+ field array for the affinity mask. There is not need
+ for the C macro for setting individual bit.
+ (pthread_setaffinity_np): New imported routine.
+
+ * s-taprop-linux.adb (Enter_Task): Check that the CPU affinity mask is
+ no null.
+ (Create_Task): Set the processor affinity mask if information
+ is present.
+
+ * s-tasinf-linux.ads, s-tasinf-linux.adb: New files.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
+ s-osinte-freebsd.ads, s-osinte-lynxos.ads, s-osinte-tru64.ads,
+ s-osinte-mingw.ads, s-osinte-aix.ads, s-osinte-hpux-dce.ads,
+ s-osinte-irix.ads, s-osinte-solaris.ads, s-intman-vms.adb,
+ s-osinte-vms.ads, s-osinte-vxworks6.ads, s-osinte-vxworks.ads,
+ s-auxdec.ads, s-auxdec-vms_64.ads, s-osinte-darwin.ads,
+ s-taprop-vms.adb, s-interr-sigaction.adb, s-osinte-linux-hppa.ads,
+ i-vxwork-x86.ads, s-tpopde-vms.ads: Add missing pragma Convention C
+ for subprogram pointers.
+
+ * g-ctrl_c.adb: New file.
+
+ * g-ctrl_c.ads (Install_Handler): New body.
+
+ * freeze.adb (Freeze_Subprogram): Use new flag Has_Pragma_Inline_Always
+ instead of obsolete function Is_Always_Inlined.
+ (Freeze_Entity): check for tagged type in imported C subprogram
+ (Freeze_Entity): check for 8-bit boolean in imported C subprogram
+ (Freeze_Entity): check for convention Ada subprogram pointer in
+ imported C subprogram.
+ (Freeze_Fixed_Point_Type): In the case of a base type where the low
+ bound would be chopped off and go from negative to zero, force
+ Loval_Excl_EP to be the same as Loval_Incl_EP (the included lower
+ bound) so that the size computation for the base type will take
+ negative values into account.
+
+2007-12-13 Eric Botcazou <ebotcazou@adacore.com>
+ Bob Duff <duff@adacore.com>
+ Tristan Gingold <gingold@adacore.com>
+
+ * system-linux-ia64.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
+ system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
+ system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads,
+ system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
+ system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
+ system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
+ system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
+ system-vxworks-arm.ads, system-darwin-x86.ads, system.ads,
+ system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
+ system-linux-ppc.ads, system-linux-hppa.ads, system-hpux-ia64.ads,
+ system-vms-ia64.ads (Stack_Check_Limits): New target parameter.
+ (Always_Compatible_Rep): New flag to control trampolines globally.
+ (Dynamic_Trampolines_Used): New flag for implementing the
+ No_Implicit_Dynamic_Code restriction more correctly (not yet used,
+ and not yet set correctly for some targets).
+
+ * s-taprop-vxworks.adb: Use stack limit method of stack checking.
+ Simply indirectly call s-stchop when a task is created.
+
+ * ali.ads:
+ New flag added: Stack_Check_Switch_Set which is set when '-fstack-check'
+ appears as an argument (entries A) in an ALI file.
+
+ * fe.h (Stack_Check_Limits): Declare new target parameter.
+ (Check_Implicit_Dynamic_Code_Allowed): New procedure.
+
+ * init.c: Declare __gnat_set_stack_limit_hook for VxWorks kernel RTS.
+ This variable is declared in C to be sure not subject to elaboration
+ code.
+ (__gnat_map_signal, VxWorks): In kernel mode, map SIGILL to
+ Storage_Error.
+
+ * targparm.ads, targparm.adb (Stack_Check_Limits): New parameter.
+ (Always_Compatible_Rep, Dynamic_Trampolines_Used): New parameters.
+
+ * s-stchop.ads: Add comments.
+
+ * s-stchop-vxworks.adb: Package almost fully rewritten to use stack
+ limit method of stack checking.
+
+ * s-stchop-limit.ads: New file.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb, s-taskin.adb, a-ciorma.adb, a-coorma.adb, a-cohama.adb,
+ a-cihama.adb, g-awk.adb,
+ s-inmaop-posix.adb: Update handling of assigned value/unreferenced
+ warnings
+
+ * exp_smem.adb: Update handling of assigned value/unreferenced warnings
+
+ * sem.adb: Update handling of assigned value/unreferenced warnings
+
+ * a-exexpr-gcc.adb: Add a pragma warnings off for boolean return
+
+ * lib-xref.ads: Improve documentation for k xref type
+
+ * lib-xref.adb:
+ Update handling of assigned value/unreferenced warnings
+ (Generate_Reference): Warning for reference to entity for which a
+ pragma Unreferenced has been given should be unconditional.
+ If the entity is a discriminal, mark the original
+ discriminant as referenced.
+
+ * sem_warn.ads, sem_warn.adb
+ (Check_One_Unit): Test Renamed_In_Spec to control giving warning for
+ no entities referenced in package
+ (Check_One_Unit): Don't give message about no entities referenced in
+ a package if a pragma Unreferenced has appeared.
+ Handle new warning flag -gnatw.a/-gnatw.A
+ Update handling of assigned value/unreferenced warnings
+
+ * atree.h: Add flags up to Flag247
+ (Flag231): New macro.
+
+2007-12-13 Jose Ruiz <ruiz@adacore.com>
+
+ * adaint.h: (__gnat_plist_init): Not defined for RTX.
+
+ * initialize.c (__gnat_initialize): Do not call __gnat_plist_init for
+ RTX systems.
+
+ * Makefile.in: Add new files s-tasinf-linux.ads and s-tasinf-linux.adb.
+ (LIBGNAT_TARGET_PAIRS, MISCLIB, THREADSLIB,
+ EXTRA_GNATRTL_NONTASKING_OBJS, EXTRA_GNATRTL_TASKING_OBJS,
+ GNATLIB_SHARED for RTX run time): Use the versions required by RTX.
+
+ * mingw32.h:
+ Do not define GNAT_UNICODE_SUPPORT for RTX since it is not supported.
+
+ * sysdep.c (winflush_function for RTX): Procedure that does nothing
+ since we only have problems with Windows 95/98, which are not
+ supported by RTX.
+ (__gnat_ttyname): Return the empty string on Nucleus, just as
+ done on vxworks.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * a-textio.adb, a-textio.ads:
+ Extensive changes to private part for wide character encoding
+
+ * a-witeio.adb, a-witeio.ads, a-ztexio.ads, a-ztexio.adb
+ (Look_Ahead): Fix mishandling of encoded sequences
+ Move declaration of Wch_Con to private part (should not be visible)
+
+ * ali.adb (Scan_ALI): Set default encoding method to brackets instead of
+ UTF-8. Probably this is never used, but if it is, brackets is
+ clearly correct.
+
+ * bindgen.adb (Get_WC_Encoding): New procedure to properly handle
+ setting wide character encoding for no main program case and when
+ encoding is specified using -W?
+ Initialize stack limit of environment task if stack limit method of
+ stack checking is enabled.
+ (Gen_Adainit_Ada): Use Get_WC_Encoding to output encoding method
+ (Gen_Adainit_C): Use Get_WC_Encoding to output encoding method
+ (Get_Main_Unit_Name): New function.
+ (Gen_Adainit_Ada): Add call to main program for .NET when needed.
+ (Gen_Output_File): Set Bind_Main_Program to True for .NET
+
+ * bindusg.adb: Add line for -Wx switch
+
+ * s-wchcon.adb, s-wchcon.ads: (Is_Start_Of_Encoding): New function
+ Add comments
+ Add new useful constant WC_Longest_Sequences
+
+ * switch-b.adb: Clean up handling of -Wx switch
+ For -gnatWx, set Wide_Character_Encoding_Method_Specified
+
+ * switch-c.adb: -gnatg activates warning on assertion errors
+ For -gnatWx, set Wide_Character_Encoding_Method_Specified
+
+ * s-wchcon.adb: (Is_Start_Of_Encoding): New function
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * a-ngcoty.adb: New pragma Fast_Math
+
+ * opt.adb: New pragma Fast_Math
+
+ * par-prag.adb:
+ Add Implemented_By_Entry to the list of pragmas which do not require any
+ special processing.
+ (Favor_Top_Level): New pragma.
+ New pragma Fast_Math
+
+ * exp_attr.adb: Move Wide_[Wide_]Image routines to Exp_Imgv
+ (Expand_N_Attribute_Reference, Displace_Allocator_Pointer,
+ Expand_Allocator_Expression): Take into account VM_Target
+ (Expand_Attribute, case 'Identity): Handle properly the case where
+ the prefix is a task interface.
+ New pragma Fast_Math
+
+ * par.adb (Next_Token_Is): New function
+ (P_Pragma): Add Skipping parameter
+ (U_Left_Paren): New procedure
+ (U_Right_Paren): New procedure
+ New pragma Fast_Math
+
+ * par-ch10.adb (P_Subunit): Unconditional msg for missing ) after
+ subunit
+ New pragma Fast_Math
+
+ * sem_prag.adb: Add significance value to table Sig_Flag for pragma
+ Implemented_By_Entry.
+ (Analyze_Pragma): Add case for Ada 2005 pragma Implemented_By_Entry.
+ (Set_Inline_Flags): Do not try to link pragma Inline onto chain of rep
+ items, since it can apply to more than one overloadable entity. Set
+ new flag Has_Pragma_Inline_Always for Inline_Always case.
+ (Analyze_Pragma, case Complex_Representation): Improve error message.
+ (Analyze_Pragma, case Assert): When assertions are disabled build the
+ rewritten code with Sloc of expression rather than pragma, so new
+ warning about failing is not deleted.
+ (Analyze_Pragma): Allow pragma Preelaborable_Initialization to apply to
+ protected types and update error message to reflect that. Test whether
+ the protected type is allowed for the pragma (an error is issued if the
+ type has any entries, or components that do not have preelaborable
+ initialization).
+ New pragma Fast_Math
+ (Analyze_Pragma, case No_Return): Handle generic instance
+
+ * snames.h, snames.ads, snames.adb:
+ Add new predefined name for interface primitive _Disp_Requeue.
+ New pragma Fast_Math
+
+ * a-tags.ads, a-tags.adb: New calling sequence for
+ String_To_Wide_[Wide_]String
+ (Secondary_Tag): New subprogram.
+
+ * exp_imgv.ads, exp_imgv.adb: Move Wide_[Wide_]Image routines here
+ from Exp_Attr
+ New calling sequence for String_To_Wide_[Wide_]String
+ (Expand_Image_Attribute): Major rewrite. New calling sequence avoids
+ the use of the secondary stack for image routines.
+
+ * a-except-2005.adb, s-wchstw.ads, s-wchstw.adb, s-wwdenu.adb: New
+ calling sequence for String_To_Wide_[Wide_]String
+
+ * par-ch3.adb (P_Declarative_Items): Recognize use of Overriding in
+ Ada 95 mode
+ (P_Unknown_Discriminant_Part_Opt): Handle missing parens gracefully
+ Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+
+ * par-ch6.adb (P_Subprogram): Recognize use of Overriding in Ada 95 mode
+ (P_Formal_Part): Use Skipping parameter in P_Pragma call
+ to improve error recovery
+
+ * par-util.adb (Next_Token_Is): New function
+ (Signal_Bad_Attribute): Use new Namet.Is_Bad_Spelling_Of function
+
+ * par-ch2.adb (Skip_Pragma_Semicolon): Do not resynchronize to
+ semicolon if missing
+ (P_Pragma): Implement new Skipping parameter
+ Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+ Fix location of flag for unrecognized pragma message
+
+ * par-tchk.adb (U_Left_Paren): New procedure
+ (U_Right_Paren): New procedure
+
+2007-12-13 Geert Bosch <bosch@adacore.com>
+
+ * a-tifiio.adb:
+ (Put_Int64): Use Put_Digit to advance Pos. This fixes a case where
+ the second or later Scaled_Divide would omit leading zeroes,
+ resulting in too few digits produced and a Layout_Error as result.
+ (Put): Initialize Pos.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ atree.ads, atree.adb (Flag231..Flag247): New functions
+ (Set_Flag231..Set_Flag247): New procedures
+ (Basic_Set_Convention): Rename Set_Convention to be
+ Basic_Set_Convention
+ (Nkind_In): New functions
+ Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+
+ * exp_ch6.adb (Expand_Call): Use new flag Has_Pragma_Inline_Always
+ instead
+ of obsolete function Is_Always_Inlined
+ (Register_Predefined_DT_Entry): Initialize slots of the second
+ secondary dispatch table.
+ Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+ (Expand_N_Function_Call): Remove special provision for stack checking.
+
+ * exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
+ Include _Disp_Requeue in the list of predefined operations.
+ (Find_Interface_ADT): Modified to fulfill the new specification.
+ Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+
+ * par-ch4.adb, nlists.ads, nlists.adb:
+ Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+
+ * sinfo.ads, sinfo.adb: (Nkind_In): New functions
+ Fix location of flag for unrecognized pragma message
+
+ * sem_ch7.adb: Use Nkind_In
+
+2007-12-13 Vincent Celier <celier@adacore.com>
+
+ * opt.ads:
+ Indicate what flags are used by the Project Manager, gprbuild and
+ gprclean.
+ (Opt.Follow_Links_For_Dirs): New flag
+ (Warn_On_Assertion_Failure): New flag
+ (Wide_Character_Encoding_Method_Specified): New flag
+ (Suppress_All_Inlining): New switch set by -fno-inline
+ (Real_VMS_Target): New flag
+ New pragma Fast_Math
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * back_end.adb: Recognize -fno-inline
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb: Fix optimization problem with short-circuited form
+
+2007-12-13 Bob Duff <duff@adacore.com>
+
+ * clean.adb (Usage): Add line for -aP
+ (Check_Version_And_Help): Change Check_Version_And_Help to be generic,
+ with a parameter "procedure Usage", instead of passing a pointer to a
+ procedure. This is to eliminate trampolines (since the Usage procedure
+ is often nested in a main procedure, and it would be inconvenient to
+ unnest it).
+
+ * g-comlin.adb (For_Each_Simple_Switch): Change For_Each_Simple_Switch
+ to be generic, with a parameter "procedure Callback (...)", instead of
+ passing a pointer to a procedure. This is to eliminate trampolines
+ (since the Callback procedure is usually nested).
+
+ * gnatfind.adb, switch.adb, switch.ads, gnatlink.adb, gnatls.adb,
+ gnatname.adb, gnatxref.adb, gnatchop.adb, gprep.adb, gnatbind.adb
+ (Check_Version_And_Help): Change Check_Version_And_Help to be generic.
+
+ * g-pehage.adb (Compute_Edges_And_Vertices, Build_Identical_Key_Sets):
+ Use the generic Heap_Sort_G instead of Heap_Sort_A.
+
+2007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.ads, einfo.adb: Flag 232 is now Implemented_By_Entry.
+ (Implemented_By_Entry, Set_Implemented_By_Entry): New routines.
+ (Write_Entry_Flags): Add an entry for Implemented_By_Entry.
+ (Renamed_In_Spec): New flag
+ (Has_Pragma_Inline_Always): New flag
+ Add missing doc for pragma Obsolescent_Warning
+ Add missing doc for 17 additional unused flags (230-247)
+ (Is_Derived_Type): Remove condition "not Is_Generic_Type".
+ Alphabetize with clauses.
+ Separate Is_Thunk and Has_Thunks flags
+ (Write_Entity_Flags): Add forgotten entry for Has_Thunks
+ (Related_Interface): Renamed to Related_Type.
+ (Has_Thunks/Set_Has_Thunks): Subprograms of new attribute.
+ (Set_Is_Flag): Restrict the assertion.
+
+2007-12-13 Vincent Celier <celier@adacore.com>
+
+ * errout.adb (Output_Source_Line): Do not keep a trailing space after
+ the source line number if the source line is empty.
+
+2007-12-13 Geert Bosch <bosch@adacore.com>
+
+ * eval_fat.adb (Decompose_Int): Handle argument of zero.
+ (Compose): Remove special casing of zero.
+ (Exponent): Likewise.
+ (Fraction): Likewise.
+ (Machine): Likewise.
+ (Decompose): Update comment.
+
+2007-12-13 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): If there is an aggregate for a
+ limited ancestor part, initialize controllers of enclosing record
+ before expanding ancestor aggregate.
+ (Gen_Assign): If a component of the aggregate is box-initialized, add
+ code to call Initialize if the component is controlled, and explicit
+ assignment of null if the component is an access type.
+
+ Handle properly aggregates for limited types that appear in object
+ declarations when the aggregate contains controlled values such as
+ protected types.
+ When expanding limited aggregates into individual components, do not
+ call Adjust on controlled components that are limited.
+
+2007-12-13 Ed Schonberg <schonberg@adacore.com>
+
+ * expander.adb: Take into account N_Subprogram_Renaming_Declaration
+
+2007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb (Predefined_Primitive_Bodies): Generate the body of
+ predefined primitive _Disp_Requeue.
+ (Make_Predefined_Primitive_Specs): Create the spec for predefined
+ primitive _Disp_Requeue.
+ (Make_Predefined_Primitive_Specs/Predefined_Primitive_Bodies): Set the
+ type of formal Renamed_Eq to Entity_Id (instead of Node_Id).
+ (Make_Predefined_Primitive_Specs): Spec of "=" needed if the parent is
+ an interface type. In case of limited interfaces we now declare all the
+ predefined primitives associated with synchronized interfaces as
+ abstract.
+ (Predef_Spec_Or_Body): For interface types generate abstract subprogram
+ declarations.
+ (Predefined_Primitive_Bodies): Add body of "=" if the parent of the
+ tagged type is an interface type and there is no user-defined equality
+ function.
+ Add also bodies of predefined primitives associated with synchronized
+ interfaces.
+ (Freeze_Record_Type): Do not build bodies of predefined primitives of
+ interface types because they are now defined abstract.
+ Add missing documentation.
+ (Expand_Record_Controller): Update occurrence of Related_Interface
+ to Related_Type.
+ (Build_Offset_To_Top_Functions): Do nothing in case of VM.
+ (Expand_N_Object_Declaration): Take into account VM_Target when handling
+ class wide interface object declaration.
+ (Expand_Previous_Access_Type): Do not create a duplicate master entity
+ if the access type already has one.
+ (Expand_N_Object_Declaration): Defend against attempt to validity check
+ generic types. Noticed for -gnatVcf specified with previous errors.
+
+2007-12-13 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Attribute_Reference, Displace_Allocator_Pointer,
+ Expand_Allocator_Expression): Take into account VM_Target
+
+ * exp_ch5.adb (Expand_N_Extended_Return_Statement): Do not use
+ secondary stack when VM_Target /= No_VM
+
+2007-12-13 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch7.adb (Expand_N_Package_Body): Replace occurrence of attribute
+ Is_Complation_Unit by Is_Library_Level_Entity in the code
+ that decides if the static dispatch tables need to be built.
+ (Wrap_Transient_Declaration): Do not generate a finalization call if
+ this is a renaming declaration and the renamed object is a component
+ of a controlled type.
+
+2007-12-13 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch8.ads, exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration):
+ In the case where the renamed subprogram is a dereference, call
+ Force_Evaluation on the prefix.
+
+2007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch9.adb (Expand_N_Asynchronous_Select,
+ Expand_N_Conditional_Entry_Call, Expand_N_Timed_Entry_Call): Code and
+ comment reformatting.
+ (Set_Privals): Inherit aliased flag from formal. From code reading.
+ (Build_Simple_Entry_Call): Out parameters of an access type are passed
+ by copy and initialized from the actual. This includes entry parameters.
+ (Expand_N_Requeue_Statement): Reimplement in order to handle both Ada 95
+ and Ada 2005 models of requeue.
+ (Null_Statements): Still connsider do-end block null if it contains
+ Unreferenced and Warnings pragmas.
+ (Expand_N_Accept_Statement): Do not optimize away null do end if
+ dispatching policy is other than defaulted.
+ (Expand_N_Timed_Entry_Call): When the triggering statement is a
+ dispatching call, manually analyze the delay statement.
+ (Find_Parameter_Type): Move subprogram to Sem_Util.
+
+2007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Primitive
+ _Disp_Requeue occupies dispatch table slot number 15. Move
+ _Disp_Timed_Select to slot 16.
+ (Make_Disp_Requeue_Body, Make_Disp_Requeue_Spec): New routines which
+ generate the spec and body of _Disp_Reqeueue.
+ (Make_DT): Build and initialize the second dispatch table.
+ Handle initialization of RC_Offset when the parent
+ is a private type with variable size components.
+ (Make_Secondary_DT): Complete documentation. Add support to
+ initialize the second dispatch table.
+ (Make_Tags): Generate the tag of the second dispatch table.
+ (Register_Primitive): Add support to register primitives in the
+ second dispatch table.
+
+2007-12-13 Pascal Obry <obry@adacore.com>
+
+ * expect.c (__gnat_kill) [WIN32]: Implement the SIGINT signal on
+ Windows. This signal is used by gnatmake to kill child processes for
+ example.
+
+2007-12-13 Javier Miranda <miranda@adacore.com>
+
+ * exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing
+ support for generic dispatching constructor calls in which we need to
+ locate the tag of a secondary dispatch table associated with an
+ interface type to properly dispatch the call.
+ (Expand_N_Attribute_Reference [case Address],
+ Expand_Dispatching_Constructor_Call, Expand_Unc_Deallocation): Fix
+ handling of VM targets.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Assert): Recognize new warning flag for
+ assert fail
+
+ * ug_words: Add entries for -gnatw.a -gnatw.A
+
+ * sem_res.adb (Set_String_Literal_Subtype): If the context of the
+ literal is a subtype with non-static constraints, use the base type of
+ the context as the base of the string subtype, to prevent type
+ mismatches in gigi.
+ (Resolve_Actuals): If the actual is an entity name, generate a
+ reference before the actual is resolved and expanded, to prevent
+ spurious warnings on formals of enclosing protected operations.
+ (Analyze_Overloaded_Selected_Component): If type of prefix if
+ class-wide, use visible components of base type.
+ (Resolve_Selected_Component): Ditto.
+ (Resolve_Short_Circuit): Detect case of pragma Assert argument
+ evaluating to False, and issue warning message.
+
+ * usage.adb: Add lines for -gnatw.a and -gnatw.A
+
+2007-12-13 Emmanuel Briot <briot@adacore.com>
+
+ * g-calend.ads (No_Time): New constant, to represent an uninitialized
+ time value
+
+ * g-catiio.ads, g-catiio.adb (Value): Added support for more date
+ formats.
+ (Month_Name_To_Number): New subprogram
+
+ * g-dirope.adb (Get_Current_Dir): On windows, normalize the drive
+ letter to upper-case.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * gnat1drv.adb (Gnat1drv): Properly set new flag Opt.Real_VMS_Target
+
+ * layout.adb (Resolve_Attribute, case 'Access): If designated type of
+ context is a limited view, use non-limited view when available. If the
+ non-limited view is an unconstrained array, this enforces consistency
+ requirements in 3.10.2 (27).
+ (Layout_Type): For an access type whose designated type is a limited
+ view, examine its declaration to determine if it is an unconstrained
+ array, and size the access type accordingly.
+ (Layout_Type): Do not force 32-bits for convention c subprogram
+ pointers in -gnatdm mode, only if real vms target.
+
+ * sem_attr.adb (Analyze_Access_Attribute): Use new flag
+ Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
+ (Analyze_Access_Attribute,Attribute_Address): Remove checks for
+ violations of the No_Implicit_Dynamic_Code restriction.
+ (Resolve_Attribute, case 'Access): If designated type of context is a
+ limited view, use non-limited view when available. If the non-limited
+ view is an unconstrained array, this enforces consistency requirements
+ in 3.10.2 (27).
+ (Layout_Type): For an access type whose designated type is a limited
+ view, examine its declaration to determine if it is an unconstrained
+ array, and size the access type accordingly.
+
+2007-12-13 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (GNATCmd): Do not issue -d= switch to gnatmetric when
+ object directory of main project does not exist.
+ On VMS, correctly set then environment variable for the source
+ directories.
+
+2007-12-13 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * g-regist.ads, g-regist.adb (Set_Value): new parameter Expand; when
+ set to True this procedure will create the value of type REG_EXPAND_SZ.
+ It was only possible to create REG_SZ values before.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * g-spchge.ads, g-spchge.adb, g-u3spch.adb, g-u3spch.ads,
+ g-wispch.adb, g-wispch.ads, g-zspche.adb, g-zspche.ads,
+ namet-sp.adb, namet-sp.ads: New files.
+
+ * g-speche.adb: Use generic routine in g-spchge
+
+ * s-wchcnv.ads, s-wchcnv.adb:
+ Minor code cleanup (make formal type consistent with spec)
+
+ * namet.adb: Update comments.
+
+ * par-endh.adb (Evaluate_End_Entry): Use new
+ Namet.Sp.Is_Bad_Spelling_Of function
+
+ * par-load.adb (Load): Use new Namet.Sp.Is_Bad_Spelling_Of function
+
+ * sem_aggr.adb (Resolve_Record_Aggregate): If a component of an
+ ancestor is an access type initialized with a box, set its type
+ explicitly, for use in subsequent expansion.
+ (Check_Misspelled_Component): Use new Namet.Sp.Is_Bad_Spelling_Of
+ function
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * g-spipat.adb (Break): Fix accessibility error (vsn taking not null
+ access Vstring)
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * inline.adb (Back_End_Cannot_Inline): Use new flag
+ Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
+
+ * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Use new flag
+ Has_Pragma_Inline_Always instead.
+ of obsolete function Is_Always_Inlined
+ (Build_Body_To_Inline): Same change
+ (Cannot_Inline): Same change
+ Do not give warning on exception raise in No_Return function
+
+ * sem_ch13.adb (Analyze_Record_Representation_Clause): If an inherited
+ component has two inconsistent component clauses in the same record
+ representation clause, favor the message that complains about
+ duplication rather than inconsistency.
+ Update comments.
+ (Record_Representation_Clause): Do not warn on missing component
+ clauses for inherited components of a type extension.
+ (Rep_Item_Too_Late): Do not attempt to link pragma into rep chain for
+ an overloadable item if it is a pragma that can apply to multiple
+ overloadable entities (e.g. Inline) because a pragma cannot be on
+ more than one chain at a time.
+ (Validate_Unchecked_Conversion): Add code to warn on unchecked
+ conversion where one of the operands is Ada.Calendar.Time.
+ (Analyze_Attribute_Definition_Clause): Fix typo in error message.
+ For now, ignore Component_Size clause on VM targets, as done for
+ pragma Pack.
+
+2007-12-13 Emmanuel Briot <briot@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * prj.ads, prj.adb (Is_A_Language): Now takes a Name_Id instead of a
+ string
+ (Must_Check_Configuration, Default_Language_Is_Ada): new flags in
+ prj.ads
+ (Hash): Move instantiation of System.HTable.Hash from spec to body
+ (prj-nmsc.adb): Optimize calls to Name_Find when on case sensitive
+ systems, since we do not need to recompute the Name_Id for the canonical
+ file name.
+ (Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id
+ as a parameter. This parameter is in fact always "ada" in all calls, and
+ we were doing 160560 extra calls to Name_Find to convert it to Name_Ada
+ while loading a project with 40000 files
+
+ * prj-attr.adb: Fix name of attribute Dependency_Driver
+ Change the kind of indexing for attribute Root
+
+ * prj-dect.adb (Parse_Declarative_Items): Allow redeclarations of
+ variables already declared, in case constructions.
+
+ * prj-env.adb (Initialize): Reset Current_Source_Path_File and
+ Current_Object_Path_File to No_Path.
+
+ * prj-ext.adb (Initialize_Project_Path): In multi language mode, use
+ ADA_PROJECT_PATH if value of GPR_PROJECT_PATH is empty.
+
+ * prj-makr.adb: new parameter Current_Dir
+
+ * prj-nmsc.ads, prj-nmsc.adb (Find_Explicit_Sources): Do not look for
+ Ada sources when language is not Ada.
+ Change Opt.Follow_Links to Opt.Follow_Links_For_Files.
+ (Find_Excluded_Sources, Find_Explicit_Sources): new subprograms
+ (Must_Check_Configuration, Default_Language_Is_Ada): new flags.
+ (Locate_Directory): Always resolve links when computing Canonical_Path
+ (Look_For_Sources): Make sure that Name_Buffer contains the file name
+ in Source_Files before checking for the presence of a directory
+ separator.
+ Optimize calls to Name_Find when on case sensitive systems.
+ (Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id
+ as a parameter.
+ (Prj.Nmsc.Check): new parameter Current_Dir
+ (Check_Ada_Naming_Schemes): Restrictions on suffixes are relaxed. They
+ cannot be empty and the spec suffix cannot be the same as the body or
+ separate suffix.
+ (Get_Unit): When a file name can be of several unit kinds (spec, body or
+ subunit), always consider the longest suffix.
+ (Check_Configuration): Do not issue an error if there is no compiler
+ for a language. Just issue a warning and ignore the sources for the
+ language.
+ (Check_Library_Attributes): Only check Library_Dir if Library_Name is
+ not empty.
+ (Check_Naming_Schemes.Maked_Unit): Only output message if high verbosity
+ (Unit_Exceptions): New hash table
+ (Check_Naming_Schemes): Check if a file that could be a unit because of
+ the naming scheme is not in fact a source because there is an exception
+ for the unit.
+ (Look_For_Sources): Put the unit exceptions in hash table
+ Unit_Exceptions
+ (Get_Unit_Exceptions): Give initial value No_Source to local variable
+ Other_Part to avoid exception when code is compiled with validity
+ checking.
+ (Get_Sources_From_File): Check that there is no directory information
+ in the file names.
+ (Look_For_Sources): Check that there is no directory information in the
+ list of file names in Source_Files.
+ (Look_For_Sources): In multi-language mode, do not allow exception file
+ names that are excluded.
+ (Excluded_Sources_Htable): New hash table
+ (Search_Directories.Check_File): New procedure to simplify
+ Search_Directories.
+ (Search_Directories): Do not consider excluded sources
+ (Look_For_Sources): Populate Excluded_Sources_Htable before calling
+ Search_Directories.
+ (Get_Exceptions): Set component Lang_Kind of Source_Data
+ (Get_Unit_Exceptions): Ditto
+ (Search_Directories): Ditto
+
+ * prj-pars.adb: new parameter Current_Dir
+
+ * prj-part.ads, prj-part.adb:
+ Change Opt.Follow_Links to Opt.Follow_Links_For_Files.
+ (Opt.Follow_Links_For_Dirs): New flag
+ (Project_Path_Name_Of): Cache information returned by this routine as
+ Locate_Regular_File is a costly routine. The code to output a log
+ information and the effective call to Locate_Regular_File is now
+ factorized into a routine (code clean-up).
+ (Parse, Parse_Single_Project): new parameter Current_Dir
+ When main project file cannot be found, indicate in the error
+ message the project path that was used to do the search.
+
+ * prj-proc.ads, prj-proc.adb (Opt.Follow_Links_For_Dirs): New flag
+ (Prj.Proc.Process*): new parameter Current_Dir
+
+ * switch-m.adb: Change Opt.Follow_Links to Opt.Follow_Links_For_Files
+
+2007-12-13 Bob Duff <duff@adacore.com>
+
+ * restrict.ads, restrict.adb (Check_Implicit_Dynamic_Code_Allowed): New
+ procedure to be called from the back end to check the
+ No_Implicit_Dynamic_Code restriction.
+
+2007-12-13 Arnaud Charlet <charlet@adacore.com>
+
+ * rtsfind.adb (Check_CRT): Take into account RTE_Available_Call
+ Fixes another case where RTE_Available_Call was ignored instead of being
+ taken into account.
+ (Load_Fail): Ditto.
+
+ * rtsfind.ads: Add new entries.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * g-byorma.adb, g-byorma.ads, g-decstr.adb, g-decstr.ads,
+ g-deutst.ads, g-encstr.adb, g-encstr.ads, g-enutst.ads: New files.
+
+ * scn.adb: Implement BOM recognition
+
+2007-12-13 Thomas Quinot <quinot@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Check_Private_Child_Unit): A non-private library level
+ subprogram body that acts as its own spec may not have a non-private
+ WITH clause on a private sibling.
+ (Build_Unit_Name): If the parent unit in the name in a with_clause on a
+ child unit is a renaming, create an implicit with_clause on that
+ parent, and not on the unit it renames, to prevent visibility errors
+ in the current unit.
+
+2007-12-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Instantiate_Formal_Subprogram): In the subprogram
+ renaming declaration, use the Slocs of the formal parameters from the
+ declaration of the formal subprogram when creating the formal parameter
+ entities in the renaming declaration.
+ (Analyze_Formal_Type_Declaration): Change the placement of the error
+ message concerning illegal known discriminants. It is now posted on the
+ type rather than on the first discriminant. This change ensures early
+ error report.
+ (Freeze_Subprogram_Body): If the generic subprogram is nested within
+ the package body that contains the instance, do not generate an
+ out-of-place freeze node for the enclosing package.
+ (Collect_Previous_Instantiations): Ignore internal instantiations
+ generated for formal packages.
+ (Validate_Derived_Type_Instance): Add a check that when a formal
+ derived type is Known_To_Have_Preelab_Init then the actual type must
+ have preelaborable initialization, and issue an error when this
+ condition is violated.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * s-imenne.adb, s-imenne.ads: New files.
+
+ * s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
+ s-imgdec.ads, s-imgenu.ads, s-imgint.adb, s-imgint.ads, s-imglld.adb,
+ s-imglld.ads, s-imglli.adb, s-imglli.ads, s-imgllu.adb, s-imgllu.ads,
+ s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwch.adb,
+ s-imgwch.ads: New calling sequence for Image routines to avoid sec
+ stack usage.
+
+2007-12-13 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Avoid
+ generation of spurious error if parent is an interface type; caused
+ because predefined primitive bodies will be generated later by
+ Freeze_Record_Type.
+ (Process_Subtype): The subtype inherits the Known_To_Have_Preelab_Init
+ flag.
+ (Derive_Subprograms): Handle derivations of predefined primitives
+ after all the user-defined primitives to ensure that they are
+ found in proper order in instantiations.
+ (Add_Interface_Tag_Components, Inherit_Components): Update occurrences
+ of Related_Interface to Related_Type.
+ (Record_Type_Declaration): Minor reordering of calls to decorate the
+ Tag component because the entity must have set its Ekind attribute
+ before setting its Is_Tag attribute.
+ (Analyze_Subtype_Declaration): In the case of subtypes with
+ Private_Kind, inherit Known_To_Have_Preelab_Init from the parent.
+
+2007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): Include the requeue
+ statement to the list of contexts where a selected component with a
+ concurrent tagged type prefix should yield a primitive operation.
+ (Find_Primitive_Operation): Handle case of class-wide types.
+ (Analyze_Overloaded_Selected_Component): If type of prefix is
+ class-wide, use visible components of base type.
+ (Resolve_Selected_Component): Ditto.
+ (Try_Primitive_Operation, Collect_Generic_Type_Ops): If the type is a
+ formal of a generic subprogram. find candidate interpretations by
+ scanning the list of generic formal declarations.:
+ (Process_Implicit_Dereference_Prefix): If the prefix has an incomplete
+ type from a limited_with_clause, and the full view is available, use it
+ for subsequent semantic checks.
+ (Check_Misspelled_Selector): Use Namet.Sp.Is_Bad_Spelling_Of function
+ (Find_Primitive_Operation): New function.
+ (Analyze_Overloaded_Selected_Component): insert explicit dereference
+ only once if several interpretations of the prefix yield an access type.
+ (Try_Object_Operation): Code and comment cleanup.
+ (Analyze_Selected_Component): Reorder local variables. Minot comment and
+ code reformatting. When the type of the prefix is tagged concurrent, a
+ correct interpretation might be available in the primitive and
+ class-wide operations of the type.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Special error message for
+ renaming entry as subprogram using rename-as-body if subprogram spec
+ frozen.
+ (Use_One_Type): The clause is legal on an access type whose designated
+ type has a limited view.
+ (Find_Direct_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
+ (Find_Expanded_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
+ (Analyze_Renamed_Primitive_Operation): new procedure to determine the
+ operation denoted by a selected component.
+ (Analyze_Renamed_Entry): Resolve the prefix of the entry name, because
+ it can be an expression, possibly overloaded, that returns a task or
+ an access to one.
+
+2007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch9.adb (Analyze_Requeue): Add a local flag to capture whether a
+ requeue statement is dispatching. Do not emit an error when the name is
+ not an entry and the context is a dispatching select. Add code to
+ perform subtype conformance between the formals of the current entry
+ and those of the target interface primitive.
+ (Analyze_Asynchronous_Select, Analyze_Conditional_Entry_Call, Analyze_
+ Timed_Entry_Call): Analyze the triggering statement as the first step of
+ the processing. If this is a dispatching select, postpone the analysis
+ of all select statements until the Expander transforms the select. This
+ approach avoids generating duplicate identifiers after the Expander has
+ replicated some of the select statements. In case the Expander is
+ disabled, perform regular analysis.
+ (Check_Triggering_Statement): New routine.
+ (Analyze_Requeue): Exclude any interpretations that are not entries when
+ checking overloaded names in a requeue. Also test type conformance for
+ matching interpretations rather than requiring subtype conformance at
+ that point to conform with the RM's resolution rule for requeues.
+
+2007-12-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_disp.adb (Check_Dispatching_Call): If an actual in a call to an
+ inherited operation is a defaulted tag-indeterminate call, and there is
+ a statically tagged actual, use the static tag as a controlling actual
+ for the defaulted actual.
+
+2007-12-13 Geert Bosch <bosch@adacore.com>
+
+ * sem_eval.adb (Eval_Real_Literal): N_Constant_Declaration is a static
+ context, so do not call Check_Non_Static_Context.
+
+2007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_type.adb (Function_Interp_Has_Abstract_Op): Add guard to check
+ whether formal E is an entity which may have parameters.
+
+2007-12-13 Bob Duff <duff@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_util.ads, sem_util.adb (Is_Concurrent_Interface): New routine.
+ (Set_Convention): New procedure to set the Convention flag, and in
+ addition make sure the Favor_Top_Level flag is kept in sync (all
+ foreign-language conventions require Favor_Top_Level = True).
+ (Collect_Abstract_Interfaces): Update occurrences of Related_Interface
+ to Related_Type.
+ (Collect_Interfaces_Info): Minor update to handle the two secondary
+ dispatch tables. Update occurrence of Related_Interface to Related_Type.
+ (Generate_Parent_Ref): Add parameter to specify entity to check
+ (Is_Preelaborable_Expression): Allow the name of a discriminant to
+ initialize a component of a type with preelaborable initialization.
+ This includes the case of a discriminal used in such a context.
+ (Is_Dependent_Component_Of_Mutable_Object): Take into account the
+ latest Ada 2005 rules about renaming and 'Access of
+ discriminant-dependent components.
+ (Check_Nested_Access): Add handling when there are no enclosing
+ subprograms (e.g. case of a package body).
+ (Find_Parameter_Type): Factor routine from several other compiler files.
+ Remove routine from Find_Overridden_Synchronized_Primitive.
+
+2007-12-13 Thomas Quinot <quinot@adacore.com>
+
+ * sinput.adb (Get_Source_File_Index): Add assertion to guard against
+ an invalid access to an uninitialized slot in the
+ Source_File_Index_Table.
+
+2007-12-13 Thomas Quinot <quinot@adacore.com>
+
+ * sinput-l.adb (Load_File): Disable style checks when preprocessing.
+
+2007-12-13 Bob Duff <duff@adacore.com>
+
+ * s-soflin.ads: Apply new pragma Favor_Top_Level to all
+ access-to-subprogram types in this package.
+
+2007-12-13 Olivier Hainque <hainque@adacore.com>
+
+ * s-stausa.ads (Stack_Analyzer): Remove First_Is_Topmost, redundant
+ with Stack_Grows_Down in System.Parameters. Rename Array_Address into
+ Stack_Overlay_Address and document that we are using an internal
+ abstraction.
+ (Byte_Size, Unsigned_32_Size): Remove, now useless.
+ (Pattern_Type, Bytes_Per_Pattern): New subtype and constant, to be used
+ consistently throughout the various implementation pieces.
+
+ * s-stausa.adb (Stack_Slots): New type, abstraction for the stack
+ overlay we are using to fill the stack area with patterns.
+ (Top_Slot_Index_In, Bottom_Slot_Index_In): Operations on Stack_Slots.
+ (Push_Index_Step_For, Pop_Index_Step_For): Likewise.
+ (Fill_Stack, Compute_Result): Use the Stack_Slots abstraction.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * s-stoele.adb ("mod"): mod negative value raises Constraint_Error
+
+2007-12-13 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tassta.adb:
+ (Create_Task): Take into account tasks created by foreign threads.
+ Code clean up: use constants instead of hard coded values.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * styleg.adb (Check_Comment): More liberal rules for comment placement
+
+2007-12-13 Olivier Hainque <hainque@adacore.com>
+
+ * tb-alvms.c (struct tb_entry_t, __gnat_backtrace): Revert back to use
+ of Procedure Value instead of Frame Pointer as the invocation
+ identifier associated with the instruction pointer in each traceback
+ entry.
+
+ * g-trasym-vms-alpha.adb (Traceback_Entry, PV_For, FP_For,
+ TB_Entry_For): Revert back to use of Procedure Value instead of Frame
+ Pointer as the invocation identifier passed to tbk$symbolize.
+
+ * s-traent-vms.ads, s-traent-vms.adb
+ (Traceback_Entry, PV_For, FP_For, TB_Entry_For): Revert back to use of
+ Procedure Value instead of Frame Pointer as the invocation identifier
+ passed to tbk$symbolize.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * tbuild.ads, tbuild.adb:
+ Fix location of flag for unrecognized pragma message
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * treepr.ads, treepr.adb: (pl): implement use of positive value
+ shorthands
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * xeinfo.adb: Remove warnings
+ * xnmake.adb: Remove warnings
+ * xsinfo.adb: Remove warnings
+ * xtreeprs.adb: Remove warnings
+ * xsnames.adb: Remove warnings
+
+ * a-ngcoar.adb: Fix typo.
+ * s-interr.adb: Minor reformatting
+ * env.c: Minor reformatting.
+ * g-bytswa.adb: Minor reformatting.
+ * g-rannum.ads: Minor documentation improvements
+ * s-tasinf-mingw.adb: Minor header fix
+ * a-clrefi.adb: Minor reformatting
+ * g-sttsne.ads: Minor documentation improvement
+ * g-sttsne-locking.ads: Minor documentation improvement
+ * g-soliop-solaris.ads: Minor documentation improvement
+ * g-soliop-mingw.ads: Minor documentation improvement
+ * g-soliop.ads: Minor documentation improvement
+ * exp_aggr.ads: Minor reformatting
+ * debug.adb: Add documentation for the gprbuild debug flags
+ * exp_ch2.adb: Use Nkind_In to simplify code throughout
+ * exp_pakd.adb: Minor reformatting
+
+ * g-altive.ads, g-alleve.adb: Remove assertions.
+ Add comment about minor differences between targets regarding
+ floating-point operations.
+
+ * g-thread.adb: Remove pragma unreferenced.
+ * lib.ads: Minor reformatting
+ * par-ch9.adb: Minor reformatting of error messages
+ * sem_case.adb: Minor reformatting
+ * s-fileio.adb: Minor reformattinng
+ * s-vmexta.ads: Minor typo
+ * vxaddr2line.adb:
+ Take into account 'Success' value as per new GNAT warning.
+
+2007-12-13 Vincent Celier <celier@adacore.com>
+
+ * a-direct.adb (Create_Path): Always take '/' as a directory separator,
+ even on Windows
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * gnat_ugn.texi: Dcoument new rules for style check comment alignment
+ Document that suffixes may be terminations of each others
+ Add doc for -gnatw.a and -gnatw.A
+ Document gnatbind -Wx switch
+ Document BOM recognition
+ Document pragma Implemented_By_Entry.
+ Document new units.
+
+ * gnat_rm.texi: (Favor_Top_Level): Document new pragma.
+ Add doc for pragma Unreferenced suppressing no entities referenced msg
+ Add documentation of GNAT.Directory_Operations.Iteration
+ Add documentation of GNAT.Random_Numbers
+ Add documentation for pragma Shared.
+ Correct documentation for Bit_Order
+ Add documentation for the Pool_Address attribute.
+ Fix and improve documentation of pragma machine_attribute.
+ New pragma Fast_Math
+ Document BOM recognition
+
+ * vms_data.ads: Add entries for -gnatw.a -gnatw.A
+ Add /Wide_Character_Encoding for binder
+ Add qualifier for the new gnatpp option --no-separate-loop-then
+
+2007-12-13 Matthew Heaney <heaney@adacore.com>
+
+ * a-cohase.ads, a-cihama.ads, a-cihase.ads, a-cohama.ads: Document
+ which generic formal operations are called for each operation.
+
+2007-12-13 Olivier Hainque <hainque@adacore.com>
+
+ * tb-gcc.c (uw_data_t, trace_callback): Only define if not GCC-SJLJ eh.
+ (__gnat_backtrace): Early return 0 if using GCC-SJLJ eh.
+
+2007-12-13 Emmanuel Briot <briot@adacore.com>
+
+ * s-os_lib.ads, s-os_lib.adb (Normalize_Pathname): Do not compute
+ Reference_Dir unless we actually need it.
+
+2007-12-13 Vasiliy Fofanov <fofanov@adacore.com>
+ Tristan Gingold <gingold@adacore.com>
+
+ * g-socthi-vms.ads (Fd_Set_Access): make it 32-bit.
+
+ * s-osprim-vms.adb,
+ a-calend-vms.adb: Remove pragma warning off and add pragma
+ unreferenced.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * impunit.adb: Add entries for missing units
+
+ * Makefile.rtl: Add new run-time units.
+
+ * Make-lang.in: Update dependencies.
+
+2007-12-13 Bob Duff <duff@adacore.com>
+
+ * itypes.ads, itypes.adb (Create_Itype): For access-to-subprogram
+ types, set Can_Use_Internal_Rep appropriately, based on
+ Always_Compatible_Rep_On_Target.
+
+2007-12-13 Gary Dismukes <dismukes@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * make.adb (Scan_Make_Arg): Add test for -aamp_target switch, passing
+ it to the front end and setting the aamp_target environment variable
+ to the switch's argument to ensure that gnaampbind and gnaamplink will
+ take the specified library into account.
+ (Make): Only set Check_Object_Consistency to False for JVM, not for CIL
+ target, since the CIL compiler supports an "object" file (.il files).
+
+2007-12-13 Vincent Celier <celier@adacore.com>
+
+ * symbols-processing-vms-ia64.adb (Process.Skip_Half): New procedure
+ (Process.H): Remove variable. Replace Read_Half (H) with Skip_Half.
+
+2007-12-13 Geert Bosch <bosch@adacore.com>
+
+ * s-parame-vxworks.adb:
+ Update comments to reflect usage of this package by Nucleus.
+
+2007-12-13 Arnaud Charlet <charlet@adacore.com>
+
+ * i-vxwork.ads: Kill new warning on Convention C, since changing the
+ spec would break code.
+
+ * i-forbla-unimplemented.ads, vx_stack_info.c: New files.
+
+ * system-vxworks-alpha.ads: Removed.
+
+2007-12-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * ada-tree.h (TYPE_RETURNS_BY_TARGET_PTR_P): Move around.
+
+2007-12-09 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/34366
+ * sem_ch3.adb (Designates_T): New function.
+ (Mentions_T): Factor reusable part of the logic into Designates_T.
+ Consider non-access parameters and access and non-access result.
+ (Check_Anonymous_Access_Components): Set ekind of anonymous access to
+ E_Subprogram_Type to E_Anonymous_Access_Subprogram_Type.
+
+ * einfo.ads: Update comment for E_Anonymous_Access_Subprogram_Type.
+
+2007-12-07 Ludovic Brenta <ludovic@ludovic-brenta.org>
+
+ PR ada/34361
+ * mlib-tgt.adb, mlib-tgt.ads: Fix comments at the top to reflect
+ the new implementation of target-specific calls.
+
+2007-12-07 Olivier Hainque <hainque@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <case E_Access_Type>: When computing
+ the designated full view, only follow a second level Full_View link
+ for Non_Limited_Views of from_limited_with references.
+
+2007-12-07 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/15805
+ * sem_ch6.adb (Process_Formals): Prevent an access type formal
+ to be initialized with an access to constant object.
+
+ * sem_ch3.adb (Analyze_Object_Declaration): Signal an error
+ when an access to constant is used to initialize an access
+ value.
+
+ PR ada/21346
+ * a-direct.adb (Compose): Containing_Directory can be an empty string.
+
+2007-12-07 Olivier Hainque <hainque@adacore.com>
+
+ PR ada/34173
+ * decl.c (gnat_to_gnu_entity) <case E_Array_Type>: When setting
+ the alignment on the GCC XUA array type, set TYPE_USER_ALIGN if
+ this is from an alignment clause on the GNAT entity.
+ * utils.c (create_field_decl): Rewrite the computation of DECL_ALIGN
+ to distinguish the case where we set it from the type's alignment.
+ When so, propagate TYPE_USER_ALIGN into DECL_USER_ALIGN to indicate
+ whether this alignment was set from an explicit alignment clause.
+
+2007-12-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (make_packable_type): Revert last change.
+ (gnat_to_gnu_field): Avoid setting size and position multiple times.
+ * utils.c (finish_record_type): Retrieve the real name of the type.
+
+2007-12-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (lvalue_required_p): Take base node directly instead
+ of its parent. Rename second parameter to 'gnu_type'.
+ <N_Indexed_Component>: Return 0 if the node isn't the prefix.
+ <N_Slice>: Likewise.
+ (Identifier_to_gnu): Rename parent_requires_lvalue to require_lvalue.
+ Adjust calls to lvalue_required_p.
+
+2007-12-05 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/21489
+ * exp_ch9.adb (Build_Simple_Entry_Call): Initialize OUT access type
+ parameters of an entry call.
+
+2007-12-03 Robert Dewar <dewar@adacore.com>
+ Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/34287
+ * sem_util.adb (Safe_To_Capture_Value): Do not capture values
+ of variables declared in a library-level package.
+
+2007-12-02 Samuel Tardieu <sam@rfc1149.net>
+
+ * clean.adb (Clean_Library_Directory): Use Empty_String'Access intead
+ of Empty_String'Unchecked_Access.
+
+ * Makefile.in: Add support for sh4-linux.
+
+ * system-linux-sh4.ads: New file.
+
+2007-12-01 Kostik Belousov <kostikbel@ukr.net>
+
+ PR ada/33722
+ * env.c (__gnat_setenv): FreeBSD 7 has a POSIX conformant putenv()
+ and its argument must not be free()ed.
+
+2007-11-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (make_packable_type): Retrieve the real name of the type.
+ (maybe_pad_type): Simplify similar code.
+
+2007-11-28 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/15804
+ * par-ch3.adb (P_Variant_Part): Signal an error when anything other
+ than an identifier is used after "case" in a variant_part.
+
+ PR ada/17318
+ * par-ch4.adb (Is_Parameterless_Attribute): New map.
+ (P_Name, Scan_Apostrophe block): Parse left parenthesis following
+ attribute name or not depending on the new map.
+
+ * sem-attr.adb (Analyze_Attribute): Parameterless attributes
+ returning a string or a type will not be called with improper
+ arguments.
+
+ * sem-attr.ads (Attribute_Class_Array): Move to snames.ads.
+
+ * snames.ads (Attribute_Class_Array): Moved from sem-attr.ads.
+
+ PR ada/32792
+ * sem_attr.adb (Analyze_Attribute, Attribute_Integer_Value clause):
+ Signal an error when attribute argument is a fixed-point value of
+ an unknown type.
+
+ PR ada/22559
+ * sem_ch3.adb (Build_Derived_Numeric_Type): Do not set RM_Size on
+ a derived ordinary fixed point type.
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Recompute
+ RM_Size when a Small clause is found.
+
+2007-11-26 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ PR 34081/C++
+ * trans.c (Subprogram_Body_to_gnu, Compilation_Unit_to_gnu):
+ Pass 'false' for the new allocate_struct_function parameter.
+ * utils.c (build_function_stub): Likewise.
+
+2007-11-25 Richard Guenther <rguenther@suse.de>
+
+ * utils.c (gnat_pushlevel): Use BLOCK_CHAIN.
+ (gnat_poplevel): Likewise.
+
+2007-11-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Record_Type>: If the type has
+ strict alignment, no alignment clause and a known static size, cap
+ the type alignment to the greatest power of 2 factor of the size.
+ (gnat_to_gnu_field): If the field has a component clause, is aliased
+ or of a type with strict alignment, require that its size be equal to
+ that of the type.
+ (validate_size): Use the type size as the minimum size for a type with
+ strict alignment.
+
+2007-11-23 Samuel Tardieu <sam@rfc1149.net>
+
+ * s-inmaop-posix.adb, s-intman-vxworks.adb, s-taprop-hpux-dce.adb,
+ s-taprop-irix.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
+ s-taprop-posix.adb, s-taprop-tru64.adb, s-taprop-vxworks.adb:
+ Use 'Access instead of 'Unchecked_Access in second and third
+ arguments of pthread_sigmask.
+
+2007-11-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (ceil_alignment): New function.
+ (gnat_to_gnu_entity): Use it to set the alignment on atomic types.
+ (make_packable_type): Likewise.
+
+2007-11-22 Olivier Hainque <hainque@adacore.com>
+
+ * trans.c (gnat_to_gnu) <case N_Free_Statement>: Reformat lines
+ to fit in 80 columns.
+
+2007-11-21 Aurelien Jarno <aurelien@aurel32.net>
+
+ * s-osinte-kfreebsd-gnu.ads (To_Target_Priority): New function.
+ * Makefile.in: Add EH_MECHANISM=-gcc to kfreebsd-gnu. Remove SYMLIB.
+
+2007-11-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/34098
+ * misc.c (gnat_adjust_rli): Delete.
+ (gnat_init): Do not initialize the translation code here.
+ Do not call set_lang_adjust_rli.
+ * trans.c (init_code_table): Make static.
+ (gnat_init_stmt_group): Delete.
+ (gigi): Initialize the translation code entirely here.
+ Emit debug info for the common types here instead of...
+ * utils.c (gnat_init_decl_processing): ...here.
+ * gigi.h (init_code_table): Delete.
+ (gnat_init_stmt_group): Likewise.
+
+2007-11-16 Olivier Hainque <hainque@adacore.com>
+
+ * utils2.c (build_call_alloc_dealloc) <if gnu_obj>: Move the code
+ retrieving an allocator return value from a super-aligned address from
+ here to ...
+ * trans.c (gnat_to_gnu) <case N_Free_Statement>: ... here, and don't
+ expect a super-aligned address for a fat or thin pointer.
+
+2007-11-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (call_to_gnu): Always set the source location on the call
+ expression. If the function returns-by-target, also set it on the
+ address expression.
+
+2007-11-14 Samuel Tardieu <sam@rfc1149.net>
+
+ * adaint.c, init.c, initialize.c, link.c: Remove system-specific
+ sections of non-supported Interix target.
+
+ * s-osinte-interix.ads: Removed.
+
+ * i-cstrin.ads (chars_ptr): Make it a C convention type.
+
+2007-11-13 Samuel Tardieu <sam@rfc1149.net>
+
+ * a-tasatt.adb: Add a comment at the beginning of the package
+ explaining why in general 'Unchecked_Access must be used instead
+ of 'Access.
+
+ * sem_prag.adb (Process_Convention): Move the test for the
+ entity on which the Convention pragma applies down to also
+ forbid pragma Convention on enumeration literals reached
+ through renamings.
+
+2007-11-10 Samuel Tardieu <sam@rfc1149.net>
+
+ * a-tasatt.adb: Revert previous change for this file as it will
+ generate an error when this package is instantiated from a
+ local context.
+
+2007-11-07 Samuel Tardieu <sam@rfc1149.net>
+
+ * a-tasatt.adb: Type Wrapper should be declared in comment instead
+ of already declared type Node_Access.
+ Use 'Access instead of 'Unchecked_Access when applicable. Local
+ lifetime is the one of the package.
+ (Set_Value): W is allocated on the heap.
+
+ * g-socket.adb: Use 'Access instead of 'Unchecked_Access when
+ applicable.
+ (Get_Socket_Option): Optlen formal of C_Getsockopt is of an anonymous
+ access type.
+ (Receive_Socket): Fromlen formal of C_Recvfrom is of an anonymous
+ access type.
+
+ * s-taasde.adb: Use 'Access instead of 'Unchecked_Access when
+ applicable.
+ (elaboration code): Timer_Queue lifetime is the one of the
+ package.
+
+ * tracebak.c (i386 alternative): Remove useless comparaison
+ which is always false; LOWEST_ADDRESS is 0 and is never greater
+ than an unsigned integer.
+
+ * sem_attr.adb (Analyze_Attribute): Remove duplicate identical
+ embedded check for "Ada_Version >= Ada_05".
+
+2007-11-07 Olivier Hainque <hainque@adacore.com>
+
+ * decl.c (make_aligning_type): Set the mode of the RECORD_TYPE we
+ craft and expand comment.
+
+2007-11-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * lang-specs.h: Move translation of -fRTS= after -gnatez switch.
+
+2007-10-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * misc.c (gnat_handle_option): Replace call to abort with
+ call to gcc_unreachable.
+ (gnat_init): Likewise.
+ (gnat_expand_expr): Likewise.
+ (fp_prec_to_size): Likewise.
+ (fp_size_to_prec): Likewise.
+
+2007-10-23 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/33608
+ * tracebak.c: #undef abort after including system.h.
+
+2007-10-20 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * Makefile.in (LIBGNAT_TARGET_PAIRS) Add s-tasinf-mingw.adb,
+ s-tasinf-mingw.ads, a-exetim-mingw.adb, a-exetim-mingw.ads
+ for win32 targets.
+ (EXTRA_GNATRTL_TASKING_OBJS): Add a-exetim.o for win32 targets.
+
+2007-10-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-osinte-tru64.adb: (Hide_Yellow_Zone): Add On parameter.
+ Set the protection status of the guard page based on the value of On.
+
+ * s-osinte-tru64.ads: (Hide_Yellow_Zone): Add On parameter.
+
+ * s-taprop-tru64.adb: (Enter_Task): Pass True to Hide_Yellow_Zone.
+ (Exit_Task): Pass False to Hide_Yellow_Zone.
+
+2007-10-15 Robert Dewar <dewar@adacore.com>
+
+ * s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
+ s-taprop-vxworks.adb, s-taprop-posix.adb, a-calend-vms.adb,
+ a-calend.adb, a-nuflra.adb, a-tigeau.adb, a-wtgeau.adb,
+ checks.adb, bindgen.adb, eval_fat.adb, exp_fixd.adb, fmap.adb,
+ freeze.adb, g-awk.adb, g-calend.adb, g-diopit.adb, g-expect.adb,
+ gnatchop.adb, gnatlink.adb, g-spipat.adb, g-thread.adb, make.adb,
+ mdll.adb, mlib.adb, mlib-prj.adb, osint.adb, par-ch3.adb, prj.adb,
+ prj-makr.adb, sem_prag.adb, sem_type.adb, s-fatgen.adb, s-fileio.adb,
+ sinfo.ads, sinput-d.adb, s-taasde.adb, s-tasdeb.ads, s-tasren.adb,
+ s-tassta.adb, s-tpobop.adb, s-tposen.adb, stylesw.adb, types.ads,
+ uintp.adb, validsw.adb, makegpr.adb, a-rbtgso.adb, a-crbtgo.adb,
+ a-coorse.adb, a-convec.adb, a-coinve.adb, a-cohama.adb, a-ciorse.adb,
+ a-cihama.adb, a-cidlli.adb, a-chtgop.adb, a-cdlili.adb, a-cdlili.adb,
+ a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb, a-ciorma.adb,
+ a-coorma.adb, a-ztgeau.adb, symbols-vms.adb, a-crdlli.adb,
+ a-calari.adb, a-calfor.adb, s-os_lib.adb, s-regpat.adb, a-ngrear.adb:
+ Minor reformatting.
+ Add Unreferenced and Warnings (Off) pragmas for cases of
+ variables modified calls where they are IN OUT or OUT parameters and
+ the resulting values are not subsequently referenced. In a few cases,
+ we also remove redundant code found by the new warnings.
+
+ * ug_words, vms_data.ads, usage.adb, sem_util.adb, sem_util.ads,
+ sem_warn.adb, sem_warn.ads, sem_res.adb, sem_ch7.adb, sem_ch8.adb,
+ sem_ch5.adb, opt.ads, lib-xref.adb, lib-xref.ads, exp_smem.adb,
+ sem_ch11.adb, exp_ch6.adb, einfo.ads, einfo.adb: implement a new
+ warning controlled by -gnatw.o that warns on cases of out parameter
+ values being ignored.
+
+2007-10-15 Geert Bosch <bosch@adacore.com>
+
+ * adaint.c, socket.c, cal.c: Initial port to arm-mentor-nucleus.
+
+ * expect.c: Initial port to arm-mentor-nucleus.
+ Use kill for __gnat_kill() on VMS.
+
+2007-10-15 Emmanuel Briot <briot@adacore.com>
+
+ * ali.ads, ali.adb (Scan_ALI): Initialize XE.Tref to a known default
+ value.
+ (Xref_Record): Change type for Line, since in the case of a reference to
+ a predefined entity (as happens for array index types), the line is set
+ to 0.
+ Add support for parsing multiple array index types info, or
+ multiple inherited interfaces info. This information cannot be stored
+ in Xref_Entity_Record, which only supports a single instance of Tref_*,
+ and is therefore stored in the list of references instead. It has a
+ special treatement later on in tools that use this information.
+
+2007-10-15 Tristan Gingold <gingold@adacore.com>
+
+ * debug.adb: Document use of -gnatd.a and -gnatd.I
+
+ * layout.adb: On OpenVMS -gnatd.a disables alignment optimization.
+
+2007-10-15 Javier Miranda <miranda@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Case Access,
+ Unchecked_Access, and Unrestricted_Access. Cleanup code that takes
+ care of access to class-wide interface types plus removal of bizarre
+ conversion of tagged object to access type (reported by Gary
+ Dismukes). After this patch there is no need to perform any
+ additional management on these nodes in Expand_Interface_Actuals.
+
+ * exp_disp.adb (Expand_Interface_Actuals): Code cleanup. Remove code
+ that handles use of 'Access and 'Unchecked_Access applied to
+ actuals covering interface types. Such code is now
+ centralized in Expand_N_Attribute_Reference.
+
+2007-10-15 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Build_Init_Procedure): Keep separate the initialization
+ of tagged types whose ultimate ancestor is a CPP type.
+ (Freeze_Array_Type): For a packed array type, generate an initialization
+ procedure if the type is public, to handle properly a client that
+ specifies Normalize_Scalars.
+
+2007-10-15 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch9.adb (Actual_Index_Expression): When the expansion occurs
+ inside a generic body, retrieve the full view of the entry family
+ discrete subtype if available.
+
+2007-10-15 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Do not
+ attempt to generate stubs for hidden primitive operations.
+
+2007-10-15 Vincent Celier <celier@adacore.com>
+
+ * mlib-tgt-specific.adb (Support_For_Libraries): New function,
+ returning None, used when there is no platform specific body for
+ MLib.Tgt.Specific.
+
+2007-10-15 Bob Duff <duff@adacore.com>
+
+ * sem_case.adb, sem_ch13.adb, lib-sort.adb: Replace use of Heap_Sort_A
+ (passing'Unrestricted_Access of nested subprograms to Sort) with use of
+ the generic Heap_Sort_G, in order to avoid trampolines.
+
+2007-10-15 Vasiliy Fofanov <fofanov@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+
+ * vx_stack_info.c: New file.
+
+ * i-forbla-unimplemented.ads: New file.
+
+ * Makefile.in: i-forbla-unimplemented.ads: a variant of i-forbla.ads
+ for unsupported configurations; use it on VMS targets instead of the
+ real one.
+ (EXTRA_LIBGNAT_SRCS,EXTRA_LIBGNAT_OBJS for VxWorks): Include
+ vx_stack_info.{c,o} that contains the routine __gnat_get_stack_info
+ used by VxWorks targets to have access to task-specific data and be
+ able to extract the stack boundaries for stack checking.
+ Use system-vms-ia64.ads on ivms.
+
+ * Make-lang.in: Update dependencies.
+
+ * sysdep.c (__gnat_get_stack_info): Move to a standalone file
+ (vx_stack_info.c).
+
+2007-10-15 Vincent Celier <celier@adacore.com>
+
+ * snames.adb, snames.ads: Add new standard name runtime_library_dir
+
+ * prj.ads (Language_Config): Add new component Runtime_Library_Dir
+
+ * prj-attr.adb: Add project level attribute Runtime_Library_Dir
+
+ * prj-env.adb (Create_Mapping_File): Do not put an entry if the path of
+ the source is unknown.
+
+ * prj-ext.adb: Spelling error fix
+
+ * prj-nmsc.adb (Check_Ada_Name): Reject any unit that includes an Ada
+ 95 reserved word in its name.
+ (Process_Project_Level_Array_Attributes): Process new attribute
+ Runtime_Library_Dir.
+
+ * prj-part.adb (Parse_Single_Project): Do not check the name of the
+ config project against the user project names.
+
+ * prj-proc.adb (Expression): In multi-language mode, indexes that do
+ not include a dot are always case insensitive.
+ (Process_Declarative_Items): Ditto
+ (Process_Project_Tree_Phase_1): Set Success to False in case an error is
+ detected.
+
+ * prj-util.adb (Value_Of (In_Array)): When Force_Lower_Case_Index is
+ True, compare both indexes in lower case.
+
+2007-10-15 Robert Dewar <dewar@adacore.com>
+
+ * rtsfind.adb: (Load_RTU): Turn off style checks for Load call
+
+2007-10-15 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_aggr.adb (Resolve_Record_Aggregate): In the case of a box
+ association for an access component, add an association with null as
+ the expression. Remove testing for array subtypes and the setting in
+ that case of Ctyp to the array component type, which prevented proper
+ inclusion of an association for null-initialized arrays. Collapse
+ condition that tests for array subtypes into just a test of
+ Is_Partially_Initialized_Type (which already covers arrays anyway).
+
+2007-10-15 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch12.adb: Minor code reformatting.
+ (Check_Generic_Child_Unit): Iterate over the homonym chain in order to
+ find the parent package which may have been hidden by local
+ declarations.
+
+2007-10-15 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch3.adb (Build_Derived_Concurrent_Type): Set the Is_Constrained
+ flag of derived concurrent types, taking into account the flag setting
+ on the parent subtype and any new set of discriminants.
+
+2007-10-15 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch4.adb: Minor code and comment reformatting.
+ (Analyze_Allocator): When the designated type of an unconstrained
+ allocator is a record with unknown discriminants or an array with
+ unknown range bounds, emit a detailed error message depending on the
+ compilation mode and whether the designated type is limited.
+
+2007-10-15 Tristan Gingold <gingold@adacore.com>
+
+ * system-vms-ia64.ads: New file.
+
+ * system-vms_64.ads: Minor comment fix.
+
+2007-10-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Find_Corresponding_Spec): If the previous entity is a
+ body generated for a function with a controlling result that is a null
+ extension, discard the generated body in favor of the current explicit
+ one.
+
+2007-10-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_disp.adb (Find_Controlling_Arg): Examine the call node before
+ examining its original form, to handle properly operator calls that
+ have been rewritten.
+
+2007-10-15 Olivier Hainque <hainque@adacore.com>
+
+ * tb-alvms.c (tb_entry_t, __gnat_backtrace): Store a frame pointer
+ instead of a procedure value in each traceback entry.
+
+ * g-trasym-vms-alpha.adb (Symbolic_Traceback): Pass frame pointer
+ instead of procedure value to TBK$SYMBOLIZE.
+
+ * s-traent-vms.adb (PV_For): Rename as FP_For and access the proper
+ field.
+ (TB_Entry_For): Account for the PV/FP renaming.
+
+ * s-traent-vms.ads (Traceback_Entry): Rename PV component into FP and
+ add comment.
+ (Null_TB_Entry): Account for change of component name.
+ (PV_For): Rename as FP_For.
+
+2007-10-15 Tristan Gingold <gingold@adacore.com>
+
+ * trans.c (gnat_to_gnu): Remove the padding structure more often.
+ This optimize assignment to over-aligned record.
+
+2007-10-15 Emmanuel Briot <briot@adacore.com>
+
+ * xref_lib.adb (Get_Full_Type): Add support for the 'h' entity type, ie
+ interfaces.
+
+ * xr_tabls.adb (Add_Reference): Add support for the new 'R' reference
+ type, for dispatching calls.
+
+2007-10-15 Vincent Celier <celier@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Add documentation for switches --version and --help
+ for the GNAT tools gnatbind, gnatlink, gnatmake, gnatchop, gnatname,
+ gnatxref, gnatfind, gnatls, and gnatclean.
+ Document -gnatw.o.
+ Mention attribute Excluded_Source_Dirs
+ Replace obsolescent attribute Locally_Removed_Files with attribute
+ Excluded_Source_Files.
+ Improve documentation of -u (gnatbind)
+ Document how to do reliable stack checking for the environmental task
+ on iVMS.
+
+ * gnat_rm.texi: Rewrite section about No_Implicit_Dynamic_Code.
+ Document attribute Excluded_Source_Files and indicate that attribute
+ Locally_Removed_Files is obsolescent.
+
+2007-10-15 Thomas Quinot <quinot@adacore.com>
+
+ * g-soccon-vms.ads: Fix value of MSG_WAITALL.
+
+ * gen-soccon.c:
+ Update documentation to note that OpenVMS 8.3 or later must be used
+ to generate g-soccon-vms.ads.
+
+ * atree.adb: Add ??? comment
+
+ * exp_util.adb: Minor reformatting.
+ Add ??? comment in Kill_Dead_Code.
+
+2007-10-15 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads: Comment clarification
+
+ * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
+ (Expand_N_Op_Eq): Improve handling of array equality with -gnatVa
+
+ * lib.ads: Comment update
+
+ * init.c: Minor reformatting.
+
+ * sem_attr.adb: Minor formatting
+
+ * osint-b.ads: Minor reformatting
+
+ * sem_ch9.adb: Implement -gnatd.I switch
+
+ * g-comlin.adb: (Start): Fix handling of empty command line.
+
+ * gnatcmd.adb (GNATCmd): Do not put the -rules in the -cargs section,
+ even when -rules follows the -cargs section.
+
+2007-10-08 Ollie Wild <aaw@google.com>
+
+ * misc.c (LANG_HOOKS_PUSHDECL): Replaced lhd_return_tree with
+ gnat_return_tree.
+ (gnat_init_gcc_eh): Replaced gnat_eh_runtime_type with
+ gnat_return_tree.
+ (gnat_eh_runtime_type): Removed.
+ (gnat_return_tree): New function.
+
+2007-10-08 Ben Elliston <bje@au.ibm.com>
+
+ PR ada/33454
+ Revert:
+ 2007-08-31 Ben Elliston <bje@au.ibm.com>
+
+ * Makefile.in (LIBGNAT_TARGET_PAIRS): Use system-linux-ppc64.ads
+ when compiling for powerpc64-*-linux.
+ * system-linux-ppc64.ads: New file.
+
+2007-09-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ Mapped location support
+ * back_end.adb (Call_Back_End): Pass information about source
+ files instead of units to gigi.
+ * gigi.h (struct File_Info_Type): New.
+ (gigi): Rename and change type of number_units parameter, change
+ type of file_info_ptr parameter.
+ * trans.c (number_files): New global variable.
+ (gigi): Rename and change type of number_units parameter, change
+ type of file_info_ptr parameter.
+ If mapped location support is enabled, create the isomorphic mapping
+ between source files and line maps.
+ (Sloc_to_locus): If mapped location support is enabled, translate
+ source location into mapped location.
+ (annotate_with_node): Rename into set_expr_location_from_node.
+ Call set_expr_location instead of annotate_with_locus.
+ (Pragma_to_gnu): Adjust for above change.
+ (Loop_Statement_to_gnu): Likewise.
+ (call_to_gnu): Likewise.
+ (Handled_Sequence_Of_Statements_to_gnu): Likewise.
+ (gnat_to_gnu): Likewise.
+ (add_stmt_with_node): Likewise.
+ (add_cleanup): Likewise.
+ * utils.c (gnat_init_decl_processing): Do not set input_line.
+
+2007-09-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch8.adb (Analyze_Use_Type): Code cleanup.
+ (Applicable_Use): Emit a warning when a package tries to use itself.
+ (Use_One_Type): Add variable Is_Known_Used. Emit a warning when a type
+ is already in use or the package where it is declared is in use or is
+ declared in the current package.
+ (Spec_Reloaded_For_Body): New subsidiary routine for Use_One_Type.
+
+ * a-tasatt.adb, s-osprim-vxworks.adb, g-socthi-mingw.adb,
+ s-intman-vms.adb, g-socket.adb, g-thread.adb, s-tarest.adb,
+ s-tassta.adb, s-tporft.adb: Remove redundant 'use type' clause.
+
+2007-09-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-calend-vms.adb, a-calend.adb:
+ Add a section on leap seconds control along with two entities used to
+ enable and disable leap seconds support. The array Leap_Second_Times is
+ now constant and contains hard time values pre-generated. Remove
+ all elaboration code used to populate the table of leap seconds.
+
+ * bindgen.adb:
+ Add entity Leap_Seconds_Support to the list of global run-time variables
+ along with a comment on its usage and values.
+ (Gen_Adainit_Ada): Add code to generate the declaration and import of
+ Integer variable Leap_Seconds_Support. Set its value to zero (disabled)
+ or one (enabled) depending on the presence of binder switch "-y".
+ (Gen_Adainit_C): Add code to generate the declaration of external int
+ __gl_leap_seconds_support. Set is value to zero (disabled) or one
+ (enabled) depending on the presence of binder switch "-y".
+
+ * init.c: Add __gl_leap_seconds_support to the list of global values
+ computed by the binder.
+
+2007-09-26 Jerome Guitton <guitton@adacore.com>
+
+ * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
+ s-taprop-hpux-dce.adb, s-taprop-linux.adb, s-taprop-dummy.adb,
+ s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
+ s-taprop-posix.adb (Stop_Task): New function, dummy implementation.
+
+ * s-taprop.ads, s-taprop-vxworks.adb (Stop_Task): New function.
+
+ * s-tasdeb.adb (Stop_All_Tasks): New function, implementing a run-time
+ function which can be called by the debugger to interrupt the tasks of
+ an Ada application asynchronously, as needed on VxWorks.
+ (Stop_All_Tasks_Handler): Renamed from Stop_All_Tasks.
+
+ * s-tasdeb.ads (Stop_All_Tasks_Handler): New function declaration,
+ renamed from Stop_All_Tasks. Update comments.
+ (Stop_All_tasks): New function declaration.
+
+2007-09-26 Olivier Hainque <hainque@adacore.com>
+
+ * adaint.c (if defined (__Lynx__)): Wrap #def/#undef VMOS_DEV around
+ #include <utime.h> and #define GCC_RESOURCE_H before
+ #include <sys/wait.h>.
+ Add more protections in __gnat_translate_vms.
+
+ * expect.c (if defined (__Lynx__)): #define GCC_RESOURCE_H before
+ #include <sys/wait.h>.
+
+2007-09-26 Thomas Quinot <quinot@adacore.com>
+ Sergey Rybin <rybin@adacore.com>
+
+ * gnatvsn.ads (PCS_Version_Number, ASIS_Version_Number): Removed.
+
+ * exp_dist.ads (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
+ where it belongs.
+
+ * opt.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.
+
+ * rtsfind.adb (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
+ where it belongs.
+
+ * sem_dist.ads: Minor comment fix
+
+ * tree_io.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.
+
+2007-09-26 Javier Miranda <miranda@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * a-tags.adb:
+ (Get_HT_Link/Set_HT_Link): Updated to handle the additional level of
+ indirection added to the HT_Link component of the TSD. This is required
+ to statically allocate the TSD.
+
+ * a-tags.ads:
+ Minor reordering of the declarations in the private part. Required to
+ add a level of indirection to the contents of the TSD component HT_Link.
+ This is required to statically allocate the TSD.
+
+ * decl.c (gnat_to_gnu_entity) <object>: Do not exclude objects with
+ Is_Statically_Allocated set from constant objects.
+ Do not make exported constants created by the compiler volatile.
+ (gnat_to_gnu_param): Do not treat an IN parameter whose address is taken
+ as read-only.
+
+ * trans.c (Identifier_to_gnu): For constants, unshare initializers
+ before returning them.
+
+ * exp_disp.ads, exp_disp.adb (Building_Static_DT): Spec moved to the
+ public part of the package.
+ (Make_DT): Move HT_Link component out of the TSD record. For this
+ purpose Make_DT now declares a separate object that stores the
+ HT_Link value, and initializes the TSD component with the address
+ of this new object. The addition of this level of indirection is
+ required to statically allocate the TSD because the TSD cannot
+ have variable components.
+ (Expand_Interface_Conversion): Improve the expanded code.
+ (Expand_Interface_Thunk): Set Is_Thunk in the thunk entity.
+
+ * sem_disp.adb (Check_Dispatching_Operation): In case of a body
+ declaring a primitive operation ---allowed by RM 3.9.2 (13.e/2)---,
+ if we are building static dispatch tables then we must not generate
+ extra code to register the primitive because the dispatch table will
+ be built at the end of the library package; otherwise we notify that
+ we cannot build the static dispatch table.
+
+2007-09-26 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb, gnat1drv.adb, sem_util.ads: Improve warnings for address
+ overlays.
+
+ * sem_ch13.ads, sem_ch13.adb: Improve warnings for address overlays
+ (Analyze_Record_Representation_Clause): Suppress junk warning for
+ missing component clause.
+ (Analyze_Attribute_Definition_Clause, case Address): Apply the special
+ tests for controlled type overlay to composites with controlled
+ components.
+ (Analyze_Record_Representation_Clause): Add reference for component name
+
+2007-09-26 Javier Miranda <miranda@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * einfo.adb (Is_Thunk): New attribute applicable to subprograms. True
+ for thunks associated with interface types.
+
+ * einfo.ads: Improve documentatation of Is_Internal
+ (Is_Thunk): New attribute applicable to subprograms. True for thunks
+ associated with interface types.
+ Extensive comment fixes regarding flags that appear in all entities. The
+ documentation is now consistent for all such flags (there were a number
+ of errors in the documentation in this regard).
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Minor code cleanup.
+
+ * exp_ch6.adb (Make_Build_In_Place_Call_*): Return immediately if any
+ of these procedures are passed a function call that already has
+ build-in-place actuals (testing new flag
+ Is_Expanded_Build_In_Place_Call). Set the flag on the function call in
+ the case where processing continues.
+ (Expand_Call): If the call is generated from a thunk body then we
+ propagate the extra actuals associated with the accessibility
+ level of the access type actuals.
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): Set the Protected_Formal field
+ of each extra formal of a protected operation to reference the
+ corresponding extra formal of the subprogram denoted by the
+ operation's Protected_Body_Subprogram.
+
+ * sinfo.ads, sinfo.adb (Is_Expanded_Build_In_Place_Call): New flag on
+ N_Function_Call nodes.
+
+2007-09-26 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb: Activate memmove type processing if debug flag d.s is set
+
+ * debug.adb: Add d.s flag.
+
+2007-09-26 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_dbug.adb (Debug_Renaming_Declaration): Set Is_Internal on the
+ debug variable so that it won't be initialized when pragma
+ Initialize_Scalars is in effect.
+
+2007-09-26 Gary Dismukes <dismukes@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Remove check for preelaborable
+ initialization of a full view. This is moved to
+ Analyze_Package_Specification.
+
+ * sem_ch7.adb (Analyze_Package_Specification): Add check for
+ preelaborable initialization of a full view in entity loop.
+ (Uninstall_Declarations): If entity is a use-visible compilation unit,
+ its child units are use-visible only if they are visible child units.
+
+ * sem_util.adb (Is_Preelaborable_Expression): New function to determine
+ whether an expression can be used within a type declaration that
+ requires preelaborable init.
+ (Check_Components): Replace inline code that does partial checking for
+ preelaborable default expressions with call to
+ Is_Preelaborable_Expression.
+ (Has_Preelaborable_Initialization): In the case of a generic actual
+ subtype, (that is, Is_Generic_Actual is True), return the result of
+ applying Has_Preelaborable_Initialization to the generic actual's base
+ type.
+
+2007-09-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * g-calend.adb (Has_53_Weeks): Rename to Last_Year_Has_53_Weeks. Add a
+ call to Jan_1_Day _Of_Week to optimize its performance.
+ (Is_Leap): Move the routine to the scope of Week_In_Year.
+ (Jan_1_Day_Of_Week): New routine in Week_In_Year which calculates the
+ weekday on which January 1 falls of Year - 1 and Year + 1. This function
+ avoids calling Time_Of and Split, thus making it more efficent.
+ (Week_In_Year): Reimplemented in oder to follow ISO 8601.
+
+ * g-calend.ads (Week_In_Year): Change comment to reflect new
+ implementation.
+
+2007-09-26 Emmanuel Briot <briot@adacore.com>
+
+ * g-comlin.ads, g-comlin.adb (Command_Line_Configuration,
+ Command_Line): New types
+ (Define_Alias, Define_Prefix, Free): New subprograms. These provide
+ support for defining how switches can be grouped on a command line (as
+ is the case for -gnatw... for GNAT), and how simple switches can be
+ used as aliases for more complex switches (-gnatwa is same as
+ -gnatwbcef...)
+ (Set_Command_Line, Add_Switch, Remove_Switch): New subprogram
+ (Start, Current_*): New subprograms
+ Added support for parsing an array of strings in addition to the real
+ command line.
+ (Opt_Parser, Opt_Parser_Data): New type. As a result, some types had to
+ be moved from the body to the private part of the spec.
+ (*): All subprograms now have an extra parameter with default value to
+ specify which parser should be used. For backward compatibility, it
+ defaults to parsing the command line of the application. They were also
+ modified to properly handle cases where each of the argument does not
+ start at index 1 (which is always true for Ada.Command_Line, but not
+ when processing any Argument_List).
+ (Free): New subprogram
+ (Internal_Initialize_Option_Scan, Find_Longuest_Matching_Switch,
+ Argument): New subprograms
+ (Switch_Parameter_Type): New enum, which clarifies the code. The extra
+ special characters like ':', '=',... are now handled in a single place,
+ which makes the code more extensible eventually.
+ (Getopt, Full_Switch): When the switch was returned as part of the
+ special character '*', make sure it is prepended by the switch character
+ ('-' in general), so that the application knows whether "foo" or "-foo"
+ was specified on the command line.
+
+2007-09-26 Florian Villoing <villoing@adacore.com>
+
+ * g-dirope.adb (Remove_Dir): In case we are removing directories
+ recursively, make sure that if an exception is raised during the
+ processing, the current working directory is reset to its initial
+ value before propagating the exception.
+
+2007-09-26 Vincent Celier <celier@adacore.com>
+
+ * gnatbind.adb: If there are several ALI files specified and there is
+ a main program to bind, the first ALI is expected to contain the main
+ subprogram and the names of the binder generated files will be derived
+ from the first ALI file name.
+ (Gnatbind): Fix insertion character in invocation of Error_Msg
+
+2007-09-26 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (Check_Files): Do not include sources that have been
+ removed by attributes Exclude_Source_Files or Locally_Removed_Files.
+
+2007-09-26 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-xref.ads, lib-xref.adb: The entry for array types now carries
+ information about each of its index types, following the type
+ reference for its component type.
+
+2007-09-26 Vincent Celier <celier@adacore.com>
+
+ * make.adb: (Kill): New procedure (__gnat_kill imported)
+ (Running_Compile, Outstanding_Compiles): Global variables that
+ were previously local to procedure Compile_Sources.
+ (Sigint_Intercepted): Send signal SIGINT to all outstanding
+ compilation processes.
+
+ (Gnatmake): If project files are used, create the mapping of all the
+ sources, so that the correct paths will be found.
+
+ * prj-env.ads, prj-env.adb (Create_Mapping): New procedure
+
+2007-09-26 Vincent Celier <celier@adacore.com>
+
+ * makeutl.ads (Main_Config_Project): Moved to gpr_util.ads
+
+ * prj.ads, prj.adb (Default_Language): Remove function, no longer used
+ Replace components Compiler_Min_Options and Binder_Min_Options with
+ Compiler_Required_Switches and Binder_Required_Switches in record
+ Language_Config.
+ Remove components Default_Language and Config in Project_Tree_Data,
+ no longer used.
+
+ * prj-attr.adb: New attributes Required_Switches (<language>) in
+ packages Compiler and Binder.
+
+ * prj-nmsc.adb: Major rewrite of the processing of configuration
+ attributes for gprbuild. No impact on GNAT tools.
+
+ * prj-proc.ads, prj-proc.adb (Process_Project_Tree_Phase_2): No longer
+ process configuration attributes: this is done in Prj.Nmsc.Check.
+ (Recursive_Process): Make a full copy of packages inherited from project
+ being extended, instead of a shallow copy.
+ (Process_Project_Tree_Phase_1): New procedure
+ (Process_Project_Tree_Phase_1): New procedure
+ (Process): Implementation now uses the two new procedures
+
+ * prj-util.adb (Executable_Of): Get the suffix and the default suffix
+ from the project config, not the tree config that no longer exists.
+
+2007-09-26 Vincent Celier <celier@adacore.com>
+
+ * Make-lang.in: Update dependencies..
+
+2007-09-26 Vincent Celier <celier@adacore.com>
+
+ * osint.adb, osint.ads: Minor reformatting
+
+ * osint-b.adb, osint-b.ads (Set_Current_File_Name_Index): New procedure
+
+2007-09-26 Gary Dismukes <dismukes@adacore.com>
+
+ * par-ch4.adb (P_Record_Or_Array_Component_Association): Change Ada 95
+ message to cite use of <> in aggregate component associations rather
+ than wrongly indicating use of limited aggregates.
+
+2007-09-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_attr.adb (Analyze_Access_Attribute): Fix missing set of
+ Address_Taken.
+
+2007-09-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Derive_Subprograms): If the interface parent is a direct
+ ancestor of the derived type, the operations are inherited from the
+ primary dispatch table of the parent.
+ (OK_For_Limited_Init_In_05): Remove old comment. Reject in-place calls
+ when the context is an explicit type conversion.
+
+2007-09-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Qualified_Expression): Apply name resolution
+ rule for qualified expressions properly, to detect improper conversions
+ and resolve some cases of overloading.
+
+2007-09-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Call): If the call is dispatching, generate the
+ proper kind of reference to the primitive operation, for better source
+ navigation.
+ (Valid_Conversion): A tagged conversion is legal if both operands are
+ tagged.
+
+2007-09-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_warn.adb (Check_References): Catch more cases of unreferenced
+ packages.
+
+2007-09-26 Vincent Celier <celier@adacore.com>
+
+ * snames.adb, snames.ads: Change Include_Option to Include_Switches
+
+2007-09-26 Robert Dewar <dewar@adacore.com>
+
+ * s-wchstw.adb: provide messages for run time unit exceptions
+
+ * a-witeio.adb: Minor reformatting
+
+ * exp_ch13.adb: Minor reformatting
+
+2007-09-26 Sergey Rybin <rybin@adacore.com>
+
+ * vms_data.ads: Revise gnatmetric qualifiers.
+ Add qualified for the new gnatbind option '-y'
+
+ * gnat_ugn.texi: Revise the gnatmetric section.
+ Add entry for new gnatbind option '-y'.
+
+ * gnat_rm.texi: Minor spelling correction.
+ Document restriction on overlaying controlled types
+
+2007-09-26 Vincent Celier <celier@adacore.com>
+
+ * makegpr.adb (Link_Executables): Do not fail when the root project has
+ no sources, but is an extending project.
+
+2007-09-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c: Fix misplaced #define.
+
+2007-09-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils2.c (build_unary_op) <ADDR_EXPR> [INDIRECT_REF]: Propagate
+ the TYPE_REF_CAN_ALIAS_ALL flag to the result.
+
+2007-09-21 Olivier Hainque <hainque@adacore.com>
+
+ * utils.c (type_for_nonaliased_component_p): Return false for
+ all AGGREGATE_TYPEs.
+
+2007-09-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: Make again the type of an
+ object covered by 13.3(19) volatile.
+
+2007-09-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/26797
+ PR ada/32407
+ * utils.c (unchecked_convert): Use a subtype as the intermediate type
+ in the special VIEW_CONVERT_EXPR case.
+
+2007-09-12 Robert Dewar <dewar@adacore.com>
+
+ * types.ads, a-charac.ads, freeze.adb: Minor reformatting.
+
+ * a-except.adb, g-hesora.adb, g-speche.adb, lib.adb, lib.ads,
+ lib-load.adb, lib-writ.adb, s-assert.adb, s-carun8.adb,
+ s-casuti.adb, s-crc32.adb, s-exctab.adb, s-htable.adb, s-imgenu.adb,
+ s-mastop.adb, s-memory.adb, s-memory.ads, s-secsta.adb, s-soflin.adb,
+ s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-stache.adb, s-stalib.adb,
+ s-stoele.adb, s-strcom.adb, s-strops.adb, s-traceb.adb, s-traent.adb,
+ s-wchcnv.adb, s-wchcon.adb, s-wchjis.adb, s-addope.adb, s-except.adb,
+ s-os_lib.adb, s-string.adb, s-utf_32.adb, a-elchha.adb,
+ a-chlat1.ads, a-elchha.ads, a-except.ads, g-hesora.ads, g-htable.ads,
+ g-speche.ads, par-prag.adb, restrict.adb, restrict.ads, s-assert.ads,
+ s-carun8.ads, s-casuti.ads, s-crc32.ads, sem_ch11.adb, sem_prag.adb,
+ s-exctab.ads, s-htable.ads, s-imgenu.ads, s-mastop.ads, snames.adb,
+ snames.ads, snames.h, s-purexc.ads, s-secsta.ads, s-soflin.ads,
+ s-sopco3.ads, s-sopco4.ads, s-sopco5.ads, s-stache.ads, s-stalib.ads,
+ s-stoele.ads, s-strcom.ads, s-strops.ads, s-traceb.ads, s-traent.ads,
+ s-unstyp.ads, s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-addope.ads,
+ s-except.ads, s-os_lib.ads, s-string.ads, s-utf_32.ads: Implement
+ pragma Compiler_Unit and adds it to relevant library units.
+
+2007-09-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Resolve_Record_Aggregate): An others association with
+ a box need not correspond to any component.
+
+2007-09-12 Robert Dewar <dewar@adacore.com>
+
+ * g-thread.ads: Document use of "with GNAT.Threads" to ensure loading
+ the tasking version of the Ada run time when foreign threads are
+ present and there are no explicit Ada tasks or tasking constructs.
+
+ * gnat_rm.texi: Clarify documentation of GNAT.Threads.
+
+2007-09-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * bindusg.adb (Display): Correct comment for switch -X. Add a line for
+ the usage of switch -y.
+
+ * switch-b.adb (Scan_Binder_Switches): Set flag Leap_Seconds_Support
+ when switch -y is present.
+
+ * opt.ads: Add binder flag Leap_Seconds_Support used to enable/disable
+ leap seconds in Ada.Calendar and its children.
+
+2007-09-12 Jose Ruiz <ruiz@adacore.com>
+
+ * a-extiti.ads (Timer): The discriminant is a "not null access
+ constant" in the Reference Manual.
+ (Cancel_Handler): Cancelled is an out parameter in the Reference Manual.
+
+2007-09-12 Robert Dewar <dewar@adacore.com>
+
+ * a-swuwha.adb: Remove junk RM header
+
+2007-09-12 Vincent Celier <celier@adacore.com>
+
+ * g-bytswa-x86.adb (Swap2, Swap4, Swap8): Remove explicit "in" mode
+ indicator
+
+ * g-bytswa.ads: Minor reformatting
+
+2007-09-12 Thomas Quinot <quinot@adacore.com>
+
+ * g-soccon-solaris-64.ads, g-soccon-hpux-ia64.ads:
+ Add new constant Thread_Blocking_IO, always True by default, set False
+ on a per-runtime basis.
+ (Need_Netdb_Buffer): New constant.
+
+2007-09-12 Arnaud Charlet <charlet@adacore.com>
+
+ * s-dsaser.ads (Get_Local_Partition_Id, Get_Passive_Partition_Id):
+ Added renames for corresponding functions in System.Partition_Interface.
+
+2007-09-12 Doug Rupp <rupp@adacore.com>
+
+ * Makefile.in: Remove VMS specific System.CRTL packages which are no
+ longer needed.
+
+ * s-crtl-vms64.ads: Removed.
+
+2007-09-12 Olivier Hainque <hainque@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: For a subtype
+ with discriminant constraints, generalize the code for BIT_FIELDs
+ to PACKED fields of constant size and propagate DECL_PACKED.
+
+2007-09-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (array_type_has_nonaliased_component): New predicate.
+ (gnat_to_gnu_field) <E_Array_Type>: Invoke the above predicate to
+ set the TYPE_NONALIASED_COMPONENT flag on the type.
+ <E_Array_Subtype>: Likewise.
+ * gigi.h (type_for_nonaliased_component_p): Declare.
+ * utils.c (type_for_nonaliased_component_p): New predicate.
+ (create_field_decl): Invoke the above predicate to set the
+ DECL_NONADDRESSABLE_P flag on the field.
+
+2007-09-11 Javier Miranda <miranda@adacore.com>
+
+ * einfo.ads, einfo.adb (Dispatch_Table_Wrapper): New attribute. Present
+ in library level record type entities if we are generating statically
+ allocated dispatch tables.
+
+ * exp_disp.adb (Make_Tags/Make_DT): Replace previous code
+ importing/exporting the _tag declaration by new code
+ importing/exporting the dispatch table wrapper. This change allows us
+ to statically allocate of the TSD.
+ (Make_DT.Export_DT): New procedure.
+ (Build_Static_DT): New function.
+ (Has_DT): New function.
+
+ * freeze.adb (Freeze_Static_Object): Code cleanup: Do not reset flags
+ True_Constant and Current_Value. Required to statically
+ allocate the dispatch tables.
+ (Check_Allocator): Make function iterative instead of recursive.
+ Also return inner allocator node, when present, so that we do not have
+ to look for that node again in the caller.
+
+2007-09-11 Jan Hubicka <jh@suse.cz>
+
+ * misc.c (gnat_expand_body): Kill.
+ (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
+
+2007-09-10 Robert Dewar <dewar@adacore.com>
+
+ * exp_atag.ads, exp_atag.adb, mlib-tgt-tru64.adb, mlib-tgt-aix.adb,
+ mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
+ mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
+ mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, ali.adb, ali.ads,
+ ali-util.adb, ali-util.ads, atree.h, back_end.adb, back_end.ads,
+ bcheck.adb, bcheck.ads, binde.adb, binde.ads, binderr.adb, binderr.ads,
+ bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads, butil.adb,
+ butil.ads, checks.adb, checks.ads, clean.adb, clean.ads, comperr.adb,
+ comperr.ads, cstand.adb, cstand.ads, debug_a.adb, debug_a.ads,
+ elists.h, errout.adb, erroutc.ads, errutil.adb, errutil.ads,
+ err_vars.ads, eval_fat.adb, eval_fat.ads, exp_sel.ads, exp_sel.adb,
+ exp_aggr.adb, exp_aggr.ads, expander.adb, expander.ads, exp_attr.ads,
+ exp_ch10.ads, exp_ch11.adb, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb,
+ exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.ads, exp_ch4.adb,
+ exp_ch4.ads, exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
+ exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads, exp_ch9.adb,
+ exp_ch9.ads, exp_code.adb, exp_code.ads, exp_dbug.adb, exp_dbug.ads,
+ exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
+ exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads, exp_pakd.adb,
+ exp_pakd.ads, exp_prag.adb, exp_prag.ads, exp_smem.adb, exp_strm.adb,
+ exp_strm.ads, exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
+ exp_vfpt.adb, exp_vfpt.ads, fmap.adb, fmap.ads, fname-sf.adb,
+ fname-sf.ads, fname-uf.adb, fname-uf.ads, frontend.adb, frontend.ads,
+ get_targ.adb, get_targ.ads, gnat1drv.adb, gnat1drv.ads, gnatbind.adb,
+ gnatbind.ads, gnatbl.c, gnatchop.adb, gnatclean.adb, gnatcmd.adb,
+ gnatcmd.ads, gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
+ gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb, gnatls.ads,
+ gnatmake.adb, gnatmake.ads, gnatmem.adb, gnatname.adb, gnatname.ads,
+ gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb,
+ gprep.adb, gprep.ads, hlo.adb, hlo.ads, impunit.adb, impunit.ads,
+ inline.adb, inline.ads, itypes.adb, itypes.ads, layout.adb, layout.ads,
+ lib-load.adb, lib-load.ads, lib-util.adb, lib-util.ads, lib-writ.adb,
+ lib-writ.ads, lib-xref.adb, lib-xref.ads, live.adb, live.ads,
+ make.adb, make.ads, makeutl.ads, makeutl.adb, makeusg.adb, makeusg.ads,
+ mdll.adb, mdll.ads, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
+ mdll-utl.ads, memroot.adb, memroot.ads, mlib.adb, mlib.ads,
+ mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
+ mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, namet.h, nmake.adt,
+ osint.adb, osint.ads, osint-b.adb, osint-b.ads, osint-c.adb,
+ osint-c.ads, osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads,
+ par.adb, par.ads, par-ch10.adb, par-ch11.adb, par-ch12.adb,
+ par-ch13.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
+ par-ch6.adb, par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
+ par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb, par-tchk.adb,
+ par-util.adb, prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
+ prj.adb, prj.ads, prj-attr.adb, prj-attr.ads, prj-com.ads,
+ prj-dect.adb, prj-dect.ads, prj-err.adb, prj-err.ads, prj-ext.adb,
+ prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
+ prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
+ prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
+ prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
+ prj-util.adb, prj-util.ads, restrict.adb, restrict.ads,
+ rtsfind.adb, rtsfind.ads, scn.adb, scn.ads,
+ scng.adb, scng.ads, sdefault.ads, sem.ads, sem_aggr.ads, sem_attr.adb,
+ sem_case.adb, sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
+ sem_ch10.ads, sem_ch11.adb, sem_ch11.ads, sem_ch12.ads, sem_ch13.adb,
+ sem_ch13.ads, sem_ch2.adb, sem_ch2.ads, sem_ch3.adb, sem_ch3.ads,
+ sem_ch4.ads, sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
+ sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb,
+ sem_ch9.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb, sem_dist.ads,
+ sem_elab.adb, sem_elab.ads, sem_elim.adb, sem_elim.ads, sem_eval.adb,
+ sem_eval.ads, sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
+ sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads, sem_res.adb,
+ sem_res.ads, sem_smem.adb, sem_smem.ads, sem_type.adb, sem_type.ads,
+ sem_util.adb, sem_util.ads, sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb,
+ sem_warn.ads, sfn_scan.ads, sinfo-cn.adb, sinfo-cn.ads, sinput-c.adb,
+ sinput-c.ads, sinput-d.adb, sinput-d.ads, sinput-l.adb, sinput-l.ads,
+ sinput-p.adb, sinput-p.ads, snames.h, sprint.adb, sprint.ads,
+ stringt.h, style.ads, styleg.adb, styleg.ads, styleg-c.adb,
+ styleg-c.ads, stylesw.adb, stylesw.ads, switch.adb, switch.ads,
+ switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
+ switch-m.ads, symbols.adb, symbols.ads, targparm.adb, tbuild.adb,
+ tbuild.ads, tempdir.adb, tempdir.ads, tree_gen.adb, tree_gen.ads,
+ treepr.adb, treepr.ads, treeprs.adt, ttypef.ads, ttypes.ads,
+ types.h, uintp.h, urealp.h, usage.adb, usage.ads,
+ validsw.adb, validsw.ads, vxaddr2line.adb, xeinfo.adb, xnmake.adb,
+ xref_lib.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads, xsinfo.adb,
+ xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb, xgnatugn.adb,
+ gprmake.adb, makegpr.ads, makegpr.adb, prj-attr-pm.ads, prj-attr-pm.adb,
+ mlib-tgt-lynxos.adb, mlib-tgt-darwin.adb, symbols-vms.adb,
+ symbols-processing-vms-alpha.adb, symbols-processing-vms-ia64.adb,
+ mlib-tgt-specific.adb, mlib-tgt-specific.ads, mlib-tgt-vms.adb,
+ mlib-tgt-vms.ads: Replace headers with GPL v3 headers.
+
+2007-09-10 Emmanuel Briot <briot@adacore.com>
+
+ * s-regpat.adb (Parse_Character_Class): Fix handling of empty character
+ classes ("[]").
+
+2007-09-10 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * adaint.c (__gnat_translate_vms): new function.
+
+2007-09-10 Gary Dismukes <dismukes@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch3.adb (Predef_Spec_Or_Body): When the type is abstract, only
+ create an abstract subprogram in the case of 'Input. For 'Output we now
+ create a real spec/body when the type is abstract, since it can
+ potentially be called.
+ (Predefined_Primitive_Bodies): Now allow the creation of a predefined
+ body for 'Output when the type is abstract (only the creation of the
+ body for 'Input is excluded when the type is abstract).
+ (Stream_Operation_OK): Add an additional condition in the return
+ statement, so that False will be returned for TTS_Stream_Input if the
+ associated tagged type is an abstract extension. Add comments for
+ return statement.
+ (Expand_N_Object_Declaration): For the case of a shared passive
+ variable, insert init proc call only after the shared variable
+ procedures have been processed, because the IP call needs to undergo
+ shared passive variable reference expansion, which requires these
+ procedures to be available (and elaborated).
+
+2007-09-10 Vincent Celier <celier@adacore.com>
+
+ * prj-env.ads, prj-env.adb (Create_Mapping_File (Language)): Remove
+ parameter Runtime_Project.
+
+2007-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Build_Record_Aggr_Code): If an aggregate component is
+ given a box association, the type of the component is discriminated,
+ and the value of the discriminant is the discriminant of the enclosing
+ type, retrieve its value from the aggregate itself, where it must have
+ been supplied.
+
+ * sem_ch4.adb (Analyze_One_Call): Further refinement to previous fix,
+ to remove other spurious ambiguities on arithmetic operations involving
+ literals and addresses, on systems where Address is a visible integer
+ type, when the operator is called in functional notation.
+ (Try_Primitive_Operation): Within an instance, a call in prefixed form
+ is legal when the types match, even if the operation is currently
+ hidden.
+
+2007-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Build_Local_Package): A formal package with no
+ associations is legal if all formals have defaults. It is not
+ equivalent to a formal declared with a box.
+
+2007-09-10 Sergey Rybin <rybin@adacore.com>
+
+ * vms_data.ads: Add qualifier for the new gnatmetric '-lratio' option
+
+2007-09-10 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Add description of the new '-lratio' option
+ Update 7.3.1 section about availability of the feature.
+
+2007-09-10 Thomas Quinot <quinot@adacore.com>
+
+ * exp_smem.ads, exp_smem.adb (Make_Shared_Var_Procs): Return last
+ inserted node.
+
+2007-09-10 Olivier Hainque <hainque@adacore.com>
+
+ * Makefile.in: (mips-irix section): Activate build of libgmem.
+
+2007-09-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * a-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber
+ x87 registers.
+
+2007-09-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: Deal with variable built for
+ a debug renaming declaration specially.
+
+2007-09-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <Object>: Simplify the condition under
+ which a constant renaming is treated as a normal object declaration.
+ * trans.c (lvalue_required_p) <N_Slice>: New case, extracted from
+ the N_Indexed_Component case.
+ <N_Indexed_Component>: Fall through to above case.
+ <N_Object_Renaming_Declaration>: Return true for all composite types.
+
+2007-09-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (make_packable_type): If the new type has been given BLKmode,
+ try again to get an integral mode for it.
+
+2007-09-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ Re-apply accidentally reverted change:
+
+ 2007-02-07 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * raise-gcc.c (get_region_description_for, get_call_site_action_for,
+ get_action_description_for): Replace _Unwind_Word with _uleb128_t
+ and _Unwind_SWord with _sleb128_t.
+
+2007-09-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (convert_with_check): Update call to real_2expN.
+
+2007-09-05 Sandra Loosemore <sandra@codesourcery.com>
+
+ * trans.c (Compilation_unit_to_gnu): Use set_cfun.
+ * utils.c (end_subprog_body): Likewise.
+
+2007-09-03 Nick Clifton <nickc@redhat.com>
+
+ * Make-lang.in: Change copyright header to refer to version 3 of
+ the GNU General Public License and to point readers at the
+ COPYING3 file and the FSF's license web page.
+ * ada-tree.def, nmake.adt, nlists.h, snames.h, utils.c,
+ Makefile.rtl, Makefile.in, config-lang.in, uintp.h, urealp.h,
+ namet.h, decl.c, utils2.c, lang.opt, elists.h, atree.h, types.h,
+ treeprs.adt, lang-specs.h, cuintp.c, stringt.h, gnatbl.c:
+ Likewise.
+
+2007-08-31 Vincent Celier <celier@adacore.com>
+
+ PR ada/4720
+
+ * gnatchop.adb, gnatfind.adb, gnatlink.adb, gnatls.adb,
+ gnatname.adb, gnatxref.adb, gprep.adb, clean.adb gnatbind.adb
+ (Check_Version_And_Help): New procedure in package Switch to process
+ switches --version and --help.
+ Use Check_Version_And_Help in GNAT tools
+
+ * make.adb: Ditto.
+ (Compile_Sources): Make sure that sources that are "excluded" are not
+ compiled.
+ (Gnatmake): Do not issue -aO. to gnatbind and only issue -I- if a
+ project file is used.
+ (Version_Switch): Remove, moved to Switch
+ (Help_Switch): Remove, moved to Switch
+ (Display_Version): Remove, moved to Switch
+
+ * switch.ads, switch.adb (Check_Version_And_Help): New procedure in
+ package Switch to process switches --version and --help.
+ (Display_Version): New procedure
+
+ * gnatvsn.ads, gnatvsn.adb (Copyright_Holder): New function.
+
+2007-08-31 Javier Miranda <miranda@adacore.com>
+
+ * a-tags.adb (Internal_Tag): Protect the run-time against wrong
+ internal tags.
+
+2007-08-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New routine.
+ (Mark_Non_Null): If the node for which we just generated an access check
+ is a reference to an *in* parameter and the reference appears in the
+ declarative part of a subprogram body, mark the node as known non null.
+
+2007-08-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.ads, einfo.adb: New flag Is_Raised (Flag224). Update the
+ structure of E_Exception to reflect the new flag.
+ (Is_Raised, Set_Is_Raised): New inlined routines.
+ Update the usage of available flag to reflect the addition of Is_Raised.
+ (Is_Raised, Set_Is_Raised): Bodies of new routines.
+ (Write_Entity_Flags): Write the status of flag Is_Raised.
+ (Is_Descendent_Of_Address): New entity flag, to simplify handling of
+ spurious ambiguities when integer literals appear in the context of an
+ address type that is a visible integer type.
+
+ * sem_ch11.adb (Analyze_Exception_Handler): Add code to warn on local
+ exceptions never being raised.
+ (Analyze_Raise_Statement): When analyzing an exception, mark it as being
+ explicitly raised.
+
+2007-08-31 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch11.adb (Expand_At_End_Handler): Avoid generation of raise
+ statement when compiling under restriction No_Exceptions_Proparation.
+
+2007-08-31 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Build_Record_Init_Proc): If there is a static
+ initialization aggregate for the type, generate itype references for
+ thetypes of its (sub)components, to prevent out-of-scope errors in gigi.
+
+2007-08-31 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch8.adb (Expand_N_Package_Renaming_Declaration): In the case of a
+ library-level package renaming, pass the declaration associated with
+ the renaming's special debug variable to Qualify_Entity_Names to ensure
+ that its encoded name is properly qualified.
+
+ * exp_dbug.adb (Qualify_All_Entity_Names): Check for a variable entity
+ occurring in the list of entities to qualify, and do not attempt to
+ traverse an entity list in that case. Variables associated with
+` library-level package renamings can now occur in the table.
+
+ * exp_dbug.ads: Revise documentation of the encoding for renaming
+ declarations.
+
+2007-08-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * layout.adb (Layout_Type): Use Underlying_Type to determine whether an
+ access type points to an unconstrained array.
+
+2007-08-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * restrict.adb, namet.adb, par-util.adb: Remove redundant type
+ conversion.
+
+ * sem_res.adb (Resolve_Qualified_Expression): Add machinery to detect
+ simple redundant qualifications. The check is performed whenever the
+ expression is a non-overloaded identifier.
+ (Resolve_Type_Conversion): Enchance the redundant type conversion check
+ to include loop parameters.
+ (Valid_Conversion): Avoid generation of spurious error message.
+
+2007-08-31 Bob Duff <duff@adacore.com>
+
+ * par-ch4.adb (P_Simple_Expression): Fold long sequences of
+ concatenations of string literals into a single literal, in order to
+ avoid very deep recursion in the front end, which was causing stack
+ overflow.
+
+ * sem_eval.adb (Eval_Concatenation): If the left operand is the empty
+ string, and the right operand is a string literal (the case of "" &
+ "..."), optimize by avoiding copying the right operand -- just use the
+ value of the right operand directly.
+
+ * stringt.adb (Store_String_Chars): Optimize by growing the
+ String_Chars table all at once, rather than appending characters one by
+ one.
+ (Write_String_Table_Entry): If the string to be printed is very long,
+ just print the first few characters, followed by the length. Otherwise,
+ doing "pn(n)" in the debugger can take an extremely long time.
+
+ * sem_prag.adb (Process_Interface_Name): Replace loop doing
+ Store_String_Char with Store_String_Chars.
+
+2007-08-31 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb: Add new attribute Excluded_Source_Files
+
+ * prj-nmsc.adb: Use attribute Excluded_Source_Files before
+ Locally_Removed_Files.
+
+ * snames.ads, snames.adb: New standard name Excluded_Source_Files
+
+2007-08-31 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Analyze_Subunit_Context): When analyzing context
+ clauses of subunits, ignore limited_with_clauses that are illegal and
+ have not been fully analyzed.
+
+2007-08-31 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb: The predicate Is_Descendent_Of_Address is now an entity
+ flag, for effiency. It is called when analyzing arithmetic operators
+ and also for actuals in calls that are universal_integers. The flag is
+ set for the predefined type address, and for any type or subtype
+ derived from it.
+
+ * sem_ch4.adb (Analyze_One_Call): Reject an actual that is a
+ Universal_Integer, when the formal is a descendent of address and the
+ call appears in user code.
+ (Analyze_Selected_Component): if the prefix is a private extension, the
+ tag component is visible.
+
+ * sem_util.ads, sem_util.adb: Remove Is_Descendent_Of_Address, now an
+ entity flag.
+
+2007-08-31 Robert Dewar <dewar@adacore.com>
+
+ * s-fileio.adb (Open): Normalize file name to lower case in non-case
+ sensitive file name systems to avoid unexpected mismatch in Vista.
+
+2007-08-31 Vincent Celier <celier@adacore.com>
+
+ * tempdir.adb: On VMS, take into account GNUTMPDIR before TMPDIR
+
+2007-08-31 Vincent Celier <celier@adacore.com>
+
+ * symbols-vms.adb (Initialize): Read symbol files with continuation
+ lines
+ (Finalize): If symbol is long, split the line
+
+2007-08-31 Vincent Celier <celier@adacore.com>
+
+ * fmap.ads: Minor comment updates
+
+2007-08-31 GNAT Script <nobody@adacore.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2007-08-31 Bob Duff <duff@adacore.com>
+
+ * sinfo.ads: Minor comment fix.
+
+2007-08-31 Thomas Quinot <quinot@adacore.com>
+
+ * stand.ads: (Standard_Debug_Renaming_Type): Make comment consistent
+ with implementation.
+ Documentation cleanup only.
+
+2007-08-31 Sergey Rybin <rybin@adacore.com>
+
+ * vms_data.ads: Add new qualifier /STMT_NAME_ON_NEW_LINE for the new
+ gnatpp '--separate-stmt-name' option.
+ Add new qualifier /USE_ON_NEW_LIN for the new gnatpp '--use-on-new-line'
+ option.
+
+ * gnat_ugn.texi: Add description for the new gnatpp
+ '--separate-stmt-name' and '--use-on-new-line' options.
+
+2007-08-31 Ben Elliston <bje@au.ibm.com>
+
+ * Makefile.in (LIBGNAT_TARGET_PAIRS): Use system-linux-ppc64.ads
+ when compiling for powerpc64-*-linux.
+ * system-linux-ppc64.ads: New file.
+
+2007-08-22 Krister Walfridsson <cato@df.lth.se>
+
+ * env.c ( __gnat_clearenv): Use the __gnat_unsetenv mechanism for
+ NetBSD.
+
+2007-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * misc.c (gnat_type_max_size): Constify.
+
+2007-08-16 Gary Dismukes <dismukes@adacore.com>
+
+ * cstand.adb (Create_Standard): Create an entity for a zero-sized type
+ associated with Standard_Debug_Renaming_Type, to be used as the type of
+ the special variables whose names provide debugger encodings for
+ renaming declarations.
+
+ * einfo.ads, einfo.adb (Debug_Renaming_Link): Change to return Node25.
+ (Set_Debug_Renaming_Link): Change to set Node25.
+ (Write_Field13_Name): Remove case for E_Enumeration_Literal.
+ (Write_Field25_Name): Add case for E_Variable to output
+ "Debug_Renaming_Link".
+ (Write_Field23_Name): Correct the output string for "Limited_View".
+
+ * exp_dbug.adb: Add with and use of Tbuild.
+ (Debug_Renaming_Declaration): Replace creation of an enumeration type
+ and literal with creation of a variable of type
+ Standard_Debug_Renaming_Type whose name encodes both the renamed object
+ and the entity of the renaming declaration.
+ (Qualify_Entity_Name): Add the delayed qualification of the entity name
+ part of the name of a variable that has a Debug_Renaming_Link.
+
+ * stand.ads (Standard_Debug_Renaming_Type): New Entity_Id denoting a
+ special type to be associated with variables that provide debugger
+ encodings for renaming declarations.
+
+2007-08-16 Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): Extend the test for an
+ ancestor part given by an aggregate to test for an unchecked conversion,
+ since this can occur in some cases when the ancestor part is a function
+ call, and we don't want to fall into the recursive call to this
+ procedure in that case.
+
+ * exp_ch3.adb (Stream_Operation_OK): Revise tests for availability of
+ stream attributes on limited types to account for user-specified
+ attributes as well as whether Input (resp. Output) becomes available
+ due to Read (resp. Write) being available for the type. Change Boolean
+ variable to the more accurate name
+ Has_Predefined_Or_Specified_Stream_Attribute. Change convoluted
+ double-"not" predicate at beginning of return statement to more
+ understandable form.
+
+ * exp_ch5.adb (Expand_N_Extended_Return_Statement): If the extended
+ return has an associated N_Handled_Sequence_Of_Statements, then wrap it
+ in a block statement and use that as the first statement of the
+ expanded return rather than incorrectly using the handled sequence as
+ the first statement.
+
+ * exp_ch6.adb (Expand_N_Subprogram_Declaration): If this is a protected
+ operation, generate an explicit freeze node for it rather than
+ generating extra formals, to ensure that gigi has the proper order of
+ elaboration for anonymous subtypes in the signature of the subprograms.
+ (Build_In_Place_Formal): Move assertion to beginning of loop.
+ (Is_Build_In_Place_Function_Call): Allow for an unchecked conversion
+ applied to a function call (occurs for some cases of 'Input).
+ (Make_Build_In_Place_Call_In_*): Allow for an unchecked conversion
+ applied to a function call (occurs for some cases of 'Input).
+
+ * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For Ada
+ 2005, generate an extended return statement enclosing the result object
+ and 'Read call.
+
+ * freeze.adb (Freeze_Record_Type): Extend the current management of
+ components that are access type with an allocator as default value: add
+ missing support to the use of qualified expressions of the
+ allocator (which also cause freezing of the designated type!)
+ (Freeze_Entity): Call Freeze_Subprogram in the case of a predefined
+ dispatching operation, since extra formals may be needed by calls to
+ build-in-place functions (such as stream 'Input).
+
+ * sem_ch6.adb (Create_Extra_Formals): Skip creation of the extra
+ formals for 'Constrained and accessibility level in the case of a
+ predefined dispatching operation.
+
+ * exp_util.adb (Insert_Actions): A protected body is a valid insertion
+ point, no need to find the parent node.
+
+2007-08-16 Javier Miranda <miranda@adacore.com>
+
+ * exp_attr.adb (Attribute_Priority): Add missing support for entries
+ and entry barriers.
+
+2007-08-16 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch9.adb (Build_Protected_Entry): Undo previous change because it
+ is not really required and can introduce regression with the debugger.
+ The original problem is fixed with the patch written for checks.adb.
+
+2007-08-16 Thomas Quinot <quinot@adacore.com>
+
+ * g-dyntab.adb, g-table.adb, table.adb: (Set_Item): Suppress
+ Range_Check on Allocated_Table.
+
+2007-08-16 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Collect_Arguments): Call Test_If_Relative_Path with
+ Including_Non_Switch set to False.
+ (Gnatmake): For the compiler, call Test_If_Relative_Path with
+ Including_Non_Switch set to False.
+
+ * makeutl.adb, makeutl.ads (Test_If_Relative_Path): New Boolean
+ parameter Including_Non_Switch, defaulted to True. When
+ Including_Non_Switch is False, options that are not switches and
+ appear as relative path are not converted to absolute paths.
+
+2007-08-16 Nicolas Roche <roche@adacore.com>
+
+ * Makefile.in (gnatlib): Propagate FORCE_DEBUG_ADAFLAGS value to sub
+ makefiles
+
+ * Make-lang.in: Update dependencies
+
+2007-08-16 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch10.adb (Has_With_Clause): If the name of the with clause
+ currently inspected is a selected component, retrieve the entity of
+ its selector.
+ (Install_Limited_Withed_Unit): Call Has_Limited_With_Clause starting
+ from the immediate ancestor of Main_Unit_Entity.
+ (Install_Limited_Withed_Unit): Do not install the limited view of
+ package P if P is reachable through an ancestor chain from package C
+ and C also has a with clause for P in its body.
+ (Has_Limited_With_Clause): New routine.
+ (Has_With_Clause): New routine.
+
+2007-08-16 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Copy_Generic_Node): A reference to a child unit of the
+ generic for an enclosing instance is a global reference, even though
+ its scope is the enclosing instance.
+
+2007-08-16 Gary Dismukes <dismukes@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (OK_For_Limited_Init_In_05): Allow calls to 'Input to
+ initialize a limited object.
+ (Build_Derived_Record_Type): Add missing check of rules ARM 3.9.4
+ 13/2 and 14/2.
+ Make sure Has_Complex_Representation is inherited by derived type.
+
+2007-08-16 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb (Analyze_Assignment): Make sure we still note update in
+ exception case
+
+2007-08-16 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_disp.adb (Check_Dispatching_Operation): If the operation
+ implements an operation inherited from a progenitor interface, verify
+ that they are subtype-conformant.
+
+2007-08-16 Hristian Kirtchev <kirtchev@adacore.com>
+ Bob Duff <duff@adacore.com>
+ Nicolas Setton <setton@adacore.com>
+
+ * sem_res.adb (Comes_From_Predefined_Lib_Unit): New.
+ (Resolve): Alphabetize local variables. Add new variable From_Lib. When
+ the statement which is being resolved comes from a predefined library
+ unit, all non-predefined library interpretations are skipped.
+ (Resolve_Op_Concat): If string concatenation was folded in the parser,
+ but the "&" is user defined, give an error, because the folding would
+ be wrong.
+
+ * sinfo.ads, sinfo.adb (Is_Folded_In_Parser): New flag to indicate that
+ the parser has folded a long sequence of concatenations of string
+ literals.
+
+ * trans.c (Handled_Sequence_Of_Statements_to_gnu): Mark "JMPBUF_SAVE"
+ and "JMP_BUF" variables as artificial.
+ (N_String_Literal): Do not use alloca for very long string literals. Use
+ xmalloc/free instead. Otherwise the stack might overflow.
+
+ * utils.c (init_gigi_decls): Mark "JMPBUF_T" type as created by the
+ compiler.
+
+2007-08-16 Vincent Celier <celier@adacore.com>
+
+ * vms_conv.adb (Process_Argument): Ensure that project related options
+ are not put in the -cargs section when using GNAT COMPILE.
+
+2007-08-16 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Add note on preprocessing (output file not written)
+
+2007-08-16 Thomas Quinot <quinot@adacore.com>
+
+ * a-tags.adb: Minor reformatting.
+
+2007-08-16 Bob Duff <duff@adacore.com>
+
+ * sem_type.ads, sem_ch4.adb: Minor reformatting.
+
+2007-08-14 Thomas Quinot <quinot@adacore.com>
+
+ * g-soccon-interix.ads, a-excpol-interix.adb, a-intnam-interix.ads,
+ s-osinte-interix.ads, system-interix.ads: Removed.
+
+2007-08-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-calend-vms.adb, a-calend.adb ("+", "-", Add, Subtract): Remove
+ calls to Check_Within_Time_Bounds.
+ ("+", "-", Add, Subtract): Remove calls to Check_Within_Time_Bounds.
+ (Difference): Account for possible rounding of the resulting difference
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+
+ * uintp.adb, a-ztedit.adb, s-wchcon.adb, xnmake.adb, s-wchcon.adb,
+ par-ch5.adb, par-ch10.adb, get_targ.adb, a-wtedit.adb, a-teioed.adb,
+ s-osinte-solaris.adb, s-osinte-solaris.ads,
+ s-osinte-freebsd.ads, s-osinte-freebsd.adb: Minor reformatting.
+
+ * styleg.adb, styleg.ads, stylesw.adb, stylesw.ads: implement style
+ switch -gnatyS. Enable -gnatyS in GNAT style check mode
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * inline.adb, types.ads, inline.ads, frontend.adb, alloc.ads:
+ Suppress unmodified in-out parameter warning in some cases
+ This patch is a also fairly significant change to the way suppressible
+ checks are handled.
+
+ * checks.ads, checks.adb (Install_Null_Excluding_Check): No check
+ needed for access to concurrent record types generated by the expander.
+ (Generate_Range_Check): When generating a temporary to capture the
+ value of a conversion that requires a range check, set the type of the
+ temporary before rewriting the node, so that the type is always
+ properly placed for back-end use.
+ (Apply_Float_Conversion_Check): Handle case where the conversion is
+ truncating.
+ (Get_Discriminal): Code reformatting. Climb the scope stack looking
+ for a protected type in order to examine its discriminants.
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * a-stzsup.adb, nlists.adb, lib-util.adb, treepr.adb,
+ a-stwisu.adb, a-strsup.adb: Fix warnings for range
+ tests optimized out.
+
+ * exp_ch4.adb (Expand_N_In): Add warnings for range tests optimized out.
+ (Get_Allocator_Final_List): For the case of an anonymous access type
+ that has a specified Associated_Final_Chain, do not go up to the
+ enclosing scope.
+ (Expand_N_Type_Conversion): Test for the case of renamings of access
+ parameters when deciding whether to apply a run-time accessibility
+ check.
+ (Convert_Aggr_In_Allocator): Use Insert_Actions to place expanded
+ aggregate code before allocator, and ahead of declaration for
+ temporary, to prevent access before elaboration when the allocator is
+ an actual for an access parameter.
+ (Expand_N_Type_Conversion): On an access type conversion involving an
+ access parameter, do not apply an accessibility check when the
+ operand's original node was an attribute other than 'Access. We now
+ create access conversions for the expansion of 'Unchecked_Access and
+ 'Unrestricted_Access in certain cases and clearly accessibility should
+ not be checked for those.
+
+ * exp_ch6.ads, exp_ch6.adb (Add_Call_By_Copy_Code): For an actual that
+ includes a type conversion of a packed component that has been expanded,
+ recover the original expression for the object, and use this expression
+ in the post-call assignment statement, so that the assignment is made
+ to the object and not to a back-end temporary.
+ (Freeze_Subprogram): In case of primitives of tagged types not defined
+ at the library level force generation of code to register the primitive
+ in the dispatch table. In addition some code reorganization has been
+ done to leave the implementation clear.
+ (Expand_Call): When expanding an inherited implicit conversion,
+ preserve the type of the inherited function after the intrinsic
+ operation has been expanded.
+
+ * exp_ch2.ads, exp_ch2.adb
+ (Expand_Entry_Parameter.In_Assignment_Context): An implicit dereference
+ of an entry formal appearing in an assignment statement does not assign
+ to the formal.
+ (Expand_Current_Value): Instead of calling a routine to determine
+ whether the prefix of an attribute reference should be optimized or
+ not, prevent the optimization of such prefixes all together.
+
+ * lib-xref.adb (Generate_Reference.Is_On_LHS): An indexed or selected
+ component whose prefix is known to be of an access type is an implicit
+ dereference and does not assign to the prefix.
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * atree.ads, atree.adb (New_Copy_Tree): If hash table is being used and
+ itype is visited, make an entry into table to link associated node and
+ new itype.
+ Add comments and correct harmless error in Build_NCT_Hash_Tables
+ (Array_Aggr_Subtype): Associate each itype created for an index type to
+ the corresponding range construct, and not to the aggregate itself. to
+ maintain a one-to-one correspondence between itype and its associated
+ node, to prevent errors when complex expression is copied.
+ Fix mishandling of multiple levels of parens
+
+ * sem_aggr.adb: Create a limited view of an incomplete type, to make
+ treatment of limited views uniform for all visible declarations in a
+ limited_withed package.
+ (New_Copy_Tree): If hash table is being used and itype is visited,
+ make an entry into table to link associated node and new itype.
+ (Resolve_Record_Aggregate): Do not add an others box association for a
+ discriminated record component that has only discriminants, when there
+ is a box association for the component itself.
+
+ * par-ch4.adb: Fix mishandling of multiple levels of parens
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+
+ * comperr.adb: Fix problem with suppressing warning messages from gigi
+
+ * erroutc.ads, erroutc.adb, errout.ads,
+ errout.adb (Write_Eol): Remove trailing spaces before writing the line
+ (Write_Eol_Keep_Blanks): New procedure to write a line, including
+ possible trailing spaces.
+ (Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
+ Fix problem with suppressing warning messages from back end
+ Improve handling of deleted warnings
+
+ * gnat1drv.adb:
+ Fix problem with suppressing warning messages from back end
+ Handle setting of Static_Dispatch_Tables flag.
+
+ * prepcomp.adb:
+ Fix problem with suppressing warning messages from back end
+
+ * exp_intr.adb: Improve handling of deleted warnings
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+
+ * debug.adb: Improve -gnatdI to cover all cases of serialization
+ Add documentation of dZ, d.t
+
+ * sprint.ads, sprint.adb: Improve -gnatdI to cover all cases of
+ serialization.
+ (Sprint_Node_Actual): Generate new output associated with implicit
+ importation and implicit exportation of object declarations.
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * einfo.ads, einfo.adb: Create a limited view of an incomplete type,
+ to make treatment of limited views uniform for all visible declarations
+ in a limited_withed package.
+ Improve warnings for in out parameters
+ (Set_Related_Interaface/Related_Interface): Allow the use of this
+ attribute with constants.
+ (Write_Field26_Name): Handle attribute Related_Interface in constants.
+ Warn on duplicate pragma Preelaborable_Initialialization
+
+ * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Force the
+ generation of a freezing node to ensure proper management of null
+ excluding access types in the backend.
+ (Create_Extra_Formals): Test base type of the formal when checking for
+ the need to add an extra accessibility-level formal. Pass the entity E
+ on all calls to Add_Extra_Formal (rather than Scope (Formal) as was
+ originally being done in a couple of cases), to ensure that the
+ Extra_Formals list gets set on the entity E when the first entity is
+ added.
+ (Conforming_Types): Add missing calls to Base_Type to the code that
+ handles anonymous access types. This is required to handle the
+ general case because Process_Formals builds internal subtype entities
+ to handle null-excluding access types.
+ (Make_Controlling_Function_Wrappers): Create wrappers for constructor
+ functions that need it, even when not marked Requires_Overriding.
+ Improve warnings for in out parameters
+ (Analyze_Function_Return): Warn for disallowed null return
+ Warn on return from procedure with unset out parameter
+ Ensure consistent use of # in error messages
+ (Check_Overriding_Indicator): Add in parameter Is_Primitive.
+ (Analyze_Function_Return): Move call to Apply_Constraint_Check before
+ the implicit conversion of the expression done for anonymous access
+ types. This is required to generate the code of the null excluding
+ check (if required).
+
+ * sem_warn.ads, sem_warn.adb (Check_References.Publicly_Referenceable):
+ A formal parameter is never publicly referenceable outside of its body.
+ (Check_References): For an unreferenced formal parameter in an accept
+ statement, use the same warning circuitry as for subprogram formal
+ parameters.
+ (Warn_On_Unreferenced_Entity): New subprogram, taken from
+ Output_Unreferenced_Messages, containing the part of that routine that
+ is now reused for entry formals as described above.
+ (Goto_Spec_Entity): New function
+ (Check_References): Do not give IN OUT warning for dispatching operation
+ Improve warnings for in out parameters
+ (Test_Ref): Check that the entity is not undefinite before calling
+ Scope_Within, in order to avoid infinite loops.
+ Warn on return from procedure with unset out parameter
+ Improved warnings for unused variables
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of child unit
+ (Expand_N_Attribute_Reference): Further unify the handling of the
+ three forms of access attributes, using common code now for all three
+ cases. Add a test for the case of applying an access attribute to
+ an explicit dereference when the context is an access-to-interface
+ type. In that case we need to apply the conversion to the prefix
+ of the explicit dereference rather than the prefix of the attribute.
+ (Attribute_Version, UET_Address): Set entity as internal to ensure
+ proper dg output of implicit importation.
+ (Expand_Access_To_Type): Removed.
+ (Expand_N_Attribute_Reference): Merge the code from the three cases
+ of access attributes, since the processing is largely identical for
+ these cases. The substantive fix here is to process the case of a
+ type name prefix (current instance case) before handling the case
+ of interface prefixes.
+
+2007-08-14 Thomas Quinot <quinot@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_ch3.ads, exp_ch3.adb (Add_Final_Chain): New subprogram.
+ (Freeze_Array_Type, Freeze_Record_Type): For the case of a component
+ type that is an anonymous access to controlled object, establish
+ an associated finalization chain to avoid corrupting the global
+ finalization list when a dynamically allocated object designated
+ by such a component is deallocated.
+ (Make_Controlling_Function_Wrappers): Create wrappers for constructor
+ functions that need it, even when not marked Requires_Overriding.
+ (Initialize_Tag): Replace call to has_discriminants by call to
+ Is_Variable_Size_Record in the circuitry that handles the
+ initialization of secondary tags.
+ (Is_Variable_Size_Record): New implementation.
+ (Expand_N_Object_Declaration): Suppress call to init proc if there is a
+ Suppress_Initialization pragma for a derived type.
+ (Is_Variable_Size_Record): New subprogram.
+ (Build_Offset_To_Top_Functions): New implementation that simplifies the
+ initial version of this routine and also fixes problems causing
+ incomplete initialization of the table of interfaces.
+ (Build_Init_Procedure): Improve the generation of code to initialize the
+ the tag components of secondary dispatch tables.
+ (Init_Secondary_Tags): New implementation that simplifies the previous
+ version of this routine.
+ (Make_DT): Add parameter to indicate when type has been frozen by an
+ object declaration, for diagnostic purposes.
+ (Check_Premature_Freezing): New subsidiary procedure of Make_DT, to
+ diagnose attemps to freeze a subprogram when some untagged type of its
+ profile is a private type whose full view has not been analyzed yet.
+ (Freeze_Array_Type): Generate init proc for packed array if either
+ Initialize or Normalize_Scalars is set.
+ (Make_Controlling_Function_Wrappers, Make_Null_Procedure_Specs): when
+ constructing the new profile, copy the null_exclusion indicator for each
+ parameter, to ensure full conformance of the new body with the spec.
+
+ * sem_type.ads, sem_type.adb (Make_Controlling_Function_Wrappers):
+ Create wrappers for constructor functions that need it, even when not
+ marked Requires_Overriding.
+ (Covers): Handle properly designated types of anonymous access types,
+ whose non-limited views are themselves incomplete types.
+ (Add_Entry): Use an entity to store the abstract operation which hides
+ an interpretation.
+ (Binary_Op_May_Be_Hidden): Rename to Binary_Op_Interp_Has_Abstract_Op.
+ (Collect_Interps): Use Empty as an actual for Abstract_Op in the
+ initialization aggregate.
+ (Function_Interp_May_Be_Hidden): Rename to
+ Function_Interp_Has_Abstract_Op.
+ (Has_Compatible_Type): Remove machinery that skips interpretations if
+ they are labeled as potentially hidden by an abstract operator.
+ (Has_Hidden_Interp): Rename to Has_Abstract_Op.
+ (Set_May_Be_Hidden): Rename to Set_Abstract_Op.
+ (Write_Overloads): Output the abstract operator if present.
+ (Add_Entry): Before inserting a new entry into the interpretation table
+ for a node, determine whether the entry will be disabled by an abstract
+ operator.
+ (Binary_Op_Interp_May_Be_Hidden): New routine.
+ (Collect_Interps): Add value for flag May_Be_Hidden in initialization
+ aggregate.
+ (Function_Interp_May_Be_Hidden): New routine.
+ (Has_Compatible_Type): Do not consider interpretations hidden by
+ abstract operators when trying to determine whether two types are
+ compatible.
+ (Has_Hidden_Interp): New routine.
+ (Set_May_Be_Hidden_Interp): New routine.
+ (Write_Overloads): Write the status of flag May_Be_Hidden.
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.ads, exp_disp.adb (Build_Dispatch_Tables): Handle tagged
+ types declared in the declarative part of a nested package body or in
+ the proper body of a stub.
+ (Set_All_DT_Position): Add missing check to avoid wrong assignation
+ of the same dispatch table slot to renamed primitives.
+ (Make_Select_Specific_Data_Table): Handle private types.
+ (Tagged_Kind): Handle private types.
+ (Make_Tags, Make_DT): Set tag entity as internal to ensure proper dg
+ output of implicit importation and exportation.
+ (Expand_Interface_Thunk): Fix bug in the expansion assuming that the
+ first formal of the thunk is always associated with the controlling
+ type. In addition perform the following code cleanup: remove formal
+ Thunk_Alias which is no longer required, cleanup evaluation of the
+ the controlling type, and update the documentation.
+ Replace occurrence of Default_Prim_Op_Count by
+ Max_Predef_Prims. Addition of compile-time check to verify
+ that the value of Max_Predef_Prims is correct.
+ (Check_Premature_Freezing): Apply check in Ada95 mode as well.
+ (Make_DT): Add parameter to indicate when type has been frozen by an
+ object declaration, for diagnostic purposes.
+ (Build_Static_Dispatch_Tables): New subprogram that takes care of the
+ construction of statically allocated dispatch tables.
+ (Make_DT): In case of library-level tagged types export the declaration
+ of the primary tag. Remove generation of tags (now done by Make_Tags).
+ Additional modifications to handle non-static generation of dispatch
+ tables. Take care of building tables for asynchronous interface types
+ (Make_Tags): New subprogram that generates the entities associated with
+ the primary and secondary tags of Typ and fills the contents of Access_
+ Disp_Table. In case of library-level tagged types imports the forward
+ declaration of the primary tag that will be declared later by Make_DT.
+ (Expand_Interface_Conversion): In case of access types to interfaces
+ replace an itype declaration by an explicit type declaration to avoid
+ problems associated with the scope of such itype in transient blocks.
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * exp_util.ads, exp_util.adb:
+ This patch replaces a number of occurrences of explicit tests for N_Null
+ with calls to Known_Null. This improves tracking of null values, since
+ Known_Null also catches null constants, and variables currently known to
+ be null, so we get better tracking.
+ (Ensure_Defined): create an itype reference only in the scope of the
+ itype.
+ (Side_Effect_Free): A selected component of an access type that
+ denotes a component with a rep clause must be treated as not
+ side-effect free, because if it is part of a linked structure its
+ value may be affected by a renaming.
+ (Expand_Subtype_From_Expr): For limited objects initialized with build
+ in place function calls, do nothing; otherwise we prematurely introduce
+ an N_Reference node in the expression initializing the object, which
+ breaks the circuitry that detects and adds the additional arguments to
+ the called function. Bug found working in the new patch for statically
+ allocated dispatch tables.
+ (Is_Library_Level_Tagged_Type): New subprogram.
+ (Remove_Side_Effects): If the expression of an elementary type is an
+ operator treat as a function call.
+ (Make_Literal_Range): If the index type of the array is not integer, use
+ attributes properly to compute the constraint on the resulting aggregate
+ which is a string.
+
+ * freeze.ads, freeze.adb (Freeze_Entity): If the entity is a
+ class-wide type whose base type is an incomplete private type, leave
+ class-wide type unfrozen so that freeze nodes can be generated
+ properly at a later point.
+ (Freeze_Entity, array case): Handle case of pragma Pack and component
+ size attributre clause for same array.
+
+2007-08-14 Vincent Celier <celier@adacore.com>
+
+ * prj.ads, prj.adb: Update Project Manager to new attribute names for
+ gprbuild.
+ Allow all valid declarations in configuration project files
+ (Reset): Initialize all tables and hash tables in the project tree data
+ Major update of the Project Manager and of the project aware tools,
+ including gprmake, so that the same sources in the GNAT repository
+ can be used by gprbuild.
+ (Slash_Id): Change type to be Path_Name_Type
+ (Slash): Return a Path_Name_Type instead of a File_Name_Type
+
+ * prj-attr.ads, prj-attr.adb: Remove attributes no longer used by
+ gprbuild.
+ Update Project Manager to new attribute names for ghprbuild
+ Allow all valid declarations in configuration project files
+ Major update of the Project Manager and of the project aware tools,
+ including gprmake, so that the same sources in the GNAT repository
+ can be used by gprbuild.
+
+ * prj-com.ads:
+ Major update of the Project Manager and of the project aware tools,
+ including gprmake, so that the same sources in the GNAT repository
+ can be used by gprbuild.
+
+ * prj-dect.adb (Prj.Strt.Attribute_Reference): Set correctly the case
+ insensitive flag for attributes with optional index.
+ (Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative
+ array attribute, put the index in lower case.
+ Update Project Manager to new attribute names for ghprbuild
+ Allow all valid declarations in configuration project files
+ Major update of the Project Manager and of the project aware tools,
+ including gprmake, so that the same sources in the GNAT repository
+ can be used by gprbuild.
+
+ * prj-env.ads, prj-env.adb:
+ Major update of the Project Manager and of the project aware tools,
+ including gprmake, so that the same sources in the GNAT repository
+ can be used by gprbuild.
+ (Get_Reference): Change type of parameter Path to Path_Name_Type
+
+ * prj-ext.ads, prj-ext.adb (Initialize_Project_Path): Make sure, after
+ removing '-' from the path to start with the first character of the
+ next directory.
+ Major update of the Project Manager and of the project aware tools,
+ including gprmake, so that the same sources in the GNAT repository
+ can be used by gprbuild.
+ Major update of the Project Manager and of the project aware tools,
+ including gprmake, so that the same sources in the GNAT repository
+ can be used by gprbuild.
+
+ * prj-nmsc.ads, prj-nmsc.adb:
+ Update Project Manager to new attribute names for ghprbuild
+ Allow all valid declarations in configuration project files
+ (Search_Directories): Detect subunits that are specified with an
+ attribute Body in package Naming. Do not replace a source/unit in the
+ same project when the order of the source dirs are known. Detect
+ duplicate sources/units in the same project when the order of the
+ source dirs are not known.
+ (Check_Ada_Name): Allow all identifiers that are not reserved words
+ in Ada 95.
+ Major update of the Project Manager and of the project aware tools,
+ including gprmake, so that the same sources in the GNAT repository
+ can be used by gprbuild.
+ (Look_For_Sources): If the list of sources is empty, set the object
+ directory of non extending project to nil.
+ Change type of path name variables to be Path_Name_Type
+ (Locate_Directory): Make sure that on Windows '/' is converted to '\',
+ otherwise creating missing directories will fail.
+
+ * prj-attr-pm.adb, prj-tree.ads, prj-proc.ads, prj-proc.adb,
+ prj-part.ads, prj-part.adb:
+ Major update of the Project Manager and of the project aware tools,
+ including gprmake, so that the same sources in the GNAT repository
+ can be used by gprbuild.
+
+ * prj-strt.adb (Prj.Strt.Attribute_Reference): Set correctly the case
+ insensitive flag for attributes with optional index.
+ (Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative
+ array attribute, put the index in lower case.
+ (Parse_Variable_Reference): Allow the current project name to be used in
+ the prefix of an attribute reference.
+
+ * prj-util.ads, prj-util.adb
+ (Value_Of (for arrays)): New Boolean parameter Force_Lower_Case_Index,
+ defaulted to False. When True, always check against indexes in lower
+ case.
+
+ * snames.ads, snames.h, snames.adb:
+ Update Project Manager to new attribute names for gprbuild
+ Allow all valid declarations in configuration project files
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * opt.ads: Warning for non-local exception propagation now off by
+ default
+ New switch -gnatI to disable representation clauses
+ Implement new pragma Implicit_Packing
+
+ * usage.adb:
+ Warning for non-local exception propagation now off by default
+ Add warning for unchecked conversion of pointers wi different
+ conventions.
+ New switch -gnatI to disable representation clauses
+
+ * usage.adb: new switch -gnatyS
+
+ * gnat_ugn.texi: For the gnatcheck Non_Qualified_Aggregates rule add a
+ note that aggregates of anonymous array types are not flagged.
+ -gnatwc now includes membership tests optimized away
+ -gnatw.x warnings are now off by default
+ Added conditional compilation Appendix
+ Add documentation of -gnatI
+ Add documentation for new -gnatyS style check
+ Update documentation about SAL and auto-init on Windows.
+
+ * gnat_rm.texi:
+ Add documentation for pragma Check_Name and 'Enabled attribute
+ Document that Eliminate on dispatching operation is ignored
+ Document IDE attributes VCS_Repository_Root and VCS_Patch_Root.
+ Document pragma Main
+ Document pragma Implicit_Packing
+
+ * sem_ch13.adb: Add warning for unchecked conversion of pointers wi
+ different conventions
+ New switch -gnatI to disable representation clauses
+
+ * switch-c.adb (Scan_Front_End_Switches): When a -gnat switch is not
+ recognized, report the invalid characters including "-gnat" instead of
+ just the first character in the switch.
+ New switch -gnatI to disable representation clauses
+ Set Warn_On_Object_Renames_Function true for -gnatg
+
+ * vms_data.ads: Add doc for /IGNORE_REP_CLAUSES
+ Add STATEMENTS_AFTER_THEN_ELSE as synonym for -gnatyS
+ Add qualifier /ADD_PROJECT_SEARCH_DIR= for different tools, equivalent
+ to switch -aP (add directory to project search dir).
+
+ * par-prag.adb: Implement new pragma Implicit_Packing
+
+ * sem_prag.adb (Analyze_Pragma, case Complex_Representation): Mark the
+ type as having a non-standard representation, to force expansion on
+ conversion to related types.
+ (Analyze_Pragma): Warn on misspelled pragma
+ (Analyze_Pragma, case Convention_Identifier): Fix checking of second arg
+ Ensure consistent use of # in error messages
+ Implement pragma Implicit_Packing
+
+2007-08-14 Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * targtyps.c (get_target_maximum_default_alignment): New function.
+ Maximum alignment
+ that the compiler might choose by default for a type or object.
+ (get_target_default_allocator_alignment): New function. Alignment known
+ to be honored by the target default allocator.
+ (get_target_maximum_allowed_alignment): New function. Maximum alignment
+ we might accept for any type or object on the target.
+ (get_target_maximum_alignment): Now synonym of maximum_default_alignment
+
+ * gigi.h (get_target_maximum_default_alignment): Declare new function.
+ (get_target_default_allocator_alignment): Likewise.
+ (get_target_maximum_allowed_alignment): Likewise.
+
+ PR ada/19037
+ * decl.c (gnat_to_gnu_entity) <object>: Except for the renaming of the
+ result of a function call, first try to use a stabilized reference for
+ a constant renaming too.
+ (validate_alignment): Use target_maximum_allowed_alignment instead of
+ MAX_OFILE_ALIGNMENT as the upper bound to what we accept.
+ (gnat_to_gnu_entity): Use common nodes directly.
+ (gnat_to_gnu_entity) <object>: Pick the values of the type to annotate
+ alignment and size for the object.
+ (lvalue_required_p): Handle N_Parameter_Association like N_Function_Call
+ and N_Procedure_Call_Statement.
+ (takes_address): Rename to lvalue_required_p, add third parameter
+ 'aliased' and adjust recursive calls.
+ <N_Indexed_Component>: Update 'aliased' from the array type.
+ <N_Selected_Component>: New case.
+ <N_Object_Renaming_Declaration>: New Likewise.
+ (Identifier_to_gnu): Adjust for above changes.
+ (maybe_stabilize_reference) <CONST_DECL>: New case.
+
+ * utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Look through conversion
+ between type variants.
+ (build_simple_component_ref): Likewise.
+ (build_call_alloc_dealloc): Use target_default_allocator_alignment
+ instead of BIGGEST_ALIGNMENT as the threshold to trigger the super
+ aligning type circuitry for allocations from the default storage pool.
+ (build_allocator): Likewise.
+ (build_simple_component_ref): Manually fold the reference for a
+ constructor if the record type contains a template.
+
+ * utils.c (value_zerop): Delete.
+ (gnat_init_decl_processing): Emit debug info for common types.
+ (rest_of_record_type_compilation): If a union contains a field
+ with a non-constant qualifier, treat it as variable-sized.
+ (finish_record_type): Give the stub TYPE_DECL a name.
+ (rest_of_record_type_compilation): Likewise.
+ (convert) <CONSTRUCTOR>: New case. Build a new constructor if
+ types are equivalent array types.
+ (create_field_decl): Claim fields of any ARRAY_TYPE are addressable,
+ even if the type is not passed by reference.
+ (static_ctors, static_dtors): Delete.
+ (end_subprog_body): Do not record constructors and destructors.
+ (build_global_cdtor): Delete.
+ (gnat_write_global_declarations): Do not call build_global_cdtor.
+
+ * lang-spARGET_VXWORKS_RTP is defined, append -mrtp when
+ -fRTS=rtp is specified.
+ If CONFIG_DUAL_EXCEPTIONS is 1, append -fsjlj when -fRTS=sjlj is
+ specified.
+
+ * misc.c (gnat_init_gcc_eh): Use __gnat_eh_personality_sj for the name
+ of the personality function with SJLJ exceptions.
+
+ * raise-gcc.c (PERSONALITY_FUNCTION): Use __gnat_eh_personality_sj for
+ the name of the personality function with SJLJ exceptions.
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * par.ads, par.adb: Improve handling of extra right parens.
+ (Par): Remove flag From_Limited_With_Clause.
+
+ * par-util.adb, par-ch3.adb: Improve error recovery for bad constraint
+ Improve handling of extra right parens.
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+
+ * par-tchk.adb (TF_Semicolon): Improve error recovery
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.ads, sem_attr.adb (Analyze_Attribute, case Value): For
+ enumeration type, mark all literals as referenced.
+ (Eval_Attribute, case 'Image): If the argument is an enumeration
+ literal and names are available, constant-fold but mark nevertheless as
+ non-static.
+ Clean up function names.
+ (Name_Modifies_Prefix): Rename to Name_Implies_Lvalue_Prefix. Clarify
+ comment.
+ (Requires_Simple_Name_Prefix): Removed.
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch11.adb: Improved warnings for unused variables
+
+ * sem_ch3.ads, sem_ch3.adb (Build_Derived_Record_Type): If the ancestor
+ is a synchronized interface, the derived type is limited.
+ (Analyze_Object_Declaration): Mark the potential coextensions in the
+ definition and expression of an object declaration node.
+ (Build_Derived_Type): For the completion of a private type declaration
+ with a derived type declaration, chain the parent type's representation
+ items to the last representation item of the derived type (not the
+ first one) if they are not present already.
+ (Analyze_Object_Declaration, Constant_Redeclaration): Allow incomplete
+ object declaration of forward references to tags.
+ (Access_Subprogram_Declaration): In Ada2005, anonymous access to
+ subprogram types can appear as access discriminants of synchronized
+ types.
+ (OK_For_Limited_Init_In_05): The initialization is legal is it is a call
+ given in prefixed form as a selected component.
+ (Process_Discriminants): If not all discriminants have defaults, place
+ error message on a default that is present.
+ (Analyze_Private_Extension_Declaration): Diagnose properly an attempt to
+ extend a synchronized tagged type.
+ Improved warnings for unused variables
+ (Is_Visible_Component): Fix a visibility hole on a component inherited
+ by a private extension when parent is itself declared as a private
+ extension, and the derivation is in a child unit.
+ (Find_Hidden_Interface): Move spec from the package body.
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb: Improve warnings on redundant assignments
+
+ * sem_util.ads, sem_util.adb: (Is_Variable): Add defense against junk
+ parameter
+ (Is_Synchronized_Tagged_Type): New subprogram that returns true
+ in case of synchronized tagged types (AARM 3.9.4 (6/2)).
+ (Safe_To_Capture_Value): Can now return True for constants, even if Cond
+ is set to False. Improves handling of Known_[Not_]Null.
+ (Wrong_Type): Special case address arithmetic attempt
+ (Collect_Abstract_Interfaces): Add new formal to allow collecting
+ abstract interfaces just using the partial view of private types.
+ (Has_Abstract_Interfaces): Add new formal to allow checking types
+ covering interfaces using the partial view of private types.
+ (Is_Fully_Initialized_Type): Special VM case for uTag component. This
+ component still needs to be defined in this case, but is never
+ initialized as VMs are using other dispatching mechanisms.
+ (Abstract_Interface_List): For a protected type, use base type to get
+ proper declaration.
+ Improve warnings on redundant assignments
+ (Is_Variable): Handle properly an implicit dereference of a prefixed
+ function call.
+ (Build_Actual_Subtype): If this is an actual subtype for an
+ unconstrained formal parameter, use the sloc of the body for the new
+ declaration, to prevent anomalises in the debugger.
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+
+ * sem_elim.adb (Set_Eliminated): Ignore pragma Eliminate for
+ dispatching operation
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * exp_aggr.ads,
+ exp_aggr.adb (Convert_Aggr_In_Allocator): Use Insert_Actions to place
+ expanded aggregate code before allocator, and ahead of declaration for
+ temporary, to prevent access before elaboration when the allocator is
+ an actual for an access parameter.
+ (Is_Static_Dispatch_Table_Aggregate): Handle aggregates initializing
+ the TSD and the table of interfaces.
+ (Convert_To_Assignments): Augment the test for delaying aggregate
+ expansion for limited return statements to include the case of extended
+ returns, to prevent creation of an unwanted transient scope.
+ (Is_Static_Dispatch_Table_Aggregate): New subprogram.
+ (Expand_Array_Aggregate): Handle aggregates associated with
+ statically allocated dispatch tables.
+ (Expand_Record_Aggregate): Handle aggregates associated with
+ statically allocated dispatch tables.
+ (Gen_Ctrl_Actions_For_Aggr): Generate a finalization list for allocators
+ of anonymous access type.
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Assign_Array): If source or target of assignment
+ is a variable that renames a slice, use the variable itself in the
+ expannsion when the renamed expression itself may be modified between
+ the declaration of the renaming and the array assignment.
+
+2007-08-14 Jerome Guitton <guitton@adacore.com>
+
+ * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
+ s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
+ s-taprop-vms.adb, s-taprop-posix.adb (Continue_Task, Stop_All_Tasks):
+ New functions; dummy implementations.
+
+ * s-osinte-vxworks.ads (Task_Stop, Task_Cont, Int_Lock, Int_Unlock): New
+ functions, used to implement the multi-tasks mode routines on VxWorks.
+
+ * s-osinte-vxworks.adb, s-osinte-vxworks6.adb (Task_Cont, Task_Stop):
+ New functions, thin
+ binding to the VxWorks routines which have changed between VxWorks 5
+ and 6.
+ (Int_Lock, Int_Unlock): New function, thin binding to kernel routines
+ which are not callable from a RTP.
+
+ * s-taprop-vxworks.adb (Stop_All_Tasks, Continue_Task): New functions,
+ implemented for the multi-tasks mode on VxWorks 5 and 6.
+
+ * s-taprop.ads (Stop_All_Tasks, Continue_Task): New functions.
+
+ * s-tasdeb.ads, s-tasdeb.adb (Continue_All_Tasks, Stop_All_Tasks): New
+ functions.
+
+2007-08-14 Vincent Celier <celier@adacore.com>
+
+ * clean.adb, fmap.adb, sinput-p.adb, sinput-p.ads, gnatcmd.adb,
+ gnatname.adb, makeutl.ads, makeutl.adb, makegpr.adb, mlib-tgt-vms.adb
+ mlib-tgt-darwin.adb, mlib-tgt-lynxos.adb, mlib-prj.adb, mlib-tgt.adb,
+ mlib-tgt.ads, mlib-tgt-irix.adb mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
+ mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
+ mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, mlib-tgt-aix.adb,
+ mlib-tgt-tru64.adb, mlib.ads, mlib.adb (Create_Sym_Links): New
+ procedure.
+ (Major_Id_Name): New function.
+ mlib-tgt.ads/mlib.tgt.adb:
+ (Library_Major_Minor_Id_Supported): New function, default returns True
+ Most mlib-tgt-*.adb that support shared libraries and symbolic links:
+ (Build_Dynamic_Library): Add support for major/minor ids for shared libs
+ Other mlib-tgt-*.adb (aix, mingw, vms, vxworks, xi):
+ Implementation of Library_Major_Minor_Id_Supported returns False
+ clean.adb:
+ (Clean_Library_Directory): If major/minor ids are supported, clean all
+ library files.
+ Major update of the Project Manager and of the project aware tools,
+ including gprmake, so that the same sources in the GNAT repository
+ can be used by gprbuild.
+
+2007-08-14 Olivier Hainque <hainque@adacore.com>
+
+ * system-solaris-x86.ads (ZCX_By_Default): Switch to True.
+ (GCC_ZCX_Support): Switch to True.
+
+ * s-intman-solaris.adb (Notify_Exception): Call
+ Adjust_Context_For_Raise before raising, as expected for signal
+ handlers in general.
+
+ * s-intman-posix.adb (Notify_Exception): Remove declaration of
+ Adjust_Context_For_Raise, moved to the spec of this unit to be visible
+ to other implementation bodies.
+
+ * s-intman.ads (Adjust_Context_For_Raise): Declare and import here, to
+ be visible by multiple implementation bodies.
+
+ * init.c [VMS section] (__gnat_handle_vms_condition): Adjust context
+ only for conditions coming from hardware.
+ [alpha-tru64 section] (__gnat_adjust_context_for_raise): Implement,
+ adjustments to signal context prior to exception raise from signal
+ handler.
+ (__gnat_map_signal for VxWorks): Map SIGSEGV to Storage_Error in RTP
+ mode.
+ Solaris section: (__gnat_adjust_context_for_raise): New function.
+ Implementation of the machine context adjustments to perform prior to
+ raise from a signal handler. Version for both sparc and x86.
+ (HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE): Define.
+ (__gnat_error_handler): Expect a third argument, ucontext_t *. Adjust it
+ prior to raising as expected for any handler, before possible nested
+ faults to make sure all the contexts in a chain have been adjusted by
+ the time we propagate.
+
+2007-08-14 Pascal Obry <obry@adacore.com>
+
+ * s-osinte-mingw.ads: Add support for Ada.Execution_Time on Windows.
+ (SYSTEM_INFO): New record.
+ (SetThreadIdealProcessor): New imported routine needed for supporting
+ task_info pragma on Windows.
+
+ * s-taprop-mingw.adb (Enter_Task): Check if CPU number given in task
+ info can be applied to the current host.
+ (Create_Task): Set the ideal processor if information is present.
+
+ * s-tasinf-mingw.adb, s-tasinf-mingw.ads,
+ a-exetim-mingw.adb, a-exetim-mingw.ads: New files.
+
+2007-08-14 Olivier Hainque <hainque@adacore.com>
+
+ * s-taprop-linux.adb (Get_Stack_Attributes): New subprogram. Fetch the
+ stack size and initial stack pointer value for a given task.
+ (Enter_Task): Get the stack attributes of the task we are entering and
+ let the stack checking engine know about them.
+
+ * s-stchop.adb, s-stchop.ads (Notify_Stack_Attributes): New subprogram.
+ Let the stack-checking engine know about the initial sp value and stack
+ size associated with the current task.
+ (Set_Stack_Info): If a stack base has been notified for the current
+ task, honor it. Fallback to the previous less accurate method otherwise.
+
+ * s-stchop-vxworks.adb (Notify_Stack_Attributes): Dummy body.
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb: Create a limited view of an incomplete type, to make
+ treatment of limited views uniform for all visible declarations in a
+ limited_withed package.
+ Set flag indicating that a subprogram body for a child unit has a
+ generated spec.
+ (Analyze_Compilation_Unit): If unit is a subprogram body that has no
+ separate declaration, remove the unit name from visibility after
+ compilation, so that environment is clean for subsequent compilations.
+ (Install_Limited_Context_Clauses): Do not install a
+ limited_private_with_clause unless the current unit is a body or a
+ private child unit.
+ (Analyze_Subunit, Install_Parents): Treat generic and non-generic units
+ in the same fashion.
+ (Install_Limited_Withed_Unit): Do not install a limited with clause if
+ it applies to the declaration of the current package body.
+ (Remove_Private_With_Clauses): If there is a regular with_clause for
+ the unit, delete Private_With_Clause from context, to prevent improper
+ hiding when processing subsequent nested packages and instantiations.
+
+2007-08-14 Jose Ruiz <ruiz@adacore.com>
+
+ * adaint.c (__gnat_is_absolute_path): For VxWorks systems we accept
+ dir/file, device:/dir/file, and device:drive_letter:/dir/file as
+ representing absolute path names.
+ __gnat_set_file_time_name [VMS]: Fix some 64/32 bit issues.
+
+ * cstreams.c (__gnat_full_name for VxWorks): Use
+ __gnat_is_absolute_path to detect whether we need to add the current
+ directory to normalize the path.
+
+2007-08-14 Javier Miranda <miranda@adacore.com>
+
+ * a-tags.ads,
+ a-tags.adb (Displace): Associate a message with the raised CE
+ exception.
+ (To_Addr_Ptr, To_Address, To_Dispatch_Table_Ptr,
+ To_Object_Specific_Data_Ptr To_Predef_Prims_Ptr,
+ To_Tag_Ptr, To_Type_Specific_Data_Ptr): Moved here from the package
+ spec.
+ (Default_Prim_Op_Count): Removed.
+ (IW_Membership, Get_Entry_Index, Get_Offset_Index, Get_Prim_Op_Kind,
+ Register_Tag, Set_Entry_Index, Set_Offset_To_Top, Set_Prim_Op_Kind):
+ Remove pragma Inline_Always.
+
+ * rtsfind.ads (Default_Prim_Op_Count): Removed
+ (Max_Predef_Prims): New entity
+ (RE_Expanded_Name): Removed
+ (RE_HT_Link): Removed
+ (RE_Iface_Tag): Remmoved
+ (RE_Ifaces_Table): Removed
+ (RE_Interfaces_Array): Removed
+ (RE_Interface_Data_Element): Removed
+ (RE_Nb_Ifaces): Removed
+ (RE_RC_Offset): Removed
+ (RE_Static_Offset_To_Top): Removed
+
+ * exp_atag.ads, exp_atag.adb (Build_Inherit_Prims): Addition of a new
+ formal.
+ (Build_Inherit_Predefined_Prims): Replace occurrences of Default_
+ Prim_Op_Count by Max_Predef_Prims.
+
+2007-08-14 Thomas Quinot <quinot@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * binde.adb (Elab_All_Links): Remove unnecessary call to
+ Generic_Separately_Compiled (if a unit satisfies this predicate, there
+ won't be an associated Afile).
+ (Elab_All_Links): Fail if a referenced unit cannot be found
+
+ * bindgen.adb:
+ Fix comments in bindgen regarding consistency checks done in Bcheck:
+ the checks are made across units within a partition, not across several
+ partitions.
+ Fix generation of C binder file for VxWorks.
+
+ * lib.ads, lib.adb (Generic_Separately_Compiled): Rename to
+ Generic_May_Lack_ALI, more descriptive of the current use of the
+ predicate, and update documentation.
+
+ * lib-writ.ads, lib-writ.adb (Write_With_Lines): Minor code
+ reorganization and documentation update for the case of predefined
+ library generics (for which we do not reference an Afile).
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+
+ * s-intman-irix.adb, s-osinte-irix.adb, s-osinte-irix.ads,
+ s-proinf-irix-athread.ads, s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads,
+ s-parame-hpux.ads, s-intman-dummy.adb, s-tasinf-solaris.adb,
+ s-tasinf-solaris.ads, s-asthan-vms-alpha.adb, s-inmaop-vms.adb,
+ s-intman-vms.adb, s-intman-vms.ads, s-osprim-mingw.adb,
+ s-parame-vms-restrict.ads, s-parame-ae653.ads, s-intman-vxworks.ads,
+ s-intman-vxworks.ads, s-intman-vxworks.adb, s-parame-vxworks.ads,
+ s-tfsetr-vxworks.adb, s-interr.adb, s-interr.ads, a-tasatt.adb,
+ exp_ch13.adb, s-htable.ads, s-imgboo.ads, s-imglli.ads, s-imgllu.ads,
+ s-imguns.ads, g-eacodu.adb, par-ch12.adb, s-stache.ads, s-stausa.adb,
+ s-poosiz.adb, s-parame.ads, s-mastop.ads, s-osinte-darwin.ads,
+ a-chtgke.adb, s-asthan-vms-alpha.adb, s-parame-vms-alpha.ads,
+ s-parame-vms-ia64.ads, s-parame-vxworks.adb, s-except.ads,
+ g-altcon.adb: Minor reformatting
+
+ ada-tree.h: Delete empty line.
+
+ ali.ads: Minor reformatting
+ Clarification of comments.
+ Minor spelling correction
+
+ * exp_dbug.adb: Add Warnings Off to suppress new warning
+
+ * a-witeio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
+ formal
+
+ * a-strunb.adb (Set_Unbounded_String): Avoid memory leak by freeing old
+ value
+
+ * a-textio.adb (Write): Remove an unnecessary IN OUT mode from
+
+ * a-textio.ads: Reorder the standard input/output/error declarations
+ for consistency.
+
+ * g-dirope.adb, g-dirope.ads: Change Dir to mode IN for Open call
+
+ * par-ch2.adb: Recognize RM specially in errout
+ Change 'R'M to RM in all error messages
+
+ * scng.adb: Recognize RM specially in errout
+
+ * sem.ads, sem.adb, exp_strm.adb, exp_ch5.ads, expander.adb: Rename
+ N_Return node to be N_Simple_Return, to reflect Ada 2005 terminology.
+
+ * s-direio.adb: Add missing routine header box.
+
+ * sem_attr.ads: Add ??? comments
+
+ * sem_eval.adb: Recognize RM specially in errout
+ Change 'R'M to RM in all error messages
+
+ * sem_maps.adb, sem_maps.ads: Remove some unnecessary IN OUT modes
+
+ * s-tasinf.ads: Fix minor comment typo.
+
+ * a-cihama.adb: Minor comment addition
+
+ * a-ztexio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
+ formal
+
+ * s-tasinf-tru64.ads: Fix minor comment typo.
+
+ * itypes.ads: Comment update.
+
+ * ali-util.adb: Remove Generic_Separately_Compiled guard, not needed
+ anymore.
+
+ * argv.c: Added protection against null gnat_argv and gnat_envp.
+
+ * bcheck.adb (Check_Consistency): Use correct markup character ({) in
+ warning message when Tolerate_Consistency_Errors is True.
+
+ * cstand.adb (Create_Standard): Do not call Init_Size_Alignment for
+ Any_Id, as this subprogram is only applicable to *type* entities (it
+ sets RM_Size). Instead initialize just Esize and Alignment.
+
+2007-08-14 Bob Duff <duff@adacore.com>
+
+ * a-cihama.ads, a-cidlli.ads, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
+ a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
+ a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorse.ads, a-cohama.ads,
+ a-cohata.ads, a-convec.adb, a-coinve.ads, a-coinve.adb, a-convec.ads,
+ a-coorse.ads (Next): Applied pragma Inline.
+ Make all Containers packages Remote_Types (unless they are already
+ Pure).
+ (Previous): applied pragma Inline
+ (Elements_Type): is now a record instead of an array
+
+2007-08-14 Thomas Quinot <quinot@adacore.com>
+
+ * table.adb, g-table.adb, g-dyntab.adb (Append): Reimplement in terms
+ of Set_Item.
+ (Set_Item): When the new item is an element of the currently allocated
+ table passed by reference, save a copy on the stack if we're going
+ to reallocate. Also, in Table.Set_Item, make sure we test the proper
+ variable to determine whether to call Set_Last.
+
+ * sinput-d.adb, sinput-l.adb, stringt.adb, switch-m.adb,
+ symbols-vms.adb, symbols-processing-vms-alpha.adb,
+ symbols-processing-vms-ia64.adb, sem_elab.adb, repinfo.adb: Replace
+ some occurrences of the pattern
+ T.Increment_Last;
+ T.Table (T.Last) := Value;
+ with a cleaner call to
+ T.Append (Value);
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch12.ads, sem_ch12.adb (Instantiate_Type): If the formal is a
+ derived type with interface progenitors use the analyzed formal as the
+ parent of the actual, to create renamings for all the inherited
+ operations in Derive_Subprograms.
+ (Collect_Previous_Instances): new procedure within of
+ Load_Parent_Of_Generic, to instantiate all bodies in the compilation
+ unit being loaded, to ensure that the generation of global symbols is
+ consistent in different compilation modes.
+ (Is_Tagged_Ancestor): New function testing the ancestor relation that
+ takes progenitor types into account.
+ (Validate_Derived_Type_Instance): Enforce the rule of 3.9.3(9) by
+ traversing over the primitives of the formal and actual types to locate
+ any abstract subprograms of the actual type that correspond to a
+ nonabstract subprogram of the formal type's ancestor type(s), and issue
+ an error if such is found.
+ (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation,
+ Instantiate_Package_Body, Instantiate_Subprogram_Body):
+ Remove bogus guard around calls to Inherit_Context.
+ (Reset_Entity): If the entity is the selector of a selected component
+ that denotes a named number, propagate constant-folding to the generic
+ template only if the named number is global to the generic unit.
+ (Set_Instance_Env): Only reset the compilation switches when compiling
+ a predefined or internal unit.
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Try_Class_Wide_Operation): use base type of first
+ parameter to determine whether operation applies to the prefix.
+ (Complete_Object_Operation): If actual has an access type and
+ controlling formal is not an in_parameter, reject the actual if it is
+ an access_to_constant type.
+ (Try_Primitive_Operation): If the type of the prefix is a formal tagged
+ type, the candidate operations are found in the scope of declaration of
+ the type, because the type has no primitive subprograms.
+ (Analyze_Selected_Component): If prefix is class-wide, and root type is
+ a private extension, only examine visible components before trying to
+ analyze as a prefixed call.
+ Change Entity_List to Type_To_Use, for better readability.
+ (Has_Fixed_Op): Use base type when checking whether the type of an
+ operator has a user-defined multiplication/division
+ (Check_Arithmetic_Pair): Use Ada 2005 rules to remove ambiguities when
+ user-defined operators are available for fixed-point types.
+
+2007-08-14 Thomas Quinot <quinot@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_cat.ads, sem_cat.adb (Has_Stream_Attribute_Definition): New
+ formal At_Any_Place indicating, when True, that we want to test for
+ availability of the stream attribute at any place (as opposed to the
+ current visibility context only).
+ (Missing_Read_Write_Attributes): A stream attribute is missing for the
+ purpose of enforcing E.2.2(8) only if it is not available at any place.
+ Take into account the Ada2005 pragma Has_Preelaborable_Initialization
+ when checking the legality of an extension aggregate in a preelaborable
+ package. Treat the literal null as a valid default expression in a
+ component declaration for a type with preelaborable initialization.
+ A limited interface is a legal progenitor for the designated type of a
+ remote access to class-wide type.
+
+2007-08-14 Thomas Quinot <quinot@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.ads, sem_ch8.adb (Find_Type, case of a 'Base attribute
+ reference): Use correct entity as denoted entity for the selector of
+ the rewritten node.
+ (Find_Direct_Name): Add comment about Generate_Reference incorrectly
+ setting the Referenced_As_LHS flag for entities that are implicitly
+ dereferenced.
+ (Find_Type): If the type is an internally generated incomplete type,
+ mark the full view as referenced, to prevent spurious warnings.
+ (Find_Selected_Component, Has_Components): Handle properly non-limited
+ views that are themselves incomplete types.
+ Handle interfaces visible through limited-with clauses.
+ (Analyze_Subprogram_Renaming): Disambiguate and set the entity of a
+ subprogram generic actual for which we have generated a renaming.
+ Warn when the renaming introduces a homonym of
+ the renamed entity, and the renamed entity is directly visible.
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_res.adb (Resolve_Allocator): Propagate any coextensions that
+ appear in the subtree to the current allocator if it is not a static
+ coextension.
+ (Resolve_Allocator): Perform cleanup if resolution has determined that
+ the allocator is not a coextension.
+ (Resolve): Skip an interpretation hidden by an abstract operator only
+ when the type of the interpretation matches that of the context.
+ (Resolve): When looping through all possible interpretations of a node,
+ do not consider those that are hidden by abstract operators.
+ (Resolve_Actuals): When verifying that an access to class-wide object
+ is an actual for a controlling formal, ignore anonymous access to
+ subprograms whose return type is an access to class_wide type.
+ (Resolve_Slice): If the prefix of the slice is a selected component
+ whose type depends on discriminants, build its actual subtype before
+ applying range checks on the bounds of the slice.
+ (Valid_Conversion): In an instance or inlined body, compare root types,
+ to prevent anomalies between private and public views.
+ (Resolve): Improve error message for ambiguous fixed multiplication
+ expressions that involve universal_fixed multiplying operations.
+
+2007-08-14 Javier Miranda <miranda@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch9.adb (Build_Protected_Entry): Propagate the original source
+ location to allow the correct generation of errors in case of
+ restrictions applied to the expanded code.
+ (Expand_Entry_Barrier): Remove all generated renamings for a barrier
+ function if the condition does not reference them.
+ (Expand_Entry_Body_Declarations): Mark the index constant as having a
+ valid value.
+
+2007-08-14 Thomas Quinot <quinot@adacore.com>
+ Pablo Oliveira <oliveira@adacore.com>
+
+ * exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating
+ typecode parameters for a union (in a variant record), remove
+ extraneous layer of Any wrapping for member label.
+ (Expand_Receiving_Stubs_Bodies): For an RCI package body that has
+ elabration statements, register the package with the name server
+ at the beginning, not at the end, of the elaboration statements so
+ that they can create remote access to subprogram values that designate
+ remote subprograms from the package.
+
+2007-08-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * g-catiio.adb (Image): For the case of %s, use Ada.Calendar.Time
+ values to compute the number of seconds since the Unix Epoc in order to
+ account for Daylight Savings Time. Perform special processing for dates
+ that are earlier than the Unix Epoc to obtain a negative number.
+
+2007-08-14 Emmanuel Briot <briot@adacore.com>
+
+ * g-comlin.adb (Getopt): Fix handling of "*" switch when not collapsing
+ switches.
+
+2007-08-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnatlink.adb (Gnatlink): Pass switches to the linker even if the
+ binder-generated file is not in Ada.
+ Pass -mrtp to the linker if it is GCC and --RTS=rtp has been
+ recorded in the ALI file.
+ Pass -fsjlj to the linker if it is GCC and --RTS=sjlj has been recorded.
+
+2007-08-14 Vincent Celier <celier@adacore.com>
+
+ * gnatls.adb: (Corresponding_Sdep_Entry): Always return a value
+ (Output_Source): Do nothing if parameter is No_Sdep_Id
+
+ * make.adb (Gnatmake): Do not rebuild an archive simply because a
+ shared library it imports has a later time stamp.
+ (Check): Resolve the symbolic links in the path name of the object
+ directory.
+ Check that the ALI file is in the correct object directory
+ Check if a file name does not correspond to the mapping of units
+ to file names.
+ (Display_Version): New procedure
+ (Initialize): Process switches --version and --help
+ Use type Path_Name_Type for path name
+
+2007-08-14 Paul Hilfinger <hilfinger@adacore.com>
+
+ * impunit.adb: Re-organize System.Random_Numbers and
+ GNAT.Random_Numbers and add to builds.
+
+ * Makefile.rtl: Add s-rannum.ad* and g-rannum.ad*, a-assert*
+
+ * s-rannum.ads, s-rannum.adb, g-rannum.ads, g-rannum.adb: New files.
+
+ * a-assert.ads, a-assert.adb: New files.
+
+2007-08-14 Gary Dismukes <dismukes@adacore.com>
+
+ * layout.adb (Layout_Type): In the case of access-to-subprogram types,
+ if AAMP_On_Target is True, then the size of the type encompasses two
+ addresses (a static link and a subprogram address), except in the case
+ of library-level access types.
+
+2007-08-14 Vincent Celier <celier@adacore.com>
+
+ * output.ads, output.adb (Write_Eol): Remove trailing spaces before
+ writing the line.
+ (Write_Eol_Keep_Blanks): New procedure to write a line, including
+ possible trailing spaces.
+ (Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
+
+2007-08-14 Javier Miranda <miranda@adacore.com>
+
+ * par-ch6.adb (P_Formal_Part): Fix wrong error message associated with
+ null-excluding access types.
+
+2007-08-14 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code
+ that is common to Analyze_Protected_Type and Analyze_Task_Type. In case
+ of private types add missing check on matching interfaces in the
+ partial and full declarations.
+ (Analyze_Protected_Type): Code cleanup.
+ (Analyze_Task_Type): Code cleanup.
+
+2007-08-14 Javier Miranda <miranda@adacore.com>
+
+ * sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on a
+ generated interface thunk.
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+
+ * s-ficobl.ads: Declare AFCB as a tagged incomplete type, to prevent
+ obsolescent warning on application of 'Class to an incomplete type.
+
+ * s-finroo.ads: Declare Root_Controlled as a tagged incomplete type, to
+ prevent obsolescent warning on application of 'Class to an incomplete
+ type.
+
+2007-08-14 Pascal Obry <obry@adacore.com>
+
+ * s-fileio.adb (Is_Open): Add check for usability of the underlying
+ file stream.
+
+2007-08-14 Cyrille Comar <comar@adacore.com>
+
+ * s-finimp.adb (Detach_From_Final_List): make this procedure idempotent
+ since it is potentially used in cases implying double finalization of
+ the same object.
+
+2007-08-14 Jose Ruiz <ruiz@adacore.com>
+
+ * s-tasini.adb (Get_Stack_Info): Move this function to
+ System.Soft_Links.Tasking because it is common to the full and the
+ restricted run times.
+ (Init_RTS): Do not set the Get_Stack_Info soft link because it is done
+ in SSL.Tasking.Init_Tasking_Soft_Links.
+
+ * s-solita.adb (Get_Stack_Info): Function moved from
+ System.Tasking.Initialization because it is common to the full and the
+ restricted run times.
+ (Init_Tasking_Soft_Links): Set the tasking soft link for Get_Stack_Info.
+
+2007-08-14 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tpobop.ads, s-tpobop.adb, s-tasren.ads, s-tasren.adb,
+ s-taskin.ads (Requeue_With_Abort): Rename field With_Abort.
+ (PO_Do_Or_Queue, Task_Do_Or_Queue, Requeue_Call): Remove With_Abort
+ parameter.
+
+ * s-tassta.adb (Task_Wrapper): Increased value of the small overflow
+ guard to 12K.
+
+2007-08-14 Gary Dismukes <dismukes@adacore.com>
+
+ * s-veboop.adb (SU): New named number initialized to
+ System.Storage_Unit.
+ (True_Val): The initialization expression is revised to use SU (=
+ Storage_Unit) rather than assuming 8 for the component size of an
+ unpacked Boolean array.
+
+2007-08-14 Tristan Gingold <gingold@adacore.com>
+
+ * tracebak.c: Use tb-ivms.c on OpenVMS Itanium.
+
+ * tb-ivms.c: New file.
+
+ * g-trasym-vms-ia64.adb: Fixed for OpenVMS version 8.2
+
+2007-08-14 Geert Bosch <bosch@adacore.com>
+
+ * i-forbla.ads, i-forbla.adb, a-ngcoar.adb, a-ngcoar.ads, i-forlap.ads,
+ s-gearop.adb, s-gecobl.adb, s-gecobl.ads, s-gerela.adb, s-gerela.ads:
+ Add required linker pragmas for automatically linking with the gnalasup
+ linear algebra support library, and the systems math library.
+ Rename cdot to cdotu and zdot to zdotu.
+ Update header comment to describe purpose of package.
+
+2007-08-14 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch7.adb (Find_Final_List): For an anonymous access type that has
+ an explicitly specified Associated_Final_Chain, use that list.
+ (Expand_N_Package_Body): Build dispatch tables of library level tagged
+ types.
+ (Expand_N_Package_Declaration): Build dispatch tables of library level
+ tagged types. Minor code cleanup.
+
+2007-08-14 Vincent Celier <celier@adacore.com>
+
+ * gnatchop.adb (Terminate_Program): Remove exception and use
+ Types.Terminate_Program instead.
+
+ * osint.ads, osint.adb (Current_Exit_Status): New global variable
+ (Find_Program_Name): Added protection against empty name.
+ (OS_Exit_Through_Exception): New procedure
+
+ * s-os_lib.ads, s-os_lib.adb (OS_Exit): New procedure body
+ (OS_Exit_Default): New procedure that contains the previous
+ implementation of procedure OS_Exit.
+ (Final_Value): Remove obsolete Interix stuff.
+
+2007-08-14 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.ads: Reorganize example code so that it also works on
+ Windows XP.
+
+2007-08-14 Tristan Gingold <gingold@adacore.com>
+
+ * g-trasym.ads: AIX now supports symbolic backtraces.
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-load.adb (From_Limited_With_Chain): Always scan the stack of
+ units being loaded to detect circularities. A circularity may be
+ present even if the current chain of pending units to load starts from
+ a limited_with_clause.
+
+ * lib-load.ads: Change profile of Load_Unit to use a with_clause
+ rather than a boolean flag, in order to detect circularities in
+ with_clauses.
+
+ * par-load.adb: Use current with_clause in calls to Load_Unit, rather
+ than propagating the From_Limited_With flag, in order to handle
+ properly circularities involving with_clauses.
+
+2007-08-14 Nicolas Setton <setton@adacore.com>
+
+ * link.c (FreeBSD): Add "const" keyword where needed, to eliminate
+ warnings.
+
+2007-08-14 Arnaud Charlet <charlet@adacore.com>
+
+ * Makefile.in: GNATRTL_LINEARALGEBRA_OBJS: New variable holding objects
+ to build for libgnala.
+ libgnat: Add rules to build libgnala.a
+ (LIBGNAT_TARGET_PAIRS for VxWorks): Remove s-osinte-vxworks.adb from
+ target pairs of the VxWorks 6 kernel runtime, use it only for VxWorks 5.
+ Add s-osinte-vxworks-kernel.adb to the target pairs of the
+ kernel run-time lib for VxWorks 6, which would provide a different
+ implementation for Task_Cont and Task_Stop than the VxWorks 5 version.
+ x86-solaris section (EH_MECHANISM): Set to -gcc, as this port is now
+ running ZCX by default.
+ Add g-sttsne-locking to LynxOS version.
+ Remove g-sttsne-vxworks.ads; use g-sttsne-locking.ads instead.
+ On x86/darwin, use a-numaux-x86.ad? and system-darwin-x86.ads.
+
+ * system-darwin-x86.ads: New file.
+
+ * Make-lang.in: Delete files before copying onto them, so if they are
+ read-only, the copy won't fail.
+ Update dependencies
+
+2007-08-14 Pascal Obry <obry@adacore.com>
+
+ * mdll-fil.adb, * mdll.adb: Implement a more consistent libraries
+ naming scheme.
+
+2007-08-14 Vincent Celier <celier@adacore.com>
+
+ * mlib-utl.adb (Gcc_Name): Change from constant String to String_Access
+ (Gcc): Initialize Gcc_Name at the first call
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch7.adb (Analyze_Package_Specification): Do not install private
+ with_clauses of the enclosing unit when analyzing the package
+ specification of a nested instance.
+
+2007-08-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sinfo.ads, sinfo.adb (Is_Coextension, Set_Is_Coextension): Removed.
+ (Is_Dynamic_Coextension, Set_Is_Dynamic_Coextension): New routines.
+ Remove flag Is_Coextension. Add flag Is_Dynamic_Coextension. Update the
+ layout of N_Allocator.
+
+2007-08-14 Thomas Quinot <quinot@adacore.com>
+
+ * rtsfind.adb (Check_RPC): Add PCS version check.
+
+ * gnatvsn.ads, gnatvsn.adb: Add PCS version.
+ (Gnat_Free_Software): New function.
+
+ * sem_dist.ads, sem_dist.adb (Get_PCS_Version): New subprogram. Returns
+ the PCS_Version value from s-parint, used to check that it is consistent
+ with what exp_dist expects.
+
+ * s-parint.ads (PCS_Version): New entity for checking consistency
+ between exp_dist and PCS.
+
+ * gen-soccon.c: (SO_REUSEPORT): New constant.
+
+2007-08-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-calfor.adb (Image (Duration; Boolean)): Change type of local
+ variable Sub_Second to Duration in order to accomodate a larger range
+ of arithmetic operations.
+
+2007-08-14 Bob Duff <duff@adacore.com>
+
+ * g-sttsne-locking.ads: Move comments from spec to body.
+ * g-sttsne-locking.adb: Move comments from spec to body.
+ * g-sttsne-vxworks.ads: Removed.
+ * g-sttsne-vxworks.adb: Removed.
+
+2007-08-11 Ian Lance Taylor <iant@google.com>
+
+ * misc.c (gnat_get_alias_set): Change return type to
+ alias_set_type.
+
+2007-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * decl.c, utils2.c: Fix whitespace in last change.
+
+2007-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * decl.c (compare_field_bitpos): Constify.
+ * utils2.c (compare_elmt_bitpos): Likewise.
+
+2007-07-27 Aurelien Jarno <aurelien@aurel32.net>
+
+ * s-osinte-kfreebsd-gnu.ads ((sigset_t_ptr): Removed, replaced by
+ anonymous access type.
+ (pthread_sigmask): Now take an access sigset_t.
+
+2007-07-05 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * s-osinte-rtems.ads: Correct prototype of pthread_sigmask.
+
+2007-06-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/25737
+ * misc.c (gnat_post_options): Do not force flag_tree_salias to 0.
+
+2007-06-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ * trans.c (Attribute_to_gnu): When subtracting an
+ offset from a pointer, use POINTER_PLUS_EXPR with
+ NEGATE_EXPR instead of MINUS_EXPR.
+ (gnat_to_gnu): Likewise.
+ * utils.c (convert): When converting between
+ thin pointers, use POINTER_PLUS_EXPR and sizetype
+ for the offset.
+ * utils2.c (known_alignment): POINTER_PLUS_EXPR
+ have the same semantics as PLUS_EXPR for alignment.
+ (build_binary_op): Add support for the semantics of
+ POINTER_PLUS_EXPR's operands.
+ When adding an offset to a pointer, use POINTER_PLUS_EXPR.
+
+2007-06-11 Rafael Ávila de Espíndola <espindola@google.com>
+
+ * trans.c (Attribute_to_gnu): Use signed_or_unsigned_type_for instead
+ of get_signed_or_unsigned_type.
+ * misc.c (LANG_HOOKS_SIGNED_TYPE): Remove.
+
+2007-06-11 Bob Duff <duff@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * g-stsifd-sockets.adb (Create): Work around strange behavior of
+ 'bind' on windows that causes 'connect' to fail intermittently, by
+ retrying the 'bind'.
+ (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
+
+2007-06-10 Duncan Sands <baldrick@free.fr>
+
+ * decl.c (gnat_to_gnu_entity): Use pointers to dummy nodes, rather
+ than to void, for the fields when making a new fat pointer type.
+ (gnat_substitute_in_type): Now substitute_in_type.
+ * gigi.h (gnat_substitute_in_type): Likewise. Adjust recursive calls.
+ * trans.c (gnat_gimplify_expr): Remove COMPONENT_REF kludge.
+ * utils.c (update_pointer_to): Update fat pointers by updating the
+ dummy node pointers used for the fields.
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * g-soccon-freebsd.ads, g-soccon-vxworks.ads:,
+ g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
+ g-soccon-solaris.ads, g-soccon-vms.ads, g-soccon-tru64.ads: Add new
+ constant Thread_Blocking_IO, always True by default, set False
+ on a per-runtime basis.
+ (Need_Netdb_Buffer): New constant.
+
+ * g-stheme.adb, g-sttsne.ads, g-sttsne-locking.ads,
+ g-sttsne-locking.adb, g-sttsne-vxworks.ads, g-sttsne-vxworks.adb: New
+ files.
+
+ * g-socthi-vxworks.ads, g-socthi-vxworks.adb,
+ g-socthi-vms.ads, g-socthi-vms.adb (Safe_Gethostbyname,
+ Safe_Gethostbyaddr, Safe_Getservbyname, Safe_Getservbyport): Use new
+ child package Task_Safe_NetDB
+ (Host_Error_Messages): Add stub body.
+ (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
+
+ * g-soccon-mingw.ads: Add Windows-specific constants.
+ (Need_Netdb_Buffer): New constant.
+ (GNAT.Sockets.Thin.C_Inet_Addr, Windows version): Remove useless Ada
+ wrapper and import inet_addr(3) from the standard sockets library
+ directly instead.
+ (In_Addr): Add alignment clause.
+ (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * a-taster.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
+ s-osinte-irix.ads, s-interr-sigaction.adb, s-mastop-irix.adb,
+ s-osinte-hpux-dce.ads, s-osinte-interix.ads, s-osinte-solaris.ads,
+ s-taspri-solaris.ads, s-inmaop-vms.adb, s-interr-vms.adb,
+ s-mastop-vms.adb, s-osinte-vms.ads, s-tpopde-vms.adb,
+ s-osinte-mingw.ads, s-interr-vxworks.adb, i-cstrea-vms.adb,
+ a-diocst.adb, a-direio.adb, a-interr.adb, a-sequio.adb, a-siocst.adb,
+ a-ssicst.adb, a-storio.adb, a-ststio.adb, a-stwima.adb, a-tasatt.adb,
+ a-taside.adb, a-tiocst.adb, a-witeio.adb, a-wtcstr.adb, g-crc32.adb,
+ g-dirope.adb, g-dyntab.adb, g-memdum.adb, g-regexp.adb, g-spipat.adb,
+ g-spitbo.adb, g-string.adb, g-string.ads, g-table.adb, g-thread.adb,
+ i-cobol.adb, i-cpoint.adb, i-cstrea.adb, i-cstrin.adb, i-pacdec.adb,
+ s-addima.adb, s-arit64.adb, s-auxdec.adb, s-auxdec.ads,
+ s-auxdec-vms_64.ads, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
+ s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
+ s-direio.adb, s-fileio.adb, s-finimp.ads, s-geveop.adb, s-imgenu.adb,
+ s-pack03.adb, s-pack05.adb, s-pack06.adb, s-pack07.adb, s-pack09.adb,
+ s-pack10.adb, s-pack11.adb, s-pack12.adb, s-pack13.adb, s-pack14.adb,
+ s-pack15.adb, s-pack17.adb, s-pack18.adb, s-pack19.adb, s-pack20.adb,
+ s-pack21.adb, s-pack22.adb, s-pack23.adb, s-pack24.adb, s-pack25.adb,
+ s-pack26.adb, s-pack27.adb, s-pack28.adb, s-pack29.adb, s-pack30.adb,
+ s-pack31.adb, s-pack33.adb, s-pack34.adb, s-pack35.adb, s-pack36.adb,
+ s-pack37.adb, s-pack38.adb, s-pack39.adb, s-pack40.adb, s-pack41.adb,
+ s-pack42.adb, s-pack43.adb, s-pack44.adb, s-pack45.adb, s-pack46.adb,
+ s-pack47.adb, s-pack48.adb, s-pack49.adb, s-pack50.adb, s-pack51.adb,
+ s-pack52.adb, s-pack53.adb, s-pack54.adb, s-pack55.adb, s-pack56.adb,
+ s-pack57.adb, s-pack58.adb, s-pack59.adb, s-pack60.adb, s-pack61.adb,
+ s-pack62.adb, s-pack63.adb, s-pooloc.adb, s-poosiz.adb, s-scaval.adb,
+ s-sequio.adb, s-shasto.adb, s-stalib.ads, s-stratt.adb, s-strcom.adb,
+ s-taasde.adb, s-tasdeb.adb, s-tasuti.ads, s-tataat.ads, s-tpoben.ads,
+ s-valenu.adb, s-widenu.adb, s-wwdenu.adb, s-addope.adb, a-stzmap.adb,
+ a-ztcstr.adb, a-ztexio.adb, s-osinte-linux-hppa.ads: Replace
+ Unchecked_* by Ada.Unchecked_*
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * g-string.adb, s-proinf-irix-athread.adb, s-gloloc-mingw.adb,
+ s-tfsetr-default.adb, gnatfind.adb, gnatxref.adb, gprep.adb,
+ g-regexp.adb, g-regexp.ads, g-regpat.ads, g-tasloc.adb, g-tasloc.ads,
+ output.adb, switch-m.ads, tree_in.ads, tree_io.ads, indepsw.ads,
+ g-utf_32.adb, g-utf_32.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb,
+ a-zchuni.ads: Replace GNAT.xxx by System.xxx when appropriate.
+
+ * s-utf_32.adb, s-utf_32.ads, s-os_lib.adb, s-os_lib.ads, s-regexp.adb,
+ s-regexp.ads, s-regpat.adb, s-regpat.ads, s-string.adb, s-string.ads,
+ s-tasloc.adb, s-tasloc.ads: New files.
+
+2007-06-06 Bob Duff <duff@adacore.com>
+
+ * g-expect-vms.adb:
+ (Send_Signal, Close): Raise Invalid_Process if the process id is invalid.
+ * g-expect.ads, g-expect.adb (Send): Avoid useless copy of the string.
+ (Send_Signal, Close): Raise Invalid_Process if the process id is
+ invalid.
+ (Pattern_Matcher_Access): Is now a general access type to be able to
+ use aliased string.
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * a-intnam-aix.ads: Adjust comment to account for SIGADAABORT change
+ (SIGEMT is now used instead of SIGTERM on AIX).
+
+ * s-osinte-aix.ads (Linker_Options): Use -pthread instead of -lpthreads.
+ (Time_Slice_Supported): Set to True.
+ Use SIGEMT instead of SIGTERM as SIGADAABORT.
+
+2007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-calend.ads, a-calend.adb, a-calend-vms.ads, a-calend-vms.adb ("-"
+ (Time, Time)): Use To_Relative_Time rather than manual calculation to
+ express the bounds of Duration as Time. Raise Time_Error when the
+ result is greater or equal to the higher bound of Duration (on the
+ margin case).
+ ("+" (Time, Duration)): Reorder code. Remove the declaration of constant
+ Ada_High_And_Leaps.
+ ("-" (Time, Duration)): Reorder code. Remove the declaration of constant
+ Ada_High_And_Leaps.
+ ("-" (Time, Time)): Reorder code.
+ (All_Leap_Seconds): Removed.
+ (Arithmetic_Operations.Add): Remove sign related kludge.
+ (Arithmetic_Operations.Difference): Control the leaps seconds processing
+ with flag Leap_Support.
+ (Arithmetic_Operations.Subtract): Remove sign related kludge.
+ (Check_Within_Time_Bounds): New procedure.
+ (Clock): Control the leap seconds processing with flag Leap_Support.
+ (Cumulative_Leap_Seconds): Assert that the target supports leap seconds.
+ (Formatting_Operations.Split): Control the leap seconds processing with
+ flag Leap_Support.
+ (Formatting_Operations.Time_Of): Control the leaps seconds processing
+ with flag Leap_Support. Adjust the year, month and day (if applicable)
+ when the value of day seconds designates a new day.
+ (Split): Use parameter associations for better readability. Integrate
+ flag Is_Ada_05.
+ (Time_Of): Use parameter associations for better readability. Integrate
+ flag Is_Ada_05.
+
+ * a-calfor.adb (Split): Use parameter associations for better
+ readability. Integrate flag Is_Ada_05.
+ (Time_Of): Remove flag Leap_Checks. Use parameter associations for
+ better readability. Integrate flag Is_Ada_05.
+
+2007-06-06 Arnaud Charlet <charlet@adacore.com>
+
+ * s-taprop-vms.adb, s-taprop-hpux-dce.adb, s-taprop-vxworks.adb,
+ s-osprim-posix.adb, s-taprop-posix.adb, s-osprim-vxworks.adb,
+ s-taprop-solaris.adb, s-osprim-solaris.adb, s-taprop-dummy.adb,
+ s-osprim-unix.adb, s-osinte-freebsd.adb, s-osinte-freebsd.ads,
+ s-osinte-lynxos.adb, s-osinte-lynxos.ads, s-taprop-tru64.adb,
+ s-taprop-lynxos.adb, s-taprop-irix.adb, s-osinte-tru64.adb,
+ s-osinte-tru64.ads, s-taprop-linux.adb, s-parame.ads,
+ s-parame-vms-alpha.ads, s-parame-vms-ia64.ads, s-parame-hpux.ads,
+ s-parame-vms-restrict.ads, s-parame-ae653.ads, s-parame-vxworks.ads,
+ s-taprop-mingw.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos-3.adb,
+ s-osprim-mingw.adb (Timed_Delay, Timed_Sleep): Register the base
+ time when entering this routine to detect a backward clock setting
+ (manual setting or DST adjustment), to avoid waiting for a longer delay
+ than needed.
+ (Time_Duration, To_Timeval, struct_timeval): Removed when not relevant.
+ Remove handling of deferred priority change, and replace by setting the
+ task priority directly, as required by AI-188.
+ Update comments.
+ (Max_Task_Image_Length): New constant.
+ Replace Warnings (Off) by Unreferenced pragma, cleaner.
+ (Dynamic_Priority_Support): Removed, no longer needed.
+ (Poll_Base_Priority_Change): Ditto.
+ (Set_Ceiling): Add this procedure to change the ceiling priority
+ associated to a lock. This is a dummy implementation because dynamic
+ priority ceilings are not supported by the underlying system.
+
+ * a-dynpri.adb (Set_Priority): Take into account case where Target is
+ accepting a RV with its priority boosted.
+ Remove handling of deferred priority change, and replace by setting the
+ task priority directly, as required by AI-188.
+
+ * s-taenca.adb (Try_To_Cancel_Entry_Call): Remove special case for
+ Succeeded = True.
+ Remove handling of deferred priority change, and replace by setting the
+ task priority directly, as required by AI-188.
+ (Wait_For_Completion, Wait_For_Call, Timed_Selective_Wait): Change state
+ of Self_Id earlier.
+
+ * s-tasini.ads, s-tasini.adb (Wakeup_Entry_Caller): Relax assertion.
+ (Poll_Base_Priority_Change): Removed.
+ Code clean up: use SSL.Current_Target_Exception.
+
+ * s-tasren.adb (Task_Count): Call Yield to let a chance to other tasks
+ to run as this is a potentially dispatching point.
+ (Call_Synchronous): Use Local_Defer_Abort.
+ (Callable): Relax assertion.
+ (Selective_Wait): Relax assertion in case abort is not allowed.
+ Remove handling of deferred priority change, and replace by setting the
+ task priority directly, as required by AI-188.
+
+ * s-tasuti.adb (Make_Passive): Adjust assertions.
+ Remove handling of deferred priority change, and replace by setting the
+ task priority directly, as required by AI-188.
+
+2007-06-06 Arnaud Charlet <charlet@adacore.com>
+
+ * system-vxworks-sparcv9.ads, system-solaris-x86.ads,
+ system-irix-o32.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
+ system-lynxos-x86.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
+ system-vxworks-mips.ads, system-vxworks-alpha.ads,
+ system-vxworks-x86.ads, system-linux-ppc.ads, system-mingw.ads,
+ system-vms-zcx.ads, system-darwin-ppc.ads, system-vxworks-ppc.ads,
+ system-interix.ads, system-linux-hppa.ads, system-tru64.ads,
+ system-hpux.ads, system-irix-n32.ads, system-solaris-sparc.ads,
+ system-solaris-sparcv9.ads, system-vms.ads, system.ads,
+ system-vms_64.ads, system-hpux-ia64.ads, system-linux-x86_64.ads,
+ system-linux-ia64.ads: Document mapping between Ada and OS priorities.
+ This patch changes the largest non-binary modulus from 2**31-1 to
+ 2**32-1.
+ (Compiler_System_Version): Removed, no longer used.
+ Clean up system files by removing flags only used on a single target.
+ Also remove obsolete flags, only used during bootstrap from system.ads
+ (Address): Add a pragma Preelaborable_Initialization.
+
+ * system-aix.ads: Ditto.
+ (GCC_ZCX_Support): Set to true.
+ Update priority range on AIX and map Ada priorities to target
+ priorities appropriately for different scheduling policies.
+
+ * ttypes.ads: set largest non-binary modulus from 2**31-1 to 2**32-1
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * mlib-tgt-specific.adb, mlib-tgt-specific.ads,
+ mlib-tgt-vms.adb, mlib-tgt-vms.ads: New files.
+
+ * mlib-tgt.adb, mlib-tgt.ads, mlib-tgt-darwin.adb,
+ mlib-tgt-vxworks.adb, mlib-tgt-mingw.adb, mlib-tgt-lynxos.adb,
+ mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb,
+ mlib-tgt-vms-ia64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+ mlib-tgt-hpux.adb, mlib-tgt-tru64.adb: Make a common body for package
+ MLib.Tgt, containing the default versions of the exported subprograms.
+ For each platform, create a specific version of the body of new child
+ package MLib.Tgt.Specific that contains only the body of subprograms
+ that are different from the default.
+ (Archive_Builder_Append_Options): New function.
+
+2007-06-06 Matthew Gingell <gingell@adacore.com>
+
+ * s-osinte-aix.adb: Map Ada priorities to target priorities
+ appropriately for different scheduling policies.
+
+2007-06-06 Arnaud Charlet <charlet@adacore.com>
+
+ * s-osinte-linux.ads (sigset_t): Bump alignment to match more closely
+ its C counterpart.
+ Remove references to Unchecked_Conversion, and use Ada.xxx instead.
+ Replace Unchecked_Conversion by Ada.Unchecked_Conversion.
+
+2007-06-06 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * s-osprim-vms.ads, s-osprim-vms.adb (Initialize): New procedure.
+ Noop on VMS, added for interface commonality.
+
+2007-06-06 Eric Botcazou <ebotcazou@adacore.com>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ Olivier Hainque <hainque@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: Manually mark the top of the
+ renamed expression of a full renaming at toplevel.
+ (gnat_to_gnu_entity, case object): If not defining, do not look inside
+ the values the constant is initialized to if it is an N_Allocator.
+ (gnat_to_gnu_entity) <E_Array_Subtype>: Manually mark the top of the
+ TYPE_SIZE_UNIT of inner types after the stride is elaborated.
+ (make_aligning_type): Accept an extra ROOM argument for storage to be
+ made available before the aligned field, and an extra BASE_ALIGN
+ argument for callers to pass the alignment guaranteed to be honored for
+ the whole aligning object. Avoid call to finish_record_type, which only
+ interferes with the sizes we want to set.
+ (gnat_to_gnu_entity) <E_Variable>: Pass the required extra arguments to
+ make_aligning_type for super-aligned objects on stack.
+ (components_to_record): Pass the adjusted size of the type when creating
+ fields in the qualified union for the variant part.
+ (gnat_substitute_in_type): Copy TYPE_USER_ALIGN.
+ (gnat_to_gnu_entity, case E_Signed_Integer_Subtype): Likewise for
+ packed array type.
+ (maybe_pad_type): Set TYPE_USER_ALIGN.
+ (make_aligning_type): Likewise.
+ ALIGN argument is unsigned int.
+ (gnat_to_gnu_entity, case E_Function): Back annotate return mechanism.
+ (gnat_to_gnu_param): Likewise, for parameters.
+ (gnat_to_gnu_entity) <object>: Always instantiate the renaming object
+ if it is constant and stems from a function call.
+ (gnat_to_gnu_entity) <E_Record_Type>: Set packed to -2 if the alignment
+ of the record is specified. Adjust accordingly.
+ (adjust_packed): New static function.
+ (gnat_to_gnu_field): Use it to adjust the packedness setting.
+ (components_to_record): Likewise.
+ (gnat_to_gnu_entity) <object>: Do not test the renamed expression for
+ side-effects if the object is deemed constant.
+ (gnat_to_gnu_entity) <E_Array_Type>: Create a name for the fat pointer
+ type instead of merely finalizing it. Tidy.
+ <E_Access_Subprogram_Type>: Retrieve the type from the TYPE_DECL.
+ <E_Access_Type>: Likewise.
+ (defer_debug_incomplete_list): Rename to defer_finalize_list.
+ (defer_debug_level): Delete.
+ (gnat_to_gnu_entity) <debug_deferred>: Likewise
+ <E_Array_Type>: Call rest_of_record_type_compilation on the fat pointer
+ type.
+ <E_Record_Type>: Do not explicitly defer finalizing the type.
+ Adjust for write_record_type_debug_info renaming.
+ <E_Subprogram_Type>: Likewise.
+ Finalize deferred types right after deferred incomplete types are
+ expanded.
+ (rest_of_type_decl_compilation): New global function.
+ (components_to_record): Rename defer_debug parameter to do_not_finalize.
+ (components_to_record): Propagate the packedness to the fields of the
+ qualified union type if there is a variant part.
+ (gnat_to_gnu_entity) <E_Array_Type>: Use new function
+ instead of inline code to adjust the XUT field offsets.
+ (gnat_to_gnu_entity): Adjust for new prototype of finish_record_type.
+ <E_Record_Subtype>: Do not let finish_record_type compute the sizes
+ and write the debug info if the type derives from a discriminated one.
+ (gnat_to_gnu_entity) <E_Array_Type>: Adjust call to create_index_type.
+ <E_Array_Subtype>: Likewise.
+ <E_String_Literal_Subtype>: Likewise.
+ (gnat_to_gnu_entity): Set TYPE_USER_ALIGN on types only if they have
+ an alignment clause.
+ (maybe_pad_type): Update ORIG_SIZE to the minimum required to meet ALIGN
+ before giving warning.
+ (prepend_one_attribute_to): New function, helper to prepend an attribute
+ to an attribute list.
+ (gnat_to_gnu_entity) <E_Procedure>: Use it.
+ (prepend_attributes): Likewise.
+ (gnat_to_gnu_entity) <E_Variable>: Use constants of the proper type.
+ <E_Array_Type>: Declare the padding type for the element type, if any.
+ <E_Array_Subtype>: Likewise.
+ (defer_limited_with): New variable.
+ (Gigi_Equivalent_Type): New function.
+ (gnat_to_gnu_entity): Use it at start and use result throughout.
+ (gnat_to_gnu_entity, case E_Access_Type): Rework to use
+ Gigi_Equivalent_Type, support Limited_With, allow two levels of
+ indirection, precompute if unconstrained array to simplify logic, and
+ use defer_limited_with to defer elaboration of some types from limited
+ with.
+ (finalize_from_with_types): New function.
+
+2007-06-06 Gary Dismukes <dismukes@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+ Tristan Gingold <gingold@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * trans.c (Identifier_to_gnu): Change test for deferred constant by
+ adding guard that the entity is an E_Constant before testing presence
+ of Full_view (and remove unnecessary test that entity is not a type).
+ For a CONST_DECL used by reference, manually retrieve
+ the DECL_INITIAL. Do not invoke fold in the other DECL_P cases either.
+ (struct language_function): Move from utils.c to here.
+ (struct parm_attr): New structure.
+ (parm_attr, parm_attr vector, parm_attr GC vector): New types.
+ (f_parm_attr_cache): New macro.
+ (Attribute_to_gnu) <Attr_Length>: When not optimizing, cache the
+ expressions for the 'First, 'Last and 'Length attributes of the
+ unconstrained array IN parameters.
+ (Subprogram_Body_to_gnu): Use gnu_subprog_decl throughout.
+ Allocate the information structure for the function earlier, as well
+ as the language-specific part.
+ If the parameter attributes cache has been populated, evaluate the
+ cached expressions on entry.
+ (takes_address): Add OPERAND_TYPE parameter. Handle N_Function_Call,
+ N_Procedure_Call_Statement and N_Indexed_Component.
+ (Pragma_to_gnu): Translate inspection_point to an asm statement
+ containaing a comment and a reference to the object (either its address
+ for BLKmode or its value).
+ (Identifier_to_gnu): Use TREE_CONSTANT instead of CONST_DECL to decide
+ to go to DECL_INITIAL. Together with the size constraint relaxation
+ in create_var_decl, enlarges the set of situations in which an
+ identifier may be used as an initializer without implying elaboration
+ code.
+ (Subprogram_Body_to_gnu): Do not fiddle with the debug interface but set
+ DECL_IGNORED_P on the function if Needs_Debug_Info is not set on the
+ node.
+ (maybe_stabilize_reference): Remove lvalues_only parameter.
+ (gnat_stabilize_reference): Adjust for above change.
+ (gnat_to_gnu): Do not set location information on the result
+ if it is a reference.
+ (add_cleanup): Add gnat_node parameter and set the location of the
+ cleanup to it.
+ (Handled_Sequence_Of_Statements_to_gnu): Adjust calls to add_cleanup.
+ (Exception_Handler_to_gnu_zcx): Likewise.
+ (gigi): Remove the cgraph node if the elaboration procedure is empty.
+ (Subprogram_Body_to_gnu): If a stub is attached to the subprogram, emit
+ the former right after the latter.
+ (start_stmt_group): Make global.
+ (end_stmt_group): Likewise.
+ (gnu_constraint_error_label_stack, gnu_storage_error_label_stack): New
+ vars.
+ (gnu_program_error_label_stack): Likewise.
+ (gigi): Initialize them.
+ (call_to_gnu, gnat_to_gnu, emit_check): Add new arg to build_call_raise.
+ (gnat_to_gnu, N_{Push,Pop}_{Constraint,Storage,Program}_Error_Label):
+ New cases.
+ (push_exception_label_stack): New function.
+ (takes_address): New function.
+
+ * utils.c (struct language_function): Move to trans.c from here.
+ (unchecked_convert): Do not wrap up integer constants in
+ VIEW_CONVERT_EXPRs.
+ (create_var_decl_1): Decouple TREE_CONSTANT from CONST_DECL. Prevent
+ the latter for aggregate types, unexpected by later passes, and relax an
+ arbitrary size constraint on the former.
+ (create_field_decl): Use tree_int_cst_equal instead of operand_equal_p
+ to compare the sizes.
+ (convert_vms_descriptor): When converting to a fat pointer type, be
+ prepared for a S descriptor at runtime in spite of a SB specification.
+ (shift_unc_components_for_thin_pointers): New function.
+ (write_record_type_debug_info): For variable-sized fields, cap the
+ alignment of the pointer to the computed alignment.
+ (finish_record_type): Change HAS_REP parameter into REP_LEVEL.
+ If REP_LEVEL is 2, do not compute the sizes.
+ (build_vms_descriptor): Adjust for new prototype of finish_record_type.
+ (build_unc_object_type): Likewise.
+ (declare_debug_type): New function.
+
+ * ada-tree.def: USE_STMT: removed (not emitted anymore).
+
+ * misc.c (gnat_expand_expr): Call to gnat_expand_stmt removed because
+ no statement is expandable anymore.
+ (gnat_init_gcc_eh): Do not initialize the DWARF-2 CFI machinery twice.
+ (gnat_handle_option): Only allow flag_eliminate_debug_types to be set
+ when the user requested it explicitely.
+ (gnat_post_options): By default, set flag_eliminate_unused_debug_types
+ to 0 for Ada.
+ (get_alias_set): Return alias set 0 for a type if
+ TYPE_UNIVERSAL_ALIASING_P is set on its main variant.
+
+ * ada-tree.h: (TYPE_UNIVERSAL_ALIASING_P): New macro.
+ (DECL_FUNCTION_STUB): New accessor macro.
+ (SET_DECL_FUNCTION_STUB): New setter macro.
+
+ * lang.opt (feliminate-unused-debug-types): Intercept this flag for Ada.
+
+ * fe.h (Get_Local_Raise_Call_Entity, Get_RT_Exception_Entity): New
+ declarations.
+
+2007-06-06 Jose Ruiz <ruiz@adacore.com>
+
+ * s-intman-vxworks.ads, s-intman-vxworks.adb (Abort_Task_Signal):
+ Rename to Abort_Task_Interrupt to be able to keep the same interface
+ as the rest of the targets.
+
+ * s-osinte-vxworks.ads s-osinte-vxworks.adb
+ (To_VxWorks_Priority): Remove explicit "in" mode indicator
+
+ * s-osinte-vxworks6.ads, s-vxwork-arm.ads, system-vxworks-arm.ads:
+ New files.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * a-chahan.ads: Remove obsolescent pragmas
+
+ * a-chlat1.ads: Minor reformatting
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * comperr.adb (Compiler_Abort): New Finalize/Output_Messages interface
+ for Errout
+
+ * errout.adb: New Finalize/Compilation_Errors/Output_Messages
+ implementation
+
+ * errout.ads (Finalize): Changed interface
+ (Output_Messages): New procedure
+ (Compilation_Errors): New Interface
+
+ * prepcomp.ads, prepcomp.adb (Parse_Preprocessing_Data_File): New
+ Finalize/Output_Messages interface for Errout
+ (Prepare_To_Preprocess): New Finalize/Output_Messages interface for
+ Errout.
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * a-except.ads, a-except.adb: (Rmsg_28): Fix description for E.4(18)
+ check.
+ (Raise_Current_Excep): Call Debug_Raise_Exception just before
+ propagation starts, to let debuggers know about the event in a reliable
+ fashion.
+ (Local_Raise): Moved to System.Exceptions
+ More convenient to have this as a separate unit
+
+ * s-except.adb, s-except.ads: New files.
+
+ * a-exextr.adb (Unhandled_Exception): Delete - replaced by
+ Debug_Unhandled_Exception in System.Exceptions where it belongs
+ together with a couple of other debug helpers.
+ (Notify_Unhandled_Exception): Use Debug_Unhandled_Exception instead of
+ the former Unhandled_Exception.
+
+ * exp_ch11.ads, exp_ch11.adb: (Possible_Local_Raise): New procedure
+ (Warn_No_Exception_Propagation): New procedure
+ (Warn_If_No_Propagation): Rewritten for new warning generation
+ (Expand_Exception_Handlers): New warning generation
+ (Expand_N_Raise_xxx_Error): Rewritten for new warnings
+ (Add_Exception_Label): Use Special_Exception_Package_Used for test
+ instead of Most_Recent_Exception_Used (accomodates Exception_Traces)
+ (Expand_Local_Exception_Handlers): Unconditionally add extra block wrap
+ even if restriction is set (makes life easier in Check_Returns)
+ (Expand_Local_Exception_Handlers): Follow renamed entity chain when
+ checking exception identities.
+ (Expand_Local_Exception_Handlers): Do not optimize when all others case
+ (Expand_Local_Exception_Handlers): Set Exception_Junk flag on generated
+ block for handler (used by Check_Returns)
+ (Expand_Local_Exception_Handlers): Local_Raise now takes an address
+ (Expand_N_Handled_Sequence_Of_Statements): Properly handle -gnatd.x to
+ remove all exception handlers when optimizing local raise statements.
+ (Find_Local_Handler): Use Get_Renamed_Entity
+ (Expand_N_Handled_Sequence_Of_Statements): If the handled sequence is
+ marked analyzed after expanding exception handlers, do not generate
+ redundant cleanup actions, because they have been constructed already.
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+
+ * a-finali.ads (Ada.Finalization): Add missing pragma Remote_Types. The
+ presence of this categorization pragma is mandated by the language.
+ (Limited_Controlled): Add missing pragma Preelaborable_Initialization
+ for this type.
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * bcheck.adb, binde.adb, binderr.adb, binderr.ads, butil.adb,
+ butil.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
+ err_vars.ads, exp_tss.adb, exp_tss.ads, fmap.adb, fmap.ads,
+ fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
+ lib-sort.adb, lib-util.adb, lib-util.ads, lib-xref.adb, makeutl.ads,
+ makeutl.adb, nmake.adt, osint.adb, osint.ads, osint-b.adb,
+ par-load.adb, prj-attr.adb, prj-dect.adb, prj-err.adb, prj-makr.adb,
+ prj-part.adb, prj-pp.adb, prj-proc.adb, prj-tree.adb, prj-tree.ads,
+ prj-util.adb, prj-util.ads, scans.adb, scans.ads, sem_ch2.adb,
+ sinput-c.adb, styleg-c.adb, tempdir.adb, tempdir.ads, uname.adb,
+ uname.ads, atree.h, atree.ads, atree.adb, ali-util.ads, ali-util.adb,
+ ali.ads, ali.adb:
+ Move Name_Id, File_Name_Type and Unit_Name_Type from package Types to
+ package Namet. Make File_Name_Type and Unit_Name_Type types derived from
+ Mame_Id. Add new type Path_Name_Type, also derived from Name_Id.
+ Use variables of types File_Name_Type and Unit_Name_Type in error
+ messages.
+ (Get_Name): Add parameter Ignore_Special, and set it reading file name
+ (New_Copy): When debugging the compiler, call New_Node_Debugging_Output
+ here.
+ Define flags Flag217-Flag230 with associated subprograms
+ (Flag_Word5): New record type.
+ (Flag_Word5_Ptr): New access type.
+ (To_Flag_Word5): New unchecked conversion.
+ (To_Flag_Word5_Ptr): Likewise.
+ (Flag216): New function.
+ (Set_Flag216): New procedure.
+
+2007-06-06 Arnaud Charlet <charlet@adacore.com>
+
+ * a-stzunb.adb, a-stwiun.adb, a-strunb.adb: (Insert): Use 'Length
+ instead of 'Size.
+
+ * a-stwifi.ads, a-stzfix.ads: Minor reformatting
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+
+ * a-tags.ads, a-tags.adb (Tag_Size): This constant is now internal to
+ the package.
+ (Object_Specific_Data_Array): This is now internal to the package.
+ (Object_Specific_Data): This is now internal to the package.
+ (Select_Specific_Data_Element): This is now internal to the package.
+ (Select_Specific_Data_Array): This is now internal to the package.
+ (Select_Specific_Data): This is now internal to the package.
+ (Offset_To_Top_Function_Ptr): This is now public.
+ (To_Offset_To_Top_Function_Ptr): Removed.
+ (Storage_Offset_Ptr,To_Storage_Offset_Ptr): These declarations are now
+ local to subprogram Offset_To_Top.
+ (Predefined_DT): Removed.
+ (Typeinfo_Ptr): Removed.
+ (OSD): This function is now internal to this package.
+ (SSD): This function is now internal to this package.
+ (DT): New function that displaces the pointer to the table of primitives
+ to get access to the enclosing wrapper record.
+ (IW_Membership): Code cleanup.
+ (Offset_To_Top): Code cleanup.
+ (Predefined_DT): Removed.
+ (Register_Interface_Tag): Removed.
+ (Set_Interface_Table): Removed.
+ (Set_Offset_Index): Removed.
+ (Set_Offset_To_Top): Code cleanup.
+ (Set_OSD): Removed.
+ (Set_Signature): Removed.
+ (Set_SSD): Removed.
+ (Set_Tagged_Kind): Removed.
+ (Typeinfo_Ptr): Removed.
+ (TSD): Removed.
+ (Displace): Add missing check on null actual.
+
+ * exp_disp.ads, exp_disp.adb
+ (Select_Expansion_Utilities): Removed.
+ (Build_Common_Dispatching_Select_Statements): Moved to exp_atags.
+ (Expand_Dispatching_Call): Update calls to Get_Prim_Op_Address because
+ the interface requires a new parameter.
+ (Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
+ Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Replace
+ calls to subprograms Build_T, Build_S, etc. by the corresponding code.
+ Done to remove package Select_Expansion_Utilities.
+ (Make_DT): New implementation for statically allocated dispatch tables.
+ (Make_Secondary_DT): Moved to the scope of Make_DT.
+ (Register_Primitive): Code cleanup plus incoporate the use of the new
+ function DT_Address_Attribute.
+ (Expand_Interface_Thunk): The profile of this subprogram has been
+ changed to return the Thunk_Id and the corresponding code.
+ (Fill_DT_Entry): Removed. Its functionality is now provided by
+ subprogram Register_Primitive.
+ (Fill_Secondary_DT_Entry): Removed. Its functionality is now provided by
+ subprogram Register_Primitive.
+ (Register_Primitive): New subprogram that incorporates the previous
+ functionalities of Fill_DT_Entry and Fill_Secondary_DT_Entry.
+ (Build_Common_Dispatching_Select_Statements): Remove formal Typ. This
+ was only required to call Make_DT_Access_Action, which is now removed.
+ (Ada_Actions): Removed
+ (Action_Is_Proc): Removed
+ (Action_Nb_Arg): Removed
+ Replace all the calls to Make_DT_Access_Action by direct calls to
+ Make_Procedure_Call_Statement or Make_Function_Call.
+ (Set_DTC_Entity_Value): New subprogram.
+ (Set_All_DT_Position): Add call to new subprogram Set_DTC_Entity_Value.
+ (Expand_Interface_Thunk): Add missing support for primitives that are
+ functions with a controlling result (case in which there is no need
+ to generate the thunk).
+
+ * exp_atag.ads, exp_atag.adb
+ (Build_DT): New subprogram that displaces the pointer to reference the
+ base of the wrapper record.
+ (Build_Typeinfo_Offset): Removed.
+ (RTE_Tag_Node): Removed.
+ (Build_Common_Dispatching_Select_Statements): Moved here from exp_disp
+ (Build_Get_RC_Offset): Removed.
+ (Build_Inherit_Predefined_Prims): Removed.
+ (Build_Inherit_TSD: Removed.
+ (Build_New_TSD): Removed.
+ (Build_Set_External_Tag): Removed.
+ (Build_Set_Predefined_Prim_Op_Address): Add documentation.
+ (Build_Set_Prim_Op_Address): Add documentation.
+ (Build_Set_TSD): Removed.
+
+ * rtsfind.ads, rtsfind.adb
+ (Load_Fail): If load fails and we are not in configurable run-time
+ mode, then raise Unrecoverable_Error.
+ (Text_IO_Kludge): Generate an error message if a run-time library is
+ not available in a given run-time (ie. zfp run-time).
+ (RTE_Record_Component): Add code to check that the component we search
+ for is not found in two records in the given run-time package.
+ (RE_DT_Offset_To_Top_Size, RE_DT_Predef_Prims_Size): Removed
+ (RE_DT_Predef_Prims_Offset): New entity
+ (RE_Static_Offset_To_Top): New entity
+ (RE_HT_Link): New entity.
+ (System_Address_Image): Addition of this run-time package.
+ (RE_Address_Image): New entity.
+ (RE_Abstract_Interface): Removed.
+ (RE_Default_Prim_Op_Count): Removed.
+ (RE_DT_Entry_Size): Removed.
+ (RE_DT_Min_Prologue_Size): Removed.
+ (RE_DT_Prologue_Size): Removed.
+ (RE_Ifaces_Table_Ptr): Removed.
+ (RE_Interface_Data_Ptr): Removed.
+ (RE_Type_Specific_Data): Removed.
+ (RE_Primary_DT): Removed.
+ (RE_Register_Interface_Tag): Removed.
+ (RE_Set_Offset_Index): Removed.
+ (RE_Set_OSD): Removed.
+ (RE_Set_SSD): Removed.
+ (RE_Set_Signature): Removed.
+ (RE_Set_Tagged_Kind): Removed.
+ (RE_Address_Array): New entity.
+ (RE_DT): New entity.
+ (RE_Iface_Tag): New entity.
+ (RE_Interfaces_Table): New entity.
+ (RE_No_Dispatch_Table): New entity.
+ (RE_NDT_Prims_Ptr): New entity.
+ (RE_NDT_TSD): New entity.
+ (RE_Num_Prims): New entity.
+ (RE_Offset_To_Top_Function_Ptr): New entity.
+ (RE_OSD_Table): New entity.
+ (RE_OSD_Num_Prims): New entity.
+ (RE_Predef_Prims): New entity
+ (RE_Predef_Prims_Table_Ptr): New entity.
+ (RE_Primary_DT): New entity.
+ (RE_Signature): New entity.
+ (RE_SSD): New entity.
+ (RE_TSD): New entity.
+ (RE_Type_Specific_Data): New entity.
+ (RE_Tag_Kind): New entity.
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+
+ * a-textio.ads, a-textio.adb (Write): Add explicit size clause for the
+ C imported variable.
+ (Skip_Line): Do not reset Before_LM_PM immediately when Before_LM is set
+ on entry.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * a-tienio.adb (Get): Adjust buffer size to accomodate one extra
+ character
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * a-tifiio.adb (Put, internal): For negative numbers, check that there
+ is room for at least one digit and the minus sign.
+ (Put.Put_Character): Never put a character outside of the range of
+ string To.
+
+2007-06-06 Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils2.c (build_allocator): Provide the extra arguments to
+ make_aligning_type for super-aligned objects allocated from the default
+ pool. Leave enough room for a pointer before the aligning field, and
+ store the system's allocator return value there.
+ (build_call_alloc_dealloc): When releasing a super-aligned object,
+ retrieve the system's allocator return value from where build_allocator
+ has stored it, just ahead of the adjusted address we are passed.
+ (build_call_raise): Handle properly the generation of line numbers when
+ the node is marked No_Location.
+ (compare_elmt_bitpos): Use tree_int_cst_compare. Stabilize the sort
+ by using DECL_UID on ties.
+ (build_binary_op) <EQ_EXPR>: Accept fat pointer types with the same
+ main variant.
+ (build_call_raise): Handle converting exception into goto; support new
+ argument KIND.
+ (build_component_ref): Add new arg to build_call_raise.
+
+2007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-ztflau.adb, a-wtflau.adb, a-tiflau.adb (Load_Real): Do not parse
+ "." in the case of nnn.xxx when nnn terminates with an underscore.
+ Parse the remaining "#" or ":" in the case of nnn#.xxx#
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * a-tigeau.ads, a-tigeau.adb: (Store_Char): Change Buf to IN OUT
+
+2007-06-06 Arnaud Charlet <charlet@adacore.com>
+ Vincent Celier <celier@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * bindgen.adb (Gen_Output_File_Ada): Generate pragma No_Run_Time when
+ needed.
+ (Gen_Output_File_Ada, Gen_Output_File_C): Never use __attribute
+ ((destructor)) for adafinal, even when switch -a is used.
+ Do not issue pragma Linker_Destructor for adafinal when switch -a is
+ used.
+ (Gen_Object_Files_Options): Add formatting of Linker Options, when
+ Output_Linker_Option_List is set. Suppress this formatting when
+ Zero_Formatting is set.
+ Add case for CLI_Target.
+ (System_Restrictions_Used): New flag, used to avoid generating with of
+ System_Restrictions and initialization of the data unless there is
+ some use of System.Restrictions in the partition.
+ (Check_System_Restrictions_Used): New procedure
+
+ * s-stalib.adb: Remove with of System.Restrictions. No longer needed
+ since we only with this unit in the binder file if it is used elsewhere
+ in the partition.
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * bindusg.adb: Add line for @<response file>
+ Add lines for new switches -R and -Z
+
+ * gnatbind.adb (Gnatbind): Do not include sources from the GNAT
+ hierarchy in the list of files of the closure when -R is used
+ (Gnatbind): Accept arguments starting with '@' to indicate response
+ files and take the arguments from the response files.
+ If List_Closure is set, display the referenced files
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * checks.ads, checks.adb (Apply_Address_Clause_Check): Handle case in
+ which the address-clause is applied to in-mode actuals (allowed by
+ 13.1(22)).
+ (Apply_Discriminant_Check): Do not generate a check if the type is
+ constrained by a current instance.
+ (Activate_Division_Check): New procedure
+ (Activate_Overflow_Check): New procedure
+ (Activate_Range_Check): New procedure
+ Call these new Activate procedures instead of setting flags directly
+ (Apply_Array_Size_Check): Removed, no longer needed.
+ Code clean up: remove obsolete code related to GCC 2.
+ (Get_E_Length): Protect against bomb in case scope is standard
+ (Selected_Range_Checks): If the node to be checked is a conversion to
+ an unconstrained array type, and the expression is a slice, use the
+ bounds of the slice to construct the required constraint checks.
+ Improve NOT NULL error messages
+ (Apply_Constraint_Check): If the context is a null-excluding access
+ type, diagnose properly the literal null.
+
+2007-06-06 Pascal Obry <obry@adacore.com>
+
+ * clean.adb (Clean_Archive): Use untouched casing for the archive name
+ and the corresponding .deps file.
+ (Clean_Interface_Copy_Directory): Use untouched casing for the library
+ src directory. Minor code-clean-up. Use untouched casing for files
+ read into the library src dir.
+ (Clean_Library_Directory): Idem.
+ (Parse_Cmd_Line): Accept new switch -aP
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * einfo.ads, einfo.adb (Available_View): New synthesized attribute
+ applicable to types that have the With_Type flag set. Returns the
+ non-limited view of the type, if available, otherwise the type itself.
+ For class-wide types, there is no direct link in the tree, so we have
+ to retrieve the class-wide type of the non-limited view of the Etype.
+ New attributes Static_Initialization and Static_Elaboration_Desired.
+ Remove the pragma Thread_Body, and the associated flag
+ Is_Thread_Body in entities, and all related code.
+ (Suppress_Value_Tracking_On_Call): New flag
+ E_Exception has Esize and Alignment fields
+ (Universal_Aliasing): New function.
+ (Set_Universal_Aliasing): New procedure.
+ (Write_Entity_Flags): Deal with Universal_Aliasing flag.
+ (Check_Nested_Access): New procedure.
+ (Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures.
+ (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
+ (Related_Interface): New attribute. Present in dispatch table pointer
+ components of records. Set to point to the entity of the corresponding
+ interface type.
+ (Is_By_Reference_Type): Recurse on the full view of an incomplete type.
+ (Original_Access_Type): Remove, not needed.
+ (Root_Type): Handle properly subtypes of class-wide-types.
+ Update comments.
+
+ * sem_ch4.adb (Analyze_Explicit_Dereference): Add support for
+ class-wide types visible through limited-with clauses.
+ (Try_Primitive_Operation): When examining all primitive operations of a
+ tagged type, do not consider subprograms labeled as hidden unless they
+ belong to a private generic type with a tagged parent.
+ (Try_Object_Operation): Extensive rewriting, to handle properly various
+ overloading cases, when several ancestors may have class-wide operations
+ that are possible candidates, and when the overloaded functions return
+ array types and have defaulted parameters so that the call may be
+ interpreted as an indexing.
+ (Analyze_Allocator): Remove Mark_Allocator and its invocation.
+ (Process_Function_Call): use Next, rather than Next_Actual, to analyze
+ successive actuals before analyzing the call itself.
+ (Try_Primitive_Operation): A primitive operation is compatible with the
+ prefix if the prefix has a synchronized type and the type of the formal
+ is its corresponding record, as can be the case when the primitive
+ operation is declared outside of the body of the type.
+ (Traverse_Homonyms): New subprocedure of Try_Class_Wide_Operation, to
+ perform homonym traversal, looking for class-wide operation matches
+ (formerly done in statements of Try_Class_Wide_Operation). Matches on
+ access parameters are now restricted to anonymous access types.
+ (Mark_Allocator): An allocator with a discriminant association parent is
+ a coextension.
+ (Try_One_Prefix_Interpretation): If the type of the object is
+ incomplete, as can be happen when it is a limited view obtained through
+ a limited_with_clause, the selected component is not part of a prefixed
+ call.
+ (Complete_Object_Operation): Diagnose properly an object that is not
+ aliased when the corresponding controlling formal is an access
+ parameter.
+ (Try_Primitive_Operation, Try_Class_Wide_Operation): Diagnose properly
+ ambiguous calls in prefixed notation, where two primitives differ only
+ in that the controlling argument of one is an access parameter.
+
+ * sem_ch6.adb (Has_Single_Return): Add guard in code that determines
+ whether a function that returns an unconstrained type can be inlined.
+ (Process_Formals): Diagnose properly the illegal use of an incomplete
+ type in the profile of an access_to_subprogram declaration.
+ (Check_Synchronized_Overriding): Nothing check for concurrent types, the
+ operations are attached to the corresponding record.
+ (Analyze_Subprogram_Specification): Add variables Formal and Formal_Typ.
+ When processing a primitive of a concurrent type which implements an
+ interface change the type of all controlling formals to that of the
+ corresponding record type.
+ (Check_Synchronized_Overriding): Relax the conditional logic when trying
+ to determine the tagged type to which a primitive belongs.
+ (Check_Conventions): Capture condition to ignore a primitive operation
+ (which is shared between the loop in Check_Conventions and the one in
+ Check_Convention) in a new local function Skip_Check.
+ (Check_Convention): Rename Prim_Op to Second_Prim_Op to avoid possible
+ confusion with Check_Conventions' own Prim_Op local variable.
+ (Create_Extra_Formals): Test for a tagged result type rather than a
+ controlling result when determining whether to add a BIP_Alloc_Form
+ formal and a BIP_Final_List formal to the function.
+ (Check_Conformance); For parameters that are anonymous access types,
+ subtype conformance requires that the not null and the constant
+ indicators must match
+ (Check_Synchronized_Overriding): New parameter Formal_Typ. Add machinery
+ to retrieve the appropriate type when processing a concurrent type
+ declared within a generic. Minor comment reformatting. Change invocation
+ of Overrides_Synchronized_Primitive to Find_Overridden_Synchronized_Pri-
+ mitive.
+ (Analyze_Subprogram_Body): If the return type of a function is an
+ anonymous access to the limited view of a class-wide type, and the
+ non-limited view of the type is available, update the type of the
+ function so that code can be generated.
+ (Process_Formals): In case of access-subtype itype whose designated
+ type is also an itype (situation that happens now with access to
+ subprograms) we mark the access-type itype with the Has_Delayed_Freeze
+ attribute to avoid backend problems.
+ (Check_Return_Subtype_Indication): Replace R_Type with R_Stm_Type in
+ init of R_Stm_Type_Is_Anon_Access. Also check that base types of the
+ anonymous types' designated types are same before testing
+ Subtypes_Statically_Match.
+ (Create_Extra_Formals): Test for a named access parameter that is a
+ controlling formal as an additional condition for adding an
+ accessibility level formal. This can occur in the subp type created for
+ dispatching calls in Expand_Dispatching_Call, and allows calling
+ Create_Extra_Formals from that procedure rather than special-casing the
+ extra formals there.
+ (Create_Extra_Formals): Add BIP_Alloc_Form and BIP_Final_List formals
+ when the function has a controlling result.
+ (Check_Returns): Add much more knowledge of the optimization of local
+ raise statements to gotos, to retain proper warnings in this case.
+ (Check_Statement_Sequence): Ignore N_Push_xxx_Label and N_Pop_xxx_Label
+ nodes when looking for last statement.
+
+ * sem_type.ads, sem_type.adb (Specific_Type): Add support for
+ class-wide types visible through limited with clauses.
+ (Add_One_Interp): If the operands are anonymous access types, the
+ predefined operator on universal_access is immediately visibles
+ (Find_Unique_Type): Handle anonymous access to subprogram types just as
+ other anonymous access types.
+ (Disambiguate): Take into account CIL convention.
+ (Interface_Present_In_Ancestor): Add support for class-wide interfaces.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * sinput.ads, sinput.adb, uintp.ads, urealp.adb, stringt.adb,
+ sem_elim.adb, prj-strt.adb, repinfo.ads, repinfo.adb, namet.ads,
+ elists.ads, elists.adb, lib.ads, lib.adb (Unlock): New procedure.
+ Fix lower bound of tables.
+ Add rep clauses.
+
+ * nlists.adb: Ditto.
+ (Prev_Node, Next_Node): Change index type to Int so that it properly
+ covers the range First_Node_Id - 1 up.
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Bob Duff <duff@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_aggr.ads, exp_aggr.adb:
+ (Build_Record_Aggr_Code): Add missing initialization of secondary tags
+ in extension aggregates.
+ (Flatten): Other conditions being met, an aggregate is static if the
+ low bound given by component associations is different from the low
+ bound of the base index type.
+ (Packed_Array_Aggregate_Handled): If the component type is itself a
+ packed array or record, the front-end must expand into assignments.
+ (Gen_Ctrl_Actions_For_Aggr): In call to Init_Controller, pass False to
+ Init_Pr, instead of Ancestor_Is_Expression.
+ (Gen_Ctrl_Actions_For_Aggr): When processing an aggregate of a
+ coextension chain root, either generate a list controller or use the
+ already existing one.
+ (Static_Array_Aggregate): New procedure to construct a positional
+ aggregate that can be handled by the backend, when all bounds and
+ components are compile-time known constants.
+ (Expand_Record_Aggregate): Force conversion of aggregates of tagged
+ types covering interface types into assignments.
+ (Replace_Type): move to Build_Record_Aggr_Code.
+ (Expand_Record_Aggr_Code): if the target of the aggregate is an
+ interface type, convert to the definite type of the aggregate itself,
+ so that needed components are visible.
+ (Convert_Aggr_In_Object_Decl): If the aggregate has controlled
+ components and the context is an extended return statement do not
+ create a transient block for it, to prevent premature finalization
+ before the return is executed.
+ (Gen_Assign): Do not generate a call to deep adjust routine if the
+ component type is itself an array of controlled (sub)-components
+ initialized with an inner aggregate.
+ (Component_Check): New name for Static_Check. This name is now more
+ appropriate, and documentation is added which was missing.
+ (Component_Check): Add test for bit aligned component value
+ (Component_Not_OK_For_Backend): Renames Has_Delayed_Nested_Aggregate_Or_
+ Tagged_Comps, name is more appropriate given added function below.
+ (Component_Not_OK_For_Backend): Check for bit aligned component ref.
+
+2007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Case Callable and
+ Terminated: Add unchecked type conversion from System.Address to
+ System.Tasking.Task_Id when calling the predefined primitive
+ _disp_get_task_id.
+ Disable new Ada 05 accessibility check for JVM.NET targets, which
+ cannot be implemented in a practical way.
+ (Expand_N_Attribute_Reference: case Attribute_Tag): The use of 'Tag in
+ the sources always references the tag of the actual object. Therefore,
+ if 'Tag is applied in the sources to class-wide interface objects we
+ generate code that displaces "this" to reference the base of the object.
+ (Expand_N_Attribute_Reference, case Size): Return specified size if
+ known to front end.
+ (Expand_N_Attribute_Reference): The expansion of the 'Address attribute
+ has code that displaces the pointer of the object to manage interface
+ types. However this code must not be executed when the prefix is a
+ subprogram. This bug caused the wrong expansion of the internally
+ generated assignment that fills the dispatch table when the primitive
+ is a function returning a class-wide interface type.
+ (Expand_N_Attribute_Reference:Attribute_Valid): Remove incorrect call to
+ Set_Attribute_Name for Name_Unaligned_Valid.
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case 'Address):
+ If the initialization is the equivalent aggregate of the initialization
+ procedure of the type, do not remove it.
+ (Expand_N_Attribute_Definition_Clause): Exclude access variables
+ initialized to null from having their expression reset to empty and
+ note this exception in the comment.
+
+2007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch2.adb: Remove "with" and "use" clauses for Namet and Snames.
+ Add "with" and "use" clauses for Sem_Attr.
+ (Expand_Current_Value): Do not replace occurences of attribute
+ references where the prefix must be a simple name.
+
+ * sem_attr.ads, sem_attr.adb: Remove "with" and "use" clauses for
+ Namet. Add new arrays Attribute_Name_Modifies_Prefix and
+ Attribute_Requires_Simple_Name_Prefix.
+ (Name_Modifies_Prefix): Body of new function.
+ (Requires_Simple_Name_Prefix): Body of new function.
+ (Resolve_Attribute, case Access): Improve error message for case of
+ mismatched conventions.
+ (Analyze_Attribute, case 'Tag): The prefix the attribute cannot be of an
+ incomplete type.
+ (Analyze_Attribute, case 'Access): If the type of the prefix is a
+ constrained subtype for a nominal unconstrained type, use its base type
+ to check for conformance with the context.
+ (Resolve_Attribute): Remove test of the access type being associated
+ with a return statement from condition for performing accessibility
+ checks on access attributes, since this case is now captured by
+ Is_Local_Anonymous_Access.
+ (Analyze_Access_Attribute): Set Address_Taken on entity
+ (Analyze_Attribute, case Address): Set Address_Taken on entity
+ (OK_Self_Reference): Traverse tree to locate enclosing aggregate when
+ validating an access attribute whose prefix is a current instance.
+ (Resolve_Attribute): In case of attributes 'Code_Address and 'Address
+ applied to dispatching operations, if freezing is required then we set
+ the attribute Has_Delayed_Freeze in the prefix's entity.
+ (Check_Local_Access): Set flag Suppress_Value_Tracking_On_Call in
+ current scope if access of local subprogram taken
+ (Analyze_Access_Attribute): Check legality of self-reference even if the
+ expression comes from source, as when a single component association in
+ an aggregate has a box association.
+ (Resolve_Attribute, case 'Access): Do not apply accessibility checks to
+ the prefix if it is a protected operation and the attribute is
+ Unrestricted_Access.
+ (Resolve_Attribute, case 'Access): Set the Etype of the attribute
+ reference to the base type of the context, to force a constraint check
+ when the context is an access subtype with an explicit constraint.
+ (Analyze_Attribute, case 'Class): If the prefix is an interface and the
+ node is rewritten as an interface conversion. leave unanalyzed after
+ resolution, to ensure that type checking against the context will take
+ place.
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_ch3.adb (Make_Controlling_Function_Wrappers): generate wrapper a
+ wrapper when the full view of the controlling type of an inherited
+ function that dispatches on result implements interfaces.
+ (Expand_N_Object_Declaration): In cases where the type of the
+ declaration is anonymous access, create finalization list for it.
+ (Expand_N_Object_Declaration): Generate a persistent_bss directive only
+ if the object has no explicit initialization, to match description of
+ functionality of pragam Persistent_BSS.
+ (Build_Equivalent_Array_Aggregate, Build_Equivalent_Record_Aggregate):
+ new function to build static aggregates, to replace initialization call
+ when static initialization is desired.
+ (Freeze_Type): Generate a list controller for an access type whenever
+ its designated type has controlled anonymous access discriminants.
+ (Build_Equivalent_Aggregate): New procedure to compute a static
+ aggregate to be used as default initialization for composite types,
+ instead of a generating a call to the initialization procedure for the
+ type.
+ (Build_Initialization_Call): When available, replace a call to the
+ initialization procedure with a copy of the equivalent static aggregate
+ for the type.
+ (Expand_N_Object_Declaration): Use New_Occurrence_Of in generated
+ declarations for objects of a class-wide interface type, rather than
+ just identifiers, to prevent visibility problems.
+ (Expand_N_Object_Declaration): When expanding the declaration for an
+ object of a class-wide interface type, preserve the homonym chain of
+ the original entity before exchanging it with that of the generated
+ renaming declaration.
+ (Freeze_Enumeration_Type): Don't raise CE if No_Exception_Propagation
+ active, because there is no way to handle the exception.
+ (Freeze_Record_Type): In case of CPP_Class types add a call to Make_DT
+ to do a minimum decoration of the Access_Disp_Table list.
+ (Expand_Record_Controller): Avoid the addition of the controller between
+ the component containing the tag of a secondary dispatch table and its
+ adjacent component that stores the offset to the base of the object.
+ This latter component is only generated when the parent type has
+ discriminants ---documented in Add_Interface_Tag_Components).
+ (Apply_Array_Size_Check): Removed, no longer needed.
+ (Expand_N_Full_Type_Declaration): If the type has anonymous access
+ components, create a Master_Entity for it only if it contains tasks.
+ (Build_Init_Procedure): Suppress the tag assignment compiling under
+ no run-time mode.
+ (Freeze_Record_Type): Remove code associated with creation of dispatch
+ table.
+ (Init_Secondary_Tags): Update type of actuals when generating calls to
+ Ada.Tags.Set_Offset_To_Top
+ (Stream_Operation_OK): Disable use of streams compiling under no
+ run-time mode
+ (Expand_N_Object_Declaration): Don't do Initialize_Scalars initalization
+ if Has_Init_Expression set.
+ (Build_Init_Procedure): Replace call to Fill_DT_Entry by call to
+ Register_Primitive, which provides the same functionality.
+ (Requires_Init_Proc): Return false in case of interface types.
+ (Add_Secondary_Tables): Use the new attribute Related_Interface to
+ cleanup the code.
+ (Predefined_Primitive_Freeze): Do not assume that an internal entity
+ is always associated with a predefined primitive because the internal
+ entities associated with interface types are not predefined primitives.
+ Therefore, the call to Is_Internal is replaced by a call to the
+ function Is_Predefined_Dispatching_Operation.
+ (Make_Eq_If): When generating the list of comparisons for the
+ components of a given variant, omit the controller component that is
+ present if the variant has controlled components.
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * exp_ch4.adb (Complete_Coextension_Finalization): Add machinery to
+ handle the creation of finalization lists and calls for nested
+ coextensions when the root of the chains is part of a return statement.
+ (Inside_A_Return_Statement): New function inside Complete_Coextension_
+ Finalization.
+ (Expand_Record_Equality): Skip components that are interface types.
+ (Displace_Allocator_Pointer): Add missing support for interface subtypes
+ (Expand_N_Allocator): Replace invocation of Is_Local_Access_Discriminant
+ with Rewrite_Coextension. Change the condition for detecting coextension
+ root nodes.
+ (Is_Local_Access_Discriminant): Removed.
+ (Rewrite_Coextension): New routine which rewrites a static coextension
+ as a temporary and uses its unrestricted access in the construction of
+ the outer object.
+ (Complete_Coextension_Finalization): New routine. Generate finalization
+ attachment calls to all delayed coextensions.
+ (Expand_N_Allocator): Call Complete_Coextension_Finalization whenever
+ the allocator is not a coextension itself and has delayed coextensions.
+ If the current allocator is controlled, but also a coextension, delay
+ the generation of the finalization attachment call.
+ Rename local variable "Node" to "Nod" in order to avoid confusion with
+ "Elists.Node".
+ (Expand_Allocator_Expression): Call Adjust for initialized allocators of
+ limited types that are not inherently limited. Such an allocator is
+ illegal, but is generated by the expander for a return statement, to
+ copy the result onto the secondary stack. This is the only case where a
+ limited object can be copied. Generate code to displace the pointer
+ to the object if the qualified expression is a class-wide interface
+ object. Such displacement was missing and hence the copy of the object
+ was wrong.
+ (Apply_Accessibility_Check): Handle allocated objects initialized in
+ place.
+ (Displace_Allocator_Pointer): Subsidiary procedure to Expand_N_Allocator
+ and Expand_Allocator_Expression. Allocating class-wide interface objects
+ this routine displaces the pointer to the allocated object to reference
+ the component referencing the corresponding secondary dispatch table.
+ Expand_Allocator_Expression): Add missing support to allocate class-wide
+ interface objects initialized with a qualified expression.
+ (Get_Allocator_Final_List): Test for an anonymous access type that is a
+ function result type, and use the finalization list associated with the
+ function scope in that case (such an anonymous type should not be
+ treated like an access parameter's type).
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): For the assignment of a
+ controlled type, use Make_Handler_For_Ctrl_Operation to construct the
+ required exception handler.
+ (Expand_Simple_Function_Return, Expand_N_Return_Statement): Handle
+ properly the case of a function whose return type is a limited
+ class-wide interface type. Modify the code of the accessibility
+ check to handle class-wide interface objects. In this case we need to
+ displace "this" to reference the primary dispatch table to get access
+ to the TSD of the object (to evaluate its accessibility level).
+ (Expand_N_Extended_Return_Statement): Test for a tagged result type
+ rather than a controlling result as one of the conditions for
+ generating tests of the implicit BIP_Alloc_Form formal. The
+ initialization assignment is also handled according to whether the
+ result is tagged instead of controlling.
+ In the case where the init assignment is inserted in the "then" part of
+ the allocation conditional, rewrite the target to be a dereference of
+ the implicit BIP_Object_Access formal.
+ If the returned value is unconstrained and created on the secondary
+ stack, mark the enclosing block and function so that the secondary
+ stack is not reclaimed on return.
+ Treat returns from functions with controlling results similarly to
+ returns from functions with unconstrained result subtypes.
+ If the object returned is unconstrained, and an allocator must be
+ created for it, analyze the allocator once the block for the extended
+ return is installed, to ensure that finalizable components
+ of the expression use the proper finalization list. Guard the call to
+ Move_Final_List with a check that there is something to finalize.
+ (Make_Tag_Ctrl_Assignment): Use "old" handling
+ of controlled type assignment for virtual machines, since new code uses
+ unsupported features (such as direct access to bytes in memory).
+
+2007-06-06 Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.ads, exp_ch6.adb (Expand_Call): When adding an extra
+ accessibility actual, check for the case of an aliased object that has
+ been rewritten as an Access attribute, and assign Prev to Prev_Orig so
+ we fall into processing for the attribute rather than the name of the
+ object.
+ (Expand_Inline_Call): If an actual is a literal, and the corresponding
+ formal has its address taken in the body, create a temporary to capture
+ value. If the return type is a limited interface, do not treat the
+ return value as Controlled.
+ (Is_In_Place_Function): If the return type is a limited interface,
+ treat as returning in place. The actual returned object may not always
+ be limited, but the caller has to assume that it is returned in place.
+ (Add_Final_List_Actual_To_Build_In_Place_Call): If the call is the
+ context of an allocator, use the correct finalization chain (that is,
+ the chain belonging to the access type, rather than the chain belonging
+ to the current scope).
+ (Add_Alloc_Form_Actual_To_Build_In_Place_Call): Test for a tagged
+ result type rather than a controlling result as a precondition for
+ adding an allocation form actual to a build-in-place call.
+ (Add_Final_List_Actual_To_Build_In_Place_Call): Ditto.
+ (Freeze_Subprogram): Code cleanup. Remove all the code that register the
+ primitive in the dispatch tables. This work is now done by Make_DT when
+ the type is frozen.
+ (Register_Predefined_DT_Entry): Removed.
+ (Add_Return): If end label is not present, use sloc of last statement
+ for generated return statement in procedure, for better gdb behavior
+ on expanded code.
+ (Add_Access_Actual_To_Build_In_Place_Call): Set parent fields of the
+ object address nodes to ensure proper processing by routines like
+ Insert_After*.
+ (Expand_Call): Fix generation of validity check for parameter
+ (Add_Alloc_Form_Actual_To_Build_In_Place_Call): Return without passing
+ the allocation form parameter if the result subtype is constrained,
+ except when the function has a controlling result.
+ (Add_Final_List_Actual_To_Build_In_Place_Call): Test Controlled_Type
+ rather than Is_Controlled and Has_Controlled_Component, since we want to
+ include class-wide result types in this treatment. Also test for a
+ controlling result, since that also requires passing a finalization
+ list.
+ (Make_Build_In_Place_Call_In_Allocator): Call Add_Alloc_Form_Actual_*
+ even when the result subtype is constrained, to handle calls involving
+ controlling results.
+ (Make_Build_In_Place_Call_In_Anonymous_Context): Add_Alloc_Form_Actual_*
+ is now called even when the result subtype is constrained, to handle
+ calls involving controlling results.
+ (Make_Build_In_Place_Call_In_Assignment): Remove test for Is_Constrained
+ on call to Add_Alloc_Form_Actual_To_Build_In_Place_Call (that procedure
+ now performs the test).
+ (Make_Build_In_Place_Call_In_Object_Declaration):
+ Add_Alloc_Form_Actual_* is now called even when the result subtype is
+ constrained, to handle calls involving controlling results.
+ (Add_Return): Accomodate rewritten pattern from local raise to goto
+ transformation, so that we still recognize an transfer statement
+ and do the right thing here in that case.
+ (Expand_N_Subprogram_Body): Add dummy Push/Pop_xxx_Label nodes at start
+ and end of subprogram code.
+ (Register_Interface_DT_Entry, Register_Predefined_DT_Entry): Add missing
+ support for primitives that are functions (without formals) with a
+ controlling result.
+ (Inherited_From_Formal): If the actual subtype has not generic parent
+ type, it is not an actual for a formal derived type, and there is no
+ operation to inherit from the formal.
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch7.ads, exp_ch7.adb (Expand_Cleanup_Actions): Set Sloc of
+ inserted cleanup code appropriately for GDB use.
+ (Make_Deep_Proc): Use Make_Handler_For_Ctrl_Operation to create
+ exception handler for Deep_Adjust or Deep_Finalize.
+ (Make_Handler_For_Ctrl_Operation): New subprogram. When runtime entity
+ Raise_From_Controlled_Operation is available, use a call to that
+ subprogram instead of a plain "raise Program_Error" node to raise
+ Program_Error if an exception is propagated from an Adjust or Finalize
+ operation.
+ (Insert_Actions_In_Scope_Around): If the statement to be wrapped
+ appears in the optional statement list of a triggering alternative, the
+ scope actions can be inserted directly there, and not in the list that
+ includes the asynchronous select itself.
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch9.ads, exp_ch9.adb (Build_Protected_Entry): Set sloc of
+ generated exception handler appropriately when debugging generated code.
+ Deal properly with No_Exception_Propagation restriction mode.
+ (Expand_N_Abort_Statement): Add an unchecked type conversion from
+ System.Address to System.Tasking.Task_Id when processing the result of
+ the predefined primitive _disp_get_task_id.
+ (Expand_N_Asynchronous_Select): Clarify comment.
+ (Expand_N_Protected_Type_Declaration): Minor code cleanup.
+ (Find_Parameter_Type): New routine inside Type_Conformant_Parameters.
+ (Type_Conformant_Parameters): New parameter Prim_Op_Typ. Code cleanup.
+ (Add_Private_Declarations, Build_Protected_Body): Use proper slocs for
+ privals and for generated call to Complete_Entry_Body, for better gdb
+ behavior.
+ (Copy_Result_Type): Utility to construct a parameter and result profile
+ for protected functions whose return type is an anonymous access to
+ subprogram.
+ (Build_Protected_Sub_Spec and Expand_Access_Protected_Subprogram_Type):
+ call the above.
+ (Build_Task_Activation_Call): Insert Activate_Tasks call at proper
+ point when the local-raise-to-goto transformation has taken place.
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+ Nicolas Setton <setton@adacore.com>
+
+ * exp_dbug.adb (Get_Encoded_Name): Modified to continue providing its
+ functionality when the backend is generating code.
+ Otherwise any serious error
+ reported by the backend calling the frontend routine Error_Msg
+ changes the Compilation_Mode to Check_Semantics, disables the
+ functionality of this routine and causes the generation of
+ spureous additional errors.
+
+ * exp_dbug.ads (Pointers to Unconstrained Arrays): Document the
+ debugging information now generated by the compiler for fat-pointer
+ types.
+ Document the contents of DW_AT_producer in the GNAT Vendor extensions to
+ DWARF2/3.
+ Document GNAT Vendor extensions to DWARF 2/3 and the "-gdwarf+" switch.
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.ads, exp_dist.adb (Make_Transportable_Check): New subprogram
+ (GARLIC_Support.Build_Subprogram_Receiving_Stubs,
+ PolyORB_Support.Build_Subprogram_Receiving_Stubs):
+ For a remote call to a function with a classwide return type, apply an
+ E.4(18) check to the returned value.
+ (Add_RACW_Primitive_Declarations_And_Bodies): Do not generate stubs for
+ stream attributes of the designated type of an RACW, as they are not
+ dispatching primitive operations.
+
+2007-06-06 Geert Bosch <bosch@adacore.com>
+
+ * exp_fixd.adb (Integer_Literal): Add optional argument to construct a
+ negative literal
+ (Do_Divide_Fixed_Fixed): Add comments to indicate Frac is always
+ positive
+ (Do_Divide_Fixed_Universal): Handle case of negative Frac.
+ (Do_Multiply_Fixed_Fixed): Add coments to indicate Frac is always
+ positive
+ (Do_Multiply_Fixed_Universal): Handle case of negative Frac.
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+
+ * exp_imgv.adb (Expand_Value_Attribute): Disable compilation of this
+ attribute compiling package Ada.Tags under No_Run_Time_Mode.
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+
+ * exp_intr.adb (Expand_Unc_Deallocation): Add missing support for
+ deallocation of class-wide interface objects.
+ (Expand_Dispatching_Constructor_Call): Take into account that if the
+ result of the dispatching constructor is an interface type, the
+ function returns a class-wide interface type; otherwise the returned
+ object would be actual. The frontend previously accepted returning
+ interface types because Expand_Interface_Actuals silently performed
+ the management of the returned type "as if" it were a class-wide
+ interface type.
+ (Expand_Dispatching_Constructor_Call): Replace call to
+ Make_DT_Access_Action by direct call to Make_Function_Call.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_pakd.adb (Expand_Packed_Not): Use RM_Size rather than ESize to
+ compute masking constant, since we now set Esize properly to the
+ underlying size.
+ (Create_Packed_Array_Type): Set proper Esize value adjusted as required
+ to match the alignment.
+ (Create_Packed_Array_Type): Use Short_Short_Unsigned as base type for
+ packed arrays of 8 bits or less.
+
+ * freeze.adb (Freeze_Entity): When freezing the formals of a
+ subprogram, freeze the designated type of a parameter of an access type
+ only if it is an access parameter.
+ Increase size of C convention enumeration object
+ (Freeze_Entity, array type case): Make sure Esize value is properly
+ adjusted for the alignment if it is known.
+ (Freeze_Entity, array type case): When checking bit packed arrays for
+ the size being incorrect, check RM_Size, not Esize.
+ (Freeze_Record_Type): Check for bad discriminated record convention
+ (In_Exp_Body): Return true if the body is generated for a subprogram
+ renaming, either an attribute renaming or a renaming as body.
+ (Check_Itype): If the designated type of an anonymous access component
+ is a non-protected subprogram type, indicate that it is frozen, to
+ prevent out-of-scope freeze node at some subsequent call.
+ (Freeze_Subprogram): On OpenVMS, reject descriptor passing mechanism
+ only if the subprogram is neither imported nor exported, as well as the
+ NCA descriptor class if the subprogram is exported.
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Remove properly a
+ default initialization on an imported object, when there is no
+ initialization call generated for it.
+ (Expand_Pragma_Assert): Add handling of No_Exception_Propagation
+ restriction
+
+ * snames.h, snames.ads, snames.adb, par-prag.adb: New pragma
+ Static_Elaboration_Desired.
+ Remove pragma Thread_Body.
+ Implement a new pragma No_Body
+ Removes the Explicit_Overriding pragma
+ Remove Optional_Overriding pragma
+ (Prag): Deal with Universal_Aliasing.
+ (Name_CIL, Name_CIL_Constructor, Convention_CIL,
+ Pragma_CIL_Constructor): New names.
+
+ * sem_cat.adb (Validate_Object_Declaration): An initialization that
+ uses the equivalent aggregate of a type must be treated as an implicit
+ initialization.
+ (Get_Categorization): Check a unit for pragma Preelaborate only if it
+ has none of the other categories.
+ (Process_Import_Or_Interface_Pragma): Report an error for an attempt
+ to apply Import to an object renaming declaration.
+
+ * sem_prag.adb (Process_Import_Or_Interface): Warn that a type imported
+ from a C++ class should be declared as limited and that it will be
+ considererd limited.
+ (Analyze_Pragma): Warn that a type specified with pragma CPP_Class
+ should be declared as limited and that it will be considererd limited.
+ (Ada_2005_Pragma): New procedure, used to deal with Ada 2005 pragmas
+ (Analyze_Pragma, case Export): Diagnose export of enumeration literal
+ (Analyze_Pragma): Deal with Universal_Aliasing.
+ (Sig_Flags): Likewise.
+ (Set_Encoded_Interface_Name): Suppress encoding when compiling for AAMP.
+ (Overflow_Checks_Unsuppressed): New flag.
+ (Process_Suppress_Unsuppress): Set Overflow_Checks_Unsuppressed.
+ (Analyze_Pragma [case Pack]): Ignore pragma Pack and post warning in
+ case of JVM or .NET targets, and compiling user code.
+ Add debugging convenience routine rv
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * exp_strm.adb (Make_Field_Attributes): Avoid _Parent components that
+ are interface type.
+ (Build_Elementary_Input_Call): For floating-point use right type in the
+ absence of strange size or stream size clauses.
+ (Build_Elementary_Write_Call): Same fix
+ (Has_Stream_Standard_Rep): Returns False if Stream_Size attribute
+ set to value that does not match base type size.
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_util.ads, exp_util.adb (Expand_Subtype_From_Expr): In Ada2005, an
+ object of a limited type can be initialized with a call to a function
+ that returns in place. If the limited type has unknown discriminants,
+ and the underlying type is a constrained composite type, build an actual
+ subtype from the function call, as is done for private types.
+ (Side_Effect_Free): An expression that is the renaming of an object or
+ whose prefix is the renaming of a object, is not side-effect free
+ because it may be assigned through the renaming and its value must be
+ captured in a temporary.
+ (Has_Controlled_Coextensions): New routine.
+ (Expand_Subtype_From_Expr): Do nothing if type is a limited interface,
+ as is done for other limited types.
+ (Non_Limited_Designated_Type): new predicate.
+ (Make_CW_Equivalent_Type): Modified to handle class-wide interface
+ objects.
+ Remove all handling of with_type clauses.
+
+ * par-ch10.adb: Remove all handling of with_type clauses.
+
+ * lib-load.ads, lib-load.adb (Load_Main_Source): Do not get the
+ checksum if the main source could not be parsed.
+ (Loat_Unit): When processing a child unit, determine properly whether
+ the parent unit is a renaming when the parent is itself a child unit.
+ Remove handling of with_type clauses.
+
+ * sinfo.ads, sinfo.adb (Is_Static_Coextension): New function.
+ (Set_Is_Static_Coextension): New procedure.
+ (Has_Local_Raise): New function
+ (Set_Has_Local_Raise): New procedure
+ (Renaming_Exception): New field
+ (Has_Init_Expression): New flag
+ (Delay_Finalize_Attach): Remove because flag is obsolete.
+ (Set_Delay_Finalize_Attach): Remove because flag is obsolete.
+ Remove all handling of with_type clauses.
+ (Exception_Junk): Can now be set in N_Block_Statement
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * frontend.adb (Frontend): Return immediately if the main source could
+ not be parsed, because of preprocessing errors.
+
+ * gnat1drv.adb (gnat1drv): Handle RE_Not_Available gracefully.
+ (Gnat1drv): Exit with errors if the main source could not be parsed,
+ because of preprocessing errors.
+ (Check_Rep_Info): New procedure
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * g-hesorg.ads, g-heasor.ads,
+ g-busorg.ads, g-bubsor.ads: Update documentation
+ GNAT.Heap/Bubble_Sort_G is now pure
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * g-catiio.ads, g-catiio.adb (Image): Check for null picture string
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * g-comlin.ads, g-comlin.adb:
+ Add new warning for renaming of function return objects
+
+ * opt.adb (Tree_Write, Tree_Read): Use proper expressions for size
+ (Tree_Read): Use size of object instead of type'object_size, since the
+ latter is incorrect for packed array types.
+ (Tree_Write): Same fix
+
+ * opt.ads: Add new warning for renaming of function return objects
+ (Generating_Code): New boolean variable used to indicate that the
+ frontend as finished its work and has called the backend to process
+ the tree and generate the object file.
+ (GCC_Version): Is now private
+ (Static_Dispatch_Tables): New constant declaration.
+ (Overflow_Checks_Unsuppressed): New flag.
+ (Process_Suppress_Unsuppress): Set Overflow_Checks_Unsuppressed.
+ (List_Closure): New flag for gnatbind (-R)
+ Zero_Formatting: New flag for gnatbind (-Z)
+ (Special_Exception_Package_Used): New flag.
+ (Warn_On_Unrepped_Components): New flag.
+
+ * sem_ch8.adb (Check_Library_Unit_Renaming): Check that the renamed
+ unit is a compilation unit, rather than relying on its scope, so that
+ Standard can be renamed.
+ (Analyze_Object_Renaming): Add new warning for renaming of function
+ return objects.
+ Also reject attempt to rename function return object in Ada 83 mode.
+ (Attribute_Renaming): In case of tagged types, add the body of the
+ generated function to the freezing actions of the type.
+ (Find_Type): A protected type is visible right after the reserved word
+ "is" is encountered in its type declaration. Set the entity and type
+ rather than emitting an error message.
+ (New_Scope): Properly propagate Discard_Names to inner scopes
+ (Check_Nested_Access): New procedure.
+ (Has_Nested_Access, Set_Has_Nested_Access): New procedures.
+ (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
+
+ * sem_warn.ads, sem_warn.adb: Improvements to infinite loop warning
+ Add new warning for renaming of function return objects
+ (Check_References): Suppress warnings for objects whose type or
+ base type has Warnings suppressed.
+ (Set_Dot_Warning_Switch): Add processing for -gnatw.c/C
+ (Set_Warning_Switch): Include new -gnatwc in -gnatwa
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+ Emmanuel Briot <briot@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * g-debpoo.ads, g-debpoo.adb (Free_Physically.Free_Blocks): Use the
+ absolute value of Header.Block_Size when displaying the freed physical
+ memory in traces.
+ (Allocate): Compute Storage_Address using Integer_Address, not
+ Storage_Offset, because the range of Storage_Offset may not be large
+ enough.
+ (Configure): New parameter Low_Level_Traces
+ (Allocate, Deallocation, Free_Physically): Added low-level traces
+ (Configure): new parameter Errors_To_Stdout.
+ (Output_File): new subprogram
+ (Deallocate, Dereference): Send error messages to the proper stream
+ (Print_Pool, Print_Info_Stdout): Make sure the output goes to stdout, as
+ documented. Previous code would send it to the current output file
+ defined in GNAT.IO, which might not be stdout
+ (Is_Valid): Adjust comment to mention that a positive reply means that
+ Header_Of may be used to retrieve the allocation header associated with
+ the subprogram Storage address argument. Return False early if this
+ address argument is misaligned.
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (GNATCmd): Accept switch -aP for commands that accept
+ switch -P
+ (ASIS_Main): New global variable
+ (Get_Closure): New procedure
+ (GNATCmd): Set ASIS_Main when -P and -U with a main is used for gnat
+ check, metric or pretty. Call Get_Closure in this case.
+ (Check_Files): For GNAT LIST, check all sources of all projects when
+ All_Projects is True.
+ (GNATCmd): Accept -U for GNAT LIST
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * gnatlink.adb (Gnatlink): Do not specify -static-libgcc when --LINK=
+ has been specified
+ Correct error message when invocation of the linker fails
+ Add explicit size clause for the C imported variables
+ Object_List_File_Supported and Using_GNU_Linker to emphasize that
+ we expect char size.
+ Read target parameters earlier, since this is needed to set
+ Target_VM properly. Also do not use -static/shared-libgcc for non GCC
+ targets.
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * gnatls.adb:
+ Add 3 spaces before the default project directory when displaying
+ the project search path.
+ Add new command line switch '-l' to display license information.
+
+2007-06-06 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * gmem.c: Add support for timestamps on memory operations.
+
+ * memtrack.adb, gnatmem.adb: Add support for timestamps on memory
+ operations (not used currently, just foundation for future
+ enhancements). Add possibility to perform full dump of gmem.out file.
+ (Print_Back_Traces): Declare accesses to root arrays constants since
+ they aren't modified.
+ (Print_Back_Traces): allocate root arrays on the heap rather than stack.
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * gnatsym.adb: Update Copyright notice
+ (Parse_Cmd_Line): Accept new switch -D
+ (Gnatsym): In Direct policy (switch -D) copy reference file to symbol
+ file.
+
+ * prj.ads (Policy): New policy Direct
+ (Yes_No_Unknown): New enumeration type
+ (Project_Data): New component Libgnarl_Needed
+
+ * prj-nmsc.adb (Check_For_Source): When recording a source file make
+ use the untouched pathname casing.
+ (Get_Directories): Ensure that the Display_Exec_Directory is using the
+ proper casing on non case-sensitive platforms like Windows.
+ (Get_Unit): Accept file names x__... and x~... (where x = a, g, i or s)
+ on all platforms, as it is not possible to know which one is allowed
+ before processing the project files.
+ (Check_Stand_Alone_Library): Check that Library_Reference_Symbol_File is
+ specified when symbol policy is Direct. Check that when there is a
+ symbol file defined (either by default or with attribute
+ Library_Symbol_File) it is not the same as the reference symbol file.
+ (Check_Stand_Alone_Library): Recognize new symbol policy Direct.
+ (Look_For_Sources): Allow Locally_Removed_Files to be declare in non
+ extending projects.
+ (Record_Ada_Source): Record a source that has been locally removed in an
+ imported project.
+
+ * symbols.ads (Policy): New policy Direct
+
+ * symbols-vms.adb (Initialize): Take new policy Direct in case
+ statement
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * g-os_lib.ads, g-os_lib.adb (Normalize_Pathname.Get_Directory):
+ Correct obvious bug (return Dir; instead of return Directory;).
+ (Normalize_Pathname): Use Reference_Dir'Length, not Reference_Dir'Last
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+
+ * g-pehage.adb (Produce): Open output files in Binary mode, so that
+ they have UNIX line endings (LF only) even on Windows, and thus pass
+ all GNAT style checks.
+
+2007-06-06 Emmanuel Briot <briot@adacore.com>
+
+ * g-regpat.adb (Quote): Fix improper quoting of '.'
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+
+ * g-soccon.ads: Add new constant Thread_Blocking_IO, always True by
+ default, set False on a per-runtime basis.
+ (Need_Netdb_Buffer): New constant.
+
+ * g-socket.ads, g-socket.adb: Import new package
+ GNAT.Sockets.Thin.Task_Safe_NetDB.
+ (Raise_Host_Error): Use Host_Error_Message from platform-specific thin
+ binding to obtain proper message.
+ (Close_Selector): Use GNAT.Sockets.Thin.Signalling_Fds.Close.
+ Replace various occurrences of Arry (Arry'First)'Address with the
+ equivalent Arry'Address (GNAT always follows implementation advice from
+ 13.3(14)).
+ (Get_Host_By_Address, Get_Host_By_Name,
+ Get_Service_By_Name, Get_Service_By_Port): Do not use GNAT.Task_Lock;
+ instead, rely on platform-specific task safe netdb operations provided
+ by g-socthi.
+
+ * g-socthi.ads, g-socthi.adb (Initialize): Remove obsolete formal
+ parameter Process_Blocking_IO.
+ (Host_Error_Messages): Add stub body.
+ (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
+ (Safe_Gethostbyname, Safe_Gethostbyaddr, Safe_Getservbyname,
+ Safe_Getservbyport): Move functions into new child package
+ Task_Safe_NetDB.
+ (Nonreentrant_Gethostbyname, Nonreentrant_Gethostbyaddr,
+ Nonreentrant_Getservbyname, Nonreentrant_Getservbyport): New routines.
+ (In_Addr): Add alignment clause.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * g-trasym.ads, g-traceb.ads: Update list of supported targets
+ Add note about symbolic traceback
+
+2007-06-06 Pascal Obry <obry@adacore.com>
+
+ * hostparm.ads (Normalized_CWD): Use the host directory separator
+ instead of the hardcoded forward slash which is not the proper
+ character on Windows for example.
+ (Java_VM): Removed.
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * a-clrefi.adb, a-clrefi.ads: New files
+
+ * impunit.adb: Add s-os_lib in the list of user visible units.
+ (Non_Imp_File_Names_95): Add a-clrefi to this list
+ Remove obsolete run-time entries.
+ (Non_Imp_File_Names_05): Add Ada 2005 entries for:
+ "a-exetim" -- Ada.Execution_Time
+ "a-extiti" -- Ada.Execution_Time.Timers
+
+ * mlib-prj.ads, mlib-prj.adb
+ (Build_Library): Use untouched object dir and library dir. At the
+ same time makes sure that the checks are done using the canonical
+ form. Removes hard-coded directory separator and use the proper host
+ one instead.
+ (Process_Project): Do not look in object directory to check if libgnarl
+ is needed for a library, if there is no object directory.
+ (Build_Library): Scan the ALI files to decide if libgnarl is needed for
+ linking.
+ (Build_Library): When invoking gnatbind, use a response file if the
+ total size of the arguments is too large.
+
+ * Makefile.rtl: (g-sttsne): New object file.
+ Add entry for a-clrefi, s-utf_32, System.Exceptions
+
+ * Make-lang.in: Remove bogus dependency of s-memory.o on memtrack.o.
+ (GNAT_ADA_OBJS, GNATBIND_OBJS): Add s-except.o.
+ (GNATBIND_OBJS): Add new objects a-clrefi.o and a-comlin.o
+ Change g-string to s-string, g-os_lib to s-os_lib
+ Change all g-utf_32 references to s-utf_32
+
+2007-06-06 Tristan Gingold <gingold@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * init.c: Do not adjust IP of an imported VMS exception of ia64.
+ LIB$STOP is called to raise an exception and the IP of the exception
+ is the instruction right after the call.
+ (__gnat_adjust_context_for_raise, AIX): Implement.
+ (__gnat_error_handler, AIX): Accept SIGINFO related arguments and call
+ adjust_context_for_raise before Raise_From_Signal_Hanler.
+ (__gnat_install_handler, AIX): Add SA_SIGINFO to the sa_flags, to ensure
+ siginfo is passed to the handler, necessary to let the zcx propagation
+ engine unwind past it.
+
+2007-06-06 Olivier Hainque <hainque@adacore.com>
+
+ * initialize.c (__gnat_initialize for vxworks): Update documentation
+ on the ZCX support, using different sets of crtstuff objects than with
+ GCC 3.4.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * layout.ads, layout.adb (Adjust_Esize_Alignment): Move spec to package
+ spec from body
+ (Layout_Type): Fix recomputation of size from alignment.
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch12.adb (Analyze_Associations): Diagnose use of an others
+ association in an instance.
+ (Copy_Generic_Node): If the node is a string literal, no need to copy
+ its descendants.
+ (Is_Generic_Formal): For a formal subprogram, the declaration is the
+ grandparent of the entity.
+ (Analyze_Formal_Interface_Type): Transform into a full type declaration,
+ to simplify handling of formal interfaces that derive from other formal
+ interfaces.
+ (Instantiate_Subprogram_Body): The defining unit name of the body of
+ the instance should be a defining identifier.
+ (Install_Formal_Packages): make global to the package, for use in
+ instantiations of child units.
+ (Analyze_Package_Instantiation): Do not attempt to set information on an
+ enclosing master of an entry when expansion is disabled.
+ (Instantiate_Type): If the actual is a tagged synchronized type and the
+ generic ancestor is an interface, create a generic actual for the
+ corresponding record.
+ (Analyze_Formal_Derived_Interface_Type): Rewrite as a derived type
+ declaration, to ensure that the interface list is processed correctly.
+ (Inline_Instance_Body): If enclosing scope is an instance body, remove
+ its entities from visibiility as well.
+ (Pre_Analyze_Actuals): if the actual is an allocator with constraints
+ given with a named association, analyze the expression only, not the
+ discriminant association itself.
+ (Reset_Entity): If the analysis of a selected component is transformed
+ into an expanded name in the prefix of a call with parameters, do not
+ transform the original node into an expanded name, to prevent visibility
+ errors in the case of nested generics.
+ (Check_Private_View): For an array type, check whether the index types
+ may need exchanging.
+
+2007-06-06 Arnaud Charlet <charlet@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * lib-writ.adb: Handle Convention_CIL in addition to Convention_Java,
+ since both are separated.
+ Add support for imported CIL packages.
+ Add further special handling of "value_type" for CIL.
+ Add special handling of pragma Import for CIL.
+
+ * make.ads, make.adb: When switch -eS is used, direct all outputs to
+ standard output instead of standard error, except errors.
+ (Absolute_Path): Use untouched casing for the parent directory.
+ (Add_Library_Search_Dir): Use the untouched directory name.
+ (Add_Source_Search_Dir): Idem.
+ (Change_To_Object_Directory): Update output to use proper casing.
+ (Create_Binder_Mapping_File): Use the untouched filename to set
+ ALI_Name.
+ (Gnatmake): Use untouched library and executable directory names.
+ (Insert_Project_Sources): Use untouched filename for spec and body.
+ (Is_In_Object_Directory): Use untouched object directory.
+ (Mark_Directory): Idem.
+ (Collect_Arguments_And_Compile): Ensure that Full_Source_File always
+ contains the non-canonical filename in all cases.
+ (Change_To_Object_Directory): In verbose mode, display the name of the
+ object directory we're changing to.
+ (Compile_Sources): Make sure, when a project file is used, to compile
+ the body of the unit, when there is one, even when only the spec is
+ recorded in an ALI file.
+ (Gcc_Switches, Binder_Switches, Linker_Switches): Tables moved from the
+ spec to the body.
+ (Report_Compilation_Failed): New procedure
+ (Bind, Display_Commands, Compile_Sources, Initialize, Scan_Make_Arg):
+ procedures moved from the spec to the body.
+ (Extract_Failure): Removed, not used
+ Replace explicit raises of exception Bind_Failed and Link_Failed with
+ calls to Make_Failed with the proper message.
+ Replace explicit raises of exception Compilation_Failed with calls to
+ procedure Report_Compilation_Failed.
+ (Initialize): Create mapping files unconditionally when using project
+ files.
+
+ * sem_mech.adb: (Name_CIL, Name_CIL_Constructor, Convention_CIL,
+ Pragma_CIL_Constructor): New names.
+
+ * targparm.ads, targparm.adb
+ (Compiler_System_Version): Removed, no longer used.
+ (Get_Target_Parameters): Relax checks on system.ads validity. Add
+ handling of two new system flags: JVM and CLI.
+
+2007-06-06 Jose Ruiz <ruiz@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * Makefile.in (LIBGNAT_TARGET_PAIRS for VxWorks 6): For the RTP run
+ time, use the default s-interr body that provides interrupt support
+ based on signals.
+ (LIBGNAT_TARGET_PAIRS for x86-linux): Use specialized versions of
+ a-exetim.ad{s,b}, a-extiti.ad{s,b}, a-rttiev.ad{s,b}, s-osinte.ad{s,b},
+ g-soccon.ads, and s-taprop.adb for the marte run time.
+ (EXTRA_GNATRTL_TASKING_OBJS for x86-linux): Execution time clocks and
+ timers are supported on marte.
+ (EH_MECHANISM for marte): Do not use ZCX.
+ (THREADSLIB for marte): Use -lmarte.
+ Add mlib-tgt-vms.o to the list of objects for gnatmake for VMS
+ Add mlib-tgt-specific.o to gnatmake objects
+ mlib-tgt-<platforms>.adb is now the body of MLib.Tgt.Specific, no
+ longer of MLib.Tgt.
+ (LIBGNAT_TARGET_PAIRS for vxworks): When building a run time for VxWorks
+ 6, either kernel or rtp, use a specialized version of s-osinte.ads.
+
+2007-06-06 Pascal Obry <obry@adacore.com>
+
+ * mkdir.c (__gnat_mkdir): Add support for UTF-8.
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * mlib.ads, mlib.adb (Build_Library): Do not use hard-coded directory
+ separator, use instead the proper host directory separator.
+ (Copy_ALI_Files): Make sure that an already existing ALI file in the
+ ALI copy dir is writable, before doing the copy.
+
+ * mlib-utl.ads, mlib-utl.adb:
+ (Gcc): If length of command line is too long, put the list of object
+ files in a response file, if this is supported by the platform.
+ (Ar): If invocation of the archive builder is allowed to be done in
+ chunks and building it in one shot would go above an OS dependent
+ limit on the number of characters on the command line, build the archive
+ in chunks.
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * osinte-c.ads, osint-c.adb (Set_Library_Info_Name): Fail if base name
+ of specified object file is not equal to base name of source.
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Process_Full_View): Propagate the CPP_Class attribute to
+ the full type declaration.
+ (Analyze_Component_Declaration): Add local variable E to capture the
+ initialization expression of the declaration. Replace the occurences of
+ Expression (N) with E.
+ (OK_For_Limited_Init_In_05): Allow initialization of class-wide
+ limited interface object with a function call.
+ (Array_Type_Declaration): If the declaration lacks subtype marks for
+ indices, create a simple index list to prevent cascaded errors.
+ (Is_Null_Extension): Ignore internal components created for secondary
+ tags when checking whether a record extension is a null extension.
+ (Check_Abstract_Interfaces): Add missing support for interface subtypes
+ and generic formals.
+ (Derived_Type_Declaration): Add missing support for interface subtypes
+ and generic formals.
+ (Analyze_Object_Declaration): If an initialization expression is
+ present, traverse its subtree and mark all allocators as static
+ coextensions.
+ (Add_Interface_Tag_Component): When looking for components that may be
+ secondary tags, ignore pragmas that can appear within a record
+ declaration.
+ (Check_Abstract_Overriding): an inherited function that dispatches on
+ result does not need to be overriden if the controlling type is a null
+ extension.
+ (Mentions_T): Handle properly a 'class attribute in an anonymous access
+ component declaration, when the prefix is an expanded name.
+ (Inherit_Component): If the derivation is for a private extension,
+ inherited components remain visible and their ekind should not be set
+ to Void.
+ (Find_Type_Of_Object): In the case of an access definition, always set
+ Is_Local_Anonymous_Access. We were previously not marking the anonymous
+ access type of a return object as a local anonymous type.
+ (Make_Index): Use Ambiguous_Character to report ambiguity on a discrete
+ range with character literal bounds.
+ (Constrain_Array): Initialize the Packed_Array_Type field to Empty.
+ (Access_Subprogram_Declaration): Indicate that the type declaration
+ depends on an incomplete type only if the incomplete type is declared
+ in an open scope.
+ (Analyze_Subtype_Declaration): Handle properly subtypes of
+ synchronized types that are tagged, and that may appear as generic
+ actuals.
+ (Access_Subprogram_Declaration): An anonymous access to subprogram can
+ appear as an access discriminant in a private type declaration.
+ (Add_Interface_Tag_Components): Complete decoration of the component
+ containing the tag of a secondary dispatch table and the component
+ containing the offset to the base of the object (this latter component
+ is only generated when the parent type has discriminants --as documented
+ in this routine).
+ (Inherit_Components): Use the new decoration of the tag components to
+ improve the condition that avoids inheriting the components associated
+ with secondary tags of the parent.
+ (Build_Discriminanted_Subtype): Indicate to the backend that the
+ size of record types associated with dispatch tables is known at
+ compile time.
+ (Analyze_Subtype_Declaration): Propagate Is_Interface flag when needed.
+ (Analyze_Interface_Declaration): Change setting of Is_Limited_Interface
+ to include task, protected, and synchronized interfaces as limited
+ interfaces.
+ (Process_Discriminants): Remove the setting of
+ Is_Local_Anonymous_Access on the type of (anonymous) access
+ discriminants of nonlimited types.
+ (Analyze_Interface_Type_Declaration): Complete the decoration of the
+ class-wide entity it is is already present. This situation occurs if
+ the limited-view has been previously built.
+ (Enumeration_Type_Declaration): Initialize properly the Enum_Pos_To_Rep
+ field.
+ (Add_Interface_Tag_Components.Add_Tag): Set the value of the attribute
+ Related_Interface.
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Resolve_Record_Aggregate): Ignore internal components
+ of the type that specify the position of interface tags when the type
+ inherits discriminated array components from the parent type.
+ If a component is initialized with a box, check for the presence of a
+ default expression in its declaration before using its default
+ initialization procedure.
+ (Resolve_Record_Aggregate): If a component is box-initialized, and the
+ component type has a discriminants, create a partial aggregate for it
+ by copying the discriminants of the component subtype.
+ Reject attempt to initialize a discriminant with a box.
+ (Array_Aggr_Subtype): Indicate to the backend that the size of arrays
+ associated with dispatch tables is known at compile time.
+ (Get_Value): If an association in a record aggregate has a box
+ association, and the corresponding record component has a default
+ expression, always copy the default expression, even when the
+ association has a single choice, in order to create a proper
+ association for the expanded aggregate.
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * par-ch12.adb (P_Generic_Associations): The source position of an
+ Others association is that of the others keyword, not that of the token
+ that follows the box.
+ (P_Formal_Type_Definition): Handle formal access types that carry a
+ not null indicator.
+
+ * par-ch3.adb (P_Known_Discriminant_Part_Opt, P_Component_Items): If
+ multiple identifier are present, save Scan_State before scanning the
+ colon, to ensure that separate trees are constructed for each
+ declaration.
+ (P_Identifier_Declarations): For object declaration, set new flag
+ Has_Init_Expression if initialization expression present.
+ (P_Null_Exclusion): Properly diagnose NOT NULL coming before NULL
+ Improve NOT NULL error messages
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * par-ch4.adb: (P_Name): Recover from literal used as name
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * prep.ads, prep.adb (Expression): New Boolean parameter Complemented,
+ defaulted to False.
+ In the "not" case, recursive call with Complemented set to True.
+ Do not allow "or" or "and" operators when Complemented is True.
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * prj.adb (Project_Empty): Gives default value for new component
+ Libgnarl_Needed
+
+ * prj-attr.ads: Minor reformatting
+
+ * prj-env.ads, prj-env.adb (For_All_Object_Dirs): Register object
+ directory using the untouched casing.
+ (For_All_Source_Dirs): Idem.
+
+ * prj-ext.ads, prj-ext.adb (Search_Directories): New table to record
+ directories specified with switches -aP.
+ (Add_Search_Project_Directory): New procedure
+ (Initialize_Project_Path): Put the directories in table
+ Search_Directories in the project search path.
+ (Initialize_Project_Path): For VMS, transform into canonical form the
+ project path.
+
+2007-06-06 Arnaud Charlet <charlet@adacore.com>
+
+ * restrict.ads, restrict.adb (No_Exception_Handlers_Set): Only return
+ true if configurable run-time or No_Run_Time is set.
+ (Set_Restriction): Avoid setting restriction No_Elaboration_Code when
+ processing an unit which is not the one being compiled.
+
+2007-06-06 Arnaud Charlet <charlet@adacore.com>
+
+ * s-arit64.adb: Replace System.Pure_Exceptions by Ada 05 syntax.
+ Replace UC by Ada.UC
+
+ * s-bitops.adb: Get rid of System.Pure_Exceptions.
+ Replace UC by Ada.UC
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * scng.adb: (Check_End_Of_Line): Deal with very long lines
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * sem.ads, sem.adb (Semantics): Save and restore Global_Discard_Names
+ Remove no longer used nodes.
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_ch10.ads, sem_ch10.adb (Analyze_Compilation_Unit): Disable check
+ on obsolescent withed unit in case of limited-withed units.
+ (Analyze_Compilation_Unit): Add guard to code that removed an
+ instantiation from visibility, to prevent compiler aborts when
+ instantiation is abandoned early on.
+ (Install_Limited_Withed_Unit): Recognize a limited-with clause on the
+ current unit being analyzed, and Distinguish local incomplete types
+ from limited views of types declared elsewhere.
+ (Build_Limited_Views.Decorate_Tagged_Type): Add documentation
+ to state that the class-wide entity is shared by the limited-view
+ and the full-view.
+ (Analyze_With_Clause): Improve placement of flag for case of
+ unimplemented unit.
+ (Analyze_With_Clause): Recognize use of GNAT.Exception_Traces in a
+ manner similar to GNAT.Current_Exception. This is a violation of
+ restriction (No_Exception_Propagation), and also inhibits the
+ optimization of local raise to goto.
+ (Analyze_With_Clause): Check for Most_Recent_Exception being with'ed,
+ and if so set Most_Recent_Exception_Used flag in Opt, and also check
+ for violation of restriction No_Exception_Propagation.
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch11.adb (Analyze_Exception_Handlers): Add barrier to avoid the
+ use of entity Exception_Occurrence if it is not available in the
+ target run-time.
+
+ * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): When
+ concurrent types are declared within an Ada 2005 generic, build their
+ corresponding record types since they are needed for overriding-related
+ semantic checks.
+ (Analyze_Protected_Type): Rearrange and simplify code for testing that a
+ protected type does not implement a task interface or a nonlimited
+ interface.
+ (Analyze_Task_Type): Rearrange and simplify code for testing that a task
+ type does not implement a protected interface or a nonlimited interface.
+ (Single_Task_Declaration, Single_Protected_Declaration): use original
+ entity for variable declaration, to ensure that debugging information
+ is correcty generated.
+ (Analyze_Protected_Type, Analyze_Task_Type): Do not call expander
+ routines if the expander is not active.
+ (Analyze_Task_Body): Mark all handlers to stop optimization of local
+ raise, since special things happen for task exception handlers.
+
+ * sem_disp.adb (Check_Controlling_Formals): Add type retrieval for
+ concurrent types declared within a generic.
+ (Check_Dispatching_Operation): Do not emit warning about late interface
+ operations in the context of an instance.
+ (Check_Dispatching_Call): Remove restriction against calling a
+ dispatching operation with a limited controlling result.
+ (Check_Dispatching_Operation): Replace calls to Fill_DT_Entry and
+ Register_Interface_DT_Entry by calls to Register_Primitive.
+ (Check_Dispatching_Formals): Handle properly a function with a
+ controlling access result.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Stream_Size):
+ Check for restriction No_Implementation_Attributes if in Ada 95 mode.
+ (Storage_Pool): Do not crash when RE_Stack_Bounded_Pool is not available
+ (Analyze_Attribute_Definition_Clause [External_Tag]): Generate error
+ message when using a VM, since this attribute is not supported.
+ (Analyze_Record_Representation_Clause): Give unrepped component warnings
+
+ * usage.adb: Add new warning for renaming of function return objects
+ Indicate that -gnatwp and -gnatwP concern front-end inlining
+ Add line for -gnatyg
+ Add usage information for -gnatw.c/C
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb
+ (Find_Var): Do not consider function call in test for infinite loop
+ warning if warnings set off for function entity.
+ (One_Bound): Do not create a temporary for a loop bound if it is a
+ character literal.
+ (Analyze_Assignment): Traverse the right hand side of an assignment and
+ mark all allocators as static coextensions.
+ (Analyze_Assignment): Exempt assignments involving a dispatching call
+ to a function with a controlling access result from the check requiring
+ the target to be class-wide.
+
+2007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_res.ads, sem_res.adb (Process_Allocator): Do not propagate the
+ chain of coextensions when an allocator serves as the root of such a
+ chain.
+ (Propagate_Coextensions): Remove the test for the root being an
+ allocator.
+ (Resolve_Allocator): Add condition to ensure that all future decoration
+ occurs on an allocator node. Add processing and cleanup for static
+ coextensions.
+ (Valid_Conversion): If the operand type is the limited view of a
+ class-wide type, use the non-limited view is available to determine
+ legality of operation.
+ (Ambiguous_Character): move to spec, for use elsewhere.
+ (Ambiguous_Character): Handle Wide_Wide_Character in Ada 2005 mode
+ (Resolve_Range): Diagnose properly an ambiguous range whose bounds are
+ character literals.
+ (Resolve_Arithmetic_Op): Call Activate_Division_Check instead of setting
+ Do_Division_Check flag explicitly.
+ (Resolve_Actuals): If the actual is of a synchronized type, and the
+ formal is of the corresponding record type, this is a call to a
+ primitive operation of the type, that is declared outside of the type;
+ the actual must be unchecked-converted to the type of the actual
+ (Resolve_Call): Kill all current values for any subprogram call if
+ flag Suppress_Value_Tracking_On_Call is set.
+ (Resolve_Type_Conversion): Generate error message the the operand
+ or target of interface conversions come from a limited view.
+ (Check_Infinite_Recursion): Ignore generated calls
+ (Check_Allocator_Discrim_Accessibility): New procedure for checking
+ that an expression that constrains an access discriminant in an
+ allocator does not denote an object with a deeper level than the
+ allocator's access type.
+ (Resolve_Allocator): In the case of an allocator initialized by an
+ aggregate of a discriminated type, check that associations for any
+ access discriminants satisfy accessibility requirements by calling
+ Check_Allocator_Discrim_Accessibility.
+ (Resolve_Equality_Op): Handle comparisons of anonymous access to
+ subprogram types in the same fashion as other anonymous access types.
+ (Resolve_Concatenation_Arg): Remove initial character '\' in an error
+ message that is not a continuation message.
+ (Resolve_Type_Conversion): Add missing support for conversion to
+ interface type.
+ (Resolve_Actuals): Introduce a transient scope around the call if an
+ actual is a call to a function returning a limited type, because the
+ resulting value must be finalized after the call.
+ (Resolve_Actuals): If the call was given in prefix notations, check
+ whether an implicit 'Access reference or implicit dereference must be
+ added to make the actual conform to the controlling formal.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch7.adb (Check_Anonymous_Access_Types): Fix error for null body
+ (Derive_Inherited_Private_Subprogram): Code cleanup. In case of explicit
+ overriding of an inherited private subprogram now there is no need to
+ inherit its dispatching slot and reduce the size of the dispatch table.
+ Set_All_DT_Position now ensures that the same slot is now assigned to
+ both entities. This is required to statically build the dispatch table.
+ (Declare_Inherited_Private_Subprograms): Rewriten to avoid the need
+ of calling Set_All_DT_Position to re-evaluate the position of the
+ entries in the dispatch table. Such reevaluation is not desired if
+ the tagged type is already frozen.
+
+2007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_util.ads, sem_util.adb (May_Be_Lvalue): A prefix of an attribute
+ reference acts as an lvalue when the attribute name modifies the prefix
+ (Is_Coextension_Root): New routine.
+ (Mark_Static_Coextensions): New routine.
+ (Type_Access_Level): Revise code for checking the level of the
+ anonymous access type of a return object.
+ (Safe_To_Capture_Value): Not safe to capture if Address_Taken
+ (Matches_Prefixed_View_Profile): Remove the no longer necessary
+ retrieval of the corresponding controlling record type.
+ (Find_Overridden_Synchronized_Primitive): Code cleanup. Add handling of
+ concurrent types declared within a generic as well as class wide types.
+ Emit a mode incompatibility error whenever a protected entry or routine
+ override an interface routine whose first parameter is not of mode
+ "out", "in out" or access to variable.
+ (Overrides_Synchronized_Primitive): Rename to
+ Find_Overridden_Synchronized_Primitive.
+ (Collect_Interface_Components): New subprogram that collects all the
+ components of a tagged record containing tags of secondary dispatch
+ tables.
+ (Add_Global_Declaration): New procedure
+ (Abstract_Interface_List): Handle properly the case of a subtype of a
+ private extension.
+ (Type_Access_Level): In the case of a type whose parent scope is a
+ return statement, call Type_Access_Level recursively on the enclosing
+ function's result type to determine the level of the return object's
+ type.
+ (Build_Elaboration_Entity): Build name of elaboration entity from the
+ scope chain of the entity, rather than the unit name of the file name.
+ (Check_Nested_Access): New procedure.
+ (Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures.
+ (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
+ (Get_Renamed_Entity): Utility routine for performing common operation
+ of chasing the Renamed_Entity field of an entity.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_elab.adb (Check_A_Call): Specialize elaboration warnings on
+ elaboration model
+ (Check_A_Call): Add check for entry call which was causing blowup
+
+2007-06-06 Olivier Hainque <hainque@adacore.com>
+
+ * raise-gcc.c (__gnat_eh_personality): Tweak the signature and add
+ special code on ia64-vms to handle major incompatibilities between the
+ GCC unwinding ABI and the VMS Condition Handling Facility, both calling
+ this routine with a very different set of arguments and expectations on
+ the return value.
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+
+ * socket.c (__gnat_close_signalling_fd): New function.
+ (__gnat_safe_gethostbyaddr, __gnat_safe_gethostbyname,
+ __gnat_safe_getservbyname, __gnat_safe_getservbyport):
+ New supporting functions for task safe Netdb operations.
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * a-except-2005.ads, a-except-2005.adb
+ (Raise_From_Controlled_Operation): New procedure in
+ (private part of) Ada.Exceptions (standard runtime version). Used to
+ provide informational exception message when Program_Error is raised as
+ a result of an Adjust or Finalize operation propagating an exception.
+ (Rmsg_28): Fix description for E.4(18) check.
+ (Raise_Current_Excep): Call Debug_Raise_Exception just before
+ propagation starts, to let debuggers know about the event in a reliable
+ fashion.
+ Take the address of E and dereference to make sure it is homed on stack
+ and prevent the stores from being deleted, necessary for proper
+ debugger behavior on "break exception" hits.
+ (Local_Raise): Moved to System.Exceptions
+
+ * s-finimp.adb (Raise_From_Finalize): Code to construct an appropriate
+ exception message from the current occurrence and raise Program_Error
+ has been moved to Ada.Exceptions.Raise_From_Controlled_Operation.
+
+2007-06-06 Jose Ruiz <ruiz@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * s-taprob.adb (Unlock): Change the ceiling priority of the underlying
+ lock, if needed.
+
+ * s-taprop.ads (Set_Ceiling): Add this procedure to change the ceiling
+ priority associated to a lock.
+
+ * s-tpoben.adb ([Vulnerable_]Complete_Task, Lock_Entries): Relax
+ assertion to take into account case of no abort restriction.
+ (Initialize_Protection_Entries): Add initialization for the field
+ New_Ceiling associated to the protected object.
+ (Unlock_Entries): Change the ceiling priority of the underlying lock, if
+ needed.
+
+ * s-solita.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
+ since this function needs to be set consistently with Update_Exception.
+
+ * s-tarest.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
+ since this function needs to be set consistently with Update_Exception.
+
+ * s-taskin.ads: Update comments on
+ Interrupt_Server_Blocked_On_Event_Flag.
+ (Unbind_Handler): Fix handling of server_task wakeup
+ (Server_Task): Set self's state so that Unbind_Handler can take
+ appropriate actions.
+ (Common_ATCB): Now use a constant from System.Parameters to determine
+ the max size of the Task_Image field.
+
+ * s-tassta.adb (Task_Wrapper): Now pass the overflow guard to the
+ Initialize_Analyzer function.
+ ([Vulnerable_]Complete_Task, Lock_Entries): Relax assertion to
+ take into account case of no abort restriction.
+ ([Vulnerable_]Complete_Master): Modify assertion.
+
+ * s-tataat.adb (Finalize): Use the nestable versions of
+ Defer/Undefer_Abort.
+
+ * s-tpobop.adb (Protected_Entry_Call): Relax assertion.
+
+ * s-tpobop.ads: Update comments.
+
+ * s-tposen.adb (Protected_Single_Entry_Call): Call Lock_Entry instead
+ of locking the object manually, to avoid inconsistencies between
+ Lock/Unlock_Entry assertions.
+
+ * s-interr.ads, s-interr.adb (Server_Task): Fix race condition when
+ terminating
+ application and System.Parameters.No_Abort is True.
+ Update comments on Interrupt_Server_Blocked_On_Event_Flag.
+ (Unbind_Handler): Fix handling of server_task wakeup
+ (Server_Task): Set self's state so that Unbind_Handler can take
+ appropriate actions.
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+
+ * s-finroo.ads, s-finroo.adb (Read, Write): Use null procedure
+ declarations instead of an explicit null body, for conciseness.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_eval.adb (Eval_Relational_Op): nothing to do if an operand is an
+ illegal aggregate and the type is still Any_Composite.
+ (Subtypes_Statically_Match): Fix problem of empty discriminant list
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_smem.adb (Check_Shared_Var): Check explicitly for as task object,
+ to prevent subsequent expansion.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * sinput-l.ads, sinput-l.adb: implement a new pragma No_Body
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sprint.ads, sprint.adb (Sprint_Node_Actual): Output aggregate for
+ exceptions.
+ (Write_Itype): Handle case of string literal subtype, which
+ comes up in this context.
+ (Update_Itype): when debugging expanded code, update sloc of itypes
+ associated with defining_identifiers and ranges, for gdb use.
+ (Sprint_Node_Actual): Add static keyword to object or exception
+ declaration output if Is_Statically_Allocated is True.
+ (Sprint_End_Label): Set entity of end marker for a subprogram, package,
+ or task body, so that the tree carries the proper Sloc information for
+ debugging use.
+ (Write_Indent): In Dump_Source_Text mode, ignore implicit label nodes
+
+2007-06-06 Arnaud Charlet <charlet@adacore.com>
+
+ * s-secsta.adb (Chunk): Ensure this object has a static size known at
+ compile time, to avoid dynamic memory allocation
+ (Elaboration code): Only use dynamic memory allocation when needed.
+
+2007-06-06 Quentin Ochem <ochem@adacore.com>
+
+ * s-stausa.ads, s-stausa.adb (Initialize_Analyzer): Added parameter
+ "Overflow_Guard".
+ (Stack_Analyzer): Added field "Overflow_Guard"
+ (Task_Result): Added field "Overflow_Guard".
+ (Index_Str): New constant.
+ (Task_Name_Str): New constant.
+ (Actual_Size_Str): New constant.
+ (Pattern_Array_Element_Size): New constant.
+ (Get_Usage_Range): New subprogram.
+ (Output_Result): Added parameter Max_Size_Len and Max_Actual_Use_Len.
+ Now align the output.
+ Added comments.
+ (Initialize): Added value for Overflow_Guard.
+ (Fill_Stack): Use constant Pattern_Array_Elem_Size when relevant.
+ Update the value of the overflow guard according to the actual
+ beginning of the pattern array.
+ (Initialize_Analyzer): Added parameter Overflow_Guard.
+ Take this parameter into accound when computing the max size.
+ (Compute_Result): Use constant Pattern_Array_Elem_Size when relevant.
+ (Report_Result): Removed extra useless procedure.
+ Updated call to Output_Result.
+ Moved full computation of the Task_Result here.
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+
+ * g-soccon-darwin.ads, gen-soccon.c: Add new constant
+ Thread_Blocking_IO, always True by default, set False on a per-runtime
+ basis.
+ Add Windows-specific constants
+ Add new constant Need_Netdb_Buffer.
+ Add new macros to indicate whether getXXXbyYYY is thread safe and, if
+ not, whether to use getXXXbyYYY_r.
+
+ * gsocket.h: Add new constant Need_Netdb_Buffer.
+ Add new macros to indicate whether getXXXbyYYY is thread safe and, if
+ not, whether to use getXXXbyYYY_r.
+
+2007-06-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-stoele.ads, s-stoele.adb: Move inline_always subprograms earlier
+ than their first call.
+ Add type Dummy_Communication_Block used in the generation of the pre-
+ defined dispatching primitive _disp_asynchronous_select.
+ (Storage_Element): Put Pragma Universal_Aliasing on it.
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * a-dirval-vms.adb, a-dirval.ads, a-dirval.adb (Windows): New Boolean
+ function.
+
+ * a-dirval-mingw.adb (Is_Valid_Path_Name): Forbid a path with a drive
+ letter if it is not followed by a '/' or a '\'.
+ (Windows): New Boolean function
+
+ * a-direct.ads, a-direct.adb: Remove unnecessary and misplaced pragma
+ Ada 2005.
+ (Containing_Directory): On Windows, keep at least one '/' or '\' after a
+ drive letter.
+ (Containing_Directory): Raise Use_Error when the directory is a root
+ directory.
+ (Extension): When returning the result, use a conversion to Result_Type,
+ not a qualification.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * stylesw.ads, stylesw.adb (Set_GNAT_Style_Check): New procedure
+ (Set_Style_Check_Options): Recognize new -gnatyg style switch
+
+ * switch-c.adb (Scan_Front_End_Switches, case -gnatg): Set
+ Warn_On_Non_Local_Exception to False, to turn off warnings for
+ No_Exception_Propagation in ZFP runtime.
+ (Scan_Front_End_Switches): Fix handling of --RTS switch for non GCC
+ back-ends.
+ (Scan_Front_End_Switches): For 'g', call Set_GNAT_Style_Checks
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * switch-b.adb (Scan_Binder_Switches): Add processing for new
+ switches -R and -Z
+
+ * switch-m.adb (Normalize_Compiler_Switches): Do not record switch -E
+ (Scan_Make_Switches): Recognize new switch -aP
+
+2007-06-06 Matthew Gingell <gingell@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+
+ * s-stchop-vxworks.adb (Set_Stack_Info): Instead of trying to map the
+ VxWorks task descriptor in the Ada run time, call a C subprogram
+ (__gnat_get_stack_info) that extracts the required information.
+
+ * sysdep.c: Back out temporary lynxos workaround.
+ (__gnat_get_stack_info): Add this procedure that passes to the Ada run
+ time the stack information associated to the currently executing task.
+ Only VxWorks systems require this function.
+
+2007-06-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tracebak.c (FRAME_OFFSET): Add parameter FP. On SPARC/Solaris, do not
+ add the stack bias if the offset is computed from a frame address.
+ (__gnat_backtrace): Adjust for above change.
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+
+ * types.h, types.ads: Rename PE_Illegal_CW_Actual_E_4_18 to
+ PE_Non_Transportable_Actual.
+ (By_Descriptor_Last): New constant.
+ (By_Copy_Return): Likewise.
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * vms_conv.adb (Process_Argument): Keep arguments starting with '+' as
+ is.
+
+ * vms_data.ads: Add entries for -gnatw.x and -gnatw.X
+ /STYLE_CHECKS=GNAT: Change meaning to -gnatyg
+ /GNAT_INTERNAL: New compiler qualifier corresponding to -gnatg
+ Add missing comment for /OPTIMIZE=SPACE
+ Add entry for OPTIMIZE=SPACE
+ Add new qualifier /ALL_PROJECTS (= -U) for GNAT LIST
+ Add documentation for new qualifiers corresponding to -gnatw.c/.C
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * xgnatugn.adb: Allow dots to be used in ug_words (-gnatw.c and
+ -gnatw.C)
+
+ * gnat_ugn.texi: Fix ordering of -g switch for gnatmake
+ Document gnatbind switch -a
+ (case Constructions): Document that variables declarations are allowed
+ for previously declared variables.
+ Fix external lib project example
+ -gnatg: Indicate new VMS qualifier /GNAT_INTERNAL
+ Indicate that "#if not X or Y then" is not allowed in input files to
+ gnatprep.
+ Document gnatw.x and gnatw.X warning flags
+ Mention -Winline switch to activate warnings when back-end inlining is
+ ineffective.
+ Add gnatcheck rule descriptions
+ Describe how to use the GNAT driver to call a tool on a closure.
+ Describe how to run project-wide checks or metrics.
+ Document gnatbind's -R option
+ Updated to account for Ada 2005 support
+
+ * gnat_rm.texi (Case Construction): Allow variable declarations for
+ previously declared variables.
+ (Representation Clauses and Pragmas): Lift restriction on alignment
+ clauses for record types.
+ (Ada.Characters.*): Fix typo in reference to A.3.3(27).
+ Document No_Exception_Propagation restriction
+ Document No_Body pragma
+ Updated to account for Ada 2005 support; corrected some typos
+ (Implementation Defined Pragmas): Document pragma Universal_Aliasing.
+
+ * gnat-style.texi: Make it clear that we never use mode IN for
+ procedures or functions
+
+ * ug_words: Add entries for -gnatw.x and -gnatw.X
+ Add entries for -gnatw.c/.C
+
+2007-06-06 Pascal Obry <obry@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * makegpr.adb (Add_Archive_Path): Use untouched object and library
+ dirs and library name.
+ (Build_Global_Archive): Idem. Minor code clean-up. Removes duplicate
+ comments.
+ (Build_Library): Idem.
+ (Compile_Individual_Sources): Idem.
+ (Compile_Link_With_Gnatmake): Idem.
+ (Compile_Sources): Idem.
+ (Get_Imported_Directories): Idem.
+ (Link_Executables): Idem. Same change for the executable dir.
+ (Check_Compilation_Needed): C_Source_Path new variable containing
+ the canonical form of Source_Path to check against the source names
+ in the dependency file.
+ (Build_Global_Archive, Compile_Individual_Sources, Compile_Sources): In
+ verbose mode, display the name of the object directory we're changing
+ to.
+ (Saved_Switches): New name of table X_Switches
+ (Scan_Arg): Recognize new switch -aP and save in table Saved_Switches
+ (Usage): New line for switch -aP
+ (Get_Imported_Directories.Add): Make sure that Add_Arg is True before
+ testing if a directory should be added to the search path.
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+
+ * a-cidlli.ads, a-cdlili.ads, a-cohama.ads, a-coinve.ads,
+ a-convec.ads (Empty_Vector, Empty_Map, Empty_List): Move this object
+ declaration after freezing point of all its associated tagged types;
+ otherwise such types are frozen too early.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * a-reatim.adb: Documentation addition
+
+ * g-cgideb.adb: Minor code reorganization
+
+ * tree_io.adb, treepr.adb, cstand.adb, krunch.adb, par.adb,
+ mdll-utl.adb, par-ch5.adb, par-tchk.adb, s-exctab.ads, s-memory.ads,
+ s-osprim.ads, s-restri.ads, s-soflin.ads: Minor reformatting.
+
+ * debug.ads, debug.adb (Get_Debug_Flag_K): Remove unused obsolete
+ function. Change name New_Scope to Push_Scope
+ (Get_Debug_Flag_K): Remove unused obsolete function.
+
+ * exp_ch8.adb, inline.adb, sem_ch8.ads: Change name New_Scope to
+ Push_Scope.
+
+ * makeusg.adb: Update Copyright notice
+ Add line for switch -aP
+
+ * makeusg.adb: Fix wording of some usage messages
+
+ * s-assert.adb (Raise_Assert_Failure): Add call to
+ Debug_Raise_Assert_Failure.
+
+ * s-unstyp.ads (type Packed_Bytes2): Change alignment to use 'Min
+ (2, Standard'Alignment) for compatibility with AAMP (where alignment
+ is restricted to 1).
+
+ * s-wchjis.adb: Remove use of System.Pure_Exceptions
+
+ * tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): Set the
+ node location to No_Location when we're not debugging the expanded
+ code.
+
+2007-05-22 Alexandre Oliva <aoliva@redhat.com>
+
+ * misc.c (enumerate_modes): Consider log2_b to always be one.
+
+2007-05-14 Rafael Ávila de Espíndola <espindola@google.com>
+
+ * misc.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
+
+2007-05-02 Pascal Obry <obry@adacore.com>
+
+ * gnatchop.adb (Write_Source_Reference_Pragma): Change implementation
+ to use Stream_IO.File_Type. This is needed to make use of the UTF-8
+ encoding support of Stream_IO.
+ (Write_Unit): Idem.
+
+ * adaint.h, adaint.c (__gnat_os_filename): New routine. Returns the
+ filename and corresponding encoding to match the OS requirement.
+ (__gnat_file_exists): Do not call __gnat_stat() on Windows as this
+ routine will fail on specific devices like CON: AUX: ...
+
+ PR ada/29856: Add missing braces
+
+2007-04-22 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR ada/31660
+ * ada-tree.h (lang_tree_node): Fix typo in chain_next.
+
+2007-04-21 Jan Hubicka <jh@suse.cz>
+
+ * misc.c (gnat_expand_body): Don't call target for destructors,
+ avoid redundant check on syntax errors.
+
+2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ * ada-tree.h (lang_tree_node): Use GENERIC_NEXT
+ instead of checking GIMPLE_STMT_P in chain_next.
+
+2007-04-17 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ PR ada/31576
+ * system-linux-alpha.ads: Disable constant condition warning for the
+ Default_Bit_Order variable.
+ * system-linux-s390.ads: Likewise.
+ * system-linux-s390x.ads: Likewise.
+ * system-linux-sparc.ads: Likewise.
+
+2007-04-06 Javier Miranda <miranda@adacore.com>
+ Matt Heaney <heaney@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ a-coprnu.ads, a-cohata.ads, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
+ a-cgarso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads, a-chtgke.ads,
+ a-chtgke.ads, a-coprnu.ads, a-contai.ads, a-chtgke.ads, a-chtgke.adb,
+ a-stwiha.ads, a-strhas.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
+ a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads, a-stzfix.ads,
+ a-stzhas.ads, a-szuzha.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoio.ads,
+ a-ztinio.ads, a-zttest.ads, a-zzunio.ads, a-astaco.ads, a-charac.ads,
+ a-chlat1.ads, ada.ads, a-dynpri.ads, a-flteio.ads, a-fwteio.ads,
+ a-inteio.ads, a-intnam.ads, a-ioexce.ads, a-iwteio.ads, a-lfteio.ads,
+ a-lfwtio.ads, a-liteio.ads, a-liwtio.ads, a-llftio.ads, a-llfwti.ads,
+ a-llitio.ads, a-lliwti.ads, a-ncelfu.ads, a-ngcefu.ads, a-ngelfu.ads,
+ a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads, a-nllcty.ads,
+ a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads, a-nucoty.ads,
+ a-nuelfu.ads, a-numeri.ads, a-sfteio.ads, a-sfwtio.ads, a-siteio.ads,
+ a-siwtio.ads, a-ssitio.ads, a-ssiwti.ads, a-storio.ads, a-strfix.ads,
+ a-string.ads, a-stwifi.ads, a-titest.ads, a-unccon.ads, a-uncdea.ads,
+ a-wtcoio.ads, a-wtinio.ads, a-wttest.ads, calendar.ads, directio.ads,
+ i-c.ads, ioexcept.ads, machcode.ads, sequenio.ads, text_io.ads,
+ unchconv.ads, unchdeal.ads, a-widcha.ads, a-zchara.ads, a-stboha.ads,
+ a-stfiha.ads, a-coteio.ads, a-envvar.ads, a-lcteio.ads, a-llctio.ads,
+ a-scteio.ads, a-swbwha.ads, a-swfwha.ads, a-szbzha.ads, a-szfzha.ads,
+ a-tiboio.ads, a-wwboio.ads, a-zzboio.ads, a-dispat.ads, a-tgdico.ads,
+ expander.adb, g-socket.ads, par-labl.adb, sinput-c.adb, s-tarest.ads,
+ s-stchop.ads, g-expect-vms.adb, s-taprop-lynxos.adb,
+ s-taprop-tru64.adb, s-taprop-irix.adb,
+ s-taprop-hpux-dce.adb, s-traceb-hpux.adb,
+ s-taprop-linux.adb, s-taprop-dummy.adb, s-osprim-unix.adb,
+ s-osprim-solaris.adb, s-taprop-solaris.adb, s-taprop-vms.adb,
+ s-osprim-mingw.adb, s-taprop-mingw.adb, s-osprim-posix.adb,
+ s-taprop-posix.adb, a-exexpr-gcc.adb, a-ststio.adb, a-ststio.ads,
+ a-textio.adb, a-textio.ads, a-tideau.adb, a-tideau.ads, a-witeio.adb,
+ a-witeio.ads, a-wtdeau.adb, a-wtdeau.ads, g-calend.adb, g-calend.ads,
+ g-dirope.adb, g-expect.ads, gnatchop.adb, g-spipat.adb, g-spipat.ads,
+ s-direio.adb, s-direio.ads, s-fatgen.adb, s-fatgen.ads, s-parint.adb,
+ s-sequio.adb, s-sequio.ads, s-taprop.ads, s-valdec.adb, s-valdec.ads,
+ s-valint.adb, s-valint.ads, s-vallld.adb, s-vallld.ads, s-vallli.adb,
+ s-vallli.ads, s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
+ s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads, xref_lib.adb,
+ s-stchop.adb, i-vxwork-x86.ads, a-crbtgo.ads, a-crbtgo.adb,
+ a-coorse.ads, a-coorse.adb, a-cohama.ads, a-cohama.adb, a-ciorse.ads,
+ a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-chtgop.ads, a-chtgop.ads,
+ a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cihase.ads, a-cohase.adb,
+ a-cohase.ads, a-swuwha.ads, a-ciormu.ads, a-coormu.ads, a-rbtgso.ads,
+ a-stunha.ads, a-ciorma.adb, a-coorma.adb, a-ztdeau.adb, a-ztdeau.ads,
+ a-ztexio.adb, a-ztexio.ads: Addition of null-exclusion to anonymous
+ access types.
+ Update documentation.
+ Minor rewording.
+
+2007-04-06 Robert Dewar <dewar@adacore.com>
+
+ * system-linux-ia64.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
+ system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
+ system-vxworks-sparcv9.ads, system-solaris-x86.ads, system-irix-o32.ads,
+ system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
+ system-linux-x86.ads, system-vxworks-mips.ads, system-interix.ads,
+ system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
+ system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
+ system-vxworks-alpha.ads, system-vms_64.ads, system-darwin-ppc.ads,
+ system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads,
+ system-hpux-ia64.ads, targparm.adb,
+ targparm.ads (Functions_Return_By_DSP_On_Target): Removed
+
+ * system.ads: Move Functions_Return_By_DSP to obsolete section,
+ kept for bootstrap purposes only.
+
+2007-04-06 Arnaud Charlet <charlet@adacore.com>
+
+ * s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
+ s-osinte-freebsd.ads, s-osinte-aix.ads, s-osinte-darwin.ads,
+ s-taprop-posix.adb (Create_Task): Fix handling of Task_Info.
+ (PTHREAD_SCOPE_PROCESS, PTHREAD_SCOPE_SYSTEM): New constants.
+
+2007-04-06 Robert Dewar <dewar@adacore.com>
+
+ * a-except.adb, a-except.ads, a-except-2005.ads, a-except-2005.adb
+ (Local_Raise): New dummy procedure called when a raise is converted
+ to a local goto. Used for debugger to detect that the exception
+ is raised.
+
+ * debug.adb: Document new d.g flag (expand local raise statements to
+ gotos even if pragma Restriction (No_Exception_Propagation) is not set)
+
+ * exp_sel.adb: Use Make_Implicit_Exception_Handler
+
+ * exp_ch11.adb (Expand_Exception_Handlers): Use new flag -gnatw.x to
+ suppress warnings for unused handlers.
+ (Warn_If_No_Propagation): Use new flag -gnatw.x to suppress
+ warnings for raise statements not handled locally.
+ (Get_RT_Exception_Entity): New function
+ (Get_Local_Call_Entity): New function
+ (Find_Local_Handler): New function
+ (Warn_If_No_Propagation): New procedure
+ (Expand_At_End_Handler): Call Make_Implicit_Handler
+ (Expand_Exception_Handlers): Major additions to deal with local handlers
+ (Expand_N_Raise_Constraint_Error, Expand_N_Raise_Program_Error,
+ Expand_N_Raise_Storage_Error, (Expand_N_Raise_Statement): Add handling
+ for local raise
+
+ * exp_ch11.ads (Get_RT_Exception_Entity): New function
+ (Get_Local_Call_Entity): New function
+
+ * gnatbind.adb (Restriction_List): Add No_Exception_Propagation to list
+ of restrictions that the binder will never suggest adding.
+
+ * par-ch11.adb (P_Exception_Handler): Set Local_Raise_Statements field
+ to No_Elist.
+
+ * restrict.adb (Check_Restricted_Unit): GNAT.Current_Exception may not
+ be with'ed in the presence of pragma Restriction
+ (No_Exception_Propagation).
+
+ * sem.adb (Analyze): Add entries for N_Push and N_Pop nodes
+
+ * sem_ch11.adb (Analyze_Exception_Handler): If there is a choice
+ parameter, then the handler is not a suitable target for a local raise,
+ and this is a violation of restriction No_Exception_Propagation.
+ (Analyze_Handled_Statements): Analyze choice parameters in exception
+ handlers before analyzing statement sequence (needed for proper
+ detection of local raise statements).
+ (Analyze_Raise_Statement): Reraise statement is a violation of the
+ No_Exception_Propagation restriction.
+
+ * s-rident.ads: Add new restriction No_Exception_Propagation
+
+ * tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): New
+ function, like Make_Exception_Handler but sets Local_Raise_Statements
+ to No_List.
+ (Add_Unique_Serial_Number): Deal with case where this is called during
+ processing of configuration pragmas.
+
+2007-04-06 Thomas Quinot <quinot@adacore.com>
+ Pat Rogers <rogers@adacore.com>
+ Pascal Obry <obry@adacore.com>
+
+ * g-stsifd-sockets.adb: New file.
+
+ * g-socthi.ads, g-socket.adb, g-socthi-vxworks.adb,
+ g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi-vms.ads,
+ g-socthi-vms.adb: Move signalling
+ fd management to a nested package, so that they can conveniently be
+ moved to a subunit that is shared across Windows, VMS, and VxWorks
+ (Ada implementation) or completed with imported bodies from socket.c
+ (UNIX case).
+ (Read_Signalling_Fd, Write_Signalling_Fd, Create_Signalling_Fds): New
+ subprograms.
+ (Check_Selector): Use Read_Signalling_Fd to read and discard data from
+ the signalling file descriptor.
+ (Abort_Selector): Use Write_Signalling_Fd to write dummy data to the
+ signalling file descriptor.
+ (Create_Selector): Use new C-imported subprogram Create_Signalling_Fds
+ instead of creating a pair of sockets for signalling here.
+
+ * g-socthi.adb: Ditto.
+ Set the runtime process to ignore SIGPIPEs on platforms that support
+ neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality.
+
+ * g-socthi-mingw.adb: Ditto.
+ (WS_Version): Use Windows 2.2.
+ Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API.
+
+ * g-soliop-mingw.ads: Link with ws2_32 for Windows 2.x support.
+ Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API.
+
+ * Makefile.in: New libgnat pair g-stsifd.adb<g-stsifd-sockets.adb.
+ added GNAT byte swapping facility
+ Update FreeBSD THREADSLIB from -lc_r to -lpthread, for FreeBSD 6.
+
+ * g-bytswa.adb, g-bytswa-x86.adb, g-bytswa.ads: New files.
+
+ * socket.c (__gnat_read_signalling_fd, __gnat_write_controlling_fd):
+ New subprograms.
+ (__gnat_create_signalling_fds): New subprogram.
+ Set the runtime process to ignore SIGPIPEs on platforms that support
+ neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality.
+
+2007-04-06 Hristian Kirtchev <kirtchev@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * a-calend-vms.ads, a-calend.ads, a-calend.adb, a-calend-vms.adb:
+ New version of Ada.Calendar which supports the new upper bound of Ada
+ time (2399-12-31 86_399.999999999).
+ The following modifications have been made to the package:
+ - New representation of time as count of nanoseconds since the start of
+ Ada time (1901-1-1 0.0).
+ - Target independent Split and Time_Of routines which service both
+ Ada 95 and Ada 2005 code.
+ - Target independent interface to the Ada 2005 children of Calendar.
+ - Integrated leap seconds into Ada 95 and Ada 2005 mode.
+ - Handling of non-leap centenial years.
+ - Updated clock function.
+ - Updated arithmetic and comparison operators.
+
+ * a-caldel.adb (To_Duration): Add call to target independent routine in
+ Ada.Calendar to handle the conversion of time to duration.
+
+ * sysdep.c (__gnat_localtime_tzoff): Test timezone before setting off
+ (UTC Offset).
+ If timezone is obviously incorrect (outside of -14 hours .. 14 hours),
+ set off to 0.
+ (__gnat_localtime_tzoff for Lynx and VxWorks): Even though these
+ targets do not have a natural time zone, GMT is used as a default.
+ (__gnat_get_task_options): New.
+
+ * a-direct.adb (Modification_Time): Add with and use clauses for
+ Ada.Calendar and Ada.
+ Calendar.Formatting. Remove with clause for Ada.Unchecked_Conversion
+ since it is no longer needed.
+ (Duration_To_Time): Removed.
+ (OS_Time_To_Long_Integer): Removed.
+ (Modification_Time): Rewritten to use Ada.Calendar and Ada.Calendar.
+ Formatting Time_Of routines which automatically handle time zones,
+ buffer periods and leap seconds.
+
+ * a-calari.ads, a-calari.adb ("+", "-", Difference): Add calls to
+ target independent routines in Ada.Calendar.
+
+ * a-calfor.ads, a-calfor.adb:
+ Code cleanup and addition of validity checks in various routines.
+ (Day_Of_Week, Split, Time_Of): Add call to target independent routine in
+ Ada.Calendar.
+
+ * a-catizo.ads, a-catizo.adb (UTC_Time_Offset): Add call to target
+ independent routine in Ada.Calendar.
+
+2007-04-06 Olivier Hainque <hainque@adacore.com>
+
+ * adaint.c:
+ (convert_addresses): Adjust prototype and dummy definition to expect an
+ extra file_name argument.
+
+ * gmem.c (__gnat_convert_addresses): Wrapper to convert_addresses,
+ filling the now expected file_name argument with the appropriate
+ argv[0] expansion.
+ (__gnat_gmem_a2l_initialize, __gnat_gmem_read_next_frame): Use it.
+ (tracebk): Array of void * instead of char *, corresponding to what
+ convert_addresses expects.
+ (exename): New static global, to hold the executable file name to be
+ used in all convert_addresses invocations.
+ (gmem_read_backtrace, __gnat_gmem_symbolic): Account for tracebk type
+ change.
+ (__gnat_gmem_a2l_initialize): Resolve exename.
+ (__gnat_convert_addresses): Use exename as the convert_addresses
+ file_name argument.
+
+ * g-trasym.adb (Symbolic_Traceback): Adjust signature of imported
+ "convert_addresses", now expecting a filename argument. Import the
+ necessary entities to compute the filename to use and pass it to
+ convert_addresses.
+
+2007-04-06 Matt Gingell <gingell@adacore.com>
+
+ * system-aix.ads: Back out previous change.
+ (Functions_Return_By_DSP): Removed
+
+2007-04-06 Pascal Obry <obry@adacore.com>
+
+ * s-osprim-mingw.adb (Timed_Delay): Use the right clock (standard one
+ or the monotonic used by Ada.Real_Time) to compute the sleep duration
+ on Windows.
+
+2007-04-06 Jose Ruiz <ruiz@adacore.com>
+
+ * s-osinte-vxworks.ads, s-osinte-vxworks.adb (VX_FP_TASK): Remove this
+ function. Its value changes in different VxWorks versions, and it is
+ now handled by the function __gnat_get_task_options.
+
+ * s-taprop-vxworks.adb (Create_Task): Call the function
+ __gnat_get_task_options to get the required options for creating a task.
+
+2007-04-06 Pascal Obry <obry@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * adaint.c: Replace all occurences of S2WS to S2WSU (Unicode) when
+ dealing with filename.
+ (__gnat_fopen): Call the proper macro (8bits or UTF8) to convert the
+ filename from a standard string to a wide-string depending on the
+ encoding value.
+ (__gnat_freopen): Idem.
+ (__gnat_current_time): New function (wrapper for time(3) standard C
+ function).
+
+ * g-os_lib.ads (Current_Time): New function. Returns the current
+ system time as an OS_Time value.
+
+ * s-osprim.ads (Clock): Add more precise definition of UNIX epoch.
+ (Monotonic_Clock): Same.
+
+2007-04-06 Quentin Ochem <ochem@adacore.com>
+
+ * ali.ads, ali.adb (Get_Nat): Raise an exception if the file cursor is
+ not on a natural.
+ (Scan_ALI): Cancel the xref line if there has been a reading ALI error.
+
+2007-04-06 Jose Ruiz <ruiz@adacore.com>
+
+ * a-retide.adb: Add elaboration code to ensure that the tasking run
+ time is initialized when using delay operations even when no task is
+ created.
+
+2007-04-06 Javier Miranda <miranda@adacore.com>
+
+ * a-tags.ads, a-tags.adb (Object_Specific_Data): Remove
+ component Num_Prim_Ops.
+ (Set_Num_Prim_Ops): Removed.
+ Remove all the assertions because all the routines of this
+ package are inline always.
+ (Get_Offset_Index): Add support to primary dispatch tables.
+ Move the documentation about the dispatch table to a-tags.ads
+ (Set_External_Tag): Removed
+ (Inherit_TSD): Removed.
+ (Interface_Data_Element, Interfaces_Array, Interface_Data): Declarations
+ moved to a-tags.ads
+ (Displace, IW_Membership, Inherit_TSD, Interface_Ancestor_Tags,
+ Register_Interface_Tag, Set_Offset_To_Top): Update all the occurrences
+ of the TSD field "Table" because this field has been renamed to
+ "Ifaces_Table".
+ (Inherit_CPP_DT): Removed.
+ (K_Typeinfo, K_Offset_To_Top, K_Tagged_Kind, K_Signature,
+ Cstring, Tag_Table, Type_Specific_Data, Dispatch_Table): These
+ declarations have been moved to a-tags.ads
+ (Check_Size): Removed.
+ (Expanded_Name): Updated to get access to the new field of TSD
+ containing the address of the expanded name.
+ (Get_Access_Level/Set_Access_Level): Removed.
+ (Get_Predefined_Prim_Op_Address): Removed.
+ (Set_Predefined_Prim_Op_Address): Removed.
+ (Get_Prim_Op_Address/Set_Prim_Op_Address): Removed.
+ (Get_Remotely_Callable/Set_Remotely_Callable): Removed.
+ (Set_Expanded_Name): Removed.
+ (Inherit_DT): Removed.
+ (Inherit_CPP_DT): Removed.
+ (Set_RC_Offset): Removed.
+ (Set_TSD): Removed.
+ (Base_Address): New function that displaces "this" to point to the base
+ of the object (that is, to point to the primary tag of the object).
+
+2007-04-06 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.ads, exp_ch3.adb (Analyze_N_Full_Type_Declaration): For an
+ anonymous access component, do not create a master_id if type already
+ has one, as may happen if the type is a subcomponent of a packed array
+ type.
+ (Build_Init_Procedure, Component_Needs_Simple_Initialization,
+ Initialize_Tag): Remove code associated with the old CPP pragmas.
+ CPP_Virtual and CPP_Vtable are no longer supported.
+ (Build_Offset_To_Top_Internal): Add support for concurrent record types
+ (Build_Offset_To_Top_Functions): Add support for concurrent record types
+ (Freeze_Record_Type): Remove call to
+ Init_Predefined_Interface_Primitives.
+ (Init_Secondary_Tags.Initialize_Tag): New subprogram containing all the
+ code required to initialize the tags of the secondary dispatch tables.
+ This leaves the algoritm more clear.
+ (Init_Secondary_Tags): Add support for concurrent record types
+ (Make_Predefined_Primitive_Specs): Code cleanup.
+ (Predefined_Primitive_Bodies): Code cleanup.
+ (Build_Master_Renaming): New local subprogram.
+ (Expand_N_Full_Type_Declaration): Build the master_id associated with
+ anonymous access to task type components.
+ (Expand_N_Subtype_Indication): The bounds of a range constraint in a
+ subtype indication are resolved during analysis, and must not be done
+ here.
+ (Stream_Operation_OK): Check Restriction_Active before RTE_Available.
+
+2007-04-06 Geert Bosch <bosch@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Type_Conversion): Remove special processing
+ for conversion of a Float_Type'Truncation to integer.
+
+ * exp_attr.adb (Is_Inline_Floating_Point_Attribute): New function to
+ check if a node is an attribute that can be handled directly by the
+ back end.
+ (Expand_N_Attribute_Reference): Suppress expansion of floating-point
+ attributes that can be handled directly by the back end.
+ (Expand_N_Attribute_Reference, case 'Access and 'Unchecked_Access):
+ use new predicate Is_Access_Protected_Subprogram_Type.
+ (Expand_N_Attribute_Reference, case 'Write): The reference is legal for
+ and Unchecked_Union if it is generated as part of the default Output
+ procedure for a type with default discriminants.
+ (Expand_N_Attribute_Reference): Avoid the expansion of dispatching calls
+ if we are compiling under restriction No_Dispatching_Calls.
+ (Constrained): Use Underlying_Type, in case the type is private without
+ discriminants, but the full type has discriminants.
+ (Expand_N_Attribute_Reference): Replace call to Get_Access_Level by
+ call to Build_Get_Access_Level.
+ (Expand_N_Attribute_Reference): The use of 'Address with class-wide
+ interface objects requires a call to the run-time subprogram that
+ returns the base address of the object.
+ (Valid_Conversion): Improve error message on illegal attempt to store
+ an anonymous access to subprogram value into a record component.
+
+ * sem_res.adb (Resolve_Equality_Op): Detect ambiguity for "X'Access =
+ null".
+ (Simplify_Type_Conversion): New procedure that performs simplification
+ of Int_Type (Float_Type'Truncation (X)).
+ (Resolve_Type_Conversion): Call above procedure after resolving operand
+ and before performing checks. This replaces the existing ineffective
+ code in Exp_Ch4.
+ (Set_String_Literal_Subtype): When creating the internal static lower
+ bound subtype for a string literal, use a newly created copy of the
+ subtree representing the lower bound.
+ (Resolve_Call): Exclude build-in-place function calls from transient
+ scope treatment. Update comments to describe this exception.
+ (Resolve_Equality_Op): In case of dispatching call check violation of
+ restriction No_Dispatching_Calls.
+ (Resolve_Call): If the call returns an array, the context imposes the
+ component type of the array, and the function has one non-defaulted
+ parameter, rewrite the call as the indexing of a call with a single
+ parameter, to handle an Ada 2005 syntactic ambiguity for calls written
+ in prefix form.
+ (Resolve_Actuals): If an actual is an allocator for an access parameter,
+ the master of the created object is the innermost enclosing statement.
+ (Remove_Conversions): For a binary operator, check if type of second
+ formal is numeric, to check if an abstract interpretation is present
+ in the case of exponentiation as well.
+
+2007-04-06 Ed Schonberg <schonberg@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * atree.h, atree.ads, atree.adb (Copy_Node_With_Replacement): When
+ copying a parameter list in a call, set properly the First_Named_Formal
+ and Next_Named_Formal fields in the new list and in the enclosing call.
+ (Watch_Node,New_Node_Breakpoint,New_Node_Debugging_Output): Shorten
+ names, to ease typing in the debugger. Improve comments.
+ (Watch_Node): New variable, intended to be set in the debugger.
+ (New_Node_Breakpoint): New do-nothing procedure to set a breakpoint on,
+ called when the watched node is created.
+ (New_Node_Debugging_Output): Combined version of local procedures
+ New_Node_Debugging_Output and New_Entity_Debugging_Output, now global,
+ with a parameter so that conditional breakpoints like "if Node = 12345"
+ work.
+ (New_Node, New_Entity): Call the global New_Node_Debugging_Output.
+ Add Elist1 function
+
+2007-04-06 Thomas Quinot <quinot@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * checks.ads, checks.adb (Selected_Range_Checks): No range check is
+ required for a conversion between two access-to-unconstrained-array
+ types.
+ (Expr_Known_Valid): Validity checks do not apply to discriminants, but
+ to discriminant constraints on discriminant objects. This rule must
+ apply as well to discriminants of protected types in private components.
+ (Null_Exclusion_Static_Checks): If No_Initialization is set on an
+ object of a null-excluding access type then don't require the
+ the object declaration to have an expression and don't emit a
+ run-time check.
+
+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.
+
+2007-04-06 Gary Dismukes <dismukes@adacore.com>
+
+ * cstand.adb (Create_Standard): When the target's storage unit size is
+ greater than a byte, set Has_Non_Standard_Rep and Has_Pragma_Pack on
+ Standard_String.
+
+2007-04-06 Nicolas Roche <roche@adacore.com>
+
+ * cstreams.c (__gnat_full_name): Fix issues on VxWorks 6.x for which
+ absolute path can have the following form: device:/a/b. In this case
+ '/' should be inserted between the path and the filename.
+
+2007-04-06 Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <botcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Constant>: Associate an external
+ VAR_DECL to a CONST_DECL we make for a public constant when we know the
+ corresponding definition has created the so made visible variable.
+ Handle anonymous access to protected subprogram.
+ (gnat_to_gnu_entity) <E_Variable>: Do not make the underlying type of an
+ object with an address clause volatile. Re-enable original fix.
+ <E_Subprogram_Type>: Set TYPE_REF_CAN_ALIAS_ALL on the reference type
+ too.
+ (gnat_to_gnu_entity) <E_Class_Wide_Type>: Retrieve the TYPE_DECL
+ associated with either the Equivalent or Root type, instead of the
+ naked type node.
+ (gnat_to_gnu_entity): Manually mark the top of the DECL_FIELD_OFFSET
+ subtree for every field of a global record type.
+ (gnat_to_gnu_entity) <E_Record_Subtype>: If the subtype has
+ discriminants, invoke again variable_size on its newly computed sizes.
+
+2007-04-06 Robert Dewar <dewar@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * einfo.ads, einfo.adb: (First_Component_Or_Discriminant): New function
+ (Next_Component_Or_Discriminant): New function and procedure
+ (First_Index, First_Literal, Master_Id,
+ Set_First_Index, Set_First_Literal, Set_Master_Id):
+ Add missing Ekind assertions.
+ (Is_Access_Protected_Subprogram_Type): New predicate.
+ (Has_RACW): New entity flag, set on package entities to indicate that
+ the package contains the declaration of a remote accecss-to-classwide
+ type.
+ (E_Return_Statement): This node type has the Finalization_Chain_Entity
+ attribute, in case the result type has controlled parts.
+ (Requires_Overriding): Add this new flag, because "requires
+ overriding" is subtly different from "is abstract" (see AI-228).
+ (Is_Abstract): Split Is_Abstract flag into Is_Abstract_Subprogram and
+ Is_Abstract_Type. Make sure these are called only when appropriate.
+ (Has_Pragma_Unreferenced_Objects): New flag
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): If the left-hand side is
+ class-wide, the tag of the right-hand side must be an exact match, not
+ an ancestor of that of the object on left-hand side.
+ (Move_Activation_Chain): New procedure to create the call to
+ System.Tasking.Stages.Move_Activation_Chain.
+ (Expand_N_Extended_Return_Statement): Generate code to call
+ System.Finalization_Implementation.Move_Final_List at the end of a
+ return statement if the function's result type has controlled parts.
+ Move asserts to Build_In_Place_Formal.
+ (Move_Final_List): New function to create the call statement.
+ (Expand_N_Assignment_Statement): In case of assignment to a class-wide
+ tagged type, replace generation of call to the run-time subprogram
+ CW_Membership by call to Build_CW_Membership.
+ (Expand_N_Return_Statement): Replace generation of call to the run-time
+ subprogram Get_Access_Level by call to Build_Get_Access_Level.
+ (Expand_N_Simple_Function_Return): Replace generation of call to the
+ run-time subprogram Get_Access_Level by call to Build_Get_Access_Level.
+
+ * exp_ch6.ads, exp_ch6.adb (Expand_Call): Use new predicate
+ Is_Access_Protected_Subprogram_Type, to handle both named and anonymous
+ access to protected operations.
+ (Add_Task_Actuals_To_Build_In_Place_Call): New procedure to add the
+ master and chain actual parameters to a build-in-place function call
+ involving tasks.
+ (BIP_Formal_Suffix): Add new enumeration literals to complete the case
+ statement.
+ (Make_Build_In_Place_Call_In_Allocator,
+ Make_Build_In_Place_Call_In_Anonymous_Context,
+ Make_Build_In_Place_Call_In_Assignment,
+ Make_Build_In_Place_Call_In_Object_Declaration): Call
+ Add_Task_Actuals_To_Build_In_Place_Call with the appropriate master.
+ (Expand_Inlined_Call): If the subprogram is a null procedure, or a
+ stubbed procedure with a null body, replace the call with a null
+ statement without using the full inlining machinery, for efficiency
+ and to avoid invalid values in source file table entries.
+
+ * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Add support for
+ renamings of calls to build-in-place functions.
+
+ * rtsfind.adb (RTE_Record_Component_Available): New subprogram that
+ provides the functionality of RTE_Available to record components.
+ (RTU_Entity): The function Entity has been renamed to RTU_Entity
+ to avoid undesired overloading.
+ (Entity): New subprogram that returns the entity for the referened
+ unit. If this unit has not been loaded, it returns Empty.
+ (RE_Activation_Chain_Access, RE_Move_Activation_Chain): New entities.
+ Remove no longer used entities.
+ (RE_Finalizable_Ptr_Ptr, RE_Move_Final_List): New entities.
+ (RE_Type_Specific_Data): New entity.
+ (RE_Move_Any_Value): New entity.
+ (RE_TA_A, RE_Get_Any_Type): New entities.
+ (RE_Access_Level, RE_Dispatch_Table, E_Default_Prim_Op_Count,
+ RE_Prims_Ptr, RE_RC_Offset, RE_Remotely_Callable,
+ RE_DT_Typeinfo_Ptr_Size, RE_Cstring_Ptr, RE_DT_Expanded_Name): Added.
+ (Entity): New subprogram that returns the entity for the referened
+ unit. If this unit has not been loaded, it returns Empty.
+ (RTE): Addition of a new formal that extends the search to the scopes
+ of the record types found in the chain of the package.
+
+ * sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Print
+ "abstract subprograms must be visible" message, whether or not the type
+ is an interface; that is, remove the special case for interface types.
+ (Analyze_Function_Return): Remove error message "return of task objects
+ is not yet implemented" because this is now implemented.
+ (Create_Extra_Formals): Add the extra master and activation chain
+ formals in case the result type has tasks.
+ Remove error message "return of limited controlled objects is not yet
+ implemented".
+ (Create_Extra_Formals): Add the extra caller's finalization list formal
+ in case the result type has controlled parts.
+ (Process_Formals): In case of access formal types there is no need
+ to continue with the analysis of the formals if we already notified
+ errors.
+ (Check_Overriding_Indicator): Add code to check overriding of predefined
+ operators.
+ (Create_Extra_Formals): Prevent creation of useless Extra_Constrained
+ flags for formals that do not require them,.
+ (Enter_Overloaded_Entity): Do not give -gnatwh warning message unless
+ hidden entity is use visible or directly visible.
+ (Analyze_Abstract_Subprogram_Declaration,Analyze_Subprogram_Body,
+ Analyze_Subprogram_Declaration,Analyze_Subprogram_Specification,
+ Check_Conventions,Check_Delayed_Subprogram,Make_Inequality_Operator,
+ New_Overloaded_Entity): Split Is_Abstract flag into
+ Is_Abstract_Subprogram and Is_Abstract_Type.
+
+ * s-finimp.ads, s-finimp.adb (Move_Final_List): New procedure to move
+ a return statement's finalization list to the caller's list, used for
+ build-in-place functions with result type with controlled parts.
+ Remove no longer used entities.
+
+ * s-taskin.ads (Activation_Chain): Remove pragma Volatile. It is no
+ longer needed, because the full type is now limited, and therefore a
+ pass-by-reference type.
+ (Foreign_Task_Level): New constant.
+
+ * s-tassta.ads, s-tassta.adb (Move_Activation_Chain): New procedure to
+ move tasks from the activation chain belonging to a return statement to
+ the one passed in by the caller, and update the master to the one
+ passed in by the caller.
+ (Vulnerable_Complete_Master, Check_Unactivated_Tasks): Check the master
+ of unactivated tasks, so we don't kill the ones that are being returned
+ by a build-in-place function.
+ (Create_Task): Ignore AI-280 for foreign threads.
+
+2007-04-06 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Bob Duff <duff@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * errout.adb (Unwind_Internal_Type): Use predicate
+ Is_Access__Protected_Subprogram_Type.
+
+ * freeze.adb (Size_Known): Use First/Next_Component_Or_Discriminant
+ (Freeze_Entity, packed array case): Do not override explicitly set
+ alignment and size clauses.
+ (Freeze_Entity): An entity declared in an outer scope can be frozen if
+ the enclosing subprogram is a child unit body that acts as a spec.
+ (Freeze_Entity): Use new predicate Is_Access_Protected_Subprogram_Type.
+ (Freeze_Record_Type): New Ada 2005 processing for reverse bit order
+ Remove all code for DSP option
+
+ * layout.adb (Layout_Record_Type): Use First/
+ Next_Component_Or_Discriminant
+ (Layout_Type): Use new predicate Is_Access_Protected_Subprogram_Type,
+ to handle properly the anonymous access case.
+
+ * sem_attr.adb (Build_Access_Object_Type): Use E_Access_Attribute_Type
+ for all access attributes, because overload resolution should work the
+ same for 'Access, 'Unchecked_Access, and 'Unrestricted_Access. This
+ causes the error message for the ambiguous "X'Access = Y'Access" and
+ "X'Unrestricted_Access = Y'Access" and so forth to match.
+ (Resolve_Attribute, case 'Access): Remove use of Original_Access_Type,
+ now that anonymous access to protected operations have their own kind.
+ (Resolve_Attribute): In case of dispatching call check the violation of
+ restriction No_Dispatching_Calls.
+ (Check_Array_Type): Check new -gnatyA array index style option
+
+ * sem_ch3.ads, sem_ch3.adb (Derived_Type_Declaration): Reject an
+ attempt to derive from a synchronized tagged type.
+ (Analyze_Type_Declaration): If there is a incomplete tagged view of the
+ type, inherit the class-wide type already created, because it may
+ already have been used in a self-referential anonymous access component.
+ (Mentions_T): Recognize self-referential anonymous access components
+ that use (a subtype of) the class-wide type of the enclosing type.
+ (Build_Derived_Record_Type): Add earlier setting of Is_Tagged_Type. Pass
+ Derived_Type for Prev formal on call to
+ Check_Anonymous_Access_Components rather than Empty.
+ (Make_Incomplete_Type_Declaration): Add test for case where the type has
+ a record extension in deciding whether to create a class-wide type,
+ rather than just checking Tagged_Present.
+ (Replace_Anonymous_Access_To_Protected_Subprogram): Procedure applies
+ to stand-alone object declarations as well as component declarations.
+ (Array_Type_Declaration): Initialize Packed_Array_Type to Empty, to
+ prevent accidental overwriting when enclosing package appears in
+ a limited_with_clause.
+ (Array_Type_Declaration): If the component type is an anonymous access,
+ the associated_node for the itype is the type declaration itself.
+ (Add_Interface_Tag_Components): Modified to support concurrent
+ types with abstract interfaces.
+ (Check_Abstract_Interfaces): New subprogram that verifies the ARM
+ rules 3.9.4 (15/2), 9.1 (9.d/2) and 9.4 (11.d/2).
+ (Build_Derived_Record_Type): Add call to Analyze_Interface_Declaration
+ to complete the decoration of synchronized interface types. Add also
+ a call to Check_Abstract_Interfaces to verify the ARM rules.
+ (Derive_Interface_Subprograms): Modified to support concurrent types
+ with abstract interfaces.
+ (Analyze_Subtype_Indication): Resolve the range with the given subtype
+ mark, rather than delaying the full resolution depending on context.
+ (Analyze_Component_Declaration,Analyze_Interface_Declaration,
+ Analyze_Object_Declaration,Analyze_Subtype_Declaration,
+ Array_Type_Declaration,Build_Derived_Record_Type,
+ Build_Discriminated_Subtype,Check_Abstract_Overriding,Check_Completion,
+ Derive_Interface_Subprograms,Derive_Subprogram,Make_Class_Wide_Type,
+ Process_Full_View,Record_Type_Declaration): Split Is_Abstract flag into
+ Is_Abstract_Subprogram and Is_Abstract_Type. Make sure these are
+ called only when appropriate.
+ (Copy_And_Swap): Copy Has_Unreferenced_Objects flag from full type
+ to private type.
+ (Analyze_Subtype_Declaration): For an access subtype declaration, create
+ an itype reference for the anonymous designated subtype, to prevent
+ scope anonmalies in gigi.
+ (Build_Itype_Reference): New utility, to simplify construction of such
+ references.
+
+2007-04-06 Vincent Celier <celier@adacore.com>
+
+ * errutil.adb (Initialize): Initialize warnings table, if all warnings
+ are suppressed, supply an initial dummy entry covering all possible
+ source locations.
+
+ * make.adb (Scan_Make_Arg): Reject options that should start with "--"
+ and start with only one, such as "-RTS=none".
+ (Collect_Arguments): Do not check for sources outside of projects.
+ Do not collect arguments if project is externally built.
+ (Compile_Sources): Do nothing, not even check if the source is up to
+ date, if its project is externally built.
+ (Compile): When compiling a predefined source, add -gnatpg
+ as the second switch, after -c.
+ (Compile_Sources): Allow compilation of Annex J renames without -a
+ (Is_In_Object_Directory): Check if the ALI file is in the object
+ even if there is no project extension.
+ (Create_Binder_Mapping_File): Only put a unit in the mapping file for
+ gnatbind if the ALI file effectively exists.
+ (Initialize): Add the directory where gnatmake is invoked in front of
+ the path if it is invoked from a bin directory, even without directory
+ information, so that the correct GNAT tools will be used when spawned
+ without directory information.
+
+ * makeusg.adb: Change switch -S to -eS
+ Add lines for new switches -we, -wn and -ws
+ Add line for new switch -p
+
+ * prj-proc.adb (Process): Set Success to False when Warning_Mode is
+ Treat_As_Error and there are warnings.
+
+ * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Do not skip
+ -gnatww Change gnatmake switch -S to -eS
+ (Scan_Make_Switches): Code reorganisation. Process separately multi
+ character switches and single character switches.
+ (Scan_Make_Switches): New Boolean out parameter Success. Set Success to
+ False when switch is not recognized by gnatmake.
+ (Scan_Make_Switches): Set Setup_Projects True when -p or
+ --create-missing-dirs is specified.
+
+ * fname.adb (Is_Predefined_File_Name): Return True for annex J
+ renamings Calendar, Machine_Code, Unchecked_Conversion and
+ Unchecked_Deallocation only when Renamings_Included is True.
+
+ * par.adb: Allow library units Calendar, Machine_Code,
+ Unchecked_Conversion and Unchecked_Deallocation to be recompiled even
+ when -gnatg is not specified.
+ (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.
+ (SIS_Entry_Active): Initialize global variable to False
+ (P_Null_Exclusion): For AI-447: Add parameter Allow_Anonymous_In_95 to
+ indicate cases where AI-447 says "not null" is legal.
+
+ * makeutl.ads, makeutil.adb (Executable_Prefix_Path): New function
+
+ * makegpr.adb (Check_Compilation_Needed): Take into account dependency
+ files with with several lines starting with the object fileb name.
+ (Scan_Arg): Set Setup_Projects True when -p or --create-missing-dirs
+ is specified.
+ (Initialize): Add the directory where gprmake is invoked in front of the
+ path, if it is invoked from a bin directory or with directory
+ information, so that the correct GNAT tools will be used when invoked
+ directly.
+ (Check_Compilation_Needed): Process correctly backslashes on Windows.
+
+ * vms_data.ads: Update switches/qualifiers
+
+2007-04-06 Ed Schonberg <schonberg@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * exp_aggr.adb:
+ If the array component is a discriminated record, the array aggregate
+ is non-static even if the component is given by an aggregate with
+ static components.
+ (Expand_Record_Aggregate): Use First/Next_Component_Or_Discriminant
+ (Convert_Aggr_In_Allocator): If the allocator is for an access
+ discriminant and the type is controlled. do not place on a finalization
+ list at this point. The proper list will be determined from the
+ enclosing object.
+ (Build_Record_Aggr_Code): If aggregate has box-initialized components,
+ initialize record controller if needed, before the components, to ensure
+ that they are properly finalized.
+ (Build_Record_Aggr_Code): For the case of an array component that has a
+ corresponding array aggregate in the record aggregate, perform sliding
+ if required.
+
+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
+
+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.
+
+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.
+
+2007-04-06 Thomas Quinot <quinot@adacore.com>
+ Pablo Oliveira <oliveira@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.
+
+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..
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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
+
+2007-04-06 Arnaud Charlet <charlet@adacore.com>
+ Pablo Oliveira <oliveira@adacore.com>
+
+ * 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.
+
+2007-04-06 Thomas Quinot <quinot@adacore.com>
+
+ * g-md5.ads, g-md5.adb (Digest): Fix off-by-one error in padding
+ computation.
+
+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
+
+2007-04-06 Vincent Celier <celier@adacore.com>
+
+ * gprep.adb (Process_Files.Process_One_File): Use full file name when
+ issuing pragma Source_Reference.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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
+
+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.
+
+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.
+
+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
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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
+
+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.
+
+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.
+
+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
+
+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.
+
+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
+
+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.
+
+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.
+
+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.
+
+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.
+
+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
+
+2007-04-06 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tpobop.adb (Exceptional_Complete_Entry_Body): Undefer abortion
+ before propagating exception.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+2007-04-06 Eric Botcazou <botcazou@adacore.com>
+
+ * s-stchop-vxworks.adb:
+ (Stack_Check): Raise Storage_Error if the argument has wrapped around.
+
+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.
+
+2007-03-30 Rafael Ávila de Espíndola <espindola@google.com>
+
+ * trans.c (Attribute_to_gnu): Use get_signed_or_unsigned_type
+ instead of gnat_signed_or_unsigned_type.
+ * utils.c (gnat_signed_or_unsigned_type): Remove.
+ * misc.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove
+ * gigi.h (gnat_signed_or_unsigned_type): Remove
+
+2007-03-09 Roger Sayle <roger@eyesopen.com>
+
+ * cuintp.c (UI_To_gnu): Use fold_buildN calls instead of calling
+ fold with the result of buildN.
+ * decl.c (gnat_to_gnu_entity): Likewise.
+ * trans.c (Attribute_to_gnu, gnat_to_gnu, emit_check): Likewise.
+ * utils.c (finish_record_type, merge_sizes, max_size, convert):
+ Likewise.
+ * utils2.c (gnat_truthvalue_conversion, compare_arrays,
+ nonbinary_modular_operation, build_binary_op, build_unary_op,
+ build_cond_expr): Likewise.
+
+ * utils.c (convert): Use fold_build1 when casting values to void.
+ * utils2.c (gnat_truthvalue_conversion): Use build_int_cst and
+ fold_convert instead of convert when appropriate.
+
+2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
+
+ * Make-lang.in: Add install-pdf target as copied from
+ automake v1.10 rules.
+
+2007-02-28 Andreas Schwab <schwab@suse.de>
+
+ * Make-lang.in (doc/gnat_ugn_unw.texi): Depend on
+ $(gcc_docdir)/include/gcc-common.texi and gcc-vers.texi.
+ (doc/gnat-style.info): Likewise.
+
+2007-02-26 Brooks Moses <brooks.moses@codesourcery.com>
+
+ * gnat-style.texi: Standardize title page.
+ * gnat_rm.texi: Likewise.
+ * gnat_ugn.texi: Likewise.
+
+2007-02-25 Mark Mitchell <mark@codesourcery.com>
+
+ * decl.c (annotate_value): Adjust for refactoring of tree_map
+ hierarchy.
+
+2007-02-24 Mark Mitchell <mark@codesourcery.com>
+
+ * decl.c (annotate_value): Adjust for refactoring of tree_map
+ hierarchy.
+
+2007-02-21 Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/18819
+ * sem_ch3.adb (Create_Constrained_Components): for a subtype of an
+ untagged derived type, add hidden components to keep discriminant
+ layout consistent, when a given discriminant of the derived type
+ constraints several discriminants of the parent type.
+
+2007-02-16 Eric Botcazou <ebotcazou@adacore.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * trans.c (call_to_gnu): Use build_call_list instead of build3 to
+ build the call expression.
+ (gnat_stabilize_reference_1): Handle tcc_vl_exp.
+ * utils.c (max_size) <tcc_exceptional>: Delete.
+ <tcc_vl_exp>: New case.
+ <tcc_expression>: Delete CALL_EXPR subcase.
+ (build_global_cdtor): Use build_call_nary instead of build3.
+ * utils2.c (build_call_1_expr): Likewise.
+ (build_call_2_expr): Likewise.
+ (build_call_0_expr): Likewise.
+ (build_call_alloc_dealloc): Likewise.
+
+2007-02-07 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * raise-gcc.c (get_region_description_for, get_call_site_action_for,
+ get_action_description_for): Replace _Unwind_Word with _uleb128_t
+ and _Unwind_SWord with _sleb128_t.
+
+2007-02-06 Paolo Bonzini <bonzini@gnu.org>
+
+ * Make-lang.in (ada/decl.o): Add gt-ada-decl.h dependency.
+ * decl.c: Include gt-ada-decl.h.
+ (annotate_value_cache): New.
+ (annotate_value): Use it instead of TREE_COMPLEXITY.
+
+2007-02-03 Kazu Hirata <kazu@codesourcery.com>
+
+ * misc.c, utils2.c: Fix comment typos.
+
+2007-01-24 Roger Sayle <roger@eyesopen.com>
+
+ * decl.c (gnat_to_gnu_entity): Use TREE_OVERFLOW instead of
+ TREE_CONSTANT_OVERFLOW.
+ (allocatable_size_p, annotate_value): Likewise.
+ * trans.c (gnat_to_gnu): Likewise.
+ * utils.c (unchecked_convert): Likewise.
+ * utils2.c (build_simple_component_ref): Likewise.
+
+2007-01-23 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/30541
+ * Make-lang.in: Replace invocations of gnatmake with $(GNATMAKE).
+ (gnatboot2): Pass staged GNATMAKE instead of STAGE_PREFIX.
+ (gnatboot3): Likewise.
+ (GNATBIND): Do not define.
+ * Makefile.in (GNATBIND): Do not define.
+
+2007-01-08 Richard Guenther <rguenther@suse.de>
+
+ * cuintp.c (build_cst_from_int): Use built_int_cst_type.
+ * trans.c (gnat_to_gnu): Likewise.
+
+
+
+Copyright (C) 2007 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/ada/ChangeLog-2008 b/gcc/ada/ChangeLog-2008
new file mode 100644
index 00000000000..4e34213ea80
--- /dev/null
+++ b/gcc/ada/ChangeLog-2008
@@ -0,0 +1,7464 @@
+2008-12-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR ada/38450
+ * gcc-interface/utils.c (finish_record_type): Use SET_TYPE_MODE.
+ * gcc-interface/decl.c (gnat_to_gnu_entity, make_aligning_type):
+ Likewise.
+
+2008-12-05 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR bootstrap/38262
+ * gcc-interface/Make-lang.in (gnat1): Add BACKENDLIBS, remove GMPLIBS.
+
+2008-11-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/30827
+ * g-comver.adb (Ver_Len_Max): Fix inconsistency.
+
+2008-11-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c: Fix various nits.
+
+2008-11-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (init_gigi_decls): Fix type mismatch.
+
+2008-11-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/38127
+ * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not
+ special-case boolean types. Propagate the name.
+ * gcc-interface/targtyps.c: Tweak comment.
+
+2008-11-15 Geert Bosch <bosch@adacore.com>
+
+ * gcc-interface/trans.c (emit_check): Put back a final save_expr
+ to prevent exponential expansion during gimplification.
+
+2008-11-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/lang-specs.h: Expand -coverage and reorder switches.
+
+2008-11-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Force constants
+ initialized to a static constant to be statically allocated even if
+ they are of a padding type, provided the original type also has
+ constant size.
+
+2008-11-15 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/37993
+ * gcc-interface/Makefile.in: Add multilib handling for x86_64
+ on darwin.
+ * system-darwin-x86_64.ads: New file.
+
+2008-11-13 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>:
+ Turn Ada Pure on subprograms back into GCC CONST when eh constructs
+ are explicit to the middle-end. Tidy.
+
+2008-11-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.def (PLUS_NOMOD_EXPR): New tree code.
+ (MINUS_NOMOD_EXPR): Likewise.
+ * gcc-interface/utils2.c (build_binary_op) <PREINCREMENT_EXPR>: Make
+ unreachable.
+ <PLUS_NOMOD_EXPR>: New case.
+ <MINUS_NOMOD_EXPR>: Likewise.
+ * gcc-interface/trans.c (Loop_Statement_to_gnu): Build increment-and-
+ assignment statement instead of using an increment operator.
+
+2008-11-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * system-irix-n64.ads: New file.
+ * gcc-interface/Makefile.in (mips-sgi-irix6*): Support O32 and N64
+ multilibs.
+
+2008-11-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ PR ada/37681
+ * system-solaris-x86_64.ads: New file.
+ * gcc-interface/Makefile.in (*86-solaris2*): Support x86_64 multilib.
+
+2008-11-07 Bechir Zalila <bechir.zalila@gmail.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/34289
+ * lib.ads: (Enable_Switch_Storing): Declare.
+ * lib.adb: (Enable_Switch_Storing): New procedure.
+ * switch-c.adb (Scan_Front_End_Switches): Add support for -gnatea.
+ * make.adb: (Compile_Sources.Compile): Add -gnatea as first option.
+ (Display): Never display -gnatea
+ * gcc-interface/lang-specs.h: If -gnatea is present, pass -gnatez.
+
+2008-11-07 Thomas Quinot <quinot@adacore.com>
+
+ * gcc-interface/trans.c (Attribute_to_gnu, case Attr_Length): Check
+ for empty range in original base type, not converted result type.
+
+2008-11-07 Geert Bosch <bosch@adacore.com>
+
+ * gcc-interface/trans.c (build_binary_op_trapv): Convert arguments
+ and result for call to __gnat_mulv64.
+
+2008-11-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c: Fix formatting nits.
+
+2008-11-07 Geert Bosch <bosch@adacore.com>
+
+ * gcc-interface/trans.c (build_binary_op_trapv): Avoid emitting
+ overflow check for constant result.
+
+2008-11-07 Geert Bosch <bosch@adacore.com>
+
+ * gcc-interface/trans.c (build_binary_op_trapv): Use more efficient
+ overflow check for addition/subtraction if neither operand is constant.
+
+2008-11-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Makefile.in (SPARC/Solaris): Use a common set of
+ files for the target-dependent part of the runtime.
+ (SPARC/Linux): Likewise.
+
+2008-11-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: If not
+ optimizing, create a PARM_DECL pointing to the VAR_DECL for debugging
+ purposes.
+
+2008-11-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/misc.c (gnat_printable_name): Always return a copy
+ in GC memory.
+
+2008-11-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/19419
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>:
+ Generate a call to memmove for an assignment between overlapping
+ array slices.
+
+2008-11-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ PR target/37977
+ * gcc-interface/Makefile.in: Add multilib handling for
+ s390-linux and s390x-linux.
+
+2008-10-24 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc-interface/Make-lang.in (check-ada-subtargets): Depend on
+ check-acats-subtargets and check-gnat-subtargets.
+ (check_acats_targets): New variable.
+ (check-acats-subtargets, check-acats%): New targets.
+ (check-acats): If -j is used and CHAPTERS is empty, run the testing
+ in multiple make goals, possibly parallel, and afterwards run
+ dg-extract-results.sh to merge the sum and log files.
+
+2008-10-17 Geert Bosch <bosch@adacore.com>
+
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Slice>: Simplify expansion
+ to use only a single check instead of three, and avoid unnecessary
+ COMPOUND_EXPR.
+ (emit_check): Avoid useless COMPOUND_EXPRs and SAVE_EXPRs, sometimes
+ creating more opportunities for optimizations.
+
+2008-10-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/37601
+ * gcc-interface/utils.c (gnat_types_compatible_p): Handle
+ NULL TYPE_DOMAIN.
+
+2008-10-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Move code
+ dealing with volatileness to after code dealing with renaming.
+
+2008-10-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Minor tweaks.
+ * gcc-interface/trans.c (Pragma_to_gnu): Likewise.
+
+2008-10-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (can_fold_for_view_convert_p): New predicate.
+ (unchecked_convert): Use it to disable problematic folding with
+ VIEW_CONVERT_EXPR in the general case. Always disable it for the
+ special VIEW_CONVERT_EXPR built for integral types and cope with
+ its addressability issues by preserving the first conversion.
+
+2008-10-01 Andreas Schwab <schwab@suse.de>
+
+ * system-linux-ppc64.ads: New file.
+ * gcc-interface/Makefile.in: Add multilib handling for
+ powerpc-linux.
+
+2008-09-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: Cap the alignment promotion
+ to that of ptr_mode instead of word_mode.
+
+2008-09-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/5911
+ * gcc-interface/Makefile.in (SPARC/Solaris): Add multilib support.
+
+2008-09-25 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/37641
+ * adaint.c (__gnat_set_non_writable): Use FILE_WRITE_EA
+ instead of deprecated FILE_WRITE_PROPERTIES.
+
+2008-09-22 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Even when they
+ are never assigned, volatile entities are not constant for code
+ generation purposes.
+
+2008-09-21 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/5911
+ * gcc-interface/Makefile.in: Add multilib handling for x86_64
+ and sparc.
+ * system-linux-sparcv9.ads: New file.
+
+2008-09-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_dbug.ads: Document new convention for the XVZ variable.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Generate
+ debug info if necessary for the type padding the component type.
+ <E_Array_Subtype>: Likewise.
+ (maybe_pad_type): Emit the XVZ variable in units.
+ * gcc-interface/trans.c (Loop_Statement_to_gnu): Fix formatting nits.
+ (Subprogram_Body_to_gnu): Set the source line of the subprogram's node
+ on statements generated to initialize the parameter attributes cache.
+ Set the source line of the end label of the body on the special return
+ statement built for a procedure with copy-in copy-out parameters.
+
+2008-09-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/37585
+ * gcc-interface/utils.c (create_subprog_decl): Disable inlining for
+ inlined external functions if they contain a nested function not
+ declared inline.
+
+2008-09-18 Jan Hubicka <jh@suse.cz>
+
+ * gcc-interface/utils.c (create_subprog_decl): Use DECL_DECLARED_INLINE_P.
+ (end_subprog_body): Do not set DECL_INLINE.
+
+2008-09-17 Pascal Rigaux <pixel@mandriva.com>
+
+ PR ada/21327
+ * gnat_ugn.texi: Use proper format in direntry.
+
+2008-09-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gigi): Declare the name of the compilation
+ unit as the first global name.
+
+2008-09-14 Jan Hubicka <jh@suse.cz>
+
+ * gcc-interface/Make-lang.in (gnat1): Add CFLAGS.
+
+2008-09-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * a-crbtgk.adb, a-direct.ads, a-tasatt.adb, ali.ads,
+ bindgen.adb, checks.adb, einfo.ads, exp_aggr.adb, exp_ch11.adb,
+ exp_ch3.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
+ exp_dbug.ads, exp_disp.adb, exp_dist.adb, exp_pakd.adb,
+ exp_util.adb, g-alveop.ads, g-comlin.adb, g-comlin.ads,
+ g-diopit.adb, g-socket.ads, gcc-interface/decl.c,
+ gcc-interface/gigi.h, gcc-interface/trans.c,
+ lib-load.adb, lib-xref.ads, make.adb, mlib-prj.adb, nlists.ads,
+ opt.ads, par-ch10.adb, par-ch5.adb, par.adb, s-os_lib.ads,
+ s-oscons-tmplt.c, s-parint.ads, s-regpat.ads, s-shasto.ads,
+ s-stausa.ads, s-taprop-vms.adb, sem.adb, sem_ch10.adb,
+ sem_ch11.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb,
+ sem_ch3.ads, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
+ sem_elim.adb, sem_prag.adb, sem_util.adb, sem_util.ads,
+ sem_warn.adb, sinfo.ads, styleg.adb, vms_data.ads: Fix typos in
+ comments.
+ * gnathtml.pl: Fix typos.
+
+2008-09-10 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * gcc-interface/Makefile.in: Switch RTEMS to s-interr-hwint.adb.
+ * s-osinte-rtems.ads: Add shared hardware interrupt adapter
+ layer. RTEMS binds to OS provided adapter routines so there are
+ no modifications to s-osinte-rtems.adb.
+
+2008-09-09 Arnaud Charlet <charlet@adacore.com>
+ Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * gcc-interface/Makefile.in: Switch VxWorks to s-interr-hwint.adb.
+
+ * s-interr-vxworks.adb: Renamed to s-interr-hwint.adb
+
+ * s-interr-hwint.adb: New file.
+
+ * s-osinte-vxworks.ads, s-osinte-vxworks.adb: Add new functions
+ needed by s-interr-hwint.adb.
+
+ * s-osinte-vxworks-kernel.adb: New file.
+
+2008-09-05 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * s-stchop-rtems.adb: Add file missed in early commit. Already
+ referenced in gcc-interface/Makefile.in.
+
+2008-08-30 Thomas Quinot <quinot@adacore.com>
+
+ * gcc-interface/Make-lang.in: Allow s-oscons.{o,ali} to
+ be built even without a separate libada directory.
+
+2008-08-22 Arnaud Charlet <charlet@adacore.com>
+
+ * lib-xref.ads: Fix typo in subprogram reference definition.
+
+2008-08-22 Robert Dewar <dewar@adacore.com>
+
+ * s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-strops.adb: Minor code fix
+ to avoid warning.
+
+ * g-trasym.adb: Ditto
+
+ * s-utf_32.adb (Get_Category): Fix obvious typo
+
+ * s-wwdcha.adb: Minor code reorganization
+ Remove dead code
+
+2008-08-22 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Determine_Range): Deal with values that might be invalid
+
+ * opt.adb, opt.ads (Assume_No_Invalid_Values[_Config]): New
+ configuration switches.
+
+ * par-prag.adb: Dummy entry for pragma Assume_No_Invalid_Values
+
+ * sem_prag.adb: Implement pragma Assume_No_Default_Values
+
+ * snames.adb, snames.ads, snames.h:
+ Add entries for pragma Assume_No_Invalid_Values
+
+ * switch-c.adb: Add processing for -gnatB switch
+
+ * usage.adb: Add entry for flag -gnatB (no bad invalid values)
+
+2008-08-22 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Build_Init_Statements): Transfer to the body of the
+ init procedure all the expanded code associated with the spec of
+ task types and protected types.
+
+2008-08-22 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_aggr.adb (Static_Array_Aggregate): Call Analyze_And_Resolve on the
+ component expression copies rather than directly setting Etype and
+ Is_Static_Expression.
+
+2008-08-22 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_util.adb (Has_Preelaborable_Initialization): Revise checking of
+ private types to allow for types derived from a private type with
+ preelaborable initialization, but return False for a private extension
+ (unless it has the pragma).
+
+2008-08-22 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads: Minor code reorganization (put entries in alpha order)
+
+2008-08-22 Pascal Obry <obry@adacore.com>
+
+ * initialize.c, adaint.c: Use Lock_Task and Unlock_Task for non-blocking
+ spawn.
+
+2008-08-22 Geert Bosch <bosch@adacore.com>
+
+ * gcc-interface/trans.c: Define FP_ARITH_MAY_WIDEN
+ (convert_with_check): Only use longest_float_type if FP_ARITH_MAY_WIDEN is 0
+
+2008-08-22 Doug Rupp <rupp@adacore.com>
+
+ * bindgen.adb [VMS] (Gen_Adainit_Ada, Gen_Adainit_C): Import and call
+ __gnat_set_features.
+
+ * init.c
+ (__gnat_set_features): New function.
+ (__gnat_features_set): New tracking variable.
+ (__gl_no_malloc_64): New feature global variable
+
+2008-08-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Use_One_Type): Do not emit warning message about redundant
+ use_type_clause in an instance.
+
+2008-08-22 Bob Duff <duff@adacore.com>
+
+ * exp_ch6.ads: Remove pragma Precondition, since it breaks some builds.
+
+2008-08-22 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch6.adb: Minor reformatting
+
+ * exp_ch7.adb: Minor reformatting
+
+ * exp_ch7.ads: Put routines in proper alpha order
+
+ * exp_dist.adb: Minor reformatting
+
+2008-08-22 Vincent Celier <celier@adacore.com>
+
+ * prj.ads: Minor comment update
+
+2008-08-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb (One_Bound): Fix latent bug involving secondary stack
+
+2008-08-22 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_tss.adb:
+ (Base_Init_Proc): For a protected subtype, use the base type of the
+ corresponding record to locate the propoer initialization procedure.
+
+2008-08-22 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb:
+ (In_Subrange_Of): New calling sequence
+ (Determine_Range): Prepare for new processing using base type
+
+ * exp_ch4.adb:
+ (Compile_Time_Compare): Use new calling sequence
+
+ * exp_ch5.adb:
+ (Compile_Time_Compare): Use new calling sequence
+
+ * sem_eval.adb:
+ (Compile_Time_Compare): New calling sequence allows dealing with
+ invalid values.
+ (In_Subrange_Of): Ditto
+
+ * sem_eval.ads:
+ (Compile_Time_Compare): New calling sequence allows dealing with
+ invalid values.
+ (In_Subrange_Of): Ditto
+
+2008-08-22 Pascal Obry <obry@adacore.com>
+
+ * adaint.c: Fix possible race condition on win32_wait().
+
+2008-08-22 Bob Duff <duff@adacore.com>
+
+ * exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb, freeze.adb,
+ exp_ch4.adb, exp_ch6.ads, exp_ch6.adb, sem_ch6.adb, exp_aggr.adb,
+ exp_intr.adb, exp_ch3.adb: Rename:
+ Exp_Ch7.Controlled_Type => Needs_Finalization
+ Exp_Ch7.CW_Or_Controlled_Type => CW_Or_Has_Controlled_Part
+ Exp_Ch5.Expand_N_Extended_Return_Statement.Controlled_Type =>
+ Has_Controlled_Parts
+ (Has_Some_Controlled_Component): Fix bug in array case.
+
+2008-08-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch8.adb: Minor reformatting
+
+2008-08-22 Kevin Pouget <pouget@adacore.com>
+
+ * s-shasto.ads, s-shasto.adb: Move Shared_Var_ROpen, Shared_Var_WOpen and
+ Shared_Var_Close procedure specifications from package spec to package body.
+
+ * rtsfind.ads: Remove RE_Shared_Var_Close, RE_Shared_Var_ROpen,
+ RE_Shared_Var_WOpen entries.
+
+ * exp_dist.adb: Update RE_Any_Content_Ptr to RE_Any_Container_Ptr in
+ Build_To_Any_Call, Build_TypeCode_Call and Build_From_Any_Call procedures.
+
+2008-08-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * init.c: adjust EH support code on Alpha/Tru64 as well.
+
+ * raise-gcc.c: Add back a couple of comments.
+
+2008-08-22 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Simple_Function_Return): If secondary stack is
+ involved and the return type is class-wide, use the type of the expression
+ for the generated access type. Suppress useless discriminant checks on the
+ allocator.
+
+2008-08-22 Bob Duff <duff@adacore.com>
+
+ * exp_ch7.adb: Minor comment fix
+
+ * exp_ch6.ads: Minor comment fix
+
+2008-08-22 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch8.adb: Minor reformatting
+ Minor code reorganization (introduce subprogram to factor duplicated
+ code).
+
+2008-08-22 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Change the description of gnatcheck default rule
+ settings.
+
+2008-08-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * init.c (__gnat_adjust_context_for_raise): Delete for AIX, HP-UX,
+ Solaris, FreeBSD, VxWorks and PowerPC/Linux. For x86{-64}/Linux,
+ do not adjust the PC anymore.
+ (__gnat_error_handler): Do not call __gnat_adjust_context_for_raise
+ on AIX, HP-UX, Solaris, FreeBSD and VxWorks.
+
+ * raise-gcc.c (get_call_site_action_for): Use _Unwind_GetIPInfo
+ instead of _Unwind_GetIP.
+
+2008-08-22 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_aggr.adb (Static_Array_Aggregate): When a static array aggregate
+ with a range is transformed into a positional aggregate, any copied
+ component literals should be marked Is_Static_Expression.
+
+ * sem_eval.adb (Compile_Time_Known_Value): Don't treat null literals as
+ not being known at at compile time when Configurable_Run_Time_Mode is
+ true.
+
+2008-08-22 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb:
+ (Expand_N_Attribute_Reference): No validity checking on OUT parameter of
+ Read or Input attribute.
+
+2008-08-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Use_One_Type): when checking which of two use_type
+ clauses in related units is redundant, if one of the units is a package
+ instantiation, use its instance_spec to determine which unit is the
+ ancestor of the other.
+
+2008-08-22 Javier Miranda <miranda@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): In case of access
+ attributes add missing support to handle designated types that come
+ from the limited view.
+
+ * exp_disp.adb (Expand_Interface_Conversion): Remove wrong assertion.
+
+2008-08-22 Sergey Rybin <rybin@adacore.com>
+
+ * vms_data.ads: Add entry for new gnatcheck -mNNN option
+
+ * gnat_ugn.texi: Add description for gnatcheck option '-m'
+
+2008-08-22 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Update the gnatcheck subsection for metric rules
+ acoording to the latest changes in the metric rule interface
+
+2008-08-22 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Check.File_Not_A_Source_Of): New Boolean function
+ (Check): Check if the file names registered in the ALI file for the
+ spec, the body and each of the subunits are the ones expected.
+
+2008-08-22 Robert Dewar <dewar@adacore.com>
+
+ * g-catiio.adb: Code cleanup.
+
+2008-08-20 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Gnatmake): Remove extra space in version line
+
+ * ali.adb:
+ (Scan_ALI): Use Name_Find, not Name_Enter to get the name of a subunit,
+ as the name may already have been entered in the table by the Project
+ Manager.
+
+2008-08-20 Jose Ruiz <ruiz@adacore.com>
+
+ * errno.c (__get_errno, __set_errno for MaRTE): Transform then into
+ weak symbols so we use the version provided by MaRTE when available.
+
+2008-08-20 Emmanuel Briot <briot@adacore.com>
+
+ * g-catiio.ads, g-catiio.adb:
+ (Value): Avoid an unnecessary system call to Clock in most cases.
+ This call is only needed when only the time is provided in the string,
+ and ignored in all other cases. This is more efficient.
+
+2008-08-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * raise-gcc.c: Fix formatting nits.
+
+2008-08-20 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb:
+ (Adjust_Record_For_Reverse_Bit_Order): Do not access First_Bit for
+ non-existing component clause.
+
+ * exp_ch5.adb: Minor reformatting
+
+ * g-comlin.adb: Minor reformatting
+
+ * make.adb: Minor reformatting
+
+ * prj-proc.adb: Minor reformatting
+
+ * stylesw.ads: Minor reformatting
+
+2008-08-20 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Gnatmake_Switch_Found): New Boolean global variable
+ (Switch_May_Be_Passed_To_The_Compiler): New Boolean global variable
+ (Add_Switches): New Boolean parameter Unknown_Switches_To_The_Compiler
+ defaulted to True. Fail when Unknown_Switches_To_The_Compiler is False
+ and a switch is not recognized by gnatmake.
+ (Gnatmake): Implement new scheme for gnatmake switches and global
+ compilation switches.
+ (Switches_Of): Try successively Switches (<file name>),
+ Switches ("Ada"), Switches (others) and Default_Switches ("Ada").
+
+2008-08-20 Ed Schonberg <schonberg@adacore.com>
+
+ * styleg-c.ads, styleg-c.adb (Missing_Overriding): new procedure to
+ implement style check that overriding operations are explicitly marked
+ at such.
+
+ * style.ads (Missing_Overriding): new procedure that provides interface
+ to previous one.
+
+ * stylesw.ads, stylesw.adb: New style switch -gnatyO, to enable check
+ that the declaration or body of overriding operations carries an
+ explicit overriding indicator.
+
+ * sem_ch8.adb
+ (Analyze_Subprogram_Renaming): if operation is overriding, check whether
+ explicit indicator should be present.
+
+ * sem_ch6.adb (Verify_Overriding_Indicator,
+ Check_Overriding_Indicator): If operation is overriding, check whether
+ declaration and/or body of subprogram should be present
+
+2008-08-20 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_Naming_Schemes): Accept source file names for
+ gprbuild when casing is MixedCase, whatever the casing of the letters
+ in the file name.
+
+2008-08-20 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch3.adb (Build_Array_Init_Proc): Clarify comment related to
+ creating dummy init proc.
+ (Requires_Init_Proc): Return False in the case No_Default_Initialization
+ is in force and the type does not have associated default
+ initialization. Move test of Is_Public (with tests of restrictions
+ No_Initialize_Scalars and No_Default_Initialization) to end, past tests
+ for default initialization.
+
+2008-08-20 Jerome Lambourg <lambourg@adacore.com>
+
+ * g-comlin.adb (For_Each_Simple_Switch): Take care of switches not part
+ of any alias or prefix but having attached parameters (as \"-O2\").
+
+2008-08-20 Robert Dewar <dewar@adacore.com>
+
+ * s-fileio.adb: Minor reformatting
+
+2008-08-20 Thomas Quinot <quinot@adacore.com>
+
+ * exp_strm.adb (Build_Elementary_Input_Call,
+ Build_Elementary_Write_Call): Fix incorrect condition in circuitry that
+ selects the stream attribute routines for long float types.
+
+2008-08-20 Vincent Celier <celier@adacore.com>
+
+ * prj-proc.adb (Process_Declarative_Items): Add Location for Array_Data
+
+ * prj.ads (Array_Data): Add a component Location
+
+2008-08-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb:
+ (Analyze_Pragma, case Obsolescent): Add entity information on the pragma
+ argument for ASIS and navigation use.
+
+2008-08-20 Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.ads: Add comment.
+
+2008-08-20 Bob Duff <duff@adacore.com>
+
+ * sem_eval.ads: Minor comment fix.
+
+2008-08-20 Bob Duff <duff@adacore.com>
+
+ * exp_ch4.adb (Expand_N_And_Then, Expand_N_Or_Else): Improve constant
+ folding. We were folding things like "False and then ...", but not
+ "X and then ..." where X is a constant whose value is known at compile
+ time.
+
+2008-08-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch5.adb (Controlled_Type): New routine.
+ (Expand_N_Extended_Return_Statement): When generating a move of the
+ final list in extended return statements, check the type of the
+ function and in the case of double expanded return statements, the type
+ of the returned object.
+ (Expand_Simple_Function_Return): Perform an interface conversion when
+ the type of the returned object is an interface and the context is an
+ extended return statement.
+
+2008-08-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Set_Debug_Info_Needed): If the entity is a private type
+ and the full view is visible, set flag on full view as well.
+
+2008-08-20 Thomas Quinot <quinot@adacore.com>
+
+ * g-comlin.adb: Minor reformatting
+ Minor code reorganization.
+
+ * freeze.adb: Minor reformatting
+
+2008-08-20 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_File): An excluded Ada source file may be a
+ source of another project.
+
+2008-08-20 Pascal Obry <obry@adacore.com>
+
+ * s-os_lib.ads: Minor reformatting.
+
+2008-08-20 Arnaud Charlet <charlet@adacore.com>
+
+ * gnatvsn.ads: Minor reformatting.
+
+2008-08-20 Arnaud Charlet <charlet@adacore.com>
+
+ * a-crbtgk.adb, repinfo.adb, g-traceb.ads, repinfo.ads,
+ system-linux-s390x.ads, s-fatflt.ads, s-parame-ae653.ads, g-spipat.adb,
+ g-spipat.ads, g-tasloc.adb, g-debpoo.adb, g-except.ads, g-debpoo.ads,
+ mdll-utl.adb, g-string.adb, g-soliop-solaris.ads, par-sync.adb,
+ exp_ch6.ads, a-cihama.ads, g-curexc.ads, system-linux-sh4.ads,
+ g-utf_32.adb, g-hesorg.adb, s-proinf-irix-athread.ads, s-parint.adb,
+ s-parint.ads, exp_ch7.ads, system-linux-alpha.ads, g-dirope.adb,
+ sinfo-cn.adb, par-labl.adb, a-ciorse.adb, g-calend.adb,
+ s-parame-vms-alpha.ads, nlists.h, exp_imgv.adb, exp_fixd.ads,
+ g-calend.ads, gnatcmd.ads, g-table.adb, s-memory-mingw.adb,
+ g-alveop.ads, g-memdum.ads, g-altive.ads, initialize.c, g-regpat.adb,
+ g-busorg.ads, g-regpat.ads, g-encstr.ads, g-regexp.adb, g-regexp.ads,
+ live.ads, g-dyntab.adb, prj-nmsc.ads, par-ch12.adb, 9drpc.adb,
+ g-alvevi.ads, s-memory.adb, math_lib.adb, s-parame.ads, s-memory.ads,
+ s-regexp.adb, a-exexda.adb, i-cstrea-vms.adb, a-exexpr.adb,
+ g-soliop-mingw.ads, s-imgrea.adb, namet.adb, system-vms.ads,
+ s-inmaop-dummy.adb, s-finroo.ads, a-ngcefu.adb, s-hibaen.ads,
+ g-soliop.ads, s-auxdec.adb, g-locfil.ads, gnatxref.adb, memroot.adb,
+ osint-b.ads, memroot.ads, s-parame-hpux.ads, errutil.adb,
+ system-linux-s390.ads, par-util.adb, osint-c.ads, exp_pakd.ads,
+ i-pacdec.ads, par-endh.adb, mlib-tgt.ads, prj-strt.ads,
+ s-osprim-vms.adb, s-proinf.ads, output.ads, g-moreex.ads,
+ a-finali.ads, s-fatlfl.ads, namet.h, mdll.ads, g-dynhta.ads,
+ s-imgenu.ads, par-tchk.adb, g-excact.ads, memtrack.adb, s-fatgen.adb,
+ a-exexpr-gcc.adb, g-arrspl.adb, par-ch4.adb, g-cgideb.adb, freeze.ads,
+ g-altcon.adb, s-fatllf.ads, gnatfind.adb, s-osinte-lynxos-3.adb,
+ a-exextr.adb, g-htable.ads, a-calfor.adb, s-imgcha.adb, argv.c,
+ a-chahan.ads, g-hesora.adb, system-vms_64.ads, par-ch5.adb, g-md5.adb,
+ lib-xref.ads, g-md5.ads, g-casuti.ads, s-fatsfl.ads, exp_dbug.ads,
+ s-htable.ads, a-ngcoar.adb, s-arit64.ads, a-ngelfu.adb, a-filico.ads,
+ par-ch6.adb, s-inmaop.ads, s-parame-vxworks.ads, s-casuti.ads,
+ a-numaux-darwin.adb, a-cohama.ads, system-linux-sparc.ads, g-os_lib.adb,
+ system-vms-ia64.ads, s-parame-vms-restrict.ads, a-clrefi.ads,
+ s-parame-vms-ia64.ads, a-strfix.adb, a-coorse.adb, a-comlin.ads,
+ a-chtgke.adb, s-imgint.adb, g-expect.ads, exp_ch4.ads, s-finimp.adb,
+ mingw32.h, g-heasor.adb, g-alleve.adb, a-ngrear.adb, s-mastop-irix.adb,
+ s-poosiz.adb, link.c: Fix copyright notice.
+
+2008-08-20 Arnaud Charlet <charlet@adacore.com>
+
+ * g-comlin.ads: Update comments.
+
+2008-08-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Inherit Is_Imported flag.
+
+2008-08-20 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch11.adb:
+ (Expand_Exception_Handlers): Call Make_Exception_Handler instead of
+ Make_Implicit_Exception_Handler when rewriting an exception handler with
+ a choice parameter, and pass the handler's Sloc instead of that of the
+ handled sequence of statements. Make_Implicit_Exception_Handler sets the
+ Sloc to No_Location (unless debugging generated code), which we don't
+ want for the case of a user handler.
+
+2008-08-20 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): Improve msg for non-contiguous field
+
+ * sem_ch13.adb:
+ (Adjust_Record_For_Reverse_Bit_Order): Messages about layout are
+ now labeled as info msgs, not warnings.
+
+ * tbuild.ads: Clarify documentation of Make_Implicit_Exception_Handler
+
+ * usage.adb: Minor change to avoid overlong line for -gnatwz/Z
+
+ * a-textio.adb: Remove redundant test.
+
+ * a-witeio.adb: Minor code reorganization
+ Remove redundant test found working on another issue
+
+ * a-ztexio.adb: Minor code reorganization
+ Remove redundant test found working on another issue
+
+2008-08-20 Thomas Quinot <quinot@adacore.com>
+
+ * s-fileio.adb (Open) Use C helper function to determine whether a
+ given errno value corresponds to a "file not found" error.
+
+ * sysdep.c (__gnat_is_file_not_found_error): New C helper function.
+
+2008-08-20 Jose Ruiz <ruiz@adacore.com>
+
+ * errno.c (__get_errno for MaRTE): Use the MaRTE function pthread_errno
+ to get access to the per-task errno variable.
+ (__set_errno for MaRTE): Do not redefine this function here since it is
+ already defined in MaRTE.
+
+2008-08-20 Tristan Gingold <gingold@adacore.com>
+
+ * gnat_ugn.texi: Gcov is not supported on static library on AIX.
+
+2008-08-20 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb: Minor reformatting
+
+ * g-comlin.adb: Minor reformatting
+
+ * g-socket.adb: Minor reformatting
+
+ * g-socthi-mingw.adb: Minor reformatting
+
+ * g-stheme.adb: Minor reformatting
+
+2008-08-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb, sem_type.adb, exp_ch9.ads, einfo.ads,
+ exp_ch6.adb, exp_aggr.adb (Valid_Ancestor): Resolve
+ confusion between partial and full views of an ancestor of the context
+ type when the parent is a private extension declared in a parent unit,
+ and full views are available for the context type.
+
+2008-08-18 Samuel Tardieu <sam@rfc1149.net>
+ Robert Dewar <dewar@adacore.com>
+
+ PR ada/30827
+ * bindgen.adb (Gen_Output_File_Ada): Zero-terminate the
+ version string.
+ Move comment in the right place.
+ * g-comver.adb (Version): Look for a zero-termination in
+ addition to a closing parenthesis.
+
+2008-08-18 Samuel Tardieu <sam@rfc1149.net>
+
+ * exp_ch13.adb, exp_disp.adb, sem_cat.adb, sem_ch10.adb,
+ * sem_ch12.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
+ * sem_prag.adb, sem_util.adb, sem_warn.adb: Use
+ Is_Package_Or_Generic_Package instead of hand-crafted tests.
+
+2008-08-18 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/15808
+ * sem_ch6.adb (Check_Private_Overriding): Check for generic packages
+ as well.
+
+2008-08-17 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ * adaint.c (_gnat_set_close_on_exec) [_WIN32]: Implement.
+
+2008-08-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (call_to_gnu): Use the Sloc of the call
+ for back-copy statements in lieu of that of the actual.
+
+2008-08-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/20548
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Use DECL_SIZE_UNIT in the
+ setjmp test consistently. Adjust for new behavior of flag_stack_check.
+ * gcc-interface/utils2.c (build_call_alloc_dealloc): Remove redundant
+ test of flag_stack_check. Adjust for new behavior of flag_stack_check.
+
+2008-08-13 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/36777
+ * sem_util.ads, sem_util.adb (Is_Protected_Self_Reference): New.
+ * sem_attr.adb (Check_Type): The current instance of a protected
+ object is not a type name.
+ (Analyze_Access_Attribute): Accept instances of protected objects.
+ (Analyze_Attribute, Attribute_Address clause): Ditto.
+ * exp_attr.adb (Expand_N_Attribute_Reference): Rewrite
+ the prefix as being the current instance if needed.
+
+2008-08-12 Danny Smith <danyssmith@users.sourceforge.net>
+
+ * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS) [WINDOWS]:
+ Remove duplicate s-win32.o. Add s-winext.o.
+
+2008-08-12 Danny Smith <danyssmith@users.sourceforge.net>
+
+ * g-stsifd-sockets.adb (Create): Replace Constants.SOCK_STREAM
+ with SOSC.SOCK__STREAM.
+ * g-socthi-mingw.adb (C_Select) Replace Constants.MSG_OOB with
+ SOSC.MSG_OOB.
+
+2008-08-11 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * s-oscons-tmplt.c: RTEMS defines AF_INET6 but does support it.
+ * gsocket.h, socket.c: Update to support RTEMS.
+ * gcc-interface/Make-lang.in: Include CFLAGS_FOR_TARGET when cross.
+
+2008-08-10 Samuel Tardieu <sam@rfc1149.net>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Op_Expon): Force evaluation of
+ left argument even when right argument is 0.
+ (Expand_N_Op_Mod): Ditto when right argument is 1.
+ (Expand_N_Op_Multiply): Ditto when any argument is 0.
+ (Expand_N_Op_Rem): Ditto when right argument is 1.
+
+2008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ * gcc-interface/misc.c (gnat_handle_option): Replace set_Wunused
+ by warn_unused.
+
+2008-08-08 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Generate_Prim_Op_References): New procedure, abstracted
+ from Freeze_Entity. Used to generate cross-reference information for
+ types declared in generic packages.
+
+2008-08-08 Thomas Quinot <quinot@adacore.com>
+
+ * gcc-interface/Makefile.in: Reintroduce g-soccon.ads as a
+ compatibility shim.
+
+2008-08-08 Thomas Quinot <quinot@adacore.com>
+
+ * gsocket.h:
+ On Windows, include <errno.h> and redefine only selected errno values
+ from their <winsock2.h> definitions.
+
+ * s-osinte-freebsd.ads: Minor reformatting
+
+ * s-osinte-hpux.ads, s-osinte-irix.ads: Minor reformatting
+
+ * g-soccon.ads: New file.
+
+ * g-stheme.adb, g-socthi-vms.adb, g-socthi-vxworks.adb,
+ g-socthi-mingw.adb, g-sttsne-vxworks.adb, g-socthi.adb,
+ g-stsifd-sockets.adb, g-socket.adb, g-socket.ads,
+ g-sothco.adb, g-sothco.ads: Add back GNAT.Sockets.Constants as a child
+ unit, to allow building software that depends on this internal unit
+ with both older and newer compilers.
+
+2008-08-08 Robert Dewar <dewar@adacore.com>
+
+ * s-strxdr.adb: Minor reformatting
+
+2008-08-08 Bob Duff <duff@adacore.com>
+
+ * gnat_ugn.texi: The "Run-Time Checks" section said "arithmetic overflow
+ checking for integer operations (including division by zero)", which
+ is wrong -- divide by zero is not part of overflow checking.
+ Also added misc clarification about what check-suppression means.
+
+ * gnat_rm.texi: Clarify the meaning of pragma Suppress.
+
+2008-08-08 Jerome Lambourg <lambourg@adacore.com>
+
+ * g-comlin.adb (Add_Switch): Handle addition of switches at the
+ begining of the command line.
+ (Append, Add): Renaming of Append to Add as this now allows addition
+ at the begining of the list.
+
+ * g-comlin.ads (Add_Switch): Handle addition of switches at the
+ begining of the command line.
+
+2008-08-08 Thomas Quinot <quinot@adacore.com>
+
+ * g-sercom.ads:
+ (Name): Document application scope (only legacy PC serial ports on
+ Linux and Windows).
+
+2008-08-08 Thomas Quinot <quinot@adacore.com>
+
+ * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Revert
+ previous change, not needed after all.
+
+2008-08-08 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_Allocator_Expression): add check if null
+ exclusion indicator is present
+
+2008-08-08 Robert Dewar <dewar@adacore.com>
+
+ * g-comlin.adb: Minor code reorganization
+ Minor reformatting
+
+ * g-comlin.ads: Minor reformatting
+
+ * s-fileio.adb: Minor reformatting
+
+ * sem_attr.adb: Minor code reorganization (use Nkind_In)
+ Minor reformatting
+
+2008-08-06 Samuel Tardieu <sam@rfc1149.net>
+
+ * gcc-interface/Make-lang.in: Use GCC_FOR_TARGET when dealing
+ with s-oscons-tmplt.i.
+
+2008-08-06 Samuel Tardieu <sam@rfc1149.net>
+
+ * gcc-interface/Make-lang.in (OSCONS_CPPFLAGS): Remove.
+
+2008-08-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Analyze_Component_Declaration): Protect against misuse
+ of incomplete type.
+
+ * sem_ch8.adb (Analyze_Object_Renaming): Diagnose properly a renaming
+ of a formal parameter of an incomplete type. Improve error message for
+ other improper uses of incomplete types.
+
+2008-08-06 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Clarify -gnato documentation
+
+2008-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * gcc-interface/Makefile.in,
+ g-socthi-vxworks.adb, g-socthi-mingw.adb, g-sttsne-vxworks.adb,
+ g-socthi.adb, g-socket.adb, g-socket.ads, g-sothco.ads,
+ g-soccon-linux-x86.ads, g-soccon-vxworks.ads, g-soccon-mingw.ads,
+ g-soccon-hpux-ia64.ads, g-soccon-irix.ads, g-soccon-linux-64.ads,
+ g-soccon-aix.ads, g-soccon-solaris.ads, g-soccon-lynxos.ads,
+ g-soccon-vms.ads, g-soccon.ads, g-soccon-freebsd.ads,
+ g-soccon-linux-ppc.ads, g-soccon-tru64.ads, g-soccon-hpux.ads,
+ g-soccon-solaris-64.ads, gen-oscons.c, g-soccon-darwin.ads,
+ g-soccon-mingw-64.ads, g-soccon-linux-mips.ads, g-soccon-rtems.ads:
+ Remove GNAT.Sockets.Constants. This internal package is replaced by
+ System.OS_Constants.
+
+2008-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * gcc-interface/Makefile.in, gcc-interface/Make-lang.in:
+ Remove obsolete targets referencing gen-soccon
+ When generating s-oscons.ads, use a file name that includes the
+ THREAD_KIND, to ensure that the (potentially different) version from a
+ previous build with a different threads flavour does not get reused.
+
+2008-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb: Minor reformatting
+
+ * s-fileio.adb (Open): When file open operation fails, raise Name_Error
+ only when the operating system reports a non-existing file or directory
+ (ENOENT), otherwise raise Name_Error.
+
+ * exp_ch11.adb: Minor reformatting
+
+2008-08-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Access_Subprogram_Declaration): If the return type is
+ incomplete, add the access_to_subprogram type to the list of private
+ dependents only if the incomplete type will be completed in the current
+ scope.
+ (Build_Discriminant_Constraints): If the type of the discriminant is
+ access_to_variable, reject a constraint that is access_to_constant.
+
+2008-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket-dummy.adb, g-socket-dummy.ads, g-sothco-dummy.adb,
+ g-sothco-dummy.ads, g-socthi-dummy.adb, g-socthi-dummy.ads,
+ g-sttsne-dummy.ads: New files.
+
+ * gcc-interface/Makefile.in, Makefile.rtl: Use placeholder sources
+ with pragma Unimplemented_Unit for sockets packages on Nucleus.
+
+2008-08-06 Pascal Obry <obry@adacore.com>
+
+ * adaint.c: Another fix for ACL support on Windows.
+
+2008-08-06 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp (Expand_Interface_Actuals): Adds missing support for
+ expansion of calls to subprograms using selected components.
+
+2008-08-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Call): Use base type to determine whether a
+ dereference is needed because a subtype of an access_to_subprogram is
+ simply an access-subtype
+
+2008-08-06 Jerome Lambourg <lambourg@adacore.com>
+
+ * g-comlin.adb (Set_Command_Line): Now that aliases can contain
+ parameters, always specify the expected separator.
+
+2008-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * xnmake.adb: Use new XUtil package for platform independent text
+ output.
+
+2008-08-06 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi: Document compiler switch -gnateG
+
+2008-08-06 Quentin Ochem <ochem@adacore.com>
+
+ * s-stausa.adb (Fill_Stack): Fixed pragma assert and top pattern mark
+ in the case of an empty pattern size.
+ (Compute_Result): Do not do any computation in the case of an empty
+ pattern size.
+ (Report_Result): Fixed computation of the overflow guard.
+
+2008-08-06 Ed Schonberg <schonberg@adacore.com>
+
+ * g-awk.adb (Finalize): Do not use directly objects of the type in the
+ finalization routine to prevent elaboration order anomalies in new
+ finalization scheme.
+
+2008-08-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Find_Type_Name): protect against duplicate incomplete
+ declaration for the same type.
+
+2008-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * sem.adb: Minor rewording (comment)
+
+2008-08-06 Jerome Lambourg <lambourg@adacore.com>
+
+ * g-comlin.adb (Define_Switch, Get_Switches): New.
+ (Can_Have_Parameter, Require_Parameter, Actual_Switch): New, used when
+ ungrouping switches.
+ (For_Each_Simple_Switch): Allow more control over parameters handling.
+ This generic method now allows ungrouping of switches with parameters
+ and switches with more than one letter after the prefix.
+ (Set_Command_Line): Take care of switches that are prefixed with a
+ switch handling parameters without delimiter (-gnatya and -gnaty3 for
+ example).
+ (Add_Switch, Remove_Switch): Handle parameters possibly present inside
+ a group, as in gnaty3aM80 (3 and 80 are parameters). Report status of
+ the operation.
+ (Start, Alias_Switches, Group_Switches): Take care of parameters
+ possibly present inside a group.
+
+ * g-comlin.ads (Define_Switch): New method used to define a list of
+ expected switches, that are necessary for correctly ungrouping switches
+ with more that one character after the prefix.
+ (Get_Switches): Method that builds a getopt string from the list of
+ switches as set previously by Define_Switch.
+ (Add_Switch, Remove_Switch): New versions of the methods, reporting the
+ status of the operation. Also allow the removal of switches with
+ parameters only.
+ (Command_Line_Configuration_Record): Maintain a list of expected
+ switches.
+
+2008-08-06 Doug Rupp <rupp@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_param): Force 32bit descriptor if
+ TARGET_MALLOC64 clear.
+
+ * gcc-interface/utils2.c (build_call_alloc_dealloc): Force 32bit malloc
+ if TARGET_MALLOC64 clear.
+
+ * gcc-interface/gigi.h (TARGET_ABI_OPEN_VMS): Move here from utils2.c
+ (TARGET_MALLC64): New macro. Default to clear.
+
+2008-08-06 Doug Rupp <rupp@adacore.com>
+
+ * gcc-interface/utils2.c (snames.h) Include
+ (TARGET_ABI_OPEN_VMS): Initialize.
+ (build_call_alloc_dealloc); [TARGET_ABI_OPEN_VMS] Allocate on 32bit heap
+ for Convention C.
+
+2008-08-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Process_Discriminants): diagnose redundant or improper
+ null exclusion in a discriminant declaration
+
+ * sem_ch8.adb (Analyze_Object_Renaming): diagnose null exclusion
+ indicators when type is not an access type.
+
+ * sem_ch12.adb (Formal_Object_Declaration): diagnose null exclusion
+ indicators when type is not an access type.
+
+2008-08-06 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp (Expand_Interface_Conversion): Freeze the entity associated
+ with the target interface before expanding the code of the interface
+ conversion.
+
+2008-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb:
+ (Freeze_Entity): A deferred constant does not violate the restriction
+ No_Default_Initialization,
+
+ * sem_ch3.adb (Process_Subtype): An allocator is a valid construct that
+ can carry a null exclusion indicator, and on which an error may be
+ posted if the indicator is redundant.
+
+ * sem_ch8.adb (Analyze_Object_Renaming): Verify that a null exclusion
+ does not apply to a subtype mark that already excludes null.
+
+ * sem_ch12.adb (Formal_Object_Declaration): Verify that a null
+ exclusion does not apply to a subtype mark that already excludes null.
+
+2008-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * Makefile.rtl: Compile s-oscons.ads as part of the runtime library.
+
+2008-08-05 Doug Rupp <rupp@adacore.com>
+
+ * vms_data.ads: Translation for /POINTER_SIZE qualifier.
+
+2008-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * gsocket.h: Make this file includable in a Nucleus environment, which
+ does not support sockets.
+
+ * socket.c: Remove Nucleus-specific hack.
+
+2008-08-05 Pascal Obry <obry@adacore.com>
+
+ * adaint.c: Remove support for readable attribute on vxworks and nucleus
+
+2008-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb:
+ (Analyze_Attribute, case 'Result): handle properly the case where some
+ operand of the expression in a post-condition generates a transient
+ block.
+
+ * sem_ch5.adb (Analyze_Assignment_Statement): Apply conversion to
+ right-hand side when it is an anonymous access_to_subprogram, to force
+ static accessibility check when needed.
+
+2008-08-05 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Changing the description of the gnatcheck metrics
+ rule according to the change in the rule option.
+ Add documentation for -gnatw.b/-gnatw.B
+
+2008-08-05 Robert Dewar <dewar@adacore.com>
+
+ * ug_words: Add entries for -gnatw.b/-gnatw.B
+
+ * vms_data.ads: Add entries for -gnatw.b/-gnatw.B
+
+2008-08-05 Vincent Celier <celier@adacore.com>
+
+ * a-wtdeio.adb (Put (Current_Output)): Use Fore in the call to Put
+ (File).
+
+ * a-ztdeio.adb: Ditto.
+
+2008-08-05 Pascal Obry <obry@adacore.com>
+
+ * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Add support for the
+ readable attribute.
+
+2008-08-05 Vincent Celier <celier@adacore.com>
+
+ * s-wchwts.adb:
+ (Wide_String_To_String): Returns a String with the same 'First as its
+ parameter S.
+ (Wide_Wide_String_To_String): Ditto
+
+ * s-wchwts.ads:
+ (Wide_String_To_String): Document that the lowest index of the returned
+ String is equal to S'First.
+
+2008-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * xoscons.adb, xutil.ads, xutil.adb, s-oscons-tmplt.c: New files.
+
+ * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Generate
+ s-oscons.ads
+
+2008-08-05 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads (Warn_On_Biased_Representation): New flag
+
+ * sem_ch13.adb:
+ (Analyze_Attribute_Definition_Clause): Issue warning when biased
+ representation is required.
+ (Minimum_Size): Don't allow biasing if enum rep clause case
+
+ * sem_warn.adb:
+ (Set_Dot_Warning_Switch): Add handling of -gnatw.b/B switches
+ (Set_Warning_Switch): Include -gnatw.b in -gnatwa, -gnatw.B in gnatws
+
+ * usage.adb: Add lines for -gnatw.b/B switches
+
+2008-08-05 Pascal Obry <obry@adacore.com>
+
+ * a-coinve.adb: Reorder the code to avoid uninitialized warning.
+
+ * adaint.c: In UNIX cases do not call __gnat_stat but stat directly.
+
+2008-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * socket.c: Minor reformatting.
+
+2008-08-05 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting
+
+ * prj-nmsc.adb: Minor reformatting
+
+2008-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Validate_Array_Type_Instance): Only apply complex
+ visibility check on the component type if the simple test fails.
+
+2008-08-05 Jose Ruiz <ruiz@adacore.com>
+
+ * init.c (__gnat_install_handler for linux): If we are building the
+ Xenomai run time then we need to do two additional things: avoid
+ memory swapping and transform the Linux environment task into a native
+ Xenomai task.
+
+ * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for xenomai run
+ time): Use interface to Xenomai native skin and avoid linux-specific
+ way of setting CPU affinity.
+ (EH_MECHANISM for the xenomai run time): Use sjlj exception mechanism.
+
+2008-08-05 Bob Duff <duff@adacore.com>
+
+ * checks.ads: Minor comment fix
+
+2008-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb,
+ g-sercom-linux.adb (Data_Bits): Change literals B7 and B8 to CS7 and
+ CS8.
+
+2008-08-05 Robert Dewar <dewar@adacore.com>
+
+ * mlib.adb: Minor code reorganization
+ Minor reformatting
+
+ * make.adb: Minor reformatting
+
+ * prj-attr.ads: Minor reformatting
+
+ * s-os_lib.adb: Minor reformatting
+
+ * s-fileio.adb: Minor code reorganization
+ Minor reformatting
+
+ * prj.ads: Minor reformatting
+
+2008-08-05 Bob Duff <duff@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): Avoid type Any_Access in
+ unresolved initial value of "null", because it causes implicitly
+ generated "=" operators to be ambiguous, and because this type should
+ not be passed to gigi.
+
+2008-08-05 Vincent Celier <celier@adacore.com>
+
+ * mlib.adb: Update comments.
+
+ * make.adb (Switches_Of): Check for Switches (others), before checking
+ for Default_Switches ("Ada").
+ (Gnatmake): Use Builder'Switches (others) in preference to
+ Builder'Default_Switches ("Ada") if there are several mains.
+
+ * prj-attr-pm.adb:
+ (Add_Attribute): Add component Others_Allowed in Attribute_Record
+ aggregate.
+
+ * prj-attr.adb:
+ Add markers to indicates that attributes Switches allow others as index
+ (Others_Allowed_For): New Boolean function, returning True for
+ attributes with the mark.
+ (Initialize): Recognize optional letter 'O' as the marker for
+ associative array attributes where others is allowed as the index.
+
+ * prj-attr.ads:
+ (Others_Allowed_For): New Boolean function
+ (Attribute_Record): New Boolean component Others_Allowed
+
+ * prj-dect.adb:
+ (Parse_Attribute_Declaration): For associative array attribute where
+ others is allowed as the index, allow others as an index.
+
+ * prj-nmsc.adb:
+ (Process_Binder): Skip associative array attributes with index others
+ (Process_Compiler): Ditto
+
+ * prj-util.adb:
+ (Value_Of (Index, In_Array)): Make no attempt to put in lower case when
+ index is All_Other_Names.
+
+ * prj.ads:
+ (All_Other_Names): New constant
+
+ * prj-proc.adb:
+ (Process_Declarative_Items): Skip associative array attribute when index
+ is reserved word "others".
+
+2008-08-05 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * gen-oscons.c: Adapt for VMS where termios.h is not available.
+
+2008-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * a-rttiev.adb: Minor reformatting (comments)
+
+ * gen-soccon.c: Rename to gen-oscons.c
+
+ * gen-oscons.c: New file. Now generate System.OS_Constants instead of
+ GNAT.Sockets.Constants.
+ Add new constants for GNAT.Serial_Communications and System.File_IO.
+
+2008-08-05 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.adb (Collect_Interfaces_Info): Minor reformating.
+ * exp_ch3.adb (Build_Offset_To_Top_Functions): Code cleanup: the
+ implementation of this routine has been simplified.
+
+2008-08-05 Pascal Obry <obry@adacore.com>
+
+ * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Fix the
+ Set_Read_Only Win32 implementation.
+
+2008-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * exp_strm.adb: Minor reformatting (comments)
+
+ * sem_ch12.adb: Minor reformatting.
+
+2008-08-05 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting
+
+ * checks.adb: Minor reformatting
+
+2008-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * tbuild.ads (New_External_Name): Update spec to reflect relaxed
+ restriction on Prefix.
+
+2008-08-05 Jerome Lambourg <lambourg@adacore.com>
+
+ * g-comlin.adb (Sort_Sections, Group_Switches): New/Modified internal
+ methods needed to handle switch sections when building a command line.
+ (Define_Section, Add_Switch, Remove_Switch, Is_New_Section,
+ Current_Section): New public methods or methods modified to handle
+ building command lines with sections.
+ (Set_Command_Line): Take into account sections when analysing a switch
+ string.
+ (Start): Sort the switches by sections before iterating the command line
+ elements.
+
+ * g-comlin.ads (Define_Section, Add_Switch, Remove_Switch,
+ Is_New_Section, Current_Section): New methods or methods modified to
+ handle building command lines with sections.
+
+2008-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For access
+ discriminants, indicate that the corresponding object declaration has
+ no initialization, to prevent spurious warnings when the access type is
+ null-excluding.
+
+2008-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Call): If this is a call to the predefined
+ Abort_Task, warn if the call appears within a protected operation.
+
+2008-08-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_In): Suppress range warnings in instances
+
+2008-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb:
+ (Replace_Anonymous_Access_To_Protected_Subprogram): Handle properly an
+ anonymous access to protected subprogram that is the return type of the
+ specification of a subprogram body.
+
+ * sem_ch6.adb:
+ (Analyze_Subprogram_Body): if the return type is an anonymous access to
+ subprogram, freeze it now to prevent access anomalies in the back-end.
+
+ * exp_ch9.adb: Minor code cleanup.
+ Make sure that new declarations are inserted into the tree before
+ analysis (from code reading).
+
+2008-08-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb:
+ (Expand_Simple_Function_Return): Check No_Secondary_Stack restriction
+ at point of return.
+
+2008-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * sem_type.adb, sem_ch4.adb, sprint.adb, exp_ch3.adb: Minor reformatting
+
+2008-08-04 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * g-soccon-mingw.ads: Fix value for MSG_WAITALL
+
+2008-08-04 Javier Miranda <miranda@adacore.com>
+
+ * sem_prag.adb (Process_Convention): Add missing support for
+ N_Private_Extension_Declaration nodes.
+
+2008-08-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb: Minor reformatting
+
+2008-08-04 Pascal Obry <obry@adacore.com>
+
+ * adaint.h: Add missing prototype.
+
+ * adaint.c: Refine support for Windows file attributes.
+
+2008-08-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb:
+ (Valid_Conversion): Catch case of designated types having different
+ sizes, even though they statically match.
+
+2008-08-04 Javier Miranda <miranda@adacore.com>
+
+ * sem_eval.adb (Subtypes_Statically_Match): Remove superfluous patch
+ added in previous patch to handle access to subprograms.
+
+2008-08-04 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb:
+ (Freeze_Entity): Only check No_Default_Initialization restriction for
+ constructs that come from source
+
+2008-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch6.adb: Minor comment fix.
+
+ * sem_ch4.adb: Minor reformatting.
+
+2008-08-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb: (Large_Storage_Type): Improve previous change.
+
+2008-08-04 Pascal Obry <obry@adacore.com>
+
+ * adaint.c, s-os_lib.adb, s-os_lib.ads: Use Windows ACL to deal with
+ file attributes.
+
+2008-08-04 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Access_Subprogram_Declaration): Adding missing support
+ for N_Formal_Object_Declaration nodes. Adding kludge required by
+ First_Formal to provide its functionality with access to functions.
+ (Replace_Anonymous_Access_To_Protected_Subprogram): Add missing support
+ for anonymous access types returned by functions.
+
+ * sem_ch5.adb (Analyze_Assignment): Code cleanup to avoid duplicate
+ conversion of null-excluding access types (required only once to force
+ the generation of the required runtime check).
+
+ * sem_type.adb (Covers): minor reformating
+
+ * checks.adb (Null_Exclusion_Static_Checks): Avoid reporting errors
+ with internally generated nodes. Avoid generating the error inside init
+ procs.
+
+ * sem_res.adb (Resolve_Membership_Test): Minor reformating.
+ (Resolve_Null): Generate the null-excluding check in case of assignment
+ to a null-excluding object.
+ (Valid_Conversion): Add missing support for anonymous access to
+ subprograms.
+
+ * sem_ch6.adb (Check_Return_Subtype_Indication): Add missing support for
+ anonymous access types whose designated type is an itype. This case
+ occurs with anonymous access to protected subprograms types.
+ (Analyze_Return_Type): Add missing support for anonymous access to
+ protected subprogram.
+
+ * sem_eval.adb (Subtypes_Statically_Match): In case of access to
+ subprograms addition of missing check on matching convention. Required
+ to properly handle access to protected subprogram types.
+
+ * exp_ch3 (Build_Assignment): Code cleanup removing duplicated check on
+ null excluding access types.
+
+2008-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb: Add comments
+
+ * sem_ch4.adb (Analyze_Allocator): If the designated type is a non-null
+ access type and the allocator is not initialized, warn rather than
+ reporting an error.
+
+2008-08-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb: Minor reformatting
+
+ * exp_dist.adb: Minor reformatting
+
+ * g-comlin.adb: Minor reformatting
+
+2008-08-04 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): Perform a conversion of the
+ target to the type of the aggregate in the case where the target object
+ is class-wide.
+
+ * exp_ch5.adb (Expand_Simple_Function_Return): When the function's
+ result type is class-wide and inherently limited, and the expression
+ has a specific type, create a return object of the specific type, for
+ more efficient handling of returns of build-in-place aggregates (avoids
+ conversions of the class-wide return object to the specific type on
+ component assignments).
+
+ * sem_ch6.adb (Check_Return_Subtype_Indication): Suppress the error
+ about a type mismatch for a class-wide function with a return object
+ having a specific type when the object declaration doesn't come from
+ source. Such an object can result from the expansion of a simple return.
+
+2008-08-04 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * g-soccon-mingw-64.ads, system-mingw-x86_64.ads: New files.
+
+ * gcc-interface/Makefile.in: Use 64bit-specific system files when
+ compiling for 64bit windows.
+
+2008-08-04 Jerome Lambourg <lambourg@adacore.com>
+
+ * g-comlin.adb (Group_Switches): Preserve the switch order when
+ grouping and allow switch grouping of switches with more than one
+ character extension (e.g. gnatw.x).
+ (Args_From_Expanded): Remove this now obsolete method.
+
+2008-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Get_Allocator_Final_List): Freeze anonymous type for
+ chain at once, to ensure that type is properly decorated for back-end,
+ when allocator appears within a loop.
+
+2008-08-04 Kevin Pouget <pouget@adacore.com>
+
+ * snames.h, snames.adb, snames.ads:
+ Add Attr_To_Any, Attr_From_Any and Attr_TypeCode defines.
+
+ * exp_dist.ads, exp_dist.adb: Add Build_From_Any_Call,
+ Build_To_Any_Call and Build_TypeCode_Call procedures.
+
+ * exp_attr.adb, sem_attr.adb: Add corresponding cases.
+
+ * rtsfind.ads: Add corresponding names.
+
+ * tbuild.adb: Update prefix restrictions to allow '_' character.
+
+2008-08-04 Doug Rupp <rupp@adacore.com>
+
+ * gigi.h (fill_vms_descriptor): Add third parameter gnat_actual
+ * trans.c (call_to_gnu): Call fill_vms_descriptor with new parameter.
+ * utils2.c (fill_vms_descriptor): Add third parameter for error sloc and
+ use it. Calculate pointer range overflow using 64bit types.
+
+2008-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Access_Definition): A formal object declaration is a
+ legal context for an anonymous access to subprogram.
+
+ * sem_ch4.adb (Analyze_One_Call): If the call can be interpreted as an
+ indirect call, report success to the caller to include possible
+ interpretation.
+
+ * sem_ch6.adb (Check_Return_Type_Indication): Apply proper conformance
+ check when the type
+ of the extended return is an anonymous access_to_subprogram type.
+
+ * sem_res.adb:
+ (Resolve_Call): Insert a dereference if the type of the subprogram is an
+ access_to_subprogram and the context requires its return type, and a
+ dereference has not been introduced previously.
+
+2008-08-04 Arnaud Charlet <charlet@adacore.com>
+
+ * usage.adb (Usage): Minor rewording of -gnatwz switch, to improve
+ gnatcheck support in GPS.
+
+2008-08-04 Vincent Celier <celier@adacore.com>
+
+ * mlib.adb (Create_Sym_Links): Create relative symbolic links when
+ requested
+
+2008-08-04 Vincent Celier <celier@adacore.com>
+
+ * gprep.adb (Process_One_File): Call Prep.Preprocess with a Boolean
+ variable, but don't check the resulting value as it has no impact on
+ the processing.
+
+ * opt.ads:
+ (Generate_Processed_File): New Boolean flag, set to True in the compiler
+ when switch -gnateG is used.
+
+ * prep.adb:
+ (Preprocess): new Boolean out parameter Source_Modified. Set it to True
+ when the source is modified by the preprocessor and there is no
+ preprocessing errors.
+
+ * prep.ads (Preprocess): new Boolean out parameter Source_Modified
+
+ * sinput-l.adb:
+ (Load_File): Output the result of preprocessing if the source text was
+ modified.
+
+ * switch-c.adb (Scan_Front_End_Switches): Recognize switch -gnateG
+
+ * switch-m.adb (Normalize_Compiler_Switches): Normalize switch -gnateG
+
+ * ug_words: Add VMS equivalent for -gnateG
+
+ * vms_data.ads:
+ Add VMS option /GENERATE_PROCESSED_SOURCE, equivalent to switch -gnateG
+
+2008-08-04 Doug Rupp <rupp@adacore.com>
+
+ * gcc-interface/utils2.c:
+ (fill_vms_descriptor): Raise CE if attempt made to pass 64bit pointer
+ in 32bit descriptor.
+
+2008-08-04 Robert Dewar <dewar@adacore.com>
+
+ * par-ch10.adb: Minor reformatting
+
+ * i-cobol.adb: Minor reformatting.
+
+2008-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Access_Definition): Create an itype reference for an
+ anonymous access return type of a regular function that is not a
+ compilation unit.
+
+2008-08-04 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb: New Builder attribute Global_Compilation_Switches
+
+ * snames.adb: New standard name Global_Compilation_Switches
+
+ * snames.ads: New standard name Global_Compilation_Switches
+
+ * make.adb: Correct spelling error in comment
+
+2008-08-04 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_prag.adb (Check_Form_Of_Interface_Name): Fix handling for CLI
+ target.
+
+2008-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch10.adb: Minor comment fix.
+
+2008-08-04 Robert Dewar <dewar@adacore.com>
+
+ * restrict.adb: Improved messages for restriction warnings
+
+ * restrict.ads: Improved messages for restriction messages
+
+ * s-rident.ads (Profile_Name): Add No_Profile
+
+2008-08-04 Robert Dewar <dewar@adacore.com>
+
+ * system-darwin-x86.ads: Correct bad definition of Max_Nonbinary_Modulus
+
+2008-08-04 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Check for size clause for boolean warning
+
+2008-08-04 Vincent Celier <celier@adacore.com>
+
+ * prj-proc.adb:
+ (Copy_Package_Declarations): When inheriting package Naming from a
+ project being extended, do not inherit source exception names.
+
+2008-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Check_Precondition_Postcondition): When scanning the
+ list of declaration to find previous subprogram, do not go to the
+ original node of a generic unit.
+
+2008-08-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR, MINUS_EXPR>:
+ New case. Convert BOOLEAN_TYPE operation to the default integer type.
+
+2008-08-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (DECL_PARM_ALT): Now DECL_PARM_ALT_TYPE.
+ * gcc-interface/decl.c (gnat_to_gnu_param): Fix formatting, simplify
+ and adjust for above renaming.
+ * gcc-interface/utils.c (convert_vms_descriptor): Likewise. Add new
+ gnu_expr_alt_type parameter. Convert the expression to it instead
+ of changing its type in place.
+ (build_function_stub): Adjust call to above function.
+
+2008-08-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Remove dead
+ code. Do not get full definition of deferred constants with address
+ clause for a use. Do not ignore deferred constant definitions with
+ address clause. Ignore constant definitions already marked with the
+ error node.
+ <object>: Remove obsolete comment. For a deferred constant with
+ address clause, get the initializer from the full view.
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Attribute_Definition_Clause>:
+ Rework and remove obsolete comment.
+ <N_Object_Declaration>: For a deferred constant with address clause,
+ mark the full view with the error node.
+ * gcc-interface/utils.c (convert_to_fat_pointer): Rework and fix
+ formatting nits.
+
+2008-08-01 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * rtsfind.ads: Add block IO versions of stream routines for Strings.
+
+ * bindgen.adb, gnat_rm.texi, gnat_ugn.texi, opt.ads,
+ sem_prag.adb, snames.adb, snames.ads, snames.h,
+ par-prag.adb: Undo previous stream related changes.
+
+ * s-rident.ads: Add new restriction No_Stream_Optimizations.
+
+ * s-ststop.ads, s-ststop.adb: Comment reformatting.
+ Define enumeration type to designate different IO mechanisms.
+ Enchance generic package Stream_Ops_Internal to include an
+ implementation of Input and Output.
+
+ * exp_attr.adb (Find_Stream_Subprogram): If restriction
+ No_Stream_Optimization is active, choose the default byte IO
+ implementations of stream attributes for Strings.
+ Otherwise use the corresponding block IO version.
+
+2008-08-01 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>: Do not
+ turn Ada Pure into GCC const, now implicitely implying nothrow as well.
+
+2008-08-01 Robert Dewar <dewar@adacore.com>
+
+ * par-ch3.adb (P_Defining_Identifier): Avoid repeated attempt to
+ convert plain identifier into defining identifier.
+
+2008-08-01 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Check_Form_Of_Interface_Name): Refine and improve
+ warnings
+
+ * lib-xref.adb: Add error defense.
+
+2008-08-01 Bob Duff <duff@adacore.com>
+
+ * ioexcept.ads, sequenio.ads, directio.ads: Correct comment.
+
+2008-08-01 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): Adjustment to previous fix for passing
+ correct accessibility levels. In the "when others" case, retrieve the
+ access level of the Etype of Prev rather than Prev_Orig, because the
+ original exression has not always been analyzed.
+
+2008-08-01 Robert Dewar <dewar@adacore.com>
+
+ * prj-nmsc.adb: Minor reformatting
+
+ * sem_ch4.adb: Minor reformatting
+ Minor code reorganization
+
+ * prj.ads: Minor reformatting
+
+ * s-os_lib.adb: Minor reformatting
+
+ * par-prag.adb (Prag, case Wide_Character_Encoding): Deal with upper
+ half encodings
+
+ * scans.ads: Minor reformatting.
+
+ * sem_prag.adb (Analyze_Pragma): Put entries in alpha order
+ (Analyze_Pragma): Make sure all GNAT pragmas call GNAT_Pragma
+
+ * sem_res.adb:
+ (Resolve_Call): Check violation of No_Specific_Termination_Handlers
+
+ * sem_ch12.adb: Minor comment reformatting
+
+ * par-ch3.adb (P_Type_Declaration): Properly handle missing type
+ keyword
+
+2008-08-01 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb (Process_PPCs): Don't copy spec PPC to body if not
+ generating code
+
+2008-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * checks.adb (Apply_Float_Conversion_Check): If the expression to be
+ converted is a real literal and the target type has static bounds,
+ perform the conversion exactly to prevent floating-point anomalies on
+ some targets.
+
+2008-08-01 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb: New attribute Compiler'Name_Syntax (<lang>)
+
+ * prj-nmsc.adb (Process_Compiler): Recognize attribute Name_Syntax
+
+ * prj.adb (Object_Exist_For): Use Object_Generated, not
+ Objects_Generated that is removed and was never modified anyway.
+
+ * prj.ads:
+ (Path_Syntax_Kind): New enumeration type
+ (Language_Config): New component Path_Syntax, defaulted to Host.
+ Components PIC_Option and Objects_Generated removed, as they are not
+ used.
+
+ * snames.adb: New standard name Path_Syntax
+
+ * snames.ads: New standard name Path_Syntax
+
+2008-08-01 Vincent Celier <celier@adacore.com>
+
+ * mlib-utl.adb:
+ (Adalib_Path): New variable to store the path of the adalib directory
+ when procedure Specify_Adalib_Dir is called.
+ (Lib_Directory): If Adalib_Path is not null, return its value
+ (Specify_Adalib_Dir): New procedure
+
+ * mlib-utl.ads (Specify_Adalib_Dir): New procedure
+
+2008-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb:
+ (Check_Precondition_Postcondition): If not generating code, analyze the
+ expression in a postcondition that appears in a subprogram body, so that
+ it is properly decorated for ASIS use.
+
+2008-08-01 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): Remove ugly special-case code that resets
+ Orig_Prev to Prev in the case where the actual is N_Function_Call or
+ N_Identifier. This was interfering with other cases that are rewritten
+ as N_Identifier, such as allocators, resulting in passing of the wrong
+ accessibility level, and based on testing this code is apparently no
+ longer needed at all.
+
+2008-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_One_Call): Handle complex overloading of a
+ procedure call whose prefix
+ is a parameterless function call that returns an access_to_procedure.
+
+2008-08-01 Jose Ruiz <ruiz@adacore.com>
+
+ * adaint.c (__gnat_tmp_name): Refine the generation of temporary names
+ for RTX. Adding a suffix that is incremented at each iteration.
+
+2008-08-01 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): Remove special casing of
+ Raise_Exception
+
+2008-08-01 Jerome Lambourg <lambourg@adacore.com>
+
+ * s-os_lib.adb (Normalize_Pathname): Take care of double-quotes in
+ paths, which are authorized by Windows but can lead to errors when used
+ elsewhere.
+
+2008-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.ads (Need_Subprogram_Instance_Body): new function, to create
+ a pending instantiation for the body of a subprogram that is to be
+ inlined.
+
+ * sem_ch12.adb:
+ (Analyze_Subprogram_Instantiation): use Need_Subprogram_Instance_Body.
+
+ * sem_prag.adb (Make_Inline): If the pragma applies to an instance,
+ create a pending instance for its body, so that calls to the subprogram
+ can be inlined by the back-end.
+
+2008-08-01 Jose Ruiz <ruiz@adacore.com>
+
+ * gnat_ugn.texi: Document the RTX run times (rts-rtx-rtss and
+ rts-rtx-w32).
+
+2008-08-01 Robert Dewar <dewar@adacore.com>
+
+ * scng.adb (Error_Illegal_Wide_Character): Bump scan pointer
+
+2008-08-01 Doug Rupp <rupp@adacore.com>
+
+ * gnat_rm.texi: Document new mechanism Short_Descriptor.
+
+ * types.ads (Mechanism_Type): Modify range for new Short_Descriptor
+ mechanism values.
+
+ * sem_prag.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
+ mechanism and Short_Descriptor mechanism values.
+
+ * snames.adb (preset_names): Add short_descriptor entry.
+
+ * snames.ads: Add Name_Short_Descriptor.
+
+ * types.h: Add new By_Short_Descriptor mechanism values.
+
+ * sem_mech.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
+ mechanism and Short_Descriptor mechanism values.
+
+ * sem_mech.ads (Mechanism_Type): Add new By_Short_Descriptor mechanism
+ values.
+ (Descriptor_Codes): Modify range for new mechanism values.
+
+ * treepr.adb (Print_Entity_Enfo): Handle new By_Short_Descriptor
+ mechanism values.
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Handle By_Short_Descriptor.
+ (gnat_to_gnu_param): Handle By_Short_Descriptor.
+
+ * gcc-interface/gigi.h (build_vms_descriptor64): Remove prototype.
+ (build_vms_descriptor32): New prototype.
+ (fill_vms_descriptor): Remove unneeded gnat_actual parameter.
+
+ * gcc-interface/trans.c (call_to_gnu): Removed unneeded gnat_actual
+ argument in call fill_vms_descriptor.
+
+ * gcc-interface/utils.c (build_vms_descriptor32): Renamed from
+ build_vms_descriptor and enhanced to hande Short_Descriptor mechanism.
+ (build_vms_descriptor): Renamed from build_vms_descriptor64.
+ (convert_vms_descriptor32): New function.
+ (convert_vms_descriptor64): New function.
+ (convert_vms_descriptor): Rewrite to handle both 32bit and 64bit
+ descriptors.
+
+ * gcc-interface/utils2.c (fill_vms_descriptor): Revert previous changes,
+ no longer needed.
+
+2008-08-01 Jose Ruiz <ruiz@adacore.com>
+
+ * adaint.c (__gnat_tmp_name): RTSS applications do not support tempnam
+ nor tmpnam, so we always use c:\WINDOWS\Temp\gnat-XXXXXX as temporary
+ name.
+
+2008-08-01 Jose Ruiz <ruiz@adacore.com>
+
+ * cstreams.c (__gnat_full_name): RTSS applications cannot ask for the
+ current directory so only fully qualified names are allowed.
+
+2008-08-01 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi:
+ Minor editing, remove uncomfortable use of semicolon
+
+ * s-ststop.adb: Add some ??? comments
+
+ * sem_ch10.adb: Minor reformatting
+
+ * snames.ads:
+ Minor comment fixes, some pragmas were not properly
+ categorized in the comments, documentation change only
+
+ * xref_lib.adb: Minor reformatting
+
+ * sinput.adb: Minor reformatting
+
+ * gnatchop.adb: Minor reformatting
+
+ * sem_util.ads: Minor reformatting.
+
+ * opt.ads: Minor documentation fix
+
+ * scng.adb: Minor reformatting
+
+ * prj-part.adb: Update comments
+
+2008-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_disp.adb (Expand_Interface_Conversion): If the target type is a
+ tagged synchronized type, use corresponding record type.
+
+2008-08-01 Doug Rupp <rupp@adacore.com>
+
+ * mlib-tgt-specific-vms-alpha.adb (Build_Dynamic_Library): Output a
+ dummy transfer address for debugging.
+
+ * mlib-tgt-specific-vms-ia64.adb (Build_Dynamic_Library): Likewise.
+
+ * vms_data.ads: vms_data.ads: New qualfier /MACHINE_CODE_LISTING
+
+2008-07-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Fix formatting.
+ * gcc-interface/utils.c (create_field_decl): Avoid superfluous work.
+
+2008-07-31 Pascal Obry <obry@adacore.com>
+
+ * prj-nmsc.adb: Keep Object and Exec directory casing.
+
+2008-07-31 Jose Ruiz <ruiz@adacore.com>
+
+ * system-rtx-rtss.ads
+ Change the default stack size. It is important to set the commit part.
+
+ * s-taprop-rtx.adb
+ (Initialize): Get the clock resolution.
+ (RT_Resolution): Return the clock resolution that is indicated by the
+ system.
+
+ * s-parame-vxworks.adb
+ Document that this body is used for RTX in RTSS (kernel) mode.
+
+ * gcc-interface/Makefile.in
+ (LIBGNAT_TARGET_PAIRS for the rtx_rtss run time): Use the
+ s-parame-vxworks.adb body in order to have reasonable stack sizes in
+ RTX RTSS kernel mode. Virtual memory is not used in that case, so we
+ cannot ask for too big values.
+
+2008-07-31 Robert Dewar <dewar@adacore.com>
+
+ * exp_aggr.adb: Minor reformatting
+
+ * makeutl.adb: Minor reformatting
+
+ * prj-env.adb: Minor reformatting
+
+2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_disp.adb (Prim_Op_Kind): Retrieve the full view when a private
+ tagged type is completed by a concurrent type.
+
+2008-07-31 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_aggr.adb:
+ (Resolve_Record_Aggregate): Bypass error that a type without
+ components must have a "null record" aggregate when compiling for Ada
+ 2005, since it's legal to give an aggregate of form (others => <>)
+ for such a type.
+
+2008-07-31 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch4.adb (Valid_First_Argument_Of): Complete its functionality to
+ handle synchronized types. Required to handle well the object.operation
+ notation applied to synchronized types.
+
+2008-07-31 Quentin Ochem <ochem@adacore.com>
+
+ * s-stausa.adb (Fill_Stack): Stack_Used_When_Filling is now stored
+ anymore - just used internally.
+ Added handling of very small tasks - when the theoretical size is
+ already full at the point of the call.
+ (Report_Result): Fixed result computation, Stack_Used_When_Filling does
+ not need to be added to the result.
+
+2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch6.adb (Disambiguate_Spec): Continue the disambiguation if the
+ corresponding spec is a primitive wrapper. Update comment.
+
+2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * bindgen.adb Comment reformatting. Update the list of run-time globals.
+ (Gen_Adainit_Ada): Add the declaration, import and value set for
+ configuration flag Canonical_Streams.
+ (Gen_Adainit_C): Add the declaration and initial value of external
+ symbol __gl_canonical_streams.
+
+ * init.c: Update the list of global values computed by the binder.
+
+ * opt.ads: Add flag Canonical_Streams.
+
+ * par-prag.adb (Prag): Include Pragma_Canonical_Streams to the list of
+ semantically handled pragmas.
+
+ * sem_prag.adb: Add an entry into enumeration type Sig_Flags.
+ (Analyze_Pragma): Add case for pragma Canonical_Streams.
+
+ * snames.adb: Add character value for name Canonical_Streams.
+
+ * snames.ads:
+ Add Name_Canonical_Streams to the list of configuration pragmas.
+ Add Pragma_Canonical_Streams to enumeration type Pragma_Id.
+
+ * snames.h: Add a definition for Pragma_Canonical_Streams.
+
+ * s-ststop.adb:
+ Add a flag and import to seize the value of external symbol
+ __gl_canonical_streams. Update comment and initial value of constant
+ Use_Block_IO.
+
+ * gnat_rm.texi: Add section of pragma Canonical_Streams.
+
+ * gnat_ugn.texi:
+ Add pragma Canonical_Streams to the list of configuration pragmas.
+
+2008-07-31 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Build_Unit_Name): If the unit name in a with_clause
+ has the form A.B.C and B is a unit renaming, analyze its compilation
+ unit and add a with_clause on A.b to the context.
+
+2008-07-31 Vincent Celier <celier@adacore.com>
+
+ * makeutl.adb (Executable_Prefix_Path): If Locate_Exec_On_Path fails,
+ return the empty string, instead of raising Constraint_Error.
+
+2008-07-31 Gary Dismukes <dismukes@adacore.com>
+
+ * checks.ads (Apply_Accessibility_Check): Add parameter Insert_Node.
+
+ * checks.adb (Apply_Accessibility_Check): Insert the check on
+ Insert_Node.
+
+ * exp_attr.adb:
+ (Expand_N_Attribute_Refernce, Attribute_Access): Pass attribute node
+ to new parameter Insert_Node on call to Apply_Accessibility_Check.
+ Necessary to distinguish the insertion node because the dereferenced
+ formal may come from a rename, but the check must be inserted in
+ front of the attribute.
+
+ * exp_ch4.adb:
+ (Expand_N_Allocator): Pass actual for new Insert_Node parameter on
+ call to Apply_Accessibility_Check.
+ (Expand_N_Type_Conversion): Pass actual for new Insert_Node parameter
+ on call to Apply_Accessibility_Check.
+ Minor reformatting
+
+2008-07-31 Javier Miranda <miranda@adacore.com>
+
+ * sem_type.adb (Has_Compatible_Type): Complete support for synchronized
+ types when the candidate type is a synchronized type.
+
+ * sem_res.adb (Resolve_Actuals): Reorganize code handling synchronized
+ types, and complete management of synchronized types adding missing
+ code to handle formal that is a synchronized type.
+
+ * sem_ch4.adb (Try_Primitive_Operation): Avoid testing attributes that
+ are not available and cause the compiler to blowup. Found compiling
+ test with switch -gnatc
+
+ * sem_ch6.adb (Check_Synchronized_Overriding): Remove local subprogram
+ Has_Correct_Formal_Mode plus code cleanup.
+
+2008-07-31 Bob Duff <duff@adacore.com>
+
+ * sinput.adb (Skip_Line_Terminators): Fix handling of LF/CR -- it was
+ recognized as two end-of-lines, but it should be just one.
+
+2008-07-31 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch9.adb: Minor reformatting
+
+ * tbuild.ads: Fix several occurrences of incorrectly referring to
+ Name_Find as Find_Name.
+
+2008-07-31 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Aggr_Size_OK): If the aggregate has a single component
+ and the context is an object declaration with non-static bounds, treat
+ the aggregate as non-static.
+
+2008-07-31 Vincent Celier <celier@adacore.com>
+
+ * prj-part.adb, prj-part.ads, prj.adb, prj.ads, prj-env.adb:
+ Move back spec of Parse_Single_Project to body, as it is not called
+ outside of package Prj.Part.
+ (Project_Data): Remove components Linker_Name, Linker_Path and
+ Minimum_Linker_Options as they are no longer set.
+ Remove function There_Are_Ada_Sources from package Prj and move code
+ in the only place it was used, in Prj.Env.Set_Ada_Paths.
+
+2008-07-31 Arnaud Charlet <charlet@adacore.com>
+
+ * mlib-utl.ads: Fix typo.
+
+2008-07-31 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch12.adb: Minor reformatting
+
+2008-07-31 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Change the description of the
+ Overly_Nested_Control_Structures: now the rule always requires a
+ positive parameter for '+R' option
+
+2008-07-31 Thomas Quinot <quinot@adacore.com>
+
+ * g-pehage.adb: Minor reformatting
+
+2008-07-31 Pascal Obry <obry@adacore.com>
+
+ * s-finimp.ads: Minor reformatting.
+
+2008-07-31 Vincent Celier <celier@adacore.com>
+
+ * s-regexp.ads: Minor comment fix
+
+2008-07-31 Arnaud Charlet <charlet@adacore.com>
+
+ * s-direio.adb (Reset): Replace pragma Unmodified by Warnings (Off),
+ so that we can compile this file successfully with -gnatc.
+
+2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_attr.adb (Find_Stream_Subprogram): Check the base type instead
+ of the type when looking for stream subprograms for type String,
+ Wide_String and Wide_Wide_String.
+
+ * s-ststop.adb: Change the initialization expression of constant
+ Use_Block_IO.
+
+2008-07-31 Geert Bosch <bosch@adacore.com>
+
+ * arit64.c:
+ New file implementing __gnat_mulv64 signed integer multiplication with
+ overflow checking
+
+ * fe.h (Backend_Overflow_Checks_On_Target): Define for use by Gigi
+
+ * gcc-interface/gigi.h:
+ (standard_types): Add ADT_mulv64_decl
+ (mulv64_decl): Define subprogram declaration for __gnat_mulv64
+
+ * gcc-interface/utils.c:
+ (init_gigi_decls): Add initialization of mulv64_decl
+
+ * gcc-interface/trans.c:
+ (build_unary_op_trapv): New function
+ (build_binary_op_trapv): New function
+ (gnat_to_gnu): Use the above functions instead of
+ build_{unary,binary}_op
+
+ * gcc-interface/Makefile.in
+ (LIBGNAT_SRCS): Add arit64.c
+ (LIBGNAT_OBJS): Add arit64.o
+
+2008-07-31 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_Library_Attributes): Check if Linker'Switches or
+ Linker'Default_Switches are declared. Warn if they are declared.
+
+2008-07-31 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Use
+ Insert_Actions to place the pointer declaration in the code, rather
+ than Insert_Before_And_Analyze, so that insertions of temporaries are
+ kept in the proper order when transient scopes are present.
+
+
+2008-07-31 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb (Spec_PPC): Now defined for generic subprograms
+
+ * einfo.ads (Spec_PPC): Now defined for generic subprograms
+
+ * sem_prag.adb (Check_Precondition_Postcondition): Handle generic
+ subprogram case
+
+2008-07-31 Vincent Celier <celier@adacore.com>
+
+ * s-os_lib.adb: Minor comment fix
+
+2008-07-31 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Generic_Subprogram_Body): After analysis,
+ transfer pre/postconditions from generic copy to original tree, so that
+ they will appear in each instance.
+ (Process_PPCs): Do not transform postconditions into a procedure in a
+ generic context, to prevent double expansion of check pragmas.
+
+ * sem_attr.adb: In an instance, the prefix of the 'result attribute
+ can be the renaming of the
+ current instance, so check validity of the name accordingly.
+
+2008-07-31 Robert Dewar <dewar@adacore.com>
+
+ * mlib-utl.ads: Minor reformatting
+
+2008-07-31 Ed Schonberg <schonberg@adacore.com>
+
+ sem_attr.adb: 'Result can have an ambiguous prefix, and is resolved
+ from context. This attribute must be usable in Ada95 mode.
+ The attribute can appear in the body of a function marked
+ Inline_Always, but in this case the postocondition is not enforced.
+
+ sem_prag.adb (Check_Precondition_Postcondition): within the expansion
+ of an inlined call pre- and postconditions are legal
+
+2008-07-31 Vincent Celier <celier@adacore.com>
+
+ * prj.adb, prj.ads, clean.adb, prj-nmsc.adb: Remove declarations that
+ were for gprmake only
+
+2008-07-31 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Update -gnatN documentation.
+
+ * gnat_rm.texi: Add note about pre/postcondition
+ pragmas not checked in conjunction with front-end inlining.
+
+2008-07-31 Robert Dewar <dewar@adacore.com>
+
+ * g-pehage.adb, g-pehage.ads: Minor reformatting
+
+2008-07-31 Arnaud Charlet <charlet@adacore.com>
+
+ * mlib-utl.ads, prj-makr.ads: Add comments.
+
+2008-07-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS)
+ [WINDOWS]: Add s-winext.o.
+
+2008-07-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/36554
+ * back_end.adb (Call_Back_End): Pass Standard_Boolean to gigi.
+ * gcc-interface/gigi.h (gigi): Take new standard_boolean parameter.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Subtype>:
+ Set precision to 1 for subtype of BOOLEAN_TYPE.
+ (set_rm_size): Set TYPE_RM_SIZE_NUM for BOOLEAN_TYPE.
+ (make_type_from_size): Deal with BOOLEAN_TYPE.
+ * gcc-interface/misc.c (gnat_print_type): Likewise.
+ * gcc-interface/trans.c (gigi): Take new standard_boolean parameter.
+ Set boolean_type_node as its translation in the table, as well
+ as boolean_false_node for False and boolean_true_node for True.
+ * gcc-interface/utils.c (gnat_init_decl_processing): Create custom
+ 8-bit boolean_type_node and set its TYPE_RM_SIZE_NUM.
+ (create_param_decl): Deal with BOOLEAN_TYPE.
+ (build_vms_descriptor): Likewise.
+ (build_vms_descriptor64): Likewise.
+ (convert): Deal with BOOLEAN_TYPE like with ENUMERAL_TYPE.
+
+2008-07-30 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch9.adb: Minor reformatting
+
+ * exp_util.ads (Find_Prim_Op): Document that Program_Error is raised
+ if no primitive operation is found.
+
+ * exp_util.adb: (Find_Prim_Op): Add comments for previous change
+
+ * sem_ch8.adb: Minor reformatting
+
+2008-07-30 Laurent Pautet <pautet@adacore.com>
+
+ * g-pehage.adb:
+ Remove a limitation on the length of the words handled by the minimal
+ perfect hash function generator.
+
+ * g-pehage.ads:
+ Detail the use of subprograms Insert, Initialize, Compute and Finalize.
+ Fix some typos.
+
+2008-07-30 Robert Dewar <dewar@adacore.com>
+
+ * gnatlink.adb: Minor reformatting
+
+2008-07-30 Thomas Quinot <quinot@adacore.com>
+
+ * rtsfind.adb (Check_RPC): Check version consistency even when not
+ generating RCI stubs. Provide more detailed error message in case of
+ mismatch.
+
+2008-07-30 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): When renaming an attribute
+ as a actual in an instance, check for a missing attribute to prevent
+ program_error on an illegal program.
+
+ * exp_util.adb (Find_Prim_Op): Rather than Assert (False), raise program
+ error if primitive is not found, so that exception can be handled
+ elsewhere on illegal programs.
+
+2008-07-30 Robert Dewar <dewar@adacore.com>
+
+ * uintp.adb (UI_GCD): Fix potential overflow
+
+2008-07-30 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb: Flag245 is now used.
+ (Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Relax the assertion
+ check to include functions.
+ (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
+ (Wrapped_Entity, Set_Wrapped_Entity): Relax the assertion check to
+ include functions.
+ (Write_Entity_Flags): Move flag Is_Primitive, add Is_Private_Primitive
+ to the list of displayed flags.
+
+ * einfo.ads: Update comment on the usage of Is_Primitive_Wrapper and
+ Wrapped_Entity. These two flags are now present in functions.
+ New flag Is_Private_Primitive.
+ (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
+
+ * exp_ch9.adb:
+ (Build_Wrapper_Bodies): New subprogram.
+ (Build_Wrapper_Body): The spec and body have been moved to in
+ Build_Wrapper_ Bodies. Code cleanup.
+ (Build_Wrapper_Spec): Moved to the spec of Exp_Ch9. Code cleanup.
+ Wrappers are now generated for primitives declared between the private
+ and full view of a concurrent type that implements an interface.
+ (Build_Wrapper_Specs): New subprogram.
+ (Expand_N_Protected_Body): Code reformatting. Replace the wrapper body
+ creation mechanism with a call to Build_Wrapper_Bodies.
+ (Expand_N_Protected_Type_Declaration): Code reformatting. Replace the
+ wrapper spec creation mechanism with a call to Build_Wrapper_Specs.
+ (Expand_N_Task_Body): Replace the wrapper body creation
+ mechanism with a call to Build_Wrapper_Bodies.
+ (Expand_N_Task_Type_Declaration): Replace the wrapper spec
+ creation mechanism with a call to Build_Wrapper_Specs.
+ (Is_Private_Primitive_Subprogram): New subprogram.
+ (Overriding_Possible): Code cleanup.
+ (Replicate_Entry_Formals): Renamed to Replicate_Formals, code cleanup.
+
+ * exp_ch9.ads (Build_Wrapper_Spec): Moved from the body of Exp_Ch9.
+
+ * sem_ch3.adb: Add with and use clause for Exp_Ch9.
+ (Process_Full_View): Build wrapper specs for all primitives
+ that belong to a private view completed by a concurrent type
+ implementing an interface.
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): When the current subprogram
+ is a primitive of a
+ concurrent type with a private view that implements an interface, try to
+ find the proper spec.
+ (Analyze_Subprogram_Declaration): Mark a subprogram as a private
+ primitive if the type of its first parameter is a non-generic tagged
+ private type.
+ (Analyze_Subprogram_Specification): Code reformatting.
+ (Disambiguate_Spec): New routine.
+ (Find_Corresponding_Spec): Add a flag to controll the output of errors.
+ (Is_Private_Concurrent_Primitive): New routine.
+
+ * sem_ch6.ads:
+ (Find_Corresponding_Spec): Add a formal to control the output of errors.
+
+2008-07-30 Doug Rupp <rupp@adacore.com>
+
+ * gigi.h (build_vms_descriptor64): New function prototype.
+ (fill_vms_descriptor): Modified function prototype.
+
+ * utils.c (build_vms_descriptor64): New function.
+
+ * utils2.c (fill_vms_descriptor): Fix handling on 32bit systems.
+
+ * trans.c (call_to_gnu): Call fill_vms_descriptor with new third
+ argument.
+
+ * decl.c (gnat_to_gnu_tree): For By_Descriptor mech, build both a
+ 64bit and 32bit descriptor and save the 64bit version as an alternate
+ TREE_TYPE in the parameter.
+ (make_type_from_size) <RECORD_TYPE>: Use the appropriate mode for the
+ thin pointer.
+
+ * ada-tree.h (DECL_PARM_ALT, SET_DECL_PARM_ALT): New macros.
+
+2008-07-30 Robert Dewar <dewar@adacore.com>
+
+ * make.adb: Minor reformatting
+
+ * mlib-utl.adb: Minor reformatting
+
+ * osint.ads: Minor reformatting
+
+2008-07-30 Jose Ruiz <ruiz@adacore.com>
+
+ * adaint.c
+ (__gnat_file_exists): Do not use __gnat_stat for RTX.
+ (__main for RTX in RTSS mode): Create this dummy procedure symbol to
+ avoid the use of this symbol from libgcc.a in RTX kernel mode.
+
+ * cio.c
+ (put_int, put_int_stderr, put_char, put_char_stderr): For RTX we call
+ the function RtPrintf for console output.
+
+ * argv.c Do not use the environ variable for RTX.
+
+ * gnatlink.adb (gnatlink): The part that handles the --RTS option has
+ been moved before the call to Osint.Add_Default_Search_Dirs in order
+ to take into account the flags in system.ads (RTX_RTSS_Kernel_Module)
+ from the appropriate run time.
+
+ * targparm.ads
+ (RTX_RTSS_Kernel_Module_On_Target): Add this flag that is set to True if
+ target is a RTSS module for RTX.
+
+ * targparm.adb (Targparm_Tags, RTX_Str, Targparm_Str): Add tag RTX for
+ RTX_RTSS_Kernel_Module
+ (Get_Target_Parameters): Add processing of RTX_RTSS_Kernel_Module flag.
+
+ * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for RTX): Use gcc
+ exception handling mechanism for Windows and RTX in Win32 mode, but
+ not for RTX in kernel mode (RTSS).
+ (LIBGNAT_SRCS): Remove ada.h
+
+2008-07-30 Paolo Bonzini <bonzini@gnu.org>
+
+ * gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove X_ADAFLAGS and
+ T_ADAFLAGS, replace ALL_ADA_CFLAGS with ADA_CFLAGS.
+ (ALL_ADA_CFLAGS): Remove, replace throughout with ADA_CFLAGS.
+ * gcc-interface/Makefile.in (XCFLAGS, X_CFLAGS, X_CPPFLAGS, T_CPPFLAGS,
+ X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS, ADA_CFLAGS,
+ ALL_ADA_CFLAGS): Remove.
+ (ALL_ADAFLAGS, MOST_ADAFLAGS): Remove X_ADAFLAGS and T_ADAFLAGS,
+ replace ALL_ADA_CFLAGS with ADA_CFLAGS.
+ (GCC_CFLAGS): Remove X_CFLAGS.
+ (LOOSE_CFLAGS): Remove X_CFLAGS and XCFLAGS.
+ (ALL_CPPFLAGS): Remove X_CPPFLAGS and T_CPPFLAGS.
+ (ADA_CFLAGS): Substitute.
+
+2008-07-30 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/5911
+ * gcc-interface/Makefile.in (MULTISUBDIR, RTSDIR): New variables.
+ Pass MULTISUBDIR to recursive make. Use $(RTSDIR) instead of rts.
+ Replace stamp-gnatlib* by stamp-gnatlib*-rts.
+ * gcc-interface/Make-lang.in: Replace stamp-gnatlib2
+ by stamp-gnatlib2-rts.
+
+2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR documentation/15479
+ * gnat-style.texi: Remove AdaCore copyright statement and GPL
+ statement for GNAT. Add @copying stanza, use it. Update to
+ GFDL 1.2. Do not list GFDL as Invariant Section, do not list
+ title as Front-Cover Text.
+ * gnat_rm.texi: Likewise.
+ * gnat_ugn.texi: Likewise.
+
+2008-07-29 Jan Hubicka <jh@suse.cz>
+
+ * trans.c (process_inlined_subprograms): Remove tree_really_inline
+ check.
+
+2008-07-29 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface: New directory.
+
+ * ada-tree.def, cuintp.c, gigi.h, Makefile.in, targtyps.c, ada.h,
+ utils.c, ada-tree.h, decl.c, lang.opt, Make-lang.in, trans.c,
+ config-lang.in, deftarg.c, lang-specs.h, misc.c, utils2.c: Moved
+ to gcc-interface subdirectory.
+
+2008-07-29 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ * Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Remove extra s-win32.o.
+
+2008-07-28 Jan Hubicka <jh@suse.cz>
+
+ * misc.c (gnat_post_options): Do not set flag_no_inline.
+
+2008-07-28 Richard Guenther <rguenther@suse.de>
+
+ Merge from gimple-tuples-branch.
+
+ 2008-07-22 Olivier Hainque <hainque@adacore.com>
+
+ * gigi.h (end_subprog_body): New ELAB_P argument, saying if
+ this is called for an elab proc to be discarded if empty.
+ * utils.c (end_subprog_body): Honor ELAB_P.
+ (build_function_stub): Adjust call to end_subprog_body.
+ * trans.c (Subprogram_Body_to_gnu): Likewise.
+ (gigi): Reorganize processing of elab procs to prevent
+ gimplifying twice, using the new end_subprog_body argument.
+
+ 2008-07-19 Richard Guenther <rguenther@suse.de>
+
+ * Make-lang.in (trans.o): Add tree-iterator.h dependency.
+ (utils.o): Likewise.
+ * trans.c: Include tree-iterator.h.
+ (gnat_gimplify_expr): Adjust prototype. Fix typo.
+ (gnat_gimplify_stmt): Use SET_EXPR_LOCATION.
+ (set_expr_location_from_node): Likewise.
+ (gigi): Tuplify.
+ * ada-tree.h (union lang_tree_node): Use TREE_CHAIN instead
+ of GENERIC_NEXT.
+ * utils.c: Include tree-iterator.h.
+ * gigi.h (gnat_gimplify_expr): Adjust prototype.
+
+ 2008-07-18 Aldy Hernandez <aldyh@redhat.com>
+
+ * trans.c: Include gimple.h instead of tree-gimple.h.
+ * utils.c: Same.
+
+ 2008-07-14 Aldy Hernandez <aldyh@redhat.com>
+
+ * trans.c (gnat_gimplify_expr): Use gimplify_assign.
+
+2008-07-25 Jan Hubicka <jh@suse.cz>
+
+ * utils.c (end_subprog_body): Remove inline trees check.
+ * misc.c (gnat_post_options): Do not set flag_inline_trees.
+
+2008-07-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * raise-gcc.c: Move tsystem.h before tm.h.
+
+2008-07-20 Arnaud Charlet <charlet@adacore.com>
+
+ * gnathtml.pl: New file.
+
+2008-07-19 Olivier Hainque <hainque@adacore.com>
+
+ * targtyps.c (get_target_default_allocator_alignment): Use
+ MALLOC_ABI_ALIGNMENT.
+
+2008-07-17 Olivier Hainque <hainque@adacore.com>
+
+ * adaint.c (__MINGW32__ section): Include ctype.h and define
+ a fallback ISALPHA if IN_RTS.
+ (__gnat_is_absolute_path): Use ISALPHA instead of isalpha.
+
+2008-07-17 Olivier Hainque <hainque@adacore.com>
+
+ * utils.c (create_var_decl_1): Relax expectations on the PUBLIC_FLAG
+ argument, to apply to references in addition to definitions. Prevent
+ setting TREE_STATIC on externals.
+ (gnat_pushdecl): Always clear DECL_CONTEXT on public externals.
+
+2008-07-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR documentation/15479
+ * gnat_ugn.texi (@ovar): New macro, from autoconf.texi.
+ Replace backets around optional parameters with @ovar
+ where possible, use @r{[}, @r{]} otherwise.
+ Replace some @r, @i, and @emph with @var where appropriate.
+
+2008-07-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (make_type_from_size) <INTEGER_TYPE>: Fix typo and tidy up.
+
+2008-06-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ada-tree.h (SET_TYPE_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Fix
+ -Wc++-compat warnings.
+ * adaint.c (__gnat_locate_regular_file, __gnat_locate_exec,
+ __gnat_locate_exec_on_path): Likewise.
+ * decl.c (annotate_value): Likewise.
+ * misc.c (gnat_handle_option): Likewise.
+ * trans.c (gnat_to_gnu, extract_encoding, decode_name,
+ post_error_ne_tree): Likewise.
+
+2008-06-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils.c (convert) <CONSTRUCTOR>: When converting it to a packable
+ version of its type, attempt to first convert its elements.
+
+2008-06-26 Chris Proctor <chrisp_42@bigpond.com>
+
+ * Makefile.in: Fix *86 kfreebsd target specific pairs.
+
+2008-06-25 Samuel Tardieu <sam@rfc1149.net>
+
+ * Makefile.in: Use mlib-tgt-specific-linux.adb for sh4 as well.
+
+2008-06-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils2.c (known_alignment): Derive the alignment from pointed-to
+ types only if it is otherwise unknown.
+ <INTEGER_CST>: Tidy.
+ <MULT_EXPR>: Likewise.
+ <POINTER_PLUS_EXPR>: If the alignment of the offset is unknown, use
+ that of the base.
+
+2008-06-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR ada/36573
+ * s-osinte-hpux-dce.ads (SA_ONSTACK): Define.
+
+2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * gnat_rm.texi (Implementation Defined Characteristics)
+ (Standard Library Routines): Use @smallexample for indented
+ text. Drop Indentation outside examples.
+ * gnat_ugn.texi: Likewise.
+
+2008-06-13 Olivier Hainque <hainque@adacore.com>
+
+ * decl.c (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Define to 0
+ if undefined.
+ (gnat_to_gnu_entity) <case E_Function/Procedure>: Request stack
+ realignment with force_align_arg_pointer attribute on foreign
+ convention subprograms if FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.
+
+2008-06-13 Olivier Hainque <hainque@adacore.com>
+
+ * utils.c (rest_of_record_type_compilation): When computing
+ encodings for the components of a variable size type, early
+ strip conversions on the current position expression to make
+ sure it's shape is visible. Use remove_conversions for this
+ purpose.
+
+2008-06-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: In the case of a
+ constrained subtype of a discriminated type, discard the fields that
+ are beyond its limits according to its size.
+
+2008-06-10 Olivier Hainque <hainque@adacore.com>
+
+ * utils.c (create_subprog_decl): If this is for the 'main' entry
+ point according to the asm name, redirect main_identifier_node.
+
+2008-06-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (components_to_record): Adjust the packedness for the
+ qualified union as well.
+
+2008-06-09 Arnaud Charlet <charlet@adacore.com>
+
+ * Make-lang.in: Use -gnatwns instead of -gnatws to make sytyle
+ checks non fatal.
+
+2008-06-07 Samuel Tardieu <sam@rfc1149.net>
+
+ * sem_res.adb (Large_Storage_Type): A type is large if it
+ requires as many bits as Positive to store its values and its
+ bounds are known at compile time.
+ * sem_ch13.adb (Minimum_Size): Note that this function returns
+ 0 if the size is not known at compile time.
+
+2008-06-06 Nicolas Setton <setton@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * ada-tree.h (DECL_PARALLEL_TYPE): New language specific
+ attribute, parallel descriptive type attached to another
+ type for debug info generation purposes.
+ * utils.c (add_parallel_type): New function, register
+ parallel type to be attached to a type.
+ (get_parallel_type): New function, fetch a registered
+ parallel type, if any.
+ (rest_of_record_type_compilation): Register the parallel
+ type we make for variable size records.
+ * gigi.h (add_parallel_type, get_parallel_type): Declare.
+ * decl.c (gnat_to_gnu_entity, maybe_pad_type): Register the
+ parallel debug types we make.
+ * trans.c (extract_encoding, decode_name): New functions.
+ (gigi): If the DWARF attribute extensions are available, setup
+ to use them.
+ * lang.opt: Register language specific processing request
+ for -gdwarf+.
+ * misc.c (gnat_dwarf_extensions): New global variable. How much
+ do we want of our DWARF extensions. 0 by default.
+ (gnat_handle_option) <OPT_gdwarf_>: Increment gnat_dwarf_extensions.
+ (gnat_post_options): Map gnat_dwarf_extensions to the
+ commonuse_gnu_debug_info_extensions for later processing.
+
+2008-06-04 Samuel Tardieu <sam@rfc1149.net>
+
+ * einfo.ads, einfo.adb: Remove unused flag Function_Returns_With_DSP.
+
+2008-06-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * Makefile.in (common_tools): Fix typos in $(exeext) extension.
+ * gnat_ugn.texi (Style Checking)
+ (Adding the Results of Compiler Checks to gnatcheck Output)
+ (Example of Binder Output File): Fix typos.
+ * ali.ads, einfo.ads, exp_ch4.adb, exp_ch6.adb,
+ exp_dbug.ads, exp_dist.adb, exp_smem.adb, g-socket.ads,
+ s-osinte-rtems.ads, s-shasto.ads, s-stausa.adb,
+ s-stausa.ads, sem_cat.adb, sem_ch12.adb, sem_ch3.adb,
+ sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, sem_util.ads,
+ sinfo.ads, utils.c: Fix typos in comments.
+ * sem_ch6.adb, vms_data.ads: Fix typos in strings.
+
+2008-05-29 Thomas Quinot <quinot@adacore.com>
+
+ * sem_eval.adb: Minor reformatting
+
+2008-05-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Specification): if the return type
+ is abstract, do not apply abstractness check on subprogram if this is
+ a renaming declaration.
+
+2008-05-29 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/864
+ * osint.ads, osint.adb (Program_Name): New parameter "Prog" to
+ allow recognition of program suffix in addition to prefix.
+
+ * gnatchop.adb (Locate_Executable): Add support for prefix.
+
+ * make.adb, gnatcmd.adb, gnatlink.adb, prj-makr.adb,
+ mlib-utl.adb: Adjust calls to Program_Name.
+
+2008-05-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting
+ * sem_prag.adb: Minor reformatting
+ * sem_res.adb: Minor reformatting
+ * sinput-p.ads: Minor reformatting
+
+2008-05-29 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.adb:
+ (Abstract_Interface_List): Add missing support for full type-declaration
+ associated with synchronized types.
+
+2008-05-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_eval.adb (Is_Same_Value): Take care of several more cases
+
+2008-05-28 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Assignment): If the name is of a local anonymous
+ access type, wrap the expression in a conversion to force an
+ accessibility check.
+
+ * sem_aggr.adb (Aggegate_Constraint_Checks): Apply conversion to force
+ accessibility checks even when expansion is disabled in order to
+ generate messages in the presence of previous errors or in
+ semantics-only mode.
+
+2008-05-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * system-lynxos-ppc.ads (Always_Compatible_Rep): Set to False.
+ * system-lynxos-x86.ads (Always_Compatible_Rep): Set to False.
+
+2008-05-28 Vincent Celier <celier@adacore.com>
+
+ PR ada/34446
+ * gnat_ugn.texi: Document restriction introduced on 2007-04-20 in
+ preprocessing expressions
+
+2008-05-28 Vincent Celier <celier@adacore.com>
+
+ * sinput-p.adb (Source_File_Is_Subunit): Allow special character used
+ for preprocessing
+
+ * sinput-p.ads: Minor comment update and reformatting
+
+2008-05-28 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Valid_Conversion): An anonymous access_to_subprogram
+ type has a deeper level than any master only when it is the type of an
+ access parameter.
+
+2008-05-28 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Derive_Progenitor_Subprograms): Add documentation.
+
+2008-05-28 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.ads (Find_Overridden_Synchronized_Primitive): Removed.
+ * sem_util.adb (Find_Overridden_Synchronized_Primitive): Removed.
+ * sem_ch6.adb (Check_Synchronized_Overriding): Remove one formal.
+ Add code that was previously located in
+ Find_Overridden_Synchronized_Primitive because it is only used here.
+
+2008-05-28 Sergey Rybin <rybin@adacore.com>
+
+ * sem_prag.adb (Process_Extended_Import_Export_Subprogram_Pragma): Set
+ Entity field for formal_parameter_NAME in MECHANISM_ASSOCIATION.
+
+2008-05-28 Robert Dewar <dewar@adacore.com>
+
+ * restrict.ads:
+ Add missing restrictions, and properly label all GNAT defined ones
+
+ * rtsfind.ads:
+ Add entry for Ada_Real_Time.Timing_Events.Timing_Event
+ Add entry for Ada.Task_Termination.Set_Specific_Handler
+ Add entry for Ada.Task_Termination.Specific_Handler
+
+ * s-rident.ads:
+ Add missing restrictions and properly mark all gnat defined ones
+
+ * sem_ch3.adb:
+ (Analyze_Object_Declaration): Check No_Local_Timing_Events restriction
+
+ * sem_res.adb:
+ (Resolve_Call): Check violation of No_Specific_Termination_Handlers
+
+ * gnat_rm.texi: Add missing restrictions, and properly label all
+ GNAT defined ones
+
+2008-05-28 Robert Dewar <dewar@adacore.com>
+
+ * restrict.adb:
+ (Check_Restriction): violation of restriction No_Finalization is
+ treated as a serious error to stop expansion
+
+2008-05-28 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb: Minor reformatting
+ * exp_util.ads: Minor reformatting.
+
+2008-05-28 Arnaud Charlet <charlet@adacore.com>
+
+ * Make-lang.in: Remove gprmake.
+
+ * gprmake.adb, makegpr.ads, makegpr.adb: Removed.
+
+2008-05-28 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Diagnose_Interface): Cleanup error messages involving
+ improper progenitor names, and avoid cascaded errors.
+
+2008-05-28 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Add note on Old giving warning when applied to constant
+
+ * sem_attr.adb (Analyze_Attribute, case Old): Give warning if prefix is
+ a constant
+
+2008-05-28 Robert Dewar <dewar@adacore.com>
+
+ * exp_fixd.adb (Build_Multiply): Correct one-off error in computing
+ size
+
+2008-05-28 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb:
+ (Expand_Simple_Function_Return): Copy unaligned result into temporary
+
+2008-05-28 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Derive_Progenitor_Primitives): Add missing support
+ for user-defined predefined primitives.
+
+ * sem_util.adb (Matches_Prefixed_View_Profile): Ditto.
+ (Find_Overridden_Synchronized_Primitive): Ditto.
+
+ * sem_ch6.adb (Check_Synchronized_Overriding): Ditto.
+
+2008-05-27 Arnaud Charlet <charlet@adacore.com>
+
+ * a-ststio.adb, s-direio.adb:
+ Further code clean up of previous change.
+ Update comments.
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb: Minor reformatting
+
+2008-05-27 Bob Duff <duff@adacore.com>
+
+ * sem_ch3.adb (Build_Incomplete_Type_Declaration): In the case of an
+ untagged private type with a tagged full type, where the full type has
+ a self reference, create the corresponding class-wide type early, in
+ case the self reference is "access T'Class".
+
+2008-05-27 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Build_Array_Aggr_Code): If component type includes
+ tasks and context is an object declaration. create master entity before
+ expansion.
+
+2008-05-27 Robert Dewar <dewar@adacore.com>
+
+ * mlib-prj.adb: Minor reformatting
+
+ * prj-part.adb: Minor reformatting
+
+ * prj.ads: Minor reformatting
+
+ * exp_ch3.adb: Minor reformatting.
+
+ * sem_ch3.ads: Minor reformatting
+
+ * sem_eval.adb: Minor reformatting
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb:
+ <prefix>-gnat stack spawns gnatstack, not <prefix>-gnatstack
+
+2008-05-27 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Expand_Array_Aggregate): If the aggregate contains
+ tasks, create an activation chain now, before the expansion into
+ assignments and build-in-place calls that require the presence of an
+ activation chain.
+ (Backend_Processing_Possible): If the component type is inherently
+ limited, the aggregate must be expanded into individual built-in-place
+ assignments.
+
+ * sem_ch6.adb (Build_Extra_Formals): Use underlying type of result to
+ determine whether an allocation extra parameter must be built, to
+ handle case of a private type whose full type is a discriminated type
+ with defaults.
+
+2008-05-27 Bob Duff <duff@adacore.com>
+
+ * gnat_rm.texi:
+ Document the new behavior regarding trampolines.
+
+2008-05-27 Arnaud Charlet <charlet@adacore.com>
+
+ * a-direio.adb, a-sequio.adb: Replace address clause by
+ unrestricted_access, simpler and compatible with .NET.
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * prj-part.adb:
+ (Project_Path_Name_Of.Try_Path): Do not use Locate_Regular_File to find
+ a project file, so that symbolic links are not resolved.
+
+2008-05-27 Arnaud Charlet <charlet@adacore.com>
+
+ * a-ztexio.adb, a-textio.adb, a-witeio.adb, s-direio.adb:
+ Replace heavy address clause by 'Unrestricted_Access, cleaner and more
+ portable across GNAT targets, since this kind of address clause is not
+ supported by VM back-ends (.NET/JGNAT).
+
+2008-05-27 Arnaud Charlet <charlet@adacore.com>
+
+ * bindgen.adb: Update comments.
+
+ * s-tasinf-mingw.adb: Add "with" of System.OS_Interface
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb,
+ prj.ads, makegpr.adb, makeutl.adb, clean.adb, prj-nmsc.adb,
+ mlib-tgt.adb, prj-env.adb, prj-env.ads:
+ (Path_Information): New record type
+ Use component of type Path_Information when there are two paths, one in
+ canonical format and one in display format.
+ Update the project manager to these new components.
+
+2008-05-27 Robert Dewar <dewar@adacore.com>
+
+ * makeutl.adb: Minor reformatting
+ * prj-nmsc.adb: Minor reformatting
+ * s-stausa.adb: Minor reformatting
+ * s-stausa.ads: Minor reformatting
+ * sem_ch6.adb: Minor reformatting
+
+2008-05-27 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb: Minor comment fixes
+
+2008-05-27 Thomas Quinot <quinot@adacore.com>
+
+ * makeutl.adb: Minor code reorganization
+
+ * exp_aggr.adb: Add ??? comment
+ Fix typo
+
+ * exp_ch6.adb: Minor reformatting
+
+2008-05-27 Quentin Ochem <ochem@adacore.com>
+
+ * s-stausa.adb (Initialize): Updated result initialization, and
+ initialization of environment stack.
+ (Fill_Stack): Improved computation of the pattern zone, taking into
+ account already filled at the calling point.
+ (Get_Usage_Range): Now uses Min_Measure and Max_Measure instead of
+ Measure and Overflow_Guard.
+ (Report_Result): Fixed computation of the result using new fields of
+ Stack_Analyzer.
+
+ * s-stausa.ads (Initialize_Analyzer): Replaced Size / Overflow_Guard
+ params by more explicit Stack_Size / Max_Pattern_Size params.
+ (Stack_Analyzer): Added distinct Stack_Size & Pattern_Size fields.
+ Added Stack_Used_When_Filling field.
+ (Task_Result): Replaced Measure / Overflow_Guard by more explicit
+ Min_Measure and Max_Measure fields.
+
+ * s-tassta.adb (Task_Wrapper): Updated call to Initialize_Analyzer.
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb:
+ (Check_File): Make sure that a unit that replaces the same unit in a
+ project being extended is properly processed.
+
+2008-05-27 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb:
+ (Get_Discr_Value): Remove obsolete code that failed to find the value
+ of a discriminant for an inherited task component appearing in a type
+ extension.
+
+2008-05-27 Thomas Quinot <quinot@adacore.com>
+
+ (System.File_IO.{Close, Delete, Reset}):
+ Change File parameter from "in out AFCB_Ptr" to "access AFCB_Ptr".
+
+ (Ada.*_IO.{Close, Delete, Reset, Set_Mode}):
+ Pass File parameter by reference.
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb:
+ (Process_Sources_In_Multi_Language_Mode): Check that there are not two
+ sources of the same project that have the same object file name.
+ (Find_Explicit_Sources): Always remove a source exception that was not
+ found.
+
+2008-05-27 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting
+
+2008-05-27 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb:
+ (Is_Interface_Conformant): Handle properly a primitive operation that
+ overrides an interface function with a controlling access result.
+ (Type_Conformance): If Skip_Controlling_Formals is true, when matching
+ inherited and overriding operations, omit as well the conformance check
+ on result types, to prevent spurious errors.
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * makeutl.ads, makeutl.adb:
+ (Set_Location): New procedure
+ (Get_Location): New function
+ (Update_Main): New procedure
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb:
+ (Check_Library): Allow standard project to be extended as a static
+ library project.
+ (Get_Mains): Do not inherit attribute Main in an extending library
+ project.
+
+2008-05-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * system-darwin-ppc.ads (Always_Compatible_Rep): Set to False.
+ * system-darwin-x86.ads (Always_Compatible_Rep): Likewise.
+ * system-freebsd-x86.ads (Always_Compatible_Rep): Likewise.
+ * system-linux-ppc.ads (Always_Compatible_Rep): Likewise.
+ * system-linux-x86_64.ads (Always_Compatible_Rep): Likewise.
+ * system-linux-x86.ads (Always_Compatible_Rep): Likewise.
+ * system-mingw.ads (Always_Compatible_Rep): Likewise.
+ * system-solaris-sparc.ads (Always_Compatible_Rep): Likewise.
+ * system-solaris-sparcv9.ads (Always_Compatible_Rep): Likewise.
+ * system-solaris-x86.ads (Always_Compatible_Rep): Likewise.
+
+2008-05-27 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb: add guard to previous patch.
+
+2008-05-27 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_disp.adb (Build_Dispatch_Tables): For a private type completed by
+ a synchronized tagged type, do not attempt to build dispatch table for
+ full view. The table is built for the corresponding record type, which
+ has its own declaration.
+
+2008-05-27 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch3.adb (Fixup_Bad_Constraint): Set the Etype on the bad subtype
+ to the known type entity E, rather than setting it to Any_Type. Fixes
+ possible blowup in function Base_Init_Proc, as called from Freeze_Entity
+ for objects whose type had an illegal constraint.
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi:
+ Add succinct documentation for attribute Excluded_Source_List_File
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb: Add new project level attribute Map_File_Option
+
+ * prj-nmsc.adb (Process_Linker): Process new attribute Map_File_Option
+
+ * prj.ads: Minor reformatting and comment update
+ (Project_Configuration): New component Map_File_Option
+
+ * snames.adb: New standard name Map_File_Option
+
+ * snames.ads: New standard name Map_File_Option
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * xsnames.adb: Remove unused variable Oname
+
+2008-05-27 Doug Rupp <rupp@adacore.com>
+
+ * exp_ch6.adb:
+ (Expand_N_Function_Call): Fix comments. Minor reformatting.
+
+ * exp_vfpt.ads:
+ (Expand_Vax_Foreign_Return): Fix comments.
+
+2008-05-27 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb: Minor reformating
+
+2008-05-26 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): Remove checks for
+ No_Default_Initialization, which is now delayed until the freeze point
+ of the object. Add a comment about deferral of the check.
+
+ * freeze.adb (Freeze_Entity): The check for No_Default_Initialization
+ on objects is moved here.
+
+2008-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-casi16.adb (Uhalf): Rewrite it as integer with small alignment.
+ (Compare_Array_S16): Adjust for above change.
+ * s-casi32.adb (Uword): Likewise.
+ (Compare_Array_S32): Likewise.
+ * s-casi64.adb (Uword): Likewise.
+ (Compare_Array_S64): Likewise.
+ * s-caun16.adb (Uhalf): Likewise.
+ (Compare_Array_U16): Likewise.
+ * s-caun32.adb (Uword): Likewise.
+ (Compare_Array_U32): Likewise.
+ * s-caun64.adb (Uword): Likewise.
+ (Compare_Array_U64): Likewise.
+
+2008-05-26 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch6.adb: Add ??? comment for previous change
+
+ * exp_vfpt.adb: Minor reformatting
+
+ * exp_vfpt.ads: Add ??? comment for last change
+
+ * sem_attr.adb: Add some ??? comments for previous change
+
+ * s-vaflop.ads: Add comments for previous change
+
+2008-05-26 Doug Rupp <rupp@adacore.com>
+
+ * s-vaflop-vms-alpha.adb:
+ Remove System.IO use clause, to prevent spurious ambiguities when
+ package is access through rtsfind.
+
+2008-05-26 Sergey Rybin <rybin@adacore.com>
+
+ * tree_io.ads (ASIS_Version_Number): Update because of the changes
+ made in front-end
+
+2008-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb:
+ (Resolve_Attribute, case 'address): S (A .. B)' address can be safely
+ converted to S (A)'address only if A .. B is known to be a non-null
+ range.
+
+2008-05-26 Doug Rupp <rupp@adacore.com>
+
+ * s-vaflop.adb:
+ (Return_D, Return_F, Return_G): New functions.
+
+ * s-vaflop.ads:
+ (Return_D, Return_F, Return_G): New functions.
+
+ * exp_vfpt.adb:
+ (Expand_Vax_Foreign_Return): New procedure
+
+ * exp_vfpt.ads:
+ (Expand_Vax_Foreign_Return): New procedure
+
+ * rtsfind.ads:
+ (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Ids
+ (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Unit_Table elements
+
+ * exp_ch6.adb:
+ Import Exp_Vfpt
+ (Expand_N_Function_Call): Call Expand_Vax_Foreign_Return.
+
+ * s-vaflop-vms-alpha.adb:
+ (Return_D, Return_F, Return_G): New functions.
+
+2008-05-26 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch3.adb (Build_Array_Init_Proc): Only set Init_Proc to a dummy
+ init proc entity when there is actual default initialization associated
+ with the component type, to avoid spurious errors on objects of scalar
+ array types that are marked Is_Public when No_Default_Initialization
+ applies.
+
+2008-05-26 Thomas Quinot <quinot@adacore.com>
+
+ * rtsfind.ads, rtsfind.adb:
+ (RE_Get_RACW): New runtime library entity provided by PolyORB s-parint.
+ (Check_RPC): Support per-PCS-kind API versioning.
+
+ exp_dist.ads, exp_dist.adb:
+ (Build_Stub_Tag, Get_Stub_Elements): New utility subprograms.
+ (PolyORB_Support.Add_RACW_From_Any): Offload common code to new runtime
+ library function Get_RACW.
+ (PolyORB_Support.Add_RACW_To_Any): Offload common code to new runtime
+ library function Get_Reference.
+ (PolyORB_Support.Add_RACW_Read_Attribute): Use Get_RACW instead of going
+ through an intermediate Any.
+ (PolyORB_Support.Add_RACW_Write_Attribute): Use Get_Reference instead of
+ going through an intermediate Any.
+
+ * sem_dist.adb: Minor reformatting.
+
+2008-05-26 Javier Miranda <miranda@adacore.com>
+
+ * einfo.ads (Abstract_Interface_Alias): Renamed as Interface_Alias.
+ (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
+ (Is_Internal): Adding documentation on internal entities that have
+ attribute Interface_Alias (old attribute Abstract_Interface_Alias)
+
+ * einfo.adb (Abstract_Interface_Alias): Renamed as Interface_Alias.
+ (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
+ Added assertion to force entities with this attribute to have
+ attribute Is_Internal set to True.
+ (Next_Tag_Component): Simplify assertion using attribute Is_Tag.
+
+ * sem_ch3.adb (Derive_Interface_Subprograms): This subprogram has been
+ renamed as Derive_Progenitor_Subprograms. In addition, its code is
+ a new implementation.
+ (Add_Interface_Tag_Components): Remove special management of
+ synchronized interfaces.
+ (Analyze_Interface_Declaration): Minor reformating
+ (Build_Derived_Record_Type): Minor reformating
+ (Check_Abstract_Overriding): Avoid reporting error in case of abstract
+ predefined primitive inherited from interface type because the body of
+ internally generated predefined primitives of tagged types are generated
+ later by Freeze_Type
+ (Derive_Subprogram): Avoid generating an internal name if the parent
+ subprogram overrides an interface primitive.
+ (Derive_Subprograms): New implementation that keeps separate the
+ management of tagged types not implementing interfaces, from tagged
+ types that implement interfaces.
+ (Is_Progenitor): New implementation.
+ (Process_Full_View): Add documentation
+ (Record_Type_Declaration): Replace call to Derive_Interface_Subprograms
+ by call to Derive_Progenitor_Subprograms.
+
+ * sem_ch6.ads (Is_Interface_Conformant): New subprogram.
+ (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
+ Skip_Controlling_Formals.
+
+ * sem_ch6.adb (Is_Interface_Conformant): New subprogram.
+ (Check_Conventions): New implementation. Remove local subprogram
+ Skip_Check. Remove formal Search_From of routine Check_Convention.
+ (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
+ Skip_Controlling_Formals.
+ (New_Overloaded_Entity): Enable addition of predefined dispatching
+ operations.
+
+ * sem_disp.ads
+ (Find_Primitive_Covering_Interface): New subprogram.
+
+ * sem_disp.adb (Check_Dispatching_Operation): Disable registering
+ the task body procedure as a primitive of the corresponding tagged
+ type.
+ (Check_Operation_From_Private_Type): Avoid adding twice an entity
+ to the list of primitives.
+ (Find_Primitive_Covering_Interface): New subprogram.
+ (Override_Dispatching_Operation): Add documentation.
+
+ * sem_type.adb (Covers): Minor reformatings
+
+ * sem_util.ads (Collect_Abstract_Interfaces): Renamed as
+ Collect_Interfaces.
+ Rename formal.
+ (Has_Abstract_Interfaces): Renamed as Has_Interfaces.
+ (Implements_Interface): New subprogram.
+ (Is_Parent): Removed.
+ (Primitive_Names_Match): New subprogram.
+ (Remove_Homonym): Moved here from Derive_Interface_Subprograms.
+ (Ultimate_Alias): New subprogram.
+
+ * sem_util.adb (Collect_Abstract_Interfaces): Renamed as
+ Collect_Interfaces.
+ Remove special management for synchronized types. Rename formal. Remove
+ internal subprograms Interface_Present_In_Parent and Add_Interface.
+ (Has_Abstract_Interfaces): Renamed as Has_Interfaces. Replace assertion
+ on non-record types by code to return false in such case.
+ (Implements_Interface): New subprogram.
+ (Is_Parent): Removed. No special management is now required for
+ synchronized types covering interfaces.
+ (Primitive_Names_Match): New subprogram.
+ (Remove_Homonym): Moved here from Derive_Interface_Subprograms.
+ (Ultimate_Alias): New subprogram.
+
+ * exp_ch3.adb (Add_Internal_Interface_Entities): New subprogram.
+ Add internal entities associated with secondary dispatch tables to
+ the list of tagged type primitives that are not interfaces.
+ (Freeze_Record_Type): Add new call to Add_Internal_Interface_Entities
+ (Make_Predefined_Primitive_Specs): Code reorganization to improve
+ the management of predefined equality operator. In addition, if
+ the type has an equality function corresponding with a primitive
+ defined in an interface type, the inherited equality is abstract
+ as well, and no body can be created for it.
+
+ * exp_disp.ads (Is_Predefined_Dispatching_Operation): Moved from
+ exp_util to exp_disp.
+ (Is_Predefined_Interface_Primitive): New subprogram. Returns True if
+ an entity corresponds with one of the predefined primitives required
+ to implement interfaces.
+ Update copyright notice.
+
+ * exp_disp.adb (Set_All_DT_Position): Add assertion. Exclude from the
+ final check on abstract subprograms all the primitives associated with
+ interface primitives because they must be visible in the public and
+ private part.
+ (Write_DT): Use Find_Dispatching_Type to locate the name of the
+ interface type. This allows the use of this routine, for debugging
+ purposes, when the tagged type is not fully decorated.
+ (Is_Predefined_Dispatching_Operation): Moved from exp_util to exp_disp.
+ Factorize code calling new subprogram Is_Predefined_Interface_Primitive.
+ (Is_Predefined_Interface_Primitive): New subprogram. Returns True if an
+ entity corresponds with one of the predefined primitives required to
+ implement interfaces.
+
+ * exp_util.adb (Find_Interface_ADT): New implementation
+ (Find_Interface): Removed.
+
+ * sprint.adb (Sprint_Node_Actual): Generate missing output for the
+ list of interfaces associated with nodes
+ N_Formal_Derived_Type_Definition and N_Private_Extension_Declaration.
+
+2008-05-26 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add missing guard on
+ condition for assignment to temporary.
+
+2008-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_Concatenate_Other): Add explicit constraint
+ checks on the upper bound if the index type is a modular type, to
+ prevent wrap-around computations when size is close to upper bound of
+ type.
+
+2008-05-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting
+
+2008-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Remove_Parent): Use specification of instance
+ to retrieve generic parent,
+ to handle properly the case where the instance is a child unit.
+ Add guard to handle properly wrapper packages.
+ Minor reformatting
+
+2008-05-26 Thomas Quinot <quinot@adacore.com>
+
+ * sinfo.ads: Minor reformatting
+
+2008-05-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Type_Conversion): Minor code reformatting.
+ Generate a tag check when the result subtype of a function, defined by
+ an access definition, designates a specific tagged type.
+ (Make_Tag_Check): New routine.
+
+2008-05-26 Arnaud Charlet <charlet@adacore.com>
+
+ * ceinfo.adb, csinfo.adb: Remove warnings. Update headers.
+
+2008-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gigi.h (gigi): Remove bogus ATTRIBUTE_UNUSED marker.
+ (builtin_decl_for): Likewise.
+ * trans.c (gigi): Likewise.
+ * utils.c (def_builtin_1): Fix formatting.
+
+2008-05-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb (Build_Init_Statements): Alphabetize local variables.
+ Create the statements which map a string name to protected or task
+ entry indix.
+
+ * exp_ch9.adb: Add with and use clause for Stringt.
+ Minor code reformatting.
+ (Build_Entry_Names): New routine.
+ (Make_Initialize_Protection, Make_Task_Create_Call): Generate a value
+ for flag Build_Entry_Names which controls the allocation of the data
+ structure for the string names of entries.
+
+ * exp_ch9.ads (Build_Entry_Names): New subprogram.
+
+ * exp_util.adb (Entry_Names_OK): New function.
+
+ * exp_util.ads (Entry_Names_OK): New function.
+
+ * rtsfind.ads: Add RO_PE_Set_Entry_Name and RO_TS_Set_Entry_Name to
+ enumerations RE_Id and RE_Unit_Table.
+
+ * s-taskin.adb Add with and use clause for Ada.Unchecked_Deallocation.
+ (Free_Entry_Names_Array): New routine.
+
+ * s-taskin.ads: Comment reformatting.
+ Add types String_Access, Entry_Names_Array, Entry_Names_Array_Access.
+ Add component Entry_Names to record Ada_Task_Control_Block.
+ (Free_Entry_Names_Array): New routine.
+
+ * s-tassta.adb (Create_Task): If flag Build_Entry_Names is set,
+ dynamically allocate an array
+ of string pointers. This structure holds string entry names.
+ (Free_Entry_Names): New routine.
+ (Free_Task, Vulnerable_Free_Task): Deallocate the entry names array.
+ (Set_Entry_Names): New routine.
+
+ * s-tassta.ads:
+ (Create_Task): Add formal Build_Entry_Names. The flag is used to
+ control the allocation of the data structure which stores entry names.
+ (Set_Entry_Name): New routine.
+
+ * s-tpoben.adb:
+ Add with and use clause for Ada.Unchecked_Conversion.
+ (Finalize): Deallocate the entry names array.
+ (Free_Entry_Names): New routine.
+ (Initialize_Protection_Entries): When flag Build_Entry_Names is set,
+ create an array of string pointers to hold the entry names.
+ (Set_Entry_Name): New routine.
+
+ * s-tpoben.ads:
+ Add field Entry_Names to record Protection_Entries.
+ (Initialize_Protection_Entries): Add formal Build_Entry_Names.
+ (Set_Entry_Name): New routine.
+
+2008-05-26 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb:
+ (Process_Project_Level_Simple_Attributes): process attribute Library_GCC
+
+ * prj.ads:
+ (Project_Configuration): New component Shared_Lib_Driver
+
+2008-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * inline.adb:
+ (Cleanup_Scopes): For a protected operation, transfer finalization list
+ to protected body subprogram, to force cleanup actions when needed.
+
+2008-05-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_cat.adb: Minor reformatting
+
+ * gnatname.adb: Minor reformatting
+
+ * osint.ads: Minor reformatting
+
+ * s-carun8.ads: Minor reformatting
+
+ * g-heasor.ads: Minor comment fix (unit is now pure)
+
+2008-05-26 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch2.adb:
+ (Expand_Current_Value): Properly type generated integer literal
+
+2008-05-26 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Add description for the new gnatcheck rule -
+ Separate_Numeric_Error_Handlers.
+
+2008-05-26 Pascal Obry <obry@adacore.com>
+
+ * sem_aggr.adb: Minor reformatting.
+
+2008-05-26 Jose Ruiz <ruiz@adacore.com>
+
+ * s-osinte-aix.adb:
+ (To_Target_Priority): Setting the time slice value to 0 or greater sets
+ the scheduling policy to FIFO within priorities or round-robin
+ respectively.
+ Hence, the priority must be set in this case to the one selected by the
+ user.
+
+2008-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb:
+ (Remove_Parent): If the enclosing scope is an instance whose generic
+ parent is declared within some parent scope of the just completed
+ instance, make full views of the entities in that parent visible, when
+ applicable.
+
+2008-05-26 Kai Tietz <kai.tietz@onevision.com>
+
+ * mingw32.h (STD_MINGW): Set to true for target w64.
+
+2008-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (Attribute_to_gnu) <Code_Address>: Set TREE_NO_TRAMPOLINE
+ instead of TREE_STATIC on the ADDR_EXPR.
+
+2008-05-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (gnat_to_gnu): Do not set source location info on NOP_EXPRs.
+ (Sloc_to_locus): Do not overwrite known GCC locations when translating
+ GNAT standard locations.
+
+2008-05-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gigi.h (mark_visited): Declare.
+ * decl.c (gnat_to_gnu_entity): Use mark_visited instead of marking
+ only the topmost node of expressions.
+ (elaborate_expression_1): Look deeper for read-only variables.
+ * trans.c (add_decl_expr): Use mark_visited instead of marking by hand.
+ (mark_visited): Move logic to mark_visited_r. Invoke walk_tree.
+ (mark_visited_r): New function.
+
+2008-05-23 Vincent Celier <celier@adacore.com>
+
+ * snames.adb: New standard name Excluded_Source_List_File.
+
+ * snames.ads: New standard name Excluded_Source_List_File.
+
+ * prj-attr.adb: New project level attribute Excluded_Source_List_File.
+
+ * prj-nmsc.adb: (Find_Excluded_Sources): New parameter Project.
+ Get excluded sources from
+ file indicated by attribute Excluded_Source_List_File, when present and
+ neither Excluded_Source_Files nor Locally_Removed_Files are declared.
+
+2008-05-23 Robert Dewar <dewar@adacore.com>
+
+ * exp_dist.adb: Minor reformatting
+
+2008-05-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Resolve_Attribute, case 'address): If the prefix is a
+ slice, convert it to an indexed component, which is equivalent, more
+ efficient, and usable even if the slice itself is not addressable.
+
+2008-05-23 Olivier Hainque <hainque@adacore.com>
+
+ * gnat_ugn.texi (Calling Conventions): Document that the Intrinsic
+ convention also allows access to named compiler built-in subprograms
+ such as the GCC __builtin family.
+
+2008-05-23 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_Naming_Schemes): Check a file for spec, body and
+ sep. If there are several possibilities, choose the one with the
+ longer prefix.
+
+2008-05-23 Vincent Celier <celier@adacore.com>
+
+ * gnatlink.adb (Process_Args): Do not disable scanning of ALI file for
+ back end switches when executable specified with --GCC= is same as
+ default, even if there are additional options.
+
+ * gnat_ugn.texi:
+ Document when the back end switches from the ALI file are taken into
+ account when gnatlink is invoked with --GCC=
+
+2008-05-23 Thomas Quinot <quinot@adacore.com>
+
+ * s-os_lib.adb:
+ (copy_File): Do not open destination file if source file is unreadable.
+
+2008-05-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils.c (handle_type_generic_attribute): Adjust to accept
+ fixed arguments before an elipsis.
+
+2008-05-21 Thomas Quinot <quinot@adacore.com>
+
+ * g-sothco.ads, g-sothco.adb: New files.
+
+2008-05-20 Thomas Quinot <quinot@adacore.com>
+
+ * Makefile.rtl (GNAT.Sockets.Thin_Common): New unit.
+
+ * g-sttsne-vxworks.adb: Add missing dependency on Sockets.Constants.
+ Add missing "with" of Ada.Unchecked_Conversion
+
+ * g-soccon-linux-ppc.ads, g-soccon-linux-64.ads, g-soccon-lynxos.ads,
+ g-soccon-linux-x86.ads, g-soccon-hpux-ia64.ads,
+ g-soccon-solaris-64.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
+ g-soccon-irix.ads, g-soccon-hpux.ads, g-soccon-solaris.ads,
+ g-soccon-vms.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads,
+ g-socthi-vxworks.adb, g-soccon-freebsd.ads, g-soccon.ads:
+ Move common code out of GNAT.Sockets.Thin implementations and into
+ Thin_Common.
+ New constant SIZEOF_fd_set
+ New flag Has_Sockaddr_Len
+ New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6
+
+ * g-stsifd-sockets.adb
+ (Create): Remove call to Set_Length; use Set_Family to set the family
+ and (on appropriate platforms) length fields in struct sockaddr.
+
+ * g-socthi.adb, g-socthi.ads, g-socthi-vms.ads, g-socthi-vms.adb,
+ g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.adb,
+ g-soccon-darwin.ads, g-soccon-darwin.ads: New constant SIZEOF_fd_set
+ Move common code out of GNAT.Sockets.Thin implementations and into
+ Thin_Common.
+
+ * g-socket.ads, g-socket.adb:
+ Move common code out of GNAT.Sockets.Thin implementations and into
+ Thin_Common.
+ (Connect_Socket, Accept_Socket): Provide new versions of these two
+ routines that operate with a user specified timeout.
+ (Bind_Socket, Connect_Socket, Send_Socket): Remove calls to Set_Length,
+ this is now handled automatically by Set_Family on platforms that
+ require it.
+
+ * gen-soccon.c:
+ Move common code out of GNAT.Sockets.Thin implementations and into
+ Thin_Common.
+ (SIZEOF_sockaddr_in6): On platforms where IPv6 is not supported, define
+ this constant to 0 (not -1) because we use it to initialize an
+ unsigned_char value.
+ Align values for numeric constants only.
+ Handle the case of systems that do not support AF_INET6.
+ New constant SIZEOF_fd_set
+ New flag Has_Sockaddr_Len
+ New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6
+
+ * gsocket.h: New flag Has_Sockaddr_Len
+ New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6
+
+2008-05-20 Santiago Uruena <uruena@adacore.com>
+
+ * i-cobol.ads: Interfaces.COBOL should be preelaborate.
+
+2008-05-20 Arnaud Charlet <charlet@adacore.com>
+
+ * s-linux-hppa.ads (atomic_lock_t): Put back proper alignment now that
+ the underlying issue with malloc/free has been fixed. Remove associated
+ comments.
+ Minor reformatting.
+ Related to PR ada/24533
+
+2008-05-20 Robert Dewar <dewar@adacore.com>
+
+ * ali.adb: Correct casing of ASCII.NUL
+
+ * styleg-c.adb (Check_Identifier): Handle case of names in ASCII
+ properly.
+
+2008-05-20 Robert Dewar <dewar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * checks.adb (Apply_Arithmetic_Overflow_Check): Avoid intermediate
+ overflow if result converted to wider integer type.
+ (Apply_Type_Conversion_Checks): Don't emit checks on conversions to
+ discriminated types when discriminant checks are suppressed.
+
+2008-05-20 Vincent Celier <celier@adacore.com>
+
+ * cstand.adb (Print_Standard): Issue the correct Size clause for type
+ Wide_Wide_Character.
+
+2008-05-20 Tristan Gingold <gingold@adacore.com>
+
+ * decl.c: Do not emit a variable for a object that has an address
+ representation clause whose value is known at compile time.
+ When a variable has an address clause whose value is known at compile
+ time, refer to this variable by using directly the address instead of
+ dereferencing a pointer.
+
+2008-05-20 Robert Dewar <dewar@adacore.com>
+
+ PR ada/30740
+ * einfo.ads, einfo.adb (Non_Binary_Modulus): Applies to all types and
+ subtypes, always False for non-modular types.
+ Shared_Var_Assign_Proc (node22) and Shared_Var_Read_Proc (node 15)
+ entry nodes have been replaced by Shared_Var_Procs_Instance (node22)
+ for Shared_Storage package.
+ (Is_RACW_Stub_Type): New entity flag.
+
+ * exp_ch4.adb
+ (Expand_N_Op_Expon): Avoid incorrect optimization of a*(2**b) in the
+ case where we have a modular type with a non-binary modules.
+ Comments reformattings.
+
+ * sem_intr.adb: Simplify code not that Non_Binary_Modulus applies to
+ all types.
+
+2008-05-20 Javier Miranda <miranda@adacore.com>
+
+ * exp_aggr.adb
+ (Build_Record_Aggr_Code): Fix wrong tests checking progenitors. Previous
+ tests did not covered the case in which the type of the aggregate has
+ no progenitors but some its parents has progenitors.
+
+2008-05-20 Gary Dismukes <dismukes@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb
+ (Expand_N_Object_Declaration): Correct the condition which triggers the
+ generation of a call to Displace when initializing a class-wide object.
+ (Build_Dcheck_Functions): Build discriminant-checking for null variants
+ when Frontend_Layout_On_Target is true to ensure that they're available
+ for calling when a record variant size function is built in Layout.
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Assign_Record): Within an initialization
+ procedure for a derived type retrieve the discriminant values from the
+ parent using the corresponding discriminant.
+ (Expand_N_Assignment_Statement): Skip generation of implicit
+ if-statement associated with controlled types if we are
+ compiling with restriction No_Finalization.
+
+2008-05-20 Vincent Celier <celier@adacore.com>
+
+ * prj.adb (Hash (Project_Id)): New function
+ (Project_Empty): Add new component Interfaces_Defined
+
+ * prj.ads (Source_Data): New component Object_Linked
+ (Language_Config): New components Object_Generated and Objects_Linked
+ (Hash (Project_Id)): New function
+ (Source_Data): New Boolean components In_Interfaces and
+ Declared_In_Interfaces.
+ (Project_Data): New Boolean component Interfaces_Defined
+
+ * prj-attr.adb:
+ New project level attribute Object_Generated and Objects_Linked
+ Add new project level attribute Interfaces
+
+ * prj-dect.adb: Use functions Present and No throughout
+ (Parse_Variable_Declaration): If a string type is specified as a simple
+ name and is not found in the current project, look for it also in the
+ ancestors of the project.
+
+ * prj-makr.adb:
+ Replace procedure Make with procedures Initialize, Process and Finalize
+ to implement H414-023: process different directories with different
+ patterns.
+ Use functions Present and No throughout
+
+ * prj-makr.ads:
+ Replace procedure Make with procedures Initialize, Process and Finalize
+
+ * prj-nmsc.adb
+ (Add_Source): Set component Object_Exists and Object_Linked accordnig to
+ the language configuration.
+ (Process_Project_Level_Array_Attributes): Process new attributes
+ Object_Generated and Object_Linked.
+ (Report_No_Sources): New Boolean parameter Continuation, defaulted to
+ False, to indicate that the erreor/warning is a continuation.
+ (Check): Call Report_No_Sources with Contnuation = True after the first
+ call.
+ (Error_Msg): Process successively contnuation character and warning
+ character.
+ (Find_Explicit_Sources): Check that all declared sources have been found
+ (Check_File): Indicate in hash table Source_Names when a declared source
+ is found.
+ (Check_File): Set Other_Part when found
+ (Find_Explicit_Sources): In multi language mode, check if all exceptions
+ to the naming scheme have been found. For Ada, report an error if an
+ exception has not been found. Otherwise, disregard the exception.
+ (Check_Interfaces): New procedure
+ (Add_Source): When Other_Part is defined, set mutual pointers in spec
+ and body.
+ (Check): In multi-language mode, call Check_Interfaces
+ (Process_Sources_In_Multi_Language_Mode): Set In_Interfaces to False
+ for an excluded source.
+ (Remove_Source): A source replacing a source in the interfaces is also
+ in the interfaces.
+
+ * prj-pars.adb: Use function Present
+
+ * prj-part.adb: Use functions Present and No throughout
+ (Parse_Single_Project): Set the parent project for child projects
+ (Create_Virtual_Extending_Project): Register project with no qualifier
+ (Parse_Single_Project): Allow an abstract project to be extend several
+ times. Do not allow an abstract project to extend a non abstract
+ project.
+
+ * prj-pp.adb: Use functions Present and No throughout
+ (Print): Take into account the full associative array attribute
+ declarations.
+
+ * prj-proc.adb: Use functions Present and No throughout
+ (Expression): Call itself with the same From_Project_Node for the
+ default value of an external reference.
+
+ * prj-strt.adb: Use functions Present and No throughout
+ (Parse_Variable_Reference): If a variable is specified as a simple name
+ and is not found in the current project, look for it also in the
+ ancestors of the project.
+
+ * prj-tree.ads, prj-tree.adb (Present): New function
+ (No): New function
+ Use functions Present and No throughout
+ (Parent_Project_Of): New function
+ (Set_Parent_Project_Of): New procedure
+
+ * snames.ads, snames.adb:
+ Add new standard names Object_Generated and Objects_Linked
+
+2008-05-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): Add guard to ensure that both the parent
+ and the derived type are of the same kind.
+ (Expand_Call): Generate type conversions for actuals of
+ record or array types when the parent and the derived types differ in
+ size and/or packed status.
+
+2008-05-20 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_disp.adb (Make_DT, Make_Secondary_DT, Make_Tags): Avoid
+ generating dispatch tables of locally defined tagged types statically.
+ Remove implicit if-statement that is no longer required.
+ (Expand_Dispatching_Call): If this is a call to an instance of the
+ generic dispatching constructor, the type of the first argument may be
+ a subtype of Tag, so always use the base type to recognize this case.
+
+2008-05-20 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb
+ (GARLIC_Support.Add_RACW_Read_Attribute): When a zero value is received,
+ and the RACW is null-excluding, raise CONSTRAINT_ERROR instead of
+ assigning NULL into the result, to avoid a spurious warning.
+ (Add_RACW_Features, case Same_Scope): Add assertion that designated type
+ is not frozen.
+ (Add_Stub_Type): Set entity flag Is_RACW_Stub_Type on generated stub
+ type.
+ (Build_From_Any_Function, Build_To_Any_Function,
+ Build_TypeCode_Function): For a type that has user-specified stream
+ attributes, use an opaque sequence of octets as the representation.
+
+2008-05-20 Kevin Pouget <pouget@adacore.com>
+
+ * exp_smem.ads, exp_smem.adb: Construction of access and assign
+ routines has been replaced by an instantiation of
+ System.Shared_Storage.Shared_Var_Procs generic package, while expanding
+ shared variable declaration.
+ Calls to access and assign routines have been replaced by calls to
+ Read/Write routines of System.Shared_Storage.Shared_Var_Procs
+ instantiated package.
+
+ * rtsfind.ads: RE_Shared_Var_Procs entry has been added in RE_Unit_Table
+ It identifies the new generic package added in s-shasto.
+
+ * s-shasto.adb, s-shasto.ads: A new generic package has been added, it
+ is instantiated for each shared passive variable. It provides
+ supporting procedures called upon each read or write access by the
+ expanded code.
+
+ * sem_attr.adb:
+ For this runtime unit (always compiled in GNAT mode), we allow
+ stream attributes references for limited types for the case where
+ shared passive objects are implemented using stream attributes,
+ which is the default in GNAT's persistent storage implementation.
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb
+ (Freeze_Enumeration_Type): For a subtype that inherits a foreign
+ convention from its base type, do not set the type to that of integer,
+ because it may inherit a size clause.
+ Warn on a size clause with a size different
+ from that of Integer, if the type has convention C.
+
+2008-05-20 Vincent Celier <celier@adacore.com>
+
+ * gnatname.adb
+ (Scan_Args): Rewrite to take into account new switch --and to separate
+ arguments into sections.
+ (Gnatname): Call Prj.Makr.Initialize, then Prj.Makr.Process for each
+ section, then Finalize.
+
+2008-05-20 Tristan Gingold <gingold@adacore.com>
+
+ * init.c: Enable stack probing on ppc-linux.
+
+ * tracebak.c: Add symbolic traceback for ppc-linux.
+
+ * system-linux-ppc.ads: Enable stack probing on ppc-linux.
+
+2008-05-20 Arnaud Charlet <charlet@adacore.com>
+
+ * Makefile.in
+ (common-tools): New rule, to avoid parallel build failure on gnat tools.
+ Reenable parallel builds on this Makefile.
+
+ * Make-lang.in: Update dependencies.
+
+2008-05-20 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads (Treat_Restrictions_As_Warnings): New switch
+
+ * sem_prag.adb, par-prag.adb, restrict.ads: Implement flag
+ Treat_Restrictions_As_Warnings.
+
+ * switch-c.adb: Recognize new switch -gnatr
+
+ * usage.adb: Add line for -gnatr
+
+2008-05-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * par-ch3.adb
+ (P_Access_Definition): Change the error message when parsing "access
+ all" in Ada 95 mode. The message no longer forces the user to recompile
+ in 05 mode only to discover that anonymous access types are not allowed
+ to have "all".
+
+2008-05-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * par-ch9.adb
+ (P_Protected): Update the error message on missing "-gnat05" switch when
+ using interfaces in conjunction with protected types. Remove the
+ incorrect error message associated with the presence of "private" after
+ a "with".
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb: Update comments.
+ Improve previous change for PR ada/17985
+
+2008-05-20 Thomas Quinot <quinot@adacore.com>
+
+ * sem_cat.adb
+ (Set_Categorization_From_Scope): Do not set In_Remote_Types unless in
+ the visible part of the spec of a remote types unit.
+ (Validate_Remote_Access_Object_Type_Declaration):
+ New local subprogram Is_Valid_Remote_Object_Type, replaces
+ Is_Recursively_Limited_Private.
+ (Validate_RACW_Primitives): Enforce E.2.2(14) rules: the types of all
+ non-controlling formals (and the return type, even though this is not
+ explicit in the standard) must support external streaming.
+ (Validate_RCI_Subprogram_Declaration): Enforce E.2.3(14) rules: same
+ as above for of RAS types and RCI subprograms. (The return type is not
+ checked yet).
+ Update comments related to RACWs designating limited interfaces per
+ ARG ruling on AI05-060.
+
+ * sem_util.ads, sem_util.adb
+ (Is_Remote_Access_To_Class_Wide_Type): Only rely on Is_Remote_Types and
+ Is_Remote_Call_Interface to identify RACW types in a stable and
+ consistent way. We used to rely in this predicate on the privateness of
+ the designated type and its ancestors, but depending on the currently
+ visible private parts, this caused false negatives. We now uniformly
+ rely on checks made at the point where the RACW type is declared.
+ (Inspect_Deferred_Constant_Completion): Moved from Sem_Ch7.
+
+2008-05-20 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch3.adb
+ (Analyze_Object_Declaration): Fix over-conservative condition
+ restricting use of predefined assignment with tagged types that have
+ convention CPP.
+ (Analyze_Object_Declaration): Relax the check regarding deferred
+ constants declared in scopes other than packages since they can be
+ completed with pragma Import.
+ Add missing escaping of all-caps word 'CPP' in error messages.
+ (Build_Discriminated_Subtype): Do not inherit representation clauses
+ from parent type if subtype already carries them, because they are
+ inherited earlier during derivation and already include those that may
+ come from a partial view.
+
+ * sem_ch9.adb, sem_ch5.adb, sem_ch6.adb (Analyze_Subprogram_Body):
+ Check the declarations of a subprogram body for proper deferred
+ constant completion.
+
+ * sem_ch7.ads, sem_ch7.adb
+ (Inspect_Deferred_Constant_Completion): Moved to sem_util.
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch4.adb
+ (Try_Indexed_Call): Handle properly a construct of the form F(S) where
+ F is a parameterless function that returns an array, and S is a subtype
+ mark.
+ (Analyze_Call): Insert dereference when the prefix is a parameterless
+ function that returns an access to subprogram and the call has
+ parameters.
+ Reject a non-overloaded call whose name resolves to denote
+ a primitive operation of the stub type generated to support a remote
+ access-to-class-wide type.
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb
+ (Note_Redundant_Use): Diagnose a redundant use within a subprogram body
+ when there is a use clause for the same entity in the context.
+ (Analyze_Subprogram_Renaming): A renaming_as_body is legal if it is
+ created for a stream attribute of an abstract type or interface type.
+
+2008-05-20 Thomas Quinot <quinot@adacore.com>
+
+ * sem_dist.ads, sem_dist.adb (Is_RACW_Stub_Type_Operation): New
+ subprogram.
+
+ * sem_type.adb
+ (Add_One_Interp): Ignore any interpretation that is a primitive
+ operation of an RACW stub type (these primitives are only executed
+ through dispatching, never through static calls).
+ (Collect_Interps): When only one interpretation has been found, set N's
+ Entity and Etype to that interpretation, otherwise Entity and Etype may
+ still refer to an interpretation that was ignored by Add_One_Interp,
+ in which case would end up with being marked as not overloaded but with
+ an Entity attribute not pointing to its (unique) correct interpretation.
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_eval.adb
+ (Eval_Slice): Warn when a slice whose discrete range is a subtype name
+ denotes the whole array of its prefix.
+
+2008-05-20 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb (Resolve_Op_Not): Warn on double negation
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sprint.adb
+ (Print_Itype): Do not modify the sloc of the component type of a
+ (packed) array itype, because it is an unrelated type whose source
+ location is independent of the point of creation of the itype itself.
+
+2008-05-20 Thomas Quinot <quinot@adacore.com>
+
+ * uintp.adb, urealp.adb: Replace calls to Increment_Last + Set with
+ Append.
+
+2008-05-20 Robert Dewar <dewar@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * vms_data.ads: Add entry for -gnatr
+ Put GNAT SYNC section in proper alpha order
+ Add VMS qualifier /DISPLAY_PROGRESS equivalent to gnatmake switch -d
+
+ * gnat_ugn.texi: Add documentation for new gnatname switch --and
+ Update the style checks section
+ Add documentation of -gnatr
+ Add to the "Adding the Results of Compiler Checks to gnatcheck Output"
+ subsection the explanation how compiler checks should be disabled for
+ gnatcheck.
+ Update the list of Ada 95 reserved words used by in the project language
+ Add documentation for project qualifiers.
+ Document that abstract projects may be extended by different projects in
+ the same project tree.
+ Add documentation for gnatmake switch -d
+
+ * ug_words: Add -gnatyy VMS equivalence string.
+ Add entry for -gnatr
+
+2008-05-20 Bob Duff <duff@adacore.com>
+
+ * a-rttiev.adb
+ (Set_Handler): Remove code from both of these that implements
+ RM-D.15(15/2), because it causes a race condition and potential
+ deadlock.
+ (Process_Queued_Events): Add comment explaining "exception when others
+ => null". Add clarifying ".all", even though implicit .all is legal
+ here.
+
+2008-05-20 Arnaud Charlet <charlet@adacore.com>
+
+ * s-winext.ads: Replace representation clause by pragma Pack. Gives
+ equivalent representation, but has the advantage of allowing
+ compilation of this file under 64 bits platforms.
+
+ * s-os_lib.adb (Normalize_Pathname): Mark Cur_Dir constant.
+
+ * s-osinte-irix.ads: (Alternate_Stack_Size): Add dummy declaration.
+
+ * adaint.c:
+ Don't define dummy implementation of convert_addresses on ppc-linux.
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch7.adb
+ (Expand_Ctrl_Function_Call): Do not attach result to finalization list
+ if expression is aggregate component.
+
+2008-05-20 Robert Dewar <dewar@adacore.com>
+
+ * g-byorma.adb, gnatlink.adb, prepcomp.adb, sinfo.ads,
+ sem_ch12.adb: Update comments. Minor reformatting.
+
+ * exp_ch2.adb: Typo
+
+ * s-unstyp.ads: Fixed some typos in comments.
+
+2008-05-20 Arnaud Charlet <charlet@adacore.com>
+
+ * s-taspri-vxworks.ads (Task_Address, Task_Address_Size): New
+ type/constant.
+
+ * g-socthi-vxworks.ads: Update to latest socket changes.
+
+ * a-caldel-vms.adb: Resync with a-caldel spec.
+
+ * exp_ch9.ads, sem_ch8.ads, inline.adb: Minor reformatting.
+ Update comments.
+
+2008-05-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (gnat_to_gnu) <N_Validate_Unchecked_Conversion>: Account
+ for dummy types pointed to by the converted pointer types.
+
+2008-05-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (add_decl_expr): At toplevel, mark the TYPE_ADA_SIZE field
+ of records and unions.
+ (gnat_to_gnu) <N_Validate_Unchecked_Conversion>: Fix formatting.
+
+2008-05-14 Samuel Tardieu <sam@rfc1149.net>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute, Attribute_Old case): Add
+ restrictions to the prefix of 'Old.
+ * sem_util.ads, sem_util.adb (In_Parameter_Specification): New.
+ * gnat_rm.texi ('Old): Note that 'Old cannot be applied to local
+ variables.
+
+2008-05-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/24880
+ PR ada/26635
+ * utils.c (convert) <INTEGER_TYPE>: When converting an additive
+ expression to an integral type with lower precision, use NOP_EXPR
+ directly in a couple of special cases.
+
+2008-05-12 Samuel Tardieu <sam@rfc1149.net>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Derived_Record_Type): Accept statically matching
+ constraint expressions.
+
+2008-05-12 Tomas Bily <tbily@suse.cz>
+
+ * utils2.c (known_alignment, contains_save_expr_p)
+ (gnat_mark_addressable): Use CASE_CONVERT.
+ * decl.c (annotate_value): Likewise.
+ * trans.c (maybe_stabilize_reference): Likewise.
+ * utils2.c (build_binary_op): Use CONVERT_EXPR_P.
+ * utils.c (rest_of_record_type_compilation): Likewise.
+ * trans.c (protect_multiple_eval, Attribute_to_gnu)
+ (protect_multiple_eval): Likewise.
+
+2008-05-08 Andreas Schwab <schwab@suse.de>
+
+ * utils.c (handle_pure_attribute, init_gigi_decls): Rename
+ DECL_IS_PURE to DECL_PURE_P.
+
+2008-05-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (maybe_pad_type): Add ??? comment.
+
+2008-05-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (components_to_record): Zero the alignment of the qualified
+ union built for the variant part upon creating it.
+
+2008-05-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (maybe_pad_type): Try to get a form of the type with integral
+ mode even if the alignment is not a factor of the original size. But
+ make sure to create the inner field with the original size. Reorder.
+ * trans.c (addressable_p) <COMPONENT_REF>: Treat the field of a padding
+ record as always addressable.
+ * utils.c (convert): Deal specially with conversions between original
+ and packable versions of a record type.
+ * utils2.c (build_binary_op) <MODIFY_EXPR>: Be more restrictive when
+ recognizing an assignment between padded objects.
+
+2008-05-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (make_packable_type): Resize the last component to its RM size
+ only if it is of an aggregate type.
+ * trans.c (call_to_gnu): Fix nit in comment.
+ (gnat_to_gnu): Likewise.
+
+2008-04-30 Samuel Tardieu <sam@rfc1149.net>
+
+ * Makefile.in: Adapt sh4-linux target.
+
+2008-04-29 Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/35792
+ * sem_ch3.adb (Find_Type_Name): Refuse completion of an incomplete
+ tagged type by an untagged protected or task type.
+
+2008-04-28 Eric Botcazou <ebotcazou@adacore.com>
+ Tristan Gingold <gingold@adacore.com>
+
+ PR ada/36007
+ * decl.c (gnat_to_gnu_entity) <object>: Do not promote alignment
+ of aliased objects with an unconstrained nominal subtype.
+ Cap the promotion to the effective alignment of the word mode.
+
+2008-04-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * Make-lang.in (ada.tags, check-acats, ada/treeprs.ads)
+ (ada/einfo.h, ada/sinfo.h, ada/nmake.adb, ada/nmake.ads):
+ Use '&&' instead of ';'.
+
+2008-04-24 Olivier Hainque <hainque@adacore.com>
+
+ * trans.c (Attribute_to_gnu) <case Attr_Length>: Length computation
+ doesn't require signed arithmetic anymore.
+
+2008-04-23 Paolo Bonzini <bonzini@gnu.org>
+
+ * trans.c (Attribute_to_gnu): Don't set TREE_INVARIANT.
+ (call_to_gnu): Don't set TREE_INVARIANT.
+ * utils2.c (gnat_build_constructor): Don't set TREE_INVARIANT.
+
+2008-04-22 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * s-osinte-rtems.adb: Add sigalstack function.
+ * s-osinte-rtems.ads: Add SO_ONSTACK and sigalstack
+ function. Add Alternate_Stack and Alternate_Stack_Size.
+ Add missing process_shared field to pthread_condattr_t
+ and change ss_low_priority to int from timespec.
+
+2008-04-22 Samuel Tardieu <sam@rfc1149.net>
+
+ * i-forbla.adb: Link against -llapack and -lblas by default
+ instead of the private -lgnalasup.
+
+2008-04-21 Olivier Hainque <hainque@adacore.com>
+
+ Access to most C builtins from Ada
+ * utils.c: #include "langhooks.h" and define GCC_DIAG_STYLE.
+ (handle_pure_attribute, handle_novops_attribute,
+ handle_nonnull_attribute, handle_sentinel_attribute,
+ handle_noreturn_attribute, handle_malloc_attribute,
+ handle_type_generic_attribute): New attribute handlers, from C fe.
+ (gnat_internal_attribute_table): Map the new handlers.
+ (gnat_init_decl_processing): Move call to gnat_install_builtins to ...
+ (init_gigi_decls): ... here.
+ (handle_const_attribute, handle_nothrow_attribute, builtin_decl_for):
+ Move to a section dedicated to builtins processing.
+ (build_void_list_node, builtin_type_for_size): New functions.
+ (def_fn_type, get_nonnull_operand): Likewise.
+ (install_builtin_elementary_type, install_builtin_function_types,
+ install_builtin_attributes): Likewise.
+ (fake_attribute_handler): Fake handler for attributes we don't
+ support in Ada.
+ (def_builtin_1): New function, worker for DEF_BUILTIN.
+ (install_builtin_functions): New function.
+ (gnat_install_builtins): Move to the builtins processing section.
+ Now calling the newly introduced installers.
+
+2008-04-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: Also promote the alignment of
+ constant objects, but not exceptions.
+ * trans.c (add_decl_expr): Use gnat_types_compatible_p for type
+ compatibility test.
+ * utils.c (create_var_decl_1): Likewise.
+ * utils2.c (build_binary_op) <MODIFY_EXPR>: Also use the padded view of
+ the type when copying to padded object and the source is a constructor.
+
+2008-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: When trying to promote the
+ alignment, reset it to zero if it would end up not being greater
+ than that of the type.
+
+2008-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (maybe_pad_type): Only generate the XVS parallel type if
+ the padded type has a variable size.
+
+2008-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Use the return by
+ target pointer mechanism as soon as the size is not constant.
+
+2008-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gigi.h (create_var_decl_1): Declare.
+ (create_var_decl): Turn into a macro invoking create_var_decl_1.
+ (create_true_var_decl): Likewise.
+ * utils.c (create_var_decl_1): Make global and reorder parameters.
+ (create_var_decl): Delete.
+ (create_true_var_decl): Likewise.
+
+2008-04-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: Promote the alignment of
+ objects by default.
+ * fe.h (Debug_Flag_Dot_A): Delete.
+ * debug.adb (-gnatd.a): Update documentation.
+
+2008-04-17 Samuel Tardieu <sam@rfc1149.net>
+
+ * g-socket.ads, g-socket.adb (Get_Address): Make Stream a
+ "not null" parameter.
+
+2008-04-17 Samuel Tardieu <sam@rfc1149.net>
+
+ * g-socket.adb: Add a message "IPv6 not supported" to the
+ Socket_Error exception.
+
+2008-04-16 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/29015
+ * sem_ch12.adb (Instantiate_Type): Check whether the full view of
+ the type is known instead of the underlying type.
+
+2008-04-15 Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/22387
+ * exp_ch5.adb (Expand_Assign_Record): Within an initialization
+ procedure for a derived type retrieve the discriminant values from
+ the parent using the corresponding discriminant.
+
+2008-04-15 Samuel Tardieu <sam@rfc1149.net>
+ Gary Dismukes <dismukes@adacore.com>
+
+ PR ada/28733
+ * sem_ch8.adb (Analyze_Use_Package): Do not allow "use" of something
+ which is not an entity (and hence not a package).
+ (End_Use_Package): Ditto.
+
+2008-04-15 Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/16086
+ * sem_ch12.adb (Analyze_Formal_Subprogram): The default can be any
+ protected operation that matches the signature, not only an entry, a
+ regular subprogram or a literal.
+
+2008-04-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * ada-tree.h (DECL_BY_COMPONENT_PTR_P): Use DECL_LANG_FLAG_3.
+ * decl.c (gnat_to_gnu_entity) <object>: Call maybe_pad_type only
+ if a size or alignment is specified. Do not take into account
+ alignment promotions for the computation of the object's size.
+ <type>: Call maybe_pad_type only if a size or alignment is specified.
+ (maybe_pad_type): Really reuse the RM_Size of the original type if
+ requested.
+ * trans.c (Attribute_to_gnu): Fix a couple of nits.
+ * utils2.c (build_binary_op) <MODIFY_EXPR>: Merge related conditional
+ statements. Use the padded view of the type when copying between
+ padded objects of the same underlying type.
+
+2008-04-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * vms_data.ads: Fix typo in constant.
+ * gen-soccon.c: Fix typo in error string.
+ * gnat_rm.texi (Pragma Optimize_Alignment, Pragma Postcondition):
+ Fix typos.
+ * a-calcon.ads, a-calend-vms.adb, a-calend.adb, a-crdlli.ads,
+ bcheck.adb, checks.adb, einfo.ads, errout.adb, erroutc.adb,
+ erroutc.ads, exp_attr.adb, exp_ch11.adb, exp_ch2.adb,
+ exp_ch5.adb, exp_ch9.adb, exp_ch9.ads, exp_pakd.adb,
+ exp_util.adb, fmap.adb, g-soccon-linux-mips.ads,
+ g-soccon-rtems.ads, g-timsta.adb, g-timsta.ads, lib-writ.ads,
+ mlib-tgt-specific-linux.adb, mlib-tgt-specific-tru64.adb,
+ s-interr-vxworks.adb, s-interr.adb, s-osinte-lynxos.ads,
+ s-rident.ads, s-taprop-solaris.adb, s-tassta.adb, s-win32.ads,
+ sem_aggr.adb, sem_attr.ads, sem_ch10.adb, sem_ch13.ads,
+ sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb,
+ sem_prag.ads, sem_res.adb, sem_util.adb, sem_util.ads,
+ sinfo.ads: Fix typos in comments.
+
+2008-04-14 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, Linker_Section case): Extend error
+ to every non-object and change error message.
+
+2008-04-14 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.ads, sem_util.adb (In_Subprogram): Remove.
+ * sem_attr.adb (Anayze_Attribute): Check for Current_Subprogram
+ directly.
+
+2008-04-14 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/18680
+ * sem_prag.adb (Analyze_Pragma, Linker_Section case): Refuse to
+ apply pragma Linker_Section on type.
+
+2008-04-14 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/16098
+ * sem_prag.adb (Error_Pragma_Ref): New.
+ (Process_Convention): Specialized message for non-local
+ subprogram renaming. Detect the problem in homonyms as well.
+
+2008-04-14 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/15915
+ * sem_util.ads, sem_util.adb (Denotes_Variable): New function.
+ * sem_ch12.adb (Instantiate_Object): Use it.
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ensure that
+ storage pool denotes a variable as per RM 13.11(15).
+
+2008-04-14 Samuel Tardieu <sam@rfc1149.net>
+
+ * sem_util.ads, sem_util.adb (In_Subprogram): New function.
+ * sem_attr.adb (Analyze_Attribute, Attribute_Old case): Use it.
+
+2008-04-14 Rolf Ebert <rolf.ebert.gcc@gmx.de>
+
+ PR ada/20822
+ * xgnatugn.adb (Put_Line): New procedure, ensuring Unix
+ line endings even on non-Unix platforms.
+
+2008-04-14 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/35050
+ * xref_lib.adb (Parse_Identifier_Info): Correctly parse and ignore the
+ renaming information.
+
+2008-04-13 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/17985
+ * sem_aggr.adb (Valid_Ancestor_Type): A type is not an ancestor of
+ itself.
+
+2008-04-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * sfn_scan.adb, sfn_scan.ads, sinfo.ads,
+ sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput.ads,
+ snames.ads, sprint.adb, stand.ads, stringt.ads,
+ styleg.adb, styleg.ads, stylesw.adb, stylesw.ads,
+ switch.ads, sysdep.c, table.adb, table.ads,
+ targparm.ads, tb-gcc.c, tbuild.ads, tracebak.c,
+ trans.c, tree_io.adb, treepr.adb, types.adb, types.ads,
+ uintp.adb, uintp.ads, utils.c, utils2.c, validsw.ads,
+ vms_conv.adb, vms_conv.ads, vms_data.ads, widechar.adb,
+ widechar.ads, xeinfo.adb, xgnatugn.adb, xr_tabls.adb,
+ xr_tabls.ads, xref_lib.adb, xref_lib.ads, xsinfo.adb:
+ Fix comment typos.
+
+ * sem_ch10.adb, sem_ch10.ads,
+ sem_ch12.adb, sem_ch12.ads, sem_ch13.adb, sem_ch13.ads,
+ sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
+ sem_ch6.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb,
+ sem_elab.adb, sem_elab.ads, sem_elim.ads, sem_eval.adb,
+ sem_eval.ads, sem_intr.adb, sem_mech.adb, sem_mech.ads,
+ sem_prag.adb, sem_prag.ads, sem_res.adb, sem_res.ads,
+ sem_type.adb, sem_util.adb, sem_util.ads, sem_warn.adb,
+ sem_warn.ads: Fix comment typos.
+
+ * s-secsta.adb, s-sequio.ads, s-shasto.ads,
+ s-soflin.ads, s-stalib.ads, s-stausa.adb,
+ s-stausa.ads, s-strxdr.adb, s-taenca.adb, s-taenca.ads,
+ s-taprob.adb, s-taprop-hpux-dce.adb, s-taprop-irix.adb,
+ s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-posix.adb,
+ s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
+ s-taprop-vxworks.adb, s-taprop.ads, s-tarest.adb,
+ s-tarest.ads, s-tasini.adb, s-tasini.ads, s-taskin.ads,
+ s-tasque.ads, s-tassta.adb, s-tassta.ads, s-tasuti.ads,
+ s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
+ s-tpopsp-posix.adb, s-tpopsp-rtems.adb, s-tposen.adb,
+ s-tposen.ads, s-traceb-hpux.adb, s-traces.ads,
+ s-trafor-default.ads, s-unstyp.ads, s-utf_32.ads,
+ s-vaflop.adb, s-vaflop.ads, s-valrea.adb, s-valuti.adb,
+ s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, scans.ads,
+ scn.adb, scng.adb, seh_init.c, sem.ads, sem_aggr.adb,
+ sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
+ sem_cat.adb, sem_cat.ads: Fix comment typos.
+
+2008-04-12 Joel Sherrill <joel@oarcorp.com>
+
+ PR ada/35825
+ * g-soccon-rtems.ads: Add IP_PKTINFO as unsupported.
+
+2008-04-12 Arnaud Charlet <charlet@adacore.com>
+
+ * s-linux-hppa.ads: Fix syntax errors.
+
+2008-04-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * gnat_ugn.texi: Fix typos.
+ * raise-gcc.c, repinfo.adb, repinfo.ads, restrict.adb,
+ restrict.ads, rtsfind.adb, rtsfind.ads, s-arit64.ads,
+ s-asthan-vms-alpha.adb, s-auxdec.ads, s-casuti.ads,
+ s-fatflt.ads, s-fatgen.adb, s-fatlfl.ads,
+ s-fatllf.ads, s-fatsfl.ads, s-filofl.ads,
+ s-finimp.adb, s-finroo.ads, s-fishfl.ads,
+ s-fvadfl.ads, s-fvaffl.ads, s-fvagfl.ads,
+ s-hibaen.ads, s-htable.ads, s-imgcha.adb,
+ s-imgenu.ads, s-imgint.adb, s-imgrea.adb,
+ s-inmaop-dummy.adb, s-inmaop.ads, s-interr-vms.adb,
+ s-interr-vxworks.adb, s-interr.adb, s-interr.ads,
+ s-intman-vxworks.ads, s-intman.ads, s-mastop-irix.adb,
+ s-os_lib.adb, s-os_lib.ads, s-osinte-aix.ads,
+ s-osinte-darwin.ads, s-osinte-freebsd.ads,
+ s-osinte-hpux.ads, s-osinte-lynxos-3.adb,
+ s-osinte-lynxos-3.ads, s-osinte-lynxos.ads,
+ s-osinte-rtems.ads, s-osinte-solaris-posix.ads,
+ s-osprim-mingw.adb, s-osprim-vms.adb, s-parame-ae653.ads,
+ s-parame-hpux.ads, s-parame-vms-alpha.ads,
+ s-parame-vms-ia64.ads, s-parame-vms-restrict.ads,
+ s-parame-vxworks.ads, s-parame.ads, s-parint.adb,
+ s-parint.ads, s-poosiz.adb, s-proinf-irix-athread.ads,
+ s-proinf.ads, s-regexp.adb, s-regpat.adb, s-regpat.ads,
+ s-rident.ads: Fix comment typos.
+
+2008-04-09 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/28305
+ * sem_ch6.adb (Build_Body_To_Inline): Do not save and restore
+ environment if generic instance is a top-level one.
+
+2008-04-09 Doug Rupp <rupp@adacore.com>
+
+ * decl.c (validate_size): Set minimum size for fat pointers same as
+ access types. Code clean ups.
+
+ * gmem.c (xstrdup32): New macro for 32bit dup on VMS, noop otherwise
+ (__gnat_gmem_a2l_initialize): Dup exename into 32 bit memory on VMS
+
+ * s-auxdec-vms_64.ads, s-auxdec.ads (Short_Address_Size): New constant
+
+ * s-crtl.ads (malloc32) New function, alias for malloc
+ (realloc32) New function, alias for realloc
+
+ * socket.c (__gnat_new_socket_set): Malloc fd_set in 32 bits on VMS
+
+ * utils2.c (build_call_alloc_dealloc): Return call to short malloc if
+ allocator size is 32 and default pointer size is 64.
+ (find_common_type): Document assumption on t1/t2 vs lhs/rhs. Force use of
+ lhs type if smaller, whatever the modes.
+
+ * gigi.h (malloc32_decl): New macro definition
+
+ * utils.c (init_gigi_decls): New malloc32_decl
+ Various code clean ups.
+
+ * s-asthan-vms-alpha.adb (Process_AST.To_Address): Unchecked convert to
+ Task_Address vice System.Address.
+
+ * s-taspri-vms.ads: Import System.Aux_DEC
+ (Task_Address): New subtype of System.Aux_DEC.Short_Address
+ (Task_Address_Size): New constant size of System.Aux_DEC.Short_Address
+
+ * s-asthan-vms-alpha.adb (Process_AST.To_Address): Unchecked convert to
+ Task_Address vice System.Address.
+
+ * s-inmaop-vms.adb: Import System.Task_Primitives
+ (To_Address): Unchecked convert to Task_Address vice System.Address
+
+ * s-taprop-vms.adb (Timed_Delay): Always set the timer even if delay
+ expires now.
+ (To_Task_ID) Unchecked convert from Task_Adddress vice System.Address
+ (To_Address) Unchecked convert to Task_Address vice System.Address
+
+ * s-tpopde-vms.adb: Remove unnecessary warning pragmas
+
+ * g-socthi-vms.ads: Add 32bit size clauses on socket access types.
+
+2008-04-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gigi.h (standard_datatypes): Add ADT_fdesc_type and ADT_null_fdesc.
+ (fdesc_type_node): Define.
+ (null_fdesc_node): Likewise.
+ * decl.c (gnat_to_gnu_entity) <E_Access_Subprogram_Type>: If the target
+ uses descriptors for vtables and the type comes from a dispatch table,
+ return the descriptor type.
+ * trans.c (Attribute_to_gnu) <Attr_Unrestricted_Access>: If the target
+ uses descriptors for vtables and the type comes from a dispatch table,
+ build a descriptor in the static case and copy the existing one in the
+ non-static case.
+ (gnat_to_gnu) <N_Null>: If the target uses descriptors for vtables and
+ the type is a pointer-to-subprogram coming from a dispatch table,
+ return the null descriptor.
+ <N_Unchecked_Type_Conversion>: If the target uses descriptors for
+ vtables, the source type is the descriptor type and the target type
+ is a pointer type, first build the pointer.
+ * utils.c (init_gigi_decls): If the target uses descriptors for vtables
+ build the descriptor type and the null descriptor.
+
+2008-04-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (prepend_attributes): Fix typo.
+ * trans.c (Pragma_to_gnu): Likewise.
+ * utils.c (gnat_genericize): Likewise.
+
+2008-04-08 Eric Botcazou <ebotcazou@adacore.com>
+ Richard Kenner <kenner@adacore.com>
+
+ * ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Only set it when bit-packed.
+ * decl.c (gnat_to_gnu_entity): Adjust for above change.
+ <E_Record_Type>: Try to get a better form of the component for
+ packing, even if it has an integral mode.
+ <E_Record_Subtype>: Likewise.
+ * trans.c (gnat_to_gnu): Do not require BLKmode for the special
+ exception suppressing the final conversion between record types.
+
+2008-04-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: If -gnatd.a and not optimizing
+ alignment for space, promote the alignment of non-scalar variables with
+ no size and alignment.
+ * gigi.h (gnat_types_compatible_p): Declare.
+ * misc.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Set to above predicate.
+ * trans.c (gnat_to_gnu): Revert revision 129339 change. Minor cleanup.
+ * utils.c (gnat_types_compatible_p) : New predicate.
+ (convert): Use it throughout to test for cases where a mere view
+ conversion is sufficient.
+ * utils2.c (build_binary_op): Minor tweaks.
+ (build_unary_op): Likewise.
+
+2008-04-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (adjust_packed): Expand comment.
+
+2008-04-08 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tasuti.ads: Use Task_Address instead of System.Address.
+
+ * makeutl.adb (Path_Or_File_Name): New function
+
+ * nlists.ads, itypes.ads: Update comments.
+
+ * s-crtl.ads (malloc32, realloc32): New functions.
+
+ * s-auxdec.ads (Short_Address_Size): New constant.
+
+ * a-taside.adb, s-tasdeb.adb: Use Task_Address.
+
+ * s-ststop.ads, s-ststop.adb: New file.
+
+ * exp_tss.ads, s-taprop-lynxos.adb: Update comments.
+ Minor reformatting.
+
+2008-04-08 Pascal Obry <obry@adacore.com>
+
+ * g-sercom.ads, g-sercom.adb (Data_Rate): Add B115200.
+ (Stop_Bits_Number): New type.
+ (Parity_Check): Likewise.
+ (Set): Add parameter to set the number of stop bits and
+ the parity. Parameter timeout is now a duration instead
+ of a plain integer.
+
+ * g-sercom-linux.adb:
+ Implement the stop bits and parity support for GNU/Linux.
+ Fix handling of timeout, it must be given in tenth of seconds.
+
+ * g-sercom-mingw.adb:
+ Implement the stop bits and parity support for Windows.
+ Use new s-win32.ads unit instead of declaring Win32 services
+ directly into this body.
+ Update handling of timeout as now a duration.
+
+ * s-win32.ads, s-winext.ads: New files.
+
+2008-04-08 Eric Botcazou <ebotcazou@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * s-osinte-linux-alpha.ads, s-osinte-linux-hppa.ads: Removed.
+
+ s-taspri-posix-noaltstack.ads, s-linux.ads, s-linux-alpha.ads,
+ s-linux-hppa.ads: New files. Disable alternate stack on ia64-hpux.
+
+ * s-osinte-lynxos-3.ads,
+ (Alternate_Stack): Remove when not needed. Simplify declaration
+ otherwise.
+ (Alternate_Stack_Size): New constant.
+
+ s-osinte-mingw.ads, s-taprop-mingw.adb: Code clean up: avoid use of
+ 'Unrestricted_Access.
+
+ * s-osinte-hpux.ads, s-osinte-solaris-posix.ads, s-osinte-aix.ads,
+ s-osinte-lynxos.ads, s-osinte-freebsd.ads s-osinte-darwin.ads,
+ s-osinte-tru64.ads, s-osinte-irix.ads, s-osinte-linux.ads,
+ s-osinte-solaris.ads, s-osinte-vms.ads
+ (SA_ONSTACK): New constant.
+ (stack_t): New record type.
+ (sigaltstack): New imported function.
+ (Alternate_Stack): New imported variable.
+ (Alternate_Stack_Size): New constant.
+
+ * system-linux-x86_64.ads: (Stack_Check_Probes): Set to True.
+
+ * s-taspri-lynxos.ads, s-taspri-solaris.ads, s-taspri-tru64.ads,
+ s-taspri-hpux-dce.ads, s-taspri-dummy.ads, s-taspri-posix.ads,
+ s-taspri-vms.ads (Task_Address): New subtype of System.Address
+ (Task_Address_Size): New constant size of System.Address
+ (Alternate_Stack_Size): New constant.
+
+ * s-taprop-posix.adb, s-taprop-linux.adb (Get_Stack_Attributes): Delete.
+ (Enter_Task): Do not notify stack to System.Stack_Checking.Operations.
+ Establish the alternate stack if the platform makes use of n alternate
+ signal stack for stack overflows.
+ (Create_Task): Take into account the alternate stack in the stack size.
+ (Initialize): Save the address of the alternate stack into the ATCB for
+ the environment task.
+ (Create_Task): Fix assertions for NPTL library (vs old LinuxThreads).
+
+ * s-parame.adb (Minimum_Stack_Size): Increase value to 16K
+
+ * system-linux-x86.ads: (Stack_Check_Probes): Set to True.
+
+ * s-intman-posix.adb:
+ (Initialize): Set SA_ONSTACK for SIGSEGV if the platform makes use of an
+ alternate signal stack for stack overflows.
+
+ * init.c (__gnat_adjust_context_for_raise, Linux version): On i386 and
+ x86-64, adjust the saved value of the stack pointer if the signal was
+ raised by a stack checking probe.
+ (HP-UX section): Use global __gnat_alternate_stack as signal handler
+ stack and only for SIGSEGV.
+ (Linux section): Likewise on x86 and x86-64.
+ [VxWorks section]
+ (__gnat_map_signal): Now static.
+ (__gnat_error_handler): Not static any more.
+ (__gnat_adjust_context_for_raise): New function. Signal context
+ adjustment for PPC && !VTHREADS && !RTP, as required by the zcx
+ propagation circuitry.
+ (__gnat_error_handler): Second argument of a sigaction handler is a
+ pointer, not an int, and is unused.
+ Adjust signal context before mapping to exception.
+ Install signal handlers for LynxOS case.
+
+ * s-taskin.ads (Common_ATCB): New field Task_Alternate_Stack.
+ (Task_Id): Set size to Task_Address_Size
+ (To_Task_id): Unchecked convert from Task_Address vice System.Address
+ (To_Address): Unchecked convert to Task_Address vice System.Address
+
+ * s-tassta.adb (Task_Wrapper): Define the alternate stack and save its
+ address into the ATCB if the platform makes use of an alternate signal
+ stack for stack overflows.
+ (Free_Task): Add call to Finalize_Attributes_Link.
+ Add argument Relative_Deadline to pass the value specified for
+ the task. This is not yet used for any target.
+
+ * s-tassta.ads (Create_Task): Add argument Relative_Deadline to pass
+ the value specified for the task.
+
+2008-04-08 Arnaud Charlet <charlet@adacore.com>
+
+ (s-osinte-vxworks6.ads): Removed, merged with s-osinte-vxworks.ads/.adb
+ (s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.ads,
+ s-vxwext-rtp.adb): New files.
+
+ * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-osinte-vxworks.adb:
+ Minor updates to accomodate changes above.
+
+2008-04-08 Pascal Obry <obry@adacore.com>
+
+ * a-exetim-mingw.adb, s-gloloc-mingw.adb, s-taprop-mingw.adb,
+ s-tasinf-mingw.ad{s,b}, s-taspri-mingw.ads:
+ Use new s-win32.ads unit instead of declaration
+ from s-osinte-mingw.ads.
+
+ * s-osinte-mingw.ads:
+ Move all non tasking based interface to s-win32.ads.
+
+ * s-osprim-mingw.adb:
+ Remove duplicated declarations and use s-win32.ads
+ unit instead.
+
+2008-04-08 Vincent Celier <celier@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * mlib-tgt-aix.adb, mlib-tgt-darwin.adb, mlib-tgt-hpux.adb,
+ mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-lynxos.adb,
+ mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
+ mlib-tgt-vms.ads, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
+ mlib-tgt-vxworks.adb, mlib-tgt-mingw.adb: Renamed into...
+
+ * mlib-tgt-specific-aix.adb, mlib-tgt-specific-darwin.adb,
+ mlib-tgt-specific-hpux.adb, mlib-tgt-specific-irix.adb,
+ mlib-tgt-specific-linux.adb, mlib-tgt-specific-lynxos.adb,
+ mlib-tgt-specific-solaris.adb, mlib-tgt-specific-tru64.adb,
+ mlib-tgt-vms_common.adb, mlib-tgt-vms_common.ads,
+ mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb,
+ mlib-tgt-specific-vxworks.adb, mlib-tgt-specific-xi.adb,
+ mlib-tgt-specific-mingw.adb: New names.
+
+ * Makefile.in:
+ On VxWorks platforms use s-stchop-limit.ads for s-stchop.ads
+ Get rid of gnatbl.
+ (EXTRA_GNATRTL_NONTASKING_OBJS): Add s-win32.o
+ Files mlib-tgt-*.adb have been renamed mlib-tgt-specific-*.adb
+ Minor updates for VMS
+
+ * gnatbl.c: Removed.
+
+2008-04-08 Thomas Quinot <quinot@adacore.com>
+
+ * g-expect-vms.adb, a-textio.adb, a-witeio.adb, exp_dbug.adb,
+ g-expect.adb, g-locfil.adb, gnatchop.adb, gnatdll.adb, gnatlbr.adb,
+ gnatmem.adb, g-regist.adb, i-vxwork.ads, mlib-utl.adb, i-vxwork-x86.ads,
+ a-ztexio.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-ia64.adb,
+ s-os_lib.adb, s-regpat.adb, s-regpat.ads: Fix incorrect casing of
+ ASCII.NUL throughout.
+
+2008-04-08 Arnaud Charlet <charlet@adacore.com>
+ Matthew Heaney <heaney@adacore.com>
+
+ * a-cgcaso.adb, a-convec.adb: (Swap, Sift): Avoid use of complex
+ renaming.
+
+ * a-cgaaso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads,
+ a-crdlli.ads, a-coormu.ads, a-ciormu.ads: modified header to conform
+ to convention for non-RM specs.
+ Add descriptive header, and documented each operation
+ document each operation
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+ Bob Duff <duff@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * alloc.ads: Add entries for Obsolescent_Warnings table
+
+ * einfo.ads, einfo.adb: Minor reformatting.
+ (Is_Discriminal): New subprogram.
+ (Is_Prival): New subprogram.
+ (Is_Protected_Component): New subprogram.
+ (Is_Protected_Private): Removed.
+ (Object_Ref, Set_Object_Ref): Removed.
+ (Prival, Set_Prival): Change assertion.
+ (Privals_Chain, Set_Privals_Chain): Removed.
+ (Prival_Link, Set_Prival_Link): New subprogram.
+ (Protected_Operation, Set_Protected_Operation): Removed.
+ (Protection_Object, Set_Protection_Object): New subprogram.
+ (Write_Field17_Name): Remove case for Object_Ref.
+ (Write_Field20_Name): Add case for Prival_Link.
+ (Write_Field22_Name): Remove case for Protected_Operation,
+ Privals_Chain.
+ Add case for Protection_Object.
+ (Can_Use_Internal_Rep): Make this into a [base type only] attribute,
+ so clients
+ (Overlays_Constant): New flag
+ (Is_Constant_Object): New predicate
+ (Is_Standard_Character_Type): New predicate
+ (Optimize_Alignment_Space): New flag
+ (Optimize_Alignment_Time): New flag
+ (Has_Postconditions): New flag
+ (Obsolescent_Warrning): Field removed
+ (Spec_PPC_List): New field
+ (Relative_Deadline_Variable, Set_Relative_Deadline_Variable): Add
+ subprograms to get and set the relative deadline associated to a task.
+
+ * exp_attr.adb (May_Be_External_Call): Account for the case where the
+ Access attribute is part of a named parameter association.
+ (Expand_Access_To_Protected_Op): Test for the attribute occurring
+ within an init proc and use that directly as the scope rather than
+ traversing up to the protected operation's enclosing scope. Only apply
+ assertion on Is_Open_Scopes in the case the scope traversal is done.
+ For the init proc case use the address of the first formal (_init) as
+ the protected object reference.
+ Implement Invalid_Value attribute
+ (Expand_N_Attribute_Reference): Case Attribute_Unrestricted_Access.
+ contents of the dispatch table there is no need to duplicate the
+ itypes associated with record types (i.e. the implicit full view
+ of private types).
+ Implement Enum_Val attribute
+ (Expand_N_Attribute_Reference, case Old): Properly handle appearence
+ within _Postconditions procedure
+ (Expand_N_Attribute_Reference, case Result): Implement new attribute
+
+ * exp_ch5.adb (Expand_N_Simple_Return_Statement): Handle case in which
+ a return statement calls a function that is not available in
+ configurable runtime.
+ (Analyze_If_Statement): don't optimize simple True/False cases in -O0
+ (Expand_Non_Function_Return): Generate call to _Postconditions proc
+ (Expand_Simple_Function_Return): Ditto
+
+ * frontend.adb: Add call to Sem_Aux.Initialize
+
+ * sem_aux.ads, sem_aux.adb: New file.
+
+ * par-prag.adb: Add entries for pragmas Precondition/Postcondition
+ Add new Pragma_Relative_Deadline.
+ Add support for pragmas Check and Check_Policy
+
+ * sem_attr.ads, sem_attr.adb (Check_Not_CPP_Type): New subprogram.
+ (Check_Stream_Attribute): Add missing check (not allowed in CPP types)
+ (Analyze_Attribute): In case of attributes 'Alignment and 'size add
+ missing check because they are not allowed in CPP tagged types.
+ Add Sure parameter to Note_Possible_Modification calls
+ Add implementation of Invalid_Value attribute
+ Implement new attribute Has_Tagged_Values
+ Implement Enum_Val attribute
+ (Analyze_Attribute, case Range): Set Name_Req True for prefix of
+ generated attributes.
+ (Analyze_Attribute, case Result): If prefix of the attribute is
+ overloaded, it always resolves to the enclosing function.
+ (Analyze_Attribute, case Result): Properly deal with analysis when
+ Postconditions are not active.
+ (Resolve_Attribute, case Result): Properly deal with appearence during
+ preanalysis in spec.
+ Add processing for attribute Result
+
+ * sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Code cleanup
+ for operators.
+ (Analyze_Subprogram_Body): Install private_with_clauses when the body
+ acts as a spec.
+ (Check_Inline_Pragma): recognize an inline pragma that appears within
+ the subprogram body to which it applies.
+ (Analyze_Function_Return): Check that type of the expression of a return
+ statement in a function with a class-wide result is not declared at a
+ deeper level than the function.
+ (Process_PPCs): Deal with enabling/disabling, using PPC_Enabled flag
+ (Verify_Overriding_Indicator): Handle properly subprogram bodies for
+ user- defined operators.
+ (Install_Formals): Moved to spec to allow use from Sem_Prag for
+ analysis of precondition/postcondition pragmas.
+ (Analyze_Subprogram_Body.Last_Real_Spec_Entity): New name for
+ Last_Formal, along with lots of comments on what this is about
+ (Analyze_Subprogram_Body): Fix case where we move entities from the
+ spec to the body when there are no body entities (now possible with
+ precondition and postcondition pragmas).
+ (Process_PPCs): New procedure
+ (Analyze_Subprogram_Body): Add call to Process_PPCs
+
+ * sem_ch8.adb (Use_One_Type): refine warning on a redundant use_type
+ clause.
+ (Pop_Scope): Restore Check_Policy_List on scope exit
+ (Push_Scope): Save Check_Policy_List on scope entry
+ Change name In_Default_Expression => In_Spec_Expression
+ Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
+ Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve
+ (Analyze_Object_Renaming): Allow 'Reference as object
+ (Analyze_Pragma, case Restriction_Warnings): Call GNAT_Pragma
+ (Process_Restrictions_Or_Restriction_Warnings): Check for bad spelling
+ of restriction identifier.
+ Add Sure parameter to Note_Possible_Modication calls
+
+ * sem_prag.ads, sem_prag.adb (Analyze_Pragma, case Stream_Convert):
+ Don't check for primitive operations when calling Rep_Item_Too_Late.
+ (Process_Import_Or_Interface): Do not place flag on formal
+ subprograms.
+ (Analyze_Pragma, case Export): If the entity is a deferred constant,
+ propagate information to full view, which is the one elaborated by the
+ back-end.
+ (Make_Inline): the pragma is effective if it applies to an internally
+ generated subprogram declaration for a body that carries the pragma.
+ (Analyze_Pragma, case Optimize_Alignment): Set new flag
+ Optimize_Alignment_Local.
+ (Analyze_PPC_In_Decl_Part): New procedure
+ (Get_Pragma_Arg): Moved to outer level
+ (Check_Precondition_Postcondition): Change to allow new visibility
+ rules for package spec
+ (Analyze_Pragma, case Check_Policy): Change placement rules to be
+ same as pragma Suppress/Unsuppress.
+ Change name In_Default_Expression => In_Spec_Expression
+ Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
+ Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve
+ (Check_Precondition_Postcondition): Do proper visibility preanalysis
+ for the case of these pragmas appearing in the spec.
+ (Check_Enabled): New function
+ (Initialize): New procedure
+ (Tree_Read): New procedure
+ (Tree_Write): New procedure
+ (Check_Precondition_Postcondition): New procedure
+ Implement pragmas Check and Check_Policy
+ Merge Assert processing with Check
+
+ * sem_warn.adb (Warn_On_Known_Condition): Handle pragma Check
+ New warning flag -gnatw.e
+
+ * sinfo.ads, sinfo.adb (Has_Relative_Deadline_Pragma): New function
+ returning whether a task (or main procedure) has a pragma
+ Relative_Deadline.
+ (Set_Has_Relative_Deadline_Pragma): Procedure to indicate that a task
+ (or main procedure) has a pragma Relative_Deadline.
+ Add Next_Pragma field to N_Pragma node
+ (PPC_Enabled): New flag
+ (Next_Pragma): Now used for Pre/Postcondition processing
+
+ * snames.h, snames.ads, snames.adb: New standard name
+ Inherit_Source_Path
+ Add entry for 'Invalid_Value attribute
+ Add entry for new attribute Has_Tagged_Values
+ Add entry for Enum_Val attribute
+ Add new standard names Aggregate, Configuration and Library.
+ Add _Postconditions
+ Add _Result
+ Add Pragma_Precondition
+ Add Pragma_Postcondition
+ Add Attribute_Result
+ New standard name Archive_Builder_Append_Option
+ (Preset_Names): Add _relative_deadline and relative_deadline definitions
+ There was also a missing non_preemptive_within_priorities.
+ (Get_Pragma_Id, Is_Pragma_Name): Add support for pragma
+ Relative_Deadline.
+ Add support for pragmas Check and Check_Policy
+
+ * tree_gen.adb: Call Sem_Aux.Tree_Write
+
+ * tree_in.adb: Call Sem_Aux.Tree_Read
+
+ * exp_ch11.adb (Expand_N_Raise_Statement): New Build_Location calling
+ sequence
+
+ * exp_intr.adb (Expand_Source_Info): New Build_Location calling
+ sequence
+
+ * exp_prag.adb (Expand_Pragma_Relative_Deadline): New procedure.
+ (Expand_N_Pragma): Call the appropriate procedure for expanding pragma
+ Relative_Deadline.
+ (Expand_Pragma_Check): New procedure
+
+ * sinput.ads, sinput.adb (Build_Location_String): Now appends to name
+ buffer.
+
+ * sinfo.adb (PPC_Enabled): New flag
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * fe.h: Remove global Optimize_Alignment flag, no longer used
+
+ * layout.adb: Test Optimize_Alignment flags rather than global switch
+
+ * lib.ads, lib.adb: New OA_Setting field in library record
+
+ * lib-load.adb: New OA_Setting field in library record
+
+ * lib-writ.ads, lib-writ.adb (Collect_Withs, Write_With_Lines): Place
+ units mentioned in limited_with_ clauses in the ali file, with an
+ 'Y' marker.
+ New Ox fields in U line
+
+ * opt.adb: New flag Optimize_Alignment_Local
+ (Check_Policy_List[_Config]): New flags
+
+ * opt.ads (Invalid_Value_Used): New flag
+ New switch Optimize_Alignment_Local
+ (Warn_On_Parameter_Order): New flag
+ (Check_Policy_List[_Config]): New flags
+
+ * ali.ads, ali.adb: Add indicator 'Y' to mark mark the presence of
+ limited_with clauses.
+ New data structures for Optimize_Alignment
+
+ * bcheck.adb (Check_Consistent_Restriction_No_Default_Initialization):
+ New procedure
+ (Check_Consistent_Optimize_Alignment): Rework for new structure
+ (Check_Consistent_Restrictions): Fix incorrect error message
+
+ sem_ch10.adb (Decorate_Tagged_Type): Set the Parent field of a newly
+ created class-wide type (to the Parent field of the specific type).
+ (Install_Siblings): Handle properly private_with_clauses on subprogram
+ bodies and on generic units.
+ (Analyze_With_Clause, Install_Limited_Withed_Unit): Guard against an
+ illegal limited_with_clause that names a non-existent package.
+ (Check_Body_Required): Determine whether a unit named a limited_with
+ clause needs a body.
+ (Analyze_Context): A limited_with_clause is illegal on a unit_renaming.
+ Capture Optimize_Alignment settings to set new OA_Setting field in
+ library record.
+ (Build_Limited_Views): Include task and protected type declarations.
+
+ * sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Handle the
+ case of a possible constant redeclaration where the current object is
+ an entry index constant.
+ (Analyze_Object_Declaration): Generate an error in case of CPP
+ class-wide object initialization.
+ (Analyze_Object_Declaration): Add extra information on warnings for
+ declaration of unconstrained objects.
+ (Access_Type_Declaration): Set Associated_Final_Chain to Empty, to avoid
+ conflicts with the setting of Stored_Constraint in the case where the
+ access type entity has already been created as an E_Incomplete_Type due
+ to a limited with clause.
+ Use new Is_Standard_Character_Type predicate
+ (Analyze_Object_Declaration): Apply access_constant check only after
+ expression has been resolved, given that it may be overloaded with
+ several access types.
+ (Constant_Redeclaration): Additional legality checks for deferred
+ constant declarations tha involve anonymous access types and/or null
+ exclusion indicators.
+ (Analyze_Type_Declaration): Set Optimize_Alignment flags
+ (Analyze_Subtype_Declaration): Ditto
+ (Analyze_Object_Declaration): Ditto
+ (Analyze_Object_Declaration): Don't count tasks in generics
+ Change name In_Default_Expression => In_Spec_Expression
+ Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
+ Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve
+ (Process_Discriminants): Additional check for illegal use of default
+ expressions in access discriminant specifications in a type that is not
+ explicitly limited.
+ (Check_Abstract_Overriding): If an inherited function dispaches on an
+ access result, it must be overridden, even if the type is a null
+ extension.
+ (Derive_Subprogram): The formals of the derived subprogram have the
+ names and defaults of the parent subprogram, even if the type is
+ obtained from the actual subprogram.
+ (Derive_Subprogram): In the presence of interfaces, a formal of an
+ inherited operation has the derived type not only if it descends from
+ the type of the formal of the parent operation, but also if it
+ implements it. This is relevant for the renamings created for the
+ primitive operations of the actual for a formal derived type.
+ (Is_Progenitor): New predicate, to determine whether the type of a
+ formal in the parent operation must be replaced by the derived type.
+
+ * sem_util.ads, sem_util.adb (Has_Overriding_Initialize): Make
+ predicate recursive to handle components that have a user-defined
+ Initialize procedure. Handle controlled derived types whose ancestor
+ has a user-defined Initialize procedured.
+ (Note_Possible_Modification): Add Sure parameter, generate warning if
+ sure modification of constant
+ Use new Is_Standard_Character_Type predicate
+ (Find_Parameter_Type): when determining whether a protected operation
+ implements an interface operation, retrieve the type of the formal from
+ the entity when the formal is an access parameter or an
+ anonymous-access-to-subprogram.
+ Move Copy_Parameter_List to sem_util, for use when building stubbed
+ subprogram bodies.
+ (Has_Access_Values): Tagged types now return False
+ (Within_HSS_Or_If): New procedure
+ (Set_Optimize_Alignment_Flags): New procedure
+ Change name In_Default_Expression => In_Spec_Expression
+ Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
+ Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve
+
+2008-04-08 Tristan Gingold <gingold@adacore.com>
+
+ * s-fileio.adb: Name_Error shouldn't be raised for a tempory file.
+
+2008-04-08 Tristan Gingold <gingold@adacore.com>
+
+PR ada/10768
+
+ * cuintp.c: Fix 16 bits issue for AVR.
+ On AVR, integer is 16 bits, so it can't be used to do math with
+ Base (=32768).
+ So use long_integer instead.
+
+2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-calend-vms.ads, a-calend-vms.adb: Add with and use clause for
+ System.OS_Primitives.
+ Change type of various constants, parameters and local variables from
+ Time to representation type OS_Time.
+ (To_Ada_Time, To_Unix_Time): Correct sign of origin shift.
+ Remove the declaration of constant Mili_F from several routines. New
+ body for internal package Conversions_Operations.
+ (Time_Of): Add default parameters for several formals.
+
+ * a-caldel.adb: Minor reformatting
+
+ * a-calend.ads, a-calend.adb: New body for internal package
+ Conversions_Operations.
+ (Time_Of): Add default parameters for several formals.
+
+ * Makefile.rtl: Add a-ststop
+ Add Ada.Calendar.Conversions to the list of runtime files.
+ Add g-timsta
+
+ * a-calcon.adb, a-calcon.ads: New files.
+
+2008-04-08 Jose Ruiz <ruiz@adacore.com>
+ Tristan Gingold <gingold@adacore.com>
+
+ * s-interr-dummy.adb, s-interr-vms.adb, s-interr-sigaction.adb
+ (Install_Restricted_Handlers): New procedure
+ which is a simplified version of Install_Handlers that does not store
+ previously installed.
+
+ * s-interr-vxworks.adb: Fix ACATS cxc3001
+ On VxWorks interrupts can't be detached.
+ (Install_Restricted_Handlers): New procedure.
+
+ * s-interr.ads, s-interr.adb (Install_Restricted_Handlers): New
+ procedure.
+
+2008-04-08 Olivier Hainque <hainque@adacore.com>
+
+ * s-intman-vxworks.ads, s-intman-vxworks.adb
+ (Map_And_Raise_Exception): Remove. Was an import of only part of the
+ required services already implemented elsewhere.
+ (Notify_Exception): Delete body, import __gnat_error_handler instead.
+ (Initialize): Add SA_SIGINFO to the sa_flags, to get the sigcontext
+ argument passed to the handler, which we need for ZCX propagation
+ purposes.
+
+2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * adaint.h, adaint.c (__gnat_current_time_string): New routine.
+
+ * g-timsta.adb, g-timsta.ads: New files.
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * a-except-2005.ads, a-except-2005.adb, a-except.ads, a-except.adb
+ (Raise_Exception): In accordance with AI-446, raise CE for Null_Id
+ (Raise_Exception_Always): Fix documentation accordingly
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * a-strbou.ads, a-strbou.adb (From_String): New procedure (for use by
+ Stream_Convert)
+
+ * sem_ch13.ads (Rep_Item_Too_Late): Document that Stream_Convert sets
+ FOnly
+
+2008-04-08 Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * a-tags.adb (Register_Interface_Offset): New subprogram.
+ (Set_Dynamic_Offset_To_Top): New subprogram (see previous comment).
+ (To_Predef_Prims_Table_Ptr): Removed.
+ (Acc_Size): Removed.
+ (To_Acc_Size): Removed.
+ (Parent_Size): Modified to the call the subprogram returning the size of
+ the parent by means of the new TSD component Size_Func.
+
+ * a-tags.ads (Offset_To_Top_Ptr): New access type declaration.
+ (DT_Offset_To_Top_Offset): New constant value that is used to generate
+ code referencing the Offset_To_Top component of the dispatch table's
+ prologue.
+ (Prim_Ptr): New declaration of access to procedure. Used to avoid the
+ use of 'address to initialize dispatch table slots.
+ (Size_Func): New component of the TSD. Used by the run-time to call the
+ size primitive of the tagged type.
+
+ * checks.adb (Apply_Access_Check): Avoid check when accessing the
+ Offset_To_Top component of a dispatch table.
+ (Null_Exclusion_Static_Checks): If the non-null access type appears in a
+ deferred constant declaration. do not add a null expression, to prevent
+ spurious errors when full declaration is analyzed.
+ (Apply_Discriminant_Check): If both discriminant constraints share a
+ node which is not static but has no side effects, do not generate a
+ check for that discriminant.
+ (Generate_Index_Checks): Set Name_Req to true in call to duplicate
+ subexpr, since the prefix of an attribute is a name.
+
+ * checks.ads: Fix nit in comment.
+
+ * exp_ch3.ads, exp_ch3.adb (Freeze_Record_Type): Do not add the spec
+ and body of predefined primitives in case of CPP tagged type
+ derivations.
+ (Freeze_Type): Deal properly with no storage pool case
+ (Make_Predefined_Primitive_Specs): Generate specification of abstract
+ primitive Deep_Adjust if a nonlimited interface is derived from a
+ limited interface.
+ (Build_Dcheck_Functions): Create discriminant-checking functions only
+ for variants that have some component(s).
+ (Build_Slice_Assignment): In expanded code for slice assignment, handle
+ properly the case where the slice bounds extend to the last value of the
+ underlying representation.
+ (Get_Simple_Init_Val): New calling sequence, accomodate Invalid_Value
+ (Is_Variable_Size_Record): An array component has a static size if
+ index bounds are enumeration literals.
+
+ * exp_disp.adb (Make_DT): Use the first subtype to determine whether
+ an external tag has been specified for the type.
+ (Building_Static_DT): Add missing support for private types.
+ (Make_DT): Add declaration of Parent_Typ to ensure consistent access
+ to the entity associated with the parent of Typ. This is done to
+ avoid wrong access when the parent is a private type.
+ (Expand_Interface_Conversion): Improve error message when the
+ configurable runtime has no support for dynamic interface conversion.
+ (Expand_Interface_Thunk): Add missing support to interface types in
+ configurable runtime.
+ (Expand_Dispatching_Call): remove obsolete code.
+ (Make_DT): Replace occurrences of RE_Address by RE_Prim_Ptr, and
+ ensure that all subtypes and aggregates associated with dispatch
+ tables have the attribute Is_Dispatch_Table_Entity set to true.
+ (Register_Primitive): Rename one variable to improve code reading.
+ Replace occurrences of RE_Addres by RE_Prim_Ptr. Register copy o
+ of the pointer to the 'size primitive in the TSD.
+
+ * rtsfind.ads (RE_DT_Offset_To_Top_Offset): New entity.
+ (RE_Offset_To_Top_Ptr): New entity.
+ (RE_Register_Interface_Offset): New entity.
+ (RE_Set_Dynamic_Offset_To_Top): New entity.
+ (RE_Set_Offset_To_Top): Removed entity.
+ (RE_Prim_Ptr): New entity
+ (RE_Size_Func): New entity
+ (RE_Size_Ptr): New entity
+ (RTU_Id): Add Ada_Dispatching and Ada_Dispatching_EDF.
+ (Ada_Dispatching_Child): Define this new subrange.
+ (RE_Id): Add new required run-time calls (RE_Set_Deadline, RE_Clock,
+ RE_Time_Span, and RE_Time_Span_Zero).
+ (RE_Unit_Table): Add new required run-time calls
+
+ * rtsfind.adb (Get_Unit_Name): Add processing for Ada.Dispatching
+ children.
+
+ * exp_atag.ads, exp_atag.adb (Build_Offset_To_Top): New subprogram.
+ (Build_Set_Static_Offset_To_Top): New subprogram. Generates code that
+ initializes the Offset_To_Top component of a dispatch table.
+ (Build_Predef_Prims): Removed.
+ (Build_Get_Predefined_Prim_Op_Address): Replace call to Predef_Prims by
+ its actual code.
+ (Build_Set_Size_Function): New subprogram.
+
+ * exp_ch13.adb: Do not generate storage variable for storage_size zero
+ (Expand): Handle setting/restoring flag Inside_Freezing_Actions
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * a-ztdeau.adb, a-tideau.adb, a-wtdeau.adb (Puts_Dec): Fix error in
+ computing Fore when Exp > 0
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * back_end.adb: Remove Big_String_Ptr declarations (now in Types)
+
+ * errout.adb: Remove Big_String_Ptr declarations (now in Types)
+ Change name Is_Style_Msg to Is_Style_Or_Info_Msg
+
+ * fmap.adb: Remove Big_String declarations (now in Types)
+ (No_Mapping_File): New Boolean global variable
+ (Initialize): When mapping file cannot be read, set No_Mapping_File to
+ False.
+ (Update_Mapping_File): Do nothing if No_Mapping_File is True. If the
+ tables were empty before adding entries, open the mapping file
+ with Truncate = True, instead of delete/re-create.
+
+ * fname-sf.adb: Remove Big_String declarations (now in Types)
+
+ * s-strcom.adb, g-dyntab.ads, g-table.ads, s-carsi8.adb,
+ s-stalib.ads, s-carun8.adb: Add zero size Storage_Size clauses for
+ big pointer types
+
+ * table.ads: Add for Table_Ptr'Storage_Size use 0
+
+ * types.ads: Add Big_String declarations
+ Add Size_Clause of zero for big pointer types
+
+2008-04-08 Vincent Celier <celier@adacore.com>
+
+ * clean.adb (Parse_Cmd_Line): Recognize switch --subdirs=
+ (Usage): Add line for switch --subdirs=
+ Add new switch -eL, to follow symbolic links when processing project
+ files.
+
+ * gnatcmd.adb: Process switches -eL and --subdirs=
+ (Non_VMS_Usage): Output "gnaampcmd" instead of "gnat", and call
+ Program_Name to get proper tool names when AAMP_On_Target is set.
+ (Gnatcmd): Call Add_Default_Search_Dirs and Get_Target_Parameters to get
+ AAMP_On_Target set properly for use of GNAAMP tools (this is needed by
+ Osint.Program_Name).
+
+ * gnatname.adb: (Scan_Args): Recognize switches -eL and --subdirs=
+ (Usage): Add lines for switches -eL and --subdirs=
+
+ * makeusg.adb: Add line for switch --subdirs=
+
+ * prj.ads:
+ (Source_Data): New Boolean component Compiled, defaulted to True
+ (Empty_File_Name: New global variable in private part, initialized in
+ procedure Initialize.
+ (Subdirs_Option): New constant string
+ (Subdirs): New String_Ptr global variable
+ (Language_Config): New component Include_Compatible_Languages
+ (Project_Qualifier): New type for project qualifiers
+ (Project_Data): New component Qualifier
+ (Project_Configuration): New component Archive_Builder_Append_Option
+
+ * prj-nmsc.adb (Get_Unit_Exceptions): When a unit is already in
+ another imported project indicate the name of this imported project.
+ (Check_File): When a unit is in two project files, indicate the project
+ names and the paths of the source files for each project.
+ (Add_Source): Set Compiled to False if compiler driver is empty. Only
+ set object, dependency and switches file names if Compiled is True.
+ (Process_Compiler): Allow the empty string for value of attribute Driver
+ (Get_Directories): When Subdirs is not null and Object_Dir is not
+ specified, locate and create if necessary the actual object dir.
+ (Locate_Directory): When Subdirs is not empty and Create is not the
+ empty string, locate and create if necessary the actual directory
+ as a subdirectory of directory Name.
+ (Check_Library_Attributes.Check_Library): Allow a project where the only
+ "sources" are header files of file based languages to be imported by
+ library projects, in multi-language mode (gprbuild).
+ (Check_Library_Attributes.Check_Library): In multi-language mode
+ (gprbuild), allow a library project to import a project with no
+ sources, even when this is not declared explicitly.
+ (Check_If_Externally_Built): A virtual project extending an externally
+ built project is also externally built.
+ (Check_Library_Attributes): For a virtual project extending a library
+ project, inherit the library directory.
+ (Process_Project_Level_Array_Attributes): Process new attribute
+ Inherit_Source_Path.
+ For projects with specified qualifiers "standard", "library" or
+ "abstract", check that the project conforms to the qualifier.
+ (Process_Project_Level_Simple_Attributes): Process new attribute
+ Archive_Builder_Append_Option.
+
+ * switch-m.adb: (Scan_Make_Switches): Process switch --subdirs=
+ (Normalize_Compiler_Switches): Only keep compiler switches that are
+ passed to gnat1 by the gcc driver and that are stored in the ALI file
+ by gnat1.
+ Do not take into account switc -save-temps
+
+ * makegpr.adb (Compile_Link_With_Gnatmake): Transmit switch -eL if
+ gprmake is called with -eL.
+ (Scan_Arg): Recognize switch -eL
+ (Usage): Add line for switch -eL
+
+ * prj.adb (Initialize): Initialize Empty_File_Name
+ (Project_Empty): New component Qualifier
+
+ * prj-attr.ads, prj-attr.adb: New project level attribute
+ Inherit_Source_Path.
+ New project level attribute Archive_Builder_Append_Option
+
+ * prj-dect.adb: Replace System.Strings by GNAT.Strings.
+
+ * prj-ext.adb (Initialize_Project_Path): In Multi_Language mode, add
+ <prefix>/lib/gnat in the project path, after <prefix>/share/gpr, for
+ upward compatibility.
+
+ * prj-part.adb (Project_Path_Name_Of.Try_Path): In high verbosity, put
+ each Trying ..." on different lines.
+ (Parse_Single_Project): Recognize project qualifiers. Fail in qualifier
+ is "configuration" when not in configuration. Fail when in configuration
+ when a specified qualifier is other than "configuration".
+
+ * prj-proc.adb (Process_Declarative_Items): Link new elements of copied
+ full associative array together.
+ (Recursive_Process): Put the project qualifier in the project data
+
+ * prj-tree.ads, prj-tree.adb: (Project_Qualifier_Of): New function
+ (Set_Project_Qualifier_Of): New procedure
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads: Update comments for new handling of info: messages
+
+ * erroutc.adb (Matches): New procedure
+ (Warning_Specifically_Suppressed): Modified to handle multiple * chars
+ (Is_Style_Or_Info_Msg): New name for Is_Style_Msg, now set for
+ info messages as well as style messages.
+
+ * erroutc.ads: Remove unneeded fields from Specific_Warning_Entry
+
+ * sem_elab.adb (Supply_Bodies): Create actual bodies for stubbed
+ subprograms.
+ (Check_A_Call): Special "info: " warnings now have ? in the text
+ (Elab_Warning): Use info message in static case
+
+2008-04-08 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Static_Array_Aggregate): Use Max_Aggr_Size to determine
+ whether an array aggregate with static bounds and scalar components
+ should be expanded into a static constant.
+
+2008-04-08 Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Add tests of
+ Has_Stream_Attribute_ Definition when checking for available stream
+ attributes on parameters of a limited type in Ada 2005. Necessary for
+ proper recognition of visible stream attribute clauses.
+ (Has_Stream_Attribute_Definition): If the type is derived from a
+ private type, then use the derived type's underlying type for checking
+ whether it has stream attributes.
+ (Validate_Object_Declaration): The check for a user-defined Initialize
+ procedure applies also to types with controlled components or a
+ controlled ancestor.
+ Reject an object declaration in a preelaborated unit if the type is a
+ controlled type with an overriding Initialize procedure.
+ (Validate_Remote_Access_To_Class_Wide_Type): Return without further
+ checking when the parent of a dereference is a selected component and
+ the name has not been analyzed.
+
+ * sem_ch4.adb (Analyze_Selected_Component): Add checking for selected
+ prefixes that are invalid explicit dereferences of remote
+ access-to-class-wide values, first checking whether the selected
+ component is a prefixed form of call to a tagged operation.
+ (Analyze_Call): Remove code that issues an error for limited function
+ calls in illegal contexts, as we now support all of the contexts that
+ were forbidden here.
+ Allow a function call that returns a task.and appears as the
+ prefix of a selected component.
+ (Analyze_Reference): Give error message if we try to make a 'Reference
+ for an object that is atomic/aliased without its type having the
+ corresponding attribute.
+ (Analyze_Call): Remove condition checking for attributes to allow
+ calls to functions with inherently limited results as prefixes of
+ attributes. Remove related comment about Class attributes.
+ (Analyze_Selected_Component): If the prefix is a remote type, check
+ whether this is a prefixed call before reporting an error.
+ (Complete_Object_Operation): If the controlling formal is an access to
+ variable reject an actual that is a constant or an access to one.
+ (Try_Object_Operation): If prefix is a tagged protected object,retrieve
+ primitive operations from base type.
+
+ * exp_ch4.adb (Expand_N_Indexed_Component): Test for prefix that is a
+ build-in-place
+ function call and call Make_Build_In_Place_Call_In_Anonymous_Context.
+ (Expand_N_Selected_Component): Test for prefix that is a build-in-place
+ function call and call Make_Build_In_Place_Call_In_Anonymous_Context.
+ (Expand_N_Slice): Test for prefix that is a build-in-place function call
+ and call Make_Build_In_Place_Call_In_Anonymous_Context.
+ (Analyze_Call): Remove code that issues an error for limited function
+ calls in illegal contexts, as we now support all of the contexts that
+ were forbidden here.
+ New calling sequence for Get_Simple_Init_Val
+ (Expand_Boolean_Operator): Add call to Silly_Boolean_Array_Xor_Test
+ (Expand_N_Op_Not): Add call to Silly_Boolan_Array_Not_Test
+
+2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_ch2.adb: Minor reformatting.
+ (Expand_Entry_Index_Parameter): Set the type of the identifier.
+ (Expand_Entry_Reference): Add call to Expand_Protected_Component.
+ (Expand_Protected_Component): New routine.
+ (Expand_Protected_Private): Removed.
+ Add Sure parameter to Note_Possible_Modification calls
+
+ * sem_ch12.ads, sem_ch12.adb (Analyze_Subprogram_Instantiation): The
+ generated subprogram declaration must inherit the overriding indicator
+ from the instantiation node.
+ (Validate_Access_Type_Instance): If the designated type of the actual is
+ a limited view, use the available view in all cases, not only if the
+ type is an incomplete type.
+ (Instantiate_Object): Actual is illegal if the formal is null-excluding
+ and the actual subtype does not exclude null.
+ (Process_Default): Handle properly abstract formal subprograms.
+ (Check_Formal_Package_Instance): Handle properly defaulted formal
+ subprograms in a partially parameterized formal package.
+ Add Sure parameter to Note_Possible_Modification calls
+ (Validate_Derived_Type_Instance): if the formal is non-limited, the
+ actual cannot be limited.
+ (Collect_Previous_Instances): Generate instance bodies for subprograms
+ as well.
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Small): Don't
+ try to set RM_Size.
+ Add Sure parameter to Note_Possible_Modification calls
+ (Analyze_At_Clause): Preserve Comes_From_Source on Rewrite call
+ (Analyze_Attribute_Definition_Clause, case Attribute_Address): Check for
+ constant overlaid by variable and issue warning.
+ Use new Is_Standard_Character_Type predicate
+ (Analyze_Record_Representation_Clause): Check that the specified
+ Last_Bit is not less than First_Bit - 1.
+ (Analyze_Attribute_Definition_Clause, case Address): Check for
+ self-referential address clause
+
+ * sem_ch5.ads, sem_ch5.adb (Diagnose_Non_Variable_Lhs): Rewrite the
+ detection mechanism when the lhs is a prival.
+ (Analyze_Assignment): Call Check_Unprotected_Access to detect
+ assignment of a pointer to protected data, to an object declared
+ outside of the protected object.
+ (Analyze_Loop_Statement): Check for unreachable code after loop
+ Add Sure parameter to Note_Possible_Modication calls
+ Protect analysis from previous syntax error such as a scope mismatch
+ or a missing begin.
+ (Analyze_Assignment_Statement): The assignment is illegal if the
+ left-hand is an interface.
+
+ * sem_res.ads, sem_res.adb (Resolve_Arithmetic_Op): For mod/rem check
+ violation of restriction No_Implicit_Conditionals
+ Add Sure parameter to Note_Possible_Modication calls
+ Use new Is_Standard_Character_Type predicate
+ (Make_Call_Into_Operator): Preserve Comes_From_Source when rewriting
+ call as operator. Fixes problems (e.g. validity checking) which
+ come from the result looking as though it does not come from source).
+ (Resolve_Call): Check case of name in named parameter if style checks
+ are enabled.
+ (Resolve_Call): Exclude calls to Current_Task as entry formal defaults
+ from the checking that such calls should not occur from an entry body.
+ (Resolve_Call): If the return type of an Inline_Always function
+ requires the secondary stack, create a transient scope for the call
+ if the body of the function is not available for inlining.
+ (Resolve_Actuals): Apply Ada2005 checks to view conversions of arrays
+ that are actuals for in-out formals.
+ (Try_Object_Operation): If prefix is a tagged protected object,retrieve
+ primitive operations from base type.
+ (Analyze_Selected_Component): If the context is a call to a protected
+ operation the parent may be an indexed component prior to expansion.
+ (Resolve_Actuals): If an actual is of a protected subtype, use its
+ base type to determine whether a conversion to the corresponding record
+ is needed.
+ (Resolve_Short_Circuit): Handle pragma Check
+
+ * sem_eval.adb: Minor code reorganization (usea Is_Constant_Object)
+ Use new Is_Standard_Character_Type predicate
+ (Eval_Relational_Op): Catch more cases of string comparison
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * s-rident.ads: Add No_Default_Initialization restriction
+
+ * exp_tss.adb:
+ (Has_Non_Null_Base_Init_Proc): Handle No_Default_Initialization case
+ (Set_TSS): Handle No_Default_Initialization case
+
+ * exp_ch6.adb (Expand_N_Subprogram_Body): Handle restriction
+ No_Default_Initialization
+ (Expand_N_Subprogram_Body): Remove redundant initialization of out
+ parameters when Normalize_Scalars is active.
+ (Add_Final_List_Actual_To_Build_In_Place_Call): Add formal Sel_Comp
+ Fix casing error in formal parameter name in call
+ (Register_Predefined_DT_Entry): Replace occurrences of RE_Address by
+ (Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a
+ dispatching call on VM targets.
+
+2008-04-08 Gary Dismukes <dismukes@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch7.adb (Find_Final_List): Change the test for generating a
+ selected component from an access type's Associated_Final_Chain to
+ check for the presence of that field, rather than assuming it exists
+ for all named access types.
+ (Make_Clean): New formal Chained_Cleanup_Action allowing to specify a
+ procedure to call at the end of the generated cleanup procedure.
+ (Expand_Cleanup_Actions): When a new cleanup procedure is generated, and
+ and an At_End_Proc already exists in the handled sequence of statements
+ for which cleanup actions are being expanded, the original cleanup
+ action must be preserved.
+
+2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch9.ads, exp_ch9.adb (Build_Protected_Entry,
+ Build_Unprotected_Subprogram_Body): Generate debug info for
+ declarations related to the handling of private data in task and
+ protected types.
+ (Debug_Private_Data_Declarations): New subprogram.
+ (Install_Private_Data_Declarations): Remove all debug info flagging.
+ This is now done by Debug_Private_Data_Declarations at the correct
+ stage of expansion.
+ (Build_Simple_Entry_Call): If the task name is a function call, expand
+ the prefix into an object declaration, and make the surrounding block a
+ task master.
+ (Build_Master_Entity): An internal block is a master if it wraps a call.
+ Code reformatting, update comments. Code clean up.
+ (Make_Task_Create_Call): Use 'Unrestricted_Access instead of 'Address.
+ (Replicate_Entry_Formals): If the formal is an access parameter or
+ anonymous access to subprogram, copy the original tree to create new
+ entities for the formals of the subprogram.
+ (Expand_N_Task_Type_Declaration): Create a Relative_Deadline variable
+ for tasks to store the value passed using pragma Relative_Deadline.
+ (Make_Task_Create_Call): Add the Relative_Deadline argument to the
+ run-time call to create a task.
+ (Build_Wrapper_Spec): If the controlling argument of the interface
+ operation is an access parameter with a non-null indicator, use the
+ non-null indicator on the wrapper.
+
+ * sem_ch9.adb (Analyze_Protected_Type): Only retrieve the full view when
+ present, which it may not be in the case where the type entity is an
+ incomplete view brought in by a limited with.
+ (Analyze_Task_Type): Only retrieve the full view when present, which it
+ may not be in the case where the type entity is an incomplete view brought
+ in by a limited with.
+ (Analyze_Protected_Definition): Set Is_Frozen on all itypes generated for
+ private components of a protected type, to prevent the generation of freeze
+ nodes for which there is no proper scope of elaboration.
+
+ * exp_util.ads, exp_util.adb
+ (Remove_Side_Effects): If the expression is a function call that returns a
+ task, expand into a declaration to invoke the build_in_place machinery.
+ (Find_Protection_Object): New routine.
+ (Remove_Side_Effects): Also make a copy of the value
+ for attributes whose result is of an elementary type.
+ (Silly_Boolean_Array_Not_Test): New procedure
+ (Silly_Boolean_Array_Xor_Test): New procedure
+ (Is_Volatile_Reference): New function
+ (Remove_Side_Effects): Use Is_Volatile_Reference
+ (Possible_Bit_Aligned_Component): Handle slice case properly
+
+ * exp_pakd.adb (Expand_Packed_Not): Move silly true/true or false/false
+ case test to Exp_Util
+ (Expand_Packed_Xor): Move silly true/true case test to Exp_Util
+
+2008-04-08 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.ads, exp_dist.adb: Fix casing error in formal parameter name
+ in call
+ (Add_RACW_Features): When processing an RACW in another unit than the
+ main unit, set Body_Decls to No_List to indicate that the bodies of
+ the type's TSS must not be generated.
+ (GARLIC_Support.Add_RACW_Read_Attribute,
+ GARLIC_Support.Add_RACW_Write_Attribute): Do not generate bodies if
+ Body_Decls is No_List.
+ (PolyORB_Support.Add_RACW_Read_Attribute,
+ PolyORB_Support.Add_RACW_Write_Attribute,
+ PolyORB_Support.Add_RACW_From_Any,
+ PolyORB_Support.Add_RACW_To_Any,
+ PolyORB_Support.Add_RACW_TypeCode): Same.
+ (Transmit_As_Unconstrained): New function.
+ (Build_Ordered_Parameters_List): Use the above to order parameters.
+ (GARLIC_Support.Build_General_Calling_Stubs):
+ Use the above to determine which parameters to unmarshall using 'Input
+ at the point where their temporary is declared (as opposed to later on
+ with a 'Read call).
+ (PolyORB_Support.Build_General_Calling_Stubs):
+ Use the above to determine which parameters to unmarshall using From_Any
+ at the point where their temporary is declared (as opposed to later on
+ with an assignment).
+
+2008-04-08 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): If this is
+ an Input function for an access type, do not perform default
+ initialization on the local variable that receives the value, to
+ prevent spurious warnings when the type is null-excluding.
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Improve warnings on access types in pure
+ units.
+ (Size_Known): Generic formal scalar types have known at compile
+ time size, so remove check.
+ Fix casing error in formal parameter name in call
+ (Freeze_Subprogram): If the subprogram is a user-defined operator,
+ recheck its overriding indication.
+
+2008-04-08 Vincent Celier <celier@adacore.com>
+
+ * gnat1drv.adb: Send all messages indicating an error to standard error
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * gnatbind.adb (Restriction_Could_Be_Set): New procedure
+ (List_Applicable_Restrictions): Do not list existing restrictions
+
+2008-04-08 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.ads, g-socket.adb: Improve documentation of GNAT.Sockets:
+ add a pointer to generic sockets literature
+ do not mention that the given example is "typical" usage.
+ Remove obsolete comment about multicast not being supported on Windows.
+ (Connect_Socket): Make Server mode IN rather than IN OUT
+ since this formal is never modified.
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * sprint.adb (Write_Itype): Handle Itypes whose Parent field points to
+ the declaration for some different entity.
+ (Sprint_Node_Actual, case N_Derived_Type_Definition): When an interface
+ list is precent (following the parent subtype indication), display
+ appropriate "and" keyword.
+
+ * itypes.adb: Remove unnecessary calls to Init_Size_Align and Init_Esize
+ Remove unnecessary calls to Init_Size_Align and Init_Esize.
+ Add notes on use of Parent field of an Itype
+
+2008-04-08 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * lib-xref.adb (Is_On_LHS): Remove dead code
+ (Output_Overriden_Op): If the overridden operation is itself inherited,
+ list the ancestor operation, which is the one whose body or absstract
+ specification is actually being overridden. For source navigation
+ purposes.
+
+ * sem_ch7.adb (Is_Primitive_Of): use base type to determine whether
+ operation is primitive for the type.
+ (Declare_Inherited_Private_Subprograms): If the new operation overrides
+ an inherited private subprogram, set properly the Overridden_Operation
+ attribute, for better cross-reference information.
+ (Analyze_Package_Specification): Do late analysis of spec PPCs
+ (Install_Private_Declaration, Uninstall_Declarations): Save/restore
+ properly the full view and underlying full views of a private type in a
+ child unit, whose full view is derived from a private type in a parent
+ unit, and whose own full view becomes visible in the child body.
+
+ * sem_disp.adb (Check_Dispatching_Operation): When a body declares a
+ primitive operation after the type has been frozen, add an explicit
+ reference to the type and the operation, because other primitive
+ references have been emitted already.
+ (Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a
+ dispatching call on VM targets.
+
+2008-04-08 Vincent Celier <celier@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * make.adb: (Gnatmake_Called): Remove, no longer necessary
+ (Compile_Surces): Call Delete_Temp_Config_Files only if Gnatmake_Called
+ is True and Debug_Flag_N is False. Debug_Flag_N means "keep temp files".
+ (Insert_Project_Sources): Take into account index in multi-unit source
+ files.
+ After building a library project, delete all temporary files.
+ (Initialize): Reset current output after parsing project file.
+ (Collect_Arguments_And_Compile): Never insert in the queue the sources
+ of library projects that are externally built.
+ Put file name in error and inform messages if -df is used
+ (Display): If invoked with -d7, do not display path names, but only
+ file names.
+
+ * makeutl.ads (Path_Or_File_Name): New function
+ (Path_Or_File_Name): New function
+
+2008-04-08 Arnaud Charlet <charlet@adacore.com>
+
+ * Make-lang.in: Disable warnings during first stage of bootstrap
+ Get rid of gnatbl.
+ Update dependencies.
+
+2008-04-08 Vincent Celier <celier@adacore.com>
+
+ * mlib-prj.adb (Build_Library): Compare with ALI file name in canonical
+ case to decide if ALI object file is included in library.
+ (Build_Library): Never attempt to build a library if the project is
+ externally built.
+
+2008-04-08 Thomas Quinot <quinot@adacore.com>
+
+ * nlists.adb (Is_Non_Empty_List): Remove redundant test. First
+ (No_List) is defined to return Empty.
+
+2008-04-08 Jose Ruiz <ruiz@adacore.com>
+
+ * osint.ads, osint.adb (Get_Libraries_From_Registry): Improve
+ documentation.
+ Update comments.
+ (Read_Default_Search_Dirs): Do not consider spaces as path separators
+ because spaces may be part of legal paths.
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * par-ch11.adb (P_Exception_Handler): Check indentation level for
+ handler
+
+2008-04-08 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch3.adb (P_Type_Declaration) Reject the keyword "synchronized"
+ in a type declaration, if this is not an interface declaration or
+ private type extension.
+
+2008-04-08 Vincent Celier <celier@adacore.com>
+
+ * prj-util.adb (Executable_Of): New String parameter Language. When
+ Ada_Main is False and Language is not empty, attempt to remove the body
+ suffix or the spec suffix of the language to get the base of the
+ executable file name.
+ (Put): New Boolean parameter Lower_Case, defauilted to False. When
+ Lower_Case is True, put the value in lower case in the name list.
+ (Executable_Of): If there is no executable suffix in the configuration,
+ then do not modify Executable_Extension_On_Target.
+
+ * prj-util.ads (Executable_Of): New String parameter Language,
+ defaulted to the empty string.
+ (Put): New Boolean parameter Lower_Case, defauilted to False
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * scng.adb (Scan_Identifier): Handle case of identifier starting with
+ wide character using UTF-8 encoding.
+
+2008-04-08 Javier Miranda <miranda@adacore.com>
+
+ * sem.adb (Analyze): Consider case in which we analyze an empty node
+ that was generated by a call to a runtime function that is not
+ available under the configurable runtime.
+
+ * sem.ads (Inside_Freezing_Actions): New flag.
+ (Save_Check_Policy_List): New field in scope stack entry
+
+2008-04-08 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_aggr.adb (Analyze_N_Extension_Aggregate): Add legality checks for
+ the ancestor part of an extension aggregate for a limited type.
+ (Resolve_Array_Aggregate): Issue warning for sliding of aggregate with
+ enumeration index bounds.
+ (Resolve_Array_Aggregate): Add circuit for diagnosing missing choices
+ when array is too short.
+ (Check_Expr_OK_In_Limited_Aggregate): Move function
+ Check_Non_Limited_Type from Resolve_Record_Aggregate to top level (and
+ change name).
+ (Resolve_Array_Aggregate.Resolve_Aggr_Expr):
+ Check_Expr_OK_In_Limited_Aggregates called to check for illegal limited
+ component associations.
+ (Check_Non_Limited_Type): Moved to outer level and renamed.
+ (Resolve_Record_Aggregate): In an extension aggregate, an association
+ with a box initialization can only designate a component of the
+ extension, not a component inherited from the given ancestor
+
+ * sem_case.adb: Use new Is_Standard_Character_Type predicate
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * s-imgdec.adb (Set_Decimal_Digits): Fix error when input is zero with
+ negative scale
+ (Set_Decimal_Digits): Properly handle Aft=0 (equivalent to Aft=1)
+ Properly handle case where Aft > Scale and input number is less than
+ one.
+
+2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * s-stoele.ads, s-soflin.ads: Move the location of
+ Dummy_Communication_Block from System.Storage_Elements to
+ System.Soft_Links.
+
+ * s-tpobop.ads: Add comment on usage of Dummy_Communication_Block to
+ emulate Communication_Block in certain scenarios.
+
+2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * s-strxdr.adb, s-stratt.ads, s-stratt.adb (Block_IO_OK): New
+ subprogram.
+ Add new subtype S_WWC, unchecked conversion routines From_WWC and
+ To_WWC.
+ (I_WWC, O_WWC): New routines for input and output of
+ Wide_Wide_Character.
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * stringt.adb (Write_String_Table_Entry): Handle wide characters
+ properly
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * styleg.adb (Check_Comment): Allow special char after -- in
+ non-end-of-line case
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * stylesw.adb: Implement -gnaty + - y options
+ (Set_GNAT_Style_Check_Options): Includ I in style check string
+
+ * stylesw.ads: Add comments for new style switch options
+
+2008-04-08 Sergey Rybin <rybin@adacore.com>
+
+ * tree_io.ads: Increase ASIS_Version_Number because of adding Sem_Aux
+ to the set of the GNAT components needed by ASIS.
+
+2008-04-08 Bob Duff <duff@adacore.com>
+
+ * types.h: Change CE_Null_Exception_Id to the correct value (8, was 9).
+
+2008-04-08 Tristan Gingold <gingold@adacore.com>
+
+ * vxaddr2line.adb: Use Unsigned_32 instead of Integer for address type.
+ Improve error message generation.
+
+2008-04-08 Vincent Celier <celier@adacore.com>
+
+ * a-direct.adb (Start_Search): Check for Name_Error before checking for
+ Use_Error, as specified in the RM. Check if directory is open and raise
+ Use_Error if it is not.
+
+2008-04-08 Vincent Celier <celier@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * vms_conv.adb (Output_Version): Print "GNAAMP" instead of "GNAT when
+ AAMP_On_Target is set.
+
+ * vms_data.ads: Add NOxxx to style check switch list
+ Add entry COMPONENTS for -gnatVe
+ Add VMS qualifiers for -eL (/FOLLOW_LINKS_FOR_FILES) and --subdirs=
+ (/SUBDIRS=).
+ (GCC_Switches): Add /ALL_BACK_END_WARNINGS.
+ Add qualifiers for gnatmetric coupling options
+ Add note that -gnata enables all checks
+ Add entries [NO]PARAMETER_ORDER for -gnatw.p[P]
+ Fix inconsistency for VMS qualifier for the gnatpp '-rnb' option
+ New warning flag -gnatw.e
+
+ * usage.adb: Add entries for -gnaty+ -gnaty- -gnatyy
+ Add entry for -gnatyN (forgotten before)
+ Line for new warning switch -gnatw.p
+ New warning flag -gnatw.e
+
+ * gnat_ugn.texi: Add documentation fpr project file switch -aP
+ Document -gnaty - + y
+ Replace occurences of "package specification" with "package spec"
+ Define preprocessing symbols in documentation of gnatprep
+ Clarify reason for distinguishing overflow checking
+ Add documentation for project-aware tool switches -eL and --subdirs=
+ Complete list of configuration pragmas
+ Specify that, even when gnatmake switch -x is used, mains on the command
+ line need to be sources of project files.
+ Editing of gnatcheck/gnatmetric doc.
+ Add documentation for -gnatw.p/-gnatw.P
+ Add missing documentation for -fno-inline-functions.
+ Add documentation for -gnatw.e
+
+ * gnat_rm.texi: Add documentation for No_Default_Initialization
+ Replace occurences of "package specification" with "package spec"
+ Document use of * in Warnings Off string
+ Update documentation of alignment/component clauses.
+ Add documentation for Invalid_Value
+ Document new consistency rule for Optimize_Alignment
+ Add documentation for Precondition and Postcondition pragmas
+ Add documentation for Check and Check_Policy pragmas
+ Document new Enum_Val attribute
+ Remove requirement for static string in pragma Assert
+ Add documentation on GNAT.Time_Stamp
+
+ * ug_words: add entry for -gnatVe
+ Add entries for -gnat.p[P] /WARNINGS=[NO]PARAMETER_ORDER
+ Add entry for -gnatw.e
+
+ * debug.adb: Add missing documentation for d.a flag
+ Document new -gnatd.a switch.
+ Add documentation for new gnatmake debug switch -df
+
+2008-04-08 Thomas Quinot <quinot@adacore.com>
+
+ * gen-soccon.c: Bump year in copyright notices.
+
+ * g-soccon-vxworks.ads: Add new constant IP_PKTINFO
+
+2008-04-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * ctrl_c.c: Improve handling of ctrl-c on LynxOS and Windows.
+ Minor reformatting.
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * impunit.adb: Add Interfaces.Java.JNI, System.Strings.Stream_Ops,
+ Ada.Calendar.Conversions, Ada.Dispatching.EDF, GNAT.Time_Stamp
+
+ * s-intman-mingw.adb: Minor comment fix -- spell 'explicitly' correctly
+
+ * g-trasym.adb: Minor comment fix -- spell 'explicitly' correctly
+
+ * g-trasym.ads: Minor comment improvements
+
+ * s-stalib.adb: Minor comment fix -- spell 'explicitly' correctly
+
+ * a-sequio.ads, a-direio.ads: improve message for tagged type
+
+ * a-strunb.ads: Minor reformatting
+
+ * a-tifiio.adb: Minor reformatting
+
+ * atree.adb (Fix_Parents): Use clearer names for formals
+ Cleanup and simplify code
+ Use named notation in calls
+
+ * exp_fixd.adb (Do_Multiply_Fixed_Universal): Use named notation in
+ confusing calls
+
+ * uintp.adb: Used named notation for some confusing calls
+
+ * bindusg.adb: Minor change in one line of output
+
+ * cstand.adb: Minor reformatting of src representation of Standard
+
+ * a-assert.ads: Add comment.
+
+ * g-decstr.adb: Fix bad indentation
+
+ * expander.ads, expander.adb: Code clean up.
+
+ * sem_dist.ads: Minor comment improvement
+
+ * sem_type.adb, g-dirope.ads, g-exctra.ads, s-valwch.adb,
+ s-wchstw.adb, targparm.ads, widechar.adb: Minor reformatting
+
+ * i-cstrin.adb: Fix casing error in formal parameter name in call
+
+2008-04-08 Ed Schonberg <schonberg@adacore.com>
+
+ * binde.adb (Gather_All_Links, Gather_Dependencies): units that are
+ mentioned in limited_with_clauses to do create semantic dependencies
+ even though they appear in the ali file.
+
+2008-04-08 Emmanuel Briot <briot@adacore.com>
+
+ * g-comlin.ads, g-comlin.adb (Expansion): Remove unreachable return
+ statement.
+ (Get_Configuration): New subprogram.
+
+ * prj-pp.ads, prj-pp.adb (Pretty_Print): new parameters Id and Id_Tree
+ These optional parameters help preserve the casing of the project's name
+ when pretty-printing.
+
+2008-04-08 Jerome Lambourg <lambourg@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * bindgen.adb (Gen_Adainit_Ada): If the main program is a CIL function,
+ then use __gnat_set_exit_status to report the returned status code.
+
+ * comperr.adb (Compiler_Abort): Convert most bug boxes into clean error
+ messages on .NET, since some constructs of the language are not
+ properly supported.
+
+ * gnatlink.adb (Gnatlink): In case the command line is too long for the
+ .NET linker, gnatlink now concatenate all .il files and pass this to
+ ilasm.
+
+2008-04-07 Aurelien Jarno <aurelien@aurel32.net>
+ Xavier Grave <grave@ipno.in2p3.fr>
+
+ * Makefile.in: Add make ifeq define for mips/mipsel support.
+ * g-soccon-linux-mips.ads, system-linux-mipsel.ads,
+ system-linux-mips.ads: New files.
+
+2008-04-07 Aurelien Jarno <aurelien@aurel32.net>
+
+ * sysdep.c: add __GLIBC__ to the #ifdef preprocessor macros to
+ detect systems using GNU libc.
+ * gsocket.h: ditto.
+ * socket.c: ditto.
+ * adaint.c: ditto.
+ * link.c: ditto.
+
+2008-04-07 Aurelien Jarno <aurelien@aurel32.net>
+
+ * s-osinte-linux-kfreebsd.ads (SC_NPROCESSORS_ONLN): New
+ constant constant for sysconf call.
+ (bit_field): New packed boolean type used by cpu_set_t.
+ (cpu_set_t): New type corresponding to the C type with
+ the same name. Note that on the Ada side we use a bit
+ field array for the affinity mask. There is not need
+ for the C macro for setting individual bit.
+ (pthread_setaffinity_np): New imported routine.
+ * Makefile.in: Use s-tasinf-linux.ads and s-tasinf-linux.adb
+ on GNU/kFreeBSD.
+
+2008-04-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils2.c (build_binary_op): Fold ARRAY_REF and ARRAY_RANGE_REF too.
+
+2008-04-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gigi.h (create_subprog_type): Remove returns_with_dsp parameter.
+ * decl.c (gnat_to_gnu_entity): Adjust for above new prototype.
+ * utils.c (create_subprog_type): Remove returns_with_dsp parameter.
+ * trans.c (gnat_to_gnu) <N_Return_Statement>: Remove code dealing with
+ Return by Depressed Stack Pointer.
+
+2008-04-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (is_variable_size): Do not unconditionally return false
+ on non-strict alignment platforms.
+
+2008-04-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (rest_of_type_decl_compilation_no_defer): New local function
+ used to process all the variants of the specified type.
+ (gnat_to_gnu_entity): Invoke rest_of_type_decl_compilation for enumeral
+ types too. Call rest_of_type_decl_compilation_no_defer if undeferring.
+ (rest_of_type_decl_compilation): Likewise.
+ * utils.c (gnat_pushdecl): Propagate the name to all variants of type.
+
+2008-04-03 Paolo Bonzini <bonzini@gnu.org>
+
+ * gigi.h (insert_block): Kill.
+ * utils.c (insert_block): Kill.
+
+2008-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: For a constant object whose
+ type has self-referential size, get the size from the initializing
+ expression directly if it is also a constant whose nominal type
+ has self-referential size.
+
+2008-04-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR ada/33688
+ * g-soccon-darwin.ads: Define new constant IP_PKTINFO.
+
+ PR ada/33857
+ * env.c: Always include crt_externs.h if __APPLE__ is defined.
+ (__gnat_setenv): Use setenv instead of putenv if __APPLE__ is defined.
+
+2008-04-01 Andreas Jaeger <aj@suse.de>
+
+ * g-soccon-linux-ppc.ads: Add new constants SO_REUSEPORT and
+ IP_PKTINFO.
+
+2008-03-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * g-table.adb, g-tasloc.adb, g-traceb.ads,
+ g-trasym.adb, g-utf_32.adb, gen-soccon.c, gigi.h, gmem.c,
+ gnatbind.adb, gnatchop.adb, gnatcmd.adb,
+ gnatcmd.ads, gnatdll.adb, gnatfind.adb,
+ gnatlink.adb, gnatmem.adb, gprep.adb,
+ i-cstrea-vms.adb, i-cstrin.adb, i-pacdec.ads,
+ i-vxwork.ads, impunit.adb, init.c, initialize.c, inline.adb,
+ layout.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
+ lib-xref.ads, lib.adb, link.c, live.ads,
+ make.adb, makegpr.adb, makeutl.adb, math_lib.adb,
+ mdll-utl.adb, mdll.ads, memroot.adb, memroot.ads,
+ misc.c, mlib-prj.adb, mlib-tgt-hpux.adb,
+ mlib-tgt-linux.adb, mlib-tgt-tru64.adb, mlib-tgt.ads,
+ namet.adb, namet.h, nlists.adb, nlists.ads,
+ nlists.h, opt.ads, osint-b.ads, osint-c.adb,
+ osint-c.ads, osint.adb, osint.ads, output.ads,
+ par-ch10.adb, par-ch12.adb, par-ch2.adb, par-ch3.adb,
+ par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch9.adb,
+ par-endh.adb, par-labl.adb, par-prag.adb,
+ par-sync.adb, par-tchk.adb, par-util.adb,
+ par.adb, prep.adb, prep.ads, prepcomp.adb, prj-attr.ads,
+ prj-dect.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
+ prj-nmsc.ads, prj-pp.adb, prj-proc.adb,
+ prj-strt.ads, prj-tree.ads, prj.adb, prj.ads: Fix comment typos.
+
+2008-03-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: Do not force a non-null
+ size if it has overflowed.
+
+2008-03-31 Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils2.c (find_common_type): Document assumption on t1/t2 vs
+ lhs/rhs. Force use of lhs type if smaller, whatever the modes.
+
+2008-03-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * a-textio.ads, a-witeio.ads, a-ztexio.ads, ali.ads,
+ einfo.ads, erroutc.adb, erroutc.ads, exp_attr.adb,
+ exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
+ exp_pakd.ads, exp_prag.adb, exp_smem.adb,
+ exp_tss.ads, exp_util.adb, exp_util.ads,
+ exp_vfpt.adb, freeze.adb, freeze.ads,
+ frontend.adb, g-alleve.adb, g-altcon.adb,
+ g-altive.ads, g-alveop.ads, g-alvevi.ads,
+ g-arrspl.adb, g-busorg.ads, g-calend.adb,
+ g-calend.ads, g-casuti.ads, g-cgideb.adb,
+ g-comlin.adb, g-comlin.ads, g-curexc.ads,
+ g-debpoo.adb, g-debpoo.ads, g-decstr.adb,
+ g-dirope.adb, g-dirope.ads, g-dynhta.ads,
+ g-dyntab.adb, g-encstr.ads, g-excact.ads,
+ g-except.ads, g-expect.ads, g-heasor.adb,
+ g-hesora.adb, g-hesorg.adb, g-htable.ads,
+ g-locfil.ads, g-md5.adb, g-md5.ads,
+ g-memdum.ads, g-moreex.ads, g-os_lib.adb,
+ g-pehage.adb, g-pehage.ads, g-regexp.adb,
+ g-regexp.ads, g-regpat.adb, g-regpat.ads,
+ g-soccon-aix.ads, g-soccon-darwin.ads,
+ g-soccon-freebsd.ads, g-soccon-hpux-ia64.ads,
+ g-soccon-hpux.ads, g-soccon-irix.ads,
+ g-soccon-linux-64.ads, g-soccon-linux-ppc.ads,
+ g-soccon-linux-x86.ads, g-soccon-lynxos.ads,
+ g-soccon-mingw.ads, g-soccon-solaris-64.ads,
+ g-soccon-solaris.ads, g-soccon-tru64.ads,
+ g-soccon-vms.ads, g-soccon-vxworks.ads,
+ g-soccon.ads, g-socket.adb, g-socket.ads,
+ g-socthi-mingw.adb, g-socthi-vms.adb,
+ g-socthi-vxworks.adb, g-soliop-mingw.ads,
+ g-soliop-solaris.ads, g-soliop.ads, g-spipat.adb,
+ g-spipat.ads, g-string.adb, g-stsifd-sockets.adb: Fix comment
+ typos.
+
+2008-03-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Procedure>: Also set the public flag
+ if the procedure is imported.
+
+2008-03-26 Arnaud Charlet <charlet@adacore.com>
+
+ * adaint.c: Fix warnings.
+
+2008-03-26 Arnaud Charlet <charlet@adacore.com>
+
+ * g-dirope.ads, g-dirope.adb: (Dir_Type_Value): Moved to spec.
+
+2008-03-26 Arnaud Charlet <charlet@adacore.com>
+
+ * a-witeio.adb: Fix problem with Current_Output (introduce Self).
+ Fix problem of status check for null file
+
+2008-03-26 Arnaud Charlet <charlet@adacore.com>
+
+ * s-proinf-irix-athread.ads, s-vxwork-mips.ads,
+ s-traces.ads, s-vxwork-arm.ads, s-vxwork-ppc.ads, s-vxwork-sparcv9.ads,
+ s-tasinf-mingw.ads, s-tasinf-linux.ads, s-tasdeb.ads, mlib-tgt.ads,
+ i-cstrin.ads, uintp.adb, g-catiio.adb, s-vmexta.ads,
+ s-trafor-default.ads, s-vxwork-m68k.ads: Minor reformatting. Update
+ comments.
+
+2008-03-26 Thomas Quinot <quinot@adacore.com>
+
+ PR ada/33688
+ * g-socket.ads, g-socket.adb (Options, Set_Socket_Option,
+ Get_Socket_Option): Add support for Receive_Packet_Info.
+
+ * g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
+ g-soccon-irix.ads, g-soccon-hpux.ads, g-soccon-solaris.ads,
+ g-soccon-vms.ads, g-soccon-mingw.ads, g-soccon-freebsd.ads,
+ g-soccon-hpux-ia64.ads, g-soccon-solaris-64.ads, g-soccon-darwin.ads,
+ g-soccon-lynxos.ads, g-soccon-linux-64.ads, g-soccon-linux-x86.ads: Add
+ new constants SO_REUSEPORT and IP_PKTINFO
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * a-taster.adb, s-shasto.adb, s-soflin.adb, s-taasde.adb, s-taenca.adb,
+ a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb,
+ a-intnam-lynxos.ads, a-retide.adb, a-intnam-tru64.ads, a-intnam-aix.ads,
+ a-intnam-irix.ads, a-intnam-hpux.ads, a-intnam-linux.ads,
+ a-intnam-solaris.ads, a-caldel-vms.adb, a-intnam-vms.ads,
+ a-excpol-abort.adb, a-intnam-mingw.ads, s-interr.adb, s-interr.ads,
+ s-intman.ads, s-gloloc.adb, s-osinte-lynxos-3.ads,
+ s-interr-sigaction.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
+ a-intnam-freebsd.ads, s-osinte-freebsd.ads, s-osinte-lynxos.ads,
+ s-taspri-lynxos.ads, s-osinte-tru64.ads, s-osinte-tru64.ads,
+ s-taspri-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads,
+ s-osinte-hpux-dce.ads, s-taprop-hpux-dce.adb, s-taspri-hpux-dce.ads,
+ s-osinte-linux.ads, s-osinte-dummy.ads, s-taprop-dummy.adb,
+ s-taspri-dummy.ads, s-interr-dummy.adb, s-osinte-solaris.ads,
+ s-osinte-mingw.ads, s-taprop-solaris.adb, s-taspri-solaris.ads,
+ s-inmaop-vms.adb, s-interr-vms.adb, s-intman-vms.ads, s-osinte-vms.ads,
+ s-osinte-vms.ads, s-taprop-vms.adb, s-taspri-vms.ads,
+ s-taspri-mingw.ads, s-interr-vxworks.adb, s-inmaop-posix.adb,
+ s-intman-vxworks.ads, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
+ s-taspri-vxworks.ads, s-taspri-posix.ads, a-caldel.adb, a-calend.adb,
+ a-elchha.adb, a-dynpri.adb, a-except.adb, a-except.ads, a-interr.ads,
+ a-textio.adb, a-tigeau.ads, atree.adb, s-taprob.adb, s-taprop.ads,
+ s-tarest.adb, s-tarest.ads, s-tasini.adb, s-taskin.adb, s-taskin.ads,
+ s-tasque.adb, s-tasren.adb, s-tasren.ads, s-tassta.adb, s-tassta.ads,
+ s-tasuti.adb, s-tataat.adb, s-tataat.ads, s-tpoben.adb, s-tpoben.ads,
+ s-tpobop.adb, s-tpobop.ads, s-tposen.adb, s-tposen.ads, s-valrea.adb,
+ s-valuti.adb, a-intnam-darwin.ads, s-osinte-darwin.ads, s-solita.adb,
+ a-ztinau.ads, s-osinte-linux-hppa.ads, a-except-2005.adb,
+ a-except-2005.ads, a-rttiev.adb, s-osinte-vxworks6.ads, s-regexp.adb,
+ s-tasloc.adb: Minor reformatting.
+ Update comments.
+ Remove "used for" sections from comments.
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * s-tpopsp-posix.adb, s-tpopsp-solaris.adb, s-tpopsp-posix-foreign.adb,
+ s-tpopsp-lynxos.adb, s-tpopde-vms.ads, s-tpopde-vms.adb,
+ s-tpopsp-vxworks.adb, s-casi16.adb, s-caun16.adb, s-inmaop.ads,
+ s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-tpinop.adb,
+ s-tpinop.ads, s-tporft.adb, a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb,
+ a-crbtgk.ads, a-crbtgk.adb, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
+ a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
+ a-cgcaso.adb, a-cgaaso.adb, a-ciormu.adb, a-cihase.adb, a-swuwha.ads,
+ a-rbtgso.ads, a-cgaaso.ads, a-cgaaso.ads, a-ciorma.adb, a-chtgke.ads,
+ a-chtgke.adb, a-llfzti.ads, a-ztenau.adb, a-ztenau.ads, a-stzhas.ads,
+ a-szbzha.ads, a-szbzha.adb, a-crdlli.ads, a-crdlli.ads, a-crdlli.adb,
+ i-forbla-darwin.adb, i-forbla.ads, s-regexp.adb, a-nllrar.ads,
+ a-nlrear.ads, a-nucoar.ads, a-nurear.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-gerela.ads, a-swuwha.adb, i-forbla-unimplemented.ads,
+ double spaced if it fits on one line and otherwise single spaced.
+
+2008-03-26 Arnaud Charlet <charlet@adacore.com>
+
+ * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-lynxos.adb,
+ s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
+ s-taprop-posix.adb (Create_Task): Do not attempt to set task priority
+ or task info if the thread could not be created.
+
+2008-03-26 Arnaud Charlet <charlet@adacore.com>
+
+ * gnatvsn.ads (Library_Version): Bump to 4.4.
+ (Current_Year): Bump to 2008.
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * ali.ads, ali.adb (Optimize_Alignment_Setting): New field in ALI record
+
+ * bcheck.adb (Check_Consistent_Optimize_Alignment): New procedure
+
+ * debug.adb: Add debug flags d.r and d.v
+ Add debug flag .T (Optimize_Alignment (Time))
+ Add debug flag .S (Optimize_Alignment (Space))
+
+ * freeze.adb (Freeze_Record_Type): Set OK_To_Reorder_Components
+ depending on setting of relevant debug flags.
+ Replace use of Warnings_Off by Has_Warnings_Off
+ (Freeze_Entity): In circuit for warning on suspicious convention
+ actuals, do not give warning if subprogram has same entity as formal
+ type, or if subprogram does not come from source.
+ (Freeze_Entity): Don't reset Is_Packed for fully rep speced record
+ if Optimize_Alignment set to Space.
+
+ * frontend.adb: Add call to Sem_Warn.Initialize
+ Add call to Sem_Warn.Output_Unused_Warnings_Off_Warnings
+ Reset Optimize_Alignment mode from debug switches .S and .T
+
+ * layout.adb (Layout_Composite_Object): Rewritten for
+ Optimize_Aligment pragma.
+
+ * lib-writ.ads, lib-writ.adb: New Ox parameter for Optimize_Alignment
+ mode.
+
+ * opt.ads, opt.adb: (Optimize_Alignment): New global switch
+
+ * par-prag.adb (N_Pragma): Chars field removed, use Chars
+ (Pragma_Identifier (.. instead, adjustments throughout to accomodate
+ this change. Add entry for pragma Optimize_Alignment
+
+ * sem_prag.adb (N_Pragma): Chars field removed, use Chars
+ (Pragma_Identifier (..
+ instead, adjustments throughout to accomodate this change.
+ (Process_Compile_Time_Warning_Or_Error): Use !! for generated msg
+ (Favor_Top_Level): Use new function Is_Access_Subprogram_Type
+ Add implementation of pragma Optimize_Alignment
+
+2008-03-26 Vincent Celier <celier@adacore.com>
+
+ * a-szuzti.adb, a-swuwti.adb, a-suteio.adb (functions Get_Line):
+ Improve memory usage to avoid use of stack.
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * a-teioed.ads: Correct value of Default_Fill
+
+ * a-teioed.adb (Image): Use Fill_Character instead of '*' to fill
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb: Fix problem
+ with Current_Output (introduce Self).
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Ensure_Valid): Capture valid status if possible
+ (eliminate checks)
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * stand.ads: Deal with reordering of package standard declarations
+
+ * cstand.adb: Put package Standard declarations in proper order
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads, einfo.adb (N_Pragma): Chars field removed, use Chars
+ (Pragma_Identifier (.. instead.
+ (OK_To_Reorder_Components): New flag
+ (Has_Entries): Code cleanup.
+ (Warnings_Off_Used): New flag
+ (Warnings_Off_Used_Unmodified): New flag
+ (Warnings_Off_Used_Unreferenced): New flag
+ (Has_Warnings_Off): New function
+ (Has_Unmodified): New function
+ (Has_Unreferenced): New function
+ (Is_Trivial_Subprogram): New flag
+ (Is_Static_Dispatch_Table_Entity): New attribute.
+ Change name Access_Subprogram_Type_Kind to Access_Subprogram_Kind
+ (more consistent with other similar names)
+ (Access_Subprogram_Type): New classification function
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads: Document new !! insertion sequence
+
+ * errout.adb (N_Pragma): Chars field removed, use Chars
+ (Pragma_Identifier (.. instead.
+ Replace use of Warnings_Off by Has_Warnings_Off
+ (Error_Msg_Internal): Don't delete warning ending in !!
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * par.adb (Check_No_Right_Paren): Removed no longer used
+
+ * par-ch10.adb (N_Pragma): Chars field removed, use Chars
+ (Pragma_Identifier (.. instead.
+
+ * par-ch10.adb (P_Subunit): Improvement in error recovery and message
+
+ * par-tchk.adb, par-ch5.adb, par-ch6.adb, par-ch3.adb,
+ par-ch4.adb: Minor improvements in error recovery and messages.
+
+ * erroutc.adb (Test_Style_Warning_Serious_Msg): Treat style msgs as
+ non-serious
+
+ * par-ch9.adb: Minor improvements in error recovery and messages
+ (P_Protected): Better error recovery for "protected type x;"
+
+ * par-util.adb: Minor improvements in error recovery and messages
+ (Check_No_Right_Paren): Removed no longer used
+
+2008-03-26 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Replace_Type): When checking for self-reference, verify
+ that the prefix of an attribute is the type of the aggregate being
+ expanded.
+
+2008-03-26 Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb (N_Pragma): Chars field removed.
+ (Expand_N_Attribute_Reference): If the designated type associated with
+ attribute 'Unrestricted_Access is a subprogram entity then replace it
+ by an E_Subprogram_Type itype.
+ Implement attribute Old
+
+ * sem_attr.ads (Attribute_Class_Array): Move to snames.ads
+
+ * sem_attr.adb (Build_Access_Subprogram_Itype): Add documentation.
+ Replace call to
+ New_Internal_Entity by call to Create_Itype to centralize calls
+ building itypes, ad propagate the convention of the designated
+ subprogram. In addition, disable the machinery cleaning constant
+ indications from all entities in current scope when 'Unrestricted_Access
+ corresponds with a node initializing a dispatch table slot.
+ (Analyze_Attribute): Parameterless attributes returning a string or a
+ type will not be called with improper arguments, so we can remove junk
+ code that was dealing with this case.
+ Implement attribute Old
+
+ * snames.ads, snames.h, snames.adb: Add entries for attribute Old
+ Add entry for pragma Optimize_Alignment
+ New standard names Sync and Synchronize
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch11.adb (Expand_At_End_Handler): Set From_At_End flag on raise
+ stmt.
+ (No_Exception_Propagation_Active): New function.
+ (Expand_Exception_Handlers): Use No_Exception_Propagation_Active.
+ Update comments, and review all uses of No_Exception_Propagation, which
+ are now correct and in sync with what gigi expects.
+
+ * restrict.ads, restrict.adb (No_Exception_Propagation_Active): New
+ function.
+ (Expand_Exception_Handlers): Use No_Exception_Propagation_Active.
+ Update comments, and review all uses of No_Exception_Propagation, which
+ are now correct and in sync with what gigi expects.
+
+2008-03-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Access_Definition): If the access type is the return
+ result of a protected function, create an itype reference for it
+ because usage will be in an inner scope from the point of declaration.
+ (Build_Derived_Record_Type): Inherit Reverse_Bit_Order and
+ OK_To_Reorder_Components.
+ (Make_Index): If an overloaded range includes a universal integer
+ interpretation, resolve to Standard.Integer.
+ (Analyze_Subtype_Indication): Copy Convention to subtype
+ (Check_Abstract_Interfaces): Complete semantic checks on the legality of
+ limited an synchronized progenitors in type declaration and private
+ extension declarations.
+
+ * exp_ch13.adb (Expand_N_Freeze_Entity): If the scope of the entity is a
+ protected subprogram body, determine proper scope from subprogram
+ declaration.
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Op_Concat): Remove special tests for
+ No_Run_Time_Mode
+
+2008-03-26 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Extended_Return_Statement): Suppress generation
+ of a heap allocator for a limited unconstrained function return when
+ resstriction No_Allocators is active.
+ (Analyze_Allocator): The restriction No_Allocators is now only checked
+ on allocators that have Comes_From_Source set, as per RM-H.4(7).
+
+ * sem_ch4.adb (Expand_N_Extended_Return_Statement): Suppress generation
+ of a heap allocator for a limited unconstrained function return when
+ resstriction No_Allocators is active.
+ (Analyze_Allocator): The restriction No_Allocators is now only checked
+ on allocators that have Comes_From_Source set, as per RM-H.4(7).
+ (Has_Fixed_Op): If the name in a function call is Standard."*" and the
+ operands are fixed-point types, the universal_fixed predefined operation
+ is used, regardless of whether the operand type (s) have a primitive
+ operation of the same name.
+
+2008-03-26 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Make_DT, Make_Secondary_DT): Set attribute
+ Is_Static_Dispatch_Table
+ (Build_Dispatch_Tables): Replace calls to Exchange_Entities() by calls
+ to Exchange_Declarations to exchange the private and full-view. Bug
+ found working in this issue.
+ (Expand_Dispatching_Call): Propagate the convention of the subprogram
+ to the subprogram pointer type.
+ (Make_Secondary_DT): Replace generation of Prim'Address by
+ Address (Prim'Unrestricted_Access)
+ (Make_DT): Replace generation of Prim'Address by
+ Address (Prim'Unrestricted_Access)
+ (Make_Disp_*_Bodies): When compiling for a restricted profile, use
+ simple call form for single entry.
+ (Make_DT): Handle new contents of Access_Disp_Table (access to dispatch
+ tables of predefined primitives).
+ (Make_Secondary_DT): Add support to handle access to dispatch tables of
+ predefined primitives.
+ (Make_Tags): Add entities to Access_Dispatch_Table associated with
+ access to dispatch tables containing predefined primitives.
+
+ * exp_ch6.adb (N_Pragma): Chars field removed, use Chars
+ (Pragma_Identifier (.. instead, adjustments throughout to accomodate
+ this change.
+ (Register_Predefined_DT_Entry): Updated to handle the new contents
+ of attribute Access_Disp_Table (pointers to dispatch tables containing
+ predefined primitives).
+
+ * exp_util.ads, exp_util.adb (Corresponding_Runtime_Package): New
+ subprogram.
+ (Find_Interface_ADT): Updated to skip the new contents of attribute
+ Access_Dispatch_Table (pointers to dispatch tables containing predefined
+ primitives).
+
+ * sem_util.adb (Has_Abstract_Interfaces): Add missing support for
+ concurrent types.
+ (Set_Convention): Use new function Is_Access_Subprogram_Type
+ (Collect_Interfaces_Info): Updated to skip the new contents of attribute
+ Access_Dispatch_Table (pointers to dispatch tables containing predefined
+ primitives).
+
+ * exp_atag.ads, exp_atag.adb (Build_Inherit_Predefined_Prims): Improve
+ expanded code avoiding calls to Build_Predef_Prims.
+ (Build_Set_Predefined_Prim_Op_Address): Improve expanded code avoiding
+ call to Build_Get_Predefined_Prim_Op_Address.
+
+2008-03-26 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch7.adb (Make_Clean): Code cleanup using the new centralized
+ subprogram Corresponding_Runtime_Package to know the runtime package
+ that will provide support to a given protected type.
+
+ * exp_ch9.adb (Add_Private_Declarations,
+ Build_Protected_Subprogram_Call,
+ Build_Protected_Entry, Build_Simple_Entry_Call,
+ Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
+ Expand_N_Timed_Entry_Call, Make_Initialize_Protection): Code
+ cleanup using the new centralized subprogram Corresponding_Runtime
+ Package to know the runtime package that provides support to
+ a given protected type.
+
+2008-03-26 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If the component
+ assignment is within the initialization procedure for a packed array,
+ and Initialize_Scalars is enabled, compile right-hand side with checks
+ off, because the value is purposely out of range.
+
+2008-03-26 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb: Add processing for GNAT SYNC
+
+ * vms_conv.ads: (Command_Type): Add command Sync
+
+ * vms_conv.adb (Initialize): Add Command_List data for new command Sync
+
+ * vms_data.ads: Add entries for -gnatw.w
+ Add qualifier for gnatstub --header-file option
+ Add switches for GNAT SYNC
+
+ * prj-attr.ads, prj-attr.adb: Add new package Synchronize for GNAT SYNC
+ (Add_Package_Name): New procedure
+ (Package_Name_List): New function
+ (Initialize): Add known package names to the list
+ (Register_New_Package): Add the new package name to the list
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * g-pehage.adb, g-regist.adb, g-spipat.ads, g-spipat.adb,
+ s-asthan.adb, s-parint.adb, s-rpc.adb, s-stchop.adb: Replace
+ Raise_Exception by "raise with" construct.
+
+2008-03-26 Pascal Obry <obry@adacore.com>
+
+ * Makefile.in: Add proper GNAT.Serial_Communications implementation on
+ supported platforms.
+
+ * Makefile.rtl: Add g-sercom.o.
+
+ * impunit.adb: Add g-sercom.adb.
+
+ * s-crtl.ads (open): New routine.
+ (close): Likewise.
+ (write): Likewise.
+
+ * s-osinte-mingw.ads (BYTE): New type.
+ (CHAR): Likewise.
+ (OVERLAPPED): Likewise.
+ (GENERIC_READ): New constant.
+ (GENERIC_WRITE): Likewise.
+ (OPEN_EXISTING): Likewise.
+ (PSECURITY_ATTRIBUTES): Removed this type, use anonymous access
+ type instead.
+ (CreateFile): New routine.
+ (WriteFile): Likewise.
+ (ReadFile): Likewise.
+ (CloseHandle): Move next to the other file oriented routines.
+
+ * g-sercom.ads: New unit.
+
+ * g-sercom.adb: Default implementation, calls to this unit will raise
+ a program error exception.
+
+ * g-sercom-mingw.adb, g-sercom-linux.adb: Windows and
+ GNU/Linux implementations.
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * itypes.adb (Create_Itype): Use new name Access_Subprogram_Kind
+
+ * sem_ch13.adb (Validate_Unchecked_Conversion): Give warning for
+ unchecked conversion for different conventions only for subprogram
+ pointers or on VMS.
+
+2008-03-26 Vincent Celier <celier@adacore.com>
+
+ * osint-c.adb (Set_Library_Info_Name): Use canonical case file names
+ to check if the specified object file is correct.
+
+2008-03-26 Thomas Quinot <quinot@adacore.com>
+
+ * sem_cat.adb (Validate_RACW_Primitives): Do not rely on
+ Comes_From_Source to exclude primitives from being checked. We want to
+ exclude predefined primitives only, so use the appropriate specific
+ predicate. Also, flag a formal parameter of an anonymous
+ access-to-subprogram type as illegal for a primitive operation of a
+ remote access to class-wide type.
+
+2008-03-26 Vincent Celier <celier@adacore.com>
+
+ * prj-dect.adb (Parse_Package_Declaration): When a package name is not
+ known, check if it may be a missspelling of a known package name. In
+ not verbose, not mode, issue warnings only if the package name is a
+ possible misspelling.
+ In verbose mode, always issue a warning for a not known package name,
+ plus a warning if the name is a misspelling of a known package name.
+
+ * prj-part.adb (Post_Parse_Context_Clause): Modify so that only non
+ limited withs or limited withs are parse during one call.
+ (Parse_Single_Project): Post parse context clause in two passes: non
+ limited withs before current project and limited withs after current
+ project.
+
+ * prj-proc.adb (Imported_Or_Extended_Project_From): Returns an extended
+ project with the name With_Name, even if it is only extended indirectly.
+ (Recursive_Process): Process projects in order: first single withs, then
+ current project, then limited withs.
+
+ * prj-tree.adb (Imported_Or_Extended_Project_Of): Returns an extended
+ project with the name With_Name, even if it is only extended indirectly.
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * scn.adb (Initialize_Scanner): Format messages belong on standard error
+
+2008-03-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Analyze_Compilation_Unit): if a unit in the context is
+ a generic subprogram that is imported, do not attempt to compile
+ non-existent body.
+
+ * sem_ch12.adb (Instantiate_Subprogram_Body): if the generic is
+ imported, do not generate a raise_program_error for the non-existent
+ body.
+ (Pre_Analyze_Actuals): If an error is detected during pre-analysis,
+ perform minimal name resolution on the generic to avoid spurious
+ warnings.
+ (Find_Actual_Type): the designated type of the actual in a child unit
+ may be declared in a parent unit without being an actual.
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch11.adb: Fix No_Exception_Restriction violation for SJLJ
+ * sinfo.ads, sinfo.adb (From_At_End): New flag
+
+2008-03-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): Remove spurious check on
+ operations that have an interface parameter.
+ (Analyze_Subprogram_Body): Set Is_Trivial_Subprogram flag
+ Don't treat No_Return call as raise.
+
+ * sem_disp.adb (Check_Dispatching_Operations): apply check for
+ non-primitive interface primitives to access parameters, not to all
+ parameters of an access type.
+
+2008-03-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch7.adb (Install_Parent_Private_Declarations): If the private
+ declarations of a parent unit are made visible when compiling a child
+ instance, the parent is not a hidden open scope, even though it may
+ contain other pending instance.
+
+ * sem_ch8.adb (Restore_Scope_Stack): If an entry on the stack is a
+ hidden open scope for some child instance, it does affect the
+ visibility status of other stach entries.
+ (Analyze_Object_Renaming): Check that a class-wide object cannot be
+ renamed as an object of a specific type.
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb (Check_Infinite_Recursion): Diagnose definite infinite
+ recursion and raise SE directly.
+ (Resolve_Actuals): Reset Never_Set_In_Source if warnings off is
+ set for formal type for IN mode parameter.
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_warn.ads, sem_warn.adb (Warnings_Off_Pragmas): New table
+ (Initialize): New procedure
+ (Output_Warnings_Off_Warnings): New procedure
+ (Check_References): Suppress certain msgs if Is_Trivial_Subprogram
+ (Output_Non_Modifed_In_Out_Warnings): Ditto
+ (Warn_On_Unreferenced_Entity): Ditto
+
+2008-03-26 Vincent Celier <celier@adacore.com>
+
+ * a-direct.adb (Start_Search): Raise Use_Error if the directory is not
+ readable.
+
+2008-03-26 Matthew Heaney <heaney@adacore.com>
+
+ * a-ciorse.ads, a-cidlli.ads, a-cdlili.ads, a-cihase.ads, a-cohase.ads,
+ a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-coorse.ads:
+ Marked with clauses as private, and controlled operations as overriding
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * g-byorma.adb (Read_BOM): Reorder tests so that UTF_32 is recognized
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * back_end.adb, back_end.ads: Minor reformatting
+
+ * bindgen.adb: Minor clarification of comments
+
+ * fname.ads: Minor comment fixes
+
+ * g-altive.ads, g-catiio.ads, g-trasym.ads, prj.ads,
+ prj-nmsc.adb, sem_aggr.adb: Minor reformatting
+
+ * xeinfo.adb, xnmake.adb, xsinfo.adb, xtreeprs.adb,
+ xsnames.adb: Remove warnings off pragma no longer needed
+
+ * a-catizo.ads, a-calari.ads, a-calfor.adb,
+ a-calfor.ads: Fix header.
+
+2008-03-26 Tristan Gingold <gingold@adacore.com>
+
+ * init.c: Do not adjust pc for HPARITH on alpha/vms.
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * lib-xref.adb: (OK_To_Set_Reference): New function
+ (Generate_Reference): Don't set referenced from occurrence in Warnings,
+ Unmodified, or Unreferenced pragma
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * alloc.ads: Add entries for Warnings_Off_Pragmas table
+
+2008-03-26 GNAT Script <nobody@adacore.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * tbuild.ads, tbuild.adb, trans.c, sprint.adb, exp_prag.adb, decl.c,
+ par-ch2.adb, sem_elab.adb, sem_util.ads (N_Pragma): Chars field
+ removed, use Chars (Pragma_Identifier (.. instead, adjustments
+ throughout to accomodate this change.
+
+ * s-pooglo.ads, s-pooloc.ads: Minor comment updates
+
+ * exp_dbug.adb: Use Sem_Util.Set_Debug_Info_Needed (not
+ Einfo.Set_Needs_Debug_Info)
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Add documentation for -gnatw.w/-gnatw.W
+ Add description for the new gnatstub option '--header-file'
+ clarification of -gnatwz/-gnatwZ
+ Add a "Irix-Specific Considerations" section to document the need to
+ set LD_LIBRARY_PATH when using the default shared runtime library.
+ Added documentation for both gcov and gprof.
+
+ * gnat_rm.texi: Document that pragma Compile_Time_Warning generates
+ messages that are not suppressed when clients are compiled.
+ Add documentation of s-pooglo s-pooloc
+ Document the new GNAT.Serial_Communications API.
+ Add documentation for 'Old attribute
+ Add description of pragma Optimize_Alignment
+
+ * ug_words: Add entries for -gnatw.w -gnatw.W
+
+ * usage.adb: Add line for -gnatw.w (warn on warnings off)
+
+2008-03-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ Revert
+ 2008-03-05 Eric Botcazou <ebotcazou@adacore.com>
+ PR ada/35186
+ * decl.c (maybe_pad_type): Avoid padding an integral type when
+ bumping its alignment is sufficient.
+
+2008-03-25 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch6.adb, exp_disp.adb: Update copyright notice.
+ Fix wrong formatting (lines too long)
+
+2008-03-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * 9drpc.adb, a-caldel-vms.adb, a-caldel.adb,
+ a-calend-vms.adb, a-calend.adb, a-calend.ads,
+ a-calfor.adb, a-chahan.ads, a-chtgke.adb,
+ a-cihama.ads, a-ciorse.adb, a-clrefi.ads,
+ a-cohama.ads, a-comlin.ads, a-coorse.adb,
+ a-crbtgk.adb, a-direct.adb, a-except-2005.adb,
+ a-except-2005.ads, a-except.adb, a-except.ads,
+ a-exexda.adb, a-exexpr-gcc.adb, a-exexpr.adb,
+ a-exextr.adb, a-filico.ads, a-finali.ads,
+ a-intnam-aix.ads, a-intnam-solaris.ads, a-ngcefu.adb,
+ a-ngelfu.adb, a-numaux-darwin.adb, a-numeri.ads,
+ a-sequio.ads, a-strbou.ads, a-strfix.adb,
+ checks.adb, exp_ch3.adb, exp_ch4.adb,
+ exp_ch4.ads, exp_ch5.adb, exp_ch6.adb,
+ exp_ch6.ads, exp_ch7.adb, exp_ch7.ads,
+ exp_ch9.adb, exp_ch9.ads, exp_dbug.adb,
+ exp_dbug.ads, exp_disp.adb, exp_dist.adb,
+ exp_dist.ads, exp_fixd.adb, exp_fixd.ads: Fix comment typos.
+
+2008-03-24 Robert Dewar <dewar@adacore.com>
+
+ * s-tpopsp-posix.adb, s-tpopsp-solaris.adb, s-tpopsp-posix-foreign.adb,
+ s-tpopsp-lynxos.adb, s-tpopde-vms.ads, s-tpopde-vms.adb,
+ s-tpopsp-vxworks.adb, s-casi16.adb, s-caun16.adb, s-inmaop.ads,
+ s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-tpinop.adb,
+ s-tpinop.ads, s-tporft.adb, a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb,
+ a-crbtgk.ads, a-crbtgk.adb, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
+ a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
+ a-cgcaso.adb, a-cgaaso.adb, a-ciormu.adb, a-cihase.adb, a-swuwha.ads,
+ a-rbtgso.ads, a-cgaaso.ads, a-cgaaso.ads, a-ciorma.adb, a-chtgke.ads,
+ a-chtgke.adb, a-llfzti.ads, a-ztenau.adb, a-ztenau.ads, a-stzhas.ads,
+ a-szbzha.ads, a-szbzha.adb, a-crdlli.ads, a-crdlli.ads, a-crdlli.adb,
+ i-forbla-darwin.adb, i-forbla.ads, s-regexp.adb, a-nllrar.ads,
+ a-nlrear.ads, a-nucoar.ads, a-nurear.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-gerela.ads, a-swuwha.adb, i-forbla-unimplemented.ads,
+ double spaced if it fits on one line and otherwise single spaced.
+
+2008-03-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR documentation/15479
+ * Make-lang.in (doc/gnat_ugn.texi) Renamed from ...
+ (doc/gnat_ugn_unw.texi): ... this, and adjusted.
+ (doc/gnat_ugn.info): Renamed from ...
+ (doc/gnat_ugn_unw.info): ... this.
+ (doc/gnat_ugn.dvi): Renamed from ...
+ (doc/gnat_ugn_unw.dvi): ... this.
+ (doc/gnat_ugn.pdf): Renamed from ...
+ (doc/gnat_ugn_unw.pdf): ... this.
+ (ADA_INFOFILES, ADA_PDFFILES, ada.install-info, ada.dvi):
+ Adjusted.
+ * gnat_ugn.texi (FILE): Hard-code gnat_ugn; set filename
+ unconditionally to gnat_ugn.info. Fix cross references to the
+ GNAT Reference Manual. Convert links to the GCC, GDB, Emacs,
+ and GNU make manuals to be proper texinfo links.
+ * gnat_rm.texi: Fix cross references to the GNAT User's Guide.
+
+2008-03-21 Olivier Hainque <hainque@adacore.com>
+
+ * trans.c (Attribute_to_gnu) <'length>: Compute as (hb < lb)
+ ? 0 : hb - lb + 1 instead of max (hb - lb + 1, 0).
+
+2008-03-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (addressable_p): Add notes on addressability issues.
+
+2008-03-21 Olivier Hainque <hainque@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * trans.c (addressable_p): Accept COND_EXPR when both arms
+ are addressable.
+ (gnat_gimplify_expr): Let the gimplifier handle &COND_EXPR.
+ (call_to_gnu): Do not use name reference in the error message
+ for a misaligned by_reference_parameter. The actual may be a
+ general expression.
+
+2008-03-18 Paolo Bonzini <bonzini@gnu.org>
+
+ * misc.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete.
+
+2008-03-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * gnat_rm.texi (Implementation Defined Characteristics)
+ (Wide_Text_IO, Wide_Wide_Text_IO): Add @var annotations where
+ appropriate.
+ * gnat_ugn.texi (Wide Character Encodings, Switches for gnatbind)
+ (Switches for gnatchop, Installing a library): Likewise.
+
+2008-03-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (emit_range_check): Do not emit the check if the base type
+ of the expression is the type against which its range must be checked.
+
+2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (maybe_pad_type): Use value_factor_p.
+
+2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * lang.opt (nostdlib): Move around.
+ * misc.c (gnat_handle_option): Fix formatting.
+ (gnat_dwarf_name): Move around.
+ * trans.c (Case_Statement_to_gnu): Fix formatting.
+ (gnat_to_gnu): Likewise.
+ * utils.c (aggregate_type_contains_array_p): Likewise.
+ (create_subprog_decl): Likewise.
+
+2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Do not
+ bother propagating the TYPE_USER_ALIGN flag when creating a JM type.
+
+2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Record_Type>: Do not force
+ BIGGEST_ALIGNMENT when capping the alignment of records with
+ strict alignment and size clause.
+
+2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * lang-specs.h: Pass -gnatwa if -Wall is passed.
+ * misc.c (gnat_handle_option) <OPT_Wall>: Expand into -Wunused
+ and -Wuninitialized.
+ (gnat_post_options): Clear warn_unused_parameter.
+
+2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils.c (finish_record_type): Clear DECL_BIT_FIELD on sufficiently
+ aligned bit-fields, bumping the alignment of the record type if deemed
+ profitable.
+ (value_factor_p): Return false instead of 0.
+
+2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Add support
+ for scalar types with small alignment.
+
+2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (Loop_Statement_to_gnu): Set the SLOC of the loop label
+ from that of the front-end's end label.
+ (gnat_gimplify_stmt) <LOOP_STMT>: Set the SLOC of the backward goto
+ from that of the loop label.
+
+2008-03-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Add
+ comment for the packed array type case.
+ * utils.c (build_template): Use a loop to strip padding or
+ containing records for justified modular types.
+
+2008-03-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity): Issue a warning on suspiciously
+ large alignments specified for types.
+ (validate_alignment): Minor cleanup.
+
+2008-03-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (MAX_FIXED_MODE_SIZE): Define if not already defined.
+ (gnat_to_gnu_entity) <E_Record_Type>: Try to get a smaller form of
+ the component for packing, if possible, as well as if a component
+ size clause is specified.
+ <E_Record_Subtype>: For an array type used to implement a packed
+ array, get the component type from the original array type.
+ Try to get a smaller form of the component for packing, if possible,
+ as well as if a component size clause is specified.
+ (round_up_to_align): New function.
+ (make_packable_type): Add in_record parameter.
+ For a padding record, preserve the size. If not in_record and the
+ size is too large for an integral mode, attempt to shrink the size
+ by lowering the alignment.
+ Ditch the padding bits of the last component.
+ Compute sizes and mode manually, and propagate the RM size.
+ Return a BLKmode record type if its size has shrunk.
+ (maybe_pad_type): Use MAX_FIXED_MODE_SIZE instead of BIGGEST_ALIGNMENT.
+ Use Original_Array_Type to retrieve the type in case of an error.
+ Adjust call to make_packable_type.
+ (gnat_to_gnu_field): Likewise.
+ (concat_id_with_name): Minor tweak.
+ * trans.c (larger_record_type_p): New predicate.
+ (call_to_gnu): Compute the nominal type of the object only if the
+ parameter is by-reference. Do the conversion actual type -> nominal
+ type if the nominal type is a larger record.
+ (gnat_to_gnu): Do not require integral modes on the source type to
+ avoid the conversion for types with identical names.
+ (addressable_p): Add gnu_type parameter. If it is specified, do not
+ return true if the expression is not addressable in gnu_type.
+ Adjust recursive calls.
+ * utils.c (finish_record_type): Remove dead code.
+
+2008-03-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/35186
+ * decl.c (maybe_pad_type): Avoid padding an integral type when
+ bumping its alignment is sufficient.
+
+2008-03-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * gnatfind.adb, gnatxref.adb: Fix argument parsing typos.
+ * s-auxdec-empty.adb, s-auxdec.adb: Fix typos in copyright
+ statement.
+ * a-ngcoar.adb, a-ngrear.adb, g-awk.adb, g-debpoo.adb,
+ gprep.adb, make.adb, makegpr.adb, par-ch6.adb, prj-nmsc.adb,
+ sem_attr.adb, sem_ch4.adb, sem_ch8.adb: Fix typos in ada source
+ code output strings.
+ * sem_type.adb, system-vms-ia64.ads, system-vms.ads,
+ system-vms_64.ads: Fix typos in ada source code comments.
+ * sinfo-cn.adb: Remove incomplete sentence.
+
+ PR documentation/15479
+ * gnat_rm.texi, gnat_ugn.texi: Avoid standalone `non' word.
+
+2008-02-27 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/22255
+ * s-fileio.adb (Reset): Do not raise Use_Error if mode isn't changed.
+
+2008-02-27 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/34799
+ * sem_ch13.adb (Analyze_Record_Representation_Clause): Check
+ that underlying type is present.
+
+2008-02-26 Tom Tromey <tromey@redhat.com>
+
+ * misc.c (internal_error_function): Remove test of
+ USE_MAPPED_LOCATION.
+ * trans.c (gigi): Remove test of USE_MAPPED_LOCATION.
+ (Sloc_to_locus): Remove old location code.
+
+2008-02-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * gnat_rm.texi, gnat_ugn.texi: Fix spacing after `e.g.' and
+ `i.e.' by adding comma or `@:' as appropriate.
+ * gnat_rm.texi (Pragma Wide_Character_Encoding): Instead of
+ plain characters `C', use `@samp{C}'.
+ * gnat_ugn.texi (File Naming Rules, About gnatkr)
+ (Krunching Method): Likewise.
+
+ * gnat_ugn.texi (Conventions): List environment variables and
+ metasyntactic variables.
+ (Compiling Programs): Fix notation of metasyntactic variables.
+ Add @file where appropriate. Use @file for file extensions,
+ @samp for strings.
+ * gnat_rm.texi, gnat_ugn.texi: Where appropriate, use @samp
+ instead of @file, @env instead of @code.
+
+2008-02-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR documentation/15479
+ * gnat_rm.texi, gnat_ugn.texi: Where appropriate, replace `..'
+ and `...' with `@dots{}' or `@enddots{}'.
+
+ PR documentation/15479
+ * gnat_rm.texi, gnat_ugn.texi: Where appropriate, add @command,
+ use @command instead of @code, @option instead of @samp or @code,
+ @code instead of @var, @samp instead of @file.
+
+ PR documentation/15479
+ * gnat_ugn.texi (Using gnatmake in a Makefile): Do not ignore errors
+ in Makefile rules, by using `&&' rather than `;'.
+
+2008-02-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR documentation/15479
+ * gnat_ugn.texi: In non-code, avoid space before colon.
+ (Regular Expressions in gnatfind and gnatxref): Fix indentation.
+ (Examples of gnatxref Usage): Use @command{vi} instead of
+ @file{vi}.
+ (Character Set Control): Do not use @code for UTF-8.
+ (Validity Checking): Fix typo "NaNs" instead of "NaN's". Do not
+ use @code for IEEE.
+ * gnat_rm.texi (Aggregates with static bounds): Fix typo in code
+ sample.
+ * gnat_rm.texi, gnat_ugn.texi: Fix typos. Bump copyright years.
+
+2008-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ PR ada/35143
+ * env.c: Add __rtems__ to if defined.
+ * s-osinte-rtems.adb: Add To_Target_Priority. Fix formatting.
+ * s-osinte-rtems.ads: Add To_Target_Priority prototype and
+ PTHREAD_SCOPE_PROCESS/PTHREAD_SCOPE_SYSTEM constants. Add
+ pragma Convention as required.
+ * gsocket.h: Make compile in and out of RTS.
+ * Makefile.in: Add system-rtems.ads. Build DEC extensions.
+ Use g-soccon-rtems.ads.
+ * g-soccon-rtems.ads, system-rtems.ads: New files.
+
+2008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ PR other/35107
+ * Make-lang.in (gnat1): Add $(GMPLIBS).
+
+2008-01-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (components_to_record): Improve comment.
+
+2008-01-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (components_to_record): Do not reuse the empty union type
+ if there is a representation clause on the record.
+ * trans.c (addressable_p): Return true for INTEGER_CST.
+
+2008-01-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (gnat_to_gnu) <N_Free_Statement>: Use POINTER_PLUS_EXPR
+ in pointer arithmetics.
+ * utils2.c (build_allocator): Likewise.
+
+2008-01-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils.c (build_function_stub): Properly build the call expression.
+
+2008-01-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: Process renamings
+ before converting the expression to the type of the object.
+ * trans.c (maybe_stabilize_reference) <CONSTRUCTOR>: New case.
+ Stabilize constructors for special wrapping types.
+
+2008-01-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (call_to_gnu): Invoke the addressable_p predicate only
+ when necessary. Merge some conditional statements. Update comments.
+ Rename unchecked_convert_p local variable to suppress_type_conversion.
+ Do not suppress conversions in the In case.
+ (addressable_p) <VIEW_CONVERT_EXPR>: Do not take alignment issues
+ into account on non strict-alignment platforms.
+
+2008-01-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils.c (aggregate_type_contains_array_p): New predicate.
+ (create_field_decl): In a packed record, force byte alignment
+ for fields without specified position that contain an array.
+
+2008-01-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils.c (unchecked_convert): Fold the VIEW_CONVERT_EXPR expression.
+
+2008-01-10 John David Anglin <dave.anglin.@nrc-cnrc.gc.ca>
+
+ PR ada/34466
+ * s-osinte-linux-hppa.ads (SC_NPROCESSORS_ONLN): New constant for
+ sysconf call.
+ (bit_field): New packed boolean type used by cpu_set_t.
+ (cpu_set_t): New type corresponding to the C type with
+ the same name. Note that on the Ada side we use a bit
+ field array for the affinity mask. There is not need
+ for the C macro for setting individual bit.
+ (pthread_setaffinity_np): New imported routine.
+
+2008-01-03 Tero Koskinen <tero.koskinen@iki.fi>
+
+ PR ada/34647
+ * adaint.c (__gnat_open_new_temp, __gnat_tmp_name): Use mkstemp()
+ on OpenBSD as is done on other BSD systems.
+
+ PR ada/34645
+ * sysdep.c (__gnat_ttyname, getc_immediate_nowait,
+ getc_immediate_common): Treat OpenBSD as FreeBSD regarding immediate
+ I/O.
+
+ PR ada/34644
+ * env.c (__gnat_clearenv): Treat OpenBSD as other BSD systems missing
+ clearenv().
+
+ PR ada/34646
+ * init.c (__gnat_error_handler, __gnat_install_handler,
+ __gnat_init_float): Define for OpenBSD.
+
+ * initialize.c (__gnat_initialize): Define for OpenBSD.
+
+
+
+Copyright (C) 2008 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.