aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/ada/ChangeLog-2008
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/ada/ChangeLog-2008')
-rw-r--r--gcc-4.9/gcc/ada/ChangeLog-20087464
1 files changed, 7464 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/ada/ChangeLog-2008 b/gcc-4.9/gcc/ada/ChangeLog-2008
new file mode 100644
index 000000000..4e34213ea
--- /dev/null
+++ b/gcc-4.9/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.