]> git.pld-linux.org Git - packages/crossppc-gcc.git/commitdiff
- fixes auto/th/gcc-4_4_0-2
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Fri, 24 Apr 2009 13:17:55 +0000 (13:17 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    gcc-branch.diff -> 1.11

gcc-branch.diff [new file with mode: 0644]

diff --git a/gcc-branch.diff b/gcc-branch.diff
new file mode 100644 (file)
index 0000000..964a59e
--- /dev/null
@@ -0,0 +1,101588 @@
+Index: gcc/ira-conflicts.c
+===================================================================
+--- gcc/ira-conflicts.c        (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/ira-conflicts.c        (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -411,9 +411,9 @@
+     /* Can not be tied.  It is not in the cover class.  */
+     return false;
+   if (HARD_REGISTER_P (reg1))
+-    cost = ira_register_move_cost[mode][cover_class][rclass] * freq;
++    cost = ira_get_register_move_cost (mode, cover_class, rclass) * freq;
+   else
+-    cost = ira_register_move_cost[mode][rclass][cover_class] * freq;
++    cost = ira_get_register_move_cost (mode, rclass, cover_class) * freq;
+   for (;;)
+     {
+       ira_allocate_and_set_costs
+Index: gcc/DATESTAMP
+===================================================================
+--- gcc/DATESTAMP      (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/DATESTAMP      (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1 +1 @@
+-20090421
++20090424
+Index: gcc/fold-const.c
+===================================================================
+--- gcc/fold-const.c   (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/fold-const.c   (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -5293,31 +5293,34 @@
+       break;
+       case GT_EXPR:
+-      /* If C1 is C2 - 1, this is max(A, C2).  */
++      /* If C1 is C2 - 1, this is max(A, C2), but use ARG00's type for
++         MAX_EXPR, to preserve the signedness of the comparison.  */
+       if (! operand_equal_p (arg2, TYPE_MIN_VALUE (type),
+                              OEP_ONLY_CONST)
+           && operand_equal_p (arg01,
+                               const_binop (MINUS_EXPR, arg2,
+                                            build_int_cst (type, 1), 0),
+                               OEP_ONLY_CONST))
+-        return pedantic_non_lvalue (fold_build2 (MAX_EXPR,
+-                                                 type,
+-                                                 fold_convert (type, arg1),
+-                                                 arg2));
++        return pedantic_non_lvalue (fold_convert (type,
++                                    fold_build2 (MAX_EXPR, TREE_TYPE (arg00),
++                                                 arg00,
++                                                 fold_convert (TREE_TYPE (arg00),
++                                                               arg2))));
+       break;
+       case GE_EXPR:
+-      /* If C1 is C2 + 1, this is max(A, C2).  */
++      /* If C1 is C2 + 1, this is max(A, C2), with the same care as above.  */
+       if (! operand_equal_p (arg2, TYPE_MAX_VALUE (type),
+                              OEP_ONLY_CONST)
+           && operand_equal_p (arg01,
+                               const_binop (PLUS_EXPR, arg2,
+                                            build_int_cst (type, 1), 0),
+                               OEP_ONLY_CONST))
+-        return pedantic_non_lvalue (fold_build2 (MAX_EXPR,
+-                                                 type,
+-                                                 fold_convert (type, arg1),
+-                                                 arg2));
++        return pedantic_non_lvalue (fold_convert (type,
++                                    fold_build2 (MAX_EXPR, TREE_TYPE (arg00),
++                                                 arg00,
++                                                 fold_convert (TREE_TYPE (arg00),
++                                                               arg2))));
+       break;
+       case NE_EXPR:
+       break;
+@@ -11861,7 +11864,8 @@
+             if (code == LROTATE_EXPR || code == RROTATE_EXPR)
+               low = low % TYPE_PRECISION (type);
+             else if (TYPE_UNSIGNED (type) || code == LSHIFT_EXPR)
+-              return build_int_cst (type, 0);
++              return omit_one_operand (type, build_int_cst (type, 0),
++                                       TREE_OPERAND (arg0, 0));
+             else
+               low = TYPE_PRECISION (type) - 1;
+           }
+Index: gcc/DEV-PHASE
+===================================================================
+--- gcc/DEV-PHASE      (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/DEV-PHASE      (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -0,0 +1 @@
++prerelease
+Index: gcc/ChangeLog
+===================================================================
+--- gcc/ChangeLog      (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/ChangeLog      (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,3 +1,98 @@
++2009-04-24  Paolo Bonzini  <bonzini@gnu.org>
++
++      PR middle-end/39867
++      * fold-const.c (fold_cond_expr_with_comparison): When folding
++      > and >= to MAX, make sure the MAX uses the same type as the
++      comparison's operands.
++
++2009-04-23  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
++
++      * config/spu/spu-builtins.h: Delete file.
++
++      * config/spu/spu.h (enum spu_builtin_type): Move here from
++      spu-builtins.h.
++      (struct spu_builtin_description): Likewise.  Add GTY marker.
++      Do not use enum spu_function_code or enum insn_code.
++      (spu_builtins): Add extern declaration.
++
++      * config/spu/spu.c: Do not include "spu-builtins.h".
++      (enum spu_function_code, enum spu_builtin_type_index,
++      V16QI_type_node, V8HI_type_node, V4SI_type_node, V2DI_type_node,
++      V4SF_type_node, V2DF_type_node, unsigned_V16QI_type_node,
++      unsigned_V8HI_type_node, unsigned_V4SI_type_node,
++      unsigned_V2DI_type_node): Move here from spu-builtins.h.
++      (spu_builtin_types): Make static.  Add GTY marker.
++      (spu_builtins): Add extern declaration with GTY marker.
++      Include "gt-spu.h".
++
++      * config/spu/spu-c.c: Do not include "spu-builtins.h".
++      (spu_resolve_overloaded_builtin): Do not use spu_function_code.
++      Check programmatically whether all parameters are scalar.
++
++      * config/spu/t-spu-elf (spu.o, spu-c.o): Update dependencies.
++
++2009-04-22  Jing Yu  <jingyu@google.com>
++
++      PR testsuite/39781
++      * config/arm/arm.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
++
++2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
++
++      Backport from mainline:
++      2009-04-17  Eric Botcazou  <ebotcazou@adacore.com>
++      * dbxout.c (dbxout_block): Reinstate test on TREE_USED.
++      * tree-ssa-live.c (remove_unused_scope_block_p): Update TREE_USED bit.
++
++2009-04-22  Jakub Jelinek  <jakub@redhat.com>
++
++      * alias.c (find_base_term): Move around LO_SUM case, so that
++      CONST falls through into PLUS/MINUS handling.
++
++      PR c/39855
++      * fold-const.c (fold_binary) <case LSHIFT_EXPR>: When optimizing
++      into 0, use omit_one_operand.
++
++2009-04-22  Vladimir Makarov  <vmakarov@redhat.com>
++
++      PR rtl-optimization/39762
++      * ira-int.h (ira_register_move_cost, ira_may_move_in_cost,
++      ira_may_move_out_cost): Add comments about way of their usage.
++      (ira_get_register_move_cost, ira_get_may_move_cost): New functions.
++
++      * ira-conflicts.c (process_regs_for_copy): Use function
++      ira_get_register_move_cost instead of global
++      ira_register_move_cost.
++
++      * ira-color.c (update_copy_costs, calculate_allocno_spill_cost,
++      color_pass, move_spill_restore, update_curr_costs): Ditto.
++
++      * ira-lives.c (process_single_reg_class_operands): Ditto.
++
++      * ira-emit.c (emit_move_list): Ditto.
++
++      * ira-costs.c (copy_cost): Don't call ira_init_register_move_cost.
++      (record_reg_classes): Ditto.  Use functions
++      ira_get_register_move_cost and ira_get_may_move_cost instead of
++      global vars ira_register_move_cost, ira_may_move_out_cost and
++      ira_may_move_in_cost.
++      (record_address_regs): Don't call ira_init_register_move_cost.
++      Use function ira_get_may_move_cost instead of global
++      ira_may_move_in_cost.
++      (process_bb_node_for_hard_reg_moves): Use function
++      ira_get_register_move_cost instead of global ira_register_move_cost.
++      (ira_costs): Don't call ira_init_register_move_cost.
++
++2009-04-22  Richard Guenther  <rguenther@suse.de>
++
++      PR tree-optimization/39824
++      * tree-ssa-ccp.c (fold_const_aggregate_ref): For INDIRECT_REFs
++      make sure the types are compatible.
++
++2009-04-21  Jakub Jelinek  <jakub@redhat.com>
++
++      * BASE-VER: Set to 4.4.1.
++      * DEV-PHASE: Set to prerelease.
++
+ 2009-04-21  Release Manager
+       * GCC 4.4.0 released.
+Index: gcc/testsuite/gcc.c-torture/compile/pr39824.c
+===================================================================
+--- gcc/testsuite/gcc.c-torture/compile/pr39824.c      (.../tags/gcc_4_4_0_release)    (wersja 0)
++++ gcc/testsuite/gcc.c-torture/compile/pr39824.c      (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -0,0 +1,26 @@
++static const double internalEndianMagic = 7.949928895127363e-275;
++static const unsigned char ieee_754_mantissa_mask[] = { 0x00, 0x0F, 0xFF, 0xFF,
++    0xFF, 0xFF, 0xFF, 0xFF };
++static inline int 
++trio_isnan (double number)
++{
++  int has_mantissa = 0;
++  unsigned int i;
++  unsigned char current;
++  for (i = 0; i < (unsigned int)sizeof(double); i++)
++    {
++      current = ((unsigned char *)&number)[(((unsigned char
++                                            *)&internalEndianMagic)[7-(i)])];
++      has_mantissa |= (current & ieee_754_mantissa_mask[i]);
++    }
++  return has_mantissa;
++}
++void
++xmlXPathEqualNodeSetFloat(int nodeNr, double v)
++{
++  int i;
++  for (i=0; i<nodeNr; i++)
++    if (!trio_isnan(v))
++      break;
++}
++
+Index: gcc/testsuite/gcc.c-torture/compile/pr39845.c
+===================================================================
+--- gcc/testsuite/gcc.c-torture/compile/pr39845.c      (.../tags/gcc_4_4_0_release)    (wersja 0)
++++ gcc/testsuite/gcc.c-torture/compile/pr39845.c      (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -0,0 +1,43 @@
++typedef union tree_node *tree;
++enum tree_code { EXCESS_PRECISION_EXPR };
++enum built_in_function { BUILT_IN_ACOS, BUILT_IN_FPCLASSIFY, BUILT_IN_ISFINITE };
++struct tree_base {
++    __extension__ enum tree_code code : 16;
++    unsigned side_effects_flag : 1;
++};
++struct tree_exp {
++    tree     operands[1];
++};
++struct tree_function_decl {
++    __extension__ enum built_in_function function_code : 11;
++    unsigned static_ctor_flag : 1;
++};
++union tree_node {
++    struct tree_base base;
++    struct tree_function_decl function_decl;
++    struct tree_exp exp;
++};
++static tree
++convert_arguments (tree fundecl)
++{
++  tree val = (void *)0;
++  unsigned int parmnum;
++  unsigned char type_generic_remove_excess_precision = 0;
++  switch (((fundecl)->function_decl.function_code))
++    {
++      case BUILT_IN_ISFINITE:
++      case BUILT_IN_FPCLASSIFY:
++        type_generic_remove_excess_precision = 1;
++    }
++  for (parmnum = 0;; ++parmnum)
++    if (((enum tree_code) (val)->base.code) == EXCESS_PRECISION_EXPR
++      && !type_generic_remove_excess_precision)
++      val = ((val)->exp.operands[0]);
++  return val;
++}
++tree
++build_function_call_vec (tree function)
++{
++  return convert_arguments (function);
++}
++
+Index: gcc/testsuite/gnat.dg/enum2_pkg.ads
+===================================================================
+--- gcc/testsuite/gnat.dg/enum2_pkg.ads        (.../tags/gcc_4_4_0_release)    (wersja 0)
++++ gcc/testsuite/gnat.dg/enum2_pkg.ads        (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -0,0 +1,8 @@
++with Ada.Finalization; use Ada.Finalization;
++
++package Enum2_Pkg is
++  type F_String is new Controlled with record
++    Data : access String;
++  end record;
++  Null_String : constant F_String := (Controlled with Data => null);
++end Enum2_Pkg;
+Index: gcc/testsuite/gnat.dg/enum2.adb
+===================================================================
+--- gcc/testsuite/gnat.dg/enum2.adb    (.../tags/gcc_4_4_0_release)    (wersja 0)
++++ gcc/testsuite/gnat.dg/enum2.adb    (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -0,0 +1,11 @@
++-- { dg-do run }
++-- { dg-options "-gnat05 -O2" }
++
++with Enum2_Pkg; use Enum2_Pkg;
++
++procedure Enum2 is
++  type Enum is (A, B, C, D);
++  Table : array (B .. C, 1 .. 1) of F_String := (others => (others => Null_String));
++begin
++  Table := (others => (others => Null_String));
++end;
+Index: gcc/testsuite/gcc.dg/torture/pr39855.c
+===================================================================
+--- gcc/testsuite/gcc.dg/torture/pr39855.c     (.../tags/gcc_4_4_0_release)    (wersja 0)
++++ gcc/testsuite/gcc.dg/torture/pr39855.c     (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -0,0 +1,24 @@
++/* PR c/39855 */
++/* { dg-do run { target { int32plus } } } */
++
++extern void abort (void);
++
++int i, j, k;
++
++int
++foo (void)
++{
++  return ++i;
++}
++
++int
++main ()
++{
++  if (__CHAR_BIT__ != 8 || sizeof (int) != 4)
++    return 0;
++  j = foo () << 30 << 2;
++  k = (unsigned) foo () >> 16 >> 16;
++  if (i != 2 || j != 0 || k != 0)
++    abort ();
++  return 0;
++}
+Index: gcc/testsuite/gcc.dg/torture/pr39829.c
+===================================================================
+--- gcc/testsuite/gcc.dg/torture/pr39829.c     (.../tags/gcc_4_4_0_release)    (wersja 0)
++++ gcc/testsuite/gcc.dg/torture/pr39829.c     (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -0,0 +1,27 @@
++/* { dg-do compile } */
++/* { dg-options "-w" } */
++
++void foo (void * DAG_temp117584)
++{
++  char  uA;
++  void* pA;
++  void* pB;
++  void* pC;
++  do {
++      int DAG_temp117585;
++      int DAG_temp117586;
++      void ** __indir_union1 = (void**)DAG_temp117584;
++      DAG_temp117585 = (long)*__indir_union1;
++      DAG_temp117586 = DAG_temp117585;
++      if ( DAG_temp117586 != (int)268435456 )
++      pA = (void*)&uA;
++      pB = (void*)&pA;
++      pC = pB;
++      union __block_indir0_u {  struct {  long val; }  __indir_struct; }
++      * __indir_union = (union __block_indir0_u*)pC;
++      f(__indir_union->__indir_struct.val);
++
++      DAG_temp117584 += 64;
++  } while (1);
++}
++
+Index: gcc/testsuite/gcc.dg/pr39867.c
+===================================================================
+--- gcc/testsuite/gcc.dg/pr39867.c     (.../tags/gcc_4_4_0_release)    (wersja 0)
++++ gcc/testsuite/gcc.dg/pr39867.c     (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -0,0 +1,12 @@
++/* { dg-do link } */
++/* { dg-options "-O2" } */
++
++int main (void)
++{
++  int exp = -1;
++  /* Wrong folding of the LHS to an unsigned MAX leads to 4294967295 != 2.  */
++  if ((exp < 2 ? 2U : (unsigned int) exp) != 2)
++    link_error ();
++  return 0;
++}
++
+Index: gcc/testsuite/ChangeLog
+===================================================================
+--- gcc/testsuite/ChangeLog    (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/ChangeLog    (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,3 +1,110 @@
++2009-04-24  Paolo Bonzini  <bonzini@gnu.org>
++
++      PR middle-end/39867
++      * gcc.dg/pr39867.c: New.
++
++2009-04-23  Dodji Seketeli  <dodji@redhat.com>
++
++      PR c++/38228
++      * g++.dg/expr/bound-mem-fun.C: New test.
++
++2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * gnat.dg/enum2.adb: New test.
++      * gnat.dg/enum2_pkg.ads: New helper.
++
++2009-04-22  Jakub Jelinek  <jakub@redhat.com>
++
++      PR c/39855
++      * gcc.dg/torture/pr39855.c: New test.
++
++2009-04-22  Richard Guenther  <rguenther@suse.de>
++
++      PR tree-optimization/39824
++      * gcc.c-torture/compile/pr39824.c: New testcase.
++
++2009-04-22  Dodji Seketeli  <dodji@redhat.com>
++
++      PR c++/39639
++      * g++.dg/cpp0x/pr39639.C: New test.
++
++2009-04-22  H.J. Lu  <hongjiu.lu@intel.com>
++
++      Backport from mainline:
++      2009-04-22  Richard Guenther  <rguenther@suse.de>
++
++      PR tree-optimization/39845
++      * gcc.c-torture/compile/pr39845.c: New testcase.
++
++      2009-04-21  Richard Guenther  <rguenther@suse.de>
++
++      PR middle-end/39829
++      * gcc.dg/torture/pr39829.c: New testcase.
++
++2009-04-12  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
++
++      Backport from mainline:
++
++      2009-04-17  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
++
++      * gfortran.fortran-torture/execute/getarg_1.x: New file.
++
++      2009-04-17  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
++
++      * gfortran.dg/vect/pr39318.f90: Guard with "target fopenmp".
++
++      2009-04-17  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
++
++      * gfortran.dg/chmod_1.f90: Disable on spu-*-* targets.
++      * gfortran.dg/chmod_2.f90: Likewise.
++      * gfortran.dg/chmod_3.f90: Likewise.
++      * gfortran.dg/open_errors.f90: Likewise.
++      * gfortran.dg/stat_1.f90: Likewise.
++      * gfortran.dg/stat_2.f90: Likewise.
++
++      2009-04-17  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
++
++      * gfortran.fortran-torture/execute/nan_inf_fmt.x: Skip on spu-*-*.
++      * gfortran.fortran-torture/execute/intrinsic_nearest.x: Likewise.
++      * gfortran.fortran-torture/execute/intrinsic_set_exponent.x: Likewise.
++      * gfortran.dg/nearest_1.f90: Likewise.
++      * gfortran.dg/nearest_3.f90: Likewise.
++      * gfortran.dg/isnan_1.f90: Likewise.
++      * gfortran.dg/isnan_2.f90: Likewise.
++      * gfortran.dg/nan_1.f90: Likewise.
++      * gfortran.dg/nan_2.f90: Likewise.
++      * gfortran.dg/nan_3.f90: Likewise.
++      * gfortran.dg/nan_4.f90: Likewise.
++      * gfortran.dg/module_nan.f90: Likewise.
++      * gfortran.dg/int_conv_2.f90: Likewise.
++      * gfortran.dg/init_flag_3.f90: Likewise.
++      * gfortran.dg/namelist_42.f90: Likewise.
++      * gfortran.dg/namelist_43.f90: Likewise.
++      * gfortran.dg/real_const_3.f90: Likewise.
++      * gfortran.dg/transfer_simplify_1.f90: Likewise.
++
++      * gfortran.dg/default_format_1.f90: XFAIL on spu-*-*.
++      * gfortran.dg/default_format_denormal_1.f90: XFAIL on spu-*-*.
++      * gfortran.dg/scalar_mask_2.f90: XFAIL on spu-*-*.
++      * gfortran.dg/integer_exponentiation_3.F90: XFAIL on spu-*-*.
++      * gfortran.dg/integer_exponentiation_5.F90: XFAIL on spu-*-*.
++
++      * gfortran.dg/elemental_subroutine_1.f90: Relax "epsilon" check.
++      * gfortran.dg/gamma_5.f90: Likewise.
++
++      2009-04-17  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
++
++      * lib/gcc-dg.exp (gcc-dg-prune): Make linker message check
++      less strict so it also works with auto-overlay support.
++      * lib/gcc-defs.exp (${tool}_check_unsupported_p): Add check
++      for "exceeds local store" linker errors on the SPU.
++
++      * lib/gfortran.exp: Include target-supports.exp.
++      (gfortran_init): On SPU targets where automatic overlay support
++      is available, use it to build all Fortran test cases.
++
++      * gfortran.dg/pr20257.f90: Skip on spu-*-* targets.
++
+ 2009-04-21  Release Manager
+       * GCC 4.4.0 released.
+Index: gcc/testsuite/gfortran.fortran-torture/execute/getarg_1.x
+===================================================================
+--- gcc/testsuite/gfortran.fortran-torture/execute/getarg_1.x  (.../tags/gcc_4_4_0_release)    (wersja 0)
++++ gcc/testsuite/gfortran.fortran-torture/execute/getarg_1.x  (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -0,0 +1,5 @@
++if [istarget "spu-*-*"] {
++    # We need -mstdmain to enable argument processing on SPU.
++    lappend additional_flags "-mstdmain"
++}
++return 0
+Index: gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_nearest.x
+===================================================================
+--- gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_nearest.x (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_nearest.x (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,2 +1,6 @@
++if [istarget "spu-*-*"] {
++    # No Inf/NaN support on SPU.
++    return 1
++}
+ add-ieee-options
+ return 0
+Index: gcc/testsuite/gfortran.fortran-torture/execute/nan_inf_fmt.x
+===================================================================
+--- gcc/testsuite/gfortran.fortran-torture/execute/nan_inf_fmt.x       (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.fortran-torture/execute/nan_inf_fmt.x       (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,2 +1,6 @@
++if [istarget "spu-*-*"] {
++    # No Inf/NaN support on SPU.
++    return 1
++}
+ add-ieee-options
+ return 0
+Index: gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_set_exponent.x
+===================================================================
+--- gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_set_exponent.x    (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_set_exponent.x    (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,2 +1,6 @@
++if [istarget "spu-*-*"] {
++    # No denormal support on SPU.
++    return 1
++}
+ add-ieee-options
+ return 0
+Index: gcc/testsuite/g++.dg/expr/bound-mem-fun.C
+===================================================================
+--- gcc/testsuite/g++.dg/expr/bound-mem-fun.C  (.../tags/gcc_4_4_0_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/expr/bound-mem-fun.C  (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -0,0 +1,18 @@
++// Contributed by Dodji Seketeli <dodji@redhat.com>
++// Origin PR c++/38228
++// { dg-do "compile" }
++
++struct A
++{
++  A ();
++  template<typename T> A(T);
++};
++
++struct B
++{
++  int foo();
++};
++
++A a = B().*(&B::foo); // { dg-error "invalid use of non-static member function" }
++
++
+Index: gcc/testsuite/g++.dg/cpp0x/pr39639.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/pr39639.C       (.../tags/gcc_4_4_0_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/pr39639.C       (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -0,0 +1,20 @@
++// Contributed by Dodji Seketeli <dodji@redhat.com>
++// Origin: PR c++/39639
++// { dg-options "-std=c++0x" }
++// { dg-do "compile" }
++
++template <class... Types>
++struct S
++  : S<...Types>, // { dg-error "expected parameter pack before '...'" }
++    S<...Types...>, // { dg-error "expected parameter pack before '...'" }
++    S<...> // { dg-error "expected parameter pack before '...'" }
++{
++  static int f () { return 1;}
++};
++
++int
++main ()
++{
++  return S<void>::f ();
++}
++
+Index: gcc/testsuite/lib/gcc-dg.exp
+===================================================================
+--- gcc/testsuite/lib/gcc-dg.exp       (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/lib/gcc-dg.exp       (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -186,7 +186,7 @@
+     # Likewise, if we see ".text exceeds local store range" or
+     # similar.
+     if {[string match "spu-*" $system] && \
+-          [string match "*exceeds local store range*" $text]} {
++          [string match "*exceeds local store*" $text]} {
+       # The format here is important.  See dg.exp.
+       return "::unsupported::memory full"
+     }
+Index: gcc/testsuite/lib/gcc-defs.exp
+===================================================================
+--- gcc/testsuite/lib/gcc-defs.exp     (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/lib/gcc-defs.exp     (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -155,6 +155,10 @@
+     if [regexp "(^|\n)\[^\n\]*: region \[^\n\]* is full" $output] {
+       return "memory full"
+     }
++    if {[istarget spu-*-*] && \
++            [string match "*exceeds local store*" $output]} {
++      return "memory full"
++    }
+     return ""
+ }
+Index: gcc/testsuite/lib/gfortran.exp
+===================================================================
+--- gcc/testsuite/lib/gfortran.exp     (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/lib/gfortran.exp     (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -27,6 +27,7 @@
+ load_lib gcc-defs.exp
+ load_lib timeout.exp
+ load_lib target-libpath.exp
++load_lib target-supports.exp
+ #
+ # GFORTRAN_UNDER_TEST is the compiler under test.
+@@ -177,6 +178,13 @@
+       lappend ALWAYS_GFORTRANFLAGS "additional_flags=$TOOL_OPTIONS"
+     }
++    # On the SPU, most of the fortran test cases exceed local store size.
++    # Use automatic overlay support to make them fit.
++    if { [check_effective_target_spu_auto_overlay] } {
++      lappend ALWAYS_GFORTRANFLAGS "ldflags=-Wl,--auto-overlay"
++      lappend ALWAYS_GFORTRANFLAGS "ldflags=-Wl,--reserved-space=131072"
++    }
++
+     verbose -log "ALWAYS_GFORTRANFLAGS set to $ALWAYS_GFORTRANFLAGS"
+     verbose "gfortran is initialized" 3
+Index: gcc/testsuite/gfortran.dg/nearest_1.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/nearest_1.f90    (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/nearest_1.f90    (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,6 +1,7 @@
+ ! { dg-do run }
+ ! { dg-options "-O0 -ffloat-store" }
+ ! { dg-options "-O0 -ffloat-store -mieee" { target alpha*-*-* } }
++! { dg-skip-if "Denormals not supported" { spu-*-* } { "*" } { "" } }
+ ! PR fortran/27021
+ ! Original code submitted by Dominique d'Humieres
+ ! Converted to Dejagnu for the testsuite by Steven G. Kargl
+Index: gcc/testsuite/gfortran.dg/nearest_3.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/nearest_3.f90    (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/nearest_3.f90    (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,5 +1,6 @@
+ ! { dg-do run }
+ ! { dg-options "-pedantic-errors -mieee" { target alpha*-*-* sh*-*-* } } 
++! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
+ !
+ ! PR fortran/34209
+ !
+Index: gcc/testsuite/gfortran.dg/namelist_42.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/namelist_42.f90  (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/namelist_42.f90  (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,5 +1,6 @@
+ ! { dg-do run { target fd_truncate } }
+ ! { dg-options "-mieee" { target alpha*-*-* sh*-*-* } }
++! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
+ !
+ ! PR fortran/34427
+ !
+Index: gcc/testsuite/gfortran.dg/module_nan.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/module_nan.f90   (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/module_nan.f90   (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,6 +1,7 @@
+ ! { dg-do run }
+ ! { dg-options "-fno-range-check" }
+ ! { dg-options "-fno-range-check -mieee" { target alpha*-*-* sh*-*-* } }
++! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
+ !
+ ! PR fortran/34318
+ !
+Index: gcc/testsuite/gfortran.dg/nan_2.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/nan_2.f90        (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/nan_2.f90        (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,6 +1,7 @@
+ ! { dg-do run }
+ ! { dg-options "-fno-range-check -pedantic" }
+ ! { dg-options "-fno-range-check -pedantic -mieee" { target alpha*-*-* sh*-*-* } }
++! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
+ !
+ ! PR fortran/34333
+ !
+Index: gcc/testsuite/gfortran.dg/init_flag_3.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/init_flag_3.f90  (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/init_flag_3.f90  (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,6 +1,7 @@
+ ! { dg-do run }
+ ! { dg-options "-finit-integer=-1 -finit-logical=false -finit-real=nan" }
+ ! { dg-options "-finit-integer=-1 -finit-logical=false -finit-real=nan -mieee" { target alpha*-*-* sh*-*-* } }
++! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
+ program init_flag_3
+   call real_test
+Index: gcc/testsuite/gfortran.dg/isnan_1.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/isnan_1.f90      (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/isnan_1.f90      (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -2,6 +2,7 @@
+ !
+ ! { dg-do run }
+ ! { dg-options "-pedantic-errors -mieee" { target alpha*-*-* sh*-*-* } }
++! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
+ !
+   implicit none
+   real :: x
+Index: gcc/testsuite/gfortran.dg/nan_4.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/nan_4.f90        (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/nan_4.f90        (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,6 +1,7 @@
+ ! { dg-do compile }
+ ! { dg-options "-std=gnu" } 
+ ! { dg-options "-std=gnu -mieee" { target alpha*-*-* sh*-*-* } } 
++! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
+ !
+ ! PR fortran/34398.
+ !
+Index: gcc/testsuite/gfortran.dg/chmod_2.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/chmod_2.f90      (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/chmod_2.f90      (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,4 +1,4 @@
+-! { dg-do run { target { ! *-*-mingw* } } }
++! { dg-do run { target { ! { *-*-mingw* spu-*-* } } } }
+ ! { dg-options "-std=gnu" }
+   implicit none
+   character(len=*), parameter :: n = "foobar_file"
+Index: gcc/testsuite/gfortran.dg/default_format_1.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/default_format_1.f90     (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/default_format_1.f90     (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,4 +1,4 @@
+-! { dg-do run }
++! { dg-do run { xfail spu-*-* } }
+ ! Test XFAILed on Darwin because the system's printf() lacks
+ ! proper support for denormals.
+ !
+Index: gcc/testsuite/gfortran.dg/int_conv_2.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/int_conv_2.f90   (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/int_conv_2.f90   (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,4 +1,5 @@
+ ! { dg-do compile }
++! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
+ ! PR fortran/37930
+ program test
+   implicit none
+Index: gcc/testsuite/gfortran.dg/open_errors.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/open_errors.f90  (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/open_errors.f90  (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,4 +1,4 @@
+-! { dg-do run { target { ! *-*-mingw* } } }
++! { dg-do run { target { ! { *-*-mingw* spu-*-* } } } }
+ ! PR30005 Enhanced error messages for OPEN
+ ! Submitted by Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+ character(60) :: msg
+Index: gcc/testsuite/gfortran.dg/scalar_mask_2.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/scalar_mask_2.f90        (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/scalar_mask_2.f90        (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,4 +1,5 @@
+-! { dg-do run }
++! { dg-do run { xfail spu-*-* } }
++! FAILs on SPU because of rounding error reading kinds.h
+ program main
+   ! Test scalar masks for different intrinsics.
+   real, dimension(2,2) :: a
+Index: gcc/testsuite/gfortran.dg/stat_2.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/stat_2.f90       (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/stat_2.f90       (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,5 +1,5 @@
+ ! { dg-do run { target fd_truncate } }
+-! { dg-skip-if "" { *-*-mingw* } { "*" } { "" } }
++! { dg-skip-if "" { *-*-mingw* spu-*-* } { "*" } { "" } }
+ ! { dg-options "-std=gnu" }
+   character(len=*), parameter :: f = "testfile"
+   integer :: s1(13), r1, s2(13), r2, s3(13), r3
+Index: gcc/testsuite/gfortran.dg/pr20257.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/pr20257.f90      (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/pr20257.f90      (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,4 +1,5 @@
+ ! { dg-do run { target fd_truncate } }
++! { dg-skip-if "Too big for local store" { spu-*-* } { "*" } { "" } }
+   integer,parameter :: n = 10000
+   real(8) array(10000)
+Index: gcc/testsuite/gfortran.dg/default_format_denormal_1.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/default_format_denormal_1.f90    (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/default_format_denormal_1.f90    (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,4 +1,4 @@
+-! { dg-do run { xfail alpha*-*-* *-*-darwin[89]* *-*-freebsd* *-*-mingw* } }
++! { dg-do run { xfail alpha*-*-* *-*-darwin[89]* *-*-freebsd* *-*-mingw* spu-*-* } }
+ ! Test XFAILed on these platforms because the system's printf() lacks
+ ! proper support for denormals.
+ !
+Index: gcc/testsuite/gfortran.dg/nan_1.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/nan_1.f90        (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/nan_1.f90        (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -3,6 +3,7 @@
+ !
+ ! { dg-do run }
+ ! { dg-options "-pedantic-errors -mieee" { target alpha*-*-* sh*-*-* } } 
++! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
+ !
+ module aux2
+   interface isnan
+Index: gcc/testsuite/gfortran.dg/gamma_5.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/gamma_5.f90      (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/gamma_5.f90      (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -21,7 +21,7 @@
+      xd = n + 0.5d0
+      td = c(n)*sqrt(pi)
+      ts = c(n)*sqrt(pi)
+-     if (abs(gamma(xs)-ts)/ts > 3e-6) call abort
++     if (abs(gamma(xs)-ts)/ts > 9e-6) call abort
+      if (abs(gamma(xd)-td)/td > 5e-14) call abort
+   end do
+   call tst_s(2.3, gamma(2.3))
+Index: gcc/testsuite/gfortran.dg/namelist_43.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/namelist_43.f90  (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/namelist_43.f90  (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,5 +1,6 @@
+ ! { dg-do run { target fd_truncate } }
+ ! { dg-options "-mieee" { target alpha*-*-* sh*-*-* } }
++! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
+ !
+ ! PR fortran/34427
+ !
+Index: gcc/testsuite/gfortran.dg/transfer_simplify_1.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/transfer_simplify_1.f90  (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/transfer_simplify_1.f90  (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,5 +1,6 @@
+ ! { dg-do run }
+ ! { dg-options "-O2" }
++! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
+ ! Tests that the PRs caused by the lack of gfc_simplify_transfer are
+ ! now fixed. These were brought together in the meta-bug PR31237
+ ! (TRANSFER intrinsic).
+Index: gcc/testsuite/gfortran.dg/nan_3.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/nan_3.f90        (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/nan_3.f90        (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,6 +1,7 @@
+ ! { dg-do run }
+ ! { dg-options "-fno-range-check" }
+ ! { dg-options "-fno-range-check -mieee" { target alpha*-*-* sh*-*-* } }
++! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
+ !
+ ! PR fortran/34319
+ !
+Index: gcc/testsuite/gfortran.dg/chmod_1.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/chmod_1.f90      (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/chmod_1.f90      (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,4 +1,4 @@
+-! { dg-do run { target { ! *-*-mingw* } } }
++! { dg-do run { target { ! { *-*-mingw* spu-*-* } } } }
+ ! { dg-options "-std=gnu" }
+   implicit none
+   character(len=*), parameter :: n = "foobar_file"
+Index: gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90
+===================================================================
+--- gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90     (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90     (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,4 +1,5 @@
+-! { dg-do run }
++! { dg-do run { xfail spu-*-* } }
++! FAILs on SPU because of wrong compile-time rounding mode
+ ! { dg-options "" }
+ module mod_check
+   implicit none
+Index: gcc/testsuite/gfortran.dg/elemental_subroutine_1.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/elemental_subroutine_1.f90       (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/elemental_subroutine_1.f90       (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -48,7 +48,7 @@
+ ! Test an expression in the INTENT(IN) argument
+   x = (/1.0, 2.0/)
+   call foobar (cos (x) + u, y)
+-  if (any(abs (y + cos (x) + u) .gt. 2.0e-6)) call abort ()
++  if (any(abs (y + cos (x) + u) .gt. 4.0e-6)) call abort ()
+ contains
+Index: gcc/testsuite/gfortran.dg/isnan_2.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/isnan_2.f90      (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/isnan_2.f90      (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -3,6 +3,7 @@
+ ! { dg-do run }
+ ! { dg-options "-fno-range-check" }
+ ! { dg-options "-fno-range-check -pedantic-errors -mieee" { target alpha*-*-* sh*-*-* } }
++! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
+ !
+   implicit none
+   character(len=1) :: s
+Index: gcc/testsuite/gfortran.dg/chmod_3.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/chmod_3.f90      (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/chmod_3.f90      (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,4 +1,4 @@
+-! { dg-do run { target { ! *-*-mingw* } } }
++! { dg-do run { target { ! { *-*-mingw* spu-*-* } } } }
+ ! { dg-options "-std=gnu -fdefault-integer-8" }
+   implicit none
+   character(len=*), parameter :: n = "foobar_file"
+Index: gcc/testsuite/gfortran.dg/integer_exponentiation_5.F90
+===================================================================
+--- gcc/testsuite/gfortran.dg/integer_exponentiation_5.F90     (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/integer_exponentiation_5.F90     (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,4 +1,5 @@
+-! { dg-do run }
++! { dg-do run { xfail spu-*-* } }
++! FAILs on SPU because of invalid result of 1.0/0.0 inline code
+ ! { dg-options "-fno-range-check" }
+ ! { dg-options "-fno-range-check -mieee" { target alpha*-*-* } } */
+ module mod_check
+Index: gcc/testsuite/gfortran.dg/stat_1.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/stat_1.f90       (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/stat_1.f90       (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,5 +1,5 @@
+ ! { dg-do run { target fd_truncate } }
+-! { dg-skip-if "" { *-*-mingw* } { "*" } { "" } }
++! { dg-skip-if "" { *-*-mingw* spu-*-* } { "*" } { "" } }
+ ! { dg-options "-std=gnu" }
+   character(len=*), parameter :: f = "testfile"
+   integer :: s1(13), r1, s2(13), r2, s3(13), r3
+Index: gcc/testsuite/gfortran.dg/real_const_3.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/real_const_3.f90 (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/real_const_3.f90 (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,6 +1,7 @@
+ !{ dg-do run }
+ !{ dg-options "-fno-range-check" }
+ !{ dg-options "-fno-range-check -mieee" { target alpha*-*-* sh*-*-* } }
++!{ dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
+ ! PR19310 and PR19904, allow disabling range check during compile.
+ ! Contributed by Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+ program main
+Index: gcc/testsuite/gfortran.dg/vect/pr39318.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/vect/pr39318.f90 (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/testsuite/gfortran.dg/vect/pr39318.f90 (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,4 +1,4 @@
+-! { dg-do compile } 
++! { dg-do compile { target fopenmp } } 
+ ! { dg-options "-c -fopenmp -fexceptions -O2 -ftree-vectorize" } 
+       subroutine adw_trajsp (F_u,i0,in,j0,jn)
+Index: gcc/cp/typeck.c
+===================================================================
+--- gcc/cp/typeck.c    (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/cp/typeck.c    (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1508,7 +1508,7 @@
+ bool
+ invalid_nonstatic_memfn_p (const_tree expr, tsubst_flags_t complain)
+ {
+-  if (DECL_NONSTATIC_MEMBER_FUNCTION_P (expr))
++  if (expr && DECL_NONSTATIC_MEMBER_FUNCTION_P (expr))
+     {
+       if (complain & tf_error)
+         error ("invalid use of non-static member function");
+Index: gcc/cp/call.c
+===================================================================
+--- gcc/cp/call.c      (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/cp/call.c      (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -4069,8 +4069,20 @@
+       default:
+         if ((flags & LOOKUP_COMPLAIN) && (complain & tf_error))
+           {
+-            op_error (code, code2, arg1, arg2, arg3, "no match");
+-            print_z_candidates (candidates);
++              /* If one of the arguments of the operator represents
++                 an invalid use of member function pointer, try to report
++                 a meaningful error ...  */
++              if (invalid_nonstatic_memfn_p (arg1, tf_error)
++                  || invalid_nonstatic_memfn_p (arg2, tf_error)
++                  || invalid_nonstatic_memfn_p (arg3, tf_error))
++                /* We displayed the error message.  */;
++              else
++                {
++                  /* ... Otherwise, report the more generic
++                     "no matching operator found" error */
++                  op_error (code, code2, arg1, arg2, arg3, "no match");
++                  print_z_candidates (candidates);
++                }
+           }
+         result = error_mark_node;
+         break;
+Index: gcc/cp/cvt.c
+===================================================================
+--- gcc/cp/cvt.c       (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/cp/cvt.c       (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -760,8 +760,15 @@
+     }
+   if (flags & LOOKUP_COMPLAIN)
+-    error ("conversion from %qT to non-scalar type %qT requested",
+-         TREE_TYPE (expr), type);
++    {
++      /* If the conversion failed and expr was an invalid use of pointer to
++       member function, try to report a meaningful error.  */
++      if (invalid_nonstatic_memfn_p (expr, tf_warning_or_error))
++      /* We displayed the error message.  */;
++      else
++      error ("conversion from %qT to non-scalar type %qT requested",
++             TREE_TYPE (expr), type);
++    }
+   return error_mark_node;
+ }
+Index: gcc/cp/ChangeLog
+===================================================================
+--- gcc/cp/ChangeLog   (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/cp/ChangeLog   (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,3 +1,22 @@
++2009-04-23  Dodji Seketeli  <dodji@redhat.com>
++
++      PR c++/38228
++      * pt.c (unify): Do not allow the result of a template argument
++      deduction to be a METHOD_TYPE.
++      * cvt.c (cp_convert): Report a meaningful error for non-valid use
++      of pointer to member functions during conversions.
++      * call.c (build_new_op): Report a meaningful error for non-valid
++      use of pointer to member functions in binary expressions.
++      * typeck.c (invalid_nonstatic_memfn_p): Do not crash when EXPR is
++      NULL;
++
++2009-04-22  Dodji Seketeli  <dodji@redhat.com>
++
++      PR c++/39639
++      * parser.c (cp_parser_template_argument_list): Display an error
++      when an ellipsis is not preceded by a parameter pack. Also, warn
++      about variadic templates usage without -std=c++0x.
++
+ 2009-04-21  Release Manager
+       * GCC 4.4.0 released.
+Index: gcc/cp/pt.c
+===================================================================
+--- gcc/cp/pt.c        (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/cp/pt.c        (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -13532,6 +13532,13 @@
+         && !template_parameter_pack_p (parm))
+       return 1;
++      /* If the argument deduction results is a METHOD_TYPE,
++         then there is a problem.
++         METHOD_TYPE doesn't map to any real C++ type the result of
++       the deduction can not be of that type.  */
++      if (TREE_CODE (arg) == METHOD_TYPE)
++      return 1;
++
+       TREE_VEC_ELT (INNERMOST_TEMPLATE_ARGS (targs), idx) = arg;
+       return 0;
+Index: gcc/cp/parser.c
+===================================================================
+--- gcc/cp/parser.c    (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/cp/parser.c    (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -10477,6 +10477,12 @@
+          argument pack. */
+       if (cp_lexer_next_token_is (parser->lexer, CPP_ELLIPSIS))
+         {
++        if (argument == error_mark_node)
++          {
++            cp_token *token = cp_lexer_peek_token (parser->lexer);
++            error ("%Hexpected parameter pack before %<...%>",
++                   &token->location);
++          }
+           /* Consume the `...' token. */
+           cp_lexer_consume_token (parser->lexer);
+Index: gcc/tree-ssa-ccp.c
+===================================================================
+--- gcc/tree-ssa-ccp.c (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/tree-ssa-ccp.c (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1290,7 +1290,9 @@
+       if (TREE_CODE (base) == SSA_NAME
+           && (value = get_value (base))
+           && value->lattice_val == CONSTANT
+-          && TREE_CODE (value->value) == ADDR_EXPR)
++          && TREE_CODE (value->value) == ADDR_EXPR
++          && useless_type_conversion_p (TREE_TYPE (t),
++                                        TREE_TYPE (TREE_TYPE (value->value))))
+         return fold_const_aggregate_ref (TREE_OPERAND (value->value, 0));
+       break;
+       }
+Index: gcc/dbxout.c
+===================================================================
+--- gcc/dbxout.c       (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/dbxout.c       (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -3593,7 +3593,7 @@
+   while (block)
+     {
+       /* Ignore blocks never expanded or otherwise marked as real.  */
+-      if (TREE_ASM_WRITTEN (block))
++      if (TREE_USED (block) && TREE_ASM_WRITTEN (block))
+       {
+         int did_output;
+         int blocknum = BLOCK_NUMBER (block);
+Index: gcc/ira-int.h
+===================================================================
+--- gcc/ira-int.h      (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/ira-int.h      (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -730,21 +730,24 @@
+ extern HARD_REG_SET ira_reg_mode_hard_regset
+                     [FIRST_PSEUDO_REGISTER][NUM_MACHINE_MODES];
+-/* Arrays analogous to macros MEMORY_MOVE_COST and
+-   REGISTER_MOVE_COST.  */
++/* Arrays analogous to macros MEMORY_MOVE_COST and REGISTER_MOVE_COST.
++   Don't use ira_register_move_cost directly.  Use function of
++   ira_get_may_move_cost instead.  */
+ extern short ira_memory_move_cost[MAX_MACHINE_MODE][N_REG_CLASSES][2];
+ extern move_table *ira_register_move_cost[MAX_MACHINE_MODE];
+ /* Similar to may_move_in_cost but it is calculated in IRA instead of
+    regclass.  Another difference we take only available hard registers
+    into account to figure out that one register class is a subset of
+-   the another one.  */
++   the another one.  Don't use it directly.  Use function of
++   ira_get_may_move_cost instead.  */
+ extern move_table *ira_may_move_in_cost[MAX_MACHINE_MODE];
+ /* Similar to may_move_out_cost but it is calculated in IRA instead of
+    regclass.  Another difference we take only available hard registers
+    into account to figure out that one register class is a subset of
+-   the another one.  */
++   the another one.  Don't use it directly.  Use function of
++   ira_get_may_move_cost instead.  */
+ extern move_table *ira_may_move_out_cost[MAX_MACHINE_MODE];
+ /* Register class subset relation: TRUE if the first class is a subset
+@@ -941,6 +944,34 @@
\f
++/* Return cost of moving value of MODE from register of class FROM to
++   register of class TO.  */
++static inline int
++ira_get_register_move_cost (enum machine_mode mode,
++                          enum reg_class from, enum reg_class to)
++{
++  if (ira_register_move_cost[mode] == NULL)
++    ira_init_register_move_cost (mode);
++  return ira_register_move_cost[mode][from][to];
++}
++
++/* Return cost of moving value of MODE from register of class FROM to
++   register of class TO.  Return zero if IN_P is true and FROM is
++   subset of TO or if IN_P is false and FROM is superset of TO.  */
++static inline int
++ira_get_may_move_cost (enum machine_mode mode,
++                     enum reg_class from, enum reg_class to,
++                     bool in_p)
++{
++  if (ira_register_move_cost[mode] == NULL)
++    ira_init_register_move_cost (mode);
++  return (in_p
++        ? ira_may_move_in_cost[mode][from][to]
++        : ira_may_move_out_cost[mode][from][to]);
++}
++
++\f
++
+ /* The iterator for all allocnos.  */
+ typedef struct {
+   /* The number of the current element in IRA_ALLOCNOS.  */
+Index: gcc/ira-color.c
+===================================================================
+--- gcc/ira-color.c    (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/ira-color.c    (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -285,8 +285,8 @@
+           continue;
+         cost = (cp->second == allocno
+-                ? ira_register_move_cost[mode][rclass][cover_class]
+-                : ira_register_move_cost[mode][cover_class][rclass]);
++                ? ira_get_register_move_cost (mode, rclass, cover_class)
++                : ira_get_register_move_cost (mode, cover_class, rclass));
+         if (decr_p)
+           cost = -cost;
+@@ -1069,7 +1069,7 @@
+             * ira_loop_edge_freq (loop_node, regno, true)
+             + ira_memory_move_cost[mode][rclass][0]
+             * ira_loop_edge_freq (loop_node, regno, false))
+-           - (ira_register_move_cost[mode][rclass][rclass]
++           - (ira_get_register_move_cost (mode, rclass, rclass)
+               * (ira_loop_edge_freq (loop_node, regno, false)
+                  + ira_loop_edge_freq (loop_node, regno, true))));
+   return cost;
+@@ -2037,7 +2037,7 @@
+         else
+           {
+             cover_class = ALLOCNO_COVER_CLASS (subloop_allocno);
+-            cost = (ira_register_move_cost[mode][rclass][rclass] 
++            cost = (ira_get_register_move_cost (mode, rclass, rclass)
+                     * (exit_freq + enter_freq));
+             ira_allocate_and_set_or_copy_costs
+               (&ALLOCNO_UPDATED_HARD_REG_COSTS (subloop_allocno), cover_class,
+@@ -2162,7 +2162,7 @@
+                   += (ira_memory_move_cost[mode][rclass][0] * exit_freq
+                       + ira_memory_move_cost[mode][rclass][1] * enter_freq);
+                 if (hard_regno2 != hard_regno)
+-                  cost -= (ira_register_move_cost[mode][rclass][rclass]
++                  cost -= (ira_get_register_move_cost (mode, rclass, rclass)
+                            * (exit_freq + enter_freq));
+               }
+           }
+@@ -2181,7 +2181,7 @@
+                   += (ira_memory_move_cost[mode][rclass][1] * exit_freq
+                       + ira_memory_move_cost[mode][rclass][0] * enter_freq);
+                 if (hard_regno2 != hard_regno)
+-                  cost -= (ira_register_move_cost[mode][rclass][rclass]
++                  cost -= (ira_get_register_move_cost (mode, rclass, rclass)
+                            * (exit_freq + enter_freq));
+               }
+           }
+@@ -2247,8 +2247,8 @@
+       if (i < 0)
+       continue;
+       cost = (cp->first == a
+-            ? ira_register_move_cost[mode][rclass][cover_class]
+-            : ira_register_move_cost[mode][cover_class][rclass]);
++            ? ira_get_register_move_cost (mode, rclass, cover_class)
++            : ira_get_register_move_cost (mode, cover_class, rclass));
+       ira_allocate_and_set_or_copy_costs
+       (&ALLOCNO_UPDATED_HARD_REG_COSTS (a),
+        cover_class, ALLOCNO_COVER_CLASS_COST (a),
+Index: gcc/ada/ChangeLog
+===================================================================
+--- gcc/ada/ChangeLog  (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/ada/ChangeLog  (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,3 +1,14 @@
++2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR>: If operation's
++      type is an enumeral or a boolean type, change it to an integer type
++      with the same mode and signedness.
++
++2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * gcc-interface/utils.c (create_var_decl_1): Do not emit debug info
++      for an external constant whose initializer is not absolute.
++
+ 2009-04-21  Release Manager
+       * GCC 4.4.0 released.
+@@ -1249,43701 +1260,10 @@
+       the _Tag field before any discriminants in the field list.
+       (components_to_record): Remove obsolete comment.
+-2008-12-09  Jakub Jelinek  <jakub@redhat.com>
+-      PR ada/38450
+-      * gcc-interface/utils.c (finish_record_type): Use SET_TYPE_MODE.
+-      * gcc-interface/decl.c (gnat_to_gnu_entity, make_aligning_type):
+-      Likewise.
++\f
++Copyright (C) 2009 Free Software Foundation, Inc.
+-2008-12-05  Sebastian Pop  <sebastian.pop@amd.com>
+-
+-      PR bootstrap/38262
+-      * gcc-interface/Make-lang.in (gnat1): Add BACKENDLIBS, remove GMPLIBS.
+-
+-2008-11-29  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      PR ada/30827
+-      * g-comver.adb (Ver_Len_Max): Fix inconsistency.
+-
+-2008-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gcc-interface/decl.c: Fix various nits.
+-
+-2008-11-20  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gcc-interface/utils.c (init_gigi_decls): Fix type mismatch.
+-
+-2008-11-16  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      PR ada/38127
+-      * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not
+-      special-case boolean types.  Propagate  the name.
+-      * gcc-interface/targtyps.c: Tweak comment.
+-
+-2008-11-15  Geert Bosch  <bosch@adacore.com>
+-
+-      * gcc-interface/trans.c (emit_check): Put back a final save_expr
+-      to prevent exponential expansion during gimplification.
+-
+-2008-11-15  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gcc-interface/lang-specs.h: Expand -coverage and reorder switches.
+-
+-2008-11-15  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Force constants
+-      initialized to a static constant to be statically allocated even if
+-      they are of a padding type, provided the original type also has
+-      constant size.
+-
+-2008-11-15  Laurent Guerby  <laurent@guerby.net>
+-
+-      PR ada/37993
+-      * gcc-interface/Makefile.in: Add multilib handling for x86_64
+-      on darwin.
+-      * system-darwin-x86_64.ads: New file.
+-
+-2008-11-13  Olivier Hainque  <hainque@adacore.com>
+-
+-      * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>:
+-      Turn Ada Pure on subprograms back into GCC CONST when eh constructs
+-      are explicit to the middle-end.  Tidy.
+-
+-2008-11-09  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gcc-interface/ada-tree.def (PLUS_NOMOD_EXPR): New tree code.
+-      (MINUS_NOMOD_EXPR): Likewise.
+-      * gcc-interface/utils2.c (build_binary_op) <PREINCREMENT_EXPR>: Make
+-      unreachable.
+-      <PLUS_NOMOD_EXPR>: New case.
+-      <MINUS_NOMOD_EXPR>: Likewise.
+-      * gcc-interface/trans.c (Loop_Statement_to_gnu): Build increment-and-
+-      assignment statement instead of using an increment operator.
+-
+-2008-11-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+-
+-      * system-irix-n64.ads: New file.
+-      * gcc-interface/Makefile.in (mips-sgi-irix6*): Support O32 and N64
+-      multilibs.
+-
+-2008-11-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+-
+-      PR ada/37681
+-      * system-solaris-x86_64.ads: New file.
+-      * gcc-interface/Makefile.in (*86-solaris2*): Support x86_64 multilib.
+-
+-2008-11-07  Bechir Zalila  <bechir.zalila@gmail.com>
+-          Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      PR ada/34289
+-      * lib.ads: (Enable_Switch_Storing): Declare.
+-      * lib.adb: (Enable_Switch_Storing): New procedure.
+-      * switch-c.adb (Scan_Front_End_Switches): Add support for -gnatea.
+-      * make.adb: (Compile_Sources.Compile): Add -gnatea as first option.
+-      (Display): Never display -gnatea
+-      * gcc-interface/lang-specs.h: If -gnatea is present, pass -gnatez.
+-
+-2008-11-07  Thomas Quinot  <quinot@adacore.com>
+-
+-      * gcc-interface/trans.c (Attribute_to_gnu, case Attr_Length): Check
+-      for empty range in original base type, not converted result type.
+-
+-2008-11-07  Geert Bosch  <bosch@adacore.com>
+-
+-      * gcc-interface/trans.c (build_binary_op_trapv): Convert arguments
+-      and result for call to __gnat_mulv64.
+-
+-2008-11-07  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gcc-interface/trans.c: Fix formatting nits.
+-
+-2008-11-07  Geert Bosch  <bosch@adacore.com>
+-
+-      * gcc-interface/trans.c (build_binary_op_trapv): Avoid emitting
+-      overflow check for constant result.
+-
+-2008-11-07  Geert Bosch  <bosch@adacore.com>
+-
+-      * gcc-interface/trans.c (build_binary_op_trapv): Use more efficient
+-      overflow check for addition/subtraction if neither operand is constant.
+-
+-2008-11-06  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gcc-interface/Makefile.in (SPARC/Solaris): Use a common set of
+-      files for the target-dependent part of the runtime.
+-      (SPARC/Linux): Likewise.
+-
+-2008-11-06  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: If not
+-      optimizing, create a PARM_DECL pointing to the VAR_DECL for debugging
+-      purposes.
+-
+-2008-11-06  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gcc-interface/misc.c (gnat_printable_name): Always return a copy
+-      in GC memory.
+-
+-2008-11-06  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      PR ada/19419
+-      * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>:
+-      Generate a call to memmove for an assignment between overlapping
+-      array slices.
+-
+-2008-11-02  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+-
+-      PR target/37977
+-      * gcc-interface/Makefile.in: Add multilib handling for
+-      s390-linux and s390x-linux.
+-
+-2008-10-24  Jakub Jelinek  <jakub@redhat.com>
+-
+-      * gcc-interface/Make-lang.in (check-ada-subtargets): Depend on
+-      check-acats-subtargets and check-gnat-subtargets.
+-      (check_acats_targets): New variable.
+-      (check-acats-subtargets, check-acats%): New targets.
+-      (check-acats): If -j is used and CHAPTERS is empty, run the testing
+-      in multiple make goals, possibly parallel, and afterwards run
+-      dg-extract-results.sh to merge the sum and log files.
+-
+-2008-10-17  Geert Bosch  <bosch@adacore.com>
+-
+-      * gcc-interface/trans.c (gnat_to_gnu) <N_Slice>: Simplify expansion
+-      to use only a single check instead of three, and avoid unnecessary
+-      COMPOUND_EXPR.
+-      (emit_check): Avoid useless COMPOUND_EXPRs and SAVE_EXPRs, sometimes
+-      creating more opportunities for optimizations.
+-
+-2008-10-13  Jakub Jelinek  <jakub@redhat.com>
+-
+-      PR middle-end/37601
+-      * gcc-interface/utils.c (gnat_types_compatible_p): Handle
+-      NULL TYPE_DOMAIN.
+-
+-2008-10-07  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Move code
+-      dealing with volatileness to after code dealing with renaming.
+-
+-2008-10-06  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Minor tweaks.
+-      * gcc-interface/trans.c (Pragma_to_gnu): Likewise.
+-
+-2008-10-06  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gcc-interface/utils.c (can_fold_for_view_convert_p): New predicate.
+-      (unchecked_convert): Use it to disable problematic folding with
+-      VIEW_CONVERT_EXPR in the general case.  Always disable it for the
+-      special VIEW_CONVERT_EXPR built for integral types and cope with
+-      its addressability issues by preserving the first conversion.
+-
+-2008-10-01  Andreas Schwab  <schwab@suse.de>
+-
+-      * system-linux-ppc64.ads: New file.
+-      * gcc-interface/Makefile.in: Add multilib handling for
+-      powerpc-linux.
+-
+-2008-09-26  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <object>: Cap the alignment promotion
+-      to that of ptr_mode instead of word_mode.
+-
+-2008-09-26  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      PR ada/5911
+-      * gcc-interface/Makefile.in (SPARC/Solaris): Add multilib support.
+-
+-2008-09-25  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      PR ada/37641
+-      * adaint.c (__gnat_set_non_writable): Use FILE_WRITE_EA
+-      instead of deprecated FILE_WRITE_PROPERTIES.
+-
+-2008-09-22  Olivier Hainque  <hainque@adacore.com>
+-
+-      * gcc-interface/decl.c (gnat_to_gnu_entity): Even when they
+-      are never assigned, volatile entities are not constant for code
+-      generation purposes.
+-
+-2008-09-21  Laurent Guerby  <laurent@guerby.net>
+-
+-      PR ada/5911
+-      * gcc-interface/Makefile.in: Add multilib handling for x86_64
+-      and sparc.
+-      * system-linux-sparcv9.ads: New file.
+-
+-2008-09-20  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * exp_dbug.ads: Document new convention for the XVZ variable.
+-      * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Generate
+-      debug info if necessary for the type padding the component type.
+-      <E_Array_Subtype>: Likewise.
+-      (maybe_pad_type): Emit the XVZ variable in units.
+-      * gcc-interface/trans.c (Loop_Statement_to_gnu): Fix formatting nits.
+-      (Subprogram_Body_to_gnu): Set the source line of the subprogram's node
+-      on statements generated to initialize the parameter attributes cache.
+-      Set the source line of the end label of the body on the special return
+-      statement built for a procedure with copy-in copy-out parameters.
+-
+-2008-09-20  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      PR ada/37585
+-      * gcc-interface/utils.c (create_subprog_decl): Disable inlining for
+-      inlined external functions if they contain a nested function not
+-      declared inline.
+-
+-2008-09-18  Jan Hubicka  <jh@suse.cz>
+-
+-      * gcc-interface/utils.c (create_subprog_decl): Use DECL_DECLARED_INLINE_P.
+-      (end_subprog_body): Do not set DECL_INLINE.
+-
+-2008-09-17  Pascal Rigaux  <pixel@mandriva.com>
+-
+-      PR ada/21327
+-      * gnat_ugn.texi: Use proper format in direntry.
+-
+-2008-09-15  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gcc-interface/trans.c (gigi): Declare the name of the compilation
+-      unit as the first global name.
+-
+-2008-09-14  Jan Hubicka  <jh@suse.cz>
+-
+-      * gcc-interface/Make-lang.in (gnat1): Add CFLAGS.
+-
+-2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+-
+-      * a-crbtgk.adb, a-direct.ads, a-tasatt.adb, ali.ads,
+-      bindgen.adb, checks.adb, einfo.ads, exp_aggr.adb, exp_ch11.adb,
+-      exp_ch3.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
+-      exp_dbug.ads, exp_disp.adb, exp_dist.adb, exp_pakd.adb,
+-      exp_util.adb, g-alveop.ads, g-comlin.adb, g-comlin.ads,
+-      g-diopit.adb, g-socket.ads, gcc-interface/decl.c,
+-      gcc-interface/gigi.h, gcc-interface/trans.c,
+-      lib-load.adb, lib-xref.ads, make.adb, mlib-prj.adb, nlists.ads,
+-      opt.ads, par-ch10.adb, par-ch5.adb, par.adb, s-os_lib.ads,
+-      s-oscons-tmplt.c, s-parint.ads, s-regpat.ads, s-shasto.ads,
+-      s-stausa.ads, s-taprop-vms.adb, sem.adb, sem_ch10.adb,
+-      sem_ch11.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb,
+-      sem_ch3.ads, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
+-      sem_elim.adb, sem_prag.adb, sem_util.adb, sem_util.ads,
+-      sem_warn.adb, sinfo.ads, styleg.adb, vms_data.ads: Fix typos in
+-      comments.
+-      * gnathtml.pl: Fix typos.
+-
+-2008-09-10  Joel Sherrill <joel.sherrill@oarcorp.com>
+-
+-      * gcc-interface/Makefile.in: Switch RTEMS to s-interr-hwint.adb.
+-      * s-osinte-rtems.ads: Add shared hardware interrupt adapter
+-      layer. RTEMS binds to OS provided adapter routines so there are
+-      no modifications to s-osinte-rtems.adb.
+-
+-2008-09-09  Arnaud Charlet  <charlet@adacore.com>
+-          Joel Sherrill  <joel.sherrill@oarcorp.com>
+-
+-       * gcc-interface/Makefile.in: Switch VxWorks to s-interr-hwint.adb.
+-
+-       * s-interr-vxworks.adb: Renamed to s-interr-hwint.adb
+-
+-       * s-interr-hwint.adb: New file.
+-
+-      * s-osinte-vxworks.ads, s-osinte-vxworks.adb: Add new functions
+-      needed by s-interr-hwint.adb.
+-
+-      * s-osinte-vxworks-kernel.adb: New file.
+-
+-2008-09-05  Joel Sherrill <joel.sherrill@oarcorp.com>
+-
+-      * s-stchop-rtems.adb: Add file missed in early commit.  Already
+-      referenced in gcc-interface/Makefile.in.
+-
+-2008-08-30  Thomas Quinot  <quinot@adacore.com>
+-
+-      * gcc-interface/Make-lang.in: Allow s-oscons.{o,ali} to
+-      be built even without a separate libada directory.
+-
+-2008-08-22  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * lib-xref.ads: Fix typo in subprogram reference definition.
+-
+-2008-08-22  Robert Dewar  <dewar@adacore.com>
+-
+-      * s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-strops.adb: Minor code fix
+-      to avoid warning.
+-
+-      * g-trasym.adb: Ditto
+-
+-      * s-utf_32.adb (Get_Category): Fix obvious typo
+-
+-      * s-wwdcha.adb: Minor code reorganization
+-      Remove dead code
+-
+-2008-08-22  Robert Dewar  <dewar@adacore.com>
+-
+-      * checks.adb (Determine_Range): Deal with values that might be invalid
+-
+-      * opt.adb, opt.ads (Assume_No_Invalid_Values[_Config]): New
+-      configuration switches.
+-
+-      * par-prag.adb: Dummy entry for pragma Assume_No_Invalid_Values
+-
+-      * sem_prag.adb: Implement pragma Assume_No_Default_Values
+-
+-      * snames.adb, snames.ads, snames.h:
+-      Add entries for pragma Assume_No_Invalid_Values
+-
+-      * switch-c.adb: Add processing for -gnatB switch
+-
+-      * usage.adb: Add entry for flag -gnatB (no bad invalid values)
+-
+-2008-08-22  Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_ch3.adb (Build_Init_Statements): Transfer to the body of the
+-      init procedure all the expanded code associated with the spec of
+-      task types and protected types.
+-
+-2008-08-22  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_aggr.adb (Static_Array_Aggregate): Call Analyze_And_Resolve on the
+-      component expression copies rather than directly setting Etype and
+-      Is_Static_Expression.
+-
+-2008-08-22  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * sem_util.adb (Has_Preelaborable_Initialization): Revise checking of
+-      private types to allow for types derived from a private type with
+-      preelaborable initialization, but return False for a private extension
+-      (unless it has the pragma).
+-
+-2008-08-22  Robert Dewar  <dewar@adacore.com>
+-
+-      * opt.ads: Minor code reorganization (put entries in alpha order)
+-
+-2008-08-22  Pascal Obry  <obry@adacore.com>
+-
+-      * initialize.c, adaint.c: Use Lock_Task and Unlock_Task for non-blocking
+-      spawn.
+-
+-2008-08-22  Geert Bosch  <bosch@adacore.com>
+-
+-      * gcc-interface/trans.c: Define FP_ARITH_MAY_WIDEN
+-      (convert_with_check): Only use longest_float_type if FP_ARITH_MAY_WIDEN is 0
+-
+-2008-08-22  Doug Rupp  <rupp@adacore.com>
+-
+-      * bindgen.adb [VMS] (Gen_Adainit_Ada, Gen_Adainit_C): Import and call
+-      __gnat_set_features.
+-
+-      * init.c
+-      (__gnat_set_features): New function.
+-      (__gnat_features_set): New tracking variable.
+-      (__gl_no_malloc_64): New feature global variable
+-
+-2008-08-22  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch8.adb (Use_One_Type): Do not emit warning message about redundant
+-      use_type_clause in an instance.
+-
+-2008-08-22  Bob Duff  <duff@adacore.com>
+-
+-      * exp_ch6.ads: Remove pragma Precondition, since it breaks some builds.
+-
+-2008-08-22  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_ch6.adb: Minor reformatting
+-
+-      * exp_ch7.adb: Minor reformatting
+-
+-      * exp_ch7.ads: Put routines in proper alpha order
+-
+-      * exp_dist.adb: Minor reformatting
+-
+-2008-08-22  Vincent Celier  <celier@adacore.com>
+-
+-      * prj.ads: Minor comment update
+-
+-2008-08-22  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_ch5.adb (One_Bound): Fix latent bug involving secondary stack
+-
+-2008-08-22  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_tss.adb:
+-      (Base_Init_Proc): For a protected subtype, use the base type of the
+-      corresponding record to locate the propoer initialization procedure.
+-
+-2008-08-22  Robert Dewar  <dewar@adacore.com>
+-
+-      * checks.adb:
+-      (In_Subrange_Of): New calling sequence
+-      (Determine_Range): Prepare for new processing using base type
+-
+-      * exp_ch4.adb:
+-      (Compile_Time_Compare): Use new calling sequence
+-
+-      * exp_ch5.adb:
+-      (Compile_Time_Compare): Use new calling sequence
+-
+-      * sem_eval.adb:
+-      (Compile_Time_Compare): New calling sequence allows dealing with
+-      invalid values.
+-      (In_Subrange_Of): Ditto
+-
+-      * sem_eval.ads:
+-      (Compile_Time_Compare): New calling sequence allows dealing with
+-      invalid values.
+-      (In_Subrange_Of): Ditto
+-
+-2008-08-22  Pascal Obry  <obry@adacore.com>
+-
+-      * adaint.c: Fix possible race condition on win32_wait().
+-
+-2008-08-22  Bob Duff  <duff@adacore.com>
+-
+-      * exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb, freeze.adb,
+-      exp_ch4.adb, exp_ch6.ads, exp_ch6.adb, sem_ch6.adb, exp_aggr.adb,
+-      exp_intr.adb, exp_ch3.adb: Rename:
+-      Exp_Ch7.Controlled_Type => Needs_Finalization
+-      Exp_Ch7.CW_Or_Controlled_Type => CW_Or_Has_Controlled_Part
+-      Exp_Ch5.Expand_N_Extended_Return_Statement.Controlled_Type =>
+-       Has_Controlled_Parts
+-      (Has_Some_Controlled_Component): Fix bug in array case.
+-
+-2008-08-22  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_ch8.adb: Minor reformatting
+-
+-2008-08-22  Kevin Pouget  <pouget@adacore.com>
+-
+-      * s-shasto.ads, s-shasto.adb: Move Shared_Var_ROpen, Shared_Var_WOpen and
+-      Shared_Var_Close procedure specifications from package spec to package body.
+-
+-      * rtsfind.ads: Remove RE_Shared_Var_Close, RE_Shared_Var_ROpen,
+-      RE_Shared_Var_WOpen entries.
+-
+-      * exp_dist.adb: Update RE_Any_Content_Ptr to RE_Any_Container_Ptr in
+-      Build_To_Any_Call, Build_TypeCode_Call and Build_From_Any_Call procedures.
+-
+-2008-08-22  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * init.c: adjust EH support code on Alpha/Tru64 as well.
+-
+-      * raise-gcc.c: Add back a couple of comments.
+-
+-2008-08-22  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch5.adb (Expand_Simple_Function_Return): If secondary stack is
+-      involved and the return type is class-wide, use the type of the expression
+-      for the generated access type. Suppress useless discriminant checks on the
+-      allocator.
+-
+-2008-08-22  Bob Duff  <duff@adacore.com>
+-
+-      * exp_ch7.adb: Minor comment fix
+-
+-      * exp_ch6.ads: Minor comment fix
+-
+-2008-08-22  Thomas Quinot  <quinot@adacore.com>
+-
+-      * sem_ch8.adb: Minor reformatting
+-      Minor code reorganization (introduce subprogram to factor duplicated
+-      code).
+-
+-2008-08-22  Sergey Rybin  <rybin@adacore.com>
+-
+-      * gnat_ugn.texi: Change the description of gnatcheck default rule
+-      settings.
+-
+-2008-08-22  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * init.c (__gnat_adjust_context_for_raise): Delete for AIX, HP-UX,
+-      Solaris, FreeBSD, VxWorks and PowerPC/Linux.  For x86{-64}/Linux,
+-      do not adjust the PC anymore.
+-      (__gnat_error_handler): Do not call __gnat_adjust_context_for_raise
+-      on AIX, HP-UX, Solaris, FreeBSD and VxWorks.
+-
+-      * raise-gcc.c (get_call_site_action_for): Use _Unwind_GetIPInfo
+-      instead of _Unwind_GetIP.
+-
+-2008-08-22  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_aggr.adb (Static_Array_Aggregate): When a static array aggregate
+-      with a range is transformed into a positional aggregate, any copied
+-      component literals should be marked Is_Static_Expression.
+-
+-      * sem_eval.adb (Compile_Time_Known_Value): Don't treat null literals as
+-      not being known at at compile time when Configurable_Run_Time_Mode is
+-      true.
+-
+-2008-08-22  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_attr.adb:
+-      (Expand_N_Attribute_Reference): No validity checking on OUT parameter of
+-      Read or Input attribute.
+-
+-2008-08-22  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch8.adb (Use_One_Type): when checking which of two use_type
+-      clauses in related units is redundant, if one of the units is a package
+-      instantiation, use its instance_spec to determine which unit is the
+-      ancestor of the other.
+-
+-2008-08-22  Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_attr.adb (Expand_N_Attribute_Reference): In case of access
+-      attributes add missing support to handle designated types that come
+-      from the limited view.
+-
+-      * exp_disp.adb (Expand_Interface_Conversion): Remove wrong assertion.
+-
+-2008-08-22  Sergey Rybin  <rybin@adacore.com>
+-
+-      * vms_data.ads: Add entry for new gnatcheck -mNNN option
+-
+-      * gnat_ugn.texi: Add description for gnatcheck option '-m'
+-
+-2008-08-22  Sergey Rybin  <rybin@adacore.com>
+-
+-      * gnat_ugn.texi: Update the gnatcheck subsection for metric rules
+-      acoording to the latest changes in the metric rule interface
+-
+-2008-08-22  Vincent Celier  <celier@adacore.com>
+-
+-      * make.adb (Check.File_Not_A_Source_Of): New Boolean function
+-      (Check): Check if the file names registered in the ALI file for the
+-      spec, the body and each of the subunits are the ones expected.
+-
+-2008-08-22  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-catiio.adb: Code cleanup.
+-
+-2008-08-20  Vincent Celier  <celier@adacore.com>
+-
+-      * make.adb (Gnatmake): Remove extra space in version line
+-
+-      * ali.adb:
+-      (Scan_ALI): Use Name_Find, not Name_Enter to get the name of a subunit,
+-      as the name may already have been entered in the table by the Project
+-      Manager.
+-
+-2008-08-20  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * errno.c (__get_errno, __set_errno for MaRTE): Transform then into
+-      weak symbols so we use the version provided by MaRTE when available.
+-
+-2008-08-20  Emmanuel Briot  <briot@adacore.com>
+-
+-      * g-catiio.ads, g-catiio.adb:
+-      (Value): Avoid an unnecessary system call to Clock in most cases.
+-      This call is only needed when only the time is provided in the string,
+-      and ignored in all other cases. This is more efficient.
+-
+-2008-08-20  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * raise-gcc.c: Fix formatting nits.
+-
+-2008-08-20  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_ch13.adb:
+-      (Adjust_Record_For_Reverse_Bit_Order): Do not access First_Bit for
+-      non-existing component clause.
+-
+-      * exp_ch5.adb: Minor reformatting
+-
+-      * g-comlin.adb: Minor reformatting
+-
+-      * make.adb: Minor reformatting
+-
+-      * prj-proc.adb: Minor reformatting
+-
+-      * stylesw.ads: Minor reformatting
+-
+-2008-08-20  Vincent Celier  <celier@adacore.com>
+-
+-      * make.adb (Gnatmake_Switch_Found): New Boolean global variable
+-      (Switch_May_Be_Passed_To_The_Compiler): New Boolean global variable
+-      (Add_Switches): New Boolean parameter Unknown_Switches_To_The_Compiler
+-       defaulted to True. Fail when Unknown_Switches_To_The_Compiler is False
+-      and a switch is not recognized by gnatmake.
+-      (Gnatmake): Implement new scheme for gnatmake switches and global
+-      compilation switches.
+-      (Switches_Of): Try successively Switches (<file name>),
+-      Switches ("Ada"), Switches (others) and Default_Switches ("Ada").
+-
+-2008-08-20  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * styleg-c.ads, styleg-c.adb (Missing_Overriding): new procedure to
+-      implement style check that overriding operations are explicitly marked
+-      at such.
+-
+-      * style.ads (Missing_Overriding): new procedure that provides interface
+-      to previous one.
+-
+-      * stylesw.ads, stylesw.adb: New style switch -gnatyO, to enable check
+-      that the declaration or body of overriding operations carries an
+-      explicit overriding indicator.
+-
+-      * sem_ch8.adb
+-      (Analyze_Subprogram_Renaming): if operation is overriding, check whether
+-      explicit indicator should be present.
+-
+-      * sem_ch6.adb (Verify_Overriding_Indicator,
+-      Check_Overriding_Indicator): If operation is overriding, check whether
+-      declaration and/or body of subprogram should be present
+-
+-2008-08-20  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-nmsc.adb (Check_Naming_Schemes): Accept source file names for
+-      gprbuild when casing is MixedCase, whatever the casing of the letters
+-      in the file name.
+-
+-2008-08-20  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_ch3.adb (Build_Array_Init_Proc): Clarify comment related to
+-      creating dummy init proc.
+-      (Requires_Init_Proc): Return False in the case No_Default_Initialization
+-      is in force and the type does not have associated default
+-      initialization. Move test of Is_Public (with tests of restrictions
+-      No_Initialize_Scalars and No_Default_Initialization) to end, past tests
+-      for default initialization.
+-
+-2008-08-20  Jerome Lambourg  <lambourg@adacore.com>
+-
+-      * g-comlin.adb (For_Each_Simple_Switch): Take care of switches not part
+-      of any alias or prefix but having attached parameters (as \"-O2\").
+-
+-2008-08-20  Robert Dewar  <dewar@adacore.com>
+-
+-      * s-fileio.adb: Minor reformatting
+-
+-2008-08-20  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_strm.adb (Build_Elementary_Input_Call,
+-      Build_Elementary_Write_Call): Fix incorrect condition in circuitry that
+-      selects the stream attribute routines for long float types.
+-
+-2008-08-20  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-proc.adb (Process_Declarative_Items): Add Location for Array_Data
+-
+-      * prj.ads (Array_Data): Add a component Location
+-
+-2008-08-20  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_prag.adb:
+-      (Analyze_Pragma, case Obsolescent): Add entity information on the pragma
+-      argument for ASIS and navigation use.
+-
+-2008-08-20  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * einfo.ads: Add comment.
+-
+-2008-08-20  Bob Duff  <duff@adacore.com>
+-
+-      * sem_eval.ads: Minor comment fix.
+-
+-2008-08-20  Bob Duff  <duff@adacore.com>
+-
+-      * exp_ch4.adb (Expand_N_And_Then, Expand_N_Or_Else): Improve constant
+-      folding. We were folding things like "False and then ...", but not
+-      "X and then ..." where X is a constant whose value is known at compile
+-      time.
+-
+-2008-08-20  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * exp_ch5.adb (Controlled_Type): New routine.
+-      (Expand_N_Extended_Return_Statement): When generating a move of the
+-      final list in extended return statements, check the type of the
+-      function and in the case of double expanded return statements, the type
+-      of the returned object.
+-      (Expand_Simple_Function_Return): Perform an interface conversion when
+-      the type of the returned object is an interface and the context is an
+-      extended return statement.
+-
+-2008-08-20  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_util.adb (Set_Debug_Info_Needed): If the entity is a private type
+-      and the full view is visible, set flag on full view as well.
+-
+-2008-08-20  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-comlin.adb: Minor reformatting
+-      Minor code reorganization.
+-
+-      * freeze.adb: Minor reformatting
+-
+-2008-08-20  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-nmsc.adb (Check_File): An excluded Ada source file may be a
+-      source of another project.
+-
+-2008-08-20  Pascal Obry  <obry@adacore.com>
+-
+-      * s-os_lib.ads: Minor reformatting.
+-
+-2008-08-20  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * gnatvsn.ads: Minor reformatting.
+-
+-2008-08-20  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * a-crbtgk.adb, repinfo.adb, g-traceb.ads, repinfo.ads,
+-      system-linux-s390x.ads, s-fatflt.ads, s-parame-ae653.ads, g-spipat.adb,
+-      g-spipat.ads, g-tasloc.adb, g-debpoo.adb, g-except.ads, g-debpoo.ads,
+-      mdll-utl.adb, g-string.adb, g-soliop-solaris.ads, par-sync.adb,
+-      exp_ch6.ads, a-cihama.ads, g-curexc.ads, system-linux-sh4.ads,
+-      g-utf_32.adb, g-hesorg.adb, s-proinf-irix-athread.ads, s-parint.adb,
+-      s-parint.ads, exp_ch7.ads, system-linux-alpha.ads, g-dirope.adb,
+-      sinfo-cn.adb, par-labl.adb, a-ciorse.adb, g-calend.adb,
+-      s-parame-vms-alpha.ads, nlists.h, exp_imgv.adb, exp_fixd.ads,
+-      g-calend.ads, gnatcmd.ads, g-table.adb, s-memory-mingw.adb,
+-      g-alveop.ads, g-memdum.ads, g-altive.ads, initialize.c, g-regpat.adb,
+-      g-busorg.ads, g-regpat.ads, g-encstr.ads, g-regexp.adb, g-regexp.ads,
+-      live.ads, g-dyntab.adb, prj-nmsc.ads, par-ch12.adb, 9drpc.adb,
+-      g-alvevi.ads, s-memory.adb, math_lib.adb, s-parame.ads, s-memory.ads,
+-      s-regexp.adb, a-exexda.adb, i-cstrea-vms.adb, a-exexpr.adb,
+-      g-soliop-mingw.ads, s-imgrea.adb, namet.adb, system-vms.ads,
+-      s-inmaop-dummy.adb, s-finroo.ads, a-ngcefu.adb, s-hibaen.ads,
+-      g-soliop.ads, s-auxdec.adb, g-locfil.ads, gnatxref.adb, memroot.adb,
+-      osint-b.ads, memroot.ads, s-parame-hpux.ads, errutil.adb,
+-      system-linux-s390.ads, par-util.adb, osint-c.ads, exp_pakd.ads,
+-      i-pacdec.ads, par-endh.adb, mlib-tgt.ads, prj-strt.ads,
+-      s-osprim-vms.adb, s-proinf.ads, output.ads, g-moreex.ads,
+-      a-finali.ads, s-fatlfl.ads, namet.h, mdll.ads, g-dynhta.ads,
+-      s-imgenu.ads, par-tchk.adb, g-excact.ads, memtrack.adb, s-fatgen.adb,
+-      a-exexpr-gcc.adb, g-arrspl.adb, par-ch4.adb, g-cgideb.adb, freeze.ads,
+-      g-altcon.adb, s-fatllf.ads, gnatfind.adb, s-osinte-lynxos-3.adb,
+-      a-exextr.adb, g-htable.ads, a-calfor.adb, s-imgcha.adb, argv.c,
+-      a-chahan.ads, g-hesora.adb, system-vms_64.ads, par-ch5.adb, g-md5.adb,
+-      lib-xref.ads, g-md5.ads, g-casuti.ads, s-fatsfl.ads, exp_dbug.ads,
+-      s-htable.ads, a-ngcoar.adb, s-arit64.ads, a-ngelfu.adb, a-filico.ads,
+-      par-ch6.adb, s-inmaop.ads, s-parame-vxworks.ads, s-casuti.ads,
+-      a-numaux-darwin.adb, a-cohama.ads, system-linux-sparc.ads, g-os_lib.adb,
+-      system-vms-ia64.ads, s-parame-vms-restrict.ads, a-clrefi.ads,
+-      s-parame-vms-ia64.ads, a-strfix.adb, a-coorse.adb, a-comlin.ads,
+-      a-chtgke.adb, s-imgint.adb, g-expect.ads, exp_ch4.ads, s-finimp.adb,
+-      mingw32.h, g-heasor.adb, g-alleve.adb, a-ngrear.adb, s-mastop-irix.adb,
+-      s-poosiz.adb, link.c: Fix copyright notice.
+-
+-2008-08-20  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * g-comlin.ads: Update comments.
+-
+-2008-08-20  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch8.adb (Analyze_Subprogram_Renaming): Inherit Is_Imported flag.
+-
+-2008-08-20  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_ch11.adb:
+-      (Expand_Exception_Handlers): Call Make_Exception_Handler instead of
+-      Make_Implicit_Exception_Handler when rewriting an exception handler with
+-      a choice parameter, and pass the handler's Sloc instead of that of the
+-      handled sequence of statements. Make_Implicit_Exception_Handler sets the
+-      Sloc to No_Location (unless debugging generated code), which we don't
+-      want for the case of a user handler.
+-
+-2008-08-20  Robert Dewar  <dewar@adacore.com>
+-
+-      * freeze.adb (Freeze_Record_Type): Improve msg for non-contiguous field
+-
+-      * sem_ch13.adb:
+-      (Adjust_Record_For_Reverse_Bit_Order): Messages about layout are
+-      now labeled as info msgs, not warnings.
+-
+-      * tbuild.ads: Clarify documentation of Make_Implicit_Exception_Handler
+-
+-      * usage.adb: Minor change to avoid overlong line for -gnatwz/Z
+-
+-      * a-textio.adb: Remove redundant test.
+-
+-      * a-witeio.adb: Minor code reorganization
+-      Remove redundant test found working on another issue
+-
+-      * a-ztexio.adb: Minor code reorganization
+-      Remove redundant test found working on another issue
+-
+-2008-08-20  Thomas Quinot  <quinot@adacore.com>
+-
+-      * s-fileio.adb (Open) Use C helper function to determine whether a
+-      given errno value corresponds to a "file not found" error.
+-
+-      * sysdep.c (__gnat_is_file_not_found_error): New C helper function.
+-
+-2008-08-20  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * errno.c (__get_errno for MaRTE): Use the MaRTE function pthread_errno
+-      to get access to the per-task errno variable.
+-      (__set_errno for MaRTE): Do not redefine this function here since it is
+-      already defined in MaRTE.
+-
+-2008-08-20  Tristan Gingold  <gingold@adacore.com>
+-
+-      * gnat_ugn.texi: Gcov is not supported on static library on AIX.
+-
+-2008-08-20  Robert Dewar  <dewar@adacore.com>
+-
+-      * freeze.adb: Minor reformatting
+-
+-      * g-comlin.adb: Minor reformatting
+-
+-      * g-socket.adb: Minor reformatting
+-
+-      * g-socthi-mingw.adb: Minor reformatting
+-
+-      * g-stheme.adb: Minor reformatting
+-
+-2008-08-20  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_aggr.adb, sem_type.adb, exp_ch9.ads, einfo.ads,
+-      exp_ch6.adb, exp_aggr.adb (Valid_Ancestor): Resolve
+-      confusion between partial and full views of an ancestor of the context
+-      type when the parent is a private extension declared in a parent unit,
+-      and full views are available for the context type.
+-
+-2008-08-18  Samuel Tardieu  <sam@rfc1149.net>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      PR ada/30827
+-      * bindgen.adb (Gen_Output_File_Ada): Zero-terminate the
+-      version string.
+-      Move comment in the right place.
+-      * g-comver.adb (Version): Look for a zero-termination in
+-      addition to a closing parenthesis.
+-
+-2008-08-18  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      * exp_ch13.adb, exp_disp.adb, sem_cat.adb, sem_ch10.adb,
+-      * sem_ch12.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
+-      * sem_prag.adb, sem_util.adb, sem_warn.adb: Use
+-      Is_Package_Or_Generic_Package instead of hand-crafted tests.
+-
+-2008-08-18  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      PR ada/15808
+-      * sem_ch6.adb (Check_Private_Overriding): Check for generic packages
+-      as well.
+-
+-2008-08-17  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
+-
+-      * adaint.c (_gnat_set_close_on_exec) [_WIN32]: Implement.
+-
+-2008-08-16  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gcc-interface/trans.c (call_to_gnu): Use the Sloc of the call
+-      for back-copy statements in lieu of that of the actual.
+-
+-2008-08-16  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      PR ada/20548
+-      * gcc-interface/decl.c (gnat_to_gnu_entity): Use DECL_SIZE_UNIT in the
+-      setjmp test consistently.  Adjust for new behavior of flag_stack_check.
+-      * gcc-interface/utils2.c (build_call_alloc_dealloc): Remove redundant
+-      test of flag_stack_check.  Adjust for new behavior of flag_stack_check.
+-
+-2008-08-13  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      PR ada/36777
+-      * sem_util.ads, sem_util.adb (Is_Protected_Self_Reference): New.
+-      * sem_attr.adb (Check_Type): The current instance of a protected
+-      object is not a type name.
+-      (Analyze_Access_Attribute): Accept instances of protected objects.
+-      (Analyze_Attribute, Attribute_Address clause): Ditto.
+-      * exp_attr.adb (Expand_N_Attribute_Reference): Rewrite
+-      the prefix as being the current instance if needed.
+-
+-2008-08-12  Danny Smith  <danyssmith@users.sourceforge.net>
+-
+-      * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS) [WINDOWS]:
+-      Remove duplicate s-win32.o. Add s-winext.o.
+-
+-2008-08-12  Danny Smith  <danyssmith@users.sourceforge.net>
+-
+-      * g-stsifd-sockets.adb (Create): Replace Constants.SOCK_STREAM
+-      with SOSC.SOCK__STREAM.
+-      * g-socthi-mingw.adb (C_Select) Replace Constants.MSG_OOB with
+-      SOSC.MSG_OOB.
+-
+-2008-08-11  Joel Sherrill  <joel.sherrill@oarcorp.com>
+-
+-      * s-oscons-tmplt.c: RTEMS defines AF_INET6 but does support it.
+-      * gsocket.h, socket.c: Update to support RTEMS.
+-      * gcc-interface/Make-lang.in: Include CFLAGS_FOR_TARGET when cross.
+-
+-2008-08-10  Samuel Tardieu  <sam@rfc1149.net>
+-          Robert Dewar <dewar@adacore.com>
+-
+-      * exp_ch4.adb (Expand_N_Op_Expon): Force evaluation of
+-      left argument even when right argument is 0.
+-      (Expand_N_Op_Mod): Ditto when right argument is 1.
+-      (Expand_N_Op_Multiply): Ditto when any argument is 0.
+-      (Expand_N_Op_Rem): Ditto when right argument is 1.
+-
+-2008-08-09  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+-
+-      * gcc-interface/misc.c (gnat_handle_option): Replace set_Wunused
+-      by warn_unused.
+-
+-2008-08-08  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * freeze.adb (Generate_Prim_Op_References): New procedure, abstracted
+-      from Freeze_Entity. Used to generate cross-reference information for
+-      types declared in generic packages.
+-
+-2008-08-08  Thomas Quinot  <quinot@adacore.com>
+-
+-      * gcc-interface/Makefile.in: Reintroduce g-soccon.ads as a
+-      compatibility shim.
+-
+-2008-08-08  Thomas Quinot  <quinot@adacore.com>
+-
+-      * gsocket.h:
+-      On Windows, include <errno.h> and redefine only selected errno values
+-      from their <winsock2.h> definitions.
+-
+-      * s-osinte-freebsd.ads: Minor reformatting
+-
+-      * s-osinte-hpux.ads, s-osinte-irix.ads: Minor reformatting
+-
+-      * g-soccon.ads: New file.
+-
+-      * g-stheme.adb, g-socthi-vms.adb, g-socthi-vxworks.adb,
+-      g-socthi-mingw.adb, g-sttsne-vxworks.adb, g-socthi.adb,
+-      g-stsifd-sockets.adb, g-socket.adb, g-socket.ads,
+-      g-sothco.adb, g-sothco.ads: Add back GNAT.Sockets.Constants as a child
+-      unit, to allow building software that depends on this internal unit
+-      with both older and newer compilers.
+-
+-2008-08-08  Robert Dewar  <dewar@adacore.com>
+-
+-      * s-strxdr.adb: Minor reformatting
+-
+-2008-08-08  Bob Duff  <duff@adacore.com>
+-
+-      * gnat_ugn.texi: The "Run-Time Checks" section said "arithmetic overflow
+-      checking for integer operations (including division by zero)", which
+-      is wrong -- divide by zero is not part of overflow checking.
+-      Also added misc clarification about what check-suppression means.
+-
+-      * gnat_rm.texi: Clarify the meaning of pragma Suppress.
+-
+-2008-08-08  Jerome Lambourg  <lambourg@adacore.com>
+-
+-      * g-comlin.adb (Add_Switch): Handle addition of switches at the
+-      begining of the command line.
+-      (Append, Add): Renaming of Append to Add as this now allows addition
+-      at the begining of the list.
+-
+-      * g-comlin.ads (Add_Switch): Handle addition of switches at the
+-      begining of the command line.
+-
+-2008-08-08  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-sercom.ads:
+-      (Name): Document application scope (only legacy PC serial ports on
+-      Linux and Windows).
+-
+-2008-08-08  Thomas Quinot  <quinot@adacore.com>
+-
+-      * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Revert
+-      previous change, not needed after all.
+-
+-2008-08-08  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch4.adb (Expand_Allocator_Expression): add check if null
+-      exclusion indicator is present
+-
+-2008-08-08  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-comlin.adb: Minor code reorganization
+-      Minor reformatting
+-
+-      * g-comlin.ads: Minor reformatting
+-
+-      * s-fileio.adb: Minor reformatting
+-
+-      * sem_attr.adb: Minor code reorganization (use Nkind_In)
+-      Minor reformatting
+-
+-2008-08-06  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      * gcc-interface/Make-lang.in: Use GCC_FOR_TARGET when dealing
+-      with s-oscons-tmplt.i.
+-
+-2008-08-06  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      * gcc-interface/Make-lang.in (OSCONS_CPPFLAGS): Remove.
+-
+-2008-08-06  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch3.adb (Analyze_Component_Declaration): Protect against misuse
+-      of incomplete type.
+-
+-      * sem_ch8.adb (Analyze_Object_Renaming): Diagnose properly a renaming
+-      of a formal parameter of an incomplete type. Improve error message for
+-      other improper uses of incomplete types.
+-
+-2008-08-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * gnat_ugn.texi: Clarify -gnato documentation
+-
+-2008-08-06  Thomas Quinot  <quinot@adacore.com>
+-
+-      * gcc-interface/Makefile.in,
+-      g-socthi-vxworks.adb, g-socthi-mingw.adb, g-sttsne-vxworks.adb,
+-      g-socthi.adb, g-socket.adb, g-socket.ads, g-sothco.ads,
+-      g-soccon-linux-x86.ads, g-soccon-vxworks.ads, g-soccon-mingw.ads,
+-      g-soccon-hpux-ia64.ads, g-soccon-irix.ads, g-soccon-linux-64.ads,
+-      g-soccon-aix.ads, g-soccon-solaris.ads, g-soccon-lynxos.ads,
+-      g-soccon-vms.ads, g-soccon.ads, g-soccon-freebsd.ads,
+-      g-soccon-linux-ppc.ads, g-soccon-tru64.ads, g-soccon-hpux.ads,
+-      g-soccon-solaris-64.ads, gen-oscons.c, g-soccon-darwin.ads,
+-      g-soccon-mingw-64.ads, g-soccon-linux-mips.ads, g-soccon-rtems.ads:
+-      Remove GNAT.Sockets.Constants. This internal package is replaced by
+-      System.OS_Constants.
+-
+-2008-08-06  Thomas Quinot  <quinot@adacore.com>
+-
+-      * gcc-interface/Makefile.in, gcc-interface/Make-lang.in:
+-      Remove obsolete targets referencing gen-soccon
+-      When generating s-oscons.ads, use a file name that includes the
+-      THREAD_KIND, to ensure that the (potentially different) version from a
+-      previous build with a different threads flavour does not get reused.
+-
+-2008-08-06  Thomas Quinot  <quinot@adacore.com>
+-
+-      * sem_res.adb: Minor reformatting
+-
+-      * s-fileio.adb (Open): When file open operation fails, raise Name_Error
+-      only when the operating system reports a non-existing file or directory
+-      (ENOENT), otherwise raise Name_Error.
+-
+-      * exp_ch11.adb: Minor reformatting
+-
+-2008-08-06  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch3.adb (Access_Subprogram_Declaration): If the return type is
+-      incomplete, add the access_to_subprogram type to the list of private
+-      dependents only if the incomplete type will be completed in the current
+-      scope.
+-      (Build_Discriminant_Constraints): If the type of the discriminant is
+-      access_to_variable, reject a constraint that is access_to_constant.
+-
+-2008-08-06  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-socket-dummy.adb, g-socket-dummy.ads, g-sothco-dummy.adb,
+-      g-sothco-dummy.ads, g-socthi-dummy.adb, g-socthi-dummy.ads,
+-      g-sttsne-dummy.ads: New files.
+-
+-      * gcc-interface/Makefile.in, Makefile.rtl: Use placeholder sources
+-      with pragma Unimplemented_Unit for sockets packages on Nucleus.
+-
+-2008-08-06  Pascal Obry  <obry@adacore.com>
+-
+-      * adaint.c: Another fix for ACL support on Windows.
+-
+-2008-08-06  Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_disp (Expand_Interface_Actuals): Adds missing support for
+-      expansion of calls to subprograms using selected components.
+-
+-2008-08-06  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_res.adb (Resolve_Call): Use base type to determine whether a
+-      dereference is needed because a subtype of an access_to_subprogram is
+-      simply an access-subtype
+-
+-2008-08-06  Jerome Lambourg  <lambourg@adacore.com>
+-
+-      * g-comlin.adb (Set_Command_Line): Now that aliases can contain
+-      parameters, always specify the expected separator.
+-
+-2008-08-06  Thomas Quinot  <quinot@adacore.com>
+-
+-      * xnmake.adb: Use new XUtil package for platform independent text
+-      output.
+-
+-2008-08-06  Vincent Celier  <celier@adacore.com>
+-
+-      * gnat_ugn.texi: Document compiler switch -gnateG
+-
+-2008-08-06  Quentin Ochem  <ochem@adacore.com>
+-
+-      * s-stausa.adb (Fill_Stack): Fixed pragma assert and top pattern mark
+-      in the case of an empty pattern size.
+-      (Compute_Result): Do not do any computation in the case of an empty
+-      pattern size.
+-      (Report_Result): Fixed computation of the overflow guard.
+-
+-2008-08-06  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * g-awk.adb (Finalize): Do not use directly objects of the type in the
+-      finalization routine to prevent elaboration order anomalies in new
+-      finalization scheme.
+-
+-2008-08-06  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch3.adb (Find_Type_Name): protect against duplicate incomplete
+-      declaration for the same type.
+-
+-2008-08-06  Thomas Quinot  <quinot@adacore.com>
+-
+-      * sem.adb: Minor rewording (comment)
+-
+-2008-08-06  Jerome Lambourg  <lambourg@adacore.com>
+-
+-      * g-comlin.adb (Define_Switch, Get_Switches): New.
+-      (Can_Have_Parameter, Require_Parameter, Actual_Switch): New, used when
+-      ungrouping switches.
+-      (For_Each_Simple_Switch): Allow more control over parameters handling.
+-      This generic method now allows ungrouping of switches with parameters
+-      and switches with more than one letter after the prefix.
+-      (Set_Command_Line): Take care of switches that are prefixed with a
+-      switch handling parameters without delimiter (-gnatya and -gnaty3 for
+-      example).
+-      (Add_Switch, Remove_Switch): Handle parameters possibly present inside
+-      a group, as in gnaty3aM80 (3 and 80 are parameters). Report status of
+-      the operation.
+-      (Start, Alias_Switches, Group_Switches): Take care of parameters
+-      possibly present inside a group.
+-
+-      * g-comlin.ads (Define_Switch): New method used to define a list of
+-      expected switches, that are necessary for correctly ungrouping switches
+-      with more that one character after the prefix.
+-      (Get_Switches): Method that builds a getopt string from the list of
+-      switches as set previously by Define_Switch.
+-      (Add_Switch, Remove_Switch): New versions of the methods, reporting the
+-      status of the operation. Also allow the removal of switches with
+-      parameters only.
+-      (Command_Line_Configuration_Record): Maintain a list of expected
+-      switches.
+-
+-2008-08-06  Doug Rupp  <rupp@adacore.com>
+-
+-      * gcc-interface/decl.c (gnat_to_gnu_param): Force 32bit descriptor if
+-      TARGET_MALLOC64 clear.
+-
+-      * gcc-interface/utils2.c (build_call_alloc_dealloc): Force 32bit malloc
+-      if TARGET_MALLOC64 clear.
+-
+-      * gcc-interface/gigi.h (TARGET_ABI_OPEN_VMS): Move here from utils2.c
+-      (TARGET_MALLC64): New macro. Default to clear.
+-
+-2008-08-06  Doug Rupp  <rupp@adacore.com>
+-
+-      * gcc-interface/utils2.c (snames.h) Include
+-      (TARGET_ABI_OPEN_VMS): Initialize.
+-      (build_call_alloc_dealloc); [TARGET_ABI_OPEN_VMS] Allocate on 32bit heap
+-      for Convention C.
+-
+-2008-08-06  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch3.adb (Process_Discriminants): diagnose redundant or improper
+-      null exclusion in a discriminant declaration
+-
+-      * sem_ch8.adb (Analyze_Object_Renaming): diagnose null exclusion
+-      indicators when type is not an access type.
+-
+-      * sem_ch12.adb (Formal_Object_Declaration): diagnose null exclusion
+-      indicators when type is not an access type.
+-
+-2008-08-06  Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_disp (Expand_Interface_Conversion): Freeze the entity associated
+-      with the target interface before expanding the code of the interface
+-      conversion.
+-
+-2008-08-05  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * freeze.adb:
+-      (Freeze_Entity): A deferred constant does not violate the restriction
+-      No_Default_Initialization,
+-
+-      * sem_ch3.adb (Process_Subtype): An allocator is a valid construct that
+-      can carry a null exclusion indicator, and on which an error may be
+-      posted if the indicator is redundant.
+-
+-      * sem_ch8.adb (Analyze_Object_Renaming): Verify that a null exclusion
+-      does not apply to a subtype mark that already excludes null.
+-
+-      * sem_ch12.adb (Formal_Object_Declaration): Verify that a null
+-      exclusion does not apply to a subtype mark that already excludes null.
+-
+-2008-08-05  Thomas Quinot  <quinot@adacore.com>
+-
+-      * Makefile.rtl: Compile s-oscons.ads as part of the runtime library.
+-
+-2008-08-05  Doug Rupp  <rupp@adacore.com>
+-
+-      * vms_data.ads: Translation for /POINTER_SIZE qualifier.
+-
+-2008-08-05  Thomas Quinot  <quinot@adacore.com>
+-
+-      * gsocket.h: Make this file includable in a Nucleus environment, which
+-      does not support sockets.
+-
+-      * socket.c: Remove Nucleus-specific hack.
+-
+-2008-08-05  Pascal Obry  <obry@adacore.com>
+-
+-      * adaint.c: Remove support for readable attribute on vxworks and nucleus
+-
+-2008-08-05  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_attr.adb:
+-      (Analyze_Attribute, case 'Result): handle properly the case where some
+-      operand of the expression in a post-condition generates a transient
+-      block.
+-
+-      * sem_ch5.adb (Analyze_Assignment_Statement): Apply conversion to
+-      right-hand side when it is an anonymous access_to_subprogram, to force
+-      static accessibility check when needed.
+-
+-2008-08-05  Sergey Rybin  <rybin@adacore.com>
+-
+-      * gnat_ugn.texi: Changing the description of the gnatcheck metrics
+-      rule according to the change in the rule option.
+-      Add documentation for -gnatw.b/-gnatw.B
+-
+-2008-08-05  Robert Dewar  <dewar@adacore.com>
+-
+-      * ug_words: Add entries for -gnatw.b/-gnatw.B
+-
+-      * vms_data.ads: Add entries for -gnatw.b/-gnatw.B
+-
+-2008-08-05  Vincent Celier  <celier@adacore.com>
+-
+-      * a-wtdeio.adb (Put (Current_Output)): Use Fore in the call to Put
+-      (File).
+-
+-      * a-ztdeio.adb: Ditto.
+-
+-2008-08-05  Pascal Obry  <obry@adacore.com>
+-
+-      * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Add support for the
+-      readable attribute.
+-
+-2008-08-05  Vincent Celier  <celier@adacore.com>
+-
+-      * s-wchwts.adb:
+-      (Wide_String_To_String): Returns a String with the same 'First as its
+-      parameter S.
+-      (Wide_Wide_String_To_String): Ditto
+-
+-      * s-wchwts.ads:
+-      (Wide_String_To_String): Document that the lowest index of the returned
+-      String is equal to S'First.
+-
+-2008-08-05  Thomas Quinot  <quinot@adacore.com>
+-
+-      * xoscons.adb, xutil.ads, xutil.adb, s-oscons-tmplt.c: New files.
+-
+-      * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Generate
+-      s-oscons.ads
+-
+-2008-08-05  Robert Dewar  <dewar@adacore.com>
+-
+-      * opt.ads (Warn_On_Biased_Representation): New flag
+-
+-      * sem_ch13.adb:
+-      (Analyze_Attribute_Definition_Clause): Issue warning when biased
+-      representation is required.
+-      (Minimum_Size): Don't allow biasing if enum rep clause case
+-
+-      * sem_warn.adb:
+-      (Set_Dot_Warning_Switch): Add handling of -gnatw.b/B switches
+-      (Set_Warning_Switch): Include -gnatw.b in -gnatwa, -gnatw.B in gnatws
+-
+-      * usage.adb: Add lines for -gnatw.b/B switches
+-
+-2008-08-05  Pascal Obry  <obry@adacore.com>
+-
+-      * a-coinve.adb: Reorder the code to avoid uninitialized warning.
+-
+-      * adaint.c: In UNIX cases do not call __gnat_stat but stat directly.
+-
+-2008-08-05  Thomas Quinot  <quinot@adacore.com>
+-
+-      * socket.c: Minor reformatting.
+-
+-2008-08-05  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_ch3.adb: Minor reformatting
+-
+-      * prj-nmsc.adb: Minor reformatting
+-
+-2008-08-05  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch12.adb (Validate_Array_Type_Instance): Only apply complex
+-      visibility check on the component type if the simple test fails.
+-
+-2008-08-05  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * init.c (__gnat_install_handler for linux): If we are building the
+-      Xenomai run time then we need to do two additional things: avoid
+-      memory swapping and transform the Linux environment task into a native
+-      Xenomai task.
+-
+-      * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for xenomai run
+-      time): Use interface to Xenomai native skin and avoid linux-specific
+-      way of setting CPU affinity.
+-      (EH_MECHANISM for the xenomai run time): Use sjlj exception mechanism.
+-
+-2008-08-05  Bob Duff  <duff@adacore.com>
+-
+-      * checks.ads: Minor comment fix
+-
+-2008-08-05  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb,
+-      g-sercom-linux.adb (Data_Bits): Change literals B7 and B8 to CS7 and
+-      CS8.
+-
+-2008-08-05  Robert Dewar  <dewar@adacore.com>
+-
+-      * mlib.adb: Minor code reorganization
+-      Minor reformatting
+-
+-      * make.adb: Minor reformatting
+-
+-      * prj-attr.ads: Minor reformatting
+-
+-      * s-os_lib.adb: Minor reformatting
+-
+-      * s-fileio.adb: Minor code reorganization
+-      Minor reformatting
+-
+-      * prj.ads: Minor reformatting
+-
+-2008-08-05  Bob Duff  <duff@adacore.com>
+-
+-      * sem_ch3.adb (Analyze_Object_Declaration): Avoid type Any_Access in
+-      unresolved initial value of "null", because it causes implicitly
+-      generated "=" operators to be ambiguous, and because this type should
+-      not be passed to gigi.
+-
+-2008-08-05  Vincent Celier  <celier@adacore.com>
+-
+-      * mlib.adb: Update comments.
+-
+-      * make.adb (Switches_Of): Check for Switches (others), before checking
+-      for Default_Switches ("Ada").
+-      (Gnatmake): Use Builder'Switches (others) in preference to
+-      Builder'Default_Switches ("Ada") if there are several mains.
+-
+-      * prj-attr-pm.adb:
+-      (Add_Attribute): Add component Others_Allowed in Attribute_Record
+-      aggregate.
+-
+-      * prj-attr.adb:
+-      Add markers to indicates that attributes Switches allow others as index
+-      (Others_Allowed_For): New Boolean function, returning True for
+-      attributes with the mark.
+-      (Initialize): Recognize optional letter 'O' as the marker for
+-      associative array attributes where others is allowed as the index.
+-
+-      * prj-attr.ads:
+-      (Others_Allowed_For): New Boolean function
+-      (Attribute_Record): New Boolean component Others_Allowed
+-
+-      * prj-dect.adb:
+-      (Parse_Attribute_Declaration): For associative array attribute where
+-      others is allowed as the index, allow others as an index.
+-
+-      * prj-nmsc.adb:
+-      (Process_Binder): Skip associative array attributes with index others
+-      (Process_Compiler): Ditto
+-
+-      * prj-util.adb:
+-      (Value_Of (Index, In_Array)): Make no attempt to put in lower case when
+-      index is All_Other_Names.
+-
+-      * prj.ads:
+-      (All_Other_Names): New constant
+-
+-      * prj-proc.adb:
+-      (Process_Declarative_Items): Skip associative array attribute when index
+-      is reserved word "others".
+-
+-2008-08-05  Vasiliy Fofanov  <fofanov@adacore.com>
+-
+-      * gen-oscons.c: Adapt for VMS where termios.h is not available.
+-
+-2008-08-05  Thomas Quinot  <quinot@adacore.com>
+-
+-      * a-rttiev.adb: Minor reformatting (comments)
+-
+-      * gen-soccon.c: Rename to gen-oscons.c
+-
+-      * gen-oscons.c: New file. Now generate System.OS_Constants instead of
+-      GNAT.Sockets.Constants.
+-      Add new constants for GNAT.Serial_Communications and System.File_IO.
+-
+-2008-08-05  Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_util.adb (Collect_Interfaces_Info): Minor reformating.
+-      * exp_ch3.adb (Build_Offset_To_Top_Functions): Code cleanup: the
+-      implementation of this routine has been simplified.
+-
+-2008-08-05  Pascal Obry  <obry@adacore.com>
+-
+-      * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Fix the
+-      Set_Read_Only Win32 implementation.
+-
+-2008-08-05  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_strm.adb: Minor reformatting (comments)
+-
+-      * sem_ch12.adb: Minor reformatting.
+-
+-2008-08-05  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_ch3.adb: Minor reformatting
+-
+-      * checks.adb: Minor reformatting
+-
+-2008-08-05  Thomas Quinot  <quinot@adacore.com>
+-
+-      * tbuild.ads (New_External_Name): Update spec to reflect relaxed
+-      restriction on Prefix.
+-
+-2008-08-05  Jerome Lambourg  <lambourg@adacore.com>
+-
+-      * g-comlin.adb (Sort_Sections, Group_Switches): New/Modified internal
+-      methods needed to handle switch sections when building a command line.
+-      (Define_Section, Add_Switch, Remove_Switch, Is_New_Section,
+-      Current_Section): New public methods or methods modified to handle
+-      building command lines with sections.
+-      (Set_Command_Line): Take into account sections when analysing a switch
+-      string.
+-      (Start): Sort the switches by sections before iterating the command line
+-      elements.
+-
+-      * g-comlin.ads (Define_Section, Add_Switch, Remove_Switch,
+-      Is_New_Section, Current_Section): New methods or methods modified to
+-      handle building command lines with sections.
+-
+-2008-08-05  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For access
+-      discriminants, indicate that the corresponding object declaration has
+-      no initialization, to prevent spurious warnings when the access type is
+-      null-excluding.
+-
+-2008-08-05  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_res.adb (Resolve_Call): If this is a call to the predefined
+-      Abort_Task, warn if the call appears within a protected operation.
+-
+-2008-08-04  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_ch4.adb (Expand_N_In): Suppress range warnings in instances
+-
+-2008-08-04  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch3.adb:
+-      (Replace_Anonymous_Access_To_Protected_Subprogram): Handle properly an
+-      anonymous access to protected subprogram that is the return type of the
+-      specification of a subprogram body.
+-
+-      * sem_ch6.adb:
+-      (Analyze_Subprogram_Body): if the return type is an anonymous access to
+-      subprogram, freeze it now to prevent access anomalies in the back-end.
+-
+-      * exp_ch9.adb: Minor code cleanup.
+-      Make sure that new declarations are inserted into the tree before
+-      analysis (from code reading).
+-
+-2008-08-04  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_ch5.adb:
+-      (Expand_Simple_Function_Return): Check No_Secondary_Stack restriction
+-      at point of return.
+-
+-2008-08-04  Thomas Quinot  <quinot@adacore.com>
+-
+-      * sem_type.adb, sem_ch4.adb, sprint.adb, exp_ch3.adb: Minor reformatting
+-
+-2008-08-04  Vasiliy Fofanov  <fofanov@adacore.com>
+-
+-      * g-soccon-mingw.ads: Fix value for MSG_WAITALL
+-
+-2008-08-04  Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_prag.adb (Process_Convention): Add missing support for
+-       N_Private_Extension_Declaration nodes.
+-
+-2008-08-04  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_ch4.adb: Minor reformatting
+-
+-2008-08-04  Pascal Obry  <obry@adacore.com>
+-
+-      * adaint.h: Add missing prototype.
+-
+-      * adaint.c: Refine support for Windows file attributes.
+-
+-2008-08-04  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_res.adb:
+-      (Valid_Conversion): Catch case of designated types having different
+-      sizes, even though they statically match.
+-
+-2008-08-04  Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_eval.adb (Subtypes_Statically_Match): Remove superfluous patch
+-      added in previous patch to handle access to subprograms.
+-
+-2008-08-04  Robert Dewar  <dewar@adacore.com>
+-
+-      * freeze.adb:
+-      (Freeze_Entity): Only check No_Default_Initialization restriction for
+-      constructs that come from source
+-
+-2008-08-04  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_ch6.adb: Minor comment fix.
+-
+-      * sem_ch4.adb: Minor reformatting.
+-
+-2008-08-04  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_res.adb: (Large_Storage_Type): Improve previous change.
+-
+-2008-08-04  Pascal Obry  <obry@adacore.com>
+-
+-      * adaint.c, s-os_lib.adb, s-os_lib.ads: Use Windows ACL to deal with
+-      file attributes.
+-
+-2008-08-04  Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_ch3.adb (Access_Subprogram_Declaration): Adding missing support
+-      for N_Formal_Object_Declaration nodes. Adding kludge required by
+-      First_Formal to provide its functionality with access to functions.
+-      (Replace_Anonymous_Access_To_Protected_Subprogram): Add missing support
+-      for anonymous access types returned by functions.
+-
+-      * sem_ch5.adb (Analyze_Assignment): Code cleanup to avoid duplicate
+-      conversion of null-excluding access types (required only once to force
+-      the generation of the required runtime check).
+-
+-      * sem_type.adb (Covers): minor reformating
+-
+-      * checks.adb (Null_Exclusion_Static_Checks): Avoid reporting errors
+-      with internally generated nodes. Avoid generating the error inside init
+-      procs.
+-
+-      * sem_res.adb (Resolve_Membership_Test): Minor reformating.
+-      (Resolve_Null): Generate the null-excluding check in case of assignment
+-      to a null-excluding object.
+-      (Valid_Conversion): Add missing support for anonymous access to
+-      subprograms.
+-
+-      * sem_ch6.adb (Check_Return_Subtype_Indication): Add missing support for
+-      anonymous access types whose designated type is an itype. This case
+-      occurs with anonymous access to protected subprograms types.
+-      (Analyze_Return_Type):  Add missing support for anonymous access to
+-      protected subprogram.
+-
+-      * sem_eval.adb (Subtypes_Statically_Match): In case of access to
+-      subprograms addition of missing check on matching convention. Required
+-      to properly handle access to protected subprogram types.
+-
+-      * exp_ch3 (Build_Assignment): Code cleanup removing duplicated check on
+-      null excluding access types.
+-
+-2008-08-04  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch12.adb: Add comments
+-
+-      * sem_ch4.adb (Analyze_Allocator): If the designated type is a non-null
+-      access type and the allocator is not initialized, warn rather than
+-      reporting an error.
+-
+-2008-08-04  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_ch4.adb: Minor reformatting
+-
+-      * exp_dist.adb: Minor reformatting
+-
+-      * g-comlin.adb: Minor reformatting
+-
+-2008-08-04  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_aggr.adb (Build_Record_Aggr_Code): Perform a conversion of the
+-      target to the type of the aggregate in the case where the target object
+-      is class-wide.
+-
+-      * exp_ch5.adb (Expand_Simple_Function_Return): When the function's
+-      result type is class-wide and inherently limited, and the expression
+-      has a specific type, create a return object of the specific type, for
+-      more efficient handling of returns of build-in-place aggregates (avoids
+-      conversions of the class-wide return object to the specific type on
+-      component assignments).
+-
+-      * sem_ch6.adb (Check_Return_Subtype_Indication): Suppress the error
+-      about a type mismatch for a class-wide function with a return object
+-      having a specific type when the object declaration doesn't come from
+-      source. Such an object can result from the expansion of a simple return.
+-
+-2008-08-04  Vasiliy Fofanov  <fofanov@adacore.com>
+-
+-      * g-soccon-mingw-64.ads, system-mingw-x86_64.ads: New files.
+-
+-      * gcc-interface/Makefile.in: Use 64bit-specific system files when
+-      compiling for 64bit windows.
+-
+-2008-08-04  Jerome Lambourg  <lambourg@adacore.com>
+-
+-      * g-comlin.adb (Group_Switches): Preserve the switch order when
+-      grouping and allow switch grouping of switches with more than one
+-      character extension (e.g. gnatw.x).
+-      (Args_From_Expanded): Remove this now obsolete method.
+-
+-2008-08-04  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch4.adb (Get_Allocator_Final_List): Freeze anonymous type for
+-      chain at once, to ensure that type is properly decorated for back-end,
+-      when allocator appears within a loop.
+-
+-2008-08-04  Kevin Pouget  <pouget@adacore.com>
+-
+-      * snames.h, snames.adb, snames.ads:
+-      Add Attr_To_Any, Attr_From_Any and Attr_TypeCode defines.
+-
+-      * exp_dist.ads, exp_dist.adb: Add Build_From_Any_Call,
+-      Build_To_Any_Call and Build_TypeCode_Call procedures.
+-
+-      * exp_attr.adb, sem_attr.adb: Add corresponding cases.
+-
+-      * rtsfind.ads: Add corresponding names.
+-
+-      * tbuild.adb: Update prefix restrictions to allow '_' character.
+-
+-2008-08-04  Doug Rupp  <rupp@adacore.com>
+-
+-      * gigi.h (fill_vms_descriptor): Add third parameter gnat_actual
+-      * trans.c (call_to_gnu): Call fill_vms_descriptor with new parameter.
+-      * utils2.c (fill_vms_descriptor): Add third parameter for error sloc and
+-      use it.  Calculate pointer range overflow using 64bit types.
+-
+-2008-08-04  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch3.adb (Access_Definition): A formal object declaration is a
+-      legal context for an anonymous access to subprogram.
+-
+-      * sem_ch4.adb (Analyze_One_Call): If the call can be interpreted as an
+-      indirect call, report success to the caller to include possible
+-      interpretation.
+-
+-      * sem_ch6.adb (Check_Return_Type_Indication): Apply proper conformance
+-      check when the type
+-      of the extended return is an anonymous access_to_subprogram type.
+-
+-      * sem_res.adb:
+-      (Resolve_Call): Insert a dereference if the type of the subprogram is an
+-      access_to_subprogram and the context requires its return type, and a
+-      dereference has not been introduced previously.
+-
+-2008-08-04  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * usage.adb (Usage): Minor rewording of -gnatwz switch, to improve
+-      gnatcheck support in GPS.
+-
+-2008-08-04  Vincent Celier  <celier@adacore.com>
+-
+-      * mlib.adb (Create_Sym_Links): Create relative symbolic links when
+-      requested
+-
+-2008-08-04  Vincent Celier  <celier@adacore.com>
+-
+-      * gprep.adb (Process_One_File): Call Prep.Preprocess with a Boolean
+-      variable, but don't check the resulting value as it has no impact on
+-      the processing.
+-
+-      * opt.ads:
+-      (Generate_Processed_File): New Boolean flag, set to True in the compiler
+-      when switch -gnateG is used.
+-
+-      * prep.adb:
+-      (Preprocess): new Boolean out parameter Source_Modified. Set it to True
+-      when the source is modified by the preprocessor and there is no
+-      preprocessing errors.
+-
+-      * prep.ads (Preprocess): new Boolean out parameter Source_Modified
+-
+-      * sinput-l.adb:
+-      (Load_File): Output the result of preprocessing if the source text was
+-      modified.
+-
+-      * switch-c.adb (Scan_Front_End_Switches): Recognize switch -gnateG
+-
+-      * switch-m.adb (Normalize_Compiler_Switches): Normalize switch -gnateG
+-
+-      * ug_words: Add VMS equivalent for -gnateG
+-
+-      * vms_data.ads:
+-      Add VMS option /GENERATE_PROCESSED_SOURCE, equivalent to switch -gnateG
+-
+-2008-08-04  Doug Rupp  <rupp@adacore.com>
+-
+-      * gcc-interface/utils2.c:
+-      (fill_vms_descriptor): Raise CE if attempt made to pass 64bit pointer
+-      in 32bit descriptor.
+-
+-2008-08-04  Robert Dewar  <dewar@adacore.com>
+-
+-      * par-ch10.adb: Minor reformatting
+-
+-      * i-cobol.adb: Minor reformatting.
+-
+-2008-08-04  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch3.adb (Access_Definition): Create an itype reference for an
+-      anonymous access return type of a regular function that is not a
+-      compilation unit.
+-
+-2008-08-04  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-attr.adb: New Builder attribute Global_Compilation_Switches
+-
+-      * snames.adb: New standard name Global_Compilation_Switches
+-
+-      * snames.ads: New standard name Global_Compilation_Switches
+-
+-      * make.adb: Correct spelling error in comment
+-
+-2008-08-04  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * sem_prag.adb (Check_Form_Of_Interface_Name): Fix handling for CLI
+-      target.
+-
+-2008-08-04  Thomas Quinot  <quinot@adacore.com>
+-
+-      * sem_ch10.adb: Minor comment fix.
+-
+-2008-08-04  Robert Dewar  <dewar@adacore.com>
+-
+-      * restrict.adb: Improved messages for restriction warnings
+-
+-      * restrict.ads: Improved messages for restriction messages
+-
+-      * s-rident.ads (Profile_Name): Add No_Profile
+-
+-2008-08-04  Robert Dewar  <dewar@adacore.com>
+-
+-      * system-darwin-x86.ads: Correct bad definition of Max_Nonbinary_Modulus
+-
+-2008-08-04  Robert Dewar  <dewar@adacore.com>
+-
+-      * freeze.adb (Freeze_Entity): Check for size clause for boolean warning
+-
+-2008-08-04  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-proc.adb:
+-      (Copy_Package_Declarations): When inheriting package Naming from a
+-      project being extended, do not inherit source exception names.
+-
+-2008-08-04  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_prag.adb (Check_Precondition_Postcondition): When scanning the
+-      list of declaration to find previous subprogram, do not go to the
+-      original node of a generic unit.
+-
+-2008-08-02  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR, MINUS_EXPR>:
+-      New case.  Convert BOOLEAN_TYPE operation to the default integer type.
+-
+-2008-08-01  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gcc-interface/ada-tree.h (DECL_PARM_ALT): Now DECL_PARM_ALT_TYPE.
+-      * gcc-interface/decl.c (gnat_to_gnu_param): Fix formatting, simplify
+-      and adjust for above renaming.
+-      * gcc-interface/utils.c (convert_vms_descriptor): Likewise. Add new
+-      gnu_expr_alt_type parameter.  Convert the expression to it instead
+-      of changing its type in place.
+-      (build_function_stub): Adjust call to above function.
+-
+-2008-08-01  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Remove dead
+-      code.  Do not get full definition of deferred constants with address
+-      clause for a use.  Do not ignore deferred constant definitions with
+-      address clause.  Ignore constant definitions already marked with the
+-      error node.
+-      <object>: Remove obsolete comment.  For a deferred constant with
+-      address clause, get the initializer from the full view.
+-      * gcc-interface/trans.c (gnat_to_gnu) <N_Attribute_Definition_Clause>:
+-      Rework and remove obsolete comment.
+-      <N_Object_Declaration>: For a deferred constant with address clause,
+-      mark the full view with the error node.
+-      * gcc-interface/utils.c (convert_to_fat_pointer): Rework and fix
+-      formatting nits.
+-
+-2008-08-01  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * rtsfind.ads: Add block IO versions of stream routines for Strings.
+-
+-      * bindgen.adb, gnat_rm.texi, gnat_ugn.texi, opt.ads,
+-      sem_prag.adb, snames.adb, snames.ads, snames.h,
+-      par-prag.adb: Undo previous stream related changes.
+-
+-      * s-rident.ads: Add new restriction No_Stream_Optimizations.
+-
+-      * s-ststop.ads, s-ststop.adb: Comment reformatting.
+-      Define enumeration type to designate different IO mechanisms.
+-      Enchance generic package Stream_Ops_Internal to include an
+-      implementation of Input and Output.
+-
+-      * exp_attr.adb (Find_Stream_Subprogram): If restriction
+-      No_Stream_Optimization is active, choose the default byte IO
+-      implementations of stream attributes for Strings.
+-      Otherwise use the corresponding block IO version.
+-
+-2008-08-01  Olivier Hainque  <hainque@adacore.com>
+-
+-      * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>: Do not
+-      turn Ada Pure into GCC const, now implicitely implying nothrow as well.
+-
+-2008-08-01  Robert Dewar  <dewar@adacore.com>
+-
+-      * par-ch3.adb (P_Defining_Identifier): Avoid repeated attempt to
+-      convert plain identifier into defining identifier.
+-
+-2008-08-01  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_prag.adb (Check_Form_Of_Interface_Name): Refine and improve
+-      warnings
+-
+-      * lib-xref.adb: Add error defense.
+-
+-2008-08-01  Bob Duff  <duff@adacore.com>
+-
+-      * ioexcept.ads, sequenio.ads, directio.ads: Correct comment.
+-
+-2008-08-01  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_ch6.adb (Expand_Call): Adjustment to previous fix for passing
+-      correct accessibility levels. In the "when others" case, retrieve the
+-      access level of the Etype of Prev rather than Prev_Orig, because the
+-      original exression has not always been analyzed.
+-
+-2008-08-01  Robert Dewar  <dewar@adacore.com>
+-
+-      * prj-nmsc.adb: Minor reformatting
+-
+-      * sem_ch4.adb: Minor reformatting
+-      Minor code reorganization
+-
+-      * prj.ads: Minor reformatting
+-
+-      * s-os_lib.adb: Minor reformatting
+-
+-      * par-prag.adb (Prag, case Wide_Character_Encoding): Deal with upper
+-      half encodings
+-
+-      * scans.ads: Minor reformatting.
+-
+-      * sem_prag.adb (Analyze_Pragma): Put entries in alpha order
+-      (Analyze_Pragma): Make sure all GNAT pragmas call GNAT_Pragma
+-
+-      * sem_res.adb:
+-      (Resolve_Call): Check violation of No_Specific_Termination_Handlers
+-
+-      * sem_ch12.adb: Minor comment reformatting
+-
+-      * par-ch3.adb (P_Type_Declaration): Properly handle missing type
+-      keyword
+-
+-2008-08-01  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_ch6.adb (Process_PPCs): Don't copy spec PPC to body if not
+-      generating code
+-
+-2008-08-01  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * checks.adb (Apply_Float_Conversion_Check): If the expression to be
+-      converted is a real literal and the target type has static bounds,
+-      perform the conversion exactly to prevent floating-point anomalies on
+-      some targets.
+-
+-2008-08-01  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-attr.adb: New attribute Compiler'Name_Syntax (<lang>)
+-
+-      * prj-nmsc.adb (Process_Compiler): Recognize attribute Name_Syntax
+-
+-      * prj.adb (Object_Exist_For): Use Object_Generated, not
+-      Objects_Generated that is removed and was never modified anyway.
+-
+-      * prj.ads:
+-      (Path_Syntax_Kind): New enumeration type
+-      (Language_Config): New component Path_Syntax, defaulted to Host.
+-      Components PIC_Option and Objects_Generated removed, as they are not
+-      used.
+-
+-      * snames.adb: New standard name Path_Syntax
+-
+-      * snames.ads: New standard name Path_Syntax
+-
+-2008-08-01  Vincent Celier  <celier@adacore.com>
+-
+-      * mlib-utl.adb:
+-      (Adalib_Path): New variable to store the path of the adalib directory
+-      when procedure Specify_Adalib_Dir is called.
+-      (Lib_Directory): If Adalib_Path is not null, return its value
+-      (Specify_Adalib_Dir): New procedure
+-
+-      * mlib-utl.ads (Specify_Adalib_Dir): New procedure
+-
+-2008-08-01  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_prag.adb:
+-      (Check_Precondition_Postcondition): If not generating code, analyze the
+-      expression in a postcondition that appears in a subprogram body, so that
+-      it is properly decorated for ASIS use.
+-
+-2008-08-01  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_ch6.adb (Expand_Call): Remove ugly special-case code that resets
+-      Orig_Prev to Prev in the case where the actual is N_Function_Call or
+-      N_Identifier. This was interfering with other cases that are rewritten
+-      as N_Identifier, such as allocators, resulting in passing of the wrong
+-      accessibility level, and based on testing this code is apparently no
+-      longer needed at all.
+-
+-2008-08-01  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch4.adb (Analyze_One_Call): Handle complex overloading of a
+-      procedure call whose prefix
+-      is a parameterless function call that returns an access_to_procedure.
+-
+-2008-08-01  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * adaint.c (__gnat_tmp_name): Refine the generation of temporary names
+-      for RTX. Adding a suffix that is incremented at each iteration.
+-
+-2008-08-01  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_ch6.adb (Analyze_Subprogram_Body): Remove special casing of
+-      Raise_Exception
+-
+-2008-08-01  Jerome Lambourg  <lambourg@adacore.com>
+-
+-      * s-os_lib.adb (Normalize_Pathname): Take care of double-quotes in
+-      paths, which are authorized by Windows but can lead to errors when used
+-      elsewhere.
+-
+-2008-08-01  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch12.ads (Need_Subprogram_Instance_Body): new function, to create
+-      a pending instantiation for the body of a subprogram that is to be
+-      inlined.
+-
+-      * sem_ch12.adb:
+-      (Analyze_Subprogram_Instantiation): use Need_Subprogram_Instance_Body.
+-
+-      * sem_prag.adb (Make_Inline): If the pragma applies to an instance,
+-      create a pending instance for its body, so that calls to the subprogram
+-      can be inlined by the back-end.
+-
+-2008-08-01  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * gnat_ugn.texi: Document the RTX run times (rts-rtx-rtss and
+-      rts-rtx-w32).
+-
+-2008-08-01  Robert Dewar  <dewar@adacore.com>
+-
+-      * scng.adb (Error_Illegal_Wide_Character): Bump scan pointer
+-
+-2008-08-01  Doug Rupp  <rupp@adacore.com>
+-
+-      * gnat_rm.texi: Document new mechanism Short_Descriptor.
+-
+-      * types.ads (Mechanism_Type): Modify range for new Short_Descriptor
+-      mechanism values.
+-
+-      * sem_prag.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
+-      mechanism and Short_Descriptor mechanism values.
+-
+-      * snames.adb (preset_names): Add short_descriptor entry.
+-
+-      * snames.ads: Add Name_Short_Descriptor.
+-
+-      * types.h: Add new By_Short_Descriptor mechanism values.
+-
+-      * sem_mech.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
+-      mechanism and Short_Descriptor mechanism values.
+-
+-      * sem_mech.ads (Mechanism_Type): Add new By_Short_Descriptor mechanism
+-      values.
+-      (Descriptor_Codes): Modify range for new mechanism values.
+-
+-      * treepr.adb (Print_Entity_Enfo): Handle new By_Short_Descriptor
+-      mechanism values.
+-
+-      * gcc-interface/decl.c (gnat_to_gnu_entity): Handle By_Short_Descriptor.
+-      (gnat_to_gnu_param): Handle By_Short_Descriptor.
+-
+-      * gcc-interface/gigi.h (build_vms_descriptor64): Remove prototype.
+-      (build_vms_descriptor32): New prototype.
+-      (fill_vms_descriptor): Remove unneeded gnat_actual parameter.
+-
+-      * gcc-interface/trans.c (call_to_gnu): Removed unneeded gnat_actual
+-      argument in call fill_vms_descriptor.
+-
+-      * gcc-interface/utils.c (build_vms_descriptor32): Renamed from
+-      build_vms_descriptor and enhanced to hande Short_Descriptor mechanism.
+-      (build_vms_descriptor): Renamed from build_vms_descriptor64.
+-      (convert_vms_descriptor32): New function.
+-      (convert_vms_descriptor64): New function.
+-      (convert_vms_descriptor): Rewrite to handle both 32bit and 64bit
+-      descriptors.
+-
+-      * gcc-interface/utils2.c (fill_vms_descriptor): Revert previous changes,
+-      no longer needed.
+-
+-2008-08-01  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * adaint.c (__gnat_tmp_name): RTSS applications do not support tempnam
+-      nor tmpnam, so we always use c:\WINDOWS\Temp\gnat-XXXXXX as temporary
+-      name.
+-
+-2008-08-01  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * cstreams.c (__gnat_full_name): RTSS applications cannot ask for the
+-      current directory so only fully qualified names are allowed.
+-
+-2008-08-01  Robert Dewar  <dewar@adacore.com>
+-
+-      * gnat_ugn.texi:
+-      Minor editing, remove uncomfortable use of semicolon
+-
+-      * s-ststop.adb: Add some ??? comments
+-
+-      * sem_ch10.adb: Minor reformatting
+-
+-      * snames.ads:
+-      Minor comment fixes, some pragmas were not properly
+-      categorized in the comments, documentation change only
+-
+-      * xref_lib.adb: Minor reformatting
+-
+-      * sinput.adb: Minor reformatting
+-
+-      * gnatchop.adb: Minor reformatting
+-
+-      * sem_util.ads: Minor reformatting.
+-
+-      * opt.ads: Minor documentation fix
+-
+-      * scng.adb: Minor reformatting
+-
+-      * prj-part.adb: Update comments
+-
+-2008-08-01  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_disp.adb (Expand_Interface_Conversion): If the target type is a
+-      tagged synchronized type, use corresponding record type.
+-
+-2008-08-01  Doug Rupp  <rupp@adacore.com>
+-
+-      * mlib-tgt-specific-vms-alpha.adb (Build_Dynamic_Library): Output a
+-      dummy transfer address for debugging.
+-
+-      * mlib-tgt-specific-vms-ia64.adb (Build_Dynamic_Library): Likewise.
+-
+-      * vms_data.ads: vms_data.ads: New qualfier /MACHINE_CODE_LISTING
+-
+-2008-07-31  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gcc-interface/decl.c (gnat_to_gnu_entity): Fix formatting.
+-      * gcc-interface/utils.c (create_field_decl): Avoid superfluous work.
+-
+-2008-07-31  Pascal Obry  <obry@adacore.com>
+-
+-      * prj-nmsc.adb: Keep Object and Exec directory casing.
+-
+-2008-07-31  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * system-rtx-rtss.ads
+-      Change the default stack size. It is important to set the commit part.
+-
+-      * s-taprop-rtx.adb
+-      (Initialize): Get the clock resolution.
+-      (RT_Resolution): Return the clock resolution that is indicated by the
+-      system.
+-
+-      * s-parame-vxworks.adb
+-      Document that this body is used for RTX in RTSS (kernel) mode.
+-
+-      * gcc-interface/Makefile.in
+-      (LIBGNAT_TARGET_PAIRS for the rtx_rtss run time): Use the
+-      s-parame-vxworks.adb body in order to have reasonable stack sizes in
+-      RTX RTSS kernel mode. Virtual memory is not used in that case, so we
+-      cannot ask for too big values.
+-
+-2008-07-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_aggr.adb: Minor reformatting
+-
+-      * makeutl.adb: Minor reformatting
+-
+-      * prj-env.adb: Minor reformatting
+-
+-2008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * exp_disp.adb (Prim_Op_Kind): Retrieve the full view when a private
+-      tagged type is completed by a concurrent type.
+-
+-2008-07-31  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * sem_aggr.adb:
+-      (Resolve_Record_Aggregate): Bypass error that a type without
+-      components must have a "null record" aggregate when compiling for Ada
+-      2005, since it's legal to give an aggregate of form (others => <>)
+-      for such a type.
+-
+-2008-07-31  Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_ch4.adb (Valid_First_Argument_Of): Complete its functionality to
+-      handle synchronized types. Required to handle well the object.operation
+-      notation applied to synchronized types.
+-
+-2008-07-31  Quentin Ochem  <ochem@adacore.com>
+-
+-      * s-stausa.adb (Fill_Stack): Stack_Used_When_Filling is now stored
+-      anymore - just used internally.
+-      Added handling of very small tasks - when the theoretical size is
+-      already full at the point of the call.
+-      (Report_Result): Fixed result computation, Stack_Used_When_Filling does
+-      not need to be added to the result.
+-
+-2008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * sem_ch6.adb (Disambiguate_Spec): Continue the disambiguation if the
+-      corresponding spec is a primitive wrapper. Update comment.
+-
+-2008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * bindgen.adb Comment reformatting. Update the list of run-time globals.
+-      (Gen_Adainit_Ada): Add the declaration, import and value set for
+-      configuration flag Canonical_Streams.
+-      (Gen_Adainit_C): Add the declaration and initial value of external
+-      symbol __gl_canonical_streams.
+-
+-      * init.c: Update the list of global values computed by the binder.
+-
+-      * opt.ads: Add flag Canonical_Streams.
+-
+-      * par-prag.adb (Prag): Include Pragma_Canonical_Streams to the list of
+-      semantically handled pragmas.
+-
+-      * sem_prag.adb: Add an entry into enumeration type Sig_Flags.
+-      (Analyze_Pragma): Add case for pragma Canonical_Streams.
+-
+-      * snames.adb: Add character value for name Canonical_Streams.
+-
+-      * snames.ads:
+-      Add Name_Canonical_Streams to the list of configuration pragmas.
+-      Add Pragma_Canonical_Streams to enumeration type Pragma_Id.
+-
+-      * snames.h: Add a definition for Pragma_Canonical_Streams.
+-
+-      * s-ststop.adb:
+-      Add a flag and import to seize the value of external symbol
+-      __gl_canonical_streams. Update comment and initial value of constant
+-      Use_Block_IO.
+-
+-      * gnat_rm.texi: Add section of pragma Canonical_Streams.
+-
+-      * gnat_ugn.texi:
+-      Add pragma Canonical_Streams to the list of configuration pragmas.
+-
+-2008-07-31  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch10.adb (Build_Unit_Name): If the unit name in a with_clause
+-      has the form A.B.C and B is a unit renaming, analyze its compilation
+-      unit and add a with_clause on A.b to the context.
+-
+-2008-07-31  Vincent Celier  <celier@adacore.com>
+-
+-      * makeutl.adb (Executable_Prefix_Path): If Locate_Exec_On_Path fails,
+-      return the empty string, instead of raising Constraint_Error.
+-
+-2008-07-31  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * checks.ads (Apply_Accessibility_Check): Add parameter Insert_Node.
+-
+-      * checks.adb (Apply_Accessibility_Check): Insert the check on
+-      Insert_Node.
+-
+-      * exp_attr.adb:
+-      (Expand_N_Attribute_Refernce, Attribute_Access): Pass attribute node
+-      to new parameter Insert_Node on call to Apply_Accessibility_Check.
+-      Necessary to distinguish the insertion node because the dereferenced
+-      formal may come from a rename, but the check must be inserted in
+-      front of the attribute.
+-
+-      * exp_ch4.adb:
+-      (Expand_N_Allocator): Pass actual for new Insert_Node parameter on
+-      call to Apply_Accessibility_Check.
+-      (Expand_N_Type_Conversion): Pass actual for new Insert_Node parameter
+-      on call to Apply_Accessibility_Check.
+-      Minor reformatting
+-
+-2008-07-31  Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_type.adb (Has_Compatible_Type): Complete support for synchronized
+-      types when the candidate type is a synchronized type.
+-
+-      * sem_res.adb (Resolve_Actuals): Reorganize code handling synchronized
+-      types, and complete management of synchronized types adding missing
+-      code to handle formal that is a synchronized type.
+-
+-      * sem_ch4.adb (Try_Primitive_Operation): Avoid testing attributes that
+-      are not available and cause the compiler to blowup. Found compiling
+-      test with switch -gnatc
+-
+-      * sem_ch6.adb (Check_Synchronized_Overriding): Remove local subprogram
+-      Has_Correct_Formal_Mode plus code cleanup.
+-
+-2008-07-31  Bob Duff  <duff@adacore.com>
+-
+-      * sinput.adb (Skip_Line_Terminators): Fix handling of LF/CR -- it was
+-      recognized as two end-of-lines, but it should be just one.
+-
+-2008-07-31  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_ch9.adb: Minor reformatting
+-
+-      * tbuild.ads: Fix several occurrences of incorrectly referring to
+-      Name_Find as Find_Name.
+-
+-2008-07-31  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_aggr.adb (Aggr_Size_OK): If the aggregate has a single component
+-      and the context is an object declaration with non-static bounds, treat
+-      the aggregate as non-static.
+-
+-2008-07-31  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-part.adb, prj-part.ads, prj.adb, prj.ads, prj-env.adb:
+-      Move back spec of Parse_Single_Project to body, as it is not called
+-      outside of package Prj.Part.
+-      (Project_Data): Remove components Linker_Name, Linker_Path and
+-      Minimum_Linker_Options as they are no longer set.
+-      Remove function There_Are_Ada_Sources from package Prj and move code
+-      in the only place it was used, in Prj.Env.Set_Ada_Paths.
+-
+-2008-07-31  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * mlib-utl.ads: Fix typo.
+-
+-2008-07-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_ch12.adb: Minor reformatting
+-
+-2008-07-31  Sergey Rybin  <rybin@adacore.com>
+-
+-      * gnat_ugn.texi: Change the description of the
+-      Overly_Nested_Control_Structures: now the rule always requires a
+-      positive parameter for '+R' option
+-
+-2008-07-31  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-pehage.adb: Minor reformatting
+-
+-2008-07-31  Pascal Obry  <obry@adacore.com>
+-
+-      * s-finimp.ads: Minor reformatting.
+-
+-2008-07-31  Vincent Celier  <celier@adacore.com>
+-
+-      * s-regexp.ads: Minor comment fix
+-
+-2008-07-31  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-direio.adb (Reset): Replace pragma Unmodified by Warnings (Off),
+-      so that we can compile this file successfully with -gnatc.
+-
+-2008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * exp_attr.adb (Find_Stream_Subprogram): Check the base type instead
+-      of the type when looking for stream subprograms for type String,
+-      Wide_String and Wide_Wide_String.
+-
+-      * s-ststop.adb: Change the initialization expression of constant
+-      Use_Block_IO.
+-
+-2008-07-31  Geert Bosch  <bosch@adacore.com>
+-
+-      * arit64.c:
+-      New file implementing __gnat_mulv64 signed integer multiplication with
+-      overflow checking
+-
+-      * fe.h (Backend_Overflow_Checks_On_Target): Define for use by Gigi
+-
+-      * gcc-interface/gigi.h:
+-      (standard_types): Add ADT_mulv64_decl
+-      (mulv64_decl): Define subprogram declaration for __gnat_mulv64
+-
+-      * gcc-interface/utils.c:
+-      (init_gigi_decls): Add initialization of mulv64_decl
+-
+-      * gcc-interface/trans.c:
+-      (build_unary_op_trapv): New function
+-      (build_binary_op_trapv): New function
+-      (gnat_to_gnu): Use the above functions instead of
+-      build_{unary,binary}_op
+-
+-      * gcc-interface/Makefile.in
+-      (LIBGNAT_SRCS): Add arit64.c
+-      (LIBGNAT_OBJS): Add arit64.o
+-
+-2008-07-31  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-nmsc.adb (Check_Library_Attributes): Check if Linker'Switches or
+-      Linker'Default_Switches are declared. Warn if they are declared.
+-
+-2008-07-31  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Use
+-      Insert_Actions to place the pointer declaration in the code, rather
+-      than Insert_Before_And_Analyze, so that insertions of temporaries are
+-      kept in the proper order when transient scopes are present.
+-
+-
+-2008-07-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * einfo.adb (Spec_PPC): Now defined for generic subprograms
+-
+-      * einfo.ads (Spec_PPC): Now defined for generic subprograms
+-
+-      * sem_prag.adb (Check_Precondition_Postcondition): Handle generic
+-      subprogram case
+-
+-2008-07-31  Vincent Celier  <celier@adacore.com>
+-
+-      * s-os_lib.adb: Minor comment fix
+-
+-2008-07-31  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch6.adb (Analyze_Generic_Subprogram_Body): After analysis,
+-      transfer pre/postconditions from generic copy to original tree, so that
+-      they will appear in each instance.
+-      (Process_PPCs): Do not transform postconditions into a procedure in a
+-      generic context, to prevent double expansion of check pragmas.
+-
+-      * sem_attr.adb: In an instance, the prefix of the 'result attribute
+-      can be the renaming of the
+-      current instance, so check validity of the name accordingly.
+-
+-2008-07-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * mlib-utl.ads: Minor reformatting
+-
+-2008-07-31  Ed Schonberg  <schonberg@adacore.com>
+-
+-      sem_attr.adb: 'Result can have an ambiguous prefix, and is resolved
+-      from context. This attribute must be usable in Ada95 mode.
+-      The attribute can appear in the body of a function marked
+-      Inline_Always, but in this case the postocondition is not enforced.
+-
+-      sem_prag.adb (Check_Precondition_Postcondition): within the expansion
+-      of an inlined call pre- and postconditions are legal
+-
+-2008-07-31  Vincent Celier  <celier@adacore.com>
+-
+-      * prj.adb, prj.ads, clean.adb, prj-nmsc.adb: Remove declarations that
+-      were for gprmake only
+-
+-2008-07-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * gnat_ugn.texi: Update -gnatN documentation.
+-
+-      * gnat_rm.texi: Add note about pre/postcondition
+-      pragmas not checked in conjunction with front-end inlining.
+-
+-2008-07-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-pehage.adb, g-pehage.ads: Minor reformatting
+-
+-2008-07-31  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * mlib-utl.ads, prj-makr.ads: Add comments.
+-
+-2008-07-30  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
+-
+-      * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS)
+-      [WINDOWS]: Add s-winext.o.
+-
+-2008-07-30  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      PR ada/36554
+-      * back_end.adb (Call_Back_End): Pass Standard_Boolean to gigi.
+-      * gcc-interface/gigi.h (gigi): Take new standard_boolean parameter.
+-      * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Subtype>:
+-      Set precision to 1 for subtype of BOOLEAN_TYPE.
+-      (set_rm_size): Set TYPE_RM_SIZE_NUM for BOOLEAN_TYPE.
+-      (make_type_from_size): Deal with BOOLEAN_TYPE.
+-      * gcc-interface/misc.c (gnat_print_type): Likewise.
+-      * gcc-interface/trans.c (gigi): Take new standard_boolean parameter.
+-      Set boolean_type_node as its translation in the table, as well
+-      as boolean_false_node for False and boolean_true_node for True.
+-      * gcc-interface/utils.c (gnat_init_decl_processing): Create custom
+-      8-bit boolean_type_node and set its TYPE_RM_SIZE_NUM.
+-      (create_param_decl): Deal with BOOLEAN_TYPE.
+-      (build_vms_descriptor): Likewise.
+-      (build_vms_descriptor64): Likewise.
+-      (convert): Deal with BOOLEAN_TYPE like with ENUMERAL_TYPE.
+-
+-2008-07-30  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_ch9.adb: Minor reformatting
+-
+-      * exp_util.ads (Find_Prim_Op): Document that Program_Error is raised
+-      if no primitive operation is found.
+-
+-      * exp_util.adb: (Find_Prim_Op): Add comments for previous change
+-
+-      * sem_ch8.adb: Minor reformatting
+-
+-2008-07-30  Laurent Pautet  <pautet@adacore.com>
+-
+-      * g-pehage.adb:
+-      Remove a limitation on the length of the words handled by the minimal
+-      perfect hash function generator.
+-
+-      * g-pehage.ads:
+-      Detail the use of subprograms Insert, Initialize, Compute and Finalize.
+-      Fix some typos.
+-
+-2008-07-30  Robert Dewar  <dewar@adacore.com>
+-
+-      * gnatlink.adb: Minor reformatting
+-
+-2008-07-30  Thomas Quinot  <quinot@adacore.com>
+-
+-      * rtsfind.adb (Check_RPC): Check version consistency even when not
+-      generating RCI stubs. Provide more detailed error message in case of
+-      mismatch.
+-
+-2008-07-30  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch8.adb (Analyze_Subprogram_Renaming): When renaming an attribute
+-      as a actual in an instance, check for a missing attribute to prevent
+-      program_error on an illegal program.
+-
+-      * exp_util.adb (Find_Prim_Op): Rather than Assert (False), raise program
+-      error if primitive is not found, so that exception can be handled
+-      elsewhere on illegal programs.
+-
+-2008-07-30  Robert Dewar  <dewar@adacore.com>
+-
+-      * uintp.adb (UI_GCD): Fix potential overflow
+-
+-2008-07-30  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * einfo.adb: Flag245 is now used.
+-      (Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Relax the assertion
+-      check to include functions.
+-      (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
+-      (Wrapped_Entity, Set_Wrapped_Entity): Relax the assertion check to
+-      include functions.
+-      (Write_Entity_Flags): Move flag Is_Primitive, add Is_Private_Primitive
+-      to the list of displayed flags.
+-
+-      * einfo.ads: Update comment on the usage of Is_Primitive_Wrapper and
+-      Wrapped_Entity. These two flags are now present in functions.
+-      New flag Is_Private_Primitive.
+-      (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
+-
+-      * exp_ch9.adb:
+-      (Build_Wrapper_Bodies): New subprogram.
+-      (Build_Wrapper_Body): The spec and body have been moved to in
+-      Build_Wrapper_ Bodies. Code cleanup.
+-      (Build_Wrapper_Spec): Moved to the spec of Exp_Ch9. Code cleanup.
+-      Wrappers are now generated for primitives declared between the private
+-      and full view of a concurrent type that implements an interface.
+-      (Build_Wrapper_Specs): New subprogram.
+-      (Expand_N_Protected_Body): Code reformatting. Replace the wrapper body
+-      creation mechanism with a call to Build_Wrapper_Bodies.
+-      (Expand_N_Protected_Type_Declaration): Code reformatting. Replace the
+-      wrapper spec creation mechanism with a call to Build_Wrapper_Specs.
+-      (Expand_N_Task_Body): Replace the wrapper body creation
+-      mechanism with a call to Build_Wrapper_Bodies.
+-      (Expand_N_Task_Type_Declaration): Replace the wrapper spec
+-      creation mechanism with a call to Build_Wrapper_Specs.
+-      (Is_Private_Primitive_Subprogram): New subprogram.
+-      (Overriding_Possible): Code cleanup.
+-      (Replicate_Entry_Formals): Renamed to Replicate_Formals, code cleanup.
+-
+-      * exp_ch9.ads (Build_Wrapper_Spec): Moved from the body of Exp_Ch9.
+-
+-      * sem_ch3.adb: Add with and use clause for Exp_Ch9.
+-      (Process_Full_View): Build wrapper specs for all primitives
+-      that belong to a private view completed by a concurrent type
+-      implementing an interface.
+-
+-      * sem_ch6.adb (Analyze_Subprogram_Body): When the current subprogram
+-      is a primitive of a
+-      concurrent type with a private view that implements an interface, try to
+-      find the proper spec.
+-      (Analyze_Subprogram_Declaration): Mark a subprogram as a private
+-      primitive if the type of its first parameter is a non-generic tagged
+-      private type.
+-      (Analyze_Subprogram_Specification): Code reformatting.
+-      (Disambiguate_Spec): New routine.
+-      (Find_Corresponding_Spec): Add a flag to controll the output of errors.
+-      (Is_Private_Concurrent_Primitive): New routine.
+-
+-      * sem_ch6.ads:
+-      (Find_Corresponding_Spec): Add a formal to control the output of errors.
+-
+-2008-07-30  Doug Rupp  <rupp@adacore.com>
+-
+-      * gigi.h (build_vms_descriptor64): New function prototype.
+-      (fill_vms_descriptor): Modified function prototype.
+-
+-      * utils.c (build_vms_descriptor64): New function.
+-
+-      * utils2.c (fill_vms_descriptor): Fix handling on 32bit systems.
+-
+-      * trans.c (call_to_gnu): Call fill_vms_descriptor with new third
+-      argument.
+-
+-      * decl.c (gnat_to_gnu_tree): For By_Descriptor mech, build both a
+-      64bit and 32bit descriptor and save the 64bit version as an alternate
+-      TREE_TYPE in the parameter.
+-      (make_type_from_size) <RECORD_TYPE>: Use the appropriate mode for the
+-      thin pointer.
+-
+-      * ada-tree.h (DECL_PARM_ALT, SET_DECL_PARM_ALT): New macros.
+-
+-2008-07-30  Robert Dewar  <dewar@adacore.com>
+-
+-      * make.adb: Minor reformatting
+-
+-      * mlib-utl.adb: Minor reformatting
+-
+-      * osint.ads: Minor reformatting
+-
+-2008-07-30  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * adaint.c
+-      (__gnat_file_exists): Do not use __gnat_stat for RTX.
+-      (__main for RTX in RTSS mode): Create this dummy procedure symbol to
+-      avoid the use of this symbol from libgcc.a in RTX kernel mode.
+-
+-      * cio.c
+-      (put_int, put_int_stderr, put_char, put_char_stderr): For RTX we call
+-      the function RtPrintf for console output.
+-
+-      * argv.c Do not use the environ variable for RTX.
+-
+-      * gnatlink.adb (gnatlink): The part that handles the --RTS option has
+-      been moved before the call to Osint.Add_Default_Search_Dirs in order
+-      to take into account the flags in system.ads (RTX_RTSS_Kernel_Module)
+-      from the appropriate run time.
+-
+-      * targparm.ads
+-      (RTX_RTSS_Kernel_Module_On_Target): Add this flag that is set to True if
+-      target is a RTSS module for RTX.
+-
+-      * targparm.adb (Targparm_Tags, RTX_Str, Targparm_Str): Add tag RTX for
+-      RTX_RTSS_Kernel_Module
+-      (Get_Target_Parameters): Add processing of RTX_RTSS_Kernel_Module flag.
+-
+-      * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for RTX): Use gcc
+-      exception handling mechanism for Windows and RTX in Win32 mode, but
+-      not for RTX in kernel mode (RTSS).
+-      (LIBGNAT_SRCS): Remove ada.h
+-
+-2008-07-30  Paolo Bonzini  <bonzini@gnu.org>
+-
+-      * gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove X_ADAFLAGS and
+-      T_ADAFLAGS, replace ALL_ADA_CFLAGS with ADA_CFLAGS.
+-      (ALL_ADA_CFLAGS): Remove, replace throughout with ADA_CFLAGS.
+-      * gcc-interface/Makefile.in (XCFLAGS, X_CFLAGS, X_CPPFLAGS, T_CPPFLAGS,
+-      X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS, ADA_CFLAGS,
+-      ALL_ADA_CFLAGS): Remove.
+-      (ALL_ADAFLAGS, MOST_ADAFLAGS): Remove X_ADAFLAGS and T_ADAFLAGS,
+-      replace ALL_ADA_CFLAGS with ADA_CFLAGS.
+-      (GCC_CFLAGS): Remove X_CFLAGS.
+-      (LOOSE_CFLAGS): Remove X_CFLAGS and XCFLAGS.
+-      (ALL_CPPFLAGS): Remove X_CPPFLAGS and T_CPPFLAGS.
+-      (ADA_CFLAGS): Substitute.
+-
+-2008-07-30  Laurent Guerby  <laurent@guerby.net>
+-
+-      PR ada/5911
+-      * gcc-interface/Makefile.in (MULTISUBDIR, RTSDIR): New variables.
+-      Pass MULTISUBDIR to recursive make. Use $(RTSDIR) instead of rts.
+-      Replace stamp-gnatlib* by stamp-gnatlib*-rts.
+-      * gcc-interface/Make-lang.in: Replace stamp-gnatlib2
+-      by stamp-gnatlib2-rts.
+-
+-2008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+-
+-      PR documentation/15479
+-      * gnat-style.texi: Remove AdaCore copyright statement and GPL
+-      statement for GNAT.  Add @copying stanza, use it.  Update to
+-      GFDL 1.2.  Do not list GFDL as Invariant Section, do not list
+-      title as Front-Cover Text.
+-      * gnat_rm.texi: Likewise.
+-      * gnat_ugn.texi: Likewise.
+-
+-2008-07-29  Jan Hubicka  <jh@suse.cz>
+-
+-      * trans.c (process_inlined_subprograms): Remove tree_really_inline
+-      check.
+-
+-2008-07-29  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * gcc-interface: New directory.
+-
+-      * ada-tree.def, cuintp.c, gigi.h, Makefile.in, targtyps.c, ada.h,
+-      utils.c, ada-tree.h, decl.c, lang.opt, Make-lang.in, trans.c,
+-      config-lang.in, deftarg.c, lang-specs.h, misc.c, utils2.c: Moved
+-      to gcc-interface subdirectory.
+-
+-2008-07-29  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
+-
+-      * Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Remove extra s-win32.o.
+-
+-2008-07-28  Jan Hubicka  <jh@suse.cz>
+-
+-      * misc.c (gnat_post_options): Do not set flag_no_inline.
+-
+-2008-07-28  Richard Guenther  <rguenther@suse.de>
+-
+-      Merge from gimple-tuples-branch.
+-
+-      2008-07-22  Olivier Hainque  <hainque@adacore.com>
+-
+-      * gigi.h (end_subprog_body): New ELAB_P argument, saying if
+-      this is called for an elab proc to be discarded if empty.
+-      * utils.c (end_subprog_body): Honor ELAB_P.
+-      (build_function_stub): Adjust call to end_subprog_body.
+-      * trans.c (Subprogram_Body_to_gnu): Likewise.
+-      (gigi): Reorganize processing of elab procs to prevent
+-      gimplifying twice, using the new end_subprog_body argument.
+-
+-      2008-07-19  Richard Guenther  <rguenther@suse.de>
+-
+-      * Make-lang.in (trans.o): Add tree-iterator.h dependency.
+-      (utils.o): Likewise.
+-      * trans.c: Include tree-iterator.h.
+-      (gnat_gimplify_expr): Adjust prototype.  Fix typo.
+-      (gnat_gimplify_stmt): Use SET_EXPR_LOCATION.
+-      (set_expr_location_from_node): Likewise.
+-      (gigi): Tuplify.
+-      * ada-tree.h (union lang_tree_node): Use TREE_CHAIN instead
+-      of GENERIC_NEXT.
+-      * utils.c: Include tree-iterator.h.
+-      * gigi.h (gnat_gimplify_expr): Adjust prototype.
+-
+-      2008-07-18  Aldy Hernandez  <aldyh@redhat.com>
+-
+-      * trans.c: Include gimple.h instead of tree-gimple.h.
+-      * utils.c: Same.
+-
+-      2008-07-14  Aldy Hernandez  <aldyh@redhat.com>
+-
+-      * trans.c (gnat_gimplify_expr): Use gimplify_assign.
+-
+-2008-07-25  Jan Hubicka  <jh@suse.cz>
+-
+-      * utils.c (end_subprog_body): Remove inline trees check.
+-      * misc.c (gnat_post_options): Do not set flag_inline_trees.
+-
+-2008-07-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+-
+-      * raise-gcc.c: Move tsystem.h before tm.h.
+-
+-2008-07-20  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * gnathtml.pl: New file.
+-
+-2008-07-19  Olivier Hainque  <hainque@adacore.com>
+-
+-      * targtyps.c (get_target_default_allocator_alignment): Use
+-      MALLOC_ABI_ALIGNMENT.
+-
+-2008-07-17  Olivier Hainque  <hainque@adacore.com>
+-
+-      * adaint.c (__MINGW32__ section): Include ctype.h and define
+-      a fallback ISALPHA if IN_RTS.
+-      (__gnat_is_absolute_path): Use ISALPHA instead of isalpha.
+-
+-2008-07-17  Olivier Hainque  <hainque@adacore.com>
+-
+-      * utils.c (create_var_decl_1): Relax expectations on the PUBLIC_FLAG
+-      argument, to apply to references in addition to definitions.  Prevent
+-      setting TREE_STATIC on externals.
+-      (gnat_pushdecl): Always clear DECL_CONTEXT on public externals.
+-
+-2008-07-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+-
+-      PR documentation/15479
+-      * gnat_ugn.texi (@ovar): New macro, from autoconf.texi.
+-      Replace backets around optional parameters with @ovar
+-      where possible, use @r{[}, @r{]} otherwise.
+-      Replace some @r, @i, and @emph with @var where appropriate.
+-
+-2008-07-02  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (make_type_from_size) <INTEGER_TYPE>: Fix typo and tidy up.
+-
+-2008-06-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+-
+-      * ada-tree.h (SET_TYPE_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Fix
+-      -Wc++-compat warnings.
+-      * adaint.c (__gnat_locate_regular_file, __gnat_locate_exec,
+-      __gnat_locate_exec_on_path): Likewise.
+-      * decl.c (annotate_value): Likewise.
+-      * misc.c (gnat_handle_option): Likewise.
+-      * trans.c (gnat_to_gnu, extract_encoding, decode_name,
+-      post_error_ne_tree): Likewise.
+-
+-2008-06-27  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * utils.c (convert) <CONSTRUCTOR>: When converting it to a packable
+-      version of its type, attempt to first convert its elements.
+-
+-2008-06-26  Chris Proctor  <chrisp_42@bigpond.com>
+-
+-      * Makefile.in: Fix *86 kfreebsd target specific pairs.
+-
+-2008-06-25  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      * Makefile.in: Use mlib-tgt-specific-linux.adb for sh4 as well.
+-
+-2008-06-24  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * utils2.c (known_alignment): Derive the alignment from pointed-to
+-      types only if it is otherwise unknown.
+-      <INTEGER_CST>: Tidy.
+-      <MULT_EXPR>: Likewise.
+-      <POINTER_PLUS_EXPR>: If the alignment of the offset is unknown, use
+-      that of the base.
+-
+-2008-06-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+-
+-      PR ada/36573
+-      * s-osinte-hpux-dce.ads (SA_ONSTACK): Define.
+-
+-2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+-
+-      * gnat_rm.texi (Implementation Defined Characteristics)
+-      (Standard Library Routines): Use @smallexample for indented
+-      text.  Drop Indentation outside examples.
+-      * gnat_ugn.texi: Likewise.
+-
+-2008-06-13  Olivier Hainque  <hainque@adacore.com>
+-
+-      * decl.c (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Define to 0
+-      if undefined.
+-      (gnat_to_gnu_entity) <case E_Function/Procedure>: Request stack
+-      realignment with force_align_arg_pointer attribute on foreign
+-      convention subprograms if FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.
+-
+-2008-06-13  Olivier Hainque  <hainque@adacore.com>
+-
+-      * utils.c (rest_of_record_type_compilation): When computing
+-      encodings for the components of a variable size type, early
+-      strip conversions on the current position expression to make
+-      sure it's shape is visible.  Use remove_conversions for this
+-      purpose.
+-
+-2008-06-12  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: In the case of a
+-      constrained subtype of a discriminated type, discard the fields that
+-      are beyond its limits according to its size.
+-
+-2008-06-10  Olivier Hainque  <hainque@adacore.com>
+-
+-      * utils.c (create_subprog_decl): If this is for the 'main' entry
+-      point according to the asm name, redirect main_identifier_node.
+-
+-2008-06-09  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (components_to_record): Adjust the packedness for the
+-      qualified union as well.
+-
+-2008-06-09  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * Make-lang.in: Use -gnatwns instead of -gnatws to make sytyle
+-      checks non fatal.
+-
+-2008-06-07  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      * sem_res.adb (Large_Storage_Type): A type is large if it
+-      requires as many bits as Positive to store its values and its
+-      bounds are known at compile time.
+-      * sem_ch13.adb (Minimum_Size): Note that this function returns
+-      0 if the size is not known at compile time.
+-
+-2008-06-06  Nicolas Setton  <setton@adacore.com>
+-          Olivier Hainque  <hainque@adacore.com>
+-
+-      * ada-tree.h (DECL_PARALLEL_TYPE): New language specific
+-      attribute, parallel descriptive type attached to another
+-      type for debug info generation purposes.
+-      * utils.c (add_parallel_type): New function, register
+-      parallel type to be attached to a type.
+-      (get_parallel_type): New function, fetch a registered
+-      parallel type, if any.
+-      (rest_of_record_type_compilation): Register the parallel
+-      type we make for variable size records.
+-      * gigi.h (add_parallel_type, get_parallel_type): Declare.
+-      * decl.c (gnat_to_gnu_entity, maybe_pad_type): Register the
+-      parallel debug types we make.
+-      * trans.c (extract_encoding, decode_name): New functions.
+-      (gigi): If the DWARF attribute extensions are available, setup
+-      to use them.
+-      * lang.opt: Register language specific processing request
+-      for -gdwarf+.
+-      * misc.c (gnat_dwarf_extensions): New global variable. How much
+-      do we want of our DWARF extensions. 0 by default.
+-      (gnat_handle_option) <OPT_gdwarf_>: Increment gnat_dwarf_extensions.
+-      (gnat_post_options): Map gnat_dwarf_extensions to the
+-      commonuse_gnu_debug_info_extensions for later processing.
+-
+-2008-06-04  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      * einfo.ads, einfo.adb: Remove unused flag Function_Returns_With_DSP.
+-
+-2008-06-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+-
+-      * Makefile.in (common_tools): Fix typos in $(exeext) extension.
+-      * gnat_ugn.texi (Style Checking)
+-      (Adding the Results of Compiler Checks to gnatcheck Output)
+-      (Example of Binder Output File): Fix typos.
+-      * ali.ads, einfo.ads, exp_ch4.adb, exp_ch6.adb,
+-      exp_dbug.ads, exp_dist.adb, exp_smem.adb, g-socket.ads,
+-      s-osinte-rtems.ads, s-shasto.ads, s-stausa.adb,
+-      s-stausa.ads, sem_cat.adb, sem_ch12.adb, sem_ch3.adb,
+-      sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, sem_util.ads,
+-      sinfo.ads, utils.c: Fix typos in comments.
+-      * sem_ch6.adb, vms_data.ads: Fix typos in strings.
+-
+-2008-05-29  Thomas Quinot  <quinot@adacore.com>
+-
+-      * sem_eval.adb: Minor reformatting
+-
+-2008-05-29  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch6.adb (Analyze_Subprogram_Specification): if the return type
+-      is abstract, do not apply abstractness check on subprogram if this is
+-      a renaming declaration.
+-
+-2008-05-29  Arnaud Charlet  <charlet@adacore.com>
+-
+-      PR ada/864
+-      * osint.ads, osint.adb (Program_Name): New parameter "Prog" to
+-      allow recognition of program suffix in addition to prefix.
+-
+-      * gnatchop.adb (Locate_Executable): Add support for prefix.
+-
+-      * make.adb, gnatcmd.adb, gnatlink.adb, prj-makr.adb,
+-      mlib-utl.adb: Adjust calls to Program_Name.
+-
+-2008-05-29  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_ch3.adb: Minor reformatting
+-      * sem_prag.adb: Minor reformatting
+-      * sem_res.adb: Minor reformatting
+-      * sinput-p.ads: Minor reformatting
+-
+-2008-05-29  Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_util.adb:
+-      (Abstract_Interface_List): Add missing support for full type-declaration
+-      associated with synchronized types.
+-
+-2008-05-29  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_eval.adb (Is_Same_Value): Take care of several more cases
+-
+-2008-05-28  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch5.adb (Analyze_Assignment): If the name is of a local anonymous
+-      access type, wrap the expression in a conversion to force an
+-      accessibility check.
+-
+-      * sem_aggr.adb (Aggegate_Constraint_Checks): Apply conversion to force
+-      accessibility checks even when expansion is disabled in order to
+-      generate messages in the presence of previous errors or in
+-      semantics-only mode.
+-
+-2008-05-28  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * system-lynxos-ppc.ads (Always_Compatible_Rep): Set to False.
+-      * system-lynxos-x86.ads (Always_Compatible_Rep): Set to False.
+-
+-2008-05-28  Vincent Celier  <celier@adacore.com>
+-
+-      PR ada/34446
+-      * gnat_ugn.texi: Document restriction introduced on 2007-04-20 in
+-      preprocessing expressions
+-
+-2008-05-28  Vincent Celier  <celier@adacore.com>
+-
+-      * sinput-p.adb (Source_File_Is_Subunit): Allow special character used
+-      for preprocessing
+-
+-      * sinput-p.ads: Minor comment update and reformatting
+-
+-2008-05-28  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_res.adb (Valid_Conversion): An anonymous access_to_subprogram
+-      type has a deeper level than any master only when it is the type of an
+-      access parameter.
+-
+-2008-05-28  Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_ch3.adb (Derive_Progenitor_Subprograms): Add documentation.
+-
+-2008-05-28  Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_util.ads (Find_Overridden_Synchronized_Primitive): Removed.
+-      * sem_util.adb (Find_Overridden_Synchronized_Primitive): Removed.
+-      * sem_ch6.adb (Check_Synchronized_Overriding): Remove one formal.
+-      Add code that was previously located in
+-      Find_Overridden_Synchronized_Primitive because it is only used here.
+-
+-2008-05-28  Sergey Rybin  <rybin@adacore.com>
+-
+-      * sem_prag.adb (Process_Extended_Import_Export_Subprogram_Pragma): Set
+-      Entity field for formal_parameter_NAME in MECHANISM_ASSOCIATION.
+-
+-2008-05-28  Robert Dewar  <dewar@adacore.com>
+-
+-      * restrict.ads:
+-      Add missing restrictions, and properly label all GNAT defined ones
+-
+-      * rtsfind.ads:
+-      Add entry for Ada_Real_Time.Timing_Events.Timing_Event
+-      Add entry for Ada.Task_Termination.Set_Specific_Handler
+-      Add entry for Ada.Task_Termination.Specific_Handler
+-
+-      * s-rident.ads:
+-      Add missing restrictions and properly mark all gnat defined ones
+-
+-      * sem_ch3.adb:
+-      (Analyze_Object_Declaration): Check No_Local_Timing_Events restriction
+-
+-      * sem_res.adb:
+-      (Resolve_Call): Check violation of No_Specific_Termination_Handlers
+-
+-      * gnat_rm.texi: Add missing restrictions, and properly label all
+-      GNAT defined ones
+-
+-2008-05-28  Robert Dewar  <dewar@adacore.com>
+-
+-      * restrict.adb:
+-      (Check_Restriction): violation of restriction No_Finalization is
+-      treated as a serious error to stop expansion
+-
+-2008-05-28  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_util.adb: Minor reformatting
+-      * exp_util.ads: Minor reformatting.
+-
+-2008-05-28  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * Make-lang.in: Remove gprmake.
+-
+-      * gprmake.adb, makegpr.ads, makegpr.adb: Removed.
+-
+-2008-05-28  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch3.adb (Diagnose_Interface): Cleanup error messages involving
+-      improper progenitor names, and avoid cascaded errors.
+-
+-2008-05-28  Robert Dewar  <dewar@adacore.com>
+-
+-      * gnat_rm.texi: Add note on Old giving warning when applied to constant
+-
+-      * sem_attr.adb (Analyze_Attribute, case Old): Give warning if prefix is
+-      a constant
+-
+-2008-05-28  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_fixd.adb (Build_Multiply): Correct one-off error in computing
+-      size
+-
+-2008-05-28  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_ch5.adb:
+-      (Expand_Simple_Function_Return): Copy unaligned result into temporary
+-
+-2008-05-28  Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_ch3.adb (Derive_Progenitor_Primitives): Add missing support
+-      for user-defined predefined primitives.
+-
+-      * sem_util.adb (Matches_Prefixed_View_Profile): Ditto.
+-      (Find_Overridden_Synchronized_Primitive): Ditto.
+-
+-      * sem_ch6.adb (Check_Synchronized_Overriding): Ditto.
+-
+-2008-05-27  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * a-ststio.adb, s-direio.adb:
+-      Further code clean up of previous change.
+-      Update comments.
+-
+-2008-05-27  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-nmsc.adb: Minor reformatting
+-
+-2008-05-27  Bob Duff  <duff@adacore.com>
+-
+-      * sem_ch3.adb (Build_Incomplete_Type_Declaration): In the case of an
+-      untagged private type with a tagged full type, where the full type has
+-      a self reference, create the corresponding class-wide type early, in
+-      case the self reference is "access T'Class".
+-
+-2008-05-27  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_aggr.adb (Build_Array_Aggr_Code): If component type includes
+-      tasks and context is an object declaration. create master entity before
+-      expansion.
+-
+-2008-05-27  Robert Dewar  <dewar@adacore.com>
+-
+-      * mlib-prj.adb: Minor reformatting
+-
+-      * prj-part.adb: Minor reformatting
+-
+-      * prj.ads: Minor reformatting
+-
+-      * exp_ch3.adb: Minor reformatting.
+-
+-      * sem_ch3.ads: Minor reformatting
+-
+-      * sem_eval.adb: Minor reformatting
+-
+-2008-05-27  Vincent Celier  <celier@adacore.com>
+-
+-      * gnatcmd.adb:
+-      <prefix>-gnat stack spawns gnatstack, not <prefix>-gnatstack
+-
+-2008-05-27  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_aggr.adb (Expand_Array_Aggregate): If the aggregate contains
+-      tasks, create an activation chain now, before the expansion into
+-      assignments and build-in-place calls that require the presence of an
+-      activation chain.
+-      (Backend_Processing_Possible): If the component type is inherently
+-      limited, the aggregate must be expanded into individual built-in-place
+-      assignments.
+-
+-      * sem_ch6.adb (Build_Extra_Formals): Use underlying type of result to
+-      determine whether an allocation extra parameter must be built, to
+-      handle case of a private type whose full type is a discriminated type
+-      with defaults.
+-
+-2008-05-27  Bob Duff  <duff@adacore.com>
+-
+-      * gnat_rm.texi:
+-      Document the new behavior regarding trampolines.
+-
+-2008-05-27  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * a-direio.adb, a-sequio.adb: Replace address clause by
+-      unrestricted_access, simpler and compatible with .NET.
+-
+-2008-05-27  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-part.adb:
+-      (Project_Path_Name_Of.Try_Path): Do not use Locate_Regular_File to find
+-      a project file, so that symbolic links are not resolved.
+-
+-2008-05-27  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * a-ztexio.adb, a-textio.adb, a-witeio.adb, s-direio.adb:
+-      Replace heavy address clause by 'Unrestricted_Access, cleaner and more
+-      portable across GNAT targets, since this kind of address clause is not
+-      supported by VM back-ends (.NET/JGNAT).
+-
+-2008-05-27  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * bindgen.adb: Update comments.
+-
+-      * s-tasinf-mingw.adb: Add "with" of System.OS_Interface
+-
+-2008-05-27  Vincent Celier  <celier@adacore.com>
+-
+-      * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb,
+-      prj.ads, makegpr.adb, makeutl.adb, clean.adb, prj-nmsc.adb,
+-      mlib-tgt.adb, prj-env.adb, prj-env.ads:
+-      (Path_Information): New record type
+-      Use component of type Path_Information when there are two paths, one in
+-      canonical format and one in display format.
+-      Update the project manager to these new components.
+-
+-2008-05-27  Robert Dewar  <dewar@adacore.com>
+-
+-      * makeutl.adb: Minor reformatting
+-      * prj-nmsc.adb: Minor reformatting
+-      * s-stausa.adb: Minor reformatting
+-      * s-stausa.ads: Minor reformatting
+-      * sem_ch6.adb: Minor reformatting
+-
+-2008-05-27  Thomas Quinot  <quinot@adacore.com>
+-
+-      * sem_res.adb: Minor comment fixes
+-
+-2008-05-27  Thomas Quinot  <quinot@adacore.com>
+-
+-      * makeutl.adb: Minor code reorganization
+-
+-      * exp_aggr.adb: Add ??? comment
+-      Fix typo
+-
+-      * exp_ch6.adb: Minor reformatting
+-
+-2008-05-27  Quentin Ochem  <ochem@adacore.com>
+-
+-      * s-stausa.adb (Initialize): Updated result initialization, and
+-      initialization of environment stack.
+-      (Fill_Stack): Improved computation of the pattern zone, taking into
+-      account already filled at the calling point.
+-      (Get_Usage_Range): Now uses Min_Measure and Max_Measure instead of
+-      Measure and Overflow_Guard.
+-      (Report_Result): Fixed computation of the result using new fields of
+-      Stack_Analyzer.
+-
+-      * s-stausa.ads (Initialize_Analyzer): Replaced Size / Overflow_Guard
+-      params by more explicit Stack_Size / Max_Pattern_Size params.
+-      (Stack_Analyzer): Added distinct Stack_Size & Pattern_Size fields.
+-      Added Stack_Used_When_Filling field.
+-      (Task_Result): Replaced Measure / Overflow_Guard by more explicit
+-      Min_Measure and Max_Measure fields.
+-
+-      * s-tassta.adb (Task_Wrapper): Updated call to Initialize_Analyzer.
+-
+-2008-05-27  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-nmsc.adb:
+-      (Check_File): Make sure that a unit that replaces the same unit in a
+-       project being extended is properly processed.
+-
+-2008-05-27  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch3.adb:
+-      (Get_Discr_Value): Remove obsolete code that failed to find the value
+-      of a discriminant for an inherited task component appearing in a type
+-      extension.
+-
+-2008-05-27  Thomas Quinot  <quinot@adacore.com>
+-
+-      (System.File_IO.{Close, Delete, Reset}):
+-      Change File parameter from "in out AFCB_Ptr" to "access AFCB_Ptr".
+-
+-      (Ada.*_IO.{Close, Delete, Reset, Set_Mode}):
+-      Pass File parameter by reference.
+-
+-2008-05-27  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-nmsc.adb:
+-      (Process_Sources_In_Multi_Language_Mode): Check that there are not two
+-      sources of the same project that have the same object file name.
+-      (Find_Explicit_Sources): Always remove a source exception that was not
+-      found.
+-
+-2008-05-27  Thomas Quinot  <quinot@adacore.com>
+-
+-      * sem_ch3.adb: Minor reformatting
+-
+-2008-05-27  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch6.adb:
+-      (Is_Interface_Conformant): Handle properly a primitive operation that
+-      overrides an interface function with a controlling access result.
+-      (Type_Conformance): If Skip_Controlling_Formals is true, when matching
+-      inherited and overriding operations, omit as well the conformance check
+-      on result types, to prevent spurious errors.
+-
+-2008-05-27  Vincent Celier  <celier@adacore.com>
+-
+-      * makeutl.ads, makeutl.adb:
+-      (Set_Location): New procedure
+-      (Get_Location): New function
+-      (Update_Main): New procedure
+-
+-2008-05-27  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-nmsc.adb:
+-      (Check_Library): Allow standard project to be extended as a static
+-      library project.
+-      (Get_Mains): Do not inherit attribute Main in an extending library
+-      project.
+-
+-2008-05-27  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * system-darwin-ppc.ads (Always_Compatible_Rep): Set to False.
+-      * system-darwin-x86.ads (Always_Compatible_Rep): Likewise.
+-      * system-freebsd-x86.ads (Always_Compatible_Rep): Likewise.
+-      * system-linux-ppc.ads (Always_Compatible_Rep): Likewise.
+-      * system-linux-x86_64.ads (Always_Compatible_Rep): Likewise.
+-      * system-linux-x86.ads (Always_Compatible_Rep): Likewise.
+-      * system-mingw.ads (Always_Compatible_Rep): Likewise.
+-      * system-solaris-sparc.ads (Always_Compatible_Rep): Likewise.
+-      * system-solaris-sparcv9.ads (Always_Compatible_Rep): Likewise.
+-      * system-solaris-x86.ads (Always_Compatible_Rep): Likewise.
+-
+-2008-05-27  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_attr.adb: add guard to previous patch.
+-
+-2008-05-27  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_disp.adb (Build_Dispatch_Tables): For a private type completed by
+-      a synchronized tagged type, do not attempt to build dispatch table for
+-      full view. The table is built for the corresponding record type, which
+-      has its own declaration.
+-
+-2008-05-27  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * sem_ch3.adb (Fixup_Bad_Constraint): Set the Etype on the bad subtype
+-      to the known type entity E, rather than setting it to Any_Type. Fixes
+-      possible blowup in function Base_Init_Proc, as called from Freeze_Entity
+-      for objects whose type had an illegal constraint.
+-
+-2008-05-27  Vincent Celier  <celier@adacore.com>
+-
+-      * gnat_ugn.texi:
+-      Add succinct documentation for attribute Excluded_Source_List_File
+-
+-2008-05-27  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-attr.adb: Add new project level attribute Map_File_Option
+-
+-      * prj-nmsc.adb (Process_Linker): Process new attribute Map_File_Option
+-
+-      * prj.ads: Minor reformatting and comment update
+-      (Project_Configuration): New component Map_File_Option
+-
+-      * snames.adb: New standard name Map_File_Option
+-
+-      * snames.ads: New standard name Map_File_Option
+-
+-2008-05-27  Vincent Celier  <celier@adacore.com>
+-
+-      * xsnames.adb: Remove unused variable Oname
+-
+-2008-05-27  Doug Rupp  <rupp@adacore.com>
+-
+-      * exp_ch6.adb:
+-      (Expand_N_Function_Call): Fix comments. Minor reformatting.
+-
+-      * exp_vfpt.ads:
+-      (Expand_Vax_Foreign_Return): Fix comments.
+-
+-2008-05-27  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_dist.adb: Minor reformating
+-
+-2008-05-26  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_ch3.adb (Expand_N_Object_Declaration): Remove checks for
+-      No_Default_Initialization, which is now delayed until the freeze point
+-      of the object. Add a comment about deferral of the check.
+-
+-      * freeze.adb (Freeze_Entity): The check for No_Default_Initialization
+-      on objects is moved here.
+-
+-2008-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * s-casi16.adb (Uhalf): Rewrite it as integer with small alignment.
+-      (Compare_Array_S16): Adjust for above change.
+-      * s-casi32.adb (Uword): Likewise.
+-      (Compare_Array_S32): Likewise.
+-      * s-casi64.adb (Uword): Likewise.
+-      (Compare_Array_S64): Likewise.
+-      * s-caun16.adb (Uhalf): Likewise.
+-      (Compare_Array_U16): Likewise.
+-      * s-caun32.adb (Uword): Likewise.
+-      (Compare_Array_U32): Likewise.
+-      * s-caun64.adb (Uword): Likewise.
+-      (Compare_Array_U64): Likewise.
+-
+-2008-05-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_ch6.adb: Add ??? comment for previous change
+-
+-      * exp_vfpt.adb: Minor reformatting
+-
+-      * exp_vfpt.ads: Add ??? comment for last change
+-
+-      * sem_attr.adb: Add some ??? comments for previous change
+-
+-      * s-vaflop.ads: Add comments for previous change
+-
+-2008-05-26  Doug Rupp  <rupp@adacore.com>
+-
+-      * s-vaflop-vms-alpha.adb:
+-      Remove System.IO use clause, to prevent spurious ambiguities when
+-      package is access through rtsfind.
+-
+-2008-05-26  Sergey Rybin  <rybin@adacore.com>
+-
+-      * tree_io.ads (ASIS_Version_Number): Update because of the changes
+-      made in front-end
+-
+-2008-05-26  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_attr.adb:
+-      (Resolve_Attribute, case 'address):  S (A .. B)' address can be safely
+-      converted to S (A)'address only if A .. B is known to be a non-null
+-      range.
+-
+-2008-05-26  Doug Rupp  <rupp@adacore.com>
+-
+-      * s-vaflop.adb:
+-      (Return_D, Return_F, Return_G): New functions.
+-
+-      * s-vaflop.ads:
+-      (Return_D, Return_F, Return_G): New functions.
+-
+-      * exp_vfpt.adb:
+-      (Expand_Vax_Foreign_Return): New procedure
+-
+-      * exp_vfpt.ads:
+-      (Expand_Vax_Foreign_Return): New procedure
+-
+-      * rtsfind.ads:
+-      (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Ids
+-      (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Unit_Table elements
+-
+-      * exp_ch6.adb:
+-      Import Exp_Vfpt
+-      (Expand_N_Function_Call): Call Expand_Vax_Foreign_Return.
+-
+-      * s-vaflop-vms-alpha.adb:
+-      (Return_D, Return_F, Return_G): New functions.
+-
+-2008-05-26  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_ch3.adb (Build_Array_Init_Proc): Only set Init_Proc to a dummy
+-      init proc entity when there is actual default initialization associated
+-      with the component type, to avoid spurious errors on objects of scalar
+-      array types that are marked Is_Public when No_Default_Initialization
+-      applies.
+-
+-2008-05-26  Thomas Quinot  <quinot@adacore.com>
+-
+-      * rtsfind.ads, rtsfind.adb:
+-      (RE_Get_RACW): New runtime library entity provided by PolyORB s-parint.
+-      (Check_RPC): Support per-PCS-kind API versioning.
+-
+-      exp_dist.ads, exp_dist.adb:
+-      (Build_Stub_Tag, Get_Stub_Elements): New utility subprograms.
+-      (PolyORB_Support.Add_RACW_From_Any): Offload common code to new runtime
+-       library function Get_RACW.
+-      (PolyORB_Support.Add_RACW_To_Any): Offload common code to new runtime
+-      library function Get_Reference.
+-      (PolyORB_Support.Add_RACW_Read_Attribute): Use Get_RACW instead of going
+-      through an intermediate Any.
+-      (PolyORB_Support.Add_RACW_Write_Attribute): Use Get_Reference instead of
+-      going through an intermediate Any.
+-
+-      * sem_dist.adb: Minor reformatting.
+-
+-2008-05-26  Javier Miranda  <miranda@adacore.com>
+-
+-      * einfo.ads (Abstract_Interface_Alias): Renamed as Interface_Alias.
+-      (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
+-      (Is_Internal): Adding documentation on internal entities that have
+-      attribute Interface_Alias (old attribute Abstract_Interface_Alias)
+-
+-      * einfo.adb (Abstract_Interface_Alias): Renamed as Interface_Alias.
+-      (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
+-      Added assertion to force entities with this attribute to have
+-      attribute Is_Internal set to True.
+-      (Next_Tag_Component): Simplify assertion using attribute Is_Tag.
+-
+-      * sem_ch3.adb (Derive_Interface_Subprograms): This subprogram has been
+-      renamed as Derive_Progenitor_Subprograms. In addition, its code is
+-      a new implementation.
+-      (Add_Interface_Tag_Components): Remove special management of
+-      synchronized interfaces.
+-      (Analyze_Interface_Declaration): Minor reformating
+-      (Build_Derived_Record_Type): Minor reformating
+-      (Check_Abstract_Overriding): Avoid reporting error in case of abstract
+-      predefined primitive inherited from interface type because the body of
+-      internally generated predefined primitives of tagged types are generated
+-      later by Freeze_Type
+-      (Derive_Subprogram): Avoid generating an internal name if the parent
+-      subprogram overrides an interface primitive.
+-      (Derive_Subprograms): New implementation that keeps separate the
+-      management of tagged types not implementing interfaces, from tagged
+-      types that implement interfaces.
+-      (Is_Progenitor): New implementation.
+-      (Process_Full_View): Add documentation
+-      (Record_Type_Declaration): Replace call to Derive_Interface_Subprograms
+-      by call to Derive_Progenitor_Subprograms.
+-
+-      * sem_ch6.ads (Is_Interface_Conformant): New subprogram.
+-      (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
+-      Skip_Controlling_Formals.
+-
+-      * sem_ch6.adb (Is_Interface_Conformant): New subprogram.
+-      (Check_Conventions): New implementation. Remove local subprogram
+-      Skip_Check. Remove formal Search_From of routine Check_Convention.
+-      (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
+-      Skip_Controlling_Formals.
+-      (New_Overloaded_Entity): Enable addition of predefined dispatching
+-      operations.
+-
+-      * sem_disp.ads
+-      (Find_Primitive_Covering_Interface): New subprogram.
+-
+-      * sem_disp.adb (Check_Dispatching_Operation): Disable registering
+-      the task body procedure as a primitive of the corresponding tagged
+-      type.
+-      (Check_Operation_From_Private_Type): Avoid adding twice an entity
+-      to the list of primitives.
+-      (Find_Primitive_Covering_Interface): New subprogram.
+-      (Override_Dispatching_Operation): Add documentation.
+-
+-      * sem_type.adb (Covers): Minor reformatings
+-
+-      * sem_util.ads (Collect_Abstract_Interfaces): Renamed as
+-      Collect_Interfaces.
+-      Rename formal.
+-      (Has_Abstract_Interfaces): Renamed as Has_Interfaces.
+-      (Implements_Interface): New subprogram.
+-      (Is_Parent): Removed.
+-      (Primitive_Names_Match): New subprogram.
+-      (Remove_Homonym): Moved here from Derive_Interface_Subprograms.
+-      (Ultimate_Alias): New subprogram.
+-
+-      * sem_util.adb (Collect_Abstract_Interfaces): Renamed as
+-      Collect_Interfaces.
+-      Remove special management for synchronized types. Rename formal. Remove
+-      internal subprograms Interface_Present_In_Parent and Add_Interface.
+-      (Has_Abstract_Interfaces): Renamed as Has_Interfaces. Replace assertion
+-      on non-record types by code to return false in such case.
+-      (Implements_Interface): New subprogram.
+-      (Is_Parent): Removed. No special management is now required for
+-      synchronized types covering interfaces.
+-      (Primitive_Names_Match): New subprogram.
+-      (Remove_Homonym): Moved here from Derive_Interface_Subprograms.
+-      (Ultimate_Alias): New subprogram.
+-
+-      * exp_ch3.adb (Add_Internal_Interface_Entities): New subprogram.
+-      Add internal entities associated with secondary dispatch tables to
+-      the list of tagged type primitives that are not interfaces.
+-      (Freeze_Record_Type): Add new call to Add_Internal_Interface_Entities
+-      (Make_Predefined_Primitive_Specs): Code reorganization to improve
+-      the management of predefined equality operator. In addition, if
+-      the type has an equality function corresponding with a primitive
+-      defined in an interface type, the inherited equality is abstract
+-      as well, and no body can be created for it.
+-
+-      * exp_disp.ads (Is_Predefined_Dispatching_Operation): Moved from
+-      exp_util to exp_disp.
+-      (Is_Predefined_Interface_Primitive): New subprogram. Returns True if
+-      an entity corresponds with one of the predefined primitives required
+-      to implement interfaces.
+-      Update copyright notice.
+-
+-      * exp_disp.adb (Set_All_DT_Position): Add assertion. Exclude from the
+-      final check on abstract subprograms all the primitives associated with
+-      interface primitives because they must be visible in the public and
+-      private part.
+-      (Write_DT): Use Find_Dispatching_Type to locate the name of the
+-      interface type. This allows the use of this routine, for debugging
+-      purposes, when the tagged type is not fully decorated.
+-      (Is_Predefined_Dispatching_Operation): Moved from exp_util to exp_disp.
+-      Factorize code calling new subprogram Is_Predefined_Interface_Primitive.
+-      (Is_Predefined_Interface_Primitive): New subprogram. Returns True if an
+-      entity corresponds with one of the predefined primitives required to
+-      implement interfaces.
+-
+-      * exp_util.adb (Find_Interface_ADT): New implementation
+-      (Find_Interface): Removed.
+-
+-      * sprint.adb (Sprint_Node_Actual): Generate missing output for the
+-      list of interfaces associated with nodes
+-      N_Formal_Derived_Type_Definition and N_Private_Extension_Declaration.
+-
+-2008-05-26  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add missing guard on
+-      condition for assignment to temporary.
+-
+-2008-05-26  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch4.adb (Expand_Concatenate_Other): Add explicit constraint
+-      checks on the upper bound if the index type is a modular type, to
+-      prevent wrap-around computations when size is close to upper bound of
+-      type.
+-
+-2008-05-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_ch3.adb: Minor reformatting
+-
+-2008-05-26  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch12.adb (Remove_Parent): Use specification of instance
+-      to retrieve generic parent,
+-      to handle properly the case where the instance is a child unit.
+-      Add guard to handle properly wrapper packages.
+-      Minor reformatting
+-
+-2008-05-26  Thomas Quinot  <quinot@adacore.com>
+-
+-      * sinfo.ads: Minor reformatting
+-
+-2008-05-26  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * exp_ch4.adb (Expand_N_Type_Conversion): Minor code reformatting.
+-      Generate a tag check when the result subtype of a function, defined by
+-      an access definition, designates a specific tagged type.
+-      (Make_Tag_Check): New routine.
+-
+-2008-05-26  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * ceinfo.adb, csinfo.adb: Remove warnings. Update headers.
+-
+-2008-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gigi.h (gigi): Remove bogus ATTRIBUTE_UNUSED marker.
+-      (builtin_decl_for): Likewise.
+-      * trans.c (gigi): Likewise.
+-      * utils.c (def_builtin_1): Fix formatting.
+-
+-2008-05-26  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * exp_ch3.adb (Build_Init_Statements): Alphabetize local variables.
+-      Create the statements which map a string name to protected or task
+-      entry indix.
+-
+-      * exp_ch9.adb: Add with and use clause for Stringt.
+-      Minor code reformatting.
+-      (Build_Entry_Names): New routine.
+-      (Make_Initialize_Protection, Make_Task_Create_Call): Generate a value
+-      for flag Build_Entry_Names which controls the allocation of the data
+-      structure for the string names of entries.
+-
+-      * exp_ch9.ads (Build_Entry_Names): New subprogram.
+-
+-      * exp_util.adb (Entry_Names_OK): New function.
+-
+-      * exp_util.ads (Entry_Names_OK): New function.
+-
+-      * rtsfind.ads: Add RO_PE_Set_Entry_Name and RO_TS_Set_Entry_Name to
+-      enumerations RE_Id and RE_Unit_Table.
+-
+-      * s-taskin.adb Add with and use clause for Ada.Unchecked_Deallocation.
+-      (Free_Entry_Names_Array): New routine.
+-
+-      * s-taskin.ads: Comment reformatting.
+-      Add types String_Access, Entry_Names_Array, Entry_Names_Array_Access.
+-      Add component Entry_Names to record Ada_Task_Control_Block.
+-      (Free_Entry_Names_Array): New routine.
+-
+-      * s-tassta.adb (Create_Task): If flag Build_Entry_Names is set,
+-      dynamically allocate an array
+-      of string pointers. This structure holds string entry names.
+-      (Free_Entry_Names): New routine.
+-      (Free_Task, Vulnerable_Free_Task): Deallocate the entry names array.
+-      (Set_Entry_Names): New routine.
+-
+-      * s-tassta.ads:
+-      (Create_Task): Add formal Build_Entry_Names. The flag is used to
+-      control the allocation of the data structure which stores entry names.
+-      (Set_Entry_Name): New routine.
+-
+-      * s-tpoben.adb:
+-      Add with and use clause for Ada.Unchecked_Conversion.
+-      (Finalize): Deallocate the entry names array.
+-      (Free_Entry_Names): New routine.
+-      (Initialize_Protection_Entries): When flag Build_Entry_Names is set,
+-      create an array of string pointers to hold the entry names.
+-      (Set_Entry_Name): New routine.
+-
+-      * s-tpoben.ads:
+-      Add field Entry_Names to record Protection_Entries.
+-      (Initialize_Protection_Entries): Add formal Build_Entry_Names.
+-      (Set_Entry_Name): New routine.
+-
+-2008-05-26  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-nmsc.adb:
+-      (Process_Project_Level_Simple_Attributes): process attribute Library_GCC
+-
+-      * prj.ads:
+-      (Project_Configuration): New component Shared_Lib_Driver
+-
+-2008-05-26  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * inline.adb:
+-      (Cleanup_Scopes): For a protected operation, transfer finalization list
+-      to protected body subprogram, to force cleanup actions when needed.
+-
+-2008-05-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_cat.adb: Minor reformatting
+-
+-      * gnatname.adb: Minor reformatting
+-
+-      * osint.ads: Minor reformatting
+-
+-      * s-carun8.ads: Minor reformatting
+-
+-      * g-heasor.ads: Minor comment fix (unit is now pure)
+-
+-2008-05-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_ch2.adb:
+-      (Expand_Current_Value): Properly type generated integer literal
+-
+-2008-05-26  Sergey Rybin  <rybin@adacore.com>
+-
+-      * gnat_ugn.texi: Add description for the new gnatcheck rule -
+-      Separate_Numeric_Error_Handlers.
+-
+-2008-05-26  Pascal Obry  <obry@adacore.com>
+-
+-      * sem_aggr.adb: Minor reformatting.
+-
+-2008-05-26  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * s-osinte-aix.adb:
+-      (To_Target_Priority): Setting the time slice value to 0 or greater sets
+-      the scheduling policy to FIFO within priorities or round-robin
+-      respectively.
+-      Hence, the priority must be set in this case to the one selected by the
+-      user.
+-
+-2008-05-26  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch12.adb:
+-      (Remove_Parent): If the enclosing scope is an instance whose generic
+-      parent is declared within some parent scope of the just completed
+-      instance, make full views of the entities in that parent visible, when
+-      applicable.
+-
+-2008-05-26  Kai Tietz  <kai.tietz@onevision.com>
+-
+-      * mingw32.h (STD_MINGW): Set to true for target w64.
+-
+-2008-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * trans.c (Attribute_to_gnu) <Code_Address>: Set TREE_NO_TRAMPOLINE
+-      instead of TREE_STATIC on the ADDR_EXPR.
+-
+-2008-05-24  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * trans.c (gnat_to_gnu): Do not set source location info on NOP_EXPRs.
+-      (Sloc_to_locus): Do not overwrite known GCC locations when translating
+-      GNAT standard locations.
+-
+-2008-05-23  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gigi.h (mark_visited): Declare.
+-      * decl.c (gnat_to_gnu_entity): Use mark_visited instead of marking
+-      only the topmost node of expressions.
+-      (elaborate_expression_1): Look deeper for read-only variables.
+-      * trans.c (add_decl_expr): Use mark_visited instead of marking by hand.
+-      (mark_visited): Move logic to mark_visited_r.  Invoke walk_tree.
+-      (mark_visited_r): New function.
+-
+-2008-05-23  Vincent Celier  <celier@adacore.com>
+-
+-      * snames.adb: New standard name Excluded_Source_List_File.
+-
+-      * snames.ads: New standard name Excluded_Source_List_File.
+-
+-      * prj-attr.adb: New project level attribute Excluded_Source_List_File.
+-
+-      * prj-nmsc.adb: (Find_Excluded_Sources): New parameter Project.
+-      Get excluded sources from
+-      file indicated by attribute Excluded_Source_List_File, when present and
+-      neither Excluded_Source_Files nor Locally_Removed_Files are declared.
+-
+-2008-05-23  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_dist.adb: Minor reformatting
+-
+-2008-05-23  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_attr.adb (Resolve_Attribute, case 'address): If the prefix is a
+-      slice, convert it to an indexed component, which is equivalent, more
+-      efficient, and usable even if the slice itself is not addressable.
+-
+-2008-05-23  Olivier Hainque  <hainque@adacore.com>
+-
+-      * gnat_ugn.texi (Calling Conventions): Document that the Intrinsic
+-      convention also allows access to named compiler built-in subprograms
+-      such as the GCC __builtin family.
+-
+-2008-05-23  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-nmsc.adb (Check_Naming_Schemes): Check a file for spec, body and
+-      sep. If there are several possibilities, choose the one with the
+-      longer prefix.
+-
+-2008-05-23  Vincent Celier  <celier@adacore.com>
+-
+-      * gnatlink.adb (Process_Args): Do not disable scanning of ALI file for
+-      back end switches when executable specified with --GCC= is same as
+-      default, even if there are additional options.
+-
+-      * gnat_ugn.texi:
+-      Document when the back end switches from the ALI file are taken into
+-      account when gnatlink is invoked with --GCC=
+-
+-2008-05-23  Thomas Quinot  <quinot@adacore.com>
+-
+-      * s-os_lib.adb:
+-      (copy_File): Do not open destination file if source file is unreadable.
+-
+-2008-05-23  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * utils.c (handle_type_generic_attribute): Adjust to accept
+-      fixed arguments before an elipsis.
+-
+-2008-05-21  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-sothco.ads, g-sothco.adb: New files.
+-
+-2008-05-20  Thomas Quinot  <quinot@adacore.com>
+-
+-      * Makefile.rtl (GNAT.Sockets.Thin_Common): New unit.
+-
+-      * g-sttsne-vxworks.adb: Add missing dependency on Sockets.Constants.
+-      Add missing "with" of Ada.Unchecked_Conversion
+-
+-      * g-soccon-linux-ppc.ads, g-soccon-linux-64.ads, g-soccon-lynxos.ads,
+-      g-soccon-linux-x86.ads, g-soccon-hpux-ia64.ads,
+-      g-soccon-solaris-64.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
+-      g-soccon-irix.ads, g-soccon-hpux.ads, g-soccon-solaris.ads,
+-      g-soccon-vms.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads,
+-      g-socthi-vxworks.adb, g-soccon-freebsd.ads, g-soccon.ads:
+-      Move common code out of GNAT.Sockets.Thin implementations and into
+-      Thin_Common.
+-      New constant SIZEOF_fd_set
+-      New flag Has_Sockaddr_Len
+-      New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6
+-
+-      * g-stsifd-sockets.adb
+-      (Create): Remove call to Set_Length; use Set_Family to set the family
+-      and (on appropriate platforms) length fields in struct sockaddr.
+-
+-      * g-socthi.adb, g-socthi.ads, g-socthi-vms.ads, g-socthi-vms.adb,
+-      g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.adb,
+-      g-soccon-darwin.ads, g-soccon-darwin.ads: New constant SIZEOF_fd_set
+-      Move common code out of GNAT.Sockets.Thin implementations and into
+-      Thin_Common.
+-
+-      * g-socket.ads, g-socket.adb:
+-      Move common code out of GNAT.Sockets.Thin implementations and into
+-      Thin_Common.
+-      (Connect_Socket, Accept_Socket): Provide new versions of these two
+-      routines that operate with a user specified timeout.
+-      (Bind_Socket, Connect_Socket, Send_Socket): Remove calls to Set_Length,
+-      this is now handled automatically by Set_Family on platforms that
+-      require it.
+-
+-      * gen-soccon.c:
+-      Move common code out of GNAT.Sockets.Thin implementations and into
+-      Thin_Common.
+-      (SIZEOF_sockaddr_in6): On platforms where IPv6 is not supported, define
+-      this constant to 0 (not -1) because we use it to initialize an
+-      unsigned_char value.
+-      Align values for numeric constants only.
+-      Handle the case of systems that do not support AF_INET6.
+-      New constant SIZEOF_fd_set
+-      New flag Has_Sockaddr_Len
+-      New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6
+-
+-      * gsocket.h: New flag Has_Sockaddr_Len
+-      New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6
+-
+-2008-05-20  Santiago Uruena  <uruena@adacore.com>
+-
+-      * i-cobol.ads: Interfaces.COBOL should be preelaborate.
+-
+-2008-05-20  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-linux-hppa.ads (atomic_lock_t): Put back proper alignment now that
+-      the underlying issue with malloc/free has been fixed. Remove associated
+-      comments.
+-      Minor reformatting.
+-      Related to PR ada/24533
+-
+-2008-05-20  Robert Dewar  <dewar@adacore.com>
+-
+-      * ali.adb: Correct casing of ASCII.NUL
+-
+-      * styleg-c.adb (Check_Identifier): Handle case of names in ASCII
+-      properly.
+-
+-2008-05-20  Robert Dewar  <dewar@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * checks.adb (Apply_Arithmetic_Overflow_Check): Avoid intermediate
+-      overflow if result converted to wider integer type.
+-      (Apply_Type_Conversion_Checks): Don't emit checks on conversions to
+-      discriminated types when discriminant checks are suppressed.
+-
+-2008-05-20  Vincent Celier  <celier@adacore.com>
+-
+-      * cstand.adb (Print_Standard): Issue the correct Size clause for type
+-      Wide_Wide_Character.
+-
+-2008-05-20  Tristan Gingold  <gingold@adacore.com>
+-
+-      * decl.c: Do not emit a variable for a object that has an address
+-      representation clause whose value is known at compile time.
+-      When a variable has an address clause whose value is known at compile
+-      time, refer to this variable by using directly the address instead of
+-      dereferencing a pointer.
+-
+-2008-05-20  Robert Dewar  <dewar@adacore.com>
+-
+-      PR ada/30740
+-      * einfo.ads, einfo.adb (Non_Binary_Modulus): Applies to all types and
+-      subtypes, always False for non-modular types.
+-      Shared_Var_Assign_Proc (node22) and Shared_Var_Read_Proc (node 15)
+-      entry nodes have been replaced by Shared_Var_Procs_Instance (node22)
+-      for Shared_Storage package.
+-      (Is_RACW_Stub_Type): New entity flag.
+-
+-      * exp_ch4.adb
+-      (Expand_N_Op_Expon): Avoid incorrect optimization of a*(2**b) in the
+-      case where we have a modular type with a non-binary modules.
+-      Comments reformattings.
+-
+-      * sem_intr.adb: Simplify code not that Non_Binary_Modulus applies to
+-      all types.
+-
+-2008-05-20  Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_aggr.adb
+-      (Build_Record_Aggr_Code): Fix wrong tests checking progenitors. Previous
+-      tests did not covered the case in which the type of the aggregate has
+-      no progenitors but some its parents has progenitors.
+-
+-2008-05-20  Gary Dismukes  <dismukes@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * exp_ch3.adb
+-      (Expand_N_Object_Declaration): Correct the condition which triggers the
+-      generation of a call to Displace when initializing a class-wide object.
+-      (Build_Dcheck_Functions): Build discriminant-checking for null variants
+-      when Frontend_Layout_On_Target is true to ensure that they're available
+-      for calling when a record variant size function is built in Layout.
+-
+-2008-05-20  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch5.adb (Expand_Assign_Record): Within an initialization
+-      procedure for a derived type retrieve the discriminant values from the
+-      parent using the corresponding discriminant.
+-      (Expand_N_Assignment_Statement): Skip generation of implicit
+-      if-statement associated with controlled types if we are
+-      compiling with restriction No_Finalization.
+-
+-2008-05-20  Vincent Celier  <celier@adacore.com>
+-
+-      * prj.adb (Hash (Project_Id)): New function
+-      (Project_Empty): Add new component Interfaces_Defined
+-
+-      * prj.ads (Source_Data): New component Object_Linked
+-      (Language_Config): New components Object_Generated and Objects_Linked
+-      (Hash (Project_Id)): New function
+-      (Source_Data): New Boolean components In_Interfaces and
+-      Declared_In_Interfaces.
+-      (Project_Data): New Boolean component Interfaces_Defined
+-
+-      * prj-attr.adb:
+-      New project level attribute Object_Generated and Objects_Linked
+-      Add new project level attribute Interfaces
+-
+-      * prj-dect.adb: Use functions Present and No throughout
+-      (Parse_Variable_Declaration): If a string type is specified as a simple
+-      name and is not found in the current project, look for it also in the
+-      ancestors of the project.
+-
+-      * prj-makr.adb:
+-      Replace procedure Make with procedures Initialize, Process and Finalize
+-      to implement H414-023: process different directories with different
+-      patterns.
+-      Use functions Present and No throughout
+-
+-      * prj-makr.ads:
+-      Replace procedure Make with procedures Initialize, Process and Finalize
+-
+-      * prj-nmsc.adb
+-      (Add_Source): Set component Object_Exists and Object_Linked accordnig to
+-      the language configuration.
+-      (Process_Project_Level_Array_Attributes): Process new attributes
+-      Object_Generated and Object_Linked.
+-      (Report_No_Sources): New Boolean parameter Continuation, defaulted to
+-      False, to indicate that the erreor/warning is a continuation.
+-      (Check): Call Report_No_Sources with Contnuation = True after the first
+-      call.
+-      (Error_Msg): Process successively contnuation character and warning
+-      character.
+-      (Find_Explicit_Sources): Check that all declared sources have been found
+-      (Check_File): Indicate in hash table Source_Names when a declared source
+-      is found.
+-      (Check_File): Set Other_Part when found
+-      (Find_Explicit_Sources): In multi language mode, check if all exceptions
+-      to the naming scheme have been found. For Ada, report an error if an
+-      exception has not been found. Otherwise, disregard the exception.
+-      (Check_Interfaces): New procedure
+-      (Add_Source): When Other_Part is defined, set mutual pointers in spec
+-      and body.
+-      (Check): In multi-language mode, call Check_Interfaces
+-      (Process_Sources_In_Multi_Language_Mode): Set In_Interfaces to False
+-      for an excluded source.
+-      (Remove_Source): A source replacing a source in the interfaces is also
+-      in the interfaces.
+-
+-      * prj-pars.adb: Use function Present
+-
+-      * prj-part.adb: Use functions Present and No throughout
+-      (Parse_Single_Project): Set the parent project for child projects
+-      (Create_Virtual_Extending_Project): Register project with no qualifier
+-      (Parse_Single_Project): Allow an abstract project to be extend several
+-      times. Do not allow an abstract project to extend a non abstract
+-      project.
+-
+-      * prj-pp.adb: Use functions Present and No throughout
+-      (Print): Take into account the full associative array attribute
+-      declarations.
+-
+-      * prj-proc.adb: Use functions Present and No throughout
+-      (Expression): Call itself with the same From_Project_Node for the
+-      default value of an external reference.
+-
+-      * prj-strt.adb: Use functions Present and No throughout
+-      (Parse_Variable_Reference): If a variable is specified as a simple name
+-      and is not found in the current project, look for it also in the
+-      ancestors of the project.
+-
+-      * prj-tree.ads, prj-tree.adb (Present): New function
+-      (No): New function
+-      Use functions Present and No throughout
+-      (Parent_Project_Of): New function
+-      (Set_Parent_Project_Of): New procedure
+-
+-      * snames.ads, snames.adb:
+-      Add new standard names Object_Generated and Objects_Linked
+-
+-2008-05-20  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * exp_ch6.adb (Expand_Call): Add guard to ensure that both the parent
+-      and the derived type are of the same kind.
+-      (Expand_Call): Generate type conversions for actuals of
+-      record or array types when the parent and the derived types differ in
+-      size and/or packed status.
+-
+-2008-05-20  Javier Miranda  <miranda@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_disp.adb (Make_DT, Make_Secondary_DT, Make_Tags): Avoid
+-      generating dispatch tables of locally defined tagged types statically.
+-      Remove implicit if-statement that is no longer required.
+-      (Expand_Dispatching_Call): If this is a call to an instance of the
+-      generic dispatching constructor, the type of the first argument may be
+-      a subtype of Tag, so always use the base type to recognize this case.
+-
+-2008-05-20  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_dist.adb
+-      (GARLIC_Support.Add_RACW_Read_Attribute): When a zero value is received,
+-      and the RACW is null-excluding, raise CONSTRAINT_ERROR instead of
+-      assigning NULL into the result, to avoid a spurious warning.
+-      (Add_RACW_Features, case Same_Scope): Add assertion that designated type
+-      is not frozen.
+-      (Add_Stub_Type): Set entity flag Is_RACW_Stub_Type on generated stub
+-      type.
+-      (Build_From_Any_Function, Build_To_Any_Function,
+-      Build_TypeCode_Function): For a type that has user-specified stream
+-      attributes, use an opaque sequence of octets as the representation.
+-
+-2008-05-20  Kevin Pouget  <pouget@adacore.com>
+-
+-      * exp_smem.ads, exp_smem.adb: Construction of access and assign
+-      routines has been replaced by an instantiation of
+-      System.Shared_Storage.Shared_Var_Procs generic package, while expanding
+-      shared variable declaration.
+-      Calls to access and assign routines have been replaced by calls to
+-      Read/Write routines of System.Shared_Storage.Shared_Var_Procs
+-      instantiated package.
+-
+-      * rtsfind.ads: RE_Shared_Var_Procs entry has been added in RE_Unit_Table
+-      It identifies the new generic package added in s-shasto.
+-
+-      * s-shasto.adb, s-shasto.ads: A new generic package has been added, it
+-      is instantiated for each shared passive variable. It provides
+-      supporting procedures called upon each read or write access by the
+-      expanded code.
+-
+-      * sem_attr.adb:
+-      For this runtime unit (always compiled in GNAT mode), we allow
+-      stream attributes references for limited types for the case where
+-      shared passive objects are implemented using stream attributes,
+-      which is the default in GNAT's persistent storage implementation.
+-
+-2008-05-20  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * freeze.adb
+-      (Freeze_Enumeration_Type): For a subtype that inherits a foreign
+-      convention from its base type, do not set the type to that of integer,
+-      because it may inherit a size clause.
+-      Warn on a size clause with a size different
+-      from that of Integer, if the type has convention C.
+-
+-2008-05-20  Vincent Celier  <celier@adacore.com>
+-
+-      * gnatname.adb
+-      (Scan_Args): Rewrite to take into account new switch --and to separate
+-      arguments into sections.
+-      (Gnatname): Call Prj.Makr.Initialize, then Prj.Makr.Process for each
+-      section, then Finalize.
+-
+-2008-05-20  Tristan Gingold  <gingold@adacore.com>
+-
+-      * init.c: Enable stack probing on ppc-linux.
+-
+-      * tracebak.c: Add symbolic traceback for ppc-linux.
+-
+-      * system-linux-ppc.ads: Enable stack probing on ppc-linux.
+-
+-2008-05-20  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * Makefile.in
+-      (common-tools): New rule, to avoid parallel build failure on gnat tools.
+-      Reenable parallel builds on this Makefile.
+-
+-      * Make-lang.in: Update dependencies.
+-
+-2008-05-20  Robert Dewar  <dewar@adacore.com>
+-
+-      * opt.ads (Treat_Restrictions_As_Warnings): New switch
+-
+-      * sem_prag.adb, par-prag.adb, restrict.ads: Implement flag
+-      Treat_Restrictions_As_Warnings.
+-
+-      * switch-c.adb: Recognize new switch -gnatr
+-
+-      * usage.adb: Add line for -gnatr
+-
+-2008-05-20  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * par-ch3.adb
+-      (P_Access_Definition): Change the error message when parsing "access
+-      all" in Ada 95 mode. The message no longer forces the user to recompile
+-      in 05 mode only to discover that anonymous access types are not allowed
+-      to have "all".
+-
+-2008-05-20  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * par-ch9.adb
+-      (P_Protected): Update the error message on missing "-gnat05" switch when
+-      using interfaces in conjunction with protected types. Remove the
+-      incorrect error message associated with the presence of "private" after
+-      a "with".
+-
+-2008-05-20  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_aggr.adb: Update comments.
+-      Improve previous change for PR ada/17985
+-
+-2008-05-20  Thomas Quinot  <quinot@adacore.com>
+-
+-      * sem_cat.adb
+-      (Set_Categorization_From_Scope): Do not set In_Remote_Types unless in
+-      the visible part of the spec of a remote types unit.
+-      (Validate_Remote_Access_Object_Type_Declaration):
+-      New local subprogram Is_Valid_Remote_Object_Type, replaces
+-      Is_Recursively_Limited_Private.
+-      (Validate_RACW_Primitives): Enforce E.2.2(14) rules: the types of all
+-      non-controlling formals (and the return type, even though this is not
+-      explicit in the standard) must support external streaming.
+-      (Validate_RCI_Subprogram_Declaration): Enforce E.2.3(14) rules: same
+-      as above for of RAS types and RCI subprograms. (The return type is not
+-      checked yet).
+-      Update comments related to RACWs designating limited interfaces per
+-      ARG ruling on AI05-060.
+-
+-      * sem_util.ads, sem_util.adb
+-      (Is_Remote_Access_To_Class_Wide_Type): Only rely on Is_Remote_Types and
+-      Is_Remote_Call_Interface to identify RACW types in a stable and
+-      consistent way. We used to rely in this predicate on the privateness of
+-      the designated type and its ancestors, but depending on the currently
+-      visible private parts, this caused false negatives. We now uniformly
+-      rely on checks made at the point where the RACW type is declared.
+-      (Inspect_Deferred_Constant_Completion): Moved from Sem_Ch7.
+-
+-2008-05-20  Javier Miranda  <miranda@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * sem_ch3.adb
+-      (Analyze_Object_Declaration): Fix over-conservative condition
+-      restricting use of predefined assignment with tagged types that have
+-      convention CPP.
+-      (Analyze_Object_Declaration): Relax the check regarding deferred
+-      constants declared in scopes other than packages since they can be
+-      completed with pragma Import.
+-      Add missing escaping of all-caps word 'CPP' in error messages.
+-      (Build_Discriminated_Subtype): Do not inherit representation clauses
+-      from parent type if subtype already carries them, because they are
+-      inherited earlier during derivation and already include those that may
+-      come from a partial view.
+-
+-      * sem_ch9.adb, sem_ch5.adb, sem_ch6.adb (Analyze_Subprogram_Body):
+-      Check the declarations of a subprogram body for proper deferred
+-      constant completion.
+-
+-      * sem_ch7.ads, sem_ch7.adb
+-      (Inspect_Deferred_Constant_Completion): Moved to sem_util.
+-
+-2008-05-20  Ed Schonberg  <schonberg@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-
+-      * sem_ch4.adb
+-      (Try_Indexed_Call): Handle properly a construct of the form F(S) where
+-      F is a parameterless function that returns an array, and S is a subtype
+-      mark.
+-      (Analyze_Call): Insert dereference when the prefix is a parameterless
+-      function that returns an access to subprogram and the call has
+-      parameters.
+-      Reject a non-overloaded call whose name resolves to denote
+-      a primitive operation of the stub type generated to support a remote
+-      access-to-class-wide type.
+-
+-2008-05-20  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch8.adb
+-      (Note_Redundant_Use): Diagnose a redundant use within a subprogram body
+-      when there is a use clause for the same entity in the context.
+-      (Analyze_Subprogram_Renaming): A renaming_as_body is legal if it is
+-      created for a stream attribute of an abstract type or interface type.
+-
+-2008-05-20  Thomas Quinot  <quinot@adacore.com>
+-
+-      * sem_dist.ads, sem_dist.adb (Is_RACW_Stub_Type_Operation): New
+-      subprogram.
+-
+-      * sem_type.adb
+-      (Add_One_Interp): Ignore any interpretation that is a primitive
+-      operation of an RACW stub type (these primitives are only executed
+-      through dispatching, never through static calls).
+-      (Collect_Interps): When only one interpretation has been found, set N's
+-      Entity and Etype to that interpretation, otherwise Entity and Etype may
+-      still refer to an interpretation that was ignored by Add_One_Interp,
+-      in which case would end up with being marked as not overloaded but with
+-      an Entity attribute not pointing to its (unique) correct interpretation.
+-
+-2008-05-20  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_eval.adb
+-      (Eval_Slice): Warn when a slice whose discrete range is a subtype name
+-      denotes the whole array of its prefix.
+-
+-2008-05-20  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_res.adb (Resolve_Op_Not): Warn on double negation
+-
+-2008-05-20  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sprint.adb
+-      (Print_Itype): Do not modify the sloc of the component type of a
+-      (packed) array itype, because it is an unrelated type whose source
+-      location is independent of the point of creation of the itype itself.
+-
+-2008-05-20  Thomas Quinot  <quinot@adacore.com>
+-
+-      * uintp.adb, urealp.adb: Replace calls to Increment_Last + Set with
+-      Append.
+-
+-2008-05-20  Robert Dewar  <dewar@adacore.com>
+-          Vincent Celier  <celier@adacore.com>
+-
+-      * vms_data.ads: Add entry for -gnatr
+-      Put GNAT SYNC section in proper alpha order
+-      Add VMS qualifier /DISPLAY_PROGRESS equivalent to gnatmake switch -d
+-
+-      * gnat_ugn.texi: Add documentation for new gnatname switch --and
+-      Update the style checks section
+-      Add documentation of -gnatr
+-      Add to the "Adding the Results of Compiler Checks to gnatcheck Output"
+-      subsection the explanation how compiler checks should be disabled for
+-      gnatcheck.
+-      Update the list of Ada 95 reserved words used by in the project language
+-      Add documentation for project qualifiers.
+-      Document that abstract projects may be extended by different projects in
+-      the same project tree.
+-      Add documentation for gnatmake switch -d
+-
+-      * ug_words: Add -gnatyy VMS equivalence string.
+-      Add entry for -gnatr
+-
+-2008-05-20  Bob Duff  <duff@adacore.com>
+-
+-      * a-rttiev.adb
+-      (Set_Handler): Remove code from both of these that implements
+-      RM-D.15(15/2), because it causes a race condition and potential
+-      deadlock.
+-      (Process_Queued_Events): Add comment explaining "exception when others
+-      => null". Add clarifying ".all", even though implicit .all is legal
+-      here.
+-
+-2008-05-20  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-winext.ads: Replace representation clause by pragma Pack. Gives
+-      equivalent representation, but has the advantage of allowing
+-      compilation of this file under 64 bits platforms.
+-
+-      * s-os_lib.adb (Normalize_Pathname): Mark Cur_Dir constant.
+-
+-      * s-osinte-irix.ads: (Alternate_Stack_Size): Add dummy declaration.
+-
+-      * adaint.c:
+-      Don't define dummy implementation of convert_addresses on ppc-linux.
+-
+-2008-05-20  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch7.adb
+-      (Expand_Ctrl_Function_Call): Do not attach result to finalization list
+-      if expression is aggregate component.
+-
+-2008-05-20  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-byorma.adb, gnatlink.adb, prepcomp.adb, sinfo.ads,
+-      sem_ch12.adb: Update comments. Minor reformatting.
+-
+-      * exp_ch2.adb: Typo
+-
+-      * s-unstyp.ads: Fixed some typos in comments.
+-
+-2008-05-20  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-taspri-vxworks.ads (Task_Address, Task_Address_Size): New
+-      type/constant.
+-
+-      * g-socthi-vxworks.ads: Update to latest socket changes.
+-
+-      * a-caldel-vms.adb: Resync with a-caldel spec.
+-
+-      * exp_ch9.ads, sem_ch8.ads, inline.adb: Minor reformatting.
+-      Update comments.
+-
+-2008-05-17  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * trans.c (gnat_to_gnu) <N_Validate_Unchecked_Conversion>: Account
+-      for dummy types pointed to by the converted pointer types.
+-
+-2008-05-15  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * trans.c (add_decl_expr): At toplevel, mark the TYPE_ADA_SIZE field
+-      of records and unions.
+-      (gnat_to_gnu) <N_Validate_Unchecked_Conversion>: Fix formatting.
+-
+-2008-05-14  Samuel Tardieu  <sam@rfc1149.net>
+-          Robert Dewar <dewar@adacore.com>
+-
+-      * sem_attr.adb (Analyze_Attribute, Attribute_Old case): Add
+-      restrictions to the prefix of 'Old.
+-      * sem_util.ads, sem_util.adb (In_Parameter_Specification): New.
+-      * gnat_rm.texi ('Old): Note that 'Old cannot be applied to local
+-      variables.
+-
+-2008-05-13  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      PR ada/24880
+-      PR ada/26635
+-      * utils.c (convert) <INTEGER_TYPE>: When converting an additive
+-      expression to an integral type with lower precision, use NOP_EXPR
+-      directly in a couple of special cases.
+-
+-2008-05-12  Samuel Tardieu  <sam@rfc1149.net>
+-          Ed Schonberg <schonberg@adacore.com>
+-
+-      * sem_ch3.adb (Build_Derived_Record_Type): Accept statically matching
+-      constraint expressions.
+-
+-2008-05-12  Tomas Bily  <tbily@suse.cz>
+-
+-      * utils2.c (known_alignment, contains_save_expr_p)
+-      (gnat_mark_addressable): Use CASE_CONVERT.
+-      * decl.c (annotate_value): Likewise.
+-      * trans.c (maybe_stabilize_reference): Likewise.
+-      * utils2.c (build_binary_op): Use CONVERT_EXPR_P.
+-      * utils.c (rest_of_record_type_compilation): Likewise.
+-      * trans.c (protect_multiple_eval, Attribute_to_gnu)
+-      (protect_multiple_eval): Likewise.
+-
+-2008-05-08  Andreas Schwab  <schwab@suse.de>
+-
+-      * utils.c (handle_pure_attribute, init_gigi_decls): Rename
+-      DECL_IS_PURE to DECL_PURE_P.
+-
+-2008-05-05  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (maybe_pad_type): Add ??? comment.
+-
+-2008-05-03  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (components_to_record): Zero the alignment of the qualified
+-      union built for the variant part upon creating it.
+-
+-2008-05-03  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (maybe_pad_type): Try to get a form of the type with integral
+-      mode even if the alignment is not a factor of the original size.  But
+-      make sure to create the inner field with the original size.  Reorder.
+-      * trans.c (addressable_p) <COMPONENT_REF>: Treat the field of a padding
+-      record as always addressable.
+-      * utils.c (convert): Deal specially with conversions between original
+-      and packable versions of a record type.
+-      * utils2.c (build_binary_op) <MODIFY_EXPR>: Be more restrictive when
+-      recognizing an assignment between padded objects.
+-
+-2008-05-01  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (make_packable_type): Resize the last component to its RM size
+-      only if it is of an aggregate type.
+-      * trans.c (call_to_gnu): Fix nit in comment.
+-      (gnat_to_gnu): Likewise.
+-
+-2008-04-30  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      * Makefile.in: Adapt sh4-linux target.
+-
+-2008-04-29  Ed Schonberg  <schonberg@adacore.com>
+-
+-      PR ada/35792
+-      * sem_ch3.adb (Find_Type_Name): Refuse completion of an incomplete
+-      tagged type by an untagged protected or task type.
+-
+-2008-04-28  Eric Botcazou  <ebotcazou@adacore.com>
+-          Tristan Gingold  <gingold@adacore.com>
+-
+-      PR ada/36007
+-      * decl.c (gnat_to_gnu_entity) <object>: Do not promote alignment
+-      of aliased objects with an unconstrained nominal subtype.
+-      Cap the promotion to the effective alignment of the word mode.
+-
+-2008-04-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+-
+-      * Make-lang.in (ada.tags, check-acats, ada/treeprs.ads)
+-      (ada/einfo.h, ada/sinfo.h, ada/nmake.adb, ada/nmake.ads):
+-      Use '&&' instead of ';'.
+-
+-2008-04-24  Olivier Hainque  <hainque@adacore.com>
+-
+-      * trans.c (Attribute_to_gnu) <case Attr_Length>: Length computation
+-      doesn't require signed arithmetic anymore.
+-
+-2008-04-23  Paolo Bonzini  <bonzini@gnu.org>
+-
+-      * trans.c (Attribute_to_gnu): Don't set TREE_INVARIANT.
+-      (call_to_gnu): Don't set TREE_INVARIANT.
+-      * utils2.c (gnat_build_constructor): Don't set TREE_INVARIANT.
+-
+-2008-04-22  Joel Sherrill <joel.sherrill@oarcorp.com>
+-
+-      * s-osinte-rtems.adb: Add sigalstack function.
+-      * s-osinte-rtems.ads: Add SO_ONSTACK and sigalstack
+-      function. Add Alternate_Stack and Alternate_Stack_Size.
+-      Add missing process_shared field to pthread_condattr_t
+-      and change ss_low_priority to int from timespec.
+-
+-2008-04-22  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      * i-forbla.adb: Link against -llapack and -lblas by default
+-      instead of the private -lgnalasup.
+-
+-2008-04-21  Olivier Hainque  <hainque@adacore.com>
+-
+-      Access to most C builtins from Ada
+-      * utils.c: #include "langhooks.h" and define GCC_DIAG_STYLE.
+-      (handle_pure_attribute, handle_novops_attribute,
+-      handle_nonnull_attribute, handle_sentinel_attribute,
+-      handle_noreturn_attribute, handle_malloc_attribute,
+-      handle_type_generic_attribute): New attribute handlers, from C fe.
+-      (gnat_internal_attribute_table): Map the new handlers.
+-      (gnat_init_decl_processing): Move call to gnat_install_builtins to ...
+-      (init_gigi_decls): ... here.
+-      (handle_const_attribute, handle_nothrow_attribute, builtin_decl_for):
+-      Move to a section dedicated to builtins processing.
+-      (build_void_list_node, builtin_type_for_size): New functions.
+-      (def_fn_type, get_nonnull_operand): Likewise.
+-      (install_builtin_elementary_type, install_builtin_function_types,
+-      install_builtin_attributes): Likewise.
+-      (fake_attribute_handler): Fake handler for attributes we don't
+-      support in Ada.
+-      (def_builtin_1): New function, worker for DEF_BUILTIN.
+-      (install_builtin_functions): New function.
+-      (gnat_install_builtins): Move to the builtins processing section.
+-      Now calling the newly introduced installers.
+-
+-2008-04-20  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <object>: Also promote the alignment of
+-      constant objects, but not exceptions.
+-      * trans.c (add_decl_expr): Use gnat_types_compatible_p for type
+-      compatibility test.
+-      * utils.c (create_var_decl_1): Likewise.
+-      * utils2.c (build_binary_op) <MODIFY_EXPR>: Also use the padded view of
+-      the type when copying to padded object and the source is a constructor.
+-
+-2008-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <object>: When trying to promote the
+-      alignment, reset it to zero if it would end up not being greater
+-      than that of the type.
+-
+-2008-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (maybe_pad_type): Only generate the XVS parallel type if
+-      the padded type has a variable size.
+-
+-2008-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Use the return by
+-      target pointer mechanism as soon as the size is not constant.
+-
+-2008-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gigi.h (create_var_decl_1): Declare.
+-      (create_var_decl): Turn into a macro invoking create_var_decl_1.
+-      (create_true_var_decl): Likewise.
+-      * utils.c (create_var_decl_1): Make global and reorder parameters.
+-      (create_var_decl): Delete.
+-      (create_true_var_decl): Likewise.
+-
+-2008-04-17  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <object>: Promote the alignment of
+-      objects by default.
+-      * fe.h (Debug_Flag_Dot_A): Delete.
+-      * debug.adb (-gnatd.a): Update documentation.
+-
+-2008-04-17  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      * g-socket.ads, g-socket.adb (Get_Address): Make Stream a
+-      "not null" parameter.
+-
+-2008-04-17  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      * g-socket.adb: Add a message "IPv6 not supported" to the
+-      Socket_Error exception.
+-
+-2008-04-16  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      PR ada/29015
+-      * sem_ch12.adb (Instantiate_Type): Check whether the full view of
+-      the type is known instead of the underlying type.
+-
+-2008-04-15  Ed Schonberg  <schonberg@adacore.com>
+-
+-      PR ada/22387
+-      * exp_ch5.adb (Expand_Assign_Record): Within an initialization
+-      procedure for a derived type retrieve the discriminant values from
+-      the parent using the corresponding discriminant.
+-
+-2008-04-15  Samuel Tardieu  <sam@rfc1149.net>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      PR ada/28733
+-      * sem_ch8.adb (Analyze_Use_Package): Do not allow "use" of something
+-      which is not an entity (and hence not a package).
+-      (End_Use_Package): Ditto.
+-
+-2008-04-15  Ed Schonberg  <schonberg@adacore.com>
+-
+-      PR ada/16086
+-      * sem_ch12.adb (Analyze_Formal_Subprogram): The default can be any
+-      protected operation that matches the signature, not only an entry, a
+-      regular subprogram or a literal.
+-
+-2008-04-15  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * ada-tree.h (DECL_BY_COMPONENT_PTR_P): Use DECL_LANG_FLAG_3.
+-      * decl.c (gnat_to_gnu_entity) <object>: Call maybe_pad_type only
+-      if a size or alignment is specified.  Do not take into account
+-      alignment promotions for the computation of the object's size.
+-      <type>: Call maybe_pad_type only if a size or alignment is specified.
+-      (maybe_pad_type): Really reuse the RM_Size of the original type if
+-      requested.
+-      * trans.c (Attribute_to_gnu): Fix a couple of nits.
+-      * utils2.c (build_binary_op) <MODIFY_EXPR>: Merge related conditional
+-      statements.  Use the padded view of the type when copying between
+-      padded objects of the same underlying type.
+-
+-2008-04-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+-
+-      * vms_data.ads: Fix typo in constant.
+-      * gen-soccon.c: Fix typo in error string.
+-      * gnat_rm.texi (Pragma Optimize_Alignment, Pragma Postcondition):
+-      Fix typos.
+-      * a-calcon.ads, a-calend-vms.adb, a-calend.adb, a-crdlli.ads,
+-      bcheck.adb, checks.adb, einfo.ads, errout.adb, erroutc.adb,
+-      erroutc.ads, exp_attr.adb, exp_ch11.adb, exp_ch2.adb,
+-      exp_ch5.adb, exp_ch9.adb, exp_ch9.ads, exp_pakd.adb,
+-      exp_util.adb, fmap.adb, g-soccon-linux-mips.ads,
+-      g-soccon-rtems.ads, g-timsta.adb, g-timsta.ads, lib-writ.ads,
+-      mlib-tgt-specific-linux.adb, mlib-tgt-specific-tru64.adb,
+-      s-interr-vxworks.adb, s-interr.adb, s-osinte-lynxos.ads,
+-      s-rident.ads, s-taprop-solaris.adb, s-tassta.adb, s-win32.ads,
+-      sem_aggr.adb, sem_attr.ads, sem_ch10.adb, sem_ch13.ads,
+-      sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb,
+-      sem_prag.ads, sem_res.adb, sem_util.adb, sem_util.ads,
+-      sinfo.ads: Fix typos in comments.
+-
+-2008-04-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_prag.adb (Analyze_Pragma, Linker_Section case): Extend error
+-      to every non-object and change error message.
+-
+-2008-04-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_util.ads, sem_util.adb (In_Subprogram): Remove.
+-      * sem_attr.adb (Anayze_Attribute): Check for Current_Subprogram
+-      directly.
+-
+-2008-04-14  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      PR ada/18680
+-      * sem_prag.adb (Analyze_Pragma, Linker_Section case): Refuse to
+-      apply pragma Linker_Section on type.
+-
+-2008-04-14  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      PR ada/16098
+-      * sem_prag.adb (Error_Pragma_Ref): New.
+-      (Process_Convention): Specialized message for non-local
+-      subprogram renaming. Detect the problem in homonyms as well.
+-
+-2008-04-14  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      PR ada/15915
+-      * sem_util.ads, sem_util.adb (Denotes_Variable): New function.
+-      * sem_ch12.adb (Instantiate_Object): Use it.
+-      * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ensure that
+-      storage pool denotes a variable as per RM 13.11(15).
+-
+-2008-04-14  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      * sem_util.ads, sem_util.adb (In_Subprogram): New function.
+-      * sem_attr.adb (Analyze_Attribute, Attribute_Old case): Use it.
+-
+-2008-04-14  Rolf Ebert  <rolf.ebert.gcc@gmx.de>
+-
+-      PR ada/20822
+-      * xgnatugn.adb (Put_Line): New procedure, ensuring Unix
+-      line endings even on non-Unix platforms.
+-
+-2008-04-14  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      PR ada/35050
+-      * xref_lib.adb (Parse_Identifier_Info): Correctly parse and ignore the
+-      renaming information.
+-
+-2008-04-13  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      PR ada/17985
+-      * sem_aggr.adb (Valid_Ancestor_Type): A type is not an ancestor of
+-      itself.
+-
+-2008-04-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+-
+-      * sfn_scan.adb, sfn_scan.ads, sinfo.ads,
+-      sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput.ads,
+-      snames.ads, sprint.adb, stand.ads, stringt.ads,
+-      styleg.adb, styleg.ads, stylesw.adb, stylesw.ads,
+-      switch.ads, sysdep.c, table.adb, table.ads,
+-      targparm.ads, tb-gcc.c, tbuild.ads, tracebak.c,
+-      trans.c, tree_io.adb, treepr.adb, types.adb, types.ads,
+-      uintp.adb, uintp.ads, utils.c, utils2.c, validsw.ads,
+-      vms_conv.adb, vms_conv.ads, vms_data.ads, widechar.adb,
+-      widechar.ads, xeinfo.adb, xgnatugn.adb, xr_tabls.adb,
+-      xr_tabls.ads, xref_lib.adb, xref_lib.ads, xsinfo.adb:
+-      Fix comment typos.
+-
+-      * sem_ch10.adb, sem_ch10.ads,
+-      sem_ch12.adb, sem_ch12.ads, sem_ch13.adb, sem_ch13.ads,
+-      sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
+-      sem_ch6.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb,
+-      sem_elab.adb, sem_elab.ads, sem_elim.ads, sem_eval.adb,
+-      sem_eval.ads, sem_intr.adb, sem_mech.adb, sem_mech.ads,
+-      sem_prag.adb, sem_prag.ads, sem_res.adb, sem_res.ads,
+-      sem_type.adb, sem_util.adb, sem_util.ads, sem_warn.adb,
+-      sem_warn.ads: Fix comment typos.
+-
+-      * s-secsta.adb, s-sequio.ads, s-shasto.ads,
+-      s-soflin.ads, s-stalib.ads, s-stausa.adb,
+-      s-stausa.ads, s-strxdr.adb, s-taenca.adb, s-taenca.ads,
+-      s-taprob.adb, s-taprop-hpux-dce.adb, s-taprop-irix.adb,
+-      s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-posix.adb,
+-      s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
+-      s-taprop-vxworks.adb, s-taprop.ads, s-tarest.adb,
+-      s-tarest.ads, s-tasini.adb, s-tasini.ads, s-taskin.ads,
+-      s-tasque.ads, s-tassta.adb, s-tassta.ads, s-tasuti.ads,
+-      s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
+-      s-tpopsp-posix.adb, s-tpopsp-rtems.adb, s-tposen.adb,
+-      s-tposen.ads, s-traceb-hpux.adb, s-traces.ads,
+-      s-trafor-default.ads, s-unstyp.ads, s-utf_32.ads,
+-      s-vaflop.adb, s-vaflop.ads, s-valrea.adb, s-valuti.adb,
+-      s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, scans.ads,
+-      scn.adb, scng.adb, seh_init.c, sem.ads, sem_aggr.adb,
+-      sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
+-      sem_cat.adb, sem_cat.ads: Fix comment typos.
+-
+-2008-04-12  Joel Sherrill  <joel@oarcorp.com>
+-
+-      PR ada/35825
+-      * g-soccon-rtems.ads: Add IP_PKTINFO as unsupported.
+-
+-2008-04-12  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-linux-hppa.ads: Fix syntax errors.
+-
+-2008-04-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+-
+-      * gnat_ugn.texi: Fix typos.
+-      * raise-gcc.c, repinfo.adb, repinfo.ads, restrict.adb,
+-      restrict.ads, rtsfind.adb, rtsfind.ads, s-arit64.ads,
+-      s-asthan-vms-alpha.adb, s-auxdec.ads, s-casuti.ads,
+-      s-fatflt.ads, s-fatgen.adb, s-fatlfl.ads,
+-      s-fatllf.ads, s-fatsfl.ads, s-filofl.ads,
+-      s-finimp.adb, s-finroo.ads, s-fishfl.ads,
+-      s-fvadfl.ads, s-fvaffl.ads, s-fvagfl.ads,
+-      s-hibaen.ads, s-htable.ads, s-imgcha.adb,
+-      s-imgenu.ads, s-imgint.adb, s-imgrea.adb,
+-      s-inmaop-dummy.adb, s-inmaop.ads, s-interr-vms.adb,
+-      s-interr-vxworks.adb, s-interr.adb, s-interr.ads,
+-      s-intman-vxworks.ads, s-intman.ads, s-mastop-irix.adb,
+-      s-os_lib.adb, s-os_lib.ads, s-osinte-aix.ads,
+-      s-osinte-darwin.ads, s-osinte-freebsd.ads,
+-      s-osinte-hpux.ads, s-osinte-lynxos-3.adb,
+-      s-osinte-lynxos-3.ads, s-osinte-lynxos.ads,
+-      s-osinte-rtems.ads, s-osinte-solaris-posix.ads,
+-      s-osprim-mingw.adb, s-osprim-vms.adb, s-parame-ae653.ads,
+-      s-parame-hpux.ads, s-parame-vms-alpha.ads,
+-      s-parame-vms-ia64.ads, s-parame-vms-restrict.ads,
+-      s-parame-vxworks.ads, s-parame.ads, s-parint.adb,
+-      s-parint.ads, s-poosiz.adb, s-proinf-irix-athread.ads,
+-      s-proinf.ads, s-regexp.adb, s-regpat.adb, s-regpat.ads,
+-      s-rident.ads: Fix comment typos.
+-
+-2008-04-09  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      PR ada/28305
+-      * sem_ch6.adb (Build_Body_To_Inline): Do not save and restore
+-      environment if generic instance is a top-level one.
+-
+-2008-04-09  Doug Rupp  <rupp@adacore.com>
+-
+-      * decl.c (validate_size): Set minimum size for fat pointers same as
+-      access types. Code clean ups.
+-
+-      * gmem.c (xstrdup32): New macro for 32bit dup on VMS, noop otherwise
+-      (__gnat_gmem_a2l_initialize): Dup exename into 32 bit memory on VMS
+-
+-      * s-auxdec-vms_64.ads, s-auxdec.ads (Short_Address_Size): New constant
+-
+-      * s-crtl.ads (malloc32) New function, alias for malloc
+-      (realloc32) New function, alias for realloc
+-
+-      * socket.c (__gnat_new_socket_set): Malloc fd_set in 32 bits on VMS
+-
+-      * utils2.c (build_call_alloc_dealloc): Return call to short malloc if
+-      allocator size is 32 and default pointer size is 64.
+-      (find_common_type): Document assumption on t1/t2 vs lhs/rhs. Force use of
+-      lhs type if smaller, whatever the modes.
+-
+-      * gigi.h (malloc32_decl): New macro definition
+-
+-      * utils.c (init_gigi_decls): New malloc32_decl
+-      Various code clean ups.
+-
+-      * s-asthan-vms-alpha.adb (Process_AST.To_Address): Unchecked convert to
+-      Task_Address vice System.Address.
+-
+-      * s-taspri-vms.ads: Import System.Aux_DEC
+-      (Task_Address): New subtype of System.Aux_DEC.Short_Address
+-      (Task_Address_Size): New constant size of System.Aux_DEC.Short_Address
+-
+-      * s-asthan-vms-alpha.adb (Process_AST.To_Address): Unchecked convert to
+-      Task_Address vice System.Address.
+-
+-      * s-inmaop-vms.adb: Import System.Task_Primitives
+-      (To_Address): Unchecked convert to Task_Address vice System.Address
+-
+-      * s-taprop-vms.adb (Timed_Delay): Always set the timer even if delay
+-      expires now.
+-      (To_Task_ID) Unchecked convert from Task_Adddress vice System.Address
+-      (To_Address) Unchecked convert to Task_Address vice System.Address
+-
+-      * s-tpopde-vms.adb: Remove unnecessary warning pragmas
+-
+-      * g-socthi-vms.ads: Add 32bit size clauses on socket access types.
+-
+-2008-04-08  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gigi.h (standard_datatypes): Add ADT_fdesc_type and ADT_null_fdesc.
+-      (fdesc_type_node): Define.
+-      (null_fdesc_node): Likewise.
+-      * decl.c (gnat_to_gnu_entity) <E_Access_Subprogram_Type>: If the target
+-      uses descriptors for vtables and the type comes from a dispatch table,
+-      return the descriptor type.
+-      * trans.c (Attribute_to_gnu) <Attr_Unrestricted_Access>: If the target
+-      uses descriptors for vtables and the type comes from a dispatch table,
+-      build a descriptor in the static case and copy the existing one in the
+-      non-static case.
+-      (gnat_to_gnu) <N_Null>: If the target uses descriptors for vtables and
+-      the type is a pointer-to-subprogram coming from a dispatch table,
+-      return the null descriptor.
+-      <N_Unchecked_Type_Conversion>: If the target uses descriptors for
+-      vtables, the source type is the descriptor type and the target type
+-      is a pointer type, first build the pointer.
+-      * utils.c (init_gigi_decls): If the target uses descriptors for vtables
+-      build the descriptor type and the null descriptor.
+-
+-2008-04-08  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (prepend_attributes): Fix typo.
+-      * trans.c (Pragma_to_gnu): Likewise.
+-      * utils.c (gnat_genericize): Likewise.
+-
+-2008-04-08  Eric Botcazou  <ebotcazou@adacore.com>
+-          Richard Kenner  <kenner@adacore.com>
+-
+-      * ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Only set it when bit-packed.
+-      * decl.c (gnat_to_gnu_entity): Adjust for above change.
+-      <E_Record_Type>: Try to get a better form of the component for
+-      packing, even if it has an integral mode.
+-      <E_Record_Subtype>: Likewise.
+-      * trans.c (gnat_to_gnu): Do not require BLKmode for the special
+-      exception suppressing the final conversion between record types.
+-
+-2008-04-08  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <object>: If -gnatd.a and not optimizing
+-      alignment for space, promote the alignment of non-scalar variables with
+-      no size and alignment.
+-      * gigi.h (gnat_types_compatible_p): Declare.
+-      * misc.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Set to above predicate.
+-      * trans.c (gnat_to_gnu): Revert revision 129339 change.  Minor cleanup.
+-      * utils.c (gnat_types_compatible_p) : New predicate.
+-      (convert): Use it throughout to test for cases where a mere view
+-      conversion is sufficient.
+-      * utils2.c (build_binary_op): Minor tweaks.
+-      (build_unary_op): Likewise.
+-
+-2008-04-08  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (adjust_packed): Expand comment.
+-
+-2008-04-08  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-tasuti.ads: Use Task_Address instead of System.Address.
+-
+-      * makeutl.adb (Path_Or_File_Name): New function
+-
+-      * nlists.ads, itypes.ads: Update comments.
+-
+-      * s-crtl.ads (malloc32, realloc32): New functions.
+-
+-      * s-auxdec.ads (Short_Address_Size): New constant.
+-
+-      * a-taside.adb, s-tasdeb.adb: Use Task_Address.
+-
+-      * s-ststop.ads, s-ststop.adb: New file.
+-
+-      * exp_tss.ads, s-taprop-lynxos.adb: Update comments.
+-      Minor reformatting.
+-
+-2008-04-08  Pascal Obry  <obry@adacore.com>
+-
+-      * g-sercom.ads, g-sercom.adb (Data_Rate): Add B115200.
+-      (Stop_Bits_Number): New type.
+-      (Parity_Check): Likewise.
+-      (Set): Add parameter to set the number of stop bits and
+-      the parity. Parameter timeout is now a duration instead
+-      of a plain integer.
+-
+-      * g-sercom-linux.adb:
+-      Implement the stop bits and parity support for GNU/Linux.
+-      Fix handling of timeout, it must be given in tenth of seconds.
+-
+-      * g-sercom-mingw.adb:
+-      Implement the stop bits and parity support for Windows.
+-      Use new s-win32.ads unit instead of declaring Win32 services
+-      directly into this body.
+-      Update handling of timeout as now a duration.
+-
+-      * s-win32.ads, s-winext.ads: New files.
+-
+-2008-04-08  Eric Botcazou  <ebotcazou@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-osinte-linux-alpha.ads, s-osinte-linux-hppa.ads: Removed.
+-
+-      s-taspri-posix-noaltstack.ads, s-linux.ads, s-linux-alpha.ads,
+-      s-linux-hppa.ads: New files. Disable alternate stack on ia64-hpux.
+-
+-      * s-osinte-lynxos-3.ads,
+-      (Alternate_Stack): Remove when not needed. Simplify declaration
+-      otherwise.
+-      (Alternate_Stack_Size): New constant.
+-
+-      s-osinte-mingw.ads, s-taprop-mingw.adb: Code clean up: avoid use of
+-      'Unrestricted_Access.
+-
+-      * s-osinte-hpux.ads, s-osinte-solaris-posix.ads, s-osinte-aix.ads,
+-      s-osinte-lynxos.ads, s-osinte-freebsd.ads s-osinte-darwin.ads,
+-      s-osinte-tru64.ads, s-osinte-irix.ads, s-osinte-linux.ads,
+-      s-osinte-solaris.ads, s-osinte-vms.ads
+-      (SA_ONSTACK): New constant.
+-      (stack_t): New record type.
+-      (sigaltstack): New imported function.
+-      (Alternate_Stack): New imported variable.
+-      (Alternate_Stack_Size): New constant.
+-
+-      * system-linux-x86_64.ads: (Stack_Check_Probes): Set to True.
+-
+-      * s-taspri-lynxos.ads, s-taspri-solaris.ads, s-taspri-tru64.ads,
+-      s-taspri-hpux-dce.ads, s-taspri-dummy.ads, s-taspri-posix.ads,
+-      s-taspri-vms.ads (Task_Address): New subtype of System.Address
+-      (Task_Address_Size): New constant size of System.Address
+-      (Alternate_Stack_Size): New constant.
+-
+-      * s-taprop-posix.adb, s-taprop-linux.adb (Get_Stack_Attributes): Delete.
+-      (Enter_Task): Do not notify stack to System.Stack_Checking.Operations.
+-      Establish the alternate stack if the platform makes use of n alternate
+-      signal stack for stack overflows.
+-      (Create_Task): Take into account the alternate stack in the stack size.
+-      (Initialize): Save the address of the alternate stack into the ATCB for
+-      the environment task.
+-      (Create_Task): Fix assertions for NPTL library (vs old LinuxThreads).
+-
+-      * s-parame.adb (Minimum_Stack_Size): Increase value to 16K
+-
+-      * system-linux-x86.ads: (Stack_Check_Probes): Set to True.
+-
+-      * s-intman-posix.adb:
+-      (Initialize): Set SA_ONSTACK for SIGSEGV if the platform makes use of an
+-      alternate signal stack for stack overflows.
+-
+-      * init.c (__gnat_adjust_context_for_raise, Linux version): On i386 and
+-      x86-64, adjust the saved value of the stack pointer if the signal was
+-      raised by a stack checking probe.
+-      (HP-UX section): Use global __gnat_alternate_stack as signal handler
+-      stack and only for SIGSEGV.
+-      (Linux section): Likewise on x86 and x86-64.
+-      [VxWorks section]
+-      (__gnat_map_signal): Now static.
+-      (__gnat_error_handler): Not static any more.
+-      (__gnat_adjust_context_for_raise): New function. Signal context
+-      adjustment for PPC && !VTHREADS && !RTP, as required by the zcx
+-      propagation circuitry.
+-      (__gnat_error_handler): Second argument of a sigaction handler is a
+-      pointer, not an int, and is unused.
+-      Adjust signal context before mapping to exception.
+-      Install signal handlers for LynxOS case.
+-
+-      * s-taskin.ads (Common_ATCB): New field Task_Alternate_Stack.
+-      (Task_Id): Set size to Task_Address_Size
+-      (To_Task_id): Unchecked convert from Task_Address vice System.Address
+-      (To_Address): Unchecked convert to Task_Address vice System.Address
+-
+-      * s-tassta.adb (Task_Wrapper): Define the alternate stack and save its
+-      address into the ATCB if the platform makes use of an alternate signal
+-      stack for stack overflows.
+-      (Free_Task): Add call to Finalize_Attributes_Link.
+-      Add argument Relative_Deadline to pass the value specified for
+-      the task. This is not yet used for any target.
+-
+-      * s-tassta.ads (Create_Task): Add argument Relative_Deadline to pass
+-      the value specified for the task.
+-
+-2008-04-08  Arnaud Charlet  <charlet@adacore.com>
+-
+-      (s-osinte-vxworks6.ads): Removed, merged with s-osinte-vxworks.ads/.adb
+-      (s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.ads,
+-      s-vxwext-rtp.adb): New files.
+-
+-      * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-osinte-vxworks.adb:
+-      Minor updates to accomodate changes above.
+-
+-2008-04-08  Pascal Obry  <obry@adacore.com>
+-
+-      * a-exetim-mingw.adb, s-gloloc-mingw.adb, s-taprop-mingw.adb,
+-      s-tasinf-mingw.ad{s,b}, s-taspri-mingw.ads:
+-      Use new s-win32.ads unit instead of declaration
+-      from s-osinte-mingw.ads.
+-
+-      * s-osinte-mingw.ads:
+-      Move all non tasking based interface to s-win32.ads.
+-
+-      * s-osprim-mingw.adb:
+-      Remove duplicated declarations and use s-win32.ads
+-      unit instead.
+-
+-2008-04-08  Vincent Celier  <celier@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-
+-      * mlib-tgt-aix.adb, mlib-tgt-darwin.adb, mlib-tgt-hpux.adb,
+-      mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-lynxos.adb,
+-      mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
+-      mlib-tgt-vms.ads, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
+-      mlib-tgt-vxworks.adb, mlib-tgt-mingw.adb: Renamed into...
+-
+-      * mlib-tgt-specific-aix.adb, mlib-tgt-specific-darwin.adb,
+-      mlib-tgt-specific-hpux.adb, mlib-tgt-specific-irix.adb,
+-      mlib-tgt-specific-linux.adb, mlib-tgt-specific-lynxos.adb,
+-      mlib-tgt-specific-solaris.adb, mlib-tgt-specific-tru64.adb,
+-      mlib-tgt-vms_common.adb, mlib-tgt-vms_common.ads,
+-      mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb,
+-      mlib-tgt-specific-vxworks.adb, mlib-tgt-specific-xi.adb,
+-      mlib-tgt-specific-mingw.adb: New names.
+-
+-      * Makefile.in:
+-      On VxWorks platforms use s-stchop-limit.ads for s-stchop.ads
+-      Get rid of gnatbl.
+-      (EXTRA_GNATRTL_NONTASKING_OBJS): Add s-win32.o
+-      Files mlib-tgt-*.adb have been renamed mlib-tgt-specific-*.adb
+-      Minor updates for VMS
+-
+-      * gnatbl.c: Removed.
+-
+-2008-04-08  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-expect-vms.adb, a-textio.adb, a-witeio.adb, exp_dbug.adb,
+-      g-expect.adb, g-locfil.adb, gnatchop.adb, gnatdll.adb, gnatlbr.adb,
+-      gnatmem.adb, g-regist.adb, i-vxwork.ads, mlib-utl.adb, i-vxwork-x86.ads,
+-      a-ztexio.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-ia64.adb,
+-      s-os_lib.adb, s-regpat.adb, s-regpat.ads: Fix incorrect casing of
+-      ASCII.NUL throughout.
+-
+-2008-04-08  Arnaud Charlet  <charlet@adacore.com>
+-          Matthew Heaney  <heaney@adacore.com>
+-
+-      * a-cgcaso.adb, a-convec.adb: (Swap, Sift): Avoid use of complex
+-      renaming.
+-
+-      * a-cgaaso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads,
+-      a-crdlli.ads, a-coormu.ads, a-ciormu.ads: modified header to conform
+-      to convention for non-RM specs.
+-      Add descriptive header, and documented each operation
+-      document each operation
+-
+-2008-04-08  Robert Dewar  <dewar@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * alloc.ads: Add entries for Obsolescent_Warnings table
+-
+-      * einfo.ads, einfo.adb: Minor reformatting.
+-      (Is_Discriminal): New subprogram.
+-      (Is_Prival): New subprogram.
+-      (Is_Protected_Component): New subprogram.
+-      (Is_Protected_Private): Removed.
+-      (Object_Ref, Set_Object_Ref): Removed.
+-      (Prival, Set_Prival): Change assertion.
+-      (Privals_Chain, Set_Privals_Chain): Removed.
+-      (Prival_Link, Set_Prival_Link): New subprogram.
+-      (Protected_Operation, Set_Protected_Operation): Removed.
+-      (Protection_Object, Set_Protection_Object): New subprogram.
+-      (Write_Field17_Name): Remove case for Object_Ref.
+-      (Write_Field20_Name): Add case for Prival_Link.
+-      (Write_Field22_Name): Remove case for Protected_Operation,
+-      Privals_Chain.
+-      Add case for Protection_Object.
+-      (Can_Use_Internal_Rep): Make this into a [base type only] attribute,
+-      so clients
+-      (Overlays_Constant): New flag
+-      (Is_Constant_Object): New predicate
+-      (Is_Standard_Character_Type): New predicate
+-      (Optimize_Alignment_Space): New flag
+-      (Optimize_Alignment_Time): New flag
+-      (Has_Postconditions): New flag
+-      (Obsolescent_Warrning): Field removed
+-      (Spec_PPC_List): New field
+-      (Relative_Deadline_Variable, Set_Relative_Deadline_Variable): Add
+-      subprograms to get and set the relative deadline associated to a task.
+-
+-      * exp_attr.adb (May_Be_External_Call): Account for the case where the
+-      Access attribute is part of a named parameter association.
+-      (Expand_Access_To_Protected_Op): Test for the attribute occurring
+-      within an init proc and use that directly as the scope rather than
+-      traversing up to the protected operation's enclosing scope. Only apply
+-      assertion on Is_Open_Scopes in the case the scope traversal is done.
+-      For the init proc case use the address of the first formal (_init) as
+-      the protected object reference.
+-      Implement Invalid_Value attribute
+-      (Expand_N_Attribute_Reference): Case Attribute_Unrestricted_Access.
+-      contents of the dispatch table there is no need to duplicate the
+-      itypes associated with record types (i.e. the implicit full view
+-      of private types).
+-      Implement Enum_Val attribute
+-      (Expand_N_Attribute_Reference, case Old): Properly handle appearence
+-      within _Postconditions procedure
+-      (Expand_N_Attribute_Reference, case Result): Implement new attribute
+-
+-      * exp_ch5.adb (Expand_N_Simple_Return_Statement): Handle case in which
+-      a return statement calls a function that is not available in
+-      configurable runtime.
+-      (Analyze_If_Statement): don't optimize simple True/False cases in -O0
+-      (Expand_Non_Function_Return): Generate call to _Postconditions proc
+-      (Expand_Simple_Function_Return): Ditto
+-
+-      * frontend.adb: Add call to Sem_Aux.Initialize
+-
+-      * sem_aux.ads, sem_aux.adb: New file.
+-
+-      * par-prag.adb: Add entries for pragmas Precondition/Postcondition
+-      Add new Pragma_Relative_Deadline.
+-      Add support for pragmas Check and Check_Policy
+-
+-      * sem_attr.ads, sem_attr.adb (Check_Not_CPP_Type): New subprogram.
+-      (Check_Stream_Attribute): Add missing check (not allowed in CPP types)
+-      (Analyze_Attribute): In case of attributes 'Alignment and 'size add
+-      missing check because they are not allowed in CPP tagged types.
+-      Add Sure parameter to Note_Possible_Modification calls
+-      Add implementation of Invalid_Value attribute
+-      Implement new attribute Has_Tagged_Values
+-      Implement Enum_Val attribute
+-      (Analyze_Attribute, case Range): Set Name_Req True for prefix of
+-      generated attributes.
+-      (Analyze_Attribute, case Result): If prefix of the attribute is
+-      overloaded, it always resolves to the enclosing function.
+-      (Analyze_Attribute, case Result): Properly deal with analysis when
+-      Postconditions are not active.
+-      (Resolve_Attribute, case Result): Properly deal with appearence during
+-      preanalysis in spec.
+-      Add processing for attribute Result
+-
+-      * sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Code cleanup
+-      for operators.
+-      (Analyze_Subprogram_Body): Install private_with_clauses when the body
+-      acts as a spec.
+-      (Check_Inline_Pragma): recognize an inline pragma that appears within
+-      the subprogram body to which it applies.
+-      (Analyze_Function_Return): Check that type of the expression of a return
+-      statement in a function with a class-wide result is not declared at a
+-      deeper level than the function.
+-      (Process_PPCs): Deal with enabling/disabling, using PPC_Enabled flag
+-      (Verify_Overriding_Indicator): Handle properly subprogram bodies for
+-      user- defined operators.
+-      (Install_Formals): Moved to spec to allow use from Sem_Prag for
+-      analysis of precondition/postcondition pragmas.
+-      (Analyze_Subprogram_Body.Last_Real_Spec_Entity): New name for
+-      Last_Formal, along with lots of comments on what this is about
+-      (Analyze_Subprogram_Body): Fix case where we move entities from the
+-      spec to the body when there are no body entities (now possible with
+-      precondition and postcondition pragmas).
+-      (Process_PPCs): New procedure
+-      (Analyze_Subprogram_Body): Add call to Process_PPCs
+-
+-      * sem_ch8.adb (Use_One_Type): refine warning on a redundant use_type
+-      clause.
+-      (Pop_Scope): Restore Check_Policy_List on scope exit
+-      (Push_Scope): Save Check_Policy_List on scope entry
+-      Change name In_Default_Expression      => In_Spec_Expression
+-      Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
+-      Change name Pre_Analyze_And_Resolve    => Preanalyze_And_Resolve
+-      (Analyze_Object_Renaming): Allow 'Reference as object
+-      (Analyze_Pragma, case Restriction_Warnings): Call GNAT_Pragma
+-      (Process_Restrictions_Or_Restriction_Warnings): Check for bad spelling
+-      of restriction identifier.
+-      Add Sure parameter to Note_Possible_Modication calls
+-
+-      * sem_prag.ads, sem_prag.adb (Analyze_Pragma, case Stream_Convert):
+-      Don't check for primitive operations when calling Rep_Item_Too_Late.
+-      (Process_Import_Or_Interface): Do not place flag on formal
+-      subprograms.
+-      (Analyze_Pragma, case Export): If the entity is a deferred constant,
+-      propagate information to full view, which is the one elaborated by the
+-      back-end.
+-      (Make_Inline): the pragma is effective if it applies to an internally
+-      generated subprogram declaration for a body that carries the pragma.
+-      (Analyze_Pragma, case Optimize_Alignment): Set new flag
+-      Optimize_Alignment_Local.
+-      (Analyze_PPC_In_Decl_Part): New procedure
+-      (Get_Pragma_Arg): Moved to outer level
+-      (Check_Precondition_Postcondition): Change to allow new visibility
+-      rules for package spec
+-      (Analyze_Pragma, case Check_Policy): Change placement rules to be
+-      same as pragma Suppress/Unsuppress.
+-      Change name In_Default_Expression      => In_Spec_Expression
+-      Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
+-      Change name Pre_Analyze_And_Resolve    => Preanalyze_And_Resolve
+-      (Check_Precondition_Postcondition): Do proper visibility preanalysis
+-      for the case of these pragmas appearing in the spec.
+-      (Check_Enabled): New function
+-      (Initialize): New procedure
+-      (Tree_Read): New procedure
+-      (Tree_Write): New procedure
+-      (Check_Precondition_Postcondition): New procedure
+-      Implement pragmas Check and Check_Policy
+-      Merge Assert processing with Check
+-
+-      * sem_warn.adb (Warn_On_Known_Condition): Handle pragma Check
+-      New warning flag -gnatw.e
+-
+-      * sinfo.ads, sinfo.adb (Has_Relative_Deadline_Pragma): New function
+-      returning whether a task (or main procedure) has a pragma
+-      Relative_Deadline.
+-      (Set_Has_Relative_Deadline_Pragma): Procedure to indicate that a task
+-      (or main procedure) has a pragma Relative_Deadline.
+-      Add Next_Pragma field to N_Pragma node
+-      (PPC_Enabled): New flag
+-      (Next_Pragma): Now used for Pre/Postcondition processing
+-
+-      * snames.h, snames.ads, snames.adb: New standard name
+-      Inherit_Source_Path
+-      Add entry for 'Invalid_Value attribute
+-      Add entry for new attribute Has_Tagged_Values
+-      Add entry for Enum_Val attribute
+-      Add new standard names Aggregate, Configuration and Library.
+-      Add _Postconditions
+-      Add _Result
+-      Add Pragma_Precondition
+-      Add Pragma_Postcondition
+-      Add Attribute_Result
+-      New standard name Archive_Builder_Append_Option
+-      (Preset_Names): Add _relative_deadline and relative_deadline definitions
+-      There was also a missing non_preemptive_within_priorities.
+-      (Get_Pragma_Id, Is_Pragma_Name): Add support for pragma
+-      Relative_Deadline.
+-      Add support for pragmas Check and Check_Policy
+-
+-      * tree_gen.adb: Call Sem_Aux.Tree_Write
+-
+-      * tree_in.adb: Call Sem_Aux.Tree_Read
+-
+-      * exp_ch11.adb (Expand_N_Raise_Statement): New Build_Location calling
+-      sequence
+-
+-      * exp_intr.adb (Expand_Source_Info): New Build_Location calling
+-      sequence
+-
+-      * exp_prag.adb (Expand_Pragma_Relative_Deadline): New procedure.
+-      (Expand_N_Pragma): Call the appropriate procedure for expanding pragma
+-      Relative_Deadline.
+-      (Expand_Pragma_Check): New procedure
+-
+-      * sinput.ads, sinput.adb (Build_Location_String): Now appends to name
+-      buffer.
+-
+-      * sinfo.adb (PPC_Enabled): New flag
+-
+-2008-04-08  Robert Dewar  <dewar@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * fe.h: Remove global Optimize_Alignment flag, no longer used
+-
+-      * layout.adb: Test Optimize_Alignment flags rather than global switch
+-
+-      * lib.ads, lib.adb: New OA_Setting field in library record
+-
+-      * lib-load.adb: New OA_Setting field in library record
+-
+-      * lib-writ.ads, lib-writ.adb (Collect_Withs, Write_With_Lines): Place
+-      units mentioned in limited_with_ clauses in the ali file, with an
+-      'Y' marker.
+-      New Ox fields in U line
+-
+-      * opt.adb: New flag Optimize_Alignment_Local
+-      (Check_Policy_List[_Config]): New flags
+-
+-      * opt.ads (Invalid_Value_Used): New flag
+-      New switch Optimize_Alignment_Local
+-      (Warn_On_Parameter_Order): New flag
+-      (Check_Policy_List[_Config]): New flags
+-
+-      * ali.ads, ali.adb: Add indicator 'Y' to mark mark the presence of
+-      limited_with clauses.
+-      New data structures for Optimize_Alignment
+-
+-      * bcheck.adb (Check_Consistent_Restriction_No_Default_Initialization):
+-      New procedure
+-      (Check_Consistent_Optimize_Alignment): Rework for new structure
+-      (Check_Consistent_Restrictions): Fix incorrect error message
+-
+-      sem_ch10.adb (Decorate_Tagged_Type): Set the Parent field of a newly
+-      created class-wide type (to the Parent field of the specific type).
+-      (Install_Siblings): Handle properly private_with_clauses on subprogram
+-      bodies and on generic units.
+-      (Analyze_With_Clause, Install_Limited_Withed_Unit): Guard against an
+-      illegal limited_with_clause that names a non-existent package.
+-      (Check_Body_Required): Determine whether a unit named a limited_with
+-      clause needs a body.
+-      (Analyze_Context): A limited_with_clause is illegal on a unit_renaming.
+-      Capture Optimize_Alignment settings to set new OA_Setting field in
+-      library record.
+-      (Build_Limited_Views): Include task and protected type declarations.
+-
+-      * sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Handle the
+-      case of a possible constant redeclaration where the current object is
+-      an entry index constant.
+-      (Analyze_Object_Declaration): Generate an error in case of CPP
+-      class-wide object initialization.
+-      (Analyze_Object_Declaration): Add extra information on warnings for
+-      declaration of unconstrained objects.
+-      (Access_Type_Declaration): Set Associated_Final_Chain to Empty, to avoid
+-      conflicts with the setting of Stored_Constraint in the case where the
+-      access type entity has already been created as an E_Incomplete_Type due
+-      to a limited with clause.
+-      Use new Is_Standard_Character_Type predicate
+-      (Analyze_Object_Declaration): Apply access_constant check only after
+-      expression has been resolved, given that it may be overloaded with
+-      several access types.
+-      (Constant_Redeclaration): Additional legality checks for deferred
+-      constant declarations tha involve anonymous access types and/or null
+-      exclusion indicators.
+-      (Analyze_Type_Declaration): Set Optimize_Alignment flags
+-      (Analyze_Subtype_Declaration): Ditto
+-      (Analyze_Object_Declaration): Ditto
+-      (Analyze_Object_Declaration): Don't count tasks in generics
+-      Change name In_Default_Expression      => In_Spec_Expression
+-      Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
+-      Change name Pre_Analyze_And_Resolve    => Preanalyze_And_Resolve
+-      (Process_Discriminants): Additional check for illegal use of default
+-      expressions in access discriminant specifications in a type that is not
+-      explicitly limited.
+-      (Check_Abstract_Overriding): If an inherited function dispaches on an
+-      access result, it must be overridden, even if the type is a null
+-      extension.
+-      (Derive_Subprogram): The formals of the derived subprogram have the
+-      names and defaults of the parent subprogram, even if the type is
+-      obtained from the actual subprogram.
+-      (Derive_Subprogram): In the presence of interfaces, a formal of an
+-      inherited operation has the derived type not only if it descends from
+-      the type of the formal of the parent operation, but also if it
+-      implements it. This is relevant for the renamings created for the
+-      primitive operations of the actual for a formal derived type.
+-      (Is_Progenitor): New predicate, to determine whether the type of a
+-      formal in the parent operation must be replaced by the derived type.
+-
+-      * sem_util.ads, sem_util.adb (Has_Overriding_Initialize): Make
+-      predicate recursive to handle components that have a user-defined
+-      Initialize procedure. Handle controlled derived types whose ancestor
+-      has a user-defined Initialize procedured.
+-      (Note_Possible_Modification): Add Sure parameter, generate warning if
+-      sure modification of constant
+-      Use new Is_Standard_Character_Type predicate
+-      (Find_Parameter_Type): when determining whether a protected operation
+-      implements an interface operation, retrieve the type of the formal from
+-      the entity when the formal is an access parameter or an
+-      anonymous-access-to-subprogram.
+-      Move Copy_Parameter_List to sem_util, for use when building stubbed
+-      subprogram bodies.
+-      (Has_Access_Values): Tagged types now return False
+-      (Within_HSS_Or_If): New procedure
+-      (Set_Optimize_Alignment_Flags): New procedure
+-      Change name In_Default_Expression      => In_Spec_Expression
+-      Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
+-      Change name Pre_Analyze_And_Resolve    => Preanalyze_And_Resolve
+-
+-2008-04-08  Tristan Gingold  <gingold@adacore.com>
+-
+-      * s-fileio.adb: Name_Error shouldn't be raised for a tempory file.
+-
+-2008-04-08  Tristan Gingold  <gingold@adacore.com>
+-
+-PR ada/10768
+-
+-      * cuintp.c: Fix 16 bits issue for AVR.
+-      On AVR, integer is 16 bits, so it can't be used to do math with
+-      Base (=32768).
+-      So use long_integer instead.
+-
+-2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * a-calend-vms.ads, a-calend-vms.adb: Add with and use clause for
+-      System.OS_Primitives.
+-      Change type of various constants, parameters and local variables from
+-      Time to representation type OS_Time.
+-      (To_Ada_Time, To_Unix_Time): Correct sign of origin shift.
+-      Remove the declaration of constant Mili_F from several routines. New
+-      body for internal package Conversions_Operations.
+-      (Time_Of): Add default parameters for several formals.
+-
+-      * a-caldel.adb: Minor reformatting
+-
+-      * a-calend.ads, a-calend.adb: New body for internal package
+-      Conversions_Operations.
+-      (Time_Of): Add default parameters for several formals.
+-
+-      * Makefile.rtl: Add a-ststop
+-      Add Ada.Calendar.Conversions to the list of runtime files.
+-      Add g-timsta
+-
+-      * a-calcon.adb, a-calcon.ads: New files.
+-
+-2008-04-08  Jose Ruiz  <ruiz@adacore.com>
+-          Tristan Gingold  <gingold@adacore.com>
+-
+-      * s-interr-dummy.adb, s-interr-vms.adb, s-interr-sigaction.adb
+-      (Install_Restricted_Handlers): New procedure
+-      which is a simplified version of Install_Handlers that does not store
+-      previously installed.
+-
+-      * s-interr-vxworks.adb: Fix ACATS cxc3001
+-      On VxWorks interrupts can't be detached.
+-      (Install_Restricted_Handlers): New procedure.
+-
+-      * s-interr.ads, s-interr.adb (Install_Restricted_Handlers): New
+-      procedure.
+-
+-2008-04-08  Olivier Hainque  <hainque@adacore.com>
+-
+-      * s-intman-vxworks.ads, s-intman-vxworks.adb
+-      (Map_And_Raise_Exception): Remove. Was an import of only part of the
+-      required services already implemented elsewhere.
+-      (Notify_Exception): Delete body, import __gnat_error_handler instead.
+-      (Initialize): Add SA_SIGINFO to the sa_flags, to get the sigcontext
+-      argument passed to the handler, which we need for ZCX propagation
+-      purposes.
+-
+-2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * adaint.h, adaint.c (__gnat_current_time_string): New routine.
+-
+-      * g-timsta.adb, g-timsta.ads: New files.
+-
+-2008-04-08  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-except-2005.ads, a-except-2005.adb, a-except.ads, a-except.adb
+-      (Raise_Exception): In accordance with AI-446, raise CE for Null_Id
+-      (Raise_Exception_Always): Fix documentation accordingly
+-
+-2008-04-08  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-strbou.ads, a-strbou.adb (From_String): New procedure (for use by
+-      Stream_Convert)
+-
+-      * sem_ch13.ads (Rep_Item_Too_Late): Document that Stream_Convert sets
+-      FOnly
+-
+-2008-04-08  Javier Miranda  <miranda@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * a-tags.adb (Register_Interface_Offset): New subprogram.
+-      (Set_Dynamic_Offset_To_Top): New subprogram (see previous comment).
+-      (To_Predef_Prims_Table_Ptr): Removed.
+-      (Acc_Size): Removed.
+-      (To_Acc_Size): Removed.
+-      (Parent_Size): Modified to the call the subprogram returning the size of
+-      the parent by means of the new TSD component Size_Func.
+-
+-      * a-tags.ads (Offset_To_Top_Ptr): New access type declaration.
+-      (DT_Offset_To_Top_Offset): New constant value that is used to generate
+-      code referencing the Offset_To_Top component of the dispatch table's
+-      prologue.
+-      (Prim_Ptr): New declaration of access to procedure. Used to avoid the
+-      use of 'address to initialize dispatch table slots.
+-      (Size_Func): New component of the TSD. Used by the run-time to call the
+-      size primitive of the tagged type.
+-
+-      * checks.adb (Apply_Access_Check): Avoid check when accessing the
+-      Offset_To_Top component of a dispatch table.
+-      (Null_Exclusion_Static_Checks): If the non-null access type appears in a
+-      deferred constant declaration. do not add a null expression, to prevent
+-      spurious errors when full declaration is analyzed.
+-      (Apply_Discriminant_Check): If both discriminant constraints share a
+-      node which is not static but has no side effects, do not generate a
+-      check for that discriminant.
+-      (Generate_Index_Checks): Set Name_Req to true in call to duplicate
+-      subexpr, since the prefix of an attribute is a name.
+-
+-      * checks.ads: Fix nit in comment.
+-
+-      * exp_ch3.ads, exp_ch3.adb (Freeze_Record_Type): Do not add the spec
+-      and body of predefined primitives in case of CPP tagged type
+-      derivations.
+-      (Freeze_Type): Deal properly with no storage pool case
+-      (Make_Predefined_Primitive_Specs): Generate specification of abstract
+-      primitive Deep_Adjust if a nonlimited interface is derived from a
+-      limited interface.
+-      (Build_Dcheck_Functions): Create discriminant-checking functions only
+-      for variants that have some component(s).
+-      (Build_Slice_Assignment): In expanded code for slice assignment, handle
+-      properly the case where the slice bounds extend to the last value of the
+-      underlying representation.
+-      (Get_Simple_Init_Val): New calling sequence, accomodate Invalid_Value
+-      (Is_Variable_Size_Record): An array component has a static size if
+-      index bounds are enumeration literals.
+-
+-      * exp_disp.adb (Make_DT): Use the first subtype to determine whether
+-      an external tag has been specified for the type.
+-      (Building_Static_DT): Add missing support for private types.
+-      (Make_DT): Add declaration of Parent_Typ to ensure consistent access
+-      to the entity associated with the parent of Typ. This is done to
+-      avoid wrong access when the parent is a private type.
+-      (Expand_Interface_Conversion): Improve error message when the
+-      configurable runtime has no support for dynamic interface conversion.
+-      (Expand_Interface_Thunk): Add missing support to interface types in
+-      configurable runtime.
+-      (Expand_Dispatching_Call): remove obsolete code.
+-      (Make_DT): Replace occurrences of RE_Address by RE_Prim_Ptr, and
+-      ensure that all subtypes and aggregates associated with dispatch
+-      tables have the attribute Is_Dispatch_Table_Entity set to true.
+-      (Register_Primitive): Rename one variable to improve code reading.
+-      Replace occurrences of RE_Addres by RE_Prim_Ptr. Register copy o
+-      of the pointer to the 'size primitive in the TSD.
+-
+-      * rtsfind.ads (RE_DT_Offset_To_Top_Offset): New entity.
+-      (RE_Offset_To_Top_Ptr): New entity.
+-      (RE_Register_Interface_Offset): New entity.
+-      (RE_Set_Dynamic_Offset_To_Top): New entity.
+-      (RE_Set_Offset_To_Top): Removed entity.
+-      (RE_Prim_Ptr): New entity
+-      (RE_Size_Func): New entity
+-      (RE_Size_Ptr): New entity
+-      (RTU_Id): Add Ada_Dispatching and Ada_Dispatching_EDF.
+-      (Ada_Dispatching_Child): Define this new subrange.
+-      (RE_Id): Add new required run-time calls (RE_Set_Deadline, RE_Clock,
+-       RE_Time_Span, and RE_Time_Span_Zero).
+-      (RE_Unit_Table): Add new required run-time calls
+-
+-      * rtsfind.adb (Get_Unit_Name): Add processing for Ada.Dispatching
+-      children.
+-
+-      * exp_atag.ads, exp_atag.adb (Build_Offset_To_Top): New subprogram.
+-      (Build_Set_Static_Offset_To_Top): New subprogram. Generates code that
+-       initializes the Offset_To_Top component of a dispatch table.
+-      (Build_Predef_Prims): Removed.
+-      (Build_Get_Predefined_Prim_Op_Address): Replace call to Predef_Prims by
+-       its actual code.
+-      (Build_Set_Size_Function): New subprogram.
+-
+-      * exp_ch13.adb: Do not generate storage variable for storage_size zero
+-      (Expand): Handle setting/restoring flag Inside_Freezing_Actions
+-
+-2008-04-08  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-ztdeau.adb, a-tideau.adb, a-wtdeau.adb (Puts_Dec): Fix error in
+-      computing Fore when Exp > 0
+-
+-2008-04-08  Robert Dewar  <dewar@adacore.com>
+-
+-      * back_end.adb: Remove Big_String_Ptr declarations (now in Types)
+-
+-      * errout.adb: Remove Big_String_Ptr declarations (now in Types)
+-      Change name Is_Style_Msg to Is_Style_Or_Info_Msg
+-
+-      * fmap.adb: Remove Big_String declarations (now in Types)
+-      (No_Mapping_File): New Boolean global variable
+-      (Initialize): When mapping file cannot be read, set No_Mapping_File to
+-      False.
+-      (Update_Mapping_File): Do nothing if No_Mapping_File is True. If the
+-      tables were empty before adding entries, open the mapping file
+-      with Truncate = True, instead of delete/re-create.
+-
+-      * fname-sf.adb: Remove Big_String declarations (now in Types)
+-
+-      * s-strcom.adb, g-dyntab.ads, g-table.ads, s-carsi8.adb,
+-      s-stalib.ads, s-carun8.adb: Add zero size Storage_Size clauses for
+-      big pointer types
+-
+-      * table.ads: Add for Table_Ptr'Storage_Size use 0
+-
+-      * types.ads: Add Big_String declarations
+-      Add Size_Clause of zero for big pointer types
+-
+-2008-04-08  Vincent Celier  <celier@adacore.com>
+-
+-      * clean.adb (Parse_Cmd_Line): Recognize switch --subdirs=
+-      (Usage): Add line for switch --subdirs=
+-      Add new switch -eL, to follow symbolic links when processing project
+-      files.
+-
+-      * gnatcmd.adb: Process switches -eL and --subdirs=
+-      (Non_VMS_Usage): Output "gnaampcmd" instead of "gnat", and call
+-      Program_Name to get proper tool names when AAMP_On_Target is set.
+-      (Gnatcmd): Call Add_Default_Search_Dirs and Get_Target_Parameters to get
+-      AAMP_On_Target set properly for use of GNAAMP tools (this is needed by
+-      Osint.Program_Name).
+-
+-      * gnatname.adb: (Scan_Args): Recognize switches -eL and --subdirs=
+-      (Usage): Add lines for switches -eL and --subdirs=
+-
+-      * makeusg.adb: Add line for switch --subdirs=
+-
+-      * prj.ads:
+-      (Source_Data): New Boolean component Compiled, defaulted to True
+-      (Empty_File_Name: New global variable in private part, initialized in
+-      procedure Initialize.
+-      (Subdirs_Option): New constant string
+-      (Subdirs): New String_Ptr global variable
+-      (Language_Config): New component Include_Compatible_Languages
+-      (Project_Qualifier): New type for project qualifiers
+-      (Project_Data): New component Qualifier
+-      (Project_Configuration): New component Archive_Builder_Append_Option
+-
+-      * prj-nmsc.adb (Get_Unit_Exceptions): When a unit is already in
+-      another imported project indicate the name of this imported project.
+-      (Check_File): When a unit is in two project files, indicate the project
+-      names and the paths of the source files for each project.
+-      (Add_Source): Set Compiled to False if compiler driver is empty. Only
+-      set object, dependency and switches file names if Compiled is True.
+-      (Process_Compiler): Allow the empty string for value of attribute Driver
+-      (Get_Directories): When Subdirs is not null and Object_Dir is not
+-       specified, locate and create if necessary the actual object dir.
+-      (Locate_Directory): When Subdirs is not empty and Create is not the
+-      empty string, locate and create if necessary the actual directory
+-      as a subdirectory of directory Name.
+-      (Check_Library_Attributes.Check_Library): Allow a project where the only
+-      "sources" are header files of file based languages to be imported by
+-      library projects, in multi-language mode (gprbuild).
+-      (Check_Library_Attributes.Check_Library): In multi-language mode
+-      (gprbuild), allow a library project to import a project with no
+-      sources, even when this is not declared explicitly.
+-      (Check_If_Externally_Built): A virtual project extending an externally
+-      built project is also externally built.
+-      (Check_Library_Attributes): For a virtual project extending a library
+-      project, inherit the library directory.
+-      (Process_Project_Level_Array_Attributes): Process new attribute
+-      Inherit_Source_Path.
+-      For projects with specified qualifiers "standard", "library" or
+-      "abstract", check that the project conforms to the qualifier.
+-      (Process_Project_Level_Simple_Attributes): Process new attribute
+-       Archive_Builder_Append_Option.
+-
+-      * switch-m.adb: (Scan_Make_Switches): Process switch --subdirs=
+-      (Normalize_Compiler_Switches): Only keep compiler switches that are
+-      passed to gnat1 by the gcc driver and that are stored in the ALI file
+-      by gnat1.
+-      Do not take into account switc -save-temps
+-
+-      * makegpr.adb (Compile_Link_With_Gnatmake): Transmit switch -eL if
+-      gprmake is called with -eL.
+-      (Scan_Arg): Recognize switch -eL
+-      (Usage): Add line for switch -eL
+-
+-      * prj.adb (Initialize): Initialize Empty_File_Name
+-      (Project_Empty): New component Qualifier
+-
+-      * prj-attr.ads, prj-attr.adb: New project level attribute
+-      Inherit_Source_Path.
+-      New project level attribute Archive_Builder_Append_Option
+-
+-      * prj-dect.adb: Replace System.Strings by GNAT.Strings.
+-
+-      * prj-ext.adb (Initialize_Project_Path): In Multi_Language mode, add
+-      <prefix>/lib/gnat in the project path, after <prefix>/share/gpr, for
+-      upward compatibility.
+-
+-      * prj-part.adb (Project_Path_Name_Of.Try_Path): In high verbosity, put
+-      each Trying ..." on different lines.
+-      (Parse_Single_Project): Recognize project qualifiers. Fail in qualifier
+-      is "configuration" when not in configuration. Fail when in configuration
+-      when a specified qualifier is other than "configuration".
+-
+-      * prj-proc.adb (Process_Declarative_Items): Link new elements of copied
+-      full associative array together.
+-      (Recursive_Process): Put the project qualifier in the project data
+-
+-      * prj-tree.ads, prj-tree.adb: (Project_Qualifier_Of): New function
+-      (Set_Project_Qualifier_Of): New procedure
+-
+-2008-04-08  Robert Dewar  <dewar@adacore.com>
+-
+-      * errout.ads: Update comments for new handling of info: messages
+-
+-      * erroutc.adb (Matches): New procedure
+-      (Warning_Specifically_Suppressed): Modified to handle multiple * chars
+-      (Is_Style_Or_Info_Msg): New name for Is_Style_Msg, now set for
+-       info messages as well as style messages.
+-
+-      * erroutc.ads: Remove unneeded fields from Specific_Warning_Entry
+-
+-      * sem_elab.adb (Supply_Bodies): Create actual bodies for stubbed
+-      subprograms.
+-      (Check_A_Call): Special "info: " warnings now have ? in the text
+-      (Elab_Warning): Use info message in static case
+-
+-2008-04-08  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_aggr.adb (Static_Array_Aggregate): Use Max_Aggr_Size to determine
+-      whether an array aggregate with static bounds and scalar components
+-      should be expanded into a static constant.
+-
+-2008-04-08  Gary Dismukes  <dismukes@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Add tests of
+-      Has_Stream_Attribute_ Definition when checking for available stream
+-      attributes on parameters of a limited type in Ada 2005. Necessary for
+-      proper recognition of visible stream attribute clauses.
+-      (Has_Stream_Attribute_Definition): If the type is derived from a
+-      private type, then use the derived type's underlying type for checking
+-      whether it has stream attributes.
+-      (Validate_Object_Declaration): The check for a user-defined Initialize
+-      procedure applies also to types with controlled components or a
+-      controlled ancestor.
+-      Reject an object declaration in a preelaborated unit if the type is a
+-      controlled type with an overriding Initialize procedure.
+-      (Validate_Remote_Access_To_Class_Wide_Type): Return without further
+-      checking when the parent of a dereference is a selected component and
+-      the name has not been analyzed.
+-
+-      * sem_ch4.adb (Analyze_Selected_Component): Add checking for selected
+-      prefixes that are invalid explicit dereferences of remote
+-      access-to-class-wide values, first checking whether the selected
+-      component is a prefixed form of call to a tagged operation.
+-      (Analyze_Call): Remove code that issues an error for limited function
+-      calls in illegal contexts, as we now support all of the contexts that
+-      were forbidden here.
+-      Allow a function call that returns a task.and appears as the
+-      prefix of a selected component.
+-      (Analyze_Reference): Give error message if we try to make a 'Reference
+-      for an object that is atomic/aliased without its type having the
+-      corresponding attribute.
+-      (Analyze_Call): Remove condition checking for attributes to allow
+-      calls to functions with inherently limited results as prefixes of
+-      attributes. Remove related comment about Class attributes.
+-      (Analyze_Selected_Component): If the prefix is a remote type, check
+-      whether this is a prefixed call before reporting an error.
+-      (Complete_Object_Operation): If the controlling formal is an access to
+-      variable reject an actual that is a constant or an access to one.
+-      (Try_Object_Operation): If prefix is a tagged protected object,retrieve
+-      primitive operations from base type.
+-
+-      * exp_ch4.adb (Expand_N_Indexed_Component): Test for prefix that is a
+-      build-in-place
+-      function call and call Make_Build_In_Place_Call_In_Anonymous_Context.
+-      (Expand_N_Selected_Component): Test for prefix that is a build-in-place
+-      function call and call Make_Build_In_Place_Call_In_Anonymous_Context.
+-      (Expand_N_Slice): Test for prefix that is a build-in-place function call
+-      and call Make_Build_In_Place_Call_In_Anonymous_Context.
+-      (Analyze_Call): Remove code that issues an error for limited function
+-      calls in illegal contexts, as we now support all of the contexts that
+-      were forbidden here.
+-      New calling sequence for Get_Simple_Init_Val
+-      (Expand_Boolean_Operator): Add call to Silly_Boolean_Array_Xor_Test
+-      (Expand_N_Op_Not): Add call to Silly_Boolan_Array_Not_Test
+-
+-2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_ch2.adb: Minor reformatting.
+-      (Expand_Entry_Index_Parameter): Set the type of the identifier.
+-      (Expand_Entry_Reference): Add call to Expand_Protected_Component.
+-      (Expand_Protected_Component): New routine.
+-      (Expand_Protected_Private): Removed.
+-      Add Sure parameter to Note_Possible_Modification calls
+-
+-      * sem_ch12.ads, sem_ch12.adb (Analyze_Subprogram_Instantiation): The
+-      generated subprogram declaration must inherit the overriding indicator
+-      from the instantiation node.
+-      (Validate_Access_Type_Instance): If the designated type of the actual is
+-      a limited view, use the available view in all cases, not only if the
+-      type is an incomplete type.
+-      (Instantiate_Object):  Actual is illegal if the formal is null-excluding
+-      and the actual subtype does not exclude null.
+-      (Process_Default): Handle properly abstract formal subprograms.
+-      (Check_Formal_Package_Instance): Handle properly defaulted formal
+-      subprograms in a partially parameterized formal package.
+-      Add Sure parameter to Note_Possible_Modification calls
+-      (Validate_Derived_Type_Instance): if the formal is non-limited, the
+-      actual cannot be limited.
+-      (Collect_Previous_Instances): Generate instance bodies for subprograms
+-      as well.
+-
+-      * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Small): Don't
+-      try to set RM_Size.
+-      Add Sure parameter to Note_Possible_Modification calls
+-      (Analyze_At_Clause): Preserve Comes_From_Source on Rewrite call
+-      (Analyze_Attribute_Definition_Clause, case Attribute_Address): Check for
+-      constant overlaid by variable and issue warning.
+-      Use new Is_Standard_Character_Type predicate
+-      (Analyze_Record_Representation_Clause): Check that the specified
+-      Last_Bit is not less than First_Bit - 1.
+-      (Analyze_Attribute_Definition_Clause, case Address): Check for
+-      self-referential address clause
+-
+-      * sem_ch5.ads, sem_ch5.adb (Diagnose_Non_Variable_Lhs): Rewrite the
+-      detection mechanism when the lhs is a prival.
+-      (Analyze_Assignment): Call Check_Unprotected_Access to detect
+-      assignment of a pointer to protected data, to an object declared
+-      outside of the protected object.
+-      (Analyze_Loop_Statement): Check for unreachable code after loop
+-      Add Sure parameter to Note_Possible_Modication calls
+-      Protect analysis from previous syntax error such as a scope mismatch
+-      or a missing begin.
+-      (Analyze_Assignment_Statement): The assignment is illegal if the
+-      left-hand is an interface.
+-
+-      * sem_res.ads, sem_res.adb (Resolve_Arithmetic_Op): For mod/rem check
+-      violation of restriction No_Implicit_Conditionals
+-      Add Sure parameter to Note_Possible_Modication calls
+-      Use new Is_Standard_Character_Type predicate
+-      (Make_Call_Into_Operator): Preserve Comes_From_Source when rewriting
+-      call as operator. Fixes problems (e.g. validity checking) which
+-      come from the result looking as though it does not come from source).
+-      (Resolve_Call): Check case of name in named parameter if style checks
+-      are enabled.
+-      (Resolve_Call): Exclude calls to Current_Task as entry formal defaults
+-      from the checking that such calls should not occur from an entry body.
+-      (Resolve_Call): If the return type of an Inline_Always function
+-      requires the secondary stack, create a transient scope for the call
+-      if the body of the function is not available for inlining.
+-      (Resolve_Actuals): Apply Ada2005 checks to view conversions of arrays
+-      that are actuals for in-out formals.
+-      (Try_Object_Operation): If prefix is a tagged protected object,retrieve
+-      primitive operations from base type.
+-      (Analyze_Selected_Component): If the context is a call to a protected
+-      operation the parent may be an indexed component prior to expansion.
+-      (Resolve_Actuals): If an actual is of a protected subtype, use its
+-      base type to determine whether a conversion to the corresponding record
+-      is needed.
+-      (Resolve_Short_Circuit): Handle pragma Check
+-
+-      * sem_eval.adb: Minor code reorganization (usea Is_Constant_Object)
+-      Use new Is_Standard_Character_Type predicate
+-      (Eval_Relational_Op): Catch more cases of string comparison
+-
+-2008-04-08  Robert Dewar  <dewar@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * s-rident.ads: Add No_Default_Initialization restriction
+-
+-      * exp_tss.adb:
+-      (Has_Non_Null_Base_Init_Proc): Handle No_Default_Initialization case
+-      (Set_TSS): Handle No_Default_Initialization case
+-
+-      * exp_ch6.adb (Expand_N_Subprogram_Body): Handle restriction
+-      No_Default_Initialization
+-      (Expand_N_Subprogram_Body): Remove redundant initialization of out
+-      parameters when Normalize_Scalars is active.
+-      (Add_Final_List_Actual_To_Build_In_Place_Call): Add formal Sel_Comp
+-      Fix casing error in formal parameter name in call
+-      (Register_Predefined_DT_Entry): Replace occurrences of RE_Address by
+-      (Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a
+-      dispatching call on VM targets.
+-
+-2008-04-08  Gary Dismukes  <dismukes@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_ch7.adb (Find_Final_List): Change the test for generating a
+-      selected component from an access type's Associated_Final_Chain to
+-      check for the presence of that field, rather than assuming it exists
+-      for all named access types.
+-      (Make_Clean): New formal Chained_Cleanup_Action allowing to specify a
+-      procedure to call at the end of the generated cleanup procedure.
+-      (Expand_Cleanup_Actions): When a new cleanup procedure is generated, and
+-      and an At_End_Proc already exists in the handled sequence of statements
+-      for which cleanup actions are being expanded, the original cleanup
+-      action must be preserved.
+-
+-2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_ch9.ads, exp_ch9.adb (Build_Protected_Entry,
+-      Build_Unprotected_Subprogram_Body): Generate debug info for
+-      declarations related to the handling of private data in task and
+-      protected types.
+-      (Debug_Private_Data_Declarations): New subprogram.
+-      (Install_Private_Data_Declarations): Remove all debug info flagging.
+-      This is now done by Debug_Private_Data_Declarations at the correct
+-      stage of expansion.
+-      (Build_Simple_Entry_Call): If the task name is a function call, expand
+-      the prefix into an object declaration, and make the surrounding block a
+-      task master.
+-      (Build_Master_Entity): An internal block is a master if it wraps a call.
+-      Code reformatting, update comments. Code clean up.
+-      (Make_Task_Create_Call): Use 'Unrestricted_Access instead of 'Address.
+-      (Replicate_Entry_Formals): If the formal is an access parameter or
+-      anonymous access to subprogram, copy the original tree to create new
+-      entities for the formals of the subprogram.
+-      (Expand_N_Task_Type_Declaration): Create a Relative_Deadline variable
+-      for tasks to store the value passed using pragma Relative_Deadline.
+-      (Make_Task_Create_Call): Add the Relative_Deadline argument to the
+-      run-time call to create a task.
+-      (Build_Wrapper_Spec): If the controlling argument of the interface
+-      operation is an access parameter with a non-null indicator, use the
+-      non-null indicator on the wrapper.
+-
+-      * sem_ch9.adb (Analyze_Protected_Type): Only retrieve the full view when
+-      present, which it may not be in the case where the type entity is an
+-      incomplete view brought in by a limited with.
+-      (Analyze_Task_Type): Only retrieve the full view when present, which it
+-      may not be in the case where the type entity is an incomplete view brought
+-      in by a limited with.
+-      (Analyze_Protected_Definition): Set Is_Frozen on all itypes generated for
+-      private components of a protected type, to prevent the generation of freeze
+-      nodes for which there is no proper scope of elaboration.
+-
+-      * exp_util.ads, exp_util.adb
+-      (Remove_Side_Effects): If the expression is a function call that returns a
+-      task, expand into a declaration to invoke the build_in_place machinery.
+-      (Find_Protection_Object): New routine.
+-      (Remove_Side_Effects): Also make a copy of the value
+-      for attributes whose result is of an elementary type.
+-      (Silly_Boolean_Array_Not_Test): New procedure
+-      (Silly_Boolean_Array_Xor_Test): New procedure
+-      (Is_Volatile_Reference): New function
+-      (Remove_Side_Effects): Use Is_Volatile_Reference
+-      (Possible_Bit_Aligned_Component): Handle slice case properly
+-
+-      * exp_pakd.adb (Expand_Packed_Not): Move silly true/true or false/false
+-      case test to Exp_Util
+-      (Expand_Packed_Xor): Move silly true/true case test to Exp_Util
+-
+-2008-04-08  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_dist.ads, exp_dist.adb: Fix casing error in formal parameter name
+-      in call
+-      (Add_RACW_Features): When processing an RACW in another unit than the
+-      main unit, set Body_Decls to No_List to indicate that the bodies of
+-      the type's TSS must not be generated.
+-      (GARLIC_Support.Add_RACW_Read_Attribute,
+-      GARLIC_Support.Add_RACW_Write_Attribute): Do not generate bodies if
+-      Body_Decls is No_List.
+-      (PolyORB_Support.Add_RACW_Read_Attribute,
+-      PolyORB_Support.Add_RACW_Write_Attribute,
+-      PolyORB_Support.Add_RACW_From_Any,
+-      PolyORB_Support.Add_RACW_To_Any,
+-      PolyORB_Support.Add_RACW_TypeCode): Same.
+-      (Transmit_As_Unconstrained): New function.
+-      (Build_Ordered_Parameters_List): Use the above to order parameters.
+-      (GARLIC_Support.Build_General_Calling_Stubs):
+-      Use the above to determine which parameters to unmarshall using 'Input
+-      at the point where their temporary is declared (as opposed to later on
+-      with a 'Read call).
+-      (PolyORB_Support.Build_General_Calling_Stubs):
+-      Use the above to determine which parameters to unmarshall using From_Any
+-      at the point where their temporary is declared (as opposed to later on
+-      with an assignment).
+-
+-2008-04-08  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): If this is
+-      an Input function for an access type, do not perform default
+-      initialization on the local variable that receives the value, to
+-      prevent spurious warnings when the type is null-excluding.
+-
+-2008-04-08  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * freeze.adb (Freeze_Entity): Improve warnings on access types in pure
+-      units.
+-      (Size_Known): Generic formal scalar types have known at compile
+-      time size, so remove check.
+-      Fix casing error in formal parameter name in call
+-      (Freeze_Subprogram): If the subprogram is a user-defined operator,
+-      recheck its overriding indication.
+-
+-2008-04-08  Vincent Celier  <celier@adacore.com>
+-
+-      * gnat1drv.adb: Send all messages indicating an error to standard error
+-
+-2008-04-08  Robert Dewar  <dewar@adacore.com>
+-
+-      * gnatbind.adb (Restriction_Could_Be_Set): New procedure
+-      (List_Applicable_Restrictions): Do not list existing restrictions
+-
+-2008-04-08  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-socket.ads, g-socket.adb: Improve documentation of GNAT.Sockets:
+-      add a pointer to generic sockets literature
+-      do not mention that the given example is "typical" usage.
+-      Remove obsolete comment about multicast not being supported on Windows.
+-      (Connect_Socket): Make Server mode IN rather than IN OUT
+-      since this formal is never modified.
+-
+-2008-04-08  Robert Dewar  <dewar@adacore.com>
+-
+-      * sprint.adb (Write_Itype): Handle Itypes whose Parent field points to
+-      the declaration for some different entity.
+-      (Sprint_Node_Actual, case N_Derived_Type_Definition): When an interface
+-      list is precent (following the parent subtype indication), display
+-      appropriate "and" keyword.
+-
+-      * itypes.adb: Remove unnecessary calls to Init_Size_Align and Init_Esize
+-      Remove unnecessary calls to Init_Size_Align and Init_Esize.
+-      Add notes on use of Parent field of an Itype
+-
+-2008-04-08  Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * lib-xref.adb (Is_On_LHS): Remove dead code
+-      (Output_Overriden_Op): If the overridden operation is itself inherited,
+-      list the ancestor operation, which is the one whose body or absstract
+-      specification is actually being overridden. For source navigation
+-      purposes.
+-
+-      * sem_ch7.adb (Is_Primitive_Of): use base type to determine whether
+-      operation is primitive for the type.
+-      (Declare_Inherited_Private_Subprograms): If the new operation overrides
+-      an inherited private subprogram, set properly the Overridden_Operation
+-      attribute, for better cross-reference information.
+-      (Analyze_Package_Specification): Do late analysis of spec PPCs
+-      (Install_Private_Declaration, Uninstall_Declarations): Save/restore
+-      properly the full view and underlying full views of a private type in a
+-      child unit, whose full view is derived from a private type in a parent
+-      unit, and whose own full view becomes visible in the child body.
+-
+-      * sem_disp.adb (Check_Dispatching_Operation): When a body declares a
+-      primitive operation after the type has been frozen, add an explicit
+-      reference to the type and the operation, because other primitive
+-      references have been emitted already.
+-      (Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a
+-      dispatching call on VM targets.
+-
+-2008-04-08  Vincent Celier  <celier@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-
+-      * make.adb: (Gnatmake_Called): Remove, no longer necessary
+-      (Compile_Surces): Call Delete_Temp_Config_Files only if Gnatmake_Called
+-      is True and Debug_Flag_N is False. Debug_Flag_N means "keep temp files".
+-      (Insert_Project_Sources): Take into account index in multi-unit source
+-      files.
+-      After building a library project, delete all temporary files.
+-      (Initialize): Reset current output after parsing project file.
+-      (Collect_Arguments_And_Compile): Never insert in the queue the sources
+-      of library projects that are externally built.
+-      Put file name in error and inform messages if -df is used
+-      (Display): If invoked with -d7, do not display path names, but only
+-      file names.
+-
+-      * makeutl.ads (Path_Or_File_Name): New function
+-      (Path_Or_File_Name): New function
+-
+-2008-04-08  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * Make-lang.in: Disable warnings during first stage of bootstrap
+-      Get rid of gnatbl.
+-      Update dependencies.
+-
+-2008-04-08  Vincent Celier  <celier@adacore.com>
+-
+-      * mlib-prj.adb (Build_Library): Compare with ALI file name in canonical
+-      case to decide if ALI object file is included in library.
+-      (Build_Library): Never attempt to build a library if the project is
+-      externally built.
+-
+-2008-04-08  Thomas Quinot  <quinot@adacore.com>
+-
+-      * nlists.adb (Is_Non_Empty_List): Remove redundant test. First
+-      (No_List) is defined to return Empty.
+-
+-2008-04-08  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * osint.ads, osint.adb (Get_Libraries_From_Registry): Improve
+-      documentation.
+-      Update comments.
+-      (Read_Default_Search_Dirs): Do not consider spaces as path separators
+-      because spaces may be part of legal paths.
+-
+-2008-04-08  Robert Dewar  <dewar@adacore.com>
+-
+-      * par-ch11.adb (P_Exception_Handler): Check indentation level for
+-      handler
+-
+-2008-04-08  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * par-ch3.adb (P_Type_Declaration) Reject the keyword "synchronized"
+-      in a type declaration, if this is not an interface declaration or
+-      private type extension.
+-
+-2008-04-08  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-util.adb (Executable_Of): New String parameter Language. When
+-      Ada_Main is False and Language is not empty, attempt to remove the body
+-      suffix or the spec suffix of the language to get the base of the
+-      executable file name.
+-      (Put): New Boolean parameter Lower_Case, defauilted to False. When
+-      Lower_Case is True, put the value in lower case in the name list.
+-      (Executable_Of): If there is no executable suffix in the configuration,
+-      then do not modify Executable_Extension_On_Target.
+-
+-      * prj-util.ads (Executable_Of): New String parameter Language,
+-      defaulted to the empty string.
+-      (Put): New Boolean parameter Lower_Case, defauilted to False
+-
+-2008-04-08  Robert Dewar  <dewar@adacore.com>
+-
+-      * scng.adb (Scan_Identifier): Handle case of identifier starting with
+-      wide character using UTF-8 encoding.
+-
+-2008-04-08  Javier Miranda  <miranda@adacore.com>
+-
+-      * sem.adb (Analyze): Consider case in which we analyze an empty node
+-      that was generated by a call to a runtime function that is not
+-      available under the configurable runtime.
+-
+-      * sem.ads (Inside_Freezing_Actions): New flag.
+-      (Save_Check_Policy_List): New field in scope stack entry
+-
+-2008-04-08  Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_aggr.adb (Analyze_N_Extension_Aggregate): Add legality checks for
+-      the ancestor part of an extension aggregate for a limited type.
+-      (Resolve_Array_Aggregate): Issue warning for sliding of aggregate with
+-      enumeration index bounds.
+-      (Resolve_Array_Aggregate): Add circuit for diagnosing missing choices
+-      when array is too short.
+-      (Check_Expr_OK_In_Limited_Aggregate): Move function
+-      Check_Non_Limited_Type from Resolve_Record_Aggregate to top level (and
+-      change name).
+-      (Resolve_Array_Aggregate.Resolve_Aggr_Expr):
+-      Check_Expr_OK_In_Limited_Aggregates called to check for illegal limited
+-      component associations.
+-      (Check_Non_Limited_Type): Moved to outer level and renamed.
+-      (Resolve_Record_Aggregate): In an extension aggregate, an association
+-      with a box initialization can only designate a component of the
+-      extension, not a component inherited from the given ancestor
+-
+-      * sem_case.adb: Use new Is_Standard_Character_Type predicate
+-
+-2008-04-08  Robert Dewar  <dewar@adacore.com>
+-
+-      * s-imgdec.adb (Set_Decimal_Digits): Fix error when input is zero with
+-      negative scale
+-      (Set_Decimal_Digits): Properly handle Aft=0 (equivalent to Aft=1)
+-      Properly handle case where Aft > Scale and input number is less than
+-      one.
+-
+-2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * s-stoele.ads, s-soflin.ads: Move the location of
+-      Dummy_Communication_Block from System.Storage_Elements to
+-      System.Soft_Links.
+-
+-      * s-tpobop.ads: Add comment on usage of Dummy_Communication_Block to
+-      emulate Communication_Block in certain scenarios.
+-
+-2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * s-strxdr.adb, s-stratt.ads, s-stratt.adb (Block_IO_OK): New
+-      subprogram.
+-      Add new subtype S_WWC, unchecked conversion routines From_WWC and
+-      To_WWC.
+-      (I_WWC, O_WWC): New routines for input and output of
+-      Wide_Wide_Character.
+-
+-2008-04-08  Robert Dewar  <dewar@adacore.com>
+-
+-      * stringt.adb (Write_String_Table_Entry): Handle wide characters
+-      properly
+-
+-2008-04-08  Robert Dewar  <dewar@adacore.com>
+-
+-      * styleg.adb (Check_Comment): Allow special char after -- in
+-      non-end-of-line case
+-
+-2008-04-08  Robert Dewar  <dewar@adacore.com>
+-
+-      * stylesw.adb: Implement -gnaty + - y options
+-      (Set_GNAT_Style_Check_Options): Includ I in style check string
+-
+-      * stylesw.ads: Add comments for new style switch options
+-
+-2008-04-08  Sergey Rybin  <rybin@adacore.com>
+-
+-      * tree_io.ads: Increase ASIS_Version_Number because of adding Sem_Aux
+-      to the set of the GNAT components needed by ASIS.
+-
+-2008-04-08  Bob Duff  <duff@adacore.com>
+-
+-      * types.h: Change CE_Null_Exception_Id to the correct value (8, was 9).
+-
+-2008-04-08  Tristan Gingold  <gingold@adacore.com>
+-
+-      * vxaddr2line.adb: Use Unsigned_32 instead of Integer for address type.
+-      Improve error message generation.
+-
+-2008-04-08  Vincent Celier  <celier@adacore.com>
+-
+-      * a-direct.adb (Start_Search): Check for Name_Error before checking for
+-      Use_Error, as specified in the RM. Check if directory is open and raise
+-      Use_Error if it is not.
+-
+-2008-04-08  Vincent Celier  <celier@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * vms_conv.adb (Output_Version): Print "GNAAMP" instead of "GNAT when
+-      AAMP_On_Target is set.
+-
+-      * vms_data.ads: Add NOxxx to style check switch list
+-      Add entry COMPONENTS for -gnatVe
+-      Add VMS qualifiers for -eL (/FOLLOW_LINKS_FOR_FILES) and --subdirs=
+-      (/SUBDIRS=).
+-      (GCC_Switches): Add /ALL_BACK_END_WARNINGS.
+-      Add qualifiers for gnatmetric coupling options
+-      Add note that -gnata enables all checks
+-      Add entries [NO]PARAMETER_ORDER for -gnatw.p[P]
+-      Fix inconsistency for VMS qualifier for the gnatpp '-rnb' option
+-      New warning flag -gnatw.e
+-
+-      * usage.adb: Add entries for -gnaty+ -gnaty- -gnatyy
+-      Add entry for -gnatyN (forgotten before)
+-      Line for new warning switch -gnatw.p
+-      New warning flag -gnatw.e
+-
+-      * gnat_ugn.texi: Add documentation fpr project file switch -aP
+-      Document -gnaty - + y
+-      Replace occurences of "package specification" with "package spec"
+-      Define preprocessing symbols in documentation of gnatprep
+-      Clarify reason for distinguishing overflow checking
+-      Add documentation for project-aware tool switches -eL and --subdirs=
+-      Complete list of configuration pragmas
+-      Specify that, even when gnatmake switch -x is used, mains on the command
+-      line need to be sources of project files.
+-      Editing of gnatcheck/gnatmetric doc.
+-      Add documentation for -gnatw.p/-gnatw.P
+-      Add missing documentation for -fno-inline-functions.
+-      Add documentation for -gnatw.e
+-
+-      * gnat_rm.texi: Add documentation for No_Default_Initialization
+-      Replace occurences of "package specification" with "package spec"
+-      Document use of * in Warnings Off string
+-      Update documentation of alignment/component clauses.
+-      Add documentation for Invalid_Value
+-      Document new consistency rule for Optimize_Alignment
+-      Add documentation for Precondition and Postcondition pragmas
+-      Add documentation for Check and Check_Policy pragmas
+-      Document new Enum_Val attribute
+-      Remove requirement for static string in pragma Assert
+-      Add documentation on GNAT.Time_Stamp
+-
+-      * ug_words: add entry for -gnatVe
+-      Add entries for -gnat.p[P] /WARNINGS=[NO]PARAMETER_ORDER
+-      Add entry for -gnatw.e
+-
+-      * debug.adb: Add missing documentation for d.a flag
+-      Document new -gnatd.a switch.
+-      Add documentation for new gnatmake debug switch -df
+-
+-2008-04-08  Thomas Quinot  <quinot@adacore.com>
+-
+-      * gen-soccon.c: Bump year in copyright notices.
+-
+-      * g-soccon-vxworks.ads: Add new constant IP_PKTINFO
+-
+-2008-04-08  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * ctrl_c.c: Improve handling of ctrl-c on LynxOS and Windows.
+-      Minor reformatting.
+-
+-2008-04-08  Robert Dewar  <dewar@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-
+-      * impunit.adb: Add Interfaces.Java.JNI, System.Strings.Stream_Ops,
+-      Ada.Calendar.Conversions, Ada.Dispatching.EDF, GNAT.Time_Stamp
+-
+-      * s-intman-mingw.adb: Minor comment fix -- spell 'explicitly' correctly
+-
+-      * g-trasym.adb: Minor comment fix -- spell 'explicitly' correctly
+-
+-      * g-trasym.ads: Minor comment improvements
+-
+-      * s-stalib.adb: Minor comment fix -- spell 'explicitly' correctly
+-
+-      * a-sequio.ads, a-direio.ads: improve message for tagged type
+-
+-      * a-strunb.ads: Minor reformatting
+-
+-      * a-tifiio.adb: Minor reformatting
+-
+-      * atree.adb (Fix_Parents): Use clearer names for formals
+-      Cleanup and simplify code
+-      Use named notation in calls
+-
+-      * exp_fixd.adb (Do_Multiply_Fixed_Universal): Use named notation in
+-      confusing calls
+-
+-      * uintp.adb: Used named notation for some confusing calls
+-
+-      * bindusg.adb: Minor change in one line of output
+-
+-      * cstand.adb: Minor reformatting of src representation of Standard
+-
+-      * a-assert.ads: Add comment.
+-
+-      * g-decstr.adb: Fix bad indentation
+-
+-      * expander.ads, expander.adb: Code clean up.
+-
+-      * sem_dist.ads: Minor comment improvement
+-
+-      * sem_type.adb, g-dirope.ads, g-exctra.ads, s-valwch.adb,
+-      s-wchstw.adb, targparm.ads, widechar.adb: Minor reformatting
+-
+-      * i-cstrin.adb: Fix casing error in formal parameter name in call
+-
+-2008-04-08  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * binde.adb (Gather_All_Links, Gather_Dependencies): units that are
+-      mentioned in limited_with_clauses to do create semantic dependencies
+-      even though they appear in the ali file.
+-
+-2008-04-08  Emmanuel Briot  <briot@adacore.com>
+-
+-      * g-comlin.ads, g-comlin.adb (Expansion): Remove unreachable return
+-      statement.
+-      (Get_Configuration): New subprogram.
+-
+-      * prj-pp.ads, prj-pp.adb (Pretty_Print): new parameters Id and Id_Tree
+-      These optional parameters help preserve the casing of the project's name
+-      when pretty-printing.
+-
+-2008-04-08  Jerome Lambourg  <lambourg@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-
+-      * bindgen.adb (Gen_Adainit_Ada): If the main program is a CIL function,
+-      then use __gnat_set_exit_status to report the returned status code.
+-
+-      * comperr.adb (Compiler_Abort): Convert most bug boxes into clean error
+-      messages on .NET, since some constructs of the language are not
+-      properly supported.
+-
+-      * gnatlink.adb (Gnatlink): In case the command line is too long for the
+-      .NET linker, gnatlink now concatenate all .il files and pass this to
+-      ilasm.
+-
+-2008-04-07  Aurelien Jarno  <aurelien@aurel32.net>
+-          Xavier Grave  <grave@ipno.in2p3.fr>
+-
+-      * Makefile.in: Add make ifeq define for mips/mipsel support.
+-      * g-soccon-linux-mips.ads, system-linux-mipsel.ads,
+-      system-linux-mips.ads: New files.
+-
+-2008-04-07  Aurelien Jarno  <aurelien@aurel32.net>
+-
+-      * sysdep.c: add __GLIBC__ to the #ifdef preprocessor macros to
+-      detect systems using GNU libc.
+-      * gsocket.h: ditto.
+-      * socket.c: ditto.
+-      * adaint.c: ditto.
+-      * link.c: ditto.
+-
+-2008-04-07  Aurelien Jarno  <aurelien@aurel32.net>
+-
+-      * s-osinte-linux-kfreebsd.ads (SC_NPROCESSORS_ONLN): New
+-      constant constant for sysconf call.
+-      (bit_field): New packed boolean type used by cpu_set_t.
+-      (cpu_set_t): New type corresponding to the C type with
+-      the same name. Note that on the Ada side we use a bit
+-      field array for the affinity mask. There is not need
+-      for the C macro for setting individual bit.
+-      (pthread_setaffinity_np): New imported routine.
+-      * Makefile.in: Use s-tasinf-linux.ads and s-tasinf-linux.adb
+-      on GNU/kFreeBSD.
+-
+-2008-04-07  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * utils2.c (build_binary_op): Fold ARRAY_REF and ARRAY_RANGE_REF too.
+-
+-2008-04-07  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gigi.h (create_subprog_type): Remove returns_with_dsp parameter.
+-      * decl.c (gnat_to_gnu_entity): Adjust for above new prototype.
+-      * utils.c (create_subprog_type): Remove returns_with_dsp parameter.
+-      * trans.c (gnat_to_gnu) <N_Return_Statement>: Remove code dealing with
+-      Return by Depressed Stack Pointer.
+-
+-2008-04-06  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (is_variable_size): Do not unconditionally return false
+-      on non-strict alignment platforms.
+-
+-2008-04-06  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (rest_of_type_decl_compilation_no_defer): New local function
+-      used to process all the variants of the specified type.
+-      (gnat_to_gnu_entity): Invoke rest_of_type_decl_compilation for enumeral
+-      types too.  Call rest_of_type_decl_compilation_no_defer if undeferring.
+-      (rest_of_type_decl_compilation): Likewise.
+-      * utils.c (gnat_pushdecl): Propagate the name to all variants of type.
+-
+-2008-04-03  Paolo Bonzini  <bonzini@gnu.org>
+-
+-      * gigi.h (insert_block): Kill.
+-      * utils.c (insert_block): Kill.
+-
+-2008-04-02  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <object>: For a constant object whose
+-      type has self-referential size, get the size from the initializing
+-      expression directly if it is also a constant whose nominal type
+-      has self-referential size.
+-
+-2008-04-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+-
+-      PR ada/33688
+-      * g-soccon-darwin.ads: Define new constant IP_PKTINFO.
+-
+-      PR ada/33857
+-      * env.c: Always include crt_externs.h if __APPLE__ is defined.
+-      (__gnat_setenv): Use setenv instead of putenv if __APPLE__ is defined.
+-
+-2008-04-01  Andreas Jaeger  <aj@suse.de>
+-
+-      * g-soccon-linux-ppc.ads: Add new constants SO_REUSEPORT and
+-      IP_PKTINFO.
+-
+-2008-03-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+-
+-      * g-table.adb, g-tasloc.adb, g-traceb.ads,
+-      g-trasym.adb, g-utf_32.adb, gen-soccon.c, gigi.h, gmem.c,
+-      gnatbind.adb, gnatchop.adb, gnatcmd.adb,
+-      gnatcmd.ads, gnatdll.adb, gnatfind.adb,
+-      gnatlink.adb, gnatmem.adb, gprep.adb,
+-      i-cstrea-vms.adb, i-cstrin.adb, i-pacdec.ads,
+-      i-vxwork.ads, impunit.adb, init.c, initialize.c, inline.adb,
+-      layout.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
+-      lib-xref.ads, lib.adb, link.c, live.ads,
+-      make.adb, makegpr.adb, makeutl.adb, math_lib.adb,
+-      mdll-utl.adb, mdll.ads, memroot.adb, memroot.ads,
+-      misc.c, mlib-prj.adb, mlib-tgt-hpux.adb,
+-      mlib-tgt-linux.adb, mlib-tgt-tru64.adb, mlib-tgt.ads,
+-      namet.adb, namet.h, nlists.adb, nlists.ads,
+-      nlists.h, opt.ads, osint-b.ads, osint-c.adb,
+-      osint-c.ads, osint.adb, osint.ads, output.ads,
+-      par-ch10.adb, par-ch12.adb, par-ch2.adb, par-ch3.adb,
+-      par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch9.adb,
+-      par-endh.adb, par-labl.adb, par-prag.adb,
+-      par-sync.adb, par-tchk.adb, par-util.adb,
+-      par.adb, prep.adb, prep.ads, prepcomp.adb, prj-attr.ads,
+-      prj-dect.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
+-      prj-nmsc.ads, prj-pp.adb, prj-proc.adb,
+-      prj-strt.ads, prj-tree.ads, prj.adb, prj.ads: Fix comment typos.
+-
+-2008-03-31  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <object>: Do not force a non-null
+-      size if it has overflowed.
+-
+-2008-03-31  Olivier Hainque  <hainque@adacore.com>
+-          Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * utils2.c (find_common_type): Document assumption on t1/t2 vs
+-      lhs/rhs. Force use of lhs type if smaller, whatever the modes.
+-
+-2008-03-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+-
+-      * a-textio.ads, a-witeio.ads, a-ztexio.ads, ali.ads,
+-      einfo.ads, erroutc.adb, erroutc.ads, exp_attr.adb,
+-      exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
+-      exp_pakd.ads, exp_prag.adb, exp_smem.adb,
+-      exp_tss.ads, exp_util.adb, exp_util.ads,
+-      exp_vfpt.adb, freeze.adb, freeze.ads,
+-      frontend.adb, g-alleve.adb, g-altcon.adb,
+-      g-altive.ads, g-alveop.ads, g-alvevi.ads,
+-      g-arrspl.adb, g-busorg.ads, g-calend.adb,
+-      g-calend.ads, g-casuti.ads, g-cgideb.adb,
+-      g-comlin.adb, g-comlin.ads, g-curexc.ads,
+-      g-debpoo.adb, g-debpoo.ads, g-decstr.adb,
+-      g-dirope.adb, g-dirope.ads, g-dynhta.ads,
+-      g-dyntab.adb, g-encstr.ads, g-excact.ads,
+-      g-except.ads, g-expect.ads, g-heasor.adb,
+-      g-hesora.adb, g-hesorg.adb, g-htable.ads,
+-      g-locfil.ads, g-md5.adb, g-md5.ads,
+-      g-memdum.ads, g-moreex.ads, g-os_lib.adb,
+-      g-pehage.adb, g-pehage.ads, g-regexp.adb,
+-      g-regexp.ads, g-regpat.adb, g-regpat.ads,
+-      g-soccon-aix.ads, g-soccon-darwin.ads,
+-      g-soccon-freebsd.ads, g-soccon-hpux-ia64.ads,
+-      g-soccon-hpux.ads, g-soccon-irix.ads,
+-      g-soccon-linux-64.ads, g-soccon-linux-ppc.ads,
+-      g-soccon-linux-x86.ads, g-soccon-lynxos.ads,
+-      g-soccon-mingw.ads, g-soccon-solaris-64.ads,
+-      g-soccon-solaris.ads, g-soccon-tru64.ads,
+-      g-soccon-vms.ads, g-soccon-vxworks.ads,
+-      g-soccon.ads, g-socket.adb, g-socket.ads,
+-      g-socthi-mingw.adb, g-socthi-vms.adb,
+-      g-socthi-vxworks.adb, g-soliop-mingw.ads,
+-      g-soliop-solaris.ads, g-soliop.ads, g-spipat.adb,
+-      g-spipat.ads, g-string.adb, g-stsifd-sockets.adb: Fix comment
+-      typos.
+-
+-2008-03-27  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <E_Procedure>: Also set the public flag
+-      if the procedure is imported.
+-
+-2008-03-26  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * adaint.c: Fix warnings.
+-
+-2008-03-26  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * g-dirope.ads, g-dirope.adb: (Dir_Type_Value): Moved to spec.
+-
+-2008-03-26  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * a-witeio.adb: Fix problem with Current_Output (introduce Self).
+-      Fix problem of status check for null file
+-
+-2008-03-26  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-proinf-irix-athread.ads, s-vxwork-mips.ads,
+-      s-traces.ads, s-vxwork-arm.ads, s-vxwork-ppc.ads, s-vxwork-sparcv9.ads,
+-      s-tasinf-mingw.ads, s-tasinf-linux.ads, s-tasdeb.ads, mlib-tgt.ads,
+-      i-cstrin.ads, uintp.adb, g-catiio.adb, s-vmexta.ads,
+-      s-trafor-default.ads, s-vxwork-m68k.ads: Minor reformatting. Update
+-      comments.
+-
+-2008-03-26  Thomas Quinot  <quinot@adacore.com>
+-
+-      PR ada/33688
+-      * g-socket.ads, g-socket.adb (Options, Set_Socket_Option,
+-      Get_Socket_Option): Add support for Receive_Packet_Info.
+-
+-      * g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
+-      g-soccon-irix.ads, g-soccon-hpux.ads, g-soccon-solaris.ads,
+-      g-soccon-vms.ads, g-soccon-mingw.ads, g-soccon-freebsd.ads,
+-      g-soccon-hpux-ia64.ads, g-soccon-solaris-64.ads, g-soccon-darwin.ads,
+-      g-soccon-lynxos.ads, g-soccon-linux-64.ads, g-soccon-linux-x86.ads: Add
+-      new constants SO_REUSEPORT and IP_PKTINFO
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-taster.adb, s-shasto.adb, s-soflin.adb, s-taasde.adb, s-taenca.adb,
+-      a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb,
+-      a-intnam-lynxos.ads, a-retide.adb, a-intnam-tru64.ads, a-intnam-aix.ads,
+-      a-intnam-irix.ads, a-intnam-hpux.ads, a-intnam-linux.ads,
+-      a-intnam-solaris.ads, a-caldel-vms.adb, a-intnam-vms.ads,
+-      a-excpol-abort.adb, a-intnam-mingw.ads, s-interr.adb, s-interr.ads,
+-      s-intman.ads, s-gloloc.adb, s-osinte-lynxos-3.ads,
+-      s-interr-sigaction.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
+-      a-intnam-freebsd.ads, s-osinte-freebsd.ads, s-osinte-lynxos.ads,
+-      s-taspri-lynxos.ads, s-osinte-tru64.ads, s-osinte-tru64.ads,
+-      s-taspri-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads,
+-      s-osinte-hpux-dce.ads, s-taprop-hpux-dce.adb, s-taspri-hpux-dce.ads,
+-      s-osinte-linux.ads, s-osinte-dummy.ads, s-taprop-dummy.adb,
+-      s-taspri-dummy.ads, s-interr-dummy.adb, s-osinte-solaris.ads,
+-      s-osinte-mingw.ads, s-taprop-solaris.adb, s-taspri-solaris.ads,
+-      s-inmaop-vms.adb, s-interr-vms.adb, s-intman-vms.ads, s-osinte-vms.ads,
+-      s-osinte-vms.ads, s-taprop-vms.adb, s-taspri-vms.ads,
+-      s-taspri-mingw.ads, s-interr-vxworks.adb, s-inmaop-posix.adb,
+-      s-intman-vxworks.ads, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
+-      s-taspri-vxworks.ads, s-taspri-posix.ads, a-caldel.adb, a-calend.adb,
+-      a-elchha.adb, a-dynpri.adb, a-except.adb, a-except.ads, a-interr.ads,
+-      a-textio.adb, a-tigeau.ads, atree.adb, s-taprob.adb, s-taprop.ads,
+-      s-tarest.adb, s-tarest.ads, s-tasini.adb, s-taskin.adb, s-taskin.ads,
+-      s-tasque.adb, s-tasren.adb, s-tasren.ads, s-tassta.adb, s-tassta.ads,
+-      s-tasuti.adb, s-tataat.adb, s-tataat.ads, s-tpoben.adb, s-tpoben.ads,
+-      s-tpobop.adb, s-tpobop.ads, s-tposen.adb, s-tposen.ads, s-valrea.adb,
+-      s-valuti.adb, a-intnam-darwin.ads, s-osinte-darwin.ads, s-solita.adb,
+-      a-ztinau.ads, s-osinte-linux-hppa.ads, a-except-2005.adb,
+-      a-except-2005.ads, a-rttiev.adb, s-osinte-vxworks6.ads, s-regexp.adb,
+-      s-tasloc.adb: Minor reformatting.
+-      Update comments.
+-      Remove "used for" sections from comments.
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * s-tpopsp-posix.adb, s-tpopsp-solaris.adb, s-tpopsp-posix-foreign.adb,
+-      s-tpopsp-lynxos.adb, s-tpopde-vms.ads, s-tpopde-vms.adb,
+-      s-tpopsp-vxworks.adb, s-casi16.adb, s-caun16.adb, s-inmaop.ads,
+-      s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-tpinop.adb,
+-      s-tpinop.ads, s-tporft.adb, a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb,
+-      a-crbtgk.ads, a-crbtgk.adb, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
+-      a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
+-      a-cgcaso.adb, a-cgaaso.adb, a-ciormu.adb, a-cihase.adb, a-swuwha.ads,
+-      a-rbtgso.ads, a-cgaaso.ads, a-cgaaso.ads, a-ciorma.adb, a-chtgke.ads,
+-      a-chtgke.adb, a-llfzti.ads, a-ztenau.adb, a-ztenau.ads, a-stzhas.ads,
+-      a-szbzha.ads, a-szbzha.adb, a-crdlli.ads, a-crdlli.ads, a-crdlli.adb,
+-      i-forbla-darwin.adb, i-forbla.ads, s-regexp.adb, a-nllrar.ads,
+-      a-nlrear.ads, a-nucoar.ads, a-nurear.ads, i-forlap.ads, s-gearop.adb,
+-      s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb, s-gecola.ads,
+-      s-gerebl.adb, s-gerela.ads, a-swuwha.adb, i-forbla-unimplemented.ads,
+-      double spaced if it fits on one line and otherwise single spaced.
+-
+-2008-03-26  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-lynxos.adb,
+-      s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
+-      s-taprop-posix.adb (Create_Task): Do not attempt to set task priority
+-      or task info if the thread could not be created.
+-
+-2008-03-26  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * gnatvsn.ads (Library_Version): Bump to 4.4.
+-      (Current_Year): Bump to 2008.
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * ali.ads, ali.adb (Optimize_Alignment_Setting): New field in ALI record
+-
+-      * bcheck.adb (Check_Consistent_Optimize_Alignment): New procedure
+-
+-      * debug.adb: Add debug flags d.r and d.v
+-      Add debug flag .T (Optimize_Alignment (Time))
+-      Add debug flag .S (Optimize_Alignment (Space))
+-
+-      * freeze.adb (Freeze_Record_Type): Set OK_To_Reorder_Components
+-      depending on setting of relevant debug flags.
+-      Replace use of Warnings_Off by Has_Warnings_Off
+-      (Freeze_Entity): In circuit for warning on suspicious convention
+-      actuals, do not give warning if subprogram has same entity as formal
+-      type, or if subprogram does not come from source.
+-      (Freeze_Entity): Don't reset Is_Packed for fully rep speced record
+-      if Optimize_Alignment set to Space.
+-
+-      * frontend.adb: Add call to Sem_Warn.Initialize
+-      Add call to Sem_Warn.Output_Unused_Warnings_Off_Warnings
+-      Reset Optimize_Alignment mode from debug switches .S and .T
+-
+-      * layout.adb (Layout_Composite_Object): Rewritten for
+-      Optimize_Aligment pragma.
+-
+-      * lib-writ.ads, lib-writ.adb: New Ox parameter for Optimize_Alignment
+-      mode.
+-
+-      * opt.ads, opt.adb: (Optimize_Alignment): New global switch
+-
+-      * par-prag.adb (N_Pragma): Chars field removed, use Chars
+-      (Pragma_Identifier (..  instead, adjustments throughout to accomodate
+-      this change. Add entry for pragma Optimize_Alignment
+-
+-      * sem_prag.adb (N_Pragma): Chars field removed, use Chars
+-      (Pragma_Identifier (..
+-      instead, adjustments throughout to accomodate this change.
+-      (Process_Compile_Time_Warning_Or_Error): Use !! for generated msg
+-      (Favor_Top_Level): Use new function Is_Access_Subprogram_Type
+-      Add implementation of pragma Optimize_Alignment
+-
+-2008-03-26  Vincent Celier  <celier@adacore.com>
+-
+-      * a-szuzti.adb, a-swuwti.adb, a-suteio.adb (functions Get_Line):
+-      Improve memory usage to avoid use of stack.
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-teioed.ads: Correct value of Default_Fill
+-
+-      * a-teioed.adb (Image): Use Fill_Character instead of '*' to fill
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb: Fix problem
+-      with Current_Output (introduce Self).
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * checks.adb (Ensure_Valid): Capture valid status if possible
+-      (eliminate checks)
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * stand.ads: Deal with reordering of package standard declarations
+-
+-      * cstand.adb: Put package Standard declarations in proper order
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * einfo.ads, einfo.adb (N_Pragma): Chars field removed, use Chars
+-      (Pragma_Identifier (.. instead.
+-      (OK_To_Reorder_Components): New flag
+-      (Has_Entries): Code cleanup.
+-      (Warnings_Off_Used): New flag
+-      (Warnings_Off_Used_Unmodified): New flag
+-      (Warnings_Off_Used_Unreferenced): New flag
+-      (Has_Warnings_Off): New function
+-      (Has_Unmodified): New function
+-      (Has_Unreferenced): New function
+-      (Is_Trivial_Subprogram): New flag
+-      (Is_Static_Dispatch_Table_Entity): New attribute.
+-      Change name Access_Subprogram_Type_Kind to Access_Subprogram_Kind
+-      (more consistent with other similar names)
+-      (Access_Subprogram_Type): New classification function
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * errout.ads: Document new !! insertion sequence
+-
+-      * errout.adb (N_Pragma): Chars field removed, use Chars
+-      (Pragma_Identifier (..  instead.
+-      Replace use of Warnings_Off by Has_Warnings_Off
+-      (Error_Msg_Internal): Don't delete warning ending in !!
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * par.adb (Check_No_Right_Paren): Removed no longer used
+-
+-      * par-ch10.adb (N_Pragma): Chars field removed, use Chars
+-      (Pragma_Identifier (..  instead.
+-
+-      * par-ch10.adb (P_Subunit): Improvement in error recovery and message
+-
+-      * par-tchk.adb, par-ch5.adb, par-ch6.adb, par-ch3.adb,
+-      par-ch4.adb: Minor improvements in error recovery and messages.
+-
+-      * erroutc.adb (Test_Style_Warning_Serious_Msg): Treat style msgs as
+-      non-serious
+-
+-      * par-ch9.adb: Minor improvements in error recovery and messages
+-      (P_Protected): Better error recovery for "protected type x;"
+-
+-      * par-util.adb: Minor improvements in error recovery and messages
+-      (Check_No_Right_Paren): Removed no longer used
+-
+-2008-03-26  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_aggr.adb (Replace_Type): When checking for self-reference, verify
+-      that the prefix of an attribute is the type of the aggregate being
+-      expanded.
+-
+-2008-03-26  Javier Miranda  <miranda@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_attr.adb (N_Pragma): Chars field removed.
+-      (Expand_N_Attribute_Reference): If the designated type associated with
+-      attribute 'Unrestricted_Access is a subprogram entity then replace it
+-      by an E_Subprogram_Type itype.
+-      Implement attribute Old
+-
+-      * sem_attr.ads (Attribute_Class_Array): Move to snames.ads
+-
+-      * sem_attr.adb (Build_Access_Subprogram_Itype): Add documentation.
+-      Replace call to
+-      New_Internal_Entity by call to Create_Itype to centralize calls
+-      building itypes, ad propagate the convention of the designated
+-      subprogram. In addition, disable the machinery cleaning constant
+-      indications from all entities in current scope when 'Unrestricted_Access
+-      corresponds with a node initializing a dispatch table slot.
+-      (Analyze_Attribute): Parameterless attributes returning a string or a
+-      type will not be called with improper arguments, so we can remove junk
+-      code that was dealing with this case.
+-      Implement attribute Old
+-
+-      * snames.ads, snames.h, snames.adb: Add entries for attribute Old
+-      Add entry for pragma Optimize_Alignment
+-      New standard names Sync and Synchronize
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-
+-      * exp_ch11.adb (Expand_At_End_Handler): Set From_At_End flag on raise
+-      stmt.
+-      (No_Exception_Propagation_Active): New function.
+-      (Expand_Exception_Handlers): Use No_Exception_Propagation_Active.
+-      Update comments, and review all uses of No_Exception_Propagation, which
+-      are now correct and in sync with what gigi expects.
+-
+-      * restrict.ads, restrict.adb (No_Exception_Propagation_Active): New
+-      function.
+-      (Expand_Exception_Handlers): Use No_Exception_Propagation_Active.
+-      Update comments, and review all uses of No_Exception_Propagation, which
+-      are now correct and in sync with what gigi expects.
+-
+-2008-03-26  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch3.adb (Access_Definition): If the access type is the return
+-      result of a protected function, create an itype reference for it
+-      because usage will be in an inner scope from the point of declaration.
+-      (Build_Derived_Record_Type): Inherit Reverse_Bit_Order and
+-      OK_To_Reorder_Components.
+-      (Make_Index): If an overloaded range includes a universal integer
+-      interpretation, resolve to Standard.Integer.
+-      (Analyze_Subtype_Indication): Copy Convention to subtype
+-      (Check_Abstract_Interfaces): Complete semantic checks on the legality of
+-      limited an synchronized progenitors in type declaration and private
+-      extension declarations.
+-
+-      * exp_ch13.adb (Expand_N_Freeze_Entity): If the scope of the entity is a
+-      protected subprogram body, determine proper scope from subprogram
+-      declaration.
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_ch4.adb (Expand_N_Op_Concat): Remove special tests for
+-      No_Run_Time_Mode
+-
+-2008-03-26  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_ch5.adb (Expand_N_Extended_Return_Statement): Suppress generation
+-      of a heap allocator for a limited unconstrained function return when
+-      resstriction No_Allocators is active.
+-      (Analyze_Allocator): The restriction No_Allocators is now only checked
+-      on allocators that have Comes_From_Source set, as per RM-H.4(7).
+-
+-      * sem_ch4.adb (Expand_N_Extended_Return_Statement): Suppress generation
+-      of a heap allocator for a limited unconstrained function return when
+-      resstriction No_Allocators is active.
+-      (Analyze_Allocator): The restriction No_Allocators is now only checked
+-      on allocators that have Comes_From_Source set, as per RM-H.4(7).
+-      (Has_Fixed_Op):  If the name in a function call is Standard."*" and the
+-      operands are fixed-point types, the universal_fixed predefined operation
+-      is used, regardless of whether the operand type (s) have a primitive
+-      operation of the same name.
+-
+-2008-03-26  Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_disp.adb (Make_DT, Make_Secondary_DT): Set attribute
+-      Is_Static_Dispatch_Table
+-      (Build_Dispatch_Tables): Replace calls to Exchange_Entities() by calls
+-      to Exchange_Declarations to exchange the private and full-view. Bug
+-      found working in this issue.
+-      (Expand_Dispatching_Call): Propagate the convention of the subprogram
+-      to the subprogram pointer type.
+-      (Make_Secondary_DT): Replace generation of Prim'Address by
+-      Address (Prim'Unrestricted_Access)
+-      (Make_DT): Replace generation of Prim'Address by
+-      Address (Prim'Unrestricted_Access)
+-      (Make_Disp_*_Bodies): When compiling for a restricted profile, use
+-      simple call form for single entry.
+-      (Make_DT): Handle new contents of Access_Disp_Table (access to dispatch
+-      tables of predefined primitives).
+-      (Make_Secondary_DT): Add support to handle access to dispatch tables of
+-      predefined primitives.
+-      (Make_Tags): Add entities to Access_Dispatch_Table associated with
+-      access to dispatch tables containing predefined primitives.
+-
+-      * exp_ch6.adb (N_Pragma): Chars field removed, use Chars
+-      (Pragma_Identifier (..  instead, adjustments throughout to accomodate
+-      this change.
+-      (Register_Predefined_DT_Entry): Updated to handle the new contents
+-      of attribute Access_Disp_Table (pointers to dispatch tables containing
+-      predefined primitives).
+-
+-      * exp_util.ads, exp_util.adb (Corresponding_Runtime_Package): New
+-      subprogram.
+-      (Find_Interface_ADT): Updated to skip the new contents of attribute
+-      Access_Dispatch_Table (pointers to dispatch tables containing predefined
+-      primitives).
+-
+-      * sem_util.adb (Has_Abstract_Interfaces): Add missing support for
+-      concurrent types.
+-      (Set_Convention): Use new function Is_Access_Subprogram_Type
+-      (Collect_Interfaces_Info): Updated to skip the new contents of attribute
+-      Access_Dispatch_Table (pointers to dispatch tables containing predefined
+-      primitives).
+-
+-      * exp_atag.ads, exp_atag.adb (Build_Inherit_Predefined_Prims): Improve
+-      expanded code avoiding calls to Build_Predef_Prims.
+-      (Build_Set_Predefined_Prim_Op_Address): Improve expanded code avoiding
+-      call to Build_Get_Predefined_Prim_Op_Address.
+-
+-2008-03-26  Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_ch7.adb (Make_Clean): Code cleanup using the new centralized
+-      subprogram Corresponding_Runtime_Package to know the runtime package
+-      that will provide support to a given protected type.
+-
+-      * exp_ch9.adb (Add_Private_Declarations,
+-      Build_Protected_Subprogram_Call,
+-      Build_Protected_Entry, Build_Simple_Entry_Call,
+-      Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
+-      Expand_N_Timed_Entry_Call, Make_Initialize_Protection): Code
+-      cleanup using the new centralized subprogram Corresponding_Runtime
+-      Package to know the runtime package that provides support to
+-      a given protected type.
+-
+-2008-03-26  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If the component
+-      assignment is within the initialization procedure for a packed array,
+-      and Initialize_Scalars is enabled, compile right-hand side with checks
+-      off, because the value is purposely out of range.
+-
+-2008-03-26  Vincent Celier  <celier@adacore.com>
+-
+-      * gnatcmd.adb: Add processing for GNAT SYNC
+-
+-      * vms_conv.ads: (Command_Type): Add command Sync
+-
+-      * vms_conv.adb (Initialize): Add Command_List data for new command Sync
+-
+-      * vms_data.ads: Add entries for -gnatw.w
+-      Add qualifier for gnatstub --header-file option
+-      Add switches for GNAT SYNC
+-
+-      * prj-attr.ads, prj-attr.adb: Add new package Synchronize for GNAT SYNC
+-      (Add_Package_Name): New procedure
+-      (Package_Name_List): New function
+-      (Initialize): Add known package names to the list
+-      (Register_New_Package): Add the new package name to the list
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-pehage.adb, g-regist.adb, g-spipat.ads, g-spipat.adb,
+-      s-asthan.adb, s-parint.adb, s-rpc.adb, s-stchop.adb: Replace
+-      Raise_Exception by "raise with" construct.
+-
+-2008-03-26  Pascal Obry  <obry@adacore.com>
+-
+-      * Makefile.in: Add proper GNAT.Serial_Communications implementation on
+-      supported platforms.
+-
+-      * Makefile.rtl: Add g-sercom.o.
+-
+-      * impunit.adb: Add g-sercom.adb.
+-
+-      * s-crtl.ads (open): New routine.
+-      (close): Likewise.
+-      (write): Likewise.
+-
+-      * s-osinte-mingw.ads (BYTE): New type.
+-      (CHAR): Likewise.
+-      (OVERLAPPED): Likewise.
+-      (GENERIC_READ): New constant.
+-      (GENERIC_WRITE): Likewise.
+-      (OPEN_EXISTING): Likewise.
+-      (PSECURITY_ATTRIBUTES): Removed this type, use anonymous access
+-      type instead.
+-      (CreateFile): New routine.
+-      (WriteFile): Likewise.
+-      (ReadFile): Likewise.
+-      (CloseHandle): Move next to the other file oriented routines.
+-
+-      * g-sercom.ads: New unit.
+-
+-      * g-sercom.adb: Default implementation, calls to this unit will raise
+-      a program error exception.
+-
+-      * g-sercom-mingw.adb, g-sercom-linux.adb: Windows and
+-      GNU/Linux implementations.
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * itypes.adb (Create_Itype): Use new name Access_Subprogram_Kind
+-
+-      * sem_ch13.adb (Validate_Unchecked_Conversion): Give warning for
+-      unchecked conversion for different conventions only for subprogram
+-      pointers or on VMS.
+-
+-2008-03-26  Vincent Celier  <celier@adacore.com>
+-
+-      * osint-c.adb (Set_Library_Info_Name): Use canonical case file names
+-      to check if the specified object file is correct.
+-
+-2008-03-26  Thomas Quinot  <quinot@adacore.com>
+-
+-      * sem_cat.adb (Validate_RACW_Primitives): Do not rely on
+-      Comes_From_Source to exclude primitives from being checked. We want to
+-      exclude predefined primitives only, so use the appropriate specific
+-      predicate. Also, flag a formal parameter of an anonymous
+-      access-to-subprogram type as illegal for a primitive operation of a
+-      remote access to class-wide type.
+-
+-2008-03-26  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-dect.adb (Parse_Package_Declaration): When a package name is not
+-      known, check if it may be a missspelling of a known package name. In
+-      not verbose, not mode, issue warnings only if the package name is a
+-      possible misspelling.
+-      In verbose mode, always issue a warning for a not known package name,
+-      plus a warning if the name is a misspelling of a known package name.
+-
+-      * prj-part.adb (Post_Parse_Context_Clause): Modify so that only non
+-      limited withs or limited withs are parse during one call.
+-      (Parse_Single_Project): Post parse context clause in two passes: non
+-      limited withs before current project and limited withs after current
+-      project.
+-
+-      * prj-proc.adb (Imported_Or_Extended_Project_From): Returns an extended
+-      project with the name With_Name, even if it is only extended indirectly.
+-      (Recursive_Process): Process projects in order: first single withs, then
+-      current project, then limited withs.
+-
+-      * prj-tree.adb (Imported_Or_Extended_Project_Of): Returns an extended
+-      project with the name With_Name, even if it is only extended indirectly.
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * scn.adb (Initialize_Scanner): Format messages belong on standard error
+-
+-2008-03-26  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch10.adb (Analyze_Compilation_Unit): if a unit in the context is
+-      a generic subprogram that is imported, do not attempt to compile
+-      non-existent body.
+-
+-      * sem_ch12.adb (Instantiate_Subprogram_Body): if the generic is
+-      imported, do not generate a raise_program_error for the non-existent
+-      body.
+-      (Pre_Analyze_Actuals): If an error is detected during pre-analysis,
+-      perform minimal name resolution on the generic to avoid spurious
+-      warnings.
+-      (Find_Actual_Type): the designated type of the actual in a child unit
+-      may be declared in a parent unit without being an actual.
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_ch11.adb: Fix No_Exception_Restriction violation for SJLJ
+-      * sinfo.ads, sinfo.adb (From_At_End): New flag
+-
+-2008-03-26  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch6.adb (Analyze_Subprogram_Body): Remove spurious check on
+-      operations that have an interface parameter.
+-      (Analyze_Subprogram_Body): Set Is_Trivial_Subprogram flag
+-      Don't treat No_Return call as raise.
+-
+-      * sem_disp.adb (Check_Dispatching_Operations): apply check for
+-      non-primitive interface primitives to access parameters, not to all
+-      parameters of an access type.
+-
+-2008-03-26  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch7.adb (Install_Parent_Private_Declarations): If the private
+-      declarations of a parent unit are made visible when compiling a child
+-      instance, the parent is not a hidden open scope, even though it may
+-      contain other pending instance.
+-
+-      * sem_ch8.adb (Restore_Scope_Stack): If an entry on the stack is a
+-      hidden open scope for some child instance, it does affect the
+-      visibility status of other stach entries.
+-      (Analyze_Object_Renaming): Check that a class-wide object cannot be
+-      renamed as an object of a specific type.
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_res.adb (Check_Infinite_Recursion): Diagnose definite infinite
+-      recursion and raise SE directly.
+-      (Resolve_Actuals): Reset Never_Set_In_Source if warnings off is
+-      set for formal type for IN mode parameter.
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_warn.ads, sem_warn.adb (Warnings_Off_Pragmas): New table
+-      (Initialize): New procedure
+-      (Output_Warnings_Off_Warnings): New procedure
+-      (Check_References): Suppress certain msgs if Is_Trivial_Subprogram
+-      (Output_Non_Modifed_In_Out_Warnings): Ditto
+-      (Warn_On_Unreferenced_Entity): Ditto
+-
+-2008-03-26  Vincent Celier  <celier@adacore.com>
+-
+-      * a-direct.adb (Start_Search): Raise Use_Error if the directory is not
+-      readable.
+-
+-2008-03-26  Matthew Heaney  <heaney@adacore.com>
+-
+-      * a-ciorse.ads, a-cidlli.ads, a-cdlili.ads, a-cihase.ads, a-cohase.ads,
+-      a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-coorse.ads:
+-      Marked with clauses as private, and controlled operations as overriding
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-byorma.adb (Read_BOM): Reorder tests so that UTF_32 is recognized
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * back_end.adb, back_end.ads: Minor reformatting
+-
+-      * bindgen.adb: Minor clarification of comments
+-
+-      * fname.ads: Minor comment fixes
+-
+-      * g-altive.ads, g-catiio.ads, g-trasym.ads, prj.ads,
+-      prj-nmsc.adb, sem_aggr.adb: Minor reformatting
+-
+-      * xeinfo.adb, xnmake.adb, xsinfo.adb, xtreeprs.adb,
+-      xsnames.adb: Remove warnings off pragma no longer needed
+-
+-      * a-catizo.ads, a-calari.ads, a-calfor.adb,
+-      a-calfor.ads: Fix header.
+-
+-2008-03-26  Tristan Gingold  <gingold@adacore.com>
+-
+-      * init.c: Do not adjust pc for HPARITH on alpha/vms.
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * lib-xref.adb: (OK_To_Set_Reference): New function
+-      (Generate_Reference): Don't set referenced from occurrence in Warnings,
+-      Unmodified, or Unreferenced pragma
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * alloc.ads: Add entries for Warnings_Off_Pragmas table
+-
+-2008-03-26  GNAT Script  <nobody@adacore.com>
+-
+-      * Make-lang.in: Makefile automatically updated
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * tbuild.ads, tbuild.adb, trans.c, sprint.adb, exp_prag.adb, decl.c,
+-      par-ch2.adb, sem_elab.adb, sem_util.ads (N_Pragma): Chars field
+-      removed, use Chars (Pragma_Identifier (..  instead, adjustments
+-      throughout to accomodate this change.
+-
+-      * s-pooglo.ads, s-pooloc.ads: Minor comment updates
+-
+-      * exp_dbug.adb: Use Sem_Util.Set_Debug_Info_Needed (not
+-      Einfo.Set_Needs_Debug_Info)
+-
+-2008-03-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * gnat_ugn.texi: Add documentation for -gnatw.w/-gnatw.W
+-      Add description for the new gnatstub option '--header-file'
+-      clarification of -gnatwz/-gnatwZ
+-      Add a "Irix-Specific Considerations" section to document the need to
+-      set LD_LIBRARY_PATH when using the default shared runtime library.
+-      Added documentation for both gcov and gprof.
+-
+-      * gnat_rm.texi: Document that pragma Compile_Time_Warning generates
+-      messages that are not suppressed when clients are compiled.
+-      Add documentation of s-pooglo s-pooloc
+-      Document the new GNAT.Serial_Communications API.
+-      Add documentation for 'Old attribute
+-      Add description of pragma Optimize_Alignment
+-
+-      * ug_words: Add entries for -gnatw.w -gnatw.W
+-
+-      * usage.adb: Add line for -gnatw.w (warn on warnings off)
+-
+-2008-03-25  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      Revert
+-      2008-03-05  Eric Botcazou  <ebotcazou@adacore.com>
+-      PR ada/35186
+-      * decl.c (maybe_pad_type): Avoid padding an integral type when
+-      bumping its alignment is sufficient.
+-
+-2008-03-25  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * exp_ch6.adb, exp_disp.adb: Update copyright notice.
+-      Fix wrong formatting (lines too long)
+-
+-2008-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+-
+-      * 9drpc.adb, a-caldel-vms.adb, a-caldel.adb,
+-      a-calend-vms.adb, a-calend.adb, a-calend.ads,
+-      a-calfor.adb, a-chahan.ads, a-chtgke.adb,
+-      a-cihama.ads, a-ciorse.adb, a-clrefi.ads,
+-      a-cohama.ads, a-comlin.ads, a-coorse.adb,
+-      a-crbtgk.adb, a-direct.adb, a-except-2005.adb,
+-      a-except-2005.ads, a-except.adb, a-except.ads,
+-      a-exexda.adb, a-exexpr-gcc.adb, a-exexpr.adb,
+-      a-exextr.adb, a-filico.ads, a-finali.ads,
+-      a-intnam-aix.ads, a-intnam-solaris.ads, a-ngcefu.adb,
+-      a-ngelfu.adb, a-numaux-darwin.adb, a-numeri.ads,
+-      a-sequio.ads, a-strbou.ads, a-strfix.adb,
+-      checks.adb, exp_ch3.adb, exp_ch4.adb,
+-      exp_ch4.ads, exp_ch5.adb, exp_ch6.adb,
+-      exp_ch6.ads, exp_ch7.adb, exp_ch7.ads,
+-      exp_ch9.adb, exp_ch9.ads, exp_dbug.adb,
+-      exp_dbug.ads, exp_disp.adb, exp_dist.adb,
+-      exp_dist.ads, exp_fixd.adb, exp_fixd.ads: Fix comment typos.
+-
+-2008-03-24  Robert Dewar  <dewar@adacore.com>
+-
+-      * s-tpopsp-posix.adb, s-tpopsp-solaris.adb, s-tpopsp-posix-foreign.adb,
+-      s-tpopsp-lynxos.adb, s-tpopde-vms.ads, s-tpopde-vms.adb,
+-      s-tpopsp-vxworks.adb, s-casi16.adb, s-caun16.adb, s-inmaop.ads,
+-      s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-tpinop.adb,
+-      s-tpinop.ads, s-tporft.adb, a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb,
+-      a-crbtgk.ads, a-crbtgk.adb, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
+-      a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
+-      a-cgcaso.adb, a-cgaaso.adb, a-ciormu.adb, a-cihase.adb, a-swuwha.ads,
+-      a-rbtgso.ads, a-cgaaso.ads, a-cgaaso.ads, a-ciorma.adb, a-chtgke.ads,
+-      a-chtgke.adb, a-llfzti.ads, a-ztenau.adb, a-ztenau.ads, a-stzhas.ads,
+-      a-szbzha.ads, a-szbzha.adb, a-crdlli.ads, a-crdlli.ads, a-crdlli.adb,
+-      i-forbla-darwin.adb, i-forbla.ads, s-regexp.adb, a-nllrar.ads,
+-      a-nlrear.ads, a-nucoar.ads, a-nurear.ads, i-forlap.ads, s-gearop.adb,
+-      s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb, s-gecola.ads,
+-      s-gerebl.adb, s-gerela.ads, a-swuwha.adb, i-forbla-unimplemented.ads,
+-      double spaced if it fits on one line and otherwise single spaced.
+-
+-2008-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+-
+-      PR documentation/15479
+-      * Make-lang.in (doc/gnat_ugn.texi) Renamed from ...
+-      (doc/gnat_ugn_unw.texi): ... this, and adjusted.
+-      (doc/gnat_ugn.info): Renamed from ...
+-      (doc/gnat_ugn_unw.info): ... this.
+-      (doc/gnat_ugn.dvi): Renamed from ...
+-      (doc/gnat_ugn_unw.dvi): ... this.
+-      (doc/gnat_ugn.pdf): Renamed from ...
+-      (doc/gnat_ugn_unw.pdf): ... this.
+-      (ADA_INFOFILES, ADA_PDFFILES, ada.install-info, ada.dvi):
+-      Adjusted.
+-      * gnat_ugn.texi (FILE): Hard-code gnat_ugn; set filename
+-      unconditionally to gnat_ugn.info.  Fix cross references to the
+-      GNAT Reference Manual.  Convert links to the GCC, GDB, Emacs,
+-      and GNU make manuals to be proper texinfo links.
+-      * gnat_rm.texi: Fix cross references to the GNAT User's Guide.
+-
+-2008-03-21  Olivier Hainque  <hainque@adacore.com>
+-
+-      * trans.c (Attribute_to_gnu) <'length>: Compute as (hb < lb)
+-      ? 0 : hb - lb + 1 instead of max (hb - lb + 1, 0).
+-
+-2008-03-21  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * trans.c (addressable_p): Add notes on addressability issues.
+-
+-2008-03-21  Olivier Hainque  <hainque@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * trans.c (addressable_p): Accept COND_EXPR when both arms
+-      are addressable.
+-      (gnat_gimplify_expr): Let the gimplifier handle &COND_EXPR.
+-      (call_to_gnu): Do not use name reference in the error message
+-      for a misaligned by_reference_parameter. The actual may be a
+-      general expression.
+-
+-2008-03-18  Paolo Bonzini  <bonzini@gnu.org>
+-
+-      * misc.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete.
+-
+-2008-03-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+-
+-      * gnat_rm.texi (Implementation Defined Characteristics)
+-      (Wide_Text_IO, Wide_Wide_Text_IO): Add @var annotations where
+-      appropriate.
+-      * gnat_ugn.texi (Wide Character Encodings, Switches for gnatbind)
+-      (Switches for gnatchop, Installing a library): Likewise.
+-
+-2008-03-10  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * trans.c (emit_range_check): Do not emit the check if the base type
+-      of the expression is the type against which its range must be checked.
+-
+-2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (maybe_pad_type): Use value_factor_p.
+-
+-2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * lang.opt (nostdlib): Move around.
+-      * misc.c (gnat_handle_option): Fix formatting.
+-      (gnat_dwarf_name): Move around.
+-      * trans.c (Case_Statement_to_gnu): Fix formatting.
+-      (gnat_to_gnu): Likewise.
+-      * utils.c (aggregate_type_contains_array_p): Likewise.
+-      (create_subprog_decl): Likewise.
+-
+-2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Do not
+-      bother propagating the TYPE_USER_ALIGN flag when creating a JM type.
+-
+-2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <E_Record_Type>: Do not force
+-      BIGGEST_ALIGNMENT when capping the alignment of records with
+-      strict alignment and size clause.
+-
+-2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * lang-specs.h: Pass -gnatwa if -Wall is passed.
+-      * misc.c (gnat_handle_option) <OPT_Wall>: Expand into -Wunused
+-      and -Wuninitialized.
+-      (gnat_post_options): Clear warn_unused_parameter.
+-
+-2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * utils.c (finish_record_type): Clear DECL_BIT_FIELD on sufficiently
+-      aligned bit-fields, bumping the alignment of the record type if deemed
+-      profitable.
+-      (value_factor_p): Return false instead of 0.
+-
+-2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Add support
+-      for scalar types with small alignment.
+-
+-2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * trans.c (Loop_Statement_to_gnu): Set the SLOC of the loop label
+-      from that of the front-end's end label.
+-      (gnat_gimplify_stmt) <LOOP_STMT>: Set the SLOC of the backward goto
+-      from that of the loop label.
+-
+-2008-03-07  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Add
+-      comment for the packed array type case.
+-      * utils.c (build_template): Use a loop to strip padding or
+-      containing records for justified modular types.
+-
+-2008-03-07  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity): Issue a warning on suspiciously
+-      large alignments specified for types.
+-      (validate_alignment): Minor cleanup.
+-
+-2008-03-07  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (MAX_FIXED_MODE_SIZE): Define if not already defined.
+-      (gnat_to_gnu_entity) <E_Record_Type>: Try to get a smaller form of
+-      the component for packing, if possible, as well as if a component
+-      size clause is specified.
+-      <E_Record_Subtype>: For an array type used to implement a packed
+-      array, get the component type from the original array type.
+-      Try to get a smaller form of the component for packing, if possible,
+-      as well as if a component size clause is specified.
+-      (round_up_to_align): New function.
+-      (make_packable_type): Add in_record parameter.
+-      For a padding record, preserve the size.  If not in_record and the
+-      size is too large for an integral mode, attempt to shrink the size
+-      by lowering the alignment.
+-      Ditch the padding bits of the last component.
+-      Compute sizes and mode manually, and propagate the RM size.
+-      Return a BLKmode record type if its size has shrunk.
+-      (maybe_pad_type): Use MAX_FIXED_MODE_SIZE instead of BIGGEST_ALIGNMENT.
+-      Use Original_Array_Type to retrieve the type in case of an error.
+-      Adjust call to make_packable_type.
+-      (gnat_to_gnu_field): Likewise.
+-      (concat_id_with_name): Minor tweak.
+-      * trans.c (larger_record_type_p): New predicate.
+-      (call_to_gnu): Compute the nominal type of the object only if the
+-      parameter is by-reference.  Do the conversion actual type -> nominal
+-      type if the nominal type is a larger record.
+-      (gnat_to_gnu): Do not require integral modes on the source type to
+-      avoid the conversion for types with identical names.
+-      (addressable_p): Add gnu_type parameter.  If it is specified, do not
+-      return true if the expression is not addressable in gnu_type.
+-      Adjust recursive calls.
+-      * utils.c (finish_record_type): Remove dead code.
+-
+-2008-03-05  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      PR ada/35186
+-      * decl.c (maybe_pad_type): Avoid padding an integral type when
+-      bumping its alignment is sufficient.
+-
+-2008-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+-
+-      * gnatfind.adb, gnatxref.adb: Fix argument parsing typos.
+-      * s-auxdec-empty.adb, s-auxdec.adb: Fix typos in copyright
+-      statement.
+-      * a-ngcoar.adb, a-ngrear.adb, g-awk.adb, g-debpoo.adb,
+-      gprep.adb, make.adb, makegpr.adb, par-ch6.adb, prj-nmsc.adb,
+-      sem_attr.adb, sem_ch4.adb, sem_ch8.adb: Fix typos in ada source
+-      code output strings.
+-      * sem_type.adb, system-vms-ia64.ads, system-vms.ads,
+-      system-vms_64.ads: Fix typos in ada source code comments.
+-      * sinfo-cn.adb: Remove incomplete sentence.
+-
+-      PR documentation/15479
+-      * gnat_rm.texi, gnat_ugn.texi: Avoid standalone `non' word.
+-
+-2008-02-27  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      PR ada/22255
+-      * s-fileio.adb (Reset): Do not raise Use_Error if mode isn't changed.
+-
+-2008-02-27  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      PR ada/34799
+-      * sem_ch13.adb (Analyze_Record_Representation_Clause): Check
+-      that underlying type is present.
+-
+-2008-02-26  Tom Tromey  <tromey@redhat.com>
+-
+-      * misc.c (internal_error_function): Remove test of
+-      USE_MAPPED_LOCATION.
+-      * trans.c (gigi): Remove test of USE_MAPPED_LOCATION.
+-      (Sloc_to_locus): Remove old location code.
+-
+-2008-02-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+-
+-      * gnat_rm.texi, gnat_ugn.texi: Fix spacing after `e.g.' and
+-      `i.e.' by adding comma or `@:' as appropriate.
+-      * gnat_rm.texi (Pragma Wide_Character_Encoding): Instead of
+-      plain characters `C', use `@samp{C}'.
+-      * gnat_ugn.texi (File Naming Rules, About gnatkr)
+-      (Krunching Method): Likewise.
+-
+-      * gnat_ugn.texi (Conventions): List environment variables and
+-      metasyntactic variables.
+-      (Compiling Programs): Fix notation of metasyntactic variables.
+-      Add @file where appropriate.  Use @file for file extensions,
+-      @samp for strings.
+-      * gnat_rm.texi, gnat_ugn.texi: Where appropriate, use @samp
+-      instead of @file, @env instead of @code.
+-
+-2008-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+-
+-      PR documentation/15479
+-      * gnat_rm.texi, gnat_ugn.texi: Where appropriate, replace `..'
+-      and `...' with `@dots{}' or `@enddots{}'.
+-
+-      PR documentation/15479
+-      * gnat_rm.texi, gnat_ugn.texi: Where appropriate, add @command,
+-      use @command instead of @code, @option instead of @samp or @code,
+-      @code instead of @var, @samp instead of @file.
+-
+-      PR documentation/15479
+-      * gnat_ugn.texi (Using gnatmake in a Makefile): Do not ignore errors
+-      in Makefile rules, by using `&&' rather than `;'.
+-
+-2008-02-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+-
+-      PR documentation/15479
+-      * gnat_ugn.texi: In non-code, avoid space before colon.
+-      (Regular Expressions in gnatfind and gnatxref): Fix indentation.
+-      (Examples of gnatxref Usage): Use @command{vi} instead of
+-      @file{vi}.
+-      (Character Set Control): Do not use @code for UTF-8.
+-      (Validity Checking): Fix typo "NaNs" instead of "NaN's".  Do not
+-      use @code for IEEE.
+-      * gnat_rm.texi (Aggregates with static bounds): Fix typo in code
+-      sample.
+-      * gnat_rm.texi, gnat_ugn.texi: Fix typos.  Bump copyright years.
+-
+-2008-02-11  Joel Sherrill  <joel.sherrill@oarcorp.com>
+-
+-      PR ada/35143
+-      * env.c: Add __rtems__ to if defined.
+-      * s-osinte-rtems.adb: Add To_Target_Priority.  Fix formatting.
+-      * s-osinte-rtems.ads: Add To_Target_Priority prototype and
+-      PTHREAD_SCOPE_PROCESS/PTHREAD_SCOPE_SYSTEM constants.  Add
+-      pragma Convention as required.
+-      * gsocket.h: Make compile in and out of RTS.
+-      * Makefile.in: Add system-rtems.ads.  Build DEC extensions.
+-      Use g-soccon-rtems.ads.
+-      * g-soccon-rtems.ads, system-rtems.ads: New files.
+-
+-2008-02-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+-
+-      PR other/35107
+-      * Make-lang.in (gnat1): Add $(GMPLIBS).
+-
+-2008-01-26  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (components_to_record): Improve comment.
+-
+-2008-01-22  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (components_to_record): Do not reuse the empty union type
+-      if there is a representation clause on the record.
+-      * trans.c (addressable_p): Return true for INTEGER_CST.
+-
+-2008-01-21  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * trans.c (gnat_to_gnu) <N_Free_Statement>: Use POINTER_PLUS_EXPR
+-      in pointer arithmetics.
+-      * utils2.c (build_allocator): Likewise.
+-
+-2008-01-17  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * utils.c (build_function_stub): Properly build the call expression.
+-
+-2008-01-14  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <object>: Process renamings
+-      before converting the expression to the type of the object.
+-      * trans.c (maybe_stabilize_reference) <CONSTRUCTOR>: New case.
+-      Stabilize constructors for special wrapping types.
+-
+-2008-01-13  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * trans.c (call_to_gnu): Invoke the addressable_p predicate only
+-      when necessary.  Merge some conditional statements.  Update comments.
+-      Rename unchecked_convert_p local variable to suppress_type_conversion.
+-      Do not suppress conversions in the In case.
+-      (addressable_p) <VIEW_CONVERT_EXPR>: Do not take alignment issues
+-      into account on non strict-alignment platforms.
+-
+-2008-01-12  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * utils.c (aggregate_type_contains_array_p): New predicate.
+-      (create_field_decl): In a packed record, force byte alignment
+-      for fields without specified position that contain an array.
+-
+-2008-01-12  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * utils.c (unchecked_convert): Fold the VIEW_CONVERT_EXPR expression.
+-
+-2008-01-10  John David Anglin  <dave.anglin.@nrc-cnrc.gc.ca>
+-
+-      PR ada/34466
+-      * s-osinte-linux-hppa.ads (SC_NPROCESSORS_ONLN): New constant for
+-      sysconf call.
+-      (bit_field): New packed boolean type used by cpu_set_t.
+-      (cpu_set_t): New type corresponding to the C type with
+-      the same name. Note that on the Ada side we use a bit
+-      field array for the affinity mask. There is not need
+-      for the C macro for setting individual bit.
+-      (pthread_setaffinity_np): New imported routine.
+-
+-2008-01-03  Tero Koskinen  <tero.koskinen@iki.fi>
+-
+-      PR ada/34647
+-      * adaint.c (__gnat_open_new_temp, __gnat_tmp_name): Use mkstemp()
+-      on OpenBSD as is done on other BSD systems.
+-
+-      PR ada/34645
+-      * sysdep.c (__gnat_ttyname, getc_immediate_nowait,
+-      getc_immediate_common): Treat OpenBSD as FreeBSD regarding immediate
+-      I/O.
+-
+-      PR ada/34644
+-      * env.c (__gnat_clearenv): Treat OpenBSD as other BSD systems missing
+-      clearenv().
+-
+-      PR ada/34646
+-      * init.c (__gnat_error_handler, __gnat_install_handler,
+-      __gnat_init_float): Define for OpenBSD.
+-
+-      * initialize.c (__gnat_initialize): Define for OpenBSD.
+-
+-2007-12-27  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      PR ada/34553
+-      * adaint.c (__gnat_open_new_temp, __gnat_tmp_name): Use mkstemp()
+-      instead of mktemp() or tmpnam() on NetBSD.
+-
+-2007-12-23  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * trans.c (call_to_gnu): Make the temporary for non-addressable
+-      In parameters passed by reference.
+-      (addressable_p): Return true for STRING_CST and CALL_EXPR.
+-
+-2007-12-19  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-expect-vms.adb, g-expect.adb, s-poosiz.adb:
+-      Add pragma Warnings (Off) for unassigned IN OUT arguments
+-
+-      * sem_warn.adb (Output_Reference): Suppress messages for internal names
+-      (Check_References): Extensive changes to tune up warnings
+-      (Output_Non_Modifed_In_Out_Warnings): Changes to tune up warnings
+-      (Has_Pragma_Unmodifed_Check_Spec): New function
+-      (Check_References): Implement pragma Unmodified
+-      (Warn_On_Unassigned_Out_Parameter): Implement pragma Unmodified
+-
+-      * par-prag.adb: Dummy entry for pragma Unmodified
+-
+-      * sem_prag.adb: Implement pragma Unmodified
+-
+-      * einfo.ads, einfo.adb: (Has_Pragma_Unmodified): New flag
+-      (Proc_Next_Component_Or_Discriminant): Fix typo.
+-      Update comments.
+-
+-      * sem_util.adb (Note_Possible_Modification): Add processinng for pragma
+-      Unmodified.
+-      (Reset_Analyzed_Flags): Use Traverse_Proc instead of Traverse_Func,
+-      because the former already takes care of discarding the result.
+-      (Mark_Coextensions): Remove ununused initial value from Is_Dynamic.
+-      Add comment.
+-
+-      * snames.h, snames.ads, snames.adb: Add entry for pragma Unmodified
+-
+-2007-12-19  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * targparm.adb, targparm.ads, system.ads, system-darwin-ppc.ads,
+-      system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads,
+-      system-hpux-ia64.ads, system-vxworks-arm.ads, system-darwin-x86.ads,
+-      system-vms_64.ads, system-vms-ia64.ads, system-linux-ia64.ads,
+-      system-freebsd-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
+-      system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads,
+-      system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
+-      system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
+-      system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
+-      system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads
+-      (Dynamic_Trampolines_Used): Delete.
+-
+-      * system-lynxos-x86.ads, system-lynxos-ppc.ads: Ditto.
+-      Turn on stack probing mechanism on LynxOS.
+-
+-2007-12-19  Bob Duff  <duff@adacore.com>
+-
+-      * atree.ads, atree.adb (Traverse_Func): Walk Field2 last, and eliminate
+-      the resulting tail recursion by hand. This prevents running out of
+-      memory on deeply nested concatenations, since Field2 is where the left
+-      operand of concatenations is stored.
+-      Fix bug (was returning OK_Orig in some cases). Fix return subtype to
+-      clarify that it can only return OK or Abandon.
+-
+-      * sem_res.adb (Resolve_Op_Concat): Replace the recursion on the left
+-      operand by iteration, in order to avoid running out of memory on
+-      deeply-nested concatenations. Use the Parent pointer to get back up the
+-      tree.
+-      (Resolve_Op_Concat_Arg, Resolve_Op_Concat_First,
+-       Resolve_Op_Concat_Rest): New procedures split out of
+-      Resolve_Op_Concat, so the iterative algorithm in Resolve_Op_Concat is
+-      clearer.
+-
+-      * checks.adb (Remove_Checks): Use Traverse_Proc instead of
+-      Traverse_Func, because the former already takes care of discarding the
+-      result.
+-
+-      * errout.adb (First_Node): Use Traverse_Proc instead of Traverse_Func,
+-      because the former already takes care of discarding the result.
+-      (Remove_Warning_Messages): Use appropriate subtype for Status and
+-      Discard
+-
+-2007-12-19  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_aggr.adb (Not_OK_For_Backend): A component of a private type with
+-      discriminants forces expansion of the aggregate into assignments.
+-      (Init_Record_Controller):  If the type of the aggregate is untagged and
+-      is not inherently limited, the record controller is not limited either.
+-
+-2007-12-19  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_attr.adb (Expand_N_Attribute_Reference, case Size): Fix error in
+-      handling compile time known size of record or array (case of front end
+-      layout active, e.g. in GNAAMP).
+-
+-2007-12-19  Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_ch3.adb (Expand_N_Object_Declaration): Complete the circuitry
+-      that forces the construction of static dispatch tables in case of
+-      record subtypes.
+-
+-2007-12-19  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_ch9.adb (Null_Statements): Moved to library level
+-      (Trivial_Accept_OK): New function
+-      (Expand_Accept_Declaration): Use Trivial_Accept_OK
+-      (Expand_N_Accept_Statement): Use Trivial_Accept_OK
+-
+-2007-12-19  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Fix packed array type
+-      in complex case where array is Volatile.
+-
+-2007-12-19  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * freeze.adb (Freeze_Record_Type, Check_Current_Instance): Implement
+-      properly the Ada2005 rules concerning when the current instance of a
+-      record type is aliased.
+-
+-2007-12-19  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * par-ch3.adb (P_Record_Declaration): Guard against cascaded errors in
+-      mangled declaration
+-      (P_Type_Declaration): Diagnose misuse of "abstract" in untagged record
+-      declarations.
+-      (P_Variant_Part): Cleaner patch for parenthesized discriminant
+-
+-2007-12-19  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-attr.adb (Package_Node_Id_Of): Returns Unknown_Package when
+-      package is not known
+-
+-      * prj-attr.ads (Unknown_Package): New constant
+-      Do not crash when an unknown package is in several projects
+-
+-      * prj-dect.adb (Parse_Package_Declaration): Mark an unknown package as
+-      ignored
+-
+-      * prj-nmsc.adb (Check): Remove obsolete code related to no longer
+-      existing package Language_Processing.
+-
+-2007-12-19  Ed Schonberg  <schonberg@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-          Samuel Tardieu  <sam@rfc1149.net>
+-
+-      PR ada/15803, ada/15805
+-      * sem_ch6.adb, sem_ch3.adb (Constrain_Access): In Ada2005, diagnose
+-      illegal access subtypes when there is a constrained partial view.
+-      (Check_For_Premature_Usage): New procedure inside
+-      Access_Subprogram_Declaration for checking that an access-to-subprogram
+-      type doesn't reference its own name within any formal parameters or
+-      result type (including within nested anonymous access types).
+-      (Access_Subprogram_Declaration): Add call to Check_For_Premature_Usage.
+-      (Sem_Ch3.Analyze_Object_Declaration, Sem_ch6.Process_Formals): if the
+-      context is an access_to_variable, the expression cannot be an
+-      access_to_constant.
+-
+-2007-12-19  Bob Duff  <duff@adacore.com>
+-
+-      * sem_ch4.adb (Analyze_Concatenation_Rest): New procedure.
+-      (Analyze_Concatenation): Use iteration instead of recursion in order
+-      to avoid running out of stack space for deeply nested concatenations.
+-
+-2007-12-19  Ed Schonberg  <schonberg@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * sem_ch8.adb (Analyze_Subprogram_Renaming): Diagnose illegal renamings
+-      whose renamed entity is a subprogram that requires overriding.
+-      (Premature_Usage): Test for the case of N_Full_Type_Declaration when
+-      issuing an error for premature usage and issue a message that says
+-      'type' rather than 'object'.
+-
+-2007-12-19  Gary Dismukes  <dismukes@adacore.com>
+-
+-      PR ada/34149
+-      * sem_disp.adb (Check_Dispatching_Call): Augment existing test for
+-      presence of a statically tagged operand (Present (Static_Tag)) with
+-      test for Indeterm_Ancestor_Call when determining whether to propagate
+-      the static tag to tag-indeterminate operands (which forces dispatching
+-      on such calls).
+-      (Check_Controlling_Formals): Ada2005, access parameters can have
+-      defaults.
+-      (Add_Dispatching_Operation, Check_Operation_From_Private_View): do
+-      not insert subprogram in list of primitive operations if already there.
+-
+-2007-12-19  Tristan Gingold  <gingold@adacore.com>
+-
+-      * utils.c (create_var_decl_1): call rest_of_decl_compilation only for
+-      global variable.
+-
+-2007-12-19  Thomas Quinot  <quinot@adacore.com>
+-
+-      Part of PR ada/33688
+-      * gen-soccon.c: Add constant IP_PKTINFO to allow getting ancillary
+-      datagram info on Linux.
+-
+-2007-12-19  Vincent Celier  <celier@adacore.com>
+-
+-      * makegpr.adb (Check_Compilation_Needed): Normalize C_Source_Path so
+-      that the source path name is always found in the dependencies.
+-
+-2007-12-19  Robert Dewar  <dewar@adacore.com>
+-
+-      * gnat_rm.texi, gnat_ugn.texi: Update documentation of -gnatw.o
+-      Fix name of Wide_Wide_Latin_1/9 file names
+-      Add documentation for Ada.Exceptions.Last_Chance_Handler (a-elchha.ads)
+-      Add missing documentation for Ada.Wide_[Wide_]Characters.Unicode
+-      Add missing documentation for Ada.Command_Line.Response_File
+-      Update list of warning letters for Warnings pragma
+-      Add documentation for pragma Unmodified
+-
+-2007-12-19  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      * Makefile.in: Add s-tasinf.ad[bs] substitutions for sh4-linux target.
+-
+-2007-12-17  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-vxwork-alpha.ads: Removed, no longer used.
+-
+-2007-12-15  Jakub Jelinek  <jakub@redhat.com>
+-
+-      * Make-lang.in (gnat1, gnatbind): Pass ALL_CFLAGS on the link line.
+-
+-2007-12-13  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      PR ada/34360
+-      * Makefile.in: Change two occurrences of mlib-tgt.adb by correct name
+-      mlib-tgt-specific.adb.
+-
+-2007-12-13  Bob Duff  <duff@adacore.com>
+-
+-      * trans.c (Attribute_to_gnu): Check for violations of the
+-      No_Implicit_Dynamic_Code restriction. This checking used to be done in
+-      the front end, but is moved here so we can make it more accurate.
+-
+-2007-12-13  Pascal Obry  <obry@adacore.com>
+-
+-      * adaint.c (__gnat_pthread_setaffinity_np): New routine. A dummy
+-       version is provided for older GNU/Linux distribution not
+-       supporting thread affinity sets.
+-
+-      * s-osinte-linux.ads (SC_NPROCESSORS_ONLN): New constant for sysconf
+-      call.
+-      (bit_field): New packed boolean type used by cpu_set_t.
+-      (cpu_set_t): New type corresponding to the C type with
+-      the same name. Note that on the Ada side we use a bit
+-      field array for the affinity mask. There is not need
+-      for the C macro for setting individual bit.
+-      (pthread_setaffinity_np): New imported routine.
+-
+-      * s-taprop-linux.adb (Enter_Task): Check that the CPU affinity mask is
+-      no null.
+-      (Create_Task): Set the processor affinity mask if information
+-      is present.
+-
+-      * s-tasinf-linux.ads, s-tasinf-linux.adb: New files.
+-
+-2007-12-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
+-      s-osinte-freebsd.ads, s-osinte-lynxos.ads, s-osinte-tru64.ads,
+-      s-osinte-mingw.ads, s-osinte-aix.ads, s-osinte-hpux-dce.ads,
+-      s-osinte-irix.ads, s-osinte-solaris.ads, s-intman-vms.adb,
+-      s-osinte-vms.ads, s-osinte-vxworks6.ads, s-osinte-vxworks.ads,
+-      s-auxdec.ads, s-auxdec-vms_64.ads, s-osinte-darwin.ads,
+-      s-taprop-vms.adb, s-interr-sigaction.adb, s-osinte-linux-hppa.ads,
+-      i-vxwork-x86.ads, s-tpopde-vms.ads: Add missing pragma Convention C
+-      for subprogram pointers.
+-
+-      * g-ctrl_c.adb: New file.
+-
+-      * g-ctrl_c.ads (Install_Handler): New body.
+-
+-      * freeze.adb (Freeze_Subprogram): Use new flag Has_Pragma_Inline_Always
+-      instead of obsolete function Is_Always_Inlined.
+-      (Freeze_Entity): check for tagged type in imported C subprogram
+-      (Freeze_Entity): check for 8-bit boolean in imported C subprogram
+-      (Freeze_Entity): check for convention Ada subprogram pointer in
+-      imported C subprogram.
+-      (Freeze_Fixed_Point_Type): In the case of a base type where the low
+-      bound would be chopped off and go from negative to zero, force
+-      Loval_Excl_EP to be the same as Loval_Incl_EP (the included lower
+-      bound) so that the size computation for the base type will take
+-      negative values into account.
+-
+-2007-12-13  Eric Botcazou  <ebotcazou@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-          Tristan Gingold  <gingold@adacore.com>
+-
+-      * system-linux-ia64.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
+-      system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
+-      system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads,
+-      system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
+-      system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
+-      system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
+-      system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
+-      system-vxworks-arm.ads, system-darwin-x86.ads, system.ads,
+-      system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
+-      system-linux-ppc.ads, system-linux-hppa.ads, system-hpux-ia64.ads,
+-      system-vms-ia64.ads (Stack_Check_Limits): New target parameter.
+-      (Always_Compatible_Rep): New flag to control trampolines globally.
+-      (Dynamic_Trampolines_Used): New flag for implementing the
+-      No_Implicit_Dynamic_Code restriction more correctly (not yet used,
+-      and not yet set correctly for some targets).
+-
+-      * s-taprop-vxworks.adb: Use stack limit method of stack checking.
+-      Simply indirectly call s-stchop when a task is created.
+-
+-      * ali.ads:
+-      New flag added: Stack_Check_Switch_Set which is set when '-fstack-check'
+-      appears as an argument (entries A) in an ALI file.
+-
+-      * fe.h (Stack_Check_Limits): Declare new target parameter.
+-      (Check_Implicit_Dynamic_Code_Allowed): New procedure.
+-
+-      * init.c: Declare __gnat_set_stack_limit_hook for VxWorks kernel RTS.
+-      This variable is declared in C to be sure not subject to elaboration
+-      code.
+-      (__gnat_map_signal, VxWorks): In kernel mode, map SIGILL to
+-      Storage_Error.
+-
+-      * targparm.ads, targparm.adb (Stack_Check_Limits): New parameter.
+-      (Always_Compatible_Rep, Dynamic_Trampolines_Used): New parameters.
+-
+-      * s-stchop.ads: Add comments.
+-
+-      * s-stchop-vxworks.adb: Package almost fully rewritten to use stack
+-      limit method of stack checking.
+-
+-      * s-stchop-limit.ads: New file.
+-
+-2007-12-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_ch5.adb, s-taskin.adb, a-ciorma.adb, a-coorma.adb, a-cohama.adb,
+-      a-cihama.adb, g-awk.adb,
+-      s-inmaop-posix.adb: Update handling of assigned value/unreferenced
+-      warnings
+-
+-      * exp_smem.adb: Update handling of assigned value/unreferenced warnings
+-
+-      * sem.adb: Update handling of assigned value/unreferenced warnings
+-
+-      * a-exexpr-gcc.adb: Add a pragma warnings off for boolean return
+-
+-      * lib-xref.ads: Improve documentation for k xref type
+-
+-      * lib-xref.adb:
+-      Update handling of assigned value/unreferenced warnings
+-      (Generate_Reference): Warning for reference to entity for which a
+-      pragma Unreferenced has been given should be unconditional.
+-      If the entity is a discriminal, mark the original
+-      discriminant as referenced.
+-
+-      * sem_warn.ads, sem_warn.adb
+-      (Check_One_Unit): Test Renamed_In_Spec to control giving warning for
+-      no entities referenced in package
+-      (Check_One_Unit): Don't give message about no entities referenced in
+-      a package if a pragma Unreferenced has appeared.
+-      Handle new warning flag -gnatw.a/-gnatw.A
+-      Update handling of assigned value/unreferenced warnings
+-
+-      * atree.h: Add flags up to Flag247
+-      (Flag231): New macro.
+-
+-2007-12-13  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * adaint.h: (__gnat_plist_init): Not defined for RTX.
+-
+-      * initialize.c (__gnat_initialize): Do not call __gnat_plist_init for
+-      RTX systems.
+-
+-      * Makefile.in: Add new files s-tasinf-linux.ads and s-tasinf-linux.adb.
+-      (LIBGNAT_TARGET_PAIRS, MISCLIB, THREADSLIB,
+-      EXTRA_GNATRTL_NONTASKING_OBJS, EXTRA_GNATRTL_TASKING_OBJS,
+-      GNATLIB_SHARED for RTX run time): Use the versions required by RTX.
+-
+-      * mingw32.h:
+-      Do not define GNAT_UNICODE_SUPPORT for RTX since it is not supported.
+-
+-      * sysdep.c (winflush_function for RTX): Procedure that does nothing
+-      since we only have problems with Windows 95/98, which are not
+-      supported by RTX.
+-      (__gnat_ttyname): Return the empty string on Nucleus, just as
+-      done on vxworks.
+-
+-2007-12-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-textio.adb, a-textio.ads:
+-      Extensive changes to private part for wide character encoding
+-
+-      * a-witeio.adb, a-witeio.ads, a-ztexio.ads, a-ztexio.adb
+-      (Look_Ahead): Fix mishandling of encoded sequences
+-      Move declaration of Wch_Con to private part (should not be visible)
+-
+-      * ali.adb (Scan_ALI): Set default encoding method to brackets instead of
+-      UTF-8. Probably this is never used, but if it is, brackets is
+-      clearly correct.
+-
+-      * bindgen.adb (Get_WC_Encoding): New procedure to properly handle
+-      setting wide character encoding for no main program case and when
+-      encoding is specified using -W?
+-      Initialize stack limit of environment task if stack limit method of
+-      stack checking is enabled.
+-      (Gen_Adainit_Ada): Use Get_WC_Encoding to output encoding method
+-      (Gen_Adainit_C): Use Get_WC_Encoding to output encoding method
+-      (Get_Main_Unit_Name): New function.
+-      (Gen_Adainit_Ada): Add call to main program for .NET when needed.
+-      (Gen_Output_File): Set Bind_Main_Program to True for .NET
+-
+-      * bindusg.adb: Add line for -Wx switch
+-
+-      * s-wchcon.adb, s-wchcon.ads: (Is_Start_Of_Encoding): New function
+-      Add comments
+-      Add new useful constant WC_Longest_Sequences
+-
+-      * switch-b.adb: Clean up handling of -Wx switch
+-      For -gnatWx, set Wide_Character_Encoding_Method_Specified
+-
+-      * switch-c.adb: -gnatg activates warning on assertion errors
+-      For -gnatWx, set Wide_Character_Encoding_Method_Specified
+-
+-      * s-wchcon.adb: (Is_Start_Of_Encoding): New function
+-
+-2007-12-13  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * a-ngcoty.adb: New pragma Fast_Math
+-
+-      * opt.adb: New pragma Fast_Math
+-
+-      * par-prag.adb:
+-      Add Implemented_By_Entry to the list of pragmas which do not require any
+-      special processing.
+-      (Favor_Top_Level): New pragma.
+-      New pragma Fast_Math
+-
+-      * exp_attr.adb: Move Wide_[Wide_]Image routines to Exp_Imgv
+-      (Expand_N_Attribute_Reference, Displace_Allocator_Pointer,
+-      Expand_Allocator_Expression): Take into account VM_Target
+-      (Expand_Attribute, case 'Identity):  Handle properly the case where
+-      the prefix is a task interface.
+-      New pragma Fast_Math
+-
+-      * par.adb (Next_Token_Is): New function
+-      (P_Pragma): Add Skipping parameter
+-      (U_Left_Paren): New procedure
+-      (U_Right_Paren): New procedure
+-      New pragma Fast_Math
+-
+-      * par-ch10.adb (P_Subunit): Unconditional msg for missing ) after
+-      subunit
+-      New pragma Fast_Math
+-
+-      * sem_prag.adb: Add significance value to table Sig_Flag for pragma
+-      Implemented_By_Entry.
+-      (Analyze_Pragma): Add case for Ada 2005 pragma Implemented_By_Entry.
+-      (Set_Inline_Flags): Do not try to link pragma Inline onto chain of rep
+-      items, since it can apply to more than one overloadable entity. Set
+-      new flag Has_Pragma_Inline_Always for Inline_Always case.
+-      (Analyze_Pragma, case Complex_Representation): Improve error message.
+-      (Analyze_Pragma, case Assert): When assertions are disabled build the
+-      rewritten code with Sloc of expression rather than pragma, so new
+-      warning about failing is not deleted.
+-      (Analyze_Pragma): Allow pragma Preelaborable_Initialization to apply to
+-      protected types and update error message to reflect that. Test whether
+-      the protected type is allowed for the pragma (an error is issued if the
+-      type has any entries, or components that do not have preelaborable
+-      initialization).
+-      New pragma Fast_Math
+-      (Analyze_Pragma, case No_Return): Handle generic instance
+-
+-      * snames.h, snames.ads, snames.adb:
+-      Add new predefined name for interface primitive _Disp_Requeue.
+-      New pragma Fast_Math
+-
+-      * a-tags.ads, a-tags.adb: New calling sequence for
+-      String_To_Wide_[Wide_]String
+-      (Secondary_Tag): New subprogram.
+-
+-      * exp_imgv.ads, exp_imgv.adb: Move Wide_[Wide_]Image routines here
+-      from Exp_Attr
+-      New calling sequence for String_To_Wide_[Wide_]String
+-      (Expand_Image_Attribute): Major rewrite. New calling sequence avoids
+-      the use of the secondary stack for image routines.
+-
+-      * a-except-2005.adb, s-wchstw.ads, s-wchstw.adb, s-wwdenu.adb: New
+-      calling sequence for String_To_Wide_[Wide_]String
+-
+-      * par-ch3.adb (P_Declarative_Items): Recognize use of Overriding in
+-      Ada 95 mode
+-      (P_Unknown_Discriminant_Part_Opt): Handle missing parens gracefully
+-      Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+-
+-      * par-ch6.adb (P_Subprogram): Recognize use of Overriding in Ada 95 mode
+-      (P_Formal_Part): Use Skipping parameter in P_Pragma call
+-      to improve error recovery
+-
+-      * par-util.adb (Next_Token_Is): New function
+-      (Signal_Bad_Attribute): Use new Namet.Is_Bad_Spelling_Of function
+-
+-      * par-ch2.adb (Skip_Pragma_Semicolon): Do not resynchronize to
+-      semicolon if missing
+-      (P_Pragma): Implement new Skipping parameter
+-      Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+-      Fix location of flag for unrecognized pragma message
+-
+-      * par-tchk.adb (U_Left_Paren): New procedure
+-      (U_Right_Paren): New procedure
+-
+-2007-12-13  Geert Bosch  <bosch@adacore.com>
+-
+-      * a-tifiio.adb:
+-      (Put_Int64): Use Put_Digit to advance Pos. This fixes a case where
+-      the second or later Scaled_Divide would omit leading zeroes,
+-      resulting in too few digits produced and a Layout_Error as result.
+-      (Put): Initialize Pos.
+-
+-2007-12-13  Robert Dewar  <dewar@adacore.com>
+-
+-      atree.ads, atree.adb (Flag231..Flag247): New functions
+-      (Set_Flag231..Set_Flag247): New procedures
+-      (Basic_Set_Convention): Rename Set_Convention to be
+-      Basic_Set_Convention
+-      (Nkind_In): New functions
+-      Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+-
+-      * exp_ch6.adb (Expand_Call): Use new flag Has_Pragma_Inline_Always
+-      instead
+-       of obsolete function Is_Always_Inlined
+-      (Register_Predefined_DT_Entry): Initialize slots of the second
+-      secondary dispatch table.
+-      Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+-      (Expand_N_Function_Call): Remove special provision for stack checking.
+-
+-      * exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
+-      Include _Disp_Requeue in the list of predefined operations.
+-      (Find_Interface_ADT): Modified to fulfill the new specification.
+-      Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+-
+-      * par-ch4.adb, nlists.ads, nlists.adb:
+-      Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+-
+-      * sinfo.ads, sinfo.adb: (Nkind_In): New functions
+-      Fix location of flag for unrecognized pragma message
+-
+-      * sem_ch7.adb: Use Nkind_In
+-
+-2007-12-13  Vincent Celier  <celier@adacore.com>
+-
+-      * opt.ads:
+-      Indicate what flags are used by the Project Manager, gprbuild and
+-      gprclean.
+-      (Opt.Follow_Links_For_Dirs): New flag
+-      (Warn_On_Assertion_Failure): New flag
+-      (Wide_Character_Encoding_Method_Specified): New flag
+-      (Suppress_All_Inlining): New switch set by -fno-inline
+-      (Real_VMS_Target): New flag
+-      New pragma Fast_Math
+-
+-2007-12-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * back_end.adb: Recognize -fno-inline
+-
+-2007-12-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * checks.adb: Fix optimization problem with short-circuited form
+-
+-2007-12-13  Bob Duff  <duff@adacore.com>
+-
+-      * clean.adb (Usage): Add line for -aP
+-      (Check_Version_And_Help): Change Check_Version_And_Help to be generic,
+-      with a parameter "procedure Usage", instead of passing a pointer to a
+-      procedure. This is to eliminate trampolines (since the Usage procedure
+-      is often nested in a main procedure, and it would be inconvenient to
+-      unnest it).
+-
+-      * g-comlin.adb (For_Each_Simple_Switch): Change For_Each_Simple_Switch
+-      to be generic, with a parameter "procedure Callback (...)", instead of
+-      passing a pointer to a procedure. This is to eliminate trampolines
+-      (since the Callback procedure is usually nested).
+-
+-      * gnatfind.adb, switch.adb, switch.ads, gnatlink.adb, gnatls.adb,
+-      gnatname.adb, gnatxref.adb, gnatchop.adb, gprep.adb, gnatbind.adb
+-      (Check_Version_And_Help): Change Check_Version_And_Help to be generic.
+-
+-      * g-pehage.adb (Compute_Edges_And_Vertices, Build_Identical_Key_Sets):
+-      Use the generic Heap_Sort_G instead of Heap_Sort_A.
+-
+-2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * einfo.ads, einfo.adb: Flag 232 is now Implemented_By_Entry.
+-      (Implemented_By_Entry, Set_Implemented_By_Entry): New routines.
+-      (Write_Entry_Flags): Add an entry for Implemented_By_Entry.
+-      (Renamed_In_Spec): New flag
+-      (Has_Pragma_Inline_Always): New flag
+-      Add missing doc for pragma Obsolescent_Warning
+-      Add missing doc for 17 additional unused flags (230-247)
+-      (Is_Derived_Type): Remove condition "not Is_Generic_Type".
+-      Alphabetize with clauses.
+-      Separate Is_Thunk and Has_Thunks flags
+-      (Write_Entity_Flags): Add forgotten entry for Has_Thunks
+-      (Related_Interface): Renamed to Related_Type.
+-      (Has_Thunks/Set_Has_Thunks): Subprograms of new attribute.
+-      (Set_Is_Flag): Restrict the assertion.
+-
+-2007-12-13  Vincent Celier  <celier@adacore.com>
+-
+-      * errout.adb (Output_Source_Line): Do not keep a trailing space after
+-      the source line number if the source line is empty.
+-
+-2007-12-13  Geert Bosch  <bosch@adacore.com>
+-
+-      * eval_fat.adb (Decompose_Int): Handle argument of zero.
+-      (Compose): Remove special casing of zero.
+-      (Exponent): Likewise.
+-      (Fraction): Likewise.
+-      (Machine): Likewise.
+-      (Decompose): Update comment.
+-
+-2007-12-13  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_aggr.adb (Build_Record_Aggr_Code): If there is an aggregate for a
+-      limited ancestor part, initialize controllers of enclosing record
+-      before expanding ancestor aggregate.
+-      (Gen_Assign): If a component of the aggregate is box-initialized, add
+-      code to call Initialize if the component is controlled, and explicit
+-      assignment of null if the component is an access type.
+-
+-      Handle properly aggregates for limited types that appear in object
+-      declarations when the aggregate contains controlled values such as
+-      protected types.
+-      When expanding limited aggregates into individual components, do not
+-      call Adjust on controlled components that are limited.
+-
+-2007-12-13  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * expander.adb: Take into account N_Subprogram_Renaming_Declaration
+-
+-2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * exp_ch3.adb (Predefined_Primitive_Bodies): Generate the body of
+-      predefined primitive _Disp_Requeue.
+-      (Make_Predefined_Primitive_Specs): Create the spec for predefined
+-      primitive _Disp_Requeue.
+-      (Make_Predefined_Primitive_Specs/Predefined_Primitive_Bodies): Set the
+-      type of formal Renamed_Eq to Entity_Id (instead of Node_Id).
+-      (Make_Predefined_Primitive_Specs): Spec of "=" needed if the parent is
+-      an interface type. In case of limited interfaces we now declare all the
+-      predefined primitives associated with synchronized interfaces as
+-      abstract.
+-      (Predef_Spec_Or_Body): For interface types generate abstract subprogram
+-      declarations.
+-      (Predefined_Primitive_Bodies): Add body of "=" if the parent of the
+-      tagged type is an interface type and there is no user-defined equality
+-      function.
+-      Add also bodies of predefined primitives associated with synchronized
+-      interfaces.
+-      (Freeze_Record_Type): Do not build bodies of predefined primitives of
+-      interface types because they are now defined abstract.
+-      Add missing documentation.
+-      (Expand_Record_Controller): Update occurrence of Related_Interface
+-      to Related_Type.
+-      (Build_Offset_To_Top_Functions): Do nothing in case of VM.
+-      (Expand_N_Object_Declaration): Take into account VM_Target when handling
+-      class wide interface object declaration.
+-      (Expand_Previous_Access_Type): Do not create a duplicate master entity
+-      if the access type already has one.
+-      (Expand_N_Object_Declaration): Defend against attempt to validity check
+-      generic types. Noticed for -gnatVcf specified with previous errors.
+-
+-2007-12-13  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * exp_ch4.adb (Expand_N_Attribute_Reference, Displace_Allocator_Pointer,
+-      Expand_Allocator_Expression): Take into account VM_Target
+-
+-      * exp_ch5.adb (Expand_N_Extended_Return_Statement): Do not use
+-      secondary stack when VM_Target /= No_VM
+-
+-2007-12-13  Javier Miranda  <miranda@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch7.adb (Expand_N_Package_Body): Replace occurrence of attribute
+-      Is_Complation_Unit by Is_Library_Level_Entity in the code
+-      that decides if the static dispatch tables need to be built.
+-      (Wrap_Transient_Declaration): Do not generate a finalization call if
+-      this is a renaming declaration and the renamed object is a component
+-      of a controlled type.
+-
+-2007-12-13  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_ch8.ads, exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration):
+-      In the case where the renamed subprogram is a dereference, call
+-      Force_Evaluation on the prefix.
+-
+-2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch9.adb (Expand_N_Asynchronous_Select,
+-      Expand_N_Conditional_Entry_Call, Expand_N_Timed_Entry_Call): Code and
+-      comment reformatting.
+-      (Set_Privals): Inherit aliased flag from formal. From code reading.
+-      (Build_Simple_Entry_Call): Out parameters of an access type are passed
+-      by copy and initialized from the actual. This includes entry parameters.
+-      (Expand_N_Requeue_Statement): Reimplement in order to handle both Ada 95
+-      and Ada 2005 models of requeue.
+-      (Null_Statements): Still connsider do-end block null if it contains
+-      Unreferenced and Warnings pragmas.
+-      (Expand_N_Accept_Statement): Do not optimize away null do end if
+-      dispatching policy is other than defaulted.
+-      (Expand_N_Timed_Entry_Call): When the triggering statement is a
+-      dispatching call, manually analyze the delay statement.
+-      (Find_Parameter_Type): Move subprogram to Sem_Util.
+-
+-2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Primitive
+-      _Disp_Requeue occupies dispatch table slot number 15. Move
+-      _Disp_Timed_Select to slot 16.
+-      (Make_Disp_Requeue_Body, Make_Disp_Requeue_Spec): New routines which
+-      generate the spec and body of _Disp_Reqeueue.
+-      (Make_DT): Build and initialize the second dispatch table.
+-      Handle initialization of RC_Offset when the parent
+-      is a private type with variable size components.
+-      (Make_Secondary_DT): Complete documentation. Add support to
+-      initialize the second dispatch table.
+-      (Make_Tags): Generate the tag of the second dispatch table.
+-      (Register_Primitive): Add support to register primitives in the
+-      second dispatch table.
+-
+-2007-12-13  Pascal Obry  <obry@adacore.com>
+-
+-      * expect.c (__gnat_kill) [WIN32]: Implement the SIGINT signal on
+-      Windows. This signal is used by gnatmake to kill child processes for
+-      example.
+-
+-2007-12-13  Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing
+-      support for generic dispatching constructor calls in which we need to
+-      locate the tag of a secondary dispatch table associated with an
+-      interface type to properly dispatch the call.
+-      (Expand_N_Attribute_Reference [case Address],
+-      Expand_Dispatching_Constructor_Call, Expand_Unc_Deallocation): Fix
+-      handling of VM targets.
+-
+-2007-12-13  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_prag.adb (Expand_Pragma_Assert): Recognize new warning flag for
+-      assert fail
+-
+-      * ug_words: Add entries for -gnatw.a -gnatw.A
+-
+-      * sem_res.adb (Set_String_Literal_Subtype): If the context of the
+-      literal is a subtype with non-static constraints, use the base type of
+-      the context as the base of the string subtype, to prevent type
+-      mismatches in gigi.
+-      (Resolve_Actuals): If the actual is an entity name, generate a
+-      reference before the actual is resolved and expanded, to prevent
+-      spurious warnings on formals of enclosing protected operations.
+-      (Analyze_Overloaded_Selected_Component): If type of prefix if
+-      class-wide, use visible components of base type.
+-      (Resolve_Selected_Component): Ditto.
+-      (Resolve_Short_Circuit): Detect case of pragma Assert argument
+-      evaluating to False, and issue warning message.
+-
+-      * usage.adb: Add lines for -gnatw.a and -gnatw.A
+-
+-2007-12-13  Emmanuel Briot  <briot@adacore.com>
+-
+-      * g-calend.ads (No_Time): New constant, to represent an uninitialized
+-      time value
+-
+-      * g-catiio.ads, g-catiio.adb (Value): Added support for more date
+-      formats.
+-      (Month_Name_To_Number): New subprogram
+-
+-      * g-dirope.adb (Get_Current_Dir): On windows, normalize the drive
+-      letter to upper-case.
+-
+-2007-12-13  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * gnat1drv.adb (Gnat1drv): Properly set new flag Opt.Real_VMS_Target
+-
+-      * layout.adb (Resolve_Attribute, case 'Access): If designated type of
+-      context is a limited view, use non-limited view when available. If the
+-      non-limited view is an unconstrained array, this enforces consistency
+-      requirements in 3.10.2 (27).
+-      (Layout_Type): For an access type whose designated type is a limited
+-      view, examine its declaration to determine if it is an unconstrained
+-      array, and size the access type accordingly.
+-      (Layout_Type): Do not force 32-bits for convention c subprogram
+-      pointers in -gnatdm mode, only if real vms target.
+-
+-      * sem_attr.adb (Analyze_Access_Attribute): Use new flag
+-      Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
+-      (Analyze_Access_Attribute,Attribute_Address): Remove checks for
+-      violations of the No_Implicit_Dynamic_Code restriction.
+-      (Resolve_Attribute, case 'Access): If designated type of context is a
+-      limited view, use non-limited view when available. If the non-limited
+-      view is an unconstrained array, this enforces consistency requirements
+-      in 3.10.2 (27).
+-      (Layout_Type): For an access type whose designated type is a limited
+-      view, examine its declaration to determine if it is an unconstrained
+-      array, and size the access type accordingly.
+-
+-2007-12-13  Vincent Celier  <celier@adacore.com>
+-
+-      * gnatcmd.adb (GNATCmd): Do not issue -d= switch to gnatmetric when
+-      object directory of main project does not exist.
+-      On VMS, correctly set then environment variable for the source
+-      directories.
+-
+-2007-12-13  Vasiliy Fofanov  <fofanov@adacore.com>
+-
+-      * g-regist.ads, g-regist.adb (Set_Value): new parameter Expand; when
+-      set to True this procedure will create the value of type REG_EXPAND_SZ.
+-      It was only possible to create REG_SZ values before.
+-
+-2007-12-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-spchge.ads, g-spchge.adb, g-u3spch.adb, g-u3spch.ads,
+-      g-wispch.adb, g-wispch.ads, g-zspche.adb, g-zspche.ads,
+-      namet-sp.adb, namet-sp.ads: New files.
+-
+-      * g-speche.adb: Use generic routine in g-spchge
+-
+-      * s-wchcnv.ads, s-wchcnv.adb:
+-      Minor code cleanup (make formal type consistent with spec)
+-
+-      * namet.adb: Update comments.
+-
+-      * par-endh.adb (Evaluate_End_Entry): Use new
+-      Namet.Sp.Is_Bad_Spelling_Of function
+-
+-      * par-load.adb (Load): Use new Namet.Sp.Is_Bad_Spelling_Of function
+-
+-      * sem_aggr.adb (Resolve_Record_Aggregate): If a component of an
+-      ancestor is an access type initialized with a box, set its type
+-      explicitly, for use in subsequent expansion.
+-      (Check_Misspelled_Component): Use new Namet.Sp.Is_Bad_Spelling_Of
+-      function
+-
+-2007-12-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-spipat.adb (Break): Fix accessibility error (vsn taking not null
+-      access Vstring)
+-
+-2007-12-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * inline.adb (Back_End_Cannot_Inline): Use new flag
+-      Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
+-
+-      * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Use new flag
+-      Has_Pragma_Inline_Always instead.
+-      of obsolete function Is_Always_Inlined
+-      (Build_Body_To_Inline): Same change
+-      (Cannot_Inline): Same change
+-      Do not give warning on exception raise in No_Return function
+-
+-      * sem_ch13.adb (Analyze_Record_Representation_Clause): If an inherited
+-      component has two inconsistent component clauses in the same record
+-      representation clause, favor the message that complains about
+-      duplication rather than inconsistency.
+-      Update comments.
+-      (Record_Representation_Clause): Do not warn on missing component
+-      clauses for inherited components of a type extension.
+-      (Rep_Item_Too_Late): Do not attempt to link pragma into rep chain for
+-      an overloadable item if it is a pragma that can apply to multiple
+-      overloadable entities (e.g. Inline) because a pragma cannot be on
+-      more than one chain at a time.
+-      (Validate_Unchecked_Conversion): Add code to warn on unchecked
+-      conversion where one of the operands is Ada.Calendar.Time.
+-      (Analyze_Attribute_Definition_Clause): Fix typo in error message.
+-      For now, ignore Component_Size clause on VM targets, as done for
+-      pragma Pack.
+-
+-2007-12-13  Emmanuel Briot  <briot@adacore.com>
+-          Vincent Celier  <celier@adacore.com>
+-
+-      * prj.ads, prj.adb (Is_A_Language): Now takes a Name_Id instead of a
+-      string
+-      (Must_Check_Configuration, Default_Language_Is_Ada): new flags in
+-      prj.ads
+-      (Hash): Move instantiation of System.HTable.Hash from spec to body
+-      (prj-nmsc.adb): Optimize calls to Name_Find when on case sensitive
+-      systems, since we do not need to recompute the Name_Id for the canonical
+-      file name.
+-      (Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id
+-      as a parameter. This parameter is in fact always "ada" in all calls, and
+-      we were doing 160560 extra calls to Name_Find to convert it to Name_Ada
+-      while loading a project with 40000 files
+-
+-      * prj-attr.adb: Fix name of attribute Dependency_Driver
+-      Change the kind of indexing for attribute Root
+-
+-      * prj-dect.adb (Parse_Declarative_Items): Allow redeclarations of
+-      variables already declared, in case constructions.
+-
+-      * prj-env.adb (Initialize): Reset Current_Source_Path_File and
+-      Current_Object_Path_File to No_Path.
+-
+-      * prj-ext.adb (Initialize_Project_Path): In multi language mode, use
+-      ADA_PROJECT_PATH if value of GPR_PROJECT_PATH is empty.
+-
+-      * prj-makr.adb: new parameter Current_Dir
+-
+-      * prj-nmsc.ads, prj-nmsc.adb (Find_Explicit_Sources): Do not look for
+-      Ada sources when language is not Ada.
+-      Change Opt.Follow_Links to Opt.Follow_Links_For_Files.
+-      (Find_Excluded_Sources, Find_Explicit_Sources): new subprograms
+-      (Must_Check_Configuration, Default_Language_Is_Ada): new flags.
+-      (Locate_Directory): Always resolve links when computing Canonical_Path
+-      (Look_For_Sources): Make sure that Name_Buffer contains the file name
+-      in Source_Files before checking for the presence of a directory
+-      separator.
+-      Optimize calls to Name_Find when on case sensitive systems.
+-      (Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id
+-      as a parameter.
+-      (Prj.Nmsc.Check): new parameter Current_Dir
+-      (Check_Ada_Naming_Schemes): Restrictions on suffixes are relaxed. They
+-      cannot be empty and the spec suffix cannot be the same as the body or
+-      separate suffix.
+-      (Get_Unit): When a file name can be of several unit kinds (spec, body or
+-      subunit), always consider the longest suffix.
+-      (Check_Configuration): Do not issue an error if there is no compiler
+-      for a language. Just issue a warning and ignore the sources for the
+-      language.
+-      (Check_Library_Attributes): Only check Library_Dir if Library_Name is
+-      not empty.
+-      (Check_Naming_Schemes.Maked_Unit): Only output message if high verbosity
+-      (Unit_Exceptions): New hash table
+-      (Check_Naming_Schemes): Check if a file that could be a unit because of
+-      the naming scheme is not in fact a source because there is an exception
+-      for the unit.
+-      (Look_For_Sources): Put the unit exceptions in hash table
+-      Unit_Exceptions
+-      (Get_Unit_Exceptions): Give initial value No_Source to local variable
+-      Other_Part to avoid exception when code is compiled with validity
+-      checking.
+-      (Get_Sources_From_File): Check that there is no directory information
+-      in the file names.
+-      (Look_For_Sources): Check that there is no directory information in the
+-      list of file names in Source_Files.
+-      (Look_For_Sources): In multi-language mode, do not allow exception file
+-      names that are excluded.
+-      (Excluded_Sources_Htable): New hash table
+-      (Search_Directories.Check_File): New procedure to simplify
+-      Search_Directories.
+-      (Search_Directories): Do not consider excluded sources
+-      (Look_For_Sources): Populate Excluded_Sources_Htable before calling
+-      Search_Directories.
+-      (Get_Exceptions): Set component Lang_Kind of Source_Data
+-      (Get_Unit_Exceptions): Ditto
+-      (Search_Directories): Ditto
+-
+-      * prj-pars.adb: new parameter Current_Dir
+-
+-      * prj-part.ads, prj-part.adb:
+-      Change Opt.Follow_Links to Opt.Follow_Links_For_Files.
+-      (Opt.Follow_Links_For_Dirs): New flag
+-      (Project_Path_Name_Of): Cache information returned by this routine as
+-      Locate_Regular_File is a costly routine. The code to output a log
+-      information and the effective call to Locate_Regular_File is now
+-      factorized into a routine (code clean-up).
+-      (Parse, Parse_Single_Project): new parameter Current_Dir
+-      When main project file cannot be found, indicate in the error
+-      message the project path that was used to do the search.
+-
+-      * prj-proc.ads, prj-proc.adb (Opt.Follow_Links_For_Dirs): New flag
+-      (Prj.Proc.Process*): new parameter Current_Dir
+-
+-      * switch-m.adb: Change Opt.Follow_Links to Opt.Follow_Links_For_Files
+-
+-2007-12-13  Bob Duff  <duff@adacore.com>
+-
+-      * restrict.ads, restrict.adb (Check_Implicit_Dynamic_Code_Allowed): New
+-      procedure to be called from the back end to check the
+-      No_Implicit_Dynamic_Code restriction.
+-
+-2007-12-13  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * rtsfind.adb (Check_CRT): Take into account RTE_Available_Call
+-      Fixes another case where RTE_Available_Call was ignored instead of being
+-      taken into account.
+-      (Load_Fail): Ditto.
+-
+-      * rtsfind.ads: Add new entries.
+-
+-2007-12-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-byorma.adb, g-byorma.ads, g-decstr.adb, g-decstr.ads,
+-      g-deutst.ads, g-encstr.adb, g-encstr.ads, g-enutst.ads: New files.
+-
+-      * scn.adb: Implement BOM recognition
+-
+-2007-12-13  Thomas Quinot  <quinot@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch10.adb (Check_Private_Child_Unit): A non-private library level
+-      subprogram body that acts as its own spec may not have a non-private
+-      WITH clause on a private sibling.
+-      (Build_Unit_Name): If the parent unit in the name in a with_clause on a
+-      child unit is a renaming, create an implicit with_clause on that
+-      parent, and not on the unit it renames, to prevent visibility errors
+-      in the current unit.
+-
+-2007-12-13  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch12.adb (Instantiate_Formal_Subprogram): In the subprogram
+-      renaming declaration, use the Slocs of the formal parameters from the
+-      declaration of the formal subprogram when creating the formal parameter
+-      entities in the renaming declaration.
+-      (Analyze_Formal_Type_Declaration): Change the placement of the error
+-      message concerning illegal known discriminants. It is now posted on the
+-      type rather than on the first discriminant. This change ensures early
+-      error report.
+-      (Freeze_Subprogram_Body): If the generic subprogram is nested within
+-      the package body that contains the instance, do not generate an
+-      out-of-place freeze node for the enclosing package.
+-      (Collect_Previous_Instantiations): Ignore internal instantiations
+-      generated for formal packages.
+-      (Validate_Derived_Type_Instance): Add a check that when a formal
+-      derived type is Known_To_Have_Preelab_Init then the actual type must
+-      have preelaborable initialization, and issue an error when this
+-      condition is violated.
+-
+-2007-12-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * s-imenne.adb, s-imenne.ads: New files.
+-
+-      * s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
+-      s-imgdec.ads, s-imgenu.ads, s-imgint.adb, s-imgint.ads, s-imglld.adb,
+-      s-imglld.ads, s-imglli.adb, s-imglli.ads, s-imgllu.adb, s-imgllu.ads,
+-      s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwch.adb,
+-      s-imgwch.ads: New calling sequence for Image routines to avoid sec
+-      stack usage.
+-
+-2007-12-13  Javier Miranda  <miranda@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Avoid
+-      generation of spurious error if parent is an interface type; caused
+-      because predefined primitive bodies will be generated later by
+-      Freeze_Record_Type.
+-      (Process_Subtype): The subtype inherits the Known_To_Have_Preelab_Init
+-      flag.
+-      (Derive_Subprograms): Handle derivations of predefined primitives
+-      after all the user-defined primitives to ensure that they are
+-      found in proper order in instantiations.
+-      (Add_Interface_Tag_Components, Inherit_Components): Update occurrences
+-      of Related_Interface to Related_Type.
+-      (Record_Type_Declaration): Minor reordering of calls to decorate the
+-      Tag component because the entity must have set its Ekind attribute
+-      before setting its Is_Tag attribute.
+-      (Analyze_Subtype_Declaration): In the case of subtypes with
+-      Private_Kind, inherit Known_To_Have_Preelab_Init from the parent.
+-
+-2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch4.adb (Analyze_Selected_Component): Include the requeue
+-      statement to the list of contexts where a selected component with a
+-      concurrent tagged type prefix should yield a primitive operation.
+-      (Find_Primitive_Operation): Handle case of class-wide types.
+-      (Analyze_Overloaded_Selected_Component): If type of prefix is
+-      class-wide, use visible components of base type.
+-      (Resolve_Selected_Component): Ditto.
+-      (Try_Primitive_Operation, Collect_Generic_Type_Ops): If the type is a
+-      formal of a generic subprogram. find candidate interpretations by
+-      scanning the list of generic formal declarations.:
+-      (Process_Implicit_Dereference_Prefix): If the prefix has an incomplete
+-      type from a limited_with_clause, and the full view is available, use it
+-      for subsequent semantic checks.
+-      (Check_Misspelled_Selector): Use Namet.Sp.Is_Bad_Spelling_Of function
+-      (Find_Primitive_Operation): New function.
+-      (Analyze_Overloaded_Selected_Component): insert explicit dereference
+-      only once if several interpretations of the prefix yield an access type.
+-      (Try_Object_Operation): Code and comment cleanup.
+-      (Analyze_Selected_Component): Reorder local variables. Minot comment and
+-      code reformatting. When the type of the prefix is tagged concurrent, a
+-      correct interpretation might be available in the primitive and
+-      class-wide operations of the type.
+-
+-2007-12-13  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch8.adb (Analyze_Subprogram_Renaming): Special error message for
+-      renaming entry as subprogram using rename-as-body if subprogram spec
+-      frozen.
+-      (Use_One_Type): The clause is legal on an access type whose designated
+-      type has a limited view.
+-      (Find_Direct_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
+-      (Find_Expanded_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
+-      (Analyze_Renamed_Primitive_Operation): new procedure to determine the
+-      operation denoted by a selected component.
+-      (Analyze_Renamed_Entry): Resolve the prefix of the entry name, because
+-      it can be an expression, possibly overloaded, that returns a task or
+-      an access to one.
+-
+-2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * sem_ch9.adb (Analyze_Requeue): Add a local flag to capture whether a
+-      requeue statement is dispatching. Do not emit an error when the name is
+-      not an entry and the context is a dispatching select. Add code to
+-      perform subtype conformance between the formals of the current entry
+-      and those of the target interface primitive.
+-      (Analyze_Asynchronous_Select, Analyze_Conditional_Entry_Call, Analyze_
+-      Timed_Entry_Call): Analyze the triggering statement as the first step of
+-      the processing. If this is a dispatching select, postpone the analysis
+-      of all select statements until the Expander transforms the select. This
+-      approach avoids generating duplicate identifiers after the Expander has
+-      replicated some of the select statements. In case the Expander is
+-      disabled, perform regular analysis.
+-      (Check_Triggering_Statement): New routine.
+-      (Analyze_Requeue): Exclude any interpretations that are not entries when
+-      checking overloaded names in a requeue. Also test type conformance for
+-      matching interpretations rather than requiring subtype conformance at
+-      that point to conform with the RM's resolution rule for requeues.
+-
+-2007-12-13  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_disp.adb (Check_Dispatching_Call): If an actual in a call to an
+-      inherited operation is a defaulted tag-indeterminate call, and there is
+-      a statically tagged actual, use the static tag as a controlling actual
+-      for the defaulted actual.
+-
+-2007-12-13  Geert Bosch  <bosch@adacore.com>
+-
+-      * sem_eval.adb (Eval_Real_Literal): N_Constant_Declaration is a static
+-      context, so do not call Check_Non_Static_Context.
+-
+-2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * sem_type.adb (Function_Interp_Has_Abstract_Op): Add guard to check
+-      whether formal E is an entity which may have parameters.
+-
+-2007-12-13  Bob Duff  <duff@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_util.ads, sem_util.adb (Is_Concurrent_Interface): New routine.
+-      (Set_Convention): New procedure to set the Convention flag, and in
+-      addition make sure the Favor_Top_Level flag is kept in sync (all
+-      foreign-language conventions require Favor_Top_Level = True).
+-      (Collect_Abstract_Interfaces): Update occurrences of Related_Interface
+-      to Related_Type.
+-      (Collect_Interfaces_Info): Minor update to handle the two secondary
+-      dispatch tables. Update occurrence of Related_Interface to Related_Type.
+-      (Generate_Parent_Ref): Add parameter to specify entity to check
+-      (Is_Preelaborable_Expression): Allow the name of a discriminant to
+-      initialize a component of a type with preelaborable initialization.
+-      This includes the case of a discriminal used in such a context.
+-      (Is_Dependent_Component_Of_Mutable_Object): Take into account the
+-      latest Ada 2005 rules about renaming and 'Access of
+-      discriminant-dependent components.
+-      (Check_Nested_Access): Add handling when there are no enclosing
+-      subprograms (e.g. case of a package body).
+-      (Find_Parameter_Type): Factor routine from several other compiler files.
+-      Remove routine from Find_Overridden_Synchronized_Primitive.
+-
+-2007-12-13  Thomas Quinot  <quinot@adacore.com>
+-
+-      * sinput.adb (Get_Source_File_Index): Add assertion to guard against
+-      an invalid access to an uninitialized slot in the
+-      Source_File_Index_Table.
+-
+-2007-12-13  Thomas Quinot  <quinot@adacore.com>
+-
+-      * sinput-l.adb (Load_File): Disable style checks when preprocessing.
+-
+-2007-12-13  Bob Duff  <duff@adacore.com>
+-
+-      * s-soflin.ads: Apply new pragma Favor_Top_Level to all
+-      access-to-subprogram types in this package.
+-
+-2007-12-13  Olivier Hainque  <hainque@adacore.com>
+-
+-      * s-stausa.ads (Stack_Analyzer): Remove First_Is_Topmost, redundant
+-      with Stack_Grows_Down in System.Parameters. Rename Array_Address into
+-      Stack_Overlay_Address and document that we are using an internal
+-      abstraction.
+-      (Byte_Size, Unsigned_32_Size): Remove, now useless.
+-      (Pattern_Type, Bytes_Per_Pattern): New subtype and constant, to be used
+-      consistently throughout the various implementation pieces.
+-
+-      * s-stausa.adb (Stack_Slots): New type, abstraction for the stack
+-      overlay we are using to fill the stack area with patterns.
+-      (Top_Slot_Index_In, Bottom_Slot_Index_In): Operations on Stack_Slots.
+-      (Push_Index_Step_For, Pop_Index_Step_For): Likewise.
+-      (Fill_Stack, Compute_Result): Use the Stack_Slots abstraction.
+-
+-2007-12-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * s-stoele.adb ("mod"): mod negative value raises Constraint_Error
+-
+-2007-12-13  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-tassta.adb:
+-      (Create_Task): Take into account tasks created by foreign threads.
+-      Code clean up: use constants instead of hard coded values.
+-
+-2007-12-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * styleg.adb (Check_Comment): More liberal rules for comment placement
+-
+-2007-12-13  Olivier Hainque  <hainque@adacore.com>
+-
+-      * tb-alvms.c (struct tb_entry_t, __gnat_backtrace): Revert back to use
+-      of Procedure Value instead of Frame Pointer as the invocation
+-      identifier associated with the instruction pointer in each traceback
+-      entry.
+-
+-      * g-trasym-vms-alpha.adb (Traceback_Entry, PV_For, FP_For,
+-      TB_Entry_For): Revert back to use of Procedure Value instead of Frame
+-      Pointer as the invocation identifier passed to tbk$symbolize.
+-
+-      * s-traent-vms.ads, s-traent-vms.adb
+-      (Traceback_Entry, PV_For, FP_For, TB_Entry_For): Revert back to use of
+-      Procedure Value instead of Frame Pointer as the invocation identifier
+-      passed to tbk$symbolize.
+-
+-2007-12-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * tbuild.ads, tbuild.adb:
+-      Fix location of flag for unrecognized pragma message
+-
+-2007-12-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * treepr.ads, treepr.adb: (pl): implement use of positive value
+-      shorthands
+-
+-2007-12-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * xeinfo.adb: Remove warnings
+-      * xnmake.adb: Remove warnings
+-      * xsinfo.adb: Remove warnings
+-      * xtreeprs.adb: Remove warnings
+-      * xsnames.adb: Remove warnings
+-
+-      * a-ngcoar.adb: Fix typo.
+-      * s-interr.adb: Minor reformatting
+-      * env.c: Minor reformatting.
+-      * g-bytswa.adb: Minor reformatting.
+-      * g-rannum.ads: Minor documentation improvements
+-      * s-tasinf-mingw.adb: Minor header fix
+-      * a-clrefi.adb: Minor reformatting
+-      * g-sttsne.ads: Minor documentation improvement
+-      * g-sttsne-locking.ads: Minor documentation improvement
+-      * g-soliop-solaris.ads: Minor documentation improvement
+-      * g-soliop-mingw.ads: Minor documentation improvement
+-      * g-soliop.ads: Minor documentation improvement
+-      * exp_aggr.ads: Minor reformatting
+-      * debug.adb: Add documentation for the gprbuild debug flags
+-      * exp_ch2.adb: Use Nkind_In to simplify code throughout
+-      * exp_pakd.adb: Minor reformatting
+-
+-      * g-altive.ads, g-alleve.adb: Remove assertions.
+-      Add comment about minor differences between targets regarding
+-      floating-point operations.
+-
+-      * g-thread.adb: Remove pragma unreferenced.
+-      * lib.ads: Minor reformatting
+-      * par-ch9.adb: Minor reformatting of error messages
+-      * sem_case.adb: Minor reformatting
+-      * s-fileio.adb: Minor reformattinng
+-      * s-vmexta.ads: Minor typo
+-      * vxaddr2line.adb:
+-      Take into account 'Success' value as per new GNAT warning.
+-
+-2007-12-13  Vincent Celier  <celier@adacore.com>
+-
+-      * a-direct.adb (Create_Path): Always take '/' as a directory separator,
+-      even on Windows
+-
+-2007-12-13  Robert Dewar  <dewar@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-
+-      * gnat_ugn.texi: Dcoument new rules for style check comment alignment
+-      Document that suffixes may be terminations of each others
+-      Add doc for -gnatw.a and -gnatw.A
+-      Document gnatbind -Wx switch
+-      Document BOM recognition
+-      Document pragma Implemented_By_Entry.
+-      Document new units.
+-
+-      * gnat_rm.texi: (Favor_Top_Level): Document new pragma.
+-      Add doc for pragma Unreferenced suppressing no entities referenced msg
+-      Add documentation of GNAT.Directory_Operations.Iteration
+-      Add documentation of GNAT.Random_Numbers
+-      Add documentation for pragma Shared.
+-      Correct documentation for Bit_Order
+-      Add documentation for the Pool_Address attribute.
+-      Fix and improve documentation of pragma machine_attribute.
+-      New pragma Fast_Math
+-      Document BOM recognition
+-
+-      * vms_data.ads: Add entries for -gnatw.a -gnatw.A
+-      Add /Wide_Character_Encoding for binder
+-      Add qualifier for the new gnatpp option --no-separate-loop-then
+-
+-2007-12-13  Matthew Heaney  <heaney@adacore.com>
+-
+-      * a-cohase.ads, a-cihama.ads, a-cihase.ads, a-cohama.ads: Document
+-      which generic formal operations are called for each operation.
+-
+-2007-12-13  Olivier Hainque  <hainque@adacore.com>
+-
+-      * tb-gcc.c (uw_data_t, trace_callback): Only define if not GCC-SJLJ eh.
+-      (__gnat_backtrace): Early return 0 if using GCC-SJLJ eh.
+-
+-2007-12-13  Emmanuel Briot  <briot@adacore.com>
+-
+-      * s-os_lib.ads, s-os_lib.adb (Normalize_Pathname): Do not compute
+-      Reference_Dir unless we actually need it.
+-
+-2007-12-13  Vasiliy Fofanov  <fofanov@adacore.com>
+-          Tristan Gingold  <gingold@adacore.com>
+-
+-      * g-socthi-vms.ads (Fd_Set_Access): make it 32-bit.
+-
+-      * s-osprim-vms.adb,
+-      a-calend-vms.adb: Remove pragma warning off and add pragma
+-      unreferenced.
+-
+-2007-12-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * impunit.adb: Add entries for missing units
+-
+-      * Makefile.rtl: Add new run-time units.
+-
+-      * Make-lang.in:  Update dependencies.
+-
+-2007-12-13  Bob Duff  <duff@adacore.com>
+-
+-      * itypes.ads, itypes.adb (Create_Itype): For access-to-subprogram
+-      types, set Can_Use_Internal_Rep appropriately, based on
+-      Always_Compatible_Rep_On_Target.
+-
+-2007-12-13  Gary Dismukes  <dismukes@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-
+-      * make.adb (Scan_Make_Arg): Add test for -aamp_target switch, passing
+-      it to the front end and setting the aamp_target environment variable
+-      to the switch's argument to ensure that gnaampbind and gnaamplink will
+-      take the specified library into account.
+-      (Make): Only set Check_Object_Consistency to False for JVM, not for CIL
+-      target, since the CIL compiler supports an "object" file (.il files).
+-
+-2007-12-13  Vincent Celier  <celier@adacore.com>
+-
+-      * symbols-processing-vms-ia64.adb (Process.Skip_Half): New procedure
+-      (Process.H): Remove variable. Replace Read_Half (H) with Skip_Half.
+-
+-2007-12-13  Geert Bosch  <bosch@adacore.com>
+-
+-      * s-parame-vxworks.adb:
+-      Update comments to reflect usage of this package by Nucleus.
+-
+-2007-12-13  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * i-vxwork.ads: Kill new warning on Convention C, since changing the
+-      spec would break code.
+-
+-      * i-forbla-unimplemented.ads, vx_stack_info.c: New files.
+-
+-      * system-vxworks-alpha.ads: Removed.
+-
+-2007-12-10  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * ada-tree.h (TYPE_RETURNS_BY_TARGET_PTR_P): Move around.
+-
+-2007-12-09  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      PR ada/34366
+-      * sem_ch3.adb (Designates_T): New function.
+-      (Mentions_T): Factor reusable part of the logic into Designates_T.
+-      Consider non-access parameters and access and non-access result.
+-      (Check_Anonymous_Access_Components): Set ekind of anonymous access to
+-      E_Subprogram_Type to E_Anonymous_Access_Subprogram_Type.
+-
+-      * einfo.ads: Update comment for E_Anonymous_Access_Subprogram_Type.
+-
+-2007-12-07  Ludovic Brenta  <ludovic@ludovic-brenta.org>
+-
+-      PR ada/34361
+-      * mlib-tgt.adb, mlib-tgt.ads: Fix comments at the top to reflect
+-      the new implementation of target-specific calls.
+-
+-2007-12-07  Olivier Hainque  <hainque@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <case E_Access_Type>: When computing
+-      the designated full view, only follow a second level Full_View link
+-      for Non_Limited_Views of from_limited_with references.
+-
+-2007-12-07  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      PR ada/15805
+-      * sem_ch6.adb (Process_Formals): Prevent an access type formal
+-      to be initialized with an access to constant object.
+-
+-      * sem_ch3.adb (Analyze_Object_Declaration): Signal an error
+-      when an access to constant is used to initialize an access
+-      value.
+-
+-      PR ada/21346
+-      * a-direct.adb (Compose): Containing_Directory can be an empty string.
+-
+-2007-12-07  Olivier Hainque  <hainque@adacore.com>
+-
+-      PR ada/34173
+-      * decl.c (gnat_to_gnu_entity) <case E_Array_Type>: When setting
+-      the alignment on the GCC XUA array type, set TYPE_USER_ALIGN if
+-      this is from an alignment clause on the GNAT entity.
+-      * utils.c (create_field_decl): Rewrite the computation of DECL_ALIGN
+-      to distinguish the case where we set it from the type's alignment.
+-      When so, propagate TYPE_USER_ALIGN into DECL_USER_ALIGN to indicate
+-      whether this alignment was set from an explicit alignment clause.
+-
+-2007-12-06  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (make_packable_type): Revert last change.
+-      (gnat_to_gnu_field): Avoid setting size and position multiple times.
+-      * utils.c (finish_record_type): Retrieve the real name of the type.
+-
+-2007-12-05  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * trans.c (lvalue_required_p): Take base node directly instead
+-      of its parent.  Rename second parameter to 'gnu_type'.
+-      <N_Indexed_Component>: Return 0 if the node isn't the prefix.
+-      <N_Slice>: Likewise.
+-      (Identifier_to_gnu): Rename parent_requires_lvalue to require_lvalue.
+-      Adjust calls to lvalue_required_p.
+-
+-2007-12-05  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      PR ada/21489
+-      * exp_ch9.adb (Build_Simple_Entry_Call): Initialize OUT access type
+-      parameters of an entry call.
+-
+-2007-12-03  Robert Dewar  <dewar@adacore.com>
+-          Samuel Tardieu  <sam@rfc1149.net>
+-
+-      PR ada/34287
+-      * sem_util.adb (Safe_To_Capture_Value): Do not capture values
+-      of variables declared in a library-level package.
+-
+-2007-12-02  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      * clean.adb (Clean_Library_Directory): Use Empty_String'Access intead
+-      of Empty_String'Unchecked_Access.
+-
+-      * Makefile.in: Add support for sh4-linux.
+-
+-      * system-linux-sh4.ads: New file.
+-
+-2007-12-01  Kostik Belousov  <kostikbel@ukr.net>
+-
+-      PR ada/33722
+-      * env.c (__gnat_setenv): FreeBSD 7 has a POSIX conformant putenv()
+-      and its argument must not be free()ed.
+-
+-2007-11-29  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (make_packable_type): Retrieve the real name of the type.
+-      (maybe_pad_type): Simplify similar code.
+-
+-2007-11-28  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      PR ada/15804
+-      * par-ch3.adb (P_Variant_Part): Signal an error when anything other
+-      than an identifier is used after "case" in a variant_part.
+-
+-      PR ada/17318
+-      * par-ch4.adb (Is_Parameterless_Attribute): New map.
+-      (P_Name, Scan_Apostrophe block): Parse left parenthesis following
+-      attribute name or not depending on the new map.
+-
+-      * sem-attr.adb (Analyze_Attribute): Parameterless attributes
+-      returning a string or a type will not be called with improper
+-      arguments.
+-
+-      * sem-attr.ads (Attribute_Class_Array): Move to snames.ads.
+-
+-      * snames.ads (Attribute_Class_Array): Moved from sem-attr.ads.
+-
+-      PR ada/32792
+-      * sem_attr.adb (Analyze_Attribute, Attribute_Integer_Value clause):
+-      Signal an error when attribute argument is a fixed-point value of
+-      an unknown type.
+-
+-      PR ada/22559
+-      * sem_ch3.adb (Build_Derived_Numeric_Type): Do not set RM_Size on
+-      a derived ordinary fixed point type.
+-
+-      * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Recompute
+-      RM_Size when a Small clause is found.
+-
+-2007-11-26  Andreas Krebbel  <krebbel1@de.ibm.com>
+-
+-      PR 34081/C++
+-      * trans.c (Subprogram_Body_to_gnu, Compilation_Unit_to_gnu):
+-      Pass 'false' for the new allocate_struct_function parameter.
+-      * utils.c (build_function_stub): Likewise.
+-
+-2007-11-25  Richard Guenther  <rguenther@suse.de>
+-
+-      * utils.c (gnat_pushlevel): Use BLOCK_CHAIN.
+-      (gnat_poplevel): Likewise.
+-
+-2007-11-25  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <E_Record_Type>: If the type has
+-      strict alignment, no alignment clause and a known static size, cap
+-      the type alignment to the greatest power of 2 factor of the size.
+-      (gnat_to_gnu_field): If the field has a component clause, is aliased
+-      or of a type with strict alignment, require that its size be equal to
+-      that of the type.
+-      (validate_size): Use the type size as the minimum size for a type with
+-      strict alignment.
+-
+-2007-11-23  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      * s-inmaop-posix.adb, s-intman-vxworks.adb, s-taprop-hpux-dce.adb,
+-      s-taprop-irix.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
+-      s-taprop-posix.adb, s-taprop-tru64.adb, s-taprop-vxworks.adb:
+-      Use 'Access instead of 'Unchecked_Access in second and third
+-      arguments of pthread_sigmask.
+-
+-2007-11-23  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (ceil_alignment): New function.
+-      (gnat_to_gnu_entity): Use it to set the alignment on atomic types.
+-      (make_packable_type): Likewise.
+-
+-2007-11-22  Olivier Hainque  <hainque@adacore.com>
+-
+-      * trans.c (gnat_to_gnu) <case N_Free_Statement>: Reformat lines
+-      to fit in 80 columns.
+-
+-2007-11-21  Aurelien Jarno  <aurelien@aurel32.net>
+-
+-      * s-osinte-kfreebsd-gnu.ads (To_Target_Priority): New function.
+-      * Makefile.in: Add EH_MECHANISM=-gcc to kfreebsd-gnu. Remove SYMLIB.
+-
+-2007-11-19  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      PR ada/34098
+-      * misc.c (gnat_adjust_rli): Delete.
+-      (gnat_init): Do not initialize the translation code here.
+-      Do not call set_lang_adjust_rli.
+-      * trans.c (init_code_table): Make static.
+-      (gnat_init_stmt_group): Delete.
+-      (gigi): Initialize the translation code entirely here.
+-      Emit debug info for the common types here instead of...
+-      * utils.c (gnat_init_decl_processing): ...here.
+-      * gigi.h (init_code_table): Delete.
+-      (gnat_init_stmt_group): Likewise.
+-
+-2007-11-16  Olivier Hainque  <hainque@adacore.com>
+-
+-      * utils2.c (build_call_alloc_dealloc) <if gnu_obj>: Move the code
+-      retrieving an allocator return value from a super-aligned address from
+-      here to ...
+-      * trans.c (gnat_to_gnu) <case N_Free_Statement>: ... here, and don't
+-      expect a super-aligned address for a fat or thin pointer.
+-
+-2007-11-14  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * trans.c (call_to_gnu): Always set the source location on the call
+-      expression.  If the function returns-by-target, also set it on the
+-      address expression.
+-
+-2007-11-14  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      * adaint.c, init.c, initialize.c, link.c: Remove system-specific
+-      sections of non-supported Interix target.
+-
+-      * s-osinte-interix.ads: Removed.
+-
+-      * i-cstrin.ads (chars_ptr): Make it a C convention type.
+-
+-2007-11-13  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      * a-tasatt.adb: Add a comment at the beginning of the package
+-      explaining why in general 'Unchecked_Access must be used instead
+-      of 'Access.
+-
+-      * sem_prag.adb (Process_Convention): Move the test for the
+-      entity on which the Convention pragma applies down to also
+-      forbid pragma Convention on enumeration literals reached
+-      through renamings.
+-
+-2007-11-10  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      * a-tasatt.adb: Revert previous change for this file as it will
+-      generate an error when this package is instantiated from a
+-      local context.
+-
+-2007-11-07  Samuel Tardieu  <sam@rfc1149.net>
+-
+-      * a-tasatt.adb: Type Wrapper should be declared in comment instead
+-      of already declared type Node_Access.
+-      Use 'Access instead of 'Unchecked_Access when applicable. Local
+-      lifetime is the one of the package.
+-      (Set_Value): W is allocated on the heap.
+-
+-      * g-socket.adb: Use 'Access instead of 'Unchecked_Access when
+-      applicable.
+-      (Get_Socket_Option): Optlen formal of C_Getsockopt is of an anonymous
+-      access type.
+-      (Receive_Socket): Fromlen formal of C_Recvfrom is of an anonymous
+-      access type.
+-
+-      * s-taasde.adb: Use 'Access instead of 'Unchecked_Access when
+-      applicable.
+-      (elaboration code): Timer_Queue lifetime is the one of the
+-      package.
+-
+-      * tracebak.c (i386 alternative): Remove useless comparaison
+-      which is always false; LOWEST_ADDRESS is 0 and is never greater
+-      than an unsigned integer.
+-
+-      * sem_attr.adb (Analyze_Attribute): Remove duplicate identical
+-      embedded check for "Ada_Version >= Ada_05".
+-
+-2007-11-07  Olivier Hainque  <hainque@adacore.com>
+-
+-      * decl.c (make_aligning_type): Set the mode of the RECORD_TYPE we
+-      craft and expand comment.
+-
+-2007-11-01  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * lang-specs.h: Move translation of -fRTS= after -gnatez switch.
+-
+-2007-10-23  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * misc.c (gnat_handle_option): Replace call to abort with
+-      call to gcc_unreachable.
+-      (gnat_init): Likewise.
+-      (gnat_expand_expr): Likewise.
+-      (fp_prec_to_size): Likewise.
+-      (fp_size_to_prec): Likewise.
+-
+-2007-10-23  Richard Guenther  <rguenther@suse.de>
+-
+-      PR bootstrap/33608
+-      * tracebak.c: #undef abort after including system.h.
+-
+-2007-10-20  Danny Smith  <dannysmith@users.sourceforge.net>
+-
+-      * Makefile.in (LIBGNAT_TARGET_PAIRS) Add s-tasinf-mingw.adb,
+-      s-tasinf-mingw.ads, a-exetim-mingw.adb, a-exetim-mingw.ads
+-      for win32 targets.
+-      (EXTRA_GNATRTL_TASKING_OBJS): Add a-exetim.o for win32 targets.
+-
+-2007-10-15  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * s-osinte-tru64.adb: (Hide_Yellow_Zone): Add On parameter.
+-      Set the protection status of the guard page based on the value of On.
+-
+-      * s-osinte-tru64.ads: (Hide_Yellow_Zone): Add On parameter.
+-
+-      * s-taprop-tru64.adb: (Enter_Task): Pass True to Hide_Yellow_Zone.
+-      (Exit_Task): Pass False to Hide_Yellow_Zone.
+-
+-2007-10-15  Robert Dewar  <dewar@adacore.com>
+-
+-      * s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
+-      s-taprop-vxworks.adb, s-taprop-posix.adb, a-calend-vms.adb,
+-      a-calend.adb, a-nuflra.adb, a-tigeau.adb, a-wtgeau.adb,
+-      checks.adb, bindgen.adb, eval_fat.adb, exp_fixd.adb, fmap.adb,
+-      freeze.adb, g-awk.adb, g-calend.adb, g-diopit.adb, g-expect.adb,
+-      gnatchop.adb, gnatlink.adb, g-spipat.adb, g-thread.adb, make.adb,
+-      mdll.adb, mlib.adb, mlib-prj.adb, osint.adb, par-ch3.adb, prj.adb,
+-      prj-makr.adb, sem_prag.adb, sem_type.adb, s-fatgen.adb, s-fileio.adb,
+-      sinfo.ads, sinput-d.adb, s-taasde.adb, s-tasdeb.ads, s-tasren.adb,
+-      s-tassta.adb, s-tpobop.adb, s-tposen.adb, stylesw.adb, types.ads,
+-      uintp.adb, validsw.adb, makegpr.adb, a-rbtgso.adb, a-crbtgo.adb,
+-      a-coorse.adb, a-convec.adb, a-coinve.adb, a-cohama.adb, a-ciorse.adb,
+-      a-cihama.adb, a-cidlli.adb, a-chtgop.adb, a-cdlili.adb, a-cdlili.adb,
+-      a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb, a-ciorma.adb,
+-      a-coorma.adb, a-ztgeau.adb, symbols-vms.adb, a-crdlli.adb,
+-      a-calari.adb, a-calfor.adb, s-os_lib.adb, s-regpat.adb, a-ngrear.adb:
+-      Minor reformatting.
+-      Add Unreferenced and Warnings (Off) pragmas for cases of
+-      variables modified calls where they are IN OUT or OUT parameters and
+-      the resulting values are not subsequently referenced. In a few cases,
+-      we also remove redundant code found by the new warnings.
+-
+-      * ug_words, vms_data.ads, usage.adb, sem_util.adb, sem_util.ads,
+-      sem_warn.adb, sem_warn.ads, sem_res.adb, sem_ch7.adb, sem_ch8.adb,
+-      sem_ch5.adb, opt.ads, lib-xref.adb, lib-xref.ads, exp_smem.adb,
+-      sem_ch11.adb, exp_ch6.adb, einfo.ads, einfo.adb: implement a new
+-      warning controlled by -gnatw.o that warns on cases of out parameter
+-      values being ignored.
+-
+-2007-10-15  Geert Bosch  <bosch@adacore.com>
+-
+-      * adaint.c, socket.c, cal.c: Initial port to arm-mentor-nucleus.
+-
+-      * expect.c: Initial port to arm-mentor-nucleus.
+-      Use kill for __gnat_kill() on VMS.
+-
+-2007-10-15  Emmanuel Briot  <briot@adacore.com>
+-
+-      * ali.ads, ali.adb (Scan_ALI): Initialize XE.Tref to a known default
+-      value.
+-      (Xref_Record): Change type for Line, since in the case of a reference to
+-      a predefined entity (as happens for array index types), the line is set
+-      to 0.
+-      Add support for parsing multiple array index types info, or
+-      multiple inherited interfaces info. This information cannot be stored
+-      in Xref_Entity_Record, which only supports a single instance of Tref_*,
+-      and is therefore stored in the list of references instead. It has a
+-      special treatement later on in tools that use this information.
+-
+-2007-10-15  Tristan Gingold  <gingold@adacore.com>
+-
+-      * debug.adb: Document use of -gnatd.a and -gnatd.I
+-
+-      * layout.adb: On OpenVMS -gnatd.a disables alignment optimization.
+-
+-2007-10-15  Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_attr.adb (Expand_N_Attribute_Reference): Case Access,
+-      Unchecked_Access, and Unrestricted_Access. Cleanup code that takes
+-      care of access to class-wide interface types plus removal of bizarre
+-      conversion of tagged object to access type (reported by Gary
+-      Dismukes). After this patch there is no need to perform any
+-      additional management on these nodes in Expand_Interface_Actuals.
+-
+-      * exp_disp.adb (Expand_Interface_Actuals): Code cleanup. Remove code
+-      that handles use of 'Access and 'Unchecked_Access applied to
+-      actuals covering interface types. Such code is now
+-      centralized in Expand_N_Attribute_Reference.
+-
+-2007-10-15  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch3.adb (Build_Init_Procedure): Keep separate the initialization
+-      of tagged types whose ultimate ancestor is a CPP type.
+-      (Freeze_Array_Type): For a packed array type, generate an initialization
+-      procedure if the type is public, to handle properly a client that
+-      specifies Normalize_Scalars.
+-
+-2007-10-15  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * exp_ch9.adb (Actual_Index_Expression): When the expansion occurs
+-      inside a generic body, retrieve the full view of the entry family
+-      discrete subtype if available.
+-
+-2007-10-15  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Do not
+-      attempt to generate stubs for hidden primitive operations.
+-
+-2007-10-15  Vincent Celier  <celier@adacore.com>
+-
+-      * mlib-tgt-specific.adb (Support_For_Libraries): New function,
+-      returning None, used when there is no platform specific body for
+-      MLib.Tgt.Specific.
+-
+-2007-10-15  Bob Duff  <duff@adacore.com>
+-
+-      * sem_case.adb, sem_ch13.adb, lib-sort.adb: Replace use of Heap_Sort_A
+-      (passing'Unrestricted_Access of nested subprograms to Sort) with use of
+-      the generic Heap_Sort_G, in order to avoid trampolines.
+-
+-2007-10-15  Vasiliy Fofanov  <fofanov@adacore.com>
+-          Jose Ruiz  <ruiz@adacore.com>
+-
+-      * vx_stack_info.c: New file.
+-
+-      * i-forbla-unimplemented.ads: New file.
+-
+-      * Makefile.in: i-forbla-unimplemented.ads: a variant of i-forbla.ads
+-      for unsupported configurations; use it on VMS targets instead of the
+-      real one.
+-      (EXTRA_LIBGNAT_SRCS,EXTRA_LIBGNAT_OBJS for VxWorks): Include
+-      vx_stack_info.{c,o} that contains the routine __gnat_get_stack_info
+-      used by VxWorks targets to have access to task-specific data and be
+-      able to extract the stack boundaries for stack checking.
+-      Use system-vms-ia64.ads on ivms.
+-
+-      * Make-lang.in: Update dependencies.
+-
+-      * sysdep.c (__gnat_get_stack_info): Move to a standalone file
+-      (vx_stack_info.c).
+-
+-2007-10-15  Vincent Celier  <celier@adacore.com>
+-
+-      * snames.adb, snames.ads: Add new standard name runtime_library_dir
+-
+-      * prj.ads (Language_Config): Add new component Runtime_Library_Dir
+-
+-      * prj-attr.adb: Add project level attribute Runtime_Library_Dir
+-
+-      * prj-env.adb (Create_Mapping_File): Do not put an entry if the path of
+-      the source is unknown.
+-
+-      * prj-ext.adb: Spelling error fix
+-
+-      * prj-nmsc.adb (Check_Ada_Name): Reject any unit that includes an Ada
+-      95 reserved word in its name.
+-      (Process_Project_Level_Array_Attributes): Process new attribute
+-      Runtime_Library_Dir.
+-
+-      * prj-part.adb (Parse_Single_Project): Do not check the name of the
+-      config project against the user project names.
+-
+-      * prj-proc.adb (Expression): In multi-language mode, indexes that do
+-      not include a dot are always case insensitive.
+-      (Process_Declarative_Items): Ditto
+-      (Process_Project_Tree_Phase_1): Set Success to False in case an error is
+-      detected.
+-
+-      * prj-util.adb (Value_Of (In_Array)): When Force_Lower_Case_Index is
+-      True, compare both indexes in lower case.
+-
+-2007-10-15  Robert Dewar  <dewar@adacore.com>
+-
+-      * rtsfind.adb: (Load_RTU): Turn off style checks for Load call
+-
+-2007-10-15  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * sem_aggr.adb (Resolve_Record_Aggregate): In the case of a box
+-      association for an access component, add an association with null as
+-      the expression. Remove testing for array subtypes and the setting in
+-      that case of Ctyp to the array component type, which prevented proper
+-      inclusion of an association for null-initialized arrays. Collapse
+-      condition that tests for array subtypes into just a test of
+-      Is_Partially_Initialized_Type (which already covers arrays anyway).
+-
+-2007-10-15  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * sem_ch12.adb: Minor code reformatting.
+-      (Check_Generic_Child_Unit): Iterate over the homonym chain in order to
+-      find the parent package which may have been hidden by local
+-      declarations.
+-
+-2007-10-15  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * sem_ch3.adb (Build_Derived_Concurrent_Type): Set the Is_Constrained
+-      flag of derived concurrent types, taking into account the flag setting
+-      on the parent subtype and any new set of discriminants.
+-
+-2007-10-15  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * sem_ch4.adb: Minor code and comment reformatting.
+-      (Analyze_Allocator): When the designated type of an unconstrained
+-      allocator is a record with unknown discriminants or an array with
+-      unknown range bounds, emit a detailed error message depending on the
+-      compilation mode and whether the designated type is limited.
+-
+-2007-10-15  Tristan Gingold  <gingold@adacore.com>
+-
+-      * system-vms-ia64.ads: New file.
+-
+-      * system-vms_64.ads: Minor comment fix.
+-
+-2007-10-15  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch6.adb (Find_Corresponding_Spec): If the previous entity is a
+-      body generated for a function with a controlling result that is a null
+-      extension, discard the generated body in favor of the current explicit
+-      one.
+-
+-2007-10-15  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_disp.adb (Find_Controlling_Arg): Examine the call node before
+-      examining its original form, to handle properly operator calls that
+-      have been rewritten.
+-
+-2007-10-15  Olivier Hainque  <hainque@adacore.com>
+-
+-      * tb-alvms.c (tb_entry_t, __gnat_backtrace): Store a frame pointer
+-      instead of a procedure value in each traceback entry.
+-
+-      * g-trasym-vms-alpha.adb (Symbolic_Traceback): Pass frame pointer
+-      instead of procedure value to TBK$SYMBOLIZE.
+-
+-      * s-traent-vms.adb (PV_For): Rename as FP_For and access the proper
+-      field.
+-      (TB_Entry_For): Account for the PV/FP renaming.
+-
+-      * s-traent-vms.ads (Traceback_Entry): Rename PV component into FP and
+-      add comment.
+-      (Null_TB_Entry): Account for change of component name.
+-      (PV_For): Rename as FP_For.
+-
+-2007-10-15  Tristan Gingold  <gingold@adacore.com>
+-
+-      * trans.c (gnat_to_gnu): Remove the padding structure more often.
+-      This optimize assignment to over-aligned record.
+-
+-2007-10-15  Emmanuel Briot  <briot@adacore.com>
+-
+-      * xref_lib.adb (Get_Full_Type): Add support for the 'h' entity type, ie
+-      interfaces.
+-
+-      * xr_tabls.adb (Add_Reference): Add support for the new 'R' reference
+-      type, for dispatching calls.
+-
+-2007-10-15  Vincent Celier  <celier@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * gnat_ugn.texi: Add documentation for switches --version and --help
+-      for the GNAT tools gnatbind, gnatlink, gnatmake, gnatchop, gnatname,
+-      gnatxref, gnatfind, gnatls, and gnatclean.
+-      Document -gnatw.o.
+-      Mention attribute Excluded_Source_Dirs
+-      Replace obsolescent attribute Locally_Removed_Files with attribute
+-      Excluded_Source_Files.
+-      Improve documentation of -u (gnatbind)
+-      Document how to do reliable stack checking for the environmental task
+-      on iVMS.
+-
+-      * gnat_rm.texi: Rewrite section about No_Implicit_Dynamic_Code.
+-      Document attribute Excluded_Source_Files and indicate that attribute
+-      Locally_Removed_Files is obsolescent.
+-
+-2007-10-15  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-soccon-vms.ads: Fix value of MSG_WAITALL.
+-
+-      * gen-soccon.c:
+-      Update documentation to note that OpenVMS 8.3 or later must be used
+-      to generate g-soccon-vms.ads.
+-
+-      * atree.adb: Add ??? comment
+-
+-      * exp_util.adb: Minor reformatting.
+-      Add ??? comment in Kill_Dead_Code.
+-
+-2007-10-15  Robert Dewar  <dewar@adacore.com>
+-
+-      * errout.ads: Comment clarification
+-
+-      * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
+-      (Expand_N_Op_Eq): Improve handling of array equality with -gnatVa
+-
+-      * lib.ads: Comment update
+-
+-      * init.c: Minor reformatting.
+-
+-      * sem_attr.adb: Minor formatting
+-
+-      * osint-b.ads: Minor reformatting
+-
+-      * sem_ch9.adb: Implement -gnatd.I switch
+-
+-      * g-comlin.adb: (Start): Fix handling of empty command line.
+-
+-      * gnatcmd.adb (GNATCmd): Do not put the -rules in the -cargs section,
+-      even when -rules follows the -cargs section.
+-
+-2007-10-08  Ollie Wild  <aaw@google.com>
+-
+-      * misc.c (LANG_HOOKS_PUSHDECL): Replaced lhd_return_tree with
+-      gnat_return_tree.
+-      (gnat_init_gcc_eh): Replaced gnat_eh_runtime_type with
+-      gnat_return_tree.
+-      (gnat_eh_runtime_type): Removed.
+-      (gnat_return_tree): New function.
+-
+-2007-10-08  Ben Elliston  <bje@au.ibm.com>
+-
+-      PR ada/33454
+-      Revert:
+-      2007-08-31  Ben Elliston  <bje@au.ibm.com>
+-
+-      * Makefile.in (LIBGNAT_TARGET_PAIRS): Use system-linux-ppc64.ads
+-      when compiling for powerpc64-*-linux.
+-      * system-linux-ppc64.ads: New file.
+-
+-2007-09-27  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      Mapped location support
+-      * back_end.adb (Call_Back_End): Pass information about source
+-      files instead of units to gigi.
+-      * gigi.h (struct File_Info_Type): New.
+-      (gigi): Rename and change type of number_units parameter, change
+-      type of file_info_ptr parameter.
+-      * trans.c (number_files): New global variable.
+-      (gigi): Rename and change type of number_units parameter, change
+-      type of file_info_ptr parameter.
+-      If mapped location support is enabled, create the isomorphic mapping
+-      between source files and line maps.
+-      (Sloc_to_locus): If mapped location support is enabled, translate
+-      source location into mapped location.
+-      (annotate_with_node): Rename into set_expr_location_from_node.
+-      Call set_expr_location instead of annotate_with_locus.
+-      (Pragma_to_gnu): Adjust for above change.
+-      (Loop_Statement_to_gnu): Likewise.
+-      (call_to_gnu): Likewise.
+-      (Handled_Sequence_Of_Statements_to_gnu): Likewise.
+-      (gnat_to_gnu): Likewise.
+-      (add_stmt_with_node): Likewise.
+-      (add_cleanup): Likewise.
+-      * utils.c (gnat_init_decl_processing): Do not set input_line.
+-
+-2007-09-26  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * sem_ch8.adb (Analyze_Use_Type): Code cleanup.
+-      (Applicable_Use): Emit a warning when a package tries to use itself.
+-      (Use_One_Type): Add variable Is_Known_Used. Emit a warning when a type
+-      is already in use or the package where it is declared is in use or is
+-      declared in the current package.
+-      (Spec_Reloaded_For_Body): New subsidiary routine for Use_One_Type.
+-
+-      * a-tasatt.adb, s-osprim-vxworks.adb, g-socthi-mingw.adb,
+-      s-intman-vms.adb, g-socket.adb, g-thread.adb, s-tarest.adb,
+-      s-tassta.adb, s-tporft.adb: Remove redundant 'use type' clause.
+-
+-2007-09-26  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * a-calend-vms.adb, a-calend.adb:
+-      Add a section on leap seconds control along with two entities used to
+-      enable and disable leap seconds support. The array Leap_Second_Times is
+-      now constant and contains hard time values pre-generated. Remove
+-      all elaboration code used to populate the table of leap seconds.
+-
+-      * bindgen.adb:
+-      Add entity Leap_Seconds_Support to the list of global run-time variables
+-      along with a comment on its usage and values.
+-      (Gen_Adainit_Ada): Add code to generate the declaration and import of
+-      Integer variable Leap_Seconds_Support. Set its value to zero (disabled)
+-      or one (enabled) depending on the presence of binder switch "-y".
+-      (Gen_Adainit_C): Add code to generate the declaration of external int
+-      __gl_leap_seconds_support. Set is value to zero (disabled) or one
+-      (enabled) depending on the presence of binder switch "-y".
+-
+-      * init.c: Add __gl_leap_seconds_support to the list of global values
+-      computed by the binder.
+-
+-2007-09-26  Jerome Guitton  <guitton@adacore.com>
+-
+-      * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
+-      s-taprop-hpux-dce.adb, s-taprop-linux.adb, s-taprop-dummy.adb,
+-       s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
+-      s-taprop-posix.adb (Stop_Task): New function, dummy implementation.
+-
+-      * s-taprop.ads, s-taprop-vxworks.adb (Stop_Task): New function.
+-
+-      * s-tasdeb.adb (Stop_All_Tasks): New function, implementing a run-time
+-      function which can be called by the debugger to interrupt the tasks of
+-      an Ada application asynchronously, as needed on VxWorks.
+-      (Stop_All_Tasks_Handler): Renamed from Stop_All_Tasks.
+-
+-      * s-tasdeb.ads (Stop_All_Tasks_Handler): New function declaration,
+-      renamed from Stop_All_Tasks. Update comments.
+-      (Stop_All_tasks): New function declaration.
+-
+-2007-09-26  Olivier Hainque  <hainque@adacore.com>
+-
+-      * adaint.c (if defined (__Lynx__)): Wrap #def/#undef VMOS_DEV around
+-      #include <utime.h> and #define GCC_RESOURCE_H before
+-      #include <sys/wait.h>.
+-      Add more protections in __gnat_translate_vms.
+-
+-      * expect.c (if defined (__Lynx__)): #define GCC_RESOURCE_H before
+-      #include <sys/wait.h>.
+-
+-2007-09-26  Thomas Quinot  <quinot@adacore.com>
+-          Sergey Rybin  <rybin@adacore.com>
+-
+-      * gnatvsn.ads (PCS_Version_Number, ASIS_Version_Number): Removed.
+-
+-      * exp_dist.ads (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
+-      where it belongs.
+-
+-      * opt.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.
+-
+-      * rtsfind.adb (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
+-      where it belongs.
+-
+-      * sem_dist.ads: Minor comment fix
+-
+-      * tree_io.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.
+-
+-2007-09-26  Javier Miranda  <miranda@adacore.com>
+-          Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * a-tags.adb:
+-      (Get_HT_Link/Set_HT_Link): Updated to handle the additional level of
+-       indirection added to the HT_Link component of the TSD. This is required
+-       to statically allocate the TSD.
+-
+-      * a-tags.ads:
+-      Minor reordering of the declarations in the private part. Required to
+-      add a level of indirection to the contents of the TSD component HT_Link.
+-      This is required to statically allocate the TSD.
+-
+-      * decl.c (gnat_to_gnu_entity) <object>: Do not exclude objects with
+-      Is_Statically_Allocated set from constant objects.
+-      Do not make exported constants created by the compiler volatile.
+-      (gnat_to_gnu_param): Do not treat an IN parameter whose address is taken
+-      as read-only.
+-
+-      * trans.c (Identifier_to_gnu): For constants, unshare initializers
+-      before returning them.
+-
+-      * exp_disp.ads, exp_disp.adb (Building_Static_DT): Spec moved to the
+-      public part of the package.
+-      (Make_DT): Move HT_Link component out of the TSD record. For this
+-      purpose Make_DT now declares a separate object that stores the
+-      HT_Link value, and initializes the TSD component with the address
+-      of this new object. The addition of this level of indirection is
+-      required to statically allocate the TSD because the TSD cannot
+-      have variable components.
+-      (Expand_Interface_Conversion): Improve the expanded code.
+-      (Expand_Interface_Thunk): Set Is_Thunk in the thunk entity.
+-
+-      * sem_disp.adb (Check_Dispatching_Operation): In case of a body
+-      declaring a primitive operation ---allowed by RM 3.9.2 (13.e/2)---,
+-      if we are building static dispatch tables then we must not generate
+-      extra code to register the primitive because the dispatch table will
+-      be built at the end of the library package; otherwise we notify that
+-      we cannot build the static dispatch table.
+-
+-2007-09-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * checks.adb, gnat1drv.adb, sem_util.ads: Improve warnings for address
+-      overlays.
+-
+-      * sem_ch13.ads, sem_ch13.adb: Improve warnings for address overlays
+-      (Analyze_Record_Representation_Clause): Suppress junk warning for
+-      missing component clause.
+-      (Analyze_Attribute_Definition_Clause, case Address): Apply the special
+-      tests for controlled type overlay to composites with controlled
+-      components.
+-      (Analyze_Record_Representation_Clause): Add reference for component name
+-
+-2007-09-26  Javier Miranda  <miranda@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * einfo.adb (Is_Thunk): New attribute applicable to subprograms. True
+-      for thunks associated with interface types.
+-
+-      * einfo.ads: Improve documentatation of Is_Internal
+-      (Is_Thunk): New attribute applicable to subprograms. True for thunks
+-      associated with interface types.
+-      Extensive comment fixes regarding flags that appear in all entities. The
+-      documentation is now consistent for all such flags (there were a number
+-      of errors in the documentation in this regard).
+-
+-      * exp_attr.adb (Expand_N_Attribute_Reference): Minor code cleanup.
+-
+-      * exp_ch6.adb (Make_Build_In_Place_Call_*): Return immediately if any
+-      of these procedures are passed a function call that already has
+-      build-in-place actuals (testing new flag
+-      Is_Expanded_Build_In_Place_Call). Set the flag on the function call in
+-      the case where processing continues.
+-      (Expand_Call): If the call is generated from a thunk body then we
+-      propagate the extra actuals associated with the accessibility
+-      level of the access type actuals.
+-
+-      * sem_ch6.adb (Analyze_Subprogram_Body): Set the Protected_Formal field
+-      of each extra formal of a protected operation to reference the
+-      corresponding extra formal of the subprogram denoted by the
+-      operation's Protected_Body_Subprogram.
+-
+-      * sinfo.ads, sinfo.adb (Is_Expanded_Build_In_Place_Call): New flag on
+-      N_Function_Call nodes.
+-
+-2007-09-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_ch5.adb: Activate memmove type processing if debug flag d.s is set
+-
+-      * debug.adb: Add d.s flag.
+-
+-2007-09-26  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_dbug.adb (Debug_Renaming_Declaration): Set Is_Internal on the
+-      debug variable so that it won't be initialized when pragma
+-      Initialize_Scalars is in effect.
+-
+-2007-09-26  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * freeze.adb (Freeze_Entity): Remove check for preelaborable
+-      initialization of a full view. This is moved to
+-      Analyze_Package_Specification.
+-
+-      * sem_ch7.adb (Analyze_Package_Specification): Add check for
+-      preelaborable initialization of a full view in entity loop.
+-      (Uninstall_Declarations): If entity is a use-visible compilation unit,
+-      its child units are use-visible only if they are visible child units.
+-
+-      * sem_util.adb (Is_Preelaborable_Expression): New function to determine
+-      whether an expression can be used within a type declaration that
+-      requires preelaborable init.
+-      (Check_Components): Replace inline code that does partial checking for
+-      preelaborable default expressions with call to
+-      Is_Preelaborable_Expression.
+-      (Has_Preelaborable_Initialization): In the case of a generic actual
+-      subtype, (that is, Is_Generic_Actual is True), return the result of
+-      applying Has_Preelaborable_Initialization to the generic actual's base
+-      type.
+-
+-2007-09-26  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * g-calend.adb (Has_53_Weeks): Rename to Last_Year_Has_53_Weeks. Add a
+-      call to Jan_1_Day _Of_Week to optimize its performance.
+-      (Is_Leap): Move the routine to the scope of Week_In_Year.
+-      (Jan_1_Day_Of_Week): New routine in Week_In_Year which calculates the
+-      weekday on which January 1 falls of Year - 1 and Year + 1. This function
+-      avoids calling Time_Of and Split, thus making it more efficent.
+-      (Week_In_Year): Reimplemented in oder to follow ISO 8601.
+-
+-      * g-calend.ads (Week_In_Year): Change comment to reflect new
+-      implementation.
+-
+-2007-09-26  Emmanuel Briot  <briot@adacore.com>
+-
+-      * g-comlin.ads, g-comlin.adb (Command_Line_Configuration,
+-      Command_Line): New types
+-      (Define_Alias, Define_Prefix, Free): New subprograms. These provide
+-      support for defining how switches can be grouped on a command line (as
+-      is the case for -gnatw... for GNAT), and how simple switches can be
+-      used as aliases for more complex switches (-gnatwa is same as
+-      -gnatwbcef...)
+-      (Set_Command_Line, Add_Switch, Remove_Switch): New subprogram
+-      (Start, Current_*): New subprograms
+-      Added support for parsing an array of strings in addition to the real
+-      command line.
+-      (Opt_Parser, Opt_Parser_Data): New type. As a result, some types had to
+-       be moved from the body to the private part of the spec.
+-      (*): All subprograms now have an extra parameter with default value to
+-      specify which parser should be used. For backward compatibility, it
+-      defaults to parsing the command line of the application. They were also
+-      modified to properly handle cases where each of the argument does not
+-      start at index 1 (which is always true for Ada.Command_Line, but not
+-      when processing any Argument_List).
+-      (Free): New subprogram
+-      (Internal_Initialize_Option_Scan, Find_Longuest_Matching_Switch,
+-      Argument): New subprograms
+-      (Switch_Parameter_Type): New enum, which clarifies the code. The extra
+-      special characters like ':', '=',... are now handled in a single place,
+-      which makes the code more extensible eventually.
+-      (Getopt, Full_Switch): When the switch was returned as part of the
+-      special character '*', make sure it is prepended by the switch character
+-      ('-' in general), so that the application knows whether "foo" or "-foo"
+-      was specified on the command line.
+-
+-2007-09-26  Florian Villoing  <villoing@adacore.com>
+-
+-      * g-dirope.adb (Remove_Dir): In case we are removing directories
+-      recursively, make sure that if an exception is raised during the
+-      processing, the current working directory is reset to its initial
+-      value before propagating the exception.
+-
+-2007-09-26  Vincent Celier  <celier@adacore.com>
+-
+-      * gnatbind.adb: If there are several ALI files specified and there is
+-      a main program to bind, the first ALI is expected to contain the main
+-      subprogram and the names of the binder generated files will be derived
+-      from the first ALI file name.
+-      (Gnatbind): Fix insertion character in invocation of Error_Msg
+-
+-2007-09-26  Vincent Celier  <celier@adacore.com>
+-
+-      * gnatcmd.adb (Check_Files): Do not include sources that have been
+-      removed by attributes Exclude_Source_Files or Locally_Removed_Files.
+-
+-2007-09-26  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * lib-xref.ads, lib-xref.adb: The entry for array types now carries
+-      information about each of its index types, following the type
+-      reference for its component type.
+-
+-2007-09-26  Vincent Celier  <celier@adacore.com>
+-
+-      * make.adb: (Kill): New procedure (__gnat_kill imported)
+-      (Running_Compile, Outstanding_Compiles): Global variables that
+-      were previously local to procedure Compile_Sources.
+-      (Sigint_Intercepted): Send signal SIGINT to all outstanding
+-      compilation processes.
+-
+-      (Gnatmake): If project files are used, create the mapping of all the
+-      sources, so that the correct paths will be found.
+-
+-      * prj-env.ads, prj-env.adb (Create_Mapping): New procedure
+-
+-2007-09-26  Vincent Celier  <celier@adacore.com>
+-
+-      * makeutl.ads (Main_Config_Project): Moved to gpr_util.ads
+-
+-      * prj.ads, prj.adb (Default_Language): Remove function, no longer used
+-      Replace components Compiler_Min_Options and Binder_Min_Options with
+-      Compiler_Required_Switches and Binder_Required_Switches in record
+-      Language_Config.
+-      Remove components Default_Language and Config in Project_Tree_Data,
+-      no longer used.
+-
+-      * prj-attr.adb: New attributes Required_Switches (<language>) in
+-      packages Compiler and Binder.
+-
+-      * prj-nmsc.adb: Major rewrite of the processing of configuration
+-      attributes for gprbuild. No impact on GNAT tools.
+-
+-      * prj-proc.ads, prj-proc.adb (Process_Project_Tree_Phase_2): No longer
+-      process configuration attributes: this is done in Prj.Nmsc.Check.
+-      (Recursive_Process): Make a full copy of packages inherited from project
+-      being extended, instead of a shallow copy.
+-      (Process_Project_Tree_Phase_1): New procedure
+-      (Process_Project_Tree_Phase_1): New procedure
+-      (Process): Implementation now uses the two new procedures
+-
+-      * prj-util.adb (Executable_Of): Get the suffix and the default suffix
+-      from the project config, not the tree config that no longer exists.
+-
+-2007-09-26  Vincent Celier  <celier@adacore.com>
+-
+-      * Make-lang.in: Update dependencies..
+-
+-2007-09-26  Vincent Celier  <celier@adacore.com>
+-
+-      * osint.adb, osint.ads: Minor reformatting
+-
+-      * osint-b.adb, osint-b.ads (Set_Current_File_Name_Index): New procedure
+-
+-2007-09-26  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * par-ch4.adb (P_Record_Or_Array_Component_Association): Change Ada 95
+-      message to cite use of <> in aggregate component associations rather
+-      than wrongly indicating use of limited aggregates.
+-
+-2007-09-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_attr.adb (Analyze_Access_Attribute): Fix missing set of
+-      Address_Taken.
+-
+-2007-09-26  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch3.adb (Derive_Subprograms): If the interface parent is a direct
+-      ancestor of the derived type, the operations are inherited from the
+-      primary dispatch table of the parent.
+-      (OK_For_Limited_Init_In_05): Remove old comment. Reject in-place calls
+-      when the context is an explicit type conversion.
+-
+-2007-09-26  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch4.adb (Analyze_Qualified_Expression): Apply name resolution
+-      rule for qualified expressions properly, to detect improper conversions
+-      and resolve some cases of overloading.
+-
+-2007-09-26  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_res.adb (Resolve_Call): If the call is dispatching, generate the
+-      proper kind of reference to the primitive operation, for better source
+-      navigation.
+-      (Valid_Conversion): A tagged conversion is legal if both operands are
+-      tagged.
+-
+-2007-09-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_warn.adb (Check_References): Catch more cases of unreferenced
+-      packages.
+-
+-2007-09-26  Vincent Celier  <celier@adacore.com>
+-
+-      * snames.adb, snames.ads: Change Include_Option to Include_Switches
+-
+-2007-09-26  Robert Dewar  <dewar@adacore.com>
+-
+-      * s-wchstw.adb: provide messages for run time unit exceptions
+-
+-      * a-witeio.adb: Minor reformatting
+-
+-      * exp_ch13.adb: Minor reformatting
+-
+-2007-09-26  Sergey Rybin  <rybin@adacore.com>
+-
+-      * vms_data.ads: Revise gnatmetric qualifiers.
+-      Add qualified for the new gnatbind option '-y'
+-
+-      * gnat_ugn.texi: Revise the gnatmetric section.
+-      Add entry for new gnatbind option '-y'.
+-
+-      * gnat_rm.texi: Minor spelling correction.
+-      Document restriction on overlaying controlled types
+-
+-2007-09-26  Vincent Celier  <celier@adacore.com>
+-
+-      * makegpr.adb (Link_Executables): Do not fail when the root project has
+-      no sources, but is an extending project.
+-
+-2007-09-25  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * trans.c: Fix misplaced #define.
+-
+-2007-09-22  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * utils2.c (build_unary_op) <ADDR_EXPR> [INDIRECT_REF]: Propagate
+-      the TYPE_REF_CAN_ALIAS_ALL flag to the result.
+-
+-2007-09-21  Olivier Hainque  <hainque@adacore.com>
+-
+-      * utils.c (type_for_nonaliased_component_p): Return false for
+-      all AGGREGATE_TYPEs.
+-
+-2007-09-17  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <object>: Make again the type of an
+-      object covered by 13.3(19) volatile.
+-
+-2007-09-12  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      PR ada/26797
+-      PR ada/32407
+-      * utils.c (unchecked_convert): Use a subtype as the intermediate type
+-      in the special VIEW_CONVERT_EXPR case.
+-
+-2007-09-12  Robert Dewar  <dewar@adacore.com>
+-
+-      * types.ads, a-charac.ads, freeze.adb: Minor reformatting.
+-
+-      * a-except.adb, g-hesora.adb, g-speche.adb, lib.adb, lib.ads,
+-      lib-load.adb, lib-writ.adb, s-assert.adb, s-carun8.adb,
+-      s-casuti.adb, s-crc32.adb, s-exctab.adb, s-htable.adb, s-imgenu.adb,
+-      s-mastop.adb, s-memory.adb, s-memory.ads, s-secsta.adb, s-soflin.adb,
+-      s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-stache.adb, s-stalib.adb,
+-      s-stoele.adb, s-strcom.adb, s-strops.adb, s-traceb.adb, s-traent.adb,
+-      s-wchcnv.adb, s-wchcon.adb, s-wchjis.adb, s-addope.adb, s-except.adb,
+-      s-os_lib.adb, s-string.adb, s-utf_32.adb, a-elchha.adb,
+-      a-chlat1.ads, a-elchha.ads, a-except.ads, g-hesora.ads, g-htable.ads,
+-      g-speche.ads, par-prag.adb, restrict.adb, restrict.ads, s-assert.ads,
+-      s-carun8.ads, s-casuti.ads, s-crc32.ads, sem_ch11.adb, sem_prag.adb,
+-      s-exctab.ads, s-htable.ads, s-imgenu.ads, s-mastop.ads, snames.adb,
+-      snames.ads, snames.h, s-purexc.ads, s-secsta.ads, s-soflin.ads,
+-      s-sopco3.ads, s-sopco4.ads, s-sopco5.ads, s-stache.ads, s-stalib.ads,
+-      s-stoele.ads, s-strcom.ads, s-strops.ads, s-traceb.ads, s-traent.ads,
+-      s-unstyp.ads, s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-addope.ads,
+-      s-except.ads, s-os_lib.ads, s-string.ads, s-utf_32.ads: Implement
+-      pragma Compiler_Unit and adds it to relevant library units.
+-
+-2007-09-12  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_aggr.adb (Resolve_Record_Aggregate): An others association with
+-      a box need not correspond to any component.
+-
+-2007-09-12  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-thread.ads: Document use of "with GNAT.Threads" to ensure loading
+-      the tasking version of the Ada run time when foreign threads are
+-      present and there are no explicit Ada tasks or tasking constructs.
+-
+-      * gnat_rm.texi: Clarify documentation of GNAT.Threads.
+-
+-2007-09-12  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * bindusg.adb (Display): Correct comment for switch -X. Add a line for
+-      the usage of switch -y.
+-
+-      * switch-b.adb (Scan_Binder_Switches): Set flag Leap_Seconds_Support
+-      when switch -y is present.
+-
+-      * opt.ads: Add binder flag Leap_Seconds_Support used to enable/disable
+-      leap seconds in Ada.Calendar and its children.
+-
+-2007-09-12  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * a-extiti.ads (Timer): The discriminant is a "not null access
+-      constant" in the Reference Manual.
+-      (Cancel_Handler): Cancelled is an out parameter in the Reference Manual.
+-
+-2007-09-12  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-swuwha.adb: Remove junk RM header
+-
+-2007-09-12  Vincent Celier  <celier@adacore.com>
+-
+-      * g-bytswa-x86.adb (Swap2, Swap4, Swap8): Remove explicit "in" mode
+-      indicator
+-
+-      * g-bytswa.ads: Minor reformatting
+-
+-2007-09-12  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-soccon-solaris-64.ads, g-soccon-hpux-ia64.ads:
+-      Add new constant Thread_Blocking_IO, always True by default, set False
+-      on a per-runtime basis.
+-      (Need_Netdb_Buffer): New constant.
+-
+-2007-09-12  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-dsaser.ads (Get_Local_Partition_Id, Get_Passive_Partition_Id):
+-      Added renames for corresponding functions in System.Partition_Interface.
+-
+-2007-09-12  Doug Rupp  <rupp@adacore.com>
+-
+-      * Makefile.in: Remove VMS specific System.CRTL packages which are no
+-      longer needed.
+-
+-      * s-crtl-vms64.ads: Removed.
+-
+-2007-09-12  Olivier Hainque  <hainque@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: For a subtype
+-      with discriminant constraints, generalize the code for BIT_FIELDs
+-      to PACKED fields of constant size and propagate DECL_PACKED.
+-
+-2007-09-11  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (array_type_has_nonaliased_component): New predicate.
+-      (gnat_to_gnu_field) <E_Array_Type>: Invoke the above predicate to
+-      set the TYPE_NONALIASED_COMPONENT flag on the type.
+-      <E_Array_Subtype>: Likewise.
+-      * gigi.h (type_for_nonaliased_component_p): Declare.
+-      * utils.c (type_for_nonaliased_component_p): New predicate.
+-      (create_field_decl): Invoke the above predicate to set the
+-      DECL_NONADDRESSABLE_P flag on the field.
+-
+-2007-09-11  Javier Miranda  <miranda@adacore.com>
+-
+-      * einfo.ads, einfo.adb (Dispatch_Table_Wrapper): New attribute. Present
+-      in library level record type entities if we are generating statically
+-      allocated dispatch tables.
+-
+-      * exp_disp.adb (Make_Tags/Make_DT): Replace previous code
+-      importing/exporting the _tag declaration by new code
+-      importing/exporting the dispatch table wrapper. This change allows us
+-      to statically allocate of the TSD.
+-      (Make_DT.Export_DT): New procedure.
+-      (Build_Static_DT): New function.
+-      (Has_DT): New function.
+-
+-      * freeze.adb (Freeze_Static_Object): Code cleanup: Do not reset flags
+-      True_Constant and Current_Value. Required to statically
+-      allocate the dispatch tables.
+-      (Check_Allocator): Make function iterative instead of recursive.
+-      Also return inner allocator node, when present, so that we do not have
+-      to look for that node again in the caller.
+-
+-2007-09-11  Jan Hubicka  <jh@suse.cz>
+-
+-      * misc.c (gnat_expand_body): Kill.
+-      (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
+-
+-2007-09-10  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_atag.ads, exp_atag.adb, mlib-tgt-tru64.adb, mlib-tgt-aix.adb,
+-      mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
+-      mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
+-      mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, ali.adb, ali.ads,
+-      ali-util.adb, ali-util.ads, atree.h, back_end.adb, back_end.ads,
+-      bcheck.adb, bcheck.ads, binde.adb, binde.ads, binderr.adb, binderr.ads,
+-      bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads, butil.adb,
+-      butil.ads, checks.adb, checks.ads, clean.adb, clean.ads, comperr.adb,
+-      comperr.ads, cstand.adb, cstand.ads, debug_a.adb, debug_a.ads,
+-      elists.h, errout.adb, erroutc.ads, errutil.adb, errutil.ads,
+-      err_vars.ads, eval_fat.adb, eval_fat.ads, exp_sel.ads, exp_sel.adb,
+-      exp_aggr.adb, exp_aggr.ads, expander.adb, expander.ads, exp_attr.ads,
+-      exp_ch10.ads, exp_ch11.adb, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb,
+-      exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.ads, exp_ch4.adb,
+-      exp_ch4.ads, exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
+-      exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads, exp_ch9.adb,
+-      exp_ch9.ads, exp_code.adb, exp_code.ads, exp_dbug.adb, exp_dbug.ads,
+-      exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
+-      exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads, exp_pakd.adb,
+-      exp_pakd.ads, exp_prag.adb, exp_prag.ads, exp_smem.adb, exp_strm.adb,
+-      exp_strm.ads, exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
+-      exp_vfpt.adb, exp_vfpt.ads, fmap.adb, fmap.ads, fname-sf.adb,
+-      fname-sf.ads, fname-uf.adb, fname-uf.ads, frontend.adb, frontend.ads,
+-      get_targ.adb, get_targ.ads, gnat1drv.adb, gnat1drv.ads, gnatbind.adb,
+-      gnatbind.ads, gnatbl.c, gnatchop.adb, gnatclean.adb, gnatcmd.adb,
+-      gnatcmd.ads, gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
+-      gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb, gnatls.ads,
+-      gnatmake.adb, gnatmake.ads, gnatmem.adb, gnatname.adb, gnatname.ads,
+-      gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb,
+-      gprep.adb, gprep.ads, hlo.adb, hlo.ads, impunit.adb, impunit.ads,
+-      inline.adb, inline.ads, itypes.adb, itypes.ads, layout.adb, layout.ads,
+-      lib-load.adb, lib-load.ads, lib-util.adb, lib-util.ads, lib-writ.adb,
+-      lib-writ.ads, lib-xref.adb, lib-xref.ads, live.adb, live.ads,
+-      make.adb, make.ads, makeutl.ads, makeutl.adb, makeusg.adb, makeusg.ads,
+-      mdll.adb, mdll.ads, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
+-      mdll-utl.ads, memroot.adb, memroot.ads, mlib.adb, mlib.ads,
+-      mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
+-      mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, namet.h, nmake.adt,
+-      osint.adb, osint.ads, osint-b.adb, osint-b.ads, osint-c.adb,
+-      osint-c.ads, osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads,
+-      par.adb, par.ads, par-ch10.adb, par-ch11.adb, par-ch12.adb,
+-      par-ch13.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
+-      par-ch6.adb, par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
+-      par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb, par-tchk.adb,
+-      par-util.adb, prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
+-      prj.adb, prj.ads, prj-attr.adb, prj-attr.ads, prj-com.ads,
+-      prj-dect.adb, prj-dect.ads, prj-err.adb, prj-err.ads, prj-ext.adb,
+-      prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
+-      prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
+-      prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
+-      prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
+-      prj-util.adb, prj-util.ads, restrict.adb, restrict.ads,
+-      rtsfind.adb, rtsfind.ads, scn.adb, scn.ads,
+-      scng.adb, scng.ads, sdefault.ads, sem.ads, sem_aggr.ads, sem_attr.adb,
+-      sem_case.adb, sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
+-      sem_ch10.ads, sem_ch11.adb, sem_ch11.ads, sem_ch12.ads, sem_ch13.adb,
+-      sem_ch13.ads, sem_ch2.adb, sem_ch2.ads, sem_ch3.adb, sem_ch3.ads,
+-      sem_ch4.ads, sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
+-      sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb,
+-      sem_ch9.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb, sem_dist.ads,
+-      sem_elab.adb, sem_elab.ads, sem_elim.adb, sem_elim.ads, sem_eval.adb,
+-      sem_eval.ads, sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
+-      sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads, sem_res.adb,
+-      sem_res.ads, sem_smem.adb, sem_smem.ads, sem_type.adb, sem_type.ads,
+-      sem_util.adb, sem_util.ads, sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb,
+-      sem_warn.ads, sfn_scan.ads, sinfo-cn.adb, sinfo-cn.ads, sinput-c.adb,
+-      sinput-c.ads, sinput-d.adb, sinput-d.ads, sinput-l.adb, sinput-l.ads,
+-      sinput-p.adb, sinput-p.ads, snames.h, sprint.adb, sprint.ads,
+-      stringt.h, style.ads, styleg.adb, styleg.ads, styleg-c.adb,
+-      styleg-c.ads, stylesw.adb, stylesw.ads, switch.adb, switch.ads,
+-      switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
+-      switch-m.ads, symbols.adb, symbols.ads, targparm.adb, tbuild.adb,
+-      tbuild.ads, tempdir.adb, tempdir.ads, tree_gen.adb, tree_gen.ads,
+-      treepr.adb, treepr.ads, treeprs.adt, ttypef.ads, ttypes.ads,
+-      types.h, uintp.h, urealp.h, usage.adb, usage.ads,
+-      validsw.adb, validsw.ads, vxaddr2line.adb, xeinfo.adb, xnmake.adb,
+-      xref_lib.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads, xsinfo.adb,
+-      xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb, xgnatugn.adb,
+-      gprmake.adb, makegpr.ads, makegpr.adb, prj-attr-pm.ads, prj-attr-pm.adb,
+-      mlib-tgt-lynxos.adb, mlib-tgt-darwin.adb, symbols-vms.adb,
+-      symbols-processing-vms-alpha.adb, symbols-processing-vms-ia64.adb,
+-      mlib-tgt-specific.adb, mlib-tgt-specific.ads, mlib-tgt-vms.adb,
+-      mlib-tgt-vms.ads: Replace headers with GPL v3 headers.
+-
+-2007-09-10  Emmanuel Briot  <briot@adacore.com>
+-
+-      * s-regpat.adb (Parse_Character_Class): Fix handling of empty character
+-      classes ("[]").
+-
+-2007-09-10  Vasiliy Fofanov  <fofanov@adacore.com>
+-
+-      * adaint.c (__gnat_translate_vms): new function.
+-
+-2007-09-10  Gary Dismukes  <dismukes@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_ch3.adb (Predef_Spec_Or_Body): When the type is abstract, only
+-      create an abstract subprogram in the case of 'Input. For 'Output we now
+-      create a real spec/body when the type is abstract, since it can
+-      potentially be called.
+-      (Predefined_Primitive_Bodies): Now allow the creation of a predefined
+-      body for 'Output when the type is abstract (only the creation of the
+-      body for 'Input is excluded when the type is abstract).
+-      (Stream_Operation_OK): Add an additional condition in the return
+-      statement, so that False will be returned for TTS_Stream_Input if the
+-      associated tagged type is an abstract extension. Add comments for
+-      return statement.
+-      (Expand_N_Object_Declaration): For the case of a shared passive
+-      variable, insert init proc call only after the shared variable
+-      procedures have been processed, because the IP call needs to undergo
+-      shared passive variable reference expansion, which requires these
+-      procedures to be available (and elaborated).
+-
+-2007-09-10  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-env.ads, prj-env.adb (Create_Mapping_File (Language)): Remove
+-      parameter Runtime_Project.
+-
+-2007-09-10  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_aggr.adb (Build_Record_Aggr_Code): If an aggregate component is
+-      given a box association, the type of the component is discriminated,
+-      and the value of the discriminant is the discriminant of the enclosing
+-      type, retrieve its value from the aggregate itself, where it must have
+-      been supplied.
+-
+-      * sem_ch4.adb (Analyze_One_Call): Further refinement to previous fix,
+-      to remove other spurious ambiguities on arithmetic operations involving
+-      literals and addresses, on systems where Address is a visible integer
+-      type, when the operator is called in functional notation.
+-      (Try_Primitive_Operation): Within an instance, a call in prefixed form
+-      is legal when the types match, even if the operation is currently
+-      hidden.
+-
+-2007-09-10  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch12.adb (Build_Local_Package): A formal package with no
+-      associations is legal if all formals have defaults. It is not
+-      equivalent to a formal declared with a box.
+-
+-2007-09-10  Sergey Rybin  <rybin@adacore.com>
+-
+-      * vms_data.ads: Add qualifier for the new gnatmetric '-lratio' option
+-
+-2007-09-10  Sergey Rybin  <rybin@adacore.com>
+-
+-      * gnat_ugn.texi: Add description of the new '-lratio' option
+-      Update 7.3.1 section about availability of the feature.
+-
+-2007-09-10  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_smem.ads, exp_smem.adb (Make_Shared_Var_Procs): Return last
+-      inserted node.
+-
+-2007-09-10  Olivier Hainque  <hainque@adacore.com>
+-
+-      * Makefile.in: (mips-irix section): Activate build of libgmem.
+-
+-2007-09-10  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * a-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber
+-      x87 registers.
+-
+-2007-09-10  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <object>: Deal with variable built for
+-      a debug renaming declaration specially.
+-
+-2007-09-08  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <Object>: Simplify the condition under
+-      which a constant renaming is treated as a normal object declaration.
+-      * trans.c (lvalue_required_p) <N_Slice>: New case, extracted from
+-      the N_Indexed_Component case.
+-      <N_Indexed_Component>: Fall through to above case.
+-      <N_Object_Renaming_Declaration>: Return true for all composite types.
+-
+-2007-09-08  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (make_packable_type): If the new type has been given BLKmode,
+-      try again to get an integral mode for it.
+-
+-2007-09-07  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      Re-apply accidentally reverted change:
+-
+-      2007-02-07  Andreas Krebbel  <krebbel1@de.ibm.com>
+-
+-      * raise-gcc.c (get_region_description_for, get_call_site_action_for,
+-      get_action_description_for): Replace _Unwind_Word with _uleb128_t
+-      and _Unwind_SWord with _sleb128_t.
+-
+-2007-09-06  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * trans.c (convert_with_check): Update call to real_2expN.
+-
+-2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>
+-
+-      * trans.c (Compilation_unit_to_gnu): Use set_cfun.
+-      * utils.c (end_subprog_body): Likewise.
+-
+-2007-09-03  Nick Clifton  <nickc@redhat.com>
+-
+-      * Make-lang.in: Change copyright header to refer to version 3 of
+-      the GNU General Public License and to point readers at the
+-      COPYING3 file and the FSF's license web page.
+-      * ada-tree.def, nmake.adt, nlists.h, snames.h, utils.c,
+-      Makefile.rtl, Makefile.in, config-lang.in, uintp.h, urealp.h,
+-      namet.h, decl.c, utils2.c, lang.opt, elists.h, atree.h, types.h,
+-      treeprs.adt, lang-specs.h, cuintp.c, stringt.h, gnatbl.c:
+-      Likewise.
+-
+-2007-08-31  Vincent Celier  <celier@adacore.com>
+-
+-      PR ada/4720
+-
+-      * gnatchop.adb, gnatfind.adb, gnatlink.adb, gnatls.adb,
+-      gnatname.adb, gnatxref.adb, gprep.adb, clean.adb gnatbind.adb
+-      (Check_Version_And_Help): New procedure in package Switch to process
+-      switches --version and --help.
+-      Use Check_Version_And_Help in GNAT tools
+-
+-      * make.adb:  Ditto.
+-      (Compile_Sources): Make sure that sources that are "excluded" are not
+-      compiled.
+-      (Gnatmake): Do not issue -aO. to gnatbind and only issue -I- if a
+-      project file is used.
+-      (Version_Switch): Remove, moved to Switch
+-      (Help_Switch): Remove, moved to Switch
+-      (Display_Version): Remove, moved to Switch
+-
+-      * switch.ads, switch.adb (Check_Version_And_Help): New procedure in
+-      package Switch to process switches --version and --help.
+-      (Display_Version): New procedure
+-
+-      * gnatvsn.ads, gnatvsn.adb (Copyright_Holder): New function.
+-
+-2007-08-31  Javier Miranda  <miranda@adacore.com>
+-
+-      * a-tags.adb (Internal_Tag): Protect the run-time against wrong
+-      internal tags.
+-
+-2007-08-31  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New routine.
+-      (Mark_Non_Null): If the node for which we just generated an access check
+-      is a reference to an *in* parameter and the reference appears in the
+-      declarative part of a subprogram body, mark the node as known non null.
+-
+-2007-08-31  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * einfo.ads, einfo.adb: New flag Is_Raised (Flag224). Update the
+-      structure of E_Exception to reflect the new flag.
+-      (Is_Raised, Set_Is_Raised): New inlined routines.
+-      Update the usage of available flag to reflect the addition of Is_Raised.
+-      (Is_Raised, Set_Is_Raised): Bodies of new routines.
+-      (Write_Entity_Flags): Write the status of flag Is_Raised.
+-      (Is_Descendent_Of_Address): New entity flag, to simplify handling of
+-      spurious ambiguities when integer literals appear in the context of an
+-      address type that is a visible integer type.
+-
+-      * sem_ch11.adb (Analyze_Exception_Handler): Add code to warn on local
+-      exceptions never being raised.
+-      (Analyze_Raise_Statement): When analyzing an exception, mark it as being
+-      explicitly raised.
+-
+-2007-08-31  Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_ch11.adb (Expand_At_End_Handler): Avoid generation of raise
+-      statement when compiling under restriction No_Exceptions_Proparation.
+-
+-2007-08-31  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch3.adb (Build_Record_Init_Proc): If there is a static
+-      initialization aggregate for the type, generate itype references for
+-      thetypes of its (sub)components, to prevent out-of-scope errors in gigi.
+-
+-2007-08-31  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_ch8.adb (Expand_N_Package_Renaming_Declaration): In the case of a
+-      library-level package renaming, pass the declaration associated with
+-      the renaming's special debug variable to Qualify_Entity_Names to ensure
+-      that its encoded name is properly qualified.
+-
+-      * exp_dbug.adb (Qualify_All_Entity_Names): Check for a variable entity
+-      occurring in the list of entities to qualify, and do not attempt to
+-      traverse an entity list in that case. Variables associated with
+-`     library-level package renamings can now occur in the table.
+-
+-      * exp_dbug.ads: Revise documentation of the encoding for renaming
+-      declarations.
+-
+-2007-08-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * layout.adb (Layout_Type): Use Underlying_Type to determine whether an
+-      access type points to an unconstrained array.
+-
+-2007-08-31  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * restrict.adb, namet.adb, par-util.adb: Remove redundant type
+-      conversion.
+-
+-      * sem_res.adb (Resolve_Qualified_Expression): Add machinery to detect
+-      simple redundant qualifications. The check is performed whenever the
+-      expression is a non-overloaded identifier.
+-      (Resolve_Type_Conversion): Enchance the redundant type conversion check
+-      to include loop parameters.
+-      (Valid_Conversion): Avoid generation of spurious error message.
+-
+-2007-08-31  Bob Duff  <duff@adacore.com>
+-
+-      * par-ch4.adb (P_Simple_Expression): Fold long sequences of
+-      concatenations of string literals into a single literal, in order to
+-      avoid very deep recursion in the front end, which was causing stack
+-      overflow.
+-
+-      * sem_eval.adb (Eval_Concatenation): If the left operand is the empty
+-      string, and the right operand is a string literal (the case of "" &
+-      "..."), optimize by avoiding copying the right operand -- just use the
+-      value of the right operand directly.
+-
+-      * stringt.adb (Store_String_Chars): Optimize by growing the
+-      String_Chars table all at once, rather than appending characters one by
+-      one.
+-      (Write_String_Table_Entry): If the string to be printed is very long,
+-      just print the first few characters, followed by the length. Otherwise,
+-      doing "pn(n)" in the debugger can take an extremely long time.
+-
+-      * sem_prag.adb (Process_Interface_Name): Replace loop doing
+-      Store_String_Char with Store_String_Chars.
+-
+-2007-08-31  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-attr.adb: Add new attribute Excluded_Source_Files
+-
+-      * prj-nmsc.adb: Use attribute Excluded_Source_Files before
+-      Locally_Removed_Files.
+-
+-      * snames.ads, snames.adb: New standard name Excluded_Source_Files
+-
+-2007-08-31  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch10.adb (Analyze_Subunit_Context): When analyzing context
+-      clauses of subunits, ignore limited_with_clauses that are illegal and
+-      have not been fully analyzed.
+-
+-2007-08-31  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch3.adb: The predicate Is_Descendent_Of_Address is now an entity
+-      flag, for effiency. It is called when analyzing arithmetic operators
+-      and also for actuals in calls that are universal_integers. The flag is
+-      set for the predefined type address, and for any type or subtype
+-      derived from it.
+-
+-      * sem_ch4.adb (Analyze_One_Call): Reject an actual that is a
+-      Universal_Integer, when the formal is a descendent of address and the
+-      call appears in user code.
+-      (Analyze_Selected_Component): if the prefix is a private extension, the
+-      tag component is visible.
+-
+-      * sem_util.ads, sem_util.adb: Remove Is_Descendent_Of_Address, now an
+-      entity flag.
+-
+-2007-08-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * s-fileio.adb (Open): Normalize file name to lower case in non-case
+-      sensitive file name systems to avoid unexpected mismatch in Vista.
+-
+-2007-08-31  Vincent Celier  <celier@adacore.com>
+-
+-      * tempdir.adb: On VMS, take into account GNUTMPDIR before TMPDIR
+-
+-2007-08-31  Vincent Celier  <celier@adacore.com>
+-
+-      * symbols-vms.adb (Initialize): Read symbol files with continuation
+-      lines
+-      (Finalize): If symbol is long, split the line
+-
+-2007-08-31  Vincent Celier  <celier@adacore.com>
+-
+-      * fmap.ads: Minor comment updates
+-
+-2007-08-31  GNAT Script  <nobody@adacore.com>
+-
+-      * Make-lang.in: Makefile automatically updated
+-
+-2007-08-31  Bob Duff  <duff@adacore.com>
+-
+-      * sinfo.ads: Minor comment fix.
+-
+-2007-08-31  Thomas Quinot  <quinot@adacore.com>
+-
+-      * stand.ads: (Standard_Debug_Renaming_Type): Make comment consistent
+-      with implementation.
+-      Documentation cleanup only.
+-
+-2007-08-31  Sergey Rybin  <rybin@adacore.com>
+-
+-      * vms_data.ads: Add new qualifier /STMT_NAME_ON_NEW_LINE for the new
+-      gnatpp '--separate-stmt-name' option.
+-      Add new qualifier /USE_ON_NEW_LIN for the new gnatpp '--use-on-new-line'
+-      option.
+-
+-      * gnat_ugn.texi: Add description for the new gnatpp
+-      '--separate-stmt-name' and '--use-on-new-line' options.
+-
+-2007-08-31  Ben Elliston  <bje@au.ibm.com>
+-
+-      * Makefile.in (LIBGNAT_TARGET_PAIRS): Use system-linux-ppc64.ads
+-      when compiling for powerpc64-*-linux.
+-      * system-linux-ppc64.ads: New file.
+-
+-2007-08-22  Krister Walfridsson  <cato@df.lth.se>
+-
+-      * env.c ( __gnat_clearenv): Use the __gnat_unsetenv mechanism for
+-      NetBSD.
+-
+-2007-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+-
+-      * misc.c (gnat_type_max_size): Constify.
+-
+-2007-08-16  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * cstand.adb (Create_Standard): Create an entity for a zero-sized type
+-      associated with Standard_Debug_Renaming_Type, to be used as the type of
+-      the special variables whose names provide debugger encodings for
+-      renaming declarations.
+-
+-      * einfo.ads, einfo.adb (Debug_Renaming_Link): Change to return Node25.
+-      (Set_Debug_Renaming_Link): Change to set Node25.
+-      (Write_Field13_Name): Remove case for E_Enumeration_Literal.
+-      (Write_Field25_Name): Add case for E_Variable to output
+-      "Debug_Renaming_Link".
+-      (Write_Field23_Name): Correct the output string for "Limited_View".
+-
+-      * exp_dbug.adb: Add with and use of Tbuild.
+-      (Debug_Renaming_Declaration): Replace creation of an enumeration type
+-      and literal with creation of a variable of type
+-      Standard_Debug_Renaming_Type whose name encodes both the renamed object
+-      and the entity of the renaming declaration.
+-      (Qualify_Entity_Name): Add the delayed qualification of the entity name
+-      part of the name of a variable that has a Debug_Renaming_Link.
+-
+-      * stand.ads (Standard_Debug_Renaming_Type): New Entity_Id denoting a
+-      special type to be associated with variables that provide debugger
+-      encodings for renaming declarations.
+-
+-2007-08-16  Gary Dismukes  <dismukes@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_aggr.adb (Build_Record_Aggr_Code): Extend the test for an
+-      ancestor part given by an aggregate to test for an unchecked conversion,
+-      since this can occur in some cases when the ancestor part is a function
+-      call, and we don't want to fall into the recursive call to this
+-      procedure in that case.
+-
+-      * exp_ch3.adb (Stream_Operation_OK): Revise tests for availability of
+-      stream attributes on limited types to account for user-specified
+-      attributes as well as whether Input (resp. Output) becomes available
+-      due to Read (resp. Write) being available for the type. Change Boolean
+-      variable to the more accurate name
+-      Has_Predefined_Or_Specified_Stream_Attribute. Change convoluted
+-      double-"not" predicate at beginning of return statement to more
+-      understandable form.
+-
+-      * exp_ch5.adb (Expand_N_Extended_Return_Statement): If the extended
+-      return has an associated N_Handled_Sequence_Of_Statements, then wrap it
+-      in a block statement and use that as the first statement of the
+-      expanded return rather than incorrectly using the handled sequence as
+-      the first statement.
+-
+-      * exp_ch6.adb (Expand_N_Subprogram_Declaration): If this is a protected
+-      operation, generate an explicit freeze node for it rather than
+-      generating extra formals, to ensure that gigi has the proper order of
+-      elaboration for anonymous subtypes in the signature of the subprograms.
+-      (Build_In_Place_Formal): Move assertion to beginning of loop.
+-      (Is_Build_In_Place_Function_Call): Allow for an unchecked conversion
+-      applied to a function call (occurs for some cases of 'Input).
+-      (Make_Build_In_Place_Call_In_*): Allow for an unchecked conversion
+-      applied to a function call (occurs for some cases of 'Input).
+-
+-      * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For Ada
+-      2005, generate an extended return statement enclosing the result object
+-      and 'Read call.
+-
+-      * freeze.adb (Freeze_Record_Type): Extend the current management of
+-      components that are access type with an allocator as default value: add
+-      missing support to the use of qualified expressions of the
+-      allocator (which also cause freezing of the designated type!)
+-      (Freeze_Entity): Call Freeze_Subprogram in the case of a predefined
+-      dispatching operation, since extra formals may be needed by calls to
+-      build-in-place functions (such as stream 'Input).
+-
+-      * sem_ch6.adb (Create_Extra_Formals): Skip creation of the extra
+-      formals for 'Constrained and accessibility level in the case of a
+-      predefined dispatching operation.
+-
+-      * exp_util.adb (Insert_Actions): A protected body is a valid insertion
+-      point, no need to find the parent node.
+-
+-2007-08-16  Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_attr.adb (Attribute_Priority): Add missing support for entries
+-      and entry barriers.
+-
+-2007-08-16  Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_ch9.adb (Build_Protected_Entry): Undo previous change because it
+-      is not really required and can introduce regression with the debugger.
+-      The original problem is fixed with the patch written for checks.adb.
+-
+-2007-08-16  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-dyntab.adb, g-table.adb, table.adb: (Set_Item): Suppress
+-      Range_Check on Allocated_Table.
+-
+-2007-08-16  Vincent Celier  <celier@adacore.com>
+-
+-      * make.adb (Collect_Arguments): Call Test_If_Relative_Path with
+-      Including_Non_Switch set to False.
+-      (Gnatmake): For the compiler, call Test_If_Relative_Path with
+-      Including_Non_Switch set to False.
+-
+-      * makeutl.adb, makeutl.ads (Test_If_Relative_Path): New Boolean
+-      parameter Including_Non_Switch, defaulted to True. When
+-      Including_Non_Switch is False, options that are not switches and
+-      appear as relative path are not converted to absolute paths.
+-
+-2007-08-16  Nicolas Roche  <roche@adacore.com>
+-
+-      * Makefile.in (gnatlib): Propagate FORCE_DEBUG_ADAFLAGS value to sub
+-      makefiles
+-
+-      * Make-lang.in: Update dependencies
+-
+-2007-08-16  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * sem_ch10.adb (Has_With_Clause): If the name of the with clause
+-      currently inspected is a selected component, retrieve the entity of
+-      its selector.
+-      (Install_Limited_Withed_Unit): Call Has_Limited_With_Clause starting
+-      from the immediate ancestor of Main_Unit_Entity.
+-      (Install_Limited_Withed_Unit): Do not install the limited view of
+-      package P if P is reachable through an ancestor chain from package C
+-      and C also has a with clause for P in its body.
+-      (Has_Limited_With_Clause): New routine.
+-      (Has_With_Clause): New routine.
+-
+-2007-08-16  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch12.adb (Copy_Generic_Node): A reference to a child unit of the
+-      generic for an enclosing instance is a global reference, even though
+-      its scope is the enclosing instance.
+-
+-2007-08-16  Gary Dismukes  <dismukes@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_ch3.adb (OK_For_Limited_Init_In_05): Allow calls to 'Input to
+-      initialize a limited object.
+-      (Build_Derived_Record_Type): Add missing check of rules ARM 3.9.4
+-      13/2 and 14/2.
+-      Make sure Has_Complex_Representation is inherited by derived type.
+-
+-2007-08-16  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_ch5.adb (Analyze_Assignment): Make sure we still note update in
+-      exception case
+-
+-2007-08-16  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_disp.adb (Check_Dispatching_Operation): If the operation
+-      implements an operation inherited from a progenitor interface, verify
+-      that they are subtype-conformant.
+-
+-2007-08-16  Hristian Kirtchev  <kirtchev@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-          Nicolas Setton  <setton@adacore.com>
+-
+-      * sem_res.adb (Comes_From_Predefined_Lib_Unit): New.
+-      (Resolve): Alphabetize local variables. Add new variable From_Lib. When
+-      the statement which is being resolved comes from a predefined library
+-      unit, all non-predefined library interpretations are skipped.
+-      (Resolve_Op_Concat): If string concatenation was folded in the parser,
+-      but the "&" is user defined, give an error, because the folding would
+-      be wrong.
+-
+-      * sinfo.ads, sinfo.adb (Is_Folded_In_Parser): New flag to indicate that
+-      the parser has folded a long sequence of concatenations of string
+-      literals.
+-
+-      * trans.c (Handled_Sequence_Of_Statements_to_gnu): Mark "JMPBUF_SAVE"
+-      and "JMP_BUF" variables as artificial.
+-      (N_String_Literal): Do not use alloca for very long string literals. Use
+-      xmalloc/free instead. Otherwise the stack might overflow.
+-
+-      * utils.c (init_gigi_decls): Mark "JMPBUF_T" type as created by the
+-      compiler.
+-
+-2007-08-16  Vincent Celier  <celier@adacore.com>
+-
+-      * vms_conv.adb (Process_Argument): Ensure that project related options
+-      are not put in the -cargs section when using GNAT COMPILE.
+-
+-2007-08-16  Robert Dewar  <dewar@adacore.com>
+-
+-      * gnat_ugn.texi: Add note on preprocessing (output file not written)
+-
+-2007-08-16  Thomas Quinot  <quinot@adacore.com>
+-
+-      * a-tags.adb: Minor reformatting.
+-
+-2007-08-16  Bob Duff  <duff@adacore.com>
+-
+-      * sem_type.ads, sem_ch4.adb: Minor reformatting.
+-
+-2007-08-14  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-soccon-interix.ads, a-excpol-interix.adb, a-intnam-interix.ads,
+-      s-osinte-interix.ads, system-interix.ads: Removed.
+-
+-2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * a-calend-vms.adb, a-calend.adb ("+", "-", Add, Subtract): Remove
+-      calls to Check_Within_Time_Bounds.
+-      ("+", "-", Add, Subtract): Remove calls to Check_Within_Time_Bounds.
+-      (Difference): Account for possible rounding of the resulting difference
+-
+-2007-08-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * uintp.adb, a-ztedit.adb, s-wchcon.adb, xnmake.adb, s-wchcon.adb,
+-      par-ch5.adb, par-ch10.adb, get_targ.adb, a-wtedit.adb, a-teioed.adb,
+-      s-osinte-solaris.adb, s-osinte-solaris.ads,
+-      s-osinte-freebsd.ads, s-osinte-freebsd.adb: Minor reformatting.
+-
+-      * styleg.adb, styleg.ads, stylesw.adb, stylesw.ads: implement style
+-      switch -gnatyS. Enable -gnatyS in GNAT style check mode
+-
+-2007-08-14  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * inline.adb, types.ads, inline.ads, frontend.adb, alloc.ads:
+-      Suppress unmodified in-out parameter warning in some cases
+-      This patch is a also fairly significant change to the way suppressible
+-      checks are handled.
+-
+-      * checks.ads, checks.adb (Install_Null_Excluding_Check): No check
+-      needed for access to concurrent record types generated by the expander.
+-      (Generate_Range_Check): When generating a temporary to capture the
+-      value of a conversion that requires a range check, set the type of the
+-      temporary before rewriting the node, so that the type is always
+-      properly placed for back-end use.
+-      (Apply_Float_Conversion_Check): Handle case where the conversion is
+-      truncating.
+-      (Get_Discriminal): Code reformatting. Climb the scope stack looking
+-      for a protected type in order to examine its discriminants.
+-
+-2007-08-14  Robert Dewar  <dewar@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-
+-      * a-stzsup.adb, nlists.adb, lib-util.adb, treepr.adb,
+-      a-stwisu.adb, a-strsup.adb: Fix warnings for range
+-      tests optimized out.
+-
+-      * exp_ch4.adb (Expand_N_In): Add warnings for range tests optimized out.
+-      (Get_Allocator_Final_List): For the case of an anonymous access type
+-      that has a specified Associated_Final_Chain, do not go up to the
+-      enclosing scope.
+-      (Expand_N_Type_Conversion): Test for the case of renamings of access
+-      parameters when deciding whether to apply a run-time accessibility
+-      check.
+-      (Convert_Aggr_In_Allocator): Use Insert_Actions to place expanded
+-      aggregate code before allocator, and ahead of declaration for
+-      temporary, to prevent access before elaboration when the allocator is
+-      an actual for an access parameter.
+-      (Expand_N_Type_Conversion): On an access type conversion involving an
+-      access parameter, do not apply an accessibility check when the
+-      operand's original node was an attribute other than 'Access. We now
+-      create access conversions for the expansion of 'Unchecked_Access and
+-      'Unrestricted_Access in certain cases and clearly accessibility should
+-      not be checked for those.
+-
+-      * exp_ch6.ads, exp_ch6.adb (Add_Call_By_Copy_Code): For an actual that
+-      includes a type conversion of a packed component that has been expanded,
+-      recover the original expression for the object, and use this expression
+-      in the post-call assignment statement, so that the assignment is made
+-      to the object and not to a back-end temporary.
+-      (Freeze_Subprogram): In case of primitives of tagged types not defined
+-      at the library level force generation of code to register the primitive
+-      in the dispatch table. In addition some code reorganization has been
+-      done to leave the implementation clear.
+-      (Expand_Call): When expanding an inherited implicit conversion,
+-      preserve the type of the inherited function after the intrinsic
+-      operation has been expanded.
+-
+-      * exp_ch2.ads, exp_ch2.adb
+-      (Expand_Entry_Parameter.In_Assignment_Context): An implicit dereference
+-      of an entry formal appearing in an assignment statement does not assign
+-      to the formal.
+-      (Expand_Current_Value): Instead of calling a routine to determine
+-      whether the prefix of an attribute reference should be optimized or
+-      not, prevent the optimization of such prefixes all together.
+-
+-      * lib-xref.adb (Generate_Reference.Is_On_LHS): An indexed or selected
+-      component whose prefix is known to be of an access type is an implicit
+-      dereference and does not assign to the prefix.
+-
+-2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * atree.ads, atree.adb (New_Copy_Tree): If hash table is being used and
+-      itype is visited, make an entry into table to link associated node and
+-      new itype.
+-      Add comments and correct harmless error in Build_NCT_Hash_Tables
+-      (Array_Aggr_Subtype): Associate each itype created for an index type to
+-      the corresponding range construct, and not to the aggregate itself. to
+-      maintain a one-to-one correspondence between itype and its associated
+-      node, to prevent errors when complex expression is copied.
+-      Fix mishandling of multiple levels of parens
+-
+-      * sem_aggr.adb: Create a limited view of an incomplete type, to make
+-      treatment of limited views uniform for all visible declarations in a
+-      limited_withed package.
+-      (New_Copy_Tree): If hash table is being used and itype is visited,
+-      make an entry into table to link associated node and new itype.
+-      (Resolve_Record_Aggregate): Do not add an others box association for a
+-      discriminated record component that has only discriminants, when there
+-      is a box association for the component itself.
+-
+-      * par-ch4.adb: Fix mishandling of multiple levels of parens
+-
+-2007-08-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * comperr.adb: Fix problem with suppressing warning messages from gigi
+-
+-      * erroutc.ads, erroutc.adb, errout.ads,
+-      errout.adb (Write_Eol): Remove trailing spaces before writing the line
+-      (Write_Eol_Keep_Blanks): New procedure to write a line, including
+-      possible trailing spaces.
+-      (Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
+-      Fix problem with suppressing warning messages from back end
+-      Improve handling of deleted warnings
+-
+-      * gnat1drv.adb:
+-      Fix problem with suppressing warning messages from back end
+-      Handle setting of Static_Dispatch_Tables flag.
+-
+-      * prepcomp.adb:
+-      Fix problem with suppressing warning messages from back end
+-
+-      * exp_intr.adb: Improve handling of deleted warnings
+-
+-2007-08-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * debug.adb: Improve -gnatdI to cover all cases of serialization
+-      Add documentation of dZ, d.t
+-
+-      * sprint.ads, sprint.adb: Improve -gnatdI to cover all cases of
+-      serialization.
+-      (Sprint_Node_Actual): Generate new output associated with implicit
+-      importation and implicit exportation of object declarations.
+-
+-2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * einfo.ads, einfo.adb: Create a limited view of an incomplete type,
+-      to make treatment of limited views uniform for all visible declarations
+-      in a limited_withed package.
+-      Improve warnings for in out parameters
+-      (Set_Related_Interaface/Related_Interface): Allow the use of this
+-      attribute with constants.
+-      (Write_Field26_Name): Handle attribute Related_Interface in constants.
+-      Warn on duplicate pragma Preelaborable_Initialialization
+-
+-      * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Force the
+-      generation of a freezing node to ensure proper management of null
+-      excluding access types in the backend.
+-      (Create_Extra_Formals): Test base type of the formal when checking for
+-      the need to add an extra accessibility-level formal. Pass the entity E
+-      on all calls to Add_Extra_Formal (rather than Scope (Formal) as was
+-      originally being done in a couple of cases), to ensure that the
+-      Extra_Formals list gets set on the entity E when the first entity is
+-      added.
+-      (Conforming_Types): Add missing calls to Base_Type to the code that
+-      handles anonymous access types. This is required to handle the
+-      general case because Process_Formals builds internal subtype entities
+-      to handle null-excluding access types.
+-      (Make_Controlling_Function_Wrappers): Create wrappers for constructor
+-      functions that need it, even when not marked Requires_Overriding.
+-      Improve warnings for in out parameters
+-      (Analyze_Function_Return): Warn for disallowed null return
+-      Warn on return from procedure with unset out parameter
+-      Ensure consistent use of # in error messages
+-      (Check_Overriding_Indicator): Add in parameter Is_Primitive.
+-      (Analyze_Function_Return): Move call to Apply_Constraint_Check before
+-      the implicit conversion of the expression done for anonymous access
+-      types. This is required to generate the code of the null excluding
+-      check (if required).
+-
+-      * sem_warn.ads, sem_warn.adb (Check_References.Publicly_Referenceable):
+-      A formal parameter is never publicly referenceable outside of its body.
+-      (Check_References): For an unreferenced formal parameter in an accept
+-      statement, use the same warning circuitry as for subprogram formal
+-      parameters.
+-      (Warn_On_Unreferenced_Entity): New subprogram, taken from
+-      Output_Unreferenced_Messages, containing the part of that routine that
+-      is now reused for entry formals as described above.
+-      (Goto_Spec_Entity): New function
+-      (Check_References): Do not give IN OUT warning for dispatching operation
+-      Improve warnings for in out parameters
+-      (Test_Ref): Check that the entity is not undefinite before calling
+-      Scope_Within, in order to avoid infinite loops.
+-      Warn on return from procedure with unset out parameter
+-      Improved warnings for unused variables
+-
+-2007-08-14  Robert Dewar  <dewar@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of child unit
+-      (Expand_N_Attribute_Reference): Further unify the handling of the
+-      three forms of access attributes, using common code now for all three
+-      cases. Add a test for the case of applying an access attribute to
+-      an explicit dereference when the context is an access-to-interface
+-      type. In that case we need to apply the conversion to the prefix
+-      of the explicit dereference rather than the prefix of the attribute.
+-      (Attribute_Version, UET_Address): Set entity as internal to ensure
+-      proper dg output of implicit importation.
+-      (Expand_Access_To_Type): Removed.
+-      (Expand_N_Attribute_Reference): Merge the code from the three cases
+-      of access attributes, since the processing is largely identical for
+-      these cases. The substantive fix here is to process the case of a
+-      type name prefix (current instance case) before handling the case
+-      of interface prefixes.
+-
+-2007-08-14  Thomas Quinot  <quinot@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_ch3.ads, exp_ch3.adb (Add_Final_Chain): New subprogram.
+-      (Freeze_Array_Type, Freeze_Record_Type): For the case of a component
+-      type that is an anonymous access to controlled object, establish
+-      an associated finalization chain to avoid corrupting the global
+-      finalization list when a dynamically allocated object designated
+-      by such a component is deallocated.
+-      (Make_Controlling_Function_Wrappers): Create wrappers for constructor
+-      functions that need it, even when not marked Requires_Overriding.
+-      (Initialize_Tag): Replace call to has_discriminants by call to
+-      Is_Variable_Size_Record in the circuitry that handles the
+-      initialization of secondary tags.
+-      (Is_Variable_Size_Record): New implementation.
+-      (Expand_N_Object_Declaration): Suppress call to init proc if there is a
+-      Suppress_Initialization pragma for a derived type.
+-      (Is_Variable_Size_Record): New subprogram.
+-      (Build_Offset_To_Top_Functions): New implementation that simplifies the
+-      initial version of this routine and also fixes problems causing
+-      incomplete initialization of the table of interfaces.
+-      (Build_Init_Procedure): Improve the generation of code to initialize the
+-      the tag components of secondary dispatch tables.
+-      (Init_Secondary_Tags): New implementation that simplifies the previous
+-      version of this routine.
+-      (Make_DT): Add parameter to indicate when type has been frozen by an
+-      object declaration, for diagnostic purposes.
+-      (Check_Premature_Freezing): New subsidiary procedure of Make_DT, to
+-      diagnose attemps to freeze a subprogram when some untagged type of its
+-      profile is a private type whose full view has not been analyzed yet.
+-      (Freeze_Array_Type): Generate init proc for packed array if either
+-      Initialize or Normalize_Scalars is set.
+-      (Make_Controlling_Function_Wrappers, Make_Null_Procedure_Specs): when
+-      constructing the new profile, copy the null_exclusion indicator for each
+-      parameter, to ensure full conformance of the new body with the spec.
+-
+-      * sem_type.ads, sem_type.adb (Make_Controlling_Function_Wrappers):
+-      Create wrappers for constructor functions that need it, even when not
+-      marked Requires_Overriding.
+-      (Covers): Handle properly designated types of anonymous access types,
+-      whose non-limited views are themselves incomplete types.
+-      (Add_Entry): Use an entity to store the abstract operation which hides
+-      an interpretation.
+-      (Binary_Op_May_Be_Hidden): Rename to Binary_Op_Interp_Has_Abstract_Op.
+-      (Collect_Interps): Use Empty as an actual for Abstract_Op in the
+-      initialization aggregate.
+-      (Function_Interp_May_Be_Hidden): Rename to
+-      Function_Interp_Has_Abstract_Op.
+-      (Has_Compatible_Type): Remove machinery that skips interpretations if
+-      they are labeled as potentially hidden by an abstract operator.
+-      (Has_Hidden_Interp): Rename to Has_Abstract_Op.
+-      (Set_May_Be_Hidden): Rename to Set_Abstract_Op.
+-      (Write_Overloads): Output the abstract operator if present.
+-      (Add_Entry): Before inserting a new entry into the interpretation table
+-      for a node, determine whether the entry will be disabled by an abstract
+-      operator.
+-      (Binary_Op_Interp_May_Be_Hidden): New routine.
+-      (Collect_Interps): Add value for flag May_Be_Hidden in initialization
+-      aggregate.
+-      (Function_Interp_May_Be_Hidden): New routine.
+-      (Has_Compatible_Type): Do not consider interpretations hidden by
+-      abstract operators when trying to determine whether two types are
+-      compatible.
+-      (Has_Hidden_Interp): New routine.
+-      (Set_May_Be_Hidden_Interp): New routine.
+-      (Write_Overloads): Write the status of flag May_Be_Hidden.
+-
+-2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_disp.ads, exp_disp.adb (Build_Dispatch_Tables): Handle tagged
+-      types declared in the declarative part of a nested package body or in
+-      the proper body of a stub.
+-      (Set_All_DT_Position): Add missing check to avoid wrong assignation
+-      of the same dispatch table slot to renamed primitives.
+-      (Make_Select_Specific_Data_Table): Handle private types.
+-      (Tagged_Kind): Handle private types.
+-      (Make_Tags, Make_DT): Set tag entity as internal to ensure proper dg
+-      output of implicit importation and exportation.
+-      (Expand_Interface_Thunk): Fix bug in the expansion assuming that the
+-      first formal of the thunk is always associated with the controlling
+-      type. In addition perform the following code cleanup: remove formal
+-      Thunk_Alias which is no longer required, cleanup evaluation of the
+-      the controlling type, and update the documentation.
+-      Replace occurrence of Default_Prim_Op_Count by
+-      Max_Predef_Prims. Addition of compile-time check to verify
+-      that the value of Max_Predef_Prims is correct.
+-      (Check_Premature_Freezing): Apply check in Ada95 mode as well.
+-      (Make_DT): Add parameter to indicate when type has been frozen by an
+-      object declaration, for diagnostic purposes.
+-      (Build_Static_Dispatch_Tables): New subprogram that takes care of the
+-      construction of statically allocated dispatch tables.
+-      (Make_DT): In case of library-level tagged types export the declaration
+-      of the primary tag. Remove generation of tags (now done by Make_Tags).
+-      Additional modifications to handle non-static generation of dispatch
+-      tables. Take care of building tables for asynchronous interface types
+-      (Make_Tags): New subprogram that generates the entities associated with
+-      the primary and secondary tags of Typ and fills the contents of Access_
+-      Disp_Table. In case of library-level tagged types imports the forward
+-      declaration of the primary tag that will be declared later by Make_DT.
+-      (Expand_Interface_Conversion): In case of access types to interfaces
+-      replace an itype declaration by an explicit type declaration to avoid
+-      problems associated with the scope of such itype in transient blocks.
+-
+-2007-08-14  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_util.ads, exp_util.adb:
+-      This patch replaces a number of occurrences of explicit tests for N_Null
+-      with calls to Known_Null. This improves tracking of null values, since
+-      Known_Null also catches null constants, and variables currently known to
+-      be null, so we get better tracking.
+-      (Ensure_Defined): create an itype reference only in the scope of the
+-      itype.
+-      (Side_Effect_Free): A selected component of an access type that
+-      denotes a component with a rep clause must be treated as not
+-      side-effect free, because if it is part of a linked structure its
+-      value may be affected by a renaming.
+-      (Expand_Subtype_From_Expr): For limited objects initialized with build
+-      in place function calls, do nothing; otherwise we prematurely introduce
+-      an N_Reference node in the expression initializing the object, which
+-      breaks the circuitry that detects and adds the additional arguments to
+-      the called function. Bug found working in the new patch for statically
+-      allocated dispatch tables.
+-      (Is_Library_Level_Tagged_Type): New subprogram.
+-      (Remove_Side_Effects): If the expression of an elementary type is an
+-      operator treat as a function call.
+-      (Make_Literal_Range): If the index type of the array is not integer, use
+-      attributes properly to compute the constraint on the resulting aggregate
+-      which is a string.
+-
+-      * freeze.ads, freeze.adb (Freeze_Entity): If the entity is a
+-      class-wide type whose base type is an incomplete private type, leave
+-      class-wide type unfrozen so that freeze nodes can be generated
+-      properly at a later point.
+-      (Freeze_Entity, array case): Handle case of pragma Pack and component
+-      size attributre clause for same array.
+-
+-2007-08-14  Vincent Celier  <celier@adacore.com>
+-
+-      * prj.ads, prj.adb: Update Project Manager to new attribute names for
+-      gprbuild.
+-      Allow all valid declarations in configuration project files
+-      (Reset): Initialize all tables and hash tables in the project tree data
+-      Major update of the Project Manager and of the project aware tools,
+-      including gprmake, so that the same sources in the GNAT repository
+-      can be used by gprbuild.
+-      (Slash_Id): Change type to be Path_Name_Type
+-      (Slash): Return a Path_Name_Type instead of a File_Name_Type
+-
+-      * prj-attr.ads, prj-attr.adb: Remove attributes no longer used by
+-      gprbuild.
+-      Update Project Manager to new attribute names for ghprbuild
+-      Allow all valid declarations in configuration project files
+-      Major update of the Project Manager and of the project aware tools,
+-      including gprmake, so that the same sources in the GNAT repository
+-      can be used by gprbuild.
+-
+-      * prj-com.ads:
+-      Major update of the Project Manager and of the project aware tools,
+-      including gprmake, so that the same sources in the GNAT repository
+-      can be used by gprbuild.
+-
+-      * prj-dect.adb (Prj.Strt.Attribute_Reference): Set correctly the case
+-      insensitive flag for attributes with optional index.
+-      (Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative
+-      array attribute, put the index in lower case.
+-      Update Project Manager to new attribute names for ghprbuild
+-      Allow all valid declarations in configuration project files
+-      Major update of the Project Manager and of the project aware tools,
+-      including gprmake, so that the same sources in the GNAT repository
+-      can be used by gprbuild.
+-
+-      * prj-env.ads, prj-env.adb:
+-      Major update of the Project Manager and of the project aware tools,
+-      including gprmake, so that the same sources in the GNAT repository
+-      can be used by gprbuild.
+-      (Get_Reference): Change type of parameter Path to Path_Name_Type
+-
+-      * prj-ext.ads, prj-ext.adb (Initialize_Project_Path): Make sure, after
+-      removing '-' from the path to start with the first character of the
+-      next directory.
+-      Major update of the Project Manager and of the project aware tools,
+-      including gprmake, so that the same sources in the GNAT repository
+-      can be used by gprbuild.
+-      Major update of the Project Manager and of the project aware tools,
+-      including gprmake, so that the same sources in the GNAT repository
+-      can be used by gprbuild.
+-
+-      * prj-nmsc.ads, prj-nmsc.adb:
+-      Update Project Manager to new attribute names for ghprbuild
+-      Allow all valid declarations in configuration project files
+-      (Search_Directories): Detect subunits that are specified with an
+-      attribute Body in package Naming. Do not replace a source/unit in the
+-      same project when the order of the source dirs are known. Detect
+-      duplicate sources/units in the same project when the order of the
+-      source dirs are not known.
+-      (Check_Ada_Name): Allow all identifiers that are not reserved words
+-      in Ada 95.
+-      Major update of the Project Manager and of the project aware tools,
+-      including gprmake, so that the same sources in the GNAT repository
+-      can be used by gprbuild.
+-      (Look_For_Sources): If the list of sources is empty, set the object
+-      directory of non extending project to nil.
+-      Change type of path name variables to be Path_Name_Type
+-      (Locate_Directory): Make sure that on Windows '/' is converted to '\',
+-      otherwise creating missing directories will fail.
+-
+-      * prj-attr-pm.adb, prj-tree.ads, prj-proc.ads, prj-proc.adb,
+-      prj-part.ads, prj-part.adb:
+-      Major update of the Project Manager and of the project aware tools,
+-      including gprmake, so that the same sources in the GNAT repository
+-      can be used by gprbuild.
+-
+-      * prj-strt.adb (Prj.Strt.Attribute_Reference): Set correctly the case
+-      insensitive flag for attributes with optional index.
+-      (Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative
+-      array attribute, put the index in lower case.
+-      (Parse_Variable_Reference): Allow the current project name to be used in
+-      the prefix of an attribute reference.
+-
+-      * prj-util.ads, prj-util.adb
+-      (Value_Of (for arrays)): New Boolean parameter Force_Lower_Case_Index,
+-      defaulted to False. When True, always check against indexes in lower
+-      case.
+-
+-      * snames.ads, snames.h, snames.adb:
+-      Update Project Manager to new attribute names for gprbuild
+-      Allow all valid declarations in configuration project files
+-
+-2007-08-14  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * opt.ads: Warning for non-local exception propagation now off by
+-      default
+-      New switch -gnatI to disable representation clauses
+-      Implement new pragma Implicit_Packing
+-
+-      * usage.adb:
+-      Warning for non-local exception propagation now off by default
+-      Add warning for unchecked conversion of pointers wi different
+-      conventions.
+-      New switch -gnatI to disable representation clauses
+-
+-      * usage.adb: new switch -gnatyS
+-
+-      * gnat_ugn.texi: For the gnatcheck Non_Qualified_Aggregates rule add a
+-      note that aggregates of anonymous array types are not flagged.
+-      -gnatwc now includes membership tests optimized away
+-      -gnatw.x warnings are now off by default
+-      Added conditional compilation Appendix
+-      Add documentation of -gnatI
+-      Add documentation for new -gnatyS style check
+-      Update documentation about SAL and auto-init on Windows.
+-
+-      * gnat_rm.texi:
+-      Add documentation for pragma Check_Name and 'Enabled attribute
+-      Document that Eliminate on dispatching operation is ignored
+-      Document IDE attributes VCS_Repository_Root and VCS_Patch_Root.
+-      Document pragma Main
+-      Document pragma Implicit_Packing
+-
+-      * sem_ch13.adb: Add warning for unchecked conversion of pointers wi
+-      different conventions
+-      New switch -gnatI to disable representation clauses
+-
+-      * switch-c.adb (Scan_Front_End_Switches): When a -gnat switch is not
+-      recognized, report the invalid characters including "-gnat" instead of
+-      just the first character in the switch.
+-      New switch -gnatI to disable representation clauses
+-      Set Warn_On_Object_Renames_Function true for -gnatg
+-
+-      * vms_data.ads: Add doc for /IGNORE_REP_CLAUSES
+-      Add STATEMENTS_AFTER_THEN_ELSE as synonym for -gnatyS
+-      Add qualifier /ADD_PROJECT_SEARCH_DIR= for different tools, equivalent
+-      to switch -aP (add directory to project search dir).
+-
+-      * par-prag.adb: Implement new pragma Implicit_Packing
+-
+-      * sem_prag.adb (Analyze_Pragma, case Complex_Representation): Mark the
+-      type as having a non-standard representation, to force expansion on
+-      conversion to related types.
+-      (Analyze_Pragma): Warn on misspelled pragma
+-      (Analyze_Pragma, case Convention_Identifier): Fix checking of second arg
+-      Ensure consistent use of # in error messages
+-      Implement pragma Implicit_Packing
+-
+-2007-08-14  Olivier Hainque  <hainque@adacore.com>
+-          Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * targtyps.c (get_target_maximum_default_alignment): New function.
+-      Maximum alignment
+-      that the compiler might choose by default for a type or object.
+-      (get_target_default_allocator_alignment): New function. Alignment known
+-      to be honored by the target default allocator.
+-      (get_target_maximum_allowed_alignment): New function. Maximum alignment
+-      we might accept for any type or object on the target.
+-      (get_target_maximum_alignment): Now synonym of maximum_default_alignment
+-
+-      * gigi.h (get_target_maximum_default_alignment): Declare new function.
+-      (get_target_default_allocator_alignment): Likewise.
+-      (get_target_maximum_allowed_alignment): Likewise.
+-
+-      PR ada/19037
+-      * decl.c (gnat_to_gnu_entity) <object>: Except for the renaming of the
+-      result of a function call, first try to use a stabilized reference for
+-      a constant renaming too.
+-      (validate_alignment): Use target_maximum_allowed_alignment instead of
+-      MAX_OFILE_ALIGNMENT as the upper bound to what we accept.
+-      (gnat_to_gnu_entity): Use common nodes directly.
+-      (gnat_to_gnu_entity) <object>: Pick the values of the type to annotate
+-      alignment and size for the object.
+-      (lvalue_required_p): Handle N_Parameter_Association like N_Function_Call
+-      and N_Procedure_Call_Statement.
+-      (takes_address): Rename to lvalue_required_p, add third parameter
+-      'aliased' and adjust recursive calls.
+-      <N_Indexed_Component>: Update 'aliased' from the array type.
+-      <N_Selected_Component>: New case.
+-      <N_Object_Renaming_Declaration>: New Likewise.
+-      (Identifier_to_gnu): Adjust for above changes.
+-      (maybe_stabilize_reference) <CONST_DECL>: New case.
+-
+-      * utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Look through conversion
+-      between type variants.
+-      (build_simple_component_ref): Likewise.
+-      (build_call_alloc_dealloc): Use target_default_allocator_alignment
+-      instead of BIGGEST_ALIGNMENT as the threshold to trigger the super
+-      aligning type circuitry for allocations from the default storage pool.
+-      (build_allocator): Likewise.
+-      (build_simple_component_ref): Manually fold the reference for a
+-      constructor if the record type contains a template.
+-
+-      * utils.c (value_zerop): Delete.
+-      (gnat_init_decl_processing): Emit debug info for common types.
+-      (rest_of_record_type_compilation): If a union contains a field
+-      with a non-constant qualifier, treat it as variable-sized.
+-      (finish_record_type): Give the stub TYPE_DECL a name.
+-      (rest_of_record_type_compilation): Likewise.
+-      (convert) <CONSTRUCTOR>: New case.  Build a new constructor if
+-      types are equivalent array types.
+-      (create_field_decl): Claim fields of any ARRAY_TYPE are addressable,
+-      even if the type is not passed by reference.
+-      (static_ctors, static_dtors): Delete.
+-      (end_subprog_body): Do not record constructors and destructors.
+-      (build_global_cdtor): Delete.
+-      (gnat_write_global_declarations): Do not call build_global_cdtor.
+-
+-      * lang-spARGET_VXWORKS_RTP is defined, append -mrtp when
+-      -fRTS=rtp is specified.
+-      If CONFIG_DUAL_EXCEPTIONS is 1, append -fsjlj when -fRTS=sjlj is
+-      specified.
+-
+-      * misc.c (gnat_init_gcc_eh): Use __gnat_eh_personality_sj for the name
+-      of the personality function with SJLJ exceptions.
+-
+-      * raise-gcc.c (PERSONALITY_FUNCTION): Use __gnat_eh_personality_sj for
+-      the name of the personality function with SJLJ exceptions.
+-
+-2007-08-14  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * par.ads, par.adb: Improve handling of extra right parens.
+-      (Par): Remove flag From_Limited_With_Clause.
+-
+-      * par-util.adb, par-ch3.adb: Improve error recovery for bad constraint
+-      Improve handling of extra right parens.
+-
+-2007-08-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * par-tchk.adb (TF_Semicolon): Improve error recovery
+-
+-2007-08-14  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_attr.ads, sem_attr.adb (Analyze_Attribute, case Value): For
+-      enumeration type, mark all literals as referenced.
+-      (Eval_Attribute, case 'Image): If the argument is an enumeration
+-      literal and names are available, constant-fold but mark nevertheless as
+-      non-static.
+-      Clean up function names.
+-      (Name_Modifies_Prefix): Rename to Name_Implies_Lvalue_Prefix. Clarify
+-      comment.
+-      (Requires_Simple_Name_Prefix): Removed.
+-
+-2007-08-14  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch11.adb: Improved warnings for unused variables
+-
+-      * sem_ch3.ads, sem_ch3.adb (Build_Derived_Record_Type): If the ancestor
+-      is a synchronized interface, the derived type is limited.
+-      (Analyze_Object_Declaration): Mark the potential coextensions in the
+-      definition and expression of an object declaration node.
+-      (Build_Derived_Type): For the completion of a private type declaration
+-      with a derived type declaration, chain the parent type's representation
+-      items to the last representation item of the derived type (not the
+-      first one) if they are not present already.
+-      (Analyze_Object_Declaration, Constant_Redeclaration): Allow incomplete
+-      object declaration of forward references to tags.
+-      (Access_Subprogram_Declaration): In Ada2005, anonymous access to
+-      subprogram types can appear as access discriminants of synchronized
+-      types.
+-      (OK_For_Limited_Init_In_05): The initialization is legal is it is a call
+-      given in prefixed form as a selected component.
+-      (Process_Discriminants): If not all discriminants have defaults, place
+-      error message on a default that is present.
+-      (Analyze_Private_Extension_Declaration): Diagnose properly an attempt to
+-      extend a synchronized tagged type.
+-      Improved warnings for unused variables
+-      (Is_Visible_Component): Fix a visibility hole on a component inherited
+-      by a private extension when parent is itself declared as a private
+-      extension, and the derivation is in a child unit.
+-      (Find_Hidden_Interface): Move spec from the package body.
+-
+-2007-08-14  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch5.adb: Improve warnings on redundant assignments
+-
+-      * sem_util.ads, sem_util.adb: (Is_Variable): Add defense against junk
+-      parameter
+-      (Is_Synchronized_Tagged_Type): New subprogram that returns true
+-      in case of synchronized tagged types (AARM 3.9.4 (6/2)).
+-      (Safe_To_Capture_Value): Can now return True for constants, even if Cond
+-      is set to False. Improves handling of Known_[Not_]Null.
+-      (Wrong_Type): Special case address arithmetic attempt
+-      (Collect_Abstract_Interfaces): Add new formal to allow collecting
+-      abstract interfaces just using the partial view of private types.
+-      (Has_Abstract_Interfaces): Add new formal to allow checking types
+-      covering interfaces using the partial view of private types.
+-      (Is_Fully_Initialized_Type): Special VM case for uTag component. This
+-      component still needs to be defined in this case, but is never
+-      initialized as VMs are using other dispatching mechanisms.
+-      (Abstract_Interface_List): For a protected type, use base type to get
+-      proper declaration.
+-      Improve warnings on redundant assignments
+-      (Is_Variable): Handle properly an implicit dereference of a prefixed
+-      function call.
+-      (Build_Actual_Subtype): If this is an actual subtype for an
+-      unconstrained formal parameter, use the sloc of the body for the new
+-      declaration, to prevent anomalises in the debugger.
+-
+-2007-08-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_elim.adb (Set_Eliminated): Ignore pragma Eliminate for
+-      dispatching operation
+-
+-2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_aggr.ads,
+-      exp_aggr.adb (Convert_Aggr_In_Allocator): Use Insert_Actions to place
+-      expanded aggregate code before allocator, and ahead of declaration for
+-      temporary, to prevent access before elaboration when the allocator is
+-      an actual for an access parameter.
+-      (Is_Static_Dispatch_Table_Aggregate): Handle aggregates initializing
+-      the TSD and the table of interfaces.
+-      (Convert_To_Assignments): Augment the test for delaying aggregate
+-      expansion for limited return statements to include the case of extended
+-      returns, to prevent creation of an unwanted transient scope.
+-      (Is_Static_Dispatch_Table_Aggregate): New subprogram.
+-      (Expand_Array_Aggregate): Handle aggregates associated with
+-      statically allocated dispatch tables.
+-      (Expand_Record_Aggregate): Handle aggregates associated with
+-      statically allocated dispatch tables.
+-      (Gen_Ctrl_Actions_For_Aggr): Generate a finalization list for allocators
+-      of anonymous access type.
+-
+-2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch5.adb (Expand_Assign_Array): If source or target of assignment
+-      is a variable that renames a slice, use the variable itself in the
+-      expannsion when the renamed expression itself may be modified between
+-      the declaration of the renaming and the array assignment.
+-
+-2007-08-14  Jerome Guitton  <guitton@adacore.com>
+-
+-      * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
+-      s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
+-      s-taprop-vms.adb, s-taprop-posix.adb (Continue_Task, Stop_All_Tasks):
+-      New functions; dummy implementations.
+-
+-      * s-osinte-vxworks.ads (Task_Stop, Task_Cont, Int_Lock, Int_Unlock): New
+-      functions, used to implement the multi-tasks mode routines on VxWorks.
+-
+-      * s-osinte-vxworks.adb, s-osinte-vxworks6.adb (Task_Cont, Task_Stop):
+-      New functions, thin
+-      binding to the VxWorks routines which have changed between VxWorks 5
+-      and 6.
+-      (Int_Lock, Int_Unlock): New function, thin binding to kernel routines
+-      which are not callable from a RTP.
+-
+-      * s-taprop-vxworks.adb (Stop_All_Tasks, Continue_Task): New functions,
+-      implemented for the multi-tasks mode on VxWorks 5 and 6.
+-
+-      * s-taprop.ads (Stop_All_Tasks, Continue_Task): New functions.
+-
+-      * s-tasdeb.ads, s-tasdeb.adb (Continue_All_Tasks, Stop_All_Tasks): New
+-      functions.
+-
+-2007-08-14  Vincent Celier  <celier@adacore.com>
+-
+-      * clean.adb, fmap.adb, sinput-p.adb, sinput-p.ads, gnatcmd.adb,
+-      gnatname.adb, makeutl.ads, makeutl.adb, makegpr.adb, mlib-tgt-vms.adb
+-      mlib-tgt-darwin.adb, mlib-tgt-lynxos.adb, mlib-prj.adb, mlib-tgt.adb,
+-      mlib-tgt.ads, mlib-tgt-irix.adb mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
+-      mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
+-      mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, mlib-tgt-aix.adb,
+-      mlib-tgt-tru64.adb, mlib.ads, mlib.adb (Create_Sym_Links): New
+-      procedure.
+-      (Major_Id_Name): New function.
+-      mlib-tgt.ads/mlib.tgt.adb:
+-      (Library_Major_Minor_Id_Supported): New function, default returns True
+-      Most mlib-tgt-*.adb that support shared libraries and symbolic links:
+-      (Build_Dynamic_Library): Add support for major/minor ids for shared libs
+-      Other mlib-tgt-*.adb (aix, mingw, vms, vxworks, xi):
+-      Implementation of Library_Major_Minor_Id_Supported returns False
+-      clean.adb:
+-      (Clean_Library_Directory): If major/minor ids are supported, clean all
+-      library files.
+-      Major update of the Project Manager and of the project aware tools,
+-      including gprmake, so that the same sources in the GNAT repository
+-      can be used by gprbuild.
+-
+-2007-08-14  Olivier Hainque  <hainque@adacore.com>
+-
+-      * system-solaris-x86.ads (ZCX_By_Default): Switch to True.
+-      (GCC_ZCX_Support): Switch to True.
+-
+-      * s-intman-solaris.adb (Notify_Exception): Call
+-      Adjust_Context_For_Raise before raising, as expected for signal
+-      handlers in general.
+-
+-      * s-intman-posix.adb (Notify_Exception): Remove declaration of
+-      Adjust_Context_For_Raise, moved to the spec of this unit to be visible
+-      to other implementation bodies.
+-
+-      * s-intman.ads (Adjust_Context_For_Raise): Declare and import here, to
+-      be visible by multiple implementation bodies.
+-
+-      * init.c [VMS section] (__gnat_handle_vms_condition): Adjust context
+-      only for conditions coming from hardware.
+-      [alpha-tru64 section] (__gnat_adjust_context_for_raise): Implement,
+-      adjustments to signal context prior to exception raise from signal
+-      handler.
+-      (__gnat_map_signal for VxWorks): Map SIGSEGV to Storage_Error in RTP
+-      mode.
+-      Solaris section: (__gnat_adjust_context_for_raise): New function.
+-      Implementation of the machine context adjustments to perform prior to
+-      raise from a signal handler. Version for both sparc and x86.
+-      (HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE): Define.
+-      (__gnat_error_handler): Expect a third argument, ucontext_t *. Adjust it
+-      prior to raising as expected for any handler, before possible nested
+-      faults to make sure all the contexts in a chain have been adjusted by
+-      the time we propagate.
+-
+-2007-08-14  Pascal Obry  <obry@adacore.com>
+-
+-      * s-osinte-mingw.ads: Add support for Ada.Execution_Time on Windows.
+-      (SYSTEM_INFO): New record.
+-      (SetThreadIdealProcessor): New imported routine needed for supporting
+-      task_info pragma on Windows.
+-
+-      * s-taprop-mingw.adb (Enter_Task): Check if CPU number given in task
+-      info can be applied to the current host.
+-      (Create_Task): Set the ideal processor if information is present.
+-
+-      * s-tasinf-mingw.adb, s-tasinf-mingw.ads,
+-      a-exetim-mingw.adb, a-exetim-mingw.ads: New files.
+-
+-2007-08-14  Olivier Hainque  <hainque@adacore.com>
+-
+-      * s-taprop-linux.adb (Get_Stack_Attributes): New subprogram. Fetch the
+-      stack size and initial stack pointer value for a given task.
+-      (Enter_Task): Get the stack attributes of the task we are entering and
+-      let the stack checking engine know about them.
+-
+-      * s-stchop.adb, s-stchop.ads (Notify_Stack_Attributes): New subprogram.
+-      Let the stack-checking engine know about the initial sp value and stack
+-      size associated with the current task.
+-      (Set_Stack_Info): If a stack base has been notified for the current
+-      task, honor it. Fallback to the previous less accurate method otherwise.
+-
+-      * s-stchop-vxworks.adb (Notify_Stack_Attributes): Dummy body.
+-
+-2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch10.adb: Create a limited view of an incomplete type, to make
+-      treatment of limited views uniform for all visible declarations in a
+-      limited_withed package.
+-      Set flag indicating that a subprogram body for a child unit has a
+-      generated spec.
+-      (Analyze_Compilation_Unit): If unit is a subprogram body that has no
+-      separate declaration, remove the unit name from visibility after
+-      compilation, so that environment is clean for subsequent compilations.
+-      (Install_Limited_Context_Clauses): Do not install a
+-      limited_private_with_clause unless the current unit is a body or a
+-      private child unit.
+-      (Analyze_Subunit, Install_Parents): Treat generic and non-generic units
+-      in the same fashion.
+-      (Install_Limited_Withed_Unit): Do not install a limited with clause if
+-      it applies to the declaration of the current package body.
+-      (Remove_Private_With_Clauses): If there is a regular with_clause for
+-      the unit, delete Private_With_Clause from context, to prevent improper
+-      hiding when processing subsequent nested packages and instantiations.
+-
+-2007-08-14  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * adaint.c (__gnat_is_absolute_path): For VxWorks systems we accept
+-      dir/file, device:/dir/file, and device:drive_letter:/dir/file as
+-      representing absolute path names.
+-      __gnat_set_file_time_name [VMS]: Fix some 64/32 bit issues.
+-
+-      * cstreams.c (__gnat_full_name for VxWorks): Use
+-      __gnat_is_absolute_path to detect whether we need to add the current
+-      directory to normalize the path.
+-
+-2007-08-14  Javier Miranda  <miranda@adacore.com>
+-
+-      * a-tags.ads,
+-      a-tags.adb (Displace): Associate a message with the raised CE
+-      exception.
+-      (To_Addr_Ptr, To_Address, To_Dispatch_Table_Ptr,
+-      To_Object_Specific_Data_Ptr To_Predef_Prims_Ptr,
+-      To_Tag_Ptr, To_Type_Specific_Data_Ptr): Moved here from the package
+-      spec.
+-      (Default_Prim_Op_Count): Removed.
+-      (IW_Membership, Get_Entry_Index, Get_Offset_Index, Get_Prim_Op_Kind,
+-      Register_Tag, Set_Entry_Index, Set_Offset_To_Top, Set_Prim_Op_Kind):
+-      Remove pragma Inline_Always.
+-
+-      * rtsfind.ads (Default_Prim_Op_Count): Removed
+-      (Max_Predef_Prims): New entity
+-      (RE_Expanded_Name): Removed
+-      (RE_HT_Link): Removed
+-      (RE_Iface_Tag): Remmoved
+-      (RE_Ifaces_Table): Removed
+-      (RE_Interfaces_Array): Removed
+-      (RE_Interface_Data_Element): Removed
+-      (RE_Nb_Ifaces): Removed
+-      (RE_RC_Offset): Removed
+-      (RE_Static_Offset_To_Top): Removed
+-
+-      * exp_atag.ads, exp_atag.adb (Build_Inherit_Prims): Addition of a new
+-      formal.
+-      (Build_Inherit_Predefined_Prims): Replace occurrences of Default_
+-      Prim_Op_Count by Max_Predef_Prims.
+-
+-2007-08-14  Thomas Quinot  <quinot@adacore.com>
+-          Vincent Celier  <celier@adacore.com>
+-
+-      * binde.adb (Elab_All_Links): Remove unnecessary call to
+-      Generic_Separately_Compiled (if a unit satisfies this predicate, there
+-      won't be an associated Afile).
+-      (Elab_All_Links): Fail if a referenced unit cannot be found
+-
+-      * bindgen.adb:
+-      Fix comments in bindgen regarding consistency checks done in Bcheck:
+-      the checks are made across units within a partition, not across several
+-      partitions.
+-      Fix generation of C binder file for VxWorks.
+-
+-      * lib.ads, lib.adb (Generic_Separately_Compiled): Rename to
+-      Generic_May_Lack_ALI, more descriptive of the current use of the
+-      predicate, and update documentation.
+-
+-      * lib-writ.ads, lib-writ.adb (Write_With_Lines): Minor code
+-      reorganization and documentation update for the case of predefined
+-      library generics (for which we do not reference an Afile).
+-
+-2007-08-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * s-intman-irix.adb, s-osinte-irix.adb, s-osinte-irix.ads,
+-      s-proinf-irix-athread.ads, s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads,
+-      s-parame-hpux.ads, s-intman-dummy.adb, s-tasinf-solaris.adb,
+-      s-tasinf-solaris.ads, s-asthan-vms-alpha.adb, s-inmaop-vms.adb,
+-      s-intman-vms.adb, s-intman-vms.ads, s-osprim-mingw.adb,
+-      s-parame-vms-restrict.ads, s-parame-ae653.ads, s-intman-vxworks.ads,
+-      s-intman-vxworks.ads, s-intman-vxworks.adb, s-parame-vxworks.ads,
+-      s-tfsetr-vxworks.adb, s-interr.adb, s-interr.ads, a-tasatt.adb,
+-      exp_ch13.adb, s-htable.ads, s-imgboo.ads, s-imglli.ads, s-imgllu.ads,
+-      s-imguns.ads, g-eacodu.adb, par-ch12.adb, s-stache.ads, s-stausa.adb,
+-      s-poosiz.adb, s-parame.ads, s-mastop.ads, s-osinte-darwin.ads,
+-      a-chtgke.adb, s-asthan-vms-alpha.adb, s-parame-vms-alpha.ads,
+-      s-parame-vms-ia64.ads, s-parame-vxworks.adb, s-except.ads,
+-      g-altcon.adb: Minor reformatting
+-
+-      ada-tree.h: Delete empty line.
+-
+-      ali.ads: Minor reformatting
+-      Clarification of comments.
+-      Minor spelling correction
+-
+-      * exp_dbug.adb: Add Warnings Off to suppress new warning
+-
+-      * a-witeio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
+-      formal
+-
+-      * a-strunb.adb (Set_Unbounded_String): Avoid memory leak by freeing old
+-      value
+-
+-      * a-textio.adb (Write): Remove an unnecessary IN OUT mode from
+-
+-      * a-textio.ads: Reorder the standard input/output/error declarations
+-      for consistency.
+-
+-      * g-dirope.adb, g-dirope.ads: Change Dir to mode IN for Open call
+-
+-      * par-ch2.adb: Recognize RM specially in errout
+-      Change 'R'M to RM in all error messages
+-
+-      * scng.adb: Recognize RM specially in errout
+-
+-      * sem.ads, sem.adb, exp_strm.adb, exp_ch5.ads, expander.adb: Rename
+-      N_Return node to be N_Simple_Return, to reflect Ada 2005 terminology.
+-
+-      * s-direio.adb: Add missing routine header box.
+-
+-      * sem_attr.ads: Add ??? comments
+-
+-      * sem_eval.adb: Recognize RM specially in errout
+-      Change 'R'M to RM in all error messages
+-
+-      * sem_maps.adb, sem_maps.ads: Remove some unnecessary IN OUT modes
+-
+-      * s-tasinf.ads: Fix minor comment typo.
+-
+-      * a-cihama.adb: Minor comment addition
+-
+-      * a-ztexio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
+-      formal
+-
+-      * s-tasinf-tru64.ads: Fix minor comment typo.
+-
+-      * itypes.ads: Comment update.
+-
+-      * ali-util.adb: Remove Generic_Separately_Compiled guard, not needed
+-      anymore.
+-
+-      * argv.c: Added protection against null gnat_argv and gnat_envp.
+-
+-      * bcheck.adb (Check_Consistency): Use correct markup character ({) in
+-      warning message when Tolerate_Consistency_Errors is True.
+-
+-      * cstand.adb (Create_Standard): Do not call Init_Size_Alignment for
+-      Any_Id, as this subprogram is only applicable to *type* entities (it
+-      sets RM_Size). Instead initialize just Esize and Alignment.
+-
+-2007-08-14  Bob Duff  <duff@adacore.com>
+-
+-      * a-cihama.ads, a-cidlli.ads, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
+-      a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
+-      a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorse.ads, a-cohama.ads,
+-      a-cohata.ads, a-convec.adb, a-coinve.ads, a-coinve.adb, a-convec.ads,
+-      a-coorse.ads (Next): Applied pragma Inline.
+-      Make all Containers packages Remote_Types (unless they are already
+-      Pure).
+-      (Previous): applied pragma Inline
+-      (Elements_Type): is now a record instead of an array
+-
+-2007-08-14  Thomas Quinot  <quinot@adacore.com>
+-
+-      * table.adb, g-table.adb, g-dyntab.adb (Append): Reimplement in terms
+-      of Set_Item.
+-      (Set_Item): When the new item is an element of the currently allocated
+-      table passed by reference, save a copy on the stack if we're going
+-      to reallocate. Also, in Table.Set_Item, make sure we test the proper
+-      variable to determine whether to call Set_Last.
+-
+-      * sinput-d.adb, sinput-l.adb, stringt.adb, switch-m.adb,
+-      symbols-vms.adb, symbols-processing-vms-alpha.adb,
+-      symbols-processing-vms-ia64.adb, sem_elab.adb, repinfo.adb: Replace
+-      some occurrences of the pattern
+-         T.Increment_Last;
+-         T.Table (T.Last) := Value;
+-      with a cleaner call to
+-         T.Append (Value);
+-
+-2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-
+-      * sem_ch12.ads, sem_ch12.adb (Instantiate_Type): If the formal is a
+-      derived type with interface progenitors use the analyzed formal as the
+-      parent of the actual, to create renamings for all the inherited
+-      operations in Derive_Subprograms.
+-      (Collect_Previous_Instances): new procedure within of
+-      Load_Parent_Of_Generic, to instantiate all bodies in the compilation
+-      unit being loaded, to ensure that the generation of global symbols is
+-      consistent in different compilation modes.
+-      (Is_Tagged_Ancestor): New function testing the ancestor relation that
+-      takes progenitor types into account.
+-      (Validate_Derived_Type_Instance): Enforce the rule of 3.9.3(9) by
+-      traversing over the primitives of the formal and actual types to locate
+-      any abstract subprograms of the actual type that correspond to a
+-      nonabstract subprogram of the formal type's ancestor type(s), and issue
+-      an error if such is found.
+-      (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation,
+-      Instantiate_Package_Body, Instantiate_Subprogram_Body):
+-      Remove bogus guard around calls to Inherit_Context.
+-      (Reset_Entity): If the entity is the selector of a selected component
+-      that denotes a named number, propagate constant-folding to the generic
+-      template only if the named number is global to the generic unit.
+-      (Set_Instance_Env): Only reset the compilation switches when compiling
+-      a predefined or internal unit.
+-
+-2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch4.adb (Try_Class_Wide_Operation): use base type of first
+-      parameter to determine whether operation applies to the prefix.
+-      (Complete_Object_Operation): If actual has an access type and
+-      controlling formal is not an in_parameter, reject the actual if it is
+-      an access_to_constant type.
+-      (Try_Primitive_Operation): If the type of the prefix is a formal tagged
+-      type, the candidate operations are found in the scope of declaration of
+-      the type, because the type has no primitive subprograms.
+-      (Analyze_Selected_Component): If prefix is class-wide, and root type is
+-      a private extension, only examine visible components before trying to
+-      analyze as a prefixed call.
+-      Change Entity_List to Type_To_Use, for better readability.
+-      (Has_Fixed_Op): Use base type when checking whether the type of an
+-      operator has a user-defined multiplication/division
+-      (Check_Arithmetic_Pair): Use Ada 2005 rules to remove ambiguities when
+-      user-defined operators are available for fixed-point types.
+-
+-2007-08-14  Thomas Quinot  <quinot@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_cat.ads, sem_cat.adb (Has_Stream_Attribute_Definition): New
+-      formal At_Any_Place indicating, when True, that we want to test for
+-      availability of the stream attribute at any place (as opposed to the
+-      current visibility context only).
+-      (Missing_Read_Write_Attributes): A stream attribute is missing for the
+-      purpose of enforcing E.2.2(8) only if it is not available at any place.
+-      Take into account the Ada2005 pragma Has_Preelaborable_Initialization
+-      when checking the legality of an extension aggregate in a preelaborable
+-      package. Treat the literal null as a valid default expression in a
+-      component declaration for a type with preelaborable initialization.
+-      A limited interface is a legal progenitor for the designated type of a
+-      remote access to class-wide type.
+-
+-2007-08-14  Thomas Quinot  <quinot@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch8.ads, sem_ch8.adb (Find_Type, case of a 'Base attribute
+-      reference): Use correct entity as denoted entity for the selector of
+-      the rewritten node.
+-      (Find_Direct_Name): Add comment about Generate_Reference incorrectly
+-      setting the Referenced_As_LHS flag for entities that are implicitly
+-      dereferenced.
+-      (Find_Type): If the type is an internally generated incomplete type,
+-      mark the full view as referenced, to prevent spurious warnings.
+-      (Find_Selected_Component, Has_Components): Handle properly non-limited
+-      views that are themselves incomplete types.
+-      Handle interfaces visible through limited-with clauses.
+-      (Analyze_Subprogram_Renaming): Disambiguate and set the entity of a
+-      subprogram generic actual for which we have generated a renaming.
+-      Warn when the renaming introduces a homonym of
+-      the renamed entity, and the renamed entity is directly visible.
+-
+-2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * sem_res.adb (Resolve_Allocator): Propagate any coextensions that
+-      appear in the subtree to the current allocator if it is not a static
+-      coextension.
+-      (Resolve_Allocator): Perform cleanup if resolution has determined that
+-      the allocator is not a coextension.
+-      (Resolve): Skip an interpretation hidden by an abstract operator only
+-      when the type of the interpretation matches that of the context.
+-      (Resolve): When looping through all possible interpretations of a node,
+-      do not consider those that are hidden by abstract operators.
+-      (Resolve_Actuals): When verifying that an access to class-wide object
+-      is an actual  for a controlling formal, ignore anonymous access to
+-      subprograms whose return type is an access to class_wide type.
+-      (Resolve_Slice): If the prefix of the slice is a selected component
+-      whose type depends on discriminants, build its actual subtype before
+-      applying range checks on the bounds of the slice.
+-      (Valid_Conversion): In an instance or inlined body, compare root types,
+-      to prevent anomalies between private and public views.
+-      (Resolve): Improve error message for ambiguous fixed multiplication
+-      expressions that involve universal_fixed multiplying operations.
+-
+-2007-08-14  Javier Miranda  <miranda@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * exp_ch9.adb (Build_Protected_Entry): Propagate the original source
+-      location to allow the correct generation of errors in case of
+-      restrictions applied to the expanded code.
+-      (Expand_Entry_Barrier): Remove all generated renamings for a barrier
+-      function if the condition does not reference them.
+-      (Expand_Entry_Body_Declarations): Mark the index constant as having a
+-      valid value.
+-
+-2007-08-14  Thomas Quinot  <quinot@adacore.com>
+-          Pablo Oliveira  <oliveira@adacore.com>
+-
+-      * exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating
+-      typecode parameters for a union (in a variant record), remove
+-      extraneous layer of Any wrapping for member label.
+-      (Expand_Receiving_Stubs_Bodies): For an RCI package body that has
+-      elabration statements, register the package with the name server
+-      at the beginning, not at the end, of the elaboration statements so
+-      that they can create remote access to subprogram values that designate
+-      remote subprograms from the package.
+-
+-2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * g-catiio.adb (Image): For the case of %s, use Ada.Calendar.Time
+-      values to compute the number of seconds since the Unix Epoc in order to
+-      account for Daylight Savings Time. Perform special processing for dates
+-      that are earlier than the Unix Epoc to obtain a negative number.
+-
+-2007-08-14  Emmanuel Briot  <briot@adacore.com>
+-
+-      * g-comlin.adb (Getopt): Fix handling of "*" switch when not collapsing
+-      switches.
+-
+-2007-08-14  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gnatlink.adb (Gnatlink): Pass switches to the linker even if the
+-      binder-generated file is not in Ada.
+-      Pass -mrtp to the linker if it is GCC and --RTS=rtp has been
+-      recorded in the ALI file.
+-      Pass -fsjlj to the linker if it is GCC and --RTS=sjlj has been recorded.
+-
+-2007-08-14  Vincent Celier  <celier@adacore.com>
+-
+-      * gnatls.adb: (Corresponding_Sdep_Entry): Always return a value
+-      (Output_Source): Do nothing if parameter is No_Sdep_Id
+-
+-      * make.adb (Gnatmake): Do not rebuild an archive simply because a
+-      shared library it imports has a later time stamp.
+-      (Check): Resolve the symbolic links in the path name of the object
+-      directory.
+-      Check that the ALI file is in the correct object directory
+-      Check if a file name does not correspond to the mapping of units
+-      to file names.
+-      (Display_Version): New procedure
+-      (Initialize): Process switches --version and --help
+-      Use type Path_Name_Type for path name
+-
+-2007-08-14  Paul Hilfinger  <hilfinger@adacore.com>
+-
+-      * impunit.adb: Re-organize System.Random_Numbers and
+-      GNAT.Random_Numbers and add to builds.
+-
+-      * Makefile.rtl: Add s-rannum.ad* and g-rannum.ad*, a-assert*
+-
+-      * s-rannum.ads, s-rannum.adb, g-rannum.ads, g-rannum.adb: New files.
+-
+-      * a-assert.ads, a-assert.adb: New files.
+-
+-2007-08-14  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * layout.adb (Layout_Type): In the case of access-to-subprogram types,
+-      if AAMP_On_Target is True, then the size of the type encompasses two
+-      addresses (a static link and a subprogram address), except in the case
+-      of library-level access types.
+-
+-2007-08-14  Vincent Celier  <celier@adacore.com>
+-
+-      * output.ads, output.adb (Write_Eol): Remove trailing spaces before
+-      writing the line.
+-      (Write_Eol_Keep_Blanks): New procedure to write a line, including
+-      possible trailing spaces.
+-      (Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
+-
+-2007-08-14  Javier Miranda  <miranda@adacore.com>
+-
+-      * par-ch6.adb (P_Formal_Part): Fix wrong error message associated with
+-      null-excluding access types.
+-
+-2007-08-14  Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code
+-      that is common to Analyze_Protected_Type and Analyze_Task_Type. In case
+-      of private types add missing check on matching interfaces in the
+-      partial and full declarations.
+-      (Analyze_Protected_Type): Code cleanup.
+-      (Analyze_Task_Type): Code cleanup.
+-
+-2007-08-14  Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on a
+-      generated interface thunk.
+-
+-2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * s-ficobl.ads: Declare AFCB as a tagged incomplete type, to prevent
+-      obsolescent warning on application of 'Class to an incomplete type.
+-
+-      * s-finroo.ads: Declare Root_Controlled as a tagged incomplete type, to
+-      prevent obsolescent warning on application of 'Class to an incomplete
+-      type.
+-
+-2007-08-14  Pascal Obry  <obry@adacore.com>
+-
+-      * s-fileio.adb (Is_Open): Add check for usability of the underlying
+-      file stream.
+-
+-2007-08-14  Cyrille Comar  <comar@adacore.com>
+-
+-      * s-finimp.adb (Detach_From_Final_List): make this procedure idempotent
+-      since it is potentially used in cases implying double finalization of
+-      the same object.
+-
+-2007-08-14  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * s-tasini.adb (Get_Stack_Info): Move this function to
+-      System.Soft_Links.Tasking because it is common to the full and the
+-      restricted run times.
+-      (Init_RTS): Do not set the Get_Stack_Info soft link because it is done
+-      in SSL.Tasking.Init_Tasking_Soft_Links.
+-
+-      * s-solita.adb (Get_Stack_Info): Function moved from
+-      System.Tasking.Initialization because it is common to the full and the
+-      restricted run times.
+-      (Init_Tasking_Soft_Links): Set the tasking soft link for Get_Stack_Info.
+-
+-2007-08-14  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-tpobop.ads, s-tpobop.adb, s-tasren.ads, s-tasren.adb,
+-      s-taskin.ads (Requeue_With_Abort): Rename field With_Abort.
+-      (PO_Do_Or_Queue, Task_Do_Or_Queue, Requeue_Call): Remove With_Abort
+-      parameter.
+-
+-      * s-tassta.adb (Task_Wrapper): Increased value of the small overflow
+-      guard to 12K.
+-
+-2007-08-14  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * s-veboop.adb (SU): New named number initialized to
+-      System.Storage_Unit.
+-      (True_Val): The initialization expression is revised to use SU (=
+-      Storage_Unit) rather than assuming 8 for the component size of an
+-      unpacked Boolean array.
+-
+-2007-08-14  Tristan Gingold  <gingold@adacore.com>
+-
+-      * tracebak.c: Use tb-ivms.c on OpenVMS Itanium.
+-
+-      * tb-ivms.c: New file.
+-
+-      * g-trasym-vms-ia64.adb: Fixed for OpenVMS version 8.2
+-
+-2007-08-14  Geert Bosch  <bosch@adacore.com>
+-
+-      * i-forbla.ads, i-forbla.adb, a-ngcoar.adb, a-ngcoar.ads, i-forlap.ads,
+-      s-gearop.adb, s-gecobl.adb, s-gecobl.ads, s-gerela.adb, s-gerela.ads:
+-      Add required linker pragmas for automatically linking with the gnalasup
+-      linear algebra support library, and the systems math library.
+-      Rename cdot to cdotu and zdot to zdotu.
+-      Update header comment to describe purpose of package.
+-
+-2007-08-14  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_ch7.adb (Find_Final_List): For an anonymous access type that has
+-      an explicitly specified Associated_Final_Chain, use that list.
+-      (Expand_N_Package_Body): Build dispatch tables of library level tagged
+-      types.
+-      (Expand_N_Package_Declaration): Build dispatch tables of library level
+-      tagged types. Minor code cleanup.
+-
+-2007-08-14  Vincent Celier  <celier@adacore.com>
+-
+-      * gnatchop.adb (Terminate_Program): Remove exception and use
+-      Types.Terminate_Program instead.
+-
+-      * osint.ads, osint.adb (Current_Exit_Status): New global variable
+-      (Find_Program_Name): Added protection against empty name.
+-      (OS_Exit_Through_Exception): New procedure
+-
+-      * s-os_lib.ads, s-os_lib.adb (OS_Exit): New procedure body
+-      (OS_Exit_Default): New procedure that contains the previous
+-      implementation of procedure OS_Exit.
+-      (Final_Value): Remove obsolete Interix stuff.
+-
+-2007-08-14  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-socket.ads: Reorganize example code so that it also works on
+-      Windows XP.
+-
+-2007-08-14  Tristan Gingold  <gingold@adacore.com>
+-
+-      * g-trasym.ads: AIX now supports symbolic backtraces.
+-
+-2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * lib-load.adb (From_Limited_With_Chain): Always scan the stack of
+-      units being loaded to detect circularities. A circularity may be
+-      present even if the current chain of pending units to load starts from
+-      a limited_with_clause.
+-
+-      * lib-load.ads: Change profile of Load_Unit to use a with_clause
+-      rather than a boolean flag, in order to detect circularities in
+-      with_clauses.
+-
+-      * par-load.adb: Use current with_clause in calls to Load_Unit, rather
+-      than propagating the From_Limited_With flag, in order to handle
+-      properly circularities involving with_clauses.
+-
+-2007-08-14  Nicolas Setton  <setton@adacore.com>
+-
+-      * link.c (FreeBSD): Add "const" keyword where needed, to eliminate
+-      warnings.
+-
+-2007-08-14  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * Makefile.in: GNATRTL_LINEARALGEBRA_OBJS: New variable holding objects
+-      to build for libgnala.
+-      libgnat: Add rules to build libgnala.a
+-      (LIBGNAT_TARGET_PAIRS for VxWorks): Remove s-osinte-vxworks.adb from
+-      target pairs of the VxWorks 6 kernel runtime, use it only for VxWorks 5.
+-      Add s-osinte-vxworks-kernel.adb to the target pairs of the
+-      kernel run-time lib for VxWorks 6, which would provide a different
+-      implementation for Task_Cont and Task_Stop than the VxWorks 5 version.
+-      x86-solaris section (EH_MECHANISM): Set to -gcc, as this port is now
+-      running ZCX by default.
+-      Add g-sttsne-locking to LynxOS version.
+-      Remove g-sttsne-vxworks.ads; use g-sttsne-locking.ads instead.
+-      On x86/darwin, use a-numaux-x86.ad? and system-darwin-x86.ads.
+-
+-      * system-darwin-x86.ads: New file.
+-
+-      * Make-lang.in: Delete files before copying onto them, so if they are
+-      read-only, the copy won't fail.
+-      Update dependencies
+-
+-2007-08-14  Pascal Obry  <obry@adacore.com>
+-
+-      * mdll-fil.adb, * mdll.adb: Implement a more consistent libraries
+-      naming scheme.
+-
+-2007-08-14  Vincent Celier  <celier@adacore.com>
+-
+-      * mlib-utl.adb (Gcc_Name): Change from constant String to String_Access
+-      (Gcc): Initialize Gcc_Name at the first call
+-
+-2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch7.adb (Analyze_Package_Specification): Do not install private
+-      with_clauses of the enclosing unit when analyzing the package
+-      specification of a nested instance.
+-
+-2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * sinfo.ads, sinfo.adb (Is_Coextension, Set_Is_Coextension): Removed.
+-      (Is_Dynamic_Coextension, Set_Is_Dynamic_Coextension): New routines.
+-      Remove flag Is_Coextension. Add flag Is_Dynamic_Coextension. Update the
+-      layout of N_Allocator.
+-
+-2007-08-14  Thomas Quinot  <quinot@adacore.com>
+-
+-      * rtsfind.adb (Check_RPC): Add PCS version check.
+-
+-      * gnatvsn.ads, gnatvsn.adb: Add PCS version.
+-      (Gnat_Free_Software): New function.
+-
+-      * sem_dist.ads, sem_dist.adb (Get_PCS_Version): New subprogram. Returns
+-      the PCS_Version value from s-parint, used to check that it is consistent
+-      with what exp_dist expects.
+-
+-      * s-parint.ads (PCS_Version): New entity for checking consistency
+-      between exp_dist and PCS.
+-
+-      * gen-soccon.c: (SO_REUSEPORT): New constant.
+-
+-2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * a-calfor.adb (Image (Duration; Boolean)): Change type of local
+-      variable Sub_Second to Duration in order to accomodate a larger range
+-      of arithmetic operations.
+-
+-2007-08-14  Bob Duff  <duff@adacore.com>
+-
+-      * g-sttsne-locking.ads: Move comments from spec to body.
+-      * g-sttsne-locking.adb: Move comments from spec to body.
+-      * g-sttsne-vxworks.ads: Removed.
+-      * g-sttsne-vxworks.adb: Removed.
+-
+-2007-08-11  Ian Lance Taylor  <iant@google.com>
+-
+-      * misc.c (gnat_get_alias_set): Change return type to
+-      alias_set_type.
+-
+-2007-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+-
+-      * decl.c, utils2.c: Fix whitespace in last change.
+-
+-2007-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+-
+-      * decl.c (compare_field_bitpos): Constify.
+-      * utils2.c (compare_elmt_bitpos): Likewise.
+-
+-2007-07-27  Aurelien Jarno  <aurelien@aurel32.net>
+-
+-      * s-osinte-kfreebsd-gnu.ads ((sigset_t_ptr): Removed, replaced by
+-      anonymous access type.
+-      (pthread_sigmask): Now take an access sigset_t.
+-
+-2007-07-05  Joel Sherrill  <joel.sherrill@oarcorp.com>
+-
+-      * s-osinte-rtems.ads: Correct prototype of pthread_sigmask.
+-
+-2007-06-21  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      PR tree-optimization/25737
+-      * misc.c (gnat_post_options): Do not force flag_tree_salias to 0.
+-
+-2007-06-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+-
+-      * trans.c (Attribute_to_gnu): When subtracting an
+-      offset from a pointer, use POINTER_PLUS_EXPR with
+-      NEGATE_EXPR instead of MINUS_EXPR.
+-      (gnat_to_gnu): Likewise.
+-      * utils.c (convert): When converting between
+-      thin pointers, use POINTER_PLUS_EXPR and sizetype
+-      for the offset.
+-      * utils2.c (known_alignment): POINTER_PLUS_EXPR
+-      have the same semantics as PLUS_EXPR for alignment.
+-      (build_binary_op): Add support for the semantics of
+-      POINTER_PLUS_EXPR's operands.
+-      When adding an offset to a pointer, use POINTER_PLUS_EXPR.
+-
+-2007-06-11  Rafael Ávila de Espíndola  <espindola@google.com>
+-
+-      * trans.c (Attribute_to_gnu): Use signed_or_unsigned_type_for instead
+-      of get_signed_or_unsigned_type.
+-      * misc.c (LANG_HOOKS_SIGNED_TYPE): Remove.
+-
+-2007-06-11  Bob Duff  <duff@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-stsifd-sockets.adb (Create): Work around strange behavior of
+-      'bind' on windows that causes 'connect' to fail intermittently, by
+-      retrying the 'bind'.
+-      (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
+-
+-2007-06-10  Duncan Sands  <baldrick@free.fr>
+-
+-      * decl.c (gnat_to_gnu_entity): Use pointers to dummy nodes, rather
+-      than to void, for the fields when making a new fat pointer type.
+-      (gnat_substitute_in_type): Now substitute_in_type.
+-      * gigi.h (gnat_substitute_in_type): Likewise.  Adjust recursive calls.
+-      * trans.c (gnat_gimplify_expr): Remove COMPONENT_REF kludge.
+-      * utils.c (update_pointer_to): Update fat pointers by updating the
+-      dummy node pointers used for the fields.
+-
+-2007-06-06  Thomas Quinot  <quinot@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-
+-      * g-soccon-freebsd.ads, g-soccon-vxworks.ads:,
+-      g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
+-      g-soccon-solaris.ads, g-soccon-vms.ads, g-soccon-tru64.ads:  Add new
+-      constant Thread_Blocking_IO, always True by default, set False
+-      on a per-runtime basis.
+-      (Need_Netdb_Buffer): New constant.
+-
+-      * g-stheme.adb, g-sttsne.ads, g-sttsne-locking.ads,
+-      g-sttsne-locking.adb, g-sttsne-vxworks.ads, g-sttsne-vxworks.adb: New
+-      files.
+-
+-      * g-socthi-vxworks.ads, g-socthi-vxworks.adb,
+-      g-socthi-vms.ads, g-socthi-vms.adb (Safe_Gethostbyname,
+-      Safe_Gethostbyaddr, Safe_Getservbyname, Safe_Getservbyport): Use new
+-      child package Task_Safe_NetDB
+-      (Host_Error_Messages): Add stub body.
+-      (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
+-
+-      * g-soccon-mingw.ads: Add Windows-specific constants.
+-      (Need_Netdb_Buffer): New constant.
+-      (GNAT.Sockets.Thin.C_Inet_Addr, Windows version): Remove useless Ada
+-      wrapper and import inet_addr(3) from the standard sockets library
+-      directly instead.
+-      (In_Addr): Add alignment clause.
+-      (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-taster.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
+-      s-osinte-irix.ads, s-interr-sigaction.adb, s-mastop-irix.adb,
+-      s-osinte-hpux-dce.ads, s-osinte-interix.ads, s-osinte-solaris.ads,
+-      s-taspri-solaris.ads, s-inmaop-vms.adb, s-interr-vms.adb,
+-      s-mastop-vms.adb, s-osinte-vms.ads, s-tpopde-vms.adb,
+-      s-osinte-mingw.ads, s-interr-vxworks.adb, i-cstrea-vms.adb,
+-      a-diocst.adb, a-direio.adb, a-interr.adb, a-sequio.adb, a-siocst.adb,
+-      a-ssicst.adb, a-storio.adb, a-ststio.adb, a-stwima.adb, a-tasatt.adb,
+-      a-taside.adb, a-tiocst.adb, a-witeio.adb, a-wtcstr.adb, g-crc32.adb,
+-      g-dirope.adb, g-dyntab.adb, g-memdum.adb, g-regexp.adb, g-spipat.adb,
+-      g-spitbo.adb, g-string.adb, g-string.ads, g-table.adb, g-thread.adb,
+-      i-cobol.adb, i-cpoint.adb, i-cstrea.adb, i-cstrin.adb, i-pacdec.adb,
+-      s-addima.adb, s-arit64.adb, s-auxdec.adb, s-auxdec.ads,
+-      s-auxdec-vms_64.ads, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
+-      s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
+-      s-direio.adb, s-fileio.adb, s-finimp.ads, s-geveop.adb, s-imgenu.adb,
+-      s-pack03.adb, s-pack05.adb, s-pack06.adb, s-pack07.adb, s-pack09.adb,
+-      s-pack10.adb, s-pack11.adb, s-pack12.adb, s-pack13.adb, s-pack14.adb,
+-      s-pack15.adb, s-pack17.adb, s-pack18.adb, s-pack19.adb, s-pack20.adb,
+-      s-pack21.adb, s-pack22.adb, s-pack23.adb, s-pack24.adb, s-pack25.adb,
+-      s-pack26.adb, s-pack27.adb, s-pack28.adb, s-pack29.adb, s-pack30.adb,
+-      s-pack31.adb, s-pack33.adb, s-pack34.adb, s-pack35.adb, s-pack36.adb,
+-      s-pack37.adb, s-pack38.adb, s-pack39.adb, s-pack40.adb, s-pack41.adb,
+-      s-pack42.adb, s-pack43.adb, s-pack44.adb, s-pack45.adb, s-pack46.adb,
+-      s-pack47.adb, s-pack48.adb, s-pack49.adb, s-pack50.adb, s-pack51.adb,
+-      s-pack52.adb, s-pack53.adb, s-pack54.adb, s-pack55.adb, s-pack56.adb,
+-      s-pack57.adb, s-pack58.adb, s-pack59.adb, s-pack60.adb, s-pack61.adb,
+-      s-pack62.adb, s-pack63.adb, s-pooloc.adb, s-poosiz.adb, s-scaval.adb,
+-      s-sequio.adb, s-shasto.adb, s-stalib.ads, s-stratt.adb, s-strcom.adb,
+-      s-taasde.adb, s-tasdeb.adb, s-tasuti.ads, s-tataat.ads, s-tpoben.ads,
+-      s-valenu.adb, s-widenu.adb, s-wwdenu.adb, s-addope.adb, a-stzmap.adb,
+-      a-ztcstr.adb, a-ztexio.adb, s-osinte-linux-hppa.ads: Replace
+-      Unchecked_* by Ada.Unchecked_*
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-string.adb, s-proinf-irix-athread.adb, s-gloloc-mingw.adb,
+-      s-tfsetr-default.adb, gnatfind.adb, gnatxref.adb, gprep.adb,
+-      g-regexp.adb, g-regexp.ads, g-regpat.ads, g-tasloc.adb, g-tasloc.ads,
+-      output.adb, switch-m.ads, tree_in.ads, tree_io.ads, indepsw.ads,
+-      g-utf_32.adb, g-utf_32.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb,
+-      a-zchuni.ads: Replace GNAT.xxx by System.xxx when appropriate.
+-
+-      * s-utf_32.adb, s-utf_32.ads, s-os_lib.adb, s-os_lib.ads, s-regexp.adb,
+-      s-regexp.ads, s-regpat.adb, s-regpat.ads, s-string.adb, s-string.ads,
+-      s-tasloc.adb, s-tasloc.ads: New files.
+-
+-2007-06-06  Bob Duff  <duff@adacore.com>
+-
+-      * g-expect-vms.adb:
+-      (Send_Signal, Close): Raise Invalid_Process if the process id is invalid.
+-      * g-expect.ads, g-expect.adb (Send): Avoid useless copy of the string.
+-      (Send_Signal, Close): Raise Invalid_Process if the process id is
+-      invalid.
+-      (Pattern_Matcher_Access): Is now a general access type to be able to
+-      use aliased string.
+-
+-2007-06-06  Thomas Quinot  <quinot@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-
+-      * a-intnam-aix.ads: Adjust comment to account for SIGADAABORT change
+-      (SIGEMT is now used instead of SIGTERM on AIX).
+-
+-      * s-osinte-aix.ads (Linker_Options): Use -pthread instead of -lpthreads.
+-      (Time_Slice_Supported): Set to True.
+-      Use SIGEMT instead of SIGTERM as SIGADAABORT.
+-
+-2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * a-calend.ads, a-calend.adb, a-calend-vms.ads, a-calend-vms.adb ("-"
+-      (Time, Time)): Use To_Relative_Time rather than manual calculation to
+-      express the bounds of Duration as Time. Raise Time_Error when the
+-      result is greater or equal to the higher bound of Duration (on the
+-      margin case).
+-      ("+" (Time, Duration)): Reorder code. Remove the declaration of constant
+-      Ada_High_And_Leaps.
+-      ("-" (Time, Duration)): Reorder code. Remove the declaration of constant
+-      Ada_High_And_Leaps.
+-      ("-" (Time, Time)): Reorder code.
+-      (All_Leap_Seconds): Removed.
+-      (Arithmetic_Operations.Add): Remove sign related kludge.
+-      (Arithmetic_Operations.Difference): Control the leaps seconds processing
+-      with flag Leap_Support.
+-      (Arithmetic_Operations.Subtract): Remove sign related kludge.
+-      (Check_Within_Time_Bounds): New procedure.
+-      (Clock): Control the leap seconds processing with flag Leap_Support.
+-      (Cumulative_Leap_Seconds): Assert that the target supports leap seconds.
+-      (Formatting_Operations.Split): Control the leap seconds processing with
+-      flag Leap_Support.
+-      (Formatting_Operations.Time_Of): Control the leaps seconds processing
+-      with flag Leap_Support. Adjust the year, month and day (if applicable)
+-      when the value of day seconds designates a new day.
+-      (Split): Use parameter associations for better readability. Integrate
+-      flag Is_Ada_05.
+-      (Time_Of): Use parameter associations for better readability. Integrate
+-      flag Is_Ada_05.
+-
+-      * a-calfor.adb (Split): Use parameter associations for better
+-      readability. Integrate flag Is_Ada_05.
+-      (Time_Of): Remove flag Leap_Checks. Use parameter associations for
+-      better readability. Integrate flag Is_Ada_05.
+-
+-2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-taprop-vms.adb, s-taprop-hpux-dce.adb, s-taprop-vxworks.adb,
+-      s-osprim-posix.adb, s-taprop-posix.adb, s-osprim-vxworks.adb,
+-      s-taprop-solaris.adb, s-osprim-solaris.adb, s-taprop-dummy.adb,
+-      s-osprim-unix.adb, s-osinte-freebsd.adb, s-osinte-freebsd.ads,
+-      s-osinte-lynxos.adb, s-osinte-lynxos.ads, s-taprop-tru64.adb,
+-      s-taprop-lynxos.adb, s-taprop-irix.adb, s-osinte-tru64.adb,
+-      s-osinte-tru64.ads, s-taprop-linux.adb, s-parame.ads,
+-      s-parame-vms-alpha.ads, s-parame-vms-ia64.ads, s-parame-hpux.ads,
+-      s-parame-vms-restrict.ads, s-parame-ae653.ads, s-parame-vxworks.ads,
+-      s-taprop-mingw.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos-3.adb,
+-      s-osprim-mingw.adb (Timed_Delay, Timed_Sleep): Register the base
+-      time when entering this routine to detect a backward clock setting
+-      (manual setting or DST adjustment), to avoid waiting for a longer delay
+-      than needed.
+-      (Time_Duration, To_Timeval, struct_timeval): Removed when not relevant.
+-      Remove handling of deferred priority change, and replace by setting the
+-      task priority directly, as required by AI-188.
+-      Update comments.
+-      (Max_Task_Image_Length): New constant.
+-      Replace Warnings (Off) by Unreferenced pragma, cleaner.
+-      (Dynamic_Priority_Support): Removed, no longer needed.
+-      (Poll_Base_Priority_Change): Ditto.
+-      (Set_Ceiling): Add this procedure to change the ceiling priority
+-      associated to a lock. This is a dummy implementation because dynamic
+-      priority ceilings are not supported by the underlying system.
+-
+-      * a-dynpri.adb (Set_Priority): Take into account case where Target is
+-      accepting a RV with its priority boosted.
+-      Remove handling of deferred priority change, and replace by setting the
+-      task priority directly, as required by AI-188.
+-
+-      * s-taenca.adb (Try_To_Cancel_Entry_Call): Remove special case for
+-      Succeeded = True.
+-      Remove handling of deferred priority change, and replace by setting the
+-      task priority directly, as required by AI-188.
+-      (Wait_For_Completion, Wait_For_Call, Timed_Selective_Wait): Change state
+-      of Self_Id earlier.
+-
+-      * s-tasini.ads, s-tasini.adb (Wakeup_Entry_Caller): Relax assertion.
+-      (Poll_Base_Priority_Change): Removed.
+-      Code clean up: use SSL.Current_Target_Exception.
+-
+-      * s-tasren.adb (Task_Count): Call Yield to let a chance to other tasks
+-      to run as this is a potentially dispatching point.
+-      (Call_Synchronous): Use Local_Defer_Abort.
+-      (Callable): Relax assertion.
+-      (Selective_Wait): Relax assertion in case abort is not allowed.
+-      Remove handling of deferred priority change, and replace by setting the
+-      task priority directly, as required by AI-188.
+-
+-      * s-tasuti.adb (Make_Passive): Adjust assertions.
+-      Remove handling of deferred priority change, and replace by setting the
+-      task priority directly, as required by AI-188.
+-
+-2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * system-vxworks-sparcv9.ads, system-solaris-x86.ads,
+-      system-irix-o32.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
+-      system-lynxos-x86.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
+-      system-vxworks-mips.ads, system-vxworks-alpha.ads,
+-      system-vxworks-x86.ads, system-linux-ppc.ads, system-mingw.ads,
+-      system-vms-zcx.ads, system-darwin-ppc.ads, system-vxworks-ppc.ads,
+-      system-interix.ads, system-linux-hppa.ads, system-tru64.ads,
+-      system-hpux.ads, system-irix-n32.ads, system-solaris-sparc.ads,
+-      system-solaris-sparcv9.ads, system-vms.ads, system.ads,
+-      system-vms_64.ads, system-hpux-ia64.ads, system-linux-x86_64.ads,
+-      system-linux-ia64.ads: Document mapping between Ada and OS priorities.
+-      This patch changes the largest non-binary modulus from 2**31-1 to
+-      2**32-1.
+-      (Compiler_System_Version): Removed, no longer used.
+-      Clean up system files by removing flags only used on a single target.
+-      Also remove obsolete flags, only used during bootstrap from system.ads
+-      (Address): Add a pragma Preelaborable_Initialization.
+-
+-      * system-aix.ads:  Ditto.
+-      (GCC_ZCX_Support): Set to true.
+-      Update priority range on AIX and map Ada priorities to target
+-      priorities appropriately for different scheduling policies.
+-
+-      * ttypes.ads: set largest non-binary modulus from 2**31-1 to 2**32-1
+-
+-2007-06-06  Vincent Celier  <celier@adacore.com>
+-
+-      * mlib-tgt-specific.adb, mlib-tgt-specific.ads,
+-      mlib-tgt-vms.adb, mlib-tgt-vms.ads: New files.
+-
+-      * mlib-tgt.adb, mlib-tgt.ads, mlib-tgt-darwin.adb,
+-      mlib-tgt-vxworks.adb, mlib-tgt-mingw.adb, mlib-tgt-lynxos.adb,
+-      mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb,
+-      mlib-tgt-vms-ia64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+-      mlib-tgt-hpux.adb, mlib-tgt-tru64.adb: Make a common body for package
+-      MLib.Tgt, containing the default versions of the exported subprograms.
+-      For each platform, create a specific version of the body of new child
+-      package MLib.Tgt.Specific that contains only the body of subprograms
+-      that are different from the default.
+-      (Archive_Builder_Append_Options): New function.
+-
+-2007-06-06  Matthew Gingell  <gingell@adacore.com>
+-
+-      * s-osinte-aix.adb: Map Ada priorities to target priorities
+-      appropriately for different scheduling policies.
+-
+-2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-osinte-linux.ads (sigset_t): Bump alignment to match more closely
+-      its C counterpart.
+-      Remove references to Unchecked_Conversion, and use Ada.xxx instead.
+-      Replace Unchecked_Conversion by Ada.Unchecked_Conversion.
+-
+-2007-06-06  Vasiliy Fofanov  <fofanov@adacore.com>
+-
+-      * s-osprim-vms.ads, s-osprim-vms.adb (Initialize): New procedure.
+-      Noop on VMS, added for interface commonality.
+-
+-2007-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+-          Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-          Olivier Hainque  <hainque@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <object>: Manually mark the top of the
+-      renamed expression of a full renaming at toplevel.
+-      (gnat_to_gnu_entity, case object): If not defining, do not look inside
+-      the values the constant is initialized to if it is an N_Allocator.
+-      (gnat_to_gnu_entity) <E_Array_Subtype>: Manually mark the top of the
+-      TYPE_SIZE_UNIT of inner types after the stride is elaborated.
+-      (make_aligning_type): Accept an extra ROOM argument for storage to be
+-      made available before the aligned field, and an extra BASE_ALIGN
+-      argument for callers to pass the alignment guaranteed to be honored for
+-      the whole aligning object. Avoid call to finish_record_type, which only
+-      interferes with the sizes we want to set.
+-      (gnat_to_gnu_entity) <E_Variable>: Pass the required extra arguments to
+-      make_aligning_type for super-aligned objects on stack.
+-      (components_to_record): Pass the adjusted size of the type when creating
+-      fields in the qualified union for the variant part.
+-      (gnat_substitute_in_type): Copy TYPE_USER_ALIGN.
+-      (gnat_to_gnu_entity, case E_Signed_Integer_Subtype): Likewise for
+-      packed array type.
+-      (maybe_pad_type): Set TYPE_USER_ALIGN.
+-      (make_aligning_type): Likewise.
+-      ALIGN argument is unsigned int.
+-      (gnat_to_gnu_entity, case E_Function): Back annotate return mechanism.
+-      (gnat_to_gnu_param): Likewise, for parameters.
+-      (gnat_to_gnu_entity) <object>: Always instantiate the renaming object
+-      if it is constant and stems from a function call.
+-      (gnat_to_gnu_entity) <E_Record_Type>: Set packed to -2 if the alignment
+-      of the record is specified.  Adjust accordingly.
+-      (adjust_packed): New static function.
+-      (gnat_to_gnu_field): Use it to adjust the packedness setting.
+-      (components_to_record): Likewise.
+-      (gnat_to_gnu_entity) <object>: Do not test the renamed expression for
+-      side-effects if the object is deemed constant.
+-      (gnat_to_gnu_entity) <E_Array_Type>: Create a name for the fat pointer
+-      type instead of merely finalizing it.  Tidy.
+-      <E_Access_Subprogram_Type>: Retrieve the type from the TYPE_DECL.
+-      <E_Access_Type>: Likewise.
+-      (defer_debug_incomplete_list): Rename to defer_finalize_list.
+-      (defer_debug_level): Delete.
+-      (gnat_to_gnu_entity) <debug_deferred>: Likewise
+-      <E_Array_Type>: Call rest_of_record_type_compilation on the fat pointer
+-      type.
+-      <E_Record_Type>: Do not explicitly defer finalizing the type.
+-      Adjust for write_record_type_debug_info renaming.
+-      <E_Subprogram_Type>: Likewise.
+-      Finalize deferred types right after deferred incomplete types are
+-      expanded.
+-      (rest_of_type_decl_compilation): New global function.
+-      (components_to_record): Rename defer_debug parameter to do_not_finalize.
+-      (components_to_record): Propagate the packedness to the fields of the
+-      qualified union type if there is a variant part.
+-      (gnat_to_gnu_entity) <E_Array_Type>: Use new function
+-      instead of inline code to adjust the XUT field offsets.
+-      (gnat_to_gnu_entity): Adjust for new prototype of finish_record_type.
+-      <E_Record_Subtype>: Do not let finish_record_type compute the sizes
+-      and write the debug info if the type derives from a discriminated one.
+-      (gnat_to_gnu_entity) <E_Array_Type>: Adjust call to create_index_type.
+-      <E_Array_Subtype>: Likewise.
+-      <E_String_Literal_Subtype>: Likewise.
+-      (gnat_to_gnu_entity): Set TYPE_USER_ALIGN on types only if they have
+-      an alignment clause.
+-      (maybe_pad_type): Update ORIG_SIZE to the minimum required to meet ALIGN
+-      before giving warning.
+-      (prepend_one_attribute_to): New function, helper to prepend an attribute
+-      to an attribute list.
+-      (gnat_to_gnu_entity) <E_Procedure>: Use it.
+-      (prepend_attributes): Likewise.
+-      (gnat_to_gnu_entity) <E_Variable>: Use constants of the proper type.
+-      <E_Array_Type>: Declare the padding type for the element type, if any.
+-      <E_Array_Subtype>: Likewise.
+-      (defer_limited_with): New variable.
+-      (Gigi_Equivalent_Type): New function.
+-      (gnat_to_gnu_entity): Use it at start and use result throughout.
+-      (gnat_to_gnu_entity, case E_Access_Type): Rework to use
+-      Gigi_Equivalent_Type, support Limited_With, allow two levels of
+-      indirection, precompute if unconstrained array to simplify logic, and
+-      use defer_limited_with to defer elaboration of some types from limited
+-      with.
+-      (finalize_from_with_types): New function.
+-
+-2007-06-06  Gary Dismukes  <dismukes@adacore.com>
+-          Eric Botcazou  <ebotcazou@adacore.com>
+-          Tristan Gingold  <gingold@adacore.com>
+-          Olivier Hainque  <hainque@adacore.com>
+-
+-      * trans.c (Identifier_to_gnu): Change test for deferred constant by
+-      adding guard that the entity is an E_Constant before testing presence
+-      of Full_view (and remove unnecessary test that entity is not a type).
+-      For a CONST_DECL used by reference, manually retrieve
+-      the DECL_INITIAL.  Do not invoke fold in the other DECL_P cases either.
+-      (struct language_function): Move from utils.c to here.
+-      (struct parm_attr): New structure.
+-      (parm_attr, parm_attr vector, parm_attr GC vector): New types.
+-      (f_parm_attr_cache): New macro.
+-      (Attribute_to_gnu) <Attr_Length>: When not optimizing, cache the
+-      expressions for the 'First, 'Last and 'Length attributes of the
+-      unconstrained array IN parameters.
+-      (Subprogram_Body_to_gnu): Use gnu_subprog_decl throughout.
+-      Allocate the information structure for the function earlier, as well
+-      as the language-specific part.
+-      If the parameter attributes cache has been populated, evaluate the
+-      cached expressions on entry.
+-      (takes_address): Add OPERAND_TYPE parameter.  Handle N_Function_Call,
+-      N_Procedure_Call_Statement and N_Indexed_Component.
+-      (Pragma_to_gnu): Translate inspection_point to an asm statement
+-      containaing a comment and a reference to the object (either its address
+-      for BLKmode or its value).
+-      (Identifier_to_gnu): Use TREE_CONSTANT instead of CONST_DECL to decide
+-      to go to DECL_INITIAL. Together with the size constraint relaxation
+-      in create_var_decl, enlarges the set of situations in which an
+-      identifier may be used as an initializer without implying elaboration
+-      code.
+-      (Subprogram_Body_to_gnu): Do not fiddle with the debug interface but set
+-      DECL_IGNORED_P on the function if Needs_Debug_Info is not set on the
+-      node.
+-      (maybe_stabilize_reference): Remove lvalues_only parameter.
+-      (gnat_stabilize_reference): Adjust for above change.
+-      (gnat_to_gnu): Do not set location information on the result
+-      if it is a reference.
+-      (add_cleanup): Add gnat_node parameter and set the location of the
+-      cleanup to it.
+-      (Handled_Sequence_Of_Statements_to_gnu): Adjust calls to add_cleanup.
+-      (Exception_Handler_to_gnu_zcx): Likewise.
+-      (gigi): Remove the cgraph node if the elaboration procedure is empty.
+-      (Subprogram_Body_to_gnu): If a stub is attached to the subprogram, emit
+-      the former right after the latter.
+-      (start_stmt_group): Make global.
+-      (end_stmt_group): Likewise.
+-      (gnu_constraint_error_label_stack, gnu_storage_error_label_stack): New
+-      vars.
+-      (gnu_program_error_label_stack): Likewise.
+-      (gigi): Initialize them.
+-      (call_to_gnu, gnat_to_gnu, emit_check): Add new arg to build_call_raise.
+-      (gnat_to_gnu, N_{Push,Pop}_{Constraint,Storage,Program}_Error_Label):
+-      New cases.
+-      (push_exception_label_stack): New function.
+-      (takes_address): New function.
+-
+-      * utils.c (struct language_function): Move to trans.c from here.
+-      (unchecked_convert): Do not wrap up integer constants in
+-      VIEW_CONVERT_EXPRs.
+-      (create_var_decl_1): Decouple TREE_CONSTANT from CONST_DECL. Prevent
+-      the latter for aggregate types, unexpected by later passes, and relax an
+-      arbitrary size constraint on the former.
+-      (create_field_decl): Use tree_int_cst_equal instead of operand_equal_p
+-      to compare the sizes.
+-      (convert_vms_descriptor): When converting to a fat pointer type, be
+-      prepared for a S descriptor at runtime in spite of a SB specification.
+-      (shift_unc_components_for_thin_pointers): New function.
+-      (write_record_type_debug_info): For variable-sized fields, cap the
+-      alignment of the pointer to the computed alignment.
+-      (finish_record_type): Change HAS_REP parameter into REP_LEVEL.
+-      If REP_LEVEL is 2, do not compute the sizes.
+-      (build_vms_descriptor): Adjust for new prototype of finish_record_type.
+-      (build_unc_object_type): Likewise.
+-      (declare_debug_type): New function.
+-
+-      * ada-tree.def: USE_STMT: removed (not emitted anymore).
+-
+-      * misc.c (gnat_expand_expr): Call to gnat_expand_stmt removed because
+-      no statement is expandable anymore.
+-      (gnat_init_gcc_eh): Do not initialize the DWARF-2 CFI machinery twice.
+-      (gnat_handle_option): Only allow flag_eliminate_debug_types to be set
+-      when the user requested it explicitely.
+-      (gnat_post_options): By default, set flag_eliminate_unused_debug_types
+-      to 0 for Ada.
+-      (get_alias_set): Return alias set 0 for a type if
+-      TYPE_UNIVERSAL_ALIASING_P is set on its main variant.
+-
+-      * ada-tree.h: (TYPE_UNIVERSAL_ALIASING_P): New macro.
+-      (DECL_FUNCTION_STUB): New accessor macro.
+-      (SET_DECL_FUNCTION_STUB): New setter macro.
+-
+-      * lang.opt (feliminate-unused-debug-types): Intercept this flag for Ada.
+-
+-      * fe.h (Get_Local_Raise_Call_Entity, Get_RT_Exception_Entity): New
+-      declarations.
+-
+-2007-06-06  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * s-intman-vxworks.ads, s-intman-vxworks.adb (Abort_Task_Signal):
+-      Rename to Abort_Task_Interrupt to be able to keep the same interface
+-      as the rest of the targets.
+-
+-      * s-osinte-vxworks.ads s-osinte-vxworks.adb
+-      (To_VxWorks_Priority): Remove explicit "in" mode indicator
+-
+-      * s-osinte-vxworks6.ads, s-vxwork-arm.ads, system-vxworks-arm.ads:
+-      New files.
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-chahan.ads: Remove obsolescent pragmas
+-
+-      * a-chlat1.ads: Minor reformatting
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * comperr.adb (Compiler_Abort): New Finalize/Output_Messages interface
+-      for Errout
+-
+-      * errout.adb: New Finalize/Compilation_Errors/Output_Messages
+-      implementation
+-
+-      * errout.ads (Finalize): Changed interface
+-      (Output_Messages): New procedure
+-      (Compilation_Errors): New Interface
+-
+-      * prepcomp.ads, prepcomp.adb (Parse_Preprocessing_Data_File): New
+-      Finalize/Output_Messages interface for Errout
+-      (Prepare_To_Preprocess): New Finalize/Output_Messages interface for
+-      Errout.
+-
+-2007-06-06  Thomas Quinot  <quinot@adacore.com>
+-          Olivier Hainque  <hainque@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * a-except.ads, a-except.adb: (Rmsg_28): Fix description for E.4(18)
+-      check.
+-      (Raise_Current_Excep): Call Debug_Raise_Exception just before
+-      propagation starts, to let debuggers know about the event in a reliable
+-      fashion.
+-      (Local_Raise): Moved to System.Exceptions
+-      More convenient to have this as a separate unit
+-
+-      * s-except.adb, s-except.ads: New files.
+-
+-      * a-exextr.adb (Unhandled_Exception): Delete - replaced by
+-      Debug_Unhandled_Exception in System.Exceptions where it belongs
+-      together with a couple of other debug helpers.
+-      (Notify_Unhandled_Exception): Use Debug_Unhandled_Exception instead of
+-      the former Unhandled_Exception.
+-
+-      * exp_ch11.ads, exp_ch11.adb: (Possible_Local_Raise): New procedure
+-      (Warn_No_Exception_Propagation): New procedure
+-      (Warn_If_No_Propagation): Rewritten for new warning generation
+-      (Expand_Exception_Handlers): New warning generation
+-      (Expand_N_Raise_xxx_Error): Rewritten for new warnings
+-      (Add_Exception_Label): Use Special_Exception_Package_Used for test
+-      instead of Most_Recent_Exception_Used (accomodates Exception_Traces)
+-      (Expand_Local_Exception_Handlers): Unconditionally add extra block wrap
+-      even if restriction is set (makes life easier in Check_Returns)
+-      (Expand_Local_Exception_Handlers): Follow renamed entity chain when
+-      checking exception identities.
+-      (Expand_Local_Exception_Handlers): Do not optimize when all others case
+-      (Expand_Local_Exception_Handlers): Set Exception_Junk flag on generated
+-      block for handler (used by Check_Returns)
+-      (Expand_Local_Exception_Handlers): Local_Raise now takes an address
+-      (Expand_N_Handled_Sequence_Of_Statements): Properly handle -gnatd.x to
+-      remove all exception handlers when optimizing local raise statements.
+-      (Find_Local_Handler): Use Get_Renamed_Entity
+-      (Expand_N_Handled_Sequence_Of_Statements): If the handled sequence is
+-      marked analyzed after expanding exception handlers, do not generate
+-      redundant cleanup actions, because they have been constructed already.
+-
+-2007-06-06  Thomas Quinot  <quinot@adacore.com>
+-
+-      * a-finali.ads (Ada.Finalization): Add missing pragma Remote_Types. The
+-      presence of this categorization pragma is mandated by the language.
+-      (Limited_Controlled): Add missing pragma Preelaborable_Initialization
+-      for this type.
+-
+-2007-06-06  Vincent Celier  <celier@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * bcheck.adb, binde.adb, binderr.adb, binderr.ads, butil.adb,
+-      butil.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
+-      err_vars.ads, exp_tss.adb, exp_tss.ads, fmap.adb, fmap.ads,
+-      fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
+-      lib-sort.adb, lib-util.adb, lib-util.ads, lib-xref.adb, makeutl.ads,
+-      makeutl.adb, nmake.adt, osint.adb, osint.ads, osint-b.adb,
+-      par-load.adb, prj-attr.adb, prj-dect.adb, prj-err.adb, prj-makr.adb,
+-      prj-part.adb, prj-pp.adb, prj-proc.adb, prj-tree.adb, prj-tree.ads,
+-      prj-util.adb, prj-util.ads, scans.adb, scans.ads, sem_ch2.adb,
+-      sinput-c.adb, styleg-c.adb, tempdir.adb, tempdir.ads, uname.adb,
+-      uname.ads, atree.h, atree.ads, atree.adb, ali-util.ads, ali-util.adb,
+-      ali.ads, ali.adb:
+-      Move Name_Id, File_Name_Type and Unit_Name_Type from package Types to
+-      package Namet. Make File_Name_Type and Unit_Name_Type types derived from
+-      Mame_Id. Add new type Path_Name_Type, also derived from Name_Id.
+-      Use variables of types File_Name_Type and Unit_Name_Type in error
+-      messages.
+-      (Get_Name): Add parameter Ignore_Special, and set it reading file name
+-      (New_Copy): When debugging the compiler, call New_Node_Debugging_Output
+-      here.
+-      Define flags Flag217-Flag230 with associated subprograms
+-      (Flag_Word5): New record type.
+-      (Flag_Word5_Ptr): New access type.
+-      (To_Flag_Word5): New unchecked conversion.
+-      (To_Flag_Word5_Ptr): Likewise.
+-      (Flag216): New function.
+-      (Set_Flag216): New procedure.
+-
+-2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * a-stzunb.adb, a-stwiun.adb, a-strunb.adb: (Insert): Use 'Length
+-      instead of 'Size.
+-
+-      * a-stwifi.ads, a-stzfix.ads: Minor reformatting
+-
+-2007-06-06  Javier Miranda  <miranda@adacore.com>
+-
+-      * a-tags.ads, a-tags.adb (Tag_Size): This constant is now internal to
+-      the package.
+-      (Object_Specific_Data_Array): This is now internal to the package.
+-      (Object_Specific_Data): This is now internal to the package.
+-      (Select_Specific_Data_Element): This is now internal to the package.
+-      (Select_Specific_Data_Array): This is now internal to the package.
+-      (Select_Specific_Data): This is now internal to the package.
+-      (Offset_To_Top_Function_Ptr): This is now public.
+-      (To_Offset_To_Top_Function_Ptr): Removed.
+-      (Storage_Offset_Ptr,To_Storage_Offset_Ptr): These declarations are now
+-       local to subprogram Offset_To_Top.
+-      (Predefined_DT): Removed.
+-      (Typeinfo_Ptr): Removed.
+-      (OSD): This function is now internal to this package.
+-      (SSD): This function is now internal to this package.
+-      (DT): New function that displaces the pointer to the table of primitives
+-       to get access to the enclosing wrapper record.
+-      (IW_Membership): Code cleanup.
+-      (Offset_To_Top): Code cleanup.
+-      (Predefined_DT): Removed.
+-      (Register_Interface_Tag): Removed.
+-      (Set_Interface_Table): Removed.
+-      (Set_Offset_Index): Removed.
+-      (Set_Offset_To_Top): Code cleanup.
+-      (Set_OSD): Removed.
+-      (Set_Signature): Removed.
+-      (Set_SSD): Removed.
+-      (Set_Tagged_Kind): Removed.
+-      (Typeinfo_Ptr): Removed.
+-      (TSD): Removed.
+-      (Displace): Add missing check on null actual.
+-
+-      * exp_disp.ads, exp_disp.adb
+-      (Select_Expansion_Utilities): Removed.
+-      (Build_Common_Dispatching_Select_Statements): Moved to exp_atags.
+-      (Expand_Dispatching_Call): Update calls to Get_Prim_Op_Address because
+-      the interface requires a new parameter.
+-      (Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
+-      Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Replace
+-      calls to subprograms Build_T, Build_S, etc. by the corresponding code.
+-      Done to remove package Select_Expansion_Utilities.
+-      (Make_DT): New implementation for statically allocated dispatch tables.
+-      (Make_Secondary_DT): Moved to the scope of Make_DT.
+-      (Register_Primitive): Code cleanup plus incoporate the use of the new
+-      function DT_Address_Attribute.
+-      (Expand_Interface_Thunk): The profile of this subprogram has been
+-      changed to return the Thunk_Id and the corresponding code.
+-      (Fill_DT_Entry): Removed. Its functionality is now provided by
+-      subprogram Register_Primitive.
+-      (Fill_Secondary_DT_Entry): Removed. Its functionality is now provided by
+-      subprogram Register_Primitive.
+-      (Register_Primitive): New subprogram that incorporates the previous
+-      functionalities of Fill_DT_Entry and Fill_Secondary_DT_Entry.
+-      (Build_Common_Dispatching_Select_Statements): Remove formal Typ. This
+-      was only required to call Make_DT_Access_Action, which is now removed.
+-      (Ada_Actions): Removed
+-      (Action_Is_Proc): Removed
+-      (Action_Nb_Arg): Removed
+-      Replace all the calls to Make_DT_Access_Action by direct calls to
+-      Make_Procedure_Call_Statement or Make_Function_Call.
+-      (Set_DTC_Entity_Value): New subprogram.
+-      (Set_All_DT_Position): Add call to new subprogram Set_DTC_Entity_Value.
+-      (Expand_Interface_Thunk): Add missing support for primitives that are
+-      functions with a controlling result (case in which there is no need
+-      to generate the thunk).
+-
+-      * exp_atag.ads, exp_atag.adb
+-      (Build_DT): New subprogram that displaces the pointer to reference the
+-      base of the wrapper record.
+-      (Build_Typeinfo_Offset): Removed.
+-      (RTE_Tag_Node): Removed.
+-      (Build_Common_Dispatching_Select_Statements): Moved here from exp_disp
+-      (Build_Get_RC_Offset): Removed.
+-      (Build_Inherit_Predefined_Prims): Removed.
+-      (Build_Inherit_TSD: Removed.
+-      (Build_New_TSD): Removed.
+-      (Build_Set_External_Tag): Removed.
+-      (Build_Set_Predefined_Prim_Op_Address): Add documentation.
+-      (Build_Set_Prim_Op_Address): Add documentation.
+-      (Build_Set_TSD): Removed.
+-
+-      * rtsfind.ads, rtsfind.adb
+-      (Load_Fail): If load fails and we are not in configurable run-time
+-      mode, then raise Unrecoverable_Error.
+-      (Text_IO_Kludge): Generate an error message if a run-time library is
+-      not available in a given run-time (ie. zfp run-time).
+-      (RTE_Record_Component): Add code to check that the component we search
+-      for is not found in two records in the given run-time package.
+-      (RE_DT_Offset_To_Top_Size, RE_DT_Predef_Prims_Size): Removed
+-      (RE_DT_Predef_Prims_Offset): New entity
+-      (RE_Static_Offset_To_Top): New entity
+-      (RE_HT_Link): New entity.
+-      (System_Address_Image): Addition of this run-time package.
+-      (RE_Address_Image): New entity.
+-      (RE_Abstract_Interface): Removed.
+-      (RE_Default_Prim_Op_Count): Removed.
+-      (RE_DT_Entry_Size): Removed.
+-      (RE_DT_Min_Prologue_Size): Removed.
+-      (RE_DT_Prologue_Size): Removed.
+-      (RE_Ifaces_Table_Ptr): Removed.
+-      (RE_Interface_Data_Ptr): Removed.
+-      (RE_Type_Specific_Data): Removed.
+-      (RE_Primary_DT): Removed.
+-      (RE_Register_Interface_Tag): Removed.
+-      (RE_Set_Offset_Index): Removed.
+-      (RE_Set_OSD): Removed.
+-      (RE_Set_SSD): Removed.
+-      (RE_Set_Signature): Removed.
+-      (RE_Set_Tagged_Kind): Removed.
+-      (RE_Address_Array): New entity.
+-      (RE_DT): New entity.
+-      (RE_Iface_Tag): New entity.
+-      (RE_Interfaces_Table): New entity.
+-      (RE_No_Dispatch_Table): New entity.
+-      (RE_NDT_Prims_Ptr): New entity.
+-      (RE_NDT_TSD): New entity.
+-      (RE_Num_Prims): New entity.
+-      (RE_Offset_To_Top_Function_Ptr): New entity.
+-      (RE_OSD_Table): New entity.
+-      (RE_OSD_Num_Prims): New entity.
+-      (RE_Predef_Prims): New entity
+-      (RE_Predef_Prims_Table_Ptr): New entity.
+-      (RE_Primary_DT): New entity.
+-      (RE_Signature): New entity.
+-      (RE_SSD): New entity.
+-      (RE_TSD): New entity.
+-      (RE_Type_Specific_Data): New entity.
+-      (RE_Tag_Kind): New entity.
+-
+-2007-06-06  Thomas Quinot  <quinot@adacore.com>
+-
+-      * a-textio.ads, a-textio.adb (Write): Add explicit size clause for the
+-      C imported variable.
+-      (Skip_Line): Do not reset Before_LM_PM immediately when Before_LM is set
+-      on entry.
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-tienio.adb (Get): Adjust buffer size to accomodate one extra
+-      character
+-
+-2007-06-06  Vincent Celier  <celier@adacore.com>
+-
+-      * a-tifiio.adb (Put, internal): For negative numbers, check that there
+-      is room for at least one digit and the minus sign.
+-      (Put.Put_Character): Never put a character outside of the range of
+-      string To.
+-
+-2007-06-06  Olivier Hainque  <hainque@adacore.com>
+-          Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * utils2.c (build_allocator): Provide the extra arguments to
+-      make_aligning_type for super-aligned objects allocated from the default
+-      pool. Leave enough room for a pointer before the aligning field, and
+-      store the system's allocator return value there.
+-      (build_call_alloc_dealloc): When releasing a super-aligned object,
+-      retrieve the system's allocator return value from where build_allocator
+-      has stored it, just ahead of the adjusted address we are passed.
+-      (build_call_raise): Handle properly the generation of line numbers when
+-      the node is marked No_Location.
+-      (compare_elmt_bitpos): Use tree_int_cst_compare.  Stabilize the sort
+-      by using DECL_UID on ties.
+-      (build_binary_op) <EQ_EXPR>: Accept fat pointer types with the same
+-      main variant.
+-      (build_call_raise): Handle converting exception into goto; support new
+-      argument KIND.
+-      (build_component_ref): Add new arg to build_call_raise.
+-
+-2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * a-ztflau.adb, a-wtflau.adb, a-tiflau.adb (Load_Real): Do not parse
+-      "." in the case of nnn.xxx when nnn terminates with an underscore.
+-      Parse the remaining "#" or ":" in the case of nnn#.xxx#
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-tigeau.ads, a-tigeau.adb: (Store_Char): Change Buf to IN OUT
+-
+-2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+-          Vincent Celier  <celier@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * bindgen.adb (Gen_Output_File_Ada): Generate pragma No_Run_Time when
+-      needed.
+-      (Gen_Output_File_Ada, Gen_Output_File_C): Never use __attribute
+-      ((destructor)) for adafinal, even when switch -a is used.
+-      Do not issue pragma Linker_Destructor for adafinal when switch -a is
+-      used.
+-      (Gen_Object_Files_Options): Add formatting of Linker Options, when
+-      Output_Linker_Option_List is set. Suppress this formatting when
+-      Zero_Formatting is set.
+-      Add case for CLI_Target.
+-      (System_Restrictions_Used): New flag, used to avoid generating with of
+-      System_Restrictions and initialization of the data unless there is
+-      some use of System.Restrictions in the partition.
+-      (Check_System_Restrictions_Used): New procedure
+-
+-      * s-stalib.adb: Remove with of System.Restrictions. No longer needed
+-      since we only with this unit in the binder file if it is used elsewhere
+-      in the partition.
+-
+-2007-06-06  Vincent Celier  <celier@adacore.com>
+-
+-      * bindusg.adb: Add line for @<response file>
+-      Add lines for new switches -R and -Z
+-
+-      * gnatbind.adb (Gnatbind): Do not include sources from the GNAT
+-      hierarchy in the list of files of the closure when -R is used
+-      (Gnatbind): Accept arguments starting with '@' to indicate response
+-      files and take the arguments from the response files.
+-      If List_Closure is set, display the referenced files
+-
+-2007-06-06  Javier Miranda  <miranda@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * checks.ads, checks.adb (Apply_Address_Clause_Check): Handle case in
+-      which the address-clause is applied to in-mode actuals (allowed by
+-      13.1(22)).
+-      (Apply_Discriminant_Check): Do not generate a check if the type is
+-      constrained by a current instance.
+-      (Activate_Division_Check): New procedure
+-      (Activate_Overflow_Check): New procedure
+-      (Activate_Range_Check): New procedure
+-      Call these new Activate procedures instead of setting flags directly
+-      (Apply_Array_Size_Check): Removed, no longer needed.
+-      Code clean up: remove obsolete code related to GCC 2.
+-      (Get_E_Length): Protect against bomb in case scope is standard
+-      (Selected_Range_Checks): If the node to be checked is a conversion to
+-      an unconstrained array type, and the expression is a slice, use the
+-      bounds of the slice to construct the required constraint checks.
+-      Improve NOT NULL error messages
+-      (Apply_Constraint_Check): If the context is a null-excluding access
+-      type, diagnose properly the literal null.
+-
+-2007-06-06  Pascal Obry  <obry@adacore.com>
+-
+-      * clean.adb (Clean_Archive): Use untouched casing for the archive name
+-      and the corresponding .deps file.
+-      (Clean_Interface_Copy_Directory): Use untouched casing for the library
+-      src directory. Minor code-clean-up. Use untouched casing for files
+-      read into the library src dir.
+-      (Clean_Library_Directory): Idem.
+-      (Parse_Cmd_Line): Accept new switch -aP
+-
+-2007-06-06  Javier Miranda  <miranda@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Eric Botcazou  <ebotcazou@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-
+-      * einfo.ads, einfo.adb (Available_View): New synthesized attribute
+-      applicable to types that have the With_Type flag set. Returns the
+-      non-limited view of the type, if available, otherwise the type itself.
+-      For class-wide types, there is no direct link in the tree, so we have
+-      to retrieve the class-wide type of the non-limited view of the Etype.
+-      New attributes Static_Initialization and Static_Elaboration_Desired.
+-      Remove the pragma Thread_Body, and the associated flag
+-      Is_Thread_Body in entities, and all related code.
+-      (Suppress_Value_Tracking_On_Call): New flag
+-      E_Exception has Esize and Alignment fields
+-      (Universal_Aliasing): New function.
+-      (Set_Universal_Aliasing): New procedure.
+-      (Write_Entity_Flags): Deal with Universal_Aliasing flag.
+-      (Check_Nested_Access): New procedure.
+-      (Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures.
+-      (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
+-      (Related_Interface): New attribute. Present in dispatch table pointer
+-      components of records. Set to point to the entity of the corresponding
+-      interface type.
+-      (Is_By_Reference_Type): Recurse on the full view of an incomplete type.
+-      (Original_Access_Type): Remove, not needed.
+-      (Root_Type): Handle properly subtypes of class-wide-types.
+-      Update comments.
+-
+-      * sem_ch4.adb (Analyze_Explicit_Dereference): Add support for
+-      class-wide types visible through limited-with clauses.
+-      (Try_Primitive_Operation): When examining all primitive operations of a
+-      tagged type, do not consider subprograms labeled as hidden unless they
+-      belong to a private generic type with a tagged parent.
+-      (Try_Object_Operation): Extensive rewriting, to handle properly various
+-      overloading cases, when several ancestors may have class-wide operations
+-      that are possible candidates, and when the overloaded functions return
+-      array types and have defaulted parameters so that the call may be
+-      interpreted as an indexing.
+-      (Analyze_Allocator): Remove Mark_Allocator and its invocation.
+-      (Process_Function_Call): use Next, rather than Next_Actual, to analyze
+-      successive actuals before analyzing the call itself.
+-      (Try_Primitive_Operation): A primitive operation is compatible with the
+-      prefix if the prefix has a synchronized type and the type of the formal
+-      is its corresponding record, as can be the case when the primitive
+-      operation is declared outside of the body of the type.
+-      (Traverse_Homonyms): New subprocedure of Try_Class_Wide_Operation, to
+-      perform homonym traversal, looking for class-wide operation matches
+-      (formerly done in statements of Try_Class_Wide_Operation). Matches on
+-      access parameters are now restricted to anonymous access types.
+-      (Mark_Allocator): An allocator with a discriminant association parent is
+-      a coextension.
+-      (Try_One_Prefix_Interpretation): If the type of the object is
+-      incomplete, as can be happen when it is a limited view obtained through
+-      a limited_with_clause, the selected component is not part of a prefixed
+-      call.
+-      (Complete_Object_Operation): Diagnose properly an object that is not
+-      aliased when the corresponding controlling formal is an access
+-      parameter.
+-      (Try_Primitive_Operation, Try_Class_Wide_Operation): Diagnose properly
+-      ambiguous calls in prefixed notation, where two primitives differ only
+-      in that the controlling argument of one is an access parameter.
+-
+-      * sem_ch6.adb (Has_Single_Return): Add guard in code that determines
+-      whether a function that returns an unconstrained type can be inlined.
+-      (Process_Formals): Diagnose properly the illegal use of an incomplete
+-      type in the profile of an access_to_subprogram declaration.
+-      (Check_Synchronized_Overriding): Nothing check for concurrent types, the
+-      operations are attached to the corresponding record.
+-      (Analyze_Subprogram_Specification): Add variables Formal and Formal_Typ.
+-      When processing a primitive of a concurrent type which implements an
+-      interface change the type of all controlling formals to that of the
+-      corresponding record type.
+-      (Check_Synchronized_Overriding): Relax the conditional logic when trying
+-      to determine the tagged type to which a primitive belongs.
+-      (Check_Conventions): Capture condition to ignore a primitive operation
+-      (which is shared between the loop in Check_Conventions and the one in
+-      Check_Convention) in a new local function Skip_Check.
+-      (Check_Convention): Rename Prim_Op to Second_Prim_Op to avoid possible
+-      confusion with Check_Conventions' own Prim_Op local variable.
+-      (Create_Extra_Formals): Test for a tagged result type rather than a
+-      controlling result when determining whether to add a BIP_Alloc_Form
+-      formal and a BIP_Final_List formal to the function.
+-      (Check_Conformance); For parameters that are anonymous access types,
+-      subtype conformance requires that the not null and the constant
+-      indicators must match
+-      (Check_Synchronized_Overriding): New parameter Formal_Typ. Add machinery
+-      to retrieve the appropriate type when processing a concurrent type
+-      declared within a generic. Minor comment reformatting. Change invocation
+-      of Overrides_Synchronized_Primitive to Find_Overridden_Synchronized_Pri-
+-      mitive.
+-      (Analyze_Subprogram_Body): If the return type of a function is an
+-      anonymous access to the limited view of a class-wide type, and the
+-      non-limited view of the type is available, update the type of the
+-      function so that code can be generated.
+-      (Process_Formals): In case of access-subtype itype whose designated
+-      type is also an itype (situation that happens now with access to
+-      subprograms) we mark the access-type itype with the Has_Delayed_Freeze
+-      attribute to avoid backend problems.
+-      (Check_Return_Subtype_Indication): Replace R_Type with R_Stm_Type in
+-      init of R_Stm_Type_Is_Anon_Access. Also check that base types of the
+-      anonymous types' designated types are same before testing
+-      Subtypes_Statically_Match.
+-      (Create_Extra_Formals): Test for a named access parameter that is a
+-      controlling formal as an additional condition for adding an
+-      accessibility level formal. This can occur in the subp type created for
+-      dispatching calls in Expand_Dispatching_Call, and allows calling
+-      Create_Extra_Formals from that procedure rather than special-casing the
+-      extra formals there.
+-      (Create_Extra_Formals): Add BIP_Alloc_Form and BIP_Final_List formals
+-      when the function has a controlling result.
+-      (Check_Returns): Add much more knowledge of the optimization of local
+-      raise statements to gotos, to retain proper warnings in this case.
+-      (Check_Statement_Sequence): Ignore N_Push_xxx_Label and N_Pop_xxx_Label
+-      nodes when looking for last statement.
+-
+-      * sem_type.ads, sem_type.adb (Specific_Type): Add support for
+-      class-wide types visible through limited with clauses.
+-      (Add_One_Interp): If the operands are anonymous access types, the
+-      predefined operator on universal_access is immediately visibles
+-      (Find_Unique_Type): Handle anonymous access to subprogram types just as
+-      other anonymous access types.
+-      (Disambiguate): Take into account CIL convention.
+-      (Interface_Present_In_Ancestor): Add support for class-wide interfaces.
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * sinput.ads, sinput.adb, uintp.ads, urealp.adb, stringt.adb,
+-      sem_elim.adb, prj-strt.adb, repinfo.ads, repinfo.adb, namet.ads,
+-      elists.ads, elists.adb, lib.ads, lib.adb (Unlock): New procedure.
+-      Fix lower bound of tables.
+-      Add rep clauses.
+-
+-      * nlists.adb: Ditto.
+-      (Prev_Node, Next_Node): Change index type to Int so that it properly
+-      covers the range First_Node_Id - 1 up.
+-
+-2007-06-06  Javier Miranda  <miranda@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * exp_aggr.ads, exp_aggr.adb:
+-      (Build_Record_Aggr_Code): Add missing initialization of secondary tags
+-      in extension aggregates.
+-      (Flatten): Other conditions being met, an aggregate is static if the
+-      low bound given by component associations is different from the low
+-      bound of the base index type.
+-      (Packed_Array_Aggregate_Handled): If the component type is itself a
+-      packed array or record, the front-end must expand into assignments.
+-      (Gen_Ctrl_Actions_For_Aggr): In call to Init_Controller, pass False to
+-      Init_Pr, instead of Ancestor_Is_Expression.
+-      (Gen_Ctrl_Actions_For_Aggr): When processing an aggregate of a
+-      coextension chain root, either generate a list controller or use the
+-      already existing one.
+-      (Static_Array_Aggregate): New procedure to construct a positional
+-      aggregate that can be handled by the backend, when all bounds and
+-      components are compile-time known constants.
+-      (Expand_Record_Aggregate): Force conversion of aggregates of tagged
+-      types covering interface types into assignments.
+-      (Replace_Type): move to Build_Record_Aggr_Code.
+-      (Expand_Record_Aggr_Code): if the target of the aggregate is an
+-      interface type, convert to the definite type of the aggregate itself,
+-      so that needed components are visible.
+-      (Convert_Aggr_In_Object_Decl): If the aggregate has controlled
+-      components and the context is an extended return statement do not
+-      create a transient block for it, to prevent premature finalization
+-      before the return is executed.
+-      (Gen_Assign): Do not generate a call to deep adjust routine if the
+-      component type is itself an array of controlled (sub)-components
+-      initialized with an inner aggregate.
+-      (Component_Check): New name for Static_Check. This name is now more
+-      appropriate, and documentation is added which was missing.
+-      (Component_Check): Add test for bit aligned component value
+-      (Component_Not_OK_For_Backend): Renames Has_Delayed_Nested_Aggregate_Or_
+-      Tagged_Comps, name is more appropriate given added function below.
+-      (Component_Not_OK_For_Backend): Check for bit aligned component ref.
+-
+-2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_attr.adb (Expand_N_Attribute_Reference): Case Callable and
+-      Terminated: Add unchecked type conversion from System.Address to
+-      System.Tasking.Task_Id when calling the predefined primitive
+-      _disp_get_task_id.
+-      Disable new Ada 05 accessibility check for JVM.NET targets, which
+-      cannot be implemented in a practical way.
+-      (Expand_N_Attribute_Reference: case Attribute_Tag): The use of 'Tag in
+-      the sources always references the tag of the actual object. Therefore,
+-      if 'Tag is applied in the sources to class-wide interface objects we
+-      generate code that displaces "this" to reference the base of the object.
+-      (Expand_N_Attribute_Reference, case Size): Return specified size if
+-      known to front end.
+-      (Expand_N_Attribute_Reference): The expansion of the 'Address attribute
+-      has code that displaces the pointer of the object to manage interface
+-      types. However this code must not be executed when the prefix is a
+-      subprogram. This bug caused the wrong expansion of the internally
+-      generated assignment that fills the dispatch table when the primitive
+-      is a function returning a class-wide interface type.
+-      (Expand_N_Attribute_Reference:Attribute_Valid): Remove incorrect call to
+-      Set_Attribute_Name for Name_Unaligned_Valid.
+-
+-2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case 'Address):
+-      If the initialization is the equivalent aggregate of the initialization
+-      procedure of the type, do not remove it.
+-      (Expand_N_Attribute_Definition_Clause): Exclude access variables
+-      initialized to null from having their expression reset to empty and
+-      note this exception in the comment.
+-
+-2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_ch2.adb: Remove "with" and "use" clauses for Namet and Snames.
+-      Add "with" and "use" clauses for Sem_Attr.
+-      (Expand_Current_Value): Do not replace occurences of attribute
+-      references where the prefix must be a simple name.
+-
+-      * sem_attr.ads, sem_attr.adb: Remove "with" and "use" clauses for
+-      Namet. Add new arrays Attribute_Name_Modifies_Prefix and
+-      Attribute_Requires_Simple_Name_Prefix.
+-      (Name_Modifies_Prefix): Body of new function.
+-      (Requires_Simple_Name_Prefix): Body of new function.
+-      (Resolve_Attribute, case Access): Improve error message for case of
+-      mismatched conventions.
+-      (Analyze_Attribute, case 'Tag): The prefix the attribute cannot be of an
+-      incomplete type.
+-      (Analyze_Attribute, case 'Access): If the type of the prefix is a
+-      constrained subtype for a nominal unconstrained type, use its base type
+-      to check for conformance with the context.
+-      (Resolve_Attribute): Remove test of the access type being associated
+-      with a return statement from condition for performing accessibility
+-      checks on access attributes, since this case is now captured by
+-      Is_Local_Anonymous_Access.
+-      (Analyze_Access_Attribute): Set Address_Taken on entity
+-      (Analyze_Attribute, case Address): Set Address_Taken on entity
+-      (OK_Self_Reference): Traverse tree to locate enclosing aggregate when
+-      validating an access attribute whose prefix is a current instance.
+-      (Resolve_Attribute): In case of attributes 'Code_Address and 'Address
+-      applied to dispatching operations, if freezing is required then we set
+-      the attribute Has_Delayed_Freeze in the prefix's entity.
+-      (Check_Local_Access): Set flag Suppress_Value_Tracking_On_Call in
+-      current scope if access of local subprogram taken
+-      (Analyze_Access_Attribute): Check legality of self-reference even if the
+-      expression comes from source, as when a single component association in
+-      an aggregate has a box association.
+-      (Resolve_Attribute, case 'Access): Do not apply accessibility checks to
+-      the prefix if it is a protected operation and the attribute is
+-      Unrestricted_Access.
+-      (Resolve_Attribute, case 'Access): Set the Etype of the attribute
+-      reference to the base type of the context, to force a constraint check
+-      when the context is an access subtype with an explicit constraint.
+-      (Analyze_Attribute, case 'Class): If the prefix is an interface and the
+-      node is rewritten as an interface conversion. leave unanalyzed after
+-      resolution, to ensure that type checking against the context will take
+-      place.
+-
+-2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_ch3.adb (Make_Controlling_Function_Wrappers): generate wrapper a
+-      wrapper when the full view of the controlling type of an inherited
+-      function that dispatches on result implements interfaces.
+-      (Expand_N_Object_Declaration): In cases where the type of the
+-      declaration is anonymous access, create finalization list for it.
+-      (Expand_N_Object_Declaration): Generate a persistent_bss directive only
+-      if the object has no explicit initialization, to match description of
+-      functionality of pragam Persistent_BSS.
+-      (Build_Equivalent_Array_Aggregate, Build_Equivalent_Record_Aggregate):
+-      new function to build static aggregates, to replace initialization call
+-      when static initialization is desired.
+-      (Freeze_Type): Generate a list controller for an access type whenever
+-      its designated type has controlled anonymous access discriminants.
+-      (Build_Equivalent_Aggregate): New procedure to compute a static
+-      aggregate to be used as default initialization for composite types,
+-      instead of a generating a call to the initialization procedure for the
+-      type.
+-      (Build_Initialization_Call): When available, replace a call to the
+-      initialization procedure with a copy of the equivalent static aggregate
+-      for the type.
+-      (Expand_N_Object_Declaration):  Use New_Occurrence_Of in generated
+-      declarations for objects of a class-wide interface type, rather than
+-      just identifiers, to prevent visibility problems.
+-      (Expand_N_Object_Declaration): When expanding the declaration for an
+-      object of a class-wide interface type, preserve the homonym chain of
+-      the original entity before exchanging it with that of the generated
+-      renaming declaration.
+-      (Freeze_Enumeration_Type): Don't raise CE if No_Exception_Propagation
+-      active, because there is no way to handle the exception.
+-      (Freeze_Record_Type): In case of CPP_Class types add a call to Make_DT
+-      to do a minimum decoration of the Access_Disp_Table list.
+-      (Expand_Record_Controller): Avoid the addition of the controller between
+-      the component containing the tag of a secondary dispatch table and its
+-      adjacent component that stores the offset to the base of the object.
+-      This latter component is only generated when the parent type has
+-      discriminants ---documented in Add_Interface_Tag_Components).
+-      (Apply_Array_Size_Check): Removed, no longer needed.
+-      (Expand_N_Full_Type_Declaration): If the type has anonymous access
+-      components, create a Master_Entity for it only if it contains tasks.
+-      (Build_Init_Procedure): Suppress the tag assignment compiling under
+-      no run-time mode.
+-      (Freeze_Record_Type): Remove code associated with creation of dispatch
+-      table.
+-      (Init_Secondary_Tags): Update type of actuals when generating calls to
+-      Ada.Tags.Set_Offset_To_Top
+-      (Stream_Operation_OK): Disable use of streams compiling under no
+-      run-time mode
+-      (Expand_N_Object_Declaration): Don't do Initialize_Scalars initalization
+-      if Has_Init_Expression set.
+-      (Build_Init_Procedure): Replace call to Fill_DT_Entry by call to
+-      Register_Primitive, which provides the same functionality.
+-      (Requires_Init_Proc): Return false in case of interface types.
+-      (Add_Secondary_Tables): Use the new attribute Related_Interface to
+-      cleanup the code.
+-      (Predefined_Primitive_Freeze): Do not assume that an internal entity
+-      is always associated with a predefined primitive because the internal
+-      entities associated with interface types are not predefined primitives.
+-      Therefore, the call to Is_Internal is replaced by a call to the
+-      function Is_Predefined_Dispatching_Operation.
+-      (Make_Eq_If): When generating the list of comparisons for the
+-      components of a given variant, omit the controller component that is
+-      present if the variant has controlled components.
+-
+-2007-06-06  Javier Miranda  <miranda@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-
+-      * exp_ch4.adb (Complete_Coextension_Finalization): Add machinery to
+-      handle the creation of finalization lists and calls for nested
+-      coextensions when the root of the chains is part of a return statement.
+-      (Inside_A_Return_Statement): New function inside Complete_Coextension_
+-      Finalization.
+-      (Expand_Record_Equality): Skip components that are interface types.
+-      (Displace_Allocator_Pointer): Add missing support for interface subtypes
+-      (Expand_N_Allocator): Replace invocation of Is_Local_Access_Discriminant
+-      with Rewrite_Coextension. Change the condition for detecting coextension
+-      root nodes.
+-      (Is_Local_Access_Discriminant): Removed.
+-      (Rewrite_Coextension): New routine which rewrites a static coextension
+-      as a temporary and uses its unrestricted access in the construction of
+-      the outer object.
+-      (Complete_Coextension_Finalization): New routine. Generate finalization
+-      attachment calls to all delayed coextensions.
+-      (Expand_N_Allocator): Call Complete_Coextension_Finalization whenever
+-      the allocator is not a coextension itself and has delayed coextensions.
+-      If the current allocator is controlled, but also a coextension, delay
+-      the generation of the finalization attachment call.
+-      Rename local variable "Node" to "Nod" in order to avoid confusion with
+-      "Elists.Node".
+-      (Expand_Allocator_Expression): Call Adjust for initialized allocators of
+-      limited types that are not inherently limited. Such an allocator is
+-      illegal, but is generated by the expander for a return statement, to
+-      copy the result onto the secondary stack. This is the only case where a
+-      limited object can be copied. Generate code to displace the pointer
+-      to the object if the qualified expression is a class-wide interface
+-      object. Such displacement was missing and hence the copy of the object
+-      was wrong.
+-      (Apply_Accessibility_Check): Handle allocated objects initialized in
+-      place.
+-      (Displace_Allocator_Pointer): Subsidiary procedure to Expand_N_Allocator
+-      and Expand_Allocator_Expression. Allocating class-wide interface objects
+-      this routine displaces the pointer to the allocated object to reference
+-      the component referencing the corresponding secondary dispatch table.
+-      Expand_Allocator_Expression): Add missing support to allocate class-wide
+-      interface objects initialized with a qualified expression.
+-      (Get_Allocator_Final_List): Test for an anonymous access type that is a
+-      function result type, and use the finalization list associated with the
+-      function scope in that case (such an anonymous type should not be
+-      treated like an access parameter's type).
+-
+-2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_ch5.adb (Expand_N_Assignment_Statement): For the assignment of a
+-      controlled type, use Make_Handler_For_Ctrl_Operation to construct the
+-      required exception handler.
+-      (Expand_Simple_Function_Return, Expand_N_Return_Statement): Handle
+-      properly the case of a function whose return type is a limited
+-      class-wide interface type. Modify the code of the accessibility
+-      check to handle class-wide interface objects. In this case we need to
+-      displace "this" to reference the primary dispatch table to get access
+-      to the TSD of the object (to evaluate its accessibility level).
+-      (Expand_N_Extended_Return_Statement): Test for a tagged result type
+-      rather than a controlling result as one of the conditions for
+-      generating tests of the implicit BIP_Alloc_Form formal. The
+-      initialization assignment is also handled according to whether the
+-      result is tagged instead of controlling.
+-      In the case where the init assignment is inserted in the "then" part of
+-      the allocation conditional, rewrite the target to be a dereference of
+-      the implicit BIP_Object_Access formal.
+-      If the returned value is unconstrained and created on the secondary
+-      stack, mark the enclosing block and function so that the secondary
+-      stack is not reclaimed on return.
+-      Treat returns from functions with controlling results similarly to
+-      returns from functions with unconstrained result subtypes.
+-      If the object returned is unconstrained, and an allocator must be
+-      created for it, analyze the allocator once the block for the extended
+-      return is installed, to ensure that finalizable components
+-      of the expression use the proper finalization list. Guard the call to
+-      Move_Final_List with a check that there is something to finalize.
+-      (Make_Tag_Ctrl_Assignment): Use "old" handling
+-      of controlled type assignment for virtual machines, since new code uses
+-      unsupported features (such as direct access to bytes in memory).
+-
+-2007-06-06  Gary Dismukes  <dismukes@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch6.ads, exp_ch6.adb (Expand_Call): When adding an extra
+-      accessibility actual, check for the case of an aliased object that has
+-      been rewritten as an Access attribute, and assign Prev to Prev_Orig so
+-      we fall into processing for the attribute rather than the name of the
+-      object.
+-      (Expand_Inline_Call): If an actual is a literal, and the corresponding
+-      formal has its address taken in the body, create a temporary to capture
+-      value.  If the return type is a limited interface, do not treat the
+-      return value as Controlled.
+-      (Is_In_Place_Function):  If the return type is a limited interface,
+-      treat as returning in place. The actual returned object may not always
+-      be limited, but the caller has to assume that it is returned in place.
+-      (Add_Final_List_Actual_To_Build_In_Place_Call): If the call is the
+-      context of an allocator, use the correct finalization chain (that is,
+-      the chain belonging to the access type, rather than the chain belonging
+-      to the current scope).
+-      (Add_Alloc_Form_Actual_To_Build_In_Place_Call): Test for a tagged
+-      result type rather than a controlling result as a precondition for
+-      adding an allocation form actual to a build-in-place call.
+-      (Add_Final_List_Actual_To_Build_In_Place_Call): Ditto.
+-      (Freeze_Subprogram): Code cleanup. Remove all the code that register the
+-      primitive in the dispatch tables. This work is now done by Make_DT when
+-      the type is frozen.
+-      (Register_Predefined_DT_Entry): Removed.
+-      (Add_Return): If end label is not present, use sloc of last statement
+-      for generated return statement in procedure, for better gdb behavior
+-      on expanded code.
+-      (Add_Access_Actual_To_Build_In_Place_Call): Set parent fields of the
+-      object address nodes to ensure proper processing by routines like
+-      Insert_After*.
+-      (Expand_Call): Fix generation of validity check for parameter
+-      (Add_Alloc_Form_Actual_To_Build_In_Place_Call): Return without passing
+-      the allocation form parameter if the result subtype is constrained,
+-      except when the function has a controlling result.
+-      (Add_Final_List_Actual_To_Build_In_Place_Call): Test Controlled_Type
+-      rather than Is_Controlled and Has_Controlled_Component, since we want to
+-      include class-wide result types in this treatment. Also test for a
+-      controlling result, since that also requires passing a finalization
+-      list.
+-      (Make_Build_In_Place_Call_In_Allocator): Call Add_Alloc_Form_Actual_*
+-      even when the result subtype is constrained, to handle calls involving
+-      controlling results.
+-      (Make_Build_In_Place_Call_In_Anonymous_Context): Add_Alloc_Form_Actual_*
+-      is now called even when the result subtype is constrained, to handle
+-      calls involving controlling results.
+-      (Make_Build_In_Place_Call_In_Assignment): Remove test for Is_Constrained
+-      on call to Add_Alloc_Form_Actual_To_Build_In_Place_Call (that procedure
+-      now performs the test).
+-      (Make_Build_In_Place_Call_In_Object_Declaration):
+-      Add_Alloc_Form_Actual_* is now called even when the result subtype is
+-      constrained, to handle calls involving controlling results.
+-      (Add_Return): Accomodate rewritten pattern from local raise to goto
+-      transformation, so that we still recognize an transfer statement
+-      and do the right thing here in that case.
+-      (Expand_N_Subprogram_Body): Add dummy Push/Pop_xxx_Label nodes at start
+-      and end of subprogram code.
+-      (Register_Interface_DT_Entry, Register_Predefined_DT_Entry): Add missing
+-      support for primitives that are functions (without formals) with a
+-      controlling result.
+-      (Inherited_From_Formal): If the actual subtype has not generic parent
+-      type, it is not an actual for a formal derived type, and there is no
+-      operation to inherit from the formal.
+-
+-2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_ch7.ads, exp_ch7.adb (Expand_Cleanup_Actions): Set Sloc of
+-      inserted cleanup code appropriately for GDB use.
+-      (Make_Deep_Proc): Use Make_Handler_For_Ctrl_Operation to create
+-      exception handler for Deep_Adjust or Deep_Finalize.
+-      (Make_Handler_For_Ctrl_Operation): New subprogram. When runtime entity
+-      Raise_From_Controlled_Operation is available, use a call to that
+-      subprogram instead of a plain "raise Program_Error" node to raise
+-      Program_Error if an exception is propagated from an Adjust or Finalize
+-      operation.
+-      (Insert_Actions_In_Scope_Around): If the statement to be wrapped
+-      appears in the optional statement list of a triggering alternative, the
+-      scope actions can be inserted directly there, and not in the list that
+-      includes the asynchronous select itself.
+-
+-2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * exp_ch9.ads, exp_ch9.adb (Build_Protected_Entry): Set sloc of
+-      generated exception handler appropriately when debugging generated code.
+-      Deal properly with No_Exception_Propagation restriction mode.
+-      (Expand_N_Abort_Statement): Add an unchecked type conversion from
+-      System.Address to System.Tasking.Task_Id when processing the result of
+-      the predefined primitive _disp_get_task_id.
+-      (Expand_N_Asynchronous_Select): Clarify comment.
+-      (Expand_N_Protected_Type_Declaration): Minor code cleanup.
+-      (Find_Parameter_Type): New routine inside Type_Conformant_Parameters.
+-      (Type_Conformant_Parameters): New parameter Prim_Op_Typ. Code cleanup.
+-      (Add_Private_Declarations, Build_Protected_Body): Use proper slocs for
+-      privals and for generated call to Complete_Entry_Body, for better gdb
+-      behavior.
+-      (Copy_Result_Type): Utility to construct a parameter and result profile
+-      for protected functions whose return type is an anonymous access to
+-      subprogram.
+-      (Build_Protected_Sub_Spec and Expand_Access_Protected_Subprogram_Type):
+-      call the above.
+-      (Build_Task_Activation_Call): Insert Activate_Tasks call at proper
+-      point when the local-raise-to-goto transformation has taken place.
+-
+-2007-06-06  Javier Miranda  <miranda@adacore.com>
+-          Nicolas Setton  <setton@adacore.com>
+-
+-      * exp_dbug.adb (Get_Encoded_Name): Modified to continue providing its
+-      functionality when the backend is generating code.
+-      Otherwise any serious error
+-      reported by the backend calling the frontend routine Error_Msg
+-      changes the Compilation_Mode to Check_Semantics, disables the
+-      functionality of this routine and causes the generation of
+-      spureous additional errors.
+-
+-      * exp_dbug.ads (Pointers to Unconstrained Arrays): Document the
+-      debugging information now generated by the compiler for fat-pointer
+-      types.
+-      Document the contents of DW_AT_producer in the GNAT Vendor extensions to
+-      DWARF2/3.
+-      Document GNAT Vendor extensions to DWARF 2/3 and the "-gdwarf+" switch.
+-
+-2007-06-06  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_dist.ads, exp_dist.adb (Make_Transportable_Check): New subprogram
+-      (GARLIC_Support.Build_Subprogram_Receiving_Stubs,
+-      PolyORB_Support.Build_Subprogram_Receiving_Stubs):
+-      For a remote call to a function with a classwide return type, apply an
+-      E.4(18) check to the returned value.
+-      (Add_RACW_Primitive_Declarations_And_Bodies): Do not generate stubs for
+-      stream attributes of the designated type of an RACW, as they are not
+-      dispatching primitive operations.
+-
+-2007-06-06  Geert Bosch  <bosch@adacore.com>
+-
+-      * exp_fixd.adb (Integer_Literal): Add optional argument to construct a
+-      negative literal
+-      (Do_Divide_Fixed_Fixed): Add comments to indicate Frac is always
+-      positive
+-      (Do_Divide_Fixed_Universal): Handle case of negative Frac.
+-      (Do_Multiply_Fixed_Fixed): Add coments to indicate Frac is always
+-      positive
+-      (Do_Multiply_Fixed_Universal): Handle case of negative Frac.
+-
+-2007-06-06  Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_imgv.adb (Expand_Value_Attribute): Disable compilation of this
+-      attribute compiling package Ada.Tags under No_Run_Time_Mode.
+-
+-2007-06-06  Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_intr.adb (Expand_Unc_Deallocation): Add missing support for
+-      deallocation of class-wide interface objects.
+-      (Expand_Dispatching_Constructor_Call): Take into account that if the
+-      result of the dispatching constructor is an interface type, the
+-      function returns a class-wide interface type; otherwise the returned
+-      object would be actual. The frontend previously accepted returning
+-      interface types because Expand_Interface_Actuals silently performed
+-      the management of the returned type "as if" it were a class-wide
+-      interface type.
+-      (Expand_Dispatching_Constructor_Call): Replace call to
+-      Make_DT_Access_Action by direct call to Make_Function_Call.
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_pakd.adb (Expand_Packed_Not): Use RM_Size rather than ESize to
+-      compute masking constant, since we now set Esize properly to the
+-      underlying size.
+-      (Create_Packed_Array_Type): Set proper Esize value adjusted as required
+-      to match the alignment.
+-      (Create_Packed_Array_Type): Use Short_Short_Unsigned as base type for
+-      packed arrays of 8 bits or less.
+-
+-      * freeze.adb (Freeze_Entity): When freezing the formals of a
+-      subprogram, freeze the designated type of a parameter of an access type
+-      only if it is an access parameter.
+-      Increase size of C convention enumeration object
+-      (Freeze_Entity, array type case): Make sure Esize value is properly
+-      adjusted for the alignment if it is known.
+-      (Freeze_Entity, array type case): When checking bit packed arrays for
+-      the size being incorrect, check RM_Size, not Esize.
+-      (Freeze_Record_Type): Check for bad discriminated record convention
+-      (In_Exp_Body): Return true if the body is generated for a subprogram
+-      renaming, either an attribute renaming or a renaming as body.
+-      (Check_Itype): If the designated type of an anonymous access component
+-      is a non-protected subprogram type, indicate that it is frozen, to
+-      prevent out-of-scope freeze node at some subsequent call.
+-      (Freeze_Subprogram): On OpenVMS, reject descriptor passing mechanism
+-      only if the subprogram is neither imported nor exported, as well as the
+-      NCA descriptor class if the subprogram is exported.
+-
+-2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Remove properly a
+-      default initialization on an imported object, when there is no
+-      initialization call generated for it.
+-      (Expand_Pragma_Assert): Add handling of No_Exception_Propagation
+-      restriction
+-
+-      * snames.h, snames.ads, snames.adb, par-prag.adb: New pragma
+-      Static_Elaboration_Desired.
+-      Remove pragma Thread_Body.
+-      Implement a new pragma No_Body
+-      Removes the Explicit_Overriding pragma
+-      Remove Optional_Overriding pragma
+-      (Prag): Deal with Universal_Aliasing.
+-      (Name_CIL, Name_CIL_Constructor, Convention_CIL,
+-      Pragma_CIL_Constructor): New names.
+-
+-      * sem_cat.adb (Validate_Object_Declaration): An initialization that
+-      uses the equivalent aggregate of a type must be treated as an implicit
+-      initialization.
+-      (Get_Categorization): Check a unit for pragma Preelaborate only if it
+-      has none of the other categories.
+-      (Process_Import_Or_Interface_Pragma): Report an error for an attempt
+-      to apply Import to an object renaming declaration.
+-
+-      * sem_prag.adb (Process_Import_Or_Interface): Warn that a type imported
+-      from a C++ class should be declared as limited and that it will be
+-      considererd limited.
+-      (Analyze_Pragma): Warn that a type specified with pragma CPP_Class
+-      should be declared as limited and that it will be considererd limited.
+-      (Ada_2005_Pragma): New procedure, used to deal with Ada 2005 pragmas
+-      (Analyze_Pragma, case Export): Diagnose export of enumeration literal
+-      (Analyze_Pragma): Deal with Universal_Aliasing.
+-      (Sig_Flags): Likewise.
+-      (Set_Encoded_Interface_Name): Suppress encoding when compiling for AAMP.
+-      (Overflow_Checks_Unsuppressed): New flag.
+-      (Process_Suppress_Unsuppress): Set Overflow_Checks_Unsuppressed.
+-      (Analyze_Pragma [case Pack]): Ignore pragma Pack and post warning in
+-      case of JVM or .NET targets, and compiling user code.
+-      Add debugging convenience routine rv
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_strm.adb (Make_Field_Attributes): Avoid _Parent components that
+-      are interface type.
+-      (Build_Elementary_Input_Call): For floating-point use right type in the
+-      absence of strange size or stream size clauses.
+-      (Build_Elementary_Write_Call): Same fix
+-      (Has_Stream_Standard_Rep): Returns False if Stream_Size attribute
+-      set to value that does not match base type size.
+-
+-2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_util.ads, exp_util.adb (Expand_Subtype_From_Expr): In Ada2005, an
+-      object of a limited type can be initialized with a call to a function
+-      that returns in place. If the limited type has unknown discriminants,
+-      and the underlying type is a constrained composite type, build an actual
+-      subtype from the function call, as is done for private types.
+-      (Side_Effect_Free): An expression that is the renaming of an object or
+-      whose prefix is the renaming of a object, is not side-effect free
+-      because it may be assigned through the renaming and its value must be
+-      captured in a temporary.
+-      (Has_Controlled_Coextensions): New routine.
+-      (Expand_Subtype_From_Expr): Do nothing if type is a limited interface,
+-      as is done for other limited types.
+-      (Non_Limited_Designated_Type): new predicate.
+-      (Make_CW_Equivalent_Type): Modified to handle class-wide interface
+-      objects.
+-      Remove all handling of with_type clauses.
+-
+-      * par-ch10.adb: Remove all handling of with_type clauses.
+-
+-      * lib-load.ads, lib-load.adb (Load_Main_Source): Do not get the
+-      checksum if the main source could not be parsed.
+-      (Loat_Unit): When processing a child unit, determine properly whether
+-      the parent unit is a renaming when the parent is itself a child unit.
+-      Remove handling of with_type clauses.
+-
+-      * sinfo.ads, sinfo.adb (Is_Static_Coextension): New function.
+-      (Set_Is_Static_Coextension): New procedure.
+-      (Has_Local_Raise): New function
+-      (Set_Has_Local_Raise): New procedure
+-      (Renaming_Exception): New field
+-      (Has_Init_Expression): New flag
+-      (Delay_Finalize_Attach): Remove because flag is obsolete.
+-      (Set_Delay_Finalize_Attach): Remove because flag is obsolete.
+-      Remove all handling of with_type clauses.
+-      (Exception_Junk): Can now be set in N_Block_Statement
+-
+-2007-06-06  Vincent Celier  <celier@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * frontend.adb (Frontend): Return immediately if the main source could
+-      not be parsed, because of preprocessing errors.
+-
+-      * gnat1drv.adb (gnat1drv): Handle RE_Not_Available gracefully.
+-      (Gnat1drv): Exit with errors if the main source could not be parsed,
+-      because of preprocessing errors.
+-      (Check_Rep_Info): New procedure
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-hesorg.ads, g-heasor.ads,
+-      g-busorg.ads, g-bubsor.ads: Update documentation
+-      GNAT.Heap/Bubble_Sort_G is now pure
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-catiio.ads, g-catiio.adb (Image): Check for null picture string
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * g-comlin.ads, g-comlin.adb:
+-      Add new warning for renaming of function return objects
+-
+-      * opt.adb (Tree_Write, Tree_Read): Use proper expressions for size
+-      (Tree_Read): Use size of object instead of type'object_size, since the
+-      latter is incorrect for packed array types.
+-      (Tree_Write): Same fix
+-
+-      * opt.ads: Add new warning for renaming of function return objects
+-      (Generating_Code): New boolean variable used to indicate that the
+-      frontend as finished its work and has called the backend to process
+-      the tree and generate the object file.
+-      (GCC_Version): Is now private
+-      (Static_Dispatch_Tables): New constant declaration.
+-      (Overflow_Checks_Unsuppressed): New flag.
+-      (Process_Suppress_Unsuppress): Set Overflow_Checks_Unsuppressed.
+-      (List_Closure): New flag for gnatbind (-R)
+-      Zero_Formatting: New flag for gnatbind (-Z)
+-      (Special_Exception_Package_Used): New flag.
+-      (Warn_On_Unrepped_Components): New flag.
+-
+-      * sem_ch8.adb (Check_Library_Unit_Renaming): Check that the renamed
+-      unit is a compilation unit, rather than relying on its scope, so that
+-      Standard can be renamed.
+-      (Analyze_Object_Renaming): Add new warning for renaming of function
+-      return objects.
+-      Also reject attempt to rename function return object in Ada 83 mode.
+-      (Attribute_Renaming): In case of tagged types, add the body of the
+-      generated function to the freezing actions of the type.
+-      (Find_Type): A protected type is visible right after the reserved word
+-      "is" is encountered in its type declaration. Set the entity and type
+-      rather than emitting an error message.
+-      (New_Scope): Properly propagate Discard_Names to inner scopes
+-      (Check_Nested_Access): New procedure.
+-      (Has_Nested_Access, Set_Has_Nested_Access): New procedures.
+-      (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
+-
+-      * sem_warn.ads, sem_warn.adb: Improvements to infinite loop warning
+-      Add new warning for renaming of function return objects
+-      (Check_References): Suppress warnings for objects whose type or
+-      base type has Warnings suppressed.
+-      (Set_Dot_Warning_Switch): Add processing for -gnatw.c/C
+-      (Set_Warning_Switch): Include new -gnatwc in -gnatwa
+-
+-2007-06-06  Vincent Celier  <celier@adacore.com>
+-          Emmanuel Briot  <briot@adacore.com>
+-          Olivier Hainque  <hainque@adacore.com>
+-
+-      * g-debpoo.ads, g-debpoo.adb (Free_Physically.Free_Blocks): Use the
+-      absolute value of Header.Block_Size when displaying the freed physical
+-      memory in traces.
+-      (Allocate): Compute Storage_Address using Integer_Address, not
+-      Storage_Offset, because the range of Storage_Offset may not be large
+-      enough.
+-      (Configure): New parameter Low_Level_Traces
+-      (Allocate, Deallocation, Free_Physically): Added low-level traces
+-      (Configure): new parameter Errors_To_Stdout.
+-      (Output_File): new subprogram
+-      (Deallocate, Dereference): Send error messages to the proper stream
+-      (Print_Pool, Print_Info_Stdout): Make sure the output goes to stdout, as
+-      documented. Previous code would send it to the current output file
+-      defined in GNAT.IO, which might not be stdout
+-      (Is_Valid): Adjust comment to mention that a positive reply means that
+-      Header_Of may be used to retrieve the allocation header associated with
+-      the subprogram Storage address argument. Return False early if this
+-      address argument is misaligned.
+-
+-2007-06-06  Vincent Celier  <celier@adacore.com>
+-
+-      * gnatcmd.adb (GNATCmd): Accept switch -aP for commands that accept
+-      switch -P
+-      (ASIS_Main): New global variable
+-      (Get_Closure): New procedure
+-      (GNATCmd): Set ASIS_Main when -P and -U with a main is used for gnat
+-      check, metric or pretty. Call Get_Closure in this case.
+-      (Check_Files): For GNAT LIST, check all sources of all projects when
+-      All_Projects is True.
+-      (GNATCmd): Accept -U for GNAT LIST
+-
+-2007-06-06  Vincent Celier  <celier@adacore.com>
+-
+-      * gnatlink.adb (Gnatlink): Do not specify -static-libgcc when --LINK=
+-      has been specified
+-      Correct error message when invocation of the linker fails
+-      Add explicit size clause for the C imported variables
+-      Object_List_File_Supported and Using_GNU_Linker to emphasize that
+-      we expect char size.
+-      Read target parameters earlier, since this is needed to set
+-      Target_VM properly. Also do not use -static/shared-libgcc for non GCC
+-      targets.
+-
+-2007-06-06  Vincent Celier  <celier@adacore.com>
+-
+-      * gnatls.adb:
+-      Add 3 spaces before the default project directory when displaying
+-      the project search path.
+-      Add new command line switch '-l' to display license information.
+-
+-2007-06-06  Vasiliy Fofanov  <fofanov@adacore.com>
+-
+-      * gmem.c: Add support for timestamps on memory operations.
+-
+-      * memtrack.adb, gnatmem.adb: Add support for timestamps on memory
+-      operations (not used currently, just foundation for future
+-      enhancements). Add possibility to perform full dump of gmem.out file.
+-      (Print_Back_Traces): Declare accesses to root arrays constants since
+-      they aren't modified.
+-      (Print_Back_Traces): allocate root arrays on the heap rather than stack.
+-
+-2007-06-06  Vincent Celier  <celier@adacore.com>
+-
+-      * gnatsym.adb: Update Copyright notice
+-      (Parse_Cmd_Line): Accept new switch -D
+-      (Gnatsym): In Direct policy (switch -D) copy reference file to symbol
+-       file.
+-
+-      * prj.ads (Policy): New policy Direct
+-      (Yes_No_Unknown): New enumeration type
+-      (Project_Data): New component Libgnarl_Needed
+-
+-      * prj-nmsc.adb (Check_For_Source): When recording a source file make
+-      use the untouched pathname casing.
+-      (Get_Directories): Ensure that the Display_Exec_Directory is using the
+-      proper casing on non case-sensitive platforms like Windows.
+-      (Get_Unit): Accept file names x__... and x~... (where x = a, g, i or s)
+-      on all platforms, as it is not possible to know which one is allowed
+-      before processing the project files.
+-      (Check_Stand_Alone_Library): Check that Library_Reference_Symbol_File is
+-      specified when symbol policy is Direct. Check that when there is a
+-      symbol file defined (either by default or with attribute
+-      Library_Symbol_File) it is not the same as the reference symbol file.
+-      (Check_Stand_Alone_Library): Recognize new symbol policy Direct.
+-      (Look_For_Sources): Allow Locally_Removed_Files to be declare in non
+-      extending projects.
+-      (Record_Ada_Source): Record a source that has been locally removed in an
+-      imported project.
+-
+-      * symbols.ads (Policy): New policy Direct
+-
+-      * symbols-vms.adb (Initialize): Take new policy Direct in case
+-      statement
+-
+-2007-06-06  Vincent Celier  <celier@adacore.com>
+-
+-      * g-os_lib.ads, g-os_lib.adb (Normalize_Pathname.Get_Directory):
+-      Correct obvious bug (return Dir; instead of return Directory;).
+-      (Normalize_Pathname): Use Reference_Dir'Length, not Reference_Dir'Last
+-
+-2007-06-06  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-pehage.adb (Produce): Open output files in Binary mode, so that
+-      they have UNIX line endings (LF only) even on Windows, and thus pass
+-      all GNAT style checks.
+-
+-2007-06-06  Emmanuel Briot  <briot@adacore.com>
+-
+-      * g-regpat.adb (Quote): Fix improper quoting of '.'
+-
+-2007-06-06  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-soccon.ads: Add new constant Thread_Blocking_IO, always True by
+-      default, set False on a per-runtime basis.
+-      (Need_Netdb_Buffer): New constant.
+-
+-      * g-socket.ads, g-socket.adb: Import new package
+-      GNAT.Sockets.Thin.Task_Safe_NetDB.
+-      (Raise_Host_Error): Use Host_Error_Message from platform-specific thin
+-      binding to obtain proper message.
+-      (Close_Selector): Use GNAT.Sockets.Thin.Signalling_Fds.Close.
+-      Replace various occurrences of Arry (Arry'First)'Address with the
+-      equivalent Arry'Address (GNAT always follows implementation advice from
+-      13.3(14)).
+-      (Get_Host_By_Address, Get_Host_By_Name,
+-      Get_Service_By_Name, Get_Service_By_Port): Do not use GNAT.Task_Lock;
+-      instead, rely on platform-specific task safe netdb operations provided
+-      by g-socthi.
+-
+-      * g-socthi.ads, g-socthi.adb (Initialize): Remove obsolete formal
+-      parameter Process_Blocking_IO.
+-      (Host_Error_Messages): Add stub body.
+-      (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
+-      (Safe_Gethostbyname, Safe_Gethostbyaddr, Safe_Getservbyname,
+-      Safe_Getservbyport): Move functions into new child package
+-      Task_Safe_NetDB.
+-      (Nonreentrant_Gethostbyname, Nonreentrant_Gethostbyaddr,
+-      Nonreentrant_Getservbyname, Nonreentrant_Getservbyport): New routines.
+-      (In_Addr): Add alignment clause.
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-trasym.ads, g-traceb.ads: Update list of supported targets
+-      Add note about symbolic traceback
+-
+-2007-06-06  Pascal Obry  <obry@adacore.com>
+-
+-      * hostparm.ads (Normalized_CWD): Use the host directory separator
+-      instead of the hardcoded forward slash which is not the proper
+-      character on Windows for example.
+-      (Java_VM): Removed.
+-
+-2007-06-06  Vincent Celier  <celier@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-
+-      * a-clrefi.adb, a-clrefi.ads: New files
+-
+-      * impunit.adb: Add s-os_lib in the list of user visible units.
+-      (Non_Imp_File_Names_95): Add a-clrefi to this list
+-      Remove obsolete run-time entries.
+-      (Non_Imp_File_Names_05): Add Ada 2005 entries for:
+-       "a-exetim" -- Ada.Execution_Time
+-       "a-extiti" -- Ada.Execution_Time.Timers
+-
+-      * mlib-prj.ads, mlib-prj.adb
+-      (Build_Library): Use untouched object dir and library dir. At the
+-      same time makes sure that the checks are done using the canonical
+-      form. Removes hard-coded directory separator and use the proper host
+-      one instead.
+-      (Process_Project): Do not look in object directory to check if libgnarl
+-      is needed for a library, if there is no object directory.
+-      (Build_Library): Scan the ALI files to decide if libgnarl is needed for
+-      linking.
+-      (Build_Library): When invoking gnatbind, use a response file if the
+-      total size of the arguments is too large.
+-
+-      * Makefile.rtl: (g-sttsne): New object file.
+-      Add entry for a-clrefi, s-utf_32, System.Exceptions
+-
+-      * Make-lang.in: Remove bogus dependency of s-memory.o on memtrack.o.
+-      (GNAT_ADA_OBJS, GNATBIND_OBJS): Add s-except.o.
+-      (GNATBIND_OBJS): Add new objects a-clrefi.o and a-comlin.o
+-      Change g-string to s-string, g-os_lib to s-os_lib
+-      Change all g-utf_32 references to s-utf_32
+-
+-2007-06-06  Tristan Gingold  <gingold@adacore.com>
+-          Olivier Hainque  <hainque@adacore.com>
+-
+-      * init.c: Do not adjust IP of an imported VMS exception of ia64.
+-      LIB$STOP is called to raise an exception and the IP of the exception
+-      is the instruction right after the call.
+-      (__gnat_adjust_context_for_raise, AIX): Implement.
+-      (__gnat_error_handler, AIX): Accept SIGINFO related arguments and call
+-       adjust_context_for_raise before Raise_From_Signal_Hanler.
+-      (__gnat_install_handler, AIX): Add SA_SIGINFO to the sa_flags, to ensure
+-      siginfo is passed to the handler, necessary to let the zcx propagation
+-      engine unwind past it.
+-
+-2007-06-06  Olivier Hainque  <hainque@adacore.com>
+-
+-      * initialize.c (__gnat_initialize for vxworks):  Update documentation
+-      on the ZCX support, using different sets of crtstuff objects than with
+-      GCC 3.4.
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * layout.ads, layout.adb (Adjust_Esize_Alignment): Move spec to package
+-      spec from body
+-      (Layout_Type): Fix recomputation of size from alignment.
+-
+-2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_ch12.adb (Analyze_Associations): Diagnose use of an others
+-      association in an instance.
+-      (Copy_Generic_Node): If the node is a string literal, no need to copy
+-      its descendants.
+-      (Is_Generic_Formal): For a formal subprogram, the declaration is the
+-      grandparent of the entity.
+-      (Analyze_Formal_Interface_Type): Transform into a full type declaration,
+-      to simplify handling of formal interfaces that derive from other formal
+-      interfaces.
+-      (Instantiate_Subprogram_Body): The defining unit name of the body of
+-      the instance should be a defining identifier.
+-      (Install_Formal_Packages): make global to the package, for use in
+-      instantiations of child units.
+-      (Analyze_Package_Instantiation): Do not attempt to set information on an
+-      enclosing master of an entry when expansion is disabled.
+-      (Instantiate_Type): If the actual is a tagged synchronized type and the
+-      generic ancestor is an interface, create a generic actual for the
+-      corresponding record.
+-      (Analyze_Formal_Derived_Interface_Type): Rewrite as a derived type
+-      declaration, to ensure that the interface list is processed correctly.
+-      (Inline_Instance_Body): If enclosing scope is an instance body, remove
+-      its entities from visibiility as well.
+-      (Pre_Analyze_Actuals): if the actual is an allocator with  constraints
+-      given with a named association, analyze the expression only, not the
+-      discriminant association itself.
+-      (Reset_Entity): If the analysis of a selected component is transformed
+-      into an expanded name in the prefix of a call with parameters, do not
+-      transform the original node into an expanded name, to prevent visibility
+-      errors in the case of nested generics.
+-      (Check_Private_View): For an array type, check whether the index types
+-      may need exchanging.
+-
+-2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+-          Vincent Celier  <celier@adacore.com>
+-
+-      * lib-writ.adb: Handle Convention_CIL in addition to Convention_Java,
+-      since both are separated.
+-      Add support for imported CIL packages.
+-      Add further special handling of "value_type" for CIL.
+-      Add special handling of pragma Import for CIL.
+-
+-      * make.ads, make.adb: When switch -eS is used, direct all outputs to
+-      standard output instead of standard error, except errors.
+-      (Absolute_Path): Use untouched casing for the parent directory.
+-      (Add_Library_Search_Dir): Use the untouched directory name.
+-      (Add_Source_Search_Dir): Idem.
+-      (Change_To_Object_Directory): Update output to use proper casing.
+-      (Create_Binder_Mapping_File): Use the untouched filename to set
+-      ALI_Name.
+-      (Gnatmake): Use untouched library and executable directory names.
+-      (Insert_Project_Sources): Use untouched filename for spec and body.
+-      (Is_In_Object_Directory): Use untouched object directory.
+-      (Mark_Directory): Idem.
+-      (Collect_Arguments_And_Compile): Ensure that Full_Source_File always
+-      contains the non-canonical filename in all cases.
+-      (Change_To_Object_Directory): In verbose mode, display the name of the
+-      object directory we're changing to.
+-      (Compile_Sources): Make sure, when a project file is used, to compile
+-      the body of the unit, when there is one, even when only the spec is
+-      recorded in an ALI file.
+-      (Gcc_Switches, Binder_Switches, Linker_Switches): Tables moved from the
+-      spec to the body.
+-      (Report_Compilation_Failed): New procedure
+-      (Bind, Display_Commands, Compile_Sources, Initialize, Scan_Make_Arg):
+-      procedures moved from the spec to the body.
+-      (Extract_Failure): Removed, not used
+-      Replace explicit raises of exception Bind_Failed and Link_Failed with
+-      calls to Make_Failed with the proper message.
+-      Replace explicit raises of exception Compilation_Failed with calls to
+-      procedure Report_Compilation_Failed.
+-      (Initialize): Create mapping files unconditionally when using project
+-      files.
+-
+-      * sem_mech.adb: (Name_CIL, Name_CIL_Constructor, Convention_CIL,
+-      Pragma_CIL_Constructor): New names.
+-
+-      * targparm.ads, targparm.adb
+-      (Compiler_System_Version): Removed, no longer used.
+-      (Get_Target_Parameters): Relax checks on system.ads validity. Add
+-      handling of two new system flags: JVM and CLI.
+-
+-2007-06-06  Jose Ruiz  <ruiz@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-
+-      * Makefile.in (LIBGNAT_TARGET_PAIRS for VxWorks 6): For the RTP run
+-      time, use the default s-interr body that provides interrupt support
+-      based on signals.
+-      (LIBGNAT_TARGET_PAIRS for x86-linux): Use specialized versions of
+-      a-exetim.ad{s,b}, a-extiti.ad{s,b}, a-rttiev.ad{s,b}, s-osinte.ad{s,b},
+-      g-soccon.ads, and s-taprop.adb for the marte run time.
+-      (EXTRA_GNATRTL_TASKING_OBJS for x86-linux): Execution time clocks and
+-      timers are supported on marte.
+-      (EH_MECHANISM for marte): Do not use ZCX.
+-      (THREADSLIB for marte): Use -lmarte.
+-      Add mlib-tgt-vms.o to the list of objects for gnatmake for VMS
+-      Add mlib-tgt-specific.o to gnatmake objects
+-      mlib-tgt-<platforms>.adb is now the body of MLib.Tgt.Specific, no
+-      longer of MLib.Tgt.
+-      (LIBGNAT_TARGET_PAIRS for vxworks): When building a run time for VxWorks
+-      6, either kernel or rtp, use a specialized version of s-osinte.ads.
+-
+-2007-06-06  Pascal Obry  <obry@adacore.com>
+-
+-      * mkdir.c (__gnat_mkdir): Add support for UTF-8.
+-
+-2007-06-06  Vincent Celier  <celier@adacore.com>
+-
+-      * mlib.ads, mlib.adb (Build_Library): Do not use hard-coded directory
+-      separator, use instead the proper host directory separator.
+-      (Copy_ALI_Files): Make sure that an already existing ALI file in the
+-      ALI copy dir is writable, before doing the copy.
+-
+-      * mlib-utl.ads, mlib-utl.adb:
+-      (Gcc): If length of command line is too long, put the list of object
+-      files in a response file, if this is supported by the platform.
+-      (Ar): If invocation of the archive builder is allowed to be done in
+-      chunks and building it in one shot would go above an OS dependent
+-      limit on the number of characters on the command line, build the archive
+-      in chunks.
+-
+-2007-06-06  Vincent Celier  <celier@adacore.com>
+-
+-      * osinte-c.ads, osint-c.adb (Set_Library_Info_Name): Fail if base name
+-      of specified object file is not equal to base name of source.
+-
+-2007-06-06  Javier Miranda  <miranda@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch3.adb (Process_Full_View): Propagate the CPP_Class attribute to
+-      the full type declaration.
+-      (Analyze_Component_Declaration): Add local variable E to capture the
+-      initialization expression of the declaration. Replace the occurences of
+-      Expression (N) with E.
+-      (OK_For_Limited_Init_In_05): Allow initialization of class-wide
+-      limited interface object with a function call.
+-      (Array_Type_Declaration): If the declaration lacks subtype marks for
+-      indices, create a simple index list to prevent cascaded errors.
+-      (Is_Null_Extension): Ignore internal components created for secondary
+-      tags when checking whether a record extension is a null extension.
+-      (Check_Abstract_Interfaces): Add missing support for interface subtypes
+-      and generic formals.
+-      (Derived_Type_Declaration): Add missing support for interface subtypes
+-      and generic formals.
+-      (Analyze_Object_Declaration): If an initialization expression is
+-      present, traverse its subtree and mark all allocators as static
+-      coextensions.
+-      (Add_Interface_Tag_Component): When looking for components that may be
+-      secondary tags, ignore pragmas that can appear within a record
+-      declaration.
+-      (Check_Abstract_Overriding): an inherited function that dispatches on
+-      result does not need to be overriden if the controlling type is a null
+-      extension.
+-      (Mentions_T): Handle properly a 'class attribute in an anonymous access
+-      component declaration, when the prefix is an expanded name.
+-      (Inherit_Component): If the derivation is for a private extension,
+-      inherited components remain visible and their ekind should not be set
+-      to Void.
+-      (Find_Type_Of_Object): In the case of an access definition, always set
+-      Is_Local_Anonymous_Access. We were previously not marking the anonymous
+-      access type of a return object as a local anonymous type.
+-      (Make_Index): Use Ambiguous_Character to report ambiguity on a discrete
+-      range with character literal bounds.
+-      (Constrain_Array): Initialize the Packed_Array_Type field to Empty.
+-      (Access_Subprogram_Declaration): Indicate that the type declaration
+-      depends on an incomplete type only if the incomplete type is declared
+-      in an open scope.
+-      (Analyze_Subtype_Declaration): Handle properly subtypes of
+-      synchronized types that are tagged, and that may appear as generic
+-      actuals.
+-      (Access_Subprogram_Declaration): An anonymous access to subprogram can
+-      appear as an access discriminant in a private type declaration.
+-      (Add_Interface_Tag_Components): Complete decoration of the component
+-      containing the tag of a secondary dispatch table and the component
+-      containing the offset to the base of the object (this latter component
+-      is only generated when the parent type has discriminants --as documented
+-      in this routine).
+-      (Inherit_Components): Use the new decoration of the tag components to
+-      improve the condition that avoids inheriting the components associated
+-      with secondary tags of the parent.
+-      (Build_Discriminanted_Subtype): Indicate to the backend that the
+-      size of record types associated with dispatch tables is known at
+-      compile time.
+-      (Analyze_Subtype_Declaration): Propagate Is_Interface flag when needed.
+-      (Analyze_Interface_Declaration): Change setting of Is_Limited_Interface
+-      to include task, protected, and synchronized interfaces as limited
+-      interfaces.
+-      (Process_Discriminants): Remove the setting of
+-      Is_Local_Anonymous_Access on the type of (anonymous) access
+-      discriminants of nonlimited types.
+-      (Analyze_Interface_Type_Declaration): Complete the decoration of the
+-      class-wide entity it is is already present. This situation occurs if
+-      the limited-view has been previously built.
+-      (Enumeration_Type_Declaration): Initialize properly the Enum_Pos_To_Rep
+-      field.
+-      (Add_Interface_Tag_Components.Add_Tag): Set the value of the attribute
+-      Related_Interface.
+-
+-2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_aggr.adb (Resolve_Record_Aggregate): Ignore internal components
+-      of the type that specify the position of interface tags when the type
+-      inherits discriminated array components from the parent type.
+-      If a component is initialized with a box, check for the presence of a
+-      default expression in its declaration before using its default
+-      initialization procedure.
+-      (Resolve_Record_Aggregate): If a component is box-initialized, and the
+-      component type has a discriminants, create a partial aggregate for it
+-      by copying the discriminants of the component subtype.
+-      Reject attempt to initialize a discriminant with a box.
+-      (Array_Aggr_Subtype): Indicate to the backend that the size of arrays
+-      associated with dispatch tables is known at compile time.
+-      (Get_Value): If an association in a record aggregate has a box
+-      association, and the corresponding record component has a default
+-      expression, always copy the default expression, even when the
+-      association has a single choice, in order to create a proper
+-      association for the expanded aggregate.
+-
+-2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * par-ch12.adb (P_Generic_Associations): The source position of an
+-      Others association is that of the others keyword, not that of the token
+-      that follows the box.
+-      (P_Formal_Type_Definition): Handle formal access types that carry a
+-      not null indicator.
+-
+-      * par-ch3.adb (P_Known_Discriminant_Part_Opt, P_Component_Items): If
+-      multiple identifier are present, save Scan_State before scanning the
+-      colon, to ensure that separate trees are constructed for each
+-      declaration.
+-      (P_Identifier_Declarations): For object declaration, set new flag
+-      Has_Init_Expression if initialization expression present.
+-      (P_Null_Exclusion): Properly diagnose NOT NULL coming before NULL
+-      Improve NOT NULL error messages
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * par-ch4.adb: (P_Name): Recover from literal used as name
+-
+-2007-06-06  Vincent Celier  <celier@adacore.com>
+-
+-      * prep.ads, prep.adb (Expression): New Boolean parameter Complemented,
+-      defaulted to False.
+-      In the "not" case, recursive call with Complemented set to True.
+-      Do not allow "or" or "and" operators when Complemented is True.
+-
+-2007-06-06  Vincent Celier  <celier@adacore.com>
+-
+-      * prj.adb (Project_Empty): Gives default value for new component
+-      Libgnarl_Needed
+-
+-      * prj-attr.ads: Minor reformatting
+-
+-      * prj-env.ads, prj-env.adb (For_All_Object_Dirs): Register object
+-      directory using the untouched casing.
+-      (For_All_Source_Dirs): Idem.
+-
+-      * prj-ext.ads, prj-ext.adb (Search_Directories): New table to record
+-      directories specified with switches -aP.
+-      (Add_Search_Project_Directory): New procedure
+-      (Initialize_Project_Path): Put the directories in table
+-      Search_Directories in the project search path.
+-      (Initialize_Project_Path): For VMS, transform into canonical form the
+-      project path.
+-
+-2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * restrict.ads, restrict.adb (No_Exception_Handlers_Set): Only return
+-      true if configurable run-time or No_Run_Time is set.
+-      (Set_Restriction): Avoid setting restriction No_Elaboration_Code when
+-      processing an unit which is not the one being compiled.
+-
+-2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-arit64.adb: Replace System.Pure_Exceptions by Ada 05 syntax.
+-      Replace UC by Ada.UC
+-
+-      * s-bitops.adb: Get rid of System.Pure_Exceptions.
+-      Replace UC by Ada.UC
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * scng.adb: (Check_End_Of_Line): Deal with very long lines
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem.ads, sem.adb (Semantics): Save and restore Global_Discard_Names
+-      Remove no longer used nodes.
+-
+-2007-06-06  Javier Miranda  <miranda@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_ch10.ads, sem_ch10.adb (Analyze_Compilation_Unit): Disable check
+-      on obsolescent withed unit in case of limited-withed units.
+-      (Analyze_Compilation_Unit): Add guard to code that removed an
+-      instantiation from visibility, to prevent compiler aborts when
+-      instantiation is abandoned early on.
+-      (Install_Limited_Withed_Unit): Recognize a limited-with clause on the
+-      current unit being analyzed, and Distinguish local incomplete types
+-      from limited views of types declared elsewhere.
+-      (Build_Limited_Views.Decorate_Tagged_Type): Add documentation
+-      to state that the class-wide entity is shared by the limited-view
+-      and the full-view.
+-      (Analyze_With_Clause): Improve placement of flag for case of
+-      unimplemented unit.
+-      (Analyze_With_Clause): Recognize use of GNAT.Exception_Traces in a
+-      manner similar to GNAT.Current_Exception. This is a violation of
+-      restriction (No_Exception_Propagation), and also inhibits the
+-      optimization of local raise to goto.
+-      (Analyze_With_Clause): Check for Most_Recent_Exception being with'ed,
+-      and if so set Most_Recent_Exception_Used flag in Opt, and also check
+-      for violation of restriction No_Exception_Propagation.
+-
+-2007-06-06  Javier Miranda  <miranda@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * sem_ch11.adb (Analyze_Exception_Handlers): Add barrier to avoid the
+-      use of entity Exception_Occurrence if it is not available in the
+-      target run-time.
+-
+-      * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): When
+-      concurrent types are declared within an Ada 2005 generic, build their
+-      corresponding record types since they are needed for overriding-related
+-      semantic checks.
+-      (Analyze_Protected_Type): Rearrange and simplify code for testing that a
+-      protected type does not implement a task interface or a nonlimited
+-      interface.
+-      (Analyze_Task_Type): Rearrange and simplify code for testing that a task
+-      type does not implement a protected interface or a nonlimited interface.
+-      (Single_Task_Declaration, Single_Protected_Declaration): use original
+-      entity for variable declaration, to ensure that debugging information
+-      is correcty generated.
+-      (Analyze_Protected_Type, Analyze_Task_Type): Do not call expander
+-      routines if the expander is not active.
+-      (Analyze_Task_Body): Mark all handlers to stop optimization of local
+-      raise, since special things happen for task exception handlers.
+-
+-      * sem_disp.adb (Check_Controlling_Formals): Add type retrieval for
+-      concurrent types declared within a generic.
+-      (Check_Dispatching_Operation): Do not emit warning about late interface
+-      operations in the context of an instance.
+-      (Check_Dispatching_Call): Remove restriction against calling a
+-      dispatching operation with a limited controlling result.
+-      (Check_Dispatching_Operation): Replace calls to Fill_DT_Entry and
+-      Register_Interface_DT_Entry by calls to Register_Primitive.
+-      (Check_Dispatching_Formals): Handle properly a function with a
+-      controlling access result.
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-
+-      * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Stream_Size):
+-      Check for restriction No_Implementation_Attributes if in Ada 95 mode.
+-      (Storage_Pool): Do not crash when RE_Stack_Bounded_Pool is not available
+-      (Analyze_Attribute_Definition_Clause [External_Tag]): Generate error
+-      message when using a VM, since this attribute is not supported.
+-      (Analyze_Record_Representation_Clause): Give unrepped component warnings
+-
+-      * usage.adb: Add new warning for renaming of function return objects
+-      Indicate that -gnatwp and -gnatwP concern front-end inlining
+-      Add line for -gnatyg
+-      Add usage information for -gnatw.c/C
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch5.adb
+-      (Find_Var): Do not consider function call in test for infinite loop
+-      warning if warnings set off for function entity.
+-      (One_Bound): Do not create a temporary for a loop bound if it is a
+-      character literal.
+-      (Analyze_Assignment): Traverse the right hand side of an assignment and
+-      mark all allocators as static coextensions.
+-      (Analyze_Assignment): Exempt assignments involving a dispatching call
+-      to a function with a controlling access result from the check requiring
+-      the target to be class-wide.
+-
+-2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_res.ads, sem_res.adb (Process_Allocator): Do not propagate the
+-      chain of coextensions when an allocator serves as the root of such a
+-      chain.
+-      (Propagate_Coextensions): Remove the test for the root being an
+-      allocator.
+-      (Resolve_Allocator): Add condition to ensure that all future decoration
+-      occurs on an allocator node. Add processing and cleanup for static
+-      coextensions.
+-      (Valid_Conversion): If the operand type is the limited view of a
+-      class-wide type, use the non-limited view is available to determine
+-      legality of operation.
+-      (Ambiguous_Character): move to spec, for use elsewhere.
+-      (Ambiguous_Character): Handle Wide_Wide_Character in Ada 2005 mode
+-      (Resolve_Range): Diagnose properly an ambiguous range whose bounds are
+-      character literals.
+-      (Resolve_Arithmetic_Op): Call Activate_Division_Check instead of setting
+-      Do_Division_Check flag explicitly.
+-      (Resolve_Actuals): If the actual is of a synchronized type, and the
+-      formal is of the corresponding record type, this is a call to a
+-      primitive operation of the type, that is declared outside of the type;
+-      the actual must be unchecked-converted to the type of the actual
+-      (Resolve_Call): Kill all current values for any subprogram call if
+-      flag Suppress_Value_Tracking_On_Call is set.
+-      (Resolve_Type_Conversion): Generate error message the the operand
+-      or target of interface conversions come from a limited view.
+-      (Check_Infinite_Recursion): Ignore generated calls
+-      (Check_Allocator_Discrim_Accessibility): New procedure for checking
+-      that an expression that constrains an access discriminant in an
+-      allocator does not denote an object with a deeper level than the
+-      allocator's access type.
+-      (Resolve_Allocator): In the case of an allocator initialized by an
+-      aggregate of a discriminated type, check that associations for any
+-      access discriminants satisfy accessibility requirements by calling
+-      Check_Allocator_Discrim_Accessibility.
+-      (Resolve_Equality_Op): Handle comparisons of anonymous access to
+-      subprogram types in the same fashion as other anonymous access types.
+-      (Resolve_Concatenation_Arg): Remove initial character '\' in an error
+-      message that is not a continuation message.
+-      (Resolve_Type_Conversion): Add missing support for conversion to
+-      interface type.
+-      (Resolve_Actuals): Introduce a transient scope around the call if an
+-      actual is a call to a function returning a limited type, because the
+-      resulting value must be finalized after the call.
+-      (Resolve_Actuals): If the call was given in prefix notations, check
+-      whether an implicit 'Access reference or implicit dereference must be
+-      added to make the actual conform to the controlling formal.
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_ch7.adb (Check_Anonymous_Access_Types): Fix error for null body
+-      (Derive_Inherited_Private_Subprogram): Code cleanup. In case of explicit
+-      overriding of an inherited private subprogram now there is no need to
+-      inherit its dispatching slot and reduce the size of the dispatch table.
+-      Set_All_DT_Position now ensures that the same slot is now assigned to
+-      both entities. This is required to statically build the dispatch table.
+-      (Declare_Inherited_Private_Subprograms): Rewriten to avoid the need
+-      of calling Set_All_DT_Position to re-evaluate the position of the
+-      entries in the dispatch table. Such reevaluation is not desired if
+-      the tagged type is already frozen.
+-
+-2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_util.ads, sem_util.adb (May_Be_Lvalue): A prefix of an attribute
+-      reference acts as an lvalue when the attribute name modifies the prefix
+-      (Is_Coextension_Root): New routine.
+-      (Mark_Static_Coextensions): New routine.
+-      (Type_Access_Level): Revise code for checking the level of the
+-      anonymous access type of a return object.
+-      (Safe_To_Capture_Value): Not safe to capture if Address_Taken
+-      (Matches_Prefixed_View_Profile): Remove the no longer necessary
+-      retrieval of the corresponding controlling record type.
+-      (Find_Overridden_Synchronized_Primitive): Code cleanup. Add handling of
+-      concurrent types declared within a generic as well as class wide types.
+-      Emit a mode incompatibility error whenever a protected entry or routine
+-      override an interface routine whose first parameter is not of mode
+-      "out", "in out" or access to variable.
+-      (Overrides_Synchronized_Primitive): Rename to
+-      Find_Overridden_Synchronized_Primitive.
+-      (Collect_Interface_Components): New subprogram that collects all the
+-      components of a tagged record containing tags of secondary dispatch
+-      tables.
+-      (Add_Global_Declaration): New procedure
+-      (Abstract_Interface_List): Handle properly the case of a subtype of a
+-      private extension.
+-      (Type_Access_Level): In the case of a type whose parent scope is a
+-      return statement, call Type_Access_Level recursively on the enclosing
+-      function's result type to determine the level of the return object's
+-      type.
+-      (Build_Elaboration_Entity): Build name of elaboration entity from the
+-      scope chain of the entity, rather than the unit name of the file name.
+-      (Check_Nested_Access): New procedure.
+-      (Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures.
+-      (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
+-      (Get_Renamed_Entity): Utility routine for performing common operation
+-      of chasing the Renamed_Entity field of an entity.
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_elab.adb (Check_A_Call): Specialize elaboration warnings on
+-      elaboration model
+-      (Check_A_Call): Add check for entry call which was causing blowup
+-
+-2007-06-06  Olivier Hainque  <hainque@adacore.com>
+-
+-      * raise-gcc.c (__gnat_eh_personality): Tweak the signature and add
+-      special code on ia64-vms to handle major incompatibilities between the
+-      GCC unwinding ABI and the VMS Condition Handling Facility, both calling
+-      this routine with a very different set of arguments and expectations on
+-      the return value.
+-
+-2007-06-06  Thomas Quinot  <quinot@adacore.com>
+-
+-      * socket.c (__gnat_close_signalling_fd): New function.
+-      (__gnat_safe_gethostbyaddr, __gnat_safe_gethostbyname,
+-      __gnat_safe_getservbyname, __gnat_safe_getservbyport):
+-      New supporting functions for task safe Netdb operations.
+-
+-2007-06-06  Thomas Quinot  <quinot@adacore.com>
+-          Olivier Hainque  <hainque@adacore.com>
+-
+-      * a-except-2005.ads, a-except-2005.adb
+-      (Raise_From_Controlled_Operation): New procedure in
+-      (private part of) Ada.Exceptions (standard runtime version). Used to
+-      provide informational exception message when Program_Error is raised as
+-      a result of an Adjust or Finalize operation propagating an exception.
+-      (Rmsg_28): Fix description for E.4(18) check.
+-      (Raise_Current_Excep): Call Debug_Raise_Exception just before
+-      propagation starts, to let debuggers know about the event in a reliable
+-      fashion.
+-      Take the address of E and dereference to make sure it is homed on stack
+-      and prevent the stores from being deleted, necessary for proper
+-      debugger behavior on "break exception" hits.
+-      (Local_Raise): Moved to System.Exceptions
+-
+-      * s-finimp.adb (Raise_From_Finalize): Code to construct an appropriate
+-      exception message from the current occurrence and raise Program_Error
+-      has been moved to Ada.Exceptions.Raise_From_Controlled_Operation.
+-
+-2007-06-06  Jose Ruiz  <ruiz@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-taprob.adb (Unlock): Change the ceiling priority of the underlying
+-      lock, if needed.
+-
+-      * s-taprop.ads (Set_Ceiling): Add this procedure to change the ceiling
+-      priority associated to a lock.
+-
+-      * s-tpoben.adb ([Vulnerable_]Complete_Task, Lock_Entries): Relax
+-      assertion to take into account case of no abort restriction.
+-      (Initialize_Protection_Entries): Add initialization for the field
+-      New_Ceiling associated to the protected object.
+-      (Unlock_Entries): Change the ceiling priority of the underlying lock, if
+-      needed.
+-
+-      * s-solita.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
+-      since this function needs to be set consistently with Update_Exception.
+-
+-      * s-tarest.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
+-      since this function needs to be set consistently with Update_Exception.
+-
+-      * s-taskin.ads: Update comments on
+-      Interrupt_Server_Blocked_On_Event_Flag.
+-      (Unbind_Handler): Fix handling of server_task wakeup
+-      (Server_Task): Set self's state so that Unbind_Handler can take
+-      appropriate actions.
+-      (Common_ATCB): Now use a constant from System.Parameters to determine
+-      the max size of the Task_Image field.
+-
+-      * s-tassta.adb (Task_Wrapper): Now pass the overflow guard to the
+-      Initialize_Analyzer function.
+-      ([Vulnerable_]Complete_Task, Lock_Entries): Relax assertion to
+-      take into account case of no abort restriction.
+-      ([Vulnerable_]Complete_Master): Modify assertion.
+-
+-      * s-tataat.adb (Finalize): Use the nestable versions of
+-      Defer/Undefer_Abort.
+-
+-      * s-tpobop.adb (Protected_Entry_Call): Relax assertion.
+-
+-      * s-tpobop.ads: Update comments.
+-
+-      * s-tposen.adb (Protected_Single_Entry_Call): Call Lock_Entry instead
+-      of locking the object manually, to avoid inconsistencies between
+-      Lock/Unlock_Entry assertions.
+-
+-      * s-interr.ads, s-interr.adb (Server_Task): Fix race condition when
+-      terminating
+-      application and System.Parameters.No_Abort is True.
+-      Update comments on Interrupt_Server_Blocked_On_Event_Flag.
+-      (Unbind_Handler): Fix handling of server_task wakeup
+-      (Server_Task): Set self's state so that Unbind_Handler can take
+-      appropriate actions.
+-
+-2007-06-06  Thomas Quinot  <quinot@adacore.com>
+-
+-      * s-finroo.ads, s-finroo.adb (Read, Write): Use null procedure
+-      declarations instead of an explicit null body, for conciseness.
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_eval.adb (Eval_Relational_Op): nothing to do if an operand is an
+-      illegal aggregate and the type is still Any_Composite.
+-      (Subtypes_Statically_Match): Fix problem of empty discriminant list
+-
+-2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_smem.adb (Check_Shared_Var): Check explicitly for as task object,
+-      to prevent subsequent expansion.
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * sinput-l.ads, sinput-l.adb: implement a new pragma No_Body
+-
+-2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * sprint.ads, sprint.adb (Sprint_Node_Actual): Output aggregate for
+-      exceptions.
+-      (Write_Itype): Handle case of string literal subtype, which
+-      comes up in this context.
+-      (Update_Itype): when debugging expanded code, update sloc of itypes
+-      associated with defining_identifiers and ranges, for gdb use.
+-      (Sprint_Node_Actual): Add static keyword to object or exception
+-      declaration output if Is_Statically_Allocated is True.
+-      (Sprint_End_Label): Set entity of end marker for a subprogram, package,
+-      or task body, so that the tree carries the proper Sloc information for
+-      debugging use.
+-      (Write_Indent): In Dump_Source_Text mode, ignore implicit label nodes
+-
+-2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-secsta.adb (Chunk): Ensure this object has a static size known at
+-      compile time, to avoid dynamic memory allocation
+-      (Elaboration code): Only use dynamic memory allocation when needed.
+-
+-2007-06-06  Quentin Ochem  <ochem@adacore.com>
+-
+-      * s-stausa.ads, s-stausa.adb (Initialize_Analyzer): Added parameter
+-      "Overflow_Guard".
+-      (Stack_Analyzer): Added field "Overflow_Guard"
+-      (Task_Result): Added field "Overflow_Guard".
+-      (Index_Str): New constant.
+-      (Task_Name_Str): New constant.
+-      (Actual_Size_Str): New constant.
+-      (Pattern_Array_Element_Size): New constant.
+-      (Get_Usage_Range): New subprogram.
+-      (Output_Result): Added parameter Max_Size_Len and Max_Actual_Use_Len.
+-      Now align the output.
+-      Added comments.
+-      (Initialize): Added value for Overflow_Guard.
+-      (Fill_Stack): Use constant Pattern_Array_Elem_Size when relevant.
+-      Update the value of the overflow guard according to the actual
+-      beginning of the pattern array.
+-      (Initialize_Analyzer): Added parameter Overflow_Guard.
+-      Take this parameter into accound when computing the max size.
+-      (Compute_Result): Use constant Pattern_Array_Elem_Size when relevant.
+-      (Report_Result): Removed extra useless procedure.
+-      Updated call to Output_Result.
+-      Moved full computation of the Task_Result here.
+-
+-2007-06-06  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-soccon-darwin.ads, gen-soccon.c: Add new constant
+-      Thread_Blocking_IO, always True by default, set False on a per-runtime
+-      basis.
+-      Add Windows-specific constants
+-      Add new constant Need_Netdb_Buffer.
+-      Add new macros to indicate whether getXXXbyYYY is thread safe and, if
+-      not, whether to use getXXXbyYYY_r.
+-
+-      * gsocket.h: Add new constant Need_Netdb_Buffer.
+-      Add new macros to indicate whether getXXXbyYYY is thread safe and, if
+-      not, whether to use getXXXbyYYY_r.
+-
+-2007-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * s-stoele.ads, s-stoele.adb: Move inline_always subprograms earlier
+-      than their first call.
+-      Add type Dummy_Communication_Block used in the generation of the pre-
+-      defined dispatching primitive _disp_asynchronous_select.
+-      (Storage_Element): Put Pragma Universal_Aliasing on it.
+-
+-2007-06-06  Vincent Celier  <celier@adacore.com>
+-
+-      * a-dirval-vms.adb, a-dirval.ads, a-dirval.adb (Windows): New Boolean
+-      function.
+-
+-      * a-dirval-mingw.adb (Is_Valid_Path_Name): Forbid a path with a drive
+-      letter if it is not followed by a '/' or a '\'.
+-      (Windows): New Boolean function
+-
+-      * a-direct.ads, a-direct.adb: Remove unnecessary and misplaced pragma
+-      Ada 2005.
+-      (Containing_Directory): On Windows, keep at least one '/' or '\' after a
+-      drive letter.
+-      (Containing_Directory): Raise Use_Error when the directory is a root
+-      directory.
+-      (Extension): When returning the result, use a conversion to Result_Type,
+-      not a qualification.
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * stylesw.ads, stylesw.adb (Set_GNAT_Style_Check): New procedure
+-      (Set_Style_Check_Options): Recognize new -gnatyg style switch
+-
+-      * switch-c.adb (Scan_Front_End_Switches, case -gnatg): Set
+-      Warn_On_Non_Local_Exception to False, to turn off warnings for
+-      No_Exception_Propagation in ZFP runtime.
+-      (Scan_Front_End_Switches): Fix handling of --RTS switch for non GCC
+-      back-ends.
+-      (Scan_Front_End_Switches): For 'g', call Set_GNAT_Style_Checks
+-
+-2007-06-06  Vincent Celier  <celier@adacore.com>
+-
+-      * switch-b.adb (Scan_Binder_Switches): Add processing for new
+-      switches -R and -Z
+-
+-      * switch-m.adb (Normalize_Compiler_Switches): Do not record switch -E
+-      (Scan_Make_Switches): Recognize new switch -aP
+-
+-2007-06-06  Matthew Gingell  <gingell@adacore.com>
+-          Jose Ruiz  <ruiz@adacore.com>
+-
+-      * s-stchop-vxworks.adb (Set_Stack_Info): Instead of trying to map the
+-      VxWorks task descriptor in the Ada run time, call a C subprogram
+-      (__gnat_get_stack_info) that extracts the required information.
+-
+-      * sysdep.c: Back out temporary lynxos workaround.
+-      (__gnat_get_stack_info): Add this procedure that passes to the Ada run
+-      time the stack information associated to the currently executing task.
+-      Only VxWorks systems require this function.
+-
+-2007-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * tracebak.c (FRAME_OFFSET): Add parameter FP. On SPARC/Solaris, do not
+-      add the stack bias if the offset is computed from a frame address.
+-      (__gnat_backtrace): Adjust for above change.
+-
+-2007-06-06  Thomas Quinot  <quinot@adacore.com>
+-
+-      * types.h, types.ads: Rename PE_Illegal_CW_Actual_E_4_18 to
+-      PE_Non_Transportable_Actual.
+-      (By_Descriptor_Last): New constant.
+-      (By_Copy_Return): Likewise.
+-
+-2007-06-06  Vincent Celier  <celier@adacore.com>
+-
+-      * vms_conv.adb (Process_Argument): Keep arguments starting with '+' as
+-      is.
+-
+-      * vms_data.ads: Add entries for -gnatw.x and -gnatw.X
+-      /STYLE_CHECKS=GNAT: Change meaning to -gnatyg
+-      /GNAT_INTERNAL: New compiler qualifier corresponding to -gnatg
+-      Add missing comment for /OPTIMIZE=SPACE
+-      Add entry for OPTIMIZE=SPACE
+-      Add new qualifier /ALL_PROJECTS (= -U) for GNAT LIST
+-      Add documentation for new qualifiers corresponding to -gnatw.c/.C
+-
+-2007-06-06  Vincent Celier  <celier@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * xgnatugn.adb: Allow dots to be used in ug_words (-gnatw.c and
+-      -gnatw.C)
+-
+-      * gnat_ugn.texi: Fix ordering of -g switch for gnatmake
+-      Document gnatbind switch -a
+-      (case Constructions): Document that variables declarations are allowed
+-      for previously declared variables.
+-      Fix external lib project example
+-      -gnatg: Indicate new VMS qualifier /GNAT_INTERNAL
+-      Indicate that "#if not X or Y then" is not allowed in input files to
+-      gnatprep.
+-      Document gnatw.x and gnatw.X warning flags
+-      Mention -Winline switch to activate warnings when back-end inlining is
+-      ineffective.
+-      Add gnatcheck rule descriptions
+-      Describe how to use the GNAT driver to call a tool on a closure.
+-      Describe how to run project-wide checks or metrics.
+-      Document gnatbind's -R option
+-      Updated to account for Ada 2005 support
+-
+-      * gnat_rm.texi (Case Construction): Allow variable declarations for
+-      previously declared variables.
+-      (Representation Clauses and Pragmas): Lift restriction on alignment
+-      clauses for record types.
+-      (Ada.Characters.*): Fix typo in reference to A.3.3(27).
+-      Document No_Exception_Propagation restriction
+-      Document No_Body pragma
+-      Updated to account for Ada 2005 support; corrected some typos
+-      (Implementation Defined Pragmas): Document pragma Universal_Aliasing.
+-
+-      * gnat-style.texi: Make it clear that we never use mode IN for
+-      procedures or functions
+-
+-      * ug_words: Add entries for -gnatw.x and -gnatw.X
+-      Add entries for -gnatw.c/.C
+-
+-2007-06-06  Pascal Obry  <obry@adacore.com>
+-          Vincent Celier  <celier@adacore.com>
+-
+-      * makegpr.adb (Add_Archive_Path): Use untouched object and library
+-      dirs and library name.
+-      (Build_Global_Archive): Idem. Minor code clean-up. Removes duplicate
+-      comments.
+-      (Build_Library): Idem.
+-      (Compile_Individual_Sources): Idem.
+-      (Compile_Link_With_Gnatmake): Idem.
+-      (Compile_Sources): Idem.
+-      (Get_Imported_Directories): Idem.
+-      (Link_Executables): Idem. Same change for the executable dir.
+-      (Check_Compilation_Needed): C_Source_Path new variable containing
+-      the canonical form of Source_Path to check against the source names
+-      in the dependency file.
+-      (Build_Global_Archive, Compile_Individual_Sources, Compile_Sources): In
+-      verbose mode, display the name of the object directory we're changing
+-      to.
+-      (Saved_Switches): New name of table X_Switches
+-      (Scan_Arg): Recognize new switch -aP and save in table Saved_Switches
+-      (Usage): New line for switch -aP
+-      (Get_Imported_Directories.Add): Make sure that Add_Arg is True before
+-      testing if a directory should be added to the search path.
+-
+-2007-06-06  Javier Miranda  <miranda@adacore.com>
+-
+-      * a-cidlli.ads, a-cdlili.ads, a-cohama.ads, a-coinve.ads,
+-      a-convec.ads (Empty_Vector, Empty_Map, Empty_List): Move this object
+-      declaration after freezing point of all its associated tagged types;
+-      otherwise such types are frozen too early.
+-
+-2007-06-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-reatim.adb: Documentation addition
+-
+-      * g-cgideb.adb: Minor code reorganization
+-
+-      * tree_io.adb, treepr.adb, cstand.adb, krunch.adb, par.adb,
+-      mdll-utl.adb, par-ch5.adb, par-tchk.adb, s-exctab.ads, s-memory.ads,
+-      s-osprim.ads, s-restri.ads, s-soflin.ads: Minor reformatting.
+-
+-      * debug.ads, debug.adb (Get_Debug_Flag_K): Remove unused obsolete
+-      function.  Change name New_Scope to Push_Scope
+-      (Get_Debug_Flag_K): Remove unused obsolete function.
+-
+-      * exp_ch8.adb, inline.adb, sem_ch8.ads: Change name New_Scope to
+-      Push_Scope.
+-
+-      * makeusg.adb: Update Copyright notice
+-      Add line for switch -aP
+-
+-      * makeusg.adb: Fix wording of some usage messages
+-
+-      * s-assert.adb (Raise_Assert_Failure): Add call to
+-      Debug_Raise_Assert_Failure.
+-
+-      * s-unstyp.ads (type Packed_Bytes2): Change alignment to use 'Min
+-      (2, Standard'Alignment) for compatibility with AAMP (where alignment
+-      is restricted to 1).
+-
+-      * s-wchjis.adb: Remove use of System.Pure_Exceptions
+-
+-      * tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): Set the
+-      node location to No_Location when we're not debugging the expanded
+-      code.
+-
+-2007-05-22  Alexandre Oliva  <aoliva@redhat.com>
+-
+-      * misc.c (enumerate_modes): Consider log2_b to always be one.
+-
+-2007-05-14  Rafael Ávila de Espíndola  <espindola@google.com>
+-
+-      * misc.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
+-
+-2007-05-02  Pascal Obry  <obry@adacore.com>
+-
+-      * gnatchop.adb (Write_Source_Reference_Pragma): Change implementation
+-      to use Stream_IO.File_Type. This is needed to make use of the UTF-8
+-      encoding support of Stream_IO.
+-      (Write_Unit): Idem.
+-
+-      * adaint.h, adaint.c (__gnat_os_filename): New routine. Returns the
+-      filename and corresponding encoding to match the OS requirement.
+-      (__gnat_file_exists): Do not call __gnat_stat() on Windows as this
+-      routine will fail on specific devices like CON: AUX: ...
+-
+-      PR ada/29856: Add missing braces
+-
+-2007-04-22  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+-
+-      PR ada/31660
+-      * ada-tree.h (lang_tree_node): Fix typo in chain_next.
+-
+-2007-04-21  Jan Hubicka  <jh@suse.cz>
+-
+-      * misc.c (gnat_expand_body): Don't call target for destructors,
+-      avoid redundant check on syntax errors.
+-
+-2007-04-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+-
+-      * ada-tree.h (lang_tree_node): Use GENERIC_NEXT
+-      instead of checking GIMPLE_STMT_P in chain_next.
+-
+-2007-04-17  Andreas Krebbel  <krebbel1@de.ibm.com>
+-
+-      PR ada/31576
+-      * system-linux-alpha.ads: Disable constant condition warning for the
+-      Default_Bit_Order variable.
+-      * system-linux-s390.ads: Likewise.
+-      * system-linux-s390x.ads: Likewise.
+-      * system-linux-sparc.ads: Likewise.
+-
+-2007-04-06  Javier Miranda  <miranda@adacore.com>
+-          Matt Heaney  <heaney@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      a-coprnu.ads, a-cohata.ads, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
+-      a-cgarso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads, a-chtgke.ads,
+-      a-chtgke.ads, a-coprnu.ads, a-contai.ads, a-chtgke.ads, a-chtgke.adb,
+-      a-stwiha.ads, a-strhas.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
+-      a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads, a-stzfix.ads,
+-      a-stzhas.ads, a-szuzha.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoio.ads,
+-      a-ztinio.ads, a-zttest.ads, a-zzunio.ads, a-astaco.ads, a-charac.ads,
+-      a-chlat1.ads, ada.ads, a-dynpri.ads, a-flteio.ads, a-fwteio.ads,
+-      a-inteio.ads, a-intnam.ads, a-ioexce.ads, a-iwteio.ads, a-lfteio.ads,
+-      a-lfwtio.ads, a-liteio.ads, a-liwtio.ads, a-llftio.ads, a-llfwti.ads,
+-      a-llitio.ads, a-lliwti.ads, a-ncelfu.ads, a-ngcefu.ads, a-ngelfu.ads,
+-      a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads, a-nllcty.ads,
+-      a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads, a-nucoty.ads,
+-      a-nuelfu.ads, a-numeri.ads, a-sfteio.ads, a-sfwtio.ads, a-siteio.ads,
+-      a-siwtio.ads, a-ssitio.ads, a-ssiwti.ads, a-storio.ads, a-strfix.ads,
+-      a-string.ads, a-stwifi.ads, a-titest.ads, a-unccon.ads, a-uncdea.ads,
+-      a-wtcoio.ads, a-wtinio.ads, a-wttest.ads, calendar.ads, directio.ads,
+-      i-c.ads, ioexcept.ads, machcode.ads, sequenio.ads, text_io.ads,
+-      unchconv.ads, unchdeal.ads, a-widcha.ads, a-zchara.ads, a-stboha.ads,
+-      a-stfiha.ads, a-coteio.ads, a-envvar.ads, a-lcteio.ads, a-llctio.ads,
+-      a-scteio.ads, a-swbwha.ads, a-swfwha.ads, a-szbzha.ads, a-szfzha.ads,
+-      a-tiboio.ads, a-wwboio.ads, a-zzboio.ads, a-dispat.ads, a-tgdico.ads,
+-      expander.adb, g-socket.ads, par-labl.adb, sinput-c.adb, s-tarest.ads,
+-      s-stchop.ads, g-expect-vms.adb, s-taprop-lynxos.adb,
+-      s-taprop-tru64.adb, s-taprop-irix.adb,
+-      s-taprop-hpux-dce.adb, s-traceb-hpux.adb,
+-      s-taprop-linux.adb, s-taprop-dummy.adb, s-osprim-unix.adb,
+-      s-osprim-solaris.adb, s-taprop-solaris.adb, s-taprop-vms.adb,
+-      s-osprim-mingw.adb, s-taprop-mingw.adb, s-osprim-posix.adb,
+-      s-taprop-posix.adb, a-exexpr-gcc.adb, a-ststio.adb, a-ststio.ads,
+-      a-textio.adb, a-textio.ads, a-tideau.adb, a-tideau.ads, a-witeio.adb,
+-      a-witeio.ads, a-wtdeau.adb, a-wtdeau.ads, g-calend.adb, g-calend.ads,
+-      g-dirope.adb, g-expect.ads, gnatchop.adb, g-spipat.adb, g-spipat.ads,
+-      s-direio.adb, s-direio.ads, s-fatgen.adb, s-fatgen.ads, s-parint.adb,
+-      s-sequio.adb, s-sequio.ads, s-taprop.ads, s-valdec.adb, s-valdec.ads,
+-      s-valint.adb, s-valint.ads, s-vallld.adb, s-vallld.ads, s-vallli.adb,
+-      s-vallli.ads, s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
+-      s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads, xref_lib.adb,
+-      s-stchop.adb, i-vxwork-x86.ads, a-crbtgo.ads, a-crbtgo.adb,
+-      a-coorse.ads, a-coorse.adb, a-cohama.ads, a-cohama.adb, a-ciorse.ads,
+-      a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-chtgop.ads, a-chtgop.ads,
+-      a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cihase.ads, a-cohase.adb,
+-      a-cohase.ads, a-swuwha.ads, a-ciormu.ads, a-coormu.ads, a-rbtgso.ads,
+-      a-stunha.ads, a-ciorma.adb, a-coorma.adb, a-ztdeau.adb, a-ztdeau.ads,
+-      a-ztexio.adb, a-ztexio.ads: Addition of null-exclusion to anonymous
+-      access types.
+-      Update documentation.
+-      Minor rewording.
+-
+-2007-04-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * system-linux-ia64.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
+-      system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
+-      system-vxworks-sparcv9.ads, system-solaris-x86.ads, system-irix-o32.ads,
+-      system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
+-      system-linux-x86.ads, system-vxworks-mips.ads, system-interix.ads,
+-      system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
+-      system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
+-      system-vxworks-alpha.ads, system-vms_64.ads, system-darwin-ppc.ads,
+-      system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads,
+-      system-hpux-ia64.ads, targparm.adb,
+-      targparm.ads (Functions_Return_By_DSP_On_Target): Removed
+-
+-      * system.ads: Move Functions_Return_By_DSP to obsolete section,
+-      kept for bootstrap purposes only.
+-
+-2007-04-06  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
+-      s-osinte-freebsd.ads, s-osinte-aix.ads, s-osinte-darwin.ads,
+-      s-taprop-posix.adb (Create_Task): Fix handling of Task_Info.
+-      (PTHREAD_SCOPE_PROCESS, PTHREAD_SCOPE_SYSTEM): New constants.
+-
+-2007-04-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-except.adb, a-except.ads, a-except-2005.ads, a-except-2005.adb
+-      (Local_Raise): New dummy procedure called when a raise is converted
+-      to a local goto. Used for debugger to detect that the exception
+-      is raised.
+-
+-      * debug.adb: Document new d.g flag (expand local raise statements to
+-      gotos even if pragma Restriction (No_Exception_Propagation) is not set)
+-
+-      * exp_sel.adb: Use Make_Implicit_Exception_Handler
+-
+-      * exp_ch11.adb (Expand_Exception_Handlers): Use new flag -gnatw.x to
+-      suppress warnings for unused handlers.
+-      (Warn_If_No_Propagation):  Use new flag -gnatw.x to suppress
+-      warnings for raise statements not handled locally.
+-      (Get_RT_Exception_Entity): New function
+-      (Get_Local_Call_Entity): New function
+-      (Find_Local_Handler): New function
+-      (Warn_If_No_Propagation): New procedure
+-      (Expand_At_End_Handler): Call Make_Implicit_Handler
+-      (Expand_Exception_Handlers): Major additions to deal with local handlers
+-      (Expand_N_Raise_Constraint_Error, Expand_N_Raise_Program_Error,
+-      Expand_N_Raise_Storage_Error, (Expand_N_Raise_Statement): Add handling
+-      for local raise
+-
+-      * exp_ch11.ads (Get_RT_Exception_Entity): New function
+-      (Get_Local_Call_Entity): New function
+-
+-      * gnatbind.adb (Restriction_List): Add No_Exception_Propagation to list
+-      of restrictions that the binder will never suggest adding.
+-
+-      * par-ch11.adb (P_Exception_Handler): Set Local_Raise_Statements field
+-      to No_Elist.
+-
+-      * restrict.adb (Check_Restricted_Unit): GNAT.Current_Exception may not
+-      be with'ed in the presence of pragma Restriction
+-      (No_Exception_Propagation).
+-
+-      * sem.adb (Analyze): Add entries for N_Push and N_Pop nodes
+-
+-      * sem_ch11.adb (Analyze_Exception_Handler): If there is a choice
+-      parameter, then the handler is not a suitable target for a local raise,
+-      and this is a violation of restriction No_Exception_Propagation.
+-      (Analyze_Handled_Statements): Analyze choice parameters in exception
+-      handlers before analyzing statement sequence (needed for proper
+-      detection of local raise statements).
+-      (Analyze_Raise_Statement): Reraise statement is a violation of the
+-      No_Exception_Propagation restriction.
+-
+-      * s-rident.ads: Add new restriction No_Exception_Propagation
+-
+-      * tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): New
+-      function, like Make_Exception_Handler but sets Local_Raise_Statements
+-      to No_List.
+-      (Add_Unique_Serial_Number): Deal with case where this is called during
+-      processing of configuration pragmas.
+-
+-2007-04-06  Thomas Quinot  <quinot@adacore.com>
+-          Pat Rogers  <rogers@adacore.com>
+-          Pascal Obry  <obry@adacore.com>
+-
+-      * g-stsifd-sockets.adb: New file.
+-
+-      * g-socthi.ads, g-socket.adb, g-socthi-vxworks.adb,
+-      g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi-vms.ads,
+-      g-socthi-vms.adb: Move signalling
+-      fd management to a nested package, so that they can conveniently be
+-      moved to a subunit that is shared across Windows, VMS, and VxWorks
+-      (Ada implementation) or completed with imported bodies from socket.c
+-      (UNIX case).
+-      (Read_Signalling_Fd, Write_Signalling_Fd, Create_Signalling_Fds): New
+-      subprograms.
+-      (Check_Selector): Use Read_Signalling_Fd to read and discard data from
+-      the signalling file descriptor.
+-      (Abort_Selector): Use Write_Signalling_Fd to write dummy data to the
+-      signalling file descriptor.
+-      (Create_Selector): Use new C-imported subprogram Create_Signalling_Fds
+-      instead of creating a pair of sockets for signalling here.
+-
+-      * g-socthi.adb: Ditto.
+-      Set the runtime process to ignore SIGPIPEs on platforms that support
+-      neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality.
+-
+-      * g-socthi-mingw.adb: Ditto.
+-      (WS_Version): Use Windows 2.2.
+-      Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API.
+-
+-      * g-soliop-mingw.ads: Link with ws2_32 for Windows 2.x support.
+-      Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API.
+-
+-      * Makefile.in: New libgnat pair g-stsifd.adb<g-stsifd-sockets.adb.
+-      added GNAT byte swapping facility
+-      Update FreeBSD THREADSLIB from -lc_r to -lpthread, for FreeBSD 6.
+-
+-      * g-bytswa.adb, g-bytswa-x86.adb, g-bytswa.ads: New files.
+-
+-      * socket.c (__gnat_read_signalling_fd, __gnat_write_controlling_fd):
+-      New subprograms.
+-      (__gnat_create_signalling_fds): New subprogram.
+-      Set the runtime process to ignore SIGPIPEs on platforms that support
+-      neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality.
+-
+-2007-04-06  Hristian Kirtchev  <kirtchev@adacore.com>
+-          Vincent Celier  <celier@adacore.com>
+-
+-      * a-calend-vms.ads, a-calend.ads, a-calend.adb, a-calend-vms.adb:
+-      New version of Ada.Calendar which supports the new upper bound of Ada
+-      time (2399-12-31 86_399.999999999).
+-      The following modifications have been made to the package:
+-       - New representation of time as count of nanoseconds since the start of
+-         Ada time (1901-1-1 0.0).
+-       - Target independent Split and Time_Of routines which service both
+-         Ada 95 and Ada 2005 code.
+-       - Target independent interface to the Ada 2005 children of Calendar.
+-       - Integrated leap seconds into Ada 95 and Ada 2005 mode.
+-       - Handling of non-leap centenial years.
+-       - Updated clock function.
+-       - Updated arithmetic and comparison operators.
+-
+-      * a-caldel.adb (To_Duration): Add call to target independent routine in
+-      Ada.Calendar to handle the conversion of time to duration.
+-
+-      * sysdep.c (__gnat_localtime_tzoff): Test timezone before setting off
+-      (UTC Offset).
+-      If timezone is obviously incorrect (outside of -14 hours .. 14 hours),
+-      set off to 0.
+-      (__gnat_localtime_tzoff for Lynx and VxWorks): Even though these
+-      targets do not have a natural time zone, GMT is used as a default.
+-      (__gnat_get_task_options): New.
+-
+-      * a-direct.adb (Modification_Time): Add with and use clauses for
+-      Ada.Calendar and Ada.
+-      Calendar.Formatting. Remove with clause for Ada.Unchecked_Conversion
+-      since it is no longer needed.
+-      (Duration_To_Time): Removed.
+-      (OS_Time_To_Long_Integer): Removed.
+-      (Modification_Time): Rewritten to use Ada.Calendar and Ada.Calendar.
+-      Formatting Time_Of routines which automatically handle time zones,
+-      buffer periods and leap seconds.
+-
+-      * a-calari.ads, a-calari.adb ("+", "-", Difference): Add calls to
+-      target independent routines in Ada.Calendar.
+-
+-      * a-calfor.ads, a-calfor.adb:
+-      Code cleanup and addition of validity checks in various routines.
+-      (Day_Of_Week, Split, Time_Of): Add call to target independent routine in
+-      Ada.Calendar.
+-
+-      * a-catizo.ads, a-catizo.adb (UTC_Time_Offset): Add call to target
+-      independent routine in Ada.Calendar.
+-
+-2007-04-06  Olivier Hainque  <hainque@adacore.com>
+-
+-      * adaint.c:
+-      (convert_addresses): Adjust prototype and dummy definition to expect an
+-       extra file_name argument.
+-
+-      * gmem.c (__gnat_convert_addresses): Wrapper to convert_addresses,
+-      filling the now expected file_name argument with the appropriate
+-      argv[0] expansion.
+-      (__gnat_gmem_a2l_initialize, __gnat_gmem_read_next_frame): Use it.
+-      (tracebk): Array of void * instead of char *, corresponding to what
+-       convert_addresses expects.
+-      (exename): New static global, to hold the executable file name to be
+-      used in all convert_addresses invocations.
+-      (gmem_read_backtrace, __gnat_gmem_symbolic): Account for tracebk type
+-      change.
+-      (__gnat_gmem_a2l_initialize): Resolve exename.
+-      (__gnat_convert_addresses): Use exename as the convert_addresses
+-      file_name argument.
+-
+-      * g-trasym.adb (Symbolic_Traceback): Adjust signature of imported
+-      "convert_addresses", now expecting a filename argument. Import the
+-      necessary entities to compute the filename to use and pass it to
+-      convert_addresses.
+-
+-2007-04-06  Matt Gingell  <gingell@adacore.com>
+-
+-      * system-aix.ads: Back out previous change.
+-      (Functions_Return_By_DSP): Removed
+-
+-2007-04-06  Pascal Obry  <obry@adacore.com>
+-
+-      * s-osprim-mingw.adb (Timed_Delay): Use the right clock (standard one
+-      or the monotonic used by Ada.Real_Time) to compute the sleep duration
+-      on Windows.
+-
+-2007-04-06  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * s-osinte-vxworks.ads, s-osinte-vxworks.adb (VX_FP_TASK): Remove this
+-      function. Its value changes in different VxWorks versions, and it is
+-      now handled by the function __gnat_get_task_options.
+-
+-      * s-taprop-vxworks.adb (Create_Task): Call the function
+-      __gnat_get_task_options to get the required options for creating a task.
+-
+-2007-04-06  Pascal Obry  <obry@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-
+-      * adaint.c: Replace all occurences of S2WS to S2WSU (Unicode) when
+-      dealing with filename.
+-      (__gnat_fopen): Call the proper macro (8bits or UTF8) to convert the
+-      filename from a standard string to a wide-string depending on the
+-      encoding value.
+-      (__gnat_freopen): Idem.
+-      (__gnat_current_time): New function (wrapper for time(3) standard C
+-      function).
+-
+-      * g-os_lib.ads (Current_Time): New function. Returns the current
+-      system time as an OS_Time value.
+-
+-      * s-osprim.ads (Clock): Add more precise definition of UNIX epoch.
+-      (Monotonic_Clock): Same.
+-
+-2007-04-06  Quentin Ochem  <ochem@adacore.com>
+-
+-      * ali.ads, ali.adb (Get_Nat): Raise an exception if the file cursor is
+-      not on a natural.
+-      (Scan_ALI): Cancel the xref line if there has been a reading ALI error.
+-
+-2007-04-06  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * a-retide.adb: Add elaboration code to ensure that the tasking run
+-      time is initialized when using delay operations even when no task is
+-      created.
+-
+-2007-04-06  Javier Miranda  <miranda@adacore.com>
+-
+-      * a-tags.ads, a-tags.adb (Object_Specific_Data): Remove
+-      component Num_Prim_Ops.
+-      (Set_Num_Prim_Ops): Removed.
+-      Remove all the assertions because all the routines of this
+-      package are inline always.
+-      (Get_Offset_Index): Add support to primary dispatch tables.
+-      Move the documentation about the dispatch table to a-tags.ads
+-      (Set_External_Tag): Removed
+-      (Inherit_TSD): Removed.
+-      (Interface_Data_Element, Interfaces_Array, Interface_Data): Declarations
+-      moved to a-tags.ads
+-      (Displace, IW_Membership, Inherit_TSD, Interface_Ancestor_Tags,
+-      Register_Interface_Tag, Set_Offset_To_Top): Update all the occurrences
+-      of the TSD field "Table" because this field has been renamed to
+-      "Ifaces_Table".
+-      (Inherit_CPP_DT): Removed.
+-      (K_Typeinfo, K_Offset_To_Top, K_Tagged_Kind, K_Signature,
+-      Cstring, Tag_Table, Type_Specific_Data, Dispatch_Table): These
+-      declarations have been moved to a-tags.ads
+-      (Check_Size): Removed.
+-      (Expanded_Name): Updated to get access to the new field of TSD
+-      containing the address of the expanded name.
+-      (Get_Access_Level/Set_Access_Level): Removed.
+-      (Get_Predefined_Prim_Op_Address): Removed.
+-      (Set_Predefined_Prim_Op_Address): Removed.
+-      (Get_Prim_Op_Address/Set_Prim_Op_Address): Removed.
+-      (Get_Remotely_Callable/Set_Remotely_Callable): Removed.
+-      (Set_Expanded_Name): Removed.
+-      (Inherit_DT): Removed.
+-      (Inherit_CPP_DT): Removed.
+-      (Set_RC_Offset): Removed.
+-      (Set_TSD): Removed.
+-      (Base_Address): New function that displaces "this" to point to the base
+-      of the object (that is, to point to the primary tag of the object).
+-
+-2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_ch3.ads, exp_ch3.adb (Analyze_N_Full_Type_Declaration): For an
+-      anonymous access component, do not create a master_id if type already
+-      has one, as may happen if the type is a subcomponent of a packed array
+-      type.
+-      (Build_Init_Procedure, Component_Needs_Simple_Initialization,
+-      Initialize_Tag): Remove code associated with the old CPP pragmas.
+-      CPP_Virtual and CPP_Vtable are no longer supported.
+-      (Build_Offset_To_Top_Internal): Add support for concurrent record types
+-      (Build_Offset_To_Top_Functions): Add support for concurrent record types
+-      (Freeze_Record_Type): Remove call to
+-      Init_Predefined_Interface_Primitives.
+-      (Init_Secondary_Tags.Initialize_Tag): New subprogram containing all the
+-      code required to initialize the tags of the secondary dispatch tables.
+-      This leaves the algoritm more clear.
+-      (Init_Secondary_Tags): Add support for concurrent record types
+-      (Make_Predefined_Primitive_Specs): Code cleanup.
+-      (Predefined_Primitive_Bodies): Code cleanup.
+-      (Build_Master_Renaming): New local subprogram.
+-      (Expand_N_Full_Type_Declaration): Build the master_id associated with
+-      anonymous access to task type components.
+-      (Expand_N_Subtype_Indication): The bounds of a range constraint in a
+-      subtype indication are resolved during analysis, and must not be done
+-      here.
+-      (Stream_Operation_OK): Check Restriction_Active before RTE_Available.
+-
+-2007-04-06  Geert Bosch  <bosch@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-
+-      * exp_ch4.adb (Expand_N_Type_Conversion): Remove special processing
+-      for conversion of a Float_Type'Truncation to integer.
+-
+-      * exp_attr.adb (Is_Inline_Floating_Point_Attribute): New function to
+-      check if a node is an attribute that can be handled directly by the
+-      back end.
+-      (Expand_N_Attribute_Reference): Suppress expansion of floating-point
+-      attributes that can be handled directly by the back end.
+-      (Expand_N_Attribute_Reference, case 'Access and 'Unchecked_Access):
+-      use new predicate Is_Access_Protected_Subprogram_Type.
+-      (Expand_N_Attribute_Reference, case 'Write): The reference is legal for
+-      and Unchecked_Union if it is generated as part of the default  Output
+-      procedure for a type with default discriminants.
+-      (Expand_N_Attribute_Reference): Avoid the expansion of dispatching calls
+-      if we are compiling under restriction No_Dispatching_Calls.
+-      (Constrained): Use Underlying_Type, in case the type is private without
+-      discriminants, but the full type has discriminants.
+-      (Expand_N_Attribute_Reference): Replace call to Get_Access_Level by
+-      call to Build_Get_Access_Level.
+-      (Expand_N_Attribute_Reference): The use of 'Address with class-wide
+-      interface objects requires a call to the run-time subprogram that
+-      returns the base address of the object.
+-      (Valid_Conversion): Improve error message on illegal attempt to store
+-      an anonymous access to subprogram value into a record component.
+-
+-      * sem_res.adb (Resolve_Equality_Op): Detect ambiguity for "X'Access =
+-      null".
+-      (Simplify_Type_Conversion): New procedure that performs simplification
+-      of Int_Type (Float_Type'Truncation (X)).
+-      (Resolve_Type_Conversion): Call above procedure after resolving operand
+-      and before performing checks. This replaces the existing ineffective
+-      code in Exp_Ch4.
+-      (Set_String_Literal_Subtype): When creating the internal static lower
+-      bound subtype for a string literal, use a newly created copy of the
+-      subtree representing the lower bound.
+-      (Resolve_Call): Exclude build-in-place function calls from transient
+-      scope treatment. Update comments to describe this exception.
+-      (Resolve_Equality_Op): In case of dispatching call check violation of
+-      restriction No_Dispatching_Calls.
+-      (Resolve_Call): If the call returns an array, the context imposes the
+-      component type of the array, and the function has one non-defaulted
+-      parameter, rewrite the call as the indexing of a call with a single
+-      parameter, to handle an Ada 2005 syntactic ambiguity for calls written
+-      in prefix form.
+-      (Resolve_Actuals): If an actual is an allocator for an access parameter,
+-      the master of the created object is the innermost enclosing statement.
+-      (Remove_Conversions): For a binary operator, check if type of second
+-      formal is numeric, to check if an abstract interpretation is present
+-      in the case of exponentiation as well.
+-
+-2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-
+-      * atree.h, atree.ads, atree.adb (Copy_Node_With_Replacement): When
+-      copying a parameter list in a call, set properly the First_Named_Formal
+-      and Next_Named_Formal fields in the new list and in the enclosing call.
+-      (Watch_Node,New_Node_Breakpoint,New_Node_Debugging_Output): Shorten
+-      names, to ease typing in the debugger. Improve comments.
+-      (Watch_Node): New variable, intended to be set in the debugger.
+-      (New_Node_Breakpoint): New do-nothing procedure to set a breakpoint on,
+-      called when the watched node is created.
+-      (New_Node_Debugging_Output): Combined version of local procedures
+-      New_Node_Debugging_Output and New_Entity_Debugging_Output, now global,
+-      with a parameter so that conditional breakpoints like "if Node = 12345"
+-      work.
+-      (New_Node, New_Entity): Call the global New_Node_Debugging_Output.
+-      Add Elist1 function
+-
+-2007-04-06  Thomas Quinot  <quinot@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * checks.ads, checks.adb (Selected_Range_Checks): No range check is
+-      required for a conversion between two access-to-unconstrained-array
+-      types.
+-      (Expr_Known_Valid): Validity checks do not apply to discriminants, but
+-      to discriminant constraints on discriminant objects. This rule must
+-      apply as well to discriminants of protected types in private components.
+-      (Null_Exclusion_Static_Checks): If No_Initialization is set on an
+-      object of a null-excluding access type then don't require the
+-      the object declaration to have an expression and don't emit a
+-      run-time check.
+-
+-2007-04-06  Arnaud Charlet  <charlet@adacore.com>
+-          Eric Botcazou  <botcazou@adacore.com>
+-
+-      * gnatvsn.ads, comperr.adb (Get_Gnat_build_Type): Renamed Build_Type
+-      and made constant.
+-
+-      * comperr.ads, comperr.adb (Compiler_Abort): Add third parameter
+-      Fallback_Loc. Use it as the sloc info when Current_Error_Node doesn't
+-      carry any.
+-
+-      * fe.h (Compiler_Abort): Add third parameter.
+-
+-      * misc.c (internal_error_function): Build third argument from current
+-      input location and pass it to Compiler_Abort.
+-
+-2007-04-06  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * cstand.adb (Create_Standard): When the target's storage unit size is
+-      greater than a byte, set Has_Non_Standard_Rep and Has_Pragma_Pack on
+-      Standard_String.
+-
+-2007-04-06  Nicolas Roche  <roche@adacore.com>
+-
+-      * cstreams.c (__gnat_full_name): Fix issues on VxWorks 6.x for which
+-      absolute path can have the following form: device:/a/b. In this case
+-      '/' should be inserted between the path and the filename.
+-
+-2007-04-06  Olivier Hainque  <hainque@adacore.com>
+-          Eric Botcazou  <botcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <E_Constant>: Associate an external
+-      VAR_DECL to a CONST_DECL we make for a public constant when we know the
+-      corresponding definition has created the so made visible variable.
+-      Handle anonymous access to protected subprogram.
+-      (gnat_to_gnu_entity) <E_Variable>: Do not make the underlying type of an
+-      object with an address clause volatile.  Re-enable original fix.
+-      <E_Subprogram_Type>: Set TYPE_REF_CAN_ALIAS_ALL on the reference type
+-      too.
+-      (gnat_to_gnu_entity) <E_Class_Wide_Type>: Retrieve the TYPE_DECL
+-      associated with either the Equivalent or Root type, instead of the
+-      naked type node.
+-      (gnat_to_gnu_entity): Manually mark the top of the DECL_FIELD_OFFSET
+-      subtree for every field of a global record type.
+-      (gnat_to_gnu_entity) <E_Record_Subtype>: If the subtype has
+-      discriminants, invoke again variable_size on its newly computed sizes.
+-
+-2007-04-06  Robert Dewar  <dewar@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-
+-      * einfo.ads, einfo.adb: (First_Component_Or_Discriminant): New function
+-      (Next_Component_Or_Discriminant): New function and procedure
+-      (First_Index, First_Literal, Master_Id,
+-      Set_First_Index, Set_First_Literal, Set_Master_Id):
+-      Add missing Ekind assertions.
+-      (Is_Access_Protected_Subprogram_Type): New predicate.
+-      (Has_RACW): New entity flag, set on package entities to indicate that
+-      the package contains the declaration of a remote accecss-to-classwide
+-      type.
+-      (E_Return_Statement): This node type has the Finalization_Chain_Entity
+-      attribute, in case the result type has controlled parts.
+-      (Requires_Overriding): Add this new flag, because "requires
+-      overriding" is subtly different from "is abstract" (see AI-228).
+-      (Is_Abstract): Split Is_Abstract flag into Is_Abstract_Subprogram and
+-      Is_Abstract_Type. Make sure these are called only when appropriate.
+-      (Has_Pragma_Unreferenced_Objects): New flag
+-
+-      * exp_ch5.adb (Expand_N_Assignment_Statement): If the left-hand side is
+-      class-wide, the tag of the right-hand side must be an exact match, not
+-      an ancestor of that of the object on left-hand side.
+-      (Move_Activation_Chain): New procedure to create the call to
+-      System.Tasking.Stages.Move_Activation_Chain.
+-      (Expand_N_Extended_Return_Statement): Generate code to call
+-      System.Finalization_Implementation.Move_Final_List at the end of a
+-      return statement if the function's result type has controlled parts.
+-      Move asserts to Build_In_Place_Formal.
+-      (Move_Final_List): New function to create the call statement.
+-      (Expand_N_Assignment_Statement): In case of assignment to a class-wide
+-      tagged type, replace generation of call to the run-time subprogram
+-      CW_Membership by call to Build_CW_Membership.
+-      (Expand_N_Return_Statement): Replace generation of call to the run-time
+-      subprogram Get_Access_Level by call to Build_Get_Access_Level.
+-      (Expand_N_Simple_Function_Return): Replace generation of call to the
+-      run-time subprogram Get_Access_Level by call to Build_Get_Access_Level.
+-
+-      * exp_ch6.ads, exp_ch6.adb (Expand_Call): Use new predicate
+-      Is_Access_Protected_Subprogram_Type, to handle both named and anonymous
+-      access to protected operations.
+-      (Add_Task_Actuals_To_Build_In_Place_Call): New procedure to add the
+-      master and chain actual parameters to a build-in-place function call
+-      involving tasks.
+-      (BIP_Formal_Suffix): Add new enumeration literals to complete the case
+-      statement.
+-      (Make_Build_In_Place_Call_In_Allocator,
+-      Make_Build_In_Place_Call_In_Anonymous_Context,
+-      Make_Build_In_Place_Call_In_Assignment,
+-      Make_Build_In_Place_Call_In_Object_Declaration): Call
+-      Add_Task_Actuals_To_Build_In_Place_Call with the appropriate master.
+-      (Expand_Inlined_Call): If the subprogram is a null procedure, or a
+-      stubbed procedure with a null body, replace the call with a null
+-      statement without using the full inlining machinery, for efficiency
+-      and to avoid invalid values in source file table entries.
+-
+-      * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Add support for
+-      renamings of calls to build-in-place functions.
+-
+-      * rtsfind.adb (RTE_Record_Component_Available): New subprogram that
+-      provides the functionality of RTE_Available to record components.
+-      (RTU_Entity): The function Entity has been renamed to RTU_Entity
+-      to avoid undesired overloading.
+-      (Entity): New subprogram that returns the entity for the referened
+-      unit. If this unit has not been loaded, it returns Empty.
+-      (RE_Activation_Chain_Access, RE_Move_Activation_Chain): New entities.
+-      Remove no longer used entities.
+-      (RE_Finalizable_Ptr_Ptr, RE_Move_Final_List): New entities.
+-      (RE_Type_Specific_Data): New entity.
+-      (RE_Move_Any_Value): New entity.
+-      (RE_TA_A, RE_Get_Any_Type): New entities.
+-      (RE_Access_Level, RE_Dispatch_Table, E_Default_Prim_Op_Count,
+-       RE_Prims_Ptr, RE_RC_Offset, RE_Remotely_Callable,
+-       RE_DT_Typeinfo_Ptr_Size, RE_Cstring_Ptr, RE_DT_Expanded_Name): Added.
+-      (Entity): New subprogram that returns the entity for the referened
+-      unit. If this unit has not been loaded, it returns Empty.
+-      (RTE): Addition of a new formal that extends the search to the scopes
+-      of the record types found in the chain of the package.
+-
+-      * sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Print
+-      "abstract subprograms must be visible" message, whether or not the type
+-      is an interface; that is, remove the special case for interface types.
+-      (Analyze_Function_Return): Remove error message "return of task objects
+-      is not yet implemented" because this is now implemented.
+-      (Create_Extra_Formals): Add the extra master and activation chain
+-      formals in case the result type has tasks.
+-      Remove error message "return of limited controlled objects is not yet
+-      implemented".
+-      (Create_Extra_Formals): Add the extra caller's finalization list formal
+-      in case the result type has controlled parts.
+-      (Process_Formals): In case of access formal types there is no need
+-      to continue with the analysis of the formals if we already notified
+-      errors.
+-      (Check_Overriding_Indicator): Add code to check overriding of predefined
+-      operators.
+-      (Create_Extra_Formals): Prevent creation of useless Extra_Constrained
+-      flags for formals that do not require them,.
+-      (Enter_Overloaded_Entity): Do not give -gnatwh warning message unless
+-      hidden entity is use visible or directly visible.
+-      (Analyze_Abstract_Subprogram_Declaration,Analyze_Subprogram_Body,
+-      Analyze_Subprogram_Declaration,Analyze_Subprogram_Specification,
+-      Check_Conventions,Check_Delayed_Subprogram,Make_Inequality_Operator,
+-      New_Overloaded_Entity): Split Is_Abstract flag into
+-      Is_Abstract_Subprogram and Is_Abstract_Type.
+-
+-      * s-finimp.ads, s-finimp.adb (Move_Final_List): New procedure to move
+-      a return statement's finalization list to the caller's list, used for
+-      build-in-place functions with result type with controlled parts.
+-      Remove no longer used entities.
+-
+-      * s-taskin.ads (Activation_Chain): Remove pragma Volatile. It is no
+-      longer needed, because the full type is now limited, and therefore a
+-      pass-by-reference type.
+-      (Foreign_Task_Level): New constant.
+-
+-      * s-tassta.ads, s-tassta.adb (Move_Activation_Chain): New procedure to
+-      move tasks from the activation chain belonging to a return statement to
+-      the one passed in by the caller, and update the master to the one
+-      passed in by the caller.
+-      (Vulnerable_Complete_Master, Check_Unactivated_Tasks): Check the master
+-      of unactivated tasks, so we don't kill the ones that are being returned
+-      by a build-in-place function.
+-      (Create_Task): Ignore AI-280 for foreign threads.
+-
+-2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * errout.adb (Unwind_Internal_Type): Use predicate
+-      Is_Access__Protected_Subprogram_Type.
+-
+-      * freeze.adb (Size_Known): Use First/Next_Component_Or_Discriminant
+-      (Freeze_Entity, packed array case): Do not override explicitly set
+-      alignment and size clauses.
+-      (Freeze_Entity):  An entity declared in an outer scope can be frozen if
+-      the enclosing subprogram is a child unit body that acts as a spec.
+-      (Freeze_Entity): Use new predicate Is_Access_Protected_Subprogram_Type.
+-      (Freeze_Record_Type): New Ada 2005 processing for reverse bit order
+-      Remove all code for DSP option
+-
+-      * layout.adb (Layout_Record_Type): Use First/
+-      Next_Component_Or_Discriminant
+-      (Layout_Type): Use new predicate Is_Access_Protected_Subprogram_Type,
+-      to handle properly the anonymous access case.
+-
+-      * sem_attr.adb (Build_Access_Object_Type): Use E_Access_Attribute_Type
+-      for all access attributes, because overload resolution should work the
+-      same for 'Access, 'Unchecked_Access, and 'Unrestricted_Access. This
+-      causes the error message for the ambiguous "X'Access = Y'Access" and
+-      "X'Unrestricted_Access = Y'Access" and so forth to match.
+-      (Resolve_Attribute, case 'Access): Remove use of Original_Access_Type,
+-      now that anonymous access to protected operations have their own kind.
+-      (Resolve_Attribute): In case of dispatching call check the violation of
+-      restriction No_Dispatching_Calls.
+-      (Check_Array_Type): Check new -gnatyA array index style option
+-
+-      * sem_ch3.ads, sem_ch3.adb (Derived_Type_Declaration): Reject an
+-      attempt to derive from a synchronized tagged type.
+-      (Analyze_Type_Declaration): If there is a incomplete tagged view of the
+-      type, inherit the class-wide type already created, because it may
+-      already have been used in a self-referential anonymous access component.
+-      (Mentions_T): Recognize self-referential anonymous access components
+-      that use (a subtype of) the class-wide type of the enclosing type.
+-      (Build_Derived_Record_Type): Add earlier setting of Is_Tagged_Type. Pass
+-      Derived_Type for Prev formal on call to
+-      Check_Anonymous_Access_Components rather than Empty.
+-      (Make_Incomplete_Type_Declaration): Add test for case where the type has
+-      a record extension in deciding whether to create a class-wide type,
+-      rather than just checking Tagged_Present.
+-      (Replace_Anonymous_Access_To_Protected_Subprogram): Procedure applies
+-      to stand-alone object declarations as well as component declarations.
+-      (Array_Type_Declaration): Initialize Packed_Array_Type to Empty, to
+-      prevent accidental overwriting when enclosing package appears in
+-      a limited_with_clause.
+-      (Array_Type_Declaration): If the component type is an anonymous access,
+-      the associated_node for the itype is the type declaration itself.
+-      (Add_Interface_Tag_Components): Modified to support concurrent
+-      types with abstract interfaces.
+-      (Check_Abstract_Interfaces): New subprogram that verifies the ARM
+-      rules 3.9.4 (15/2), 9.1 (9.d/2) and 9.4 (11.d/2).
+-      (Build_Derived_Record_Type): Add call to Analyze_Interface_Declaration
+-      to complete the decoration of synchronized interface types. Add also
+-      a call to Check_Abstract_Interfaces to verify the ARM rules.
+-      (Derive_Interface_Subprograms): Modified to support concurrent types
+-      with abstract interfaces.
+-      (Analyze_Subtype_Indication): Resolve the range with the given subtype
+-      mark, rather than delaying the full resolution depending on context.
+-      (Analyze_Component_Declaration,Analyze_Interface_Declaration,
+-      Analyze_Object_Declaration,Analyze_Subtype_Declaration,
+-      Array_Type_Declaration,Build_Derived_Record_Type,
+-      Build_Discriminated_Subtype,Check_Abstract_Overriding,Check_Completion,
+-      Derive_Interface_Subprograms,Derive_Subprogram,Make_Class_Wide_Type,
+-      Process_Full_View,Record_Type_Declaration): Split Is_Abstract flag into
+-      Is_Abstract_Subprogram and Is_Abstract_Type. Make sure these are
+-      called only when appropriate.
+-      (Copy_And_Swap): Copy Has_Unreferenced_Objects flag from full type
+-      to private type.
+-      (Analyze_Subtype_Declaration): For an access subtype declaration, create
+-      an itype reference for the anonymous designated subtype, to prevent
+-      scope anonmalies in gigi.
+-      (Build_Itype_Reference): New utility, to simplify construction of such
+-      references.
+-
+-2007-04-06  Vincent Celier  <celier@adacore.com>
+-
+-      * errutil.adb (Initialize): Initialize warnings table, if all warnings
+-      are suppressed, supply an initial dummy entry covering all possible
+-      source locations.
+-
+-      * make.adb (Scan_Make_Arg): Reject options that should start with "--"
+-      and start with only one, such as "-RTS=none".
+-      (Collect_Arguments): Do not check for sources outside of projects.
+-      Do not collect arguments if project is externally built.
+-      (Compile_Sources): Do nothing, not even check if the source is up to
+-      date, if its project is externally built.
+-      (Compile): When compiling a predefined source, add -gnatpg
+-      as the second switch, after -c.
+-      (Compile_Sources): Allow compilation of Annex J renames without -a
+-      (Is_In_Object_Directory): Check if the ALI file is in the object
+-      even if there is no project extension.
+-      (Create_Binder_Mapping_File): Only put a unit in the mapping file for
+-      gnatbind if the ALI file effectively exists.
+-      (Initialize): Add the directory where gnatmake is invoked in front of
+-      the path if it is invoked from a bin directory, even without directory
+-      information, so that the correct GNAT tools will be used when spawned
+-      without directory information.
+-
+-      * makeusg.adb: Change switch -S to -eS
+-      Add lines for new switches -we, -wn and -ws
+-      Add line for new switch -p
+-
+-      * prj-proc.adb (Process): Set Success to False when Warning_Mode is
+-      Treat_As_Error and there are warnings.
+-
+-      * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Do not skip
+-      -gnatww Change gnatmake switch -S to -eS
+-      (Scan_Make_Switches): Code reorganisation. Process separately multi
+-      character switches and single character switches.
+-      (Scan_Make_Switches): New Boolean out parameter Success. Set Success to
+-      False when switch is not recognized by gnatmake.
+-      (Scan_Make_Switches): Set Setup_Projects True when -p or
+-      --create-missing-dirs is specified.
+-
+-      * fname.adb (Is_Predefined_File_Name): Return True for annex J
+-      renamings Calendar, Machine_Code, Unchecked_Conversion and
+-      Unchecked_Deallocation only when Renamings_Included is True.
+-
+-      * par.adb: Allow library units Calendar, Machine_Code,
+-      Unchecked_Conversion and Unchecked_Deallocation to be recompiled even
+-      when -gnatg is not specified.
+-      (P_Interface_Type_Definition): Remove the formal Is_Synchronized because
+-      there is no need to generate always a record_definition_node in case
+-      of synchronized interface types.
+-      (SIS_Entry_Active): Initialize global variable to False
+-      (P_Null_Exclusion): For AI-447: Add parameter Allow_Anonymous_In_95 to
+-      indicate cases where AI-447 says "not null" is legal.
+-
+-      * makeutl.ads, makeutil.adb (Executable_Prefix_Path): New function
+-
+-      * makegpr.adb (Check_Compilation_Needed): Take into account dependency
+-      files with with several lines starting with the object fileb name.
+-      (Scan_Arg): Set Setup_Projects True when -p or --create-missing-dirs
+-      is specified.
+-      (Initialize): Add the directory where gprmake is invoked in front of the
+-      path, if it is invoked from a bin directory or with directory
+-      information, so that the correct GNAT tools will be used when invoked
+-      directly.
+-      (Check_Compilation_Needed): Process correctly backslashes on Windows.
+-
+-      * vms_data.ads: Update switches/qualifiers
+-
+-2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_aggr.adb:
+-      If the array component is a discriminated record, the array aggregate
+-      is non-static even if the component is given by an aggregate with
+-      static components.
+-      (Expand_Record_Aggregate): Use First/Next_Component_Or_Discriminant
+-      (Convert_Aggr_In_Allocator): If the allocator is for an access
+-      discriminant and the type is controlled. do not place on a finalization
+-      list at this point. The proper list will be determined from the
+-      enclosing object.
+-      (Build_Record_Aggr_Code): If aggregate has box-initialized components,
+-      initialize record controller if needed, before the components, to ensure
+-      that they are properly finalized.
+-      (Build_Record_Aggr_Code): For the case of an array component that has a
+-      corresponding array aggregate in the record aggregate, perform sliding
+-      if required.
+-
+-2007-04-06  Javier Miranda  <miranda@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch13.adb (Expand_External_Tag_Definition): Replace call to the
+-      run-time subprogram Set_External_Tag by call to Build_Set_External_Tag.
+-
+-      * exp_ch4.adb (Expand_Allocator_Expression): Don't perform a run-time
+-      accessibility on class-wide allocators if the allocator occurs at the
+-      same scope level as the allocator's type. The check is guaranteed to
+-      succeed in that case, even when the expression originates from a
+-      parameter of the containing subprogram.
+-      (Expand_N_Op_Eq): Do nothing in case of dispatching call if compiling
+-      under No_Dispatching_Calls restriction. During the semantic analysis
+-      we already notified such violation.
+-      (Tagged_Membership): Constant folding. There is no need to check
+-      the tag at run-time if the type of the right operand is non
+-      class-wide abstract.
+-      Replace call to Is_Ancestor by call to Is_Parent
+-      to support concurrent types with interface types.
+-      (Expand_N_Allocator): Add an assertion associated with the generation
+-      of the master_id.
+-      (Expand_N_Slice): Do not enable range check to nodes associated
+-      with the frontend expansion of the dispatch table.
+-      (Is_Local_Access_Discriminant): Subsidiary function to
+-      Expand_N_Allocator.
+-      (Tagged_Membership): Replace generation of call to the run-time
+-      subprogram CW_Membership by call to Build_CW_Membership.
+-      (Expand_Allocator_Expression): Replace generation of call to the
+-      run-time subprogram Get_Access_Level by call to Build_Get_Access_Level.
+-
+-      * exp_disp.ads, exp_disp.adb (Make_DT): Code reorganization to
+-      initialize most the TSD components by means of an aggregate.
+-      Modify the declaration of the object containing the TSD
+-      because we now expand code that has a higher level of abstraction.
+-      The TSD has a discriminant containing the Inheritance Depth Level,
+-      value that is used in the membership test but also to fix the size
+-      of the table of ancestors.
+-      (Expand_Interface_Conversion): Insert function body at the closest place
+-      to the conversion expression, to prevent access-before-elaboration
+-      errors in the backend.
+-      Code improved to reduce the size of the dispatch table if
+-      compiling under restriction No_Dispatching_Calls plus code cleanup.
+-      Code reorganization plus removal of calls to Set_Num_Prim_Ops
+-      (Make_Secondary_DT): Remove call to Set_Num_Prim_Ops.
+-      (Expand_Dispatching_Call): Minor code reorganization plus addition of
+-      code to return immediately if compiling under No_Dispatching_Calls
+-      restriction.
+-      (Set_All_DT_Position): Remove code associated with the old CPP pragmas.
+-      CPP_Virtual and CPP_Vtable are no longer supported.
+-      (Expand_Interface_Conversion): Add missing support for interface type
+-      derivations.
+-      (Expand_Interface_Actuals): Replace calls to Is_Ancestor by calls to
+-      Is_Parent to support concurrent types with interfaces.
+-      (Init_Predefined_Interface_Primitives): Removed.
+-      (Make_Secondary_DT): Modified to support concurrent record types.
+-      (Set_All_DT_Position): Modified to support concurrent record types.
+-      (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entries associated
+-      with Get_External_Tag, Inherit_TSD, Set_External_Tag.
+-      (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entry associated
+-      with CW_Membership.
+-      (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entries associated
+-      with Get_Access_Level, Get_Predefined_Prim_Op_Address,
+-      Get_Prim_Op_Address Get_RC_Offset, Get_Remotely_Callable, Inherit_DT,
+-      Set_Access_Level, Set_Expanded_Name, Set_Predefined_Prim_Op_Address,
+-      Set_Prim_Op_Address, Set_RC_Offset, Set_Remotely_Callable, Set_TSD.
+-      (Expand_Dispatching_Call): Replace generation of call to the run-time
+-      subprograms Get_Predefined_Prim_Op_Address and Get_Prim_Op_Address by
+-      calls to Build_Get_Predefined_Prim_Op_Address, and Build_Get_Prim_Op_
+-      Address.
+-      (Fill_DT_Entry, Fill_Secondary_DT_Entry): Replace generation of call to
+-      the run-time subprograms Set_Predefined_Prim_Op_Address and Set_Prim_
+-      Op_Address by calls to Build_Set_Predefined_Prim_Op_Address, and
+-      Build_Set_Prim_Op_Address.
+-      (Get_Remotely_Callable): Subprogram removed.
+-      (Init_Predefined_Interface_Primitives): Replace generation of call to
+-      the run-time subprograms Inherit_DT by call to Build_Inherit_Predefined_
+-      Prims.
+-
+-      * sem_elab.adb (Set_Elaboration_Constraint): Replace the call to
+-      First (Parameter_Associations ()) with the call to First_Actual that
+-      returns an actual parameter expression for both named and positional
+-      associations.
+-
+-      * sem_disp.adb (Check_Dispatching_Call): In case of dispatching call
+-      check violation of restriction No_Dispatching_Calls.
+-      (Check_Controlling_Type): A formal of a tagged incomplete type is a
+-      controlling argument.
+-
+-      * exp_util.ads, exp_util.adb (Type_May_Have_Bit_Aligned_Components): Use
+-      First/Next_Component_Or_Discriminant
+-      (Insert_Actions): Add entries for new N_Push and N_Pop nodes
+-      (Find_Implemented_Interface): Removed. All the calls to this subprogram
+-      specify Any_Limited_Interface, and this functionality is already
+-      provided by the function Has_Abstract_Interfaces.
+-      (Find_Interface, Find_Interface_Tag, Find_Interface_ADT): Modified to
+-      support concurrent types implementing interfaces.
+-      (Find_Implemented_Interface): Removed. All the calls to this subprogram
+-      specify kind Any_Limited_Interface, and this functionality is already
+-      provided by the function Has_Abstract_Interfaces.
+-      (Remove_Side_Effects): replace Controlled_Type by
+-      CW_Or_Controlled_Type whenever the issue is related to
+-      using or not the secondary stack.
+-
+-      * par-ch12.adb (P_Formal_Type_Definition): Update calls to
+-      P_Interface_Type_Definition to fulfill the new interface (the formal
+-      Is_Synchronized is no longer required).
+-
+-      * Make-lang.in (GNAT_ADA_OBJS): Addition of exp_atag.o
+-      Update dependencies.
+-
+-      * exp_atag.ads, exp_atag.adb: New file
+-
+-2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-          Cyrille Comar  <comar@adacore.com>
+-
+-      * exp_ch7.ads, exp_ch7.adb (Find_Final_List): If the access type is
+-      anonymous, use finalization list of enclosing dynamic scope.
+-      (Expand_N_Package_Declaration): For a library package declaration
+-      without a corresponding body, generate RACW subprogram bodies in the
+-      spec (just as we do for the task activation call).
+-      (Convert_View): Split Is_Abstract flag into Is_Abstract_Subprogram and
+-      Is_Abstract_Type. Make sure these are called only when appropriate.
+-      Remove all code for DSP option
+-      (CW_Or_Controlled_Type): new subprogram.
+-
+-2007-04-06  Eric Botcazou  <botcazou@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_ch9.ads, exp_ch9.adb (Family_Offset): Add new 'Cap' boolean
+-      parameter. If it is set to true, return a result capped according to
+-      the global upper bound for the index of an entry family.
+-      (Family_Size): Add new 'Cap' boolean parameter. Pass it to Family_Offset
+-      (Build_Find_Body_Index): Adjust for above change.
+-      (Entry_Index_Expression): Likewise.
+-      (Is_Potentially_Large_Family): New function extracted from...
+-      (Collect_Entry_Families): ...here. Call it to detect whether the family
+-      is potentially large.
+-      (Build_Entry_Count_Expression): If the family is potentially large, call
+-      Family_Size with 'Cap' set to true.
+-      (Expand_N_Protected_Type_Declaration, Expand_N_Protected_Body): Generate
+-      a protected version of an operation declared in the private part of
+-      a protected object, because they may be invoked through a callback.
+-      (Set_Privals): If the type of a private component is an anonymous access
+-      type, do not create a new itype for each protected body.
+-      If the body of a protected operation creates
+-      controlled types (including allocators for class-widetypes), the
+-      body of the corresponding protected subprogram must include a
+-      finalization list.
+-      (Build_Activation_Chain_Entity): Build the chain entity for extended
+-      return statements.
+-      (Type_Conformant_Parameters): Use common predicate Conforming_Types
+-      to determine whether operation overrides an inherited primitive.
+-      (Build_Wrapper_Spec): Add code to examine the parents while looking
+-      for a possible overriding candidate.
+-      (Build_Simple_Entry_Call): Set No_Initialization on the object used to
+-      hold an actual parameter value since its initialization is separated
+-      from the the declaration. Prevents errors on null-excluding access
+-      formals.
+-
+-2007-04-06  Thomas Quinot  <quinot@adacore.com>
+-          Pablo Oliveira  <oliveira@adacore.com>
+-
+-      * exp_dist.ads, exp_dist.adb (Build_To_Any_Call, Build_From_Any_Call):
+-      Do an Unchecked_Conversion to handle the passage from the Underlying
+-      Type to the Base Type when calling Build_To_Any_Call and
+-      Build_From_Any_Call.
+-      (Build_Actual_Object_Declaration): Set Object's Ekind to E_Variable or
+-      E_Constant, depending upon Variable formal.
+-      (GARLIC_Support.Build_Subprogram_Receiving_Stubs,
+-      PolyORB_Support.Build_Subprogram_Receiving_Stubs): For a formal
+-      parameter that requires an extra constrained parameter, declare
+-      temporary for actual as a variable, not a constant.
+-      (Add_RACW_Primitive_Declarations_And_Bodies): Generate bodies only when
+-      the unit being compiled is the one that contains the stub type.
+-      Change primitive operation name for the RACW associated with a RAS
+-      from Call to _Call so it cannot clash with any legal identifier.
+-      (PolyORB_Support.Add_RACW_Write_Attribute): Remove unused constant
+-      Is_RAS.
+-      (Append_RACW_Bodies): New subprogram.
+-      (Expand_Receiving_Stubs_Bodies): Pass a 'Stmts' list to
+-      Add_Receiving_Stubs_To_Declarations functions.
+-      When expanding a package body, this list correspond to the
+-      statements in the HSS at the end of the pacakge.
+-      When expanding a package spec, this list correspond to the
+-      spec declarations.
+-      (Add_Receiving_Stubs_To_Declarations): Append the function
+-      registering the receiving stubs at the end of the 'Stmts' list.
+-      (RCI_Package_Locator): Pass the new Version generic formal when
+-      instantiating a RCI_Locator package.
+-      (Build_From_Any_Function): To compute the High bound for an
+-      unconstrained array actual, we add the Low bound with the length.
+-      Thus we must convert the low bound and the length to an appropriate
+-      type before doing the sum.
+-      (Build_Subprogram_Receiving_Stubs, PolyORB):
+-       * Retrieve the extra formals parameters at the
+-         end of the parameter stream.
+-       * Use Move_Any_Value to write back out parameters
+-         after executing the request as it is more efficient
+-         than Copy_Any_Value.
+-       * Build the any containing Extra Formals with the
+-         appropriate typecode.
+-      (PolyORB_Support.Helpers.Append_Record_Traversal): Nothing to do for an
+-      empty Component_List.
+-      (Build_Actual_Object_Declaration): New subprogram. Build and insert into
+-      the tree the declaration for an object that serves as actual parameter
+-      in server-side stubs.
+-      (GARLIC_Support.Build_Subprogram_Receiving_Stubs,
+-      PolyORB_Support.Build_Subprogram_Receiving_Stubs):
+-      Use Build_Actual_Object_Declaration to prepare the actuals.
+-      (Add_Parameter_To_NVList): Set the parameter mode to In for
+-      Extra Constrained Parameters.
+-      (Build_General_Calling_Stubs): Set the parameter type to boolean for
+-      Extra Constrained parameters.
+-      (Build_To_Any_Function, Build_From_Any_Function,
+-      Built_TypeCode_Function): When Typ is implicit, call the correct
+-      function with the first not implicit parent type.
+-      (TC_Rec_Add_Process_Element, FA_Rec_Add_Process_Element,
+-      (FA_Ary_Add_Process_Element): When Datum is an Any, we cannot infer the
+-      typecode from the Etype. Therefore we retrieve the correct typecode
+-      with a call to Get_Any_Type.
+-      (Copy_Specification): Do controlling formal type substitution based on
+-      Is_Controlling_Formal flag, instead of caller-provided object type.
+-      (Build_Subprogram_Calling_Stubs): When retrieveing the original spec for
+-      a RACW primitive operation, we might get a subprogram declaration for an
+-      ancestor of the RACW designated type (not for the designated type
+-      itself), in the case where this operation is inherited. In this case we
+-      have no easy means of determining the original tagged type for which
+-      the primitive was declared, so instead we now rely on
+-      Copy_Specification to use the Is_Controlling_Formal flag to determine
+-      which formals require type substitution.
+-
+-2007-04-06  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_intr.adb (Expand_Exception_Call): Calls to subprograms in
+-      GNAT.Current_Exception are not allowed if pragma Restrictions
+-      (No_Exception_Propagation) is set and in any case make the associated
+-      handler unsuitable as a target for a local raise statement.
+-      (Expand_Dispatching_Constructor_Call): Replace generation of call to the
+-      run-time subprogram CW_Membership by call to Build_CW_Membership.
+-      (Expand_Dispatching_Constructor_Call): If the dispatching tag is given
+-      by a function call, a temporary must be created before expanding the
+-      Constructor_Call itself, to prevent out-of-order elaboration in the
+-      back-end when stack checking is enabled..
+-
+-2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_pakd.adb (Expand_Packed_Boolean_Operator): The bounds of the
+-      result are the bounds of the left operand, not the right.
+-
+-2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_strm.adb
+-      (Build_Mutable_Record_Write_Procedure): For an Unchecked_Union type, use
+-       discriminant defaults.
+-      (Build_Record_Or_Elementary_Output_Procedure): Ditto.
+-      (Make_Component_List_Attributes): Ditto.
+-
+-2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-
+-      * sem_aggr.adb (Resolve_Record_Aggregate): In semantics-only mode treat
+-      an association with a box as providing a value even though the
+-      initialization procedure for the type is not available.
+-      (Resolve_Record_Aggregate): Check that a choice of an association with a
+-      box corresponds to a component of the type.
+-      (Resolve_Record_Aggregate): Split Is_Abstract flag into
+-      Is_Abstract_Subprogram and Is_Abstract_Type.
+-
+-      * exp_tss.adb (Base_Init_Proc): Use Is_Type instead of Type_Kind for
+-      assert.
+-
+-      * inline.adb (Add_Inlined_Body): Split Is_Abstract flag into
+-      Is_Abstract_Subprogram and Is_Abstract_Type. Make sure these are
+-      called only when appropriate.
+-
+-2007-04-06  Olivier Hainque  <hainque@adacore.com>
+-
+-      * g-alleve.ads (Low Level Vector type definitions): Map each to the
+-      associated vector view instead of all to the unsigned char view.
+-
+-      * g-altcon.adb (Generic_Conversions): New internal generic package,
+-      offering facilities for all the Vector/View conversion routines
+-      implemented by this unit.
+-      (To_View/To_Vector - all versions): Reimplemented in a systematic
+-      manner, using the internal Generic_Conversions facilities.
+-
+-2007-04-06  Pascal Obry  <obry@adacore.com>
+-
+-      * g-arrspl.adb (Free) [Element_Access]: New routine to free the source
+-      string.
+-      (Create): Free the source string before storing the new one.
+-
+-2007-04-06  Vincent Celier  <celier@adacore.com>
+-
+-      * g-debpoo.adb (Validity): New package with a complete new
+-      implementation of subprograms Is_Valid and Set_Valid.
+-      (Is_Valid): Move to local package Validity
+-      (Set_Valid): Move to local package Validity
+-
+-2007-04-06  Arnaud Charlet  <charlet@adacore.com>
+-          Pablo Oliveira  <oliveira@adacore.com>
+-
+-      * g-expect.adb (Get_Command_Output): When expanding the output buffer
+-      we must ensure that there is enough place for the new data we are going
+-      to copy in.
+-
+-2007-04-06  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-md5.ads, g-md5.adb (Digest): Fix off-by-one error in padding
+-      computation.
+-
+-2007-04-06  Jose Ruiz  <ruiz@adacore.com>
+-          Vincent Celier  <celier@adacore.com>
+-
+-      * gnatcmd.adb (B_Start): Add prefix of binder generated file.
+-      (Stack_String): Add this String that contains the name of the Stack
+-      package in the project file.
+-      (Packages_To_Check_By_Stack): Add this list that contains the packages
+-      to be checked by gnatstack, which are the naming and the stack packages.
+-      (Check_Files): If no .ci files were specified for gnatstack we add all
+-      the .ci files belonging to the projects, including binder generated
+-      files.
+-      (Non_VMS_Usage): Document that gnatstack accept project file switches.
+-      (GNATCmd): Update the B_Start variable if we are in a VMS environment.
+-      Add gnatstack to the list of commands that use project file related
+-      switches, and get the single attribute Switches from the stack package
+-      in a project file when calling gnatstack. Parse the -U flag for
+-      processing files belonging to all projects in the project tree.
+-      Remove all processing for command Setup
+-
+-      * prj-attr.adb: Add new package Stack with single attribute Switches
+-
+-      * vms_conv.ads (Command_Type): Add command Stack.
+-      Move to body declarations that are only used in the body: types Item_Id,
+-      Translation_Type, Item_Ptr, Item and its subtypes.
+-
+-      * vms_conv.adb: (Initialize): Add data for new command Stack.
+-      Add declarations moved from the spec: types Item_Id, Translation_Type,
+-      Item_Ptr, Item and its subtypes.
+-      (Cargs_Buffer): New table
+-      (Cargs): New Boolean global variable
+-      (Process_Buffer): New procedure to create arguments
+-      (Place): Put character in table Buffer or Cargs_Buffer depending on the
+-       value of Cargs.
+-      (Process_Argument): Set Cargs when processing qualifiers for GNAT
+-      COMPILE
+-      (VMS_Conversion): Call Process_Buffer for table Buffer and, if it is not
+-      empty, for table Cargs_Buffer.
+-      (Initialize): Remove component Setup in Command_List
+-
+-2007-04-06  Vincent Celier  <celier@adacore.com>
+-
+-      * gprep.adb (Process_Files.Process_One_File): Use full file name when
+-      issuing pragma Source_Reference.
+-
+-2007-04-06  Emmanuel Briot  <briot@adacore.com>
+-
+-      * g-regpat.adb (Parse_Posix_Character_Class): Fix handling of
+-      [[:xdigit:]] character class.
+-      Also raise an exception when an invalid character class is used.
+-
+-2007-04-06  Pascal Obry  <obry@adacore.com>
+-
+-      * i-cstrea.ads: (fopen): Add encoding parameter.
+-      (freopen): Idem.
+-      Change reference from a-sysdep.c to sysdep.c in comment.
+-      Update copyright notice.
+-      This set of patch add support for the encoding form parameter.
+-
+-      * mingw32.h (S2WSU): New macro to convert from a string to a
+-      wide-string using the UTF-8 encoding. The S2WS macro supports now only
+-      standard 8bits encoding.
+-      (WS2SU): As above but converting from wide-sring to string.
+-      This is needed as it is necessary to have access to both versions in the
+-      runtime for the form parameter encoding support.
+-      This set of patch add support for the encoding form parameter.
+-      (S2WS): Improve implementation to handle cases where the filename is not
+-      UTF-8 encoded. In this case we default to using the current code page
+-      for the conversion.
+-
+-      * s-crtl-vms64.ads, s-crtl.ads (Filename_Encoding): New enumeration
+-      type (UTF8, ASCII_8bits). This enumeration has a rep clause to match
+-      the constants defined in adaint.h.
+-      (fopen): Add encoding parameter.
+-      (freopen): Idem.
+-
+-      * s-ficobl.ads (AFCB): Add Encoding field to record the filename
+-      encoding. This is needed for the Reset routine (freopen low level-call).
+-
+-      * s-fileio.adb (Open): Decode encoding form parameter and set the
+-      corresponding encoding value into AFCB structure.
+-      (Reset): Pass the encoding value to freopen.
+-      (Close): Move the call to Lock_Task to the beginning of the procedure.
+-
+-2007-04-06  Geert Bosch  <bosch@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * i-fortra.ads: Add Double_Complex type.
+-
+-      * impunit.adb: (Is_Known_Unit): New function
+-      Add Gnat.Byte_Swapping
+-      Add GNAT.SHA1
+-      Add new Ada 2005 units
+-      Ada.Numerics.Generic_Complex_Arrays, Ada.Numerics.Generic_Real_Arrays,
+-      Ada.Numerics.Complex_Arrays, Ada.Numerics.Real_Arrays,
+-      Ada.Numerics.Long_Complex_Arrays, Ada.Numerics.Long_Long_Complex_Arrays,
+-      Ada.Numerics.Long_Long_Real_Arrays and Ada.Numerics.Long_Real_Arrays
+-
+-      * impunit.ads (Is_Known_Unit): New function
+-
+-      * a-ngcoar.adb, a-ngcoar.ads, a-ngrear.adb,
+-      a-ngrear.ads, a-nlcoar.ads, a-nllcar.ads, a-nllrar.ads, a-nlrear.ads,
+-      a-nucoar.ads, a-nurear.ads, g-bytswa.adb, g-bytswa-x86.adb,
+-      g-bytswa.ads, g-sha1.adb, g-sha1.ads, i-forbla.ads, i-forlap.ads,
+-      s-gearop.adb, s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb,
+-      s-gecola.ads, s-gerebl.adb, s-gerebl.ads, s-gerela.adb, s-gerela.ads:
+-      New files.
+-
+-      * Makefile.rtl: Add g-bytswa, g-sha1, a-fzteio and a-izteio
+-
+-      * a-fzteio.ads, a-izteio.ads: New Ada 2005 run-time units.
+-
+-2007-04-06  Eric Botcazou  <botcazou@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-
+-      * init.c: Reuse PA/HP-UX code for IA-64/HP-UX, except
+-      __gnat_adjust_context_for_raise.
+-      (__gnat_init_float): on x86 vxworks 5.x and 6.x, we use the same
+-      implementation of floating point operations as native x86 targets.
+-      So the FPU should be initialized in the same way using finit. Fix
+-      floating point operations accuracy issues.
+-      (__gnat_install_handler, case FreeBSD): Use proper type for sa_sigaction
+-      member in struct sigaction, so as to avoid warning for incompatible
+-      pointer types.
+-
+-2007-04-06 Serguei Rybin  <rybin@adacore.com>
+-
+-      * lib.ads, lib.adb (Tree_Read): Release the memory occupied by the
+-      switches from previously loaded tree
+-
+-2007-04-06  Thomas Quinot  <quinot@adacore.com>
+-
+-      * lib-writ.adb (Write_With_Lines): Factor duplicated code between the
+-      cases where a given dependency has a body or not.
+-      (Write_With_File_Names): New subprogram, common code for the two cases
+-      above.
+-
+-2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * lib-xref.ads, lib-xref.adb:
+-      Modify the loop that collects type references, to include interface
+-      types that the type implements. List each of these interfaces when
+-      building the entry for the type.
+-      (Generate_Definition): Initialize component Def and Typ of new entry
+-      in table Xrefs, to avoid to have these components unitialized.
+-      (Output_References): Split Is_Abstract flag into
+-      Is_Abstract_Subprogram and Is_Abstract_Type.
+-      (Generate_Reference): Add barrier to do not generate the warning
+-      associated with Ada 2005 entities with entities generated by the
+-      expander.
+-
+-2007-04-06  Robert Dewar  <dewar@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-          Vincent Celier  <celier@adacore.com>
+-
+-      * gnat_rm.texi, gnat_ugn.texi: Add -gnatyl documentation
+-      Update 'Exception Handling Control' chapter which was outdated.
+-      Minor fix to documentation of -gnatwq
+-      Remove section "Adapting the Run Time to a New C++ Compiler" because
+-      it is now obsolete.
+-      Add passage on need of -nostart-files in some non-ada-main cases.
+-      Document new switch -eS (/STANDARD_OUTPUT_FOR_COMMANDS) for gnatmake
+-      Update documentation about Interfacing with C++
+-      Add documentation for new gnatmake switch -p
+-      Add missing protocol part in URLs.
+-      Document -gnatyA
+-      Document pragma Compile_Time_Error
+-      Add documentation for Object_Size indicating that stand alone
+-      objects can have a larger size in some cases.
+-      Add node for GNAT.Byte_Swapping, GNAT.SHA1
+-      Update reference to the Ravenscar profile.
+-      Document pragma Unreferenced_Objects
+-
+-      * gnat-style.texi: Fix typo
+-
+-2007-04-06  Vincent Celier  <celier@adacore.com>
+-
+-      * mlib.adb (Building_Library): Only output "building a library..." in
+-      verbose mode
+-
+-      * mlib-prj.adb (Build_Library): Only output lists of object and ALI
+-      files in verbose mode.
+-
+-      * mlib-utl.adb (Ar): Only output the first object files when not in
+-      verbose mode.
+-      (Gcc): Do not display all the object files if not in verbose mode, only
+-      the first one.
+-
+-2007-04-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * namet.ads, namet.adb (wn): Improve this debugging routine. Calling
+-      it no longer destroys the contents of Name_Buffer or Name_Len and
+-      non-standard and invalid names are handled better.
+-      (Get_Decoded_Name_String): Improve performance by using
+-      Name_Has_No_Encodings flag in the name table.
+-      (Is_Valid_Name): New function to determine whether a Name_Id is valid.
+-      Used for debugging printouts.
+-
+-2007-04-06  Robert Dewar  <dewar@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-
+-      * par-ch3.adb: (P_Type_Declaration): Set Type_Token_Location
+-      (P_Interface_Type_Definition): Remove the formal Is_Synchronized because
+-      there is no need to generate always a record_definition_node in case
+-      of synchronized interface types.
+-      (P_Type_Declaration): Update calls to P_Interface_Type_Definition.
+-      (P_Null_Exclusion): For AI-447: Remove warnings about "not null" being
+-      illegal in Ada 95, in cases where it is legal. Change the warnings to
+-      errors in other cases. Don't give the error unless the "not null"
+-      parses properly. Correct the source position at which the error occurs.
+-      (P_Known_Discriminant_Part_Opt): Pass Allow_Anonymous_In_95 => True to
+-      P_Null_Exclusion, to suppress "not null" warnings.
+-      (P_Identifier_Declarations): Code cleanup. Removed unrequired label and
+-      associated goto statements.
+-
+-      * par-endh.adb (Pop_End_Context): Allow more flexibility in placement
+-      of END RECORD
+-
+-      * scans.ads (Type_Token_Location): New flag
+-
+-      * par-ch6.adb (P_Mode): Check specifically for case of IN ACCESS
+-      (P_Formal_Part): Pass Allow_Anonymous_In_95 => True to
+-      P_Null_Exclusion, to suppress "not null" warnings.
+-
+-2007-04-06  Robert Dewar  <dewar@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-          Vincent Celier  <celier@adacore.com>
+-
+-      * par-prag.adb (Prag): Add dummy entry for pragma Compile_Time_Error
+-      (Extensions_Allowed): No longer sets Ada_Version
+-      Entry for pragma Unreferenced_Objects
+-
+-      * sem_prag.adb (Analyze_Pragma, case Priority): Force with of
+-      system.tasking if pragma priority used in a procedure
+-      (Analyze_Pragma, case Warning): Handle dot warning switches
+-      (Process_Compile_Time_Warning_Or_Error): New procedure
+-      (Analyze_Pragma): Add processing for Compile_Time_Error
+-      Add support for extra arguments External_Name and Link_Name.
+-      Remove code associated with pragmas CPP_Virtual and CPP_Vtable.
+-      (Process_Import_Or_Interface): Add support for the use of pragma Import
+-      with tagged types.
+-      (Extensions_Allowed): No longer affects Ada_Version
+-      (Analyze_Pragma): Split Is_Abstract flag into Is_Abstract_Subprogram and
+-      Is_Abstract_Type. Make sure these are called only when appropriate.
+-      Add processing for pragma Unreferenced_Objects
+-
+-      * snames.h, snames.ads, snames.adb: Add entry for pragma
+-      Compile_Time_Error
+-      Add new standard name Minimum_Binder_Options for new gprmake
+-      Add new standard names for gprmake: Archive_Suffix,
+-      Library_Auto_Init_Supported, Library_Major_Minor_Id_Supported,
+-      Library_Support, Library_Version_Options,
+-      Shared_Library_Minimum_Options,
+-      Shared_Library_Prefix, Shared_Library_Suffix, Symbolic_Link_Supported.
+-      Change Name_Call to Name_uCall so that it cannot clash with a legal
+-      subprogram name.
+-      Add new standard names Mapping_Spec_Suffix and Mapping_Body_Suffix
+-      Append C_Plus_Plus to convention identifiers as synonym for CPP
+-      Add new standard names Stack and Builder_Switches
+-      Add new standard names: Compiler_Minimum_Options, Global_Config_File,
+-      Library_Builder, Local_Config_File, Objects_Path, Objects_Path_File,
+-      Run_Path_Option, Toolchain_Version.
+-      Entry for pragma Unreferenced_Objects
+-
+-      * switch-c.adb (Scan_Front_End_Switches): Store correct -gnateD
+-      switches, without repetition of "eD". Make sure that last character of
+-      -gnatep= switch is not taken as -gnat switch character.
+-      Complete rewrite of circuit for handling saving compilation options
+-      Occasioned by need to support dot switchs for -gnatw, but cleans up
+-      things in general.
+-      -gnatX does not affect Ada_Version
+-      Include -gnatyA in -gnatg style switches
+-
+-      * sem_warn.ads, sem_warn.adb (Output_Unreferenced_Messages): Exclude
+-      warnings on return objects.
+-      (Warn_On_Useless_Assignment): Exclude warnings on return objects
+-      (Set_Dot_Warning_Switch): New procedure
+-      (Check_References): Add missing case of test for
+-      Has_Pragma_Unreferenced_Objects
+-      (Output_Unreferenced_Messages): Implement effect of new pragma
+-      Unreferenced_Objects, remove special casing of limited controlled
+-      variables.
+-
+-2007-04-06  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-ext.adb (Initialize_Project_Path): New procedure that initialize
+-      the default project path, initially done during elaboration of the
+-      package.
+-      If the prefix returned by Sdefault is null, get the prefix from a call
+-      to Executable_Prefix_Path.
+-      (Project_Path): Call Initialize_Project_Path if Current_Project_Path is
+-      null.
+-
+-      * prj-nmsc.adb (Get_Path_Names_And_Record_Sources): Use the non
+-      canonical directory name to open the directory from which files are
+-      retrieved.
+-      (Record_Other_Sources): Idem.
+-      (Locate_Directory): Add the possibility to create automatically missing
+-      directories when Setup_Projects is True.
+-      Call Locate_Directory so that the directory will be created when
+-      Setup_Projects is True, for object dir, library dir, library ALI dir,
+-      library source copy dir and exec dir.
+-
+-      * prj-pp.adb (Max_Line_Length): Set to 255 for compatibility with older
+-      versions of GNAT.
+-
+-2007-04-06  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_ch13.ads, sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order):
+-      Use First/Next_Component_Or_Discriminant
+-      (Analyze_Record_Representation_Clause):
+-      Use First/Next_Component_Or_Discriminant
+-      (Check_Component_Overlap): Use First/Next_Component_Or_Discriminant
+-      (Analyze_Attribute_Definition_Clause, case Value_Size): Reject
+-      definition if type is unconstrained.
+-      (Adjust_Record_For_Reverse_Bit_Order): New procedure
+-      (Analyze_Attribute_Definition_Clause): Split Is_Abstract flag into
+-      Is_Abstract_Subprogram and Is_Abstract_Type.
+-      (Adjust_Record_For_Reverse_Bit_Order): New procedure
+-
+-      * repinfo.adb (List_Record_Info): Use First/
+-      Next_Component_Or_Discriminant.
+-
+-      * style.ads, styleg-c.adb, styleg-c.ads (Check_Array_Attribute_Index):
+-      New procedure.
+-
+-      * stylesw.ads, stylesw.adb: Recognize new -gnatyA style switch
+-      Include -gnatyA in default switches
+-
+-      * opt.ads: (Warn_On_Non_Local_Exception): New flag
+-      (Warn_On_Reverse_Bit_Order): New flag
+-      (Extensions_Allowed): Update the documentation.
+-      (Warn_On_Questionable_Missing_Parens): Now on by default
+-
+-      * usage.adb: Add documentation of -gnatw.x/X switches
+-      Document new -gnatyA style switch
+-      -gnatq warnings are on by default
+-
+-2007-04-06  Ed Falis  <falis@adacore.com>
+-
+-      * s-carun8.adb, s-carsi8.adb (Compare_Array_?8): modify so that last
+-      full word is no longer compared twice.
+-
+-2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch10.adb (Install_Limited_Context_Clauses.
+-      Expand_Limited_With_Clause): Use a new copy of selector name in the
+-      call to Make_With_Clause. This fixes the tree structure for ASIS
+-      purposes. Nothing is changed in the compiler behaviour.
+-      (Process_Body_Clauses): Handle properly use clauses whose prefix is
+-      a package renaming.
+-      (Install_Limited_With_Clauses): Do not install non-limited view when it
+-      is still incomplete.
+-
+-2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * sem_ch12.adb (Check_Generic_Actuals): Use first subtype of actual
+-      when capturing size information, instead of base type, which for a
+-      formal array type will be the unconstrained type.
+-      (Analyze_Formal_Object_Declaration): Add check for illegal default
+-      expressions for a formal in object of a limited type.
+-      (Instantiate_Object): Ditto.
+-      (Check_Formal_Package_Instance): Skip entities that are formal objects,
+-      because they were defaulted in the formal package and no check applies
+-      to them.
+-      (Check_Formal_Package_Instance): Extend conformance check to other
+-      discrete types beyond Integer.
+-      (Process_Default): Copy directly the unmatched formal. A generic copy
+-      has already been performed in Analyze_Formal_Package.
+-      (Analyze_Associations): If a formal subprogram has no match, check for
+-      partial parametrization before looking for a default, to prevent
+-      spurious errors.
+-      (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation): Do
+-      not set the instantiation environment before analyzing the actuals.
+-      Fixes regression on 8515-003 with implementation of AI-133.
+-      Set_Instance_Env checks whether the generic unit is a predefined
+-      unit, in which case the instance must be analyzed with the latest Ada
+-      mode. This setting must take place after analysis of the actuals,
+-      because the actuals must be analyzed and frozen in the Ada mode extant
+-      outside of the current instantiation.
+-      (Save_Env, Restore_Env): Preserve and restore the configuration
+-      parameters so that predefined units can be compiled in the proper Ada
+-      mode.
+-      (Analyze_Formal_Object_Declaration,Analyze_Formal_Subprogram,
+-      Instantiate_Type): Split Is_Abstract flag into Is_Abstract_Subprogram
+-      and Is_Abstract_Type.
+-      (Analyze_Formal_Package): For better error recovery, Add exception
+-      handler to catch Instantion_Error, which can be raised in
+-      Analyze_Associations
+-
+-2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * sem_ch4.adb (Try_Primitive_Operation): The call is legal if the
+-      prefix type is a discriminated subtype of the type of the formal.
+-      (Analyze_Allocator): Collect all coextensions regardless of the context.
+-      Whether they can be allocated statically is determined in exp_ch4.
+-      (Analyze_Selected_Component): If the prefix is a limited view and the
+-      non-limited view is available, use the non-limited one.
+-      (Operator_Check): For "X'Access = Y'Access" (which is ambiguous, and
+-      therefore illegal), suggest a qualified expression rather than a type
+-      conversion, because a type conversion would be illegal in this context.
+-      (Anayze_Allocator): Trace recursively all nested allocators so that all
+-      coextensions are on the corresponding list for the root. Do no mark
+-      coextensions if the root allocator is within a declaration for a stack-
+-      allocated object, because the access discriminants will be allocated on
+-      the stack as well.
+-      (Analyze_Call): Remove restriction on calls to limited functions for the
+-      cases of generic actuals for formal objects, defaults for formal objects
+-      and defaults for record components.
+-      (Analyze_Allocator): Before analysis, chain coextensions on the proper
+-      element list. Their expansion is delayed until the enclosing allocator
+-      is processed and its finalization list constructed.
+-      (Try_Primitive_Operation): If the prefix is a concurrent type, looks
+-      for an operation with the given name among the primitive operations of
+-      the corresponding record type.
+-      (Analyze_Selected_Component): If the prefix is a task type that
+-      implements an interface, and there is no entry with the given name,
+-      check whether there is another primitive operation (e.g. a function)
+-      with that name.
+-      (Try_Object_Operation, Analyze_One_Call, Try_Indexed_Call): Handle
+-      properly the indexing of a function call written in prefix form, where
+-      the function returns an array type, and all parameters of the function
+-      except the first have defaults.
+-      (Analyze_Equality_Op): If this is a call to an implicit inequality, keep
+-      the original operands, rather than relocating them, for efficiency and
+-      to work properly when an operand is overloaded.
+-      (Analyze_Allocator,Operator_Check,Remove_Abstract_Operations): Split
+-      Is_Abstract flag into Is_Abstract_Subprogram and Is_Abstract_Type.
+-      (Analyze_Selected_Component): If the prefix is a private extension, only
+-      scan the visible components, not those of the full view.
+-      (Try_Primitive_Operation): If the operation is a procedure, collect all
+-      possible interpretations, as for a function, because in the presence of
+-      classwide parameters several primitive operations of the type can match
+-      the given arguments.
+-
+-2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_ch5.adb (Analyze_Assignment): Reject a right-hand side that is a
+-      tag-indeterminate call to an abstract function, when the left-hand side
+-      is not classwide.
+-      (Analyze_Loop_Statement): Improve detection of infinite loops
+-
+-2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-
+-      * sem_ch7.ads, sem_ch7.adb (Inspect_Deferred_Constant_Completion): Move
+-      out of Analyze_Package_Declaration, because processing must be applied
+-      to package bodies as well, for deferred constants completed by pragmas.
+-      (Analyze_Package_Declaration): When the package declaration being
+-      analyzed does not require an explicit body, call Check_Completion.
+-      (May_Need_Implicit_Body): An implicit body is required when a package
+-      spec contains the declaration of a remote access-to-classwide type.
+-      (Analyze_Package_Body): If the package contains RACWs, append the
+-      pending subprogram bodies generated by exp_dist at the end of the body.
+-      (New_Private_Type,Unit_Requires_Body): Split Is_Abstract flag into
+-      Is_Abstract_Subprogram and Is_Abstract_Type.
+-      (Preserve_Full_Attributes): The full entity list is not an attribute
+-      that must be preserved from full to partial view.
+-
+-      * sem_dist.adb (Add_RAS_Dereference_TSS):
+-      Change primitive name to _Call so it cannot clash with any legal
+-      identifier, and be special-cased in Check_Completion.
+-      Mark the full view of the designated type for the RACW associated with
+-      a RAS as Comes_From_Source to get proper view switching when installing
+-      private declarations.
+-      Provite a placeholder nested package body along with the nested spec
+-      to have a place for Append_RACW_Bodies to generate the calling stubs
+-      and stream attributes.
+-
+-2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_ch8.adb (Has_Components): If the argument is an incomplete type
+-      that is a limited view, check the non-limited view if available.
+-      (Undefined): Refine error message for missing with of Text_IO
+-      (Find_Expanded_Name): Use Is_Known_Unit for more accurate error message
+-      to distinguish real missing with cases.
+-      Fix format of all missing with messages
+-      (Analyze_Subprogram_Renaming): Emit proper error message on illegal
+-      renaming as body when renamed entity is abstract.
+-
+-2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_type.ads, sem_type.adb (Has_Abstract_Interpretation): Make
+-      predicate recursive, to handle complex expressions on literals whose
+-      spurious ambiguity comes from the abstract interpretation of some
+-      subexpression.
+-      (Interface_Present_In_Ancestor): Add support to concurrent record
+-      types.
+-      (Add_One_Interp,Disambiguate): Split Is_Abstract flag into
+-      Is_Abstract_Subprogram and Is_Abstract_Type.
+-
+-2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_util.ads, sem_util.adb (Object_Access_Level): If the object is a
+-      dereference of a local object R created as a reference to another
+-      object O, use the access level of O.
+-      (Matches_Prefixed_View_Profile): Use common predicate Conforming_Types,
+-      rather than local Same_Formal_Type, to check whether protected operation
+-      overrides an inherited one.
+-      (Same_Formal_Type): New predicate, used when matching signatures of
+-      overriding synchronized operations, to handle the case when a formal
+-      has a type that is a generic actual.
+-      (Is_Aliased_View): Replace check on E_Task_Type and E_Protected_Type by
+-      predicate Is_Concurrent_Type. This ensures supportin case of subtypes.
+-      (Needs_One_Actual): New predicate, for Ada 2005 use, to resolve
+-      syntactic ambiguities involving indexing of function calls that return
+-      arrays.
+-      (Abstract_Interface_List): New subprogram that returns the list of
+-      abstract interfaces associated with a concurrent type or a
+-      concurrent record type.
+-      (Interface_Present_In_Parent): New subprogram used to check if a
+-      given type or some of its parents implement a given interface.
+-      (Collect_Abstract_Interfaces): Add support for concurrent types
+-      with interface types.
+-      (Has_Abstract_Interfaces): Add support for concurrent types with
+-      interface types.
+-      (Is_Parent): New subprogram that determines whether E1 is a parent
+-      of E2. For a concurrent type its parent is the first element of its
+-      list of interface types; for other types this function provides the
+-      same result than Is_Ancestor.
+-      (Enclosing_Subprogram): Add test for N_Extended_Return_Statement.
+-      (Collect_Synchronized_Interfaces): Removed because the subprogram
+-      Collect_Abstract_Interfaces provides this functionality.
+-      (Collect_Abstract_Interfaces): Minor update to give support to
+-      concurrent types and thus avoid undesired code duplication.
+-      (Get_Subprogram_Entity): Handle entry calls.
+-      (May_Be_Lvalue): Include actuals that appear as in-out parameters in
+-      entry calls.
+-      (Enter_Name): Do not give -gnatwh hiding warning for record component
+-      entities, they never result in hiding.
+-
+-2007-04-06  Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * sinfo.ads, sinfo.adb (Coextensions): New element list for allocators,
+-      to chain nested components that are allocators for access discriminants
+-      of the enclosing object.
+-      Add N_Push and N_Pop nodes
+-      New field Exception_Label added
+-      (Local_Raise_Statements): New field in N_Exception_Handler_Node
+-      (Local_Raise_Not_OK): New flag in N_Exception_Handler_Node
+-      (Is_Coextension): New flag for allocators, to mark allocators that
+-      correspond to access discriminants of dynamically allocated objects.
+-      (N_Block_Statement): Document the fact that the corresponding entity
+-      can be an E_Return_Statement.
+-      (Is_Coextension): New flag for allocators.
+-      Remove all code for DSP option
+-
+-      * sprint.ads, sprint.adb: Display basic information for class_wide
+-      subtypes. Add handling of N_Push and N_Pop nodes
+-
+-2007-04-06  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-tpobop.adb (Exceptional_Complete_Entry_Body): Undefer abortion
+-      before propagating exception.
+-
+-2007-04-06  Olivier Hainque  <hainque@adacore.com>
+-
+-      * tracebak.c (PC_ADJUST - ia64): -4 instead of -16, expected to yield
+-      an address always within the call instruction from a return address.
+-
+-2007-04-06  Olivier Hainque  <hainque@adacore.com>
+-          Eric Botcazou  <botcazou@adacore.com>
+-
+-      * trans.c (call_to_gnu) <TYPE_RETURNS_BY_TARGET_PTR_P>: Return an
+-      expression with a COMPOUND_EXPR including the call instead of emitting
+-      the call directly here.
+-      (gnat_to_gnu) <N_Slice>: Do not return a non-constant low bound if the
+-      high bound is constant and the slice is empty.  Tidy.
+-      (tree_transform, case N_Op_Not): Handle properly the case where the
+-      operation applies to a private type whose full view is a modular type.
+-      (Case_Statement_To_gnu): If an alternative is an E_Constant with an
+-      Address_Clause, use the associated Expression as the GNAT tree
+-      representing the choice value to ensure the corresponding GCC tree is
+-      of the proper kind.
+-      (maybe_stabilize_reference): Stabilize COMPOUND_EXPRs as a whole
+-      instead of just the operands, as the base GCC stabilize_reference does.
+-      <CALL_EXPR>: New case. Directly stabilize the call if an lvalue is not
+-      requested; otherwise fail.
+-      (addressable_p) <COMPONENT_REF>: Do not test DECL_NONADDRESSABLE_P.
+-
+-2007-04-06  Thomas Quinot  <quinot@adacore.com>
+-
+-      * uintp.ads, uintp.adb (UI_Div_Rem): New subprogram, extending previous
+-      implementation of UI_Div.
+-      (UI_Div): Reimplement as a call to UI_Div_Rem.
+-      (UI_Rem): Take advantage of the fact that UI_Div_Rem provides the
+-      remainder, avoiding the cost of a multiplication and a subtraction.
+-      (UI_Modular_Inverse): Take advantage of the fact that UI_Div_Rem
+-      provides both quotient and remainder in a single computation.
+-      (UI_Modular_Exponentiation, UI_Modular_Inverse): New modular arithmetic
+-      functions for uint.
+-      (UI_Modular_Inverse): Add a note that the behaviour of this subprogram
+-      is undefined if the given n is not inversible.
+-
+-2007-04-06  Olivier Hainque  <hainque@adacore.com>
+-
+-      * utils2.c (known_alignment): Handle COMPOUND_EXPR, COND_EXPR and
+-      BIT_AND_EXPR. Handle also VIEW_CONVERT_EXPR, as the other conversion
+-      opcodes.
+-
+-2007-04-06  Eric Botcazou  <botcazou@adacore.com>
+-          Olivier Hainque  <hainque@adacore.com>
+-
+-      * utils.c (update_pointer_to): Make a copy of the couple of FIELD_DECLs
+-      when updating the contents of the old pointer to an unconstrained array.
+-      (end_subprog_body): Set error_gnat_node to Empty.
+-      (write_record_type_debug_info): Do not be unduly sparing with our bytes.
+-      (unchecked_convert): For subtype to base type conversions, require that
+-      the source be a subtype if it is an integer type.
+-      (builtin_decls): New global, vector of available builtin functions.
+-      (gnat_pushdecl): Add global builtin function declaration nodes to the
+-      builtin_decls list.
+-      (gnat_install_builtins): Adjust comments.
+-      (builtin_function): Set DECL_BUILTIN_CLASS and DECL_FUNCTION_CODE before
+-      calling gnat_pushdecl, so that it knows when it handed a builtin
+-      function declaration node.
+-      (builtin_decl_for): Search the builtin_decls list.
+-
+-2007-04-06  Eric Botcazou  <botcazou@adacore.com>
+-
+-      * s-stchop-vxworks.adb:
+-      (Stack_Check): Raise Storage_Error if the argument has wrapped around.
+-
+-2007-04-06  Robert Dewar  <dewar@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-
+-      * a-diroro.ads: Inserted the pragma Unimplemented_Unit
+-
+-      * bindgen.adb (Gen_Output_File_Ada): Generate pragma Ada_95 at start
+-      of files
+-      Add mention of -Sev (set initialize_scalars option from environment
+-      variable at run time) in gnatbind usage message.
+-
+-      * elists.ads, elists.adb: (Append_Unique_Elmt): New procedure
+-
+-      * fname-uf.ads: Minor comment fix
+-
+-      * osint.ads: Change pragma Elaborate to Elaborate_All
+-
+-      * par-load.adb: Add documentation.
+-
+-      * sem_cat.ads, sem_cat.adb: Minor code reorganization
+-
+-      * s-parint.ads (RCI_Locator) : Add 'Version' generic formal
+-
+-      * s-secsta.ads: Extra comments
+-
+-      * s-soflin.ads: Minor comment fixes
+-
+-      * s-stratt.ads (Block_Stream_Ops_OK): Removed.
+-
+-      * s-wchcon.ads: Minor comment addition
+-
+-      * treepr.adb: Minor change in message
+-      (Print_Name,Print_Node): Make these debug printouts more robust: print
+-      "no such..." instead of crashing on bad input.
+-
+-2007-03-30  Rafael Ávila de Espíndola  <espindola@google.com>
+-
+-      * trans.c (Attribute_to_gnu): Use get_signed_or_unsigned_type
+-      instead of gnat_signed_or_unsigned_type.
+-      * utils.c (gnat_signed_or_unsigned_type): Remove.
+-      * misc.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove
+-      * gigi.h (gnat_signed_or_unsigned_type): Remove
+-
+-2007-03-09  Roger Sayle  <roger@eyesopen.com>
+-
+-      * cuintp.c (UI_To_gnu): Use fold_buildN calls instead of calling
+-      fold with the result of buildN.
+-      * decl.c (gnat_to_gnu_entity): Likewise.
+-      * trans.c (Attribute_to_gnu, gnat_to_gnu, emit_check): Likewise.
+-      * utils.c (finish_record_type, merge_sizes, max_size, convert):
+-      Likewise.
+-      * utils2.c (gnat_truthvalue_conversion, compare_arrays,
+-      nonbinary_modular_operation, build_binary_op, build_unary_op,
+-      build_cond_expr): Likewise.
+-
+-      * utils.c (convert): Use fold_build1 when casting values to void.
+-      * utils2.c (gnat_truthvalue_conversion): Use build_int_cst and
+-      fold_convert instead of convert when appropriate.
+-
+-2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
+-
+-      * Make-lang.in: Add install-pdf target as copied from
+-      automake v1.10 rules.
+-
+-2007-02-28  Andreas Schwab  <schwab@suse.de>
+-
+-      * Make-lang.in (doc/gnat_ugn_unw.texi): Depend on
+-      $(gcc_docdir)/include/gcc-common.texi and gcc-vers.texi.
+-      (doc/gnat-style.info): Likewise.
+-
+-2007-02-26  Brooks Moses  <brooks.moses@codesourcery.com>
+-
+-      * gnat-style.texi: Standardize title page.
+-      * gnat_rm.texi: Likewise.
+-      * gnat_ugn.texi: Likewise.
+-
+-2007-02-25  Mark Mitchell  <mark@codesourcery.com>
+-
+-      * decl.c (annotate_value): Adjust for refactoring of tree_map
+-      hierarchy.
+-
+-2007-02-24  Mark Mitchell  <mark@codesourcery.com>
+-
+-      * decl.c (annotate_value): Adjust for refactoring of tree_map
+-      hierarchy.
+-
+-2007-02-21  Ed Schonberg  <schonberg@adacore.com>
+-
+-      PR ada/18819
+-      * sem_ch3.adb (Create_Constrained_Components): for a subtype of an
+-      untagged derived type, add hidden components to keep discriminant
+-      layout consistent, when a given discriminant of the derived type
+-      constraints several discriminants of the parent type.
+-
+-2007-02-16  Eric Botcazou  <ebotcazou@adacore.com>
+-          Sandra Loosemore  <sandra@codesourcery.com>
+-
+-      * trans.c (call_to_gnu):  Use build_call_list instead of build3 to
+-      build the call expression.
+-      (gnat_stabilize_reference_1): Handle tcc_vl_exp.
+-      * utils.c (max_size) <tcc_exceptional>: Delete.
+-      <tcc_vl_exp>: New case.
+-      <tcc_expression>: Delete CALL_EXPR subcase.
+-      (build_global_cdtor): Use build_call_nary instead of build3.
+-      * utils2.c (build_call_1_expr): Likewise.
+-      (build_call_2_expr): Likewise.
+-      (build_call_0_expr): Likewise.
+-      (build_call_alloc_dealloc): Likewise.
+-
+-2007-02-07  Andreas Krebbel  <krebbel1@de.ibm.com>
+-
+-      * raise-gcc.c (get_region_description_for, get_call_site_action_for,
+-      get_action_description_for): Replace _Unwind_Word with _uleb128_t
+-      and _Unwind_SWord with _sleb128_t.
+-
+-2007-02-06  Paolo Bonzini  <bonzini@gnu.org>
+-
+-      * Make-lang.in (ada/decl.o): Add gt-ada-decl.h dependency.
+-      * decl.c: Include gt-ada-decl.h.
+-      (annotate_value_cache): New.
+-      (annotate_value): Use it instead of TREE_COMPLEXITY.
+-
+-2007-02-03  Kazu Hirata  <kazu@codesourcery.com>
+-
+-      * misc.c, utils2.c: Fix comment typos.
+-
+-2007-01-24  Roger Sayle  <roger@eyesopen.com>
+-
+-      * decl.c (gnat_to_gnu_entity): Use TREE_OVERFLOW instead of
+-      TREE_CONSTANT_OVERFLOW.
+-      (allocatable_size_p, annotate_value): Likewise.
+-      * trans.c (gnat_to_gnu): Likewise.
+-      * utils.c (unchecked_convert): Likewise.
+-      * utils2.c (build_simple_component_ref): Likewise.
+-
+-2007-01-23  Richard Guenther  <rguenther@suse.de>
+-
+-      PR bootstrap/30541
+-      * Make-lang.in: Replace invocations of gnatmake with $(GNATMAKE).
+-      (gnatboot2): Pass staged GNATMAKE instead of STAGE_PREFIX.
+-      (gnatboot3): Likewise.
+-      (GNATBIND): Do not define.
+-      * Makefile.in (GNATBIND): Do not define.
+-
+-2007-01-08  Richard Guenther  <rguenther@suse.de>
+-
+-      * cuintp.c (build_cst_from_int): Use built_int_cst_type.
+-      * trans.c (gnat_to_gnu): Likewise.
+-
+-2006-12-07  Geoffrey Keating  <geoffk@apple.com>
+-
+-      * Makefile.in: Replace CROSS_COMPILE with CROSS_DIRECTORY_STRUCTURE.
+-      * adaint.c: Likewise.
+-
+-2006-12-05  Aldy Hernandez  <aldyh@redhat.com>
+-
+-      Merge from gimple-tuples-branch:
+-      2006-11-02  Aldy Hernandez  <aldyh@redhat.com>
+-
+-      * ada-tree.h (lang_tree_node): Handle gimple tuples.
+-      * trans.c (gnat_gimplify_expr): Replace MODIFY_EXPR with
+-      GIMPLE_MODIFY_STMT.
+-
+-2006-12-02  Kazu Hirata  <kazu@codesourcery.com>
+-
+-      * Makefile.in, mingw32.h, trans.c: Fix comment typos.
+-      * gnat_rm.texi, gnat_ugn.texi: Follow spelling conventions.
+-      Fix typos.
+-
+-2006-11-17  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      PR ada/27936
+-      * trans.c (add_decl_expr): Do not dynamically elaborate padded objects
+-      if the initializer takes into account the padding.
+-
+-2006-11-11  Richard Guenther  <rguenther@suse.de>
+-
+-      * trans.c (maybe_stabilize_reference): Remove handling of
+-      FIX_CEIL_EXPR, FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
+-
+-2006-11-05  Arnaud Charlet  <charlet@adacore.com>
+-
+-      PR ada/29707
+-      * s-osinte-linux-alpha.ads, s-osinte-linux-hppa.ads
+-      (To_Target_Priority): New function.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-taster.adb, s-traent-vms.adb, a-elchha.ads, a-elchha.adb,
+-      a-exctra.adb, ali-util.adb, exp_disp.ads, s-stalib.ads, s-traent.adb,
+-      s-addope.ads, s-addope.adb, a-rbtgso.adb, a-crbltr.ads, a-coprnu.adb,
+-      a-cgcaso.adb, a-cgarso.adb, a-cgaaso.adb, a-coormu.adb, a-ciormu.adb,
+-      a-rbtgso.ads, a-stunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb,
+-      a-secain.adb, a-slcain.adb, a-shcain.adb, a-stwiha.adb, a-stwiha.adb,
+-      a-strhas.adb, a-strhas.adb, a-stzhas.adb, a-stzhas.adb, a-szuzha.adb,
+-      a-chacon.adb, a-chacon.adb, a-chacon.ads, a-stboha.adb, a-swbwha.adb,
+-      a-szbzha.adb: Minor reformatting. Fix header.
+-
+-      * a-numaux-x86.adb: Add parentheses for use of unary minus
+-      * a-ngcefu.adb: Supply missing parentheses for unary minus
+-      * a-ngcoty.adb: Add parens for use of unary minus
+-      * a-ngelfu.adb: Add missing parens for unary minus
+-      * a-tifiio.adb: Add parentheses for uses of unary minus
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_res.adb (Resolve_Unary_Op): Add warning for use of unary minus
+-      with multiplying operator.
+-      (Expected_Type_Is_Any_Real): New function to determine from the Parent
+-      pointer whether the context expects "any real type".
+-      (Resolve_Arithmetic_Op): Do not give an error on calls to the
+-      universal_fixed "*" and "/" operators when they are used in a context
+-      that expects any real type. Also set the type of the node to
+-      Universal_Real in this case, because downstream processing requires it
+-      (mainly static expression evaluation).
+-      Reword some continuation messages
+-      Add some \\ sequences to continuation messages
+-      (Resolve_Call): Refine infinite recursion case. The test has been
+-      sharpened to eliminate some false positives.
+-      Check for Current_Task usage now includes entry barrier, and is now a
+-      warning, not an error.
+-      (Resolve): If the call is ambiguous, indicate whether an interpretation
+-      is an inherited operation.
+-      (Check_Aggr): When resolving aggregates, skip associations with a box,
+-      which are priori correct, and will be replaced by an actual default
+-      expression in the course of expansion.
+-      (Resolve_Type_Conversion): Add missing support for conversion from
+-      a class-wide interface to a tagged type. Minor code cleanup.
+-      (Valid_Tagged_Converion): Add support for abstact interface type
+-      conversions.
+-      (Resolve_Selected_Component): Call Generate_Reference here rather than
+-      during analysis, and use May_Be_Lvalue to distinguish read/write.
+-      (Valid_Array_Conversion): New procedure, abstracted from
+-      Valid_Conversion, to incorporate accessibility checks for arrays of
+-      anonymous access types.
+-      (Valid_Conversion): For a conversion to a numeric type occurring in an
+-      instance or inlined body, no need to check that the operand type is
+-      numeric, since this has been checked during analysis of the template.
+-      Remove legacy test for scope name Unchecked_Conversion.
+-
+-      * sem_res.ads: Minor reformatting
+-
+-      * a-except.adb, a-except-2005.adb: Turn off subprogram ordering
+-      (PE_Current_Task_In_Entry_Body): New exception code
+-      (SE_Restriction_Violation): Removed, not used
+-
+-      * a-except.ads:  Update comments.
+-
+-      * types.h, types.ads: Add definition for Validity_Check
+-      (PE_Current_Task_In_Entry_Body): New exception code
+-      (SE_Restriction_Violation): Removed, not used
+-
+-2006-10-31  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-socthi-vxworks.adb (C_Gethostbyname): Fix wrong test for returned
+-      error status.
+-
+-2006-10-31  Hristian Kirtchev  <kirtchev@adacore.com>
+-          Jose Ruiz  <ruiz@adacore.com>
+-
+-      * a-calend-vms.adb (Leap_Sec_Ops): Temp body for package in private
+-      part of Ada.Calendar: all subprogram raise Unimplemented.
+-      (Split_W_Offset): Temp function body, raising Unimplemented
+-
+-      * a-calend.ads, a-calend-vms.ads:
+-      Add imported variable Invalid_TZ_Offset used to designate targets unable
+-      to support time zones.
+-      (Unimplemented): Temporary function raised by the body of new
+-      subprograms below.
+-      (Leap_Sec_Ops): New package in the private part of Ada.Calendar. This
+-      unit provides handling of leap seconds and is used by the new Ada 2005
+-      packages Ada.Calendar.Arithmetic and Ada.Calendar.Formatting.
+-      (Split_W_Offset): Identical spec to that of Ada.Calendar.Split. This
+-      version returns an extra value which is the offset to UTC.
+-
+-      * a-calend.adb (Split_W_Offset): Add call to localtime_tzoff.
+-      (Leap_Sec_Ops): New body for package in private part of Ada.Calendar.
+-      (Split_W_Offset): New function body.
+-      (Time_Of): When a date is close to UNIX epoch, compute the time for
+-      that date plus one day (that amount is later substracted after
+-      executing mktime) so there are no problems with time zone adjustments.
+-
+-      * a-calend-mingw.adb: Remove Windows specific version no longer needed.
+-
+-      * a-calari.ads, a-calari.adb, a-calfor.ads, a-calfor.adb,
+-      a-catizo.ads, a-catizo.adb: New files.
+-
+-      * impunit.adb: Add new Ada 2005 entries
+-
+-      * sysdep.c: Add external variable __gnat_invalid_tz_offset.
+-      Rename all occurences of "__gnat_localtime_r" to
+-      "__gnat_localtime_tzoff".
+-      (__gnat_localtime_tzoff for Windows): Add logic to retrieve the time
+-      zone data and calculate the GMT offset.
+-      (__gnat_localtime_tzoff for Darwin, Free BSD, Linux, Lynx and Tru64):
+-      Use the field "tm_gmtoff" to extract the GMT offset.
+-      (__gnat_localtime_tzoff for AIX, HPUX, SGI Irix and Sun Solaris): Use
+-      the external variable "timezone" to calculate the GMT offset.
+-
+-2006-10-31  Arnaud Charlet  <charlet@adacore.com>
+-          Jose Ruiz  <ruiz@adacore.com>
+-
+-      * s-osinte-posix.adb, s-osinte-linux.ads, s-osinte-freebsd.adb,
+-      s-osinte-freebsd.ads, s-osinte-solaris-posix.ads, s-osinte-hpux.ads,
+-      s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-lynxos-3.ads,
+-      s-osinte-lynxos-3.adb (To_Target_Priority): New function maps from
+-      System.Any_Priority to a POSIX priority on the target.
+-
+-      * system-linux-ia64.ads:
+-      Extend range of Priority types on Linux to use the whole range made
+-      available by the system.
+-
+-      * s-osinte-aix.adb, s-osinte-aix.ads (To_Target_Priority): New
+-      function maps from System.Any_Priority to a POSIX priority on the
+-      target.
+-      (PTHREAD_PRIO_PROTECT): Set real value.
+-      (PTHREAD_PRIO_INHERIT): Now a function.
+-      (SIGCPUFAIL): New signal.
+-      (Reserved): Add SIGALRM1, SIGWAITING, SIGCPUFAIL, since these signals
+-      are documented as reserved by the OS.
+-
+-      * system-aix.ads: Use the full range of priorities provided by the
+-      system on AIX.
+-
+-      * s-taprop-posix.adb: Call new function To_Target_Priority.
+-      (Set_Priority): Take into account Task_Dispatching_Policy and
+-      Priority_Specific_Dispatching pragmas when determining if Round Robin
+-      must be used for scheduling the task.
+-
+-      * system-linux-x86_64.ads, system-linux-x86.ads,
+-      system-linux-ppc.ads: Extend range of Priority types on Linux to use
+-      the whole range made available by the system.
+-
+-      * s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-irix.adb,
+-      s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-hpux-dce.adb,
+-      s-taprop-lynxos.adb (Finalize_TCB): invalidate the stack-check cache
+-      when deallocating the TCB in order to avoid potential references to
+-      deallocated data.
+-      (Set_Priority): Take into account Task_Dispatching_Policy and
+-      Priority_Specific_Dispatching pragmas when determining if Round Robin
+-      or FIFO within priorities must be used for scheduling the task.
+-
+-      * s-taprop-vxworks.adb (Enter_Task): Store the user-level task id in
+-      the Thread field (to be used internally by the run-time system) and the
+-      kernel-level task id in the LWP field (to be used by the debugger).
+-      (Create_Task): Reorganize to unify the calls to taskSpawn into a single
+-      instance, and propagate the current task options to the spawned task.
+-      (Set_Priority): Take into account Priority_Specific_Dispatching pragmas.
+-      (Initialize): Set Round Robin dispatching when the corresponding pragma
+-      is in effect.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
+-      system-linux-hppa.ads, system-hpux-ia64.ads,
+-      system-lynxos-ppc.ads, system-lynxos-x86.ads, system-tru64.ads,
+-      system-vxworks-sparcv9.ads, system-solaris-x86.ads,
+-      system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
+-      system-vxworks-m68k.ads, system-vxworks-mips.ads, system-interix.ads,
+-      system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
+-      system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
+-      system-vxworks-alpha.ads, system.ads: Add pragma Warnings(Off,
+-      Default_Bit_Order) to kill constant condition warnings for references
+-      to this switch.
+-
+-2006-10-31  Vincent Celier  <celier@adacore.com>
+-          Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * mlib-tgt-lynxos.adb, mlib-tgt-mingw.adb, mlib-tgt-tru64.adb,
+-      mlib-tgt-aix.adb, mlib-tgt-irix.adb, mlib-tgt-hpux.adb,
+-      mlib-tgt-linux.adb, mlib-tgt-solaris.adb: Use Append_To, instead of
+-      Ext_To, when building the library file name
+-
+-      * mlib-tgt-vxworks.adb: ditto.
+-      (Get_Target_Suffix): Add support for x86 targets.
+-
+-      * mlib-fil.ads, mlib-fil.adb: (Append_To): New function
+-
+-      * mlib-tgt-darwin.adb:
+-      Use Append_To, instead of Ext_To, when building the library file name
+-      (Flat_Namespace): New global variable.
+-      (No_Shared_Libgcc_Switch): Rename to No_Shared_Libgcc_Options.
+-      (Shared_Libgcc_Switch): Rename to With_Shared_Libgcc_Options.
+-      (Link_Shared_Libgcc): Delete.
+-      (Build_Dynamic_Library): Adjust for above changes.
+-      Use Opt package.
+-      (Build_Dynamic_Library): Pass -shared-libgcc if GCC 4 or later.
+-
+-2006-10-31  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * s-taprop-solaris.adb: (Time_Slice_Val): Change type to Integer.
+-      (Initialize): Add type conversions required by above change.
+-
+-2006-10-31  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * s-osinte-vxworks.ads, s-osinte-vxworks.adb:
+-      (getpid): New body for this function that uses the underlying taskIdSelf
+-      function for VxWorks 5 and VxWorks 6 in kernel mode.
+-      (unsigned_int): New type, modular to allow logical bit operations.
+-      (taskOptionsGet): New imported function.
+-
+-      * s-taspri-vxworks.ads (Private_Data): Change the type for the LWP
+-      field to be compliant with the type used by the corresponding operating
+-      system primitive.
+-
+-2006-10-31  Pascal Obry  <obry@adacore.com>
+-          Eric Botcazou  <ebotcazou@adacore.com>
+-          Vincent Celier  <celier@adacore.com>
+-
+-      * adaint.c (__gnat_get_libraries_from_registry): Call explicitly the
+-      ASCII version of the registry API. This is needed as the GNAT runtime
+-      is now UNICODE by default.
+-      Include version.h.
+-      (get_gcc_version): Do not hardcode the return value.
+-      (__gnat_file_time_name): On Windows properly set the default returned
+-      value to -1 which corresponds to Invalid_Time.
+-      (__gnat_fopen): New routine. A simple wrapper on all plateforms
+-       except on Windows where it does conversion for unicode support.
+-      (__gnat_freopen): Idem.
+-      (__gnat_locate_exec_on_path): If environment variable PATH does not
+-      exist, return a NULL pointer
+-
+-      * adaint.h: (__gnat_fopen): Declare.
+-      (__gnat_freopen): Likewise.
+-
+-      * mingw32.h (_tfreopen): Define this macro here for older MingW
+-      version.
+-      Activate the unicode support on platforms using a MingW runtime
+-      version 3.9 or newer.
+-
+-      * s-crtl.ads (fopen): Is now an import to the wrapper __gnat_freopen.
+-      This is needed for proper unicode support on Windows.
+-      (freopen): Idem.
+-
+-2006-10-31  Eric Botcazou  <ebotcazou@adacore.com>
+-          Nicolas Setton  <setton@adacore.com>
+-          Olivier Hainque  <hainque@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * gigi.h: (tree_code_for_record_type): Declare.
+-      (add_global_renaming_pointer): Rename to record_global_renaming_pointer.
+-      (get_global_renaming_pointers): Rename to
+-      invalidate_global_renaming_pointers.
+-      (static_ctors): Delete.
+-      (static_dtors): Likewise.
+-      (gnat_write_global_declarations): Declare.
+-      (create_var_decl): Adjust descriptive comment to indicate that the
+-      subprogram may return a CONST_DECL node.
+-      (create_true_var_decl): Declare new function, similar to
+-      create_var_decl but forcing the creation of a VAR_DECL node.
+-      (get_global_renaming_pointers): Declare.
+-      (add_global_renaming_pointer): Likewise.
+-
+-      * ada-tree.h (DECL_READONLY_ONCE_ELAB): New macro.
+-
+-      * decl.c (gnat_to_gnu_entity) <case E_Function>: Don't copy the type
+-      tree before setting TREE_ADDRESSABLE for by-reference return mechanism
+-      processing.
+-      (gnat_to_gnu_entity): Remove From_With_Type from computation for
+-      imported_p.
+-      <E_Access_Type>: Use the Non_Limited_View as the full view of the
+-      designated type if the pointer comes from a limited_with clause.  Make
+-      incomplete designated type if it is in the main unit and has a freeze
+-      node.
+-      <E_Incomplete_Type>: Rework to treat Non_Limited_View, Full_View, and
+-      Underlying_Full_View similarly.  Return earlier if the full view already
+-      has an associated tree.
+-      (gnat_to_gnu_entity) <E_Record_Type>: Restore comment.
+-      (gnat_to_gnu_entity) <E_Record_Type>: Do not use a dummy type.
+-      (gnat_to_gnu_entity) <E_Variable>: Set TYPE_REF_CAN_ALIAS_ALL on the
+-      reference type built for objects with an address clause.
+-      Use create_true_var_decl with const_flag set for
+-      DECL_CONST_CORRESPONDING_VARs, ensuring a VAR_DECL is created with
+-      TREE_READONLY set.
+-      (gnat_to_gnu_entity, case E_Enumeration_Type): Set TYPE_NAME
+-      for Character and Wide_Character types. This info is read by the
+-      dwarf-2 writer, and is needed to be able to use the command "ptype
+-      character" in the debugger.
+-      (gnat_to_gnu_entity): When generating a type representing
+-      a Character or Wide_Character type, set the flag TYPE_STRING_FLAG,
+-      so that debug writers can distinguish it from ordinary integers.
+-      (elaborate_expression_1): Test the DECL_READONLY_ONCE_ELAB flag in
+-      addition to TREE_READONLY to assert the constantness of variables for
+-      elaboration purposes.
+-      (gnat_to_gnu_entity, subprogram cases): Change loops on formal
+-      parameters to call new Einfo function First_Formal_With_Extras.
+-      (gnat_to_gnu_entity): In type_annotate mode, replace a discriminant of a
+-      protected type with its corresponding discriminant, to obtain a usable
+-      declaration
+-      (gnat_to_gnu_entity) <E_Access_Protected_Subprogram_Type>: Be prepared
+-      for a multiple elaboration of the "equivalent" type.
+-      (gnat_to_gnu_entity): Adjust for renaming of add_global_renaming_pointer
+-      into record_global_renaming_pointer.
+-      (gnat_to_gnu_entity) <E_Array_Type>: Do not force
+-      TYPE_NONALIASED_COMPONENT to 0 if the element type is an aggregate.
+-      <E_Array_Subtype>: Likewise.
+-      (gnat_to_gnu_entity) <E_Incomplete_Subtype>: Add support for regular
+-      incomplete subtypes and incomplete subtypes of incomplete types visible
+-      through a limited with clause.
+-      (gnat_to_gnu_entity) <E_Array_Subtype>: Take into account the bounds of
+-      the base index type for the maximum size of the array only if they are
+-      constant.
+-      (gnat_to_gnu_entity, renaming object case): Do not wrap up the
+-      expression into a SAVE_EXPR if stabilization failed.
+-
+-      * utils.c (create_subprog_decl): Turn TREE_ADDRESSABLE on the type of
+-      a result decl into DECL_BY_REFERENCE on this decl, now what is expected
+-      by lower level compilation passes.
+-      (gnat_genericize): New function, lowering a function body to GENERIC.
+-      Turn the type of RESULT_DECL into a real reference type if the decl
+-      has been marked DECL_BY_REFERENCE, and adjust references to the latter
+-      accordingly.
+-      (gnat_genericize_r): New function. Tree walking callback for
+-      gnat_genericize.
+-      (convert_from_reference, is_byref_result): New functions. Helpers for
+-      gnat_genericize_r.
+-      (create_type_decl): Call gnat_pushdecl before calling
+-      rest_of_decl_compilation, to make sure that field TYPE_NAME of
+-      type_decl is properly set before calling the debug information writers.
+-      (write_record_type_debug_info): The heuristics which compute the
+-      alignment of a field in a variant record might not be accurate. Add a
+-      safety test to make sure no alignment is set to a smaller value than
+-      the alignment of the field type.
+-      (make_dummy_type): Use the Non_Limited_View as the underlying type if
+-      the type comes from a limited_with clause. Do not loop on the full view.
+-      (GET_GNU_TREE, SET_GNU_TREE, PRESENT_GNU_TREE): New macros.
+-      (dummy_node_table): New global variable, moved from decl.c.
+-      (GET_DUMMY_NODE, SET_DUMMY_NODE, PRESENT_DUMMY_NODE): New macros.
+-      (save_gnu_tree): Use above macros.
+-      (get_gnu_tree): Likewise.
+-      (present_gnu_tree): Likewise.
+-      (init_dummy_type): New function, moved from decl.c. Use above macros.
+-      (make_dummy_type): Likewise.
+-      (tree_code_for_record_type): New function extracted from make_dummy_type
+-      (init_gigi_decls): Set DECL_IS_MALLOC on gnat_malloc.
+-      (static_ctors): Change it to a vector, make static.
+-      (static_dtors): Likewise.
+-      (end_subprog_body): Adjust for above change.
+-      (build_global_cdtor): Moved from trans.c.
+-      (gnat_write_global_declarations): Emit global constructor and
+-      destructor, and call cgraph_optimize before emitting debug info for
+-      global declarations.
+-      (global_decls): New global variable.
+-      (gnat_pushdecl): Store the global declarations in global_decls, for
+-      later use.
+-      (gnat_write_global_declarations): Emit debug information for global
+-       declarations.
+-      (create_var_decl_1): Former create_var_decl, with an extra argument to
+-       state whether the creation of a CONST_DECL is allowed.
+-      (create_var_decl): Behavior unchanged. Now a wrapper around
+-      create_var_decl_1 allowing CONST_DECL creation.
+-      (create_true_var_decl): New function, similar to create_var_decl but
+-      forcing the creation of a VAR_DECL node (CONST_DECL not allowed).
+-      (create_field_decl): Do not always mark the field as addressable
+-      if its type is an aggregate.
+-      (global_renaming_pointers): New static variable.
+-      (add_global_renaming_pointer): New function.
+-      (get_global_renaming_pointers): Likewise.
+-
+-      * misc.c (gnat_dwarf_name): New function.
+-      (LANG_HOOKS_DWARF_NAME): Define to gnat_dwarf_name.
+-      (gnat_post_options): Add comment about structural alias analysis.
+-      (gnat_parse_file): Do not call cgraph_optimize here.
+-      (LANG_HOOKS_WRITE_GLOBALS): Define to gnat_write_global_declarations.
+-
+-      * trans.c (process_freeze_entity): Don't abort if we already have a
+-      non dummy GCC tree for a Concurrent_Record_Type, as it might
+-      legitimately have been elaborated while processing the associated
+-      Concurrent_Type prior to this explicit freeze node.
+-      (Identifier_to_gnu): Do not make a variable referenced in a SJLJ
+-      exception handler volatile if it is of variable size.
+-      (process_type): Remove bypass for types coming from a limited_with
+-      clause.
+-      (call_to_gnu): When processing the copy-out of a N_Type_Conversion GNAT
+-      actual, convert the corresponding gnu_actual to the real destination
+-      type when necessary.
+-      (add_decl_expr): Set the DECL_READONLY_ONCE_ELAB flag on variables
+-      originally TREE_READONLY but whose elaboration cannot be performed
+-      statically.
+-      Part of fix for F504-021.
+-      (tree_transform, subprogram cases): Change loops on formal parameters to
+-      call new Einfo function First_Formal_With_Extras.
+-      (gnat_to_gnu) <N_Op_Shift_Right_Arithmetic>: Ignore constant overflow
+-      stemming from type conversion for the lhs.
+-      (Attribute_to_gnu) <Attr_Alignment>: Also divide the alignment by the
+-      number of bits per unit for components of records.
+-      (gnat_to_gnu) <N_Code_Statement>: Mark operands addressable if needed.
+-      (Handled_Sequence_Of_Statements_to_gnu): Register the cleanup associated
+-      with At_End_Proc after the SJLJ EH cleanup.
+-      (Compilation_Unit_to_gnu): Call elaborate_all_entities only on the main
+-      compilation unit.
+-      (elaborate_all_entities): Do not retest type_annotate_only.
+-      (tree_transform) <N_Abstract_Subprogram_Declaration>: Process the
+-      result type of an abstract subprogram, which may be an itype associated
+-      with an anonymous access result (related to AI-318-02).
+-      (build_global_cdtor): Move to utils.c.
+-      (Case_Statement_to_gnu): Avoid adding the choice of a when statement if
+-      this choice is not a null tree nor an integer constant.
+-      (gigi): Run unshare_save_expr via walk_tree_without_duplicates
+-      on the body of elaboration routines instead of mark_unvisited.
+-      (add_stmt): Do not mark the tree.
+-      (add_decl_expr): Tweak comment.
+-      (mark_unvisited): Delete.
+-      (unshare_save_expr): New static function.
+-      (call_to_gnu): Issue an error when making a temporary around a
+-      procedure call because of non-addressable actual parameter if the
+-      type of the formal is by_reference.
+-      (Compilation_Unit_to_gnu): Invalidate the global renaming pointers
+-      after building the elaboration routine.
+-
+-2006-10-31  Bob Duff  <duff@adacore.com>
+-
+-      * a-filico.adb (Finalize(List_Controller)): Mark the finalization list
+-      as finalization-started, so we can raise Program_Error on 'new'.
+-
+-      * s-finimp.adb: Raise Program_Error on 'new' if finalization of the
+-      collection has already started.
+-
+-      * s-finimp.ads (Collection_Finalization_Started): Added new special
+-      flag value for indicating that a collection's finalization has started.
+-
+-      * s-tassta.adb (Create_Task): Raise Program_Error on an attempt to
+-      create a task whose master has already waited for dependent tasks.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * lib.adb, lib.ads: (In_Predefined_Unit): New functions
+-
+-      * a-finali.ads, a-ngcoty.ads, a-strbou.ads, a-stream.ads, a-strmap.ads,
+-      a-strunb.ads, a-stwibo.ads, a-stwima.ads, a-stwiun.ads, a-taside.ads,
+-      a-coorse.ads, a-convec.ads, a-coinve.ads, a-cohama.ads, a-ciorse.ads,
+-      a-cihama.ads, a-cihase.ads, a-cohase.ads, a-ciorma.ads, a-coorma.ads,
+-      a-ciormu.ads, a-coormu.ads, a-stzbou.ads, a-stzmap.ads, a-stzunb.ads,
+-      a-except-2005.ads: Add pragma Preelaborable_Warning
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-          Jose Ruiz  <ruiz@adacore.com>
+-
+-      * a-dispat.ads, a-dispat.adb, a-diroro.ads, a-diroro.adb: New files.
+-
+-      * ali.adb (Get_Name): Properly handle scanning of wide character names
+-      encoded with brackets notation.
+-      (Known_ALI_Lines): Add S lines to this list.
+-      (Scan_ALI): Acquire S (priority specific dispatching) lines.
+-      New flag Elaborate_All_Desirable in unit table
+-
+-      * ali.ads (Priority_Specific_Dispatching): Add this range of
+-      identifiers to be used for Priority_Specific_Dispatching table entries.
+-      (ALIs_Record): Add First_Specific_Dispatching and
+-      Last_Specific_Dispatching that point to the first and last entries
+-      respectively in the priority specific dispatching table for this unit.
+-      (Specific_Dispatching): Add this table for storing each S (priority
+-      specific dispatching) line encountered in the input ALI file.
+-      New flag Elaborate_All_Desirable in unit table
+-
+-      * bcheck.adb: (Check_Configuration_Consistency): Add call to
+-      Check_Consistent_Dispatching_Policy.
+-      (Check_Consistent_Dispatching_Policy): Add this procedure in charge of
+-      verifying that the use of Priority_Specific_Dispatching,
+-      Task_Dispatching_Policy, and Locking_Policy is consistent across the
+-      partition.
+-
+-      * bindgen.adb: (Public_Version_Warning): function removed.
+-      (Set_PSD_Pragma_Table): Add this procedure in charge of getting the
+-      required information from ALI files in order to initialize the table
+-      containing the specific dispatching policy.
+-      (Gen_Adainit_Ada): Generate the variables required for priority specific
+-      dispatching entries (__gl_priority_specific_dispatching and
+-      __gl_num_specific_dispatching).
+-      (Gen_Adainit_C): Generate the variables required for priority specific
+-      dispatching entries (__gl_priority_specific_dispatching and
+-      __gl_num_specific_dispatching).
+-      (Gen_Output_File): Acquire settings for Priority_Specific_Dispatching
+-      pragma entries.
+-      (Gen_Restrictions_String_1, Gen_Restrictions_String_2): Removed.
+-      (Gen_Restrictions_Ada, Gen_Restrictions_C, Set_Boolean): New procedures.
+-      (Tab_To): Removed.
+-      (Gen_Output_File_Ada/_C): Set directly __gl_xxx variables instead of
+-      a call to gnat_set_globals.
+-      Generate a string containing settings from
+-      Priority_Specific_Dispatching pragma entries.
+-      (Gen_Object_Files_Options): Do not include the runtime libraries when
+-      pragma No_Run_Time is specified.
+-
+-      * init.c (__gnat_install_handler, case FreeBSD): Use SA_SIGINFO, for
+-      consistency with s-intman-posix.adb.
+-      (__gnat_error_handler, case FreeBSD): Account for the fact that the
+-      handler is installed with SA_SIGINFO.
+-      (__gnat_adjust_context_for_raise, FreeBSD case): New function for
+-      FreeBSD ZCX support, copied from Linux version.
+-      Add MaRTE-specific definitions for the linux target. Redefine sigaction,
+-      sigfillset, and sigemptyset so the routines defined by MaRTE.
+-      (__gl_priority_specific_dispatching): Add this variable that stores the
+-      string containing priority specific dispatching policies in the
+-      partition.
+-      (__gl_num_specific_dispatching): Add this variable that indicates the
+-      highest priority for which a priority specific dispatching pragma
+-      applies.
+-      (__gnat_get_specific_dispatching): Add this routine that returns the
+-      priority specific dispatching policy, as set by a
+-      Priority_Specific_Dispatching pragma appearing anywhere in the current
+-      partition. The input argument is the priority number, and the result
+-      is the upper case first character of the policy name.
+-      (__gnat_set_globals): Now a dummy function.
+-      (__gnat_handle_vms_condition): Feed adjust_context_for_raise with
+-      mechargs instead of sigargs, as the latter can be retrieved from the
+-      former and sigargs is not what we want on ia64.
+-      (__gnat_adjust_context_for_raise, alpha-vms): Fetch sigargs from the
+-      mechargs argument.
+-      (__gnat_adjust_context_for_raise, ia64-vms): New function.
+-      (tasking_error): Remove unused symbol.
+-      (_abort_signal): Move this symbol to the IRIX specific part since this
+-      is the only target that uses this definition.
+-      (Check_Abort_Status): Move this symbol to the IRIX specific part since
+-      this is the only target that uses this definition.
+-      (Lock_Task): Remove unused symbol.
+-      (Unlock_Task): Remove unused symbol.
+-
+-      * lib-writ.adb (Write_ALI): Output new S lines for
+-      Priority_Specific_Dispatching pragmas.
+-      Implement new flag BD for elaborate body desirable
+-
+-      * lib-writ.ads: Document S lines for Priority Specific Dispatching.
+-      (Specific_Dispatching): Add this table for storing the entries
+-      corresponding to Priority_Specific_Dispatching pragmas.
+-      Document new BD flag for elaborate body desirable
+-
+-      * par-prag.adb (Prag): Add Priority_Specific_Dispatching to the list
+-      of known pragmas.
+-
+-2006-10-31  Javier Miranda  <miranda@adacore.com>
+-
+-      * a-tags.ads, a-tags.adb:
+-      (Predefined_DT): New function that improves readability of the code.
+-      (Get_Predefined_Prim_Op_Address, Set_Predefined_Prim_Op_Address,
+-      Inherit_DT): Use the new function Predefined_DT to improve code
+-      readability.
+-      (Register_Interface_Tag): Update assertion.
+-      (Set_Interface_Table): Update assertion.
+-      (Interface_Ancestor_Tags): New subprogram required to implement AI-405:
+-      determining progenitor interfaces in Tags.
+-      (Inherit_CPP_DT): New subprogram.
+-
+-      * exp_disp.adb (Expand_Interface_Thunk): Suppress checks during the
+-      analysis of the thunk code.
+-      (Expand_Interface_Conversion): Handle run-time conversion of
+-      access to class wide types.
+-      (Expand_Dispatching_Call): When generating the profile for the
+-      subprogram itype for a dispatching operation, properly terminate the
+-      formal parameters chaind list (set the Next_Entity of the last formal
+-      to Empty).
+-      (Collect_All_Interfaces): Removed. This routine has been moved to
+-      sem_util and renamed as Collect_All_Abstract_Interfaces.
+-      (Set_All_DT_Position): Hidden entities associated with abstract
+-      interface primitives are not taken into account in the check for
+-      3.9.3(10); this check is done with the aliased entity.
+-      (Make_DT, Set_All_DT_Position): Enable full ABI compatibility for
+-      interfacing with CPP by default.
+-      (Expand_Interface_Conversion): Add missing support for static conversion
+-      from an interface to a tagged type.
+-      (Collect_All_Interfaces): Add new out formal containing the list of
+-      abstract interface types to cleanup the subprogram Make_DT.
+-      (Make_DT): Update the code to generate the table of interfaces in case
+-      of abstract interface types.
+-      (Is_Predefined_Dispatching_Alias): New function that returns true if
+-      a primitive is not a predefined dispatching primitive but it is an
+-      alias of a predefined dispatching primitive.
+-      (Make_DT): If the ancestor of the type is a CPP_Class and we are
+-      compiling under full ABI compatibility mode we avoid the generation of
+-      calls to run-time services that fill the dispatch tables because under
+-      this mode we currently inherit the dispatch tables in the IP subprogram.
+-      (Write_DT): Emit an "is null" indication for a null procedure primitive.
+-      (Expand_Interface_Conversion): Use an address as the type of the formal
+-      of the internally built function that handles the case in which the
+-      target type is an access type.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * binde.adb (Better_Choice, Worse_Choice): Implement new preferences.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * bindusg.ads, bindusg.adb:
+-      Change to package and rename procedure as Display, which
+-      now ensures that it only outputs usage information once.
+-
+-2006-10-31  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * cal.c: Use the header sys/time.h for VxWorks 6.2 or greater when
+-      using RTPs.
+-
+-      * mkdir.c: Use a different version of mkdir for VxWorks 6.2 or greater
+-      when using RTPs.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * treepr.adb: Use new subtype N_Membership_Test
+-
+-      * checks.ads, checks.adb: Add definition for Validity_Check
+-      (Range_Or_Validity_Checks_Suppressed): New function
+-      (Ensure_Valid): Test Validity_Check suppressed
+-      (Insert_Valid_Check): Test Validity_Check suppressed
+-      (Insert_Valid_Check): Preserve Do_Range_Check flag
+-      (Validity_Check_Range): New procedure
+-      (Expr_Known_Valid): Result of membership test is always valid
+-      (Selected_Range_Checks): Range checks cannot be applied to discriminants
+-      by themselves. Disabling those checks must also be done for task types,
+-      where discriminants may be used for the bounds of entry families.
+-      (Apply_Address_Clause_Check): Remove side-effects if address expression
+-      is non-static and is not the name of a declared constant.
+-      (Null_Exclusion_Static_Checks): Extend to handle Function_Specification.
+-      Code cleanup and new error messages.
+-      (Enable_Range_Check): Test for some cases of suppressed checks
+-      (Generate_Index_Checks): Suppress index checks if index checks are
+-      suppressed for array object or array type.
+-      (Apply_Selected_Length_Checks): Give warning for compile-time detected
+-      length check failure, even if checks are off.
+-      (Ensure_Valid): Do not generate a check on an indexed component whose
+-      prefix is a packed boolean array.
+-      * checks.adb: (Alignment_Checks_Suppressed): New function
+-      (Apply_Address_Clause_Check): New procedure, this is a completely
+-      rewritten replacement for Apply_Alignment_Check
+-      (Get_E_Length/Get_E_First_Or_Last): Add missing barrier to ensure that
+-      we request a discriminal value only in case of discriminants.
+-      (Apply_Discriminant_Check): For Ada_05, only call Get_Actual_Subtype for
+-      assignments where the target subtype is unconstrained and the target
+-      object is a parameter or dereference (other aliased cases are known
+-      to be unconstrained).
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * clean.adb, gnatname.adb, gnatsym.adb, prep.adb, prep.ads,
+-      prepcomp.adb, prj.ads, prj-strt.adb, sem_maps.ads,
+-      vms_conv.adb: Fix bad table increment values (much too small)
+-
+-      * table.adb (Realloc): Make sure we get at least some new elements
+-      Defends against silly small values for table increment
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-
+-      * einfo.ads, einfo.adb (Obsolescent_Warning): Now defined on all
+-      entities. Move other fields around to make this possible
+-      (Is_Derived_Type): Add missing call to Is_Type.
+-      (Extra_Formals): New function for subprograms, entries, subprogram
+-      types.
+-      (Set_Extra_Formals): New procedure for subprograms, entries, subp types.
+-      (First_Formal_With_Extras): New function for subprogs, entries, subp
+-      types.
+-      (Write_Field28_Name): New procedure for node display of "Extra_Formals".
+-      Add node information for E_Return_Statement.
+-      (Elaborate_Body_Desirable): New flag
+-      (Is_Return_By_Reference_Type): Rename Is_Return_By_Reference_Type
+-      to be Is_Inherently_Limited_Type, because return-by-reference has
+-      no meaning in Ada 2005.
+-      (E_Return_Statement): New entity kind.
+-      (Return_Applies_To): Field of E_Return_Statement.
+-      (Is_Return_Object): New flag in object entities.
+-      (Is_Dynamic_Scope): Make it True for E_Return_Statement.
+-      (Must_Have_Preelab_Init): New flag
+-      (Known_To_Have_Preelab_Init): New flag
+-      (Is_Formal_Object): Move from Sem_Ch8 body to Einfo
+-      (Is_Visible_Formal): New flag on entities in formal packages.
+-      (Low_Bound_Known): New flag
+-      (Non_Limited_View, Set_Non_Limited_View): Add membership test agains
+-      Incomplete_Kind.
+-      (Write_Field17_Name): Correct spelling of Non_Limited_View. Add name
+-      output when Id is an incomplete subtype.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * errout.ads, errout.adb (Finalize): Implement switch -gnatd.m
+-      Avoid abbreviation Creat
+-      (Finalize): List all sources in extended mail source if -gnatl
+-      switch is active.
+-      Suppress copyright notice to file in -gnatl=f mode if -gnatd7 set
+-      (Finalize): Implement new -gnatl=xxx switch to output listing to file
+-      (Set_Specific_Warning_On): New procedure
+-      (Set_Specific_Warning_Off): New procedure
+-      Add implementation of new insertion \\
+-      (Error_Msg_Internal): Add handling for Error_Msg_Line_Length
+-      (Unwind_Internal_Type): Improve report on anonymous access_to_subprogram
+-      types.
+-      (Error_Msg_Internal): Make sure that we set Last_Killed to
+-      True when a message from another package is suppressed.
+-      Implement insertion character ~ (insert string)
+-      (First_Node): Minor adjustments to get better placement.
+-
+-      * frontend.adb:
+-      Implement new -gnatl=xxx switch to output listing to file
+-
+-      * gnat1drv.adb:
+-      Implement new -gnatl=xxx switch to output listing to file
+-
+-      * opt.ads: (Warn_On_Questionable_Missing_Paren): New switch
+-      (Commands_To_Stdout): New flag
+-      Implement new -gnatl=xxx switch to output listing to file
+-      New switch Dump_Source_Text
+-      (Warn_On_Deleted_Code): New warning flag for -gnatwt
+-      Define Error_Msg_Line_Length
+-      (Warn_On_Assumed_Low_Bound): New switch
+-
+-      * osint.ads, osint.adb
+-      (Normalize_Directory_Name): Fix bug.
+-      Implement new -gnatl=xxx switch to output listing to file
+-      (Concat): Removed, replaced by real concatenation
+-      Make use of concatenation now allowed in compiler
+-      (Executable_Prefix.Get_Install_Dir): First get the full path, so that
+-      we find the 'lib' or 'bin' directory even when the tool has been
+-      invoked with a relative path.
+-      (Executable_Name): New function taking string parameters.
+-
+-      * osint-c.ads, osint-c.adb:
+-      Implement new -gnatl=xxx switch to output listing to file
+-
+-      * sinput-d.adb: Change name Creat_Debug_File to Create_Debug_File
+-
+-      * switch-c.adb:
+-      Implement new -gnatl=xxx switch to output listing to file
+-      Recognize new -gnatL switch
+-      (no longer keep in old warning about old style usage)
+-      Use concatenation to simplify code
+-      Recognize -gnatjnn switch
+-      (Scan_Front_End_Switches): Clean up handling of -gnatW
+-      (Scan_Front_End_Switches): Include Warn_On_Assumed_Low_Bound for -gnatg
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * erroutc.ads, erroutc.adb (Set_Specific_Warning_On): New procedure
+-      (Set_Specific_Warning_Off): New procedure
+-      (Warning_Specifically_Suppressed): New function
+-      (Validate_Specific_Warnings): New procedure
+-      (Output_Msg_Text): Complete rewrite to support -gnatjnn
+-
+-      * err_vars.ads: Implement insertion character ~ (insert string)
+-
+-2006-10-31  Bob Duff  <duff@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_aggr.adb (Build_Record_Aggr_Code): For extension aggregates, if
+-      the parent part is a build-in-place function call, generate assignments.
+-      (Expand_Record_Aggregate): Call Convert_To_Assignments if any components
+-      are build-in-place function calls.
+-      (Replace_Self_Reference): New subsidiary of
+-      Make_OK_Assignment_Statement, to replace an access attribute that is a
+-      self-reference into an access to the appropriate component of the
+-      target object. Generalizes previous mechanism to handle self-references
+-      nested at any level.
+-      (Is_Self_Referential_Init): Remove, not needed.
+-      (Is_Self_Referential_Init): New predicate to simplify handling of self
+-      referential components in record aggregates.
+-      (Has_Default_Init_Comps, Make_OK_Assignment_Statement): Add guard to
+-      check for presence of entity before checking for self-reference.
+-      (Has_Default_Init_Comps): Return True if a component association is a
+-      self-reference to the enclosing type, which can only come from a
+-      default initialization.
+-      (Make_OK_Assignment_Statement): If the expression is of the form
+-      Typ'Acc, where Acc is an access attribute, the expression comes from a
+-      default initialized self-referential component.
+-      (Build_Record_Aggr_Code): If the type of the aggregate is a tagged type
+-      that has been derived from several abstract interfaces we must also
+-      initialize the tags of the secondary dispatch tables.
+-
+-2006-10-31  Ed Schonberg  <schonberg@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_attr.adb:
+-      (Expand_Access_To_Protected_Op): If the context indicates that an access
+-      to a local operation may be transfered outside of the object, create an
+-      access to the wrapper operation that must be used in an external call.
+-      (Expand_N_Attribute_Reference, case Attribute_Valid): For the AAMP
+-      target, pass the Valid attribute applied to a floating-point prefix on
+-      to the back end without expansion.
+-      (Storage_Size): Use the new run-time function Storage_Size to retrieve
+-      the allocated storage when it is specified by a per-object expression.
+-      (Expand_N_Attribute_Reference): Add case for Attribute_Stub_Type.
+-      Nothing to do here, the attribute has been rewritten during semantic
+-      analysis.
+-      (Expand_Attribute_Reference): Handle expansion of the new Priority
+-      attribute
+-      (Find_Fat_Info): Handle case of universal real
+-      (Expand_Access_To_Protected_Op): Fix use of access to protected
+-      subprogram from inside the body of a protected entry.
+-      (Expand_Access_To_Protected_Op): Common procedure for the expansion of
+-      'Access and 'Unrestricted_Access, to transform the attribute reference
+-      into a fat pointer.
+-      (Is_Constrained_Aliased_View): New predicate to help determine whether a
+-      subcomponent's enclosing variable is aliased with a constrained subtype.
+-      (Expand_N_Attribute_Reference, case Attribute_Constrained): For Ada_05,
+-      test Is_Constrained_Aliased_View rather than Is_Aliased_View, because
+-      an aliased prefix must be known to be constrained in order to use True
+-      for the attribute value, and now it's possible for some aliased views
+-      to be unconstrained.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_ch2.adb: Change Is_Lvalue to May_Be_Lvalue
+-      (Expand_Entity_Reference): Correct error of not handling subprogram
+-      formals in current_value processing.
+-
+-2006-10-31  Javier Miranda  <miranda@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_ch3.ads, exp_ch3.adb (Expand_N_Object_Declaration): Do not
+-      register in the final list objects containing class-wide interfaces;
+-      otherwise we incorrectly register the tag of the interface in the final
+-      list.
+-      (Make_Controlling_Function_Wrappers): Add missing barrier to do not
+-      generate the wrapper if the parent primitive is abstract. This is
+-      required to report the correct error message.
+-      (Expand_N_Subtype_Indication): Do validity checks on range
+-      (Clean_Task_Names): If an initialization procedure includes a call to
+-      initialize a task (sub)component, indicate that the procedure will use
+-      the secondary stack.
+-      (Build_Init_Procedure, Init_Secondary_Tags): Enable full ABI
+-      compatibility for interfacing with CPP by default.
+-      (Expand_N_Object_Declaration): Only build an Adjust call when the
+-      object's type is a nonlimited controlled type.
+-      * exp_ch3.adb: Add with and use of Exp_Ch6.
+-      (Expand_N_Object_Declaration): Check for object initialization that is a
+-      call to build-in-place function and apply Make_Build_In_Place_Call_In_
+-      Object_Declaration to the call.
+-      (Freeze_Type): When the designated type of an RACW was not frozen at the
+-      point where the RACW was declared, validate the primitive operations
+-      with respect to E.2.2(14) when it finally is frozen.
+-      (Build_Initialization_Call,Expand_Record_Controller): Rename
+-      Is_Return_By_Reference_Type to be Is_Inherently_Limited_Type, because
+-      return-by-reference has no meaning in Ada 2005.
+-      (Init_Secondary_Tags): Add missing call to Set_Offset_To_Top
+-      to register tag of the immediate ancestor interfaces in the
+-      run-time structure.
+-      (Init_Secondary_Tags): Moved to the specification to allow the
+-      initialization of extension aggregates with abstract interfaces.
+-      (Build_Master_Renaming): Make public, for use by function declarations
+-      whose return type is an anonymous access type.
+-      (Freeze_Record_Type): Replace call to Insert_List_Before by call to
+-      Insert_List_Before_And_Analyze after the generation of the specs
+-      associated with null procedures.
+-      (Expand_Tagged_Root): Update documentation in its specification.
+-      (Init_Secondary_Tags): Update documentation.
+-      (Build_Init_Procedure): If we are compiling under CPP full ABI compa-
+-      tibility mode and the immediate ancestor is a CPP_Pragma tagged type
+-      then generate code to inherit the contents of the dispatch table
+-      directly from the ancestor.
+-      (Expand_Record_Controller): Insert controller component after tags of
+-      implemented interfaces.
+-      (Freeze_Record_Type): Call new procedure Make_Null_Procedure_Specs to
+-      create null procedure overridings when null procedures are inherited
+-      from interfaces.
+-      (Make_Null_Procedure_Specs): New procedure to generate null procedure
+-      declarations for overriding null primitives inherited from interfaces.
+-      (Is_Null_Interface_Procedure): New function in
+-      Make_Null_Procedure_Specs.
+-      (Make_Predefined_Primitive_Specs/Predefined_Primitive_Bodies): If the
+-      immediate ancestor of a tagged type is an abstract interface type we
+-      must generate the specification of the predefined primitives associated
+-      with controlled types (because the dispatch table of the ancestor is
+-      null and hence these entries cannot be inherited). This is required to
+-      elaborate well the dispatch table.
+-
+-2006-10-31  Javier Miranda  <miranda@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_ch4.adb (Expand_N_Type_Conversion): Handle missing interface type
+-      conversion.
+-      (Expand_N_In): Do validity checks on range
+-      (Expand_Selected_Component): Use updated for of Denotes_Discriminant.
+-      (Expand_N_Allocator): For "new T", if the object is constrained by
+-      discriminant defaults, allocate the right amount of memory, rather than
+-      the maximum for type T.
+-      (Expand_Allocator_Expression): Suppress the call to Remove_Side_Effects
+-      when the allocator is initialized by a build-in-place call, since the
+-      allocator is already rewritten as a reference to the function result,
+-      and this prevents an unwanted duplication of the function call.
+-      Add with and use of Exp_Ch6.
+-      (Expand_Allocator_Expresssion): Check for an allocator whose expression
+-      is a call to build-in-place function and apply
+-      Make_Build_In_Place_Call_In_Allocator to the call (for both tagged and
+-      untagged designated types).
+-      (Expand_N_Unchecked_Type_Conversion): Do not do integer literal
+-      optimization if source or target is biased.
+-      (Expand_N_Allocator): Add comments for case of an allocator within a
+-      function that returns an anonymous access type designating tasks.
+-      (Expand_N_Allocator): apply discriminant checks for access
+-      discriminants of anonymous access types (AI-402, AI-416)
+-
+-2006-10-31  Bob Duff  <duff@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch5.ads (Expand_N_Extended_Return_Statement): New procedure.
+-
+-      * exp_ch5.adb (Expand_N_Loop_Statement): Do validity checks on range
+-      (Expand_N_Assignment_Statement): Call
+-      Make_Build_In_Place_Call_In_Assignment if the right-hand side is a
+-      build-in-place function call. Currently, this can happen only for
+-      assignments that come from aggregates.
+-      Add -gnatd.l --Use Ada 95 semantics for limited function returns,
+-      in order to alleviate the upward compatibility introduced by AI-318.
+-      (Expand_N_Extended_Return_Statement): Add support for handling the
+-      return object as a build-in-place result.
+-      (Expand_Non_Function_Return): Implement simple return statements nested
+-      within an extended return.
+-      (Enable_New_Return_Processing): Turn on the new processing of return
+-      statements.
+-      (Expand_Non_Function_Return): For a return within an extended return,
+-      don't raise Program_Error, because Sem_Ch6 now gives a warning.
+-      (Expand_N_Extended_Return_Statement): Implement AI-318
+-      (Expand_Simple_Function_Return): Ditto.
+-      (Expand_N_If_Statement): Handle new -gnatwt warning
+-      (Expand_N_Case_Statement): Handle new -gnatwt warning
+-      (Expand_N_Assignment): Handle assignment to the Priority attribute of
+-      a protected object.
+-      (Expand_N_Assignment_Statement): Implement -gnatVe/E to control
+-      validity checking of assignments to elementary record components.
+-      (Expand_N_Return_Statement): return Class Wide types on the secondary
+-      stack independantly of their controlled status since with HIE runtimes,
+-      class wide types are not potentially controlled anymore.
+-
+-      * expander.adb (Expand): Add case for new N_Extended_Return_Statement
+-      node kind.
+-
+-      * exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Avoid
+-      Expand_Cleanup_Actions in case of N_Extended_Return_Statement, because
+-      it expects a block, procedure, or task. The return statement will get
+-      turned into a block, and Expand_Cleanup_Actions will happen then.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_ch6.ads, exp_ch6.adb: Use new Validity_Check suppression
+-      capability.
+-      (Expand_Inlined_Call): Tagged types are by-reference types, and
+-      therefore should be replaced by a renaming declaration in the expanded
+-      body, as is done for limited types.
+-      (Expand_Call): If this is a call to a function with dispatching access
+-      result, propagate tag from context.
+-      (Freeze_Subprogram): Enable full ABI compatibility for interfacing with
+-      CPP by default.
+-      (Make_Build_In_Place_Call_In_Assignment): New procedure to do
+-      build-in-place when the right-hand side of an assignment is a
+-      build-in-place function call.
+-      (Make_Build_In_Place_Call_In_Allocator): Apply an unchecked conversion
+-      of the explicit dereference of the allocator to the result subtype of
+-      the build-in-place function. This is needed to satisfy type checking
+-      in cases where the caller's return object is created by an allocator for
+-      a class-wide access type and the type named in the allocator is a
+-      specific type.
+-      (Make_Build_In_Place_Call_In_Object_Declaration): Apply an unchecked
+-      conversion of the reference to the declared object to the result subtype
+-      of the build-in-place function. This is needed to satisfy type checking
+-      in cases where the declared object has a class-wide type. Also, in the
+-      class-wide case, change the type of the object entity to the specific
+-      result subtype of the function, to avoid passing a class-wide object
+-      without explicit initialization to the back end.
+-      (Register_Interface_DT_Entry): Moved outside the body of
+-      Freeze_Subprogram because this routine is now public; it is called from
+-      Check_Dispatching_Overriding to handle late overriding of abstract
+-      interface primitives.
+-      (Add_Access_Actual_To_Build_In_Place_Call): New utility procedure for
+-      adding an implicit access actual on a call to a build-in-place function.
+-      (Expand_Actuals): Test for an actual parameter that is a call to a
+-      build-in-place function and apply
+-      Make_Build_In_Place_Call_In_Anonymous_Context to the call.
+-      (Is_Build_In_Place_Function): New function to determine whether an
+-      entity is a function whose calls should be handled as build-in-place.
+-      (Is_Build_In_Place_Function_Call): New function to determine whether an
+-      expression is a function call that should handled as build-in-place.
+-      (Make_Build_In_Place_Call_In_Allocator): New procedure for handling
+-      calls to build-in-place functions as the initialization of an allocator.
+-      (Make_Build_In_Place_Call_In_Anonymous_Context): New procedure for
+-      handling calls to build-in-place functions in contexts that do not
+-      involve init of a separate object (for example, actuals of subprogram
+-      calls).
+-      (Make_Build_In_Place_Call_In_Object_Declaration): New procedure for
+-      handling calls to build-in-place functions as the initialization of an
+-      object declaration.
+-      (Detect_Infinite_Recursion): Add explicit parameter Process to
+-      instantiation of Traverse_Body to avoid unreferenced warning.
+-      (Check_Overriding_Inherited_Interfaces): Removed.
+-      (Register_Interface_DT_Entry): Code cleanup.
+-      (Register_Predefined_DT_Entry): Code cleanup.
+-      (Expand_Inlined_Call.Rewrite_Procedure_Call): Do not omit block around
+-      inlined statements if within a transient scope.
+-      (Expand_Inlined_Call.Process_Formals): When replacing occurrences of
+-      formal parameters with occurrences of actuals in inlined body, establish
+-      visibility on the proper view of the actual's subtype for the body's
+-      context.
+-      (Freeze_Subprogram): Do nothing if we are compiling under full ABI
+-      compatibility mode and we have an imported CPP subprogram because
+-      for now we assume that imported CPP primitives correspond with
+-      objects whose constructor is in the CPP side (and therefore we
+-      don't need to generate code to register them in the dispatch table).
+-      (Expand_Actuals): Introduce copy of actual, only if it might be a bit-
+-      aligned selected component.
+-      (Add_Call_By_Copy_Node): Add missing code to handle the case in which
+-      the actual of an in-mode parameter is a type conversion.
+-      (Expand_Actuals): If the call does not come from source and the actual
+-      is potentially misaligned, let gigi handle it rather than rejecting the
+-      (Expand_N_Subprogram_Body, Freeze_Subprogram): set subprograms returning
+-      Class Wide types as returning by reference independantly of their
+-      controlled status since with HIE runtimes class wide types are not
+-      potentially controlled anymore.
+-
+-2006-10-31  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch9.adb (Update_Prival_Types): Simplify code for entity
+-      references that are private components of the protected object.
+-      (Build_Barrier_Function): Set flag Is_Entry_Barrier_Function
+-      (Update_Prival_Subtypes): Add explicit Process argument to Traverse_Proc
+-      instantiation to deal with warnings.
+-      (Initialize_Protection): If expression for priority is non-static, use
+-      System_Priority as its expected type, in case the expression has not
+-      been analyzed yet.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_dbug.ads, exp_dbug.adb (Get_External_Name): Add missing
+-      initialization of Homonym_Len.
+-      (Fully_Qualify_Name): Remove kludge to eliminate anonymous block
+-      names from fully qualified name. Fixes problem of duplicate
+-      external names differing only in the presence of such a block name.
+-
+-2006-10-31  Thomas Quinot  <quinot@adacore.com>
+-          Pablo Oliveira  <oliveira@adacore.com>
+-
+-      * exp_dist.adb (Get_Subprogram_Ids): This function will no more assign
+-      subprogram Ids, even if they are not yet assigned.
+-      (Build_Subprogram_Id): It is now this function that will take care of
+-      calling Assign_Subprogram_Ids if necessary.
+-      (Add_Receiving_Stubs_To_Declarations): Checking the subprograms ids
+-      should be done only once they are assigned.
+-      (Build_From_Any_Function, case of tagged types): Add missing call to
+-      Allocate_Buffer.
+-      (Corresponding_Stub_Type): New subprogram. Returns the associated stub
+-      type for an RACW type.
+-      (Add_RACW_Features): When processing an RACW declaration for which the
+-      designated type is already frozen, enforce E.2.2(14) rules immediately.
+-      (GARLIC_Support.Build_Subprogram_Receiving_Stubs): Do not perform any
+-      special reordering of controlling formals.
+-
+-      * exp_dist.ads (Corresponding_Stub_Type): New subprogram. Returns the
+-      associated stub type for an RACW type.
+-
+-2006-10-31  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_fixd.adb (Rounded_Result_Set): For multiplication and division of
+-      fixed-point operations in an integer context, i.e. as operands of a
+-      conversion to an integer type, indicate that result must be rounded.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_imgv.adb (Expand_Image_Attribute): For Wide_[Wide_]Character
+-      cases, pass the encoding method, since it is now required by the run
+-      time.
+-
+-      * s-valwch.ads, s-valwch.adb (Value_Wide_Wide_Character): Avoid
+-      assumption that Str'First = 1.
+-      (Value_Wide_Character): Takes EM (encoding method) parameter and passes
+-      it on to the Value_Wide_Wide_Character call.
+-      (Value_Wide_Wide_Character): Takes EM (encoding method) parameter and
+-      properly handles a string of the form quote-encoded_wide_char-quote.
+-
+-      * s-wchcnv.adb: Minor reformatting
+-
+-2006-10-31  Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing
+-      run-time membership test to ensure that the constructed object
+-      implements the target abstract interface.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_prag.adb (Expand_Pragma_Common_Object): Use a single
+-      Machine_Attribute pragma internally to implement the user pragma.
+-      Add processing for pragma Interface so that it is now completely
+-      equivalent to pragma Import.
+-
+-      * sem_prag.adb (Analyze_Pragma, case Obsolescent): Extend this pragma
+-      so that it can be applied to all entities, including record components
+-      and enumeration literals.
+-      (Analyze_Pragma, case Priority_Specific_Dispatching): Check whether
+-      priority ranges are correct, verify compatibility against task
+-      dispatching and locking policies, and if everything is correct an entry
+-      is added to the table containing priority specific dispatching entries
+-      for this compilation unit.
+-      (Delay_Config_Pragma_Analyze): Delay processing
+-      Priority_Specific_Dispatching pragmas because when processing the
+-      pragma we need to access run-time data, such as the range of
+-      System.Any_Priority.
+-      (Sig_Flags): Add Pragma_Priority_Specific_Dispatching.
+-      Allow pragma Unreferenced as a context item
+-      Add pragma Preelaborable_Initialization
+-      (Analyze_Pragma, case Interface): Interface is extended so that it is
+-      now syntactically and semantically equivalent to Import.
+-      (Analyze_Pragma, case Compile_Time_Warning): Fix error of blowups on
+-      insertion characters.
+-      Add handling for Pragma_Wide_Character_Encoding
+-      (Process_Restrictions_Restriction_Warnings): Ensure that a warning
+-      never supercedes a real restriction, and that a real restriction
+-      always supercedes a warning.
+-      (Analyze_Pragma, case Assert): Set Low_Bound_Known if assert is of
+-      appropriate form.
+-
+-2006-10-31  Bob Duff  <duff@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_ch7.adb (Build_Array_Deep_Procs, Build_Record_Deep_Procs,
+-      Make_Deep_Record_Body): Rename Is_Return_By_Reference_Type to be
+-      Is_Inherently_Limited_Type, because return-by-reference has no meaning
+-      in Ada 2005.
+-      (Find_Node_To_Be_Wrapped): Use new method of determining the result
+-      type of the function containing a return statement, because the
+-      Return_Type field was removed. We now use the Return_Applies_To field.
+-
+-      * exp_util.ads, exp_util.adb: Use new subtype N_Membership_Test
+-      (Build_Task_Image_Decl): If procedure is not called from an
+-      initialization procedure, indicate that function that builds task name
+-      uses the sec. stack. Otherwise the enclosing initialization procedure
+-      will carry the indication.
+-      (Insert_Actions): Remove N_Return_Object_Declaration. We now use
+-      N_Object_Declaration instead.
+-      (Kill_Dead_Code): New interface to implement -gnatwt warning for
+-      conditional dead code killed, and change implementation accordingly.
+-      (Insert_Actions): Add N_Return_Object_Declaration case.
+-      Correct comment to mention N_Extension_Aggregate node.
+-      (Set_Current_Value_Condition): Call Safe_To_Capture_Value to avoid bad
+-      attempts to save information for global variables which cannot be
+-      safely tracked.
+-      (Get_Current_Value_Condition): Handle conditions the other way round
+-      (constant on left). Also handle right operand of AND and AND THEN
+-      (Set_Current_Value_Condition): Corresponding changes
+-      (Append_Freeze_Action): Remove unnecessary initialization of Fnode.
+-      (Get_Current_Value_Condition): Handle simple boolean operands
+-      (Get_Current_Value_Condition): Handle left operand of AND or AND THEN
+-      (Get_Current_Value_Condition): If the variable reference is within an
+-      if-statement, does not appear in the list of then_statments, and does
+-      not come from source, treat it as being at unknown location.
+-      (Get_Current_Value_Condition): Enhance to allow while statements to be
+-      processed as well as if statements.
+-      (New_Class_Wide_Subtype): The entity for a class-wide subtype does not
+-      come from source.
+-      (OK_To_Do_Constant_Replacement): Allow constant replacement within body
+-      of loop. This is safe now that we fixed Kill_Current_Values.
+-      (OK_To_Do_Constant_Replacement): Check whether current scope is
+-      Standard, before examining outer scopes.
+-
+-2006-10-31  Vincent Celier  <celier@adacore.com>
+-
+-      * krunch.ads, krunch.adb (Krunch): New Boolean parameter VMS_On_Target.
+-      When True, apply VMS treatment to children of packages A, G, I and S.
+-      For F320-016
+-
+-      * fname-uf.adb (Get_File_Name): Call Krunch with OpenVMS_On_Target
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * freeze.adb: Add handling of Last_Assignment field
+-      (Warn_Overlay): Supply missing continuation marks in error msgs
+-      (Freeze_Entity): Add check for Preelaborable_Initialization
+-
+-      * g-comlin.adb: Add Warnings (Off) to prevent new warning
+-
+-      * g-expect.adb: Add Warnings (Off) to prevent new warning
+-
+-      * lib-xref.adb: Add handling of Last_Assignment field
+-      (Generate_Reference): Centralize handling of pragma Obsolescent here
+-      (Generate_Reference): Accept an implicit reference generated for a
+-      default in an instance.
+-      (Generate_Reference): Accept a reference for a node that is not in the
+-      main unit, if it is the generic body corresponding to an subprogram
+-      instantiation.
+-
+-      * xref_lib.adb: Add pragma Warnings (Off) to avoid new warnings
+-
+-      * sem_warn.ads, sem_warn.adb (Set_Warning_Switch): Add processing for
+-      -gnatwq/Q.
+-      (Warn_On_Useless_Assignment): Suppress warning if enclosing inner
+-      exception handler.
+-      (Output_Obsolescent_Entity_Warnings): Rewrite to avoid any messages on
+-      use clauses, to avoid messages on packages used to qualify, and also
+-      to avoid messages from obsolescent units.
+-      (Warn_On_Useless_Assignments): Don't generate messages for imported
+-      and exported variables.
+-      (Warn_On_Useless_Assignments): New procedure
+-      (Output_Obsolescent_Entity_Warnings): New procedure
+-      (Check_Code_Statement): New procedure
+-
+-      * einfo.ads, einfo.adb (Has_Static_Discriminants): New flag
+-      Change name Is_Ada_2005 to Is_Ada_2005_Only
+-      (Last_Assignment): New field for useless assignment warning
+-
+-2006-10-31  Olivier Hainque  <hainque@adacore.com>
+-
+-      * g-alleve.adb (lvx, stvx): Ceil-Round the Effective Address to the
+-      closest multiple of VECTOR_ALIGNMENT and not the closest multiple of 16.
+-
+-2006-10-31  Bob Duff  <duff@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * g-awk.adb (Default_Session, Current_Session): Compile this file in
+-      Ada 95 mode, because it violates the new rules for AI-318.
+-
+-      * g-awk.ads: Use overloaded subprograms in every case where we used to
+-      have a default of Current_Session. This makes the code closer to be
+-      correct for both Ada 95 and 2005.
+-
+-      * g-moreex.adb (Occurrence): Turn off warnings for illegal-in-Ada-2005
+-      code, relying on the fact that the compiler generates a warning
+-      instead of an error in -gnatg mode.
+-
+-      * lib-xref.ads (Xref_Entity_Letters): Add entry for new
+-      E_Return_Statement entity kind.
+-      Add an entry for E_Incomplete_Subtype in Xref_Entity_Letters.
+-
+-      * par.adb (P_Interface_Type_Definition): Addition of one formal to
+-      report an error if the reserved word abstract has been previously found.
+-      (SS_End_Type): Add E_Return for new extended_return_statement syntax.
+-
+-      * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve message for
+-      parenthesized range attribute usage
+-      (P_Expression_No_Right_Paren): Add missing comment about error recovery.
+-
+-      * par-ch6.adb (P_Return_Object_Declaration): AI-318: Allow "constant"
+-      in the syntax for extended_return_statement. This is not in the latest
+-      RM, but the ARG is expected to issue an AI allowing this.
+-      (P_Return_Subtype_Indication,P_Return_Subtype_Indication): Remove
+-      N_Return_Object_Declaration. We now use N_Object_Declaration instead.
+-      (P_Return_Object_Declaration, P_Return_Subtype_Indication,
+-      P_Return_Statement): Parse the new syntax for extended_return_statement.
+-
+-      * par-endh.adb (Check_End, Output_End_Deleted, Output_End_Expected,
+-      Output_End_Missing): Add error-recovery code for the new
+-      extended_return_statement syntax; that is, the new E_Return entry on
+-      the scope stack.
+-
+-      * s-auxdec-vms_64.ads, s-auxdec.ads (AST_Handler): Change type from
+-      limited to nonlimited, because otherwise we violate the new Ada 2005
+-      rules about returning limited types in function Create_AST_Handler in
+-      s-asthan.adb.
+-
+-      * sem.adb (Analyze): Add cases for new node kinds
+-      N_Extended_Return_Statement and N_Return_Object_Declaration.
+-
+-      * sem_aggr.adb (Aggregate_Constraint_Checks): Verify that component
+-      type is in the same category as type of context before applying check,
+-      to prevent anomalies in instantiations.
+-      (Resolve_Aggregate): Remove test for limited components in aggregates.
+-      It's unnecessary in Ada 95, because if it has limited components, then
+-      it must be limited. It's wrong in Ada 2005, because limited aggregates
+-      are now allowed.
+-      (Resolve_Record_Aggregate): Move check for limited types later, because
+-      OK_For_Limited_Init requires its argument to have been resolved.
+-      (Get_Value): When copying the component default expression for a
+-      defaulted association in an aggregate, use the sloc of the aggregate
+-      and not that of the original expression, to prevent spurious
+-      elaboration errors, when the expression includes function calls.
+-      (Check_Non_Limited_Type): Correct code for AI-287, extension aggregates
+-      were missing. We also didn't handle qualified expressions. Now also
+-      allow function calls. Use new common routine OK_For_Limited_Init.
+-      (Resolve_Extension_Aggregate): Minor fix to bad error message (started
+-      with space can upper case letter).
+-
+-      * sem_ch3.ads, sem_ch3.adb (Create_Constrained_Components): Set
+-      Has_Static_Discriminants flag
+-      (Record_Type_Declaration): Diagnose an attempt to declare an interface
+-      type with discriminants.
+-      (Process_Range_Expr_In_Decl): Do validity checks on range
+-      (Build_Discriminant_Constraints): Use updated form of
+-      Denotes_Discriminant.
+-      (Process_Subtype): If the subtype is a private subtype whose full view
+-      is a concurrent subtype, introduce an itype reference to prevent scope
+-      anomalies in gigi.
+-      (Build_Derived_Record_Type, Collect_Interface_Primitives,
+-      Record_Type_Declaration):  The functionality of the subprograms
+-      Collect_Abstract_Interfaces and Collect_All_Abstract_Interfaces
+-      is now performed by a single routine.
+-      (Build_Derived_Record_Type): If the type definition includes an explicit
+-      indication of limitedness, then the type must be marked as limited here
+-      to ensure that any access discriminants will not be treated as having
+-      a local anonymous access type.
+-      (Check_Abstract_Overriding): Issue a detailed error message when an
+-      abstract subprogram was not overridden due to incorrect mode of its
+-      first parameter.
+-      (Analyze_Private_Extension_Declaration): Add support for the analysis of
+-      synchronized private extension declarations. Verify that the ancestor is
+-      a limited or synchronized interface or in the generic case, the ancestor
+-      is a tagged limited type or synchronized interface and all progenitors
+-      are either limited or synchronized interfaces.
+-      Derived_Type_Declaration): Check for presence of private extension when
+-      dealing with synchronized formal derived types.
+-      Process_Full_View): Enchance the check done on the usage of "limited" by
+-      testing whether the private view is synchronized.
+-      Verify that a synchronized private view is completed by a protected or
+-      task type.
+-      (OK_For_Limited_Init_In_05): New function.
+-      (Analyze_Object_Declaration): Move check for limited types later,
+-      because OK_For_Limited_Init requires its argument to have been resolved.
+-      Add -gnatd.l --Use Ada 95 semantics for limited function returns,
+-      in order to alleviate the upward compatibility introduced by AI-318.
+-      (Constrain_Corresponding_Record): If the constraint is for a component
+-      subtype, mark the itype as frozen, to avoid out-of-scope references to
+-      discriminants in the back-end.
+-      (Collect_Implemented_Interfaces): Protect the recursive algorithm of
+-      this subprogram against wrong sources.
+-      (Get_Discr_Value, Is_Discriminant): Handle properly references to a
+-      discriminant of limited type completed with a protected type, when the
+-      discriminant is used to constrain a private component of the type, and
+-      expansion is disabled.
+-      (Find_Type_Of_Object): Do not treat a return subtype that is an
+-      anonymous subtype as a local_anonymous_type, because its accessibility
+-      level is the return type of the enclosing function.
+-      (Check_Initialization): In -gnatg mode, turn the error "cannot
+-      initialize entities of limited type" into a warning.
+-      (OK_For_Limited_Init): Return true for generated nodes, since it
+-      sometimes violates the legality rules.
+-      (Make_Incomplete_Declaration): If the type for which an incomplete
+-      declaration is created happens to be the currently visible entity,
+-      preserve the homonym chain when removing it from visibility.
+-      (Check_Conventions): Add support for Ada 2005 (AI-430): Conventions of
+-      inherited subprograms.
+-      (Access_Definition): If this is an access to function that is the return
+-      type of an access_to_function definition, context is a type declaration
+-      and the scope of the anonymous type is the current one.
+-      (Analyze_Subtype_Declaration): Add the defining identifier of a regular
+-      incomplete subtype to the set of private dependents of the original
+-      incomplete type.
+-      (Constrain_Discriminated_Type): Emit an error message whenever an
+-      incomplete subtype is being constrained.
+-      (Process_Incomplete_Dependents): Transform an incomplete subtype into a
+-      corresponding subtype of the full view of the original incomplete type.
+-      (Check_Incomplete): Properly detect invalid usage of incomplete types
+-      and subtypes.
+-
+-2006-10-31  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * g-catiio.ads, g-catiio.adb (Value): New function.
+-      Given an input String, try and parse a valid Time value.
+-
+-2006-10-31  Vincent Celier  <celier@adacore.com>
+-
+-      * g-debpoo.adb (Is_Valid): Correctly compute Offset using
+-      Integer_Address arithmetic, as in Set_Valid.
+-
+-2006-10-31  Arnaud Charlet  <charlet@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * gnatcmd.adb (Process_Link): Use Osint.Executable_Name instead of
+-      handling executable extension manually and duplicating code.
+-
+-      * make.adb: Implement new -S switch
+-      (Gnatmake): Use new function Osint.Executable_Name instead
+-      of handling executable extension manually.
+-
+-      * prj-util.adb (Executable_Of): Make sure that if an Executable_Suffix
+-      is specified, the executable name ends with this suffix.
+-      Take advantage of Osint.Executable_Name instead of duplicating code.
+-
+-      * switch-m.adb: Recognize new gnatmake -S switch
+-
+-      * targparm.ads, targparm.adb (Executable_Extension_On_Target): New
+-      variable.
+-      (Get_Target_Parameters): Set Executable_Extension_On_Target if
+-      available.
+-
+-      * makeusg.adb: Add line for gnatmake -S switch
+-
+-2006-10-31  Vincent Celier  <celier@adacore.com>
+-
+-      * gnatlink.adb (Gnatlink): If gcc is not called with -shared-libgcc,
+-      call it with -static-libgcc, as there are some platforms, such as
+-      Darwin, where one of these two switches is compulsory to link.
+-
+-2006-10-31  Vincent Celier  <celier@adacore.com>
+-
+-      * gnatls.adb: Take into account GPR_PROJECT_PATH, when it is defined,
+-      instead of ADA_PROJECT_PATH, for the project path.
+-      (Gnatls): When displaying the project path directories, use host dir
+-      specs.
+-
+-      * prj-ext.adb (Prj.Ext elaboration): On VMS, only expand relative path
+-      names in the project path, as absolute paths may correspond to
+-      multi-valued VMS logical names.
+-
+-2006-10-31  Vincent Celier  <celier@adacore.com>
+-
+-      * g-os_lib.ads, g-os_lib.adb (Locate_Exec_On_Path): Always return an
+-      absolute path name.
+-      (Locate_Regular_File): Ditto
+-      (Change_Dir): Remove, no longer used
+-      (Normalize_Pathname): Do not use Change_Dir to get the drive letter
+-      on Windows. Get it calling Get_Current_Dir.
+-      (OpenVMS): Remove imported boolean, no longer needed.
+-      (Normalize_Pathname)[VMS]: Do not resolve directory names.
+-      (Pid_To_Integer): New function to convert a Process_Id to  Integer
+-
+-2006-10-31  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-socket.ads, g-socket.adb (Close_Selector): Once the signalling
+-      sockets are closed, reset the R_Sig_Socket and W_Sig_Socket components
+-      to No_Socket.
+-      (Selector_Type): Add default value of No_Socket for R_Sig_Socket and
+-      W_Sig_Socket.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-speche.ads, g-speche.adb: Add special case to recognize misspelling
+-      initial letter o as a zero.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-spipat.adb (S_To_PE): Remove incorrect use of 0 instead of Str'First
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * layout.adb (Layout_Record_Type): Deal with non-static subtypes of
+-      variant records
+-      (Layout_Variant_Record): Retrieve the discriminants from the entity
+-      rather than from the type definition, because in the case of a full
+-      type for a private type we need to take the discriminants from the
+-      partial view.
+-      (Layout_Component_List): When applying the Max operator to variants with
+-      a nonstatic size, check whether either operand is static and scale that
+-      operand from bits to storage units before applying Max.
+-      (Layout_Type): In VMS, if a C-convention access type has no explicit
+-      size clause (and does not inherit one in the case of a derived type),
+-      then the size is reset to 32 from 64.
+-
+-2006-10-31  Vincent Celier  <celier@adacore.com>
+-
+-      * lib-load.adb (Load_Unit): Skip the test for a unit not found when
+-      its file has already been loaded, according to the unit being loaded,
+-      not to the current value of Multiple_Unit_Index.
+-
+-2006-10-31  Thomas Quinot  <quinot@adacore.com>
+-          Eric Botcazou  <ebotcazou@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-
+-      * Makefile.in: Set EH mechanism to ZCX for FreeBSD.
+-      (NO_REORDER_ADAFLAGS): New var defined to -fno-toplevel-reorder if
+-      possible.
+-      (a-except.o): Pass it to the compiler.
+-      (gnatlib-shared-vms): Removed -nostartfiles switch in link step.
+-      (LIBGNAT_TARGET_PAIRS for Windows): Avoid the use of the specific
+-      a-calend-mingw.adb version.
+-
+-      * Makefile.rtl: Added s-dsaser.
+-      Add object entries for Ada.Calendar.[Arithmetic/Formatting/Time_Zones]
+-      (GNATRTL_TASKING_OBJS): Add Ada.Dispatching and
+-      Ada.Dispatching.Round_Robin.
+-      Added new unit Ada.Containers.Restricted_Bounded_Doubly_Linked_Lists
+-
+-      * Make-lang.in: Remove all references to gt-ada-decl.h.
+-      Add concatenation (s-strops/s-sopco3/s-sopco4/s-sopco5) to compiler
+-      sources.
+-      Add dependency on ada/s-restri.o for GNAT1 and GNATBIND objects.
+-      Update dependencies.
+-
+-      * system-freebsd-x86.ads: Make ZCX the default EH mechanism for FreeBSD
+-
+-2006-10-31  Vincent Celier  <celier@adacore.com>
+-
+-      * mlib-utl.adb (Initialized): Remove, no longer used
+-      (Initialize): Remove, no longer used
+-      (Ar): If Ar_Exec is null, get the location of the archive builder and,
+-      if there is one, the archive indexer. Fail if the archive builder cannot
+-      be found.
+-      (Gcc): If the driver path is unknown, get it. Fail if the driver cannot
+-      be found.
+-
+-2006-10-31  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch10.ads, sem_ch10.adb (Check_Redundant_Withs,
+-      Process_Body_Clauses): If the context of a body includes a use clause
+-      for P.Q then a with_clause for P in the same body is not redundant,
+-      even if the spec also has a with_clause on P.
+-      Add missing continuation mark to error msg
+-      (Build_Limited_Views): A limited view of a type is tagged if its
+-      declaration includes a record extension.
+-      (Analyze_Proper_Body): Set Corresponding_Stub field in N_Subunit
+-      node, even if the subunit has errors. This avoids malfunction by
+-      Lib.Check_Same_Extended_Unit in the presence of syntax errors.
+-      (Analyze_Compilation_Unit): Add circuit to make sure we get proper
+-      generation of obsolescent messages for with statements (cannot do
+-      this too early, or we cannot implement avoiding the messages in the
+-      case of obsolescent units withing obsolescent units).
+-      (Install_Siblings): If the with_clause is on a remote descendant of
+-      an ancestor of the current compilation unit, find whether there is
+-      a sibling child unit that is immediately visible.
+-      (Remove_Private_With_Clauses): New procedure, invoked after completing
+-      the analysis of the private part of a nested package, to remove from
+-      visibility the private with_clauses of the enclosing package
+-      declaration.
+-      (Analyze_With_Clause): Remove Check_Obsolescent call, this checking is
+-      now centralized in Generate_Reference.
+-      (Install_Limited_Context_Clauses): Remove superfluous error
+-      message associated with unlimited view visible through use
+-      and renamings. In addition, at the point in which the error
+-      is reported, we add the backslash to the text of the error
+-      to ensure that it is reported as a single error message.
+-      Use new // insertion for some continuation messages
+-      (Expand_Limited_With_Clause): Use copy of name rather than name itself,
+-      to create implicit with_clause for parent unit mentioned in original
+-      limited_with_clause.
+-      (Install_Limited_With_Unit): Set entity of parent identifiers if the
+-      unit is a child unit. For ASIS queries.
+-      (Analyze_Subunit): If the subunit appears within a child unit, make all
+-      ancestor child units directly visible again.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * par-ch10.adb (P_Context_Clause): Minor error message fix
+-
+-2006-10-31  Hristian Kirtchev  <kirtchev@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * par-ch12.adb: Grammar update and cleanup.
+-      (P_Formal_Type_Definition, P_Formal_Derived_Type_Definition): Add
+-      support for synchronized derived type definitions.
+-      Add the new actual Abstract_Present to every call to
+-      P_Interface_Type_Definition.
+-      (P_Formal_Object_Declarations): Update grammar rules. Handle parsing of
+-      a formal object declaration with an access definition or a subtype mark
+-      with a null exclusion.
+-      (P_Generic_Association): Handle association with box, and others_choice
+-      with box, to support Ada 2005 partially parametrized formal packages.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * par-ch3.adb (P_Range_Or_Subtype_Mark): Check for bad parentheses
+-      (P_Type_Declaration): Remove barrier against the reserved word "limited"
+-      after "abstract" to give support to the new syntax of AARM 3.4 (2/2).
+-      (P_Type_Declaration): Minor code cleanup. Add support for synchronized
+-      private extensions.
+-      (P_Type_Declaration): Add the new actual Abstract_Present to every call
+-      to P_Interface_Type_Definition.
+-      (P_Interface_Type_Definition): Addition of one formal to report an error
+-      if the reserved word abstract has been previously found.
+-      (P_Identifier_Declarations): Update grammar rules. Handle parsing of an
+-      object renaming declaration with an access definition or subtype mark
+-      with a possible null exclusion.
+-
+-      * par-ch9.adb: Minor error msg fix
+-
+-      * par-load.adb: Add missing continuation mark to error msg
+-
+-      * par-tchk.adb: (Wrong_Token): Code cleanup, use concatenation
+-
+-2006-10-31  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-dect.adb (Parse_Attribute_Declaration): Do not issue warning for
+-      unknown attribute in unknown package or in package that does not need
+-      to be checked.
+-      (Parse_Package_Declaration): Do not issue warning for unknown package in
+-      quiet output.
+-
+-2006-10-31  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-makr.adb (Packages_To_Check_By_Gnatname): New global constant
+-      (Make): Call Parse with Packages_To_Check_By_Gnatname for parameter
+-      Packages_To_Check.
+-
+-2006-10-31  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-nmsc.adb (Check_Ada_Name): For children of package A, G, I and S
+-      on VMS, change "__" to '.' before checking the name.
+-      (Record_Ada_Source): Always add the source file name in the list of
+-      of sources, even if it is not the first time, as it is for another
+-      source index.
+-      (Get_Unit): Replace both '_' (after 'a', 'g', 'i' or 's') with a single
+-      dot, instead of replacing only the first '_'.
+-
+-      * prj-part.adb (Parse): Convert project file path to canonical form
+-
+-      * prj-proc.adb (Recursive_Process): Make sure that, when a project is
+-      extended, the project id of the project extending it is recorded in its
+-      data, even when it has already been processed as an imported project.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * repinfo.adb (List_Entities): Don't list entities from renaming
+-      declarations.
+-
+-2006-10-31  Arnaud Charlet  <charlet@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * restrict.ads, restrict.adb (Restriction_Active): Now returns False if
+-      only a restriction warning is active for the given restriction. This is
+-      desirable because we do not want to modify code in the case where only
+-      a warning is set.
+-      (Set_Profile_Restrictions): Make sure that a Profile_Warnings never
+-      causes overriding of real restrictions.
+-      Take advantage of new No_Restrictions constant.
+-
+-      * raise.h: (__gnat_set_globals): Change profile.
+-
+-2006-10-31  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * rtsfind.adb: Remove s-polint from comment as it exists no more.
+-
+-      * rtsfind.ads:
+-      Move entity RE_Get_Active_Partition_Id to package System.DSA_Services.
+-      Move all the entities in obsolete package System.PolyORB_Interface to
+-      System.Partition_Interface.
+-      (RE_Storage_Size): New function in System.Tasking.
+-      (RE_Get_Ceiling): New entity.
+-      (RE_Set_Ceiling): New entity.
+-      (RO_PE_Get_Ceiling): New entity.
+-      (RO_RE_Set_Ceiling): New entity.
+-      (Inherit_CPP_DT): New entity
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * scng.adb (Scan, case of numeric literal): Better msg for identifier
+-      starting with a digit.
+-
+-2006-10-31  Ed Schonberg  <schonberg@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * sem_attr.ads, sem_attr.adb (Analyze_Access_Attribute): Diagnose
+-      properly an attempt to apply Unchecked_Access to a protected operation.
+-      (OK_Self_Reference): New subprogram to check the legality of an access
+-      attribute whose prefix is the type of an enclosing aggregate.
+-      Generalizes previous mechanism to handle attribute references nested
+-      arbitrarily deep within the aggregate.
+-      (Analyze_Access_Attribute): An access attribute whose prefix is a type
+-      can appear in an aggregate if this is a default-initialized aggregate
+-      for a self-referential type.
+-      (Resolve_Attribute, case Access): Ditto.
+-      Add support for new implementation defined attribute Stub_Type.
+-      (Eval_Attribute, case Attribute_Stub_Type): New case.
+-      (Analyze_Attribute, case Attribute_Stub_Type): New case.
+-      (Stream_Attribute_Available): Implement using new subprogram from
+-      sem_cat, Has_Stream_Attribute_Definition, instead of incorrect
+-      Has_Specified_Stream_Attribute flag.
+-      Disallow Storage_Size and Storage_Pool for access to subprogram
+-      (Resolve_Attribute, case 'Access et al): Take into account anonymous
+-      access types of return subtypes in extended return statements. Remove
+-      accessibility checks on anonymous access types when Unchecked_Access is
+-      used.
+-      (Analyze_Attribute): Add support for the use of 'Class to convert
+-      a class-wide interface to a tagged type.
+-      Add support for the attribute Priority.
+-      (Resolve_Attribute, case Attribute_Access): For Ada_05, add test for
+-      whether the designated type is discriminated with a constrained partial
+-      view and require static matching in that case.
+-      Add local variable Des_Btyp. The Designated_Type
+-      of an access to incomplete subtype is either its non-limited view if
+-      coming from a limited with or its etype if regular incomplete subtype.
+-
+-      * sem_cat.ads, sem_cat.adb (Validate_Remote_Access_To_Class_Wide_Type):
+-      Fix predicate to identify and allow cases of (expander-generated)
+-      references to tag of designated object of a RACW.
+-      (Validate_Static_Object_Name): In Ada 2005, a formal object is
+-      non-static, and therefore cannot appear as a primary in a preelaborable
+-      package.
+-      (Has_Stream_Attribute_Definition): New subprogram, abstracted from
+-      Has_Read_Write_Attributes.
+-      (Has_Read_Write_Attributes): Reimplement in termes of
+-      Has_Stream_Attribute_Definition.
+-      (Missing_Read_Write_Attributes): When checking component types in a
+-      record, unconditionally call Missing_Read_Write_Attributes recursively
+-      (remove guard checking for Is_Record_Type / Is_Access_Type).
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_ch11.adb (Analyze_Handled_Statements): Move final test for
+-      useless assignments here and conditionalize it on absence of exception
+-      handlers.
+-      (Analyze_Exception_Handlers): Small code reorganization of error
+-      detection code, for new handling of formal packages.
+-
+-2006-10-31  Ed Schonberg  <schonberg@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * sem_ch12.ads, sem_ch12.adb (Save_References): If node is an operator
+-      that has been constant-folded, preserve information of original tree,
+-      for ASIS uses.
+-      (Analyze_Formal_Derived_Type): Set the limited present flag of the newly
+-      generated private extension declaration if the formal derived type is
+-      synchronized. Carry synchronized present over to the generated private
+-      extension.
+-      (Validate_Derived_Type_Instance): Ensure that the actual of a
+-      synchronized formal derived type is a synchronized tagged type.
+-      (Instantiate_Formal_Package): When creating the instantiation used to
+-      validate the actual package of a formal declared without a box, check
+-      whether the formal itself depends on a prior actual.
+-      (Instantiate_Formal_Subprogram): Create new entities for the defining
+-      identifiers of the formals in the renaming declaration, for ASIS use.
+-      (Instantiate_Formal_Subprogram, Instantiate_Formal_Type): When creating
+-      a renaming declaration or a subtype declaration for an actual in an
+-      instance, capture location information of declaration in generic, for
+-      ASIS use.
+-      (Instantiate_Formal_Package): Add comments on needed additional tests.
+-      AI-317 (partial parametrization) is fully implemented.
+-      (Validate_Private_Type_Instance): Add check for actual which
+-      must have preelaborable initialization
+-      Use new // insertion for some continuation messages
+-      (Analyze_Formal_Object_Declaration): Change usage of Expression to
+-      Default_Expression. Add type retrieval when the declaration has an
+-      access definition. Update premature usage of incomplete type check.
+-      (Check_Access_Definition): New subsidiary routine. Check whether the
+-      current compilation version is Ada 05 and the supplied node has an
+-      access definition.
+-      (Instantiate object): Alphabetize local variables. Handle the creation
+-      of new renaming declarations with respect to the kind of definition
+-      used - either an access definition or a subtype mark. Guard against
+-      unnecessary error message in the context of anonymous access types after
+-      they have been resolved. Add check for required null exclusion in a
+-      formal object declaration.
+-      (Switch_View): A private subtype of a non-private type needs to be
+-      switched (the base type can have been switched without its private
+-      dependents because of the last branch of Check_Private_View.
+-      (Check_Private_View): Do not recompute Base_Type (T), instead use cached
+-      value from BT.
+-      (Instantiate_Type): Emit an error message whenever a class-wide type of
+-      a tagged incomplete type is used as a generic actual.
+-      (Find_Actual_Type): Extend routine to handle a component type in a child
+-      unit that is imported from a formal package in a parent.
+-      (Validate_Derived_Type_Instance): Check that analyzed formal and actual
+-      agree on constrainedness, rather than checking against ultimate ancestor
+-      (Instantiate_Subprogram_Body): Create a cross-reference link to the
+-      generic body, for navigation purposes.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-
+-      * sem_ch13.adb: Storage pool cannot be given for access to subprogram
+-      type.
+-      (New_Stream_Subprogram): When processing an attribute definition clause
+-      for a stream-oriented subprogram, record an entity node occurring at
+-      the point of clause to use for checking the visibility of the clause,
+-      as defined by 8.3(23) as amended by AI-195.
+-      (New_Stream_Subprogram): New procedure, factoring behaviour from both
+-       New_Stream_Function and New_Stream_Procedure.
+-      (New_Stream_Function, New_Stream_Procedure): Removed.
+-      (Analyze_Attribute_Definition_Clause, case Address): Check new
+-      Alignment_Check check
+-
+-2006-10-31  Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_ch4.adb (Try_Primitive_Operation): Code cleanup to ensure that we
+-      generate the same errors compiling under -gnatc.
+-      (Try_Object_Operation): If no candidate interpretation succeeds, but
+-      there is at least one primitive operation with the right name, report
+-      error in call rather than on a malformed selected component.
+-      (Analyze_Selected_Component): If the prefix is an incomplete type from
+-      a limited view, and the full view is available, use the full view to
+-      determine whether this is a prefixed call to a primitive operation.
+-      (Operator_Check): Verify that a candidate interpretation is a binary
+-      operation before checking the type of its second formal.
+-      (Analyze_Call): Add additional warnings for function call contexts not
+-      yet supported.
+-      (Analyze_Allocator): Move the check for "initialization not allowed for
+-      limited types" after analyzing the expression. This is necessary,
+-      because OK_For_Limited_Init looks at the structure of the expression.
+-      Before analysis, we don't necessarily know what sort of expression it
+-      is. For example, we don't know whether F(X) is a function call or an
+-      indexed component; the former is legal in Ada 2005; the latter is not.
+-      (Analyze_Allocator): Correct code for AI-287 -- extension aggregates
+-      were missing. We also didn't handle qualified expressions. Now also
+-      allow function calls. Use new common routine OK_For_Limited_Init.
+-      (Analyze_Type_Conversion): Do not perform some legality checks in an
+-      instance, because the error message will be redundant or spurious.
+-      (Analyze_Overloaded_Selected_Component): Do not do style check when
+-      setting an entity, since we do not know it is the right entity yet.
+-      (Analyze_Selected_Component): Move Generate_Reference call to Sem_Res
+-      (Analyze_Overloaded_Selected_Component): Same change
+-      (Analyze_Selected_Component): Remove unnecessary prefix type retrieval
+-      since regular incomplete subtypes are transformed into corresponding
+-      subtypes of their full views.
+-      (Complete_Object_Operation): Treat name of transformed subprogram call
+-      as coming from source, for browsing purposes.
+-      (Try_Primitive_Operation): If formal is an access parameter, compare
+-      with base type of object to determine whether it is a primitive
+-      operation.
+-      (Operator_Check): If no interpretation of the operator matches, check
+-      whether a use clause on any candidate might make the operation legal.
+-      (Try_Class_Wide_Operation): Check whether the first parameter is an
+-      access type whose designated type is class-wide.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * sem_ch5.ads, sem_ch5.adb (Analyze_Loop_Statement): Add circuit to
+-      warn on infinite loops.
+-      Add \\ to some continuation messages
+-      (Analyze_Assignment_Statement): Call Warn_On_Useless_Assignment
+-      (Process_Bounds): If the bounds are integer literals that result from
+-      constant-folding, and they carry a user-defined type, preserve that type
+-      rather than treating this as an integer range.
+-      (Analyze_Exit_Statement): Test for E_Return_Statement in legality check.
+-      (Analyze_Goto_Statement): Test for E_Return_Stateemnt in legality check.
+-      (Analyze_Assignment_Statement): Add call to Check_Elab_Assign for
+-      left hand side of assignment.
+-      (Analyze_Assignment): Add suport to manage assigments to the attribute
+-      priority of a protected object.
+-      (Check_Possible_Current_Value_Condition): Allow fully qualified names
+-      not just identifiers.
+-      (Check_Possible_Current_Value_Condition): Acquire left operand of AND
+-      or AND THEN for possible tracking.
+-      (Analyze_Iteration_Scheme): Check for setting Current_Value for the
+-      case of while loops so we can track values in the loop body.
+-
+-2006-10-31  Ed Schonberg  <schonberg@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-
+-      * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Declaration): A null
+-      procedure cannot be a protected operation (it is a basic_declaration,
+-      not a subprogram_declaration).
+-      (Check_Overriding_Indicator): Rename formal Does_Override to Overridden_
+-      Subp. Add logic for entry processing.
+-      (Check_Synchronized_Overriding): New procedure in New_Overloaded_Entity.
+-      Determine whether an entry or subprogram of a protected or task type
+-      override an inherited primitive of an implemented interface.
+-      (New_Overloaded_Entity): Add calls to Check_Synchronized_Overriding.
+-      Update the actual used in calls to Check_Overriding_Indicator.
+-      (Analyze_Generic_Subprogram_Body): If the subprogram is a child unit,
+-      generate the proper reference to the parent unit, for cross-reference.
+-      (Analyze_Subprogram_Declaration): Protect Is_Controlling_Formal with
+-      Is_Formal.
+-      Add -gnatd.l --Use Ada 95 semantics for limited function returns,
+-      (Add_Extra_Formal): Revise procedure to allow passing in associated
+-      entity, scope, and name suffix, and handle setting of the new
+-      Extra_Formals field.
+-      (Create_Extra_Formals): Change existing calls to Add_Extra_Formal to
+-      pass new parameters. Add support for adding the new extra access formal
+-      for functions whose calls are treated as build-in-place.
+-      (Analyze_A_Return_Statement): Correct casing in error message.
+-      Move Pop_Scope to after Analyze_Function_Return, because an extended
+-      return statement really is a full-fledged scope. Otherwise, visibility
+-      doesn't work right. Correct use of "\" for continuation messages.
+-      (Analyze_Function_Return): Call Analyze on the Obj_Decl, rather than
+-      evilly trying to call Analyze_Object_Declaration directly. Otherwise,
+-      the node doesn't get properly marked as analyzed.
+-      (Analyze_Subprogram_Body): If subprogram is a function that returns
+-      an anonymous access type that denotes a task, build a Master Entity
+-      for it.
+-      (Analyze_Return_Type): Add call to Null_Exclusion_Static_Checks. Verify
+-      proper usage of null exclusion in a result definition.
+-      (Process_Formals): Code cleanup and new error message.
+-      (Process_Formals): Detect incorrect application of null exclusion to
+-      non-access types.
+-      (Conforming_Types): Handle conformance between [sub]types and itypes
+-       generated for entities that have null exclusions applied to them.
+-      (Maybe_Primitive_Operation): Add an additional type retrieval when the
+-       base type is an access subtype. This case arrises with null exclusions.
+-      (New_Overloaded_Entity): Do not remove the overriden entity from the
+-      homonym chain if it corresponds with an abstract interface primitive.
+-      (Process_Formals): Replace membership test agains Incomplete_Kind with a
+-      call to the synthesized predicate Is_Incomplete_Type.
+-      (Analyze_Subprogram_Body): Check wrong placement of abstract interface
+-      primitives.
+-      (Analyze_Subprogram_Declaration): Check that abstract interface
+-      primitives are abstract or null.
+-      (Analyze_Subprogram_Specification): Remove previous check for abstract
+-      interfaces because it was not complete.
+-      (Has_Interface_Formals): Removed.
+-
+-2006-10-31  Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_ch7.adb (Check_Anonymous_Access_Types): New procedure, subsidiary
+-      of Analyze_Package_Body, to create Itype references for anonymous
+-      access types created in the package declaration, whose designated types
+-      may have only a limited view.
+-      (Analyze_Package_Specification): For the private part of a nested
+-      package, install private_with_clauses of enclosing compilation unit if
+-      we are in its visible part.
+-      (Declare_Inherited_Private_Subprograms): Complete barrier
+-      to ensure that the primitive operation has an alias to some parent
+-      primitive. This is now required because, after the changes done for the
+-      implementation of abstract interfaces, the contents of the list of
+-      primitives has entities whose alias attribute references entities of
+-      such list of primitives.
+-      (Analyze_Package_Specification): Simplify code that handles parent units
+-      of instances and formal packages.
+-      (Uninstall_Declarations): Check the convention consistency among
+-      primitive overriding operations of a tagged record type.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch8.adb: Minor error msg rewording
+-      (Undefined): When checking for misspellings, invert arguments (to get
+-      expected and found set right)
+-      (Analyze_Subprogram_Renaming): Propagate Is_Pure, Is_Preelaborated
+-      (Analyze_Generic_Renaming): Same fix
+-      (Use_One_Package): Do not take into account the internal entities of
+-      abstract interfaces during the analysis of entities that are marked
+-      as potentially use-visible.
+-      (Find_Type): Handle the case of an attribute reference for
+-      implementation defined attribute Stub_Type (simply let the analysis of
+-      the attribute reference rewrite it).
+-      (Use_One_Type, End_Use_Type): Reject a reference to a limited view of a
+-      type that appears in a Use_Type clause.
+-      (Analyze_Object_Renaming): Add support for renaming of the Priority
+-      attribute.
+-      (Find_Type): In Ada 2005, a task type can be used within its own body,
+-      when it appears in an access definition.
+-      (Analyze_Object_Renaming): Remove warning on null_exclusion.
+-      (Analyze_Object_Renaming): Introduce checks for required null exclusion
+-       in a formal object declaration or in a subtype declaration.
+-      (Analyze_Subprogram_Renaming): Add call to Check_Null_Exclusion.
+-      (Check_Null_Exclusion): New local routine to
+-      Analyze_Subprogram_Renaming. Check whether the formals and return
+-      profile of a renamed subprogram have required null exclusions when
+-      their counterparts of the renaming already impose them.
+-      (In_Generic_Scope): New local routine to Analyze_Object_Renaming.
+-      Determine whether an entity is inside a generic scope.
+-      (In_Open_Scope): First pass of documentation update.
+-      (Find_Expanded_Name): Add support for shadow entities associated with
+-      limited withed packages. This is required to handle nested packages.
+-      (Analyze_Package_Renaming): Remove the restriction imposed by AI-217
+-      that makes a renaming of a limited withed package illegal.
+-
+-2006-10-31  Hristian Kirtchev  <kirtchev@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch9.adb (Analyze_Protected_Definition): Remove call to
+-      Check_Overriding_Indicator.
+-      (Analyze_Task_Definition): Ditto.
+-      (Analyze_Protected_Type, Analyze_Task_Type): Code cleanup.
+-      (Check_Overriding_Indicator): To find overridden interface operation,
+-      examine only homonyms that have an explicit subprogram declaration, not
+-      inherited operations created by an unrelated type derivation.
+-      (Check_Overriding_Indicator): When checking for the presence of "null"
+-      in a procedure, ensure that the queried node is a procedure
+-      specification.
+-      (Matches_Prefixed_View_Profile): Add mechanism to retrieve the parameter
+-      type when the formal is an access to variable.
+-      (Analyze_Protected_Type): Add check for Preelaborable_Initialization
+-      (Analyze_Task_Type): Same addition
+-      (Analyze_Entry_Declaration): Call Generate_Reference_To_Formals, to
+-      provide navigation capabilities for entries.
+-
+-2006-10-31  Hristian Kirtchev  <kirtchev@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * sem_disp.adb (Check_Dispatching_Operation): Do not flag subprograms
+-      inherited from an interface ancestor by another interface in the
+-      context of an instance as 'late'.
+-      (Is_Tag_Indeterminate, Propagate_Tag): Handle properly the dereference
+-      of a call to a function that dispatches on access result.
+-      (Check_Dispatching_Operation): In case of late overriding of a primitive
+-      that covers abstract interface subprograms we register it in all the
+-      secondary dispatch tables associated with abstract interfaces.
+-      (Check_Dispatching_Call): Add check that a dispatching call is not made
+-      to a function with a controlling result of a limited type. This is a
+-      current implementation restriction.
+-      (Check_Controlling_Formal): Remove bogus checks for E.2.2(14).
+-      (Check_Dispatching_Operation): Do no emit a warning if the controlling
+-      argument is an interface type that is a generic formal.
+-      (Is_Interface_Subprogram): Removed.
+-      (Check_Dispatching_Operation): If the subprogram is not a dispatching
+-      operation, check the formals to handle the case in which it is
+-      associated with an abstract interface type.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_elab.ads, sem_elab.adb (Check_Elab_Assign): New procedure
+-      Add new calls to this procedure during traversal
+-      (Activate_Elaborate_All_Desirable): Do not set elaboration flag on
+-      another unit if expansion is disabled.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_eval.adb (Compile_Time_Compare): Make use of information from
+-      Current_Value in the conditional case, to evaluate additional
+-      comparisons at compile time.
+-
+-2006-10-31  Ed Schonberg  <schonberg@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_type.adb (Add_One_Interp): If node is an indirect call, preserve
+-      subprogram type to provide better diagnostics in case of ambiguity.
+-      (Covers): Handle coverage of formal and actual anonymous access types in
+-      the context of generic instantiation.
+-      (Covers/Interface_Present_In_Ancestors): Use the base type to manage
+-      abstract interface types; this is required to handle concurrent types
+-      with discriminants and abstract interface types.
+-      (Covers): Include type coverage of both regular incomplete subtypes and
+-      incomplete subtypes of incomplete type visibles through a limited with
+-      clause.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_util.ads, sem_util.adb (Enter_Name): Exclude -gnatwh warning
+-      messages for entities in packages which are not used.
+-      (Collect_Synchronized_Interfaces): New procedure.
+-      (Overrides_Synchronized_Primitive): New function.
+-      (Denotes_Discriminant): Extend predicate to apply to task types.
+-      Add missing continuation marks in error msgs
+-      (Unqualify): New function for removing zero or more levels of
+-      qualification from an expression. There are numerous places where this
+-      ought to be used, but we currently only deal properly with zero or one
+-      level.
+-      (In_Instance); The analysis of the actuals in the instantiation of a
+-      child unit is not within an instantiation, even though the parent
+-      instance is on the scope stack.
+-      (Safe_To_Capture_Value): Exclude the case of variables that are
+-      renamings.
+-      (Check_Obsolescent): Removed
+-      (Is_Aliased_View): A reference to an enclosing instance in an aggregate
+-      is an aliased view, even when rewritten as a reference to the target
+-      object in an assignment.
+-      (Get_Subprogram_Entity): New function
+-      (Known_To_Be_Assigned): New function
+-      (Type_Access_Level): Compute properly the access level of a return
+-      subtype that is an anonymous access type.
+-      (Explain_Limited_Type): Correct use of "\" for continuation messages.
+-      (Is_Transfer): The new extended_return_statement causes a transfer of
+-      control.
+-      (Has_Preelaborable_Initialization): New function
+-      (Has_Null_Exclusion): New function. Given a node N, determine whether it
+-      has a null exclusion depending on its Nkind.
+-      Change Is_Lvalue to May_Be_Lvalue
+-      (May_Be_Lvalue): Extensive additional code to deal with subprogram
+-      arguments (IN parameters are not Lvalues, IN OUT parameters are).
+-      (Safe_To_Capture_Value): Extend functionality so it can be used for
+-      the current value condition case.
+-      (Has_Compatible_Alignment): New function
+-      (Is_Dependent_Component_Of_Mutable_Object): Revise the tests for mutable
+-      objects to handle the Ada 2005 case, where aliasedness no longer implies
+-      that the object is constrained. In particular, for dereferenced names,
+-      the designated object must be assumed to be unconstrained.
+-      (Kill_Current_Values): Properly deal with the case where we encounter
+-      a loop in the scope chain.
+-      (Safe_To_Capture_Value): Do not let a loop stop us from capturing
+-      a value.
+-      (Compile_Time_Constraint_Error): Improve error message in error case
+-
+-      * exp_ch13.adb (Expand_N_Freeze_Entity): Remove the freezing node
+-      associated with entities of abstract interface primitives.
+-      Call Apply_Address_Clause_Check instead of Apply_Alignment_Check
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * s-osinte-tru64.adb:
+-      Mark Asm statements Volatile to prevent warnings (seems a
+-      reasonable change anyway)
+-      Fixes new warnings
+-
+-      * s-mastop-irix.adb: Add Volatile to Asm statements
+-      Suppresses warning, and seems appropriate in any case
+-
+-      * s-osinte-vms.adb: Add Volatile to Asm statement
+-
+-      * s-vaflop-vms-alpha.adb: Add Volatile to Asm statements
+-
+-      * exp_code.ads, exp_code.adb (Asm_Input_Value): Note that Error can be
+-      returned.
+-      Add call to Check_Code_Statement
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-
+-      * sinfo.ads, sinfo.adb (Set_Synchronized_Present,
+-      Synchronized_Present): Add Formal_Derived_Type_Definition and
+-      Private_Extension_Declaration to the list of assertions.
+-      (Is_Entry_Barrier_Function): New flag
+-      (Has_Self_Reference): New flag on aggregates, to indicate that they
+-      contain a reference to the enclosing type, inserted through a default
+-      initialization.
+-      (Next_Rep_Item): Move from Node4 to Node5.
+-      (Entity): Add this field for N_Attribute_Definition_Clause.
+-      (Comes_From_Extended_Return_Statement): New flag on N_Return_Statement
+-      (N_Return_Object_Declaration): Remove this node kind. We now use
+-      N_Object_Declaration instead.
+-      (Actual_Designated_Subtype): Move to a different place to make room in
+-      N_Extended_Return_Statement.
+-      (Procedure_To_Call): Move to a different place to make room in
+-      N_Extended_Return_Statement.
+-      (Return_Type): Removed this field to make room in return statements
+-      (both kinds).
+-      (Return_Statement_Entity): New field in return statements, in part to
+-      replace Return_Type, and in part to support the fact that return
+-      statements are now pushed on the scope stack during semantic analysis.
+-      (Return_Object_Declarations): New field to support extended return
+-      statements.
+-      (N_Extended_Return_Statement): New node for extended_return_statement
+-      nonterminal.
+-      (N_Return_Object_Declaration): New node for part of
+-      extended_return_statement nonterminal. Needed because all the necessary
+-      fields won't fit in N_Extended_Return_Statement.
+-      Generic_associations now carry the Box_Present flag, to indicate a
+-      default for an actual in a partially parametrized formal package.
+-
+-      * snames.h, snames.ads, snames.adb: Add definition for Validity_Check
+-      (Preset_Names): Add entries for Priority_Specific_Dispatching pragma
+-      and for the new predefined dispatching policies: EDF_Across_Priorities,
+-      Non_Preemptive_Within_Priorities, and Round_Robin_Within_Priorities.
+-      Introduce new name Stub_Type for implementation defined attribute.
+-      Add pragma Preelaborable_Initialization
+-      Add entry for Priority attribute.
+-      Add Pragma_Wide_Character_Encoding
+-      (Get_Convention_Name): Given a convention id, this function returns the
+-      corresponding name id from the names table.
+-
+-2006-10-31  Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Bob Duff  <duff@adacore.com>
+-
+-      * sprint.adb (Sprint_Node_Actual, case Parameter_Specification): Do not
+-      print null exclusion twice in the case of an access definition,
+-      Implement new -gnatL switch
+-      Remove N_Return_Object_Declaration. We now use
+-      N_Object_Declaration instead. Implement the case for
+-      N_Extended_Return_Statement. Alphabetize the cases.
+-      Add cases for new nodes N_Extended_Return_Statement and
+-      N_Return_Object_Declaration. The code is not yet written.
+-      Update the output for N_Formal_Object_Declaration
+-      and N_Object_Renaming_Declaration.
+-      (Write_Itype): Account for the case of a modular integer subtype whose
+-      base type is private.
+-
+-2006-10-31  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-restri.ads, s-restri.adb: Mark this package as Preelaborate.
+-      Remove elaboration code, now done in the binder.
+-
+-      * s-rident.ads: Make this unit Preelaborate.
+-      (No_Restrictions): New constant used to clean up code and follow
+-      preelaborate constraints.
+-
+-      * s-stalib.adb:
+-      Add System.Restrictions dependence, referenced directly from the
+-      binder generated file.
+-
+-2006-10-31  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * s-scaval.adb (Initialize): Add new Boolean flag AFloat that is set
+-      True when AAMP extended floating-point is in use (48-bit). Change type
+-      ByteLF to ByteLLF, add new array type ByteLF and condition the size of
+-      the two byte array types on AFloat. Change type of IV_Ilf overlay
+-      variable from Byte8 to ByteLF. Add appropriate initializations of
+-      floating-point overlays for AAMP cases.
+-
+-2006-10-31  Javier Miranda  <miranda@adacore.com>
+-
+-      * s-tpoben.ads, s-tpoben.adb, s-taprob.ads, s-taprob.adb
+-      (Get_Ceiling): New subprogram that returns
+-      the ceiling priority of the protected object.
+-      (Set_Ceiling): New subprogram that sets the new ceiling priority of
+-      the protected object.
+-
+-      * s-tarest.adb: (Create_Restricted_Task): Fix potential CE.
+-
+-      * s-taskin.ads, s-taskin.adb: (Storage_Size): New function.
+-
+-2006-10-31  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * s-tpobop.adb (Requeue_Call): Introduce a dispatching point when
+-      requeuing to the same protected object to give higher priority tasks
+-      the opportunity to execute.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-
+-      * widechar.adb (Is_Start_Of_Wide_Char): In case of brackets encoding,
+-      add more precise check for the character sequence that follows '[' to
+-      avoid possible confusion in case if '[' is the last character of a
+-      string literals.
+-      (Scan_Wide): Always allow brackets encoding
+-
+-2006-10-31  Olivier Hainque  <hainque@adacore.com>
+-
+-      * s-stchop.ads: make this unit preelaborate. This is desirable in
+-      general and made mandatory by the use of this unit by s-taprop which
+-      is itself preelaborate.
+-
+-      * s-stchop-vxworks.adb (Set_Stack_Info, Task_Descriptor type): Add
+-      Td_Events component.
+-
+-2006-10-31  Vincent Celier  <celier@adacore.com>
+-
+-      * a-dirval-vms.adb (Invalid_Character): Specify that digits are allowed
+-      in file names.
+-
+-2006-10-31  Vincent Celier  <celier@adacore.com>
+-
+-      * a-direct.ads, a-direct.adb (Search): New procedure in Ada 2005
+-
+-2006-10-31  Vincent Celier  <celier@adacore.com>
+-
+-      * makegpr.adb (Check_Compilation_Needed): Take into account path names
+-      with spaces.
+-      (Check_Compilation_Needed): When checking a C or C++ source, do not
+-      resolve symbolic links.
+-      (Display_Command): New Boolean parameter Ellipse, defaulted to False.
+-      When not in verbose mode and Ellipse is True, display "..." for the
+-      first argument with Display set to False.
+-      (Build_Global_Archive): Always set Display True for the first object
+-      file. Call Display_Command with Ellipse set to True.
+-
+-2006-10-31  Matt Heaney  <heaney@adacore.com>
+-
+-      * a-crbtgo.ads: Commented each subprogram
+-
+-      * a-crbtgo.adb: Added reference to book from which algorithms were
+-      adapted.
+-
+-      * a-crbtgk.ads, a-crbtgk.adb (Generic_Insert_Post): pass flag to
+-      indicate which child.
+-      (Generic_Conditional_Insert): changed parameter name from "Success" to
+-      "Inserted".
+-      (Generic_Unconditional_Insert_With_Hint): improved algorithm
+-
+-      * a-coorse.adb (Replace_Element): changed parameter name in call to
+-      conditional insert operation.
+-
+-      * a-convec.adb, a-coinve.adb (Insert): removed obsolete comment
+-
+-      * a-cohama.adb (Iterate): manipulate busy-bit here, instead of in
+-      Generic_Iteration
+-
+-      * a-ciorse.adb (Replace_Element): changed parameter name in call to
+-      conditional insert operation.
+-
+-      * a-cihama.adb (Iterate): manipulate busy-bit here, instead of in
+-      Generic_Iteration.
+-
+-      * a-cidlli.ads, a-cidlli.adb (Splice): Position param is now mode in
+-      instead of mode inout.
+-
+-      * a-chtgop.adb (Adjust): modified comments to reflect current AI-302
+-      draft
+-      (Generic_Read): preserve existing buckets array if possible
+-      (Generic_Write): don't send buckets array length anymore
+-
+-      * a-cdlili.ads, a-cdlili.adb (Splice): Position param is now mode in
+-      instead of mode inout.
+-
+-      * a-cihase.adb (Difference): iterate over smaller of Tgt and Src sets
+-      (Iterate): manipulate busy-bit here, instead of in Generic_Iteration
+-
+-      * a-cohase.adb (Difference): iterate over smaller of Tgt and Src sets
+-      (Iterate): manipulate busy-bit here, instead of in Generic_Iteration
+-      (Replace_Element): local operation is now an instantiation
+-
+-      * a-chtgke.ads, a-chtgke.adb (Generic_Conditional_Insert): manually
+-      check current length.
+-      (Generic_Replace_Element): new operation
+-
+-2006-10-31  Doug Rupp  <rupp@adacore.com>
+-
+-      * g-trasym-vms-alpha.adb: Dummy_User_Act_Proc: New function.
+-      Call TBK$SYMBOLIZE without omitting parameters.
+-
+-2006-10-31  Vincent Celier  <celier@adacore.com>
+-
+-      * symbols-processing-vms-ia64.adb,
+-      symbols-processing-vms-alpha.adb (Process): Do not include symbols
+-      that come from generic instantiations in bodies.
+-
+-2006-10-31  Pat Rogers  <rogers@adacore.com>
+-
+-      * a-rttiev.ads, a-rttiev.adb:
+-      This is a significant redesign primarily for the sake of automatic
+-      timer task termination but also to fix a design flaw.
+-      Therefore we are now using an RTS lock, instead of a protected
+-      object, to provide mutual exclusion to the queue of pending events
+-      and the type Timing_Event is no longer a protected type.
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-          Cyrille Comar  <comar@adacore.com>
+-          Ben Brosgol  <brosgol@adacore.com>
+-
+-      * debug.adb:  Update flags documentation
+-
+-      * gnat_ugn.texi: Add documentation for new -gnatwq switch
+-      Clean up documentation for several other warning switches
+-      Clarify how task stack size can be specified with various
+-      versions of Windows.
+-      Add note that -gnatVo includes ranges including loops
+-      Add documentation for -gnatL switch
+-      Add note on elaboration warning for initializing variables
+-      Add documentation for new -gnatwt warning switch
+-      Document new form of pragma Warnings (On|Off, string)
+-      Add comment on use of pragma Warnings to control warnings
+-      Add documentation for -gnatjnn switch
+-      Modify section on interfacing with C for VMS 64-bit.
+-      Add doc for -gnatVe/E
+-      Add documentation of new warning flags -gnatww/-gnatwW
+-      Add warnings about address clause overlays to list of warnings
+-      (Exception Handling Control): Document that the option --RTS must be
+-      used consistently for gcc and gnatbind.
+-      Clarify that inlining is not always possible
+-      Update documentation on pragma Unchecked_Union.
+-
+-      * gnat_rm.texi:
+-      Add documentation for new extended version of pragma Obsolescent
+-      Add documentation for implementation defined attribute 'Stub_Type.
+-      Add note on use of Volatile in asm statements
+-      Add documentation on use of pragma Unreferenced in context clause
+-      Document new form of pragma Warnings (On|Off, pattern)
+-      Document pragma Wide_Character_Encoding
+-      Add note that pragma Restrictions (No_Elaboration_Code) is only fully
+-      enforced if code generation is active.
+-      Add section on pragma Suppress to document GNAT specific check
+-      Alignment_Check
+-      Clarify difference between No_Dispatching_Calls & No_Dispatch.
+-      Add documentation for pragma Restrictions (No_Elaboration_Code)
+-
+-      * gnat-style.texi:
+-      Add comments on layout of subprogram local variables in the
+-      presence of nested subprograms.
+-
+-      * ug_words: Resync.
+-
+-      * elists.ads: Minor reformatting
+-      Node returns Node_Or_Entity_Id (doc change only)
+-
+-      * xgnatugn.adb: Replace ACADEMICEDITION with GPLEDITION
+-
+-      * g-arrspl.ads (Create): Update comments.
+-
+-      * sem.ads: Add details on the handling of the scope stack.
+-
+-      * usage.adb: Update documentation.
+-
+-      * validsw.ads, validsw.adb:
+-      Add definition of Validity_Check_Components and implement -gnatVe/E
+-
+-      * vms_data.ads: Add missing VMS qualifiers.
+-
+-      * s-addope.ads: Add documentation on overflow and divide by zero
+-
+-2006-10-31  Robert Dewar  <dewar@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-
+-      * fmap.adb: Put routines in alpha order
+-
+-      * g-boumai.ads: Remove redundant 'in' keywords
+-
+-      * g-cgi.adb: Minor reformatting
+-
+-      * g-cgi.ads: Remove redundant 'in' keywords
+-
+-      * get_targ.adb: Put routines in alpha order
+-
+-      * prj-attr.ads: Minor reformatting
+-
+-      * s-atacco.ads: Minor reformatting
+-
+-      * scn.adb: Put routines in alpha order
+-
+-      * sinput-l.adb: Minor comment fix
+-
+-      * sinput-p.adb: Minor comment fix
+-
+-      * s-maccod.ads: Minor reformatting
+-
+-      * s-memory.adb: Minor reformatting
+-
+-      * s-htable.adb: Fix typo in comment.
+-
+-      * s-secsta.adb: Minor comment update.
+-
+-      * s-soflin.adb: Minor reformatting
+-
+-      * s-stoele.ads:
+-      Add comment about odd qualification in Storage_Offset declaration
+-
+-      * s-strxdr.adb:
+-      Remove unnecessary 'in' keywords for formal parameters.
+-
+-      * treeprs.adt: Minor reformatting
+-
+-      * urealp.adb: Put routines in alpha order
+-
+-      * s-wchcon.ads, s-wchcon.adb (Get_WC_Encoding_Method): New version
+-      taking string.
+-
+-      * s-asthan-vms-alpha.adb: Remove redundant 'in' keywords
+-
+-      * g-trasym-vms-ia64.adb: Remove redundant 'in' keywords
+-
+-      * env.c (__gnat_unsetenv): Unsetenv is unavailable on LynxOS, so
+-      workaround as on other platforms.
+-
+-      * g-eacodu-vms.adb: Remove redundant 'in' keywords
+-      * g-expect-vms.adb: Remove redundant 'in' keywords
+-
+-      * gnatdll.adb (Add_Files_From_List): Handle Name_Error and report a
+-      clear error message if the list-of-files file cannot be opened.
+-
+-      * g-thread.adb (Unregister_Thread_Id): Add use type Thread_Id so the
+-      equality operator is always visible.
+-
+-      * lang.opt: Woverlength-strings: New option.
+-
+-      * nmake.adt:
+-      Update copyright, since nmake.ads and nmake.adb have changed.
+-
+-      * osint-b.ads, osint-b.adb (Time_From_Last_Bind): removed function .
+-      (Binder_Output_Time_Stamps_Set): removed.
+-      (Old_Binder_Output_Time_Stamp): idem.
+-      (New_Binder_Output_Time_Stamp): idem.
+-      (Recording_Time_From_Last_Bind): idem.
+-      (Recording_Time_From_Last_Bind): Make constant.
+-
+-      * output.ads, output.adb (Write_Str): Allow LF characters
+-      (Write_Spaces): New procedure
+-
+-      * prepcomp.adb (Preproc_Data_Table): Change Increment from 5% to 100%
+-
+-      * inline.adb: Minor reformatting
+-
+-      * s-asthan-vms-alpha.adb: Remove redundant 'in' keywords
+-
+-      * s-mastop-vms.adb: Remove redundant 'in' keywords
+-
+-      * s-osprim-vms.adb: Remove redundant 'in' keywords
+-
+-      * s-trafor-default.adb: Remove redundant 'in' keywords
+-
+-      * 9drpc.adb: Remove redundant 'in' keywords
+-
+-      * s-osinte-mingw.ads: Minor reformatting
+-
+-      * s-inmaop-posix.adb: Minor reformatting
+-
+-      * a-direio.ads: Remove quotes from Compile_Time_Warning message
+-
+-      * a-exexda.adb: Minor code reorganization
+-
+-      * a-filico.adb: Minor reformatting
+-
+-      * a-finali.adb: Minor reformatting
+-
+-      * a-nudira.ads: Remove quote from Compile_Time_Warning message
+-
+-      * a-numeri.ads: Minor reformatting
+-
+-      * a-sequio.ads: Remove quotes from Compile_Time_Warning message
+-
+-      * exp_pakd.ads: Fix obsolete comment
+-
+-      * a-ztenau.adb, a-ztenio.adb, a-wtenau.adb, a-tienau.adb,
+-      a-wtenio.adb (Put): Avoid assuming low bound of string is 1.
+-      Probably not a bug, but certainly neater and more efficient.
+-
+-      * a-tienio.adb: Minor reformatting
+-
+-      * comperr.adb (Compiler_Abort): Call Cancel_Special_Output at start
+-      Avoid assuming low bound of string is 1.
+-
+-      * gnatbind.adb: Change Bindusg to package and rename procedure as
+-      Display, which now ensures that it only outputs usage information once.
+-      (Scan_Bind_Arg): Avoid assuming low bound of string is 1.
+-
+-      * g-pehage.adb (Build_Identical_Keysets): Replace use of 1 by
+-      Table'First.
+-
+-      * g-regpat.adb (Insert_Operator): Add pragma Warnings (Off) to kill
+-      warning.
+-      (Match): Add pragma Assert to ensure that Matches'First is zero
+-
+-      * g-regpat.ads (Match): Document that Matches lower bound must be zero
+-
+-      * makeutl.adb (Is_External_Assignment): Add pragma Assert's to check
+-      documented preconditions (also kills warnings about bad indexes).
+-
+-      * mdll.adb (Build_Dynamic_Library): Avoid assumption that Afiles'First
+-      is 1.
+-      (Build_Import_Library): Ditto;
+-
+-      * mdll-utl.adb: (Gnatbind): Avoid assumption that Alis'First = 1
+-
+-      * rtsfind.adb (RTE_Error_Msg): Avoid assuming low bound of string is 1.
+-
+-      * sem_case.adb (Analyze_Choices): Add pragma Assert to check that
+-      lower bound of choice table is 1.
+-
+-      * sem_case.ads (Analyze_Choices): Document that lower bound of
+-      Choice_Table is 1.
+-
+-      * s-imgdec.adb (Set_Decimal_Digits): Avoid assuming low bound of
+-      string is 1.
+-
+-      * uintp.adb (Init_Operand): Document that low bound of Vec is always 1,
+-      and add appropriate Assert pragma to suppress warnings.
+-
+-      * atree.h, atree.ads, atree.adb
+-      Change Elist24 to Elist25
+-      Add definitions of Field28 and Node28
+-      (Traverse_Field): Use new syntactic parent table in sinfo.
+-
+-      * cstand.adb: Change name Is_Ada_2005 to Is_Ada_2005_Only
+-
+-      * itypes.adb: Change name Is_Ada_2005 to Is_Ada_2005_Only
+-
+-      * exp_tss.adb: Put routines in alpha order
+-
+-      * fe.h: Remove redundant declarations.
+-
+-2006-10-23 Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
+-
+-      * utils.c (builtin_function): Rename to gnat_builtin_function.
+-      Move common code to add_builtin_function.
+-      * misc.c (LANG_HOOKS_BUILTIN_FUNCTION): Define as
+-      gnat_builtin_function.
+-      * gigi.h (builtin_function): Rename to gnat_builtin_function.
+-      Change the signature.
+-
+-2006-10-16  Brooks Moses  <bmoses@stanford.edu>
+-
+-      * Makefile.in: Add TEXI2PDF definition.
+-      * Make-lang.in: Add "ada.pdf" target.
+-
+-2006-10-03  Kazu Hirata  <kazu@codesourcery.com>
+-
+-      * decl.c, utils.c: Fix comment typos.
+-      * utils.c: Fix a typo.
+-
+-2006-09-28  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set "const" flag
+-      on "pure" Ada subprograms if SJLJ exceptions are used.
+-      * trans.c (Handled_Sequence_Of_Statements_to_gnu): Set TREE_NO_WARNING
+-      on the declaration node of JMPBUF_SAVE.
+-      * utils.c (init_gigi_decls): Set DECL_IS_PURE on the declaration nodes
+-      of Get_Jmpbuf_Address_Soft and Get_GNAT_Exception.
+-      * utils2.c (build_call_0_expr): Do not set TREE_SIDE_EFFECTS.
+-
+-2006-08-20  Laurent Guerby  <laurent@guerby.net>
+-
+-      PR ada/28716
+-      g-socket.adb (Bind_Socket): Call Set_Address.
+-
+-2006-09-15  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      PR ada/15802
+-      * decl.c (same_discriminant_p): New static function.
+-      (gnat_to_gnu_entity) <E_Record_Type>: When there is a parent
+-      subtype and we have discriminants, fix up the COMPONENT_REFs
+-      for the discriminants to make them reference the corresponding
+-      fields of the parent subtype after it has been built.
+-
+-2006-09-15  Roger Sayle  <roger@eyesopen.com>
+-
+-      PR ada/18817
+-      * utils.c (max_size): Perform constant folding of (A ? B : C) - D
+-      into A ? B - D : C - D when calculating the size of a MINUS_EXPR.
+-
+-2006-09-13  Olivier Hainque  <hainque@adacore.com>
+-
+-      PR ada/29025
+-      * trans.c (gnat_gimplify_expr) <ADDR_EXPR>: When taking the address
+-      of a SAVE_EXPR, just make the operand addressable/not-readonly and
+-      let the common gimplifier code make and propagate a temporary copy.
+-      (call_to_gnu): Clarify the use of SAVE_EXPR for not addressable
+-      out/in-out actuals and defer setting the addressable/readonly bits
+-      to the gimplifier.
+-
+-2006-09-13  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      PR ada/28591
+-      * decl.c (components_to_record): Defer emitting debug info for the
+-      record type associated with the variant until after we are sure to
+-      actually use it.
+-
+-2006-09-13  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      PR ada/21952
+-      * gigi.h (gnat_internal_attribute_table): Declare.
+-      * misc.c (LANG_HOOKS_ATTRIBUTE_TABLE): Define to above.
+-      * utils.c (gnat_internal_attribute_table): New global variable.
+-      (builtin_function): Always call decl_attributes on the builtin.
+-      (handle_const_attribute): New static function.
+-      (handle_nothrow_attribute): Likewise.
+-
+-2006-07-28  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+-
+-      * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
+-
+-2006-06-23  Olivier Hainque  <hainque@adacore.com>
+-
+-      * misc.c (gnat_type_max_size): Look at TYPE_ADA_SIZE if we have
+-      not been able to get a constant upper bound from TYPE_SIZE_UNIT.
+-
+-2006-06-20  James A. Morrison  <phython@gcc.gnu.org>
+-          Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      PR ada/18692
+-      * Make-lang.in: Add check-gnat to lang_checks.  Rename existing
+-      check-gnat into check-acats.
+-
+-2006-06-17  Karl Berry  <karl@gnu.org>
+-
+-      * gnat-style.texi (@dircategory): Use "Software development"
+-      instead of "Programming", following the Free Software Directory.
+-
+-2006-06-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+-
+-      PR ada/27944
+-      * s-taprop-hpux-dce.adb: Delete redundant 'with System.Parameters'.
+-
+-2006-06-06  Laurent Guerby  <laurent@guerby.net>
+-
+-      PR ada/27769
+-      mlib-utl.adb: Use Program_Name.
+-
+-2006-05-28  Kazu Hirata  <kazu@codesourcery.com>
+-
+-      * decl.c, env.c, gigi.h, init.c, initialize.c, raise-gcc.c,
+-      sem_ch13.adb, sysdep.c, targtyps.c, tb-alvxw.c, tracebak.c,
+-      trans.c, utils.c: Fix comment typos.  Follow spelling
+-      conventions.
+-      * gnat_rm.texi, gnat_ugn.texi, : Fix typos.  Follow spelling
+-      conventions.
+-
+-2006-05-19  Nicolas Setton  <setton@adacore.com>
+-
+-      * misc.c (gnat_dwarf_name): New function.
+-      (LANG_HOOKS_DWARF_NAME): Define to it.
+-
+-2006-05-14  H.J. Lu  <hongjiu.lu@intel.com>
+-
+-      * Make-lang.in (ada/decl.o): Replace target.h with $(TARGET_H).
+-      (ada/misc.o): Likewise.
+-      (ada/utils.o): Likewise.
+-
+-2006-04-08  Aurelien Jarno  <aurel32@debian.org>
+-
+-      * Makefile.in: Add Ada support for GNU/kFreeBSD.
+-      * s-osinte-kfreebsd-gnu.ads: New file.
+-
+-2006-03-29  Carlos O'Donell  <carlos@codesourcery.com>
+-
+-      * Make-lang.in: Rename docdir to gcc_docdir.
+-
+-2006-03-04  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * gigi.h (get_ada_base_type): Delete.
+-      * utils2.c (get_ada_base_type): Likewise.
+-      * trans.c (convert_with_check): Operate in the real base type.
+-
+-2006-03-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * uintp.adb (Num_Bits): Handle Uint_Int_First specially.
+-
+-2006-03-02  Richard Sandiford  <richard@codesourcery.com>
+-
+-      * utils.c (create_var_decl): Use have_global_bss_p when deciding
+-      whether to make the decl common.
+-
+-2006-02-20  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
+-
+-      * Make-lang.in (Ada): Remove.
+-      (.PHONY): Remove Ada
+-
+-2006-02-17  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch4.adb (Find_Boolean_Types): If one of the operands is an
+-      aggregate, check the interpretations of the other operand to find one
+-      that may be a boolean array.
+-
+-      (Analyze_Selected_Component): Fix flow-of-control typo in case where
+-      the prefix is a private extension.
+-
+-2006-02-17  Eric Botcazou  <botcazou@adacore.com>
+-
+-      PR ada/26315
+-      * utils2.c (find_common_type): If both input types are BLKmode and
+-      have the same constant size, keep using the first one.
+-
+-      * bindgen.adb: (Gen_Versions_Ada): Revert previous workaround.
+-
+-      * decl.c (gnat_to_gnu_entity): Only check TREE_OVERFLOW for a constant.
+-
+-      * misc.c (gnat_handle_option): New case for -Woverlength-strings.
+-
+-2006-02-17  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
+-      s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
+-      s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-lynxos.adb,
+-      s-taprop-tru64.adb (Set_False, Set_True, Suspend_Until_True): Add
+-      Abort_Defer/Undefer pairs to avoid the possibility of a task being
+-      aborted while owning a lock.
+-
+-2006-02-17  Javier Miranda  <miranda@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_ch4.adb (Expand_N_Allocator): If the allocated object is accessed
+-      through an access to class-wide interface we force the displacement of
+-      the pointer to the allocated object to reference the corresponding
+-      secondary dispatch table.
+-      (Expand_N_Op_Divide): Allow 64 bit divisions by small power of 2,
+-      if Long_Shifts are supported on the target, even if 64 bit divides
+-      are not supported (configurable run time mode).
+-      (Expand_N_Type_Conversion): Do validity check if validity checks on
+-      operands are enabled.
+-      (Expand_N_Qualified_Expression): Do validity check if validity checks
+-      on operands are enabled.
+-
+-2006-02-17  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_dbug.adb (Debug_Renaming_Declaration): Indicate that the entity
+-      must be materialized when the renamed expression is an explicit
+-      dereference.
+-
+-2006-02-17  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * freeze.adb (Statically_Discriminated_Components): Return false if
+-      the bounds of the type of the discriminant are not static expressions.
+-
+-      * sem_aggr.adb (Check_Static_Discriminated_Subtype): Return false if
+-      the bounds of the discriminant type are not static.
+-
+-2006-02-17  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-os_lib.adb (Copy_File): Make sure that if From has an Invalid_FD,
+-      then we close To if it is valid.
+-
+-2006-02-17  Vasiliy Fofanov  <fofanov@adacore.com>
+-
+-      * init.c (facility_resignal_table): new array
+-      (__gnat_default_resignal_p): enhance default predicate to resignal if
+-      VMS condition has one of the predefined facility codes.
+-
+-2006-02-17  Vasiliy Fofanov  <fofanov@adacore.com>
+-
+-      * Makefile.in: Use VMS64 specialized versions of several units in
+-      Interfaces.C hierarchy to be compatible with HP C default size choices.
+-      Use the default version of Ada.Synchronous_Task_Control for VxWorks 653.
+-
+-2006-02-17  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch10.adb (Analyze_With_Clause): If the unit is a subprogram
+-      instantiation, the corresponding entity is the related_instance of the
+-      wrapper package created for the instance.
+-
+-2006-02-17  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch12.adb (Analyze_Package_Instantiation): Inline_Now is false if
+-      the current instance is nested within another instance in a child unit.
+-
+-2006-02-17  Javier Miranda  <miranda@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch3.adb (Build_Discriminated_Subtype): In case of concurrent
+-      type we cannot inherit the primitive operations; we inherit the
+-      Corresponding_Record_Type (which has the list of primitive operations).
+-      (Check_Anonymous_Access_Types): When creating anonymous access types for
+-      access components, use Rewrite in order to preserve the tree structure,
+-      for ASIS use.
+-      (Analyze_Object_Declaration): For limited types with access
+-      discriminants with defaults initialized by an aggregate, obtain
+-      subtype from aggregate as for other mutable types.
+-      (Derived_Type_Declaration): If the derived type is a limited interface,
+-      set the corresponding flag (Is_Limited_Record is not sufficient).
+-
+-2006-02-17  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch6.adb (Build_Body_To_Inline): Enforce the rule that in order
+-      to inline a function that returns an unconstrained type, the return
+-      expression must be the first variable declared in the body of the
+-      function.
+-
+-2006-02-17  Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_res.adb (Resolve_Type_Conversion): In case of conversion to an
+-      abstract interface type, the static analysis is not enough to know if
+-      the interface is implemented or not by the source tagged type. Hence
+-      we must pass the work to the expander to generate the required code to
+-      evaluate the conversion at run-time.
+-      (Resolve_Equality_Op): Do not apply previous
+-      transformation if expansion is disasbled, to prevent anomalies when
+-      locating global references in a generic unit.
+-
+-2006-02-17  Vincent Celier  <celier@adacore.com>
+-
+-      * snames.ads, snames.adb: New standard names for new project attributes:
+-      archive_builder, archive_indexer, compiler_pic_option,
+-      config_body_file_name, config_body_file_name_pattern,
+-      config_file_switches, config_file_unique, config_spec_file_name,
+-      config_spec_file_name_pattern, default_builder_switches,
+-      default_global_compiler_switches, default_language,
+-      dependency_file_kind, global_compiler_switches, include_path,
+-      include_path_file, language_kind, linker_executable_option,
+-      linker_lib_dir_option, linker_lib_name_option, mapping_file_switches,
+-      roots, runtime_project.
+-
+-2006-02-17  Matthew Heaney  <heaney@adacore.com>
+-
+-      * a-convec.ads, a-convec.adb:
+-      (operator "&"): handle potential overflow for large index types
+-      (Insert): removed Contraint_Error when using large index types
+-      (Insert_Space): removed Constraint_Error for large index types
+-      (Length): moved constraint check from Length to Insert
+-
+-      * a-coinve.ads, a-coinve.adb: Stream attribute procedures are declared
+-      as not null access.
+-      Explicit raise statements now include an exception message.
+-      (operator "&"): handle potential overflow for large index types
+-      (Insert): removed Contraint_Error when using large index types
+-      (Insert_Space): removed Constraint_Error for large index types
+-      (Length): moved constraint check from Length to Insert
+-
+-2006-02-17  Robert Dewar  <dewar@adacore.com>
+-
+-      * s-wchcnv.adb: Document handling of [ on output (we do not change
+-      this to ["5B"] and the new comments say why not.
+-
+-      * gnat_ugn.texi:
+-      Add note for -gnatVo that this now includes the cases of type
+-      conversions and qualified expressions.
+-      Add comments on handling of brackets encoding for Text_IO
+-
+-2006-02-17  Ramon Fernandez  <fernandez@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * expander.adb: Fix typo in comment
+-
+-      * exp_pakd.adb: Fix typo
+-      Minor comment reformatting.
+-
+-      * g-dyntab.adb: Minor reformatting
+-
+-      * exp_ch6.adb (Register_Interface_DT_Entry): Traverse the list of
+-      aliased subprograms to look for the abstract interface subprogram.
+-
+-2006-02-16  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * env.c (__gnat_setenv): Use size_t.
+-      (__gnat_unsetenv): Likewise.
+-      (__gnat_clearenv): Likewise.
+-
+-2006-02-16  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * opt.ads (Ada_Version_Default): Set to Ada 2005 by default.
+-
+-2006-02-13  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * a-intnam-os2.ads, a-intnam-unixware.ads, g-soccon-unixware.ads,
+-      g-soliop-unixware.ads, i-os2err.ads, i-os2lib.adb, i-os2lib.ads,
+-      i-os2syn.ads, i-os2thr.ads, s-intman-irix-athread.adb,
+-      s-osinte-aix-fsu.ads, s-osinte-fsu.adb, s-parame-os2.adb,
+-      s-osinte-irix-athread.ads, s-osinte-linux-fsu.ads, s-osinte-os2.adb,
+-      s-osinte-os2.ads, s-osinte-solaris-fsu.ads, s-osinte-unixware.adb,
+-      s-osinte-unixware.ads, s-osprim-os2.adb, s-taprop-irix-athread.adb,
+-      s-taprop-os2.adb, s-tasinf-irix-athread.adb, s-tasinf-irix-athread.ads,
+-      s-taspri-os2.ads, system-os2.ads, system-unixware.ads: Removed,
+-      no longer used.
+-
+-2006-02-13  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * a-taster.adb (Current_Task_Fallback_Handler): Document why explicit
+-      protection against race conditions is not needed.
+-      (Set_Dependents_Fallback_Handler): Add mutual exclusive access to the
+-      fallback handler.
+-      (Set_Specific_Handler): Add mutual exclusive access to the specific
+-      handler.
+-      (Specific_Handler): Add mutual exclusive access for retrieving the
+-      specific handler.
+-
+-      * s-tarest.adb (Task_Wrapper): Add mutual exclusive access to the fall
+-      back handler.
+-
+-      * s-taskin.ads (Common_ATCB): Remove pragma Atomic for
+-      Fall_Back_Handler and Specific_Handler.
+-
+-      * s-tassta.adb (Task_Wrapper): Add mutual exclusive access to the task
+-      termination handlers.
+-      Set two different owerflow depending on the maximal stack size.
+-
+-      * s-solita.adb (Task_Termination_Handler_T): Document why explicit
+-      protection against race conditions is not needed when executing the
+-      task termination handler.
+-
+-2006-02-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * s-gloloc-mingw.adb, a-cgaaso.ads, a-stzmap.adb, a-stzmap.adb,
+-      a-stzmap.ads, a-ztcoio.adb, a-ztedit.adb, a-ztedit.ads, a-ztenau.adb,
+-      a-ztenau.ads, a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
+-      a-comlin.adb, a-decima.adb, a-decima.ads, a-direio.adb, a-direio.adb,
+-      a-direio.adb, a-direio.ads, a-ngcoty.adb, a-ngcoty.ads, a-nuflra.adb,
+-      a-nuflra.ads, a-sequio.adb, a-sequio.ads, a-sequio.ads, a-storio.ads,
+-      a-stream.ads, a-ststio.adb, a-ststio.adb, a-ststio.ads, a-ststio.ads,
+-      a-stwima.adb, a-stwima.adb, a-stwima.ads, a-stwise.adb, a-teioed.adb,
+-      a-teioed.ads, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tasatt.ads,
+-      a-tideau.adb, a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
+-      a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.ads, a-tiflau.adb,
+-      a-tiflau.ads, a-tiflio.adb, a-tiflio.adb, a-tiflio.ads, a-tigeau.ads,
+-      a-tiinau.adb, a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoio.adb,
+-      a-timoio.ads, a-titest.adb, a-titest.ads, a-wtcoio.adb, a-wtdeau.adb,
+-      a-wtdeau.ads, a-wtdeio.adb, a-wtdeio.ads, a-wtedit.adb, a-wtedit.adb,
+-      a-wtedit.ads, a-wtenau.adb, a-wtenau.ads, a-wtenau.ads, a-wtenio.adb,
+-      a-wtenio.ads, a-wtfiio.adb, a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads,
+-      a-wtflio.adb, a-wtflio.adb, a-wtflio.ads, a-wtgeau.ads, a-wtinau.adb,
+-      a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb, a-wtmoau.ads,
+-      a-wtmoio.adb, a-wtmoio.ads, xref_lib.adb, xref_lib.ads, xr_tabls.adb,
+-      g-boubuf.adb, g-boubuf.ads, g-cgideb.adb, g-io.adb, gnatdll.adb,
+-      g-pehage.adb, i-c.ads, g-spitbo.adb, g-spitbo.ads, mdll.adb,
+-      mlib-fil.adb, mlib-utl.adb, mlib-utl.ads, prj-env.adb, prj-tree.adb,
+-      prj-tree.ads, prj-util.adb, s-arit64.adb, s-asthan.ads, s-auxdec.adb,
+-      s-auxdec.ads, s-chepoo.ads, s-direio.adb, s-direio.ads, s-errrep.adb,
+-      s-errrep.ads, s-fileio.adb, s-fileio.ads, s-finroo.adb, s-finroo.ads,
+-      s-gloloc.adb, s-gloloc.ads, s-io.adb, s-io.ads, s-rpc.adb,
+-      s-rpc.ads, s-shasto.ads, s-sequio.adb, s-stopoo.ads, s-stratt.adb,
+-      s-stratt.ads, s-taasde.adb, s-taasde.ads, s-tadert.adb, s-sequio.ads,
+-      s-taskin.adb, s-tasque.adb, s-tasque.ads, s-wchjis.ads, makegpr.adb,
+-      a-coinve.adb, a-cidlli.adb, eval_fat.adb, exp_dist.ads, exp_smem.adb,
+-      fmap.adb, g-dyntab.ads, g-expect.adb, lib-xref.ads, osint.adb,
+-      par-load.adb, restrict.adb, sinput-c.ads, a-cdlili.adb,
+-      system-vms.ads, system-vms-zcx.ads, system-vms_64.ads: Minor
+-      reformatting.
+-
+-2006-02-13  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * a-tasatt.adb, s-osinte-lynxos-3.adb, s-osinte-lynxos.adb,
+-      s-osinte-aix.adb, s-interr-sigaction.adb, s-asthan-vms-alpha.adb,
+-      s-interr-vms.adb, s-intman-vms.adb, s-interr-vxworks.adb,
+-      s-intman-vxworks.adb, s-asthan-vms-alpha.adb, a-ztexio.adb,
+-      a-reatim.adb, a-taside.adb, a-textio.adb, a-witeio.adb, prj-attr.adb,
+-      s-intman-irix.adb, s-intman-solaris.adb, s-intman-posix.adb,
+-      a-dynpri.adb, a-interr.adb, g-dynhta.adb, s-asthan.adb, s-interr.adb,
+-      s-pooglo.adb, s-pooloc.adb, s-poosiz.adb, s-tasren.adb, s-tasuti.adb,
+-      s-tataat.adb, s-tpobop.adb: Remove redundant with clauses.
+-
+-2006-02-13  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-vxworks.ads,
+-      s-osinte-solaris.ads, s-osinte-linux.ads, s-osinte-freebsd.ads,
+-      s-osinte-solaris-posix.ads, s-osinte-lynxos-3.ads, s-osinte-lynxos.ads,
+-      s-osinte-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads,
+-      s-osinte-hpux-dce.ads, s-osinte-linux-hppa.ads,
+-      s-osinte-linux-alpha.ads, s-inmaop-posix.adb (sigset_t_ptr): Removed,
+-      replaced by anonymous access type.
+-      (pthread_sigmask): Now take an access sigset_t
+-
+-      * s-osinte-hpux.ads:  Ditto.
+-      (pthread_mutex_t, pthread_cond_t): Update definitions to support
+-      properly 32 and 64 bit ABIs.
+-
+-2006-02-13  Pascal Obry  <obry@adacore.com>
+-
+-      * s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb,
+-      s-taprop-lynxos.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
+-      s-taprop-linux.adb, s-taprop-solaris.adb,
+-      s-taprop-vms.adb (Create_Task): Remove task adjustment code. This
+-      adjustement is already done when calling this routine.
+-
+-2006-02-13  Pascal Obry  <obry@adacore.com>
+-
+-      * system-mingw.ads (Underlying_Priorities): Update the priority mapping
+-      table to take advantage of the 16 priority levels available on Windows
+-      2000 and XP. On NT4 there are only 7 priority levels, this is properly
+-      supported by this new mapping.
+-
+-2006-02-13  Nicolas Setton  <setton@adacore.com>
+-
+-      * adadecode.h, adadecode.c: (__gnat_decode): Improve support of types.
+-      (get_encoding): New subprogram. Extracts the encodings from an encoded
+-      Ada name.
+-
+-2006-02-13  Pascal Obry  <obry@adacore.com>
+-          Nicolas Roche  <roche@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-
+-      * adaint.h, adaint.c (DIR_SEPARATOR): Use _T() macro for Unicode
+-      support.
+-      (__gnat_try_lock): Add unicode support by using a specific section on
+-      Windows.
+-      (__gnat_get_current_dir): Idem.
+-      (__gnat_open_read): Idem.
+-      (__gnat_open_rw): Idem.
+-      (__gnat_open_create): Idem.
+-      (__gnat_create_output_file): Idem.
+-      (__gnat_open_append): Idem.
+-      (__gnat_open_new): Idem.
+-      (__gnat_file_time_name): Idem.
+-      (__gnat_set_file_time_name): Idem.
+-      (__gnat_stat): Idem.
+-      (win32_no_block_spawn): Idem.
+-      (__gnat_locate_exec_on_path): Idem.
+-      (__gnat_opendir): New routine.
+-      (__gnat_closedir): Idem.
+-      (__gnat_readdir): Add new parameter length (pointer to int). Update
+-      implementation to use it and add specific Win32 code for Unicode
+-      support.
+-      (__gnat_get_env_value_ptr): Remove. Replaced by __gnat_getenv in env.c
+-      (__gnat_set_env_value): Remove. Replaced by __gnat_setenv in env.c
+-      (convert_addresses): Do not define this dummy routine on VMS.
+-
+-      * mingw32.h (GNAT_UNICODE_SUPPORT): New definition, if set the GNAT
+-      runtime Unicode support will be activated.
+-      (S2WS): String to Wide-String conversion. This version just copy a
+-      string in non Unicode version.
+-      (WS2S): Wide-String to String conversion. This version just copy a
+-      string in non Unicode version.
+-
+-      * g-dirope.adb: (Close): Now import __gnat_closedir from adaint.c.
+-      (Open): Now import __gnat_opendir from adaint.c.
+-      (Read): Change the implementation to support unicode characters. It is
+-      not possible to use strlen() on Windows as this version supports only
+-      standard ASCII characters. So the length of the directory entry is now
+-      returned from the imported __gnat_readdir routine.
+-      Update copyright notice.
+-
+-      * s-crtl-vms64.ads, s-crtl.ads: (closedir): Moved to adaint.c.
+-      (opendir): Moved to adaint.c.
+-
+-      * g-os_lib.adb (Copy_Time_Stamp): Fix off-by-one range computation.
+-      (Get_Directory): Fix wrong indexing.
+-      (Getenv): replace __gnat_get_env_value_ptr from adaint.c by
+-      __gnat_getenv from env.c
+-      (Setenv): replace __gnat_set_env_value from adaint.c by __gnat_setenv
+-      from env.c
+-
+-      * env.h, env.c: New file.
+-
+-      * s-scaval.adb (Initialize): Replace __gnat_get_env_value_ptr from
+-      adaint.c by __gnat_getenv from env.c
+-
+-      * s-shasto.adb (Initialize): replace __gnat_get_env_value_ptr from
+-      adaint.c by __gnat_getenv from env.c
+-
+-      * Make-lang.in: Add env.o in the list of C object needed by gnat1
+-      and gnatbind.
+-      Update dependencies.
+-
+-2006-02-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-          Olivier Hainque  <hainque@adacore.com>
+-          Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * ada-tree.h: (TYPE_UNCHECKED_UNION_P): Deleted.
+-
+-      * gigi.h (value_factor_p): Add prototype and description, now public.
+-
+-      * decl.c (gnat_to_gnu_field): Don't attempt BLKmode to integral type
+-      promotion for field with rep clause if the associated size was proven
+-      to be in error.
+-      Expand comments describing attempts to use a packable type.
+-      (gnat_to_gnu_entity) <E_Signed_Integer_Subtype,
+-      E_Floating_Point_Subtype>: Inherit alias set of what we are making a
+-      subtype of to ensure conflicts amongst all subtypes in a hierarchy,
+-      necessary since these are not different types and pointers may
+-      actually designate any subtype in this hierarchy.
+-      (gnat_to_gnu_entity, case E_Record_Type): Always make fields for
+-      discriminants but put them into record only if not Unchecked_Union;
+-      pass flag to components_to_record showing Unchecked_Union.
+-      (make_dummy_type): Use UNION_TYPE only if Unchecked_Union and no
+-      components before variants; don't set TYPE_UNCHECKED_UNION_P.
+-      (components_to_record): New argument UNCHECKED_UNION.
+-      Remove special case code for Unchecked_Union and instead use main code
+-      with small changes.
+-
+-      PR ada/26096
+-      (gnat_to_gnu_entity) <E_Variable>: Do not initialize the aligning
+-      variable with the expression being built, only its inner field.
+-
+-      * trans.c (Handled_Sequence_Of_Statements_to_gnu): Remove call to
+-      emit_sequence_entry_statements.
+-      (emit_sequence_entry_statements, body_with_handlers_p): Delete.
+-      (establish_gnat_vms_condition_handler): Move before
+-      Subprogram_Body_to_gnu.
+-      (Subprogram_Body_to_gnu): On VMS, establish_gnat_vms_condition_handler
+-      for a subprogram if it has a foreign convention or is exported.
+-      (Identifier_to_gnu): Manually unshare the DECL_INITIAL tree when it is
+-      substituted for a CONST_DECL.
+-      (tree_transform, case N_Aggregate): Remove code for UNION_TYPE and pass
+-      Etype to assoc_to_constructor.
+-      (assoc_to_constructor): New argument, GNAT_ENTITY; use it to ignore
+-      discriminants of Unchecked_Union.
+-      (TARGET_ABI_OPEN_VMS): Define to 0 if not defined, so that later uses
+-      don't need cluttering preprocessor directives.
+-      (establish_gnat_vms_condition_handler): New function. Establish the GNAT
+-      condition handler as current in the compiled function.
+-      (body_with_handlers_p): New function. Tell whether a given sequence of
+-      statements node is attached to a package or subprogram body and involves
+-      exception handlers possibly nested within inner block statements.
+-      (emit_sequence_entry_statements): New function, to emit special
+-      statements on entry of sequences when necessary. Establish GNAT
+-      condition handler in the proper cases for VMS.
+-      (Handled_Sequence_Of_Statements_to_gnu): Start block code with
+-      emit_sequence_entry_statements.
+-
+-      * utils2.c (find_common_type): If both input types are BLKmode and
+-      have a constant size, use the smaller one.
+-      (build_simple_component_ref): Also match if FIELD and NEW_FIELD are
+-      the same.
+-
+-      * utils.c (value_factor_p): Make public, to allow uses from other gigi
+-      units.
+-      (create_type_decl): Do not set the flag DECL_IGNORED_P for dummy types.
+-      (convert, case UNION_TYPE): Remove special treatment for unchecked
+-      unions.
+-
+-      PR ada/18659
+-      (update_pointer_to): Update variants of pointer types to unconstrained
+-      arrays by attaching the list of fields of the main variant.
+-
+-2006-02-13  Arnaud Charlet  <charlet@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * a-exexpr.adb, a-exexpr-gcc.adb
+-      (Process_Raise_Exception): Removed, merged with Propagate_Exception.
+-      (Propagate_Exception): Now take extra From_Signal_Handler parameter.
+-      Remove code unused for exception propagation for the compiler itself
+-      from a-except.adb and update to still share separate packages.
+-
+-      * a-except.ads, a-except.adb: Ditto.
+-      Add comments that this version is now used only by the compiler and
+-      other basic tools. The full version that includes the Ada 2005 stuff
+-      is in separate files a-except-2005.ads/adb. The reason is that we do
+-      not want to cause bootstrap problems with compilers not recognizing
+-      Wide_Wide_String.
+-      Add exception reason code PE_Implicit_Return
+-      Add new exception reason code (Null Exception_Id)
+-
+-      * a-except-2005.adb, a-except-2005.ads: New files.
+-
+-      * s-wchcon.ads: (Get_WC_Encoding_Method): New function.
+-
+-      * s-wchcon.adb: New file.
+-
+-      * Makefile.in (LIBGNAT_SRCS): Add tb-gcc.c.
+-      (traceback.o deps): Likewise.
+-      (SPARC/Solaris): Accept sparc[64|v9]-sun-solaris.
+-      Activate build of GMEM instrumentation library on VMS targets.
+-      (gnatlib-sjlj, gnatlib-zcx): Pass EH_MECHANISM to make gnatlib.
+-      Use a-except-2005.ads/adb for all run-time library builds unless
+-      specified otherwise.
+-      [VMS] (LIBGNAT_TARGET_PAIRS_AUX1,2): Rename s-parame-vms.ads to
+-      s-parame-vms-alpha.ads and add s-parame-vms-ia64.ads.
+-      Use s-parame.adb on all native platforms.
+-      Use s-parame-vxworks.adb on all vxworks platforms.
+-      Add env.c env.h in LIBGNAT_SRCS
+-      Add env.o in LIBGNAT_OBJS
+-      (GNATMAKE_OBJS): Remove ctrl_c.o object.
+-      (LIBGNAT_TARGET_PAIRS for x86-vxworks): Use an specialized version of
+-      s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
+-      supports VxWorks 6 RTPs.
+-      (EXTRA_GNATRTL_NONTASKING_OBJS for x86-vxworks): Remove the use of
+-      i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.
+-
+-      * types.h, types.ads (Terminate_Program): New exception
+-      Add comment on modifying multiple versions of a-except.adb when the
+-      table of exception reasons is modified.
+-      Add exception reason code PE_Implicit_Return
+-      Add new exception reason code (Null Exception_Id)
+-
+-      * clean.adb (Initialize): Get the target parameters before checking
+-      if target is OpenVMS. Move the OpenVMS specific code here from package
+-      body elaboration code.
+-
+-2006-02-13  Thomas Quinot  <quinot@adacore.com>
+-          Vincent Celier  <celier@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * ali-util.adb (Get_File_Checksum): Update to account for change in
+-      profile of Initialize_Scanner.
+-
+-      * gprep.adb (Gnatprep): Update to account for change in profile of
+-      Initialize_Scanner.
+-      (Process_One_File): Same.
+-
+-      * lib.adb (Get_Code_Or_Source_Unit): New subprogram factoring the
+-      common code between Get_Code_Unit and Get_Source_Unit. Reimplement
+-      that behaviour using the new Unit information recorded in the source
+-      files table, rather than going through all units every time.
+-      (Get_Code_Unit): Reimplement in terms of Get_Code_Or_Source_Unit.
+-      (Get_Source_Unit): Same.
+-
+-      * prepcomp.adb (Parse_Preprocessing_Data_File): Update to account for
+-      change in profile of Initialize_Scanner.
+-      (Prepare_To_Preprocess): Same.
+-
+-      * lib.ads: Fix typo in comment (templace -> template).
+-
+-      * prj-part.adb (Parse_Single_Project): Update to account for change in
+-      profile of Initialize_Scanner.
+-
+-      * scn.adb (Initialize_Scanner): Account for change in profile of
+-      Scng.Initialize_Scanner: set Current_Source_Unit in Scn instead of Scng.
+-      Also record the association of the given Source_File_Index to the
+-      corresponding Unit_Number_Type.
+-
+-      * scng.ads, scng.adb (Initialize_Scanner.Set_Reserved): Remove
+-      procedure.
+-      (Initialize_Scanner): Call Scans.Initialize_Ada_Keywords.
+-      Remove Unit formal for generic scanner: this formal
+-      is only relevant to Scn (the scanner instance used to parse Ada source
+-      files), not to other instances. Update comment accordingly.
+-      (Scan): Use new function Snames.Is_Keyword_Name.
+-
+-      * sinfo-cn.adb: Fix typo in comment.
+-
+-      * sinput.adb (Unit, Set_Unit): Accessors for new source file attribute
+-      Unit.
+-
+-      * sinput.ads (Source_File_Record): New component Unit, used to capture
+-      the unit identifier (if any) associated to a source file.
+-
+-      * sinput-c.adb, sinput-l.adb (Load_File): Initialize new component
+-      Unit in Source_File_Record.
+-
+-      * sinput-p.adb (Source_File_Is_Subunit): Update to account for change
+-      in profile of Initialize_Scanner.
+-
+-      * scans.adb (Initialize_Ada_Keywords): New procedure
+-
+-      * scans.ads (Initialize_Ada_Keywords): New procedure to initialize the
+-      Ada keywords in the Namet table, without the need to call
+-      Initialize_Scanner.
+-
+-      * snames.adb: Add pragma Ada_2005 (synonym for Ada_05)
+-      (Is_Keyword_Name): New function
+-
+-      * snames.ads: Add subtype Configuration_Pragma_Names
+-      Add pragma Ada_2005 (synonym for Ada_05)
+-      (Is_Keyword_Name): New function
+-
+-      * snames.h: Add pragma Ada_2005 (synonym for Ada_05)
+-
+-2006-02-13  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * a-stwisu.adb, a-strsup.adb, a-stzsup.adb (Super_Slice): Fix slice
+-      index.
+-
+-      * a-stwima.adb (To_Set): Add extra check when N = 0.
+-
+-      * g-regpat.adb: (Match_Simple_Operator): Avoid possible overflow.
+-
+-2006-02-13  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-parame-mingw.adb, s-parame-linux.adb,
+-      s-parame-solaris.adb: Removed, replaced by s-parame.adb
+-
+-      * s-parame-vxworks.ads: Fix typo.
+-
+-      * s-parame-vxworks.adb: New file.
+-
+-      * s-parame.adb: Version now used by all native platforms.
+-      (Default_Stack_Size): Use 2 megs for default stack size and use
+-      __gl_default_stack_size when available.
+-      (Minimum_Stack_Size): Use 12K.
+-
+-      * s-taprop-mingw.adb: Set default stack size linker switch to 2megs.
+-      (Create_Task): Refine implementation taking advantage of the XP stack
+-      size support. On XP, we now create the thread using the flag
+-      STACK_SIZE_PARAM_IS_A_RESERVATION.
+-
+-      * s-osinte-mingw.ads (Stack_Size_Param_Is_A_Reservation): New constant.
+-
+-      * sysdep.c (__gnat_is_windows_xp): New routine, returns 1 on Windows
+-      XP and 0 on older Windows versions.
+-
+-      * interfac-vms.ads: Removed, no longer used.
+-
+-2006-02-13  Matthew Heaney  <heaney@adacore.com>
+-
+-      * a-rbtgso.adb, a-crbtgo.adb, a-crbtgk.adb, a-coorse.adb,
+-      a-cohama.adb, a-ciorse.adb, a-cihama.adb, a-cihase.adb,
+-      a-cohase.adb: All explicit raise statements now include an exception
+-      message.
+-
+-      * a-ciormu.ads, a-ciormu.adb, a-coormu.ads, a-coormu.adb
+-      (Update_Element_Preserving_Key): renamed op to just Update_Element.
+-      Explicit raise statements now include an exception message
+-
+-      * a-cihase.ads, a-cohase.ads: Removed comment.
+-
+-      * a-stboha.ads, a-stboha.adb, a-stfiha.ads, a-envvar.adb,
+-      a-envvar.ads, a-swbwha.ads, a-swbwha.adb, a-swfwha.ads, a-szbzha.ads,
+-      a-szbzha.adb, a-szfzha.ads: New files.
+-
+-2006-02-13  Matthew Heaney  <heaney@adacore.com>
+-
+-      * a-cgcaso.adb, a-cgaaso.adb: Implemented using heapsort instead of
+-      quicksort.
+-
+-2006-02-13  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * lang.opt: Wvariadic-macros: New option.
+-      Wold-style-definition: Likewise.
+-      Wmissing-format-attribute: Likewise.
+-
+-      * misc.c (gnat_handle_option): New cases for -Wvariadic-macros,
+-      -Wold-style-definition and -Wmissing-format-attribute.
+-
+-2006-02-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-ticoio.ads, a-ticoio.adb: Add use clause (moved here from spec)
+-
+-      * a-coteio.ads, a-lcteio.ads, a-llctio.ads, a-scteio.ads: New files.
+-
+-2006-02-13  Nicolas Roche  <roche@adacore.com>
+-
+-      * a-envvar.adb, a-envvar.ads: New files.
+-
+-2006-02-13  Douglas Rupp  <rupp@adacore.com>
+-
+-      * s-parame-vms.ads: Renamed to s-parame-vms-alpha.ads
+-
+-      * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: New files.
+-
+-2006-02-13  Pat Rogers  <rogers@adacore.com>
+-
+-      * a-rttiev.adb, a-rttiev.ads: New files.
+-
+-2006-02-13  Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * a-tiboio.adb, a-tiboio.ads, a-wwboio.adb,
+-      a-wwboio.ads, a-zzboio.adb, a-zzboio.ads:  New files.
+-
+-      * impunit.adb, Makefile.rtl: Added new Ada 2005 units.
+-
+-2006-02-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * rtsfind.adb, exp_prag.adb, lib-writ.adb, par-labl.adb,
+-      sem_case.adb: Minor code reorganization (not Present should be No)
+-
+-2006-02-13  Geert Bosch  <bosch@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * a-tifiio.adb (Put_Digits): Test Last against To'First - 1 instead of
+-      0, since the lower bound of the actual string may be greater than one.
+-
+-      PR ada/20753
+-      * a-tifiio.adb (Put): Fix condition to raise Layout_Error when invalid
+-      layout is requested.
+-
+-2006-02-13  Vincent Celier  <celier@adacore.com>
+-
+-      * back_end.adb (Scan_Compiler_Arguments): Check if
+-      Search_Directory_Present is True and, if it is, add the argument in
+-      the source search directory path.
+-
+-      * switch-c.adb (Scan_Front_End_Switches): Accept switch "-I". Set
+-      Search_Directory_Present to True.
+-
+-2006-02-13  Joel Brobecker  <brobecke@adacore.com>
+-
+-      * bindgen.adb (Gen_Main_C): declare the ensure_reference variable as
+-      volatile, to tell the compiler to preserve this variable at any level
+-      of optimization.
+-      (Gen_Versions_Ada): Temporarily work around codegen bug.
+-
+-2006-02-13  Vincent Celier  <celier@adacore.com>
+-
+-      * gnatlink.adb (Process_Binder_File): If -shared is specified, invoke
+-      gcc to link with option -shared-libgcc.
+-      (Gnatlink): Remove duplicate switches -shared-libgcc
+-
+-2006-02-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * gnatvsn.ads (Current_Year): New constant, used to easily update
+-      copyright on all GNAT tools.
+-
+-      * gnatls.adb, gnatname.adb, vms_conv.adb: Add 2006 to displayed
+-      copyright notice.
+-
+-2006-02-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * erroutc.ads, erroutc.adb (Set_Message_Blank): Don't insert space
+-      after hyphen (small aesthetic change useful for a range of numbers
+-      using ^-^.
+-      Suppress range checks for a couple of assignments which otherwise
+-      cause validity checks with validity checking turned on.
+-
+-      * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Size):
+-      Improvement in error message for object.
+-      (Rep_Item_Too_Late): Remove '!' in warning message.
+-
+-2006-02-13  Robert Dewar  <dewar@adacore.com>
+-          Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * err_vars.ads: Suppress range checks for a couple of assignments
+-      which otherwise cause validity checks with validity checking turned on.
+-      Update comments.
+-
+-      * errout.adb (Error_Msg_Internal): Do not suppress warning messages.
+-      Make message unconditional if it is a warning.
+-      (Error_Msg_NEL): Always output warning messages.
+-      Suppress range checks for a couple of assignments which otherwise
+-      cause validity checks with validity checking turned on.
+-
+-      * errout.ads (Message Insertion Characters): Document that '!' is
+-      implied by '?' in error messages.
+-
+-      * gnat1drv.adb: (Bad_Body): Remove '!' in warning message.
+-      (Gnat1drv): Use a goto to end of main subprogram instead of
+-      Exit_Program (E_Success) so that finalization can occur normally.
+-
+-2006-02-13  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * s-stchop.adb (Stack_Check): Raise Storage_Error if the argument has
+-      wrapped around.
+-
+-2006-02-13  Vincent Celier  <celier@adacore.com>
+-
+-      * a-direct.adb (Duration_To_Time, OS_Time_To_Long_Integer): New
+-      Unchecked_Conversion functions.
+-      (Modification_Time): Use direct conversion of OS_Time to Calendar time
+-      when OpenVMS returns False.
+-
+-      * a-dirval-mingw.adb, a-dirval-vms.adb, a-dirval.ads,
+-      a-dirval.adb (OpenVMS): New Boolean function
+-
+-2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-
+-      * checks.adb (Build_Discriminant_Checks): If the expression being
+-      checks is an aggregate retrieve the values of its discriminants to
+-      generate the check, rather than creating a temporary and a reference
+-      to it.
+-      (Apply_Access_Check): Rewritten to handle new Is_Known_Null flag
+-      (Install_Null_Excluding_Check): Ditto
+-      (Selected_Length_Checks): Build actual subtype for the original Ck_Node,
+-      not for the renamed object, so that the actual itype is attached in the
+-      proper context.
+-
+-2006-02-13  Robert Dewar  <dewar@adacore.com>
+-          Vincent Celier  <celier@adacore.com>
+-
+-      * debug.adb: Eliminate numeric switches for binder/gnatmake
+-
+-      * switch-m.adb (Normalize_Compiler_Switches): Record numeric debug
+-      switches for the compiler.
+-      (Scan_Make_Switches): Do not allow numeric debug switches for gnatmake
+-      (Scan_Make_Switches): When failing with an illegal switch, output an
+-      error message with the full switch.
+-      Eliminate numeric switches for binder/gnatmake
+-
+-      * switch.ads, switch.adb (Bad_Switch): New procedure
+-
+-      * switch-b.adb (Scan_Binder_Switches): Do not accept combined switches.
+-      Remove 0-9 as debug flag character possibilities
+-      -d is now controlling the primary stack size when its value is a
+-      positive. Also add checks against invalid values, and support for kb,
+-      mb. Ditto for -D switch.
+-
+-2006-02-13  Robert Dewar  <dewar@adacore.com>
+-          Serguei Rybin  <rybin@adacore.com>
+-
+-      * opt.ads opt.adb: Add Ada_Version_Explicit_Config along with
+-      save/restore routines.
+-      Properly handle Ada_Version_Explicit and Ada_Version_Config, which
+-      were not always properly handled previously.
+-      Since we are changing the tree format anyway, also get rid of the
+-      junk obsolete Immediate_Errors flag.
+-      (Tree_Read): Change the way of reading Tree_Version_String - now we
+-      read the version string from the tree even if its length is not the
+-      same as the length of the version string computed from Gnatvsn.
+-      (Search_Directory_Present): New Boolean flag for the compiler.
+-      Define Tree_Version_String as a dynamic string.
+-      (Default_Stack_Size): new variable, used to handle switch -d.
+-
+-      * par-prag.adb:
+-      For pragma Ada_2005, remove stuff about setting Ada_Version_Explicit
+-      only for main unit.
+-      Add pragma Ada_2005 (synonym for Ada_05)
+-      Properly handle Ada_Version_Explicit and Ada_Version_Config, which
+-      were not always properly handled previously.
+-
+-      * directio.ads, ioexcept.ads, sequenio.ads, text_io.ads: Change
+-      explicit Ada_95 to Ada_2005.
+-
+-2006-02-13  Javier Miranda  <miranda@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * einfo.ads, einfo.adb (First_Tag_Component): Protect the frontend
+-      against errors in the source program: a private types for which the
+-      corresponding full type declaration is missing and pragma CPP_Virtual
+-      is used.
+-      (Is_Unchecked_Union): Check flag on Implementation_Base_Type.
+-      (Is_Known_Null): New flag
+-      (Has_Pragma_Pure): New flag
+-      (No_Return): Present in all entities, set only for procedures
+-      (Is_Limited_Type): A type whose ancestor is an interface is limited if
+-      explicitly declared limited.
+-      (DT_Offset_To_Top_Func): New attribute that is present in E_Component
+-      entities. Only used for component marked Is_Tag. If present it stores
+-      the Offset_To_Top function used to provide this value in tagged types
+-      whose ancestor has discriminants.
+-
+-      * exp_ch2.adb: Update status of new Is_Known_Null flag
+-
+-      * sem_ch7.adb: Maintain status of new Is_Known_Null flag
+-
+-      * sem_cat.adb (Get_Categorization): Don't treat function as Pure in
+-      the categorization sense if Is_Pure was set by pragma Pure_Function.
+-
+-2006-02-13  Quentin Ochem  <ochem@adacore.com>
+-          Olivier Hainque  <hainque@adacore.com>
+-
+-      * bindusg.adb: Updated documentation for -d and -D switches.
+-
+-      * raise.h (__gnat_set_globals): added new parameter for
+-      Default_Stack_Size.
+-
+-      * init.c (__gnat_adjust_context_for_raise) <alpha-vms case>: Implement.
+-      (__gnat_handle_vms_condition): Adjust context before raise.
+-      (__gnat_install_handler): Restore the global vector setup for GCC
+-      versions before 3.4, as the frame based circtuitry is not available
+-      in this case.
+-      (__gnat_set_globals): added a parameter default_stack_size
+-      (__gl_default_stack_size): new variable.
+-
+-2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_aggr.adb (Build_Array_Aggr_Code): Rename variable
+-      "Others_Mbox_Present" to "Others_Box_Present" because the mbox concept
+-      does not exist in the Ada RM.
+-      (Compatible_Int_Bounds): Determine whether two integer range bounds
+-      are of equal length and have the same start and end values.
+-      (Is_Int_Range_Bounds): Determine whether a node is an integer range.
+-      (Build_Record_Aggr_Code): Perform proper sliding of a nested array
+-      aggregate when it is part of an object declaration.
+-      (Build_Record_Aggr_Code)  If the aggregate ttype is a derived type that
+-      constrains discriminants of its parent, add explicitly the discriminant
+-      constraints of the ancestor by retrieving them from the
+-      stored_constraint of the parent.
+-
+-2006-02-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_attr.adb (Expand_N_Attribute_Reference, case Mechanism_Code): If
+-      attribute Mechanism_Code is applied to renamed subprogram, modify
+-      prefix to point to base subprogram.
+-      Max/Min attributes now violate Restriction No_Implicit_Conditionals
+-
+-      * sinfo.ads: Document that Mechanism_Code cannot be applied to
+-      renamed subprograms so that the front-end must replace the prefix
+-      appropriately.
+-
+-2006-02-13  Javier Miranda  <miranda@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_ch3.adb (Component_Needs_Simple_Initialization): Add check for
+-      availability of RE_Interface_Tag.
+-      (Build_Initialization_Call): Fix wrong access to the discriminant value.
+-      (Freeze_Record_Type): Do not generate the tables associated with
+-      timed and conditional dispatching calls through synchronized
+-      interfaces if compiling under No_Dispatching_Calls restriction.
+-      When compiling for Ada 2005, for a nonabstract
+-      type with a null extension, call Make_Controlling_Function_Wrappers
+-      and insert the wrapper function declarations and bodies (the latter
+-      being appended as freeze actions).
+-      (Predefined_Primitive_Bodies): Do not generate the bodies of the
+-      predefined primitives associated with timed and conditional
+-      dispatching calls through synchronized interfaces if we are
+-      compiling under No_Dispatching_Calls.
+-      (Build_Init_Procedure):  Use RTE_Available to check if a run-time
+-      service is available before generating a call.
+-      (Make_Controlling_Function_Wrappers): New procedure.
+-      (Expand_N_Full_Type_Declaration): Create a class-wide master for
+-      access-to-limited-interfaces because they can be used to reference
+-      tasks that implement such limited interface.
+-      (Build_Offset_To_Top_Functions): Build the tree corresponding to the
+-      procedure spec and body of the Offset_To_Top function that is generated
+-      when the parent of a type with discriminants has secondary dispatch
+-      tables.
+-      (Init_Secondary_Tags): Handle the case in which the parent of the type
+-      containing secondary dispatch tables has discriminants to generate the
+-      correct arguments to call Set_Offset_To_Top.
+-      (Build_Record_Init_Proc): Add call to Build_Offset_To_Top_Functions.
+-
+-      * a-tags.ads, a-tags.adb: (Check_Index): Removed.
+-      Add Wide_[Wide_]Expanded_Name.
+-      (Get_Predefined_Prim_Op_Address): New subprogram that provides exactly
+-      the same functionality of Get_Prim_Op_Address but applied to predefined
+-      primitive operations because the pointers to the predefined primitives
+-      are now saved in a separate table.
+-      (Parent_Size): Modified to get access to the separate table of primitive
+-      operations or the parent type.
+-      (Set_Predefined_Prim_Op_Address): New subprogram that provides the same
+-      functionality of Set_Prim_Op_Address but applied to predefined primitive
+-      operations.
+-      (Set_Signature): New subprogram used to store the signature of a DT.
+-      (Displace): If the Offset_To_Top value is not static then call the
+-      function generated by the expander to get such value; otherwise use
+-      the value stored in the table of interfaces.
+-      (Offset_To_Top): The type of the actual has been changed to Address to
+-      give the correct support to tagged types with discriminants. In this
+-      case this value is stored just immediately after the tag field.
+-      (Set_Offset_To_Top): Two new formals have been added to indicate if the
+-      offset_to_top value is static and hence pass this value to the run-time
+-      to store it in the table of interfaces, or else if this value is dynamic
+-      and then pass to the run-time the address of a function that is
+-      generated by the expander to provide this value for each object of the
+-      type.
+-
+-      * rtsfind.ads (Default_Prin_Op_Count): Removed.
+-      (Default_Prim_Op_Count): New entity
+-      (Get_Predefined_Prim_Op_Address): New entity
+-      (Set_Predefined_Prim_Op_Address): New entity
+-      (RE_Set_Signature): New entity
+-
+-2006-02-13  Thomas Quinot  <quinot@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch4.adb (Expand_Allocator_Expression): Pass Allocator => True to
+-      Make_Adjust_Call done for a newly-allocated object.
+-
+-      * exp_ch7.ads, exp_ch7.adb (Expand_Cleanup_Actions): If the statements
+-      in a subprogram are wrapped in a cleanup block, indicate that the
+-      subprogram contains an inner block with an exception handler.
+-      (Make_Adjust_Call): New Boolean formal Allocator indicating whether the
+-      Adjust call is for a newly-allocated object. In that case we must not
+-      assume that the finalization list chain pointers are correct (since they
+-      come from a bit-for-bit copy of the original object's pointers) so if
+-      the attach level would otherwise be zero (no change), we set it to 4
+-      instead to cause the pointers to be reset to null.
+-
+-      * s-finimp.adb (Attach_To_Final_List): New attach level: 4, meaning
+-      reset chain pointers to null.
+-
+-2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch5.adb (Expand_Assign_Array): If the right-hand side is a
+-      string, and the context requires a loop for the assignment (e.g.
+-      because the left-hand side is packed), generate a unique name for the
+-      temporary that holds the string, to prevent spurious name clashes.
+-
+-2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * exp_ch6.adb (Expand_Inlined_Call): Handle calls to functions that
+-      return unconstrained arrays.
+-      Update comments.
+-      (Expand_Call):  An indirect call through an access parameter of a
+-      protected operation is not a protected call.
+-      Add circuit to raise CE in Ada 2005 mode following call
+-      to Raise_Exception.
+-      (Register_DT_Entry): Do nothing if
+-      the run-time does not give support to abstract interfaces.
+-      (Freeze_Subprogram): In case of dispatching operations, do not generate
+-      code to register the operation in the dispatch table if the source
+-      is compiled with No_Dispatching_Calls.
+-      (Register_Predefined_DT_Entry): Generate code that calls the new
+-      run-time subprogram Set_Predefined_Prim_Op_Address instead of
+-      Set_Prim_Op_Address.
+-
+-      * sem_ch5.adb (Analyze_Assignment_Statement): Do not apply length checks
+-      on array assignments if the right-hand side is a function call that has
+-      been inlined. Check is performed on the assignment in the block.
+-      (Process_Bounds): If bounds and range are overloaded, apply preference
+-      rule for root operations to disambiguate, and diagnose true ambiguity.
+-      (Analyze_Assignment): Propagate the tag for a class-wide assignment with
+-      a tag-indeterminate right-hand side even when Expander_Active is True.
+-      Needed to ensure that dispatching calls to T'Input are allowed and
+-      get the tag of the target class-wide object.
+-
+-      * sem_ch6.adb (New_Overloaded_Entity): Handle entities that override
+-      an inherited primitive operation that already overrides several
+-      abstract interface primitives. For transitivity, the new entity must
+-      also override all the abstract interface primitives covered by the
+-      inherited overriden primitive.
+-      Emit warning if new entity differs from homograph in same scope only in
+-      that one has an access parameter and the other one has a parameter of
+-      a general access type with the same designated type, at the same
+-      position in the signature.
+-      (Make_Inequality_Operator): Use source locations of parameters and
+-      subtype marks from corresponding equality operator when creating the
+-      tree structure for the implicit declaration of "/=". This does not
+-      change anything in behaviour except that the decoration of the
+-      components of the subtree created for "/=" allows ASIS to get the
+-      string images of the corresponding identifiers.
+-      (Analyze_Return_Statement): Remove '!' in warning message.
+-      (Check_Statement_Sequence): Likewise.
+-      (Analyze_Subprogram_Body): For an access parameter whose designated type
+-      is an incomplete type imported through a limited_with clause, use the
+-      type of the corresponding formal in the body.
+-      (Check_Returns): Implicit return in No_Return procedure now raises
+-      Program_Error with a compile time warning, instead of beging illegal.
+-      (Has_Single_Return):  Function returning unconstrained type cannot be
+-      inlined if expression in unique return statement is not an identifier.
+-      (Build_Body_To_Inline): It is possible to inline a function call that
+-      returns an unconstrained type if all return statements in the function
+-      return the same local variable. Subsidiary procedure Has_Single_Return
+-      verifies that the body conforms to this restriction.
+-
+-      * sem_res.adb (Resolve_Equality_Op): If the operands do not have the
+-      same type, and  one of them is of an anonymous access type, convert
+-      the other operand to it, so that this is a valid binary operation for
+-      gigi.
+-      (Resolve_Type_Conversion): Handle subtypes of protected types and
+-      task types when accessing to the corresponding record type.
+-      (Resolve_Allocator): Add '\' in 2-line warning message.
+-      Remove '!' in warning message.
+-      (Resolve_Call): Add '\' in 2-line warning message.
+-      (Valid_Conversion): Likewise.
+-      (Resolve_Overloaded_Selected_Component): If disambiguation succeeds, the
+-      resulting type may be an access type with an implicit dereference.
+-      Obtain the proper component from the designated type.
+-      (Make_Call_Into_Operator): Handle properly a call to predefined equality
+-      given by an expanded name with prefix Standard, when the operands are
+-      of an anonymous access type.
+-      (Check_Fully_Declared_Prefix): New procedure, subsidiary of Resolve_
+-      Explicit_Dereference and Resolve_Selected_Component, to verify that the
+-      prefix of the expression is not of an incomplete type. Allows full
+-      diagnoses of all semantic errors.
+-      (Resolve_Actuals): If the actual is an allocator whose directly
+-      designated type is a class-wide interface we build an anonymous
+-      access type to use it as the type of the allocator. Later, when
+-      the subprogram call is expanded, if the interface has a secondary
+-      dispatch table the expander will add a type conversion to force
+-      the displacement of the pointer.
+-      (Resolve_Call): If a function that returns an unconstrained type is
+-      marked Inlined_Always and inlined, the call will be inlined and does
+-      not require the creation of a transient scope.
+-      (Check_Direct_Boolean_Op): Removed
+-      (Resolve_Comparison_Op): Remove call to above
+-      (Resolve_Equality_Op): Remove call to above
+-      (Resolve_Logical_Op): Inline above, since this is only call.
+-      (Valid_Conversion): Handle properly conversions between arrays of
+-      convertible anonymous access types.
+-
+-      PR ada/25885
+-      (Set_Literal_String_Subtype): If the lower bound is not static, wrap
+-      the literal in an unchecked conversion, because GCC 4.x needs a static
+-      value for a string bound.
+-
+-2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * exp_ch9.adb (Expand_N_Protected_Type_Declaration): When creating the
+-      components of the corresponding record, take into account component
+-      definitions that are access definitions.
+-      (Expand_N_Asynchronous_Select): A delay unit statement rewritten as a
+-      procedure is not considered a dispatching call and will be expanded
+-      properly.
+-
+-2006-02-13  Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_disp.ads, exp_disp.adb (Expand_Dispatching_Call): If the
+-      controlling argument of the dispatching call is an abstract interface
+-      class-wide type then we use it directly.
+-      Check No_Dispatching_Calls restriction.
+-      (Default_Prim_Op_Position): Remove the code that looks for the last
+-      entity in the list of aliased subprograms. This code was wrong in
+-      case of renamings.
+-      (Fill_DT_Entry): Add assertion to avoid the use of this subprogram
+-      when the source is compiled with the No_Dispatching_Calls restriction.
+-      (Init_Predefined_Interface_Primitives): No need to inherit primitives
+-      if we are compiling with restriction No_Dispatching_Calls.
+-      (Make_Disp_XXX): Addition of assertion to avoid the use of all these
+-      subprograms if we are compiling under No_Dispatching_Calls restriction.
+-      (Make_DT): Generate a dispatch table with a single dummy entry if
+-      we are compiling with the No_Dispatching_Calls restriction. In
+-      addition, in this case we don't generate code that calls to the
+-      following run-time subprograms: Set_Type_Kind, Inherit_DT.
+-      (Make_Select_Specific_Data_Table): Add assertion to avoid the use
+-      of this subprogram if compiling with the No_Dispatching_Calls
+-      restriction.
+-      (Expand_Type_Conversion): Instead of using the actual parameter,
+-      the argument passed as parameter to the conversion function was
+-      erroneously referenced by the expander.
+-      (Ada_Actions): Addition of Get_Predefined_Prim_Op_Address,
+-      Set_Predefined_Primitive_Op_Address and Set_Signature.
+-      (Expand_Dispatching_Call): Generate call to
+-      Get_Predefined_Prim_Op_Address for predefined primitives.
+-      (Fill_DT_Entry): Generate call to Set_Predefined_Prim_Op_Address for
+-      predefined primitives.
+-      (Make_DT, Make_Secondary_DT): If the tagged type has no user defined
+-      primitives we reserve one dummy entry to ensure that the tag does not
+-      point to some memory that is associated with some other object. In
+-      addition, remove all the old code that generated the assignments
+-      associated with the signature of the dispatch table and replace them
+-      by a call to the new subprogram Set_Signature.
+-      (Set_All_DT_Position): Change the algorithm because now we have a
+-      separate dispatch table associated with predefined primitive operations.
+-      (Expand_Interface_Conversion): In case of non-static offset_to_top
+-      add explicit dereference to get access to the object after the call
+-      to displace the pointer to the object.
+-      (Expand_Interface_Thunk): Modify the generation of the actual used
+-      in the calls to the run-time function Offset_To_Top to fulfil its
+-      new interface.
+-      (Make_DT): Add the new actuals required to call Set_Offset_To_Top.
+-
+-2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_dist.adb (Copy_Specification): For access parameters, copy
+-      Null_Exclusion flag, which will have been set for stream subprograms
+-      in Ada2005 mode.
+-
+-2006-02-13  Pascal Obry  <obry@adacore.com>
+-
+-      * expect.c (__gnat_expect_portable_execvp): New implementation. The
+-      previous implementation was using the C runtime spawnve routine but
+-      the corresponding wait was using directly the Win32 API. This was
+-      causing some times a lock when waiting for an event using
+-      WaitForSingleObject in __gnat_waitpid. This new implementation uses
+-      the Win32 CreateProcess routine. Avoiding mixing C runtime and Win32
+-      API fixes this problem.
+-
+-2006-02-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_intr.adb (Expand_Unc_Deallocation): Correct error of bad analyze
+-      call.
+-
+-2006-02-13  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_pakd.ads: Fix typos in comments.
+-
+-      * exp_pakd.adb (Convert_To_PAT_Type): For the case of a bit packed
+-      array reference that is an explicit dereference, mark the converted
+-      (packed) array reference as analyzed to prevent a forthcoming
+-      reanalysis from resetting its type to the original (non-packed) array
+-      type.
+-
+-2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * exp_util.ads, exp_util.adb (Find_Prim_Op,
+-      Is_Predefined_Primitive_Operation): When
+-      searching for the predefined equality operator, verify that operands
+-      have the same type.
+-      (Is_Predefined_Dispatching_Operation): Remove the code that looks
+-      for the last entity in the list of aliased subprograms. This code
+-      was wrong in case of renamings.
+-      (Set_Renamed_Subprogram): New procedure
+-      (Remove_Side_Effects): Replace calls to Etype (Exp) with use of the
+-      Exp_Type constant computed when entering this subprogram.
+-      (Known_Null): New function
+-      (OK_To_Do_Constant_Replacement): New function
+-      (Known_Non_Null): Check scope before believing Is_Known_Non_Null flag
+-      (Side_Effect_Free): An attribute reference 'Input is not free of
+-      side effect, unlike other attributes that are functions. (from code
+-      reading).
+-      (Remove_Side_Effects): Expressions that involve packed arrays or records
+-      are copied at the point of reference, and therefore must be marked as
+-      renamings of objects.
+-      (Is_Predefined_Dispatching_Operation): Return false if the operation is
+-      not a dispatching operation.
+-
+-      PR ada/18819
+-      (Remove_Side_Effects): Lift enclosing type conversion nodes for
+-      elementary types in all cases.
+-
+-2006-02-13  Javier Miranda  <miranda@adacore.com>
+-
+-      * freeze.adb (Freeze_Entity): Handle subtypes of protected types and
+-      task types when accessing to the corresponding record type.
+-      Remove '!' in warning message.
+-
+-2006-02-13  Olivier Hainque  <hainque@adacore.com>
+-
+-      * g-altive.ads (VECTOR_ALIGNMENT): Set to Min (16, Max_Alignment),
+-      to avoid useless and space inefficient overalignments on targets where
+-      Max_Alignment is larger than 16.
+-
+-2006-02-13  Pascal Obry  <obry@adacore.com>
+-
+-      * g-catiio.adb (Sec_Number): New type used to compute the number of
+-      seconds since 1-1-1970.
+-      (Image) [Natural]: The parameter was an Integer, as we can't deal with
+-      negative numbers (years, months...) it is better to have a Natural here.
+-      Code clean-up.
+-      (Image) [Number]: Change parameter from Long_Integer to Number.
+-      (Image): Use Number type to compute the seconds since 1-1-1970 to fix an
+-      overflow for dates past year 2038.
+-
+-2006-02-13  Matthew Heaney  <heaney@adacore.com>
+-
+-      *  g-dyntab.adb (Index_Of): conversion from Natural can no longer raise
+-      Constraint_Error.
+-
+-2006-02-13  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * gnatbind.adb (Scan_Bind_Arg): Replace error by warning on -M and
+-      native platforms.
+-      (Gnatbind): Do not call Exit_Program (E_Success) at the end, so that
+-      finalization can occur normally.
+-
+-2006-02-13  Vincent Celier  <celier@adacore.com>
+-
+-      * gnatcmd.adb (Rules_Switches): New table
+-      (Add_To_Rules_Switches): New procedure
+-      (GNATCmd): For command CHECK, put all options following "-rules" in the
+-      Rules_Switches table. Append these -rules switches after the -cargs
+-      switches.
+-
+-2006-02-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-spipat.adb (Image, case PC_Assign_Imm and case PC_Assign_OnM):
+-      These two cases were generating incorrect output, and if this unit
+-      was built with checks on, generated a discriminant mismatch constraint
+-      error.
+-
+-2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * lib-xref.adb (Get_Type_Reference): For a private type whose full
+-      view is an array type, indicate the component type as well, for
+-      navigation purposes.
+-      (Generate_Reference): Don't consider array ref on LHS to be a case
+-      of violating pragma Unreferenced.
+-      Do not give Ada 2005 warning except on real reference.
+-
+-2006-02-13  Vincent Celier  <celier@adacore.com>
+-
+-      * make.adb (Collect_Arguments_And_Compile): For VMS, when compiling the
+-      main source, add switch -mdebug-main=_ada_ so that the executable can
+-      be debugged by the standard VMS debugger.
+-      (Gnatmake): Set No_Main_Subprogram to True when there is no main
+-      subprogram, to avoid issuing -mdebug-main=_ada_ for VMS uselessly.
+-      Exit the Multi_Main_Loop when Unique_Compile is True after compilation
+-      of the last source, as the binding and linking phases are never
+-      performed.
+-      Set all executable obsolete when rebuilding a library.
+-
+-      * makeutl.adb (Linker_Options_Switches): Do not process empty linker
+-      options.
+-
+-2006-02-13  Javier Miranda  <miranda@adacore.com>
+-
+-      PR ada/23973
+-      * par-ch3.adb (P_Derived_Type_Def_Or_Private_Ext_Decl): Reorganize the
+-      code to improve the error message reported when the program has
+-      declarations of abstract interface types and it is not compiled with
+-      the -gnat05 switch.
+-      (P_Access_Definition): Reorganize the code to improve the error
+-      message reported when the new Ada 2005 syntax for anonymous
+-      access types is used and the program is not compiled with the
+-      -gnat05 switch.
+-
+-2006-02-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * par-ch6.adb, style.ads, styleg.adb, styleg.ads, stylesw.adb,
+-      stylesw.ads, usage.adb, vms_data.ads: Implement -gnatyI switch
+-      (MODE_IN)
+-
+-2006-02-13  Javier Miranda  <miranda@adacore.com>
+-
+-      * par-endh.adb (Explicit_Start_Label): Add code to protect the parser
+-      against source containing syntax errors.
+-
+-2006-02-13  Vincent Celier  <celier@adacore.com>
+-
+-      * prj.adb (Reset): Initialize the first element of table Namings with
+-      the standard naming data.
+-
+-2006-02-13  Vincent Celier  <celier@adacore.com>
+-
+-      * prj.ads (Error_Warning): New enumeration type
+-
+-      * prj-nmsc.ads, prj-nmsc.adb (Error_Msg): If location parameter is
+-      unknown, use the location of the project to report the error.
+-      (When_No_Sources): New global variable
+-      (Report_No_Ada_Sources): New procedure
+-      (Check): New parameter When_No_Sources. Set value of global variable
+-      When_No_Sources,
+-      (Find_Sources): Call Report_No_Ada_Sources when appropriate
+-      (Get_Sources_From_File): Ditto
+-      (Warn_If_Not_Sources): Better warning messages indicating the unit name
+-      and the file name.
+-
+-      * prj-pars.ads, prj-pars.adb (Parse): New parameter When_No_Sources.
+-      Call Prj.Proc.Process with parameter When_No_Sources.
+-
+-      * prj-proc.ads, prj-proc.adb (Check): New parameter When_No_Sources.
+-      Call Recursive_Check with parameter When_No_Sources.
+-      (Recursive_Check): New parameter When_No_Sources. Call itself and
+-      Prj.Nmsc.Check with parameter When_No_Sources.
+-      (Process): New parameter When_No_Sources. Call Check with parameter
+-      When_No_Sources.
+-      (Copy_Package_Declarations): New procedure to copy renamed parameters
+-      and setting the location of the declared attributes to the location
+-      of the renamed package.
+-      (Process_Declarative_Items): Call Copy_Package_Declarations for renamed
+-      packages.
+-
+-2006-02-13  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-makr.adb (Make): Preserve the comments from the original project
+-      file.
+-      When removing nodes (attributes Source_Dirs, Source_Files,
+-      Source_List_File and package Naming), save the comments and attach the
+-      saved comments to the newly created nodes.
+-      Do not add a with clause for the naming package if one already exists.
+-
+-2006-02-13  Javier Miranda  <miranda@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * restrict.ads (No_Dispatching_Calls): New GNAT restriction.
+-
+-      * sem_disp.adb (Override_Dispatching_Operation): Traverse the list of
+-      aliased entities to look for the overriden abstract interface
+-      subprogram.
+-      (Is_Interface_Subprogram): Complete documentation.
+-      (Check_Dispatching_Operation): Do not generate code to register the
+-      operation in the dispatch table if the source is compiled with
+-      restriction No_Dispatching_Calls.
+-      (Override_Dispatching_Operation): Check for illegal attempt to override
+-      No_Return procedure with procedure that is not No_Return
+-      (Check_Dispatching_Call): Suppress the check for an abstract operation
+-      when the original node of an actual is a tag-indeterminate attribute
+-      call, since the attribute, which must be 'Input, can never be abstract.
+-      (Is_Tag_Indeterminate): Handle checking of tag indeterminacy of a
+-      call to the Input attribute (even when rewritten).
+-      (Propagate_Tag): Augment comment to indicate the possibility of a call
+-      to an Input attribute.
+-
+-      * sem_disp.ads (Override_Dispatching_Operation): Moved to spec to allow
+-      calling it from Exp_Ch3.Make_Controlling_Function_Wrappers.
+-
+-      * s-rident.ads: (No_Dispatching_Calls): New GNAT restriction.
+-      No_Wide_Characters is no longer partition-wide
+-      No_Implementation_Attributes/Pragmas are now Ada 2005 (AI-257)
+-      rather than GNAT
+-
+-2006-02-13  Douglas Rupp  <rupp@adacore.com>
+-
+-      * s-auxdec-vms_64.ads (Short_Address): Wrap it in a type.
+-
+-2006-02-13  Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_aggr.adb (Resolve_Record_Aggregate): Restructure the code that
+-      handles default-initialized components to keep separate the management
+-      of this feature but also avoid the unrequired resolution and
+-      expansion of components that do not have partially initialized
+-      values.
+-      (Collect_Aggr_Bounds): Add '\' in 2-line warning message.
+-      (Check_Bounds): Likewise.
+-      (Check_Length): Likewise.
+-
+-2006-02-13  Javier Miranda  <miranda@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_attr.adb (Analyze_Attribute): In case of 'Class applied to an
+-      abstract interface type call analyze_and_resolve to expand the type
+-      conversion into the corresponding displacement of the
+-      reference to the base of the object.
+-      (Eval_Attribute, case Width): For systems where IEEE extended precision
+-      is supported, the maximum exponent occupies 4 decimal digits.
+-      (Accessibility_Message): Add '\' in 2-line warning message.
+-      (Resolve_Attribute): Likewise.
+-      (case Attribute_Access): Significantly revise checks
+-      for illegal access-to-subprogram Access attributes to properly enforce
+-      the rules of 3.10.2(32/2).
+-      Diagnose use of current instance with an illegal attribute.
+-
+-      * sem_util.ads, sem_util.adb (Enclosing_Generic_Body): Change formal
+-      to a Node_Id.
+-      (Enclosing_Generic_Unit): New function to return a node's innermost
+-      enclosing generic declaration node.
+-      (Compile_Time_Constraint_Error): Remove '!' in warning messages.
+-      (Type_Access_Level): The accessibility level of anonymous acccess types
+-      associated with discriminants is that of the current instance of the
+-      type, and that's deeper than the type itself (AARM 3.10.2 (12.3.21)).
+-      (Compile_Time_Constraint_Error): Handle case of conditional expression.
+-      (Kill_Current_Values_For_Entity): New function
+-      (Enter_Name): Change formal type to Entity_Id
+-
+-2006-02-13  Hristian Kirtchev  <kirtchev@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * sem_ch10.adb (Check_Redundant_Withs): New procedure in
+-      Analyze_Compilation_Unit.
+-      Detect and warn on redundant with clauses detected in a package spec
+-      and/or body when -gnatwr is used.
+-      (Analyze_Context): Analyze config pragmas before other items
+-      (Install_Context_Items): Don't analyze config pragmas here
+-      (Install_Limited_Withed_Unit): Set limited entity of package in
+-      with_clause so that cross-reference information or warning messages on
+-      unused packages can be properly generated
+-      (Is_Visible_Through_Renamings): Return false if the limited_with_clause
+-      has Error_Posted set. Prevent infinite loops in illegal programs.
+-      (Check_Private_Child_Unit): Move test for a nonprivate with clause down
+-      to the point of the error test requiring the current unit to be private.
+-      This ensures that private with clauses are not exempted from the basic
+-      checking for being a descendant of the same library unit parent as a
+-      withed private descendant unit.
+-      (Check_Private_Limited_Withed_Unit): Revise the checking algorithm to
+-      handle private with clauses properly, as well as to account for cases
+-      where the withed unit is a public descendant of a private ancestor
+-      (in which case the current unit must be a descendant of the private
+-      ancestor's parent). The spec comments were updated accordingly. Also,
+-      the old error message in this subprogram was replaced with error
+-      messages that mirror the errors tested and reported by
+-      Check_Private_Child_Unit.
+-      Parameter and variable names improved for readability.
+-      (Install_Limited_Context_Clauses): Remove test for a withed unit being
+-      private as the precondition for calling
+-      Check_Private_Limited_Withed_Unit since that subprogram has been
+-      revised to test public units as well as private units.
+-
+-2006-02-13  Thomas Quinot  <quinot@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_ch12.adb (Inline_Instance_Body): Remove erroneous assumption
+-      that Scope_Stack.First = 1.
+-      Properly handle Ada_Version_Explicit and Ada_Version_Config, which
+-      were not always properly handled previously.
+-      (Formal_Entity): Complete rewrite, to handle properly some complex case
+-      with multiple levels of parametrization by formal packages.
+-      (Analyze_Formal_Derived_Type): Propagate Ada 2005 "limited" indicator
+-      to the corresponding derived type declaration for proper semantics.
+-
+-      * sem_prag.adb (Analyze_Pragma): Remove '!' in warning message.
+-      (Check_Component): Enforce restriction on components of
+-      unchecked_unions: a component in a variant cannot contain tasks or
+-      controlled types.
+-      (Unchecked_Union): Allow nested variants and multiple discriminants, to
+-      conform to AI-216.
+-      Add pragma Ada_2005 (synonym for Ada_05)
+-      Properly handle Ada_Version_Explicit and Ada_Version_Config, which
+-      were not always properly handled previously.
+-      Document that pragma Propagate_Exceptions has no effect
+-      (Analyze_Pragma, case Pure): Set new flag Has_Pragma_Pure
+-      (Set_Convention_From_Pragma): Check that if a convention is
+-      specified for a dispatching operation, then it must be
+-      consistent with the existing convention for the operation.
+-      (CPP_Class): Because of the C++ ABI compatibility, the programmer is no
+-      longer required to specify an vtable-ptr component in the record. For
+-      compatibility reasons we leave the support for the previous definition.
+-      (Analyze_Pragma, case No_Return): Allow multiple arguments
+-
+-      * sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Flag a
+-      non-overrideen inherited operation with a controlling result as
+-      illegal only its implicit declaration comes from the derived type
+-      declaration of its result's type.
+-      (Check_Possible_Deferred_Completion): Relocate the object definition
+-      node of the subtype indication of a deferred constant completion rather
+-      than directly analyzing it. The analysis of the generated subtype will
+-      correctly decorate the GNAT tree.
+-      (Record_Type_Declaration): Check whether this is a declaration for a
+-      limited derived record before analyzing components.
+-      (Analyze_Component_Declaration): Diagnose record types  not explicitly
+-      declared limited when a component has a limited type.
+-      (Build_Derived_Record_Type): Code reorganization to check if some of
+-      the inherited subprograms of a tagged type cover interface primitives.
+-      This check was missing in case of a full-type associated with a private
+-      type declaration.
+-      (Constant_Redeclaration): Check that the subtypes of the partial and the
+-      full view of a constrained deferred constant statically match.
+-      (Mentions_T): A reference to the current type in an anonymous access
+-      component declaration  must be an entity name.
+-      (Make_Incomplete_Type_Declaration): If type is tagged, set type of
+-      class_wide type to refer to full type, not to the incomplete one.
+-      (Add_Interface_Tag_Components): Do nothing if RE_Interface_Tag is not
+-      available. Required to give support to the certified run-time.
+-      (Analyze_Component_Declaration): In case of anonymous access components
+-      perform missing checks for AARM 3.9.2(9) and 3.10.2 (12.2).
+-      (Process_Discriminants): For an access discriminant, use the
+-      discriminant specification as the associated_node_for_itype, to
+-      simplify accessibility checks.
+-
+-2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_ch4.adb (Remove_Abstract_Interpretations): Even if there are no
+-      abstract interpretations on an operator, remove interpretations that
+-      yield Address or a type derived from it, if one of the operands is an
+-      integer literal.
+-      (Try_Object_Operation.Try_Primitive_Operation,
+-      Try_Object_Operation.Try_Class_Wide_Operation): Set proper source
+-      location when creating the new reference to a primitive or class-wide
+-      operation as a part of rewriting a subprogram call.
+-      (Try_Primitive_Operations): If context requires a function, collect all
+-      interpretations after the first match, because there may be primitive
+-      operations of the same type with the same profile and different return
+-      types. From code reading.
+-      (Try_Primitive_Operation): Use the node kind to choose the proper
+-      operation when a function and a procedure have the same parameter
+-      profile.
+-      (Complete_Object_Operation): If formal is an access parameter and prefix
+-      is an object, rewrite as an Access reference, to match signature of
+-      primitive operation.
+-      (Find_Equality_Type, Find_One_Interp): Handle properly equality given
+-      by an expanded name with prefix Standard, when the operands are of an
+-      anonymous access type.
+-      (Remove_Abstract_Operations): If the operation is abstract because it is
+-      inherited by a user-defined type derived from Address, remove it as
+-      well from the set of candidate interpretations of an overloaded node.
+-      (Analyze_Membership_Op): Membership test not applicable to cpp-class
+-      types.
+-
+-2006-02-13  Bob Duff  <duff@adacore.com>
+-
+-      * sem_ch8.adb (Note_Redundant_Use): Suppress unhelpful warning about
+-      redundant use clauses.
+-      In particular, if the scope of two use clauses overlaps, but one is not
+-      entirely included in the other, we should not warn.  This can happen
+-      with nested packages.
+-      (Analyze_Subprogram_Renaming): Protect the compiler against previously
+-      reported errors. The bug was reported when the compiler was built
+-      with assertions enabled.
+-      (Find_Type): If the node is a 'Class reference and the prefix is a
+-      synchronized type without a corresponding record, return the type
+-      itself.
+-
+-2006-02-13  Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): Check that
+-      if this is the full-declaration associated with a private declaration
+-      that implement interfaces, then the private type declaration must be
+-      limited.
+-      (Analyze_Single_Protected, Analyze_Single_Task): Do not mark the object
+-      as aliased. The use of the 'access attribute is not available for such
+-      object (for this purpose the object should be explicitly marked as
+-      aliased, but being an anonymous type this is not possible).
+-
+-2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_elab.adb (Same_Elaboration_Scope): A package that is a
+-      compilation unit is an elaboration scope.
+-      (Add_Task_Proc): Add '\' in 2-line warning message.
+-      (Activate_All_Desirable): Deal with case of unit with'ed by parent
+-
+-2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_type.adb (Write_Overloads): Improve display of candidate
+-      interpretations.
+-      (Add_One_Interp): Do not add to the list of interpretations aliased
+-      entities corresponding with an abstract interface type that is an
+-      immediate ancestor of a tagged type; otherwise we have a dummy
+-      conflict between this entity and the aliased entity.
+-      (Disambiguate): The predefined equality on universal_access is not
+-      usable if there is a user-defined equality with the proper signature,
+-      declared in the same declarative part as the designated type.
+-      (Find_Unique_Type): The universal_access equality operator defined under
+-      AI-230 does not cover pool specific access types.
+-      (Covers): If one of the types is a generic actual subtype, check whether
+-      it matches the partial view of the other type.
+-
+-2006-02-13  Thomas Quinot  <quinot@adacore.com>
+-
+-      * sinput-d.adb (Write_Line): Update the Source_Index_Table after each
+-      line. This is necessary to allow In_Extended_Main_Unit to provide
+-      correct results for itypes while writing out expanded source.
+-      (Close_File): No need to update the source_index_table here since it's
+-      now done for each line.
+-
+-2006-02-13  Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * sprint.adb (Write_Itype): Preserve Sloc of declaration, if any, to
+-      preserve the source unit where the itype is declared, and prevent a
+-      backend abort.
+-      (Note_Implicit_Run_Time_Call): New procedure
+-      (Write_Itype): Handle missing cases (E_Class_Wide_Type and
+-      E_Subprogram_Type)
+-
+-      * sprint.ads: Document use of $ for implicit run time routine call
+-
+-2006-02-13  Quentin Ochem  <ochem@adacore.com>
+-
+-      * s-stausa.adb (Initialize_Analyzer): fixed error in assignment of
+-      task name.
+-
+-2006-02-13  Bob Duff  <duff@adacore.com>
+-
+-      * s-valint.adb (Scan_Integer): Call Scan_Raw_Unsigned instead of
+-      Scan_Unsigned, so we do not scan leading blanks and sign twice.
+-      Integer'Value("- 5") and Integer'Value("-+5") now correctly
+-      raise Constraint_Error.
+-
+-      * s-vallli.adb (Scan_Long_Long_Integer): Call
+-      Scan_Raw_Long_Long_Unsigned instead of Scan_Long_Long_Unsigned, so we
+-      do not scan leading blanks and sign twice.
+-      Integer'Value("- 5") and Integer'Value("-+5") now correctly
+-      raise Constraint_Error.
+-
+-      * s-valllu.ads, s-valllu.adb (Scan_Raw_Long_Long_Unsigned,
+-      Scan_Long_Long_Unsigned): Split out most of the processing from
+-      Scan_Long_Long_Unsigned out into
+-      Scan_Raw_Long_Long_Unsigned, so that Val_LLI can call the Raw_ version.
+-      This prevents scanning leading blanks and sign twice.
+-      Also fixed a bug: Modular'Value("-0") should raise Constraint_Error
+-      See RM-3.5(44).
+-
+-      * s-valuns.ads, s-valuns.adb (Scan_Raw_Unsigned, Scan_Unsigned): Split
+-      out most of the processing from Scan_Unsigned out into
+-      Scan_Raw_Unsigned, so that Val_LLI can call the Raw_ version.
+-      This prevents scanning leading blanks and sign twice.
+-
+-      * s-valuti.ads, s-valuti.adb (Scan_Plus_Sign): Add Scan_Plus_Sign, for
+-      use with Modular'Value attribute.
+-      (Scan_Plus_Sign): Add Scan_Plus_Sign, for use with Modular'Value
+-      attribute.
+-
+-2006-02-13  Robert Dewar  <dewar@adacore.com>
+-
+-      * s-wchjis.adb (JIS_To_EUC): Raise Constraint_Error for invalid value
+-
+-2006-02-13  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * tracebak.c (PPC AIX/Darwin): Define FORCE_CALL to 1.
+-      (PPC VxWorks): Likewise.
+-      (Generic unwinder): Define FORCE_CALL to 0 if not already defined.
+-      (forced_callee): Make non-inlinable and non-pure.
+-      (__gnat_backtrace): Call forced_callee if FORCE_CALL is set to 1.
+-
+-2006-02-13  Arnaud Charlet  <charlet@adacore.com>
+-          Ben Brosgol  <brosgol@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * gnat_rm.texi, gnat_ugn.texi: Remove limitations with sparc m64
+-      support.
+-      Document that gnatbind -M option is for cross environments only.
+-      Added description of using gnatmem to trace gnat rtl allocs and deallocs
+-      Add note on use of $ to label implicit run time calls
+-      Add documentation for -gnatyI (check mode IN)
+-      Updated chapter on compatibility with HP Ada
+-      VMS-oriented edits.
+-      Ran spell and corrected errors
+-      Add documentation for gnatbind -d and rework documentation of -D
+-      at the same time.
+-      Add subprogram/data elimination section.
+-      Minor editing of annex A.
+-      Add section for gnatcheck.
+-      Add documentation for restriction No_Dispatching_Calls
+-      Add documentation for pragma Ada_2005
+-      Remove mention of obsolete pragma Propagate_Exceptions
+-      Document that pragma Unreferenced can appear after DO in ACCEPT
+-      Clarify Pure_Function for library level units
+-      Mention Max/Min in connection with No_Implicit_Conditionals
+-      No_Wide_Characters restriction is no longer partition-wide
+-      Add a nice example for Universal_Literal_String attribute
+-      Document that pragma No_Return can take multiple arguments
+-
+-      * ug_words: Added entry for gnatcheck
+-
+-      * g-ctrl_c.ads (Install_Handler): Enhance comments
+-
+-      * g-os_lib.ads: Add comments to OS_Exit that it is abrupt termination
+-
+-      * g-trasym.ads: Add documentation on how to do off line symbolic
+-      traceback computation.
+-
+-      * s-fatgen.adb: Add comments for Unaligned_Valid
+-
+-      * stand.ads: Fix typo in comment
+-
+-2006-02-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+-
+-      * Make-lang.in (check-gnat): Run run_acats with $(SHELL).
+-
+-2006-02-06  Roger Sayle  <roger@eyesopen.com>
+-
+-      * decl.c (gnat_substitute_in_type): Don't handle CHAR_TYPE.
+-
+-2006-02-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+-
+-      PR target/25926
+-      * initialize.c (__gnat_initialize): Provide HP-UX 10 host and target
+-      implementation that calls __main.
+-
+-2006-01-25  Peter O'Gorman  <peter@pogma.com>
+-
+-      PR bootstrap/25859
+-      * Makefile.in (GCC_LINK): Remove quotes.
+-      (tools targets): Link with either $(GNATLINK) --GCC="$(GCC_LINK)"
+-      or $(GCC_LINK).
+-
+-      (powerpc-darwin): Pass -shared-libgcc when building shared library.
+-
+-2006-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+-
+-      PR ada/24533
+-      * s-osinte-linux-hppa.ads: Reduce alignment of atomic_lock_t to 8.
+-
+-2005-12-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+-
+-      * s-osinte-linux-hppa.ads: Correct alignment of atomic_lock_t.
+-
+-2005-12-12  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * Makefile.in: Remove dummy setting of GCC_FOR_TARGET, no longer
+-      needed.
+-
+-2005-12-12  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * Make-lang.in: Update dependencies
+-
+-2005-12-12  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * Make-lang.in: Add rule for ada/exp_sel.o
+-
+-2005-12-12  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * Makefile.in (mingw section): Remove EH_MECHANISM setting.
+-
+-2005-12-09  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * gnatvsn.ads (Library_Version): Bump to version 4.2
+-      (ASIS_Version_Number): Bumped.
+-
+-2005-12-09  Doug Rupp  <rupp@adacore.com>
+-
+-      * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb (Is_Interface): Change
+-      Ada bind file prefix on VMS from b$ to b__.
+-      (Build_Dynamic_Library): Change Init file suffix on VMS from $init to
+-      __init.
+-
+-      * prj-nmsc.adb: Change some Hostparm.OpenVMS checks to
+-      Targparm.OpenVMS_On_Target.
+-      (Object_Suffix): Initialize with target object suffix.
+-      (Get_Unit): Change Ada bind file prefix on VMS from b$ to b__.
+-
+-      * butil.adb: Change some Hostparm.OpenVMS checks to
+-      Targparm.OpenVMS_On_Target.
+-
+-      * clean.adb: Change some Hostparm.OpenVMS checks to
+-      Targparm.OpenVMS_On_Target.
+-      (Object_Suffix): Initialize with call to Get_Target_Object_Suffix.
+-      ({declaraction},Delete_Binder_Generated_Files,{initialization}): Change
+-      Ada bind file prefix on VMS from b$ to b__.
+-
+-      * gnatlink.adb (Process_Args): Call Add_Src_Search_Dir for -I in
+-      --GCC so that Get_Target_Parameters can find system.ads.
+-      (Gnatlink): Call Get_Target_Parameters in mainline.
+-      Initialize standard packages for Targparm.
+-      Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
+-      (Process_Args): Also Check for object files with target object
+-      extension.
+-      (Make_Binder_File_Names): Create with target object extension.
+-      (Make_Binder_File_Names): Change Ada bind file prefix on VMS from b$
+-      to b__.
+-
+-      * mlib-prj.adb: Change some Hostparm.OpenVMS checks to
+-      Targparm.OpenVMS_On_Target.
+-      ({declaration},Build_Library,Check_Library): Change Ada bind file
+-      prefix on VMS from b$ to b__.
+-
+-      * osint-b.adb: Change some Hostparm.OpenVMS checks to
+-      Targparm.OpenVMS_On_Target.
+-      (Create_Binder_Output): Change Ada bind file prefix on VMS from b$ to
+-      b__.
+-
+-      * targext.c: New file.
+-
+-      * Makefile.in: add support for vxworks653 builds
+-      (../../vxaddr2line): gnatlink with targext.o.
+-      (TOOLS_LIBS): Move targext.o to precede libgnat.
+-      (init.o, initialize.o): Minor clean up in dependencies.
+-      (GNATLINK_OBJS): Add targparm.o, snames.o
+-      Add rules fo building targext.o and linking it explicitly with all
+-      tools.
+-      Also add targext.o to gnatlib.
+-
+-      * Make-lang.in: Add rules for building targext.o and linking it in
+-      with gnat1 and gnatbind.
+-      Add entry for exp_sel.o.
+-
+-      * osint.adb Change some Hostparm.OpenVMS checks to
+-      Targparm.OpenVMS_On_Target.
+-      (Object_File_Name): Use target object suffix.
+-
+-      * osint.ads (Object_Suffix): Remove, no longer used.
+-      (Target_Object_Suffix): Initialize with target object suffix.
+-
+-      * rident.ads: Add special exception to license.
+-
+-      * targparm.adb (Get_Target_Parameters): Set the value of
+-      Multi_Unit_Index_Character after OpenVMS_On_Target gets its definitive
+-      value.
+-      (Get_Target_Parameters): Set OpenVMS_On_Target if openvms.
+-
+-      * targparm.ads: Add special exception to license.
+-
+-      * g-os_lib.ads, g-os_lib.adb (Get_Target_Debuggable_Suffix): New
+-      function.
+-      (Copy_File): Make sure from file is closed if error on to file
+-      (Get_Target_Executable_Suffix, Get_Target_Object_Suffix): New functions.
+-
+-      * make.adb (Object_Suffix): Intialize with Get_Target_Object_Suffix.
+-      (Executable_Suffix): Intialize with Get_Target_Executable_Suffix.
+-
+-      * osint-c.adb (Set_Output_Object_File_Name): Initialize extension with
+-      target object suffix.
+-
+-2005-12-09  Jose Ruiz  <ruiz@adacore.com>
+-          Quentin Ochem  <ochem@adacore.com>
+-          Florian Villoing  <villoing@adacore.com>
+-
+-      * a-taster.ads, a-taster.adb: New files.
+-
+-      * a-elchha.adb (Last_Chance_Handler): Change the task termination soft
+-      link to the version that does nothing. This way the task termination
+-      routine is not executed twice for the environment task when finishing
+-      because of an unhandled exception.
+-
+-      * a-exextr.adb (Notify_Unhandled_Exception): Call the task termination
+-      handler because of an unhandled exception.
+-
+-      * a-taside.adb (Abort_Tasks): Call the Abort_Tasks procedure from
+-      System.Tasking.Utilities instead of that in System.Tasking.Stages.
+-
+-      * s-finimp.adb (initialization code): Modify the soft link for the
+-      finalization of the global list instead of Adafinal.
+-
+-      * s-soflin.ads, s-soflin.adb (Task_Termination_NT): Add this
+-      non-tasking version of the soft link for task termination. We do
+-      nothing since if we are using the non-tasking version it
+-      means that the task termination functionality is not used.
+-      (Null_Finalize_Global_List): Add this null version for the procedure
+-      in charge of finalizing the global list for controlled objects.
+-      (Null_Adafinal): Remove this procedure. Adafinal_NT has been created
+-      instead for handling run-time termination in a more flexible way.
+-      (Adafinal_NT): This new procedure will take care of finalizing the
+-      global list for controlled objects if needed, but no tasking
+-      finalization.
+-
+-      * s-tarest.adb (Task_Lock): Do not try to lock again the
+-      Global_Task_Lock if we already own it. Otherwise, we get blocked in
+-      some run-time operations.
+-      (Task_Unlock): Do not try to actually unlock the Global_Task_Lock
+-      until all nested locks have been released.
+-      (Task_Wrapper): Call the fall-back task termination handler. It
+-      applies to all tasks but the environment task.
+-      (Finalize_Global_Tasks): Add the call for the task termination
+-      procedure for the environment task.
+-      (Task_Wrapper): suppress warnings around declaration of
+-      Secondary_Stack_Address.
+-
+-      * s-tasini.adb (Final_Task_Unlock): Global_Task_Lock_Nesting has been
+-      moved to the Common_ATCB record.
+-      (Task_Lock): Global_Task_Lock_Nesting has been moved to the
+-      Common_ATCB record.
+-      (Task_Unlock): Global_Task_Lock_Nesting has been moved to the
+-      Common_ATCB record.
+-
+-      * s-taskin.adb (Initialize_ATCB): Initialize Global_Task_Lock_Nesting,
+-      Fall_Back_Handler, and Specific_Handler.
+-
+-      * s-taskin.ads (Cause_Of_Termination): Redefine this type here, already
+-      defined in Ada.Task_Termination, to avoid circular dependencies.
+-      (Termination_Handler): Redefine this type here, alredy defined in
+-      Ada.Task_Termination, for avoiding circular dependencies.
+-      (Common_ATCB): Add the Fall_Back_Handler and Specific_Handler required
+-      for storing task termination handlers. In addition,
+-      Global_Task_Lock_Nesting has been moved from Ada_Task_Control_Block to
+-      Common_ATCB because it is used by both the regular and the restricted
+-      run times.
+-      (Ada_Task_Control_Block): Move Global_Task_Lock_Nesting from here to
+-      Common_ATCB because it is used by both the regular and the restricted
+-      run times.
+-      (Common_ATCB): Added a dynamic task analyzer field.
+-
+-      * s-tassta.adb (Abort_Tasks): Move the code in charge of checking
+-      potentially blocking operations to System.Tasking.Utilities.Abort_Tasks.
+-      (Task_Wrapper): Call the task termination handler. It applies to all
+-      tasks but the environment task.
+-      (Finalize_Global_Tasks): Call the task termination procedure for the
+-      environment task. The call to Finalize_Global_List is now performed
+-      using the soft links mechanism.
+-      (Task_Wrapper): added dynamic stack analysis.
+-
+-      * s-tasuti.adb (Abort_Tasks): The code in charge of checking
+-      potentially blocking operations has been moved from
+-      System.Tasking.Stages.Abort_Tasks to this procedure. There can be
+-      direct calls to System.Tasking.Utilities.Abort_Tasks that do not pass
+-      through System.Tasking.Stages.Abort_Tasks, and we do not want to miss
+-      this run-time check.
+-
+-      * s-solita.adb (Task_Termination_Handler_T): Add this task-safe version
+-      of task termination procedure.
+-      (Init_Tasking_Soft_Links): Install the task-safe version of the soft
+-      link for the task termination procedure.
+-
+-      * bindusg.adb: (Bindusg): Added documentation for -u option.
+-
+-      * bindgen.adb (Get_Main_Ada) Added handling of dynamic stack analysis.
+-      (Get_Main_C): Add handling of dynamic stack analysis.
+-      (Gen_Output_File_C): Add external functions for dynamic stack analysis.
+-
+-      * Makefile.rtl: Add entry for a-taster (Ada.Task_Termination).
+-      (GNATRTL_NONTASKING_OBJS) Added entries for dynamic stack analysis
+-      (GNATRTL_NONTASKING_OBJS): Add AltiVec files.
+-
+-      * opt.ads: Added flags used by dynamic stack measurement.
+-      (Max_Line_Length): Remove (not used anymore)
+-
+-      * s-io.ads, s-io.adb (Standard_Error): new subprogram
+-      (Standart_Output): new subprogram
+-      (Set_Output): new subprogram
+-      (Put): now uses the value of Current_Out to know if the output has to be
+-      send to stderr or stdout.
+-
+-      * s-stausa.ads: Complete implementation.
+-
+-      * switch-b.adb: Added handling of -u switch for dynamic stack analysis.
+-
+-      * impunit.adb (Non_Imp_File_Names_05): Add Ada.Task_Termination to the
+-      list of Ada 05 files.
+-      (GNAT Library Units): Add AltiVec files.
+-
+-      * g-allein.ads, g-alleve.adb, g-alleve.ads, g-altcon.adb,
+-      g-altcon.ads, g-altive.ads, g-alveop.adb, g-alveop.ads
+-      g-alvety.ads, g-alvevi.ads: New files providing altivec API.
+-
+-2005-12-09  Nicolas Setton  <setton@adacore.com>
+-
+-      * adaint.c (__gnat_locate_regular_file): Return immediately if
+-      file_name is empty.
+-
+-2005-12-09  Javier Miranda  <miranda@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * a-tags.ads, a-tags.adb (Offset_To_Top): Moved from the package body
+-      to the specification because the frontend generates code that uses this
+-      subprogram.
+-      (Set_Interface_Table): Add missing assertion.
+-      Update documentation describing the run-time structure.
+-      (Displace): New subprogram that displaces the pointer to the object
+-      to reference one of its secondary dispatch tables.
+-      (IW_Membership): Modified to use the new table of interfaces.
+-      (Inherit_TSD): Modified to use the new table of interfaces.
+-      (Register_Interface_Tag): Use the additional formal to fill the
+-      contents of the new table of interfaces.
+-      (Set_Interface_Table): New subprogram that stores in the TSD the
+-      pointer to the table of interfaces.
+-      (Set_Offset_To_Top): Use the additional formal to save copy of
+-      the offset value in the table of interfaces.
+-      Update structure of GNAT Primary and Secondary dispatch table diagram.
+-      Add comment section on GNAT dispatch table prologue.
+-      (Offset_To_Signature): Update the constant value of the Signature field.
+-      (Dispatch_Table): Update comment on hidden fields in the prologue.
+-      (Get_Entry_Index, Get_Prim_Op_Kind, Get_Offset_Index, OSD,
+-      Set_Entry_Index, Set_Offset_Index, Set_Prim_Op_Kind, SSD, TSD): Change
+-      the type of formal parameter T to Tag, introduce additional assertions.
+-      (Get_Num_Prim_Ops, Set_Num_Prim_Ops): Remove an unnecessary type
+-      conversion.
+-      (Get_Tagged_Kind, Set_Tagged_Kind): New bodies.
+-
+-      * exp_ch6.adb (Register_Interface_DT_Entry): Remove the Thunk_Id actual
+-      in all the calls to Expand_Interface_Thunk. Instead of referencing the
+-      record component containing the tag of the secondary dispatch table we
+-      have to use the Offset_To_Top run-time function to get this information;
+-      otherwise if the pointer to the base of the object has been displace
+-      we get a wrong value if we use the 'position attribute.
+-
+-      * exp_disp.adb (Expand_Interface_Thunk): Remove the Thunk_Id actual in
+-      all the calls to Expand_Interface_Thunk.
+-      (Make_Secondary_DT): Secondary dispatch tables do not have a table of
+-      interfaces; hence the call to Set_Interface_Table was clearly wrong.
+-      (Collect_All_Interfaces): Modify the internal subprogram Collect to
+-      ensure that the interfaces implemented by the ancestors are placed
+-      at the header of the generated list.
+-      (Expand_Interface_Conversion): Handle the case in which the displacement
+-      associated with the interface conversion is not statically known. In
+-      this case we generate a call to the new run-time subprogram Displace.
+-      (Make_DT): Generate and fill the new table of interfaces.
+-      (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Add entries for
+-      Get_Tagged_Kind and Set_Tagged_Kind.
+-      (Tagged_Kind): New function that determines the tagged kind of a type
+-      with respect to limitedness and concurrency and returns a reference to
+-      RE_Tagged_Kind.
+-      (Make_Disp_Asynchronous_Select_Body, Make_Disp_Conditional_Select_Body,
+-      Make_Disp_Timed_Select_Body): Correctly retrieve the pointer to the
+-      primary dispatch table for a type.
+-      (Make_DT, Make_Secondary_DT): Set the tagged kind in the primary and
+-      secondary dispatch table respectively of a tagged type.
+-
+-      * exp_disp.ads (Expand_Interface_Thunk): Remove Thunk_Id formal.
+-      (Expand_Interface_Conversion): New subprogram to indicate if the
+-      displacement of the type conversion is statically known.
+-      (DT_Access_Action): Add values Get_Tagged_Kind and Set_Tagged_Kind.
+-
+-      * rtsfind.ads (RE_Offset_To_Top): New entity
+-      (RTU_Id): Add Ada_Task_Termination to the list so that it is made
+-      accessible to users.
+-      (Re_Displace): New entity
+-      (RE_Interface_Data): New entity
+-      (RE_Set_Interface_Data): New_Entity
+-      (RE_Id, RE_Unit_Table): Add entry for RE_Get_Tagged_Kind,
+-      Set_Tagged_Kind, RE_Tagged_Kind, RE_TK_Abstract_Limited_Tagged,
+-      RE_TK_Abstract_Tagged, RE_TK_Limited_Tagged, RE_TK_Protected,
+-      RE_TK_Tagged, RE_TK_Task.
+-
+-      * exp_ch3.adb (Init_Secondary_Tags): Modify the subprogram
+-      Init_Secondary_Tags_Internal to allow its use with interface types and
+-      also to generate the code for the new additional actual required
+-      by Set_Offset_To_Top.
+-      (Build_Init_Statements): In case of components associated with abstract
+-      interface types there is no need to generate a call to its IP.
+-      (Freeze_Record_Type): Generate Select Specific Data tables only for
+-      concurrent types.
+-      (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies): Generate
+-      the bodies and specifications of the predefined primitive operations
+-      dealing with dispatching selects and abort, 'Callable, 'Terminated only
+-      for concurrent types.
+-
+-      * exp_sel.ads, exp_sel.adb: New files.
+-
+-      * exp_ch9.adb (Build_Protected_Entry, Expand_N_Protected_Body,
+-      Expand_N_Protected_Type_Declaration, Make_Initialize_Protection): Handle
+-      properly protected objects and attach handler in the case of the
+-      restricted profile.
+-      Move embeded package Select_Expansion_Utilities into a separate external
+-      package.
+-      (Expand_N_Asynchronous_Select, Expand_N_Conditional_Select,
+-      Expand_N_Timed_Entry_Call): Correct calls external package Exp_Sel.
+-      (Build_K, Build_S_Assignment): New subprograms, part of the select
+-      expansion utilities.
+-      (Expand_N_Asynchronous_Select, Expand_N_Conditional_Entry_Call,
+-      Expand_N_Timed_Entry_Call): Optimize expansion of select statements
+-      where the trigger is a dispatching procedure of a limited tagged type.
+-
+-2005-12-09  Olivier Hainque  <hainque@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity, renaming object case): Don't early expand
+-      pointer initialization values. Make a SAVE_EXPR instead. Add comments
+-      about the use and expansion of SAVE_EXPRs in the various possible
+-      renaming handling cases.
+-      (components_to_record, compare_field_bitpos): Sort by DECL_UID, not by
+-      abusing DECL_FCONTEXT.
+-
+-2005-12-09  Matthew Heaney  <heaney@adacore.com>
+-
+-      * a-convec.adb (Merge): Added assertions to check whether vector params
+-      are sorted.
+-
+-      * a-coinve.adb (Merge): Added assertions to check whether vector params
+-      are sorted.
+-
+-      * a-cohama.ads (Cursor'Write): raises Program_Error per latest AI-302
+-      draft.
+-      (Cursor'Read): raises PE
+-
+-      * a-cohama.adb (Insert.New_Node): Uses box-style syntax to init elem
+-      to its default value.
+-
+-      * a-cihama.adb: Manually check whether cursor's key and elem are
+-      non-null
+-
+-      * a-cidlli.ads, a-cidlli.adb (Splice): Changed param name and param mode
+-      (Merge): Assert that target and source lists are in order
+-      (Swap): Declare non-const temporaries, to pass to Splice
+-
+-      * a-cdlili.ads: (Splice): Changed param name and param mode
+-
+-      * a-cdlili.adb: (Splice): Changed param name and param mode
+-      (Merge): Assert that target and source lists are in order
+-      (Swap): Declare non-const temporaries, to pass to Splice
+-
+-      * a-ciorma.ads, a-coorma.ads: (Read): declare Stream param as not null
+-      (Write): declare Stream param as not null
+-
+-      * a-ciorma.adb, a-coorma.adb: All explicit raise statements now include
+-      an exception message.
+-
+-2005-12-09  Thomas Quinot  <quinot@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * hostparm.ads (Max_Line_Length): Set to Types.Column_Number'Last - 1,
+-      which is the absolute maximum length we can support.
+-
+-      * frontend.adb: For the processing of configuration pragma files,
+-      remove references to Opt.Max_Line_Length, which is not checked anymore.
+-
+-      * namet.ads (Name_Buffer): Adjust size to reflect increase on max line
+-      length.
+-
+-      * scn.adb, scng.adb:
+-      Always check line length against the absolute supported maximum,
+-      Hostparm.Max_Line_Length.
+-
+-      * stylesw.adb (Set_Style_Check_Options, case M): The maximum supported
+-      value for the maximum line length is Max_Line_Length (not
+-      Column_Number'Last).
+-      Minor error msg update
+-      (Set_Style_Check_Options): New interface returning error msg
+-      Minor code reorganization (processing for 'M' was out of alpha order)
+-
+-      * switch-c.adb: New interface for Set_Style_Check_Options
+-
+-      * stylesw.ads (Set_Style_Check_Options): New interface returning error
+-      msg.
+-
+-2005-12-09  Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_aggr.adb (Build_Record_Aggr_Code): Default-initialialized records
+-      with IP subprogram were only supported if there were limited types.
+-
+-      * sem_aggr.adb (Resolve_Record_Aggregate): Default-initialialized
+-      records with IP subprogram were only supported if there were limited
+-      types.
+-
+-2005-12-09  Olivier Hainque  <hainque@adacore.com>
+-          Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * trans.c (tree_transform, emit_check): Adjust calls to
+-      build_call_raise, passing the now expected GNAT_NODE argument.
+-
+-      * gigi.h (build_call_raise): Add a GNAT_NODE argument to convey better
+-      source line information than what the current global locus indicates
+-      when appropriate.
+-
+-      * utils2.c (build_simple_component_ref): Return 0 if the offset of the
+-      field has overflowed.
+-      (build_call_raise): Add a GNAT_NODE argument to convey better source
+-      line information than what the current global locus indicates when
+-      appropriate.
+-      (build_component_ref): Adjust call to build_call_raise.
+-
+-2005-12-09  Pascal Obry  <obry@adacore.com>
+-
+-      * g-diopit.adb (Find): Fix test to exit the iterator and make sure that
+-      the iterator is quitting iteration on parent directory.
+-
+-2005-12-09  Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_ch5.adb (Expand_N_Assignment_Statement): In case of tagged types
+-      and the assignment to a class-wide object, before the assignment we
+-      generate a run-time check to ensure that the tag of the Target is
+-      covered by the tag of the source.
+-
+-2005-12-09  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_imgv.adb (Expand_Image_Attribute): Generate extra boolean
+-      parameter in call to Image_Wide_Character.
+-
+-      * s-imgwch.ads, s-imgwch.adb (Image_Wide_Character): Add boolean
+-      parameter Ada_2005 to deal with annoying FFFE/FFFF inconsistency.
+-      (Image_Wide_Character): Add boolean parameter Ada_2005 to deal with
+-      annoying FFFE/FFFF inconsistency.
+-
+-2005-12-09  Robert Dewar  <dewar@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_util.ads, exp_util.adb (Is_Ref_To_Bit_Packed_Slice): Handle case
+-      of type conversion.
+-      (Find_Interface): New subprogram that given a tagged type and one of its
+-      component associated with the secondary table of an abstract interface
+-      type, return the entity associated with such abstract interface type.
+-      (Make_Subtype_From_Expr): If type has unknown discriminants, always use
+-      base type to create anonymous subtype, because entity may be a locally
+-      declared subtype or generic actual.
+-      (Find_Interface): New subprogram that given a tagged type and one of its
+-      component associated with the secondary table of an abstract interface
+-      type, return the entity associated with such abstract interface type.
+-
+-      * sem_res.adb (Resolve_Type_Conversion): Handle the case in which the
+-      conversion cannot be handled at compile time. In this case we pass this
+-      information to the expander to generate the appropriate code.
+-
+-2005-12-09  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * einfo.adb (Itype_Printed): New flag
+-      (Is_Limited_Type): Derived types do not inherit limitedness from
+-      interface progenitors.
+-      (Is_Return_By_Reference_Type): Predicate does not apply to limited
+-      interfaces.
+-
+-      * einfo.ads (Itype_Printed): New flag
+-      Move Is_Wrapper_Package to proper section
+-      Add missing Inline for Is_Volatile
+-
+-      * output.ads, output.adb (Write_Erase_Char): New procedure
+-      (Save/Restore_Output_Buffer): New procedures
+-      (Save/Restore_Output_Buffer): New procedures
+-
+-      * sprint.ads, sprint.adb (Write_Itype): Handle case of record itypes
+-      Add missing support for anonymous access type
+-      (Write_Id): Insert calls to Write_Itype
+-      (Write_Itype): New procedure to output itypes
+-
+-      * par-ch12.adb (P_Formal_Derived_Type_Definition): In Ada 2005, handle
+-      use of "limited" in declaration.
+-
+-      * sinfo.ads, sinfo.adb:
+-      Formal derived types can carry an explicit "limited" indication.
+-
+-      * sem_ch3.adb: Add with and use of Targparm.
+-      (Create_Component): If Frontend_Layout_On_Target is True and the
+-      copied component does not have a known static Esize, then reset
+-      the size and positional fields of the new component.
+-      (Analyze_Component_Declaration): A limited component is
+-      legal within a protected type that implements an interface.
+-      (Collect_Interfaces): Do not add to the list the interfaces that
+-      are implemented by the ancestors.
+-      (Derived_Type_Declaration): If the parent of the full-view is an
+-      interface perform a transformation of the tree to ensure that it has
+-      the same parent than the partial-view. This simplifies the job of the
+-      expander in order to generate the correct object layout, and it is
+-      needed because the list of interfaces of the full-view can be given in
+-      any order.
+-      (Process_Full_View): The parent of the full-view does not need to be
+-      a descendant of the parent of the partial view if both parents are
+-      interfaces.
+-      (Analyze_Private_Extension_Declaration): If declaration has an explicit
+-      "limited" the parent must be a limited type.
+-      (Build_Derived_Record_Type): A derived type that is explicitly limited
+-      must have limited ancestor and progenitors.
+-      (Build_Derived_Type): Ditto.
+-      (Process_Full_View): Verify that explicit uses of "limited" in partial
+-      and full declarations are consistent.
+-      (Find_Ancestor_Interface): Remove function.
+-      (Collect_Implemented_Interfaces): New procedure used to gather all
+-      implemented interfaces by a type.
+-      (Contain_Interface): New function used to check whether an interface is
+-      present in a list.
+-      (Find_Hidden_Interface): New function used to determine whether two
+-      lists of interfaces constitute a set equality. If not, the first
+-      differing interface is returned.
+-      (Process_Full_View): Improve the check for the "no hidden interface"
+-      rule as defined by AI-396.
+-
+-2005-12-09  Robert Dewar  <dewar@adacore.com>
+-
+-      * freeze.adb (Freeze_Record_Type): Only test for useless pack on record
+-      types, not on record subtypes.
+-      (Freeze_Entity): Code cleanup. Add barrier to the loop
+-      that generates the references for primitive operations. This allows to
+-      remove an unnecessary exception handler.
+-      Code reformatting and comment clean ups.
+-
+-2005-12-09  Vincent Celier  <celier@adacore.com>
+-
+-      * gnatcmd.adb (GNATCmd): GNAT CHECK accepts switch -U
+-      If GNAT CHECK is called with a project file, but with no
+-      source on the command line, call gnatcheck with all the compilable
+-      sources of the project.
+-      Take into account the new command Check, for gnatcheck. Treat as for
+-      other ASIS tools: take into account project, specific package Check and
+-      Compiler switches.
+-      For ASIS tools, add the switches in package Compiler for
+-      the invocation of the compiler.
+-
+-      * prj-attr.adb: Add package Check and its attributes
+-
+-      * vms_conv.ads (Command_Type): New command Check, for gnatcheck
+-
+-      * vms_conv.adb (Initialize): Change Params of command Check to
+-      unlimited files.
+-      Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
+-      Add data for new command Check
+-
+-      * vms_data.ads: Add project related qualifiers for GNAT CHECK and GNAT
+-      ELIM.
+-      Add qualifiers for Check command options
+-      (Command_Type): New command Check
+-
+-2005-12-09  Thomas Quinot  <quinot@adacore.com>
+-
+-      * mlib-utl.adb (Ar): Use Output.Buffer_Max to determine whether a
+-      command line switch overruns the output buffer.
+-
+-2005-12-09  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_prag.adb: Processing for new pragma Complete_Representation
+-      (Analyze_Pragma, case Debug): Implement two argument form.
+-
+-      * par-prag.adb: Entry for new pragma Complete_Representation
+-      (Prag, case Debug): Recognize two argument form of pragma Debug
+-      New interface for Set_Style_Check_Options.
+-
+-      * sem_ch13.adb: Implement new pragma Complete_Representation.
+-
+-      * snames.adb, snames.ads, snames.h: Entry for new pragma
+-      Complete_Representation.
+-
+-2005-12-09  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Revise test for
+-      available user-specified stream attributes on limited parameters to
+-      also test the type directly rather than only its underlying type (for
+-      Ada 95) and, in the case of Ada 2005, to check that the user-specified
+-      attributes are visible at the point of the subprogram declaration.
+-      For Ada 2005, the error message is modified to indicate that the
+-      type's stream attributes must be visible (again, only for -gnat05).
+-
+-2005-12-09  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch12.adb (Subtypes_Match): Handle properly Ada05 arrays of
+-      anonymous access types.
+-
+-      * sem_eval.adb (Subtypes_Statically_Match): Implement new rules for
+-      matching of anonymous access types and anonymous access to subprogram
+-      types. 'R'M 4.9.1 (2/2).
+-
+-2005-12-09  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch4.adb (Remove_Abstract_Operations): Do not apply preference
+-      rule prematurely when operands are universal, remaining ambiguities
+-      will be removed during resolution.
+-      Code cleanup.
+-
+-      * sem_type.adb (Disambiguate): In Ada95 mode, discard interpretations
+-      that are Ada 2005 functions.
+-      (Has_Abstract_Interpretation): Subsidiary to
+-      Remove_Conversions, to remove ambiguities caused by abstract operations
+-      on numeric types when operands are universal.
+-
+-2005-12-09  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_ch6.adb (Analyze_Subprogram_Body): Properly check categorization
+-      for case where spec is categorized.
+-
+-2005-12-09  Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_ch8.adb (Find_Type): In case of tagged types that are concurrent
+-      types use the corresponding record type. This was not needed before
+-      the implementation of Ada 2005 synchronized types because
+-      concurrent types were never tagged types in Ada 95.
+-
+-2005-12-09  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch9.adb (Analyze_Delay_Alternative, Analyze_Delay_Until): Use the
+-      first subtype of the type of the expression to verify that it is a
+-      legal Time type.
+-
+-2005-12-09  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_util.ads, sem_util.adb (Full_Qualified_Name): Now provides
+-      decoded names.
+-
+-2005-12-09  Quentin Ochem  <ochem@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Ed Falis  <falis@adacore.com>
+-          Florian Villoing  <villoing@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-
+-      * gnat_ugn.texi: Created section "Stack Related Tools"
+-      Moved "Stack Overflow Checking" subsection from "Switches for gcc" to
+-      "Stack Related Tools"
+-      Added subsection "Static Stack Usage Analysis"
+-      Added subsection "Dynamic Stack Usage Analysis"
+-      Include documentation of itypes in sprint listing (-gnatG)
+-      Documented gnatbind -D switch (default sec stack size for fixed sec
+-      stacks).
+-      Added Interrupt_State and Persistent_BSS to list of configuration
+-      pragmas.
+-      Add missing doc for maximum value of nnn in -gnatyMnnn
+-
+-      * gnat_rm.texi: Document the AltiVec binding.
+-      Add documentation for pragma Complete_Representation
+-      Shortened an overly long line (> 79 chars)
+-      Clarify documentation of unchecked conversion in implementation
+-      defined cases.
+-      Document two argument form of pragma Debug
+-
+-      * types.ads (Column_Number): Update documentation.
+-
+-      * exp_ch7.ads (Make_Adjust_Call): Document the special processing for
+-      library level Finalize_Storage_Only objects (these are not attached to
+-      any finalization list).
+-
+-      * system-mingw.ads: (Underlying_Priorities): Update comment.
+-
+-2005-12-09  Robert Dewar  <dewar@adacore.com>
+-
+-      * i-c.adb, i-cexten.ads, i-cobol.adb, i-cobol.ads, i-cpoint.ads,
+-      i-cpp.adb, i-cpp.ads, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
+-      inline.adb, interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads,
+-      i-os2thr.ads, itypes.adb, itypes.adb, itypes.ads, krunch.ads,
+-      krunch.adb, lib.adb, lib.ads, lib-list.adb, lib-load.adb,
+-      lib-load.ads, lib-sort.adb, live.adb, make.ads, i-cstrea-vms.adb,
+-      interfac-vms.ads, makegpr.adb, indepsw-gnu.adb, indepsw.ads,
+-      s-wchcon.ads, sdefault.ads, sem_ch10.adb, sem_eval.ads: Minor
+-      reformatting.
+-
+-2005-12-09  Robert Dewar  <dewar@adacore.com>
+-
+-      * s-vaflop-vms-alpha.adb: (Ne_F): New function
+-      (Ne_G): New function
+-
+-      * exp_ch4.adb (Expand_Allocator_Expression): Factor duplicated code
+-      for tag assignment.
+-      (Rewrite_Comparison): Handle case where operation is not a comparison
+-      and ignore, and also handle type conversion case.
+-
+-2005-12-09  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_aggr.ads: Fix typo in comment.
+-      ???-mark Convert_Aggr_In_Assignment as needing documentation.
+-
+-2005-12-09  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * layout.adb: Replace various uses of byte by storage unit throughout.
+-      (Get_Max_SU_Size): Name changed from Get_Max_Size. In the case of a
+-      static size, convert to storage units before returning, to conform to
+-      spec.
+-
+-2005-12-09  Matthew Gingell  <gingell@adacore.com>
+-
+-      * g-exctra.ads: Fix typo in comment.
+-
+-2005-12-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * utils.c: Minor reformatting.
+-
+-2005-12-09  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-soccon.ads:
+-      Further comment fixes to make the status of the default file clear
+-
+-      * s-bitops.adb: Clarify comment for Bits_Array
+-
+-2005-12-07  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
+-
+-      * Make-lang.in (ada.install-normal): Remove.
+-
+-2005-12-07  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
+-
+-      * Make-lang.in: Remove all dependencies on s-gtype.
+-
+-2005-12-05  Richard Guenther  <rguenther@suse.de>
+-
+-      * utils.c (convert): Use fold_convert where appropriate.
+-
+-2005-12-05  Paolo Bonzini  <bonzini@gnu.org>
+-
+-      * Makefile.in (gnatlib): Fix regex, using \. instead of . when
+-      a period is meant.
+-
+-2005-12-02  Richard Guenther  <rguenther@suse.de>
+-
+-      * trans.c (gnat_gimplify_expr): Use buildN instead of build.
+-
+-2005-12-01  Roger Sayle  <roger@eyesopen.com>
+-
+-      * utils.c (max_size): Only test for TREE_OVERFLOW on INTEGER_CST
+-      nodes.
+-
+-2005-11-23  Laurent Guerby  <laurent@guerby.net>
+-
+-      * mlib-prj.adb (Build_Library): Initialize Delete.
+-
+-2005-11-21  Joel Sherrill  <joel.sherrill@oarcorp.com>
+-
+-      * socket.c: Add extern int h_errno for rtems since networking header
+-      files are not available at this point in a tool bootstrap. Newlib
+-      only has basic C library header files.
+-
+-2005-11-19  Richard Guenther  <rguenther@suse.de>
+-      Roger Sayle  <roger@eyesopen.com>
+-
+-      PR ada/23717
+-      * misc.c (internal_error_function): Don't use vsprintf to format
+-      the error message text, instead use pp_format_text and the new
+-      pretty printer APIs.  This allows handling of %qs, %w, etc.
+-
+-2005-11-18  Laurent Guerby  <laurent@guerby.net>
+-
+-      PR ada/24857
+-      * Makefile.in: Use s-auxdec-empty for RTEMS.
+-
+-2005-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      PR ada/22333
+-      * trans.c (gnat_gimplify_expr, case ADDR_EXPR): Always make
+-      a temporary if taking the address of something that is neither
+-      reference, declaration, or constant, since the gimplifier
+-      can't handle that case.
+-
+-2005-11-17  Laurent Guerby  <laurent@guerby.net>
+-
+-      PR ada/24857
+-      * s-auxdec-empty.ads, s-auxdec-empty.adb: New files.
+-
+-2005-11-16  Richard Guenther  <rguenther@suse.de>
+-
+-      * Makefile.in: Add EH_MECHANISM=-gcc to s390(x) linux.
+-
+-2005-11-16  Joel Sherrill  <joel.sherrill@oarcorp.com>
+-
+-      PR ada/24855
+-      * raise-gcc.c: Add missing stdarg.h include.
+-
+-2005-11-16  Richard Guenther  <rguenther@suse.de>
+-
+-      * Make-lang.in (ada/decl.o): Add $(EXPR_H) dependency.
+-      (ada/misc.o): Likewise.
+-
+-2005-11-14  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-soccon.ads: Minor reformatting. Update comments.
+-
+-      * gsocket.h: Include <sys/times.h> in the VxWorks case, in order to
+-      gain visibility on the declaration of struct timeval.
+-
+-      * g-soccon-freebsd.ads,
+-      g-soccon-darwin.ads,
+-      g-soccon-tru64.ads,
+-      g-soccon-aix.ads,
+-      g-soccon-irix.ads,
+-      g-soccon-hpux.ads,
+-      g-soccon-solaris.ads,
+-      g-soccon-vms.ads,
+-      g-soccon-mingw.ads,
+-      g-soccon-vxworks.ads (SIZEOF_tv_sec, SIZEOF_tv_usec): New constants.
+-
+-      * g-soccon-hpux-ia64.ads, g-soccon-linux-ppc.ads,
+-      g-soccon-solaris-64.ads, g-soccon-linux-64.ads,
+-      g-soccon-linux-x86.ads: New files.
+-
+-      * g-socthi-mingw.adb:
+-      (Socket_Error_Message): Remove redundant use of GNAT.Sockets.Constants
+-
+-      * g-socthi-vxworks.ads, g-socthi-vms.ads, g-socthi-mingw.ads
+-      (time_t, suseconds_t): New types constructed to match the tv_sec
+-      and tv_usec fields of C struct timeval.
+-      (Timeval): Construct structure in terms of the new types.
+-      (Host_Errno): New function (imported from socket.c), returns last hosts
+-      database error.
+-
+-      * g-socthi-vxworks.adb:  Add error handling circuitry.
+-
+-      * g-socket.ads, g-socket.adb (To_Timeval): Reflect change of type for
+-      components of struct timeval.
+-      (Get_Host_By_Name, Get_Host_By_Address): Fix error reporting circuitry.
+-      (Check_Selector): In error conditions, clear internal socket sets to
+-      avoid a memory leak.
+-      (Get_Socket_Option, Set_Socket_Option): Support for Multicast_If,
+-      Send_Timeout, Receive_Timeout.
+-
+-      * g-socthi.ads (time_t, suseconds_t): New types constructed to match
+-      the tv_sec and tv_usec fields of C struct timeval.
+-      (Timeval): Construct structure in terms of the new types.
+-      (Host_Errno): New function (imported from socket.c), returns last hosts
+-      database error.
+-
+-      * socket.c (__gnat_get_h_errno): New function to retrieve h_errno, the
+-      hosts database last error code.
+-
+-      * gen-soccon.c: Complete value expansion should not be performed on
+-      TARGET, as it has the form of a math expression, and some components
+-      may be platform-defined macros.
+-      For VxWorks, generate the OK and ERROR values.
+-      New constants giving the sizes of the components of C struct timeval.
+-
+-2005-11-14  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      PR ada/18434
+-      * types.ads: Include All_Checks in Suppress_Array
+-
+-      * checks.adb (Check_Needed): Remove kludge for a/=b rewritten as
+-      not(a=b), since we no longer do this rewriting, and hence it is not
+-      needed.
+-      (Elaboration_Checks_Suppressed): Add special casing to
+-      deal with different cases of static and dynamic elaboration checks (all
+-      checks does not count in the first case, but does in the second).
+-      (Expr_Known_Valid): Do not assume that the result of any arbitrary
+-      function call is valid, since this is not the case.
+-      (Ensure_Valid): Do not apply validity check to a real literal
+-      in a universal or fixed context
+-
+-      * exp_ch4.adb (Expand_N_Op_Ne): Don't expand a/=b to not(a=b) for
+-      elementary types using the operator in standard. It is cleaner not to
+-      modify the programmers intent, especially in the case of floating-point.
+-      (Rewrite_Comparison): Fix handling of /= (this was always wrong, but
+-      it did not matter because we always rewrote a/=b to not(a=b).
+-      (Expand_Allocator_Expression): For an allocator expression whose nominal
+-      subtype is an unconstrained packed type, convert the expression to its
+-      actual constrained subtype.
+-      Implement warning for <= or >= where < or > not possible
+-      Fix to Vax_Float tests (too early in many routines, causing premature
+-      Vax_Float expansions.
+-
+-      * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow this pragma
+-      to be used with packages and generic packages as well as with
+-      subprograms.
+-      (Suppress): Set All_Checks, but not Elaboration_Check, for case
+-      of pragma Suppress (All_Checks)
+-      (Analyze_Pragma, case Warnings): Implement first argument allowed to be
+-      a string literal for precise control over warnings.
+-      Avoid raise of pragma in case of unrecognized pragma and just return
+-      instead.
+-
+-      * sem_prag.ads: Minor reformatting
+-
+-      * switch-c.adb (Scan_Front_End_Switches): Replace "raise Bad_Switch;"
+-      with call to new procedure Bad_Switch. Call Scan_Pos with new parameter
+-      Switch. Do not handle any exception.
+-      Include -gnatwx as part of -gnatg (warn on redundant parens)
+-      Allow optional = after -gnatm
+-      (Scan_Front_End_Switches): The -gnatp switch sets All_Checks, but no
+-      longer sets Elaboration_Checks.
+-      Code to set warning mode moved to Sem_Warn
+-      so that it can be shared by pragma processing.
+-
+-      * s-mastop-tru64.adb (Pop_Frame): Remove redundant parentheses in if
+-      statement.
+-
+-      * s-taprop-solaris.adb:
+-      Change some <= to =, to avoid new warning
+-
+-      * a-exexda.adb, prj-proc.adb:
+-      Fix obvious typo (Num_Tracebacks compared <= 0 instead of < 0)
+-      Fix obvious typo (Total_Errors_Detected <= 0 should be = 0)
+-
+-2005-11-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_vfpt.adb: Handle /= case
+-      (Expand_Vax_Conversion): Properly recognize Conversion_OK flag
+-      so that we do not get duplicate scaling for fixed point conversions.
+-
+-      * s-vaflop.ads, s-vaflop.adb: (Ne_F): New function
+-
+-2005-11-14  Matthew Gingell  <gingell@adacore.com>
+-
+-      * system-lynxos-ppc.ads, system-lynxos-x86.ads:
+-      Increase default priority on Lynx from 15 to 17, and meet the Ada
+-      requirement that Default_Priority be ((Priority'First +
+-      Priority'Last) / 2) by increasing the range of Interrupt_Priority.
+-
+-2005-11-14  Vincent Celier  <celier@adacore.com>
+-
+-      * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+-      mlib-tgt-hpux.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
+-      mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb,
+-      mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb,
+-      mlib-tgt-darwin.adb, mlib-tgt.adb, mlib-tgt.ads,
+-      mlib-tgt-lynxos.adb (DLL_Prefix): New function
+-
+-2005-11-14  Doug Rupp  <rupp@adacore.com>
+-
+-      * system-vms.ads, system-vms_64.ads: ADA$GNAT: New exported object in
+-      private part.
+-
+-2005-11-14  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-traces-default.adb, s-trafor-default.ads,
+-      s-tratas-default.adb: Fix compilation errors.
+-
+-2005-11-14  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * s-taprop-posix.adb (Initialize_Lock): Destroy mutex attribute before
+-      raising the exception so the memory used is freed.
+-
+-2005-11-14  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * adaint.h, adaint.c (__gnat_is_cross_compiler): New constant.
+-      (Gnat_Install_Locks, __gnatlib_install_locks): Removed, no longer used.
+-      (convert_address): Update comments and list of platforms using this.
+-
+-      * s-tasini.adb (Gnat_Install_Locks, __gnatlib_install_locks): Removed,
+-      no longer used.
+-
+-2005-11-14  Pascal Obry  <obry@adacore.com>
+-          Vincent Celier  <celier@adacore.com>
+-
+-      * gnatdll.adb (Parse_Command_Line): Remove redundant use of
+-      GNAT.Command_Line.
+-
+-      * memroot.adb: Remove redundant with/use clause on
+-      System.Storage_Elements.
+-
+-2005-11-14  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * a-except.adb (Zero_Cost_Exceptions): Removed, no longer used.
+-      (builtin_longjmp, Process_Raise_Exceeption): Move setjmp/longjmp
+-      related code to a-exexpr.adb
+-      (Save_Occurrence_And_Private): Move GCC EH related code to
+-      a-exexpr-gcc.adb
+-      (Raise_Current_Excep): Add new variable Id with pragma
+-      volatile, to ensure that the variable lives on stack.
+-
+-      * a-exexpr-gcc.adb, raise-gcc.c: New file.
+-
+-      * a-exexpr.adb (builtin_longjmp, Propagate_Exception): Moved here code
+-      from a-except.adb.
+-      Move GCC EH related code to a-exexpr-gcc.adb
+-
+-      * Makefile.in: Add or update g-soccon LIBGNAT pairs for Linux/PPC and
+-      64-bit Solaris
+-      Split the Linux version of g-soccon into separate variants for 32 and 64
+-      bit platforms.
+-      (gnatlib): Use $(AR_FOR_TARGET) and $(RANLIB_FOR_TARGET)
+-      vice $(AR) and $(RANLIB). Remove use of host variable $(RANLIB_FLAGS).
+-      install-gnatlib: Use $(RANLIB_FOR_TARGET) vice $(RANLIB). Remove use
+-      of host variable $(RANLIB_FLAGS).
+-      (alpha64-dec-*vms*): Fix translations for 64 bit compiler.
+-      Code clean up: remove unused/obsolete targets.
+-      (EH_MECHANISM): New variable introduced to differenciate between the
+-      two EH mechanisms statically.
+-      (gnatlib-zcx, gnatlib-sjlj): Force EH_MECHANISM manually.
+-      (LIBGNAT_OBJS): Add raise-gcc.o
+-      (LIBGNAT_TARGET_PAIRS for ppc-vxworks): Use an specialized version of
+-      s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
+-      supports VxWorks 6 RTPs.
+-      (EXTRA_GNATRTL_NONTASKING_OBJS for ppc-vxworks): Remove the use of
+-      i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.
+-
+-      * raise.c: Move all GCC EH-related routines to raise-gcc.c
+-
+-2005-11-14  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * s-tassta.adb (Create_Task): Move the code in charge of resetting the
+-      deferral level, when abort is not allowed, to a later stage (the
+-      Task_Wrapper).
+-      (Task_Wrapper): If Abort is not allowed, reset the deferral level since
+-      it will not get changed by the generated code. It was previously done
+-      in Create_Task.
+-
+-2005-11-14  Thomas Quinot  <quinot@adacore.com>
+-          Olivier Hainque  <hainque@adacore.com>
+-          Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c:
+-      Factor common code to build a storage type for an unconstrained object
+-      from a fat or thin pointer type and a constrained object type.
+-      (annotate_value): Handle BIT_AND_EXPR.
+-      (annotate_rep): Don't restrict the back annotation of inherited
+-      components to the type_annotate_only case.
+-      (gnat_to_gnu_entity) <E_Array_Type>: Do not invoke create_type_decl if
+-      we are not defining the type.
+-      <E_Record_Type>: Likewise.
+-      (gnat_to_gnu_entity) <object, renaming>: Adjust comments and structure
+-      to get advantage of the new maybe_stabilize_reference interface, to
+-      ensure that what we reference is indeed stabilized instead of relying
+-      on assumptions on what the stabilizer does.
+-      (gnat_to_gnu_entity) <E_Incomplete_Type>: If the entity is an incomplete
+-      type imported through a limited_with clause, use its non-limited view.
+-      (Has_Stdcall_Convention): New macro, to centralize the Windows vs others
+-      differentiation.
+-      (gnat_to_gnu_entity): Use Has_Stdcall_Convention instead of a spread mix
+-      of #if sections + explicit comparisons of convention identifiers.
+-      (gnat_to_gnu_entity) <E_Variable>: Decrement force_global if necessary
+-      before early-returning for certain types when code generation is
+-      disabled.
+-      (gnat_to_gnu_entity) <object>: Adjust comment attached to the
+-      nullification of gnu_expr we do for objects with address clause and
+-      that we are not defining.
+-      (elaborate_expression_1): Do not create constants when creating
+-      variables needed by the debug info: the dwarf2 writer considers that
+-      CONST_DECLs is used only to represent enumeration constants, and emits
+-      nothing for them.
+-      (gnat_to_gnu_entity) <object>: When turning a non-definition of an
+-      object with an address clause into an indirect reference, drop the
+-      initializing expression.
+-      Include "expr.h".
+-      (STACK_CHECK_BUILTIN): Delete.
+-      (STACK_CHECK_PROBE_INTERVAL): Likewise.
+-      (STACK_CHECK_MAX_FRAME_SIZE): Likewise.
+-      (STACK_CHECK_MAX_VAR_SIZE): Likewise.
+-      (gnat_to_gnu_entity): If gnat_entity is a renaming, do not mark the tree
+-      corresponding to the renamed object as ignored for debugging purposes.
+-
+-      * trans.c (tree_transform, case N_Attribute_Reference, case Attr_Size &
+-      related): For a prefix that is a dereference of a fat or thin pointer,
+-      if there is an actual subtype provided by the front-end, use that
+-      subtype to build an actual type with bounds template.
+-      (tree_transform, case N_Free_Statement): If an Actual_Designated_Subtype
+-      is provided by the front-end, use that subtype to compute the size of
+-      the deallocated object.
+-      (gnat_to_gnu): When adding a statement into an elaboration procedure,
+-      check for a potential violation of a No_Elaboration_Code restriction.
+-      (maybe_stabilize_reference): New function, like gnat_stabilize_reference
+-      with extra arguments to control whether to recurse through non-values
+-      and to let the caller know if the stabilization has succeeded.
+-      (gnat_stabilize_reference): Now a simple wrapper around
+-      maybe_stabilize, for common uses without restriction on lvalues and
+-      without need to check for the success indication.
+-      (gnat_to_gnu, call_to_gnu): Adjust calls to gnat_stabilize_reference, to
+-      pass false instead of 0 as the FORCE argument which is a bool.
+-      (Identifier_to_gnu): Remove checks ensuring that an renamed object
+-      attached to a renaming pointer has been properly stabilized, as no such
+-      object is attached otherwise.
+-      (call_to_gnu): Invoke create_var_decl to create the temporary when the
+-      function uses the "target pointer" return mechanism.
+-      Reinstate conversion of the actual to the type of the formal
+-      parameter before any other specific treatment based on the passing
+-      mechanism. This turns out to be necessary in order for PLACEHOLDER
+-      substitution to work properly when the latter type is unconstrained.
+-
+-      * gigi.h (build_unc_object_type_from_ptr): New subprogram, factoring a
+-      common pattern.
+-      (maybe_stabilize_reference): New function, like gnat_stabilize_reference
+-      with extra arguments to control whether to recurse through non-values
+-      and to let the caller know if the stabilization has succeeded.
+-
+-      * utils2.c (gnat_build_constructor): Only sort the fields for possible
+-      static output of record constructor if all the components are constant.
+-      (gnat_build_constructor): For a record type, sort the list of field
+-      initializers in increasing bit position order.
+-      Factor common code to build a storage type for an unconstrained object
+-      from a fat or thin pointer type and a constrained object type.
+-      (build_unary_op) <ADDR_EXPR>: Always recurse down conversions between
+-      types variants, and process special cases of VIEW_CONVERT expressions
+-      as their NOP_EXPR counterpart to ensure we get to the
+-      CORRESPONDING_VARs associated with CONST_DECls.
+-      (build_binary_op) <MODIFY_EXPR>: Do not strip VIEW_CONVERT_EXPRs
+-      on the right-hand side.
+-
+-      * utils.c (build_unc_object_type_from_ptr): New subprogram, factoring
+-      a common pattern.
+-      (convert) <VIEW_CONVERT_EXPR>: Return the inner operand directly if we
+-      are converting back to its original type.
+-      (convert) <JM input>: Fallthrough regular conversion code instead of
+-      extracting the object if converting to a type variant.
+-      (create_var_decl): When a variable has an initializer requiring code
+-      generation and we are at the top level, check for a potential violation
+-      of a No_Elaboration_Code restriction.
+-      (create_var_decl): call expand_decl for CONST_DECLs, to set MODE, ALIGN
+-      SIZE and SIZE_UNIT which we need for later back-annotations.
+-      * utils.c: (convert) <STRING_CST>: Remove obsolete code.
+-      <VIEW_CONVERT_EXPR>: Do not lift the conversion if the target type
+-      is an unchecked union.
+-      (pushdecl): Set DECL_NO_STATIC_CHAIN on imported nested functions.
+-      (convert) <VIEW_CONVERT_EXPR>: When the types have the same
+-      main variant, just replace the VIEW_CONVERT_EXPR.
+-      <UNION_TYPE>: Revert 2005-03-02 change.
+-
+-      * repinfo.h, repinfo.ads: Add tcode for BIT_AND_EXPR.
+-
+-      * repinfo.adb (Print_Expr, Rep_Value): Handle Bit_And_Expressions.
+-
+-2005-11-14  Matthew Heaney  <heaney@adacore.com>
+-
+-      * a-crbtgo.ads, a-crbtgo.adb, a-coorse.ads, a-coorse.adb, a-convec.ads,
+-      a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohama.ads, a-cohama.adb,
+-      a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-cidlli.ads,
+-      a-cidlli.adb, a-cdlili.ads, a-cdlili.adb, a-coormu.adb, a-ciormu.adb,
+-      a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
+-      a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorma.adb, a-coorma.adb:
+-      Compiles against the spec for ordered maps described in sections
+-      A.18.6 of the most recent (August 2005) AI-302 draft.
+-
+-2005-11-14  Olivier Hainque  <hainque@adacore.com>
+-
+-      * cuintp.c (UI_To_gnu): Use a proper type for intermediate computations
+-      to ensure bias adjustments take place when need be and to prevent
+-      occurrences of intermediate overflows.
+-
+-2005-11-14  Matthew Gingell  <gingell@adacore.com>
+-          Olivier Hainque  <hainque@adacore.com>
+-
+-      * tb-gcc.c (trace_callback): Work around problem with _Unwind_GetIP on
+-      ia64 HP-UX.
+-
+-      * tracebak.c (ia64 configuration): Enable _Unwind_Backtrace driven
+-      tracebacks on ia64 HP-UX and provide explanatory comment.
+-      Enable backtraces on ia64 GNU/Linux.
+-      (x86 configuration): Bump FRAME_LEVEL to 1 to ensure we retrieve a real
+-      base pointer from builtin_frame_address. Adjust BASE_SKIP accordingly.
+-
+-2005-11-14  Hristian Kirtchev  <kirtchev@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * rtsfind.ads, exp_util.adb, exp_util.ads, exp_disp.adb, exp_disp.ads,
+-      exp_ch7.adb, sem_ch9.adb, snames.adb, snames.ads,
+-      exp_ch9.adb, exp_ch9.ads, exp_ch6.adb, exp_ch3.adb, exp_ch3.ads,
+-      einfo.ads, einfo.adb: Complete support for Ada 2005 interfaces.
+-
+-      * a-tags.ads, a-tags.adb: Major rewrite and additions to implement
+-      properly new Ada 2005 interfaces (AI-345) and add run-time checks (via
+-      assertions).
+-
+-      * exp_dbug.ads, exp_dbug.adb (Get_Secondary_DT_External_Name): New
+-      subprogram that generates the external name associated with a
+-      secondary dispatch table.
+-      (Get_Secondary_DT_External_Name): New subprogram that generates the
+-      external name associated with a secondary dispatch table.
+-
+-2005-11-14  Emmanuel Briot  <briot@adacore.com>
+-
+-      * xref_lib.adb (Parse_Identifier_Info): It is possible for an entity
+-      line in the ALI file to include both an instantiation reference, and a
+-      returned value.
+-
+-2005-11-14  Vincent Celier  <celier@adacore.com>
+-
+-      * clean.adb (Check_Project): Look for Ada code in extending project,
+-      even if Ada is not specified as a language.
+-      Use new function DLL_Prefix for DLL_Name
+-      (Clean_Interface_Copy_Directory): New procedure
+-      (Clean_Library_Directory): New procedure
+-      (Clean_Directory): Remove procedure, no longer used
+-      (Clean_Project): Do not delete any file in an externally built project
+-
+-      * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Add the object
+-      directory of an extending project, even when there are no Ada source
+-      present.
+-      (Ada_Objects_Path.Add): Add Library_ALI_Dir, not Library_Dir to the path
+-      (Set_Ada_Paths.Add.Recursive_Add): Ditto
+-
+-      * mlib-prj.adb (Check_Library): For all library projects, get the
+-      library file timestamp.
+-      (Build_Library): Copy ALI files in Library_ALI_Dir, not in Library_Dir
+-      (Build_Library): Use new function DLL_Prefix for the DLL_Name
+-      (Clean): Remove procedure, no longer used
+-      (Ultimate_Extension_Of): New function
+-      (Build_Library): When cleaning the library directory, only remove an
+-      existing library file and any ALI file of a source of the project.
+-      When cleaning the interface copy directory, remove any source that
+-      could be a source of the project.
+-
+-      * prj.ads, prj.adb (Project_Empty): Add values of new components
+-      Library_TS and All_Imported_Projects.
+-      (Project_Empty): Add values for new components of Project_Data:
+-      Library_ALI_Dir and Display_Library_ALI_Dir
+-
+-      * prj-attr.adb: New project level attribute name Library_ALI_Dir
+-
+-      * prj-nmsc.adb (Check_Library_Attributes): Take into account new
+-      attribute Library_ALI_Dir.
+-      (Check_Library_Attributes): The library directory cannot be the same as
+-      any source directory of the project tree.
+-      (Check_Stand_Alone_Library): The interface copy directory cannot be
+-      the same as any source directory of the project tree.
+-
+-      * mlib.adb: Use Prj.Com.Fail, instead of Osint.Fail directly, to delete
+-      all temporary files.
+-
+-2005-11-14  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_elab.adb: Change name Is_Package to Is_Package_Or_Generic_Package
+-      (Check_Elab_Call): A call within a protected body is never an
+-      elaboration call, and does not require checking.
+-      (Same_Elaboration_Scope): Take into account protected types for both
+-      entities.
+-      (Activate_Elaborate_All_Desirable): New procedure
+-
+-      * ali.ads, ali.adb: Implement new AD/ED for Elaborate_All/Elaborate
+-      desirable
+-
+-      * binde.adb: Implement new AD/ED for Elaborate_All/Elaborate desirable
+-      (Elab_Error_Msg): Use -da to include internal unit links, not -de.
+-
+-      * lib-writ.ads, lib-writ.adb:
+-      Implement new AD/ED for Elaborate_All/Elaborate desirable
+-      Use new Elaborate_All_Desirable flag in N_With_Clause node
+-
+-      * sinfo.ads, sinfo.adb (Actual_Designated_Subtype): New attribute for
+-      N_Free_Statement nodes.
+-      Define new class N_Subprogram_Instantiation
+-      Add Elaborate_Desirable flag to N_With_Clause node
+-      Add N_Delay_Statement (covering two kinds of delay)
+-
+-      * debug.adb: Introduce d.f flag for compiler
+-      Add -da switch for binder
+-
+-2005-11-14  Ed Schonberg  <schonberg@adacore.com>
+-          Cyrille Comar  <comar@adacore.com>
+-
+-      * exp_aggr.adb (Build_Record_Aggr_Code): Do not create master entity
+-      for task component, in the case of a limited aggregate. The enclosed
+-      object declaration will create it earlier. Otherwise, in the case of a
+-      nested aggregate, the object may appear in the wrong scope.
+-      (Convert_Aggr_In_Object_Decl): Create a transient scope when needed.
+-      (Gen_Assign): If the component being assigned is an array type and the
+-      expression is itself an aggregate, wrap the assignment in a block to
+-      force finalization actions on the temporary created for each row of the
+-      enclosing object.
+-      (Build_Record_Aggr_Code): Significant rewrite insuring that ctrl
+-      structures are initialized after all discriminants are set so that
+-      they can be accessed even when their offset is dynamic.
+-
+-2005-11-14  Robert Dewar  <dewar@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * sem_attr.adb: Implement Machine_Rounding attribute
+-      (Analyze_Access_Attribute): The access attribute may appear within an
+-      aggregate that has been expanded into a loop.
+-      (Check_Task_Prefix): Add semantic check for attribute 'Callable and
+-      'Terminated whenever the prefix is of a task interface class-wide type.
+-      (Analyze_Attribute): Add semantic check for attribute 'Identity whenever
+-      the prefix is of a task interface class-wide type.
+-
+-      * s-vaflop-vms-alpha.adb: Valid_D, Valid_F, Valid_G: Make Val constant
+-      to avoid warnings.
+-
+-      * s-fatgen.ads, s-fatgen.adb (Machine_Rounding): New function
+-      Remove pragma Inline for [Unaligned_]Valid.
+-      Add comments that Valid routines do not work for Vax_Float
+-
+-      * exp_attr.adb: Implement Machine_Rounding attribute
+-
+-      * snames.h: Add entry for Machine_Rounding attribute
+-
+-2005-11-14  Javier Miranda  <miranda@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * exp_attr.adb (Expand_N_Attribute_Reference, cases of Attribute_Size
+-      and related): For a prefix that is an explicit dereference of an
+-      access to unconstrained packed array type, annotate the dereference
+-      with an actual subtype so GIGI can make a correct size computation.
+-      (Expand_N_Attribute_Reference): In case of 'Unchecked_Access and
+-      'Unrestricted_Access, if the designated type is an interface we
+-      add a type conversion to force the displacement of the pointer
+-      to the secondary dispatch table.
+-      Use Universal_Real instead of Long_Long_Float when we need a high
+-      precision float type for the generated code (prevents gratuitous
+-      Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
+-      (Expand_N_Attribute_Reference): Add support for attribute 'Callable and
+-      'Terminated for task interface class-wide objects. Generate a call to
+-      the predefined dispatching routine used to retrieve the _task_id from
+-      a task corresponding record.
+-      (Expand_Fpt_Attribute): Major change to properly handle Vax_Float
+-
+-      * sem_disp.adb: Change name Is_Package to Is_Package_Or_Generic_Package
+-      (Check_Dispatching_Operation): Protect the frontend againts
+-      previously detected errors.
+-
+-      * Makefile.rtl: Add new instantiations of system.fat_gen
+-
+-      * s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads:
+-      Change name of instantiated package for better consistency
+-      with newly added system.fat_gen instantiations.
+-
+-      * s-filofl.ads, s-fishfl.ads, s-fvadfl.ads, s-fvaffl.ads,
+-      s-fvagfl.ads: New files.
+-
+-2005-11-14  Cyrille Comar  <comar@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_ch5.adb (Expand_N_Assignment_Statement, Tagged_Case): For an
+-      assignment of a value of a tagged type that has been rewritten to a
+-      block statement, it is known by construction that no checks are
+-      necessary for the statements within the block: analyze it with checks
+-      suppressed.
+-      (Expand_N_If_Statement): When killing a dead then-branch in an
+-      if-statement that has elsif_parts, recompute the Current_Value node
+-      for any entity whose value is known from the condition of the first
+-      elsif_part.
+-      (Expand_N_Return_Statement): When returning a mutable record, convert
+-      the return value into its actual subtype in order to help the backend
+-      to return the actual size instead of the maximum. This is another
+-      aftermath of not returning mutable records on the sec-stack anymore.
+-
+-      * sem_ch5.ads, sem_ch5.adb (Analyze_Iteration_Scheme): Minor change to
+-      handling of error msg for suspicious reverse range iteration.
+-      (Check_Possible_Current_Value_Condition): Move declaration from body to
+-      spec, to allow this subprogram to be called from exp_ch5.
+-
+-2005-11-14  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_dist.adb (Append_Array_Traversal): Modify constrained case to
+-      generate a set of nested array aggregates instead of a single flat
+-      aggregate for multi-dimensional arrays.
+-
+-2005-11-14  Pascal Obry  <obry@adacore.com>
+-
+-      * expect.c (__gnat_kill) [Win32]: Fix implementation, the pid returned
+-      by spawnve is a process handle, no need to convert. Add a parameter
+-      close to control wether the process handle must be closed.
+-      (__gnat_waitpid): Fix implementation, the pid returned by spawnve is
+-      a process handle, not need to convert.
+-      (__gnat_kill) [*]: Add dummy parameter close to match the Win32 spec.
+-
+-      * g-expect.adb: (Kill): Document the new close parameter.
+-      (Close): Do not release the process handle in the kill there as
+-      waitpid() is using it.
+-      (Send_Signal): Release the process handle.
+-
+-2005-11-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_fixd.adb: Use Universal_Real instead of Long_Long_Float when we
+-      need a high precision float type for the generated code (prevents
+-      gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
+-      used).
+-
+-      * exp_imgv.adb: Use Universal_Real instead of Long_Long_Float when we
+-      need a high precision float type for the generated code (prevents
+-      gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
+-      used).
+-      (Expand_Width_Attribute): In configurable run-time, the attribute is not
+-      allowed on non-static enumeration subtypes. Force a load error to emit
+-      the correct diagnostic.
+-
+-2005-11-14  Thomas Quinot  <quinot@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_intr.adb (Expand_Unc_Deallocation): If GIGI needs an actual
+-      subtype to compute the size of the designated object at run-time,
+-      create such a subtype and store it in the Actual_Designated_Subtype
+-      attribute of the N_Free_Statement.
+-      Generate itype for classwide designated object in both cases of
+-      user-specified storage pool: specific and class-wide, not only in the
+-      specific case.
+-      Raise CE when trying to set a not null access type object to null.
+-      (Expand_Dispatching_Constructor_Call): Retrieve subprogram actual with
+-      an explicit loop, because freeze nodes make its position variable.
+-
+-      * sem_intr.adb (Check_Intrinsic_Call): Given warning for freeing not
+-      null object.
+-
+-2005-11-14  Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_strm.adb (Build_Stream_Attr_Profile, Build_Stream_Function,
+-      Build_Stream_Procedure): Add the null-excluding attribute to the first
+-      formal.
+-      This has no semantic meaning under Ada95 mode but it is a
+-      requirement under Ada05 mode.
+-
+-      * par-ch3.adb (P_Access_Definition): Addition of warning message if
+-      the null exclusion is used under Ada95 mode
+-      (P_Null_Exclusion): The qualifier has no semantic meaning in Ada 95.
+-      (P_Access_Definition): Remove assertion that forbids the use of
+-      the null-exclusion feature in Ada95.
+-
+-2005-11-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * impunit.adb: Exclude container helper units not intended for use by
+-      users.
+-
+-2005-11-14  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * freeze.adb (Freeze_Entity): For an access formal that is an access
+-      to subprogram, freeze the anonymous subprogram type at the same time,
+-      to prevent later freezing in the wrong scope, such as the enclosing
+-      subprogram body.
+-      (Freeze_Entity): Freeze the equivalent_type of an access_to_protected_
+-      subprogram whenever available.
+-
+-2005-11-14  Arnaud Charlet  <charlet@adacore.com>
+-
+-      PR ada/23732
+-      * gnatvsn.ads (Library_Version): Bump to 4.1
+-
+-2005-11-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-debpoo.adb (Set_Valid): Use Integer_Address instead of
+-      Storage_Offset to avoid wrap around causing invalid results.
+-
+-2005-11-14  Pascal Obry  <obry@adacore.com>
+-
+-      * gnatbind.adb (Is_Cross_Compiler): New function returning True for
+-      cross-compiler.
+-      (Scan_Bind_Arg): Fail with an error message if -M option is used
+-      on a native compiler.
+-
+-2005-11-14  Robert Dewar  <dewar@adacore.com>
+-          Vincent Celier  <celier@adacore.com>
+-
+-      * gprep.adb: Implement -C switch to scan comments
+-
+-      * scng.adb: Scan comment symbol separately if Replace_In_Comments set
+-
+-      * scans.ads: Comment updates (including new use of Tok_Comment in
+-      preprocessing)
+-
+-      * opt.ads: Add documentation for flags that are used by gprmake,
+-      currently and in the next version of gprmake.
+-      (Verbosity_Level): New variable
+-      Add Replace_In_Comments switch
+-
+-      * vms_data.ads: Add VMS equivalent for new gnatmake switches -vl, -vm
+-      and -vm.
+-      Add /REPLACE_IN_COMMENTS for gnatprep -C switch
+-
+-2005-11-14  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * g-regpat.adb (Fail): raise Expression_Error including the diagnostic
+-      message, friendlier.
+-
+-2005-11-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-spitbo.adb: (Hash): Rotate by 3 instead of 1
+-
+-2005-11-14  Doug Rupp  <rupp@adacore.com>
+-
+-      * init.c [VMS]: Don't install __gnat_error_handler if DBG$TDBG defined.
+-
+-2005-11-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * interfac.ads: Change declarations of IEEE float types so that we no
+-      longer need a separate version of this package for VMS.
+-
+-2005-11-14  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * lib-xref.adb (Generate_Definition, Generate_Reference): Treat the
+-      internal entity created for the declaration of a child subprogram body
+-      with no spec as coming from source, to generate proper cross-reference
+-      information.
+-
+-2005-11-14  Vincent Celier  <celier@adacore.com>
+-
+-      * make.adb (Compile_Sources): Change verbose message to minimum
+-      verbosity level High for "is in an Ada library", "is a read-only
+-      library" and "is an internal library",
+-      (Create_Binder_Mapping_File): Path name of ALI file for library project
+-      must include the library directory, not the object directory.
+-      (Scan_Make_Arg): Make sure that Switch.M.Scan_Make_Switches is called
+-      for new switches -vl, -vm and -vh.
+-      (Verbose_Msg): Add new defaulted parameter Minimum_Verbosity
+-      (Check): Use minimum verbosity Medium for some Verbose_Msg calls
+-      (Compile_Sources): Do not attempt to compile if an ALI file is missing
+-      in a project that is externally built.
+-      (Compute_All_Imported_Projects): New procedure
+-      (Gnatmake): Check if importing libraries should be regenerated because
+-      at least an imported library is more recent.
+-      (Initialize): For each project compute the list of the projects it
+-      imports directly or indirectly.
+-      (Add_Library_Search_Dir): New procedure, used in place of
+-      Add_Lib_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
+-      put in the search paths.
+-      (Add_Source_Search_Dir): New procedure, used in place of
+-      Add_Src_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
+-      put in the search paths.
+-      (Mark_Directory): Resolve the absolute path the directory before marking
+-      it.
+-
+-      * switch-m.adb (Scan_Make_Switches): Replace "raise Bad_Switch;" with
+-      call to new procedure Bad_Switch. Call Scan_Pos with new parameter
+-      Switch. Do not handle any exception.
+-      (Scan_Make_Switches): Increment Ptr for new switches -vl, -vm and -vh
+-      so that the switch is recognized as valid.
+-      (Scan_Make_Switches): Implement new switches -vl, -vm and -vh.
+-
+-2005-11-14  GNAT Script  <nobody@adacore.com>
+-
+-      * Make-lang.in: Makefile automatically updated
+-
+-2005-11-14  Pascal Obry  <obry@adacore.com>
+-
+-      * mdll.adb (Build_Reloc_DLL): Fix parameter handling when a map file is
+-      used.
+-      (Ada_Build_Reloc_DLL): Fix parameter handling when a map file is used.
+-      In both cases the last argument was dropped.
+-
+-2005-11-14  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * namet.h: (Column_Numbe): New type.
+-      (Get_Column_Number): Define to sinput__get_column_number.
+-      (Instantiation): Define to sinput__instantiation.
+-      (Get_Column_Number): Declare.
+-      (Instantiation): Likewise.
+-
+-2005-11-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * par-ch10.adb (P_Compilation_Unit): Add defenses against junk unit
+-      syntax, which could cause compiler hangs.
+-
+-2005-11-14  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-ext.adb: Take into account new environment variable
+-      GPR_PROJECT_PATH. Warn if both GPR_PROJECT_PATH and ADA_PROJECT_PATH
+-      are defined.
+-      (Prj.Ext elaboration): For each directory in the ADA_PROJECT_PATH,
+-      normalize its path name, making it absolute and resolving symbolic
+-      links, and replace the original if resolved path is different.
+-
+-2005-11-14  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-part.adb (Create_Virtual_Extending_Project): Put virtual project
+-      into Prj.Tree.Tree_Private_Part.Projects_Htable for GPS.
+-
+-2005-11-14  Emmanuel Briot  <briot@adacore.com>
+-
+-      * prj-pp.adb (Print): Do not output the with statement if the
+-      associated name is empty, which happens for virtual extending projects.
+-      (Print): Preserve the "extends all" attribute when printing the project.
+-
+-      * prj-tree.ads (String_Value_Of): Add comment about returned value for
+-      a virtual extending project.
+-
+-2005-11-14  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_aggr.adb (Resolve_Aggregate): An others choice is legal on the
+-      rhs of an assignment even if the type is unconstrained, when the
+-      context is non-expanding.
+-      In an inlined body, if the context type is private,
+-      resolve with its full view, which must be a composite type.
+-
+-2005-11-14  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch10.adb: Change name Is_Package to Is_Package_Or_Generic_Package
+-      Do not give obsolescent warning on with of subprogram (since we
+-      diagnose calls)
+-      (Analyze_With_Clause): Add test for obsolescent package
+-      (Install_Context_Clauses): If the unit is the body of a child unit, do
+-      not install twice the private declarations of the parents, to prevent
+-      circular lists of Use_Clauses in a parent.
+-      (Implicit_With_On_Parent): Do add duplicate with_clause on parent when
+-      compiling body of child unit.
+-      Use new class N_Subprogram_Instantiation
+-      (Expand_With_Clause): If this is a private with_clause for a child unit,
+-      appearing in the context of a package declaration, then the implicit
+-      with_clauses generated for parent units are private as well.
+-      (License_Check): Do not generate message if with'ed unit is internal
+-
+-2005-11-14  Gary Dismukes  <dismukes@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-
+-      * sem_ch12.ads, sem_ch12.adb (Map_Entities): Exclude entities whose
+-      names are internal, because they will not have a corresponding partner
+-      in the actual package.
+-      (Analyze_Formal_Package): Move the setting of the formal package spec's
+-      Generic_Parent field so that it occurs prior to analyzing the package,
+-      to allow proper operation of Install_Parent_Private_Declarations.
+-      (Analyze_Package_Instantiation): Set the instantiated package entity's
+-      Package_Instantiation field.
+-      (Get_Package_Instantiation_Node): Move declaration to package spec.
+-      Retrieve the N_Package_Instantiation node when the Package_Instantiation
+-      field is present.
+-      (Check_Generic_Child_Unit): Within an inlined call, the only possible
+-      instantiation is Unchecked_Conversion, for which no parents are needed.
+-      (Inline_Instance_Body): Deinstall and record the use_clauses for all
+-      parent scopes of a scope being removed prior to inlining an instance
+-      body.
+-      (Analyze_Package_Instantiation): Do not perform front-end inlining when
+-      the current context is itself an instance within a non-instance child
+-      unit, to prevent scope stack errors.
+-      (Save_References): If the node is an aggregate that is an actual in a
+-      call, rewrite as a qualified expression to preserve some type
+-      information, to resolve possible ambiguities in the instance.
+-      (Instance_Parent_Unit): New global variable to record the ultimate
+-      parent unit associated with a generic child unit instance (associated
+-      with the existing Parent_Unit_Visible flag).
+-      (type Instance_Env): New component Instance_Parent_Unit for stacking
+-      parents recorded in the global Instance_Parent_Unit.
+-      (Init_Env): Save value of Instance_Parent_Unit in the Instance_Env
+-      stack.
+-      (Install_Spec): Save the parent unit entity in Instance_Parent_Unit when
+-      it's not a top-level unit, and only do this if Instance_Parent_Unit is
+-      not already set. Replace test of Is_Child_Unit with test of parent's
+-      scope against package Standard. Add comments and a ??? comment.
+-      (Remove_Parent): Revise condition for resetting Is_Immediately_Visible
+-      on a child instance parent to test that the parent equals
+-      Instance_Parent rather than simply checking that the unit is not a
+-      child unit.
+-      (Restore_Env): Restore value of Instance_Parent_Unit from Instance_Env.
+-      (Validate_Derived_Interface_Type_Instance): Verify that all ancestors of
+-      a formal interface are ancestors of the corresponding actual.
+-      (Validate_Formal_Interface_Type): Additional legality checks.
+-      (Analyze_Formal_Derived_Interface_Type): New procedure to handle formal
+-      interface types with ancestors.
+-      (Analyze_Formal_Package): If formal is a renaming, use renamed entity
+-      to diagnose attempts to use generic within its own declaration.
+-
+-2005-11-14  Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_ch3.ads, sem_ch3.adb (Build_Discriminal): Add link to original
+-      discriminant.
+-      (Build_Private_Derived_Type): The entity of the created full view of the
+-      derived type does not come from source. If after installing the private
+-      declarations of the parent scope the parent is still private, use its
+-      full view to construct the full declaration of the derived type.
+-      (Build_Derived_Record_Type): Relax the condition that controls the
+-      execution of the check that verifies that the partial view and
+-      the full view agree in the set of implemented interfaces. In
+-      addition, this test now only takes into account the progenitors.
+-      (Derive_Interface_Subprograms): No need to derive subprograms
+-      of ancestors that are interfaces.
+-      (Derive_Subprograms): Remove formal No_Predefined_Prims and the
+-      associated code.
+-      Change name Is_Package to Is_Package_Or_Generic_Package
+-      (Complete_Subprograms_Derivation): Handle the case in which the full
+-      view is a transitive derivation of the ancestor of the partial view.
+-      (Process_Full_View): Rename local subprogram Find_Interface_In_
+-      Descendant to Find_Ancestor_Interface to leave the code more clear.
+-      Remove wrong code that avoids the generation of an error message
+-      when the immediate ancestor of the partial view is an interface.
+-      In addition some minor reorganization of the code has been done to
+-      leave it more clear.
+-      (Analyze_Type_Declaration): If type has previous incomplete tagged
+-      partial view, inherit properly its primitive operations.
+-      (Collect_Interfaces): Make public, for analysis of formal
+-      interfaces.
+-      (Analyze_Interface_Declaration): New procedure for use for regular and
+-      formal interface declarations.
+-      (Build_Derived_Record_Type): Add support for private types to the code
+-      that checks if a tagged type implements abstract interfaces.
+-      (Check_Aliased_Component_Type): The test applies in the spec of an
+-      instance as well.
+-      (Access_Type_Declaration): Clean up declaration of malformed type
+-      declared as an access to its own classwide type, to prevent cascaded
+-      crash.
+-      (Collect_Interfaces): For private extensions and for derived task types
+-      and derived protected types, the parent may be an interface that must
+-      be included in the interface list.
+-      (Access_Definition): If the designated type is an interface that may
+-      contain tasks, create Master_Id for it before analyzing the expression
+-      of the declaration, which may be an allocator.
+-      (Record_Type_Declaration): Set properly the interface kind, for use
+-      in allocators, the creation of master id's for task interfaces, etc.
+-
+-2005-11-14  Javier Miranda  <miranda@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch6.adb (Check_Conformance): The null-exclusion feature can be
+-      omitted in case of stream attribute subprograms.
+-      (Check_Inline_Pragma): Handle Inline and Inline_Always pragmas that
+-      appear immediately after a subprogram body, when there is no previous
+-      subprogram declaration.
+-      Change name Is_Package to Is_Package_Or_Generic_Package
+-      (Process_Formals): A non null qualifier on a non null named access
+-      type is not an error, and is a warning only if Redundant_Constructs
+-      are flagged.
+-
+-2005-11-14  Gary Dismukes  <dismukes@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch7.adb (Install_Parent_Private_Declarations): New procedure
+-      nested within Analyze_Package_Specification to install the private
+-      declarations and use clauses within each of the parent units of a
+-      package instance of a generic child package.
+-      (Analyze_Package_Specification): When entering a private part of a
+-      package associated with a generic instance or formal package, the
+-      private declarations of the parent must be installed (by calling new
+-      procedure Install_Parent_Private_Declarations).
+-      Change name Is_Package to Is_Package_Or_Generic_Package
+-      (Preserve_Full_Attributes): For a synchronized type, the corresponding
+-      record is absent in a generic context, which does not indicate a
+-      compiler error.
+-
+-2005-11-14  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic context, do
+-      not try to rewrite a renamed stream attribute, because the operations
+-      on the type may not have been generated.
+-      Handle properly a renaming_as_body generated for a stream operation
+-      whose default is abstract because the object type itself is abstract.
+-      (Find_Type): If the type is incomplete and appears as the prefix of a
+-      'Class reference, it is tagged, and its list of primitive operations
+-      must be initialized properly.
+-      (Chain_Use_Clauses): When chaining the use clauses that appear in the
+-      private declaration of a parent unit, prior to compiling the private
+-      part of a child unit, find on the scope stack the proper parent entity
+-      on which to link the use clause.
+-      (Note_Redundant_Use): Emit a warning when a redundant use clause is
+-      detected.
+-      (Analyze_Object_Renaming): An attribute reference is not a legal object
+-      if it is not a function call.
+-
+-2005-11-14  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_eval.adb: Implement d.f flag
+-      (Subtype_Statically_Match): A generic actual type has unknown
+-      discriminants when the corresponding actual has a similar partial view.
+-      If the routine is called to validate the signature of an inherited
+-      operation in a child instance, the generic actual matches the full view,
+-
+-2005-11-14  Hristian Kirtchev  <kirtchev@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-
+-      * sem_res.adb (Resolve_Call): Provide a better error message whenever
+-      a procedure call is used as a select statement trigger and is not an
+-      entry renaming or a primitive of a limited interface.
+-      (Valid_Conversion): If the operand has a single interpretation do not
+-      remove address operations.
+-      (Check_Infinite_Recursion): Skip freeze nodes when looking for a raise
+-      statement to inhibit warning.
+-      (Resolve_Unary_Op): Do not produce a warning when
+-      processing an expression of the form -(A mod B)
+-      Use Universal_Real instead of Long_Long_Float when we need a high
+-      precision float type for the generated code (prevents gratuitous
+-      Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
+-      (Resolve_Concatenation_Arg): Improve error message when argument is an
+-      ambiguous call to a function that returns an array.
+-      (Make_Call_Into_Operator, Operand_Type_In_Scope): Do not check that
+-      there is an implicit operator in the given scope if we are within an
+-      instance: legality check has been performed on the generic.
+-      (Resolve_Unary_Op): Apply warnings checks on argument of Abs operator
+-      after resolving operand, to avoid false warnings on overloaded calls.
+-
+-2005-11-14  Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      PR ada/15604
+-      * sem_type.adb (Covers): In an inlined body, a composite type matches
+-      a private type whose full view is a composite type.
+-      (Interface_Present_In_Ancestor): Protect the frontend against
+-      previously detected errors to ensure that its compilation
+-      with assertions enabled gives the same output that its
+-      compilation without assertions.
+-      (Interface_Present_In_Ancestor): Add support for private types.
+-      Change name In_Actual to In_Generic_Actual (clean up)
+-      (Disambiguate): New predicate In_Actual, to recognize expressions that
+-      appear in the renaming declaration generated for generic actuals, and
+-      which must be resolved in the outer context.
+-
+-2005-11-14  Robert Dewar  <dewar@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_util.ads, sem_util.adb: Change name Is_Package to
+-      Is_Package_Or_Generic_Package.
+-      (Check_Obsolescent): New procedure.
+-      (Set_Is_Public): Remove obsolete junk test.
+-      (Set_Public_Status): Do not set Is_Public on an object whose declaration
+-      occurs within a handled_sequence_of_statemets.
+-      (Is_Controlling_Limited_Procedure): Factor some of the logic, account
+-      for a parameterless procedure.
+-      (Enter_Name): Recognize renaming declarations created for private
+-      component of a protected type within protected operations, so that
+-      the source name of the component can be used in the debugger.
+-
+-2005-11-14  Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_warn.ads, sem_warn.adb (Publicly_Referenceable): Generic formals
+-      of a generic subprogram are not visible outside the body.
+-      (Set_Warning_Switch): New procedure (code to set warning mode moved
+-      here from Switch.C so that it can be shared by pragma processing.
+-      (Check_References): Special case warning for non-modified non-imported
+-      volatile objects.
+-      * par-prag.adb: Modify processing of pragma Warnings to accomodate new
+-      form with a string literal argument
+-
+-2005-11-14  Javier Miranda  <miranda@adacore.com>
+-
+-      * s-finroo.ads, s-finroo.adb (Read): Addition of "not null" to the
+-      anonymous access.
+-      (Write): Addition of "not null" to the anonymous access.
+-      (Read): Addition of "not null" to the anonymous access.
+-      (Write): Addition of "not null" to the anonymous access.
+-
+-      * s-strxdr.adb, s-stratt.ads, s-stratt.adb (I_AD, I_AS, I_B, I_C, I_F,
+-      I_I, I_LF, I_LI, I_LLF, I_LLI, I_LLU, I_LU, I_SF, I_SI, I_SSI, I_SSU,
+-      I_SU, I_U, I_WC): Addition of "not null" to the anonymous access.
+-      (W_AD, W_AS, W_B, W_C, W_F, W_I, W_LF, W_LI, W_LLF, W_LLI, W_LLU,
+-      W_LU, W_SF, W_SI, W_SSI, W_SSU, W_SU, W_U, W_WC): Addition of
+-      "not null" to the anonymous access.
+-
+-2005-11-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * s-stoele.adb: Fix code for Address mod Storage_Offset for negative
+-      offset values
+-
+-2005-11-14  Vincent Celier  <celier@adacore.com>
+-
+-      * switch.adb (Bad_Switch): New procedure
+-      (Scan_Nat, Scan_Pos): Directly call Osint.Fail with the appropriate
+-      message when in error.
+-
+-      * switch.ads (Bad_Switch, Bad_Switch_Value, Missing_Switch_Value,
+-      Too_Many_Output_Files): Remove declarations, no longer used.
+-      (Scan_Nat): New parameter Switch
+-      (Scan_Pos): Ditto
+-      (Bad_Switch): New procedure
+-
+-      * switch-b.adb (Scan_Binder_Switches): Replace "raise Bad_Switch;"
+-      with call to new procedure Bad_Switch. Call Scan_Pos and Scan_Natwith
+-      new parameter Switch. Replace "raise Too_Many_Output_Files;" with call
+-      to Osint.Fail. Do not handle any exception.
+-
+-2005-11-14  Vincent Celier  <celier@adacore.com>
+-
+-      * tempdir.adb (Tempdir): Do not use environment variable TMPDIR if it
+-      designates a non existent directory.
+-
+-2005-11-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * xgnatugn.adb: Replace invalid membership test by 'Valid
+-
+-2005-11-14  Vincent Celier  <celier@adacore.com>
+-
+-      * makegpr.adb (Gprmake): Do not attempt to build the global archive if
+-      there is no object directory.
+-
+-2005-11-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * usage.adb: Minor adjustment to output format, use nn instead of nnn
+-      (so that -gnateInnn does not run into next column)
+-
+-2005-11-14  Ed Falis  <falis@adacore.com>
+-
+-      * s-bitops.adb (Bits_Array): corrected comment: "unconstrained" =>
+-      "constrained"
+-
+-2005-11-14  Cyrille Comar  <comar@adacore.com>
+-
+-      * s-chepoo.ads: Add comments on Dereference.
+-      Remove unnecessary inherited abstract primitives.
+-      Cosmetic cleanup.
+-
+-2005-11-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_cat.ads (Validate_Access_Type_Declaration): Remove declaration
+-      node parameter, not needed, since it is available as Declaration_Node.
+-
+-2005-11-14  Geert Bosch  <bosch@adacore.com>
+-
+-      * s-exnllf.adb (Exn_LLF): Fix comment to be more precise and
+-      grammatically correct.
+-
+-2005-11-14  Vincent Celier  <celier@adacore.com>
+-
+-      * s-fileio.ads: Correct spelling error in comment
+-
+-2005-11-14  Cyrille Comar  <comar@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Vincent Celier  <celier@adacore.com>
+-          Ben Brosgol  <brosgol@adacore.com>
+-          Jose Ruiz  <ruiz@adacore.com>
+-          Pascal Obry  <obry@adacore.com>
+-
+-      * gnat_ugn.texi:
+-      Document that -fstack-check is needed for strict compliance with the
+-      Ada 95 Reference Manual.
+-      Correct reference to VAX systems to meet HP guidelines
+-      Add documentation for new gnatmake switches -vl, -vm and -vh
+-      Replace DEC Ada by HP Ada
+-      Replace DIGITAL by HP
+-      Remove empty section on tools in compatibility section
+-      Clarify the Windows convention semantics.
+-      Document the Win32 calling convention.
+-      The Stdcall, Win32 and DLL convention are synonyms.
+-      Add a note in -gnatR description about zero size record components
+-      Note on new >= and <= warnings for -gnatwc
+-      Document that equal sign after -gnatm is optional.
+-      Note that strip is working fine on DLL built with a Library
+-      Project. The restriction apply only to DLL built with gnatdll.
+-      Update section about the way to debug a DLL.
+-      Update information about the DLL convention.
+-      Document -C switch for gnatprep
+-      Document new attribute Library_ALI_Dir
+-      Update elaboration doc to include implicit Elaborate pragmas now
+-      generated for subprogram instantiations.
+-      Document limitation on executable names that include spaces for --GCC,
+-      --GNATBIND, and --GNATLINK switches.
+-      Document that -w causes -gnatws to be added at start of gcc switches
+-
+-      * gnat_rm.texi: Document that -mieee is needed for generating infinite
+-      and NaN values in case of overflow on machines that are not fully
+-      compliant with the IEEE floating-point standard.
+-      Create a section describing the set of compiler options needed for
+-      strict compliance with the Ada 95 Reference Manual.
+-      Add documentation for pragma Obsolescent applied to a package
+-      Clarify potential issues of mixed language programs related to the
+-      I/O buffering enabling in the elaboration of the GNAT runtime.
+-      Add extra documentation for pragma Restrictions (No_Elaboration_Code)
+-      This documentation only patch adds extra documentsion for pragma
+-      Restrictions (No_Elaboration_Code), explaining why it is not possible
+-      to document this restriction in terms of allowed source constructs.
+-      Document string literal form of pragma Warnings
+-      Document new attribute Library_ALI_Dir
+-      Add documentation on stable attributes in project files that was missing
+-
+-      * gnat-style.texi: Indicate that paragraphs within a single comment
+-      should be separated by empty comment lines
+-
+-      * ug_words: Added replacements for -gnat95 and -gnat05 (/95 and
+-      /05 respectively)
+-
+-      * bindusg.adb: Minor cleanup, put -m before -M for consistency
+-
+-2005-11-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-secain.adb, a-slcain.adb, a-shcain.adb, a-chtgke.ads, a-chtgke.adb,
+-      a-stwiha.adb, a-strhas.adb, a-chzla1.ads, a-chzla9.ads, a-stzbou.adb,
+-      a-stzbou.ads, a-stzfix.adb, a-stzhas.adb, a-stzmap.adb, a-stzmap.ads,
+-      a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads, a-stzunb.adb,
+-      a-stzunb.ads, a-szuzha.adb, a-szuzha.ads, a-szuzti.adb, a-szuzti.ads,
+-      a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb, a-ztcstr.adb, a-ztcstr.ads,
+-      a-ztdeau.adb, a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
+-      a-ztedit.ads, a-ztenau.ads, a-ztenio.adb, a-ztenio.ads, a-ztexio.adb,
+-      a-ztexio.ads, a-ztfiio.adb, a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads,
+-      a-ztflio.adb, a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
+-      a-ztinau.ads, a-ztinio.adb, a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads,
+-      a-zttest.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-alpha.adb,
+-      g-enblsp-vms-ia64.adb, g-enblsp-vms-ia64.adb, system-linux-hppa.ads,
+-      a-chacon.adb, a-chacon.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb,
+-      a-zchuni.ads, g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb,
+-      system-hpux-ia64.ads, g-soccon-unixware.ads, g-soliop-unixware.ads,
+-      g-soccon-interix.ads, g-soliop-solaris.ads, g-eacodu-vms.adb,
+-      g-expect-vms.adb, g-socthi-vms.adb, g-soliop-mingw.ads,
+-      a-intnam-unixware.ads, a-intnam-lynxos.ads, a-intnam-tru64.ads,
+-      a-intnam-aix.ads, a-intnam-linux.ads, a-intnam-linux.ads,
+-      a-intnam-dummy.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
+-      a-intnam-solaris.ads, a-calend-vms.adb, a-calend-vms.ads,
+-      a-intnam-vms.ads, a-calend-mingw.adb, a-intnam-mingw.ads,
+-      a-intnam-vxworks.ads, a-numaux-vxworks.ads, system-unixware.ads,
+-      system-linux-ia64.ads, a-intnam-freebsd.ads, system-freebsd-x86.ads,
+-      system-lynxos-ppc.ads, system-linux-x86_64.ads, a-stunha.adb,
+-      a-cgaaso.ads, a-cgaaso.adb, a-chtgop.adb, a-cgcaso.adb, a-cgarso.adb,
+-      a-cohata.ads, a-crbtgk.adb, a-crbltr.ads, a-coprnu.adb, a-rbtgso.adb,
+-      a-intnam-darwin.ads, system-darwin-ppc.ads, gprmake.adb, makegpr.ads,
+-      system-tru64.ads, system-aix.ads, system-solaris-x86.ads,
+-      system-irix-o32.ads, s-interr-sigaction.adb, system-irix-n32.ads,
+-      s-parame-mingw.adb, system-hpux.ads, s-traceb-hpux.adb,
+-      system-linux-x86.ads, s-inmaop-dummy.adb, system-os2.ads,
+-      system-interix.ads, system-solaris-sparc.ads,
+-      system-solaris-sparcv9.ads, s-inmaop-vms.adb,
+-      s-mastop-vms.adb, expander.adb, expander.ads, s-gloloc-mingw.adb,
+-      system-mingw.ads, system-vms-zcx.ads, s-osinte-fsu.adb,
+-      s-traceb-mastop.adb, a-exextr.adb, a-exstat.adb, a-filico.ads,
+-      a-finali.ads, a-interr.ads, a-intsig.adb, a-intsig.ads,
+-      a-except.ads, a-numaux-x86.ads, a-astaco.adb, a-calend.adb,
+-      a-calend.ads, a-chahan.adb, a-chahan.ads, a-chlat9.ads,
+-      a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
+-      a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
+-      a-elchha.adb, a-decima.adb, a-decima.ads, a-diocst.ads,
+-      a-direio.adb, a-direio.ads, a-excach.adb, a-excach.adb,
+-      a-exctra.ads, ali-util.adb, a-ngcefu.adb, a-ngcoty.adb,
+-      a-ngcoty.ads, a-nudira.adb, a-nudira.ads, a-nuflra.adb,
+-      a-numaux.ads, a-reatim.ads, a-sequio.adb, a-sequio.ads,
+-      a-siocst.ads, a-ssicst.ads, a-stmaco.ads, a-storio.adb,
+-      a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
+-      a-strmap.adb, a-strmap.ads, a-strsea.adb, a-strsea.ads,
+-      a-strsup.adb, a-strsup.ads, a-strunb.adb, a-strunb.ads,
+-      a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwima.adb,
+-      a-stwima.ads, a-stwise.adb, a-stwise.ads, a-stwisu.adb,
+-      a-stwisu.ads, a-stwiun.adb, a-stwiun.ads, a-suteio.adb,
+-      a-suteio.ads, a-swmwco.ads, a-swuwti.adb, a-swuwti.ads,
+-      a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb,
+-      a-taside.ads, a-teioed.adb, a-textio.adb, a-textio.ads,
+-      a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tideau.adb,
+-      a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
+-      a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
+-      a-tiinio.adb, a-timoau.adb, a-timoio.adb, a-timoio.ads,
+-      a-tiocst.ads, a-titest.adb, atree.adb, a-witeio.adb,
+-      a-witeio.ads, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb,
+-      a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtedit.adb,
+-      a-wtedit.ads, a-wtenau.adb, a-wtenio.adb, a-wtfiio.adb,
+-      a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
+-      a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, back_end.adb,
+-      bindgen.adb, butil.adb, butil.ads, checks.ads, cio.c, comperr.adb,
+-      csets.ads, cstand.adb, debug.ads, elists.ads, errno.c, errout.adb,
+-      errout.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
+-      errutil.ads, err_vars.ads, eval_fat.adb, exp_ch11.adb, exp_ch11.ads,
+-      exp_ch2.adb, exp_ch7.ads, exp_imgv.ads, exp_pakd.adb, exp_prag.adb,
+-      exp_prag.ads, exp_tss.adb, exp_tss.ads, exp_vfpt.ads, fe.h, fmap.adb,
+-      freeze.ads, frontend.adb, frontend.ads, g-arrspl.adb, g-arrspl.ads,
+-      g-awk.adb, g-awk.ads, g-boumai.ads, g-calend.adb, g-calend.ads,
+-      g-catiio.adb, g-comlin.adb, g-comlin.ads, g-comlin.ads, g-comlin.ads,
+-      g-comver.adb, g-crc32.adb, g-crc32.ads, g-ctrl_c.ads, g-curexc.ads,
+-      g-debpoo.ads, g-debuti.adb, g-diopit.adb, g-diopit.ads, g-dirope.adb,
+-      g-dirope.ads, g-dyntab.adb, g-dyntab.ads, g-excact.adb, g-excact.ads,
+-      g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.ads, g-flocon.ads,
+-      g-hesorg.ads, g-io.adb, g-locfil.ads, g-md5.adb, g-md5.ads, g-md5.ads,
+-      g-moreex.adb, g-signal.ads, g-signal.adb, gnatbind.ads, gnatchop.adb,
+-      gnatcmd.adb, gnatfind.adb, gnatlbr.adb, gnatmake.ads, gnatmem.adb,
+-      gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb, g-os_lib.adb,
+-      g-os_lib.ads, g-pehage.adb, g-pehage.ads, gprep.ads, g-regexp.adb,
+-      g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.ads, g-semaph.adb,
+-      g-socthi.adb, g-soliop.ads, g-spipat.adb, g-spipat.ads, g-sptabo.ads,
+-      g-sptain.ads, g-sptavs.ads, g-string.ads, g-tasloc.adb, g-tasloc.ads,
+-      g-trasym.adb, g-trasym.ads, i-fortra.adb, i-fortra.ads, inline.adb,
+-      layout.adb, live.adb, make.ads, makeutl.ads, makeutl.adb, mdll-fil.adb,
+-      mdll-fil.ads, mdll-utl.ads, memroot.ads, memtrack.adb, mlib.ads,
+-      mlib-fil.adb, mlib-fil.ads, mlib-prj.ads, mlib-utl.adb, mlib-utl.ads,
+-      nlists.adb, nlists.ads, osint.adb, osint.ads, osint-c.adb, osint-l.adb,
+-      osint-l.ads, osint-m.ads, output.adb, par.adb, par.adb, par.ads,
+-      par-ch11.adb, par-ch12.adb, par-ch2.adb, par-ch4.adb, par-ch5.adb,
+-      par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
+-      par-tchk.adb, prep.adb, prepcomp.adb, prepcomp.ads, prj-attr.ads,
+-      prj-com.ads, prj-dect.adb, prj-dect.ads, prj-env.ads, prj-err.ads,
+-      prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.ads, prj-pars.adb,
+-      prj-pars.ads, prj-part.ads, prj-pp.ads, prj-proc.ads, prj-strt.adb,
+-      prj-strt.ads, prj-tree.adb, prj-util.adb, prj-util.ads, rtsfind.adb,
+-      sem.adb, sem.ads, sem_case.adb, sem_case.ads, sem_ch11.adb,
+-      sem_ch4.adb, sem_ch6.ads, sem_ch7.ads, sem_dist.ads, sem_elab.ads,
+-      sem_elim.ads, sem_eval.ads, sem_intr.ads, sem_maps.adb, sem_maps.ads,
+-      sem_maps.ads, sem_res.ads, sem_type.ads, sfn_scan.adb, sfn_scan.ads,
+-      s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads, s-inmaop.ads, sinput.adb,
+-      sinput.ads, s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads,
+-      s-pack06.adb, s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb,
+-      s-pack09.ads, s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
+-      s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb,
+-      s-pack14.ads, s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads,
+-      s-pack18.adb, s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb,
+-      s-pack20.ads, s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
+-      s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb,
+-      s-pack25.ads, s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads,
+-      s-pack28.adb, s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb,
+-      s-pack30.ads, s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
+-      s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb,
+-      s-pack36.ads, s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads,
+-      s-pack39.adb, s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb,
+-      s-pack41.ads, s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
+-      s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb,
+-      s-pack46.ads, s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads,
+-      s-pack49.adb, s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb,
+-      s-pack51.ads, s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
+-      s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb,
+-      s-pack56.ads, s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads,
+-      s-pack59.adb, s-pack59.ads, s-pack60.adb, s-pack60.adb, s-pack60.ads,
+-      s-pack61.adb, s-pack61.ads, s-pack62.adb, s-pack62.ads, s-pack63.adb,
+-      s-pack63.ads, s-parint.adb, s-parint.adb, s-parint.ads, sprint.ads,
+-      s-purexc.ads, s-restri.ads, s-restri.adb, s-scaval.adb, s-scaval.ads,
+-      s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads, stand.ads,
+-      s-tasuti.adb, s-traceb.adb, s-traceb.ads, stringt.adb, stringt.ads,
+-      styleg.ads, s-valboo.adb, s-valboo.ads, s-valcha.adb, s-valcha.ads,
+-      s-valdec.adb, s-valdec.ads, s-valint.adb, s-valint.ads, s-valint.ads,
+-      s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads, s-valllu.adb,
+-      s-valllu.ads, s-valrea.adb, s-valrea.ads, s-valuns.adb, s-valuns.ads,
+-      s-valuti.adb, s-valuti.ads, s-valwch.ads, s-veboop.adb, s-veboop.ads,
+-      s-vercon.adb, s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchcon.ads,
+-      s-wchjis.adb, s-wchjis.ads, s-wchstw.adb, s-wchstw.adb, s-wchstw.ads,
+-      s-wchwts.adb, s-wchwts.ads, s-widboo.adb, s-widboo.ads, s-widcha.adb,
+-      s-widcha.ads, s-widenu.adb, s-widenu.ads, s-widlli.adb, s-widlli.ads,
+-      s-widllu.adb, s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
+-      s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, symbols.adb, symbols.ads,
+-      table.ads, targparm.adb, targparm.ads, tb-alvms.c, tb-alvxw.c,
+-      tbuild.adb, tree_io.ads, treepr.adb, treeprs.adt, ttypef.ads,
+-      ttypes.ads, types.adb, uintp.adb, uintp.ads, uname.ads, urealp.ads,
+-      usage.ads, validsw.ads, vxaddr2line.adb, widechar.adb, widechar.ads,
+-      xeinfo.adb, xnmake.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads,
+-      xsinfo.adb, xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb,
+-      a-dirval.ads, a-dirval.adb, a-dirval-mingw.adb, a-direct.ads,
+-      a-direct.adb, indepsw.ads, prj-attr-pm.ads, system-linux-ppc.ads,
+-      a-numaux-darwin.ads, a-numaux-darwin.adb,
+-      a-swuwha.ads, a-stunha.ads: Minor reformatting
+-
+-2005-11-14  Robert Dewar  <dewar@adacore.com>
+-
+-      PR ada/18434
+-      * osint-m.adb: Add pragma Elaborate_All for Osint
+-
+-2005-11-10  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      PR ada/23995
+-      * trans.c (call_to_gnu): Restore statement lost in translation.
+-
+-2005-11-08  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * init.c: Use the Linux-specific section for the IA-64/Linux target.
+-      (__gnat_adjust_context_for_raise): Add conditional code so that the
+-      IA-64 is also supported.
+-
+-2005-11-03  James E Wilson  <wilson@specifix.com>
+-
+-      PR ada/23427
+-      * trans.c (gnat_to_gnu): Use TYPE_SIZE_UNIT not TYPE_SIZE in
+-      TREE_OVERFLOW check.
+-
+-2005-09-21  Olivier Hainque  <hainque@adacore.com>
+-
+-      PR ada/22418
+-      * decl.c (maybe_pad_type): Use proper bitsizetype for XVZ objects,
+-      as we create them to store a size in bits.
+-
+-2005-10-21  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      PR ada/21937
+-      PR ada/22328
+-      PR ada/22381
+-      PR ada/22383
+-      PR ada/22419
+-      PR ada/22420
+-      * utils2.c (build_return_expr): New helper function.
+-      * gigi.h (build_return_expr): Declare it.
+-      * trans.c (Subprogram_Body_to_gnu): Use build_return_expr instead
+-      of manually building the RETURN_EXPR tree.
+-      (call_to_gnu): Pass MODIFY_EXPR through build_binary_op.
+-      (gnat_to_gnu) <N_Return_Statement>: Pass MODIFY_EXPR through
+-      build_binary_op for the "target pointer" case.  Use build_return_expr
+-      instead of manually building the RETURN_EXPR tree.
+-
+-2005-09-16  Laurent Guerby  <laurent@guerby.net>
+-
+-      PR ada/23788
+-      * s-tpinop.ads: Make this unit Preelaborate.
+-
+-2005-09-16  Andreas Jaeger  <aj@suse.de>
+-
+-      * socket.c: Add string.h for memcpy.
+-
+-2005-09-05  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * dec-io.ads, dec-io.adb: Removed, no longer used.
+-
+-2005-09-01  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * a-calend-mingw.adb: Add call to OS_Primitives.Initialize;
+-
+-      * s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
+-      s-taprop-os2.adb, s-taprop-irix-athread.adb, s-taprop-linux.adb,
+-      s-taprop-hpux-dce.adb, s-taprop-irix.adb, s-taprop-tru64.adb,
+-      s-taprop-lynxos.adb: Move with clauses outside Warnings Off now that
+-      dependent units are Preelaborate.
+-      (Initialize): Call Interrupt_Managemeent.Initialize and
+-      OS_Primitives.Initialize to ensure proper initialization of this unit.
+-      Remove use of System.Soft_Links
+-      Make this unit Preelaborate.
+-
+-      * s-stache.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
+-      s-taspri-vms.ads, s-tasinf-solaris.ads, s-taspri-os2.ads,
+-      s-taspri-lynxos.ads, s-taspri-hpux-dce.ads, s-taspri-tru64.ads,
+-      s-tasinf-tru64.ads, s-tasinf-irix.ads, s-tasinf-irix-athread.ads,
+-      s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
+-      s-tratas.ads, s-tasinf.ads: Minor reformatting.
+-      Add pragma Preelaborate, since these packages are suitable for this
+-      categorization.
+-      Update comments.
+-
+-      * s-traent-vms.ads, s-intman-dummy.adb,
+-      s-taprop-dummy.adb: Make this unit Preelaborate.
+-
+-      * s-osprim-vxworks.adb, s-osprim-vms.adb, s-osprim-vms.ads,
+-      s-osprim-mingw.adb, s-intman-vxworks.ads, s-intman-vxworks.adb,
+-      s-intman-vms.adb, s-intman-mingw.adb, s-intman-vms.ads,
+-      s-osprim-unix.adb, s-osprim-os2.adb, s-osprim-solaris.adb,
+-      s-intman-solaris.adb, s-intman-irix-athread.adb,
+-      s-intman-irix.adb: Mark this unit Preelaborate.
+-      (Initialize): New procedure.
+-      Update comments.
+-
+-      * s-taspri-linux.ads: Removed.
+-
+-      * s-tpopsp-solaris.adb (Initialize): Create the key in this procedure,
+-      as done by other implementations (e.g. posix).
+-
+-      * s-taprop.ads (Timed_Delay): Update spec since the caller now is
+-      responsible for deferring abort.
+-      Mark this unit Preelaborate.
+-
+-      * s-taprob.adb, s-tarest.adb: Call System.Tasking.Initialize to ensure
+-      proper initialization of the tasking run-time.
+-
+-      * s-tasdeb.ads: Mark this unit Preelaborate.
+-      (Known_Tasks): Add explicit default value to avoid elaboration code.
+-
+-      * s-inmaop-vms.adb (Elaboration code): Add call to
+-      Interrupt_Management.Initialize since the elaboration code depends on
+-      proper initialization of this package.
+-
+-      * s-intman.ads, s-inmaop-posix.adb, s-intman-posix.adb,
+-      s-osprim.ads, s-taprop-posix.adb, s-taspri-posix.ads,
+-      s-osprim-posix.adb: Make this unit Preelaborate.
+-
+-      * a-calend.adb: Add call to OS_Primitives.Initialize
+-
+-      * a-elchha.adb: Update use of Except.Id.Full_Name.
+-      Minor reformatting.
+-      Remove use of Ada.Exceptions.Traceback when possible, cleaner.
+-
+-      * a-dynpri.adb, a-sytaco.adb, a-sytaco.ads:
+-      Move with clauses outside Warnings Off now that dependent units are
+-      Preelaborate.
+-      Use raise xxx with "..."; Ada 2005 form.
+-
+-      * a-taside.ads, a-taside.adb:
+-      Remove some dependencies, to make it easier to make this unit truly
+-      Preelaborate.
+-      Rewrite some code to be conformant with Preelaborate rules.
+-
+-      * g-os_lib.adb: Remove non-preelaborate code so that this unit can be
+-      marked Preelaborate in the future.
+-
+-      * s-proinf.ads, g-string.ads, s-auxdec.ads, s-auxdec-vms_64.ads: Make
+-      these units Preelaborate.
+-
+-      * s-exctab.adb: Update use of Except.Id.Full_Name.
+-
+-      * s-soflin.ads, s-soflin.adb: Mark this unit Preelaborate_05.
+-      (Set_Exc_Stack_Addr_Soft, Get_Exc_Stack_Addr_NT, Set_Exc_Stack_Addr_NT,
+-      Set_Exc_Stack_Addr): Removed, no longer used.
+-      Remove reference to *Machine_State_Addr*, no longer needed.
+-
+-      * s-stalib.ads: Mark this unit as Preelaborate[_05].
+-      (Exception_Data): Full_Name is now a System.Address so that this unit
+-      can be made Preelaborate.
+-      Clean up/simplify code thanks to Full_Name being a System.Address.
+-      Remove obsolete pragma Suppress (All_Checks), no longer needed.
+-
+-      * s-taskin.ads, s-taskin.adb:
+-      Move with clauses outside Warnings Off now that dependent units are
+-      Preelaborate.
+-      Make this unit Preelaborate.
+-      (Initialize): New proceduure, replace elaboration code and makes the
+-      set up of the tasking run-time cleaner.
+-      (Detect_Blocking): Now a function instead of a deferred boolean, to
+-      obey Preelaborate rules.
+-
+-      * s-tassta.adb (Finalize_Global_Tasks): Remove Get/Set_Exc_Stack_Addr
+-      soft links, no longer used.
+-
+-      * s-traces.ads, s-traent.ads: Add pragma Preelaborate, since these
+-      packages are suitable for this categorization.
+-
+-      * s-solita.adb: Replace use of Ada.Exception by raise xxx with "..."
+-      since we compile run-time sources in Ada 2005 mode.
+-      (Timed_Delay_T): Call Abort_Defer/Undefer around Timed_Delay, to
+-      avoid having s-taprop*.adb depend on s-soflin and to avoid code
+-      duplication.
+-      Remove reference to *Machine_State_Addr*, no longer needed.
+-
+-2005-09-01  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-mastop-tru64.adb, s-mastop-irix.adb, s-mastop-vms.adb
+-      (Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
+-      Remove reference to System.Exceptions.
+-
+-      * s-mastop-x86.adb: Removed, no longer used.
+-
+-      * s-traceb-mastop.adb: Adjust calls to Pop_Frame.
+-
+-      * a-excach.adb: Minor reformatting.
+-
+-      * a-except.ads, a-except.adb: Remove global Warnings (Off) pragma, and
+-      instead fix new warnings that were hidden by this change.
+-      (AAA, ZZZ): Removed, replaced by...
+-      (Code_Address_For_AAA, Code_Address_For_ZZZ): ... these functions, who
+-      are used instead of constants, to help make Ada.Exception truly
+-      preelaborate.
+-      (Rcheck_*, Raise_Constraint_Error, Raise_Program_Error,
+-      Raise_Storage_Error): File is now a System.Address, to simplify code.
+-      (Elab code): Removed, no longer used.
+-      (Null_Occurrence): Remove Warnings Off and make this construct
+-      preelaborate.
+-      Remove code related to front-end zero cost exception handling, since
+-      it is no longer used.
+-      Remove -gnatL/-gnatZ switches.
+-
+-      * a-exexda.adb (Append_Info_Exception_Name, Set_Exception_C_Msg):
+-      Update use of Except.Msg.
+-
+-      * gnat1drv.adb, inline.adb, bindgen.adb, debug.adb, exp_ch11.ads,
+-      freeze.adb, frontend.adb, lib.adb, exp_ch11.adb: Remove code related
+-      to front-end zero cost exception handling, since it is no longer used.
+-      Remove -gnatL/-gnatZ switches.
+-
+-      * lib-writ.ads: Minor reformatting
+-      Remove doc of UX
+-
+-      * Makefile.rtl: Remove references to s-except*, s-mastop-x86*
+-
+-      * Make-lang.in: Remove references to s-except.ads
+-
+-      * s-except.ads: Removed, no longer used.
+-
+-      * s-mastop.ads, s-mastop.adb:
+-      (Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
+-      Remove reference to System.Exceptions.
+-
+-      * raise.h, usage.adb, targparm.adb, targparm.ads, switch-m.adb,
+-      switch-b.adb: Remove code related to front-end zero cost exception
+-      handling, since it is no longer used.
+-      Remove -gnatL/-gnatZ switches.
+-
+-2005-09-01  Robert Dewar  <dewar@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_ch4.adb (Expand_N_In): Replace test of expression in its own
+-      type by valid test and generate warning.
+-      (Tagged_Membership): Generate call to the run-time
+-      subprogram IW_Membership in case of "Iface_CW_Typ in Typ'Class"
+-      Change formal name Subtype_Mark to Result_Definition in several calls to
+-      Make_Function_Specification.
+-      (Expand_Allocator_Expression): Add tests for suppression of the AI-344
+-      check for proper accessibility of the operand of a class-wide allocator.
+-      The check can be left out if checks are suppressed or if the expression
+-      has a specific tagged type whose level is known to be safe.
+-
+-      * exp_ch5.adb (Expand_N_Assignment_Statement): Simplify the code that
+-      generates the run-time check associated with null-excluding entities.
+-      (Expand_N_Return_Statement): Add tests to determine if the accessibility
+-      check on the level of the return expression of a class-wide function
+-      can be elided. The check usually isn't needed if the expression has a
+-      specific type (unless it's a conversion or a formal parameter). Also
+-      add a test for whether accessibility checks are suppressed. Augment
+-      the comments to describe the conditions for performing the check.
+-
+-2005-09-01  Hristian Kirtchev  <kirtchev@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * a-tags.adb (IW_Membership): Give support to
+-      "Iface_CW_Typ in T'Class". For this purpose the functionality of this
+-      subprogram has been extended to look for the tag in the ancestors tag
+-      table.
+-      Update the structure of the GNAT Dispatch Table to reflect the
+-      additional two tables used in dispatching selects.
+-      Introduce appropriate array types and record components in
+-      Type_Specific_Data to reflect the two tables.
+-      (Get_Entry_Index, Set_Entry_Index): Retrieve and set the entry index in
+-      the TSD of a tag, indexed by position.
+-      (Get_Prim_Op_Kind, Set_Prim_Op_Kind): Retrieve and set the primitive
+-      operation kind in the TSD of a tag, indexed by position.
+-
+-      * a-tags.ads: Introduce an enumeration type to capture different
+-      primitive operation kinds. Define a constant reflecting the number of
+-      predefined primitive operations.
+-      (Get_Entry_Index, Set_Entry_Index): Set and retrieve the entry index
+-      of an entry wrapper.
+-      (Get_Prim_Op_Kind, Set_Prim_Op_Kind): Set and retrieve the kind of
+-      callable entity of a primitive operation.
+-
+-      * exp_ch3.adb (Freeze_Record_Type): Generate the declarations of the
+-      primitive operations used in dispatching selects for limited
+-      interfaces, limited tagged, task and protected types what implement a
+-      limited interface.
+-      (Freeze_Type): Generate the bodies of the primitive operations used in
+-      dispatching selects for limited tagged, task and protected types that
+-      implement a limited interface. Generate statements to populate the two
+-      auxiliary tables used for dispatching in select statements.
+-      (Freeze_Record_Type): Add call to initialize the dispatch table entries
+-      associated with predefined interface primitive operations.
+-      (Build_Dcheck_Function): Change Set_Subtype_Mark to
+-      Set_Result_Definition.
+-      (Build_Variant_Record_Equality): Change Subtype_Mark to
+-      Result_Definition.
+-      (Freeze_Enumeration_Type): Change Subtype_Mark to Result_Definition.
+-      (Predef_Spec_Or_Body): Change Subtype_Mark to Result_Definition.
+-      (Build_Assignment): Simplify the code that adds the run-time-check.
+-      (Expand_N_Object_Declaration): Code cleanup.
+-
+-      * exp_ch7.adb (Make_Clean): Select the appropriate type for locking
+-      entries when there is a protected type that implements a limited
+-      interface.
+-
+-      * exp_ch9.adb: Add package Select_Expansion_Utilities that contains
+-      common routines used in expansion of dispatching selects.
+-      (Add_Private_Declarations): Select the appropriate protection type when
+-      there is a protected type that implements a limited interface.
+-      (Build_Parameter_Block): Generate a wrapped parameter block.
+-      (Build_Protected_Subprogram_Body): Select the appropriate type for
+-      locking entries when there is a protected type that implements a
+-      limited interface.
+-      (Build_Wrapper_Spec): Set the flag and wrapped entity for procedures
+-      classified as entry wrappers.
+-      (Expand_N_Asynchronous_Select): Add support for expansion of dispatching
+-      asynchronous selects.
+-      (Expand_N_Conditional_Entry_Call): Add support for expansion of
+-      dispatching conditional selects.
+-      (Expand_N_Protected_Type_Declaration): Select the appropriate type for
+-      protection when there is a protected type that implements limited
+-      interfaces.
+-      (Expand_N_Timed_Entry_Call): Add support for expansion of dispatching
+-      timed selects.
+-      (Extract_Dispatching_Call): Extract the entity of the name of a
+-      dispatching call, the object parameter, actual parameters and
+-      corresponding formals.
+-      (Make_Initialize_Protection): Correct logic of protection initialization
+-      when there is a protected type that implements a limited interface.
+-      (Parameter_Block_Pack): Populate a wrapped parameter block with the
+-      values of actual parameters.
+-      (Parameter_Block_Unpack): Retrieve the values from a wrapped parameter
+-      block and assign them to the original actual parameters.
+-
+-      * exp_ch9.ads (Subprogram_Protection_Mode): New type.
+-      (Build_Protected_Sub_Specification): Change the type and name of the
+-      last formal to account for the increased variety of protection modes.
+-
+-      * einfo.ads, einfo.adb (Was_Hidden): New attribute. Present in all
+-      entities. Used to save the value of the Is_Hidden attribute when the
+-      limited-view is installed.
+-      (Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Retrieve and change
+-      the attribute of procedures classified as entry wrappers.
+-      (Wrapped_Entity, Set_Wrapped_Entity): Retrieve and change the wrapped
+-      entity of a primitive wrapper.
+-      (Write_Entity_Flags): Output the name and value of the
+-      Is_Primitive_Wrapper attribute.
+-      (Write_Field27_Name): Output the name and entity of the field Wrapped_
+-      Entity.
+-      (Underlying_Type): If we have an incomplete entity that comes from
+-      the limited view then we return the Underlying_Type of its non-limited
+-      view if it is already available.
+-      (Abstract_Interface_Alias): Flag applies to all subrogram kinds,
+-      including operators.
+-      (Write_Field26_Name): Add entry for Overridden_Operation
+-      (Overridden_Operation): New attribute of functions and procedures.
+-
+-      * exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Return a
+-      predefined position in the dispatch table for the primitive operations
+-      used in dispatching selects.
+-      (Init_Predefined_Interface_Primitives): Remove the hardcoded number of
+-      predefined primitive operations and replace it with
+-      Default_Prim_Op_Count.
+-      (Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
+-      Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Update
+-      the names of the generated primitive operations used in dispatching
+-      selects.
+-      (Init_Predefined_Interface_Primitives): No need to inherit primitives in
+-      case of abstract interface types. They will be inherit by the objects
+-      implementing the interface.
+-      (Make_DT): There is no need to inherit the dispatch table of the
+-      ancestor interface for the elaboration of abstract interface types.
+-      The dispatch table will be inherited by the object implementing the
+-      interface.
+-      (Copy_Secondary_DTs): Add documentation.
+-      (Validate_Position): Improve this static check in case of
+-      aliased subprograms because aliased subprograms must have
+-      the same position.
+-      (Init_Predefined_Interface_Primitives): New subprogram that initializes
+-      the entries associated with predefined primitives of all the secondary
+-      dispatch tables.
+-      (Build_Anonymous_Access_Type): Removed.
+-      (Expand_Interface_Actuals): With the previous cleanup there is no need
+-      to build an anonymous access type. This allows further cleanup in the
+-      code generated by the expander.
+-      (Expand_Interface_Conversion): If the actual is an access type then
+-      build an internal function to handle the displacement. If the actual
+-      is null this function returns null because no displacement is
+-      required; otherwise performs a type conversion that will be
+-      expanded in the code that returns the value of the displaced actual.
+-      (Expand_Interface_Actuals): Avoid the generation of unnecessary type
+-      conversions that have no effect in the generated code because no
+-      displacement is required. Code cleanup; use local variables to
+-      avoid repeated calls to the subprogram directly_designated_type().
+-
+-      * exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
+-      Classify the primitive operations used in dispatching selects as
+-      predefined.
+-      (Implements_Limited_Interface): Determine whether some type either
+-      directly implements a limited interface or extends a type that
+-      implements a limited interface.
+-      (Build_Task_Image_Function): Change Subtype_Mark to Result_Definition.
+-      (Expand_Subtype_From_Expr): Do not build actual subtype if the
+-      expression is limited.
+-      (Find_Interface_Tag): Add code to handle class-wide types and
+-      entities from the limited-view.
+-
+-      * rtsfind.ads: Add entries in RE_Id and RE_Unit_Table for
+-      Get_Entry_Index, Get_Prim_Op_Kind, POK_Function, POK_Procedure,
+-      POK_Protected_Entry, POK_Protected_Function, POK_Protected_Procedure,
+-      POK_Task_Entry, POK_Task_Procedure, Prim_Op_Kind, Set_Entry_Index,
+-      Set_Prim_Op_Kind.
+-
+-      * sem_ch9.adb (Analyze_Triggering_Alternative): Check for legal type
+-      of procedure name or prefix that appears as a trigger in a triggering
+-      alternative.
+-
+-      * uintp.ads: Introduce constants Uint_11 and Uint_13.
+-
+-2005-09-01  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-tataat.adb, a-tasatt.adb:
+-      Replace calls to Defer/Undefer_Abortion by Defer/Undefer_Abort.
+-
+-      * s-tasini.ads, s-tasini.adb (Defer_Abortion, Undefer_Abortion): Moved
+-      these procedures to body, and renamed Abort_Defer, Abort_Undefer.
+-      (Get_Exc_Stack_Addr, Set_Exc_Stack_Addr): Removed, no
+-      longer used.
+-
+-2005-09-01  Arnaud Charlet  <charlet@adacore.com>
+-          Jose Ruiz  <ruiz@adacore.com>
+-
+-      * s-taprop-vxworks.adb:
+-      Move with clauses outside Warnings Off now that dependent units are
+-      Preelaborate.
+-      (Initialize): Call Interrupt_Managemeent.Initialize to ensure proper
+-      initialization of this unit.
+-      (Specific): Add new procedures Initialize and Delete so that this
+-      package can be used for VxWorks 5.x and 6.x
+-      (ATCB_Key, ATCB_Key_Address): Moved to Specific package body to hide
+-      differences between VxWorks 5.x and 6.x
+-      Minor reformatting.
+-      (Timed_Delay): Remove calls to Defer/Undefer_Abort, now performed by
+-      caller.
+-      Use only Preelaborate-compatible constructs.
+-
+-      * s-tpopsp-vxworks.adb (ATBC_Key, ATCB_Key_Addr): Moved from
+-      Primitives.Operations.
+-      (Delete, Initialize): New procedures.
+-
+-      * s-osinte-vxworks.adb: Body used to handle differences between
+-      VxWorks 5.x and 6.x
+-      (kill, Set_Time_Slice, VX_FP_TASK): New functions.
+-
+-      * s-osinte-vxworks.ads: Minor reformatting.
+-      Add VxWworks 6.x specific functions (only called from VxWorks 6 files).
+-      (VX_FP_TASK): Now a function, to handle differences between VxWorks 5
+-      and 6.
+-      (Set_Time_Slice): New function, replacing kerneltimeSlice to share code
+-      between Vxworks 5 and 6.
+-      (taskLock, taskUnlock): Removeed, no longer used.
+-
+-      * adaint.c: The wait.h header is not located in the sys directory on
+-      VxWorks when using RTPs.
+-      (__gnat_set_env_value): Use setenv instead of putenv on VxWorks when
+-      using RTPs.
+-      (__gnat_dup): dup is available on Vxworks when using RTPs.
+-      (__gnat_dup2): dup2 is available on Vxworks when using RTPs.
+-
+-      * cal.c: Use the header time.h for Vxworks 6.0 when using RTPs.
+-
+-      * expect.c: The wait.h header is not located in the sys directory on
+-      VxWorks when using RTPs.
+-
+-2005-09-01  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-soccon-vms.adb: Renamed to g-soccon-vms.ads
+-
+-      * g-soccon-vms.ads: Renamed from g-soccon-vms.adb
+-
+-      * g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
+-      g-soccon-darwin.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
+-      g-soccon-solaris.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads,
+-      g-soccon-freebsd.ads: Add new constants:
+-       IP_MULTICAST_IF
+-       SO_RCVTIMEO/SO_SNDTIMEO
+-       IOV_MAX
+-
+-      * gen-soccon.c:
+-      Move all target-specific file inclusions and macro definitions to
+-      gsocket.h, in order to ensure that any C code in socket.c will see a
+-      set of constants that is consistent with the contents of g-soccon.ads.
+-
+-      * gsocket.h: Code imported from gen-soccon.c:
+-      Move all target-specific file inclusions and macro definitions to
+-      gsocket.h, in order to ensure that any C code in socket.c will see a set
+-      of constants that is consistent with the contents of g-soccon.ads.
+-      This change also makes gen-soccon self-contained (removing dependencies
+-      upon GCC internal headers).
+-
+-      * g-socket.adb (Send_Vector): Make calls to Writev at most IOV_MAX
+-      iovecs at a time.
+-      (To_Inet_Addr): Now a procedure instead of a function, more efficient.
+-
+-      * socket.c: Minor reformatting.
+-
+-2005-09-01  Ed Schonberg  <schonberg@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-
+-      * fname-sf.adb, mlib-tgt.ads,
+-      back_end.adb, casing.adb, g-debpoo.adb, g-excact.adb, g-spipat.adb,
+-      g-spipat.ads, g-thread.adb, lib-list.adb, makeutl.adb, mlib.adb,
+-      osint.adb, par-ch10.adb, par-load.adb, prep.adb, prj.adb, prj-attr.ads,
+-      prj-env.ads, prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads,
+-      prj-makr.adb, prj-makr.ads, prj-pars.ads, prj-part.adb, prj-strt.adb,
+-      prj-tree.ads, prj-util.ads, sem_dist.adb, sinput-c.ads, sinput-l.ads,
+-      sinput-p.ads, styleg-c.ads, xr_tabls.adb, prj-attr-pm.ads,
+-      makegpr.adb: Remove redundant use_clauses.
+-
+-2005-09-01  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-stoele.ads, s-stopoo.ads, s-stratt.ads, s-strops.ads, s-unstyp.ads,
+-      s-valboo.ads, s-valcha.ads, s-valdec.ads, s-valenu.ads, s-valint.ads,
+-      s-vallld.ads, s-vallli.ads, s-valllu.ads, s-valrea.ads, s-valuns.ads,
+-      s-valuti.ads, s-valwch.ads, s-veboop.ads, s-vector.ads, s-vercon.ads,
+-      s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-wchstw.ads, s-wchwts.ads,
+-      s-widboo.ads, s-widcha.ads, s-widenu.ads, s-widlli.ads, s-widllu.ads,
+-      s-widwch.ads, s-wwdcha.ads, s-wwdenu.ads, s-wwdwch.ads, system.ads,
+-      table.ads, types.ads, system-vms_64.ads, s-crtl-vms64.ads,
+-      s-addope.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
+-      s-vxwork-x86.ads, system-linux-ppc.ads, i-vxwork-x86.ads,
+-      a-numaux-darwin.ads, a-crbtgo.ads, a-crbtgk.ads, a-crbltr.ads,
+-      a-coprnu.ads, a-convec.ads, a-contai.ads, a-coinve.ads, a-cohata.ads,
+-      a-cohama.ads, a-cihama.ads, a-cidlli.ads, a-cdlili.ads,
+-      a-numaux-libc-x86.ads, a-numaux-vxworks.ads, system-linux-ia64.ads,
+-      system-freebsd-x86.ads, system-unixware.ads, system-lynxos-ppc.ads,
+-      system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
+-      s-vxwork-alpha.ads, system-aix.ads, system-vxworks-sparcv9.ads,
+-      system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
+-      s-parame-hpux.ads, system-hpux.ads, system-vxworks-m68k.ads,
+-      s-vxwork-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
+-      s-vxwork-mips.ads, system-os2.ads, system-interix.ads,
+-      s-vxwork-ppc.ads, system-solaris-sparc.ads, s-vxwork-sparcv9.ads,
+-      system-solaris-sparcv9.ads, s-parame-vms.ads, system-vms.ads,
+-      s-osinte-mingw.ads, system-mingw.ads, s-parame-vms-restrict.ads,
+-      system-vms-zcx.ads, s-parame-ae653.ads, system-vxworks-ppc.ads,
+-      s-parame-vxworks.ads, system-vxworks-alpha.ads, interfac-vms.ads,
+-      a-numaux-x86.ads, a-astaco.ads, a-chahan.ads, a-charac.ads,
+-      a-chlat1.ads, a-chlat9.ads, a-colire.adb, a-colire.ads, a-comlin.ads,
+-      a-cwila1.ads, a-cwila9.ads, ada.ads, a-decima.ads, a-exextr.adb,
+-      a-filico.ads, a-finali.ads, a-interr.ads, a-ioexce.ads, a-dynpri.ads,
+-      a-ngcefu.ads, a-ngcefu.adb, a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.ads,
+-      a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-numaux.ads, a-numeri.ads,
+-      a-reatim.adb, a-stmaco.ads, a-storio.ads, a-strbou.ads, a-stream.ads,
+-      a-strfix.ads, a-string.ads, a-strmap.ads, a-strsea.ads, a-strsup.ads,
+-      a-strunb.ads, a-stunau.ads, a-stwibo.ads, a-stwifi.ads, a-stwima.ads,
+-      a-stwise.ads, a-stwisu.ads, a-stwiun.ads, a-swmwco.ads, a-textio.ads,
+-      csets.ads, debug.ads, dec.ads, g-curexc.ads, get_targ.ads,
+-      g-except.ads, system-linux-hppa.ads, a-chacon.ads, a-widcha.ads,
+-      a-zchara.ads, system-hpux-ia64.ads, a-ciorma.ads, a-coorma.ads,
+-      a-ciormu.ads, a-coormu.ads, a-rbtgso.ads, a-chzla1.ads, a-chzla9.ads,
+-      a-stzbou.ads, a-stzfix.ads, a-stzmap.ads, a-stzsea.ads, a-stzsup.ads,
+-      a-stzunb.ads, a-swunau.ads, a-szunau.ads, gnat.ads, g-regpat.ads,
+-      g-speche.ads, g-spitbo.ads, g-table.ads, g-tasloc.ads, g-trasym.ads,
+-      i-c.ads, i-cpoint.ads, i-cpp.ads, i-cstrin.ads, i-fortra.ads,
+-      interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads, i-os2thr.ads,
+-      i-vxwork.ads, output.ads, s-arit64.ads, s-atacco.ads, s-boarop.ads,
+-      s-casuti.ads, s-crtl.ads, s-exctab.ads, s-exnint.ads, s-exnllf.ads,
+-      s-exnlli.ads, s-expint.ads, s-explli.ads, s-expllu.ads, s-expmod.ads,
+-      s-expuns.ads, s-fatflt.ads, s-fatgen.ads, s-fatlfl.ads, s-fatllf.ads,
+-      s-fatsfl.ads, s-finimp.ads, s-finroo.ads, s-fore.ads, s-geveop.ads,
+-      s-htable.ads, s-imgbiu.ads, s-imgboo.ads, s-imgcha.ads, s-imgdec.ads,
+-      s-imgenu.ads, s-imgint.ads, s-imgllb.ads, s-imglld.ads, s-imglli.ads,
+-      s-imgllu.ads, s-imgllw.ads, s-imgrea.ads, s-imguns.ads, s-imgwch.ads,
+-      s-imgwiu.ads, s-io.ads, s-maccod.ads, s-mantis.ads, s-memcop.ads,
+-      s-pack03.ads, s-pack05.ads, s-pack06.ads, s-pack07.ads, s-pack09.ads,
+-      s-pack10.ads, s-pack11.ads, s-pack12.ads, s-pack13.ads, s-pack14.ads,
+-      s-pack15.ads, s-pack17.ads, s-pack18.ads, s-pack19.ads, s-pack20.ads,
+-      s-pack21.ads, s-pack22.ads, s-pack23.ads, s-pack24.ads, s-pack25.ads,
+-      s-pack26.ads, s-pack27.ads, s-pack28.ads, s-pack29.ads, s-pack30.ads,
+-      s-pack31.ads, s-pack33.ads, s-pack34.ads, s-pack35.ads, s-pack36.ads,
+-      s-pack37.ads, s-pack38.ads, s-pack39.ads, s-pack40.ads, s-pack41.ads,
+-      s-pack42.ads, s-pack43.ads, s-pack44.ads, s-pack45.ads, s-pack46.ads,
+-      s-pack47.ads, s-pack48.ads, s-pack49.ads, s-pack50.ads, s-pack51.ads,
+-      s-pack52.ads, s-pack53.ads, s-pack54.ads, s-pack55.ads, s-pack56.ads,
+-      s-pack57.ads, s-pack58.ads, s-pack59.ads, s-pack60.ads, s-pack61.ads,
+-      s-pack62.ads, s-pack63.ads, s-parame.ads, s-pooglo.ads, s-pooloc.ads,
+-      s-poosiz.ads, s-powtab.ads, s-purexc.ads, s-sopco3.ads, s-sopco4.ads,
+-      s-sopco5.ads: Minor reformatting: reindent pragma Pure/Preelaborate
+-      and always use the no parameter form for consistency.
+-
+-      * gnat-style.texi: Document rules about Preelaborate/Pure pragmas.
+-
+-2005-09-01  Robert Dewar  <dewar@adacore.com>
+-
+-      * binde.adb: Minor reformatting
+-      (Find_Elab_Order): Output warning if -p used with static elab order
+-
+-2005-09-01  Robert Dewar  <dewar@adacore.com>
+-
+-      * checks.adb (Check_Needed): New procedure, deals with removing checks
+-      based on analysis of short-circuited forms. Also generates warnings for
+-      improper use of non-short-circuited forms.
+-      Code clean ups.
+-
+-2005-09-01  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-ztexio.adb, a-textio.adb, a-witeio.adb: Replace bad range checks
+-      with 'Valid tests.
+-
+-2005-09-01  Robert Dewar  <dewar@adacore.com>
+-
+-      * errout.ads, errout.adb (Fix Error_Msg_F): Fix implementation to meet
+-      spec.
+-      Implement new insertion char < (conditional warning)
+-      * errutil.adb, erroutc.adb: Implement new insertion char <
+-      (conditional warning).
+-      * sem_elab.adb, prj-dect.adb, erroutc.ads, err_vars.ads
+-      (Error_Msg_Warn): New variable for < insertion char.
+-      * prj-nmsc.adb: Implement new errout insertion char < (conditional
+-      warning).
+-      (Check_For_Source): Change value of Source_Id only after the current
+-      source has been dealt with.
+-
+-2005-09-01  Robert Dewar  <dewar@adacore.com>
+-          Doug Rupp  <rupp@adacore.com>
+-
+-      * exp_attr.adb: Handle vax fpt for 'Valid attribute
+-      * exp_vfpt.ads, exp_vfpt.adb: (Expand_Vax_Valid): New procedure
+-      * s-vaflop-vms-alpha.adb, s-vaflop.ads, s-vaflop.adb
+-      (Valid_D, Valid_F, Valid_G): New functions
+-
+-2005-09-01  Ed Schonberg  <schonberg@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_ch6.adb (Expand_Call): If an actual is a function call rewritten
+-      from object notation, the original node is unanalyzed and carries no
+-      semantic information, so that accessiblity checks must be performed on
+-      the type of the actual itself.
+-      (Expand_N_Subprogram_Declaration): Change last actual parameter for
+-      compatibility with Build_Protected_Sub_Specification.
+-      (Check_Overriding_Inherited_Interfaces): Add suport to handle
+-      overloaded primitives.
+-      (Register_Interface_DT_Entry): Use the new name of the formal
+-      the the calls to Expand_Interface_Thunk
+-
+-      * exp_dbug.ads: Augment comments on encoding of protected types to
+-      include the generation of dispatching subprograms when the type
+-      implements at least one interface.
+-
+-      * lib.ads: Extend information in Load_Stack to include whether a given
+-      load comes from a Limited_With_Clause.
+-
+-      * lib-load.adb (From_Limited_With_Chain): New predicate to determine
+-      whether a potential circularity is harmless, because it includes units
+-      loaded through a limited_with clause. Extends previous treatment which
+-      did not handle properly arbitrary combinations of limited and
+-      non-limited clauses.
+-
+-2005-09-01  Nicolas Setton  <setton@adacore.com>
+-
+-      * exp_dbug.adb (Get_Encoded_Name): Fixed bug that caused biaised types
+-      to be encoded as typ___XBLU_lowerbound__upperbound instead of
+-      typ___XB_lowerbound__upperbound.
+-
+-2005-09-01  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_dist.adb (Add_RACW_TypeCode, Add_RAS_TypeCode): Do not generate
+-      dummy access formal for RACW/RAS TypeCode TSS.
+-      (Build_TypeCode_Call): Do not generate dummy null access actual for
+-      calls to the TypeCode TSS.
+-
+-2005-09-01  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_intr.adb (Expand_Source_Name): For Enclosing_Entity, generate
+-      fully qualified name, to distinguish instances with the same local name.
+-
+-      * g-souinf.ads (Enclosing_Entity): Document that entity name is now
+-      fully qualified.
+-
+-2005-09-01  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_pakd.adb (Create_Packed_Array_Type): Properly handle very large
+-      packed arrays.
+-
+-2005-09-01  Jerome Lambourg  <lambourg@adacore.com>
+-
+-      * g-expect.adb (Non_Blocking_Spawn): Initialize the filters field to
+-      (Free): New deallocation procedure for filter elements
+-      (Close): Deallocate any existing filter for the concerned connection
+-
+-2005-09-01  Laurent Pautet  <pautet@adacore.com>
+-
+-      * g-pehage.ads, g-pehage.adb (Select_Char_Position): When no character
+-      position set is provided, we compute one in order to reduce the maximum
+-      length of the keys.  This computation first selects a character
+-      position between 1 and the minimum length of the keys in order to
+-      avoid reducing one of the keys to an empty string.
+-      (Initialize, Compute): When the ratio V to K is too low, the algorithm
+-      does not converge. The initialization procedure now comes with a
+-      maximum number of iterations such that when exceeded, an exception is
+-      raised in Compute. The user can initialize this ratio to another value
+-      and try again
+-      Reformating and updated headers.
+-
+-2005-09-01  Javier Miranda  <miranda@adacore.com>
+-
+-      * itypes.ads, itypes.adb (Create_Null_Excluding_Itype): New subprogram
+-      that given an entity T creates and returns an Itype that duplicates the
+-      contents of T. The returned Itype has the null-exclusion
+-      attribute set to True, and its Etype attribute references T
+-      to keep the association between the two entities.
+-      Update copyright notice
+-
+-      * sem_aggr.adb (Check_Can_Never_Be_Null,
+-      Aggregate_Constraint_Checks, Resolve_Aggregate,
+-      Resolve_Array_Aggregate, Resolve_Record_Aggregate): Code cleanup.
+-
+-      * sem_ch5.adb (Analyze_Assignment): Code cleanup.
+-
+-2005-09-01  Gary Dismukes  <dismukes@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * layout.adb (SO_Ref_From_Expr): Change Subtype_Mark to
+-      Result_Definition.
+-
+-      * par-ch6.adb (P_Subprogram): Handle parsing of Access_Definitions in
+-      function specs.
+-      Call Set_Result_Definition instead of Set_Subtype_Mark.
+-      (P_Subprogram_Specification): Add parsing of anonymous access result
+-      plus null exclusions. Call Set_Result_Definition instead of
+-      Set_Subtype_Mark.
+-
+-      * par-ch3.adb: Add support for LIMITED NEW for Ada 2005 AI-419
+-      (P_Access_Type_Definition): Add parsing for an anonymous access result
+-      subtype, plus parsing for null exclusions. Call Set_Result_Definition
+-      instead of Set_Subtype_Mark.
+-
+-      * sinfo.adb: Add support for LIMITED NEW for Ada 2005 AI-419
+-      (Null_Exclusion_Present): Allow this flag for N_Function_Specification.
+-      (Result_Definition): New function for N_Function_Specifications.
+-      (Subtype_Mark): No longer allowed for N_Access_Function_Definition and
+-      N_Function_Specification.
+-      (Set_Null_Exclusion_Present): Allow this flag for
+-      N_Function_Specification.
+-      (Set_Result_Definition): New procedure for N_Function_Specifications.
+-      (Set_Subtype_Mark): No longer allowed for N_Access_Function_Definition
+-      and N_Function_Specification.
+-
+-      * sinfo.ads: Update grammar rules for 9.7.2: Entry_Call_Alternative,
+-      Procedure_Or_Entry_Call; 9.7.4: Triggering_Statement.
+-      Add support for LIMITED NEW for Ada 2005 AI-419
+-      Update the syntax of PARAMETER_AND_RESULT_PROFILE to reflect the new
+-      syntax for anonymous access results.
+-      Replace Subtype_Mark field by Result_Definition in
+-      N_Function_Specification and N_Access_Definition specs.
+-      Add Null_Exclusion_Present to spec of N_Function_Specification.
+-      (Result_Definition): New function for N_Function_Specification and
+-      N_Access_Function_Definition.
+-      (Set_Result_Definition): New procedure for N_Function_Specification and
+-      N_Access_Function_Definition.
+-
+-      * sprint.adb (S_Print_Node_Actual): Change Subtype_Mark calls to
+-      Result_Definition for cases of N_Access_Function_Definition and
+-      N_Function_Specification.
+-      Print "not null" if Null_Exclusion_Present on N_Function_Specification.
+-
+-2005-09-01  Vincent Celier  <celier@adacore.com>
+-
+-      * lib-writ.adb: Update Copyright notice
+-      (Write_With_Lines): On platforms where file names are case-insensitive,
+-      record the file names in lower case.
+-      (Write_ALI): For D lines, on platforms where file names are
+-      case-insensitive, record the file names in lower case.
+-
+-2005-09-01  Ed Schonberg  <schonberg@adacore.com>
+-          Emmanuel Briot  <briot@adacore.com>
+-
+-      * lib-xref.adb (Output_Overridden_Op): Display information on
+-      overridden operation.
+-
+-      * lib-xref.ads: Add documentation on overridden operations.
+-
+-      * ali.ads (Xref_Entity_Record): Add support for storing the overriding
+-      information.
+-
+-      * ali.adb (Get_Typeref): New subprogram. Adds support for parsing the
+-      overriding entity information.
+-
+-2005-09-01  Vincent Celier  <celier@adacore.com>
+-
+-      * mlib-prj.adb (Copy_Interface_Sources): Copy all interface sources,
+-      including those that are inherited.
+-
+-2005-09-01  Robert Dewar  <dewar@adacore.com>
+-
+-      * opt.ads, opt.adb: Add new switches Debug_Pragmas_Enabled[_Config]
+-
+-      * par-prag.adb: Implement new pragma Debug_Policy
+-
+-      * sem_prag.adb Implement new pragma Debug_Policy
+-      (Analyze_Pragma, case Pack): do not let pragma Pack override an explicit
+-      Component_Size attribute specification. Give warning for ignored pragma
+-      Pack.
+-
+-      * snames.h, snames.ads, snames.adb: Introduce entries in
+-      Preset_Names for Name_Disp_Asynchronous_Select,
+-      Name_Disp_Conditional_Select, Name_Disp_Get_Prim_Op_Kind,
+-      Name_Disp_Timed_Select.
+-      New pragma Debug_Policy
+-
+-      * switch-c.adb (Scan_Front_End_Switches): Set Ada 2005 mode
+-      explicitly.
+-      Switch -gnata also sets Debug_Pragmas_Enabled
+-
+-      * sem.adb, par.adb (Set_Opt_Config_Switch): Add parameter Main_Unit to
+-      handle an explicit -gnata when compiling predefined files.
+-
+-2005-09-01  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not add the object
+-      directories of projects that have no Ada sources.
+-
+-2005-09-01  Robert Dewar  <dewar@adacore.com>
+-
+-      * scng.adb (Check_End_Of_Line): Count characters, rather than bytes
+-      (makes a difference for wide characters)
+-
+-      * widechar.adb, widechar.ads:
+-      Add Wide_Char_Byte_Count feature to count chars vs bytes
+-
+-2005-09-01  Thomas Quinot  <quinot@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_attr.adb (Resolve_Attribute, case 'Address): For an illegal
+-      'Address attribute reference with an overloaded prefix, use the
+-      location of the prefix (not the location of the attribute reference) as
+-      the error location.
+-      (Analyze_Attribute, case 'Size): The name of an enumeration literal, or
+-      a function renaming thereof, is a valid prefix for 'Size (where it is
+-      intepreted as a function call).
+-      (Statically_Denotes_Entity): New predicate to determine whether the
+-      prefix of an array attribute can be considered static.
+-
+-      PR ada/9087
+-      (Eval_Attr): Fix failure to evaluate Component_Size for
+-      unconstrained arrays (resulted in wrong value in packed case, since
+-      back end cannot handle this case)
+-
+-2005-09-01  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_cat.adb (Check_Categorization_Dependencies): Add more detail to
+-      error msgs for most common cases.
+-      Use new errout insertion char < (conditional warning)
+-
+-2005-09-01  Javier Miranda  <miranda@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch10.adb (In_Chain): Moved from the scope of a subprogram to
+-      become local to the whole package.
+-      (Install_Limited_Withed_Unit): Instead of unchaining real entities if
+-      the package was already analyzed the new algorithm "replaces" the
+-      real entities by the shadow ones. This is required to ensure that
+-      the order of these entities in the homonym chains does not change;
+-      otherwise we can have undefined references at linking time because
+-      in case of conflicts the external name of the entities will have
+-      a suffix that depends on the order of the entities in the chain.
+-      (Remove_Limited_With_Clause): Complementary code that completes the
+-      new algorithm and replaces the shadow entities by the real ones.
+-      (Install_Limited_Withed_Unit): When unchaining entities before the
+-      installation of the shadow entities, only regular entities of the
+-      public part must be taken into account. This is required to
+-      keep this routine in synch with the work done by Remove_Limited_
+-      With_Clause
+-      (Install_Limited_With_Clause): Introduce implicit limited_with_clause
+-      even if unit is analyzed, because the analysis of the unit is
+-      idempotent in any case, and the limited view of the unit may have to
+-      be installed for proper visibility.
+-      (Expand_Limited_With_Clause): Even if the unit in the implicit
+-      with_clause has been analyzed already, a limited view of the package
+-      must be built for the current context, if it does not exist yet.
+-
+-2005-09-01  Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * sem_ch12.adb (Instantiate_Subprogram_Body): When creating the
+-      defining entity for the instance body, make a new defining identifier
+-      rather than copying the entity of the spec, to prevent accidental
+-      sharing of the entity list.
+-      (Check_Private_View): When exchanging views of private types, build the
+-      list of exchanged views as a stack, to ensure that on exit the exchanges
+-      are undone in the proper order.
+-      (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
+-      Restore the compilation environment in case of instantiation_error.
+-      (Analyze_Generic_Subprogram_Declaration): Handle creation of type entity
+-      for an anonymous access result.
+-      (Instantiate_Generic_Subprogram): Subtype_Mark => Result_Definition
+-      (Formal_Entity): Handle properly the case of a formal package that
+-      denotes a generic package renaming.
+-
+-2005-09-01  Thomas Quinot  <quinot@adacore.com>
+-
+-      * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Reject the
+-      clause if the array aggregate is surrounded by parentheses.
+-
+-2005-09-01  Cyrille Comar  <comar@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Go to the
+-      underlying type
+-      to check if a type is Constrained in cases related to code generation
+-      (rather than semantic checking) since otherwise we do not generate
+-      similar code for mutable private types depending if their
+-      discriminants are visible or not.
+-      (Check_Abstract_Overriding): Do not complain about failure to override
+-      the primitive operations used in dispatching selects since they will
+-      always be overriden at the freeze point of the type.
+-      (Access_Definition): Separate out handling for resetting the scope
+-      of an anonymous access function result type. Retrieve the scope
+-      of the associated function rather than using Current_Scope, which
+-      does not have a consistent value (depends on whether we're in the
+-      middle of analyzing formal parameters). Add ??? comment about
+-      finding a cleaner way to handle the special cases of scope setting.
+-      (Process_Incomplete_Dependents): A protected operation is never a
+-      dispatching operation (only its wrapper may be).
+-      (Build_Derived_Record_Type): In case of tagged private types that
+-      implement interfaces add derivation of predefined primitive
+-      operations.
+-      (Derive_Subprograms): Replace the Is_Interface_Derivation parameter
+-      by two parameters that are used in case of derivation from abstract
+-      interface types: No_Predefined_Prims is used to avoid the derivation
+-      of predefined primitives from the interface, and Predefined
+-      Prims_Only is used to complete the derivation predefined primitives
+-      in case of private tagged types implementing interfaces.
+-      Fix typo in comments
+-      (Find_Interface_In_Descendant): Protect the frontend against
+-      wrong code with large circularity chains.
+-      (Is_Private_Overriding): Add support for entities overriding interface
+-      subprograms. The test failed because Entities associated with overriden
+-      interface subprograms are always marked as hidden (and used to build
+-      the secondary dispatch table); in this case the overriden entity is
+-      available through the field abstract_interface_alias (cf. override_
+-      dispatching_operation)
+-      (Access_Definition): Set the scope of the type to Current_Scope for the
+-      case of a function with an anonymous access result type.
+-      (Access_Subprogram_Declaration): Handle creation of the type entity for
+-      an access-to-function type with an anonymous access result.
+-      (Check_Anonymous_Access_Types): Change Subtype_Mark to Result_Definition
+-      in handling for N_Access_Function_Definition.
+-      (Analyze_Subtype_Declaration): Modify the text of error message.
+-      (Derived_Type_Declaration): Modify the text of error message.
+-      (Process_Subtype): Modify the text of error message plus cleanup
+-      of one redundant error message.
+-      (Analyze_Component_Declaration): Code cleanup.
+-      (Analyze_Object_Declaration): Code cleanup.
+-      (Analyze_Subtype_Declaration): Propagate the null-exclusion
+-      attribute in case of access types. Code cleanup.
+-      (Array_Type_Declaration): Code cleanup.
+-      (Process_Discriminants): Create the new null-excluding itype
+-      if required. Code cleanup.
+-      (Process_Subtype): Create the new null-excluding itype if
+-      required. Code cleanup.
+-      (Build_Derived_Record_Type): Code cleanup to avoid calling
+-      twice the subprogram derive_subprograms in case of private
+-      types that implement interfaces. In this particular case the
+-      subprogram Complete_Subprograms_Derivation already does the
+-      job associated with the second call.
+-
+-      * exp_strm.adb (Build_Elementary_Input_Call): Add an explicit
+-      conversion to the full view when generating an operation for a
+-      discriminant whose type may currently be private.
+-
+-2005-09-01  Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_ch4.adb (Transform_Object_Operation): In a context off the form
+-      V (Obj.F), the rewriting does not involve the indexed component, but
+-      only the selected component itself.
+-      Do not apply the transformation if the analyzed node is an actual of a
+-      call to another subprogram.
+-      (Complete_Object_Operation): Retain the entity of the
+-      dispatching operation in the selector of the rewritten node. The
+-      entity will be used in the expansion of dispatching selects.
+-      (Analyze_One_Call): Improve location of the error message associated
+-      with interface.
+-      (Analyze_Selected_Component): No need to resolve prefix when it is a
+-      function call, resolution is done when parent node is resolved, as
+-      usual.
+-      (Analyze_One_Call): Add a flag to suppress analysis of the first actual,
+-      when attempting to resolve a call transformed from its object notation.
+-      (Try_Object_Operation, Transform_Object_Operastion): Avoid makind copies
+-      of the argument list for each interpretation of the operation.
+-      (Try_Object_Operation): The designated type of an access parameter may
+-      be an incomplete type obtained through a limited_with clause, in which
+-      case the primitive operations of the type are retrieved from its full
+-      view.
+-      (Analyze_Call): If this is an indirect call, and the return type of the
+-      access_to_subprogram is incomplete, use its full view if available.
+-
+-2005-09-01  Javier Miranda  <miranda@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * sem_ch6.ads, sem_ch6.adb (Check_Conformance): In case of anonymous
+-      access types the null-exclusion and access-to-constant attributes must
+-      also match.
+-      (Analyze_Return_Statement): When the result type is an anonymous access
+-      type, apply a conversion of the return expression to the access type
+-      to ensure that appropriate accessibility checks are performed.
+-      (Analyze_Return_Type): For the case of an anonymous access result type,
+-      generate the Itype and set Is_Local_Anonymous_Access on the type.
+-      Add ??? placeholder for check to disallow returning a limited object
+-      in Ada 2005 unless it's an aggregate or a result of a function call.
+-      Change calls from Subtype_Mark to Result_Definition.
+-      (Analyze_Subprogram_Body): Change formal Subtype_Mark to
+-      Result_Definition in call to Make_Function_Specification.
+-      (Build_Body_To_Inline): Change Set_Subtype_Mark to
+-      Set_Result_Definition.
+-      (Make_Inequality_Operator): Change formal Subtype_Mark to
+-      Result_Definition in call to Make_Function_Specification.
+-      (Process_Formals): Create the new null-excluding itype if required.
+-      (New_Overloaded_Entity): For an entity overriding an interface primitive
+-      check if the entity also covers other abstract subprograms in the same
+-      scope. This is required to handle the general case, that is, overriding
+-      other interface primitives and overriding abstract subprograms inherited
+-      from some abstract ancestor type.
+-      (New_Overloaded_Entity): For an overriding entity that comes from
+-      source, note the operation that it overrides.
+-      (Check_Conformance, Type_Conformant): Addition of one new formal
+-      to skip controlling formals in the analysis. This is used to
+-      handle overloading of abstract interfaces.
+-      (Base_Types_Match): Add missing case for types imported from
+-      limited-with clauses
+-      (New_Overloaded_Entity): Add barrier to protect the use of
+-      the "alias" attribute.
+-
+-2005-09-01  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch8.adb (Analyze_Renamed_Entry): For a renaming_as_declaration,
+-      verify that the procedure and the entry are mode conformant.
+-      (Analyze_Subprogram_Renaming): Emit a warning if an operator is renamed
+-      as a different operator, which is often a cut-and-paste error.
+-
+-2005-09-01  Javier Miranda  <miranda@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_disp.adb (Check_Controlling_Formals): Anonymous access types
+-      used in controlling parameters exclude null because it is necessary to
+-      read the tag to dispatch, and null has no tag.
+-      (Override_Dispatching_Operation): If the previous operation is inherited
+-      from an interface, it becomes hidden  and does not participate in later
+-      name resolution.
+-
+-2005-09-01  Javier Miranda  <miranda@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * sem_res.adb (Resolve_Membership_Op): In case of the membership test
+-      "Iface_CW_Typ in T'Class" we have nothing else to do in the frontend;
+-      the expander will generate the corresponding run-time check to evaluate
+-      the expression.
+-      (Resolve_Call): Check for legal type of procedure name or prefix that
+-      appears as a trigger in a triggering alternative.
+-      (Valid_Conversion): If expression is ambiguous and the context involves
+-      an extension of System, remove System.Address interpretations.
+-      (Resolve_Qualified_Expression): Reject the case of a specific-type
+-      qualification applied to a class-wide argument. Enhance comment
+-      to explain checking of Original_Node.
+-      (Resolve_Type_Conversion): The location of the error message was not
+-      general enough to handle the general case and hence it has been removed.
+-      In addition, this patch improves the text of the message.
+-      (Resolve_Type_Conversion): Add missing support for access to interface
+-      types.
+-      (Resolve_Type_Conversion): If the target is a class-wide interface type,
+-      do not expand if the expression is the actual in a call, because proper
+-      expansion will take place when the call itself is expanded.
+-      (Resolve_Allocator): If the context is an unchecked conversion, the
+-      allocator inherits its storage pool, if any, from the target type of
+-      the conversion.
+-
+-2005-09-01  Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_type.adb (Add_One_Interp): If a candidate operation is an
+-      inherited interface operation that has an implementation, use the
+-      implementation to avoid spurious ambiguities.
+-      (Interface_Present_In_Ancestor): In case of concurrent types we can't
+-      use the Corresponding_Record_Typ attribute to look for the interface
+-      because it is set by the expander (and hence it is not always
+-      available). For this reason we traverse the list of interfaces
+-      (available in the parent of the concurrent type).
+-      (Interface_Present_In_Ancestor): Handle entities from the limited view
+-
+-2005-09-01  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_util.ads, sem_util.adb (Gather_Components): Omit interface tags
+-      from the list of required components.
+-      (Is_Controlling_Limited_Procedure): Determine whether an entity is a
+-      primitive procedure of a limited interface with a controlling first
+-      parameter.
+-      (Is_Renamed_Entry): Determine whether an entry is a procedure renaming
+-      of an entry.
+-      (Safe_To_Capture_Value): A value (such as non_null) is not safe to
+-      capture if it is generated in the second operand of a short-circuit
+-      operation.
+-      Do not capture values for variables with address clauses.
+-      (Is_Object_Reference): Treat a function call as an object reference only
+-      if its type is not Standard_Void_Type.
+-
+-2005-09-01  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_warn.adb (Warn_On_Known_Condition): Refine warning when applied
+-      to a variable that is statically known to be constant.
+-
+-2005-09-01  Geert Bosch  <bosch@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * ttypef.ads (VAXDF_Safe_First): Use correct value for constant.
+-      (VAXGF_Safe_First): Idem.
+-
+-2005-09-01  Robert Dewar  <dewar@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-
+-      * g-dirope.ads: Minor reformatting
+-      Document that bounds of result of Base_Name match the input index
+-      positions.
+-      Add documentation on environment variable syntax for Expand_Path
+-
+-      * gnat_ugn.texi: Update documentation to include mention of -m switches
+-      Document new treatment of wide characters in max line length
+-      style check.
+-      Remove -gnatL/-gnatZ switches, no longer used.
+-      Add note on pragmas Assertion_Policy and Debug_Policy in discussion
+-      of -gnata switch.
+-
+-      * gnat_rm.texi: Add doc for two argument form of pragma
+-      Float_Representation.
+-      Add documentation for pragma No_Strict_Aliasing
+-      Add note that explicit component clause overrides pragma Pack.
+-      Add documentation of pragma Debug_Policy
+-
+-2005-09-01  Matthew Heaney  <heaney@adacore.com>
+-
+-      * a-cihase.adb, a-coorse.ads, a-coorse.adb, a-cohama.adb,
+-      a-ciorse.ads, a-ciorse.adb, a-cihama.adb, a-cdlili.adb,
+-      a-cidlli.adb, a-chtgop.adb, a-cihase.adb, a-cihase.ads,
+-      a-cohase.adb, a-cohase.adb, a-cohase.ads: Synchronized with latest
+-      draft (Draft 13, August 2005) of Ada Amendment 1.
+-
+-2005-09-01  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * Makefile.in: Adjust the libgnat target pairs for Xscale to ARM.
+-      Note that the platform-specific version of g-soccon.ads for VMS is now
+-      named g-soccon-vms.ads (it was previously g-soccon-vms.adb, although it
+-      really is a package spec).
+-      Replace s-taspri-linux.ads by s-taspri-posix.ads
+-      Remove references to s-mastop-x86.adb
+-
+-      * system-vxworks-xscale.ads: Removed, no longer used.
+-      * s-vxwork-xscale.ads: Removed, no longer used.
+-
+-2005-09-01  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-dirval-mingw.adb, a-direct.adb, a-coinve.adb,
+-      g-dynhta.adb, g-dynhta.ads, cstand.adb, exp_smem.adb, g-debuti.ads,
+-      g-dirope.adb, g-table.adb, lib-sort.adb, sem_maps.adb,
+-      exp_fixd.adb, exp_aggr.adb, a-intnam-mingw.ads, a-intnam-vxworks.ads,
+-      g-arrspl.adb, g-arrspl.ads, g-awk.adb, g-awk.ads, g-boubuf.ads,
+-      g-boubuf.ads, g-boubuf.ads, g-bubsor.ads, g-bubsor.adb, g-busora.adb,
+-      g-busora.ads, g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
+-      g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads, g-cgi.adb,
+-      g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads, g-cgideb.adb, g-cgideb.ads,
+-      g-comlin.adb, g-comver.ads, g-semaph.ads, g-socthi.ads,
+-      sem_ch7.adb, a-direio.adb, a-caldel.ads, i-cstrea-vms.adb,
+-      a-ztedit.adb, a-ztenau.adb, g-socthi-vms.adb, g-socthi-vms.ads,
+-      g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.ads,
+-      a-intnam-irix.ads, a-intnam-irix.ads, a-intnam-hpux.ads,
+-      a-intnam-os2.ads, a-intnam-os2.ads, a-caldel-vms.adb, a-calend-vms.adb,
+-      a-calend-vms.ads, g-heasor.adb, g-heasor.ads, g-hesora.adb,
+-      g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb, g-htable.ads,
+-      g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads, g-locfil.ads,
+-      g-memdum.adb, g-memdum.ads, g-traceb.adb, g-traceb.ads, i-cobol.adb,
+-      i-cobol.ads, i-cstrea.ads, i-cstrin.adb, a-wtedit.adb, a-tifiio.adb,
+-      a-wtenau.adb, a-wtenau.adb, a-teioed.adb: Minor reformatting
+-
+-2005-08-29  Arnaud Charlet  <charlet@adacore.com>
+-
+-      PR ada/23187
+-      * adaint.c
+-      (GNAT_MAXPATH_LEN): Use default value if MAXPATHLEN is undefined.
+-
+-2005-08-29  Arnaud Charlet  <charlet@adacore.com>
+-          Doug Rupp  <rupp@adacore.com>
+-
+-      * s-stalib.adb: Add missing pragma Warnings (On) to reenable Warnings
+-      when needed.
+-      (Inside_Elab_Final_Code): Moved to init.c to avoid having to keep
+-      this code in the GNAT run-time.
+-
+-      * decl.c, fe.h: Replace GCC_ZCX by Back_End_Exceptions.
+-
+-      PR ada/21053
+-      * init.c (__gnat_error_handler [many]): Mark "msg" as const
+-      (__gnat_error_handler [HPUX]): Mark siginfo parameter as unused
+-
+-      (__gnat_inside_elab_final_code): Moved here from
+-      Standard_Library and only defined for the compiler.
+-      __gnat_error_handler [VMS]: Adjust sigargs to account for PC & PSL.
+-      (__gnat_inum_to_ivec): Do not define this function on VxWorks when
+-      using RTPs because directly vectored Interrupt routines are not
+-      supported on this configuration.
+-      (getpid): Do not redefine this function on VxWorks when using RTPs
+-      because this primitive is well supported by the RTP libraries.
+-      (copy_msg): Correct the code that checks for buffer overflow.
+-      Discovered during code reading.
+-
+-2005-08-29  Olivier Hainque  <hainque@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <E_Variable>: When allocating storage for
+-      a library level mutable variable with an initializer, tell
+-      build_allocator to ignore the initializer's size. It may not be large
+-      enough for all the values that might be assigned to the variable later
+-      on.
+-
+-2005-08-29  Arnaud Charlet  <charlet@adacore.com>
+-          Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * trans.c: Protect < in error msg with quote
+-      Replace GCC_ZCX by Back_End_Exceptions.
+-      (addressable_p) <COMPONENT_REF>: Also return 1 if the field
+-      has been sufficiently aligned in the record.
+-
+-2005-08-15  James E. Wilson  <wilson@specifix.com>
+-
+-      * system-linux-alpha.ads: Change ia64 to alpha.
+-
+-2005-08-01  Kazu Hirata  <kazu@codesourcery.com>
+-
+-      * decl.c, utils.c: Fix comment typos.
+-
+-2005-07-29  Kazu Hirata  <kazu@codesourcery.com>
+-
+-      * decl.c, init.c, initialize.c: Fix comment typos.
+-
+-2005-07-20  Giovanni Bajo  <giovannibajo@libero.it>
+-
+-      Make CONSTRUCTOR use VEC to store initializers.
+-      * decl.c (gnat_to_gnu_entity): Update to cope with VEC in
+-      CONSTRUCTOR_ELTS.
+-      * trans.c (extract_values): Likewise.
+-      * utils.c (convert, remove_conversions): Likewise.
+-      * utils2.c (contains_save_expr_p, build_binary_op, build_unary_op,
+-      gnat_build_constructor): Likewise.
+-
+-2005-07-09  Andrew Pinski  <pinskia@physics.uc.edu>
+-
+-      * decl.c (components_to_record): Use DECL_FCONTEXT instead of
+-      DECL_SECTION_NAME.
+-      (compare_field_bitpos): Likewise.
+-
+-2005-07-09  Andrew Pinski  <pinskia@physics.uc.edu>
+-
+-      * utils.c (create_var_decl): Only set DECL_COMMON on
+-      VAR_DECLs. Only set SET_DECL_ASSEMBLER_NAME on
+-      VAR_OR_FUNCTION_DECL_P.
+-
+-2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
+-
+-      * utils.c (create_param_decl): DECL_ARG_TYPE_AS_WRITTEN is
+-      removed.
+-
+-2005-07-07  Pascal Obry  <obry@adacore.com>
+-
+-      * g-socthi-mingw.adb (C_Inet_Addr): New body used to convert the
+-      returned type on Windows.
+-
+-      * g-socthi-mingw.ads (C_Inet_Addr): Remove pragma Import for this
+-      routine.
+-
+-      * g-socket.adb (Inet_Addr): Check for empty Image and raises an
+-      exception in this case.
+-      Simplify the code as "Image (Image'Range)" = "Image".
+-
+-2005-07-07  Vincent Celier  <celier@adacore.com>
+-
+-      * bindgen.adb (Gen_Output_File_C): When switch -a was specified, put
+-      the destructor/constructor attributes for <lib>final/<lib>init.
+-
+-      * gnatbind.adb (Gnatbind): Allow -a to be used in conjunction with -C
+-
+-2005-07-07  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not strip the padding
+-      type if the parameter is not passed by copy but reference by default.
+-
+-2005-07-07  Javier Miranda  <miranda@adacore.com>
+-
+-      * exp_ch3.adb (Build_Record_Init_Proc/Freeze_Record_Type):
+-      Reimplementation of the support for abstract interface types in order
+-      to leave the code more clear and easy to maintain.
+-
+-      * exp_ch6.adb (Freeze_Subprogram): Reimplementation of the support for
+-      abstract interface types in order to leave the code clearer and easier
+-      to maintain.
+-
+-      * exp_disp.ads, exp_disp.adb (Fill_DT_Entry): Part of its functionality
+-      is now implemented by the new subprogram Fill_Secondary_DT_Entry.
+-      (Fill_Secondary_DT_Entry): Generate the code necessary to fill the
+-      appropriate entry of the secondary dispatch table.
+-      (Make_DT): Add code to inherit the secondary dispatch tables of
+-      the ancestors.
+-
+-      * exp_util.adb (Find_Interface_Tag/Find_Interface_ADT): Instead of
+-      implementing both functionalities by means of a common routine, each
+-      routine has its own code.
+-
+-2005-07-07  Javier Miranda  <miranda@adacore.com>
+-
+-      * freeze.adb (Freeze_Entity): Check wrong uses of tag incomplete types.
+-
+-      * par-ch3.adb (P_Type_Declaration): Give support to tagged incomplete
+-      types:
+-      --
+-        type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
+-      --
+-
+-      * sem_attr.adb (Check_Not_Incomplete_Type): Additional checks for wrong
+-      use of tag incomplete types.
+-
+-      * sem_ch3.adb (Analyze_Incomplete_Type): Add mininum decoration to
+-      give support to tagged incomplete types.
+-
+-      * sem_ch5.adb (Analyze_Case_Statement): In generated code, if the
+-      expression is a discriminant reference and its type is private, as can
+-      happen within a stream operation for a mutable record, use the full
+-      view of the type to resolve the case alternatives.
+-      (Analyze_Assignment): Check wrong dereference of incomplete types.
+-
+-      * sem_ch6.adb (Process_Formals): Allow the use of tagged incomplete
+-      types.
+-
+-      * sem_res.adb (Resolve_Explicit_Dereference): Allow the use of tagged
+-      incomplete types.
+-
+-      * sinfo.adb (Taggged_Present/Set_Taggged_Present): Applicable to
+-      N_Incomplete_Type_Declaration nodes.
+-
+-      * sinfo.ads (N_Incomplete_Type_Declaration): Addition of attribute
+-      Tag_Present to give support to tagged incomplete types:
+-      --
+-        type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
+-      --
+-
+-2005-07-07  Olivier Hainque  <hainque@adacore.com>
+-
+-      PR ada/22301
+-      * raise.c: Only include unwind.h if IN_RTS, and provide dummy type
+-      definitions for the Unwind wrappers in the compiler case.
+-
+-2005-07-07  Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * par-load.adb (Load): If a child unit is loaded through a limited_with
+-      clause, each parent must be loaded as a limited unit as well.
+-
+-      * sem_ch10.adb (Previous_Withed_Unit): Better name for
+-      Check_Withed_Unit. Return true if there is a previous with_clause for
+-      this unit, whether limited or not.
+-      (Expand_Limited_With_Clause): Do not generate a limited_with_clause on
+-      the current unit.
+-      (Is_Visible_Through_Renamings): New local subprogram of install_limited
+-      _withed_unit that checks if some package installed through normal with
+-      clauses has a renaming declaration of package whose limited-view is
+-      ready to be installed. This enforces the check of the rule 10.1.2 (21/2)
+-      of the current Draft document for Ada 2005.
+-      (Analyze_Context): Complete the list of compilation units that
+-      are allowed to contain limited-with clauses. It also contains
+-      checks that were previously done by Install_Limited_Context_Clauses.
+-      This makes the code more clear and easy to maintain.
+-      (Expand_Limited_With_Clause) It is now a local subprogram of
+-      Install_Limited_Context_Clauses, and contains the code that adds
+-      the implicit limited-with clauses for parents of child units.
+-      This functionality was prevously done by Analyze_Context.
+-
+-      * sem_ch4.adb (Analyze_Selected_Component): Check wrong use of
+-      incomplete type.
+-
+-      * sem_ch7.adb (Analyze_Package_Declaration): Check if the package has
+-      been erroneously named in a limited-with clause of its own context.
+-      In this case the error has been previously notified by Analyze_Context.
+-
+-2005-07-07  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch8.adb (Find_Direct_Name): Handle properly the case of a
+-      generic package that contains local declarations with the same name.
+-      (Analyze_Object_Renaming): Check wrong renaming of incomplete type.
+-
+-2005-07-07  Bernard Banner  <banner@adacore.com>
+-
+-      * tracebak.c: Refine tracebacks to use Unwind_Backtrace scheme on
+-      ia64 platform only on platforms that you the GCC unwind library
+-      rather than the system unwind library.
+-
+-2005-07-07  Thomas Quinot  <quinot@adacore.com>
+-
+-      * expect.c: Minor reformatting
+-
+-2005-07-07  Sergey Rybin  <rybin@adacore.com>
+-
+-      * vms_data.ads: Add VMS qualifiers for new gnatpp switch
+-      --no-separate-is
+-
+-      * gnat_ugn.texi: Add description for new gnatpp option
+-      (--no-separate-is)
+-
+-2005-07-04  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-expect-vms.adb, g-expect.ads, g-expect.adb
+-      (Get_Command_Output): New subprogram to launch a process and get its
+-      standard output as a string.
+-
+-2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>
+-          Olivier Hainque  <hainque@adacore.com>
+-
+-      * s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to
+-      fetch a code-range descriptor associated with the machine state. On
+-      failure set the machine state's PC to 0; on success, pass the
+-      descriptor to exc_virtual_unwind.
+-
+-      * init.c (Tru64 section): New function __gnat_set_code_loc.
+-
+-2005-07-04  Vincent Celier  <celier@adacore.com>
+-
+-      * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+-      mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
+-      mlib-tgt-mingw.adb, mlib-tgt-darwin.adb (Build_Dynamic_Library):
+-      Remove all auto-initialization code, as this is now done through the
+-      constructor mechanism.
+-
+-      * adaint.h, adaint.c (__gnat_binder_supports_auto_init,
+-      __gnat_sals_init_using_constructors): New functions.
+-
+-      * bindgen.adb (Gen_Output_File_Ada): Generate pragmas
+-      Linker_Constructor and Linker_Destructor when switch -a is used.
+-
+-      * bindusg.adb: Add line for new switch -a
+-
+-      * gnatbind.adb (Gnatbind_Supports_Auto_Init): New Boolean function
+-      (Gnatbind): When switch -a is used, check if it is allowed
+-
+-      * switch-b.adb (Scan_Binder_Switches): Process new switch -a
+-
+-2005-07-04  Joel Brobecker  <brobecker@adacore.com>
+-
+-      * a-tags.adb (Type_Specific_Data): Define Tags_Table as a small array.
+-      This prevents us from hitting a limitation during the debug info
+-      generation when using stabs.
+-      (Prims_Ptr): Likewise.
+-
+-2005-07-04  Gary Dismukes  <dismukes@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * checks.adb (Null_Exclusion_Static_Checks): In the case of
+-      N_Object_Declaration, only perform the checks if the Object_Definition
+-      is not an Access_Definition.
+-
+-      * sem_ch3.adb (Access_Subprogram_Declaration): Add test for the case
+-      where the parent of an the access definition is an N_Object_Declaration
+-      when determining the Associated_Node_For_Itype and scope of an
+-      anonymous access-to-subprogram type.
+-
+-      * exp_ch6.adb (Expand_N_Subprogram_Declaration): Set the
+-      Corresponding_Spec on the body created for a null procedure. Add ???
+-      comment. Remove New_Copy_Tree call on body argument to
+-      Set_Body_To_Inline.
+-
+-      * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): For an out parameter with
+-      discriminants, use the type of the actual as well, because the
+-      discriminants may be read by the called subprogram.
+-
+-      * sem_ch3.adb (Access_Type_Declaration): If the designated type is an
+-      access type we do not need to handle non-limited views.
+-      (Build_Derived_Record_Type): Additional check to check that in case of
+-      private types, interfaces are only allowed in private extensions.
+-
+-2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (prepend_attributes) <Pragma_Linker_Constructor>: New case.
+-      <Pragma_Linker_Destructor>: Likewise.
+-
+-      * einfo.ads (Has_Gigi_Rep_Item): Document Pragma_Linker_Constructor and
+-      Pragma_Linker_Destructor.
+-
+-      * gigi.h (attr_type): Add ATTR_LINK_CONSTRUCTOR and
+-      ATTR_LINK_DESTRUCTOR.
+-      (static_ctors, static_dtors): New variables.
+-
+-      * misc.c (gnat_expand_body): Output current function as constructor
+-      and destructor if requested.
+-
+-      * par-prag.adb: Add processing for pragma Linker_Constructor and
+-      Linker_Destructor.
+-
+-      * sem_prag.adb (Find_Unique_Parameterless_Procedure): New function
+-      extracted from Check_Interrupt_Or_Attach_Handler.
+-      (Check_Interrupt_Or_Attach_Handler): Invoke it.
+-      Implement pragma Linker_Constructor and Linker_Destructor with the
+-      help of Find_Unique_Parameterless_Procedure.
+-      Replace Name_Alias with Name_Target for pragma Linker_Alias.
+-
+-      * snames.h, snames.ads, snames.adb:
+-      Add Name_Linker_Constructor and Name_Linker_Destructor.
+-      Add Pragma_Linker_Constructor and Pragma_Linker_Destructor.
+-      * snames.adb: Remove Name_Alias.
+-
+-      * trans.c: Include cgraph.h.
+-      (build_global_cdtor): New function.
+-      (Compilation_Unit_to_gnu): Build global constructor and destructor if
+-      needed.
+-      (tree_transform) <N_Identifier>: Substitute renaming of view-conversions
+-      of objects too.
+-      (addressable_p) <COMPONENT_REF>: Unconditionally test
+-      DECL_NONADDRESSABLE_P on STRICT_ALIGNMENT platforms.
+-
+-      * utils.c (process_attributes) <ATTR_LINK_ALIAS>: Do not assemble the
+-      variable if it is external.
+-
+-      (static_ctors, static_dtors): New global variables.
+-      (process_attributes) <ATTR_LINK_CONSTRUCTOR>: New case.
+-      <ATTR_LINK_DESTRUCTOR>: Likewise.
+-      (end_subprog_body): Chain function as constructor and destructor
+-      if requested.
+-
+-      * exp_util.adb (Force_Evaluation): Unconditionally invoke
+-      Remove_Side_Effects with Variable_Ref set to true.
+-      (Remove_Side_Effects): Handle scalar types first. Use a renaming
+-      for non-scalar types even if Variable_Ref is true and for class-wide
+-      expressions.
+-
+-2005-07-04  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_attr.adb (Mod): Evaluate condition expression with checks off,
+-      to prevent spurious warnings.
+-
+-2005-07-04  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_dist.adb (Build_TypeCode_Call): Remove incorrect processing for
+-      Itypes. Itypes are really unexpected there.
+-      (Build_TypeCode_Function): Generalise special processing for Itypes to
+-      handle the case of numeric implicit base types as well as enumerated
+-      ones.
+-
+-2005-07-04  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
+-      controlled, indicate the expected type of the dereference that is
+-      created for the call to Deep_Finalize, to prevent spurious errors when
+-      the designated type is private and completed with a derivation from
+-      another private type.
+-
+-2005-07-04  Vincent Celier  <celier@adacore.com>
+-
+-      * make.adb (Change_To_Object_Directory): When unable to change the
+-      current dir to the object directory, output the full path of the
+-      directory.
+-
+-2005-07-04  Matthew Gingell  <gingell@adacore.com>
+-
+-      * Makefile.in: Replace indepsw-linux.adb by indepsw-gnu.adb
+-
+-      * indepsw-linux.adb: Replace by...
+-
+-      * indepsw-gnu.adb: ...this new file
+-
+-2005-07-04  Vincent Celier  <celier@adacore.com>
+-
+-      * mlib-prj.adb (Auto_Initialize): New constant String
+-      (SALs_Use_Constructors): New Boolean function
+-      (Build_Library): Call gnatbind with Auto_Initialize switch when
+-      SALs_Use_Constructors returns True.
+-
+-      * mlib-tgt.ads: Minor reformatting
+-
+-      * mlib-utl.ads: Minor reformatting
+-
+-      * opt.ads: (Use_Pragma_Linker_Constructor): New Boolean flag
+-
+-2005-07-04  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * par-ch9.adb (P_Task, P_Protected): Indicate that single task and
+-      single protected declarations can have an interface list.
+-      (P_Entry_Declaration): Add handler for Error_Resync, which can be raised
+-      with seriously malformed entry declarations, and lead to compilation
+-      abandoned messages.
+-
+-2005-07-04  Javier Miranda  <miranda@adacore.com>
+-
+-      * par-load.adb: Load the context items in two rounds.
+-
+-2005-07-04  Robert Dewar  <dewar@adacore.com>
+-
+-      * scng.adb: Do not consider Mod used as an attribute to be a keyword
+-
+-2005-07-04  Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_ch10.adb (Build_Limited_Views): A type declared with a private
+-      type extension needs a limited view.
+-      Remove previous restriction on private types available through the
+-      limited-view (only tagged private types were previously allowed).
+-      (Install_Withed_Unit): In the code that implements the
+-      legality rule given in AI-377, exclude a child unit with the name
+-      Standard, because it is a homonym of the Standard environment package.
+-
+-2005-07-04  Thomas Quinot  <quinot@adacore.com>
+-
+-      * sem_ch4.adb (Transform_Object_Operation): For an actual that is an
+-      overloaded function call, carry interpretations from the original tree
+-      to the copy.
+-
+-2005-07-04  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch6.adb (Conforming_Types): If the types are anonymous access
+-      types check whether some designated type is a limited view, and use
+-      the non-limited view if available.
+-
+-2005-07-04  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * sem_eval.adb (Subtypes_Statically_Match): Use the discriminant
+-      constraint of full view of a private view T1 if present, when T2 is a
+-      discriminated full view.
+-
+-2005-07-04  Thomas Quinot  <quinot@adacore.com>
+-
+-      * sem_res.adb (Resolve_Actuals): Do not resolve the expression of an
+-      actual that is a view conversion of a bit packed array reference.
+-
+-2005-07-04  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_type.adb (Covers): Verify that Corresponding_Record_Type is
+-      present before checking whether an interface type covers a synchronized
+-      type.
+-
+-2005-07-04  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_util.adb (Is_Object_Reference): An indexed or selected component
+-      whose prefix is an implicit dereference is an object reference. Removes
+-      spurious errors when compiling with -gnatc.
+-
+-2005-07-04  Robert Dewar  <dewar@adacore.com>
+-
+-      PR ada/22039
+-      * s-sopco3.ads, s-sopco4.ads, s-sopco5.ads: Minor documentation fix
+-
+-2005-07-04  Matthew Gingell  <gingell@adacore.com>
+-
+-      * tracebak.c: Enable tracebacks on ia64 platforms
+-
+-2005-07-04  Vincent Celier  <celier@adacore.com>
+-
+-      * vms_conv.adb (Initialize): Allow multiple ALI files to be given to
+-      the GNAT BIND command, as gnatbind accepts multiples ALI files with
+-      the -L or -n switches.
+-
+-2005-07-04  Vincent Celier  <celier@adacore.com>
+-
+-      * makegpr.adb (Build_Global_Archive): Make sure the list of sources is
+-      correctly computed and the main project data is not modified while
+-      doing so.
+-      (Add_C_Plus_Plus_Link_For_Gnatmake): Always link with the C++ compiler
+-      (Choose_C_Plus_Plus_Link_Process): Do not generate shell script
+-      c++linker as this does not work on some platforms.
+-
+-2005-07-04  Matthew Heaney  <heaney@adacore.com>
+-
+-      * a-convec.ads, a-coinve.ads: Declaration of subtype Extended_Index
+-      was changed.
+-      * a-coinve.adb: Perform constraint checks explicitly.
+-
+-2005-07-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-          Thomas Quinot  <quinot@adacore.com>
+-
+-      * Make-lang.in: (ada/targtyps.o): Add missing TREE_H dependency.
+-      new target gen-soccon.
+-
+-2005-07-04  Robert Dewar  <dewar@adacore.com>
+-
+-      * s-mastop-irix.adb, s-mastop-vms.adb: Minor reformatting
+-
+-2005-07-04  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-socket.ads (Check_Selector): Minor rewording of comment.
+-
+-2005-07-04  Vincent Celier  <celier@adacore.com>
+-
+-      * vms_data.ads: Add VMS qualifiers for new gnatpp switch --eol=
+-
+-2005-07-04  Thomas Quinot  <quinot@adacore.com>
+-
+-      * gen-soccon.c: Add constants SO_SNDTIMEO and SO_RCVTIMEO.
+-
+-2005-07-04  Sergey Rybin  <rybin@adacore.com>
+-
+-      * gnat_ugn.texi: Add description of --eol gnatpp option
+-
+-2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-
+-      * gnat_rm.texi: Add a note that pragma Unreferenced is not appropriate
+-      if the user wants all calls of a subprogram to be flagged,
+-      independently of whether they are made from within the same unit or
+-      another unit.
+-      Mention restriction for pragma Linker_Alias on some platforms.
+-      Document pragma Linker_Constructor and Linker_Destructor.
+-      Rewrite documentation of Weak_External, Linker_Section and
+-      Linker_Alias pragmas.
+-
+-2005-07-04  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-stausa.ads, s-stausa.adb: New files.
+-
+-2005-06-30  Kelley Cook
+-
+-      * all files:  Update FSF address in copyright headers.
+-      * gen-soccon.co (main): Output new FSF address in generated files.
+-
+-2005-06-28  Paul Brook  <paul@codesourcery.com>
+-
+-      * misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
+-
+-2005-06-14  Olivier Hainque  <hainque@adacore.com>
+-          Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * s-mastop-irix.adb (Pop_Frame): Revert shorcuts avoiding calls to
+-      exc_unwind, now that we are generating proper .debug_frame output for
+-      that target.
+-
+-      * tracebak.c: Remove the mips-irix section, as we are now using the
+-      s-mastop based unwinder again.
+-      Under SPARC/Solaris, take into account the stack bias to compute the
+-      frame offset.  The stack bias is 0 for the V8 ABI and 2047 for the V9
+-      ABI.
+-
+-2005-06-14  Doug Rupp  <rupp@adacore.com>
+-
+-      * g-trasym-vms.adb: renamed g-trasym-vms-alpha.adb
+-
+-      * g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb: New files
+-
+-2005-06-14  Pascal Obry  <obry@adacore.com>
+-
+-      * a-strhas.ads, a-secain.adb, a-secain.ads, a-rbtgso.ads, a-cgaaso.adb,
+-      a-cgaaso.ads, a-cgarso.adb, a-cgcaso.adb, a-cgarso.ads, a-cgcaso.ads,
+-      a-contai.ads, a-coprnu.ads, a-coprnu.adb: Fix header style (spaces in
+-      package name).
+-
+-      * a-intnam-lynxos.ads, a-intnam-unixware.ads, a-intnam-tru64.ads,
+-      a-intnam-aix.ads, a-intnam-irix.ads, a-excpol-interix.adb,
+-      a-intnam-hpux.ads, a-intnam-linux.ads, a-intnam-dummy.ads,
+-      a-intnam-os2.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
+-      a-intnam-solaris.ads, a-caldel-vms.adb, a-calend-vms.ads,
+-      a-intnam-vms.ads, a-excpol-abort.adb, a-intnam-mingw.ads,
+-      a-intnam-vxworks.ads, a-numaux-vxworks.ads, s-osinte-unixware.adb,
+-      s-osinte-unixware.ads, s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads,
+-      s-osinte-hpux.ads, s-osinte-solaris-posix.ads, a-intnam-freebsd.ads,
+-      s-osinte-freebsd.adb, s-osinte-freebsd.ads, s-osinte-lynxos.adb,
+-      s-osinte-lynxos.ads, s-tpopsp-lynxos.adb, s-osinte-tru64.adb,
+-      s-osinte-tru64.ads, s-tpopsp-posix-foreign.adb, s-vxwork-alpha.ads,
+-      s-osinte-aix.adb, s-osinte-aix.ads, s-osinte-aix-fsu.ads,
+-      s-osinte-irix.adb, s-osinte-irix.ads, s-interr-sigaction.adb,
+-      s-osinte-irix-athread.ads, s-osinte-hpux-dce.adb,
+-      s-osinte-hpux-dce.ads, s-osinte-posix.adb, s-osinte-linux.ads,
+-      s-vxwork-m68k.ads, s-osinte-linux-fsu.ads, s-vxwork-mips.ads,
+-      s-osinte-dummy.ads, s-interr-dummy.adb, s-osinte-os2.adb,
+-      s-osinte-os2.ads, s-osprim-os2.adb, s-osinte-interix.ads,
+-      s-osprim-unix.adb, s-vxwork-ppc.ads, s-osinte-solaris.adb,
+-      s-osinte-solaris.ads, s-osprim-solaris.adb, s-tpopsp-solaris.adb,
+-      s-vxwork-sparcv9.ads, s-osinte-solaris-fsu.ads, s-interr-vms.adb,
+-      s-osinte-vms.adb, s-osinte-vms.ads, s-osprim-vms.adb,
+-      s-osprim-vms.ads, s-tpopde-vms.adb, s-tpopde-vms.ads,
+-      s-osprim-mingw.adb, s-vxwork-xscale.ads, s-interr-vxworks.adb,
+-      s-osinte-vxworks.adb, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
+-      s-tfsetr-vxworks.adb, s-tpopsp-vxworks.adb, s-intman-posix.adb,
+-      s-osinte-fsu.adb, s-osprim-posix.adb, s-tfsetr-default.adb,
+-      s-tpopsp-posix.adb, s-traces-default.adb, s-trafor-default.adb,
+-      s-trafor-default.ads, s-tratas-default.adb, a-numaux-x86.adb,
+-      a-numaux-x86.ads, a-astaco.adb, a-astaco.ads, a-caldel.adb,
+-      a-caldel.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads, a-colien.adb,
+-      a-colien.ads, a-colire.adb, a-colire.ads, a-comlin.adb, a-cwila1.ads,
+-      a-cwila9.ads, ada.ads, a-decima.adb, a-diocst.ads, a-direio.adb,
+-      a-dynpri.adb, a-dynpri.ads, a-excpol.adb, a-flteio.ads, a-fwteio.ads,
+-      a-inteio.ads, a-interr.adb, a-intnam.ads, a-intsig.adb, a-intsig.ads,
+-      a-ioexce.ads, a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
+-      a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads, a-lliwti.ads,
+-      a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads, a-ngcoty.adb, a-ngelfu.adb,
+-      a-ngelfu.ads, a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
+-      a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads,
+-      a-nucoty.ads, a-nudira.adb, a-nuelfu.ads, a-nuflra.adb, a-numaux.ads,
+-      a-numeri.ads, a-reatim.adb, a-retide.adb, a-retide.ads, a-sequio.adb,
+-      a-sequio.ads, a-sfteio.ads, a-sfwtio.ads, a-siocst.ads, a-siteio.ads,
+-      a-siwtio.ads, a-ssicst.ads, a-ssitio.ads, a-ssiwti.ads, a-stmaco.ads,
+-      a-storio.adb, a-strbou.adb, a-strfix.adb, a-string.ads, a-strmap.adb,
+-      a-strsea.adb, a-strsup.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
+-      a-stunau.ads, a-stwibo.adb, a-stwifi.adb, a-stwifi.ads, a-stwima.adb,
+-      a-stwise.adb, a-stwisu.adb, a-suteio.adb, a-suteio.ads, a-swuwti.adb,
+-      a-swuwti.ads, a-teioed.adb, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb,
+-      a-tideau.adb, a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
+-      a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinio.adb, a-timoau.adb,
+-      a-timoio.adb, a-timoio.ads, a-tiocst.ads, a-titest.adb, a-titest.ads,
+-      a-witeio.adb, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
+-      a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtenau.adb, a-wtenio.adb,
+-      a-wtfiio.adb, a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
+-      a-wtinio.ads, a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, calendar.ads,
+-      dec.ads, dec-io.adb, dec-io.ads, directio.ads, errno.c, g-bubsor.adb,
+-      g-bubsor.ads, g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
+-      g-casuti.adb, g-casuti.ads, g-debuti.ads, g-heasor.adb, g-heasor.ads,
+-      g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb,
+-      g-htable.ads, g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
+-      g-memdum.adb, g-memdum.ads, g-sestin.ads, g-signal.ads, g-signal.adb,
+-      gnat.ads, g-souinf.ads, g-speche.adb, g-speche.ads, g-table.adb,
+-      g-table.ads, g-thread.adb, g-thread.ads, ioexcept.ads, i-vxwoio.adb,
+-      i-vxwoio.ads, math_lib.adb, s-assert.adb, s-assert.ads, s-asthan.ads,
+-      s-bitops.adb, s-bitops.ads, s-boarop.ads, s-carsi8.adb, s-carsi8.ads,
+-      s-carun8.adb, s-carun8.ads, s-casi16.adb, s-casi16.ads, s-casi32.adb,
+-      s-casi32.ads, s-casi64.adb, s-casi64.ads, s-casuti.adb, s-casuti.ads,
+-      s-caun16.adb, s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
+-      s-caun64.ads, s-direio.adb, s-direio.ads, sequenio.ads, s-errrep.adb,
+-      s-errrep.ads, s-exnint.adb, s-exnint.ads, s-exnllf.adb, s-exnllf.ads,
+-      s-exnlli.adb, s-exnlli.ads, s-expint.adb, s-expint.ads, s-explli.adb,
+-      s-explli.ads, s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
+-      s-expuns.adb, s-expuns.ads, s-fore.adb, s-fore.ads, s-geveop.adb,
+-      s-geveop.ads, s-htable.adb, s-htable.ads, s-imgbiu.adb, s-imgbiu.ads,
+-      s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
+-      s-imgdec.ads, s-imgenu.adb, s-imgenu.ads, s-imgint.adb, s-imgint.ads,
+-      s-imgllb.adb, s-imgllb.ads, s-imglld.adb, s-imglld.ads, s-imglli.adb,
+-      s-imglli.ads, s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
+-      s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwiu.adb, s-imgwiu.ads
+-      s-interr.ads, s-io.adb, s-mantis.adb, s-mantis.ads, s-osprim.ads,
+-      s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads, s-pack06.adb,
+-      s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
+-      s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads, s-pack12.adb,
+-      s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb, s-pack14.ads,
+-      s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads, s-pack18.adb,
+-      s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
+-      s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads, s-pack23.adb,
+-      s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb, s-pack25.ads,
+-      s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads, s-pack28.adb,
+-      s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
+-      s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads, s-pack34.adb,
+-      s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb, s-pack36.ads,
+-      s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads, s-pack39.adb,
+-      s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
+-      s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads, s-pack44.adb,
+-      s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb, s-pack46.ads,
+-      s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads, s-pack49.adb,
+-      s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
+-      s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads, s-pack54.adb,
+-      s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb, s-pack56.ads,
+-      s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads, s-pack59.adb,
+-      s-pack59.ads, s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
+-      s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads, s-scaval.adb,
+-      s-scaval.ads, s-sequio.adb, s-sequio.ads, s-stache.adb, s-stache.ads,
+-      s-stratt.adb, s-stratt.ads, s-strcom.adb, s-strcom.ads, s-strops.adb,
+-      s-strops.ads, s-taasde.ads, s-tadeca.adb, s-tadeca.ads, s-tadert.adb,
+-      s-tadert.ads, s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
+-      s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads, s-tasini.adb,
+-      s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
+-      s-tasren.ads, s-tasres.ads, s-tassta.adb, s-tassta.ads, s-tasuti.adb,
+-      s-tasuti.ads, s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
+-      s-tpoben.adb, s-tpoben.ads, s-tpobop.ads, s-tporft.adb, s-tposen.ads,
+-      s-traces.adb, s-traces.ads, s-tratas.adb, s-tratas.ads, s-valint.ads,
+-      s-unstyp.ads, s-veboop.adb, s-veboop.ads, s-vector.ads, s-vercon.adb,
+-      s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchjis.adb, s-wchjis.ads,
+-      s-wchstw.adb, s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
+-      s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb, s-widenu.ads,
+-      s-widlli.adb, s-widlli.ads, s-widllu.adb, s-widllu.ads, s-wwdcha.ads,
+-      s-wwdenu.adb, s-wwdwch.ads, text_io.ads, s-stchop.ads, s-stchop.adb,
+-      s-stchop-vxworks.adb, a-intnam-darwin.ads, s-osinte-darwin.adb,
+-      s-osinte-darwin.ads, s-vxwork-x86.ads, a-numaux-darwin.ads,
+-      a-numaux-darwin.adb, a-chzla1.ads, a-chzla9.ads, a-lfztio.ads,
+-      a-liztio.ads, a-llfzti.ads, a-llizti.ads, a-sfztio.ads, a-siztio.ads,
+-      a-ssizti.ads, a-stzbou.adb, a-stzfix.adb, a-stzfix.ads, a-stzmap.adb,
+-      a-stzsea.adb, a-stzsup.adb, a-swunau.adb, a-swunau.ads, a-szuzti.adb,
+-      a-szuzti.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads,
+-      a-ztcoio.adb, a-ztcoio.ads, a-ztcstr.ads, a-ztdeau.adb, a-ztdeio.adb,
+-      a-ztenio.adb, a-ztexio.adb, a-ztfiio.adb, a-ztflio.adb, a-ztgeau.adb,
+-      a-ztinau.adb, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb, a-ztmoio.adb,
+-      a-zttest.adb, a-zzunio.ads, g-utf_32.adb: Fix header style.
+-      "GNU Ada" to GNAT, use proper casing for RUN-TIME.
+-
+-2005-06-14  Jose Ruiz  <ruiz@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-
+-      * a-sytaco.ads, a-sytaco.adb (Suspension_Object): These objects are no
+-      longer protected objects. They have been replaced by lower-level
+-      suspension objects made up by a mutex and a condition variable (or
+-      their equivalent given a particular OS) plus some internal data to
+-      reflect the state of the suspension object.
+-      (Initialize, Finalize): Add this initialization procedure for
+-      Suspension_Object, which is a controlled type.
+-      (Finalize): Add the finalization procedure for Suspension_Object,
+-      which is a controlled type.
+-
+-      * a-sytaco-vxworks.ads, a-sytaco-vxworks.adb: Remove this version of
+-      Ada.Synchronous_Task_Control because there is no longer a need for a
+-      VxWorks specific version of this package. Target dependencies
+-      has been moved to System.Task_Primitives.Operations.
+-
+-      * s-osinte-mingw.ads (pCRITICAL_SECTION): Remove this type which is no
+-      longer needed.
+-      (InitializeCriticalSection, EnterCriticalSection,
+-      LeaveCriticalSection, DeleteCriticalSection): Replace the type
+-      pCriticalSection by an anonymous access type so that we avoid problems
+-      of accessibility to local objects.
+-
+-      * s-taprop.ads, s-taprop-posix.adb, s-taprop-vxworks.adb,
+-      s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
+-      s-taprop-os2.adb, s-taprop-dummy.adb, s-taprop-hpux-dce.adb,
+-      s-taprop-linux.adb, s-taprop-irix.adb, s-taprop-irix-athread.adb,
+-      s-taprop-tru64.adb, s-taprop-lynxos.adb (Elaboration Code): No longer
+-      set the environment task mask here.
+-      (Current_State): Add this function that returns the state of the
+-      suspension object.
+-      (Set_False): Add this procedure that sets the state of the suspension
+-      object to False.
+-      (Set_True): Add this procedure that sets the state of the suspension
+-      object to True, releasing the task that was suspended, if any.
+-      (Suspend_Until_True): Add this procedure that blocks the calling task
+-      until the state of the object is True. Program_Error is raised if
+-      another task is already waiting on that suspension object.
+-      (Initialize): Add this procedure for initializing the suspension
+-      object. It initializes the mutex and the condition variable which are
+-      used for synchronization and queuing, and it sets the internal state
+-      to False.
+-      (Finalize): Add this procedure for finalizing the suspension object,
+-      destroying the mutex and the condition variable.
+-
+-      * s-taspri-posix.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
+-      s-taspri-vms.ads, s-taspri-solaris.ads, s-taspri-os2.ads,
+-      s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-linux.ads,
+-      s-taspri-tru64.ads, s-taspri-lynxos.ads (Suspension_Object): New object
+-      which provides a low-level abstraction (using operating system
+-      primitives) for Ada.Synchronous_Task_Control.
+-      This object is made up by a mutex (for ensuring mutual exclusion), a
+-      condition variable (for queuing threads until the condition is
+-      signaled), a Boolean (State) indicating whether the object is open,
+-      and a Boolean (Waiting) reflecting whether there is a task already
+-      suspended on this object.
+-
+-      * s-intman.ads, s-intman-irix.adb, s-intman-irix-athread.adb,
+-      s-intman-dummy.adb, s-intman-solaris.adb, s-intman-vms.adb,
+-      s-intman-vms.ads, s-intman-mingw.adb,
+-      (Initialize_Interrupts): Removed, no longer used.
+-
+-      * s-inmaop-posix.adb, s-inmaop-vms.adb, s-inmaop-dummy.adb,
+-      (Setup_Interrupt_Mask): New procedure.
+-
+-      * s-intman-vxworks.ads, s-intman-vxworks.adb:  Update comments.
+-
+-      * s-inmaop.ads (Setup_Interrupt_Mask): New procedure
+-
+-      * s-interr.adb: Add explicit call to Setup_Interrupt_Mask now that
+-      this is no longer done in the body of s-taprop
+-      (Server_Task): Explicitely test for Pending_Action in case
+-      System.Parameters.No_Abort is True.
+-
+-      * s-taasde.adb: Add explicit call to Setup_Interrupt_Mask now that this
+-      is no longer done in the body of s-taprop
+-
+-2005-06-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
+-      system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
+-      system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
+-      system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
+-      system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
+-      system-linux-x86.ads, system-vxworks-mips.ads, system-vxworks-mips.ads,
+-      system-os2.ads, system-interix.ads, system-solaris-sparc.ads,
+-      system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
+-      system-vms-zcx.ads, system-vxworks-ppc.ads, system.ads,
+-      system-darwin-ppc.ads, system-vxworks-x86.ads, system-linux-ppc.ads,
+-      system-linux-hppa.ads, system-vms_64.ads,
+-      system-vxworks-alpha.ads: Minor comment update for
+-      AI-362 (unit is Pure).
+-
+-      * a-chahan.ads, a-chahan.adb: Move Wide_Wide functions to Conversions
+-      Add pragma Pure_05 for AI-362
+-      Make remaining conversion functions obsolescent in Ada 95
+-
+-      * impunit.adb: Change a-swunha to a-swuwha and a-szunha to a-szuzha
+-      Make Ada.Wide_Characters[.Unicode] available in Ada 95 mode
+-      Add entries for a-wichun and a-zchuni
+-      Add a-widcha a-zchara for AI-395
+-      Add a-chacon (Ada.Characters.Conversions) to list of Ada 2005 routines
+-
+-      * Makefile.rtl: Change a-swunha to a-swuwha and a-szunha to a-szuzha
+-      Add entries for a-wichun.o and a-zchuni.o
+-      Entries for a-widcha.o and a-zchara.o
+-      Add entry for a-chacon.o
+-
+-      * a-ztenau.adb: Add with of Ada.Characters.Conversions
+-
+-      * a-chacon.ads, a-chacon.adb: New files.
+-
+-      * a-taside.adb, a-exstat.adb, a-excach.adb: Add warnings off to allow
+-      categorization violations.
+-
+-      * a-strmap.ads: Add pragma Pure_05 for AI-362
+-      * a-strmap.ads: Add note on implicit categorization for AI-362
+-
+-      * a-tgdico.ads, a-taside.ads: Add pragma Preelaborate_05 for AI-362
+-
+-      * par-prag.adb: Dummy entry for pragma Persistent_BSS
+-      Set Ada_Version_Explicit, for implementation of AI-362
+-      Add processing for pragma Pure_05 and Preelaborate_05
+-      Add entry for Assertion_Policy pragma
+-
+-      * sem.adb: Make sure predefined units are compiled with GNAT_Mode true
+-      when needed for proper processing of categorization stuff
+-
+-      * sem_cat.adb:
+-      For several cases, make errors in preealborate units warnings,
+-      instead of errors, if GNAT_Mode is set. For AI-362.
+-
+-      * sem_elab.adb (Check_Elab_Call): Call to non-static subprogram in
+-      preelaborate unit is now warning if in GNAT mode
+-
+-      * s-stoele.ads: Document AI-362 for pragma preelaborate
+-
+-2005-06-14  Doug Rupp  <rupp@adacore.com>
+-
+-      * s-parame-vms.ads, s-parame-hpux.ads, s-parame-vms-restrict.ads,
+-      s-parame-ae653.ads, s-parame.ads, s-parame-vxworks.ads:
+-      Default_Exception_Msg_Max_Length: new parameter.
+-
+-      * a-except.ads: (Exception_Msg_Max_Length): Set to
+-      System.Parameters.Default_Exception_Msg_Max_Length
+-      Add pragma Preelaborate_05 for AI-362
+-      Add warnings off to allow categorization violations for AI-362
+-
+-2005-06-14  Vincent Celier  <celier@adacore.com>
+-
+-      * gnatsym.adb: Adapt to modification of package Symbols: procedure
+-      Process is now in package Processing.
+-
+-      * symbols.ads, symbols.adb:
+-      (Processing): New package, containing procedure Process
+-
+-      * symbols-vms-alpha.adb:
+-      Replaced by symbols-vms.adb and symbols-processing-vms-alpha.adb
+-
+-      * symbols-vms.adb, symbols-processing-vms-alpha.adb,
+-      symbols-processing-vms-ia64.adb: New files.
+-
+-2005-06-14  Pascal Obry  <obry@adacore.com>
+-
+-      * mlib-tgt-mingw.adb (Build_Dynamic_Library): Replace the previous
+-      implementation. This new version generates the proper DllMain routine
+-      to initialize the SAL. The DllMain is generated in Ada and compiled
+-      before being added as option to the library build command.
+-
+-2005-06-14  Doug Rupp  <rupp@adacore.com>
+-          Pascal Obry  <obry@adacore.com>
+-
+-      * adaint.c (__gnat_to_canonical_file_spec): Check for error returns in
+-      call to decc$translate_vms.
+-      (__gnat_locate_regular_file): Check if the path_val contains quotes. We
+-      need to remove those quotes before catenating the filename.
+-      (__gnat_locate_exec_on_path): improvements to the Win32 section:
+-      * avoid allocating the memory twice for better efficiency;
+-      * allocate 32K buffer for environment expansion as suggested by MSDN;
+-      * prepend ".;" to the path so that current directory is searched too.
+-
+-2005-06-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-except.adb (Exception_Identity): return Null_Id for null occurrence
+-      instead of raising CE (AI-241)
+-      Add warnings off to allow categorization violations for AI-362
+-
+-2005-06-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * ali-util.adb, gnatbind.adb: Remove references to
+-      Force_RM_Elaboration_Order.
+-
+-      * switch-b.adb: Remove recognition of -f switch
+-
+-2005-06-14  Pascal Obry  <obry@adacore.com>
+-
+-      * a-stzunb.adb, a-stwiun.adb, a-strunb.adb (Realloc_For_Chunk): New
+-      implementation which is slightly more efficient.
+-
+-2005-06-14  Gary Dismukes  <dismukes@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-
+-      * exp_ch4.adb (Expand_Allocator_Expression): When an initialized
+-      allocator's designated type is a class-wide type, and compiling for
+-      Ada 2005, emit a run-time check that the accessibility level of the
+-      type given in the allocator's expression is not deeper than the level
+-      of the allocator's access type.
+-
+-      (Tagged_Membership): Modified to gives support to abstract interface
+-      types.
+-
+-      * a-tags.ads, a-tags.adb (type Type_Specific_Data): Add component
+-      Access_Level.
+-      (Descendant_Tag): New predefined function
+-      (Is_Descendant_At_Same_Level): New predefined function
+-      (Get_Access_Level): New private function
+-      (Set_Access_Level): New private procedure
+-      (IW_Membership): New function. Given the tag of an object and the tag
+-      associated with an interface, evaluate if the object implements the
+-      interface.
+-      (Register_Interface_Tag): New procedure used to initialize the table of
+-      interfaces used by the IW_Membership function.
+-      (Set_Offset_To_Top): Initialize the Offset_To_Top field in the prologue
+-      of the dispatch table.
+-      (Inherit_TSD): Modified to copy the table of ancestor tags plus the
+-      table of interfaces of the parent.
+-      (Expanded_Name): Raise Tag_Error if the passed tag equals No_Tag.
+-      (External_Tag): Raise Tag_Error if the passed tag equals No_Tag.
+-      (Parent_Tag): Return No_Tag in the case of a root-level tagged type,
+-      and raise Tag_Error if the passed tag equalis No_Tag, to conform with
+-      Ada 2005 semantics for the new predefined function.
+-
+-      * exp_attr.adb (Expand_N_Attribute, case Attribute_Input): Generate
+-      call to Descendant_Tag rather than Internal_Tag.
+-      (Expand_N_Attribute, case Attribute_Output): Emit a check to ensure that
+-      the accessibility level of the attribute's Item parameter is not deeper
+-      than the level of the attribute's prefix type. Tag_Error is raised if
+-      the check fails. The check is only emitted for Ada_05.
+-      (Find_Stream_Subprogram): If a TSS exists on the type itself for the
+-      requested stream attribute, use it.
+-      (Expand_N_Attribute_Reference): If the designated type is an interface
+-      then rewrite the referenced object as a conversion to force the
+-      displacement of the pointer to the secondary dispatch table.
+-      (Expand_N_Attribute_Reference, case 'Constrained): Return false if this
+-      is a dereference of an object with a constrained partial view.
+-
+-      * exp_ch5.adb (Expand_N_Return_Statement): When a function's result
+-      type is a class-wide type, emit a run-time check that the accessibility
+-      level of the returned object is not deeper than the level of the
+-      function's master (only when compiling for Ada 2005).
+-
+-      * exp_disp.ads, exp_disp.adb (Ada_Actions, Action_Is_Proc,
+-      Action_Nb_Arg): Add entries for new Get_Access_Level and
+-      Set_Access_Level routines in these tables.
+-      (Make_DT): Generate a call to set the accessibility level of the
+-      tagged type in its TSD.
+-      (Make_DT): Code cleanup. The functionality of generating all the
+-      secondary dispatch tables has been moved to freeze_record_type.
+-      (Make_Abstract_Interface_DT): Minor code cleanup.
+-      (Set_All_DT_Position): Code cleanup. As part of the code cleanup
+-      this subprogram implements a new algorithm that provides the
+-      same functionality and it is more clear in case of primitives
+-      associated with abstract interfaces.
+-      (Set_All_Interfaces_DTC_Entity): Removed. As part of the code
+-      clean up, the functionality of this subprogram is now provided
+-      by Set_All_DT_Position.
+-      (Write_DT): New subprogram: a debugging procedure designed to be called
+-      within gdb to display the dispatch tables associated with a tagged
+-      type.
+-      (Collect_All_Interfaces): New subprogram that collects the whole list
+-      of interfaces that are directly or indirectly implemented by a tagged
+-      type.
+-      (Default_Prim_Op_Position): New subprogram that returns the fixed
+-      position in the dispatch table of the default primitive operations.
+-      (Expand_Interface_Actuals): New subprogram to generate code that
+-      displaces all the actuals corresponding to class-wide interfaces to
+-      reference the interface tag of the actual object.
+-      (Expand_Interface_Conversion): New subprogram. Reference the base of
+-      the object to give access to the interface tag associated with the
+-      secondary dispatch table.
+-      (Expand_Interface_Thunk): New subprogram that generates the code of the
+-      thunk. This is required for compatibility with the C+ ABI.
+-      (Make_Abstract_Interface_DT): New subprogram that generate the
+-      declarations for the secondary dispatch tables associated with an
+-      abstract interface.
+-      (Set_All_Interfaces_DTC_Entity): New subprogram that sets the DTC_Entity
+-      attribute for each primitive operation covering interface subprograms
+-      (Expand_Dispatching_Call, Fill_DT_Entry, Make_DT, Set_All_DT_Position):
+-      These subprograms were upgraded to give support to abstract interfaces
+-
+-      * rtsfind.ads (type RE_Id): Add RE_Descendant_Tag,
+-      RE_Is_Descendant_At_Same_Level, RE_Get_Access_Level, and
+-      RE_Set_Access_Level.
+-      (RE_Unit_Table): Add entries for new Ada.Tags operations.
+-      Add support to call the followig new run-time subprograms:
+-      IW_Membership, Register_Interface_Tag, and Set_Offset_To_Top
+-
+-      * sem_ch3.adb (Constant_Redeclaration): Allow a deferred constant to
+-      match its full declaration when both have an access definition with
+-      statically matching designated subtypes.
+-      (Analyze_Component_Declaration): Delete commented out code that was
+-      incorrectly setting the scope of an anonymous access component's type.
+-      (Process_Discriminants): Set Is_Local_Anonymous_Access for the type of
+-      an access discriminant when the containing type is nonlimited.
+-      (Make_Incomplete_Type_Declaration): Create an incomplete type
+-      declaration for a record type that includes self-referential access
+-      components.
+-      (Check_Anonymous_Access_Types): Before full analysis of a record type
+-      declaration, create anonymous access types for each self-referential
+-      access component.
+-      (Analyze_Component_Declaration, Array_Type_Declaration): Indicate that
+-      an access component in this context is a Local_Anonymous_Access, for
+-      proper accessibility checks.
+-      (Access_Definition): Set properly the scope of the anonymous access type
+-      created for a stand-alone access object.
+-      (Find_Type_Of_Object): An object declaration may be given with an access
+-      definition.
+-      (Complete_Subprograms_Derivation): New subprogram used to complete
+-      type derivation of private tagged types implementing interfaces.
+-      In this case some interface primitives may have been overriden
+-      with the partial-view and, instead of re-calculating them, they
+-      are included in the list of primitive operations of the full-view.
+-      (Build_Derived_Record_Type): Modified to give support to private
+-      types implemening interfaces.
+-      (Access_Definition): Reject ALL on anonymous access types.
+-      (Build_Derived_Record_Type): In the case of Ada 2005, allow a tagged
+-      type derivation to occur at a deeper accessibility level than the
+-      parent type.
+-      For the case of derivation within a generic body however, disallow the
+-      derivation if the derived type has an ancestor that is a formal type
+-      declared in the formal part of an enclosing generic.
+-      (Analyze_Object_Declaration): For protected objects, remove the check
+-      that they cannot contain interrupt handlers if not declared at library
+-      level.
+-      (Add_Interface_Tag_Components): New subprogram to add the tag components
+-      corresponding to all the abstract interface types implemented by a
+-      record type or a derived record type.
+-      (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
+-      Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
+-      Process_Full_View, Record_Type_Declaration): Modified to give
+-      support to abstract interface types
+-      (Collect_Interfaces): New subprogram that collects the list of
+-      interfaces that are not already implemented by the ancestors
+-      (Process_Full_View): Set flag Has_Partial_Constrained_View appropriately
+-      when partial view has no discriminants and full view has defaults.
+-      (Constrain_Access): Reject a constraint on a general access type
+-      if the discriminants of the designated type have defaults.
+-      (Access_Subprogram_Declaration): Associate the Itype node with the inner
+-      full-type declaration or subprogram spec. This is required to handle
+-      nested anonymous declarations.
+-      (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
+-      Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
+-      Process_Full_View, Record_Type_Declaration): Modified to give
+-      support to abstract interface types
+-      (Derive_Subprograms): Addition of a new formal to indicate if
+-      we are in the case of an abstact-interface derivation
+-      (Find_Type_Of_Subtype_Indic): Moved from the body of the package
+-      to the specification because it is requied to analyze all the
+-      identifiers found in a list of interfaces
+-
+-      * debug.adb: Complete documentation of flag "-gnatdZ"
+-
+-      * exp_ch3.adb: Implement config version of persistent_bss pragma
+-      (Check_Stream_Attributes): Use Stream_Attribute_Available instead of
+-      testing for TSS presence to properly enforce visibility rules.
+-      (Freeze_Record_Type): Code cleanup. Modified to call the subprogram
+-      Make_Abstract_Interfaces_DT to generate the secondary tables
+-      associated with abstract interfaces.
+-      (Build_Init_Procedure): Modified to initialize all the tags
+-      corresponding.
+-      (Component_Needs_Simple_Initialization): Similar to other tags,
+-      interface tags do not need initialization.
+-      (Freeze_Record_Type): Modified to give support to abstract interface
+-      types.
+-      (Expand_N_Object_Declaration): Do not generate an initialization for
+-      a scalar temporary marked as internal.
+-
+-      * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Handle properly an
+-      in-out parameter that is a component in an initialization procedure,
+-      whose constraint might depend on discriminants, and that may be
+-      misaligned because of packing or representation clauses.
+-      (Is_Legal_Copy): New predicate to determine whether a possibly
+-      misaligned in-out actual can actually be passed by copy/return. This
+-      is an error in case the type is by_reference, and a warning if this is
+-      the consequence of a DEC import pragma on the subprogram.
+-      (Expand_Call, Freeze_Subprogram): Modified to give support to abstract
+-      interface types
+-      (Expand_Inlined_Call): Mark temporary generated for the return value as
+-      internal, so that no useless scalar normalization is generated for it.
+-      (Expand_N_Subprogram_Declaration): Save unanalyzed body so calls to
+-      null procedure can always be inlined.
+-      (Expand_N_Subprogram_Declaration): If this is the declaration of a null
+-      procedure, generate an explicit empty body for it.
+-
+-      * exp_util.ads, exp_util.adb (Find_Interface_ADT): New subprogram.
+-      Given a type implementing an interface, returns the corresponding
+-      access_disp_table value.
+-      (Find_Interface_Tag): New subprogram. Given a type implementing an
+-      interface, returns the record component containing the tag of the
+-      interface.
+-      (Find_Interface_Tag): New overloaded subprogram. Subsidiary to the
+-      previous ones that return the corresponding tag and access_disp_table
+-      entities.
+-      (Is_Predefined_Dispatching_Operation): Determines if a subprogram
+-      is a predefined primitive operation.
+-      (Expand_Subtype_From_Expr): If the expression is a selected component
+-      within an initialization procedure, compute its actual subtype, because
+-      the component may depend on the discriminants of the enclosing record.
+-
+-      * i-cpp.ads, i-cpp.adb:
+-      This package has been left available for compatibility with previous
+-      versions of the frontend. As part of the new layout this is now a
+-      dummy package that uses declarations available at a-tags.ads
+-
+-      * par-ch3.adb (P_Identifier_Declarations): Give an error for use of
+-      "constant access" and "aliased [constant] access" when not compiling
+-      with -gnat05.
+-      Suppress Ada 2005 keyword warning if -gnatwY used
+-      (P_Identifier_Declarations): Add support for object declarations with
+-      access definitions.
+-      (Private_Extension_Declaration): Complete the documentation
+-      (P_Derived_Type_Def_Or_Private_Ext_Decl): Fill the inteface_list
+-      attribute in case of private extension declaration
+-      (P_Type_Declaration): Mark as "abstract" the type declarations
+-      corresponding with protected, synchronized and task interfaces
+-      (P_Declarative_Items): "not" and "overriding" are overriding indicators
+-      for a subprogram or instance declaration.
+-
+-      * sem_ch12.adb (Analyze_Subprogram_Instantiation): Verify that an
+-      instantiation that is a dispatching operation has controlling access
+-      parameters that are null excluding.
+-      Save and restore Ada_Version_Explicit, for implementation of AI-362
+-      (Validate_Derived_Type_Instance): Add check for abstract interface
+-      types.
+-      (Analyze_Formal_Package): Establish Instantiation source for the copy of
+-      the generic that is created to represent the formal package.
+-      (Analyze_Package_Instantiation): Instantiate body immediately if the
+-      package is a predefined unit that contains inlined subprograms, and
+-      we are compiling for a Configurable_Run_Time.
+-      (Instantiate_Formal_Subprogram): Indicate that null default subprogram
+-      If the program has a null default, generate an empty body for it.
+-
+-      * sem_ch6.adb, sem_ch9.adb (Analyze_Subprograms_Declaration): Update
+-      error message condition, null procedures are correctly detected now.
+-      (New_Overloaded_Entity): Bypass trivial overriding indicator check
+-      for subprograms in the context of protected types. Instead, the
+-      indicator is examined in Sem_Ch9 while analysing the subprogram
+-      declaration.
+-      (Check_Overriding_Indicator): Check consistency of overriding indicator
+-      on subprogram stubs as well.
+-      (Analyze_Subprogram_Declaration): Diagnose null procedures declared at
+-      the library level.
+-      (Analize_Subprogram_Specification): When analyzing a subprogram in which
+-      the type of the first formal is a concurrent type, replace this type
+-      by the corresponding record type.
+-      (Analyze_Subprogram_Body): Undo the previous work.
+-      (Analyze_Procedure_Call): If the call has the form Object.Op, the
+-      analysis of the prefix ends up analyzing the call itself, after which
+-      we are done.
+-      (Has_Interface_Formals): New subprogram subsidiary to analyze
+-      subprogram_specification that returns true if some non
+-      class-wide interface subprogram is found
+-      (New_Overloaded_Entity): Modified to give support to abstract
+-      interface types
+-      (Conforming_Types): In Ada 2005 mode, conformance checking of anonymous
+-      access to subprograms must be recursive.
+-      (Is_Unchecked_Conversion): Improve the test that recognizes
+-      instantiations of Unchecked_Conversion, and allows them in bodies that
+-      are to be inlined by the front-end. When the body comes from an
+-      instantiation, a reference to Unchecked_Conversion will be an
+-      Expanded_Name, even though the body has not been analyzed yet.
+-      Replace Is_Overriding and Not_Overriding in subprogram_indication with
+-      Must_Override and Must_Not_Override, to better express intent of AI.
+-      (Analyze_Subprogram_Body): If an overriding indicator is given, check
+-      that it is consistent with the overrinding status of the subprogram
+-      at this point.
+-      (Analyze_Subprogram_Declaration): Indicate that a null procedure is
+-      always inlined.
+-      If the subprogram is a null procedure, indicate that it does not need
+-      a completion.
+-
+-      * sem_disp.adb (Check_Controlling_Type): Give support to entities
+-      available through limited-with clauses.
+-      (Check_Dispatching_Operation): A stub acts like a body, and therefore is
+-      allowed as the last primitive of a tagged type if it has no previous
+-      spec.
+-      (Override_Dispatching_Operation, Check_Dispatching_Operation): Modified
+-      to give support to abstract interface types
+-
+-      * sem_res.adb (Valid_Conversion): Perform an accessibility level check
+-      in the case where the target type is an anonymous access type of an
+-      object or component (that is, when Is_Local_Anonymous_Access is true).
+-      Prevent the special checks for conversions of access discriminants in
+-      the case where the discriminant belongs to a nonlimited type, since
+-      such discriminants have their accessibility level defined in the same
+-      way as a normal component of an anonymous access type.
+-      (Resolve_Allocator): When an allocator's designated type is a class-wide
+-      type, check that the accessibility level of type given in the
+-      allocator's expression or subtype indication is not statically deeper
+-      than the level of the allocator's access type.
+-      (Check_Discriminant_Use): Diagnose discriminant given by an expanded
+-      name in a discriminant constraint of a record component.
+-      (Resolve_Explicit_Dereference): Do not check whether the type is
+-      incomplete when the dereference is a use of an access discriminant in
+-      an initialization procedure.
+-      (Resolve_Type_Conversion): Handle conversions to abstract interface
+-      types.
+-      (Valid_Tagged_Conversion): The conversion of a tagged type to an
+-      abstract interface type is always valid.
+-      (Valid_Conversion): Modified to give support to abstract interface types
+-      (Resolve_Actuals): Enable full error reporting on view conversions
+-      between unrelated by_reference array types.
+-      The rule for view conversions of arrays with aliased components is
+-      weakened in Ada 2005.
+-      Call to obsolescent subprogram is now considered to be a violation of
+-      pragma Restrictions (No_Obsolescent_Features).
+-      (Check_Direct_Boolean_Operator): If the boolean operation has been
+-      constant-folded, there is nothing to check.
+-      (Resolve_Comparison_Op, Resolve_Equality_Op, Resolve_Boolean_Op): Defer
+-      check on possible violation of restriction No_Direct_Boolean_Operators
+-      until after expansion of operands, to prevent spurious errors when
+-      operation is constant-folded.
+-
+-      * sem_type.ads, sem_type.adb (Covers, Intersect_Types, Specific_Type,
+-      Has_Compatible_Type): Modified to give support to abstract interface
+-      types.
+-      (Interface_Present_In_Ancestor): New function to theck if some ancestor
+-      of a given type implements a given interface
+-
+-      * sem_ch4.adb (Analyze_Call): Handle properly an indirect call whose
+-      prefix is a parameterless function that returns an access_to_procedure.
+-      (Transform_Object_Operation): Handle properly function calls of the
+-      form Obj.Op (X), which prior to analysis appear as indexed components.
+-      (Analyze_One_Call): Complete the error notification to help new Ada
+-      2005 users.
+-      (Analyze_Allocator): For an allocator without an initial value, where
+-      the designated type has a constrained partial view, a discriminant
+-      constraint is illegal.
+-
+-2005-06-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-textio.adb (Set_Col): Fix two errors noticed recently, having to
+-      do with treatment of Set_Col when positioned at end of line character.
+-
+-2005-06-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * atree.adb: (Elist*): Protect against uninitialized field
+-
+-2005-06-14  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * checks.adb (Install_Null_Excluding_Check): Do not generate checks
+-      for an attribute reference that returns an access type.
+-      (Apply_Discriminant_Check): No need for check if (designated) type has
+-      constrained partial view.
+-
+-      (Apply_Float_Conversion_Check): Generate a short-circuit expression for
+-      both bound checks, rather than a conjunction.
+-      (Insert_Valid_Check): If the expression is an actual that is an indexed
+-      component of a bit-packed array, force expansion of the packed element
+-      reference, because it is specifically inhibited elsewhere.
+-
+-2005-06-14  Vincent Celier  <celier@adacore.com>
+-
+-      * clean.adb (Clean_Project): Correctly delete executable specified as
+-      absolute path names.
+-
+-      * make.adb (Gnatmake): Allow relative executable path names with
+-      directory information even when project files are used.
+-      (Change_To_Object_Directory): Fail gracefully when unable to change
+-      current working directory to object directory of a project.
+-      (Gnatmake): Remove exception handler that could no longer be exercized
+-      (Compile_Sources.Compile): Use deep copies of arguments, as some of them
+-      may be deallocated by Normalize_Arguments.
+-      (Collect_Arguments): Eliminate empty arguments
+-
+-      * gnatcmd.adb (All_Projects): New Boolean flag, initialized to False,
+-      and set to True when -U is used for GNAT PRETTY or GNAT METRIC.
+-      (Check_Project): Return False when Project is No_Project. Return True
+-      when All_Projects is True.
+-      (GNATCmd): Recognize switch -U for GNAT PRETTY and GNAT METRIC and set
+-      All_Projects to True.
+-      Minor reformatting
+-
+-2005-06-14  Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Hristian Kirtchev  <kirtchev@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-
+-      * einfo.ads, einfo.adb (Is_Local_Anonymous_Access): New flag on
+-      anonymous access types, to indicate that the accessibility level of
+-      the type is determined by that of the enclosing declaration.
+-      (Has_Persistent_BSS): New flag
+-      (Set_Is_Primitive_Wrapper): Upgrade the barrier to allow the usage
+-      of this attribute with functions.
+-      (Is_Primitive_Wrapper): Remove the barrier.
+-      (Has_Specified_Stream_Input, Has_Specified_Stream_Output,
+-      Has_Specified_Stream_Read, Has_Specified_Stream_Write):
+-      New subprograms.
+-      (Set_Has_Specified_Stream_Input, Set_Has_Specified_Stream_Output,
+-      Set_Has_Specified_Stream_Read, Set_Has_Specified_Stream_Write):
+-      New subprograms.
+-      (Is_Pure_Unit_Access_Type): New flag
+-      (Abstract_Interfaces): Complete the assertion to cover all usages.
+-      (Set_Is_Interface): Complete the assertion to cover all usages.
+-      (Is_Primitive_Wrapper): New attribute.
+-      (Is_Obsolescent): Now applies to all entities (though it is only set
+-      for subprograms currently)
+-      New flag:  Has_Constrained_Partial_View, to implemente Ada 2005 AI-363,
+-      which solves various problems concerning access subtypes.
+-      (Has_Persistent_BSS): New flag
+-      (Is_Primitive_Wrapper, Set_Primitive_Wrapper): Code cleanup.
+-      Remove these subprograms because this attribute is currently
+-      not used.
+-      New entity flags:
+-      Has_Specified_Stream_Input (Flag190)
+-      Has_Specified_Stream_Output (Flag191)
+-      Has_Specified_Stream_Read (Flag192)
+-      Has_Specified_Stream_Write (Flag193)
+-      Present in all type and subtype entities. Set for a given view if the
+-      corresponding stream-oriented attribute has been defined by an
+-      attribute definition clause. When such a clause occurs, a TSS is set
+-      on the underlying full view; the flags are used to track visibility of
+-      the attribute definition clause for partial or incomplete views.
+-      (Is_Pure_Unit_Access_Type): New flag
+-      Clarify use of Is_Internal.
+-      (Is_Primitive_Wrapper): New attribute present in primitive subprograms
+-      internally generated to wrap the invocation of tasks and protected
+-      types that implement interfaces.
+-      (Implementation_Base_Type): Documentation correction
+-      (Is_Obsolescent): Now applies to all entities (though it is only set
+-      for subprograms currently)
+-      New flag:  Has_Constrained_Partial_View, to implement Ada 2005 AI-363,
+-      which solves various problems concerning access subtypes.
+-
+-      * exp_ch9.adb (Type_Conformant_Parameters): Introduce mode conformance
+-      for examined parameters. Identify unequal parameter list lengths as
+-      non-conformant parameters.
+-      (Overriding_Possible): Do not check for "All" qualifier in declaration
+-      of controlling access parameter, following prescription of AI-404.
+-      (Build_Entry_Wrapper_Spec, Build_Entry_Wrapper_Body): New subprograms
+-      that build the procedure body that wraps an entry invocation
+-      (Build_Corresponding_Record, Build_Protected_Sub_Specification,
+-      Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
+-      Expand_N_Task_Body, Expand_N_Task_Type_Declaration): Modified to
+-      give support to abstract interface types
+-
+-      * freeze.adb (Freeze_Entity): Issue error message if
+-      Is_Pure_Unit_Access_Type set, unless we are in Ada 2005 mode and the
+-      type has no storage pool (Ada 2005) AI-366.
+-      Also modified to give support to abstract interface types
+-      (Freeze_Subprogram): Issue an error for a dispatching subprogram with an
+-      Inline_Always pragma.
+-
+-      * par-ch9.adb (P_Task_Items): Reserved words "not" or "overriding" may
+-      now begin an entry declaration.
+-      (P_Entry_Or_Subprogram_With_Indicator): New procedure in
+-      P_Protected_Operation_Declaration_Opt. Parse an entry declaration or
+-      a subprogram declaration preceded by an overriding indicator.
+-      (P_Protected_Operation_Declaration_Opt): Add case for parsing entry
+-      declarations or subprogram declarations preceded by reserved words
+-      "not" or "overriding".
+-      (P_Entry_Declaration): Update comment. Parse and check overriding
+-      indicator, set semantic flags of entry declarations.
+-      (P_Task): New error message in case of private applied
+-      to a task type declaration.
+-      (P_Protected): New error message in case of private applied
+-      to a task type declaration.
+-
+-      * sem_ch7.adb (Preserve_Full_Attributes): Modified to handle the case
+-      in which the full view of a type implementing an interface is a
+-      concurrent type.
+-      (Has_Overriding_Pragma): Remove obsolete implementation of AI-218.
+-      Declare_Inherited_Private_Subprograms): If an explicit operation
+-      overrides an operation that is inherited in the private part, mark the
+-      explicit one as overriding, to enable overriding indicator checks.
+-      (Preserve_Full_Attributes): Propagate Is_Unchecked_Union attribute from
+-      full view to partial view, to simplify handling in back-end.
+-
+-      * sprint.adb: Print interface lists where needed: derived types,
+-      protected types, task types.
+-      output "is null" for null procedures. Part of implementation of
+-
+-      * sem_cat.adb (Validate_Access_Type_Declaration): Implement AI-366
+-      relaxation of rules for access types in pure, shared passive partitions.
+-
+-      * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Reorganize to
+-      first read discriminants into temporary objects, performing checks on
+-      the read values, then possibly performing discriminant checks on the
+-      actual (if it is constrained), and only finally reading the components
+-      into a constrained temporary object.
+-      (Build_Elementary_Input_Call): Adjust the specific circuitry for the
+-      case of reading discriminants of a mutable record type to recognize
+-      the new form of the code generated by
+-      Build_Mutable_Record_Read_Procedure.
+-
+-      * exp_tss.ads, exp_tss.adb (Make_Init_Proc_Name): Reimplement in terms
+-      of a simple call to Make_TSS_Name.
+-      (Make_TSS_Name_Local): Add the TSS name as the last thing in the name
+-      buffer, in order for Is_TSS to work correctly on local TSS names.
+-
+-      * sem_attr.ads, sem_attr.adb (Resolve_Attribute, case 'Access): Use flag
+-      Is_Local_Anonymous_Access to check legaliy of attributes in the
+-      context of  access components and stand-alone access objects.
+-      (Stream_Attribute_Available): In Ada 95 mode, a stream attribute is
+-      treated as available for a limited private type if there is an
+-      attribute_definition_clause that applies to its full view, but not in
+-      other cases where the attribute is available for the full view
+-      (specifically, the sole fact that the full view is non-limited does not
+-      make the attribute available for the partial view).
+-      (Build_Access_Subprogram_Type): Diagnose attempt to apply 'access to a
+-      non-overloaded intrinsic subprogram.
+-      (Check_Stream_Attribute): Reject an attribute reference for an
+-      unavailable stream attribute even if the prefix is not a limited type
+-      (case of a 'Input attribute reference for an abstract, non-classwide
+-      type)
+-      (Stream_Attribute_Available): New function to determine whether a stream
+-      attribute is available at a place.
+-      (Check_Attribute): Use Stream_Attribute_Available instead of just
+-      testing for TSS presence on the implementation base type.
+-      (Analyze_Attribute): Modified to give support to task interfaces.
+-      (Analyze_Access_Attribute): Add error check for use of an Access (or
+-      Unrestricted_Access) attribute with a subprogram marked as
+-      Inline_Always.
+-      (Analyze_Attribute, case Attribute_Address): Add error check for use of
+-      an Address attribute with a subprogram marked as Inline_Always.
+-      Update Eval_Attribute to handle new value of Width from AI-395
+-
+-      * sem_ch13.adb (Analyze_Stream_TSS_Definition): New subprogram.
+-      (Analyze_Attribute_Definition_Clause, cases Input, Output, Read, Write):
+-      Factor common code across the stream-oriented attribute circcuits into
+-      a new subprogram, Analyze_Stream_TSS_Definition. The new uniform
+-      processing is functionally identical to the previous duplicated one,
+-      except that an expression that denotes an abstract subprogram will now
+-      be rejected, as mandated by AI-195 item 5.
+-
+-      * sem_util.ads, sem_util.adb (Type_Access_Level): Use flag
+-      Is_Local_Anonymous_Access to apply accessibility checks to access
+-      components and stand-alone access objects.
+-      (Has_Discriminant_Dependent_Constraint): Moved to spec for use
+-      elsewhere.
+-      (Is_Potentially_Persistent_Type): New function
+-      (Is_Dependent_Component_Of_Mutable_Object): If the enclosing object is
+-      a heap-object whose type has a constrained partial view, the object is
+-      unconstrained and the component may depend on a discriminant, making its
+-      renaming illegal.
+-
+-      * sinfo.ads, sinfo.adb
+-      (Must_Not_Override): Flag applicable to N_Entry_Declaration.
+-      (Must_Override): Flag applicable to N_Entry_Declaration.
+-      Indicate that interface_list can appear in single task and single
+-      protected declarations.
+-      Replace Is_Overriding and Not_Overriding with Must_Override and
+-      Must_Not_Override, to better express intent of AI.
+-      Is_Overriding, Not_Overriding: Ada2005 flags that indicate the presence
+-      of an overriding indicator in a subprogram or instance.
+-      Ada 2005 (AI-248) Null_Present can appear in a procedure specification.
+-      Add the overriding indicator [[not] overriding] construct to the
+-      following grammar productions:
+-       ENTRY_DECLARATION
+-       GENERIC_INSTANTIATION
+-       SUBPROGRAM_SPECIFICATION
+-
+-      * par-ch10.adb (P_Compilation_Unit): Subprogram declaration or body
+-      can start with an overriding indicator.
+-
+-      * par-ch6.adb (P_Subprogram): Recognize overriding indicator, and set
+-      flags accordingly on subrogram specifications or instances.
+-
+-      * sem_ch8.adb:
+-      (Analyze_Subprogram_Renaming): For a renaming_as_body, verify that the
+-      overriding_indicator, if present, is consistent with status of spec.
+-      Improve error message for null-excluding checks on controlling access
+-      parameters.
+-      (Check_In_Previous_With_Clause): Protect the frontend against
+-      previously reported critical errors in the context clauses.
+-      Save and restore Ada_Version_Explicit, for implementation of AI-362
+-      (Analyze_Subprogram_Renaming): If the new entity is a dispatching
+-      operation verify that controlling formals of the renamed entity that
+-      are access parameters are explicitly non-null.
+-      (Find_Expanded_Name): Improve error message when prefix is an illegal
+-      reference to a private child unit.
+-
+-      * exp_imgv.adb, s-imgwch.ads, s-imgwch.adb, s-valwch.adb,
+-      s-valwch.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdwch.adb:
+-      Rewrite to correspond to new wide character names in AI-395
+-
+-      * par-ch12.adb (P_Formal_Subprogram_Declaration): Recognize null
+-      default procedures.
+-
+-2005-06-14  Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * errout.ads, errout.adb (Error_Msg_NW): Only emit warning on user
+-      code, not on the bodies of predefined operations, to cut down on
+-      spurious noise.
+-
+-2005-06-14  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_aggr.adb (Aggr_Size_OK): An array with no components can always
+-      be expanded in place. The size computation does not require a
+-      subtraction, which would raise an exception on a compiler built with
+-      assertions when the upper bound is Integer'first.
+-      (Flatten): For an array of composite components, take into account the
+-      size of the components to determine whether it is safe to expand the
+-      array into a purely positional representation.
+-
+-2005-06-14  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_ch2.adb (Param_Entity): Take the case of an expanded_name
+-      denoting a formal parameter into account.
+-
+-2005-06-14  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch7.adb (Find_Node_To_Be_Wrapped): If the node appears within
+-      the entry_call alternative of a conditional entry call, wrap the
+-      conditional entry call itself.
+-
+-2005-06-14  Nicolas Setton  <setton@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_dbug.ads, exp_dbug.adb (Get_Variant_Part): Fix the encoding of
+-      the "simple_choice" member in a variant record, in accordance with the
+-      description in the package spec: the information output for a constant
+-      should be "S number", not "SS number".
+-      (Get_Encoded_Name): Return at once if not generating code. Avoids name
+-      overflow problem when compiling with -gnatct, for ASIS/gnatmetrics.
+-
+-2005-06-14  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): For an
+-      RACW without any primitives, do not generate the if statement for
+-      dispatching by name in the PolyORB/DSA case, as it would be malformed
+-      (it would have an Elsif_Parts list that is not No_List, but with a
+-      length of 0).
+-
+-2005-06-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_intr.adb, par-ch5.adb: Minor fix to error message text
+-
+-2005-06-14  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * fe.h: Add entry for Opt.Exception_Locations_Suppressed so that gigi
+-      can determine whether pragma Suppress_Exception_Locations is in effect.
+-
+-      * utils2.c (build_call_raise): Do not pass the file name to the
+-      exception handler if pragma Suppress_Exception_Locations is in effect.
+-      (build_allocator): Add and process arg IGNORE_INIT_TYPE.
+-
+-2005-06-14  Emmanuel Briot  <briot@adacore.com>
+-
+-      * g-debpoo.adb (Deallocate, Dereference): Improve output.
+-
+-2005-06-14  Nicolas Roche  <roche@adacore.com>
+-
+-      * g-diopit.adb (Wildcard_Iterator): Return directly if Path is equal
+-      to ""
+-      (Next_Level): Fix minor bug in handling of ../dir case
+-      (Read): Add dir separator to Directory name so that "" is understood as
+-       "/"
+-
+-2005-06-14  Pascal Obry  <obry@adacore.com>
+-
+-      * g-dynhta.ads, g-dynhta.adb (Reset): Free the table itself after
+-      releasing the items.
+-
+-2005-06-14  Vincent Celier  <celier@adacore.com>
+-          Cyrille Comar  <comar@adacore.com>
+-
+-      * g-os_lib.ads, g-os_lib.adb (Non_Blocking_Spawn): Two new versions
+-      with output file descriptor and with output file name.
+-      (Dup, Dup2): Now global procedures as they are used by two subprograms
+-      (Copy): Allocate the 200K buffer on the heap rather than on the stack.
+-
+-2005-06-14  Thomas Quinot  <quinot@adacore.com>
+-
+-      PR ada/6717
+-      * g-socket.ads, g-socket.adb (Inet_Addr): Special case the all-ones
+-      broadcast address.
+-      (Create_Selector): Bind listening socket used to create the signalling
+-      socket pair to 127.0.0.1 to limit the scope for 'theft' of connection.
+-      Set listen backlog to 1 to ensure that we detect socket theft by a
+-      failure of our own connect(2) call.
+-      (Check_Selector): Improve documentation of the selector mechanism.
+-      (Broadcast_Inet_Addr): New constant.
+-
+-2005-06-14  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * layout.adb (Discrimify): Remove resetting of Vtype to the underlying
+-      type which turns out to be an incomplete and incorrect fix.
+-      (Layout_Array_Type): Use Underlying_Type when checking whether the scope
+-      of the type is declared in a record (for determination of insertion
+-      type).
+-      (SO_Ref_From_Expr): Test whether Vtype denotes a partial or full view of
+-      a private type and ensure that the primary entity is used for the type
+-      of the newly created function's V formal by taking the Etype of the
+-      view.
+-
+-2005-06-14  Javier Miranda  <miranda@adacore.com>
+-          Jose Ruiz  <ruiz@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * lib-load.ads, lib-load.adb (Load_Unit): Addition of a new parameter
+-      that indicates if we are parsing a compilation unit found in a
+-      limited-with clause.
+-      It is use to avoid the circularity check.
+-
+-      * par.ads, par.adb (Par): Addition of a new parameter to indicate if
+-      we are parsing a compilation unit found in a limited-with clause. This
+-      is use to avoid the circularity check.
+-
+-      * par-load.adb (Load): Indicate Lib.Load_Unit if we are loading the
+-      unit as a consequence of parsing a limited-with clause. This is used
+-      to avoid the circularity check.
+-
+-      * sem_ch10.adb: Suppress Ada 2005 unit warning if -gnatwY used
+-      (Analyze_Context): Limited-with clauses are now allowed
+-      in more compilation units.
+-      (Analyze_Subunit_Context, Check_Parent): Protect the frontend
+-      againts previously reported critical errors in context clauses
+-      (Install_Limited_Withed_Unit): Code cleanup plus static detection
+-      of two further errors: renamed subprograms and renamed packages
+-      are not allowed in limited with clauses.
+-      (Install_Siblings): Do not install private_with_clauses on the package
+-      declaration for a non-private child unit.
+-      (Re_Install_Parents): When a parent of the subunit is reinstalled,
+-      reset visibility of child units properly.
+-      (Install_Withed_Unit): When a child unit appears in a with_clause of its
+-      parent, it is immediately visible.
+-
+-2005-06-14  Ed Schonberg  <schonberg@adacore.com>
+-          Emmanuel Briot  <briot@adacore.com>
+-
+-      * lib-xref.ads, lib-xref.adb (Generate_Definition): Treat any entity
+-      declared within an inlined body as referenced, to prevent spurious
+-      warnings.
+-      (Output_One_Ref): If an entity renames an array component, indicate in
+-      the ALI file that this aliases (renames) the array. Capture as well
+-      function renamings that rename predefined operations.
+-      Add information about generic parent for package and subprogram
+-      instances.
+-      (Get_Type_Reference): For a subtype that is the renaming of an actual in
+-      an instantiation, use the first_subtype to ensure that we don't generate
+-      cross-reference information for internal types.
+-      For objects and parameters of a generic private type, retain the '*'
+-      indicator to distinguish such an entity from its type.
+-
+-      * ali.ads (Xref_Entity_Record): New fields Iref_File_Num and Iref_Line,
+-      to store information about instantiated entities.
+-
+-      * ali.adb (Scan_ALI): Add support for parsing the reference to the
+-      generic parent
+-
+-      * xref_lib.adb (Skip_To_Matching_Closing_Bracket): New subprogram
+-      (Parse_Identifier_Info, Parse_Token): Add support for the generic parent
+-      information.
+-
+-2005-06-10  Doug Rupp  <rupp@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-          Olivier Hainque  <hainque@adacore.com>
+-          Jose Ruiz  <ruiz@adacore.com>
+-
+-      * Make-lang.in: Add initialize.o when needed.
+-      Remove obsolete references to RT_FLAGS.
+-      Add missing dependencies for sdefault.o
+-
+-      * initialize.c: New file.
+-
+-      * init.c [VMS] Declare ADA$ externs weak to fix build problem in IVMS.
+-      [VMS] cond_signal_table: Fix problem in declaration.
+-      [VMS] __gnat_error_handler: rewrite.
+-      Move all __gnat_initialize() routines to initialize.c
+-      Specialize the former "hpux" section to "hppa hpux", as this is what the
+-      section really is here for and we now have other hpux ports that need
+-      different contents.
+-      (__gnat_adjust_context_for_raise) i386-linux: First version of this
+-      function for this target. Adjust PC by one in the machine context. This
+-      adjustment was previously done in the MD_FALLBACK_FRAME_STATE_FOR, but
+-      it is more reliable to do that in the signal handler itself.
+-      (__gnat_install_handler) i386-linux: Set SA_SIGINFO in the sigaction
+-      flags, so that the handler is passed the context structure to adjust
+-      prior to the raise.
+-      (__gnat_error_handler) i386-linux: Adjust the signature to match what a
+-      SA_SIGINFO sigaction should look like. Call
+-      __gnat_adjust_context_for_raise before actually raising. Cleanup unused
+-      Machine_State_Operations stuff.
+-      Add conditional code so that the x86_64 is also supported.
+-
+-2005-06-14  Pascal Obry  <obry@adacore.com>
+-
+-      * mdll.adb (Get_Dll_Name): New routine that returns the DLL name given
+-      the library name.
+-
+-2005-06-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * opt.ads, opt.adb: New flags for persistent_bss mode
+-      Add Ada_Version_Explicit, for implementation of AI-362
+-      Add Assertions_Enabled_Config and associated handling
+-      Needed since setting can be changed with Assertion_Policy pragma
+-      Add new flag Warn_On_Ada_2005_Compatibility
+-
+-      * switch-c.adb: Recognize -gnatwy/Y
+-      Set Ada_Version_Explicit, for implementation of AI-362
+-      The -gnatg switch now includes -gnatyu
+-
+-      * usage.adb: Add -gnatwy/Y
+-      Remove wrong asterisk on -gnatwX line
+-      Add line for -gnatyu switch
+-
+-2005-06-14  Vincent Celier  <celier@adacore.com>
+-
+-      * osint.adb (Add_Default_Search_Dirs): Put source and object
+-      directories of project files before directories coming from
+-      ADA_INCLUDE_PATH and ADA_OBJECTS_PATH.
+-
+-2005-06-14  Robert Dewar  <dewar@adacore.com>
+-
+-      PR ada/15613
+-      * par-ch2.adb (Scan_Pragma_Argument): New procedure
+-      (P_Pragma): Implement RM 2.8(4) check for no pos args after named args
+-
+-2005-06-14  Vincent Celier  <celier@adacore.com>
+-
+-      * prep.adb (Preprocess): Ignore error when scanning the first token of
+-      a line.
+-
+-2005-06-14  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-nmsc.adb (Suffix_For): Change default suffix for C++ to ".cpp"
+-      (Check_Stand_Alone_Library): If the specified reference symbol file does
+-      not exist, only issue a warning when the symbol policy is not
+-      Controlled. And, when symbol policy is Compliant, set the symbol
+-      policy to Autonomous.
+-
+-2005-06-14  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-part.adb (Pre_Parse_Context_Clause): Call Set_Is_Not_Last_In_List
+-      when the project file in a with clause is not the last one, that is the
+-      project file name is followed by a comma.
+-      * prj-pp.adb: (First_With_In_List): New Boolean global variable
+-      (Print): Issue list of project files separated by commas in with clauses
+-      according to the values returned by Is_Not_Last_In_List.
+-      * prj-tree.ads, prj-tree.adb: (Is_Not_Last_In_List): New function
+-      (Set_Is_Not_Last_In_List): New procedure
+-
+-2005-06-14  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * s-atacco.ads: Put a pragma No_Strict_Aliasing on Object_Pointer.
+-
+-2005-06-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * scng.adb: Add call to new Check_EOF routine
+-      (Accumulate_Checksum): Properly handle wide wide char >= 2 ** 24
+-      Add some comments regarding wide character handling
+-
+-      * style.ads, styleg.ads, styleg.adb: Implement new style switch -gnatyu
+-
+-      * stylesw.ads, stylesw.adb: Implement new style switch -gnatyu
+-
+-      * g-utf_32.ads, g-utf_32.adb (Is_UTF_32_Non_Graphic): Other_Format
+-      characters are now considered graphic characters and hence yield false
+-      in this call.
+-
+-      * nmake.adt: Modify header so that xnmake does not generate output
+-      files with multiple blank lines.
+-
+-      * treeprs.adt: Remove a blank line so that output from xtreeprs does
+-      not have an extra blank line
+-
+-2005-06-14  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * sem_aggr.adb (Aggregate_Constraint_Checks): Apply a conversion to the
+-      expression when the component type is an anonymous access type to
+-      ensure that appropriate accessibility checks are done.
+-
+-      * sem_ch5.adb (Analyze_Assignment): Apply a implicit conversion to the
+-      expression of an assignment when the target object is of an anonymous
+-      access type. This ensures that required accessibility checks are done.
+-      (One_Bound): Move the check for type Universal_Integer to
+-      Process_Bounds.
+-      (Process_Bounds): Check whether the type of the preanalyzed range is
+-      Universal_Integer, and in that case set Typ to Integer_Type prior
+-      to setting the type of the original range and the calls to One_Bound.
+-
+-2005-06-14  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_case.adb (Expand_Others_Choice): Improve warning.
+-
+-2005-06-14  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_eval.adb (Subtypes_Statically_Match): Use discriminant
+-      constraint of full view if present, when other type is discriminated.
+-      (Eval_Relational_Op): Recognize tests of pointer values against Null,
+-      when the pointer is known to be non-null, and emit appropriate warning.
+-
+-2005-06-14  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      PR ada/10671
+-      * sem_prag.adb: Implement pragma Persistent_BSS
+-      Remove obsolete pragma Persistent_Data, Persistent_Object
+-      Set Ada_Version_Explicit, for implementation of AI-362
+-      Test Ada_Version_Explicit for Preelaborate_05 and Pure_05
+-      Add processing for pragma Pure_05 and Preelaborate_05
+-      Add processing for Assertion_Policy pragma
+-      Add pragma identifiers for Assert
+-      (Analyze_Pragma, case Assert): Check number of arguments
+-      (Process_Inline): Additional guard against an illegal program, where the
+-      argument of the pragma is undefined, and warnings on redundant
+-      constructs are enabled.
+-      (Analyze_Pragma, case Obsolescent): Allow an optional second argument
+-      Ada_05 to this pragma, specifying that the pragma is only active in
+-      Ada_05 mode.
+-      (Check_Arg_Order): New procedure
+-      Add appropriate calls to this procedure throughout
+-      Also throughout, check entity name before doing any other checks
+-
+-      * snames.h snames.ads, snames.adb: Add pragma Persistent_BSS
+-      Remove obsolete pragma Persistent_Data, Persistent_Object
+-      Add entries for pragma Pure_05 and Preelaborate_05
+-      Add entries for Assertion_Policy pragma and associated names
+-      Add some names for pragma argument processing
+-
+-      * tbuild.ads, tbuild.adb: (Make_Linker_Section_Pragma): New function
+-
+-2005-06-14  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_warn.adb (Warn_On_Known_Condition): If the constant expression
+-      appears within a negation (either from source or as a rewriting of
+-      inequality) adjust text of warning accordingly.
+-
+-2005-06-14  Thomas Quinot  <quinot@adacore.com>
+-
+-      * s-strxdr.adb: Follow AI95-00132
+-
+-2005-06-14  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-tasren.adb (Exceptional_Complete_Rendezvous): Fix race condition.
+-
+-2005-06-14  Arnaud Charlet  <charlet@adacore.com>
+-          Jose Ruiz  <ruiz@adacore.com>
+-
+-      * s-tposen.adb, s-tpobop.adb
+-      (Exceptional_Complete_Rendezvous): Save the occurrence and not only
+-      the exception id.
+-      (PO_Do_Or_Queue): Before queuing a task on an entry queue we check that
+-      there is no violation of the Max_Entry_Queue_Length restriction (if it
+-      has been set); Program_Error is raised otherwise.
+-      (Requeue_Call): Before requeuing the task on the target entry queue we
+-      check that there is no violation of the Max_Entry_Queue_Length
+-      restriction (if it has been set); Program_Error is raised otherwise.
+-
+-2005-06-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * styleg.adb: Fix several remaining problems in -gnatyu switch
+-      Blank line count not reset at start
+-      Scanning outside source buffer in some cases
+-      Confusing message for blanks at end of file
+-      Non-empty blank lines not recognized
+-
+-      * nmake.adt: Modify header so that xnmake does not generate output
+-      files with multiple blank lines.
+-
+-      * treeprs.adt: Remove a blank line so that output from xtreeprs does
+-      not have an extra blank line
+-
+-2005-06-14  Sergey Rybin  <rybin@adacore.com>
+-
+-      * styleg-c.adb (Body_With_No_Spec): Remove ':' from warning message.
+-
+-2005-06-14  Doug Rupp  <rupp@adacore.com>
+-          Vincent Celier  <celier@adacore.com>
+-
+-      * vms_conv.ads, vms_conv.adb: Remove "Library" command.
+-      Update copyright.
+-
+-      * vms_data.ads: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
+-      Remove "Library" command.
+-      Change keyword for style check -gnatyd from NOCRLF to
+-      DOS_LINE_ENDINGS.
+-      Remove useless second style check keyword NONE
+-      Remove help documentation for inexistent style check keyword
+-      RM_COLUMN_LAYOUT.
+-      Add help documentation for style check keywords DOS_LINE_ENDINGS,
+-      UNNECESSARY_BLANK_LINES and XTRA_PARENS
+-      Add UNNECESSARY_BLANK_LINES for -gnatyu
+-      Add qualifiers /ALL_PROJECTS (-U) for GNAT PRETTY and GNAT METRIC
+-
+-      * ug_words: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
+-
+-2005-06-14  Vincent Celier  <celier@adacore.com>
+-
+-      * makegpr.adb (Compile_Link_With_Gnatmake): Invoke gnatmake with -d if
+-      gprmake was invoked with -d.
+-      (Compile_Sources): If -d was used, output the "completed ..." message
+-      for each compilation.
+-      (Scan_Arg): Recognize new switch -d
+-      When -c and at least one main is specified, set
+-      Unique_Compile to True to guarantee that no other sources will be
+-      compiled.
+-
+-2005-06-14  Matthew Heaney  <heaney@adacore.com>
+-
+-      * a-swunha.ads, a-swunha.adb: Removed. Replaced by a-swuwha.ad[sb]
+-      * a-swuwha.ads, a-swuwha.adb: New files
+-
+-      * a-szunha.ads, a-szunha.adb: Removed, replaced by a-szuzha.ad[sb]
+-      * a-szuzha.ads, a-szuzha.adb: New files.
+-
+-      * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
+-      a-crbtgk.adb, a-crbltr.ads, a-coorse.ads, a-coorse.adb, a-convec.ads,
+-      a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohata.ads, a-cohama.ads,
+-      a-cohama.adb, a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
+-      a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
+-      a-cdlili.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb,
+-      a-cohase.ads, a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads,
+-      a-swunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb, a-shcain.ads,
+-      a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads, a-stwiha.adb,
+-      a-strhas.adb, a-stzhas.adb: synchronized to the latest version of the
+-      Ada 2005 RM.
+-
+-2005-06-10  Eric Botcazou  <ebotcazou@adacore.com>
+-          Olivier Hainque  <hainque@adacore.com>
+-          Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-          Pascal Obry  <obry@adacore.com>
+-
+-      * gigi.h: (build_allocator): Add arg IGNORE_INIT_TYPE.
+-
+-      * trans.c (call_to_gnu): Issue a warning for users of Starlet when
+-      making a temporary around a procedure call because of non-addressable
+-      actual parameter.
+-      (process_freeze_entity): If entity is a private type, capture size
+-      information that may have been computed for the full view.
+-      (tree_transform, case N_Allocator): If have initializing expression,
+-      check type for Has_Constrained_Partial_View and pass that to
+-      build_allocator.
+-      (tree_transform, case N_Return_Statement): Pass extra arg to
+-      build_allocator.
+-
+-      * decl.c (annotate_value): Remove early return if -gnatR is not
+-      specified.
+-      (gnat_to_gnu_field): Don't make a packable type for a component clause
+-      if the position is byte aligned, the field is aliased, and the clause
+-      size isn't a multiple of the packable alignment. It serves no useful
+-      purpose packing-wise and would be rejected later on.
+-      (gnat_to_gnu_entity, case object): Pass extra arg to build_allocator.
+-
+-      PR ada/20515
+-      (gnat_to_gnu_entity): Remove use of macro _WIN32 which is wrong in the
+-      context of cross compilers. We use TARGET_DLLIMPORT_DECL_ATTRIBUTES
+-      instead.
+-      (create_concat_name): Idem.
+-
+-2005-06-10  Robert Dewar  <dewar@adacore.com>
+-          Eric Botcazou  <ebotcazou@adacore.com>
+-          Ben Brosgol  <brosgol@adacore.com>
+-          Cyrille Comar  <comar@adacore.com>
+-          Sergey Rybin  <rybin@adacore.com>
+-          Pascal Obry  <obry@adacore.com>
+-
+-      * gnat_rm.texi: Add documentation for pragma Persistent_BSS
+-      Document second argument (Ada_05) of pragma Obsolescent
+-      Add note that call to subprogram marked with pragma Obsolescent
+-      is now considered to be a violation of program Restrictions
+-      (No_Obsolescent_Features).
+-      (Implementation Defined Pragmas) <Machine_Attribute>: Make it clear
+-      that only machine-dependent attributes are supported.
+-
+-      * gnat_ugn.texi:
+-      Commented out menu lines and empty section for gnatclean examples
+-      Document -gnatwy/Y
+-      Fix some over long lines
+-      Clarify and enhance documentation of ADA_PROJECT_PATH.
+-      Rework section 2.11.2(3) about linking with a non-GNU compiler.
+-      Mention new switch -fcallgraph-info.
+-      Mention new switch -fstack-usage.
+-      For gnatpp, replace '-notab' with '-N' and add this option to Index
+-      Corrected VMS example.
+-      VMS keyword for style check -gnatyd is DOS_LINE_ENDINGS, no NOCRLF
+-      Minor reformatting
+-      Add documentation for -gnatyu switch (unnecessary blank lines)
+-      Document new switch -U for GNAT PRETTY and GNAT METRIC
+-      Add note about Stdcall being handled as C convention on non Windows OS.
+-      Remove some junk typo in description of gnatbind -S switch
+-      Remove reference to Extensions_Allowed pragma
+-      Document the new order of the directories to be searched (source and
+-      object directories of project files before directories in ADA_*_PATH
+-      environment variables.
+-
+-      * g-trasym.ads: Document that IRIX is supported
+-
+-2005-06-10  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * Makefile.in: Add initialize.o when needed.
+-      Adapt to new VMS package body Symbols and subunits
+-      No specialized version of a-sytaco is needed for VxWorks.
+-
+-      * a-wichun.ads, a-wichun.adb, a-zchuni.ads, a-zchuni.adb: New files.
+-      * a-zchara.ads, a-widcha.ads: New files.
+-
+-      * system-hpux-ia64.ads: New file.
+-
+-      * i-vxwork-x86.ads, i-vxwork.ads (intContext): Add this function which
+-      is imported from the VxWorks kernel.
+-
+-2005-06-14  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-soliop-mingw.ads, g-soccon-vms.adb, a-swmwco.ads, exp_smem.adb,
+-      fmap.adb, a-szmzco.ads, s-traent-vms.adb, s-traent-vms.ads,
+-      a-direio.ads, a-exctra.ads, a-exexda.adb, a-exextr.adb, a-stream.ads,
+-      s-restri.ads, s-restri.adb, s-traent.adb, s-traent.ads, a-slcain.adb,
+-      a-stzhas.ads, a-tiinau.adb, comperr.adb, exp_ch11.adb, g-boubuf.adb,
+-      g-calend.adb, g-debpoo.ads, g-moreex.ads, gprep.adb, g-regpat.ads,
+-      i-cexten.ads, i-os2thr.ads, makeutl.ads, memroot.adb, mlib-prj.adb,
+-      namet.adb, namet.ads, prj-makr.adb, prj-proc.adb, sem_dist.adb,
+-      sem_elim.ads, s-valint.adb, s-vallli.adb, s-vallli.adb, s-vallli.ads,
+-      s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, scn.adb,
+-      s-tasinf.adb, targparm.adb, uname.adb, uname.ads, xnmake.adb,
+-      xsinfo.adb, a-direct.ads: Remove extra blank lines. Minor reformatting.
+-
+-2005-06-14  Thomas Quinot  <quinot@adacore.com>
+-
+-      * xeinfo.adb: Fix typo in comment
+-
+-2005-06-14  Javier Miranda  <miranda@adacore.com>
+-
+-      * repinfo.ads: Fix typo in comment
+-
+-2005-06-14  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * s-finimp.adb (Parent_Tag): Delete this imported function (function
+-      Parent_Tag is now in the visible part of Ada.Tags).
+-      (Get_Deep_Controller): Call Ada.Tags.Parent_Tag directly instead of
+-      using imported function.
+-
+-2005-06-14  Bernard Banner  <banner@adacore.com>
+-
+-      * vxaddr2line.adb: Add support for Windows hosted x86 vxworks. Should
+-      also apply for handling support for VxSim 653.
+-
+-2005-06-14  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * xsnames.adb: Add automatic generation of snames.h.
+-
+-2005-06-14  Thomas Quinot  <quinot@adacore.com>
+-
+-      * gen-soccon.c: Add IP_MULTICAST_IF constant
+-      Minor reformatting and adjustments to prevent warnings.
+-
+-2005-06-14  Pascal Obry  <obry@adacore.com>
+-
+-      * seh_init.c: Do not include <sys/stat.h>. This is not needed.
+-
+-2005-06-03  Andrew Pinski  <pinskia@physics.uc.edu>
+-
+-      * trans.c (gnat_gimplify_expr): Call
+-      recompute_tree_invarant_for_addr_expr when we change
+-      the operand of the ADDR_EXPR.
+-
+-2005-05-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+-
+-      * misc.c: Don't include errors.h.
+-
+-2005-05-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+-
+-      * raise.c (db): Add ATTRIBUTE_PRINTF_2.
+-
+-2005-05-29  Kazu Hirata  <kazu@cs.umass.edu>
+-
+-      * cal.c, decl.c, init.c, raise.c, trans.c, utils2.c: Fix
+-      comment typos.
+-      * gnat_rm.texi, gnat_ugn.texi: Fix typos.
+-
+-2005-05-16  Nathanael Nerode  <neroden@gcc.gnu.org>
+-
+-      PR ada/20270
+-      * Makefile.in: Make TGT_LIB behave correctly.
+-
+-2005-04-23  DJ Delorie  <dj@redhat.com>
+-
+-      * misc.c: Adjust warning() callers.
+-
+-2005-04-16  Laurent Guerby  <laurent@guerby.net>
+-
+-      PR ada/18847
+-      * a-nudira.adb (Value): Check for valid string.
+-      * a-nuflra.adb (Value): Likewise.
+-
+-2005-04-11  Richard Sandiford  <rsandifo@redhat.com>
+-
+-      * lang.opt: Refer to the GCC internals documentation instead of c.opt.
+-
+-2005-04-10  Kazu Hirata  <kazu@cs.umass.edu>
+-
+-      * adaint.c, init.c, tracebak.c: Fix comment typos.
+-      * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Fix typos.
+-
+-2005-04-07  Laurent Guerby  <laurent@guerby.net>
+-          John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+-
+-      * Makefile.in: Add make ifeq define for hppa linux tasking support.
+-      * system-hpux.ads: Define Signed_Zeros to be True.
+-      * system-linux-hppa.ads, s-osinte-linux-hppa.ads: New files.
+-
+-2005-04-01  Kazu Hirata  <kazu@cs.umass.edu>
+-
+-      * adaint.c, cal.c, decl.c, gigi.h, gmem.c, init.c, link.c,
+-      raise.c, tracebak.c, trans.c, utils2.c, utils.c: Fix comment
+-      typos.
+-
+-2005-03-30  Tom Tromey  <tromey@redhat.com>
+-
+-      * decl.c (gnat_substitute_in_type): Don't handle FILE_TYPE.
+-
+-2005-03-30  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
+-
+-      * adaint.c (_gnat_set_close_on_exec): Mark parameters unused.
+-
+-2005-03-29  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_res.adb (Resolve_Real_Literal): Generate warning if static
+-      fixed-point expression has value that is not a multiple of the Small
+-      value.
+-
+-      * opt.ads (Warn_On_Bad_Fixed_Value): New flag
+-
+-      * s-taprop-tru64.adb (RT_Resolution): Return an integer number of
+-      nanoseconds.
+-
+-      * ug_words: Add entry for [NO_]BAD_FIXED_VALUES for -gnatwb/-gnatwB
+-
+-2005-03-29  Vincent Celier  <celier@adacore.com>
+-
+-      * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb
+-      (Build_Dynamic_Library.Version_String): Return the empty string when
+-      Lib_Version is empty or when the symbol policy is not Autonomous.
+-
+-      * symbols-vms-alpha.adb (Finalize): For symbol policy Compliant, when
+-      a symbol is not in the reference symbol file, increase the Major ID
+-      and set the Minor ID to 0.
+-      Use gsmatch=lequal instead of gsmatch=equal
+-
+-2005-03-29  Doug Rupp  <rupp@adacore.com>
+-
+-      * adaint.c (__gnat_to_canonical_file_spec [VMS]): Check for logical
+-      name and translate.
+-
+-2005-03-29  Javier Miranda  <miranda@adacore.com>
+-
+-      * a-tags.ads, a-tags.adb (Get_TSD): Subprogram removed.
+-      (Inherit_DT): The first formal has been redefined as a Tag.
+-      This allows us the removal of the subprogram Get_TSD.
+-      (TSD): Replace the call to Get_TSD by the actual code.
+-
+-      * exp_disp.ads, exp_disp.adb: Remove support to call Get_TSD.
+-      (Make_DT): Upgrade the call to Inherit_TSD according to the
+-      new interface: the first formal is now a Tag.
+-
+-      * i-cpp.ads, i-cpp.adb (CPP_Inherit_DT): The first formal has been
+-      redefined as a Tag.
+-      This change allows us to remove the subprogram Get_TSD.
+-      (CPP_Get_TSD): Subprogram removed.
+-      (TSD): Replace the call to CPP_Get_TSD by the actual code.
+-
+-      * rtsfind.ads: Remove support to call the run-time
+-      subprogram Get_TSD
+-
+-2005-03-29  Robert Dewar  <dewar@adacore.com>
+-
+-      * errutil.adb, errout.adb:
+-      Minor comment updates on Line_Terminator references
+-
+-      * par-ch10.adb: Add ??? comment about line terminator
+-
+-      * styleg.adb (Check_Line_Terminator): Add check for new switch -gnatyd
+-      (check dos line terminator).
+-      (Check_Line_Max_Length): New procedure, split off from the existing
+-      Check_Line_Terminator routine. Separating this out allows -gnatyf to
+-      be properly recognized.
+-
+-      * styleg.adb: Add ??? comment for line terminator reference
+-
+-      * scng.adb (Check_End_Of_Line): Fix bug of -gnatyf being ignored
+-      (Check_End_Of_Line): Add -gnatyd handling (check dos line terminators)
+-
+-      * styleg.ads (Check_Line_Terminator): Add check for new switch -gnatyd
+-      (check dos line terminator).
+-      (Check_Line_Max_Length): New procedure, split off from the existing
+-      Check_Line_Terminator routine. Separating this out allows -gnatyf to
+-      be properly recognized.
+-
+-      * stylesw.ads, stylesw.adb:
+-      Add handling for new -gnatyd switch (check dos line terminator)
+-
+-      * switch-c.adb: Recognize new -gnatyd switch (check dos line terminator)
+-      Recognize -gnatwb/-gnatwB switches
+-      Include Warn_On_Bad_Fixed_Value for -gnatg
+-
+-      * usage.adb:
+-      Add line for new -gnatyd switch (check dos line terminator)
+-
+-      * usage.adb: Add lines for -gnatwb/-gnatwB
+-
+-      * vms_data.ads: Add entry for NOCRLF (-gnatyd)
+-
+-      * vms_data.ads: [NO_]BAD_FIXED_VALUES synonym for -gnatwb/-gnatwB
+-
+-      * gnat_ugn.texi: Fix overlong lines
+-      Document new -gnatyd switch
+-      Document new -gnatwb/-gnatwB switches
+-
+-2005-03-29  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch4.adb (Has_Unconstrained_UU_Component): Use the base type in
+-      order to retrieve the component list of the type, before examining
+-      individual components.
+-
+-      * sem_type.adb (Covers): Types are compatible if one is the base type
+-      of the other, even though their base types might differ when private
+-      views are involved.
+-
+-2005-03-29  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_dist.adb (Add_RAST_Features, PolyORB version): Set the From_Any,
+-      To_Any and TypeCode TSSs on RAS types directly using Set_TSS, instead
+-      of using Set_Renaming_TSS. This ensures that the TSS bodies are not
+-      analyzed if expansion is disabled (which could otherwise cause spurious
+-      error messages if expansion has been disabled due to previous
+-      (unrelated) errors).
+-
+-      * sem_prag.adb (Analyze_Pragma, case Asynchronous): If RAS expansion
+-      is disabled, the entity denoted by the argument is the access type
+-      itself, not an underlying record type, so there is no need to go back
+-      to the Corresponding_Remote_Type.
+-
+-2005-03-29  Gary Dismukes  <dismukes@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_intr.adb (Expand_Dispatching_Constructor_Call): New procedure to
+-      expand a call to an instance of
+-      Ada.Tags.Generic_Dispatching_Constructor into a dispatching call to the
+-      Constructor actual of the instance. A class-wide membership
+-      check is also generated, to ensure that the tag passed to the instance
+-      denotes a type in the class.
+-      (Expand_Intrinsic_Call): Call Expand_Dispatching_Constructor in the case
+-      of Name_Generic_Dispatching_Constructor.
+-
+-      * Makefile.rtl: Add a-tgdico.ads to the list of library units (new Ada
+-      05 unit for AI-260-02).
+-
+-      * a-tgdico.ads: New file.
+-
+-      * impunit.adb (Non_Imp_File_Names_05): Add entry "a-tgdico" for new
+-      predefined Ada 05 generic unit Ada.Tags.Generic_Dispatching_Constructor.
+-
+-      * snames.ads, snames.adb (Preset_Names): Add entry for
+-      Generic_Dispatching_Constructor.
+-
+-      PR ada/20300
+-      * sem_ch8.adb (Find_Direct_Name): Go to root type for check of
+-      character type cases.
+-      (Analyze_Subprogram_Renaming): Add special handling for
+-      the case of renaming of stream attributes when the renaming denotes a
+-      generic formal subprogram association for an abstract formal subprogram.
+-      Check that the attribute is a primitive stream attribute (and not
+-      a class-wide stream attribute) and then rewrite the attribute name
+-      as the name of the appropriate compiler-generated stream primitive.
+-
+-2005-03-29  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_util.adb (Remove_Side_Effects): Properly propagate arguments to
+-      recursive calls.
+-      (Is_Possibly_Unaligned_Object): Correct typo that
+-      resulted in inaccurate result for unaligned scalars within records.
+-
+-2005-03-29  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * freeze.adb (Freeze_Record_Type): If the type of the component is an
+-      itype whose parent is controlled and not yet frozen, do not create a
+-      freeze node for the itype if expansion is disabled.
+-
+-2005-03-29  Vincent Celier  <celier@adacore.com>
+-
+-      * make.adb (Gnatmake): Don't fail if the main project file is declared
+-      as having no Ada sources. Do not display message "no sources to
+-      compile" in quiet output.
+-
+-2005-03-29  Doug Rupp  <rupp@adacore.com>
+-
+-      * Makefile.in [VMS] (EXTRA_GNATTOOLS): Add vms_help and gnat.hlp as
+-      extra tools.
+-
+-2005-03-29  Robert Dewar  <dewar@adacore.com>
+-
+-      * par-ch12.adb (P_Generic): Give better msg for illegal private generic
+-      child.
+-
+-2005-03-29  Robert Dewar  <dewar@adacore.com>
+-
+-      * par-ch3.adb (P_Type_Declaration): Fix bad error recovery after
+-      missing TYPE Improve the error message generated when compiling a
+-      limited interface in Ada83 or Ada95 mode.
+-
+-2005-03-29  Robert Dewar  <dewar@adacore.com>
+-
+-      * par-ch4.adb (P_Name): When a bad attribute is returned, return error,
+-      rather than proceed ahead using a junk attribute name.
+-
+-2005-03-29  Vincent Celier  <celier@adacore.com>
+-
+-      * prj.ads, prj.adb: (Project_Data): Add new component Display_Name
+-
+-      * prj-part.adb (Parse_Single_Project): Set the location of a project
+-      on its defining identifier, rather than on the reserved word "project".
+-
+-      * prj-proc.adb (Expression): Adapt to the fact that default of external
+-      references may be string expressions, not always literal strings.
+-      (Recursive_Process): Set Display_Name equal to Name
+-      when Location is No_Location, that is when there is no actual file.
+-      Get the Display_Name of the project from the source, when it is not a
+-      virtual project.
+-      (Process): Use the Display_Name in error messages
+-
+-      * prj-strt.adb (External_Reference): Allow default to be string
+-      expressions, not only literal strings.
+-
+-2005-03-29  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-nmsc.adb (Check_Stand_Alone_Library): Do not forbid the symbol
+-      file and the reference symbol file to be the same file.
+-
+-2005-03-29  Thomas Quinot  <quinot@adacore.com>
+-
+-      * sem_cat.adb (Validate_Remote_Types_Type_Conversion): Perform check to
+-      forbid conversion of a local access-to-subprogram type to a remote one.
+-
+-      * sem_util.adb (Wrong_Type): For a record type that is the expanded
+-      equivalent type for a remote access-to-subprogram type, go back to the
+-      original RAS entity when displaying an error message, so the casing is
+-      the original source casing.
+-
+-2005-03-29  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_ch11.adb (Analyze_Raise_Statement): Change message for warning
+-      on param update.
+-
+-2005-03-29  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch4.adb (Analyze_Selected_Component): Do not generate an actual
+-      subtype if code is being pre-analyzed, to prevent un-expanded
+-      references to protected formals, among others.
+-      (Analyze_Explicit_Dereference): If the overloaded prefix includes some
+-      interpretation that can be a call, include the result of the call as a
+-      possible interpretation of the dereference.
+-
+-      * sem_ch5.adb (Process_Bounds): Determine type of range by
+-      pre-analyzing a copy of the original range, and then analyze the range
+-      with the expected type.
+-
+-      * sem_res.adb (Check_Parameterless_Call): For an explicit dereference
+-      with an overloaded prefix where not all interpretations yield an
+-      access to subprogram, do not rewrite node as a call.
+-      (Resolve_Explicit_Dereference): Recognize the previous case and rewrite
+-      the node as a call once the context identifies the interpretation of
+-      the prefix whose call yields the context type.
+-      (Valid_Conversion): For the case of a conversion between
+-      local access-to-subprogram types, check subtype conformance using
+-      Check_Subtype_Conformant instead of Subtype_Conformant, to have a more
+-      detailed error message.
+-
+-2005-03-29  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch6.adb (Set_Formal_Mode): If the subtype has a non_null
+-      indicator, indicate that the formal can never be null.
+-      (Process_Formals): If a formal has a non_null indicator, insert the
+-      resulting subtype immediately before the enclosing subprogram decl,
+-      and not at the beginning of the corresponding declarative part, to
+-      prevent access before elaboration (Ada2005).
+-
+-2005-03-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      PR ada/19956
+-      * utils.c (finish_record_type): Use variable_size when setting sizes.
+-
+-2005-03-29  Robert Dewar  <dewar@adacore.com>
+-
+-      * xtreeprs.adb, xnmake.adb: Use Stream_IO instead of Text_IO to
+-      guarantee Unix style line terminators for the output files, even when
+-      running on windows.
+-
+-2005-03-29  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-direct.ads, a-direct.adb (Start_Search): Free allocated search
+-      buffer if an exception is raised.
+-
+-2005-03-29  Ed Falis  <falis@adacore.com>
+-
+-      * cio.c: Undefine putchar and getchar for VTHREADS: incompatible with
+-      VxWorks 653 1.4
+-
+-2005-03-29  Robert Dewar  <dewar@adacore.com>
+-
+-      * sem_util.ads: Minor reformatting
+-      * gnat_rm.texi: Minor editing.
+-
+-2005-03-29  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (gnat_to_gnu_entity) <E_Variable>: Rework comment.
+-      * trans.c (tree_transform) <N_Identifier>: Use correct predicates.
+-
+-2005-03-24  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
+-
+-      * adaint.c (__gnat_portable_spawn): Adjust cast.
+-
+-2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
+-
+-      * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
+-
+-2005-03-17  Pascal Obry  <obry@adacore.com>
+-
+-      * adaint.h, adaint.c (__gnat_waitpid): Moved to expect.c where it is
+-      used.
+-
+-      * expect.c (__gnat_waitpid): Moved here from adaint.c.
+-      Reimplement under Win32 using Win32 API.
+-
+-      (__gnat_kill) [Win32]: Properly close the process handle before leaving
+-      this routine.
+-
+-2005-03-17  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * ada-tree.h: (DECL_RENAMING_GLOBAL_P): New predicate.
+-      (DECL_RENAMED_OBJECT): New accessor macro.
+-      (SET_DECL_RENAMED_OBJECT): New setter macro.
+-
+-      * decl.c (gnat_to_gnu_entity) <E_Variable>: Stabilize the renamed
+-      object in all cases.  Attach the renamed object to the VAR_DECL.
+-      (gnat_to_gnu_field): Do not lift the record wrapper if the size of the
+-      field is not prescribed.
+-
+-      * misc.c (gnat_handle_option): Handle -gnatO separately.
+-      (gnat_print_decl) <VAR_DECL>: New case.
+-      Print the DECL_RENAMED_OBJECT node.
+-
+-      * lang.opt:  Declare separate -gnatO option.
+-
+-      * trans.c (tree_transform) <N_Identifier>: If the object is a renaming
+-      pointer, replace it with the renamed object.
+-      <N_Validate_Unchecked_Conversion>: Warn for a conversion to a fat
+-      pointer type if the source is not a fat pointer type whose underlying
+-      array has the same non-zero alias set as that of the destination array.
+-
+-2005-03-17  Javier Miranda  <miranda@adacore.com>
+-
+-      * a-tags.ads, a-tags.adb (Get_Expanded_Name): Removed.
+-      (Get_Inheritance_Depth): Removed.
+-      (Set_Inheritance_Depth): Removed.
+-
+-      * rtsfind.ads, exp_disp.ads, exp_disp.adb: Remove support to call the
+-      subprogram Get_Expanded_Name because it is not referenced by the
+-      frontend.
+-
+-      * i-cpp.ads, i-cpp.adb (CPP_Get_Expanded_Name): Removed.
+-      (CPP_Get_Inheritance_Depth): Removed.
+-      (CPP_Set_Inheritance_Depth): Removed.
+-
+-      * tbuild.ads, tbuild.adb (Make_DT_Component): Removed.
+-
+-2005-03-17  Robert Dewar  <dewar@adacore.com>
+-
+-      * checks.adb (Apply_Array_Size_Check): Completely remove this for GCC
+-      3, since we now expect GCC 3 to do all the work.
+-
+-2005-03-17  Javier Miranda  <miranda@adacore.com>
+-
+-      * einfo.adb (First_Private_Entity, Set_First_Private_Entity): Addition
+-      of one barrier to avoid wrong usage of this attribute.
+-
+-      * sem_ch12.adb (Formal_Entity): Fix erroneous usage of the attribute
+-      First_Private_Entity.
+-
+-      * sem_ch7.adb (Install_Visible_Declarations): Add a barrier to protect
+-      the subprogram against wrong usage.
+-      Adapt the code to traverse the entities in the
+-      scope of a record_type because in addition to its usage regarding
+-      packages, this subprogram is also called by Expand_N_Freeze_Entity
+-      to install the visible declarations of the enclosing scope of a
+-      record_type_with_private to establish the proper visibility before
+-      freezing the entity and related subprograms.
+-
+-2005-03-17  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch2.adb (In_Assignment_Context): Recognize slice assignments to
+-      entry formals.
+-
+-2005-03-17  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_ch3.adb (Check_Attr): New subprogram.
+-      (Check_Stream_Attribute): Move the code for 13.13.2(9/1) enforcement
+-      into a new Check_Attr subprogram, in order to provide a more
+-      explanatory error message (including the name of the missing attribute).
+-      (Stream_Operation_OK): Renamed from Stream_Operations_OK. This
+-      subprogram determines whether a default implementation exists for a
+-      given stream attribute.
+-      (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies):
+-      Determine whether to generate a default implementation for each stream
+-      attribute separately, as this depends on the specific attribute.
+-
+-      * exp_strm.adb (Make_Field_Attribute): For the case of an illegal
+-      limited extension where a stream attribute is missing for a limited
+-      component (which will have been flagged in Exp_Ch3.Sem_Attr), do not
+-      generate a bogus reference to the missing attribute to prevent
+-      cascaded errors. Instead, generate a null statement.
+-
+-      * sem_attr.adb (Check_Stream_Attribute): A stream attribute is
+-      available for a limited type if it has been specified for an ancestor
+-      of the type.
+-
+-2005-03-17  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch6.adb (Expand_Inlined_Call): handle the case when the renamed
+-      entity is an operator.
+-
+-2005-03-17  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_dist.adb (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
+-      spec, to make this predicate available to other units.
+-
+-      * rtsfind.adb (Check_RPC): Use Sem_Dist.Get_PCS_Name instead of
+-      reimplementing it.
+-
+-      * sem_ch8.adb: Disable expansion of remote access-to-subprogram types
+-      when no distribution runtime library is available.
+-
+-      * sem_res.adb, sem_dist.adb: Disable expansion of remote
+-      access-to-subprogram types when no distribution runtime library is
+-      available.
+-      (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist spec, to make this
+-      predicate available to other units.
+-
+-      * sem_dist.ads (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
+-      spec, to make this predicate available to other units.
+-
+-2005-03-17  Vincent Celier  <celier@adacore.com>
+-
+-      * make.adb (Insert_Project_Sources): Make sure the Q is always
+-      initialized.
+-
+-      * prj-nmsc.adb (Check_Ada_Naming_Scheme_Validity): Check Naming against
+-      the default for the tree, not the global default naming.
+-
+-      * prj-proc.adb (Recursive_Process): No need to put the default naming
+-      in the project data, it's already there.
+-
+-2005-03-17  Doug Rupp  <rupp@adacore.com>
+-
+-      * Makefile.in: (ia64-hp-*vms*): Use s-crtl-vms64.ads.
+-
+-      * 5xcrtl.ads: Renamed to...
+-      * s-crtl-vms64.ads: ...this new file
+-
+-2005-03-17  Robert Dewar  <dewar@adacore.com>
+-
+-      PR ada/19519
+-      * namet.adb (Copy_One_Character): Set proper wide character encoding
+-      for upper half character if we have upper half encoding.
+-
+-2005-03-17  Robert Dewar  <dewar@adacore.com>
+-
+-      * par.adb (Par): Improved msg for attempt to recompile predefined unit
+-
+-2005-03-17  Thomas Quinot  <quinot@adacore.com>
+-
+-      * sem_ch13.adb (New_Stream_Function, New_Stream_Procedure): For a
+-      tagged limited type, the TSS is a newly built renaming declaration:
+-      insert it using Set_TSS, not Copy_TSS.
+-
+-2005-03-17  Javier Miranda  <miranda@adacore.com>
+-
+-      * sem_ch4.adb (Try_Primitive_Operation, Class_Wide_Operation and
+-      Try_Object_Operation): Analyze the object that is accessible
+-      through the prefix of the subprogram call before we apply
+-      the transformation of the object-operation notation.
+-
+-2005-03-17  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * s-taprob.adb (Initialize_Protection): Initialize the protected
+-      object's owner to Null_Task.
+-      (Lock): If pragma Detect_Blocking is in effect and the caller of this
+-      procedure is already the protected object's owner then Program_Error
+-      is raised. In addition the protected object's owner is updated.
+-      (Lock_Read_Only): If pragma Detect_Blocking is in effect and the caller
+-      of this procedure is already the protected object's owner then
+-      Program_Error is raised.
+-      In addition the protected object's owner is updated.
+-      (Unlock): Remove the ownership of the protected object.
+-
+-      * s-taprob.ads (Protection): Add the field Owner, used to store the
+-      protected object's owner.
+-      This component is needed for detecting one type of potentially blocking
+-      operations (external calls on a protected subprogram with the same
+-      target object as that of the protected action). Document the rest of
+-      the components.
+-
+-      * s-tposen.adb, s-tpoben.adb (Initialize_Protection_Entries):
+-      Initialize the protected object's owner to Null_Task.
+-      (Lock_Read_Only_Entries): If pragma Detect_Blocking is in effect and the
+-      caller of this procedure is already the protected object's owner then
+-      Program_Error is raised.
+-      Do not raise Program_Error when this procedure is called from a
+-      protected action.
+-      (Unlock_Entries): Remove the ownership of the protected object.
+-      (Lock_Entries): If pragma Detect_Blocking is in effect and the caller
+-      of this procedure is already the protected object's owner then
+-      Program_Error is raised.
+-      Do not raise Program_Error when this procedure is called from
+-      a protected action.
+-
+-      * s-tposen.ads, s-tpoben.ads (Protection_Entries): Add the field Owner,
+-      used to store the protected object's owner.
+-
+-      * s-tpobop.adb (Protected_Entry_Call): If pragma Detect_Blocking is in
+-      effect and this procedure (a potentially blocking operation) is called
+-      from whithin a protected action, Program_Error is raised.
+-      (Timed_Protected_Entry_Call): If pragma Detect_Blocking is in effect
+-      and this procedure (a potentially blocking operation) is called from
+-      whithin a protected action, Program_Error is raised.
+-
+-2005-03-17  Vincent Celier  <celier@adacore.com>
+-          Nicolas Setton  <setton@adacore.com>
+-
+-      * mlib-tgt-darwin.adb (Build_Dynamic_Library): Remove the "-fini"
+-      switch, not supported by the linker on Darwin. Add '_' before
+-      <library>init, as this character is added unconditionally by the
+-      compiler.
+-      (Is_Archive_Ext): Replace the wrong library extension ".dyld" by the
+-      correct one ".dylib". This fixes detection of the archive files when
+-      building library projects.
+-
+-2005-03-17  Vincent Celier  <celier@adacore.com>
+-
+-      * switch-m.adb (Normalize_Compiler_Switches): Recognize switches
+-      -gnat83, -gnat95 and -gnat05.
+-
+-2005-03-17  Vasiliy Fofanov  <fofanov@adacore.com>
+-
+-      * gnat_ugn.texi: Document gnatmem restriction
+-
+-2005-03-17  Thomas Quinot  <quinot@adacore.com>
+-
+-      * snames.adb: Document new TSS names introduced by exp_dist/exp_tss
+-      cleanup
+-
+-2005-03-17  Robert Dewar  <dewar@adacore.com>
+-
+-      * s-interr.ads, s-interr.adb, sem_ch3.adb, prj.ads, prj.adb,
+-      a-interr.adb, a-interr.ads, s-interr-sigaction.adb, s-interr-dummy.adb,
+-      s-interr-vms.adb, s-interr-vxworks.adb: Minor reformatting
+-
+-      * casing.adb: Comment improvements
+-
+-2005-03-17  Pascal Obry  <obry@adacore.com>
+-
+-      * g-expect.adb: Minor reformatting.
+-
+-2005-03-15  Zack Weinberg  <zack@codesourcery.com>
+-
+-      * Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
+-      (doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
+-      to dependencies.
+-
+-2005-03-15  Vincent Celier  <celier@adacore.com>
+-
+-      * mlib-tgt-darwin.adb (Library_Exist_For, Library_File_Name_For):
+-      Add new parameter In_Tree to specify the project tree: needed
+-      by the project manager. Adapt to changes in project manager
+-      using new parameter In_Tree.
+-
+-2005-03-15  Jakub Jelinek  <jakub@redhat.com>
+-
+-      * Make-lang.in (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h,
+-      ada/nmake.adb, ada/nmake.ads): Use unique subdirectories of
+-      ada/bldtools to avoid make -jN failures.
+-
+-2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * trans.c (gnat_to_gnu) <N_Return_Statement>: Set gnu_result
+-      to NULL_TREE on entry.
+-
+-2005-03-15  Robert Dewar  <dewar@adacore.com>
+-
+-      * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
+-      system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
+-      system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
+-      system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
+-      system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
+-      system-linux-x86.ads, system-vxworks-mips.ads, system-os2.ads,
+-      system-interix.ads, system-solaris-sparc.ads,
+-      system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
+-      system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads,
+-      system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
+-      system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads,
+-      system-linux-s390.ads, system-linux-s390x.ads: Add line defining
+-      Compiler_System_Version to be False.
+-
+-      * opt.ads: Add new flag Opt.Address_Is_Private
+-
+-      * targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private
+-      Add new parameter Compiler_System_Version to avoid checking for
+-      completeness of parameters when compiler is compiling itself.
+-      Allows old versions of GNAT to be compiled with new compiler.
+-
+-2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function
+-      (Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the
+-      calling thread.
+-      (Stack_Base_Available): New flag.
+-      (Get_Page_Size): New overloaded functions imported from C.
+-      (PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL,
+-      PROT_ON, PROT_OFF): New constants.
+-      (mprotect): New function imported from C.
+-      (pthread_teb_t): New record type.
+-
+-      * s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
+-      (Create_Task): Account for the Yellow Zone and the guard page.
+-
+-2005-03-15  Vincent Celier  <celier@adacore.com>
+-
+-      * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+-      mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
+-      mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
+-      mlib-tgt-vxworks.adb, mlib-tgt-lynxos.adb (Library_Exist_For,
+-      Library_File_Name_For): Add new parameter In_Tree
+-      to specify the project tree: needed by the project manager.
+-      Adapt to changes in project manager using new parameter In_Tree.
+-      Remove local imports, use functions in System.CRTL.
+-
+-      * make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
+-      to use the project manager.
+-
+-      * makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter
+-      In_Tree to designate the project tree. Adapt to changes in the project
+-      manager, using In_Tree.
+-
+-      * mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library,
+-      Copy_Interface_Sources): Add new parameter In_Tree to specify the
+-      project tree: needed by the project manager.
+-      (Build_Library): Check that Arg'Length >= 6 before checking if it
+-      contains "--RTS=...".
+-
+-      * mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For,
+-      Library_File_Name_For): Add new parameter In_Tree to specify the
+-      project tree: needed by the project manager.
+-
+-      * prj.ads, prj.adb: Major modifications to allow several project trees
+-      in memory at the same time.
+-      Change tables to dynamic tables and hash tables to dynamic hash
+-      tables. Move tables and hash tables from Prj.Com (in the visible part)
+-      and Prj.Env (in the private part). Move some constants from the visible
+-      part to the private part. Make other constants deferred.
+-      (Project_Empty): Make it a variable, not a function
+-      (Empty_Project): Add parameter Tree. Returns the data with the default
+-      naming data of the project tree Tree.
+-      (Initialize): After updating Std_Naming_Data, copy its value to the
+-      component Naming of Project Empty.
+-      (Register_Default_Naming_Scheme): Use and update the default naming
+-      component of the project tree, instead of the global variable
+-      Std_Naming_Data.
+-      (Standard_Naming_Data): Add defaulted parameter Tree. If project tree
+-      Tree is not defaulted, return the default naming data of the Tree.
+-      (Initial_Buffer_Size): Constant moved from private part
+-      (Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new
+-      variables initialized in procedure Initialize.
+-      (Add_To_Buffer): Add two in out parameters to replace global variables
+-      Buffer and Buffer_Last.
+-      (Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New
+-      functions.
+-      Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
+-      hash tables.
+-      (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
+-      for the project tree.
+-      (Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and
+-      constant at the beginning of the package spec, so that they cane be used
+-      in subprograms before their full declarations.
+-      (Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref
+-      (Empty_Project): Add parameter of type Project_Node_Ref
+-      (Private_Project_Tree_Data): Add component Default_Naming of type
+-      Naming_Data.
+-      (Buffer, Buffer_Last): remove global variables
+-      (Add_To_Buffer): Add two in out parameters to replace global variables
+-      Buffer and Buffer_Last.
+-      (Current_Packages_To_Check): Remove global variable
+-      (Empty_Name): Move to private part
+-      (No-Symbols): Make it a constant
+-      (Private_Project_Tree_Data): New type for the private part of the
+-      project tree data.
+-      (Project_Tree_Data): New type for the data of a project tree
+-      (Project_Tree_Ref): New type to designate a project tree
+-      (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
+-      for the project tree.
+-
+-      * prj-attr.ads: Add with Table; needed, as package Prj no longer
+-      imports package Table.
+-
+-      * prj-com.adb: Remove empty, no longer needed body
+-
+-      * prj-com.ads: Move most of the content of this package to package Prj.
+-
+-      * prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to
+-      designate the project node tree and Packages_To_Check to replace
+-      global variable Current_Packages_To_Check.
+-      Add new parameters In_Tree and Packages_To_Check to local subprograms,
+-      when needed. Adapt to changes in project manager with project node tree
+-      In_Tree.
+-
+-      * prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the
+-      project tree to most subprograms. Move tables and hash tables to
+-      private part of package Prj.
+-      Adapt to changes in project manager using project tree In_Tree.
+-
+-      * prj-makr.adb (Tree): New constant to designate the project node tree
+-      Adapt to change in project manager using project node tree Tree
+-
+-      * prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly
+-      display the Library_Src_Dir and the Library_Dir.
+-      Add new parameter In_Tree to designate the project node tree to most
+-      subprograms. Adapt to changes in the project manager, using project tree
+-      In_Tree.
+-      (Check_Naming_Scheme): Do not alter the casing on platforms where
+-      the casing of file names is not significant.
+-      (Check): Add new parameter In_Tree to designate the
+-
+-      * prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to
+-      designate the project tree.
+-      Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process
+-
+-      * prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables,
+-      to replace those that were in the private part of package Prj.
+-      Add new parameter In__Tree to designate the project node tree to most
+-      subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
+-      (Post_Parse_Context_Clause): When specifying the project node of a with
+-      clause, indicate that it is a limited with only if there is "limited"
+-      in the with clause, not necessarily when In_Limited is True.
+-      (Parse): Add new parameter In_Tree to designate the project node tree
+-
+-      * prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to
+-      designate the project node tree. Adapt to change in Prj.Tree with
+-      project node tree In_Tree.
+-
+-      * prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project
+-      tree In_Tree in the call to function Empty_Process to give its initial
+-      value to the project data Processed_Data.
+-      Add new parameters In_Tree to designate the project tree and
+-      From_Project_Node_Tree to designate the project node tree to several
+-      subprograms. Adapt to change in project manager with project tree
+-      In_Tree and project node tree From_Project_Node_Tree.
+-
+-      * prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables,
+-      to replace those that were in the private part of package Prj.
+-      Add new parameter In_Tree to designate the project node tree to most
+-      subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
+-
+-      * prj-tree.ads, prj-tree.adb: Add new parameter of type
+-      Project_Node_Tree_Ref to most subprograms.
+-      Use this new parameter to store project nodes in the designated project
+-      node tree.
+-      (Project_Node_Tree_Ref): New type to designate a project node tree
+-      (Tree_Private_Part): Change table to dynamic table and hash tables to
+-      dynamic hash tables.
+-
+-      * prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate
+-      the project tree to most subprograms. Adapt to changes in project
+-      manager using project tree In_Tree.
+-
+-      * makegpr.adb (Project_Tree): New constant needed to use project
+-      manager.
+-
+-2005-03-15  Olivier Hainque  <hainque@adacore.com>
+-
+-      * s-intman-posix.adb (Notify_Exception): Adjust signature, as handler
+-      for sigactions with SA_SIGINFO set. Call
+-      __gnat_adjust_context_for_raise before raising, to perform the
+-      potentially required adjustments to the machine context for the GCC
+-      unwinder.
+-
+-      * raise.h (__gnat_adjust_context_for_raise): New prototype.
+-
+-      * init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision.
+-      Adjust PC by one in the provided machine context.
+-      (__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags,
+-      so that the handler is passed the context structure to adjust prior to
+-      the raise.
+-      (__gnat_error_handler) HPUX: Adjust the signature to match what an
+-      SA_SIGINFO sigaction should look like. Call
+-      __gnat_adjust_context_for_raise before actually raising.
+-      (__gnat_adjust_context_for_raise): Default noop to help PC
+-      adjustments before raise from signal handlers.
+-      (__gnat_error_handler): Indirectly call a predicate function to
+-      determine if a condition should be resignaled or not.
+-      (__gnat_set_resignal_predicate): User interface to modify the predicate.
+-      (__gnat_default_resignal_p): Default GNAT predicate.
+-
+-2005-03-15  Doug Rupp  <rupp@adacore.com>
+-
+-      * adaint.c: Prefix #include of VMS system header files with vms/
+-      [VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS.
+-      Do not define a dummy function "convert_addresses" under Darwin,
+-      not needed.
+-
+-      * tb-alvms.c, expect.c: Prefix #include of VMS system header files
+-      with vms/
+-
+-2005-03-15  Nicolas Setton  <setton@adacore.com>
+-
+-      * tracebak.c: Under Darwin, use the same unwinding mechanisms as under
+-      PPC/AIX.
+-
+-2005-03-15  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
+-      AI-386.
+-
+-      * a-retide.ads: Minor comment changes
+-
+-2005-03-15  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads,
+-      a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move
+-      Realloc_For_Chunk to private part of package.
+-      New subprograms for AI-301
+-
+-      * a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
+-      Get_Line procedure.
+-      Avoid unnecessary use of Get/Set_Wide_String
+-
+-2005-03-15  Robert Dewar  <dewar@adacore.com>
+-
+-      PR ada/13470
+-      * a-stunau.ads, a-stunau.adb:
+-      Change interface to allow efficient (and correct) implementation
+-      The previous changes to allow extra space in unbounded strings had
+-      left this interface a bit broken.
+-
+-      * a-suteio.adb: Avoid unnecessary use of Get/Set_String
+-
+-      * g-spipat.ads, g-spipat.adb: New interface for Get_String
+-      Minor reformatting (function specs)
+-
+-      * g-spitbo.adb: New interface for Get_String
+-
+-      * g-spitbo.ads: Minor reformatting
+-
+-      * a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String
+-
+-      * a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String
+-
+-2005-03-15  Javier Miranda  <miranda@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-          Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * atree.ads, atree.adb: Add support for Elist24 field
+-
+-      * atree.h: Fix wrong definition of Field27
+-      Add support for Elist16 field
+-      Add support for Elist24 field
+-
+-      * einfo.ads, einfo.adb (Abstract_Interfaces,
+-      Set_Abstract_Interfaces): New subprograms.
+-      (Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New
+-      subprograms.
+-      (Access_Disp_Table, Set_Access_Disp_Table): Modified to handle a list of
+-      entities rather than a single node.
+-      (Is_Interface, Set_Is_Interface): New subprogram
+-      (First_Tag_Component): New syntesized attribute
+-      (Next_Tag_Component): New synthesized attribute
+-      (Write_Entity_Flags): Upgraded to write Is_Interface
+-      (Write_Field24_Name): Upgraded to write Abstract_Interfaces
+-      (Write_Field25_Name): Upgraded to write Abstract_Interface_Alias
+-      (Task_Body_Procedure): New subprogram to read this attribute.
+-      (Set_Task_Body_Procedure): New subprogram to set this attribute.
+-      (Has_Controlled_Component): Now applies to all entities.
+-      This is only a documentation change, since it always worked to apply
+-      this to other than composite types (yielding false), but now this is
+-      official.
+-      Update documentation on Must_Be_Byte_Aligned for new spec
+-
+-      * tbuild.adb, exp_dist.adb, exp_disp.adb, exp_ch3.ads, exp_ch3.adb,
+-      exp_attr.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb: Upgrade all the
+-      uses of the Access_Disp_Table attribute to reference the first dispatch
+-      table associated with a tagged type. As
+-      part of the implementation of abstract interface types,
+-      Access_Disp_Table has been redefined to contain a list of dispatch
+-      tables (rather than a single dispatch table).
+-      Similarly, upgrade all the references to Tag_Component by the
+-      new attribute First_Tag_Component.
+-      (Find_Inherited_TSS): Moved to exp_tss.
+-      Clean up test in Expand_N_Object_Declaration for cases
+-      where we need to do a separate assignment of the initial value.
+-      (Expand_N_Object_Declaration): If the expression in the
+-      declaration of a tagged type is an aggregate, no need to generate an
+-      additional tag assignment.
+-      (Freeze_Type): Now a function that returns True if the N_Freeze_Entity
+-      is to be deleted.
+-      Bit packed array ops are only called if operands are known to be
+-      aligned.
+-      (Component_Equality): When returning an N_Raise_Program_Error statement,
+-      ensure that its Etype is set to Empty to avoid confusing GIGI (which
+-      expects that only expressions have a bona fide type).
+-      (Make_Tag_Ctrl_Assignment): Use Build_Actual_Subtype to correctly
+-      determine the amount of data to be copied.
+-
+-      * par.adb (P_Interface_Type_Definition): New subprogram that parses the
+-      new syntax rule of Ada 2005 interfaces (for AI-251 and AI-345):
+-          INTERFACE_TYPE_DEFINITION ::=
+-            [limited | task | protected | synchronized] interface
+-              [AND interface_list]
+-
+-      * par-ch3.adb (P_Type_Declaration): Modified to give support to
+-      interfaces.
+-      (P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to
+-      interfaces.
+-      (P_Interface_Type_Definition): New subprogram that parses the new
+-      syntax rule of Ada 2005 interfaces
+-      (P_Identifier_Declarations): fix two occurrences of 'RENAMES' in error
+-      messages by the correct RENAMES (quotes removed).
+-
+-      * sem_prag.adb: Upgrade all the references to Tag_Component by the new
+-      attribute First_Tag_Component.
+-
+-      * sinfo.ads, sinfo.adb: Remove OK_For_Stream flag, not used, not needed
+-      (Interface_List, Set_Interface_List): New subprograms.
+-      (Interface_Present, Set_Interface_Present): New subprograms.
+-      (Limited_Present, Set_Limited_Present): Available also in derived
+-      type definition nodes.
+-      (Protected_Present, Set_Protected_Present): Available also in
+-      record type definition and
+-      derived type definition nodes.
+-      (Synchronized_Present, Set_Synchronized_Present): New subprograms.
+-      (Task_Present, Set_Task_Present): New subprogram.
+-      (Task_Body_Procedure): Removed.
+-      (Set_Task_Body_Procedure): Removed.
+-      These subprogram have been removed because the attribute
+-      Task_Body_Procedure has been moved to the corresponding task type
+-      or task subtype entity to leave a field free to store the list
+-      of interfaces implemented by a task (for AI-345)
+-      Add Expression field to N_Raise_Statement node for Ada 2005 AI-361
+-      (Null_Exclusion_Present): Change to Flag11, to avoid conflict with
+-      expression flag Do_Range_Check
+-      (Exception_Junk): Change to Flag7 to accomodate above change
+-      (Box_Present, Default_Name, Specification, Set_Box_Present,
+-      Set_Default_Name, Set_Specification): Expand the expression
+-      "X in N_Formal_Subprogram_Declaration" into the corresponding
+-      two comparisons. Required to use the csinfo tool.
+-
+-      * exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where
+-      "with string" given.
+-
+-      * sem_ch11.adb (Analyze_Raise_Statement): Handle case where string
+-      expression given.
+-
+-      * par-ch11.adb (P_Raise_Statement): Recognize with string expression
+-      in 2005 mode
+-
+-      * exp_ch9.adb (Build_Task_Proc_Specification): Modified to use entity
+-      attribute Task_Body_Procedure rather than the old semantic field that
+-      was available in the task_type_declaration node.
+-
+-      * par-ch12.adb (P_Formal_Type_Definition): Modified to handle formal
+-      interface type definitions.
+-      (P_Formal_Derived_Type_Definition): Modified to handle the list of
+-      interfaces.
+-
+-      * par-ch9.adb (P_Task): Modified to handle the list of interfaces in a
+-      task type declaration.
+-      (P_Protected): Modified to handle the list of interfaces in a
+-      protected type declaration.
+-
+-2005-03-15  Doug Rupp  <rupp@adacore.com>
+-          Vincent Celier  <celier@adacore.com>
+-
+-      * bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
+-      (Gen_Output_File_C): Likewise.
+-      (Gen_Main_C): Issue #include <stdlib.h> to avoid warning
+-
+-2005-03-15  Thomas Quinot  <quinot@adacore.com>
+-
+-      * checks.adb (Get_E_First_Or_Last): When the expression being retrieved
+-      is an N_Raise_Constraint_Error node, create a new copy of it without
+-      going through a call to Duplicate_Subexpr.
+-
+-2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
+-          Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-          Nicolas Setton  <setton@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      PR ada/19900
+-      PR ada/19408
+-      PR ada/19140
+-      PR ada/20255
+-      * decl.c (gnat_to_gnu_field): Reject aliased components with a
+-      representation clause that prescribes a size not equal to the rounded
+-      size of their types.
+-      (gnat_to_gnu_entity, case E_Component): Always look at
+-      Original_Record_Component if Present and not the entity.
+-      (gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
+-      of tagged extension types by not making field for components that are
+-      inside the parent.
+-      (gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
+-      (gnat_to_gnu_entity) <E_Variable>: Do not convert again the
+-      expression to the type of the object when the object is constant.
+-      Reverse defer_debug_incomplete_list before traversing it, so that trees
+-      are processed in the order at which they were added to the list. This
+-      order is important when using the stabs debug format.
+-      If we are deferring the output of debug information, also defer this
+-      output for a function return type.
+-      When adding fields to a record, prevent emitting debug information
+-      for incomplete records, emit the information only when the record is
+-      complete.
+-      (components_to_record): New parameter defer_debug.
+-      (gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
+-      (gnat_to_gnu_field_decl): New function.
+-      (substitution_list, annotate_rep): Call it.
+-      (gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
+-      (gnat_to_gnu_entity, case E_Record_Type): Likewise.
+-      No longer update discriminants to not be a COMPONENT_REF.
+-      (copy_alias_set): Strip padding from input type; also handle
+-      unconstrained arrays properly.
+-
+-      * gigi.h (write_record_type_debug_info): New function.
+-      Convert to use ANSI-style prototypes. Remove unused
+-      declarations for emit_stack_check, elab_all_gnat and
+-      set_second_error_entity.
+-      (gnat_to_gnu_field_decl): New decl.
+-
+-      * utils.c (write_record_type_debug_info): New function.
+-      (finish_record_type): Delegate generation of debug information to
+-      write_record_type_debug_info.
+-      (update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
+-      (update_pointer_to): Fix pasto.
+-      (convert) <UNION_TYPE>: Accept slight type variations when
+-      converting to an unchecked union type.
+-
+-      * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
+-      replace the N_Freeze_Entity with a null statement.
+-
+-      * freeze.adb (Freeze_Expression): If the freeze nodes are generated
+-      within a constrained subcomponent of an enclosing record, place the
+-      freeze nodes in the scope stack entry for the enclosing record.
+-      (Undelay_Type): New Subprogram.
+-      (Set_Small_Size): Pass T, the type to modify; all callers changed.
+-      (Freeze_Entity, Freeze_Record_Type): Change the way we handle types
+-      within records; allow them to have freeze nodes if their base types
+-      aren't frozen yet.
+-
+-      * exp_util.adb (Remove_Side_Effects): Properly test for
+-      Expansion_Delayed and handle case when it's inside an
+-      N_Qualified_Expression.
+-
+-      * sem_ch3.adb (Derived_Type_Declaration): New predicate
+-      Comes_From_Generic, to recognize accurately that the parent type in a
+-      derived type declaration can be traced back to a formal type, because
+-      it is one or is derived from one, or because its completion is derived
+-      from one.
+-      (Constrain_Component_Type): If component comes from source and has no
+-      explicit constraint, no need to constrain in in a subtype of the
+-      enclosing record.
+-      (Constrain_Access, Constrain_Array): Allow itypes to be delayed.
+-      Minor change to propagate Is_Ada_2005 flag
+-
+-      * trans.c (gnat_to_gnu, case N_Aggregate): Verify that
+-      Expansion_Delayed is False.
+-      (assoc_to_constructor): Ignore fields that have a
+-      Corresponding_Discriminant.
+-      (gnat_to_gnu) <N_Return_Statement>: Restructure. If the
+-      function returns "by target", dereference the target pointer using the
+-      type of the actual return value.
+-      <all>: Be prepared for a null gnu_result.
+-      (processed_inline_subprograms): Check flag_really_no_inline
+-      instead of flag_no_inline.
+-      (set_second_error_entity): Remove unused function.
+-      (gnat_to_gnu, case N_Selected_Component): Call
+-      gnat_to_gnu_field_decl.
+-      (assoc_to_constructor): Likewise.
+-
+-2005-03-15  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * exp_pakd.adb (Create_Packed_Array_Type): Do not set
+-      Must_Be_Byte_Aligned for cases where we do not need to use a
+-      System.Pack_nn unit.
+-
+-      * exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
+-      as procedures.
+-      Needed now that we do some processing for IN parameters as well. This
+-      may well fix some unrelated errors.
+-      (Expand_Call): Handle case of unaligned objects (in particular those
+-      that come from packed arrays).
+-      (Expand_Inlined_Call): If the subprogram is a renaming as body, and the
+-      renamed entity is an inherited operation, re-expand the call using the
+-      original operation, which is the one to call.
+-      Detect attempt to inline parameterless recursive subprogram.
+-      (Represented_As_Scalar): Fix to work properly with private types
+-      (Is_Possibly_Unaligned_Object): Major rewrite to get a much more
+-      accurate estimate. Yields True in far fewer cases than before,
+-      improving the quality of code that depends on this test.
+-
+-      * exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
+-      over both visible and private declarations to remove them from tree,
+-      and mark subprograms declared in package as eliminated, to prevent
+-      spurious use in subsequent compilation of generic units in the context.
+-
+-      * exp_util.ads: Minor cleanup in variable names
+-
+-      * sem_eval.ads, sem_eval.adb: Minor reformatting
+-      (Compile_Time_Known_Bounds): New function
+-
+-2005-03-15  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch7.adb (Convert_View): Use base types of underlying types when
+-      determining whether an unchecked conversion is needed for the argument
+-      of an initialization call.
+-
+-2005-03-15  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type
+-      that appears in the instantiation rather than the internal subtype
+-      generated in the wrapper package, to avoid anomalies in gigi when the
+-      target is derived from a private type whose full view is an access type.
+-
+-2005-03-15  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
+-      not needed.
+-      Add documentation to replace the use of this flag
+-      Fix kludge for Maximum_Alignment on x86 so that it does not apply to
+-      the x86_64.
+-
+-2005-03-15  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved
+-      here from exp_attr so it can be shared between exp_attr and exp_dist.
+-      (TSS_Names): Renamed from OK_TSS_Names. This array contains the list of
+-      all TSS names, not a subset thereof, and the previous name introduced
+-      an unnecessarily confusion that a distinction might exist between
+-      "OK" TSS names and some "not OK" TSS names.
+-
+-2005-03-15  Doug Rupp  <rupp@adacore.com>
+-
+-      * gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
+-      Command_Name.
+-
+-2005-03-15  Pascal Obry  <obry@adacore.com>
+-          Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      PR ada/20226
+-      PR ada/20344
+-      * init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
+-      when IN_RTS. This is to work around a bootstrap path problem.
+-
+-      * misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler)
+-      table and pass it to __gnat_install_SEH_handler().
+-      (gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
+-
+-      * lang.opt: Fix specification of -fRTS=.
+-
+-2005-03-15  Doug Rupp  <rupp@adacore.com>
+-          Bernard Banner  <banner@adacore.com>
+-          Vincent Celier  <celier@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-
+-      PR ada/6852
+-      This change works fine when gnatlib is built from the gcc directory,
+-      but does not work when using the libada Makefile, since GCC_FOR_TARGET
+-      is not passed to ada/Makefile.in, so more work is needed by a
+-      Makefile/configure expert.
+-
+-      * Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library.
+-      set GMEM_LIB on ia64 linux to add optional support for gnatmem.
+-      Setup gnatlink switch -M for x86_64 linux, as it is already setup
+-      for Linux x86.
+-      (gnatlib-shared-default): Use GNATLIBCFLAGS as well.
+-      Run ranlib on libgccprefix.a
+-      Define PREFIX_OBJS for Darwin, to build libgccprefix.
+-      (ADA_INCLUDE_SRCS): Split Ada packages.
+-
+-2005-03-15  Robert Dewar  <dewar@adacore.com>
+-
+-      * Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
+-
+-      * impunit.adb: Add GNAT.UTF_32
+-
+-      * scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
+-
+-      * widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
+-      now uses GNAT.UTF_32).
+-
+-      * g-utf_32.ads, g-utf_32.adb: This is a new unit with full
+-      capabilities for categorizing characters using Unicode categories
+-
+-2005-03-15  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an
+-      instantiation that has been rewritten as a package body, retrieve spec
+-      to generate proper name for implicit_with_clause.
+-      (Install_Parents): Recognize a parent that is an instantiation but has
+-      been rewritten as a package declaration during analysis.
+-
+-2005-03-15  Javier Miranda  <miranda@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch12.adb (Instantiate_Object): If the analysis of the actual
+-      parameter reported some error we immediately return. This improves the
+-      behaviour of the frontend in case of errors.
+-      (Install_Parent, Remove_Parent): Introduce new flag
+-      Parent_Unit_Visible, to preserve the proper visibility of the ultimate
+-      ancestor of a generic child unit, when the child is being instantiated.
+-      (Inline_Instance_Body): If we are compiling the private
+-      part or the body of a child unit, restore the proper visibility of the
+-      parents after compiling the instance body.
+-
+-2005-03-15  Ed Schonberg  <schonberg@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-
+-      PR ada/15608
+-      * sem_util.adb (Get_Task_Body_Procedure): Type may be the completion
+-      of a private type, in which case it is underlying_type that denotes
+-      the proper task. Also modified to use the new entity attribute
+-      that is directly available in the task type and task subtype entities
+-      (Build_Actual_Subtype_Of_Component): Handle properly multidimensional
+-      arrays when other dimensions than the first are constrained by
+-      discriminants of an enclosing record.
+-      (Insert_Explicit_Dereference): If the prefix is an indexed component or
+-      a combination of indexed and selected components, find ultimate entity
+-      and generate the appropriate reference for it, to suppress spurious
+-      warnings.
+-      (Note_Possible_Modification): If an entity name has no entity, return.
+-      (Is_Variable): A function call never denotes a variable.
+-      (Requires_Transient_Scope): For record types, recurse only on
+-      components, not on internal subtypes that may have been generated for
+-      constrained components.
+-
+-2005-03-15  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked
+-      Eliminated as candidates for resolution. Both efficient, and avoids
+-      anomalies with operators declared in deleted code.
+-      (Process_Implicit_Dereference_Prefix): Use this procedure whenever
+-      expansion is disabled (as when compiling a generic) to prevent spurious
+-      warnings on prefixes of selected components.
+-
+-2005-03-15  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is
+-      attached to a list before checking whether it appears in the private
+-      declarations of the current package.
+-      (Make_Inequality_Operator): Insert declaration in proper declarative
+-      list rather than just setting the Parent field, so that
+-      Is_Private_Declaration can handle it properly.
+-
+-2005-03-15  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is
+-      a renaming a body, check that the renamed subprogram in not intrinsic.
+-      (Find_Direct_Name): If several use_visible entities hide
+-      each other, and the context is a predefined file compiled through
+-      rtsfind, keep only the entity that comes from a predefined file.
+-
+-2005-03-15  Geert Bosch  <bosch@adacore.com>
+-
+-      * s-fatgen.adb (Valid): Extend special exceptions to account for long
+-      long float padding to also cover AMD64 and IA64.
+-
+-2005-03-15  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * s-imgwch.adb: Add with and use of Interfaces.
+-      (Img_Wide_Character): Change type of Val to Unsigned_16.
+-      (Img_Wide_Wide_Character): Change type of Val to Unsigned_32.
+-
+-2005-03-15  Matthew Gingell  <gingell@adacore.com>
+-
+-      * sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
+-
+-2005-03-15  Robert Dewar  <dewar@adacore.com>
+-
+-      * usage.adb: Add missing lines for -gnat95 and -gnat05 switches
+-
+-      * sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
+-
+-      * i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
+-
+-2005-03-15  Robert Dewar  <dewar@adacore.com>
+-
+-      * s-bitops.adb, s-bitops.ads,
+-      s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads,
+-      s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb,
+-      tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads,
+-      s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads,
+-      s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads,
+-      s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads,
+-      s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads,
+-      s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor
+-      reformatting.
+-
+-2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * utils2.c (build_binary_op): Fix typo.
+-
+-2005-03-15  Doug Rupp  <rupp@adacore.com>
+-
+-      * s-crtl.ads (popen,pclose): New imports.
+-
+-2005-03-15  Cyrille Comar  <comar@adacore.com>
+-
+-      * comperr.adb (Compiler_Abort): remove references to obsolete
+-      procedures in the bug boxes for various GNAT builds.
+-
+-2005-03-15  Vincent Celier  <celier@adacore.com>
+-
+-      * snames.ads, snames.adb: Save as Unix text file, not as DOS text file
+-
+-2005-03-15  Geert Bosch  <bosch@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Cyrille Comar  <comar@adacore.com>
+-          Sergey Rybin  <rybin@adacore.com>
+-
+-      * gnat_ugn.texi: Remove extended inline assembly example, as it was far
+-      too specific and long-winded to be appropriate for the GNAT User's
+-      Guide.
+-      Warn about use of GCC switches not documented in the GNAT User's Guide,
+-      as these may cause generated code to not conform to Ada semantics.
+-      Remove mention of -gdwarf-2 for sparc64, since this is now the default.
+-      Add documentation for -gnat95 and -gnat05 switches
+-      Remove paragraph documenting obsolete way to refer to third party
+-      libraries.
+-      Add a few references to Ada_05 that were missing.
+-      Update documentation on -gnatZ/-gnatL.
+-      Document limitation when using -m64 under Solaris.
+-      Change the "Name Casing" subsection of the pretty-printer section
+-      according to the changes in the dictionary processing.
+-
+-      * gnat_rm.texi: Document the Ada_05 pragma.
+-      Section on record representation clauses describes the new more
+-      relaxed rules about placement of large packed bit array components.
+-      Add documentation of GNAT.UTF_32
+-
+-2005-03-12  Daniel Berlin  <dberlin@dberlin.org>
+-
+-      * misc.c (gnat_post_options): Turn off structural
+-      aliasing for now.
+-
+-2005-03-08  Laurent Guerby  <laurent@guerby.net>
+-
+-      * system-linux-sparc.ads: Fix typo in previous commit.
+-
+-2005-03-07  James A. Morrison  <phython@gcc.gnu.org>
+-          Laurent Guerby  <laurent@guerby.net>
+-
+-      PR ada/20035
+-      * system-linux-sparc.ads: New.
+-      * Makefile.in: Add sparc linux entry.
+-
+-2005-02-27  Danny Smith  <dannysmith@users.sourceforge.net>
+-
+-      * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth
+-      parameters as unused.
+-
+-2005-02-26  Nathanael Nerode  <neroden@gcc.gnu.org>
+-      Partial merge from libada-gnattools-branch:
+-
+-      2004-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
+-      * Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags
+-      into code in gnattools/Makefile.in.  Remove direct dependencies on
+-      stamp-tools by tools clauses.
+-      2004-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
+-      * config-lang.in: Add gnattools to $lang_dirs.
+-
+-2005-02-13  Andrew Pinski  <pinskia@physics.uc.edu>
+-
+-      PR ada/19942
+-      * utils.c (gnat_type_for_mode): Return null instead of ICE because
+-      we asked for an unknown mode.
+-
+-2005-02-12  Richard Henderson  <rth@redhat.com>
+-
+-      * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
+-      validate SCALAR_INT_MODE_P before calling gnat_type_for_size.
+-
+-2005-02-10  Andreas Jaeger  <aj@suse.de>
+-
+-      * init.c (__gnat_initialize): Mark parameter as unused.
+-
+-2005-02-09  Doug Rupp  <rupp@adacore.com>
+-
+-      * g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
+-      * g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
+-
+-2005-02-09  Doug Rupp  <rupp@adacore.com>
+-
+-      * gnatchop.adb (dup, dup2),
+-      g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
+-
+-      * gnatlbr.adb (mkdir),
+-      mlib-tgt-vms-ia64.adb (popen, plose):  Import with decc$ prefix.
+-
+-      * s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
+-
+-2005-02-09  Doug Rupp  <rupp@adacore.com>
+-
+-      * s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
+-
+-2005-02-09  Robert Dewar  <dewar@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-          Javier Miranda  <miranda@adacore.com>
+-          Pascal Obry  <obry@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Doug Rupp  <rupp@adacore.com>
+-          Gary Dismukes  <dismukes@adacore.com>
+-          Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * g-zstspl.ads: New file.
+-
+-      * a-chahan.ads, a-chahan.adb: Add declarations from AI-285
+-
+-      * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
+-      Ada 95 mode
+-      Add definition of Wide_Wide_Space for AI-285
+-
+-      * impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
+-      interface (to support Ada 95 and Ada 2005 units).
+-      Add Unbounded_IO files
+-      Add entries for Wide_Wide packages for AI-285
+-      Add list of containers packages to Ada 2005 unit list
+-
+-      * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
+-      support new Unbounded_IO package cleanly.
+-
+-      * g-utf_32.ads, g-utf_32.adb: New files.
+-
+-      * Makefile.rtl: Add entry for g-utf_32
+-      Add new files for Unbounded_IO
+-      Adjust make file for new AI-285 wide wide packages
+-      Add AI-302 containers to the run time.
+-
+-      * a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
+-      a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
+-      subprograms for AI-301.
+-
+-      * a-stwiun.adb, a-stwiun.ads: Minor reformatting.
+-
+-      * a-stunau.ads: Minor comment correction
+-
+-      * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
+-      etc.
+-      Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
+-      (Check_RPC): Update to match changes in expanded code.
+-      Clean up unused entity.
+-
+-      * exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
+-      was not taken into account.
+-      This includes proper initialization with Normalize_Scalars.
+-      (Get_Simple_Init_Val): Major rewrite for initialize scalars and
+-      normalize scalars cases (particularly the latter) to do a better job
+-      of finding invalid representations.
+-
+-      * s-scaval.ads, s-scaval.adb: Add values for zero invalid values
+-
+-      * s-strops.ads, s-strops.adb: Remove string normalize routines, never
+-      used
+-
+-      * exp_dist.adb: Add support for wide wide character type
+-      (Expand_Receiving_Stubs_Bodies): For a package declaration that has a
+-      private part, generate stub bodies at the end of the private part,
+-      not the visible part.
+-      (Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
+-      PolyORB support.
+-      (Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
+-      generic wrapper to execute final processing after completing the
+-      expansion of the RPC receiver for an RACW.
+-
+-      * snames.h, snames.ads, snames.adb: Add definitions for wide_wide
+-      packages and attributes.
+-      (Preset_Names): Addition of the new reserved words of Ada 2005,
+-      that is interface, overriding and synchronized.
+-      (Get_Pragma_Id): Give support to the use of the new reserved word
+-      "interface" as a pragma name.
+-      (Is_Pragma_Name): Give support to the use of the new reserved word
+-      "interface" as a pragma name.
+-      (Preset_Names): Add stream_size string for the Stream_Size Ada2005
+-      attribute implementation.
+-
+-      * exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
+-      checks to entities that are output parameters of Asm operations.
+-      Handle the Stream_Size attribute.
+-      Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width
+-
+-      * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
+-
+-      * sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
+-      for second parameter being 0.0.
+-      Add support for wide wide character type.
+-      (Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.
+-
+-      * s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
+-      s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
+-      s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
+-      s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
+-      for wide wide character cases.
+-
+-      * cstand.adb: Create entities for Wide_Wide_Character and
+-      Wide_Wide_String.
+-
+-      * i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
+-      accordance with AI-258.
+-      Add new declarations for 16/32 bit C character types (Part of AI285)
+-
+-      * einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
+-      (Obsolescent_Warning): New field
+-      (Rep_Clause): New local subprogram used to share code. Returns the rep
+-      clause for which the name is given in parameter.
+-      (Has_Stream_Size_Clause): New routine.
+-      (Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
+-      (Address_Clause): Implementation is now using Rep_Clause.
+-      (Alignment_Clause): Idem.
+-      (Size_Clause): Idem.
+-
+-      * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
+-      entity in non-Ada 2005 mode and generate warning.
+-
+-      * par-prag.adb: Add handling of one argument form for pragma Ada_05.
+-      (Prag): Code cleanup. Remove old gnat pragma "overriding"
+-
+-      * sem_prag.adb: Add handling of one argument form for pragma Ada_05
+-      (Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
+-      on the named unit if the pragma is not in the current compilation unit,
+-      so that elaboration calls in the current unit can set up an elaboration
+-      dependency on the named unit, as needed.
+-      (Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
+-      subprogram as well as for subprograms declared within a package.
+-      (Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
+-      pragma overriding.
+-
+-      * krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
+-      to z) to avoid some instances of duplication for Wide_Wide packages.
+-
+-      * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
+-      characters.
+-
+-      * scn.adb: Char_Literal_Value field is now a Uint
+-
+-      * scng.adb: Significant rewrite to handle new Ada 2005 features
+-      allowing wide and wide wide characters in program text, e.g. for
+-      identifiers, as described in AI-285.
+-      (Set_Reserved): New procedure, makes setting up keywords cleaner.
+-      (Initialize_Scanner): Register the new reserved words of Ada 2005.
+-      (Scan): Give support to the new reserved words.
+-
+-      * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
+-      warning notifying that interface, overriding, and synchronized are
+-      new reserved words.
+-      (P_Pragma): Allow the use of the new reserved word "interface" as
+-      a pragma name.
+-
+-      * gnatls.adb, gnatbind.adb,
+-      ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
+-      identifiers named "interface" to "SAL_Interface".
+-
+-      * bindgen.adb (Gen_Main_Ada): Add support for the new SEH
+-      (Structured Exception handling).
+-      (Gen_Main_C): Idem.
+-
+-      * bindgen.adb:
+-      (Gen_Main_Ada): Set the default exit code if specified.
+-      (Gen_Main_C): Likewise.
+-      Part of *DC20-006.
+-      (Gen_Output_File_C): Remove redundant output of gnat_exit_status.
+-      Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
+-
+-      * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
+-      new -Xnnn switch.
+-
+-      * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
+-      has a collision with the new Ada 2005 "interface" reserved word.
+-
+-      * par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
+-      generate a warning notifying that interface, overriding, and
+-      synchronized are new reserved words.
+-
+-      * scans.ads (Token_Type): Addition of the tokens corresponding to the
+-      new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
+-      and Tok_Synchronized.
+-
+-      * sem_res.adb (Resolve_Actuals): Change error messages to refer to
+-      "dispatching" rather than "primitive" operations, since dispatching
+-      calls are now allowed to abstract formal subprograms (which are not
+-      primitive).
+-      Char_Literal_Value field is now a Uint
+-      (Resolve_Slice): If the prefix is an access to an unconstrained array,
+-      compute the actual subtype of the designated object to impose the proper
+-      index constraints.
+-      (Resolve_Selected_Component): Do not insert an access check if the
+-      prefix is an access type: such a node is expanded into an explicit
+-      dereference, on which the access check is performed anyway. Removes
+-      expensive duplicate checks.
+-      (Resolve_Call): Use new flag Is_Obsolescent and field
+-      Obsolescent_Warning so that pragma Obsolescent works on library
+-      subprograms.
+-      Add support for wide wide character type
+-      (Resolve_Allocator): Replace the error message on wrong null-exclusion
+-      value by a warning message.
+-      (Resolve_Type_Conversion): If the mixed-mode expression is interpreted
+-      as fixed-point, and one of the operands is non-static and universal, it
+-      can only be an illegal exponentiation operation, in which case there is
+-      no real value to retrieve.
+-
+-      * exp_strm.adb: Add support for wide wide character type
+-      (Build_Elementary_Input_Call): Compute the size of the stream element by
+-      querying the rep chain to find the Stream_Attribute attribute value.
+-      (Build_Elementary_Write_Call): Ditto.
+-
+-      * sem_aggr.adb: Char_Literal_Value field is now a Uint
+-      Add support for wide wide character type
+-      Replace the error messages on wrong null-exclusion value by warnings
+-      as described in Ada 2005.
+-      (Resolve_Extension_Aggregate): Document the fact that the error
+-      message on class-wide expressions in extensions aggregates.
+-
+-      * sem_case.adb: Add support for wide wide character type
+-
+-      * sem_ch13.adb: Add support for wide wide character type
+-      (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
+-
+-      * sem_ch3.adb: Add support for wide wide character type
+-      (Process_Subtype): If constraint is illegal for the type, set Ekind of
+-      now-useless Itype, to prevent cascaded errors on a compiler built
+-      without -gnatp.
+-
+-      * sem_ch8.adb: Add with and use of Sem_Disp.
+-      (Analyze_Subprogram_Renaming): Replace unclean uses of
+-      Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
+-      of Corresponding_Spec to Empty).
+-      (Attribute_Renaming): Replace use of Corresponding_Spec with
+-      Corresponding_ Formal_Spec and simplify condition.
+-      (Use_One_Package): Check that scope of homonym of identifier is defined,
+-      before checking whether it is a wrapper package.
+-      Add support for wide wide character type
+-
+-      * sem_eval.adb: Add support for wide wide character type.
+-      (Eval_Arithmetic_Op): Check for compile time known signed integer
+-      overflow in the non-static case.
+-      (Subtypes_Statically_Match): A formal scalar type and its base type do
+-      not statically match.
+-
+-      * sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
+-      "not in" for test of N_Formal_Subprogram_Declaration (which is now a
+-      subtype).
+-      (Unit_Declaration_Node): Ditto.
+-      (Is_Variable_Prefix):  For the case of an indexed component whose prefix
+-      has a packed array type, the prefix has been rewritten into a type
+-      conversion. Determine variable-ness from the converted expression.
+-      Handle wide wide character cases.
+-
+-      * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
+-
+-      * stringt.ads, stringt.adb: Handle full UTF-32 range.
+-      Remove ["0A"] from comment, since it can look like a line terminator.
+-      Currently we don't permit this, but this is under discussion by the
+-      ARG, and it is easy enough to use a different example.
+-
+-      * s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
+-      handling UTF-32 encoding for wide wide character.
+-      Implement new brackets coding ["hhhhhhhh"]
+-      Add UTF-8 encodings for full UTF-32 range
+-
+-      * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
+-
+-      * types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
+-      bit range Add full UTF-32 support.
+-      (RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
+-      notify that constraint error will be raised at run-time
+-      because a null value is assigned to a null-excluding object.
+-      Remove some obsolete declarations and make Char_Code
+-      unsigned.
+-
+-      * a-except.adb (Rcheck_30): New subprogram. Addition of the message
+-      corresponding to CE_Null_Not_Allowed, and adjust the output of all the
+-      Rcheck subprograms.
+-
+-      * checks.adb (Check_Null_Not_Allowed): Replace the error message on
+-      wrong null-exclusion value by a warning message.
+-      (Enable_Range_Check): Do range check if the prefix is an
+-      explicit dereference whose designated object is an unconstrained array.
+-      Current algorithm for removing duplicate checks is over-eager in this
+-      case.
+-
+-      * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
+-      null-exclusion value by a warning message
+-
+-      * atree.h, atree.ads, atree.adb: Remove Char_Code field support
+-      completely. Add support for Uint2 field
+-
+-      sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
+-      exp_prag.adb: Char_Literal_Value field is now a Uint.
+-
+-      * exp_util.adb (Insert_Actions): Replace
+-      N_Formal_Subprogram_Declaration by
+-      N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
+-      Char_Literal_Value field is now a Uint.
+-
+-      * sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
+-      defined for subprogram renaming declarations. When set, the field
+-      indicates the defining entity of a corresponding formal subprogram
+-      when the renaming corresponds to a formal subprogram association in an
+-      instantiation.
+-      (Set_Corresponding_Formal_Spec): New procedure to return
+-      Corresponding_Formal_Spec field.
+-      Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
+-      (which is now a subtype).
+-      Char_Literal_Value field is now a Uint
+-
+-      * exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
+-      pointer to the base of the dispatch table.
+-      Minor changes to comments.
+-      (Controlling_Type): New function for determining the tagged type
+-      associated with a tagged primitive subprogram.
+-      (Expand_Dispatching_Call): Add support for a controlling actual that is
+-      directly a value of type Ada.Tag rather than a tagged object.
+-
+-      * i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
+-      describing the new layout.
+-      (Dispatch_Table): The expander computes the actual array size, allocates
+-      the Dispatch_Table record accordingly, and generates code that displaces
+-      the base of the record after the Typeinfo_Ptr component. The access to
+-      these components is done by means of local functions.
+-      (Offset_To_Top): New function.
+-      (Typeinfo_Ptr): New function.
+-      (Get_TSD): Modified to access the new position of the TSD.
+-      (Set_TSD): Modified to save the TSD in its new position.
+-
+-      * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
+-      case of formal abstract subprograms. Add check and message for -gnat05.
+-      Update comments.
+-
+-      * sem_ch12.adb: Add with and use for Sem_Disp.
+-      (Analyze_Associations): Minor change from "=" to "in" for use of
+-      N_Formal_Subtype_Declaration (which is now a subtype).
+-      (Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
+-      N_Formal_Subtype_Declaration (which is now a subtype).
+-      (Analyze_Formal_Subprogram): Add handling for
+-      N_Formal_Abstract_Subprogram, marking the formal as abstract and
+-      dispatching, setting the controlling status of the formal parameters
+-      and result, and issuing an error if there is no controlling type for
+-      the formal subprogram.
+-      (Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
+-      which is an unclean use of that field, we set the new field
+-      Corresponding_Formal_Spec to make the formal subprogram available to
+-      processing in Analyze_Subprogram_Declaration.
+-      (Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
+-      Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
+-      Constrained, so that it is is does not statically match its anonymous
+-      base type.
+-
+-      * sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
+-      abstract formal subprograms in error check for functions returning
+-      abstract types. Set scope of new designator for
+-      a parameterless subprogram, so that it is available when checking the
+-      body for nested subprograms, before full analysis of said body.
+-      (Analyze_Subprogram_Body): Warn on inlining bodies with nested
+-      subprogram only if inner one comes from source.
+-      (Analyze_Function_Call): If the call is given in object notation, the
+-      analysis of the name rewrites the node and analyzes it with the proper
+-      argument list. After analyzing the name, if the call has been rewritten
+-      and the result type is set, no further analysis is needed.
+-      (Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
+-      mark in function specification, in a context where the formals are
+-      visible and hide outer homographs.
+-
+-      * sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
+-      as the tagged type for the cases of abstract formal subprograms and
+-      renamings of those.  Clean up spec comments.
+-      (Check_Dispatching_Context): Add error message to indicate "abstract
+-      procedure", covering the case of a call to a formal abstract procedure
+-      that has statically tagged operands.
+-      (Check_Dispatching_Call): Check for the case of an actual given by
+-      a tag-indeterminate function call whose type is an ancestor of the
+-      containing call's associated tagged type. This situation can occur
+-      for inherited primitives with function defaults. In this case we
+-      use the tagged type's tag directly as the controlling argument for
+-      the calls.
+-      (Expand_Call): Name change on call to Expand_Dispatch_Call.
+-
+-      * sprint.adb (Sprint_Node_Actual): Split
+-      N_Formal_Subprogram_Declaration into two alternatives for the new
+-      cases N_Formal_Abstract_Subprogram_Declaration and
+-      N_Formal_Concrete_Subprogram_Declaration.
+-      Char_Literal_Value field is now a Uint.
+-
+-      * trans.c: Get rid of junk Uint2 reference.
+-      Char_Literal_Value field is now a Uint.
+-      (gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
+-      (gigi): Correct third arg to gimplify_body.
+-
+-      * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
+-      (TYPE_LANG_FLAG_0): Check for record or union.
+-
+-      * treepr.adb: Char_Literal_Value field is now a Uint
+-
+-      * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
+-      UI_From_CC.
+-
+-      * widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
+-      Add full UTF-32 support
+-      Char_Code is now 32 bits
+-
+-      * sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
+-      wide character UTF_32 line terminators.
+-      Initialize Main_Source_File to avoid error when no main
+-      source is loaded.
+-
+-      * errout.adb (Finalize): Do not check Num_SRef_Pragmas
+-      (Main_Source_File) when no main source has been loaded, to avoid
+-      potential crash.
+-
+-2005-02-09  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
+-      Fix name of Set routine
+-
+-      * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
+-      fixed packages.
+-
+-      * a-stwise.ads, a-stwise.adb, a-stwifi.ads, a-stwifi.adb,
+-      a-strsea.ads, a-strsea.adb: Add new index functions from AI-301 to
+-      fixed packages
+-
+-      * a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
+-      forms of Get_Line subprograms for AI-301.
+-
+-      * a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
+-      a-wtedit.adb, a-wtedit.adb, a-wtedit.ads, a-wttest.adb,
+-      a-wttest.ads, a-strmap.ads, a-strmap.adb, a-stwima.adb,
+-      a-stwima.ads: Minor reformatting.
+-
+-2005-02-09  Doug Rupp  <rupp@adacore.com>
+-          Thomas Quinot  <quinot@adacore.com>
+-
+-      * adaint.c, adaint.h
+-      [VMS] (to_ptr32): New function.
+-      (MAYBE_TO_PTR32): New macro.
+-      (__gnat_portable_spawn,__gnat_portable_no_block_spawn): Adjust argv
+-      for pointer size.
+-      [VMS] (descriptor_s, ile_s): Use __char_ptr32 for adr field.
+-      [VMS] (#define fork()): Remove since unneccessary.
+-      (__gnat_set_close_on_exec): New routine to support
+-      GNAT.OS_Lib.Set_Close_On_Exec.
+-
+-      * g-expect.adb (Set_Up_Communications): Mark the pipe descriptors for
+-      the parent side as close-on-exec so that they are not inherited by the
+-      child.
+-
+-      * g-os_lib.ads, g-os_lib.adb (Set_Close_On_Exec): New subprogram to
+-      set or clear the FD_CLOEXEC flag on a file descriptor.
+-
+-2005-02-09  Eric Botcazou  <ebotcazou@adacore.com>
+-          Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      PR ada/19386
+-      * decl.c:
+-      (gnat_to_gnu_field): Do not necessarily invoke make_packable_type
+-      on the field if Pragma Component_Alignment (Storage_Unit).
+-      (gnat_to_gnu_entity, case object): Do not treat a renaming that has
+-      side-effects as if it were a constant; also make SAVE_EXPR to protect
+-      side-effects.
+-      (gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
+-      UNION_TYPE.
+-      (make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
+-      (components_to_record): Test it.
+-      Fix improper usage of REFERENCE_CLASS_P.
+-
+-      * utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
+-      RECORD_TYPE.
+-
+-      * utils2.c: Minor reformatting.
+-
+-      * utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
+-      handle other cases like RECORD_TYPE.
+-
+-      * utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
+-
+-2005-02-09  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
+-      component of an array of arrays in an assignment context, and the
+-      aggregate has component associations that require sliding on
+-      assignment, force reanalysis of the aggregate to generate a temporary
+-      before the assignment.
+-      (Must_Slide): Make global to the package, for use in Gen_Assign.
+-
+-2005-02-09  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch4.adb (Expand_Composite_Equality): If a component is an
+-      unchecked union with no inferable discriminants, return a
+-      Raise_Program_Error node, rather than inserting it at the point the
+-      type is frozen.
+-      (Expand_Record_Equality, Component_Equality): Handle properly the case
+-      where some subcomponent is an unchecked union whose generated equality
+-      code raises program error.
+-
+-2005-02-09  Doug Rupp  <rupp@adacore.com>
+-
+-      * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
+-      [VMS] (#define exit hack): Remove.
+-
+-2005-02-09  Pascal Obry  <obry@adacore.com>
+-          Arnaud Charlet  <charlet@adacore.com>
+-
+-      * init.c (__gnat_initialize): Add a new parameter eh which contains the
+-      address of the exception registration. The Win32 version of this
+-      routine calls __gnat_install_SEH_handler() to initialize the SEH
+-      (Structured Exception Handling) handler.
+-      (__gnat_error_handler) [Win32]: Removed. Not needed as we use
+-      SEH (Structured Exception Handling) now.
+-      (__gnat_install_handler) [Win32]: Nothing to do now as we use SEH.
+-      (__gnat_initialize for ppc-vxworks): Adjust comments and the
+-      preprocessor condition protecting the call to the extra eh setup
+-      subprogram, which is only available for the ppc target.
+-      (__gnat_clear_exception_count): replaced reference to
+-      variable taskIdCurrent by call to taskIdSelf(), cleaner.
+-
+-      * seh_init.c: New file.
+-
+-      * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.
+-      (GNATBIND_OBJS): Idem.
+-
+-      * misc.c (gnat_parse_file): Update call to __gnat_initialize. This
+-      routine takes a new parameter (a pointer to the exception registration
+-      for the SEH (Structured Exception Handling) support.
+-
+-      * raise.h: (__gnat_install_SEH_handler): New prototype.
+-      Update copyright notice.
+-
+-      * s-tassta.adb (Task_Wrapper): Declare the exception registration
+-      record and initialize it by calling __gnat_install_SEH_handler.
+-
+-2005-02-09  Vincent Celier  <celier@adacore.com>
+-
+-      * make.adb (Gnatmake): Do not fail when the main project has no object
+-      directory.
+-
+-2005-02-09  Doug Rupp  <rupp@adacore.com>
+-
+-      * Makefile.in [VMS] (LN,LN_S): Define as cp -p
+-      Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
+-      [VMS]: Add translations for g-enblsp.adb.
+-
+-      * s-asthan-vms.adb: Removed.
+-      * s-asthan-vms-alpha.adb: Added.
+-
+-2005-02-09  Pascal Obry  <obry@adacore.com>
+-
+-      * Makefile.in (LIBGNAT_SRCS): Add seh_init.c.
+-      (LIBGNAT_OBJS): Add seh_init.o.
+-
+-2005-02-09  Arnaud Charlet  <charlet@adacore.com>
+-
+-      PR ada/16592
+-      * Makefile.in: Link all gnat tools with -static-libgcc, since
+-      -shared-libgcc is now used by default on some systems (e.g. linux with
+-      recent binutils).
+-      Remove references to Makefile.prolog/generic, no longer used.
+-
+-2005-02-09  Vincent Celier  <celier@adacore.com>
+-
+-      * prj-makr.adb (Process_Directory): Put file name in canonical case
+-      before matching against the patterns.
+-      If gnatname has been invoked as <prefix>-gnatname
+-      then invoke the compiler as <prefix>-gcc, not just "gcc".
+-
+-2005-02-09  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
+-      with expansion disabled. The actual subtype is needed among other
+-      places when the selected component appears in the context of a loop
+-      bound, and denotes a packed array.
+-      (Operator_Check): Always use the first subtype in the
+-      error message, to avoid the appearance of internal base types.
+-      (Transform_Object_Operation): Copy each actual in full
+-      to the parameter associations of the constructed call, rather than
+-      using the shallow copy mechanism of New_Copy_List. This ensures that
+-      the chaining of named associations is done properly.
+-      (Complete_Object_Operation): Rewrite node, rather than
+-      replacing it, so that we can trace back to the original selected
+-      component.
+-
+-      * sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
+-      and calls that use object notation, if the called function is not
+-      declared  in a withed unit, place the elaboration constraint on the
+-      unit in the context that makes the function accessible.
+-      (Check_Elab_Subtype_Declaration): Check whether a subtype declaration
+-      imposes an elaboration constraint between two packages.
+-
+-2005-02-09  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch7.adb (Uninstall_Declarations): Exchange full and private
+-      views of a private type after handling its private dependents, to
+-      maintain proper stack discipline between entry and exit from the
+-      package.
+-
+-2005-02-09  Cyrille Comar  <comar@adacore.com>
+-
+-      * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
+-      Minor reformatting.
+-
+-2005-02-09  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
+-      fields for foreign threads.
+-
+-2005-02-09  Doug Rupp  <rupp@adacore.com>
+-
+-      * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
+-      recursion warnings when compiled with -gnatdm.
+-
+-2005-02-09  Robert Dewar  <dewar@adacore.com>
+-
+-      * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
+-      Slight fix to documentation of -gnaty with no parameters
+-
+-      * xr_tabls.ads: Add ??? comment for missing overall comment
+-
+-      * xsinfo.adb: Make default file name be sinfo.h, since this is what
+-      we now use by default.
+-
+-      * xsnames.adb: Adjust end of file test to look for five space followed
+-      by '#' instead of six spaces. The format of xsnames.adb was modified
+-      in the last update.
+-
+-      * a-numeri.ads: Add reference to AI-388 for greek letter pi
+-      identifier.
+-
+-      * clean.adb: Minor reformatting.
+-
+-      * gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
+-      gnatname.adb: Minor reformatting
+-      Add 2005 to copyright output when utility is run
+-
+-      * csets.adb: Eliminate obsolete comment
+-
+-      * debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
+-      Update comments.
+-
+-      * sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.
+-
+-2005-02-09  Sergey Rybin  <rybin@adacore.com>
+-
+-      * gnat_ugn.texi: Add to the gnatpp section the paragraph describing
+-      the difference between compact and incompact layout and add the record
+-      representation clause to the example illustrating different layouts.
+-      Add the description of '-A5' gnatpp option ("align 'AT' keywords in
+-      component clauses").
+-
+-2005-02-09  Florian Villoing  <villoing@adacore.com>
+-
+-      * gnat_ugn.texi: Fix typos.
+-      Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
+-      @file.
+-      Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
+-      in the generated documentation.
+-
+-2005-02-09  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * gnat_ugn.texi: Remove all mentions of FSU threads, which are no
+-      longer supported.
+-      Update linker wrapper when linking with non GNU C++.
+-
+-2005-02-09  Pascal Obry  <obry@adacore.com>
+-
+-      * gnat_ugn.texi:
+-      Document the procedure to debug the DllMain routine on Windows.
+-      Add note about -funwind-tables and mixed Ada and C/C++ programming in
+-      ZCX mode.
+-      Document new BIND qualifer /RETURN_CODES=VMS.
+-
+-2005-02-09  Ben Brosgol  <brosgol@adacore.com>
+-
+-      * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
+-      Edited gnatmetric chapter
+-
+-2005-02-09  Robert Dewar  <dewar@adacore.com>
+-
+-      * gnat_rm.texi:
+-      Changes to document new wide wide character support
+-      For AI-285
+-      Update documentation on Normalize_Scalars and Initialize_Scalars
+-
+-2005-02-09  Pascal Obry  <obry@adacore.com>
+-
+-      * s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.
+-
+-2005-02-09  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
+-      from the VxWorks kernel) that is needed for getting the active
+-      priority of the different tasks.
+-
+-      * s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
+-      Use a pragma Elaborate_Body in the spec file instead.
+-      Noticed by code reading.
+-
+-2005-02-09  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_util.ads: Minor correction in comment.
+-
+-2005-02-09  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
+-      since this procedure is now too complex to be worth inlining.
+-
+-2005-02-09  Richard Henderson  <rth@redhat.com>
+-
+-      * utils.c (gnat_define_builtin): Remove.
+-      (gnat_install_builtins): Use build_common_builtin_nodes.
+-
+-2005-02-09  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
+-      a-crbtgk.adb, a-crbltr.ads, a-coprnu.ads, a-coprnu.adb,
+-      a-coorse.ads, a-coorse.adb, a-convec.ads, a-convec.adb,
+-      a-contai.ads, a-coinve.ads, a-coinve.adb, a-cohata.ads,
+-      a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb,
+-      a-cihama.ads, a-cihama.adb, a-cidlli.ads, a-cidlli.adb,
+-      a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgcaso.adb,
+-      a-cgarso.ads, a-cgarso.adb, a-cdlili.ads, a-cdlili.adb,
+-      a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb,
+-      a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
+-      a-coorma.ads, a-swunha.ads, a-stunha.ads, a-ciormu.ads,
+-      a-coormu.ads, a-rbtgso.ads, a-swunha.adb, a-stunha.adb,
+-      a-cgaaso.ads, a-ciorma.adb, a-coorma.adb, a-secain.adb,
+-      a-secain.ads, a-slcain.ads, a-slcain.adb, a-shcain.ads,
+-      a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads,
+-      a-stwiha.adb, a-strhas.ads, a-strhas.adb, a-chzla1.ads,
+-      a-chzla9.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
+-      a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads,
+-      a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzfix.ads,
+-      a-stzhas.adb, a-stzhas.ads, a-stzmap.adb, a-stzmap.ads,
+-      a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads,
+-      a-stzunb.adb, a-stzunb.ads, a-swunau.adb, a-swunau.ads,
+-      a-szmzco.ads, a-szunau.adb, a-szunau.ads, a-szunha.adb,
+-      a-szunha.ads, a-szuzti.adb, a-szuzti.ads, a-tiunio.ads,
+-      a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb,
+-      a-ztcoio.ads, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb,
+-      a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
+-      a-ztedit.ads, a-ztenau.adb, a-ztenau.ads, a-ztenio.adb,
+-      a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb,
+-      a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb,
+-      a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
+-      a-ztinau.ads, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb,
+-      a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb,
+-      a-zttest.ads, a-zzunio.ads: New files. Part of new Ada 2005
+-      library.
+-
+-2005-01-27  Laurent Guerby  <laurent@guerby.net>
+-
+-      * Makefile.in: Fix a-intnam.ads from previous commit,
+-      add 2005 to copyright.
+-      * a-intman-rtems.ads: Renamed to...
+-      * a-intnam-rtems.ads:
+-
+-2005-01-27  Laurent Guerby  <laurent@guerby.net>
+-
+-      * Makefile.in: Rename GNAT RTEMS specific files.
+-      * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,
+-      5rosinte.ads, 5rparame.adb: Replaced by files below.
+-      * s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
+-      s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
+-
+-2005-01-27  Joel Sherrill  <joel.sherrill@oarcorp.com>
+-          Laurent Guerby  <laurent@guerby.net>
+-
+-      PR ada/19488
+-      * 5rosinte.ads: Add No_Key constant.
+-      * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
+-      * gsocket.h: Do not include <sys/socket.h> with RTEMS either.
+-
+-2005-01-26  Laurent Guerby  <laurent@guerby.net>
+-
+-      PR ada/19414
+-      * i-cobol.adb (Valid_Numeric): Handle zero length case.
+-
+-2005-01-20  Richard Henderson  <rth@redhat.com>
+-
+-      * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
+-      a-intnam-linux.ads and system-linux-alpha.ads.
+-      * a-intnam-linux-alpha.ads: Remove file.
+-      * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
+-      * system-linux-alpha.ads: New file.
+-
+-2005-01-18  Jakub Jelinek  <jakub@redhat.com>
+-
+-      PR ada/13470
+-      * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
+-      set to the new string.
+-
+-2005-01-18  Toon Moene  <toon@moene.indiv.nluug.nl>
+-
+-      * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
+-      to True.
+-
+-2005-01-18  Richard Henderson  <rth@redhat.com>
+-
+-      * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
+-      THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
+-      for alpha-linux.
+-      * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
+-
+-2005-01-14  Andrew Pinski  <pinskia@physics.uc.edu>
+-
+-      * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
+-      (GCC_ZCX_Support): Likewise.
+-
+-2005-01-11  Bastian Blank  <waldi@debian.org>
+-
+-      * system-linux-s390.ads: Define Preallocated_Stacks.
+-      * system-linux-s390x.ads: Likewise.
+-
+-2005-01-04  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * gnat_ugn.texi: Fix texi errors with null variables.
+-
+-2005-01-03  Thomas Quinot  <quinot@adacore.com>
+-
+-      * gen-soccon.c: New utility program to generate g-soccon.ads
+-      automatically.
+-
+-      * socket.c, gsocket.h: Split inclusion of system header files into a
+-      gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
+-
+-      * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
+-      g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
+-      g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
+-      g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
+-      should not be edited by hand anymore, but should be regenerated using
+-      gen-soccon.
+-
+-2005-01-03  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-          Vincent Celier  <celier@adacore.com>
+-
+-      * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
+-      on/off, since this is an obsolescent feature, for which we now generate
+-      a warning.
+-
+-      * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
+-      warning mode is set and obsolescent usage of this attribute occurs.
+-      (Resolve_Access, case 'Access): Note that GNAT uses the context type to
+-      disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
+-      predates, and partly motivates, the adoption of the AI.
+-      Implement new Ada 2005 attribute Mod
+-
+-      * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
+-      attribute Mod.
+-
+-      * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
+-
+-      * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
+-      pragma restrictions.
+-      New entry for Ada 2005 attribute Mod.
+-
+-      * par-prag.adb:
+-      Add recognition of new pragma Restrictions No_Dependence
+-      Recognize restriction No_Obsolescent_Features at parse time
+-
+-      * bcheck.adb: Add circuitry for checking for consistency of
+-      No_Dependence restrictions.
+-
+-      * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
+-      restrictions.
+-
+-      * restrict.ads, restrict.adb: Add subprograms to deal with
+-      No_Dependence restrictions.
+-
+-      * rtsfind.adb: Check that implicit with's do not violate No_Dependence
+-      restrictions.
+-
+-      * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
+-      sem_attr.adb: Add check for new restriction No_Obsolescent_Features
+-
+-      * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
+-      dummy parameter to scng instantiation.
+-      Needed for new restriction No_Obsolescent_Features
+-
+-      * scn.adb: (Obsolescent_Check): New procedure
+-      Needed for new restriction No_Obsolescent_Features
+-
+-      * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
+-      specified by AI-285, needed for implementation of AI-388 (adding greek
+-      pi to Ada.Numerics).
+-      Add new generic formal to scng, needed for new restriction
+-      No_Obsolescent_Features.
+-
+-      * s-rident.ads: Add new restriction No_Obsolescent_Features.
+-
+-      * ali.ads, ali.adb: Adjustments for reading new No_Dependence
+-      restrictions lines.
+-      (Scan_ALI): When finding an unexpected character on an R line, raise
+-      exception Bad_R_Line, instead of calling Fatal_Error, so that, when
+-      Ignore_Errors is True, default restrictions are set and scanning of the
+-      ALI file continues with the next line. Also, when Bad_R_Line is raised
+-      and Ignore_Errors is True, skip to the end of le line.
+-
+-      * sem_ch10.adb: Check that explicit with's do not violate
+-      No_Dependence restrictions.
+-      (Install_Withed_Unit): Add code to implement AI-377 and diagnose
+-      illegal context clauses containing child units of instance.
+-
+-      * sem_prag.adb: Processing and checking for new No_Dependence
+-      restrictions.
+-      (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
+-      analyze and check the External argument.
+-
+-      * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
+-
+-2005-01-03  Robert Dewar  <dewar@adacore.com>
+-
+-      * atree.adb: Add a fifth component to entities
+-      This allows us to add 32 flags and four new fields
+-
+-      * atree.ads: Add a fifth component to entities
+-      This allows us to add 32 flags and four new fields
+-
+-      * einfo.ads, einfo.adb: Document new fields and new flags now available
+-      Add routines for printing new fields
+-
+-      * treepr.adb: Call routines to print out additional fields if present
+-
+-2005-01-03  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
+-      gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
+-
+-      * Makefile.in: Add support to build shared Ada libraries on solaris x86
+-      Remove gpr2make, replaced by gprmake.
+-      Remove references to gnatmem and libaddr2line.
+-      Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
+-      (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
+-      Add support for specialized version of Ada.Numerics.Aux for Darwin: use
+-      a-numaux-darwin.ads and a-numaux-darwin.adb
+-      Enable mlib-tgt-lynxos.adb on lynxos.
+-
+-      * Make-lang.in: Remove rules for gpr2make.
+-      When generating sdefault.adb, do not call Relocate_Path
+-      on S3 for function Target_Name, as it is not a path.
+-      Remove references to gnatmem and libaddr2line.
+-
+-      * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
+-      files.
+-
+-2005-01-03  Samuel Tardieu  <tardieu@adacore.com>
+-
+-      * checks.adb (Apply_Alignment_Check): Generate a warning if an object
+-      address is incompatible with its base type alignment constraints when
+-      this can be decided statically.
+-
+-2005-01-03  Olivier Hainque  <hainque@adacore.com>
+-
+-      * decl.c (compatible_signatures_p): New function. The intended purpose
+-      is to check if two function signatures for a call-site and a callee are
+-      compatible enough for the call to be valid. The underlying purpose is
+-      to check if a call to a mapped builtin is using the right interface.
+-      The current code actually does not check antyhing - this a placeholder
+-      for future refinements.
+-      (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
+-      builtin calls for convention Intrinsic.
+-
+-      * gigi.h (builtin_decl_for): Declare (new function).
+-
+-      * utils.c (gnat_install_builtins): Install the target specific builtins.
+-      (builtin_decl_for): New function, provide a dummy body for now.
+-
+-2005-01-03  Geert Bosch  <bosch@adacore.com>
+-
+-      * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
+-      (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
+-      (Pred): Implement in terms of Succ.
+-
+-      * trans.c (convert_with_check): Reimplement conversion of float to
+-      integer.
+-
+-2005-01-03  Ed Schonberg  <schonberg@adacore.com>
+-          Vincent Celier  <celier@adacore.com>
+-
+-      * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
+-      bounds can be negative, and must be declared Int, not Nat.
+-
+-      * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
+-      array is checked after using the index in the array.
+-
+-      * makegpr.adb (Add_Switches): Check if there is a package for the
+-      processor. If there is no package, do not look for switches.
+-
+-2005-01-03  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
+-      generation of predefined stream operations (specs and bodies) should
+-      proceed. Under various restrictions these subprograms must not be
+-      generated.
+-
+-2005-01-03  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_dist.adb:
+-      Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
+-      amount of PCS-specific code in RACW stubs generation.
+-      (Copy_Specification): Set Etype on copied formal parameter entities, as
+-      this information is needed for PolyORB stubs generation.
+-      (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
+-      variable Dynamic_Async.
+-      (Build_Subprogram_Receiving_Stubs): Make PCS-specific
+-      (Build_RPC_Receiver_Specification): Make generic again, as recent
+-      changes have allowed RPC receivers to have the same profile for both
+-      variants of the PCS.
+-      Reorganise RPC receiver generation to reduce differences between the
+-      structure of GARLIC and PolyORB RPC receivers.
+-      (Add_Receiving_Stubs_To_Declarations): Make this subprogram
+-      PCS-specific.
+-      Simplify elaboration code for RCI packages.
+-
+-      * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
+-      generation to reduce differences between the structure of GARLIC and
+-      PolyORB RPC receivers.
+-
+-      * s-stratt.adb: Fix typo in comment.
+-
+-2005-01-03  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
+-      copied from Make_Init_Call).
+-
+-      * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
+-      reads and assignments on a temporary variable declared with appropriate
+-      discriminants.
+-
+-2005-01-03  Robert Dewar  <dewar@adacore.com>
+-
+-      * i-c.adb (To_C): Raise CE if string is null and Append_Null
+-
+-2005-01-03  Robert Dewar  <dewar@adacore.com>
+-
+-      * i-cstrin.adb (Update): Do not append a null in form called with a
+-      String. This avoids unintended behavior.
+-
+-2005-01-03  Arnaud Charlet  <charlet@adacore.com>
+-
+-      PR ada/17527
+-      * init.c: Fix warnings on Free BSD section.
+-
+-2005-01-03  Arnaud Charlet  <charlet@adacore.com>
+-
+-      PR ada/16949
+-      * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
+-      xsinfo.adb).
+-
+-2005-01-03  Vincent Celier  <celier@adacore.com>
+-
+-      * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
+-      libraries when Unique_Compile is True (-u switch).
+-      (Gnatmake): ditto.
+-
+-2005-01-03  Robert Dewar  <dewar@adacore.com>
+-
+-      * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
+-      upper case letter or underscore after W, as allowed by spec.
+-
+-2005-01-03  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
+-      darwin port by using proper type definitions from header files.
+-      Use SIGTERM instead of SIGABRT for SIGADAABORT.
+-
+-2005-01-03  Robert Dewar  <dewar@adacore.com>
+-
+-      * par.adb: Enhance error message handling for configuration file
+-      pragmas.
+-
+-2005-01-03  Robert Dewar  <dewar@adacore.com>
+-
+-      * s-arit64.adb (Double_Divide): Put back changes that got accidentally
+-      removed during the previous update (test properly for case of dividing
+-      largest negative number by -1, which generates overflow).
+-
+-2005-01-03  Ed Schonberg  <schonberg@adacore.com>
+-          Sergey Rybin  <rybin@adacore.com>
+-
+-      * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
+-      to use as the defining identifier for a formal package.
+-      (Remove_Parent): If the instance takes place within (an instance of)
+-      a sibling, preserve private declarations of common parent.
+-
+-2005-01-03  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
+-      to determine whether one of the operands is a fixed-point type for
+-      which a user-defined multiplication or division operation might be
+-      defined.
+-
+-      * sem_res.adb (Valid_Conversion): The legality rules for conversions
+-      of access types are symmetric in Ada 2005: either designated type can
+-      be unconstrained.
+-
+-2005-01-03  Vincent Celier  <celier@adacore.com>
+-
+-      * s-fileio.adb (Temp_File_Record): Change length of string component
+-      Name from L_tmpnam + 1 to max_path_len + 1.
+-
+-2005-01-03  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
+-      Self_Id.Deferral_Level = 0.
+-      (Do_Pending_Action): Move this function to the spec.
+-
+-      * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
+-      Do_Pending_Action explicitely when needed, in case we're using
+-      No_Abort restrictions.
+-
+-      * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
+-      deferral level since it will not get changed by the generated code.
+-      Keeping a default value of 1 would prevent some operations (e.g.
+-      select or delay) to proceed successfully.
+-
+-2005-01-03  Ben Brosgol  <brosgol@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-          Cyrille Comar  <comar@adacore.com>
+-
+-      * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
+-      porting guide chapter (vms version).
+-      Revised doc title (removed "for native platforms") and subtitle.
+-      Add discussion on warning flag for obsolescent features. First we
+-      note that it applies to obsolete GNAT features, which was previously
+-      omitted. Second we contrast the behavior with that of the new
+-      Ada 2005 AI-368 restriction No_Obsolescent_Features.
+-      Preliminary rewriting of GNAT & libraries chapter in order to take
+-      into account default project locations & new project manager
+-      capabilities.
+-
+-2005-01-03  Robert Dewar  <dewar@adacore.com>
+-
+-      * cstand.adb (Create_Operators): Clean up format and documentation of
+-      unary and binary operator result tables. No change in code, just
+-      reformatting and addition of comments.
+-
+-      * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
+-      sem_ch2.adb: Minor reformatting
+-
+-      * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
+-      sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
+-      comments for Tree_Read and Tree_Write.
+-
+-2005-01-03  Pascal Obry  <obry@adacore.com>
+-
+-      * exp_attr.ads: Minor reformatting.
+-
+-2005-01-03  Romain Berrendonner  <berrendo@adacore.com>
+-
+-      * comperr.adb (Compiler_Abort): Add specialized message for GAP
+-      versions.
+-
+-2005-01-03  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
+-      whether the ancestor type is private, as may be the case with nested
+-      instantiations.
+-
+-2004-12-30  Sohail Somani  <sohail@sohailsomani.com>
+-
+-      PR ada/19128
+-      * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
+-
+-2004-12-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
+-
+-      * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
+-      * utils2.c (build_unary_op): Likewise.
+-
+-2004-12-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
+-
+-2004-12-19  Richard Henderson  <rth@redhat.com>
+-
+-      * trans.c (gigi): Update gimplify_body call.
+-
+-2004-12-09  Nathan Sidwell  <nathan@codesourcery.com>
+-
+-      * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
+-
+-2004-12-07  Ed Falis  <falis@adacore.com>
+-
+-      * s-intman-vxworks.adb (Notify_Exception): removed useless check for
+-      current task being suspended.
+-
+-      * init.c (__gnat_clear_exception): added to reset VxWorks exception
+-      count.
+-      (__gnat_map_signal): removed test for current task being suspended.
+-
+-2004-12-07  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
+-      from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
+-      targets (such as AAMP).
+-
+-2004-12-07  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * atree.adb (Visit_Itype): Create a new name for the generated itype,
+-      because the back-end may otherwise treat it as a redefinition of the
+-      old symbol.
+-
+-2004-12-07  Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * back_end.adb (Scan_Back_End_Switches): Accept --param.
+-
+-      * lang-specs.h: Accept --param.
+-
+-2004-12-07  Vincent Celier  <celier@adacore.com>
+-
+-      * make.adb (Check_Mains, Switches_Of): Adapt to name changes in
+-      package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
+-      Current_Body_Suffix => Ada_Body_Suffix).
+-      Take into account Externally_Built attribute.
+-
+-      * clean.adb (In_Extension_Chain): Always return False when one of the
+-      parameter is No_Project.
+-      (Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
+-      Ada_Language_Index).
+-      (Gnatclean): Adapt to change in package Prj.Pars (no parameter
+-      Process_Languages for procedure Parse).
+-
+-      * gnatcmd.adb (Carg_Switches): New table.
+-      (GNATCmd): Put all switches following -cargs in the Carg_Switches table.
+-      Adapt to name changes in package Prj (Current_Spec_Suffix =>
+-      Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
+-
+-      * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
+-      Header_Num and function Hash are now declared in package Prj,
+-      not Prj.Com.
+-
+-      * prj.adb (Suffix_Of): New function.
+-      (Set (Suffix)): New procedure.
+-      (Hash): One function moved from Prj.Com
+-      (Is_Present, Language_Processing_Data_Of): New functions
+-      (Set): Two new procedures
+-      (Add_Language_Name, Display_Language_Name): New procedures
+-
+-      * prj.ads: (Suffix_Of): New function
+-      (Set (Suffix)): New procedure
+-      Add several types and tables for multi-language support.
+-      (Header_Num): Type moved from Prj.Com
+-      (Hash): Two functions moved from Prj.Com
+-      (Is_Present, Language_Processing_Data_Of): New functions
+-      (Set): Two new procedures
+-      (Add_Language_Name, Display_Language_Name): New procedures
+-      (Naming): Component name changes:
+-      Current_Spec_Suffix => Ada_Spec_Suffix,
+-      Current_Body_Suffix => Ada_Body_Suffix. Add new components:
+-      Impl_Suffixes, Supp_Suffixes.
+-      (Project_Data): New components: Externally_Built, Supp_Languages,
+-      First_Language_Processing, Supp_Language_Processing, Default_Linker,
+-      Default_Linker_Path.
+-
+-      * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
+-      new package Language_Processing with its attributes (Compiler_Driver,
+-      Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
+-      Binder_Driver, Default_Linker).
+-
+-      * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
+-      (Header_Num): Type moved to package Prj
+-
+-      * prj-env.adb: Adapt to name changes in package Prj
+-      (Current_Spec_Suffix => Ada_Spec_Suffix,
+-      Current_Body_Suffix => Ada_Body_Suffix).
+-
+-      * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
+-      default to the project path, except the "-" is one of the directories
+-      in env var ADA_PROJECT_PATH.
+-      (Current_Project_Path): Global variable, replacing Project_Path
+-      that was in the body of Prj.Part.
+-      (Project_Path): New function
+-      (Set_Project_Path): New procedure
+-      Initialize Current_Project_Path during elaboration of the package
+-      Remove dependency on Prj.Com, no longer needed
+-
+-      * prj-ext.ads (Project_Path): New function
+-      (Set_Project_Path): New procedure
+-
+-      * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
+-      suffix is defined for language <lang>.
+-      (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
+-      accessing directly the components of Naming.
+-      (Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
+-      Reorganise of this package.
+-      Break procedure Check in several procedures.
+-
+-      * prj-nmsc.ads: Replace all procedures (Ada_Check,
+-      Other_Languages_Check and Language_Independent_Check) with a single
+-      procedure Check.
+-
+-      * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
+-      Process_Languages, no longer needed.
+-
+-      * prj-part.adb (Project_Path): Move to the body of Prj.Ext as
+-      Current_Project_Path.
+-      Remove elaboration code, moved to the body of Prj.Ext
+-      Use new function Prj.Ext.Project_Path instead of old variable
+-      Project_Path.
+-      (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
+-      When comparing with project paths on the stack, first put the resolved
+-      path in canonical case.
+-      (Parse_Single_Project): Set the path name of the project file in the
+-      tree to the normalized path.
+-
+-      * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
+-      parameter Process_Languages, no longer needed.
+-      (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
+-      Other_Languages_Check.
+-
+-      * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
+-      to store the resolved canonical path of the project file.
+-      Remove dependency to Prj.Com, no longer needed
+-
+-      * prj-util.adb: Adapt to name changes in package Prj
+-      (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
+-      Ada_Body_Suffix).
+-
+-      * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
+-      Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
+-      Externally_Built, Include_Option, Language_Processing.
+-
+-      * makegpr.adb: Numerous changes due to changes in packages
+-      Prj and Prj.Nmsc.
+-
+-      * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
+-      default to the project path, except whe "-" is one of the directories
+-      in env var ADA_PROJECT_PATH.
+-      (Gnatls): In verbose mode, add the new section "Project Search Path:"
+-
+-2004-12-07  Robert Dewar  <dewar@adacore.com>
+-
+-      * debug.adb: Document that -gnatdA automatically sets -gnatR3m
+-
+-      * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
+-      set -gnatR3m mode.
+-
+-      * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
+-      flag. No longer needed now that we handle this in gnat1drv.adb.
+-
+-      * repinfo.ads: Minor reformatting
+-
+-2004-12-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-          Olivier Hainque  <hainque@adacore.com>
+-          Eric Botcazou  <ebotcazou@adacore.com>
+-
+-      * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
+-      TYPE_SIZE_UNIT of result type if SIZE is not specified.
+-      (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
+-      of a bitfield, which we know is useless and causes trouble because of
+-      alignment implications.
+-
+-      * utils.c (create_var_decl): Set DECL_COMMON again on targets without
+-      BSS sections.
+-      (process_attributes): Clear DECL_COMMON again when a section attribute
+-      is present.
+-      (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
+-      SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
+-      (create_field_decl): Special case ADDRESSABLE negative to mean
+-      "no bitfield creation", to be used by make_aligning_type. Don't
+-      restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
+-      fields claimed addressable still have to be bitfields. Use
+-      value_factor_p instead of a raw binop construction to check for the
+-      position's alignment.
+-
+-2004-12-07  Geert Bosch  <bosch@adacore.com>
+-
+-      * eval_fat.adb: Revert previous change.
+-
+-2004-12-07  Thomas Quinot  <quinot@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
+-      with an implicit dereference as its prefix, use
+-      Insert_Explicit_Dereference instead of merely rewriting the prefix into
+-      an explicit dereference. This ensures that a reference to the original
+-      prefix is generated, if appropriate.
+-
+-      * sem_util.adb (Insert_Explicit_Dereference): When an implicit
+-      dereference is rewritten to an explicit one, generate a reference to
+-      the entity denoted by its prefix using the original prefix node, so
+-      the dereference can be properly recorded as a read of the denoted
+-      access value, if appropriate.
+-
+-      * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
+-      emitting 'assigned but never read' warning on a variable on the basis
+-      that it has an access type.
+-      (Check_References): Emit unreferenced warning when the scope is a
+-      subprogram body.
+-
+-2004-12-07  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch6.adb (Expand_Call): Add comment on handling of back end
+-      intrinsic
+-
+-      * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
+-      leaving call unchanged.
+-      This deals with the case where the pragma Import specified
+-      an external name, to be handled by the back end.
+-
+-      * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
+-      subprogram which is Imported with convention Intrinsic if an
+-      External_Name argument is specified.
+-      (Process_Import_Or_Interface): Properly diagnose link name argument.
+-      (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
+-      with Sem_Ch6.Cannot_Inline.
+-      (Process_Inline): Provide separate warning for inapplicable inline
+-      pragma.
+-      (Cannot_Inline): Reject subprograms that have an at_end handler, so that
+-      treatment is uniform on different targets.
+-
+-2004-12-07  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
+-      construct is rewritten, preserve end label to permit source navigation.
+-
+-2004-12-07  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_dist.adb (Specific_Build_General_Calling_Stubs,
+-      Specific_Build_Stub_Target): New subprograms.
+-      (Build_Subprogram_Calling_Stubs): Make this procedure independent from
+-      the PCS implementation used, using the above PCS-customized subprograms.
+-      Minor reformatting.
+-      (PolyORB_Support.Helpers): New subunit containing supporting subprograms
+-      for generation of DSA code targeted to the PolyORB PCS.
+-      (Add_Stub_Type): Rewrite to isolate the parts that are specific to one
+-      implementation of the partition communication subsystem in ancillary
+-      subprograms.
+-      (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
+-      PolyORB_Support.Build_Stub_Type): New subrograms containing the
+-      PCS-specific part of Add_Stub_Type.
+-      (Insert_Partition_Check): Use runtime library function to perform
+-      E.4(19) check.
+-
+-      * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
+-      (RE_Same_Partition): New entity, from s-parint.
+-
+-      * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
+-
+-2004-12-07  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
+-      Output the copyright message on a separate line from the version
+-      message.
+-
+-2004-12-07  Joel Brobecker  <brobecker@adacore.com>
+-
+-      * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
+-      compile-time warning.
+-
+-2004-12-07  Robert Dewar  <dewar@adacore.com>
+-
+-      * g-regpat.adb: (Match): Change a misuse of or to or else
+-
+-2004-12-07  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * lib-xref.adb:
+-      (Generate_Reference): Handle properly a reference to an entry formal,
+-       when an accept statement has a pragma Unreferenced for it.
+-
+-      * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
+-      and the Has_Pragma_Unreferenced flag for each formal before analyzing
+-      the body, to ensure that warnings are properly emitted for each accept
+-      statement of a given task entry.
+-
+-2004-12-07  Vasiliy Fofanov  <fofanov@adacore.com>
+-
+-      * Makefile.in: Add support for foreign threads on VMS.
+-
+-2004-12-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
+-      Remove.
+-      (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
+-
+-      * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
+-
+-      * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
+-      exception.
+-      (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
+-
+-2004-12-07  Robert Dewar  <dewar@adacore.com>
+-
+-      * nlists.adb (Prepend_Debug): Remove parameters and nest within
+-      Prepend.
+-      (Remove_Next_Debug): Same fix
+-
+-      * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
+-      maintain back pointers now, though we did not used to, and comments
+-      were out of date).
+-      (Prepend): Remove pragma Inline.
+-      (Remove_Next): Same cleanup
+-
+-2004-12-07  Thomas Quinot  <quinot@adacore.com>
+-
+-      * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
+-      used to record an implicit dereference as a read operation on its
+-      prefix when operating under -gnatc. Necessary to avoid spurious
+-      'variable assigned but never read' warnings in that mode.
+-      (Process_Indexed_Component, Analyze_Selected_Component): When the prefix
+-      is a non-overloaded implicit dereference, call the above subprogram to
+-      ensure proper recording of references.
+-
+-2004-12-07  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
+-      to be resolved later as part of Analyze_Iteration_Scheme's call to
+-      Make_Index.
+-
+-2004-12-07  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
+-      prefix is not a scalar type, place error message on prefix, not on
+-      type entity.
+-
+-2004-12-07  Bernard Banner  <banner@adacore.com>
+-
+-      * vxaddr2line.adb: Add support for x86 vxworks
+-
+-2004-12-07  Thomas Quinot  <quinot@adacore.com>
+-
+-      * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
+-      documentation of the behaviour of these functions when passed an IP
+-      address that has no record in the system hosts database and no reverse
+-      record in the DNS.
+-
+-      * cstand.adb, a-tags.ads: Fix typos in comment.
+-
+-2004-12-07  Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
+-      exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
+-      sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
+-      s-poosiz.ads: Minor reformatting
+-
+-      * make.adb: Minor reformatting
+-      Add some ??? comments asking for more comments
+-
+-      * s-poosiz.adb: Minor reformatting
+-      Add comments on alignment requirement
+-
+-      * sinfo.ads: Remove obsolete comment and fix typo.
+-
+-2004-12-07  Vincent Celier  <celier@adacore.com>
+-          Sergey Rybin  <rybin@adacore.com>
+-
+-      * gnat_ugn.texi: Update the section "The GNAT Driver and Project
+-      Files" with the new tool and package names.
+-      Reformatting to suppress most of the warnings for line too long
+-      Document the new section "Project Search Path:" in the output of
+-      gnatls -v.
+-      Add gnatmetric section
+-
+-2004-12-07  Vincent Celier  <celier@adacore.com>
+-
+-      * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
+-      -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
+-      and -eit to -ept. Added qualifier
+-      /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
+-
+-2004-11-27  Andreas Schwab  <schwab@suse.de>
+-
+-      * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
+-
+-2004-11-25  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from
+-      internal implementation unit GNAT.Sockets.Thin,
+-      as their usage for sockets is non-portable (using the read and write
+-      functions from the system runtime library is fine on UNIX but won't
+-      work under Windows).
+-
+-      * mingw32.h: Update copyright notice.
+-
+-2004-11-25  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * ada-tree.h: Minor reformatting of previous change to avoid lines
+-      longer than 79 characters.
+-
+-2004-11-25  Olivier Hainque  <hainque@adacore.com>
+-
+-      * tb-gcc.c: GCC infrastructure based implementation of
+-      __gnat_backtrace.
+-
+-2004-11-24  Steven Bosscher  <stevenb@suse.de>
+-
+-      * misc.c (gnat_post_options): Don't clear
+-      flag_inline_functions.
+-
+-2004-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
+-
+-      PR ada/17986
+-      * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
+-      tree.
+-
+-2004-11-21  Andreas Jaeger  <aj@suse.de>
+-
+-      * stylesw.adb: Change Style_Check_Subprogram_Order to
+-      Style_Check_Order_Subprograms.
+-
+-2004-11-18  Arnaud Charlet  <charlet@adacore.com>
+-
+-      * adaint.h, adaint.c
+-      (__gnat_portable_spawn): Fix cast of spawnvp third parameter
+-      to avoid warnings.
+-      Add also a cast to kill another warning.
+-      (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
+-      parameter with the priority class of the parent process instead of
+-      always using the NORMAL_PRIORITY_CLASS.
+-      (__gnat_dup): New function.
+-      (__gnat_dup2): New function.
+-      (__gnat_is_symbolic_link): Enable the effective body of this
+-      function when __APPLE__ is defined.
+-
+-      * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
+-      Update comments.
+-
+-2004-11-18  Olivier Hainque  <hainque@adacore.com>
+-
+-      * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
+-      address of which may be used to represent "others" and "all others"
+-      choices in exception tables, instead of the current harcoded
+-      (void *)0 and (void *)1.
+-      (Setup_Exception): Do nothing in the GNAT SJLJ case.
+-
+-      * gigi.h (others_decl, all_others_decl): New decls representing the
+-      new Others_Value and All_Others_Value objects.
+-      (struct attrib): Rename "arg" component as "args", since GCC expects a
+-      list of arguments in there.
+-
+-      * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
+-      corresponding objects exported by a-exexpr, instead of hardcoded dummy
+-      addresses.
+-
+-      * trans.c (Exception_Handler_to_gnu_zcx): Use the address of
+-      others_decl and all_others_decl instead of hardcoded dummy addresses
+-      to represent "others" and "all others" choices, which is cleaner and
+-      more flexible with respect to the possible eh pointer encoding policies.
+-
+-      * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
+-      (process_attributes): Account for the naming change of the "args"
+-      attribute list entry component.
+-
+-      * decl.c (build_attr_list): Rename into prepend_attributes to allow
+-      cumulating attributes for different entities into a single list.
+-      (gnat_to_gnu_entity): Use prepend_attributes to build the list of
+-      attributes for the current entity and propagate first subtype
+-      attributes to other subtypes.
+-      <E_Procedure>: Attribute arguments are attr->args and not
+-      attr->arg any more.
+-      (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
+-      argument provided, as this is what GCC expects. Use NULL_TREE instead
+-      of 0 for trees.
+-
+-2004-11-18  Robert Dewar  <dewar@adacore.com>
+-
+-      * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
+-      Minor reformatting througout (including new function specs)
+-      Add ??? comments asking for clarification.
+-
+-2004-11-18  Thomas Quinot  <quinot@adacore.com>
+-
+-      * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
+-      incomplete duplicate implementation of this subprogram from butil.
+-
+-2004-11-18  Thomas Quinot  <quinot@adacore.com>
+-
+-      * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
+-      procedures factors the common processing for building an RPC receiver
+-      for an RCI package or an RACW type.
+-      Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
+-      Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
+-      (Get_PCS_Name): New subprogram. Returns the name of the PCS currently
+-      in use.
+-      (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
+-      Add_RACW_Features.
+-      (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
+-      Add_RAST_Features.
+-      (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
+-      distribution subprogram identifiers that are either subprogram numbers
+-      or strings.
+-      (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
+-      string distribution identifiers assigned to a given subprogram.
+-      (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
+-      (Add_RAS_Dereference_TSS): Add comments.
+-      (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
+-      is not referenced yet because it will be used by the PolyORB DSA
+-      implementation.
+-      (Insert_Partition_Check): Remove fossile code.
+-      (First_RCI_Subprogram_Id): Document this constant.
+-      (Add_RAS_Access_TSS): Correct the setting of the Etype of the
+-      RAS_Access TSS.
+-      (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
+-      replaced with calls to Get_Library_Unit_Name_String. Previously there
+-      were several instances of the same code in different locations in the
+-      compiler; this checkin completes the replacement of all of these
+-      instances with calls to a common subprogram.
+-      Minor reformatting.
+-
+-      * sem_dist.adb: Remove comment noting that RPC receiver generation
+-      should be disabled for RACWs that implement RASs.
+-      (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
+-
+-      * sem_util.ads, sem_util.adb (Has_Stream): New function
+-      (Get_Library_Unit_Name_String): New subprogram to retrieve the fully
+-      qualified name of a library unit into the name buffer.
+-      (Note_Possible_Modification): Generate a reference only
+-      if the context comes from source.
+-
+-      * snames.ads (PCS_Names): New subtype corresponding to names of
+-      supported implementations of the Partition Communication Subsystem
+-      (PCS) (i.e. the runtime library support modules for the distributed
+-      systems annex).
+-
+-2004-11-18  Robert Dewar  <dewar@adacore.com>
+-          Ed Schonberg  <schonberg@adacore.com>
+-
+-      * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
+-      (Has_Rep_Pragma): New function
+-      (Has_Attribute_Definition_Clause): New function
+-      (Record_Rep_Pragma): Moved here from sem_ch13.adb
+-      (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
+-
+-      * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
+-
+-      * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
+-      (Expand_Pragma_Psect_Object): New procedure
+-      These procedures contain the revised and cleaned up processing for
+-      these two pragmas. This processing was formerly in Sem_Prag, but
+-      is more appropriately moved here. The cleanup involves making sure
+-      that the pragmas are properly attached to the tree, and that no
+-      nodes are improperly shared.
+-
+-      * sem_prag.adb: Move expansion of Common_Object and Psect_Object
+-      pragmas to Exp_Prag, which is more appropriate.
+-      Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
+-      check for duplicates Remove use of Is_Psected flag, no longer needed.
+-      Use new Make_String_Literal function with string.
+-
+-      * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
+-      that are functions return universal values, that have to be converted
+-      to the context type.
+-      Use new Make_String_Literal function with string.
+-      (Get_Stream_Convert_Pragma): New function, replaces the use of
+-      Get_Rep_Pragma, which had to be kludged to work in this case.
+-
+-      * freeze.adb: Use new Has_Rep_Pragma function
+-
+-      * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
+-      function with string.
+-      Use new Has_Rep_Pragma function.
+-
+-      * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
+-      string argument.
+-
+-2004-11-18  Robert Dewar  <dewar@adacore.com>
+-
+-      * errout.ads, errout.adb: (First_Sloc): New function
+-
+-      * par-ch5.adb (P_Condition): Check for redundant parens is now a style
+-      check (-gnatyx) instead of being included as a redundant construct
+-      warning.
+-
+-      * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
+-      Style_Check_Order_Subprograms.
+-
+-      * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
+-      stylesw.adb: Add Style_Check_Xtra_Parens
+-
+-      * usage.adb: Add line for -gnatyx (check extra parens)
+-
+-      * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
+-
+-2004-11-18  Ed Schonberg  <schonberg@adacore.com>
+-          Robert Dewar  <dewar@adacore.com>
+-
+-      * exp_ch4.adb (Expand_N_Selected_Component): If the component is the
+-      discriminant of a constrained subtype, analyze the copy of the
+-      corresponding constraint, because in some cases it may be only
+-      partially analyzed.
+-      Removes long-lived ??? comments.
+-
+-      * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
+-      handled controlled or secondary-stack expressions within the
+-      iteration_scheme of a loop.
+-
+-      * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
+-      bounds that may contain functions calls, to prevent memory leaks when
+-      the bound contains a call to a function that uses the secondary stack.
+-      (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
+-      generate temporaries for loop bounds that might contain function calls
+-      that require secondary stack and/or finalization actions.
+-
+-      * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
+-      selected component and the selector is overloadable (not just a
+-      function) treat as function call, Analyze_Call will disambiguate if
+-      necessary.
+-      (Analyze_Selected_Component): Do not generate an actual subtype for the
+-      selected component if expansion is disabled. The actual subtype is only
+-      needed for constraint checks.
+-      (Analyze_Allocator): If restriction No_Streams is set, then do
+-      not permit objects to be declared of a stream type, or of a
+-      composite type containing a stream.
+-
+-      * restrict.ads: Remove the a-stream entry from Unit_Array, since
+-      No_Streams no longer prohibits with'ing this package.
+-
+-      * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
+-      discriminants, but the parent base has unknown discriminants, there is
+-      no discriminant constraint to inherit. Such a discrepancy can arise
+-      when the actual for a formal type with unknown discriminants is a
+-      similar private type whose full view has discriminants.
+-      (Analyze_Object_Declaration): If restriction No_Streams is set, then
+-      do not permit objects to be declared of a stream type, or of a
+-      composite type containing a stream.
+-
+-2004-11-18  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_dbug.ads: Update documentation to reflect simpler encoding for
+-      protected operations.
+-
+-      * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
+-      generated name, it complicates decoding in gdb and hinders debugging
+-      of protected operations.
+-      (Build_Barrier_Function_Specification): Set the Needs_Debug_Info
+-      flag for the protected entry barrier function.
+-      (Build_Protected_Entry_Specification): Set the Needs_Debug_Info
+-      flag for the protected entry function.
+-
+-2004-11-18  Nicolas Setton  <setton@adacore.com>
+-
+-      * expect.c: Define __unix__ when __APPLE__ is defined.
+-
+-      * Makefile.in: Inform the value of the variable GMEM_LIB in the
+-      Darwin-specific section.
+-
+-      * lang-specs.h: Change the placement of the %1 marker.
+-      Works around the fact that gcc adds -fPIC by default under Darwin.
+-
+-2004-11-18  Ed Schonberg  <schonberg@adacore.com>
+-
+-      * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
+-      type of the object with the packed array type, set the Analyzed flag
+-      on the object if it is an entity or simple indexed component, to avoid
+-      spurious type errors.
+-
+-2004-11-18  Gary Dismukes  <dismukes@adacore.com>
+-
+-      * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
+-      gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
+-      separate line from the version message.
+-
+-2004-11-18  Ed Falis  <falis@adacore.com>
+-
+-      * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
+-      vthreads.
+-      (init_float): Eliminate initialization of floating point status for
+-      AE653. The instructions have no effect for vThreads.
+-
+-2004-11-18  Vincent Celier  <celier@adacore.com>
+-
+-      * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
+-      gnatbind is invoked with -shared.
+-
+-2004-11-18  Jose Ruiz  <ruiz@adacore.com>
+-
+-      * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
+-      for Detect_Blocking which is redundant with the check done within the
+-      procedure Protected_Single_Entry_Call.
+-      (Lock_Read_Only_Entry): Remove the code for raising Program_Error for
+-      Detect_Blocking which is redundant with the check done within the
+-      procedure Protected_Single_Entry_Call.
+-
+-2004-11-18  Vincent Celier  <celier@adacore.com>
+-
+-      * makegpr.adb (Compile): Put the compiling switches (in package
+-      Compiler and on the command line) immediately after "-c", instead of
+-      at the end of the command line invocation of the compiler, when
+-      compiling a non-Ada file.
+-      (Build_Global_Archive): When there is no need to rebuild the archive,
+-      set Global_Archive_Exists, so that the archive is passed to the linker
+-      if one is needed.
+-
+-2004-11-18  Robert Dewar  <dewar@adacore.com>
+-          Sergey Rybin  <rybin@adacore.com>
+-
+-      * gnat_ugn.texi:
+-      Remove extra paren check from list of checks for redundant constructs
+-      Add documentation of new -gnatyx style check (check extra parens)
+-      Remove paragraph about gnatelim debug options.
+-
+-      * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
+-      objects rather than forbidding dependencies on the package Ada.Streams.
+-
+-      * sinfo.ads: Add ??? note that we should document pragmas passed to
+-      back end.
+-
+-      * g-expect.ads: Fix a few typos in the comments.
+-
+-2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
+-
+-      * misc.c (gnat_handle_option): Use %< and %> for quoting in
+-      warning message.
+-
+-2004-11-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+-
+-      * a-numaux-x86.adb (Tan): Fix fdivp syntax.
+-
+-2004-11-07  Andreas Schwab  <schwab@suse.de>
+-
+-      * Makefile.in (install-gnatlib): Remove spurious hyphen.
+-
+-2004-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
+-
+-      PR ada/18228
+-      * Makefile.in (darwin): Set soext to .dylib.
+-
+-2004-10-26  Vincent Celier  <celier@gnat.com>
+-          Thomas Quinot   <quinot@act-europe.fr>
+-
+-      * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads:
+-      (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as
+-      there is no use of GNAT.Sockets.Constants.
+-      Remove remaining pragma Import for C_Write
+-      Remove C_Read and C_Write from internal implementation unit
+-      GNAT.Sockets.Thin, as their usage for sockets is non-portable (using
+-      the read and write functions from the system runtime library is fine
+-      on UNIX but won't work under Windows).
+-
+-      * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write.
+-      (Check_Selector): Use C_Recv instead of C_Read.
+-      Selectors are the GNAT.Sockets abstraction to perform a select()
+-      call on a set of descriptors. To allow abortion of an ongoing
+-      select operation, some data is written to a dedicated socket that
+-      is always monitored.
+-      Under Windows, the write and read library functions cannot operate
+-      on sockets, so we need to use send and recv instead, which is portable
+-      across all supported platforms.
+-
+-      * g-socthi.ads: Remove C_Read and C_Write from internal implementation
+-      unit GNAT.Sockets.Thin, as their usage for sockets is non-portable
+-      (using the read and write functions from the system runtime library is
+-      fine on UNIX but won't work under Windows).
+-
+-2004-10-26  Nicolas Setton  <setton@act-europe.fr>
+-
+-      * mlib-tgt-darwin.adb: New file.
+-
+-      * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+-      mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
+-      mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
+-      mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New
+-      subprogram body.
+-
+-      * Makefile.in: Add support for building shared libraries under Darwin.
+-      (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing
+-      the low level EH init subprogram to be called from __gnat_initialize.
+-
+-      * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
+-      indicates which options to pass to the archive indexer.
+-
+-      * mlib-utl.adb: Add support for calling ranlib with additional
+-      options. This is needed for instance under Mac OS X.
+-      (Ranlib_Options): New global variable, used to store the potential
+-      options to pass to ranlib.
+-      (Ar): Use Ranlib_Options when spawning ranlib.
+-      (Initialize): Set the value of ranlib option.
+-
+-2004-10-26  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K
+-      instead of 8K, to reflect the real potential needs for stack-checking
+-      in the ZCX case.
+-
+-2004-10-26  Pascal Obry  <obry@gnat.com>
+-
+-      * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
+-
+-      * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On
+-      Windows only the initial thread stack size can be set so it is good to
+-      start we a low stack size.
+-      The OS will adjust the size as needed.
+-
+-2004-10-26  Olivier Hainque  <hainque@act-europe.fr>
+-          Nicolas Setton  <setton@act-europe.fr>
+-
+-      * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with
+-      "__unix__" instead of "unix".
+-      The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the
+-      sections were just mistakenly ignored. The former is
+-      implicitely defined by gcc2.8, gcc3.2 and gcc3.4.
+-      Update #ifdef preprocessor macro to detect the symbol __hpux__ instead
+-      of hpux. This prevents an unwanted definition of the symbol
+-      convert_addresses in adaint.o.
+-
+-2004-10-26  Gary Dismukes  <dismukes@gnat.com>
+-
+-      * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for
+-      compatibility with type Unwind_Word on 16-bit targets such as AAMP.
+-
+-2004-10-26  Cyrille Comar  <comar@act-europe.fr>
+-
+-      * a-filico.ads, a-filico.adb: fix incorrect header.
+-
+-2004-10-26  Javier Miranda  <miranda@gnat.com>
+-
+-      * a-ststio.ads: Fix typo in identifier
+-
+-2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * sem_ch4.adb: Minor reformatting.
+-
+-2004-10-26  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * checks.adb (Expr_Known_Valid): If floating-point validity checks are
+-      enabled, check the result of unary and binary operations when the
+-      expression is the right-hand side of an assignment.
+-
+-2004-10-26  Vincent Celier  <celier@gnat.com>
+-
+-      * clean.adb (Delete): Do not output warnings when in quiet output and
+-      not in verbose mode.
+-      (Force_Deletions): New Boolean flag, defaulted to False
+-      (Delete): Only delete a file if it is writable, and when
+-      Force_Deletions is True.
+-      (Parse_Cmd_Line): New switch -f: set Force_Deletions to True
+-      (Usage): Line for new switch -f
+-      (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our
+-      own.
+-
+-2004-10-26  Eric Botcazou  <ebotcazou@act-europe.fr>
+-
+-      * decl.c (gnat_to_gnu_field): Use the type of the inner object for a
+-      JM type only if its size matches that of the wrapper.  When a size is
+-      prescribed and the field is not aliased, remove the wrapper of a JM
+-      type only if the size is not greater than that of the packed array.
+-      (gnat_to_gnu_entity): Change the extension of packed array wrappers
+-      from LJM to JM.
+-
+-2004-10-26  Geert Bosch  <bosch@gnat.com>
+-
+-      * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used.
+-      (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
+-      (Pred): Implement in terms of Succ.
+-
+-2004-10-26  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_aggr.adb (Safe_Component): An aggregate component that is an
+-      unchecked conversion is safe for in-place use if the expression of the
+-      conversion is safe.
+-      (Expand_Array_Aggregate): An aggregate that initializes an allocator may
+-      be expandable in place even if the aggregate does not come from source.
+-      (Convert_Array_Aggr_In_Allocator): New procedure to initialize the
+-      designated object of an allocator in place, rather than building it
+-      first on the stack. The previous scheme forces a full copy of the array,
+-      and may be altogether unsusable if the size of the array is too large
+-      for stack allocation.
+-
+-2004-10-26  Robert Dewar  <dewar@gnat.com>
+-
+-      * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
+-      compares if the component is atomic.
+-
+-      * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
+-      array assignment if the component type is atomic.
+-
+-2004-10-26  Ed Schonberg  <schonberg@gnat.com>
+-          Eric Botcazou  <ebotcazou@act-europe.fr>
+-
+-      * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter
+-      is aliased and is a by_reference type, do not pass by copy.
+-      (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to
+-      detect whether the call is in the right side of an assignment or
+-      the expression of an object declaration.  Recurse on component
+-      association within aggregates.
+-      Call it in the condition that determines whether the temporary is
+-      necessary for correct stack-checking.
+-
+-2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter
+-      RACW_Type, used in the PolyORB version.
+-      Rename RCI_Info to RCI_Locator, for consistency between the PolyORB
+-      version and the GARLIC version.
+-
+-      * snames.ads, snames.adb, s-parint.ads, s-parint.adb:
+-      Rename RCI_Info to RCI_Locator for better consistency between the
+-      GARLIC and PolyORB versions of the distributed systems annex.
+-      (DSA_Implementation_Name): This enumeration lists the possible
+-      implementations of the Partition Communication Subsystem for the
+-      Distributed Systems Annex (DSA). The three available implementations
+-      are the dummy stub implementation (No_DSA), and two versions based on
+-      two different distribution runtime libraries: GARLIC and PolyORB. Both
+-      the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution
+-      technology.
+-      Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
+-      that organization.
+-
+-      * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
+-      between the GARLIC and PolyORB versions of the distributed systems
+-      annex.
+-      Remove RE_Unbounded_Reclaim_Pool since it is unused.
+-
+-2004-10-26  Gary Dismukes  <dismukes@gnat.com>
+-
+-      * gnat1drv.adb: Suppress calling the back end when
+-      Frontend_Layout_On_Target is true.
+-
+-2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable,
+-      Set_Read_Only): New subprograms.
+-      These new routines allow the user to set or unset the Owner execute
+-      and Owner write permission flags on a file.
+-
+-      * makegpr.adb, mlib.adb, mlib-prj.adb: Use
+-      GNAT.OS_Lib.Set_Executable instead of rolling our own.
+-
+-2004-10-26  Matthew Gingell  <gingell@gnat.com>
+-
+-      * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
+-
+-2004-10-26  Pascal Obry  <obry@gnat.com>
+-
+-      * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the
+-      memory before the faulting page we properly test the process read
+-      access for this address using appropriate Win32 routine.
+-      (HPUX sections): guard with "__hpux__" instead of "hpux".
+-
+-2004-10-26  Robert Dewar  <dewar@gnat.com>
+-
+-      * lib-xref.adb (Generate_Reference): Don't complain about reference to
+-      entry parameter if pragma Unreferenced set, since we do not properly
+-      handle the case of multiple parameters.
+-
+-2004-10-26  Vincent Celier  <celier@gnat.com>
+-
+-      * prj-env.adb: (Contains_ALI_Files): New Boolean function
+-      (Ada_Objects_Path.Add): For a library project, add to the object path
+-      the library directory only if there is no object directory or if the
+-      library directory contains ALI files.
+-      (Set_Ada_Paths.Add.Recursive_Add): Ditto
+-
+-2004-10-26  Vincent Celier  <celier@gnat.com>
+-
+-      * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
+-      extension of library projects.
+-
+-      * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project
+-      path defaults to ".:<prefix>/lib/gnat".
+-      (Parse): For an extending all project, allow direct import of a project
+-      that is virtually extended.
+-
+-      * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with
+-      the specified name is directly imported, return its ID. Otherwise, if
+-      an extension of this project is imported, return the ID of the
+-      extension.
+-
+-2004-10-26  Robert Dewar  <dewar@gnat.com>
+-
+-      * s-arit64.adb: (Le3): New function, used by Scaled_Divide
+-      (Sub3): New procedure, used by Scaled_Divide
+-      (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
+-      correct more than one instance of failure to propagate carries
+-      correctly.
+-      (Double_Divide): Handle overflow case of largest negative number
+-      divided by minus one.
+-
+-      * s-arit64.ads (Double_Divide): Document that overflow can occur in
+-      the case of a quotient value out of range.
+-      Fix comments.
+-
+-2004-10-26  Robert Dewar  <dewar@gnat.com>
+-
+-      * s-bitops.adb (Bit_Eq): Remove redundant check.
+-
+-      * s-bitops.ads: Minor comment updates
+-      Change some occurrences of Address to System.Address
+-
+-      * s-carsi8.ads: Fix minor cut-and-paste error in comments
+-
+-2004-10-26  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
+-      accessibility check to prefix that is a protected operation.
+-
+-2004-10-26  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
+-      empty, post message on stub.
+-
+-2004-10-26  Ed Schonberg  <schonberg@gnat.com>
+-          Javier Miranda  <miranda@gnat.com>
+-
+-      * sem_ch12.adb (In_Main_Context): Predicate to determine whether the
+-      current instance appears within a unit that is directly in the context
+-      of the main unit.
+-      Used to determine whether the body of the instance should be analyzed
+-      immediately after its spec, to make its subprogram bodies available
+-      for front-end inlining.
+-      (Analyze_Formal_Array_Type): Cleanup condition that checks that range
+-      constraint is not allowed on the component type (AARM 12.5.3(3))
+-
+-2004-10-26  Cyrille Comar  <comar@act-europe.fr>
+-
+-      * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
+-      'Storage_Pool): enhance, document & limit detection of non-sharable
+-      internal pools.
+-
+-      * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
+-
+-      * s-pooglo.ads: Add more documentation now that this pool is properly
+-      documented.
+-
+-2004-10-26  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
+-      or protected type with discriminants, do not constrain the
+-      corresponding record type if the subtype declaration has no
+-      discriminant constraints. This can be the case in source code, or in
+-      the subtype declaration created to rename an actual type within an
+-      instantiation.
+-
+-2004-10-26  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
+-      different kind of stub (possibly wrong name for file), do not check
+-      for conformance.
+-      (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
+-      includes call to some function that returns an unconstrained type, do
+-      not inline.
+-
+-2004-10-26  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_elab.adb (Check_Elab_Call): Do not check a call that does not
+-      appear in the code for the main unit. Dependencies among units in the
+-      context of the main unit are established when those other units are
+-      compiled. Otherwise spurious elaboration constraints can generate
+-      incorrect elaboration circularities.
+-
+-2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
+-          Ed Schonberg   <schonberg@gnat.com>
+-
+-      * sem_util.adb (Is_Aliased_View): Defend against the case where this
+-      subprogram is called with a parameter that is not an object name. This
+-      situation arises for some cases of illegal code, which is diagnosed
+-      later, and in this case it is wrong to call Is_Aliased, as that might
+-      cause a compiler crash.
+-      (Explain_Limited_Type): Refine previous fix to include
+-      inherited components of derived types, to provide complete information.
+-
+-      * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
+-      is the prival for a protected object.
+-      It is necessary to mark this entity as a variable, in addition to
+-      flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
+-      modified to avoid checking the Aliased flag on entities that are not
+-      objects. (Checking that flag for non-objects is erroneous and could
+-      lead to a compiler crash).
+-
+-2004-10-26  Robert Dewar  <dewar@gnat.com>
+-
+-      * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if
+-      X_Frac = 0.5, then we know that the number X must be positive.
+-      (Succ): Remove the same redundant test, and also fix the primary test
+-      to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong.
+-      Minor reformatting
+-      (Decompose): Add fuller comments to spec
+-
+-2004-10-26  Pascal Obry  <obry@gnat.com>
+-
+-      * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
+-      validity (process must have read access). Set to 0 in all other cases.
+-      (STOP_FRAME): Now check for ptr validity to avoid a segmentation
+-      violation on Win32.
+-      (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
+-      segmentation violation.
+-
+-2004-10-26  Eric Botcazou  <ebotcazou@act-europe.fr>
+-
+-      * trans.c (call_to_gnu): For an (in-)out parameter passed by reference
+-      whose type is a constructed subtype of an aliased object with an
+-      unconstrained nominal subtype, convert the actual to the constructed
+-      subtype before taking its address.
+-
+-2004-10-26  Vincent Celier  <celier@gnat.com>
+-
+-      * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
+-      (Is_Path_Name_Case_Sensitive): New function
+-
+-      * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
+-      (Base_Name, Simple_Name, Current_Directory, Compose,
+-      Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
+-      the result.
+-
+-2004-10-26  Cyrille Comar    <comar@act-europe.fr>
+-          Vasiliy Fofanov  <fofanov@act-europe.fr>
+-          Vincent Celier   <celier@gnat.com>
+-
+-      * gnat_ugn.texi: Generalize "finding memory problems" section into a
+-      "memory management issues" section and document some of the useful
+-      memory pools provided as part of the GNAT library.
+-      Remove "virtual" from declaration of A::method2 in
+-      the simple example of Ada/C++ mixed system.
+-      Library Projects may be virtually extended: their virtual extensions
+-      are not Library Projects.
+-      Added section on extending project hierarchies.
+-
+-2004-10-19  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
+-
+-      * adaint.c (__gnat_get_libraries_from_registry): Cast value
+-      to LPBYTE.
+-      (__gnat_portable_spawn): Remove const.
+-
+-      * mingw32.h (MAXPATHLEN): Check for previous definition.
+-
+-2004-10-17  Matthias Klose  <doko@debian.org>
+-
+-      * gnatvsn.ads: Set gnat library version to 4.0.
+-
+-2004-10-05  Vincent Celier  <celier@gnat.com>
+-
+-      * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
+-
+-2004-10-04  Laurent Guerby  <laurent@guerby.net>
+-
+-      PR ada/15156
+-      * Makefile.in: Define and use RANLIB_FLAGS.
+-
+-2004-10-04  Pascal Obry  <obry@gnat.com>
+-
+-      * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
+-      other x86 platforms).
+-
+-2004-10-04  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense
+-      in general and triggers stack alignment adjustment for thread entry
+-      points on targets where this is necessary.
+-
+-2004-10-04  Bernard Banner  <banner@gnat.com>
+-
+-      PR ada/13897
+-      * Makefile.in: Add section for powerpc linux
+-      Add variant i-vxwork-x86.ads
+-
+-      * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
+-
+-2004-10-04  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * init.c (__gnat_initialize): Call an Ada subprogram to perform the
+-      table registration calls when need be. Ensures no reference to the crt
+-      ctors symbol are issued in the SJLJ case, which avoids possible
+-      undefined symbol errors in the case of modules to be statically linked
+-      with the kernel.
+-
+-2004-10-04  Javier Miranda  <miranda@gnat.com>
+-
+-      * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
+-      in-line the code corresponding to subprogram Analyze_Actuals. In
+-      addition, analyze the actuals only in case of subprogram call.
+-
+-2004-10-04  Ed Falis  <falis@gnat.com>
+-
+-      * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
+-
+-2004-10-04  Sergey Rybin  <rybin@act-europe.fr>
+-
+-      * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
+-      in the documentation.
+-
+-2004-10-04  Robert Dewar  <dewar@gnat.com>
+-
+-      * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
+-      IF and CASE.
+-      (Analyze_Block_Statement): Add circuitry to detect following dead code
+-      (Check_Unreachable_Code): Handle case of block exit
+-
+-2004-10-04  Robert Dewar  <dewar@gnat.com>
+-
+-      * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
+-      (XMatchD): Avoid warning for Logic_Error call
+-
+-2004-10-04  Robert Dewar  <dewar@gnat.com>
+-
+-      * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
+-      consider expressions buried within a procedure actual to be an actual.
+-      This caused some blowups with uses of packed slices within a procedure
+-      actual.
+-
+-2004-10-04  Robert Dewar  <dewar@gnat.com>
+-
+-      * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
+-      longer need to be initialized to zero.
+-      (Get_Simple_Init_Val): Modular packed arrays no longer need to be
+-      initialized to zero.
+-
+-      * checks.adb (Expr_Known_Valid): Packed arrays are now always
+-      considered valid, even if the representation is modular. That's correct
+-      now that we no longer initialize packed modular arrays to zero.
+-
+-      * exp_dbug.ads: Clarify documentation on handling of PAD and JM
+-      suffixes. These are now documented as the only cases in which the
+-      debugger ignores outer records.
+-      Previously, the spec allowed arbitrary suffixes for this purpose.
+-      Change name of LJM to JM for packed array pad records
+-      Create separate section on packed array handling, and add a whole new
+-      set of comments to this section describing the situation with packed
+-      modular types and justification requirements depending on endianness.
+-
+-2004-10-04  Robert Dewar  <dewar@gnat.com>
+-
+-      * a-except.adb: Add a comment for last change
+-
+-      * einfo.ads: Minor spelling correction in comment
+-
+-      * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
+-
+-      * sem_ch11.adb: Fix a case of using | instead of \ for continuation
+-      messages.
+-
+-      * sem_util.ads: Minor comment update
+-
+-2004-10-04  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
+-      Inline_Always when in Configurable_Run_Time mode.
+-
+-      * sem_prag.adb (Process_Convention): If entity is an inherited
+-      subprogram, apply convention to parent subprogram if in same scope.
+-      (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
+-      when in Configurable_Run_Time mode.
+-
+-2004-10-04  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
+-      class_wide type after component list has been inherited.
+-
+-2004-10-04  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch12.adb (Check_Generic_Actuals): New predicate
+-      Denotes_Previous_Actual, to handle properly the case of a private
+-      actual that is also the component type of a subsequent array actual.
+-      The visibility status of the first actual is not affected when the
+-      second is installed.
+-      (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
+-      make fully recursive the treatment of formals of packages declared
+-      with a box.
+-      (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
+-      the above on exit from an instantiation.
+-      (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
+-      current instantiation which is now complete.
+-      (Analyze_Package_Instantiation): No instantiated body is needed if the
+-      main unit is generic. Efficient, and avoid anomalies when a instance
+-      appears in a package accessed through rtsfind.
+-
+-2004-10-04  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
+-      do not generate a declaration for a temporary if the call is part of a
+-      library-level instantiation.
+-
+-2004-10-04  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_util.adb (Explain_Limited_Type): Ignore internal components when
+-      searching for a limited component to flag.
+-
+-      * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
+-      expansion of Input, to account for the fact that the implicit call
+-      generated by the attribute reference must freeze the user-defined
+-      stream subprogram. This is only relevant to 'Input, because it can
+-      appear in an object declaration, prior to the body of the subprogram.
+-
+-      * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
+-      expansion can proceed and further errors uncovered.
+-      (Minor clean up): Fix cases of using | instead of \ for continuation
+-      messages.
+-
+-2004-10-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
+-
+-      * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
+-      (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
+-      Use gcc_assert and gcc_unreachable.
+-
+-      * decl.c (gnat_to_gnu_entity, case object): Check and process a
+-      specified alignment before validating size.
+-      (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
+-      stripped-down declaration for the type of the inner field when making
+-      a JM type.
+-
+-      * utils.c (finish_record_type): Do not compute the size in units
+-      incrementally. Instead compute it once for the rep clause case.
+-      Use gcc_assert and gcc_unreachable.
+-
+-2004-10-04  Vincent Celier  <celier@gnat.com>
+-
+-      * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
+-      in file name.
+-      (Is_Valid_Path_Name): Take '/' as a directory separator.
+-
+-2004-10-04  Vincent Celier  <celier@gnat.com>
+-
+-      * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
+-      (Extended_Project) only if Extended_Project is defined, to avoid
+-      assertion error.
+-      (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
+-      resolved path.
+-      (Parse_Single_Project): Ditto.
+-
+-      * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
+-      Add_To_Project_Path for virtual projects.
+-
+-2004-10-04  Vincent Celier  <celier@gnat.com>
+-
+-      * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+-      mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
+-      mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
+-      mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
+-      parameter Options_2.
+-
+-      * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
+-      Build_Dynamic_Library with an empty Options_2.
+-
+-      * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
+-      default anymore.
+-
+-      * makegpr.adb (Get_Imported_Directories.add): Remove trailing
+-      directory separator, if any.
+-      (Gprmake): Do not allow mains on the command line for library projects.
+-      Do not attempt to link when the project is a library project.
+-      (Library_Opts): New table to store Library_Options.
+-      (Build_Library): If Library_Options is specified, pass these options
+-      when building a shared library.
+-
+-2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
+-
+-      * s-tposen.adb (Service_Entry): The object must be always unlocked at
+-      the end of this procedure now that the unlock operation was inserted
+-      by the expander.
+-
+-2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
+-
+-      * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
+-      corresponding to the Preallocated_Stacks flags in System.
+-      (Get_Target_Parameters): Including the processing for
+-      Preallocated_Stacks.
+-
+-      * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
+-      system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
+-      system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
+-      system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
+-      system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
+-      system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
+-      system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
+-      system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
+-      system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
+-      system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
+-      system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
+-      used to signal whether the compiler creates the required stacks and
+-      descriptors for the different tasks (when True) or it is done by the
+-      underlying operating system at run time (when False).
+-      It is initially set to False in all targets.
+-
+-      * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
+-      if it is supported by the target.
+-      (Make_Task_Create_Call): Pass the stack address if it has been
+-      previously created. Otherwise pass a Null_Address.
+-
+-      * snames.adb: Add _stack.
+-
+-      * snames.ads: Add Name_uStack. Required to allow the expander to
+-      statically allocated task stacks.
+-
+-      * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
+-      Stack_Address argument.
+-      Check that its value is equal to Null_Address because this target does
+-      not support the static stack allocation.
+-
+-2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * usage.adb: Change "pragma inline" to "pragma Inline" in information
+-      and error messages
+-
+-2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * exp_dist.adb: Split declaration of asynchronous flag out of
+-      Add_RACW_Read_Attribute.
+-      Minor reformatting for better alignment with PolyORB version.
+-      Store the entity for the asynchronous flag of an RACW, rather than the
+-      expression, in the asynchronous flags table. This will allow this flag
+-      to be used in other subprograms beside Add_RACW_Read_Attribute.
+-
+-2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
+-      g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
+-      g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
+-      g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
+-      g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads:  Add new
+-      sockets constant MSG_NOSIGNAL (Linux-specific).
+-      Add new sockets constant MSG_Forced_Flags, list of flags to be set on
+-      all Send operations.
+-      For Linux, set MSG_NOSIGNAL on all send operations to prevent them
+-      from trigerring SIGPIPE.
+-      Rename components to avoid clash with Ada 2005 possible reserved
+-      word 'interface'.
+-      (Check_Selector): When the select system call returns with an error
+-      condition, propagate Socket_Error to the caller.
+-
+-2004-10-01  Jan Hubicka  <jh@suse.cz>
+-
+-      * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
+-
+-2004-09-23  Robert Dewar  <dewar@gnat.com>
+-
+-      PR ada/17540
+-      * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
+-      instead do this at freeze time (we won't do it if there is an address
+-      clause).
+-      Change "pragma inline" to "pragma Inline" in information and error
+-      messages.
+-      Minor reformatting.
+-
+-      * freeze.adb (Check_Address_Clause): Remove previous change, not the
+-      right way of doing things after all.
+-      (Freeze_Entity): For object, set Is_Public for imported entities
+-      unless there is an address clause present.
+-
+-2004-09-21  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
+-      dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
+-      ensures proper handling of types with rep clauses, which might have
+-      their TYPE_SIZE set already.
+-
+-2004-09-21  Robert Dewar  <dewar@gnat.com>
+-
+-      * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
+-      packed array types in both little- and big-endian cases. This change
+-      ensures that we no longer count on the unused bits being initialized
+-      for such types (and in particular ensures that equality testing will
+-      only read the relevant bits).
+-      Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
+-      These changes mean that we no longer need to initialize small packed
+-      arrays.
+-      (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
+-      optimization to an LJM field as to its parent field.
+-
+-      * ada-tree.h, trans.c, utils.c, utils2.c:
+-      Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
+-
+-2004-09-20  Jan Hubicka  <jh@suse.cz>
+-
+-      * utils.c (gnat_finalize): Remove.
+-      (end_subprog_body): Directly call cgraph_finalize_function;
+-      do not lower the nested functions.
+-
+-2004-09-20  Robert Dewar  <dewar@gnat.com>
+-
+-      PR ada/17540
+-      * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
+-      if an address clause is present, since that means that the Import
+-      should be ignored.
+-
+-2004-09-20  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * 5tsystem.ads: Removed, no longer used.
+-
+-2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
+-          Zack Weinberg  <zack@codesourcery.com>
+-
+-      * ada-tree.def: Use tree_code_class enumeration constants
+-      instead of code letters.
+-      * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
+-      Update for new tree-class enumeration constants.
+-
+-2004-09-17  Vincent Celier  <celier@gnat.com>
+-
+-      * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
+-      capabilities of the general project manager.
+-
+-2004-09-09  Vincent Celier  <celier@gnat.com>
+-
+-      * a-direct.ads: Add pragma Ada_05
+-      (Directory_Entry_Type): Give default value to component Kind to avoid
+-      not initialized warnings.
+-
+-      * a-direct.adb (Current_Directory): Remove directory separator at the
+-      end.
+-      (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
+-      an existing directory.
+-      (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
+-      (Size (String)): Function C_Size returns Long_Integer, not File_Size.
+-      Convert the result to File_Size.
+-
+-      * prj.ads: (Project_Error): New exception
+-
+-      * prj-attr.adb: Except in procedure Initialize, Fail comes from
+-      Prj.Com, not from Osint.
+-      (Attrs, Package_Attributes): Tables moved to private part of spec
+-      (Add_Attribute, Add_Unknown_Package): Moved to new child package
+-      Prj.Attr.PM.
+-      (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
+-      Prj.Project_Error after call to Fail.
+-      (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
+-      Fail. Check that package name is not already in use.
+-
+-      * prj-attr.ads: Comment updates to indicate that all subprograms may be
+-      used by tools, not only by the project manager, and to indicate that
+-      exception Prj.Prj_Error may be raised in case of problem.
+-      (Add_Unknown_Package, Add_Attribute): Moved to new child package
+-      Prj.Attr.PM.
+-      (Attrs, Package_Attributes): Table instantiations moved from the body to
+-      the private part to be accessible from Prj.Attr.PM body.
+-
+-      * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
+-      from new package Prj.Attr.PM.
+-      (Parse_Attribute_Declaration): Call Add_Attribute from new package
+-      Prj.Attr.PM.
+-
+-      * Makefile.in: Add prj-attr-pm.o to gnatmake object list
+-
+-      * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
+-      instead of Elaboration_Checks).
+-
+-      * a-calend.adb: Minor reformatting
+-
+-2004-09-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * gigi.h (maybe_pad_type): New declaration.
+-      (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
+-
+-      * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
+-
+-      * cuintp.c: Convert to use buildN.
+-
+-      * decl.c (maybe_pad_type): No longer static.
+-      (gnat_to_gnu_entity, case E_Function): Handle case of returning by
+-      target pointer.
+-      Convert to use buildN.
+-
+-      * trans.c (call_to_gnu): Add arg GNU_TARGET; support
+-      TYPE_RETURNS_BY_TARGET_PTR_P.  All callers changed.
+-      (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
+-      RHS.
+-      (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
+-      (gnat_gimplify_expr, case ADDR_EXPR): New case.
+-      Convert to use buildN.
+-
+-      * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
+-      TREE_READONLY for const.
+-      Convert to use buildN.
+-
+-      * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
+-      (create_var_decl): Refine when TREE_STATIC is set.
+-      Convert to use buildN.
+-
+-2004-09-09  Gary Dismukes  <dismukes@gnat.com>
+-
+-      * gnat_ugn.texi: Delete text relating to checking of ali and object
+-      consistency.
+-
+-      * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
+-      routines.
+-
+-2004-09-09  Jose Ruiz  <ruiz@act-europe.fr>
+-
+-      * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
+-      pragmas recognized by GNAT.
+-
+-      * gnat_rm.texi: Document pragma Detect_Blocking.
+-
+-      * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
+-      raise Program_Error if called from a protected operation.
+-
+-      * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
+-      the protected action nesting level.
+-      (Lock_Read_Only): When pragma Detect_Blocking is active increase the
+-      protected action nesting level.
+-      (Unlock): When pragma Detect_Blocking is active decrease the protected
+-      action nesting level.
+-
+-      * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
+-      Protected_Action_Nesting.
+-
+-      * s-taskin.ads: Adding the field Protected_Action_Nesting to the
+-      Common_ATCB record. It contains the dynamic level of protected action
+-      nesting for each task. It is needed for checking whether potentially
+-      blocking operations are called from protected operations.
+-      (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
+-      Detect_Blocking is active or not in the partition.
+-
+-      * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
+-      raise Program_Error if called from a protected operation.
+-      (Task_Entry_Call): When pragma Detect_Blocking is active, raise
+-      Program_Error if called from a protected operation.
+-      (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
+-      Program_Error if called from a protected operation.
+-
+-      * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
+-      raise Program_Error if called from a protected operation.
+-
+-      * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
+-      raise Program_Error if called from a protected operation, and increase
+-      the protected action nesting level.
+-      (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
+-      Program_Error if called from a protected operation, and increase the
+-      protected action nesting level.
+-      (Unlock_Entries): When pragma Detect_Blocking is active decrease the
+-      protected action nesting level.
+-
+-      * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
+-      raise Program_Error if called from a protected operation, and increase
+-      the protected action nesting level.
+-      (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
+-      Program_Error if called from a protected operation, and increase the
+-      protected action nesting level.
+-      (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
+-      raise Program_Error if called from a protected operation.
+-      (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
+-      active, raise Program_Error if called from a protected operation.
+-      (Unlock_Entry): When pragma Detect_Blocking is active decrease the
+-      protected action nesting level.
+-
+-      * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
+-      insertion of the statement raising Program_Error. The run time
+-      contains the required machinery for handling that.
+-
+-      * sem_util.ads: Change comment associated to procedure
+-      Check_Potentially_Blocking_Operation.
+-      This procedure does not insert a call for raising the exception because
+-      that is currently done by the run time.
+-
+-      * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
+-
+-      * init.c: Add the global variable __gl_detect_blocking that indicates
+-      whether pragma Detect_Blocking is active (1) or not (0). Needed for
+-      making the pragma available at run time.
+-      (__gnat_set_globals): Pass and update the detect_blocking parameter.
+-
+-      * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
+-      pragma Detect_Blocking is active.
+-
+-      * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
+-
+-      * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
+-      DB is found in the ali file. Any unit compiled with pragma
+-      Detect_Blocking active forces its effect in the whole partition.
+-
+-      * a-retide.adb (Delay_Until): Raise Program_Error if pragma
+-      Detect_Blocking is active and delay is called from a protected
+-      operation.
+-
+-      * bindgen.adb (Gen_Adainit_Ada): When generating the call to
+-      __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
+-      Detect_Blocking is active (0 otherwise).
+-      (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
+-      as Detect_Blocking parameter if pragma Detect_Blocking is active (0
+-      otherwise).
+-
+-2004-09-09  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
+-      GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
+-      package.
+-
+-      * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
+-      (Register_Receiving_Stub): Add Subp_Info formal parameter.
+-      Update API in placeholder implemetation of s-parint to reflect changes
+-      in distribution runtime library.
+-
+-      * sem_ch3.adb (Expand_Derived_Record): Rename to
+-      Expand_Record_Extension.
+-
+-      * sem_disp.adb (Check_Controlling_Formals): Improve error message for
+-      primitive operations of potentially distributed object types that have
+-      non-controlling anonymous access formals.
+-
+-      * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
+-      subprogram.
+-      New implementation of expansion for remote access-to-subprogram types,
+-      based on the RACW infrastructure.
+-      This version of sem_dist is compatible with PolyORB/DSA as well as
+-      GLADE.
+-
+-      * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
+-      Asynchrronous that applies to a remote access-to-subprogram type, mark
+-      the underlying RACW type as asynchronous.
+-
+-      * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
+-       __gnat_using_gnu_linker to 1.
+-
+-      * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
+-      g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
+-      GNAT.Perfect_Hash_Generators, and remove the empty
+-      GNAT.Perfect_Hash package.
+-
+-      * atree.adb: Minor reformatting
+-
+-      * exp_ch3.adb (Expand_Derived_Record): Rename to
+-      Expand_Record_Extension.
+-      (Build_Record_Init_Proc.Build_Assignment): The default expression in
+-      a component declaration must remain attached at that point in the
+-      tree so New_Copy_Tree copies it if the enclosing record type is derived.
+-      It is therefore necessary to take a copy of the expression when building
+-      the corresponding assignment statement in the init proc.
+-      As a side effect, in the case of a derived record type, we now see the
+-      original expression, without any rewriting that could have occurred
+-      during expansion of the ancestor type's init proc, and we do not need
+-      to go back to Original_Node.
+-
+-      * exp_ch3.ads (Expand_Derived_Record): Rename to
+-      Expand_Record_Extension.
+-
+-      * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
+-      Returns the RACW type used to implement a remote access-to-subprogram
+-      type.
+-      (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
+-      New subprograms. Used to create a proxy tagged object for a remote
+-      subprogram. The proxy object is used as the designated object
+-      for RAS values on the same partition (unless All_Calls_Remote applies).
+-      (Build_Get_Unique_RP_Call): New subprogram. Build a call to
+-      System.Partition_Interface.Get_Unique_Remote_Pointer.
+-      (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
+-      Renamed from Add_RAS_*_Attribute.
+-      (Add_Receiving_Stubs_To_Declarations): Generate a table of local
+-      subprograms.
+-      New implementation of expansion for remote access-to-subprogram types,
+-      based on the RACW infrastructure.
+-
+-      * exp_dist.ads (Copy_Specification): Update comment to note that this
+-      function can copy the specification from either a subprogram
+-      specification or an access-to-subprogram type definition.
+-
+-2004-09-09  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
+-      in an instance, between an explicit subprogram an one inherited from a
+-      type derived from an actual.
+-
+-      * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
+-      add a polling call if the subprogram is to be inlined by the back-end,
+-      to avoid repeated calls with multiple inlinings.
+-
+-      * checks.adb (Apply_Alignment_Check): If the expression in the address
+-      clause is a call whose name is not a static entity (e.g. a dispatching
+-      call), treat as dynamic.
+-
+-2004-09-09  Robert Dewar  <dewar@gnat.com>
+-
+-      * g-trasym.ads: Minor reformatting
+-
+-      * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
+-      packed arrays, since unused bits are expected to be zero for a
+-      comparison.
+-
+-2004-09-09  Eric Botcazou  <ebotcazou@act-europe.fr>
+-
+-      * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
+-      comment.
+-
+-2004-09-09  Pascal Obry  <obry@gnat.com>
+-
+-      * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
+-      enable map file generation. Add the right option to generate the map
+-      file if Map_File is set to True.
+-
+-      * gnatdll.adb (Gen_Map_File): New variable.
+-      (Syntax): Add info about new -m (Map_File) option.
+-      (Parse_Command_Line): Add support for -m option.
+-      (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
+-      Minor reformatting.
+-
+-2004-09-09  Laurent Pautet  <pautet@act-europe.fr>
+-
+-      * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
+-      new gnatdist implementation.
+-      Define a subpackage isolating the output routines specific to this
+-      verbose mode.
+-
+-2004-09-09  Joel Brobecker  <brobecker@gnat.com>
+-
+-      * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
+-
+-      * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
+-
+-2004-09-09  Cyrille Comar  <comar@act-europe.fr>
+-
+-      * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
+-      internal unit.
+-
+-      * opt.ads: Add Ada_Version_Runtime constant used to decide which
+-      version of the language is used to compile the run time.
+-
+-2004-09-09  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * sem_util.adb (Requires_Transient_Scope): Re-enable handling
+-      of variable length temporaries for function return now that the
+-      back-end and gigi support it.
+-
+-2004-09-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
+-
+-      * trans.c (struct stmt_group): Delete field GLOBAL.
+-      (gnat_init_stmt_group): Do not initialize it.
+-      (call_to_gnu): Use save_expr, not protect_multiple_eval.
+-      (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
+-      (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
+-      (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
+-      (start_stmt_group): Likewise.
+-      (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
+-
+-      * utils2.c (ggc.h): Include.
+-      (build_call_raise): Call build_int_cst, not build_int_2.
+-
+-      * utils.c (gnat_init_decl_processing): Fix arg to
+-      build_common_tree_nodes.
+-      (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
+-      (gnat_define_builtin): Set built_in_decls.
+-      (init_gigi_decls): Call build_int_cst, not build_int_2.
+-
+-      * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
+-      (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
+-      (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
+-      (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
+-      SET_TYPE_MODULE): Use them.
+-      (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
+-      (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
+-      (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
+-      SET_TYPE_ADA_SIZE): Likewise.
+-      (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
+-      (DECL_CONST_CORRESPONDING_VAR,
+-      SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
+-      (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
+-      (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
+-      (TYPE_RM_SIZE_NUM): New macro.
+-      (TYPE_RM_SIZE): Modified to use above.
+-
+-      * cuintp.c: (build_cst_from_int): New function.
+-      (UI_To_gnu): Use it.
+-
+-      * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
+-      (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
+-      (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
+-      MIN_EXPR for the size, copy it into new.
+-
+-2004-09-01  Robert Dewar  <dewar@gnat.com>
+-
+-      * exp_ch6.adb (Expand_Call): Properly handle validity checks for
+-      packed indexed component where array is an IN OUT formal. This
+-      generated garbage code previously.
+-
+-      * gnat_ugn.texi: Document -fverbose-asm
+-
+-      * gnat-style.texi: Minor updates (note that boolean constants and
+-      variables are joined with AND/OR rather than short circuit forms).
+-
+-2004-09-01  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
+-      it is an upward conversion of an untagged type with no representation
+-      change.
+-
+-2004-09-01  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
+-      System.Partition_Interface.
+-
+-      * checks.adb (Apply_Access_Checks): Do not generate checks when
+-      expander is not active (but check for unset reference to prefix of
+-      dereference).
+-
+-      * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
+-      pragma Debug as an if statement with a constant condition, for
+-      consistent treatment of entity references contained within the
+-      enclosed procedure call.
+-
+-2004-09-01  Vincent Celier  <celier@gnat.com>
+-
+-      * bindgen.adb: (Set_EA_Last): New procedure
+-      (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
+-      Set_EA_Last.
+-      (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
+-      (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
+-      linked without errors.
+-      (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
+-      ST and EA.
+-      (Gen_Exception_Table_C): Correct same bugs
+-
+-      * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
+-
+-      * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
+-      on Windows, make sure that the drive letter is in upper case.
+-
+-      * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
+-      Windows, when the drive letter is added and Case_Sensitive is True, the
+-      drive letter is forced to upper case.
+-
+-      * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
+-      to Options_2 for the call to MLib.Utl.Gcc.
+-
+-      * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
+-      directory separator when defining BASE_DIR.
+-
+-2004-09-01  Pascal Obry  <obry@gnat.com>
+-
+-      * gprcmd.adb (Extend): Do not output trailing directory separator. This
+-      is not needed and it confuses Windows GNU/make which does not report
+-      directory terminated by a slash as a directory.
+-      (gprcmd): Idem for "pwd" internal command.
+-
+-      * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
+-      target names rewrite to fix regressions with recent version of
+-      GNU/make. Starting with GNU/make 3.80 the pipe character was not
+-      handled properly anymore.
+-
+-2004-09-01  Andreas Schwab  <schwab@suse.de>
+-
+-      * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
+-      * raise.c [!IN_RTS]: Undef abort.
+-
+-2004-08-27  Nathan Sidwell  <nathan@codesourcery.com>
+-
+-      * utils2.c (build_allocator): Use ssize_int.
+-
+-      * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
+-
+-2004-08-27  Andreas Schwab  <schwab@suse.de>
+-
+-      * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
+-
+-2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
+-          Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
+-
+-2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
+-
+-      * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
+-      * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
+-      * utils.c (init_gigi_decls): Likewise.
+-      * utils2.c (build_call_raise, build_allocator): Likewise.
+-
+-2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
+-
+-      * utils.c (gnat_init_decl_processing): Adjust
+-      build_common_tree_nodes call.
+-
+-2004-08-20  Nathan Sidwell  <nathan@codesourcery.com>
+-
+-      * utils2.c (build_allocator): Use build_int_cst for negative
+-      size types.
+-
+-2004-08-18  Richard Henderson  <rth@redhat.com>
+-
+-      * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
+-
+-2004-08-16  Nathan Sidwell  <nathan@codesourcery.com>
+-
+-      * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
+-      call.s
+-      * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
+-      (gnat_to_gnu): Likewise.
+-
+-2004-08-16  Pascal Obry  <obry@gnat.com>
+-
+-      * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
+-      backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
+-      option and not mdll anymore. Update comment.
+-
+-2004-08-16  Pascal Obry  <obry@gnat.com>
+-
+-      * bld.adb (Put_Include_Project): Properly handle directory separators
+-      on Windows.
+-
+-2004-08-16  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
+-      decreasing the number of allocated junk nodes while searching for the
+-      appropriate subprogram.
+-
+-2004-08-15  Nathan Sidwell  <nathan@codesourcery.com>
+-
+-      * cuintp.c (UI_To_gnu): Use build_int_cst..
+-      * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
+-      * utils.c (init_gigi_decls): Likewise.
+-      * utils2.c (build_call_raise): Likewise.
+-
+-2004-08-13  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
+-      for a global aliased object with a variable size and an unconstrained
+-      nominal subtype, pretend there is no initializer if the one we have is
+-      incomplete, and avoid referencing an inexistant component in there. The
+-      part we have will be rebuilt anyway and the reference may confuse
+-      further operations.
+-
+-2004-08-13  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * einfo.ads: Minor reformatting
+-
+-      * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
+-      restrictions in the ALI if we only want to warn about violations.
+-
+-2004-08-13  Vincent Celier  <celier@gnat.com>
+-
+-      * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
+-      when creating a new Unit_Record in table Units.
+-
+-      * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
+-      that are violated, if any.
+-
+-      * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
+-      add directory separator if path already ends with a directory separator.
+-
+-2004-08-13  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
+-      unit, this is an attempt to inline a construct that is not available in
+-      the current restricted mode, so abort rather than trying to continue.
+-
+-      * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
+-      discriminants that rename those of the parent, recover names of
+-      original discriminants for the constraint on the full view of the
+-      parent.
+-      (Complete_Private_Subtype): Do not create a subtype declaration if the
+-      subtype is an itype.
+-
+-      * gnat_rm.texi: Added section on implementation of discriminated
+-      records with default values for discriminants.
+-
+-2004-08-13  Ed Schonberg  <schonberg@gnat.com>
+-
+-      PR ada/15601
+-      * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
+-      the second operand is overloaded.
+-
+-2004-08-10  Richard Henderson  <rth@redhat.com>
+-
+-      * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
+-      add __builtin_alloca.
+-
+-2004-08-10  Richard Henderson  <rth@redhat.com>
+-
+-      * config-lang.in (boot_language): Yes.
+-
+-2004-08-09  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
+-      from complaining on potential uninitialized reference.
+-      Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
+-      new specification and test explicitly for non-zero return value.
+-
+-      * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
+-      returning C.int, to avoid using a derived boolean type.
+-
+-      * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
+-      Duplicate_Subexpr_No_Checks in preference to direct use of
+-      Remove_Side_Effects and New_Copy_Tree.
+-      Clear Comes_From_Source on prefix of 'Size attribute reference.
+-
+-      * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
+-      g-socthi-vxworks.adb: Change calls to
+-      GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
+-      and test explicitly for non-zero return value.
+-
+-      * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
+-      (Is_Socket_In_Set): Declare imported function as returning C.int, to
+-      avoid using a derived boolean type.
+-
+-2004-08-09  Albert Lee  <lee@gnat.com>
+-
+-      * system-irix-n32.ads: Refine tasking priority constants for IRIX.
+-
+-2004-08-09  Pascal Obry  <obry@gnat.com>
+-
+-      * gnat_ugn.texi: Document new way to build DLLs on Windows using
+-      GCC's -shared option.
+-
+-      * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
+-      Options_2 parameter (options put after object files).
+-
+-2004-08-09  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
+-      ignore overflows on low and high bounds of an index to also account for
+-      differences in signedness between sizetype and gnu_index_subtype.
+-      These are as legitimate as the ones caused by a lower TYPE_PRECISION
+-      on sizetype.
+-
+-2004-08-09  Robert Dewar  <dewar@gnat.com>
+-
+-      * s-solita.ads, s-solita.adb: Minor reformatting
+-
+-      * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
+-      Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
+-      obsolescent section
+-      Add note that No_Implicit_Conditionals does not suppress
+-      run time constraint checks.
+-
+-      * vms_conv.ads: Minor reformatting
+-
+-      * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
+-      and necessary for following change).
+-      (Mark): Return new format Mark_Id containing sec stack address
+-      (Release): Use sec stack address from Mark_Id avoiding Self call
+-
+-      * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
+-      pointer (cleanup and necessary for following change).
+-      Define Mark_Id as record containing address of secondary stack, that way
+-      Release does not need to find the stack again, decreasing the number of
+-      calls to Self and improving efficiency.
+-
+-      * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
+-
+-      * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
+-      case variable into the individual case branches when possible.
+-
+-      * sem_ch11.adb: Minor reformatting
+-
+-      * prj.ads: Correct spelling of suffixs
+-
+-      * prj-nmsc.adb: Minor reformatting
+-      Correct spelling suffixs throughout (also in identifiers)
+-
+-      * freeze.adb: Minor spelling correction
+-
+-      * exp_ch2.adb: Cleanups to handling of Current_Value
+-      (no functional effect).
+-
+-      * bld.adb: Correct spelling of suffixs
+-
+-      * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
+-
+-2004-08-09  Ed Schonberg  <schonberg@gnat.com>
+-
+-      PR ada/15408
+-      * sem_ch7.adb (Install_Private_Declarations): In the body of the
+-      package or of a child, private entities are both immediately_visible
+-      and not hidden.
+-
+-2004-08-09  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
+-      there are no range checks on the value of the literal.
+-
+-      * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
+-      wrapped is the triggering alternative of an asynchronous select, action
+-      statements mustbe inserted before the select itself.
+-
+-      * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
+-      case where the prefix is a protected function call.
+-      (Resolve_Attribute, case 'Access): The attribute reference on a
+-      subprogram is legal in a generic body if the subprogram is declared
+-      elsewhere.
+-
+-2004-08-09  Vincent Celier  <celier@gnat.com>
+-
+-      * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
+-      languages, otherwise building the library may fail with unresolved
+-      symbols.
+-      (Compile_Sources): Do not build libraries if -c switch is used
+-
+-      * gnatlink.adb (Process_Args): New switches -M and -Mmap
+-      (Write_Usage): If map file creation is supported, output new switches
+-      -M and -Mmap.
+-      (Gnatlink): When -M is specified, add the necessary switch(es) to the
+-      gcc call, when supported.
+-
+-      * Makefile.in: Added indepsw.o to the object list for gnatlink
+-      Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
+-
+-      * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
+-      indepsw.adb, indepsw.ads: New files.
+-
+-2004-08-09  Bernard Banner  <banner@gnat.com>
+-
+-      * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
+-
+-      * Makefile.in: add section for vxworks x86
+-
+-2004-08-09  Hristian Kirtchev  <kirtchev@gnat.com>
+-
+-      * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
+-      per-object constrained components where the discriminant is of an
+-      Access type.
+-      (Build_Record_Init_Proc): Add condition to prevent the inheritance of
+-      the parent initialization procedure for derived Unchecked_Unions.
+-      Instead, derived Unchecked_Unions build their own initialization
+-      procedure.
+-      (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
+-      Check the body of the subprogram for details.
+-      (Freeze_Record_Type): Prevent the inheritance of discriminant checking
+-      functions for derived Unchecked_Union types by introducing a condition.
+-      Allow the creation of TSS equality functions for Unchecked_Unions.
+-      (Make_Eq_Case): Rename formal parameter Node to E in function signature.
+-      Add formal parameter Discr to function signature. Discr is used to
+-      control the generated case statement for Unchecked_Union types.
+-      (Make_Eq_If): Rename formal parameter Node to E in function signature.
+-
+-      * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
+-      Unchecked_Unions.
+-      Check the body of the subprogram for details.
+-      (Expand_Composite_Equality): Augment composite type equality to include
+-      correct handling of Unchecked_Union components.
+-      (Expand_N_In): Add condition to detect illegal membership tests when the
+-      subtype mark is a constrained Unchecked_Union and the expression lacks
+-      inferable discriminants, and build a Raise_Program_Error node.
+-      (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
+-      to detect types that contain components of unconstrained Unchecked_Union
+-      subtype. Add condition to detect equality between types that have an
+-      unconstrained Unchecked_Union component, and build a Raise_Program_Error
+-      node. Add condition to detect equality between Unchecked_Union types
+-      that lack inferable discriminants, and build a Raise_Program_Error node.
+-      Otherwise build a TSS equality function call.
+-      (Expand_N_Type_Conversion): Add condition to detect illegal conversions
+-      from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
+-      with the operand lacking inferable discriminants, and build a Raise_
+-      Program_Error node.
+-      (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
+-      composite equality.
+-      (Has_Inferable_Discriminants): Implement new predicate for objects and
+-      expressions of Unchecked_Union type. Check the body of subprogram for
+-      details.
+-      (Has_Unconstrained_UU_Components): Add function
+-      Component_Is_Unconstrained_UU. It is used to detect whether a single
+-      component is of an unconstrained Unchecked_Union subtype. Add function
+-      Variant_Is_Unconstrained_UU. It is used to detect whether a single
+-      component inside a variant is of an unconstrained Unchecked_Union type.
+-
+-      * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
+-      inferred discriminant values. Add condition to generate a case
+-      statement with an inferred discriminant as the switch.
+-      (Make_Component_List_Assign): Introduce a Boolean flag that determines
+-      the behaviour of the subprogram in the presence of an Unchecked_Union.
+-      Add condition to trigger the usage of the inferred discriminant value
+-      as the generated case statement switch.
+-      (Make_Field_Assign): Introduce a Boolean flag that determines the
+-      behaviour of the subprogram in the presence of an Unchecked_Union. Add
+-      condition to trigger the usage of the inferred discriminant value as
+-      the right-hand side of the generated assignment.
+-
+-      * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
+-      parameter generation when dealing with Unchecked_Unions.
+-
+-      * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
+-      checks for Unchecked_Unions.
+-
+-      * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
+-
+-      * exp_attr.adb (Expand_N_Attribute_Reference): Produce
+-      Raise_Program_Error nodes for the execution of Read and Write
+-      attributes of Unchecked_Union types and the execution of Input and
+-      Output attributes of Unchecked_Union types that lack default
+-      discriminant values.
+-
+-      * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
+-      Unchecked_Union. Add procedure Check_Component. It is used to inspect
+-      per-object constrained components of Unchecked_Unions for being
+-      Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
+-      check individual components withing a variant.
+-
+-      * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
+-      comparison of Unchecked_Unions.
+-      (Resolve_Equality_OP): Remove guard that prevents equality between
+-      Unchecked_Unions.
+-
+-      * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
+-      of component subtypes for Unchecked_Union components.
+-      (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
+-      since it is the actual subtype.
+-
+-      * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
+-      pass of Unchecked_Union subtypes as generic actuals to formal types
+-      that lack known_discriminant_parts or that are derived Unchecked_Union
+-      types, and do nothing. In any other case, produce an error message.
+-
+-      * sem_ch3.adb (Analyze_Component_Declaration): Add function
+-      Contains_POC. It determines whether a constraint uses the discriminant
+-      of an enclosing record type.
+-      Add condition to detect per-object constrained component and set the
+-      appropriate flag.
+-      (Derived_Type_Declaration): Remove guard that prevents derivation from
+-      Unchecked_Union types.
+-      (Process_Subtype): Remove quard that prevents the creation of Unchecked_
+-      Union subtypes.
+-
+-      * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
+-      references to Unchecked_Union discriminants.
+-
+-      * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
+-      formal generation when dealing with Unchecked_Unions.
+-      (Set_Actual_Subtypes): Add condition to prevent generation of actual
+-      subtypes for Unchecked_Unions.
+-
+-      * sem_ch7.adb (Analyze_Package_Specification): Add procedure
+-      Inspect_Unchecked_Union_Completion. It is used to detect incorrect
+-      completions of discriminated partial views by Unchecked_Unions and
+-      produce an error message.
+-
+-2004-08-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * trans.c (struct stmt_group): New field, GLOBAL.
+-      (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
+-      (struct elab_info): New struct.
+-      (elab_info_list, gnu_elab_proc_stack): New variables.
+-      (Compilation_Unit_to_gnu): New procedure.
+-      (gigi): Call it and also handle elaboration procs we've saved.
+-      (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
+-      global field from parent.
+-      (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
+-      (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
+-      (start_stmt_group): Initialize global field from parent.
+-      (add_decl_expr): Set to global for current statement group.
+-      (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
+-      post.
+-
+-      * utils.c (global_bindings_p): True when no current_function_decl; no
+-      longer check current_binding_level.
+-
+-2004-08-09  Ben Brosgol  <brosgol@gnat.com>
+-
+-      * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
+-      choice.
+-
+-      * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
+-
+-2004-08-06  Andreas Schwab  <schwab@suse.de>
+-
+-      * utils.c (gnat_define_builtin): Remove second parameter of
+-      make_decl_rtl.
+-      (begin_subprog_body): Likewise.
+-
+-2004-07-26  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * sem_util.adb (Requires_Transient_Scope): Temporarily disable
+-      optimization, not supported by the tree-ssa back-end.
+-
+-2004-07-26  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * s-mastop-irix.adb: Update comments.
+-
+-      * a-except.adb (Exception_Information): Raise Constraint_Error if
+-      exception Id is Null_Id.
+-      This is required behavior, which is more reliably and clearly checked
+-      at the top level interface level.
+-
+-2004-07-26  Javier Miranda  <miranda@gnat.com>
+-
+-      * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
+-      call if a component has no default_expression and the box is used.
+-
+-      * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
+-      default_expression and you use box, it behaves as if you had declared a
+-      stand-alone object.
+-      (Resolve_Record_Aggregate): If a component has no default_expression and
+-      you use box, it behaves as if you had declared a stand-alone object.
+-
+-      * sem_ch10.adb (Install_Siblings): Do not make visible the private
+-      entities of private-with siblings.
+-
+-2004-07-26  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
+-      for a component of an itype, set the parent pointer for analysis,
+-      there is no list in which to insert it.
+-
+-      * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
+-      bona-fide renamings, not for inherited operations.
+-
+-      * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
+-      actual for a formal that is an access parameter, create local
+-      finalization list even if the expression is not an aggregate.
+-
+-2004-07-26  Ed Schonberg  <schonberg@gnat.com>
+-
+-      PR ada/16213
+-      * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
+-      Diagnose properly illegal subprogram renamings that are library units.
+-
+-2004-07-26  Ed Schonberg  <schonberg@gnat.com>
+-
+-      PR ada/15588
+-      * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
+-      conversion rewritten as an unchecked conversion, check that original
+-      expression is a variable.
+-
+-      * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
+-      unchecked_conversion, create new node rather than rewriting in place,
+-      to preserve original construct.
+-
+-2004-07-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * gigi.h (gnat_expand_body): Deleted.
+-
+-      * Make-lang.in: (trans.o): Depends on function.h.
+-
+-      * misc.c: (gnat_expand_body): Moved to here.
+-
+-      * trans.c (gnat_expand_body_1): Deleted.
+-      (gnat_expand_body): Moved from here.
+-      (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
+-      (add_stmt): Check for marked visited with global_bindings_p.
+-      (gnat_gimplify_expr, case COMPONENT_REF): New case.
+-      (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
+-
+-      * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
+-      VIEW_CONVERT_EXPR if not operation type.
+-
+-      * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
+-      fat pointer.
+-
+-      * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
+-      changes: reformatting of negation operators, removing unneeded
+-      inequality comparison with zero, converting equality comparisons with
+-      zero to negations, changing int/0/1 to bool/false/true, replace calls
+-      to gigi_abort with abort, and various other similar changes.
+-
+-2004-07-26  Vincent Celier  <celier@gnat.com>
+-
+-      * gnatcmd.adb (GNATCmd): Add processing for new built-in command
+-      "setup".
+-
+-      * make.adb (Gnatmake): Fail when a library is not present and there is
+-      no object directory.
+-
+-      * mlib-prj.adb (Check_Library): No need to check if the library needs
+-      to be rebuilt if there is no object directory, hence no object files
+-      to build the library.
+-
+-      * opt.ads (Setup_Projects): New Boolean flag.
+-
+-      * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
+-      Location.
+-      Create directory when Kind /= "" and in "gnat setup". Report error if
+-      directory cannot be created.
+-      (Ada_Check): Create library interface copy dir if it does not exist
+-      and we are in "gnat setup".
+-      (Find_Sources): No error if in "gnat setup" and no Ada sources were
+-      found.
+-      (Language_Independent_Check): Create object directory, exec directory
+-      and/or library directory if they do not exist and we are in
+-      "gnat setup".
+-
+-      * vms_conv.ads: (Command_Type): New command Setup.
+-
+-      * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
+-
+-      * vms_data.ads: Add qualifiers/switches for new built-in command
+-      "setup".
+-
+-2004-07-25  Richard Henderson  <rth@redhat.com>
+-
+-      * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
+-      DECL_IGNORED_P on RESULT_DECL.
+-
+-2004-07-20  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
+-      allocation and potentially overflowing update with
+-      Tailored_Exception_Information. Use the sec-stack free procedural
+-      interface to output Exception_Information instead.
+-
+-      * a-except.adb (To_Stderr): New subprogram for character, and string
+-      version moved from a-exextr to be visible from other separate units.
+-      (Tailored_Exception_Information): Remove the procedural version,
+-      previously used by the default Last_Chance_Handler and not any more.
+-      Adjust various comments.
+-
+-      * a-exexda.adb: Generalize the exception information procedural
+-      interface, to minimize the use of secondary stack and the need for
+-      local buffers when the info is to be output to stderr:
+-      (Address_Image): Removed.
+-      (Append_Info_Character): New subprogram, checking for overflows and
+-      outputing to stderr if buffer to fill is of length 0.
+-      (Append_Info_String): Output to stderr if buffer to fill is of length 0.
+-      (Append_Info_Address, Append_Info_Exception_Name,
+-      Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
+-      Append_Info_Basic_Exception_Traceback,
+-      Append_Info_Exception_Information): New subprograms.
+-      (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
+-      (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
+-      Exception_Info_Maxlength, Exception_Name_Length,
+-      Exception_Message_Length): New subprograms.
+-      (Exception_Information): Use Append_Info_Exception_Information.
+-      (Tailored_Exception_Information): Use
+-      Append_Info_Basic_Exception_Information.
+-      Export services for the default Last_Chance_Handler.
+-
+-      * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
+-      other separate units.
+-
+-2004-07-20  Vincent Celier  <celier@gnat.com>
+-
+-      * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
+-
+-2004-07-20  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
+-      emit itype references for the designated types of component types that
+-      are declared outside of the full record declaration, and that may
+-      denote a partial view of that record type.
+-
+-2004-07-20  Ed Schonberg  <schonberg@gnat.com>
+-
+-      PR ada/15607
+-      * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
+-      which is the designated type in an access component declaration, to the
+-      list of incomplete dependents of the parent type, to avoid elaboration
+-      issues with out-of-scope subtypes.
+-      (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
+-      full view of the parent.
+-
+-2004-07-20  Ed Schonberg  <schonberg@gnat.com>
+-
+-      PR ada/15610
+-      * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
+-      entities that are hidden, such as references to generic actuals
+-      outside an instance.
+-
+-2004-07-20  Javier Miranda  <miranda@gnat.com>
+-
+-      * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
+-      support to the new notation.
+-      (Analyze_Selected_Component): Add call to Try_Object_Operation.
+-
+-2004-07-20  Jose Ruiz  <ruiz@act-europe.fr>
+-
+-      * s-taprob.adb: Adding the elaboration code required for initializing
+-      the tasking soft links that are common to the full and the restricted
+-      run times.
+-
+-      * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
+-      restricted run time has been moved to the package
+-      System.Soft_Links.Tasking.
+-
+-      * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
+-      restricted run time has been moved to the package
+-      System.Soft_Links.Tasking.
+-
+-      * Makefile.rtl: Add entry for s-solita.o in run-time library list.
+-
+-      * s-solita.ads, s-solita.adb: New files.
+-
+-2004-07-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
+-      Case_Statement_to_gnu): Split off from gnat_to_gnu.
+-      (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
+-      Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
+-      Exception_Handler_to_gnu_zcx): Likewise.
+-
+-2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
+-
+-      * gigi.h (builtin_function): Declare.
+-
+-2004-07-15  Robert Dewar  <dewar@gnat.com>
+-
+-      * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
+-      reformatting
+-
+-      * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
+-      access values as an example of a warning.
+-
+-      * gnat_rm.texi: Document new attribute Has_Access_Values
+-
+-      * gnat-style.texi: Document that box comments belong on nested
+-      subprograms
+-
+-      * sem_util.ads (Has_Access_Values): Improved documentation
+-
+-      * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
+-
+-      * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
+-      (Process_Interface_Name): Call to this new procedure
+-      (Set_Extended_Import_Export_External_Name): Call to this new procedure
+-
+-      * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
+-
+-      * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
+-
+-      * einfo.ads: Minor comment typo fixed
+-
+-2004-07-15  Jose Ruiz  <ruiz@act-europe.fr>
+-
+-      * snames.adb: Add _atcb.
+-
+-      * snames.ads: Add Name_uATCB.
+-
+-      * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
+-      (in the expanded code) when using the restricted run time.
+-
+-      * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
+-      a in parameter in order to allow ATCBs to be preallocated (in the
+-      expanded code).
+-
+-      * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
+-      order to allow ATCBs to be preallocated. In case of error, the ATCB is
+-      deallocated in System.Tasking.Stages.
+-
+-      * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
+-      order to allow ATCBs to be preallocated.
+-
+-      * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
+-      here. It was previously done in Initialize_ATCB.
+-
+-      * rtsfind.ads: Make the Ada_Task_Control_Block visible.
+-
+-      * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
+-      Restricted run time.
+-
+-      * exp_ch3.adb: When using the Restricted run time, pass the
+-      preallocated Ada_Task_Control_Block when creating a task.
+-
+-2004-07-15  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_util.adb (Normalize_Actuals): If there are no actuals on a
+-      function call that is itself an actual in an enclosing call, diagnose
+-      problem here rather than assuming that resolution will catch it.
+-
+-      * sem_ch7.adb (Analyze_Package_Specification): If the specification is
+-      the local copy of a generic unit for a formal package, and the generic
+-      is a child unit, install private part of ancestors before compiling
+-      private part of spec.
+-
+-      * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
+-      use scope entities rather than tree structures, to handle properly
+-      parent units that are instances rewritten as bodies for inlining
+-      purposes.
+-
+-      * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
+-      Remove_Parents): Handle properly a parent unit that is an
+-      instantiation, when the unit has been rewritten as a body for inlining
+-      purposes.
+-
+-      * par.adb (Goto_List): Global variable to collect goto statements in a
+-      given unit, for use in detecting natural loops.
+-
+-      * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
+-      use in detecting natural loops.
+-
+-      * par-labl.adb (Find_Natural_Loops): Recognize loops create by
+-      backwards goto's, and rewrite as a infinite loop, to improve locality
+-      of temporaries.
+-
+-      * exp_util.adb (Force_Evaluation): Recognize a left-hand side
+-      subcomponent that includes an indexed reference, to prevent the
+-      generation of copies that would miscompile the desired assignment
+-      statement.
+-      (Build_Task_Image_Decls): Add a numeric suffix to
+-      generated name for string variable, to avoid spurious conflicts with
+-      the name of the type of a single protected object.
+-
+-      * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
+-      loop with an explicit exit statement, to avoid generating an
+-      out-of-range value with 'Succ leading to spurious constraint_errors
+-      when compiling with -gnatVo.
+-
+-2004-07-15  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
+-      might not be analyzed yet, even if its Etype is already set (case of an
+-      unchecked conversion built using Unchecked_Convert_To, for example).
+-      If the prefix has already been analyzed, this will be a nop anyway.
+-
+-      * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
+-      controller type, or an assignment of a record type with controlled
+-      components, copy only user data, and leave the finalization chain
+-      pointers untouched.
+-
+-2004-07-15  Vincent Celier  <celier@gnat.com>
+-
+-      * make.adb (Collect_Arguments): Improve error message when attempting
+-      to compile a source not part of any project, when -x is not used.
+-
+-      * prj.ads: (Defined_Variable_Kind): New subtype
+-
+-      * prj-attr.adb (Register_New_Package): Two new procedures to register
+-      a package with or without its attributes.
+-      (Register_New_Attribute): Mew procedure to register a new attribute in a
+-      package.
+-      New attribute oriented subprograms: Attribute_Node_Id_Of,
+-      Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
+-      Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
+-      Next_Attribute.
+-      New package oriented subprograms: Package_Node_Id_Of,
+-      Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
+-
+-      * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
+-      type.
+-      (Package_Node_Id): Now a private, self initialized type
+-      (Register_New_Package): New procedure to register a package with its
+-      attributes.
+-      New attribute oriented subprograms: Attribute_Node_Id_Of,
+-      Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
+-      Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
+-      Next_Attribute.
+-      New package oriented subprograms: Package_Node_Id_Of,
+-      Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
+-
+-      * prj-dect.adb (Parse_Attribute_Declaration,
+-      Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
+-
+-      * prj-makr.adb (Make): Parse existing project file before creating
+-      other files. Fail if there was an error during parsing.
+-
+-      * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
+-      new spec of Prj.Attr.
+-
+-      * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
+-      to new spec of Prj.Attr.
+-
+-2004-07-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * utils2.c: Fix typo in comment.
+-
+-2004-07-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
+-      * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
+-
+-2004-07-14  Andreas Schwab  <schwab@suse.de>
+-
+-      * trans.c (gnat_init_stmt_group): Remove duplicate definition.
+-
+-2004-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
+-      object type.
+-      (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
+-      TYPE_STUB_DECL.
+-
+-      * misc.c (gnat_types_compatible_p): New function.
+-      (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
+-      (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
+-
+-      * trans.c (gigi): Move processing of main N_Compilation_Unit here.
+-      (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
+-      (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
+-      (mark_visited): Don't mark dummy type.
+-      (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
+-      parameter, we must remove any LJM building from GNU_NAME.
+-      (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
+-      (pos_to_constructor): Use int_const_binop.
+-      (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
+-      PARM_DECL.
+-
+-      * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
+-      (gnat_pushlevel): Set TREE_USE on BLOCK node.
+-      (gnat_install_builtins): Add __builtin_memset.
+-
+-2004-07-13  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
+-      for a renaming, stabilize the initialization expression if we are at a
+-      local level.  At the local level, uses of the renaming may be performed
+-      by a direct dereference of the initializing expression, and we don't
+-      want possible variables there to be evaluated for every use.
+-
+-      * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
+-      Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
+-      them on the way.  Account for the fact that we may introduce side
+-      effects in the process.
+-
+-2004-07-13  Richard Henderson  <rth@redhat.com>
+-
+-      * misc.c (default_pass_by_ref): Use pass_by_reference.
+-
+-2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
+-
+-      * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
+-      LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
+-
+-2004-07-08  Richard Henderson  <rth@redhat.com>
+-
+-      * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
+-      commentary.
+-
+-2004-07-06  Vincent Celier  <celier@gnat.com>
+-
+-      * vms_conv.ads: Minor reformatting.
+-      Alphabetical order for enumerated values of type Command_Type, to have
+-      the command in alphabetical order for the usage.
+-
+-      * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
+-      the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
+-
+-      * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
+-
+-      * makegpr.adb (Global_Archive_Exists): New global Boolean variable
+-      (Add_Archive_Path): Only add the global archive if there is one.
+-      (Build_Global_Archive): Set Global_Archive_Exists depending if there is
+-      or not any object file to put in the global archive, and don't build
+-      a global archive if there is none.
+-      (X_Switches): New table
+-      (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
+-      in the X_Switches table, if any.
+-      (Initialize): Make sure the X_Switches table is empty
+-      (Scan_Arg): Record -X switches in table X_Switches
+-
+-      * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
+-
+-      * make.adb: Minor comment fix
+-
+-      * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
+-      invoked with directory information, add the directory in front of the
+-      path.
+-
+-      * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
+-      invoked with directory information, add the directory in front of the
+-      path.
+-
+-      * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
+-      when Keep_Temporary_Files is False.
+-      (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
+-      directory information, add the directory in front of the path.
+-      When not on VMS, handle new switch -dn before the command to set
+-      Keep_Temporary_Files to True.
+-      (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
+-      everywhere.
+-
+-      * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
+-      invoked with directory information, add the directory in front of the
+-      path.
+-
+-2004-07-06  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * snames.ads, snames.adb (Name_Stub): New name for the distributed
+-      systems annex.
+-
+-      * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
+-      New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
+-
+-      * g-socket.adb (To_Timeval): Fix incorrect conversion of
+-      Selector_Duration to Timeval for the case of 0.0.
+-
+-      * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
+-      documentation from Evolve_And_Then.
+-
+-2004-07-06  Jose Ruiz  <ruiz@act-europe.fr>
+-
+-      * s-taprop-tru64.adb, s-taprop-os2.adb,
+-      s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
+-
+-2004-07-06  Robert Dewar  <dewar@gnat.com>
+-
+-      * s-osinte-hpux.ads, s-osinte-freebsd.ads,
+-      s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
+-      s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
+-      s-interr-sigaction.adb, s-taprop-irix-athread.adb,
+-      s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
+-      s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
+-      s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
+-      s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
+-      a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
+-      a-tags.ads, bindgen.ads, checks.adb, checks.adb,
+-      csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
+-      exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
+-      g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
+-      i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
+-      sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
+-      sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
+-      sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
+-      s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
+-      s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
+-      s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
+-      vms_data.ads: Minor reformatting,
+-      Fix bad box comment format.
+-
+-      * gnat_rm.texi: Fix minor grammatical error
+-
+-      * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
+-
+-      * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
+-      more cases of discriminated records to be recognized as not needing a
+-      secondary stack.
+-      (Has_Access_Values): New function.
+-
+-      * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
+-
+-      * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
+-      Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
+-      with LRM terminology).
+-      Change terminology in comments primitive type => elementary type.
+-
+-2004-07-06  Ed Schonberg  <schonberg@gnat.com>
+-
+-      PR ada/15602
+-      * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
+-      parameters do not impose any requirements on the presence of a body.
+-
+-2004-07-06  Ed Schonberg  <schonberg@gnat.com>
+-
+-      PR ada/15593
+-      * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
+-      compilation unit and is in an open scope at the point of instantiation,
+-      assume that a body may be present later.
+-
+-2004-07-06  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
+-      Improve error message when specified size is not supported.
+-
+-      * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
+-      is never a primitive operation.
+-
+-2004-07-05  Andreas Schwab  <schwab@suse.de>
+-
+-      * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
+-      RECORD_OR_UNION_CHECK.
+-      (TYPE_CONTAINS_TEMPLATE_P): Likewise.
+-
+-2004-07-04  Kelley Cook  <kcook@gcc.gnu.org>
+-
+-      * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
+-      dependency on xgnatugn, instead build it via a submake.
+-      (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
+-
+-2004-07-04  Richard Henderson  <rth@redhat.com>
+-
+-      * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
+-
+-2004-07-01  Richard Henderson  <rth@redhat.com>
+-
+-      * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
+-      * utils.c (max_size): Likewise.
+-
+-2004-06-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
+-      and rest_of_type_compilation; add arg to create_*_decl.
+-      (annotate_decl_with_node): Deleted.
+-      (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
+-      * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
+-      (get_current_block_context, gnat_pushdecl): New declarations.
+-      (gnat_init_stmt_group): Likewise.
+-      (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
+-      * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
+-      (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
+-      (gnat_init): Call gnat_init_stmt_group.
+-      * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
+-      (gnu_pending_elaboration_list): Deleted.
+-      (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
+-      (gigi): Rearrange initialization calls and move some to last above.
+-      (gnat_to_gnu): If statement and not in procedure, go into elab proc.
+-      Delete calls to add_decl_expr; add arg to create_*_decl.
+-      (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
+-      (gnat_to_gnu, case N_Subprogram_Body): Move some code to
+-      begin_subprog_body and call it.
+-      Don't push and pop ggc context.
+-      (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
+-      (add_stmt): Remove handling of DECL_EXPR from here.
+-      If not in function, mark visited.
+-      (add_decl_expr): Put global at top level.
+-      Check for cases of DECL_INITIAL we have to handle here.
+-      (process_type): Add extra arg to create_type_decl.
+-      (build_unit_elab): Rework to just gimplify.
+-      * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
+-      (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
+-      (get_pending_elaborations, pending_elaborations_p): Likewise.
+-      (push_pending_elaborations, pop_pending_elaborations): Likewise.
+-      (get_elaboration_location, insert_elaboration_list): Likewise.
+-      (gnat_binding_level): Renamed from ada_binding_level.
+-      (init_gnat_to_gnu): Don't clear pending_elaborations.
+-      (global_bindings_p): Treat as global if no current_binding_level.
+-      (set_current_block_context): New function.
+-      (gnat_pushdecl): Renamed from pushdecl; major rework.
+-      All callers changed.
+-      (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
+-      (finish_record_type): Call call pushdecl for stub decl.
+-      (function_nesting_depth): Deleted.
+-      (begin_subprog_body): Delete obsolete code.
+-      * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
+-
+-2004-06-28  Robert Dewar  <dewar@gnat.com>
+-
+-      * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+-      mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
+-      mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
+-      mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
+-      a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
+-
+-      * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
+-      deal with problem of inefficient slices on machines with strict
+-      alignment, when the slice is a component of a composite.
+-
+-      * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
+-      machines, we need the check there as well.
+-
+-2004-06-28  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
+-      determine safe copying direction for overlapping slice assignments
+-      when component is controlled.
+-
+-      * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
+-      formal derived type in the actual for a formal package are visible in
+-      the enclosing instance.
+-
+-2004-06-28  Ed Schonberg  <schonberg@gnat.com>
+-
+-      PR ada/15600
+-      * sem_util.adb (Trace_Components): Diagnose properly an illegal
+-      circularity involving a private type whose completion includes a
+-      self-referential component.
+-      (Enter_Name): Use Is_Inherited_Operation to distinguish a source
+-      renaming or an instantiation from an implicit derived operation.
+-
+-2004-06-28  Pascal Obry  <obry@gnat.com>
+-
+-      * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
+-      DLL.
+-      (Library_File_Name_For): Idem.
+-
+-2004-06-28  Matthew Gingell  <gingell@gnat.com>
+-
+-      * g-traceb.ads: Add explanatory note on the format of addresses
+-      expected by addr2line.
+-
+-2004-06-28  Jerome Guitton  <guitton@act-europe.fr>
+-
+-      * Makefile.in: Force debugging information on s-tasdeb.adb,
+-      a-except.adb and s-assert.adb needed by the debugger.
+-
+-2004-06-28  Vincent Celier  <celier@gnat.com>
+-
+-      * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
+-      Need_To_Build_Lib.
+-      (Gnatmake): Ditto.
+-
+-      * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
+-
+-      * prj.adb: Minor reformatting
+-      (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
+-
+-      * prj.ads: Comment updates
+-      Minor reformatting
+-      (Project_Data): Change Flag1 to Need_To_Build_Lib.
+-      Remove Flag2: not used.
+-
+-      * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
+-      declaration.
+-
+-      * gnat_ugn.texi: Put a "null;" declaration in one project file example
+-
+-      * gnat_rm.texi: Document Empty declarations "null;".
+-
+-      * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
+-      front of the linker options.
+-      (Link_Foreign): Put the global archives and the libraries in front of
+-      the linker options.
+-
+-2004-06-28  Javier Miranda  <miranda@gnat.com>
+-
+-      * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
+-      (RTU_Loaded): Code cleanup
+-      (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
+-      withed predefined units.
+-
+-      * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
+-      explicitly withed predefined units.
+-      Fix typo in comment
+-
+-      * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
+-      explicitly withed predefined units.
+-
+-2004-06-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * ada-tree.def (DECL_STMT): Deleted.
+-      * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
+-      (DECL_STMT_VAR): Deleted.
+-      * decl.c: add_decl_stmt now add_decl_expr.
+-      * gigi.h: Likewise.
+-      * trans.c: Likewise.
+-      (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
+-      (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
+-      (add_stmt): Only handle padded type here.
+-      (add_stmt_with_node): Allow gnat_node to not be present.
+-      (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
+-      (gnat_gimplify_stmt, case DECL_STMT): Deleted.
+-      (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
+-      make a SAVE_EXPR for the entire fat pointer.
+-      * utils.c (pushdecl): Walk a DECL_EXPR in global case.
+-      (create_index_type): Make a DECL_EXPR.
+-      (end_subprog_body): Don't call allocate_struct_function here but
+-      do clear cfun.
+-
+-2004-06-25  Pascal Obry  <obry@gnat.com>
+-
+-      * makegpr.adb (Build_Library): Remove parameter Lib_Address and
+-      Relocatable from Build_Dynamic_Library call.
+-
+-      * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
+-      Relocatable are now synonym.
+-
+-      * Makefile.in: Use s-parame-mingw.adb on MingW platform.
+-
+-      * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
+-      Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
+-      call.
+-
+-      * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
+-      Lib_Address and Relocatable.
+-      (Default_DLL_Address): Removed.
+-
+-      * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+-      mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
+-      mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
+-      (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
+-      (Default_DLL_Address): Removed.
+-
+-      * mlib-tgt-mingw.adb: Ditto.
+-      (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
+-
+-      * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
+-      the initial thread stack size.
+-
+-      * a-strmap.ads: Move package L to private part as it is not used in
+-      the spec. Found while reading code.
+-
+-2004-06-25  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * tracebak.c: Introduce support for a GCC infrastructure based
+-      implementation of __gnat_backtrace.
+-
+-      * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
+-      any more. Use accessors instead. This eases maintenance and relaxes
+-      some alignment constraints.
+-      (_GNAT_Exception structure): Remove the Ada specific fields
+-      (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
+-      a-exexpr.adb.
+-      (is_handled_by, __gnat_eh_personality): Replace component references to
+-      exception structure by use of the new accessors.
+-
+-      * init.c (__gnat_initialize): Adjust comments to match the just
+-      reverted meaning of the -static link-time option.
+-
+-      * adaint.c (convert_addresses): Arrange not to define a stub for
+-      mips-irix any more, as we now want to rely on a real version from a
+-      recent libaddr2line.
+-
+-      * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
+-      the personality routine can use them and not have to rely on a C
+-      counterpart of the record anymore. This simplifies maintenance and
+-      relaxes the constraint of having Standard'Maximum_Alignment match
+-      BIGGEST_ALIGNMENT.
+-      Update comments, and add a section on the common header alignment issue.
+-
+-2004-06-25  Geert Bosch  <bosch@gnat.com>
+-
+-      * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
+-      polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
+-
+-2004-06-25  Robert Dewar  <dewar@gnat.com>
+-
+-      * gnat_rm.texi: Fix section on component clauses to indicate that the
+-      restriction on byte boundary placement still applies for bit packed
+-      arrays.
+-      Add comment on stack usage from Initialize_Scalars
+-
+-      * gnat_ugn.texi: Add documentation for -gnatyLnnn
+-
+-      * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
+-      limiting nesting level.
+-
+-      * usage.adb: Add line for -gnatyLnnn switch
+-
+-      * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
+-      sem_ch13.adb, exp_aggr.adb: Minor reformatting
+-
+-      * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
+-      type as well as on the subtype. This corrects a problem in freeze in
+-      setting alignments of atomic types.
+-
+-      * sem_eval.ads: Minor comment typo fixed
+-
+-      * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
+-      level.  Minor reformatting.
+-
+-      * fname.adb (Is_Predefined_File_Name): Require a letter after the
+-      minus sign. This means that file names like a--b.adb will not be
+-      considered predefined.
+-
+-      * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
+-      record Test new flag and give diagnostic for bad component clause.
+-      (Freeze_Entity): Set alignment of array from component alignment in
+-      cases where this is safe to do.
+-
+-      * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
+-      arrays.
+-
+-      * cstand.adb: (Create_Standard): Set alignment of String to 1
+-
+-      * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
+-
+-      * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
+-      code in the common constrained array cases.
+-
+-      * a-storio.adb: Change implementation to avoid possible alignment
+-      problems on machines requiring strict alignment (data should be moved
+-      as type Buffer, not type Elmt).
+-
+-      * checks.adb (Apply_Array_Size_Check): Improve these checks by
+-      killing the overflow checks which we really do not need (64-bits is
+-      enough).
+-
+-2004-06-25  Vincent Celier  <celier@gnat.com>
+-
+-      * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
+-      (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
+-      inconditionally for the main project.
+-      (Recursive_Add_Archives.Add_Archive_Path): New procedure
+-      (Link_Executables.Check_Time_Stamps): New procedure
+-      (Link_Executables.Link_Foreign): New procedure
+-      Changes made to reduce nesting level of this package
+-      (Check): New procedure
+-      (Add_Switches): When not in quiet output, check that a switch is not
+-      the concatenation of several valid switches. If it is, issue a warning.
+-      (Build_Global_Archive): If the global archive is rebuilt, linking need
+-      to be done.
+-      (Compile_Sources): Rebuilding a library archive does not imply
+-      rebuilding the global archive.
+-      (Build_Global_Archive): New procedure
+-      (Build_Library): New name for Build_Archive, now only for library
+-      project
+-      (Check_Archive_Builder): New procedure
+-      (Create_Global_Archive_Dependency_File): New procedure
+-      (Gprmake): Call Build_Global_Archive before linking
+-      * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
+-      throughout.
+-      (Scan_Arg): Display the Copyright notice when -v is used
+-
+-      * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
+-      for gnatls.
+-
+-      * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
+-      COMPILE.
+-      Add new GNAT LIST qualifier /FILES=
+-      Added qualifier /DIRECTORY= to GNAT METRIC
+-      Added qualifier /FILES= to GNAT METRIC
+-      Added qualifier /FILES to GNAT PRETTY
+-
+-      * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
+-      to take into account both versions of the switch.
+-
+-      * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
+-      always be the last switch to the gcc driver. Disable switch storing so
+-      that switches automatically added by the gcc driver are not put in the
+-      ALI file.
+-
+-      * prj.adb (Project_Empty): Take into account changes in components of
+-      Project_Data.
+-
+-      * prj.ads (Languages_Processed): New enumaration value All_Languages.
+-
+-      * prj.ads (Project_Data): Remove component Lib_Elaboration: never
+-      used. Split Boolean component Ada_Sources_Present in two Boolean
+-      components Ada_Sources_Present and Other_Sources_Present.
+-      Minor reformatting
+-
+-      * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
+-      instead of Sources_Present.
+-      (Set_Ada_Paths.Add.Recursive_Add): Ditto
+-
+-      * prj-nmsc.adb: Minor reformatting
+-      (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
+-      (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
+-      Check_Ada_Naming_Scheme.
+-      Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
+-      throughout.
+-
+-      * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
+-      In_Limited.
+-      Make sure that all cycles where there is at least one "limited with"
+-      are detected.
+-      (Parse_Single_Project): New Boolean parameter In_Limited
+-
+-      * prj-proc.adb (Recursive_Check): When Process_Languages is
+-      All_Languages, call first Prj.Nmsc.Ada_Check, then
+-      Prj.Nmsc.Other_Languages_Check.
+-
+-      * prj-proc.adb (Process): Use Ada_Sources_Present or
+-      Other_Sources_Present (instead of Sources_Present) depending on
+-      Process_Languages.
+-
+-      * lang-specs.h: Keep -g and -m switches in the same order, and as the
+-      last switches.
+-
+-      * lib.adb (Switch_Storing_Enabled): New global Boolean flag
+-      (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
+-      False.
+-      (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
+-      False.
+-
+-      * lib.ads (Disable_Switch_Storing): New procedure.
+-
+-      * make.adb: Modifications to reduce nesting level of this package.
+-      (Check_Standard_Library): New procedure
+-      (Gnatmake.Check_Mains): New procedure
+-      (Gnatmake.Create_Binder_Mapping_File): New procedure
+-      (Compile_Sources.Compile): Add switch -gnatez as the last option
+-      (Display): Never display -gnatez
+-
+-      * Makefile.generic:
+-      When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
+-
+-      * gnatcmd.adb (Check_Project): New function
+-      (Process_Link): New procedure to reduce nesting depth
+-      (Check_Files): New procedure to reduce the nesting depth.
+-      For GNAT METRIC, include the inherited sources in extending projects.
+-      (GNATCmd): When GNAT LS is invoked with a project file and no files,
+-      add the list of files from the sources of the project file. If this list
+-      is too long, put it in a temp text files and use switch -files=
+-      (Delete_Temp_Config_Files): Delete the temp text file that contains
+-      a list of source for gnatpp or gnatmetric, if one has been created.
+-      (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
+-      in the project file is too large, create a temporary text file that
+-      list them and pass it to the tool with "-files=<temp text file>".
+-      (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
+-
+-      * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
+-      generated file is in not in Ada.
+-
+-      * gnatls.adb: Remove all parameters And_Save that are no longer used.
+-      (Scan_Ls_Arg): Add processing for -files=
+-      (Usage): Add line for -files=
+-
+-      * g-os_lib.adb (On_Windows): New global constant Boolean flag
+-      (Normalize_Pathname): When on Windows and the path starts with a
+-      directory separator, make sure that the resulting path will start with
+-      a drive letter.
+-
+-      * clean.adb (Clean_Archive): New procedure
+-      (Clean_Project): When there is non-Ada code, delete the global archive,
+-      the archive dependency files, the object files and their dependency
+-      files, if they exist.
+-      (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
+-
+-2004-06-25  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * sinfo.ads: Fix typo in comment.
+-
+-      * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
+-      the TSS for remote access-to-subprogram types, since these TSS are
+-      always present once the type has been analyzed.
+-      (RAS_E_Dereference): Same.
+-
+-      * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
+-      reference raises Bad_Attribute, mark the reference as analyzed so the
+-      node (and any children resulting from rewrites that could have occurred
+-      during the analysis that ultimately failed) is not analyzed again.
+-
+-      * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
+-
+-      * exp_dist.adb: Minor comment fix.
+-
+-      * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
+-      type is an anonymous access type, no unchecked deallocation of the
+-      allocated object can occur. If the object is controlled, attach it with
+-      a count of 1. This allows attachment to the Global_Final_List, if
+-      no other relevant list is available.
+-      (Get_Allocator_Final_List): For an anonymous access type that is
+-      the type of a discriminant or record component, the corresponding
+-      finalisation list is the one of the scope of the type.
+-
+-2004-06-25  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch3.adb (Replace_Type): When computing the signature of an
+-      inherited subprogram, use the first subtype if the derived type
+-      declaration has no constraint.
+-
+-      * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
+-      before applying previous optimization. Minor code cleanup.
+-
+-      * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
+-      placed at the beginning of an unpacked record without explicit
+-      alignment, a slice of it will be aligned and does not need a copy when
+-      used as an actual.
+-
+-2004-06-25  Ed Schonberg  <schonberg@gnat.com>
+-
+-      PR ada/15591
+-      PR ada/15592
+-      * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
+-      reference is written with expressions mimicking parameters.
+-
+-2004-06-25  Hristian Kirtchev  <kirtchev@gnat.com>
+-
+-      PR ada/15589
+-      * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
+-      STEP 2a. The constraints of a full type declaration of a derived record
+-      type are checked for conformance with those declared in the
+-      corresponding private extension declaration. The message
+-      "not conformant with previous declaration" is emitted if an error is
+-      detected.
+-
+-2004-06-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
+-
+-      * g-traceb.ads: Document the need for -E binder switch in the spec.
+-
+-      * g-trasym.ads: Document the need for -E binder switch in the spec.
+-
+-2004-06-25  Jose Ruiz  <ruiz@act-europe.fr>
+-
+-      * sem_prag.adb: Add handling of pragma Detect_Blocking.
+-
+-      * snames.h, snames.ads, snames.adb: Add entry for pragma
+-      Detect_Blocking.
+-
+-      * s-rident.ads: Change reference to pragma Detect_Blocking.
+-
+-      * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
+-      system.ads.
+-
+-      * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
+-      to indicate whether pragma Detect_Blocking is active.
+-
+-      * par-prag.adb: Add entry for pragma Detect_Blocking.
+-
+-      * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
+-      of not handling WITH.
+-      Note that this replaces the previous update which was incorrect.
+-
+-2004-06-25  Javier Miranda  <miranda@gnat.com>
+-
+-      * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
+-      use-clauses to have a clean environment.
+-
+-      * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
+-      the installation of the use-clauses to stablish a clean environment in
+-      case of compilation of a separate unit; otherwise the call to
+-      use_one_package is protected by the barrier Applicable_Use.
+-
+-      * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
+-      the installation of the use-clauses to stablish a clean environment in
+-      case of compilation of a separate unit.
+-      (End_Use_Clauses): Minor comment cleanup.
+-
+-2004-06-25  Sergey Rybin  <rybin@act-europe.fr>
+-
+-      * gnat_ugn.texi: Add description of the gnatpp 'files' switch
+-
+-2004-06-23  Richard Henderson  <rth@redhat.com>
+-
+-      * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
+-
+-2004-06-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * decl.c (elaborate_expression, elaborate_expression_1): Arguments
+-      now bool instead of int.
+-      (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
+-      * trans.c (gnu_switch_label_stack): New function.
+-      (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
+-      elaboration of renamed entity returns.
+-      (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
+-      (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
+-      (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
+-      (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
+-      DECL_SIZE_UNIT and simplify variable-sized case.
+-      (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
+-      Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
+-      (gnat_stabilize_reference): Add arg to COMPONENT_REF.
+-      (build_unit_elab): Disable for now.
+-      * utils.c (mark_visited): New function.
+-      (pushdecl): Walk tree to call it for global decl.
+-      (update_pointer_to): Update all variants of pointer and ref types.
+-      Add arg to COMPONENT_REF.
+-      (convert): Likewise.
+-      Move check for converting between variants lower down.
+-      * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
+-      (build_allocator): Don't force type of MODIFY_EXPR.
+-      (gnat_mark_addressable, case VAR_DECL): Unconditionally call
+-      put_var_into_stack.
+-
+-2004-06-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
+-      * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
+-      * decl.c (gnat_to_gnu_entity): Also set force_global for imported
+-      subprograms.
+-      * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
+-      all callers changed.
+-      (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
+-      the way that EXIT_STMT finds the loop label.
+-      (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
+-      (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
+-      (add_stmt): Use annotate_with_locus insted of setting directly.
+-      (pos_to_construct): Set TREE_PURPOSE of each entry to index.
+-      (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
+-      * utils.c (gnat_install_builtins): Install __builtin_memcmp.
+-      (build_vms_descriptor): Add extra args to ARRAY_REF.
+-      (convert): Use VIEW_CONVERT_EXPR between aggregate types.
+-      * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
+-      New cases.
+-      (build_binary_op): Don't make explicit CONVERT_EXPR.
+-      Add extra rgs to ARRAY_REF.
+-
+-2004-06-14  Pascal Obry  <obry@gnat.com>
+-
+-      * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
+-      Windows.  Fix minor typo.
+-
+-      * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
+-      which is now supported on Windows. With this implementation using the
+-      Library Project feature is no different on Windows than on UNIX.
+-
+-2004-06-14  Vincent Celier  <celier@gnat.com>
+-
+-      * makegpr.adb (Compile_Sources): Nothing to do when there are no
+-      non-Ada sources.
+-
+-      * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
+-
+-      * prj-part.adb (Parse_Single_Project): When a duplicate project name is
+-      found, show the project name and the path of the previously parsed
+-      project file.
+-
+-2004-06-14  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
+-      array, avoid copying the actual before the call.
+-
+-2004-06-14  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
+-      Instead, allocate memory on worst-case alignment assumptions, and then
+-      return an aligned address within the allocated zone.
+-
+-2004-06-14  Robert Dewar  <dewar@gnat.com>
+-
+-      * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
+-      elab entities in predefined units in No_Run_Time_Mode.
+-      (Gen_Adainit_C): Same fix
+-      (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
+-      units in No_Run_Time_Mode
+-      (Gen_Elab_Calls_C): Same fix
+-
+-      * symbols-vms-alpha.adb: Minor reformatting
+-
+-      * g-debpoo.ads: Minor reformatting
+-
+-      * lib.adb (In_Same_Extended_Unit): Version working on node id's
+-
+-      * lib.ads (In_Same_Extended_Unit): Version working on node id's
+-
+-      * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
+-      working on nodes.
+-
+-      * make.adb: Minor reformatting
+-
+-      * par-ch12.adb: Minor reformatting
+-
+-      * par-prag.adb: Add dummy entry for pragma Profile_Warnings
+-
+-      * prj-strt.adb: Minor reformatting
+-
+-      * restrict.ads, restrict.adb: Redo handling of profile restrictions to
+-      be more general.
+-
+-      * sem_attr.adb: Minor reformatting
+-
+-      * sem_ch7.adb: Minor reformatting
+-
+-      * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
+-      for type in the same unit as the object declaration.
+-
+-      * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
+-      static string expressions and not just string literals.
+-      Minor reformatting
+-      (Set_Warning): Reset restriction warning flag for restriction pragma
+-      Implement pragma Profile_Warnings
+-      Implement pragma Profile (Restricted)
+-      Give obolescent messages for old restrictions and pragmas
+-
+-      * snames.h, snames.ads, snames.adb: Add new entry for pragma
+-      Profile_Warnings.
+-
+-      * s-rident.ads: Add declarations for restrictions required by profile
+-      Restricted and profile Ravenscar.
+-
+-      * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
+-
+-      * gnat_ugn.texi: Correct some missing entries in the list of GNAT
+-      configuration pragmas.
+-
+-2004-06-11  Vincent Celier  <celier@gnat.com>
+-
+-      * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
+-      gnatsym, when symbol policy is Restricted.
+-
+-      * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
+-      gnatsym, when symbol policy is Restricted.
+-
+-      * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
+-      read the symbol file.
+-      (Finalize): Fail in symbol policy Restricted if a symbol in the original
+-      symbol file is not in the object files. Do not create a new symbol file
+-      when symbol policy is Restricted.
+-
+-      * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
+-      in Scng.
+-
+-      * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
+-      Restricted.
+-      (Usage): Line for new switch -R
+-
+-      * make.adb (Initialize): When the platform is not VMS, add the
+-      directory where gnatmake is invoked in the front of the path, if
+-      gnatmake is invoked with directory information.  Change the Scan_Args
+-      while loop to a for loop.
+-      (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
+-      if Depth is equal or greater than the proposed depth, there is nothing
+-      to do.
+-      (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
+-      instead of 0.
+-
+-      * prj.ads: Add new symbol policy Restricted.
+-
+-      * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
+-      with the new parameters Check_All_Labels and Case_Location.
+-
+-      * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
+-      (Library_Symbol_File needs to be defined).
+-
+-      * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
+-      and Case_Location If Check_All_Labels is True, check that all values of
+-      the string type are used, and output warning(s) if they are not.
+-
+-      * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
+-      and Case_Location.
+-
+-      * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
+-
+-      * gnat_ugn.texi: Update documentation about the library directory in
+-      Library Projects.
+-
+-      * makegpr.adb (Display_Command): In verbose mode, also display the
+-      value of the CPATH env var, when the compiler is gcc.
+-      (Initialize): Change the Scan_Args while loop to a for loop
+-      (Compile_Individual_Sources): Change directory to object directory
+-      before compilations.
+-
+-      * symbols.ads: New symbol policy Restricted.
+-
+-2004-06-11  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * a-except.adb (Raise_After_Setup family): Remove. The responsibility
+-      is now taken care of internally in the Exception_Propagation package
+-      and does not require clients assistance any more.
+-
+-      * a-exexpr.adb (Is_Setup_And_Not_Propagated,
+-      Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
+-      functions. Helpers to maintain a predicate required in the handling of
+-      occurrence transfer between tasks.
+-      This is now handled internally and does not require clients assistance
+-      for the setup/propagate separation anymore.
+-      (Setup_Exception, Propagate_Exception): Simplify the Private_Data
+-      allocation strategy, handle the Setup_And_Not_Propagated predicate and
+-      document.
+-
+-      * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
+-      raise_after_setup, now that everything is handled internally within the
+-      setup/propagation engine.
+-
+-2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
+-
+-      * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
+-      Add additional conditions for the case of an actual being a simple
+-      name or literal. Improve inlining by preventing the generation
+-      of temporaries with a short lifetime (one use).
+-
+-2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
+-
+-      PR ada/15587
+-      * einfo.ads: Minor comment updates for Has_Completion and
+-      E_Constant list of flags.
+-
+-      * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
+-      and constant redeclarations now set the Has_Completion flag of their
+-      defining identifiers.
+-
+-      * sem_ch7.adb (Analyze_Package_Spec): Add procedure
+-      Inspect_Deferred_Constant_Completion.
+-      Used to detect private deferred constants that have not been completed
+-      either by a constant redeclaration or pragma Import. Emits error message
+-      "constant declaration requires initialization expression".
+-
+-      * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
+-      completes a deferred constant.
+-
+-2004-06-11  Geert Bosch  <bosch@gnat.com>
+-
+-      * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
+-
+-      * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
+-      calculating exponent for scaling denormal numbers.
+-      (Leading_Part): Properly raise Constraint_Error for zero or negative
+-      Adjustment.
+-      (Remainder): Properly raise Constraint_Error for zero divisor.
+-
+-2004-06-11  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * sem_util.adb: Minor reformatting.
+-
+-      * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
+-      dereference when accessing the entry parameter record.
+-      (Check_Array_Type): Always check for possible implicit dereference.
+-      (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
+-      Abort if a pointer is still present (denoting that an implicit
+-      dereference was left in the tree by the front-end).
+-
+-      * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
+-      dereference when accessing the entry parameter record.
+-      (Check_Array_Type): Always check for possible implicit dereference.
+-      (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
+-      Abort if a pointer is still present (denoting that an implicit
+-      dereference was left in the tree by the front-end).
+-
+-2004-06-11  Emmanuel Briot  <briot@act-europe.fr>
+-
+-      * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
+-      message, like the compiler itself does. Easier to parse the output.
+-
+-      * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
+-
+-      * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
+-      be base names, and not includes directories.
+-
+-2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
+-      so that dependencies are properly taken into account by make.
+-
+-2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      PR ada/15622
+-      * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
+-      exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
+-
+-2004-06-11  Jerome Guitton  <guitton@act-europe.fr>
+-
+-      * Makefile.in (install-gnatlib): install target-specific run-time files.
+-
+-      * Make-lang.in: Remove obsolete targets.
+-
+-2004-06-11  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
+-      specification, to catch misuses of program unit names.
+-
+-      * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
+-      superfluous conversions in an instance.
+-
+-2004-06-11  Ed Schonberg  <schonberg@gnat.com>
+-
+-      PR ada/15403
+-      * sem_ch12.adb (Save_References): If operator node has been folded to
+-      enumeration literal, associated_node must be discarded.
+-
+-2004-06-11  Jose Ruiz  <ruiz@act-europe.fr>
+-
+-      * s-stchop-vxworks.adb: Add required pragma Convention to
+-      Task_Descriptor because it is updated by a C function.
+-
+-2004-06-08  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      PR ada/15568
+-      * Makefile.in: Remove target specific SO_OPT on IRIX
+-
+-2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
+-      (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
+-      (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
+-      (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
+-      (STMT_STMT, USE_STMT): New statement codes.
+-      (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
+-      * ada-tree.h: Reflect above changes.
+-      (struct tree_loop_id): Deleted.
+-      (union lang_tree_node, struct lang_decl, struct lang_type):
+-      Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
+-      and DECL_LANGUAGE_SPECIFIC to reflect these changes.
+-      (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
+-      (IS_ADA_STMT): New macro.
+-      * decl.c (annotate_decl_with_node): New function.
+-      (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
+-      (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
+-      Call add_stmt_with_node to do needed assignments.
+-      Add call to update setjmp buffer directly, not via EXPR_STMT.
+-      (maybe_variable): Argment GNAT_NODE deleted.
+-      * gigi.h (maybe_variable): Likewise.
+-      (make_transform, add_stmt_with_node, set_block_for_group): New.
+-      (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
+-      (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
+-      (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
+-      (set_lineno, set_lineno_from_sloc): Likewise.
+-      (record_code_position, insert_code_for): Likewise.
+-      (gnat_poplevel): Now returns void.
+-      (end_subprog_body): Now takes argument.
+-      * misc.c (cgraph.h, tree-inline.h): New includes.
+-      (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
+-      (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
+-      (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
+-      (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
+-      (gnat_parse_file): Don't set immediate_size_expand.
+-      Call cgraph functions.
+-      (gnat_expand_expr): Remove most cases.
+-      (record_code_position, insert_code_for): Remove from here.
+-      * trans.c (toplev.h, tree-gimple.h): Now included.
+-      (discard_file_names): Deleted.
+-      (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
+-      (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
+-      (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
+-      (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
+-      (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
+-      (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
+-      (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
+-      (set_block_for_group, add_stmt_list): Likewise.
+-      (start_stmt_group): Renamed from start_block_stmt.
+-      (end_stmt_group): Likewise, from end_block_stmt.
+-      (build_stmt_group): Likewise, from build_block_stmt, also add arg.
+-      (gigi): Don't set discard_file_names or call set_lineno.
+-      Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
+-      (tree_transform): Deleted, now renamed to be gnat_to_gnu.
+-      Numerous changes throughout to reflect new names and complete
+-      function-at-a-time implementation.
+-      (gnat_expand_stmt): Delete or comment out all cases.
+-      (process_inlined_subprograms): Use add_stmt.
+-      (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
+-      call set_lineno; also remove unneeded block handling.
+-      (process_type): Remove unneeded block handling.
+-      (build_unit_elab): Remove calls to deleted functions.
+-      * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
+-      (tree-dump.h): Likewise.
+-      (struct ada_binding_level): Add field jmpbuf_decl.
+-      (gnat_define_builtin, gnat_install_builtins): New.
+-      (gnat_gimplify_function, gnat_finalize): Likewise.
+-      (gnat_poplevel): No longer return BLOCK, set it instead.
+-      Remove code dealing with nested functions.
+-      (gnat_init_decl_processing): Also set size_type_node.
+-      Call gnat_install_builtins.
+-      (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
+-      (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
+-      Remove special-case for "main".
+-      (end_subprog_body): Add arg and rework for tree-ssa.
+-      (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
+-      Add case for BOOLEAN_TYPE.
+-      * utils2.c (rtl.h): Now include.
+-      (build_call_raise): Test Debug_Flag_NN directly.
+-      (build_call_alloc_dealloc): Don't use local stack allocation for now.
+-      (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
+-      (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
+-
+-2004-06-07  Robert Dewar  <dewar@gnat.com>
+-
+-      * a-direct.ads, einfo.ads: Minor comment updates
+-
+-      * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
+-      s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
+-      s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
+-      s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
+-      s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
+-
+-      * s-interr-sigaction.adb: Remove unreferenced variable
+-      (Attached_Interrupts).  Minor reformatting.
+-      Avoid use of variable I (replace by J).
+-
+-      * par-ch10.adb: Fix text of one error message
+-
+-      * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
+-      exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
+-      exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
+-      opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
+-      par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
+-      par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
+-      sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
+-      sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
+-      sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
+-      sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
+-      snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
+-      2005 support.
+-
+-2004-06-07  Doug Rupp  <rupp@gnat.com>
+-
+-      * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
+-
+-      * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
+-
+-      * mlib-tgt-vms-ia64.adb: New file.
+-
+-      * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
+-      Add mlib-tgt-vms-ia64.adb
+-      Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
+-      Move to alpha specific ifeq section.
+-      Add VMS specific versions of symbols.adb
+-      Renaming of 5q vms files.
+-
+-      * 5qsystem.ads renamed to system-vms_64.ads.
+-
+-2004-06-07  Vincent Celier  <celier@gnat.com>
+-
+-      * a-calend.ads: Add a GNAT Note comment after function Time_Of to
+-      explain that when a time of day corresponding to the non existing hour
+-      on the day switching to DST is specified, Split may return a different
+-      value for Seconds.
+-
+-      * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
+-      to GNAT PRETTY.
+-
+-      * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
+-      (Normalize_Pathname): Only resolve VMS logical names when on VMS.
+-
+-      * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
+-      to False.
+-      If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
+-      the linking options.
+-      (Build_Library.Check_Libs): On VMS, if there is a dependency on
+-      g-trasym.ads, set Gtrasymobj_Needed to True.
+-
+-      * prj-attr.adb: Add new package Metrics for gnatmetric
+-
+-      * prj-nmsc.adb (Record_Other_Sources): Put source file names in
+-      canonical case to take into account files with upper case characters on
+-      Windows.
+-      (Ada_Check): Load the reference symbol file name in the name buffer to
+-      check it, not the symbol file name.
+-
+-      * snames.ads, snames.adb: Add standard name Metrics (name of project
+-      file package for gnatmetric).
+-
+-      * vms_conv.ads: Add Metric to Comment_Type
+-
+-      * vms_conv.adb (Initialize): Add component dor Metric in Command_List
+-
+-      * vms_data.ads: Add qualifiers for GNAT METRIC
+-
+-      * makegpr.adb (Link_Executables): Take into account the switches
+-      specified in package Linker of the main project.
+-
+-2004-06-07  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
+-      the index of the last element is Units.Last, not Units.Table'Last
+-      (which is usually not a valid index within the actually allocated
+-      storage for the table).
+-
+-      * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
+-      determines whether to generate a call to a checked storage pool
+-      Dereference action.
+-      Generate such a call only for a dereference that either comes from
+-      source, or is the result of rewriting a dereference that comes from
+-      source.
+-
+-2004-06-07  Romain Berrendonner  <berrendo@act-europe.fr>
+-
+-      * bindgen.adb (Gen_Output_File): Add support for GAP builds.
+-
+-2004-06-07  Eric Botcazou  <ebotcazou@act-europe.fr>
+-
+-      (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
+-      file level, elaborate the stride for inner dimensions in alignment
+-      units, not bytes.
+-
+-      * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
+-      in a comment.
+-
+-2004-06-07  Javier Miranda  <miranda@gnat.com>
+-
+-      * exp_ch6.adb: Correct wrong modification in previous patch
+-
+-2004-06-07  Vasiliy Fofanov  <fofanov@act-europe.fr>
+-
+-      * g-trasym.ads: Corrected comment to properly reflect level of support
+-      on VMS.
+-
+-2004-06-07  Hristian Kirtchev  <kirtchev@gnat.com>
+-
+-      * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
+-      includes case of a variable referenced on the left hand side of an
+-      assignment, therefore remove redundant code. Variables and prefixes of
+-      indexed or selected components are now marked as referenced on left
+-      hand side. Warnings are now properly emitted when variables or prefixes
+-      are assigned but not read.
+-
+-      * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
+-      left hand side referenced variables. Private access types do not
+-      produce the warning "variable ... is assigned but never read".
+-      Add also additional checks to left hand side referenced variables.
+-      Aliased, renamed objects and access types do not produce the warning
+-      "variable ... is assigned but never read" since other entities may read
+-      the memory location.
+-
+-2004-06-07  Jerome Guitton  <guitton@act-europe.fr>
+-
+-      * Makefile.in: In the powerpc/vxworks-specific section, restore
+-      EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
+-      by mistake).
+-
+-2004-06-07  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
+-      predefined operators.
+-      Removes spurious type errors from g-trasym-vms.adb.
+-
+-      * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
+-      distinct from the operator appearing in the source, call appropriate
+-      routine to insert conversions when needed, and complete resolution of
+-      node.
+-      (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
+-      interpretations for rewritten right operand.
+-      (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
+-      the other operand is overloaded and the context is a type conversion.
+-
+-2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * ada-tree.def (BLOCK_STMT): Now has two operands.
+-      (BREAK_STMT): New.
+-
+-      * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
+-
+-      * gigi.h: (gnat_poplevel): Now returns a tree.
+-
+-      * trans.c (end_block_stmt): Add arg; all callers changed.
+-      (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
+-      (start_block_stmt): Clear BLOCK_STMT_BLOCK.
+-      (add_stmt): Set TREE_TYPE.
+-      (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
+-      (gnat_expand_stmt, case BREAK_STMT): New case.
+-
+-      * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
+-
+-2004-06-07  Jose Ruiz  <ruiz@act-europe.fr>
+-
+-      * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
+-      procedure Set_Stack_Size that is not needed.
+-
+-2004-06-07  Sergey Rybin  <rybin@act-europe.fr>
+-
+-      * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
+-      used for gnatpp input file and for the files upon which it depends
+-
+-2004-06-07  Ben Brosgol  <brosgol@gnat.com>
+-
+-      * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
+-
+-2004-06-07  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * gnatvsn.ads: Bump version numbers appropriately.
+-      Add new build type.
+-
+-2004-06-07  Pascal Obry  <obry@gnat.com>
+-
+-      * gnat_ugn.texi: Improve comments about imported names and link names
+-      on Windows. Add a note about the requirement to use -k gnatdll's option
+-      when working with a DLL which has stripped stdcall symbols (no @nn
+-      suffix).
+-
+-2004-05-27  Vincent Celier  <celier@gnat.com>
+-
+-      * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
+-      COMMENTS_LAYOUT=UNTOUCHED
+-
+-      * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
+-      symbols-vms-alpha.adb
+-
+-2004-05-27  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * sem.ads: Clarify documentation on checks suppression.
+-
+-      * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
+-
+-2004-05-27  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
+-      the case of multiple derivations.
+-      (Is_Object_Reference): For a selected component, verify that the prefix
+-      is itself an object and not a value.
+-
+-      * sem_ch12.adb (Same_Instantiated_Constant): New name for
+-      Same_Instantiated_Entity.
+-      (Same_Instantiated_Variable): Subsidiary to
+-      Check_Formal_Package_Instance, to recognize actuals for in-out generic
+-      formals that are obtained from a previous formal package.
+-      (Instantiate_Subprogram_Body): Emit proper error when
+-      generating code and the proper body of a stub is missing.
+-
+-      * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
+-      has a universal interpretation, do the disambiguation here.
+-
+-      * exp_ch4.adb (Expand_N_Type_Conversion,
+-      Expand_N_Unchecked_Type_Conversion): Special handling when target type
+-      is Address, to avoid typing anomalies when Address is a visible integer
+-      type.
+-
+-      * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
+-      to determine whether a subprogram should not be marked Pure, even when
+-      declared in a pure package.
+-
+-2004-05-27  Jose Ruiz  <ruiz@act-europe.fr>
+-
+-      * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
+-
+-      * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
+-      Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
+-      Update the documentation about the Ravenscar profile, following the
+-      definition found in AI-249.
+-
+-      * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
+-      setting the Profile (Ravenscar). This must be done in addition to
+-      setting the required restrictions.
+-
+-      * rtsfind.ads: Add the set of operations defined in package
+-      Ada.Interrupts.
+-
+-      * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
+-      restriction.
+-
+-2004-05-27  Eric Botcazou  <ebotcazou@act-europe.fr>
+-
+-      lang-specs.h: Always require -c or -S and always redirect to /dev/null
+-      if -gnatc or -gnats is passed.
+-
+-2004-05-27  Hristian Kirtchev  <kirtchev@gnat.com>
+-
+-      * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
+-      a significant reference. Warnings are now properly emitted when a
+-      discriminated type is not referenced.
+-
+-      * lib-xref.adb (Generate_Reference): A deferred constant completion,
+-      record representation clause or record type discriminant does not
+-      produce a reference to its corresponding entity. Warnings are now
+-      properly emitted when deferred constants and record types are not
+-      referenced.
+-
+-2004-05-27  Geert Bosch  <bosch@gnat.com>
+-
+-      * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
+-      Fixes ACATS Annex G tests.
+-
+-2004-05-27  Robert Dewar  <dewar@gnat.com>
+-
+-      * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
+-      handling WITH
+-
+-2004-05-27  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * s-interr.adb (Server_Task): Take into account case of early return
+-      from sigwait under e.g. linux.
+-
+-2004-05-27  Sergey Rybin  <rybin@act-europe.fr>
+-
+-      * gnat_ugn.texi: Add description for the new gnatpp options:
+-       -rnb - replace the original source without creating its backup copy
+-       -c0 - do not format comments
+-
+-2004-05-24  Geert Bosch  <bosch@gnat.com>
+-
+-      * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
+-      with 192 bits of precision, sufficient to reduce a double-extended
+-      arguments X with a maximum relative error of T'Machine_Epsilon, for X
+-      in -2.0**32 .. 2.0**32.
+-      (Cos, Sin):  Always reduce arguments of 1/4 Pi or larger, to prevent
+-      reduction by the processor, which only uses a 68-bit approximation of
+-      Pi.
+-      (Tan): Always reduce arguments and compute function either using
+-      the processor's fptan instruction, or by dividing sin and cos as needed.
+-
+-2004-05-24  Doug Rupp  <rupp@gnat.com>
+-
+-      * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
+-      gcc error on 32/64 bit VMS.
+-
+-2004-05-24  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
+-      since this is what we get for stack overflows although not documented
+-      as such.
+-      Document the issues which may require adjustments to our signal
+-      handlers.
+-
+-2004-05-24  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
+-      enclosing dynamic scope if the instantiation is within a generic unit.
+-
+-2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * exp_dbug.ads: Fix typo.
+-
+-      * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
+-      Rename it to its proper name: system-linux-ia64.ads
+-      (stamp-gnatlib1): Remove extra target specific run time files when
+-      setting up the rts directory.
+-
+-2004-05-24  Javier Miranda  <miranda@gnat.com>
+-
+-      * einfo.ads, einfo.adb (Limited_Views): Removed.
+-      (Limited_View): New attribute that replaces the previous one. It is
+-      now a bona fide package with the limited-view list through the
+-      first_entity and first_private attributes.
+-
+-      * sem_ch10.adb (Install_Private_With_Clauses): Give support to
+-      limited-private-with clause.
+-      (Install_Limited_Withed_Unit): Install the private declarations of a
+-      limited-private-withed package. Update the installation of the shadow
+-      entities according to the new structure (see Build_Limited_Views)
+-      (Build_Limited_Views): Replace the previous implementation of the
+-      limited view by a package entity that references the first shadow
+-      entity plus the first shadow private entity (required for limited-
+-      private-with clause)
+-      (New_Internal_Shadow_Entity): Code cleanup.
+-      (Remove_Limited_With_Clause): Update the implementation to undo the
+-      new work carried out by Build_Limited_Views.
+-      (Build_Chain): Complete documentation.
+-      Replace Ada0Y by Ada 0Y in comments
+-      Minor reformating
+-
+-      * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
+-      types the level of accessibility depends on the enclosing type
+-      declaration.
+-
+-      * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
+-      entities. Complete documentation of previous change.
+-
+-2004-05-24  Robert Dewar  <dewar@gnat.com>
+-
+-      * namet.adb: Minor reformatting
+-      Avoid use of name I (replace by J)
+-      Minor code restructuring
+-
+-      * sem_ch6.adb: Minor reformatting
+-
+-      * lib-writ.adb: Do not set restriction as active if this is a
+-      Restriction_Warning case.
+-
+-      * sem_prag.adb: Reset restriction warning flag if real pragma
+-      restriction encountered.
+-
+-      * s-htable.adb: Minor reformatting
+-      Change rotate count to 3 in Hash (improves hash for small strings)
+-
+-      * 5qsystem.ads: Add comments for type Address (no literals allowed).
+-
+-      * gnat_ugn.texi: Add new section of documentation "Code Generation
+-      Control", which describes the use of -m switches.
+-
+-2004-05-24  Eric Botcazou  <ebotcazou@act-europe.fr>
+-
+-      trans.c (tree_transform) <N_Identifier>: Do the dereference directly
+-      through the DECL_INITIAL for renamed variables.
+-
+-2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
+-
+-2004-05-19  Joel Brobecker  <brobecker@gnat.com>
+-
+-      * exp_dbug.ads: Correct comments concerning handling of overloading,
+-      since we no longer use $ anymore.
+-
+-2004-05-19  Sergey Rybin  <rybin@act-europe.fr>
+-
+-      * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
+-      ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
+-      with illegal subunits.
+-
+-2004-05-19  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
+-      body with front-end inlining enabled, check whether an inline pragma
+-      appears immediately after the body and applies to it.
+-
+-      * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
+-      enabled and the pragma appears after the body of the subprogram.
+-
+-2004-05-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      Part of function-at-a-time conversion
+-
+-      * misc.c (adjust_decl_rtl): Deleted.
+-      (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
+-      Define.
+-
+-      * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
+-      (add_decl_stmt, add_stmt, block_has_vars): New functions.
+-      (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
+-
+-      * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
+-      when making a decl.
+-      (gnat_to_gnu_entity): Likewise.
+-      Use add_stmt to update setjmp buffer.
+-      Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
+-      flush_addressof.
+-      No longer call adjust_decl_rtl.
+-      (DECL_INIT_BY_ASSIGN_P): New macro.
+-      (DECL_STMT_VAR): Likewise.
+-
+-      * trans.c (gigi): Call start_block_stmt to make the outermost
+-      BLOCK_STMT.
+-      (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
+-      Call start_block_stmt and end_block_stmt temporarily.
+-      Use gnat_expand_stmt instead of expand_expr_stmt.
+-      (add_decl_stmt): New function.
+-      (tree_transform): Call it.
+-      (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
+-      (end_block_stmt): Set type and NULL_STMT.
+-      (gnat_expand_stmt): Make recursize call instead of calling
+-      expand_expr_stmt.
+-      (gnat_expand_stmt, case DECL_STMT): New case.
+-      (set_lineno_from_sloc): Do nothing if global.
+-      (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
+-      (start_block_stmt, add_stmt, end_block_stmt): New functions.
+-      (build_block_stmt): Call them.
+-      (gnat_to_code): Don't expand NULL_STMT.
+-      (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
+-      args.
+-      (tree_transform): Likewise.
+-      (tree_transform, case N_Null_Statement): Return NULL_STMT.
+-      (gnat_expand_stmt, case NULL_STMT): New case.
+-      (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
+-      IF_STMT_TRUE.
+-
+-      * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
+-      TREE_ADDRESSABLE.
+-
+-      * utils.c (create_var_decl): Do not call expand_decl or
+-      expand_decl_init.
+-      Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
+-      Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
+-      here.
+-      (struct e_stack): Add chain_next to GTY.
+-      (struct binding_level): Deleted.
+-      (struct ada_binding_level): New struct.
+-      (free_block_chain): New.
+-      (global_binding_level, clear_binding_level): Deleted.
+-      (global_bindings_p): Rework to see if no chain.
+-      (kept_level_p, set_block): Deleted.
+-      (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
+-      new data structure and work directly on BLOCK node.
+-      (gnat_poplevel): Similarly.
+-      (get_decls): Look at BLOCK_VARS.
+-      (insert_block): Work directly on BLOCK node.
+-      (block_has_var): New function.
+-      (pushdecl): Rework for new binding structures.
+-      (gnat_init_decl_processing): Rename and rework calls to pushlevel and
+-      poplevel.
+-      (build_subprog_body): Likewise.
+-      (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
+-
+-      * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
+-
+-      * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
+-      (DECL_STMT_VAR): Likewise.
+-
+-2004-05-17  Robert Dewar  <dewar@gnat.com>
+-
+-      * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
+-      procedure
+-
+-      * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
+-      of restriction synonyums by using
+-      Restrict.Process_Restriction_Synonyms.
+-
+-      * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
+-
+-      * s-restri.ads (Tasking_Allowed): Correct missing comment
+-
+-      * s-rident.ads: Add entries for restriction synonyms
+-
+-      * ali.adb: Fix some problems with badly formatted ALI files that can
+-      result in infinite loops.
+-
+-      * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
+-      s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
+-      s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
+-      s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
+-      s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
+-      s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
+-      s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
+-      s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
+-      s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
+-      a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
+-      exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
+-      s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
+-      s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
+-      s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
+-      s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
+-      s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
+-      s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
+-      s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
+-      s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
+-      s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
+-      to Task_Id (minor cleanup).
+-
+-2004-05-17  Vincent Celier  <celier@gnat.com>
+-
+-      * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
+-      directory separator.
+-
+-      * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
+-      project being extended, if Languages is not declared in extending
+-      project.
+-
+-2004-05-17  Javier Miranda  <miranda@gnat.com>
+-
+-      * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
+-      limited view of a visible sibling.
+-
+-2004-05-14  Robert Dewar  <dewar@gnat.com>
+-
+-      * gnat_ugn.texi: Minor change to -gnatS documentation
+-
+-      * sprint.adb: Remove some instances of Assert (False) and for this
+-      purpose replace them by output of a ??? string.
+-
+-      * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
+-      Assert (False).
+-
+-      * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
+-      flag processing. This was suppressing required dependencies in
+-      No_Run_Time mode and is not needed since the binder does not generate
+-      references for things in libgnat anyway.
+-
+-      * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
+-      warning.
+-
+-2004-05-14  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * gnat_ugn.texi: Document AIX-specific issue with initialization of
+-      resolver library.
+-
+-      * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
+-      action for the case of an actual parameter in an init proc call.
+-
+-2004-05-14  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
+-      subtype, check visible entities in base type.
+-
+-      * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
+-      actions if the object is a renaming.
+-
+-      * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
+-      Check_Formal_Package_Instance, to determine more precisely when the
+-      formal and the actual denote the same entity.
+-
+-2004-05-14  Javier Miranda  <miranda@gnat.com>
+-
+-      * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
+-
+-      * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
+-      corresponding to a private_with must be removed from visibility; it
+-      will be made visible later, just before we analyze the private part of
+-      the package.
+-      (Check_Private_Child_Unit): Allow private_with clauses in public
+-      siblings.
+-      (Install_Siblings): Make visible the private entities of private-withed
+-      siblings.
+-      (Install_Withed_Unit): Do not install the private withed unit if we
+-      are compiling a package declaration and the Private_With_OK flag was
+-      not set by the caller. These declarations will be installed later,
+-      just before we analyze the private part of the package.
+-
+-      * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
+-      during the evaluation of the expression that initializes the object,
+-      decorate it with the expected type to avoid cascade errors.
+-      Code cleanup.
+-
+-      * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
+-      subprogram we have to install the private_with clauses after its
+-      specification has been analyzed (as documented in AI-262.TXT).
+-
+-      * sem_ch8.adb (Has_Private_With): New function. Determines if the
+-      current compilation unit has a private with on a given entity.
+-      (Find_Direct_Name): Detect the Beaujolais problem described in
+-      AI-262.TXT
+-
+-      * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
+-      provides the functionality of the function Is_Ancestor that was
+-      previously available in sem_ch10. It has been renamed to avoid
+-      overloading.
+-
+-      * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
+-
+-2004-05-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * utils.c (build_vms_descriptor): Use SImode pointers.
+-
+-2004-05-14  Vasiliy Fofanov  <fofanov@act-europe.fr>
+-
+-      * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
+-
+-2004-05-14  GNAT Script  <nobody@gnat.com>
+-
+-      * Make-lang.in: Makefile automatically updated
+-
+-2004-05-14  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      Renaming of target specific files for clarity
+-
+-      * Makefile.in: Rename GNAT target specific files.
+-
+-      * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
+-      3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
+-      3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
+-      3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
+-      3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
+-      3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
+-      42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
+-      4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
+-      4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
+-      4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
+-      4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
+-      4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
+-      51osinte.adb, 51osinte.ads, 51system.ads,
+-      52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
+-      55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
+-      56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
+-      56tpopsp.adb, 57system.ads, 58system.ads,
+-      5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
+-      5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
+-      5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
+-      5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
+-      5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
+-      5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
+-      5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
+-      5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
+-      5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
+-      5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
+-      5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
+-      5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
+-      5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
+-      5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
+-      5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
+-      5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
+-      5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
+-      5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
+-      5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
+-      5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
+-      5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
+-      5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
+-      5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
+-      5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
+-      5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
+-      5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
+-      5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
+-      5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
+-      5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
+-      5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
+-      5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
+-      5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
+-      5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
+-      5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
+-      5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
+-      5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
+-      7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
+-      7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
+-      7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
+-      7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
+-
+-      * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
+-      a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
+-      a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
+-      a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
+-      a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
+-      a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
+-      a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
+-      a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
+-      a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
+-      a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
+-      g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
+-      g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
+-      g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
+-      g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
+-      g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
+-      g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
+-      g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
+-      g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
+-      interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
+-      mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
+-      mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
+-      mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
+-      s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
+-      s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
+-      s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
+-      s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
+-      s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
+-      s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
+-      s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
+-      s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
+-      s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
+-      s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
+-      s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
+-      s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
+-      s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
+-      s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
+-      s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
+-      s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
+-      s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
+-      s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
+-      s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
+-      s-osinte-vms.ads, s-osinte-vxworks.adb,
+-      s-osinte-vxworks.ads, s-osprim-mingw.adb,
+-      s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
+-      s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
+-      s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
+-      s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
+-      s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
+-      s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
+-      s-stchop-vxworks.adb, s-taprop-dummy.adb,
+-      s-taprop-hpux-dce.adb, s-taprop-irix.adb,
+-      s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
+-      s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
+-      s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
+-      s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
+-      s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
+-      s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
+-      s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
+-      s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
+-      s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
+-      s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
+-      s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
+-      s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
+-      s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
+-      s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
+-      s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
+-      s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
+-      s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
+-      symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
+-      system-hpux.ads, system-interix.ads, system-irix-n32.ads,
+-      system-irix-o32.ads, system-linux-x86_64.ads,
+-      system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
+-      system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
+-      system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
+-      system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
+-      system-vxworks-alpha.ads, system-vxworks-m68k.ads,
+-      system-vxworks-mips.ads, system-vxworks-ppc.ads,
+-      system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
+-      above.
+-
+-2004-05-13  Zack Weinberg  <zack@codesourcery.com>
+-
+-      * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
+-
+-2004-05-13  Diego Novillo  <dnovillo@redhat.com>
+-
+-      Merge from tree-ssa-20020619-branch.
+-
+-      * config-lang.in (boot_language, build_by_default): Set
+-      to no.
+-      * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
+-      (max_size): Add static chain op for call_expr.
+-
+-2004-05-12  Richard Sandiford  <rsandifo@redhat.com>
+-
+-      PR target/15331
+-      * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
+-
+-2004-05-11  Roger Sayle  <roger@eyesopen.com>
+-
+-      * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
+-      COND_EXPR.
+-
+-2004-05-10  Doug Rupp  <rupp@gnat.com>
+-
+-      * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
+-      system.aux_dec.
+-
+-      * s-auxdec.ads: Add Short_Address subtype (moved here from System).
+-
+-      * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
+-
+-      * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
+-      Fixes undefined symbols in IA64 gnatlib.
+-
+-      * 5vinmaop.adb: Reference s-auxdec for Short_Address.
+-
+-      * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
+-      Short_Address). This will be moved to system.auxdec.
+-
+-2004-05-10  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * sem_util.adb: Replace test for presence of a node that is always
+-      present with a call to Discard_Node.
+-
+-      * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
+-      Analyze on the library unit node after generation of distribution stub
+-      constructs.  The call was a no-op because Unit_Node has already been
+-      Analyzed, and the tree fragments for the distribution stubs are
+-      analyzed as they are inserted in Exp_Dist.
+-      Update comment regarding to distribution stubs to reflect that we
+-      do not generate stub in separate files anymore.
+-
+-      * einfo.ads: Clarify the fact that a tagged private type has the
+-      E_Record_Type_With_Private Ekind.
+-
+-      * erroutc.adb: Minor reformatting
+-
+-      * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
+-      values if line length is increased using -gnatyM (noticed during code
+-      reading).
+-
+-      * eval_fat.adb: Minor reformatting
+-      Put spaces around exponentiation operator
+-
+-2004-05-10  Ed Schonberg  <schonberg@gnat.com>
+-
+-      PR ada/15005
+-      * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
+-      has been rewritten as an explicit dereference, retrieve type of
+-      original node to check for possibly unconstrained record type.
+-
+-2004-05-10  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
+-      overriding, use the operation of the parent unconditionally.
+-
+-      * sem_ch4.adb (Remove_Address_Interpretations): Remove address
+-      operation when either operand is a literal, to avoid further
+-      ambiguities.
+-
+-      * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
+-      overridden by a previous explicit declaration, mark the previous entity
+-      as overriding.
+-
+-      * sem_disp.adb (Check_Dispatching_Operation): New predicate
+-      Is_Visibly_Controlled, to determine whether a declaration of a
+-      primitive control operation for a derived type overrides an inherited
+-      one. Add warning if the explicit declaration does not override.
+-
+-2004-05-10  Vincent Celier  <celier@gnat.com>
+-
+-      * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
+-      some cases when the sources are no longer present.
+-
+-      * make.adb (Collect_Arguments): Fail if an external source, not part
+-      of any project need to be compiled, when switch -x has not been
+-      specified.
+-
+-      * makeusg.adb: Document new switch -x
+-
+-      * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
+-      defaulted to False.
+-
+-      * switch-m.adb (Scan_Make_Switches): New switch -x
+-
+-      * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
+-      gnatmake switch -x.
+-
+-      * gnat_ugn.texi: Document new gnatmake switch -x
+-
+-2004-05-10  Eric Botcazou  <ebotcazou@act-europe.fr>
+-
+-      * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
+-
+-      * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
+-      (process_attributes): Likewise.
+-
+-2004-05-10  Joel Brobecker  <brobecker@gnat.com>
+-
+-      * s-inmaop.ads: Fix spelling mistake in one of the comments.
+-
+-2004-05-10  Robert Dewar  <dewar@gnat.com>
+-
+-      * gnat_ugn.texi: Document that for config pragma files, the maximum
+-      line length is always 32767.
+-
+-      * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
+-      literals is now allowed.
+-
+-      * gnat-style.texi: Remove statement about splitting long lines before
+-      an operator rather than after, since we do not follow this rule at all.
+-      Clarify rule (really lack of rule) for spaces around exponentiation
+-
+-      * sem_elim.adb: Allow concatenation of string literals as well as a
+-      single string literal for pragma arguments.
+-
+-      * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
+-
+-      * a-textio.adb (Terminate_Line): Do not add line feed if nothing
+-      written for append case.
+-
+-      * frontend.adb: Changes to avoid checking max line length in config
+-      pragma files.
+-
+-      * g-os_lib.ads: Minor reformatting
+-
+-      * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
+-      wrong in any case. Instead use standard value. Noticed during code
+-      reading.
+-
+-      * opt.ads (Max_Line_Length): New field, used to implement removal of
+-      limitation on length of lines when scanning config pragma files.
+-
+-      * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
+-      makeutl.ads, makeutl.adb: Minor reformatting
+-
+-      * scn.adb: Do not check line length while scanning config pragma files
+-      Do not check line length while scanning out license information
+-
+-      * scng.adb: Changes to avoid line length checks while parsing config
+-      pragma files.
+-
+-2004-05-10  GNAT Script  <nobody@gnat.com>
+-
+-      * Make-lang.in: Makefile automatically updated
+-
+-2004-05-05  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * osint.adb (Find_Program_Name): Fix handling of VMS version
+-      number.
+-
+-2004-05-05  Emmanuel Briot  <briot@act-europe.fr>
+-
+-      * g-os_lib.ads (Invalid_Time): New constant
+-
+-      * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
+-      return OS_Time instead of time_t to match what is imported by Ada.
+-      Now return -1 if the file doesn't exist, instead of a random value
+-
+-2004-05-05  Robert Dewar  <dewar@gnat.com>
+-
+-      * usage.adb: Add line for -gnatR?s switch
+-
+-      * sem_ch13.adb, exp_ch2.adb: Minor reformatting
+-
+-      * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
+-      and for Match (Data_First, Data_last)
+-
+-      * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
+-      written when we are dealing with multi-unit files.
+-
+-2004-05-05  Jerome Guitton  <guitton@act-europe.fr>
+-
+-      * Makefile.in: Remove unused targets and variables.
+-
+-2004-05-05  Vincent Celier  <celier@gnat.com>
+-
+-      * switch-m.adb: New gnatmake switch -eI
+-
+-      * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
+-      of new gnatmake switch -eInnn.
+-
+-      * makegpr.adb: Take into account new parameters Index and Src_Index in
+-      Prj.Util.
+-
+-      * clean.adb: Implement support for multi-unit sources, including new
+-      switch -i.
+-
+-      * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
+-      Src_Index.
+-
+-      * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
+-      (Extract_From_Q): New out parameter Index
+-      (Mark, Is_Marked): Subprograms moved to Makeutl
+-      (Switches_Of): New parameter Source_Index
+-      (Add_Switch): New parameter Index
+-      (Check): New parameter Source_Index
+-      (Collect_Arguments): New parameter Source_Index
+-      (Collect_Arguments_And_Compile): New parameter Source_Index
+-      (Compile): New parameter Source_Index
+-      Put subprograms in alphabetical order
+-      Add support for multi-source sources, including in project files.
+-
+-      * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
+-      (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
+-      Make.
+-
+-      * makeusg.adb: New gnatmake switch -eInnn
+-
+-      * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
+-      Prj.Util.Value_Of.
+-
+-      * opt.ads (Main_Index): New variable, defaulted to 0.
+-
+-      * osint.ads, osinte.adb (Add_File): New parameter Index
+-      (Current_Source_Index): New function
+-
+-      * prj.adb: Take into account new components Index and Src_Index
+-
+-      * prj.ads (String_Element): New component Index
+-      (Variable_Value): New component Index
+-      (Array_Element): New component Src_Index
+-
+-      * prj-attr.adb: Indicate that optional index may be specified for
+-      attributes Main, Executable, Spec, Body and some of Switches.
+-
+-      * prj-attr.ads (Attribute_Kind): New values for optional indexes
+-      (Attribute_Record): New component Optional_Index
+-
+-      * prj-com.ads (File_Name_Data): New component Index
+-
+-      * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
+-
+-      * prj-env.adb (Put): Output optional index
+-
+-      * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
+-      attributes Spec and Body.
+-
+-      * prj-nmsc.adb: Process optional indexes
+-
+-      * prj-pp.adb: Ouput "at" for optional indexes
+-
+-      * prj-proc.adb: Take into account optional indexes
+-
+-      * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
+-      Optional_Index. For string literal,
+-      process optional index when Optional_Index is True.
+-      (Parse_Expresion): New Boolean parameter Optional_Index
+-
+-      * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
+-      (Set_Source_Index_Of): New procedure
+-
+-      * prj-util.adb (Executable_Of, Value_Of): Take into account optional
+-      index.
+-
+-      * prj-util.ads (Executable_Of): New parameter Index
+-      (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
+-      New parameter Src_Index, defaulted to 0.
+-
+-2004-05-05  Ed Schonberg  <schonberg@gnat.com>
+-
+-      PR ada/15257
+-      * sem_ch3.adb (Access_Definition): If this is an access parameter
+-      whose designated type is imported through a limited_with clause, do
+-      not add the enclosing subprogram to the list of private dependents of
+-      the type.
+-
+-2004-05-05  Ed Schonberg  <schonberg@gnat.com>
+-
+-      PR ada/15258
+-      * sem_ch6.adb (Base_Types_Match): True if one type is imported through
+-      a limited_with clause, and the other is its non-limited view.
+-
+-2004-05-05  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
+-
+-      * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
+-      exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
+-      Stand.Boolean_Literals to produce references to entities
+-      Standard_False and Standard_True from compile-time computed boolean
+-      values.
+-
+-      * stand.ads (Boolean_Literals): New variable, provides the entity
+-      values for False and True, for use by the expander.
+-
+-2004-05-05  Doug Rupp  <rupp@gnat.com>
+-
+-      * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
+-      5vinmaop.adb: Unchecked convert Short_Address vice Address
+-
+-      * adaint.c, raise.c: Caste CRTL function return value
+-      to avoid gcc error on 32/64 bit IVMS.
+-
+-      * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
+-      target = IA64/VMS.
+-
+-      * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
+-
+-      * 5qsystem.ads (Address): Declare as Long_Integer
+-      (Short_Address): Declare as 32 bit subtype of Address
+-      Declare  abstract address operations to avoid gratuitous ambiguities.
+-
+-2004-05-05  Jose Ruiz  <ruiz@act-europe.fr>
+-
+-      * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
+-      instead of the old Boolean_Entry_Barriers.
+-      Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
+-
+-2004-05-05  GNAT Script  <nobody@gnat.com>
+-
+-      * Make-lang.in: Makefile automatically updated
+-
+-2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
+-
+-2004-05-03  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      PR ada/15152
+-      * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
+-      alone. Replacing object references by literals is inappropriate in a
+-      so low level context.
+-
+-2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * a-exexpr.adb: Add comments
+-
+-2004-05-03  Joel Brobecker  <brobecker@gnat.com>
+-
+-      * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
+-      declare the Ancestor_Tags array in Type_Specific_Data with a small size
+-      without risking a bounds check error when accessing one of its
+-      components.
+-      (Type_Specific_Data): Define Ancestor_Tags as a small array.
+-      This prevents us from hitting a limitation during the debug info
+-      generation when using stabs.
+-
+-      * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
+-      small array.
+-      This prevents us from hitting a limitation during the debug info
+-      generation when using stabs.
+-
+-2004-05-03  Eric Botcazou  <ebotcazou@act-europe.fr>
+-
+-      lang-specs.h: Remove -gnatz* from specs.
+-
+-2004-05-03  Vincent Celier  <celier@gnat.com>
+-
+-      * gprmake.adb, makegpr.ads, makegpr.adb: New files.
+-
+-      * Make-lang.in, Makefile.in: Add gprmake
+-
+-2004-05-03  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * sem_aggr.adb: Fix typo in comment.
+-
+-2004-05-03  Robert Dewar  <dewar@gnat.com>
+-
+-      * make.adb: Minor reformatting
+-
+-      * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
+-
+-      * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
+-      so that it works when address is not a private type.
+-
+-      * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
+-      properly with rewritten unchecked conversions. This prevents
+-      order-of-elaboration issues that can otherwise arise.
+-      (Minimum_Size): Don't check size of access types under VMS
+-
+-      * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
+-      interpretations of integer literals as type System.Address.
+-
+-      * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
+-      (Is_Descendent_Of): New function
+-
+-2004-05-03  Jose Ruiz  <ruiz@act-europe.fr>
+-
+-      * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
+-      Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
+-      No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
+-
+-      * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
+-      of the old Max_Entry_Queue_Depth.
+-
+-      * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
+-      Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
+-      No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
+-
+-      * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
+-      New entry for proper handling of Max_Entry_Queue_Depth.
+-      New entry for proper handling of No_Dynamic_Interrupts.
+-
+-      * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
+-      supersedes the GNAT specific restriction Boolean_Entry_Barriers.
+-      Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
+-      the GNAT specific restriction Max_Entry_Queue_Depth.
+-      Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
+-      the GNAT specific restriction No_Dynamic_Interrupts.
+-
+-      * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
+-      instead of the old Boolean_Entry_Barriers.
+-      Use the new restriction No_Dynamic_Attachment instead of the old
+-      No_Dynamic_Interrupts.
+-
+-      * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
+-      supersedes the GNAT specific restriction Boolean_Entry_Barriers.
+-
+-      * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
+-      of the old Max_Entry_Queue_Depth.
+-
+-2004-05-03  GNAT Script  <nobody@gnat.com>
+-
+-      * Make-lang.in: Makefile automatically updated
+-
+-2004-04-29  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * checks.adb (Enable_Range_Check): If the prefix of an index component
+-      is an access to an unconstrained array, perform check unconditionally.
+-
+-2004-04-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * decl.c (gnat_to_gnu_field): Also call make_packable_type if
+-      Component_Clause.
+-
+-2004-04-29  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * init.c (__gnat_install_handler, __gnat_error_handler): Remove
+-      alternate stack setting. There was no support for the tasking cases
+-      and the changes eventually caused a number of side-effect failures in
+-      the non-tasking case too.
+-
+-2004-04-29  Eric Botcazou  <ebotcazou@act-europe.fr>
+-
+-      lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
+-      -gnats is passed.
+-
+-2004-04-29  Vincent Celier  <celier@gnat.com>
+-
+-      * make.adb (Gnatmake): Increase max size of argument array for
+-      gnatbind for the potential addition of -F.
+-      If there are Stand-Alone Library projects, invoke gnatbind with -F to
+-      be sure that elaboration flags will be checked.
+-
+-      * switch-c.adb: Correct call to Scan_Pos for -gnateI
+-
+-2004-04-29  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * sem_warn.adb (Check_References): Move '<access-variable> may be
+-      null' warning out of under Warn_On_No_Value_Assigned.
+-
+-2004-04-29  Ed Falis  <falis@gnat.com>
+-
+-      * gnat_ugn.texi: Fixed texi error
+-
+-2004-04-29  Robert Dewar  <dewar@gnat.com>
+-
+-      * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
+-      abstract operations if they come from predefined files.
+-
+-      * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
+-      Dynamic, not RM).
+-
+-      * s-addope.adb: Correct obvious error in mod function
+-
+-2004-04-28  Andrew W. Reynolds  <awreynolds@mac.com>
+-
+-      * Makefile.in: Add target pairs for powerpc darwin*
+-      tasking support.
+-
+-      * a-intnam-darwin.ads, s-osinte-darwin.adb,
+-      s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
+-
+-2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
+-
+-      * Makefile.in: Add target macro definitions for s390*-linux*.
+-      * system-linux-s390.ads: New file.
+-      * system-linux-s390x.ads: New file.
+-
+-2004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
+-
+-      * gnat_ugn.texi: Correct argument to @setfilename.
+-
+-2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
+-
+-      * a-exexpr.adb (Unwind_Word): New data type.
+-      (Unwind_Exception): Use it as type of Private1 and Private2.
+-
+-      * raise.c (db_action_for): Fix debug printf.
+-
+-2004-04-27  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * a-wtmoio.ads: Formal type must be a modular type, not a signed
+-      integer type.
+-
+-2004-04-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * decl.c (gnat_to_gnu_entity, case object): Call
+-      __builtin_update_setjmp_buf.
+-
+-      * gigi.h (update_setjmp_buf): Deleted.
+-      (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
+-
+-      * misc.c: (update_setjmp_buf): Deleted.
+-
+-      * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
+-      around block of RTL.
+-
+-      * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
+-
+-2004-04-26  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
+-      subprogram for which no pragma All_Calls_Remote applies, store the
+-      address of the real subprogram in the underlying record type, so local
+-      dereferences do not go through the PCS.
+-
+-2004-04-26  Robert Dewar  <dewar@gnat.com>
+-
+-      * i-c.ads: Add some type qualifications to avoid ambiguities when
+-      compiling with s-auxdec.ads and a non-private address type.
+-
+-2004-04-26  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * Makefile.rtl: Fix error in previous check-in:
+-      Add s-addope.o to non tasking object list (rather than tasking object
+-      list).
+-
+-2004-04-26  Javier Miranda  <miranda@gnat.com>
+-
+-      * sem_aggr.adb: Fix typo in comments
+-      (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
+-      Required to check the null-exclusion attribute.
+-
+-      * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
+-      case of anonymous access types in record and array components. For a
+-      component definition the level is the same of the enclosing composite
+-      type.
+-
+-      * sem_ch3.adb (Analyze_Component_Declaration): In case of components
+-      that are anonymous access types the level of accessibility depends on
+-      the enclosing type declaration. In order to have this information, set
+-      the scope of the anonymous access type to the enclosing record type
+-      declaration.
+-      (Array_Type_Declaration): In case of components that are anonymous
+-      access types the level of accessibility depends on the enclosing type
+-      declaration. In order to have this information, set the scope of the
+-      anonymous access type to the enclosing array type declaration.
+-
+-      * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
+-      access type.
+-
+-      * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
+-      renaming of anonymous access-to-constant types allowed if and only if
+-      the renamed object is access-to-constant.
+-
+-      * sem_util.adb (Type_Access_Level): In case of anonymous access types
+-      that are component_definition or discriminants of a nonlimited type,
+-      the level is the same as that of the enclosing component type.
+-
+-2004-04-26  Sergey Rybin  <rybin@act-europe.fr>
+-
+-      * sem_elim.adb: Some minor code reorganization from code reading. Fix
+-      misprint in the function name (File_Name_Match).
+-
+-2004-04-23  Laurent Guerby  <laurent@guerby.net>
+-
+-      * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
+-      install.
+-
+-2004-04-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+-
+-      * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
+-
+-2004-04-23  Emmanuel Briot  <briot@act-europe.fr>
+-
+-      * adaint.c (__gnat_try_lock): No longer requires that the parent
+-      directory be writable, the directory itself is enough.
+-      (gnat_is_absolute_path): Change profile, so that the call from
+-      GNAT.OS_Lib can be made more efficient.
+-
+-      * adaint.h (gnat_is_absolute_path): Change profile, so that the call
+-      from GNAT.OS_Lib can be made more efficient.
+-
+-      * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
+-      one copy of the file name. Found by code reading.
+-
+-2004-04-23  Vincent Celier  <celier@gnat.com>
+-
+-      * gnat_ugn.texi: Add documentation for gnatmake switch -eL
+-      Correct documentation on gnatmake switches transmitted to the compiler
+-
+-      * ali.ads: Minor comment fix
+-
+-2004-04-23  Javier Miranda  <miranda@gnat.com>
+-
+-      * sem_ch6.adb: (Confirming Types): Code cleanup
+-
+-      * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
+-      subprogram types: E_Anonymous_Access_Subprogram_Type and
+-      E_Anonymous_Access_Protected_Subprogram_Type.
+-
+-2004-04-23  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
+-      whether a pragma All_Calls_Remote applies to the subprogram on which
+-      'Access is taken.
+-      No functional change is introduced by this revision; the new parameter
+-      will be used to allow calls to local RCI subprograms to be optimized
+-      to not use the PCS in the case where no pragma All_Calls_Remote applies,
+-      as is already done in the PolyORB implementation of the DSA.
+-
+-      * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
+-      whether a pragma All_Calls_Remote applies to the subprogram on which
+-      'Access is taken.
+-      No functional change is introduced by this revision; the new parameter
+-      will be used to allow calls to local RCI subprograms to be optimized
+-      to not use the PCS in the case where no pragma All_Calls_Remote applies,
+-      as is already done in the PolyORB implementation of the DSA.
+-
+-2004-04-23  Robert Dewar  <dewar@gnat.com>
+-
+-      * Makefile.rtl: Add entry for s-addope.o in run time library list
+-      * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
+-      * s-addope.ads, s-addope.adb: New files.
+-
+-      * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
+-      s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
+-      s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
+-      System.Address to be non-private and signed.
+-
+-      * sem_elim.adb: Minor reformatting (fairly extensive)
+-      Some minor code reorganization from code reading
+-      Add a couple of ??? comments
+-
+-2004-04-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
+-      (tree_transform, case N_If_Statement): Remove non-determinism.
+-
+-      * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
+-
+-2004-04-23  Sergey Rybin  <rybin@act-europe.fr>
+-
+-      * gnat_rm.texi: Small fixes in the changes made in the 'pragma
+-      Eliminate' section.
+-
+-      * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
+-      no longer used as a parameter name for Eliminate pragma).
+-
+-2004-04-22  Laurent Guerby  <laurent@guerby.net>
+-
+-      PR optimization/14984
+-      PR optimization/14985
+-      * trans.c (gigi): Fix non determinism leading to bootstrap
+-      comparison failures.
+-
+-2004-04-21  Pascal Obry  <obry@gnat.com>
+-
+-      * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
+-      passed to spawnvp() to properly handle program pathname with spaces on
+-      Win32.
+-
+-2004-04-21  Emmanuel Briot  <briot@act-europe.fr>
+-
+-      * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
+-      (Allocate, Deallocate, Free_Physically): Make sure the tasks are
+-      unlocked in case of exceptions.
+-
+-2004-04-21  Joel Brobecker  <brobecker@gnat.com>
+-
+-      * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
+-      This function does not exist anymore.
+-
+-2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
+-
+-      * link.c: Move variables to the __gnat name space.
+-
+-      * Makefile.in: list link.o explicitly when needed.
+-
+-      * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
+-
+-2004-04-21  Javier Miranda  <miranda@gnat.com>
+-
+-      * einfo.adb (Original_Access_Type): New subprogram
+-      (Set_Original_Access_Type): New subprogram
+-      (Write_Field21_Name): Write the name of the new field
+-
+-      * einfo.ads (Original_Access_Type): New field present in access to
+-      subprogram types.
+-      Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
+-      E_Anonymous_Access_Protected_Subprogram_Type.
+-
+-      * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
+-      subprogram types.
+-
+-      * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
+-      to anonymous access to subprogram types.
+-
+-      * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
+-      to subprogram types.
+-
+-      * sem_ch3.adb (Access_Definition): Complete decoration of entities
+-      corresponding to anonymous access to subprogram types.
+-      (Analyze_Component_Declaration): Add new actual to the call to
+-      subprogram replace_anonymous_access_to_protected_subprogram.
+-      (Array_Type_Declaration): Add new actual to the call to subprogram
+-      replace_anonymous_access_to_protected_subprogram.
+-      (Process_Discriminants): Add new actual to the call to subprogram
+-      replace_anonymous_access_to_protected_subprogram.
+-      (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
+-
+-      * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
+-      formal.
+-
+-      * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
+-      access to subprogram types.
+-
+-      * sem_util.adb (Has_Declarations): Addition of package_specification
+-      nodes.
+-
+-2004-04-21  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
+-      inlined flags to renamed entity only if in current unit.
+-
+-2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * s-parint.ads: Add DSA implementation marker.
+-
+-      * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
+-      value of System.Partition_Interface.DSA_Implementation to determine
+-      what version of the distributed systems annex is available (no
+-      implementation, GLADE, or PolyORB).
+-
+-2004-04-21  Joel Brobecker  <brobecker@gnat.com>
+-
+-      * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
+-
+-2004-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
+-      with new type if alias sets differ.
+-      Fixes ACATS c41103b.
+-
+-2004-04-21  Vincent Celier  <celier@gnat.com>
+-
+-      * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
+-      Add array Lang_Args for the language specific compiling argument
+-      switches.
+-
+-      * gnat_ugn.texi: Explain in more details when a library is rebuilt.
+-
+-2004-04-21  Sergey Rybin  <rybin@act-europe.fr>
+-
+-      * gnat_rm.texi: Update the descripton of the Eliminate pragma
+-      according to the recent changes in the format of the parameters of the
+-      pragma (replacing Homonym_Number with Source_Location).
+-
+-2004-04-19  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * 5isystem.ads: Removed, unused.
+-
+-      * gnat_rm.texi: Redo 1.13 change.
+-
+-2004-04-19  Robert Dewar  <dewar@gnat.com>
+-
+-      * s-stoele.ads: Clean up definition of Storage_Offset (the new
+-      definition is cleaner, avoids the kludge of explicit Standard operator
+-      references, and also is consistent with a visible System.Address with
+-      no visible operations.
+-
+-      * s-geveop.adb: Add declarations to avoid assumption of visible
+-      operations on type System.Address (since these might not be available
+-      if Address is a non-private type for which the operations
+-      are made abstract).
+-
+-      * sem_eval.adb: Minor reformatting
+-
+-      * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
+-      s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
+-      reformatting (new function spec format).
+-
+-      * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
+-      s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
+-      s-caun64.adb: Add declarations to avoid assumption of visible
+-      operations on type System.Address (since these might not be available
+-      if Address is a non-private type for which the operations are made
+-      abstract).
+-
+-      * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
+-
+-      * exp_intr.adb: Minor comment update
+-
+-      * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
+-
+-      * 5omastop.adb: Add declarations to avoid assumption of visible
+-      operations on type System.Address (since these might not be available
+-      if Address is a non-private type for which the operations
+-      are made abstract).
+-
+-2004-04-19  Vincent Celier  <celier@gnat.com>
+-
+-      * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
+-
+-      * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
+-      defaulted to Ada.
+-
+-      * prj-proc.adb (Process): New Boolean parameter Process_Languages,
+-      defaulted to Ada.
+-      Call Check with Process_Languages.
+-      (Check): New Boolean parameter Process_Languages. Call Recursive_Check
+-      with Process_Languages.
+-      (Recursive_Check): New Boolean parameter Process_Languages. Call
+-      Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
+-      Process_Languages.
+-
+-      * prj-proc.ads (Process): New Boolean parameter Process_Languages,
+-
+-      * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
+-      parameter Ada_Main, defaulted to True.
+-      Check for Ada specific characteristics only when Ada_Main is True.
+-
+-      * opt.ads: (Follow_Links): New Boolean flag for gnatmake
+-
+-      * prj.adb: (Project_Empty): Add new Project_Data components.
+-
+-      * prj.ads: New types and tables for non Ada languages.
+-      (Project_Data): New components Languages, Impl_Suffixes,
+-      First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
+-      Include_Path, Include_Data_Set.
+-
+-      * prj-env.ads, prj-env.adb: Minor reformatting
+-
+-      * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
+-      Put subprograms in alphabetical order
+-
+-      * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
+-      defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
+-      Opt.Follow_Links.
+-
+-      * mlib-prj.adb: Back out modification in last version, as they are
+-      incorrect.
+-      (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
+-
+-      * make.adb: (Mains): Moved to package Makeutl
+-      (Linker_Opts): Moved to package Makeutl
+-      (Is_External_Assignment): Moved to package Makeutl
+-      (Test_If_Relative_Path): Moved to package Makeutl
+-      (Gnatmake): Move sorting of linker options to function
+-      Makeutl.Linker_Options_Switches.
+-
+-      * makeutl.ads, makeutl.adb: New files.
+-
+-      * Makefile.in: Add makeutl.o to the object files for gnatmake
+-
+-      * makeusg.adb: Add line for new switch -eL.
+-
+-      * gnatls.adb (Image): New function.
+-      (Output_Unit): If in verbose mode, output the list of restrictions
+-      specified by pragmas Restrictions.
+-
+-      * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
+-      Text_IO.
+-
+-      * a-calend.adb (Split): Shift the date by multiple of 56 years, if
+-      needed, to put it in the range 1970 (included) - 2026 (excluded).
+-      (Time_Of): Do not shift Unix_Min_Year (1970).
+-      Shift the date by multiple of 56 years, if needed, to put it in the
+-      range 1970 (included) - 2026 (excluded).
+-
+-      * adaint.h, adaint.c (__gnat_set_executable): New function.
+-
+-2004-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
+-      and pop GC context.
+-      (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
+-      (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
+-      (tree_transform, case N_Procedure_Call_Statement): Build a tree.
+-      (tree_transform, case N_Code_Statement): Likewise.
+-      (gnat_expand_stmt, case LABEL_STMT): Don't look at
+-      LABEL_STMT_FIRST_IN_EH.
+-      (gnat_expand_stmt, case ASM_STMT): New case.
+-
+-      * utils2.c (build_unary_op): Properly set TREE_READONLY of
+-      UNCONSTRAINED_ARRAY_REF.
+-
+-      * utils.c (poplevel): Temporarily push/pop GC context around inline
+-      function expansion.
+-
+-      * decl.c (maybe_variable): Properly set TREE_READONLY of
+-      UNCONSTRAINED_ARRAY_REF.
+-      (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
+-
+-      * ada-tree.def: (ASM_STMT): New.
+-
+-      * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
+-      (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
+-      ASM_STMT_INPUT): New.
+-      (ASM_STMT_CLOBBER): Likewise.
+-
+-2004-04-19  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
+-      general rcheck mechanism to raise Program_Error for E.4(18), instead
+-      of a custom raiser in System.Partition_Interface.
+-      Part of general cleanup work before PolyORB integration.
+-
+-      * snames.ads, snames.adb: Add new runtime library entities and names
+-      for PolyORB DSA.
+-
+-      * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
+-      exp_dist.
+-      (Build_Subprogram_Id): New subprogram provided by exp_dist
+-      Code reorganisation in preparation for PolyORB integration.
+-
+-      * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
+-      exp_dist.
+-      (Build_Subprogram_Id): New subprogram provided by exp_dist
+-
+-      * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
+-      actual parameter types for call to dereference of an
+-      access-to-subprogram type.
+-
+-      * rtsfind.ads: Add new runtime library entities and names for PolyORB
+-      DSA.
+-
+-      * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
+-      instead, which has the same behaviour here since we never pass it a
+-      NULL pointer.
+-
+-      * link.c (run_path_option, Solaris case): Use -Wl, as for other
+-      platforms.
+-
+-      * Makefile.in: adjust object file lists for gnatlink and gnatmake
+-      to account for new dependency upon Interfaces.C.Strings + link.o
+-      For x86 FreeBSD, use 86numaux.
+-
+-      * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
+-      from Mlib.Tgt to Mlib.
+-
+-      * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
+-      target-independent.
+-
+-      * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
+-      target-specific versions of this subprogram, now implemented as a
+-      target-independent function in Mlib.
+-
+-      * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
+-      5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
+-      (Linker_Library_Path_Option): Remove target-specific versions of this
+-      subprogram, now implemented as a target-independent function in Mlib.
+-
+-      * atree.adb: (Allocate_Initialize_Node): New subprogram.
+-      Factors out node table slots allocation.
+-      (Fix_Parents): New subprogram.
+-      Encapsulate the pattern of fixing up parent pointers for syntactic
+-      children of a rewritten node.
+-      (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
+-      (Rewrite): Use New_Copy when creating saved copy of original node.
+-      (Replace): Use Copy_Node to copy nodes.
+-
+-2004-04-19  Javier Miranda  <miranda@gnat.com>
+-
+-      * sprint.adb (Sprint_Node_Actual): Give support to the new
+-      Access_To_Subprogram node available in Access_Definition nodes. In
+-      addition, give support to the AI-231 node fields: null-exclusion,
+-      all-present, constant-present.
+-
+-      * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
+-
+-      * sinfo.ads, sinfo.adb:
+-      New field Access_To_Subprogram_Definition in Access_Definition nodes
+-
+-      * sem_ch6.adb (Process_Formals): Move here the code that creates and
+-      decorates internal subtype declaration corresponding to the
+-      null-excluding formal. This code was previously in Set_Actual_Subtypes.
+-      In addition, carry out some code cleanup on this code. In case of
+-      access to protected subprogram call
+-      Replace_Anonymous_Access_To_Protected_Subprogram.
+-      (Set_Actual_Subtypes): Code cleanup.
+-
+-      * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
+-      Find_Type in case of anonymous access renamings. Add warning in case of
+-      null-excluding attribute used in anonymous access renaming.
+-
+-      * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
+-      subprogram
+-
+-      * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
+-      subprogram.
+-      (Access_Definition): In case of anonymous access to subprograms call
+-      the corresponding semantic routine to decorate the node.
+-      (Access_Subprogram_Declaration): Addition of some comments indicating
+-      some code that probably should be added here. Detected by comparison
+-      with the access_definition subprogram.
+-      (Analyze_Component_Declaration): In case of access to protected
+-      subprogram call Replace_Anonymous_Access_To_Protected.
+-      (Array_Type_Declaration): In case of access to protected subprogram call
+-      Replace_Anonymous_Access_To_Protected_Subprogram.
+-      (Process_Discriminants): In case of access to protected subprogram call
+-      Replace_Anonymous_Access_To_Protected_Subprogram.
+-
+-      * par.adb (P_Access_Definition): New formal that indicates if the
+-      null-exclusion part was present.
+-      (P_Access_Type_Definition): New formal that indicates if the caller has
+-      already parsed the null-excluding part.
+-
+-      * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
+-      (P_Identifier_Declarations): Code cleanup and give support to renamings
+-      of anonymous access to subprogram types.
+-      (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
+-      (P_Array_Type_Definition): Give support to AI-254.
+-      (P_Component_Items): Give support to AI-254.
+-      (P_Access_Definition): New formal that indicates if the header was
+-      already parsed by the caller.
+-      (P_Access_Type_Definition): New formal that indicates if the caller has
+-      already parsed the null-excluding part.
+-
+-      * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
+-      call to P_Access_Definition.
+-
+-2004-04-19  Geert Bosch  <bosch@gnat.com>
+-
+-      * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
+-      the delicate semantics of floating-point to integer conversion.
+-      (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
+-
+-      * eval_fat.adb (Machine_Mantissa): Moved to spec.
+-      (Machine_Radix): New function.
+-
+-      * eval_fat.ads (Machine_Mantissa): Moved from body for use in
+-      conversion checks.
+-      (Machine_Radix): New function also for use in conversion checks.
+-
+-2004-04-19  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
+-
+-      * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
+-      to decorate the access-to-protected subprogram and the equivalent type.
+-
+-      * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
+-      to anonymous access to subprogram types.
+-
+-      * exp_ch4.adb (Expand_N_In): Preserve Static flag before
+-      constant-folding, for legality checks in contexts that require an RM
+-      static expression.
+-
+-      * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
+-      temporary but stack checking is not enabled, increment serial number
+-      to so that symbol generation is consistent with and without stack
+-      checking.
+-
+-      * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
+-      independent on whether stack checking is enabled, caller must check
+-      the corresponding flag.
+-
+-      * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
+-      range checks.
+-      (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
+-      parent if it has discriminants.
+-      (Build_Derived_Private_Type): Constructed full view does
+-      not come from source.
+-      (Process_Discriminants): Default discriminants on a tagged type are
+-      legal if this is the internal completion of a private untagged
+-      derivation.
+-
+-      * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
+-      no constraint checks, because it corresponds to an existing object.
+-
+-      * sem_prag.adb (Process_Convention): Pragma applies
+-      only to subprograms in the same declarative part, i.e. the same unit,
+-      not the same scope.
+-
+-      * sem_res.adb (Valid_Conversion): In an instance or inlined body,
+-      ignore type mismatch on a numeric conversion if expression comes from
+-      expansion.
+-
+-2004-04-19  Sergey Rybin  <rybin@act-europe.fr>
+-
+-      * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
+-      Homonym_Number parameter, add processing for Source_Location parameter
+-      corresponding.
+-      (Check_Eliminated): Remove the check for homonym numbers, add the check
+-      for source location traces.
+-
+-      * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
+-      with Arg_Source_Location corresponding to the changes in the format of
+-      the pragma.
+-
+-      * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
+-      Eliminate pragma corresponding to the changes in the format of the
+-      pragma: Homonym_Number is replaced with Source_Location, two ways of
+-      distinguishing homonyms are mutially-exclusive.
+-
+-2004-04-19  Joel Brobecker  <brobecker@gnat.com>
+-
+-      * get_targ.ads (Get_No_Dollar_In_Label): Remove.
+-
+-      * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
+-      No_Dollar_In_Label, no longer necessary, as it is always True.
+-      (Strip_Suffixes): Likewise.
+-
+-2004-04-19  Gary Dismukes  <dismukes@gnat.com>
+-
+-      * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
+-      modulus for compatibility with size clause on targets with 16-bit
+-      Integer.
+-
+-      * layout.adb (Discrimify): In the case of private types, set Vtyp to
+-      full type to fix type mismatches on calls to size functions for
+-      discriminant-dependent array components.
+-
+-2004-04-19  Jerome Guitton  <guitton@act-europe.fr>
+-
+-      * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
+-      lib.
+-
+-2004-04-19  Pascal Obry  <obry@gnat.com>
+-
+-      * mdll-utl.adb (Locate): New version is idempotent.
+-
+-2004-04-17  Laurent Guerby  <laurent@guerby.net>
+-
+-      PR ada/14988 (partial)
+-      * impunit.adb: Fix typo.
+-
+-2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
+-
+-      * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
+-      and install-rts-cert targets.  Remove all gnatlib and gnattools
+-      targets and all other rts-* targets (moved to libada).  Remove (now)
+-      unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
+-      TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
+-
+-2004-04-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * trans.c (tree_transform): Shortcut returning error_mark_node for
+-      statements in annotate_only_mode.
+-      (tree_transform, case N_Label, case N_Return_Statement,
+-      N_Goto_Statement): Make statement tree instead of generating code.
+-      (tree_transform, case N_Assignment_Statement): No longer check
+-      type_annotate_only.
+-      (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
+-      RETURN_STMT): New.
+-      (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
+-      New fcns.
+-      (gnat_to_gnu): Collect any RTL generated and deal with it.
+-      (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
+-      (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
+-      (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
+-
+-      * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
+-
+-      * ada-tree.def (EXPR_STMT): Fix typo in name.
+-      (BLOCK_STMT, IF_STMT): New nodes.
+-
+-      * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
+-      LABEL_STMT_FIRST_IN_EH): New macros.
+-      (RETURN_STMT_EXPR): Likewise.
+-
+-      * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
+-      IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
+-
+-2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * atree.ads: Correct documentation on extended nodes.
+-
+-      * link.c: Set run_path_option for FreeBSD.
+-
+-2004-04-08  Vincent Celier  <celier@gnat.com>
+-
+-      * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
+-      one of the ALI file, do not link with DEC lib.
+-
+-      * par.adb Remove the last two characters ("%s" or "%b") when checking
+-      if a language defined unit may be recompiled.
+-
+-2004-04-08  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
+-      removal of abstract operation leaves no possible interpretation for
+-      expression.
+-
+-      * sem_eval.adb (Eval_Qualified_Expression): Use
+-      Set_Raises_Constraint_Error on node when needed, so that it does not
+-      get optimized away by subsequent optimizations.
+-
+-      * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
+-      operands even when they are not wrapped in a type conversion.
+-
+-2004-04-08  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * sem_prag.adb (Set_Exported): Warn about making static as result of
+-      export only when the export is coming from source. This may be not
+-      be true e.g. on VMS where we expand export pragmas for exception codes
+-      together with imported or exported exceptions, and we don't want the
+-      user to be warned about something he didn't write.
+-
+-2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
+-      duplication between normal entities and those declared as renamings.
+-      No functional change.
+-
+-      * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
+-      inline functions returning an unconstrained result.
+-
+-2004-04-08  Eric Botcazou  <ebotcazou@act-europe.fr>
+-
+-      * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
+-      conform to what other front-ends do.
+-
+-2004-04-08  Doug Rupp  <rupp@gnat.com>
+-
+-      * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
+-      libraries.
+-
+-2004-04-06  Pascal Obry  <obry@gnat.com>
+-
+-      * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
+-
+-      * osint.adb (Program_Name): Do not look past a directory separator.
+-
+-2004-04-06  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
+-
+-      * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
+-      requirement for preserving a copy of the original assignment node.
+-
+-      * sinfo.ads: Update comment (Original_Tree -> Original_Node).
+-
+-2004-04-06  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
+-      when supported.
+-
+-2004-04-06  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
+-      operator calls in functional notation, and apply
+-      Universal_Interpretation to operands, not to their type.
+-
+-2004-04-06  Robert Dewar  <dewar@gnat.com>
+-
+-      * 5wdirval.adb: Minor reformatting
+-
+-2004-04-06  Ed Falis  <falis@gnat.com>
+-
+-      * gnat_rm.texi: Improve a reference to the GCC manual
+-
+-2004-04-05  Vincent Celier  <celier@gnat.com>
+-
+-      * adaint.h, adaint.c: Add function __gnat_named_file_length
+-
+-      * impunit.adb: Add Ada.Directories to the list
+-
+-      * Makefile.in: Add VMS and Windows versions of
+-      Ada.Directories.Validity package body.
+-
+-      * Makefile.rtl: Add a-direct and a-dirval
+-
+-      * mlib-tgt.ads: Minor comment update.
+-
+-      * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
+-      a-direct.ads, a-direct.adb: New files.
+-
+-2004-04-05  Vincent Celier  <celier@gnat.com>
+-
+-      PR ada/13620
+-      * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
+-      just to the compiler.
+-
+-2004-04-05  Robert Dewar  <dewar@gnat.com>
+-
+-      * a-except.adb (Exception_Name_Simple): Make sure lower bound of
+-      returned string is 1.
+-
+-      * ali-util.adb: Use proper specific form for Warnings (Off, entity)
+-
+-      * eval_fat.ads: Minor reformatting
+-
+-      * g-curexc.ads: Document that lower bound of returned string values
+-      is always one.
+-
+-      * gnatlink.adb: Add ??? comment for previous change
+-      (need to document why this is VMS specific)
+-
+-      * s-stoele.ads: Minor reformatting
+-
+-      * tbuild.ads: Minor reformatting throughout (new function specs)
+-
+-      * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
+-      after WITH.
+-
+-      * scng.adb: Minor reformatting
+-
+-2004-04-05  Geert Bosch  <bosch@gnat.com>
+-
+-      * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
+-      (Leading_Part): Still perform truncation to machine number if the
+-      specified radix_digits is greater or equal to machine_mantissa.
+-
+-2004-04-05  Javier Miranda  <miranda@gnat.com>
+-
+-      * par-ch3.adb: Complete documentation of previous change
+-      Correct wrong syntax documentation of the OBJECT_DECLARATION rule
+-      (aliased must appear before constant).
+-
+-      * par-ch4.adb: Complete documentation of previous change.
+-
+-      * par-ch6.adb: Complete documentation of previous change.
+-
+-      * sinfo.ads: Fix typo in commment.
+-
+-2004-04-05  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch3.adb (Inherit_Components): If derived type is private and has
+-      stored discriminants, use its discriminants to constrain parent type,
+-      as is done for non-private derived record types.
+-
+-      * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
+-      Ada 2005 AI-310: an abstract non-dispatching operation is not a
+-      candidate interpretation in an overloaded call.
+-
+-      * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
+-      expression is Null and target type is not an access type (e.g. a
+-      non-private address type).
+-
+-2004-04-05  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
+-      statement whose right-hand side is an inlined call, save a copy of the
+-      original assignment subtree to preserve enough consistency for
+-      Analyze_Assignment to proceed.
+-
+-      * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
+-      complete assignment subtree which is now unnecessary, as the expansion
+-      of inlined call has been improved to preserve a consistent assignment
+-      tree.  Note_Possible_Modification must be called only
+-      after checks have been applied, or else unnecessary checks will
+-      be generated.
+-
+-      * sem_util.adb (Note_Possible_Modification): Reorganise the handling
+-      of explicit dereferences that do not Come_From_Source:
+-       - be selective on cases where we must go back to the dereferenced
+-         pointer (an assignment to an implicit dereference must not be
+-         recorded as modifying the pointer);
+-       - do not rely on Original_Node being present (Analyze_Assignment
+-         calls Note_Possible_Modification on a copied tree).
+-
+-      * sem_warn.adb (Check_References): When an unset reference to a pointer
+-      that is never assigned is encountered, prefer '<pointer> may be null'
+-      warning over '<pointer> is never assigned a value'.
+-
+-2004-04-05  Ramon Fernandez  <fernandez@gnat.com>
+-
+-      * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
+-      the ABI.
+-
+-2004-04-05  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
+-      libexc. We currently don't reference anything in this library and
+-      linking it in triggers linker warnings we don't want to see.
+-
+-      * init.c: Update comments.
+-
+-2004-04-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
+-      * utils.c (create_field_decl): Likewise.
+-      * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
+-
+-2004-04-02  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
+-      Replace ifinfo by ifnottex, to make makeinfo --html happy again.
+-      Add info directory entry and category.
+-
+-2004-04-02  Jan Hubicka  <jh@suse.cz>
+-
+-      * utils.c: Include function.h
+-      (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
+-
+-2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      PR ada/14150
+-      * Make-lang.in: Clean up generation of documentation
+-
+-      * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
+-
+-      * xgnatug.adb: Removed, replaced by xgnatugn.adb
+-
+-      * xgnatugn.adb: Replaces xgnatug.adb
+-
+-      * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
+-
+-      * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
+-
+-      * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+-      gnat_ug_wnt.texi: Removed.
+-
+-2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * utils2.c: Update copyright notice.
+-
+-2004-04-01  Robert Dewar  <dewar@gnat.com>
+-
+-      * checks.adb: Minor reformatting throughout
+-      Note that prev checkin added RM reference to alignment warning
+-
+-2004-04-01  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_aggr.adb (Get_Component_Val): Treat a string literal as
+-      non-static when building aggregate for bit-packed array.
+-
+-      * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
+-      function call that is itself the actual in a procedure call, build
+-      temporary for it.
+-
+-      * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
+-      a string literal, create a temporary for it, constant folding only
+-      handles scalars here.
+-
+-2004-04-01  Vincent Celier  <celier@gnat.com>
+-
+-      * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
+-      Error_Msg_SP): New empty procedures to instantiate the Scanner.
+-      (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
+-      tokens.
+-      (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
+-      (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
+-      and get the checksum.
+-
+-      * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
+-      already in the Q.
+-      Increase the Marking_Label at the end of the Multiple_Main_Loop,
+-      instead of at the beginning.
+-
+-      * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
+-      directly.
+-      (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
+-      on VMS.
+-
+-      * osint.ads (Multi_Unit_Index_Character): New Character global variable
+-
+-      * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
+-      not '~' directly.
+-
+-      * par.adb: Remove test on file name to detect language defined units.
+-      Add test on unit name, after parsing, to detect language defined units
+-      that are not compiled with -gnatg (except System.RPC and its children)
+-
+-      * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
+-      following units without style checking.
+-
+-      * switch-c.adb: Change -gnatC to -gnateI
+-
+-      * usage.adb: Document new switch -gnateInnn
+-
+-      * scng.adb (Accumulate_Token_Checksum): New procedure
+-      (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
+-      word or literal number.
+-      (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
+-      numbers.
+-
+-2004-04-01  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * a-tasatt.adb,
+-      g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
+-      switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
+-      5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
+-      5vtpopde.adb: Add missing 'constant' keywords.
+-
+-2004-04-01  Javier Miranda  <miranda@gnat.com>
+-
+-      * par-ch4.adb: (P_Allocator): Code cleanup
+-
+-      * sem_ch3.adb (Access_Definition): Properly set the null-excluding
+-      attribute.
+-
+-      * sinfo.ads: Complete documentation of previous change
+-
+-2004-04-01  Pascal Obry  <obry@gnat.com>
+-
+-      * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
+-      only on VMS.  This special handling was done because an old GNU/ld bug
+-      on Windows which has been fixed.
+-
+-2004-04-01  GNAT Script  <nobody@gnat.com>
+-
+-      * Make-lang.in: Makefile automatically updated
+-
+-2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * decl.c (gnat_to_gnu_entity, make_type_from_size):
+-      Use TYPE_UNSIGNED, not TREE_UNSIGNED.
+-      * trans.c (tree_transform, convert_with_check): Likewise.
+-      * utils.c (gnat_signed_or_unsigned_type): Likewise.
+-      (build_vms_descriptor, unchecked_convert): Likewise.
+-      * utils2.c (nonbinary_modular_operation): Likewise.
+-
+-2004-03-29  Javier Miranda  <miranda@gnat.com>
+-
+-      * checks.adb (Null_Exclusion_Static_Checks): New subprogram
+-      (Install_Null_Excluding_Check): Local subprogram that determines whether
+-      an access node requires a runtime access check and if so inserts the
+-      appropriate run-time check.
+-      (Apply_Access_Check): Call Install_Null_Excluding check if required
+-      (Apply_Constraint_Check): Call Install_Null_Excluding check if required
+-
+-      * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
+-
+-      * einfo.ads: Fix typo in comment
+-
+-      * exp_ch3.adb (Build_Assignment): Generate conversion to the
+-      null-excluding type to force the corresponding run-time check.
+-      (Expand_N_Object_Declaration): Generate conversion to the null-excluding
+-      type to force the corresponding run-time check.
+-
+-      * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
+-      the null-excluding type to force the corresponding run-time check.
+-
+-      * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
+-      case of access types unless they have the null-excluding attribute.
+-
+-      * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
+-      part.
+-
+-      * exp_util.ads: Fix typo in comment
+-
+-      * par.adb (P_Null_Exclusion): New subprogram
+-      (P_Subtype_Indication): New formal that indicates if the null-excluding
+-      part has been scanned-out and it was present
+-
+-      * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
+-
+-      * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
+-      (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
+-      type to force the corresponding run-time check
+-      (Resolve_Aggregate): Propagate the null-excluding attribute to the array
+-      components
+-      (Resolve_Array_Aggregate): Carry out some static checks
+-      (Resolve_Record_Aggregate.Get_Value): Carry out some static check
+-
+-      * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
+-      attribute must be set only if specified by means of the null-excluding
+-      part. In addition, we must also propagate the access-constant attribute
+-      if present.
+-      (Access_Subprogram_Declaration, Access_Type_Declaration,
+-      Analyze_Component_Declaration, Analyze_Object_Declaration,
+-      Array_Type_Declaration, Process_Discriminants,
+-      Analyze_Subtype_Declaration): Propagate the null-excluding attribute
+-      and carry out some static checks.
+-      (Build_Derived_Access_Type): Set the null-excluding attribute
+-      (Derived_Type_Declaration, Process_Subtype): Carry out some static
+-      checks.
+-
+-      * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
+-
+-      * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
+-
+-      * sem_ch6.adb (Process_Formals): Carry out some static checks.
+-      (Set_Actual_Subtypes): Generate null-excluding subtype if the
+-      null-excluding part was present; it is not required to be done here in
+-      case of anonymous access types.
+-      (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
+-      value.
+-
+-      * sem_res.adb (Resolve_Actuals): Carry out some static check
+-      (Resolve_Null): Allow null in anonymous access
+-
+-      * sinfo.adb: New subprogram Null_Exclusion_Present
+-      All_Present and Constant_Present available on access_definition nodes
+-
+-      * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
+-      object_declaration, derived_type_definition, component_definition,
+-      discriminant_specification, access_to_object_definition,
+-      access_function_definition, allocator, access_procedure_definition,
+-      access_definition, parameter_specification, All_Present and
+-      Constant_Present flags available on access_definition nodes.
+-
+-2004-03-29  Robert Dewar  <dewar@gnat.com>
+-
+-      * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
+-      gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
+-      opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
+-      par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
+-      sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
+-      sem_prag.adb: Updates to handle multiple units/file
+-
+-      * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
+-
+-      * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
+-      sem_util.adb: Minor reformatting
+-
+-      * sem_ch12.adb: Add comment for previous change
+-
+-2004-03-29  Laurent Pautet  <pautet@act-europe.fr>
+-
+-      * osint.adb (Executable_Prefix): Set Exec_Name to the current
+-      executable name when not initialized. Otherwise, use its current value.
+-
+-      * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
+-      initialize it to another executable name than the current one. This
+-      allows to configure paths for an executable name (gnatmake) different
+-      from the current one (gnatdist).
+-
+-2004-03-29  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_ch6.adb (Expand_Call): A call to a function declared in the
+-      current unit cannot be inlined if it appears in the body of a withed
+-      unit, to avoid order of elaboration problems in gigi.
+-
+-      * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
+-      information for protected (wrapper) operation as well, to simplify gdb
+-      use.
+-
+-      * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
+-      protected body, indicate that the entity for the generated spec comes
+-      from source, to ensure that references are properly generated for it.
+-      (Build_Body_To_Inline): Do not inline a function that returns a
+-      controlled type.
+-
+-      * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
+-      apply convention to homonyms that are declared explicitly.
+-
+-      * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
+-      that renames an equality operator and the operands are overloaded,
+-      resolve them with the declared formal types, before rewriting as an
+-      operator.
+-
+-2004-03-29  GNAT Script  <nobody@gnat.com>
+-
+-      * Make-lang.in: Makefile automatically updated
+-
+-2004-03-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
+-
+-      * memtrack.adb: Log realloc calls, which are treated as free followed
+-      by alloc.
+-
+-2004-03-25  Vincent Celier  <celier@gnat.com>
+-
+-      * prj-makr.adb (Process_Directories): Detect when a file contains
+-      several units. Do not include such files in the config pragmas or
+-      in the naming scheme.
+-
+-      * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
+-      Resolve links only when not in Trusted_Mode.
+-      (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
+-      Do not resolve links for the display names.
+-
+-      * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
+-      resolve links when computing the display names.
+-
+-2004-03-25  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
+-      attribute reference does not denote a subtype, it can be any
+-      expression that has a classwide type, potentially after an implicit
+-      dereference.  In particular, the prefix can be a view conversion for
+-      a classwide type (for which Is_Object_Reference holds), but it can
+-      also be a value conversion for an access-to-classwide type. In the
+-      latter case, there is an implicit dereference, and the original node
+-      for the prefix does not verify Is_Object_Reference.
+-
+-      * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
+-      conversion of a discriminant-dependent component of a mutable object
+-      is one itself.
+-
+-2004-03-25  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * freeze.adb (Freeze_Entity): When an inherited subprogram is
+-      inherited, has convention C, and has unconstrained array parameters,
+-      place the corresponding warning on the derived type declaration rather
+-      than the original subprogram.
+-
+-      * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
+-      indication on renaming declaration, if formal has a box and actual
+-      is absent.
+-
+-      * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
+-      determine whether to generate an implicit or explicit reference to
+-      the renamed entity.
+-
+-      * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
+-      subprogram renaming comes from a defaulted formal subprogram in an
+-      instance.
+-
+-2004-03-25  Gary Dismukes  <dismukes@gnat.com>
+-
+-      * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
+-      value expressions to ensure that calls within a component definition
+-      will be checked (since those are evaluated during the record type's
+-      elaboration).
+-
+-2004-03-25  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * s-tpobop.adb: Code clean up:
+-      (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
+-      code.
+-      (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
+-
+-2004-03-25  Jose Ruiz  <ruiz@act-europe.fr>
+-
+-      * Makefile.in: Clean up in the ravenscar run time.
+-
+-2004-03-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
+-      of No_Strict_Aliasing to build_pointer_type_for_mode.
+-      * utils.c (update_pointer_to): Walk pointer and ref chains.
+-
+-2004-03-22  Cyrille Comar  <comar@act-europe.fr>
+-
+-      * ali.ads: Fix Comment about Dynamic_Elab.
+-
+-      * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
+-      Has_RACW, Is_Generic, etc.)
+-      (Output_Object, Gnatls): Take into account ALI files not attached to
+-      an object.
+-
+-2004-03-22  Vincent Celier  <celier@gnat.com>
+-
+-      * gprep.adb: Change all String_Access to Name_Id
+-      (Is_ASCII_Letter): new function
+-      (Double_File_Name_Buffer): New procedure
+-      (Preprocess_Infile_Name): New procedure
+-      (Process_Files): New procedure
+-      (Gnatprep): Check if output and input are existing directories.
+-      Call Process_Files to do the real job.
+-
+-2004-03-22  Robert Dewar  <dewar@gnat.com>
+-
+-      * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
+-      s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
+-
+-2004-03-22  Sergey Rybin  <rybin@act-europe.fr>
+-
+-      * scn.adb (Contains): Add check for EOF, is needed for a degenerated
+-      case when the source contains only comments.
+-
+-2004-03-22  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
+-      declaration for a child subprogram body that acts as a spec, indicate
+-      that the entity in the declaration needs debugging information.
+-
+-      * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
+-      full view if the subtype is created for a constrained record component;
+-      gigi has enough information to construct the record, and there is no
+-      place in the tree for the declaration.
+-
+-      * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
+-      serial number for the dummy body that is built for analysis, to avoid
+-      inconsistencies in the generation of internal names when compiling
+-      with -gnatN.
+-
+-2004-03-22  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * sem_util.adb (Is_Object_Reference): A view conversion denotes an
+-      object.
+-
+-2004-03-22  GNAT Script  <nobody@gnat.com>
+-
+-      * Make-lang.in: Makefile automatically updated
+-
+-2004-03-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
+-      * trans.c (tree_transform, emit_index_check): Likewise.
+-      * utils.c (build_template): Likewise.
+-      (max_size, convert): Remove handling of WITH_RECORD_EXPR.
+-      (maybe_unconstrained_array, unchecked_convert): Likewise.
+-      * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
+-      (build_unary_op): Likewise.
+-      (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
+-      (fill_vms_descriptor): Likewise.
+-      (build_call_alloc_dealloc): Likewise.
+-      ALIGN is unsigned.
+-      * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
+-
+-2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
+-
+-      PR other/14630
+-      * gnat_ug.texi: Add info directory category and entry.
+-      * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+-      gnat_ug_wnt.texi: Regenerate.
+-
+-2004-03-19  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * ada-tree.h: Update copyright notice.
+-      Minor reformatting.
+-
+-2004-03-19  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
+-      as regular exception objects and not as mere integers representing the
+-      condition code.  The latter approach required some dynamics to mask off
+-      severity bits, which did not fit well into the GCC table based model.
+-      (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
+-      exception data objects. We don't it and it would conflict with the other
+-      external symbol we have to generate for such exceptions.
+-
+-      * trans.c (tree_transform, case N_Exception_Handler): Remove part of
+-      the special code for VMS exceptions, since these are now represented
+-      as regular exceptions objects.
+-
+-2004-03-19 Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * decl.c (debug_no_type_hash): Remove.
+-      (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
+-      * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
+-
+-2004-03-19  Laurent Guerby  <laurent@guerby.net>
+-
+-      * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
+-      aggregate, allows bootstrap from 3.3 on powerpc-darwin.
+-
+-2004-03-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
+-      (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
+-      (TYPE_RM_SIZE_INT): Directly use type.values.
+-      (TREE_LOOP_ID): Clean up check.
+-      * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
+-      TYPE_VALUES, not TYPE_FIELDS.
+-      * trans.c (convert_with_check): Delay access of bounds of basetype
+-      until sure is numeric.
+-
+-2004-03-18  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
+-
+-      Code clean up:
+-      * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
+-      5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
+-      Specific.Set instead of direct call to e.g pthread_setspecific.
+-
+-2004-03-18  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * adaint.c: Update comments.
+-
+-      * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
+-      GNATLIB_SHARED for FreeBSD.
+-
+-2004-03-18  Jose Ruiz  <ruiz@act-europe.fr>
+-
+-      * init.c [VxWorks]: Do not fix the stack size for the environment task.
+-      When needed (stack checking) the stack size is retrieved
+-      from the VxWorks kernel.
+-
+-      * Makefile.in: Flag -nostdinc is required when building the run time
+-      for avoiding looking for files in the base compiler.
+-      Add the VxWorks specific version of the package body for
+-      System.Stack_checking.Operations (5zstchop.adb).
+-
+-      * Make-lang.in: Add the object file for
+-      System.Stack_Checking.Operations.
+-
+-      * Makefile.rtl: Add object file for the package
+-      System.Stack_Checking.Operations.
+-
+-      * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
+-
+-      * s-stache.ads, s-stache.adb: Move the operations related to stack
+-      checking from this package to package System.Stack_Checking.Operations.
+-      This way, stack checking operations are only linked in the final
+-      executable when using the -fstack-check flag.
+-
+-2004-03-18  Doug Rupp  <rupp@gnat.com>
+-
+-      * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
+-      Reorganize ifeq's.
+-
+-      * 5qsystem.ads, 5xcrtl.ads: New files.
+-
+-2004-03-18  Vincent Celier  <celier@gnat.com>
+-
+-      * prj.adb (Reset): Reset hash table Files_Htable
+-
+-      * prj-env.adb (Source_Paths, Object_Paths): New tables.
+-      (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
+-      the procedures Add_To_Path_File.
+-      (Set_Ada_Paths): Accumulate source and object dirs in the tables,
+-      making sure that each directory is present only once and, for object
+-      dirs, when a directory already present is added, the duplicate is
+-      removed and the directory is always put as the last in the table.
+-      Write the path files at the end of these accumulations.
+-
+-      * prj-nmsc.adb (Record_Source): Add source file name in hash table
+-      Files_Htable for all sources.
+-
+-      * prj-proc.adb (Process): Remove restrictions between not directly
+-      related extending projects.
+-
+-2004-03-18  Emmanuel Briot  <briot@act-europe.fr>
+-
+-      * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
+-      (Find_Sources): Minor speed optimization.
+-
+-      * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
+-      parameter Trusted_Mode.
+-
+-2004-03-18  Sergey Rybin  <rybin@act-europe.fr>
+-
+-      * scn.adb (Determine_License): Take into account a degenerated case
+-      when the source contains only comments.
+-
+-2004-03-18  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_warn.adb (Check_References): For a warning on a selected
+-      component that does not come from source, locate an uninitialized
+-      component of the record type to produce a more precise error message.
+-
+-2004-03-15  Jerome Guitton  <guitton@act-europe.fr>
+-
+-      * 3zsoccon.ads: Fix multicast options.
+-
+-      * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
+-      in the spec.
+-
+-2004-03-15  Robert Dewar  <dewar@gnat.com>
+-
+-      * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
+-      pragma used for a private type.
+-
+-      * lib-xref.adb (Generate_Reference): Do not generate warning if
+-      reference is in a different unit from the pragma Unreferenced.
+-
+-      * 5vtpopde.adb: Minor reformatting
+-      Fix casing of To_Task_ID
+-
+-      * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
+-      flag if we have an unchecked conversion to an access type in the same
+-      unit.
+-
+-2004-03-15  Geert Bosch  <bosch@gnat.com>
+-
+-      * a-ngcoty.adb (Modulus): In alternate formula for large real or
+-      imaginary parts, use Double precision throughout.
+-
+-      * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
+-      we want to be able to compile run-time with -gnata for testing, but
+-      this may also be instantiated in user code that is compiled with -gnata.
+-
+-2004-03-15  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * s-stalib.ads (Exception_Code): New type, to represent Import/Export
+-      codes. Having a separate type for this is useful to enforce consistency
+-      throughout the various run-time units.
+-      (Exception_Data): Use Exception_Code for Import_Code.
+-
+-      * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
+-      Natural and Integer in various places.
+-      (Register_VMS_Exception): Use Base_Code_In to compute the exception code
+-      with the severity bits masked off.
+-      (Register_VMS_Exception): Handle the additional exception data pointer
+-      argument.
+-
+-      * raise.c (_GNAT_Exception structure): Remove the handled_by_others
+-      component, now reflected by an exported accessor.
+-      (is_handled_by): New routine to compute whether the propagated
+-      occurrence matches some handler choice specification. Extracted out of
+-      get_action_description_for, and expanded to take care of the VMS
+-      specifities.
+-      (get_action_description_for): Use is_handled_by instead of an explicit
+-      complex condition to decide if the current choice at hand catches the
+-      propagated occurrence.
+-
+-      * raise.h (Exception_Code): New type for C.
+-
+-      * rtsfind.ads (RE_Id, RE_Unit_Table): Add
+-      System.Standard_Library.Exception_Code, to allow references from the
+-      pragma import/export expander.
+-
+-      * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
+-      New accessors to allow easy access to GNAT exception data
+-      characteristics.
+-      (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
+-      redundant Handled_By_Others component, helper for the personality
+-      routine which will now be able to call the appropriate exception data
+-      accessor instead.
+-
+-      * cstand.adb (Create_Standard): Adjust the type of the Import_Code
+-      component of Standard_Exception_Type to be the closest possible to
+-      Exception_Code in System.Standard_Library, that we cannot get at this
+-      point. Expand a ??? comment to notify that this type node should
+-      probably be rewritten later on.
+-
+-      * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
+-      registration call to include a pointer to the exception object in the
+-      arguments.
+-
+-      * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
+-      instead of int and explicit bitmasks.
+-
+-2004-03-15  Vincent Celier  <celier@gnat.com>
+-
+-      * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
+-      equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
+-
+-      * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
+-      longer needed now that it is in the spec of
+-      System.Tasking.Task_Attributes.
+-
+-      * adaint.h, adaint.c: (__gnat_create_output_file): New function
+-
+-      * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
+-
+-      * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
+-
+-      * make.adb (Gnatmake): Do not check the executable suffix; it is being
+-      taken care of in Scan_Make_Arg.
+-      (Scan_Make_Arg): Add the executable suffix only if the argument
+-      following -o, in canonical case, does not end with the executable
+-      suffix.  When in verbose mode and executable file name does not end
+-      with executable suffix, output the executable name, in canonical case.
+-
+-      * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
+-      to avoid warnings when instantiating Ada.Task_Attributes.
+-      Minor reformating.
+-
+-      * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
+-      in the correct order.
+-
+-      * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
+-      redirect standard output and error to a file for the invocation of the
+-      compiler, then read the file.
+-
+-      * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
+-      directory, instead of the Value.
+-      (Find_Source_Dirs): Remove useless code & comments.
+-
+-2004-03-15  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
+-      tagged type is inherited, and the parent operation is not frozen yet,
+-      force generation of a freeze node for the inherited operation, so the
+-      corresponding dispatch entry is properly initialized.
+-      (Make_Predefined_Primitive_Specs): Check that return type is Boolean
+-      when looking for user-defined equality operation.
+-
+-      * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
+-      boolean when locating primitive equality of tagged component.
+-
+-      * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
+-      bit-aligned field and the right-hand side a string literal, introduce
+-      a temporary before expanding assignment into a loop.
+-
+-      * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
+-      priority in full, to ensure that any expanded subepxressions of it are
+-      elaborated in the scope of the init_proc.
+-
+-      * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
+-      after object declaration, skipping over code that may have been
+-      generated for validity checks.
+-
+-      * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
+-      discriminants, ignore the known discriminants of its full view, if
+-      any, to check legality.
+-
+-      * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
+-      component if type has unknown discriminants.
+-      (Analyze_Private_Extension_Declaration): Discriminant constraint is
+-      null if type has unknown discriminants.
+-
+-      * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
+-      for end label when present.
+-
+-      * s-fileio.adb (Open): When called with a C_Stream, use given name for
+-      temporary file, rather than an empty string.
+-
+-2004-03-15  Ed Falis  <falis@gnat.com>
+-
+-      * s-thread.adb: Removed, no longer used.
+-
+-2004-03-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * decl.c (target.h): Now include.
+-      (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
+-      in new build_pointer_from_mode calls for non-fat/non-thin pointer.
+-      (validate_size): For POINTER_TYPE, get smallest size permitted on
+-      machine.
+-
+-      * fe.h: Sort Einfo decls and add Set_Mechanism.
+-
+-      * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
+-      (ada/decl.o): Depends on target.h.
+-
+-      * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
+-      FUNCTION_BOUNDARY; always use TYPE_ALIGN.
+-
+-2004-03-15  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
+-
+-      * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
+-      Insert_Dereference_Action when rewriting an implicit dereference into
+-      an explicit one, this will be taken care of during expansion of the
+-      explicit dereference.
+-      (Expand_N_Slice): Same. Always do the rewriting, even for the case
+-      of non-packed slices, since the dereference action generated by
+-      expansion of the explicit dereference is needed in any case.
+-      (Expand_N_Selected_Component): When rewriting an implicit dereference,
+-      analyze and resolve the rewritten explicit dereference so it is seen
+-      by the expander.
+-      (Insert_Dereference_Action): This procedure is now called only for the
+-      expansion of an N_Explcit_Dereference_Node. Do insert a check even for
+-      dereferences that do not come from source (including explicit
+-      dereferences resulting from rewriting implicit ones), but do not
+-      recursively insert a check for the dereference nodes contained within
+-      the check.
+-      (Insert_Dereference_Action): Clarify and correct comment.
+-
+-2004-03-08  Paolo Bonzini  <bonzini@gnu.org>
+-
+-      PR ada/14131
+-      Move language detection to the top level.
+-      * config-lang.in: Build by default.
+-
+-2004-03-05  Robert Dewar  <dewar@gnat.com>
+-
+-      * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
+-
+-      * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
+-      i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
+-      5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
+-      5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
+-      unchecked conversion to spec to avoid warnings.
+-
+-      * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
+-      to Task_ID
+-
+-      * 7stpopsp.adb: Correct casing in To_Task_ID call
+-
+-      * a-strsea.ads, a-strsea.adb: Minor reformatting
+-
+-      * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
+-
+-      * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
+-      Adjust Max_Msg_Length to be clearly large enough.
+-
+-      * fe.h: Define In_Same_Source_Unit
+-
+-      * osint.adb: Add pragma Warnings Off to suppress warnings
+-      * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
+-      aliasing warnings.
+-
+-      * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
+-
+-      * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
+-
+-      * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
+-
+-      * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
+-
+-      * sem_prag.adb: Implement pragma No_Strict_Aliasing.
+-
+-      * sinfo.ads: Remove obsolete comment on validate unchecked conversion
+-      node. We now do generate them for gcc back end.
+-
+-      * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
+-      warning.
+-
+-      * sinput-c.adb: Fix bad name in header.
+-      Add pragma Warnings Off to suppress aliasing warning.
+-
+-      * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
+-
+-      * snames.h, snames.ads, snames.adb: Add entry for pragma
+-      No_Strict_Aliasing.
+-
+-2004-03-05  Vincent Celier  <celier@gnat.com>
+-
+-      * prj-com.ads: Add hash table Files_Htable to check when a file name
+-      is already a source of another project.
+-
+-      * prj-nmsc.adb (Record_Source): Before recording a new source, check
+-      if its file name is not already a source of another project. Report an
+-      error if it is.
+-
+-      * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
+-      source file name, call gnatpp with all the sources of the main project.
+-
+-      * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
+-      of file names.
+-
+-      * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
+-      NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
+-      /RUNTIME_SYSTEM=, converted to --RTS=
+-      /NOTABS, converted to -notabs
+-
+-2004-03-05  Pascal Obry  <obry@gnat.com>
+-
+-      * make.adb: Minor reformatting.
+-
+-2004-03-05  Ed Schonberg  <schonberg@gnat.com>
+-
+-      Part of implemention of AI-262.
+-      * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
+-
+-      * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
+-      procedure.
+-
+-      * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
+-      when component type is a partially constrained class-wide subtype.
+-      (Constrain_Discriminated_Type): If parent type has unknown
+-      discriminants, a constraint is illegal, even if full view has
+-      discriminants.
+-      (Build_Derived_Record_Type): Inherit discriminants when deriving a type
+-      with unknown discriminants whose full view is a discriminated record.
+-
+-      * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
+-      flag, to handle properly derivations of tagged types with unknown
+-      discriminants.
+-      (Analyze_Package_Spec, Analyze_Package_Body): Install
+-      Private_With_Clauses before analyzing private part or body.
+-
+-      * einfo.ads: Indicate that both Has_Unknown_Discriminants and
+-      Has_Discriminants can be true for a given type (documentation).
+-
+-2004-03-05  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * s-restri.ads: Fix license (GPL->GMGPL).
+-
+-      * s-tassta.adb: Minor reformatting.
+-
+-      * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
+-      by calls to Exit_One_ATC_Level, since additional clean up is performed
+-      by this function.
+-
+-      * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
+-      by calls to Exit_One_ATC_Level, since additional clean up is performed
+-      by this function.
+-
+-2004-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * trans.c: Reflect GCC changes to fix bootstrap problem.
+-      Add warning for suspicious aliasing unchecked conversion.
+-
+-2004-03-05  GNAT Script  <nobody@gnat.com>
+-
+-      * Make-lang.in: Makefile automatically updated
+-
+-2004-03-02  Emmanuel Briot  <briot@act-europe.fr>
+-
+-      * ali.adb (Read_Instantiation_Instance): Do not modify the
+-      current_file_num when reading information about instantiations, since
+-      this corrupts files in later references.
+-
+-2004-03-02  Vincent Celier  <celier@gnat.com>
+-
+-      * bcheck.adb (Check_Consistency): Get the full path of an ALI file
+-      before checking if it is read-only.
+-
+-      * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
+-      of SRC_DIRS and eliminate duplicates.
+-
+-      * gprcmd.adb: Replace command "path" with command "path_sep" to return
+-      the path separator.
+-      (Usage): Document path_sep
+-
+-      * Makefile.generic: For Ada and GNU C++ cases, link directly with the
+-      C++ compiler. No need for a script.
+-      Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
+-      Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
+-      subst.
+-
+-      * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
+-      where there are Ada sources.
+-      (Set_Ada_Paths): Only add to the include path the source dirs of project
+-      with Ada sources.
+-      (Add_To_Path): Add the Display_Values of the directories, not their
+-      Values.
+-
+-      * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
+-      data.
+-
+-      * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
+-      is not No_Name.
+-      (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
+-      Value is canonicalized.
+-      (Language_Independent_Check): Do not copy Value to Display_Value when
+-      canonicalizing Value.
+-
+-      * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
+-      path to find limited with cycles.
+-      (Parse_Single_Project): Use canonical cased path to find the end of a
+-      with cycle.
+-
+-2004-03-02  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
+-      and not a child unit.
+-
+-      * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
+-      appear in a with_clause.
+-
+-      * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
+-      only happen in type_annotate mode, do not try to elaborate it.
+-
+-      * exp_util.adb (Force_Evaluation): If expression is a selected
+-      component on the left of an assignment, use a renaming rather than a
+-      temporary to remove side effects.
+-
+-      * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
+-      inlined instance body, which is analyzed before the end of the
+-      enclosing scope.
+-
+-2004-03-02  Robert Dewar  <dewar@gnat.com>
+-
+-      * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
+-      sem_ch4.adb: Use new feature for substitution of keywords in VMS
+-
+-      * errout.ads, errout.adb: Implement new circuit for substitution of
+-      keywords in VMS.
+-
+-      * sem_case.adb (Analyze_Choices): Place message properly when case is
+-      a subtype reference rather than an explicit range.
+-
+-      * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
+-
+-2004-03-02  Doug Rupp  <rupp@gnat.com>
+-
+-      * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
+-
+-2004-03-02  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
+-
+-2004-03-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
+-      BLKmode bitfield.
+-
+-2004-02-25  Robert Dewar  <dewar@gnat.com>
+-
+-      * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
+-      55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
+-      5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
+-      5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
+-      5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
+-      5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
+-      the defining instance of the type to avoid aliasing problems.
+-      Fix copyright header.  Fix bad comments in package header.
+-
+-      * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
+-
+-2004-02-25  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_ch2.adb (Param_Entity): Handle properly formals that have been
+-      rewritten as references when aliased through an address clause.
+-
+-      * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
+-      whether call can be interpreted as an indirect call to the result of a
+-      parameterless function call returning an access subprogram.
+-
+-2004-02-25  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      Code clean up:
+-      * exp_ch7.adb (Make_Clean): Remove generation of calls to
+-      Unlock[_Entries], since this is now done by Service_Entries directly.
+-
+-      * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
+-
+-      * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
+-      Requeue_Call for better code readability. Change spec and update calls:
+-      PO_Service_Entries now unlock the PO on exit.
+-      (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
+-      PO_Service_Entries.
+-
+-      * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
+-
+-      * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
+-
+-2004-02-25  Sergey Rybin  <rybin@act-europe.fr>
+-
+-      * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
+-      protected subprogram call and analyzing the result of such expanding
+-      in case when the called protected subprogram is eliminated.
+-
+-      * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
+-      names.
+-
+-2004-02-25  Jerome Guitton  <guitton@act-europe.fr>
+-
+-      * Makefile.in: Clean ups.
+-
+-2004-02-23  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
+-      protected operations if original subprogram is flagged as eliminated.
+-      (Expand_N_Subprogram_Body): For a protected operation, create
+-      discriminals for next operation before checking whether the operation
+-      is eliminated.
+-
+-      * exp_ch9.adb (Expand_N_Protected_Body,
+-      Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
+-      for internal protected operations if the original subprogram is
+-      eliminated.
+-
+-      * sem_elim.adb (Check_Eliminated): Handle properly protected operations
+-      declared in a single protected object.
+-
+-2004-02-23  Vincent Celier  <celier@gnat.com>
+-
+-      * prj-attr.adb: Make attribute Builder'Executable an associative array,
+-      case insensitive if file names are case insensitive, instead of a
+-      standard associative array.
+-
+-      * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
+-      them as case insensitive on platforms where the file names are case
+-      sensitive.
+-
+-      * prj-part.adb (Parse_Single_Project): Make sure, when checking if
+-      project file has already been parsed that canonical path are compared.
+-
+-2004-02-23  Robert Dewar  <dewar@gnat.com>
+-
+-      * sinput-c.ads: Correct bad unit title in header
+-
+-      * freeze.adb: Minor reformatting
+-
+-2004-02-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * trans.c (tree_transform, case N_Procedure_Call_Statement): For
+-      nonaddressable COMPONENT_REF that is removing padding that we are
+-      taking the address of, take the address of the padded record instead
+-      if item is variable size.
+-
+-2004-02-20  Robert Dewar  <dewar@gnat.com>
+-
+-      * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
+-
+-2004-02-20  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
+-      itype references for the constrained designated type of a component
+-      whose base type is already frozen.
+-
+-2004-02-20  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
+-      avoid GCC warnings.
+-
+-2004-02-20  Sergey Rybin  <rybin@act-europe.fr>
+-
+-      * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
+-      identifier for a phantom package that rewrites the formal package
+-      declaration with a box. The Add semantic decorations for the defining
+-      identifier from the original node (that represents the formal package).
+-
+-2004-02-19  Matt Kraai  <kraai@alumni.cmu.edu>
+-
+-      * Make-lang.in (ada/stamp-sdefault): Use the top level
+-      move-if-change.
+-
+-2004-02-19  Richard Henderson  <rth@redhat.com>
+-
+-      * misc.c (record_code_position): Add third build arg for RTL_EXPR.
+-
+-2004-02-18  Emmanuel Briot  <briot@act-europe.fr>
+-
+-      * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
+-      Scan_ALI can be used for multiple ALI files without reinitializing
+-      between calls.
+-
+-2004-02-18  Robert Dewar  <dewar@gnat.com>
+-
+-      * debug.adb: Minor reformatting.
+-
+-2004-02-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
+-      to zero if there is an address clause.
+-
+-2004-02-18  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
+-
+-2004-02-18  Gary Dismukes  <dismukes@gnat.com>
+-
+-      * layout.adb (Layout_Component_List): Revise generation of call to
+-      discriminant-checking function to pass selections of all of the type's
+-      discriminants rather than just the variant-controlling discriminant.
+-
+-2004-02-18  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
+-      fail in the current setup and triggers spurious system error messages.
+-      Pretend it occurred and failed instead.
+-
+-2004-02-18  Vincent Celier  <celier@gnat.com>
+-
+-      * bld.adb: Mark FLDFLAGS as saved
+-      (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
+-      it is not the root project.  Put each directory to be
+-      extended between double quotes to prevent it to be expanded on Windows.
+-      (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
+-      the project file. Set them back to their initial values if they have not
+-      been set in the project file.
+-
+-      * gprcmd.adb: (Gprdebug, Debug): New global variables
+-      (Display_Command): New procedure
+-      (Usage): Document new command "linkopts"
+-      Call Display_Command when env var GPRDEBUG has the value "TRUE"
+-      Implement new command "linkopts"
+-      Remove quotes that may be around arguments for "extend"
+-      Always call Normalize_Pathname with arguments formatted for the platform
+-
+-      * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
+-      Change @echo to @$(display) in target clean to be able to clean silently
+-
+-      * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
+-
+-      * prj-part.adb (Project_Path_Name_Of): Do not put final result in
+-      canonical case.
+-
+-      * prj-part.adb (Parse_Single_Project): Always call with From_Extended
+-      = Extending_All when current project is an extending all project.
+-
+-      * vms_conv.adb (Output_File_Expected): New Boolean global variable,
+-      set to True only for LINK command, after Unix switch -o.
+-      (Process_Arguments): Set Output_File_Expected to True for LINK command
+-      after Unix switch -o. When Output_File_Expected is True, never add an
+-      extension to a file name.
+-
+-      * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
+-      option file name, only to the --for-linker= switch.
+-      (Option_File_Name): If option file name do not end with ".opt", append
+-      "/OPTIONS".
+-
+-2004-02-18  GNAT Script  <nobody@gnat.com>
+-
+-      * Make-lang.in: Makefile automatically updated
+-
+-2004-02-17  Matt Kraai  <kraai@alumni.cmu.edu>
+-
+-      * Make-lang.in (stamp-sdefault): Do not depend on
+-      move-if-change.
+-
+-2004-02-12  Zack Weinberg  <zack@codesourcery.com>
+-
+-      * config-lang.in: Disable Ada by default until probe logic for
+-      a bootstrap Ada compiler can be moved to the top level configure
+-      script.
+-
+-2004-02-12  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * decl.c (components_to_record): Don't claim that the internal fields
+-      we make to hold the variant parts are semantically addressable, because
+-      they are not.
+-
+-      * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
+-      adjust the comment describing the modular type form when we can use it.
+-      (Install_PAT): Account for the Esiz renaming.
+-
+-      * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
+-      sc_onstack context indication before raising the exception to which
+-      the signal is mapped. Allows better handling of later signals possibly
+-      triggered by the resumed user code if the exception is handled.
+-
+-2004-02-12  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * 5zinit.adb: Removed, no longer used.
+-
+-2004-02-12  Robert Dewar  <dewar@gnat.com>
+-
+-      * ali.adb: Remove separating space between parameters on R line. Makes
+-      format consistent with format used by the binder for Set_Globals call.
+-
+-      * atree.ads, atree.adb: Minor reformatting (new function header format)
+-
+-      * bindgen.adb: Add Run-Time Globals documentation section containing
+-      detailed documentation of the globals passed from the binder file to
+-      the run time.
+-
+-      * gnatls.adb: Minor reformatting
+-
+-      * init.c (__gnat_set_globals): Add note pointing to documentation in
+-      bindgen.
+-
+-      * lib-writ.ads, lib-writ.adb: Remove separating space between
+-      parameters on R line.
+-      Makes format consistent with format used by the binder for Set_Globals
+-      call.
+-
+-      * osint.ads: Add 2004 to copyright notice
+-      Minor reformatting
+-
+-      * snames.ads: Correct capitalization of FIFO_Within_Priorities
+-      Noticed during code reading, documentation issue only
+-
+-      * usage.adb: Remove junk line for obsolete C switch
+-      Noticed during code reading
+-
+-2004-02-12  Vincent Celier  <celier@gnat.com>
+-
+-      * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
+-      extend for each directory, so that multiple /** directories are
+-      extended individually.
+-      (Recursive_Process): Set the default for LANGUAGES to ada
+-
+-      * gprcmd.adb: Define new command "ignore", to do nothing.
+-      Implement new comment "path".
+-
+-      * Makefile.generic: Suppress output when SILENT is set
+-      Make sure that when compiler for C/C++ is gcc, the correct -x switch is
+-      used, so that the correct compiler is invoked.
+-      When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
+-      CXX_INCLUDE_PATH, to avoid failure with too long command lines.
+-
+-2004-02-12  Jerome Guitton  <guitton@act-europe.fr>
+-
+-      * Makefile.in: Clean ups and remove obsolete targets.
+-
+-2004-02-12  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
+-      predicate declared in exp_util.
+-
+-      * exp_util.adb: Add comments.
+-
+-      * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
+-      visibility before compiling context of the subunit.
+-
+-      * sem_res.adb (Check_Parameterless_Call): If the context expects a
+-      value but the name is a procedure, do not attempt to analyze as a call,
+-      in order to obtain more telling diagnostics.
+-
+-      * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
+-      'Access on parameterless function calls.
+-      (Normalize_Actuals): For a parameterless function call with missing
+-      actuals, defer diagnostic until resolution of enclosing call.
+-
+-      * sem_util.adb (Wrong_Type): If the context type is an access to
+-      subprogram and the expression is a procedure name, suggest a missing
+-      'attribute.
+-
+-2004-02-10  Arnaud Charlet  <charlet@act-europe.fr>,
+-          Nathanael Nerode  <neroden@gcc.gnu.org>
+-
+-      PR ada/6637
+-      PR ada/5911
+-      Merge with libada-branch:
+-      * config-lang.in: Build libada only when ada is built.
+-
+-2004-02-09  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
+-      for a tagged type, verify that both formals have the same type.
+-
+-      * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
+-      temporary when the formal is an in-parameter and the actual a possibly
+-      unaligned slice.
+-
+-      * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
+-      when expansion is disabled, to ensure proper name capture with
+-      overloaded literals.  Condition can be of any boolean type, resolve
+-      accordingly.
+-
+-      * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
+-      renaming is for a formal subprogram with a default operator name, and
+-      there is a usable operator that is visible at the point of
+-      instantiation.
+-
+-2004-02-09  Robert Dewar  <dewar@gnat.com>
+-
+-      * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
+-      rewrite to ignore errors in ali files, intended to allow tools downward
+-      compatibility with new versions of ali files.
+-
+-      * ali.ads: Add new parameter Ignore_Errors
+-
+-      * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
+-      duplicating the error message giving the file with restrictions.
+-
+-      * debug.adb: Add debug flag I for gnatbind
+-
+-      * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
+-      operators for the case where the operator is a defining operator.
+-
+-      * exp_ch3.adb: Minor reformatting (new function spec format).
+-
+-      * exp_ch4.adb: Add comment for previous change, and make minor
+-      adjustment to loop to always check for improper loop termination.
+-      Minor reformatting throughout (new function spec format).
+-
+-      * gnatbind.adb: Implement -di debug flag for gnatbind
+-
+-      * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
+-
+-      * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
+-
+-      * lib-load.adb: Fix bad assertion.
+-      Found by testing and code reading.
+-      Minor reformatting.
+-
+-      * lib-load.ads: Minor reformatting.
+-
+-      * lib-writ.adb: There is only one R line now.
+-
+-      * lib-writ.ads: Add documentation on making downward compatible changes
+-      to ali files so old tools work with new ali files.
+-      There is only one R line now.
+-      Add documentation on format incompatibilities (with special GPS note)
+-
+-      * namet.ads, namet.adb: (Is_Operator_Name): New procedure
+-
+-      * par-load.adb: Minor reformatting
+-
+-      * sem_ch8.adb: Fix to error message from last update
+-      Minor reformatting and restructuring of code from last update
+-
+-      * par-prag.adb, snames.adb, snames.ads, snames.h,
+-      sem_prag.adb: Implement pragma Profile.
+-
+-      * stylesw.adb: Implement -gnatyN switch to turn off all style check
+-      options.
+-
+-      * usage.adb: Add line for -gnatyN switch
+-
+-      * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
+-
+-2004-02-09  Albert Lee  <lee@gnat.com>
+-
+-      * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
+-
+-2004-02-09  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
+-      slices.
+-
+-      * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
+-      is nested in an instance that is not frozen yet, to avoid
+-      order-of-elaboration problems in gigi.
+-
+-      * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
+-      body the attribute is legal.
+-
+-2004-02-09  Robert Dewar  <dewar@gnat.com>
+-
+-      * s-rident.ads: Minor comment correction
+-
+-      * targparm.adb: Remove dependence on uintp completely. There was
+-      always a bug in Make in that it called Targparm before initializing
+-      the Uint package. The old code appeared to get away with this, but
+-      the new code did not! This caused an assertion error in gnatmake.
+-
+-      * targparm.ads: Fix bad comment, restriction pragmas with parameters
+-      are indeed fully supported.
+-
+-2004-02-06  Alan Modra  <amodra@bigpond.net.au>
+-
+-      * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
+-
+-2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
+-
+-      * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
+-      with targetm.calls.promote_prototypes.
+-
+-2004-02-04  Robert Dewar  <dewar@gnat.com>
+-
+-      * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
+-      ali.ads, gprcmd.adb: Minor reformatting
+-
+-      * bindgen.adb: Output restrictions string for new style restrictions
+-      handling
+-
+-      * impunit.adb: Add s-rident.ads (System.Rident) and
+-      s-restri (System.Restrictions)
+-
+-      * lib-writ.adb: Fix bug in writing restrictions string (last few
+-      entries wrong)
+-
+-      * s-restri.ads, s-restri.adb: Change name Restrictions to
+-      Run_Time_Restrictions to avoid conflict with package name.
+-      Add circuit to read and acquire run time restrictions.
+-
+-2004-02-04  Jose Ruiz  <ruiz@act-europe.fr>
+-
+-      * restrict.ads, restrict.adb: Use the new restriction
+-      No_Task_Attributes_Package instead of the old No_Task_Attributes.
+-
+-      * sem_prag.adb: No_Task_Attributes is a synonym of
+-      No_Task_Attributes_Package.
+-
+-      * snames.ads, snames.adb: New entry for proper handling of
+-      No_Task_Attributes.
+-
+-      * s-rident.ads: Adding restriction No_Task_Attributes_Package
+-      (AI-00249) that supersedes the GNAT specific restriction
+-      No_Task_Attributes.
+-
+-2004-02-04  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_prag.adb:
+-      (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
+-       body, an identifier may be wrapped in an unchecked conversion.
+-
+-2004-02-04  Vincent Celier  <celier@gnat.com>
+-
+-      * lib-writ.ads: Comment update for the W lines
+-
+-      * bld.adb: (Expression): An empty string list is static
+-
+-      * fname-uf.adb: Minor comment update
+-
+-      * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
+-
+-      * gnatbind.adb: Initialize Cumulative_Restrictions with the
+-      restrictions on the target.
+-
+-2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
+-
+-      * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
+-      gen_rtx.
+-
+-2004-02-02  Arnaud Charlet  <charlet@gnat.com>
+-
+-      * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
+-
+-2004-02-02  Vincent Celier  <celier@gnat.com>
+-
+-      * gprcmd.adb (Check_Args): If condition is false, print the invoked
+-      comment before the usage.
+-      Gprcmd: Fail when command is not recognized.
+-      (Usage): Document command "prefix"
+-
+-      * g-md5.adb (Digest): Process last block.
+-      (Update): Do not process last block. Store remaining characters and
+-      length in Context.
+-
+-      * g-md5.ads (Update): Document that several call to update are
+-      equivalent to one call with the concatenated string.
+-      (Context): Add fields to allow new Update behaviour.
+-
+-      * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
+-      defaulted to False.
+-      When May_Fail is True and no existing file can be found, return No_File.
+-
+-      * 6vcstrea.adb: Inlined functions are now wrappers to implementation
+-      functions.
+-
+-      * lib-writ.adb (Write_With_Lines): When body file does not exist, use
+-      spec file name instead on the W line.
+-
+-2004-02-02  Robert Dewar  <dewar@gnat.com>
+-
+-      * ali.adb: Read and acquire info from new format restrictions lines
+-
+-      * bcheck.adb: Add circuits for checking restrictions with parameters
+-
+-      * bindgen.adb: Output dummy restrictions data
+-      To be changed later
+-
+-      * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
+-      exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
+-      freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
+-      sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
+-      sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
+-
+-      * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
+-      the warning message on access to possibly uninitialized variable S)
+-      Minor changes for new restrictions handling.
+-
+-      * gnatbind.adb: Minor reformatting
+-      Minor changes for new restrictions handling
+-      Move circuit for -r processing here from bcheck (cleaner)
+-
+-      * gnatcmd.adb, gnatlink.adb: Minor reformatting
+-
+-      * lib-writ.adb: Output new format restrictions lines
+-
+-      * lib-writ.ads: Document new R format lines for new restrictions
+-      handling.
+-
+-      * s-restri.ads/adb: New files
+-
+-      * Makefile.rtl: Add entry for s-restri.ads/adb
+-
+-      * par-ch3.adb: Fix bad error messages starting with upper case letter
+-      Minor reformatting
+-
+-      * restrict.adb: Major rewrite throughout for new restrictions handling
+-      Major point is to handle restrictions with parameters
+-
+-      * restrict.ads: Major changes in interface to handle restrictions with
+-      parameters. Also generally simplifies setting of restrictions.
+-
+-      * snames.ads/adb: New entry for proper handling of No_Requeue
+-
+-      * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
+-      restriction counting.
+-      Other minor changes for new restrictions handling
+-
+-      * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
+-      Restriction_Warnings now allows full parameter notation
+-      Major rewrite of Restrictions for new restrictions handling
+-
+-2004-02-02  Javier Miranda  <miranda@gnat.com>
+-
+-      * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
+-      syntax rule for object renaming declarations.
+-      (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
+-      component definitions.
+-
+-      * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
+-      components.
+-      (Array_Type_Declaration): Give support to access components. In addition
+-      it was also modified to reflect the name of the object in anonymous
+-      array types. The old code did not take into account that it is possible
+-      to have an unconstrained anonymous array with an initial value.
+-      (Check_Or_Process_Discriminants): Allow access discriminant in
+-      non-limited types.
+-      (Process_Discriminants): Allow access discriminant in non-limited types
+-      Initialize the new Access_Definition field in N_Object_Renaming_Decl
+-      node.  Change Ada0Y to Ada 0Y in comments
+-
+-      * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
+-      equality operators.
+-      Change Ada0Y to Ada 0Y in comments
+-
+-      * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
+-      renamings Change Ada0Y to Ada 0Y in comments
+-
+-      * sem_type.adb (Find_Unique_Type): Give support to the equality
+-      operators for universal access types
+-      Change Ada0Y to Ada 0Y in comments
+-
+-      * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
+-
+-      * sinfo.ads (N_Component_Definition): Addition of Access_Definition
+-      field.
+-      (N_Object_Renaming_Declaration): Addition of Access_Definition field
+-      Change Ada0Y to Ada 0Y in comments
+-
+-      * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
+-      component definition and object renaming nodes
+-      Change Ada0Y to Ada 0Y in comments
+-
+-2004-02-02  Jose Ruiz  <ruiz@act-europe.fr>
+-
+-      * restrict.adb: Use the new restriction identifier
+-      No_Requeue_Statements instead of the old No_Requeue for defining the
+-      restricted profile.
+-
+-      * sem_ch9.adb (Analyze_Requeue): Check the new restriction
+-      No_Requeue_Statements.
+-
+-      * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
+-      that supersedes the GNAT specific restriction No_Requeue. The later is
+-      kept for backward compatibility.
+-
+-2004-02-02  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
+-      5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
+-      pragma and fix incorrect ones.
+-
+-      * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
+-      warning if the pragma is redundant.
+-
+-2004-02-02  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * 5staprop.adb: Add missing 'constant' keywords.
+-
+-      * Makefile.in: use consistent value for SYMLIB on
+-      platforms where libaddr2line is supported.
+-
+-2004-02-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * utils.c (end_subprog_body): Do not call rest_of_compilation if just
+-      annotating types.
+-
+-2004-02-02  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * init.c (__gnat_install_handler): Setup an alternate stack for signal
+-      handlers in the environment thread. This allows proper propagation of
+-      an exception on stack overflows in this thread even when the builtin
+-      ABI stack-checking scheme is used without support for a stack reserve
+-      region.
+-
+-      * utils.c (create_field_decl): Augment the head comment about bitfield
+-      creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
+-      here, because the former is not accurate enough at this point.
+-      Let finish_record_type decide instead.
+-      Don't make a bitfield if the field is to be addressable.
+-      Always set a size for the field if the record is packed, to ensure the
+-      checks for bitfield creation are triggered.
+-      (finish_record_type): During last pass over the fields, clear
+-      DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
+-      not covered by the calls to layout_decl.  Adjust DECL_NONADDRESSABLE_P
+-      from DECL_BIT_FIELD.
+-
+-2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
+-
+-      * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
+-      (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
+-      (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
+-
+-2004-01-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+-
+-      * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
+-
+-      * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
+-      (ZCX_By_Default): Likewise.
+-      (Front_End_ZCX_Support): Likewise.
+-
+-      * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
+-      (Initialize_Lock): Mark Level unreferenced.
+-      (Sleep): Mark Reason unreferenced.
+-      (Timed_Sleep): Likewise.
+-      (Wakeup): Likewise.
+-      (Exit_Task): Use Result.
+-      (Check_No_Locks): Mark Self_ID unreferenced.
+-
+-      * 5gtasinf.adb (New_Sproc): Make Attr constant.
+-      (Bound_Thread_Attributes): Make Sproc constant.
+-      (New_Bound_Thread_Attributes): Likewise.
+-
+-2004-01-26  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
+-      one-dimensional array an slice assignments, when component type is
+-      controlled.
+-
+-      * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
+-      component type is controlled, and control_actions are in effect, use
+-      TSS procedure rather than generating inline code.
+-
+-      * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
+-      arrays with controlled components.
+-
+-2004-01-26  Vincent Celier  <celier@gnat.com>
+-
+-      * gnatcmd.adb (GNATCmd): Add specification of argument file on the
+-      command line for the non VMS case.
+-
+-      * gnatlink.adb (Process_Binder_File): When building object file, if
+-      GNU linker is used, put all object paths between quotes, to prevent ld
+-      error when there are unusual characters (such as '!') in the paths.
+-
+-      * Makefile.generic: When there are sources in Ada and the main is in
+-      C/C++, invoke gnatmake with -B, instead of -z.
+-
+-      * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
+-      from VMS_Conversion.
+-      (Process_Argument): New procedure, extracted from VMS_Conversion. Add
+-      specification of argument file on the command line.
+-
+-2004-01-26  Bernard Banner  <banner@gnat.com>
+-
+-      * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
+-
+-2004-01-26  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * snames.adb: Update copyright notice.
+-      Add info on slice assignment for controlled arrays.
+-
+-2004-01-23  Robert Dewar  <dewar@gnat.com>
+-
+-      * exp_aggr.adb: Minor reformatting
+-
+-      * exp_ch9.adb: Minor code clean up
+-      Minor reformatting
+-      Fix bad character in comment
+-
+-      PR ada/13471
+-      * targparm.adb (Get_Target_Parameters): Give clean abort error on
+-      unexpected end of file, along with more detailed message.
+-
+-2004-01-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
+-      PAT.
+-
+-      * decl.c (copy_alias_set): New function.
+-      (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
+-
+-2004-01-23  Doug Rupp  <rupp@gnat.com>
+-
+-      * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
+-      lib$${file} in case subsequent character is not a separator.
+-
+-2004-01-23  Vincent Celier  <celier@gnat.com>
+-
+-      * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
+-      when the GCC version is at least 3.
+-
+-      * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
+-      Remove all "Opt.", to prepare for opt split
+-
+-      * prj-part.adb (Parse_Single_Project): New Boolean out parameter
+-      Extends_All. Set to True when the project parsed is an extending all
+-      project. Fails for importing an extending all project only when the
+-      imported project is an extending all project.
+-      (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
+-      depending on the value of Extends_All returned.
+-
+-      * prj-proc.adb (Process): Check that no project shares its object
+-      directory with a project that extends it, directly or indirectly,
+-      including a virtual project.
+-      Check that no project extended by another project shares its object
+-      directory with another also extended project.
+-
+-      * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
+-      Kind = N_With_Clause
+-
+-      * prj-tree.ads: Minor reformatting
+-      Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
+-
+-2004-01-23  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
+-      applies to a type with an incomplete view, use full view in Name of
+-      clause, for consistency with uses of Get_Attribute_Definition_Clause.
+-
+-2004-01-23  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
+-      SCHED_RR, since other values are not supported by this policy.
+-      (Initialize): Move initialization of mutex attribute to package
+-      elaboration, to prevent early access to this variable.
+-
+-      * Makefile.in: Remove mention of Makefile.adalib, unused.
+-
+-      * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
+-      1ssecsta.ads: Removed, unused.
+-
+-2004-01-21  Javier Miranda  <miranda@gnat.com>
+-
+-      * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
+-      entity if already built in the current scope.
+-
+-      * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
+-      reminder in internal scopes. Required for nested limited aggregates.
+-
+-2004-01-21  Doug Rupp  <rupp@gnat.com>
+-
+-      * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
+-      VMS. Replace all occurences of libgnat- and libgnarl- with
+-      libgnat$(hyphen) and libgnarl$(hyphen).
+-      Fixed shared library build problem on VMS.
+-
+-2004-01-21  Robert Dewar  <dewar@gnat.com>
+-
+-      * mlib-prj.adb: Minor reformatting
+-
+-2004-01-21  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
+-      'constant' keywords for declaration of pointers that are not modified.
+-
+-      * exp_pakd.adb: Fix English in comment.
+-
+-2004-01-21  Ed Schonberg  <schonberg@gnat.com>
+-
+-      PR ada/10889
+-      * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
+-      copy all attributes of the parent, including the foreign language
+-      convention.
+-
+-2004-01-21  Sergey Rybin  <rybin@act-europe.fr>
+-
+-      PR ada/10565
+-      * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
+-      for 'delay until' statement.
+-
+-2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
+-
+-      * Make-lang.in: Replace $(docdir) with doc.
+-      (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
+-      doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
+-      to use consistent MAKEINFO rule.
+-      (ada.man, ada.srcman): Dummy entry.
+-      (ADA_INFOFILES): Define.
+-      (ada.info, ada.srcinfo): New rules.
+-
+-2004-01-19  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * utils.c: Update copyright notice, missed in previous change.
+-
+-2004-01-19  Vincent Celier  <celier@gnat.com>
+-
+-      * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
+-      args if Bind is True. Set First_ALI, if not already done.
+-      (Build_Library): For Stand Alone Libraries, extract from one ALI file
+-      an eventual --RTS switch, for gnatbind, and all backend switches +
+-      --RTS, for linking.
+-
+-2004-01-19  Robert Dewar  <dewar@gnat.com>
+-
+-      * sem_attr.adb, memtrack.adb: Minor reformatting
+-
+-2004-01-19  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
+-      that rename enumeration literals. This is properly done in sem_eval.
+-
+-      * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
+-      to functions that rename enumeration literals.
+-
+-      * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
+-      functions that rename enumeration literals.
+-
+-2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
+-
+-      * Make-lang.in (utils.o): Depend on target.h.
+-      * utils.c: Include target.h.
+-      (process_attributes): Use targetm.have_named_sections instead
+-      of ASM_OUTPUT_SECTION_NAME.
+-
+-2004-01-16  Andreas Jaeger  <aj@suse.de>
+-
+-      * Makefile.in: Add $(DESTDIR).
+-
+-2004-01-15  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
+-      also when not defining if a Size clause applies. That information is
+-      not to be ignored.
+-
+-2004-01-15  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
+-      symbolic links for the shared gnat run time when needed.
+-
+-2004-01-15  Vasiliy Fofanov  <fofanov@act-europe.fr>
+-
+-      * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
+-      for writing, and terminate with an error message if not.
+-
+-2004-01-15  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
+-      warning on an access to subprogram in an instance, when the target
+-      type is declared in the same generic unit.
+-      (Eval_Attribute): If 'access is known to fail accessibility check,
+-      rewrite as a raise statement.
+-
+-2004-01-15  GNAT Script  <nobody@gnat.com>
+-
+-      * Make-lang.in: Makefile automatically updated
+-
+-2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
+-
+-      * Make-lang.in (ada.srcextra): Dummy entry.
+-
+-2004-01-14  Kelley Cook  <kcook@gcc.gnu.org>
+-
+-      * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
+-
+-2004-01-13  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
+-      components that are initialized with aggregates.
+-
+-2004-01-13  Vincent Celier  <celier@gnat.com>
+-
+-      * gnatlink.adb (Process_Binder_File): To find directory of shared
+-      libgcc, if "gcc-lib" is not a subdirectory, look for the last
+-      subdirectory "lib" in the path of the shared libgnat or libgnarl.
+-
+-      * make.adb (Gnatmake): If GCC version is at least 3, link with
+-      -shared-libgcc, when there is at least one shared library project.
+-
+-      * opt.ads (GCC_Version): New integer constant.
+-
+-      * adaint.c (get_gcc_version): New function.
+-
+-2004-01-13  Robert Dewar  <dewar@gnat.com>
+-
+-      * sem_dist.adb, sem_res.adb, sem_util.adb,
+-      sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
+-      exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
+-
+-2004-01-13  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
+-      g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
+-      declarations.
+-
+-2004-01-12  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * misc.c: Remove trailing spaces.
+-      Update copyright notice missed in previous change.
+-
+-      PR ada/13572
+-      * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
+-      prefix/share/make
+-
+-      * Makefile.generic: Update copyright.
+-      Add license notice.
+-
+-      * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
+-      of prefix/share/make.
+-
+-      * Makefile.prolog: Update copyright.
+-      Add license notice.
+-
+-2004-01-12  Laurent Pautet  <pautet@act-europe.fr>
+-
+-      * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
+-      3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
+-      g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
+-      instead of String.
+-
+-      * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
+-      signature.
+-
+-2004-01-12  Javier Miranda  <miranda@gnat.com>
+-
+-      * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
+-      exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
+-      sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
+-      sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
+-      Component_Definition node.
+-
+-2004-01-12  Ed Falis  <falis@gnat.com>
+-
+-      * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
+-
+-2004-01-12  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * link.c: Change default libgnat kind to STATIC for FreeBSD.
+-
+-2004-01-12  Bernard Banner  <banner@gnat.com>
+-
+-      * Makefile.in: map 86numaux to a-numaux for x86_64
+-
+-2004-01-12  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
+-      generated to rename a generic actual, go to the actual itself, the
+-      subtype is not a user-visible entity.
+-
+-      * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
+-      part is a private subtype, reset the visibility of its full view, if
+-      any, to be consistent.
+-
+-      PR ada/13417
+-      * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
+-      to use a generic package G as a formal package for another generic
+-      declared within G.
+-
+-2004-01-12  Robert Dewar  <dewar@gnat.com>
+-
+-      * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
+-
+-      * usage.adb: Remove mention of obsolete -gnatwb switch
+-      Noticed during code reading
+-
+-2004-01-12  Jerome Guitton  <guitton@act-europe.fr>
+-
+-      * 1ssecsta.adb: Minor changes for -gnatwa warnings
+-
+-2004-01-12  GNAT Script  <nobody@gnat.com>
+-
+-      * Make-lang.in: Makefile automatically updated
+-
+-2004-01-09  Mark Mitchell  <mark@codesourcery.com>
+-
+-      * misc.c (gnat_expand_expr): Add alt_rtl parameter.
+-
+-2004-01-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+-
+-      * link.c [sgi] (shared_libgnat_default): Change to STATIC.
+-
+-2004-01-05  Kelley Cook  <kcook@gcc.gnu.org>
+-
+-      * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
+-      Update comment and copyright date.
+-      * stamp-xgnatug: Delete.
+-
+-2004-01-05  Robert Dewar  <dewar@gnat.com>
+-
+-      * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
+-      be modified by the binder generated main program if the -D switch is
+-      used.
+-
+-      * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
+-      imported functions (since now we expect this to be done for imported
+-      functions)
+-
+-      * 5vtaprop.adb: Add several ??? for sections requiring more comments
+-      Minor reformatting throughout
+-
+-      * 5zinit.adb: Minor reformatting
+-      Add 2004 to copyright date
+-      Minor changes to avoid -gnatwa warnings
+-      Correct some instances of using OR instead of OR ELSE (noted while
+-      doing reformatting)
+-
+-      * sprint.adb: Minor updates to avoid -gnatwa warnings
+-
+-      * s-secsta.ads, s-secsta.adb:
+-      (SS_Get_Max): New function to obtain high water mark for ss stack
+-      Default_Secondary_Stack is not a constant since it may be modified by
+-      the binder generated main program if the -D switch is used.
+-
+-      * switch-b.adb: New -Dnnn switch for binder
+-
+-      * switch-c.adb:
+-      Make -gnatg imply all warnings currently in -gnatwa
+-
+-      * vms_conv.adb: Minor reformatting
+-      Add 2004 to copyright notice
+-      Add 2004 to printed copyright notice
+-
+-      * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
+-      3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
+-      5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
+-      5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
+-      5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
+-      5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
+-      5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
+-      5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
+-      5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
+-      5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
+-      6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
+-      vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
+-      xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
+-      sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
+-      checks.adb, clean.adb, cstand.adb, einfo.ads,
+-      einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
+-      exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
+-      prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
+-      sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
+-      g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
+-      lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
+-      Minor reformatting and code clean ups.
+-      Minor changes to prevent -gnatwa warnings
+-
+-      * ali.adb: Minor reformatting and cleanup of code
+-      Acquire new SS indication of secondary stack use from ali files
+-
+-      * a-numaux.ads: Add Pure_Function pragmas for all imported functions
+-      (since now we expect this to be done for imported functions)
+-
+-      * bindgen.adb: Generate call to modify default secondary stack size if
+-      -Dnnn switch given
+-
+-      * bindusg.adb: Add line for new -D switch
+-
+-      * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
+-      replacement name for Type_May_Have_Non_Bit_Aligned_Components!
+-      Add circuitry for both records and arrays to avoid gigi
+-      processing if the type involved has non-bit-aligned components
+-
+-      * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
+-      N_String_Literal node always references an E_String_Literal_Subtype
+-      entity. This may not be true in the future.
+-      (Possible_Bit_Aligned_Component): Move processing of
+-      Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
+-
+-      * exp_ch6.adb (Expand_Thread_Body): Pick up
+-      Default_Secondary_Stack_Size as variable so that we get value modified
+-      by possible -Dnnn binder parameter.
+-
+-      * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
+-      (Type_May_Have_Bit_Aligned_Components): New function.
+-
+-      * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
+-      (Type_May_Have_Bit_Aligned_Components): New function.
+-
+-      * fe.h: (Set_Identifier_Casing): Fix prototype.
+-      Add declaration for Sem_Elim.Eliminate_Error_Msg.
+-      Minor reformatting.
+-
+-      * freeze.adb (Freeze_Entity): Add RM reference to error message about
+-      importing constant atomic/volatile objects.
+-      (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
+-      unless explicit Pure_Function pragma given, to avoid insidious bug of
+-      call to non-pure imported function getting eliminated.
+-
+-      * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
+-      gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
+-      gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
+-      Add 2004 to printed copyright notice
+-
+-      * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
+-      stack used.
+-
+-      * Makefile.rtl: Add entry for g-sestin.o
+-      g-sestin.ads: New file.
+-
+-      * mdll.adb: Minor changes to avoid -gnatwa warnings
+-
+-      * mlib-tgt.adb: Minor reformatting
+-
+-      * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
+-      New switch Sec_Stack_Used (GNAT, GNATBIND)
+-      Make Default_Secondary_Stack_Size a variable instead of a constant,
+-      so that it can be modified by the new -Dnnn bind switch.
+-
+-      * rtsfind.adb (Load_Fail): Give full error message in configurable
+-      run-time mode if all_errors mode is set. This was not done in the case
+-      of a file not found, which was an oversight.
+-      Note if secondary stack unit is used by compiler.
+-
+-      * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
+-      ineffective elaborate all pragmas on non-visible packages (this
+-      happened when a renamed subprogram was called). Now the elaborate all
+-      always goes on the package containing the renaming rather than the one
+-      containing the renamed subprogram.
+-
+-      * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
+-      (Process_Eliminate_Pragma): Add parameter to capture pragma location.
+-
+-      * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
+-      has an Etype that references an E_String_Literal.
+-      (Eval_String_Literal): Avoid assumption that N_String_Literal node
+-      always references an E_String_Literal_Subtype entity. This may not
+-      be true in the future.
+-
+-      * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
+-      pragma location.
+-
+-      * sem_res.adb (Resolve): Specialize msg for function name used in proc
+-      call.
+-
+-2004-01-05  Ed Falis  <falis@gnat.com>
+-
+-      * g-debuti.adb: Replaced direct boolean operator with short-circuit
+-      form.
+-
+-2004-01-05  Vincent Celier  <celier@gnat.com>
+-
+-      * bld.adb: Minor comment updates
+-      (Process_Declarative_Items): Correct incorrect name (Index_Name instead
+-      of Item_Name).
+-
+-      * make.adb (Gnatmake): Special process for files to compile/check when
+-      -B is specified. Fail when there are only foreign mains in attribute
+-      Main of the project file and -B is not specified. Do not skip bind/link
+-      steps when -B is specified.
+-
+-      * makeusg.adb: Document new switch -B
+-
+-      * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
+-
+-      * switch-m.adb: (Scan_Make_Switches): Process -B switch
+-
+-      * vms_data.ads: Add new GNAT PRETTY qualifier
+-      /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
+-
+-2004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
+-      case.
+-
+-      * misc.c (gnat_printable_name): If VERBOSITY is 2, call
+-      Set_Identifier_Casing.
+-
+-      * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
+-      has size that overflows.
+-
+-2004-01-05  Gary Dismukes  <dismukes@gnat.com>
+-
+-      * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
+-      -gnatwa warning on static condition.
+-
+-2004-01-05  Doug Rupp  <rupp@gnat.com>
+-
+-      * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
+-
+-2004-01-05  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
+-      all attributes, including read-only attribute.
+-
+-2004-01-05  Pascal Obry  <obry@gnat.com>
+-
+-      * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
+-      library naming scheme.
+-
+-      * mlib-prj.adb (Build_Library): Generate different names for the static
+-      or dynamic version of the GNAT runtime. This is needed to support the
+-      new shared library naming scheme.
+-      (Process_Binder_File): Add detection of shared library in binder file
+-      based on the new naming scheme.
+-
+-      * gnatlink.adb (Process_Binder_File): Properly detect the new naming
+-      scheme for the shared runtime libraries.
+-
+-      * Makefile.in:
+-      (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
+-      scheme.
+-      (install-gnatlib): Do not create symlinks for shared libraries.
+-      (gnatlib-shared-default): Idem.
+-      (gnatlib-shared-dual-win32): New target. Not used for now as the
+-      auto-import feature does not support arrays/records.
+-      (gnatlib-shared-win32): Do not create copy for the shared libraries.
+-      (gnatlib-shared-vms): Fix shared runtime libraries names.
+-
+-      * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
+-      dependent runtime shared library name.
+-
+-2004-01-05  Vasiliy Fofanov  <fofanov@act-europe.fr>
+-
+-      * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
+-      than the object.
+-
+-2004-01-05  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
+-      protected objects when allocator has a subtype indication, not a
+-      qualified expression. Note that qualified expressions may have to be
+-      checked when limited aggregates are implemented.
+-
+-      * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
+-      pure, emit warning.
+-      (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
+-      subprogram is imported, remove warning.
+-
+-2004-01-05  Geert Bosch  <bosch@gnat.com>
+-
+-      * s-poosiz.adb: Update copyright notice.
+-      (Allocate): Use Task_Lock to protect against concurrent access.
+-      (Deallocate): Likewise.
+-
+-2004-01-05  Joel Brobecker  <brobecker@gnat.com>
+-
+-      * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
+-      comment.
+-
+-2003-12-23  Kelley Cook  <kcook@gcc.gnu.org>
+-
+-      * gnat_ug.texi: Force a CVS commit by updating copyright.
+-      * gnat_ug_vxw.texi: Regenerate.
+-      * gnat_ug_wnt.texi: Regenerate.
+-      * gnat_ug_vms.texi: Regenerate.
+-      * gnat_ug_unx.texi: Regenerate.
+-
+-2003-12-20  Kazu Hirata  <kazu@cs.umass.edu>
+-
+-      * trans.c: Remove uses of "register" specifier in
+-      declarations of local variables.
+-
+-2003-12-18  Kelley Cook  <kcook@gcc.gnu.org>
+-
+-      * stamp-xgnatug: New stamp file.
+-      * Make-lang.in (stamp-xgnatug):  New stamp file and comment.
+-      (ada/doctools/xgnatug): Add $(build_exeext).
+-      (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
+-      ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
+-
+-2003-12-17  Ed Falis  <falis@gnat.com>
+-
+-      * a-elchha.adb (Tailored_Exception_Information): made Info constant to
+-      eliminate warning.
+-
+-      * a-exextr.adb: Add context clause for
+-      Ada.Exceptions.Last_Chance_Handler.
+-
+-2003-12-17  Sergey Rybin  <rybin@act-europe.fr>
+-
+-      * cstand.adb (Create_Standard): Change the way how the declaration of
+-      the Duration type is created (making it the same way as it is for all
+-      the other standard types).
+-
+-2003-12-17  Robert Dewar  <dewar@gnat.com>
+-
+-      * s-crtl.ads: Fix header format
+-      Change Pure to Preelaborate
+-
+-2003-12-17  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * checks.adb (Selected_Length_Checks): Generate an Itype reference for
+-      the expression type only if it is declared in the current unit.
+-
+-      * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
+-      are universal and already analyzed, as can occur in constrained
+-      subcomponents that depend on discriminants, when one constraint is a
+-      subtype mark.
+-
+-      * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
+-      type Any_Fixed is legal as the argument of a conversion, if only one
+-      fixed-point type is in context.
+-
+-2003-12-17  GNAT Script  <nobody@gnat.com>
+-
+-      * Make-lang.in: Makefile automatically updated
+-
+-2003-12-15  Robert Dewar  <dewar@gnat.com>
+-
+-      * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
+-      sec stack size.
+-
+-2003-12-15  Vincent Celier  <celier@gnat.com>
+-
+-      * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
+-      (Gnatchop): Do not set failure status when reporting the number of
+-      warnings.
+-
+-2003-12-15  Doug Rupp  <rupp@gnat.com>
+-
+-      * s-ctrl.ads: New file.
+-
+-      * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
+-
+-      * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
+-      (GNATBIND_OBJS): Add ada/s-crtl.o.
+-
+-      * Makefile.in [VMS]: Clean up ifeq rules.
+-
+-      * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
+-      a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
+-      g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
+-      s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
+-      s-tasdeb.adb: Update copyright.
+-      Import System.CRTL.
+-      Make minor modifications to use System.CRTL declared functions instead
+-      of importing locally.
+-
+-2003-12-15  GNAT Script  <nobody@gnat.com>
+-
+-      * Make-lang.in: Makefile automatically updated
+-
+-2003-12-11  Ed Falis  <falis@gnat.com>
+-
+-      * 5zinit.adb: Clean up.
+-
+-      * 5zintman.adb (Notify_Exception): replaced case statement with a call
+-      to __gnat_map_signal, imported from init.c to support
+-      signal -> exception mappings that depend on the vxWorks version.
+-
+-      * init.c:
+-      Created and exported __gnat_map_signal to support signal -> exception
+-      mapping that is dependent on the VxWorks version.
+-      Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
+-
+-2003-12-11  Vasiliy Fofanv  <fofanov@act-europe.fr>
+-
+-      * 5wosinte.ads: Link with -mthreads switch.
+-
+-2003-12-11  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * init.c (__gnat_install_handler [NetBSD]): Set
+-      __gnat_handler_installed, as done on all other platforms.
+-      Remove duplicated code.
+-
+-2003-12-11  Jerome Guitton  <guitton@act-europe.fr>
+-
+-      * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
+-
+-2003-12-11  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * sinfo.ads: Fix inconsistent example code in comment.
+-
+-2003-12-11  Robert Dewar  <dewar@gnat.com>
+-
+-      * a-tiinau.adb: Add a couple of comments
+-
+-      * sem_ch3.adb: Minor reformatting
+-
+-      * sem_prag.adb:
+-      Fix bad prototype of Same_Base_Type in body (code reading cleanup)
+-      Minor reformatting throughout
+-
+-2003-12-11  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
+-      bounds of a loop, create a separate block in order to generate proper
+-      cleanup actions to prevent memory leaks.
+-
+-      * sem_res.adb (Resolve_Call): After a call to
+-      Establish_Transient_Scope, the call may be rewritten and relocated, in
+-      which case no further processing is needed.
+-
+-      * sem_util.adb: (Wrong_Type): Refine previous fix.
+-       Fixes ACATS regressions.
+-
+-      PR ada/13353
+-      * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
+-      be inlined.
+-
+-2003-12-08  Jerome Guitton  <guitton@act-europe.fr>
+-
+-      * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
+-      i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
+-      obsolete files.
+-
+-      * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
+-      (rts-zfp): Ditto.
+-
+-2003-12-08  Robert Dewar  <dewar@gnat.com>
+-
+-      * 7sintman.adb: Minor reformatting
+-
+-      * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
+-      standard linker options to get standard libraries linked. We now plan
+-      to provide dummy versions of these libraries to match the appropriate
+-      configurable run-time (e.g. if a library is not needed at all, provide
+-      a dummy empty library).
+-
+-      * targparm.ads: Configurable_Run_Time mode no longer affects linker
+-      options (-L parameters and standard libraries). What we plan to do is
+-      to provide dummy libraries where the libraries are not required.
+-
+-      * gnatbind.adb: Minor comment improvement
+-
+-2003-12-08  Javier Miranda  <miranda@gnat.com>
+-
+-      * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
+-      aggregate in the parent. Otherwise constants with limited aggregates
+-      are not supported. Add new formal to pass the component type (Ctype).
+-      It is required to call the corresponding IP subprogram in case of
+-      default initialized components.
+-      (Gen_Assign): In case of default-initialized component, generate a
+-      call to the IP subprogram associated with the component.
+-      (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
+-      of aggregate with default initialized components.
+-      (Has_Default_Init_Comps): Improve implementation to recursively check
+-      all the present expressions.
+-
+-      * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
+-      to indicate that the initialization call corresponds to a
+-      default-initialized component of an aggregate.
+-      In case of default initialized aggregate with tasks this parameter is
+-      used to generate a null string (this is just a workaround that must be
+-      improved later). In case of discriminants, this parameter is used to
+-      generate a selected component node that gives access to the discriminant
+-      value.
+-
+-      * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
+-      subprogram, based on Build_Task_Allocate_Block, but adapted to expand
+-      allocated aggregates with default-initialized components.
+-
+-      * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
+-      the box notation is used in positional aggregates.
+-
+-2003-12-08  Samuel Tardieu  <tardieu@act-europe.fr>
+-
+-      * lib.ads: Fix typo in comment
+-
+-2003-12-08  Vincent Celier  <celier@gnat.com>
+-
+-      * prj.adb (Project_Empty): New component Unkept_Comments
+-      (Scan): Remove procedure; moved to Prj.Err.
+-
+-      * prj.ads (Project_Data): New Boolean component Unkept_Comments
+-      (Scan): Remove procedure; moved to Prj.Err.
+-
+-      * prj-dect.adb: Manage comments for the different declarations.
+-
+-      * prj-part.adb (With_Record): New component Node
+-      (Parse): New Boolean parameter Store_Comments, defaulted to False.
+-      Set the scanner to return ends of line and comments as tokens, if
+-      Store_Comments is True.
+-      (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
+-      comments are associated with these nodes. Store the node IDs in the
+-      With_Records.
+-      (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
+-      With_Records.
+-      (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
+-      the N_Project node. Call Tree.Save and Tree.Reset before scanning the
+-      current project. Call Tree.Restore afterwards. Set the various nodes
+-      for comment storage (Next_End, End_Of_Line, Previous_Line,
+-      Previous_End).
+-
+-      * prj-part.ads (Parse): New Boolean parameter Store_Comments,
+-      defaulted to False.
+-
+-      * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
+-      to False. When Truncated is True, truncate the string, never go to the
+-      next line.
+-      (Write_End_Of_Line_Comment): New procedure
+-      (Print): Process comments for nodes N_With_Clause,
+-      N_Package_Declaration, N_String_Type_Declaration,
+-      N_Attribute_Declaration, N_Typed_Variable_Declaration,
+-      N_Variable_Declaration, N_Case_Construction, N_Case_Item.
+-      Process nodes N_Comment.
+-
+-      * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
+-      without comments and there are some comments, set the flag
+-      Unkept_Comments to True.
+-      (Scan): If there are comments, set the flag Unkept_Comments to True and
+-      clear the comments.
+-      (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
+-      (Next_End_Nodes: New table
+-      (Comment_Zones_Of): New function
+-      (Scan): New procedure; moved from Prj. Accumulate comments in the
+-      Comments table and set end of line comments, comments after, after end
+-      and before end.
+-      (Add_Comments): New procedure
+-      (Save, Restore, Seset_State): New procedures
+-      (There_Are_Unkept_Comments): New function
+-      (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
+-      (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
+-      procedures.
+-      (First_Comment_After, First_Comment_After_End): New functions
+-      (First_Comment_Before, First_Comment_Before_End): New functions
+-      (Next_Comment): New function
+-      (End_Of_Line_Comment, Follows_Empty_Line,
+-      Is_Followed_By_Empty_Line): New functions
+-      (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
+-      (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
+-      (Set_Next_Comment): New procedure
+-      (Default_Project_Node): Associate comment before if the node can store
+-      comments.
+-
+-      * scans.ads (Token_Type): New enumeration value Tok_Comment
+-      (Comment_Id): New global variable
+-
+-      * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
+-      defaulted to False.
+-      (Scan): Store position of start of comment. If comments are tokens, set
+-      Comment_Id and set Token to Tok_Comment when scanning a comment.
+-      (Set_Comment_As_Token): New procedure
+-
+-      * sinput-p.adb: Update Copyright notice
+-      (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
+-      that no longer exists.
+-
+-2003-12-08  Javier Miranda  <miranda@gnat.com>
+-
+-      * sem_aggr.adb: Add dependence on Exp_Tss package
+-      Correct typo in comment
+-      (Resolve_Aggregate): In case of array aggregates set the estimated
+-      type of the aggregate before calling resolve. This is needed to know
+-      the name of the corresponding IP in case of limited array aggregates.
+-      (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
+-      in case of default initialized array components.
+-
+-      * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
+-      types. Required to give support to limited aggregates in generic
+-      formals.
+-
+-2003-12-08  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch3.adb (Check_Initialization): For legality purposes, an
+-      inlined body functions like an instantiation.
+-      (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
+-      until bounds are analyzed, to diagnose premature use of type.
+-
+-      * sem_util.adb (Wrong_Type): Improve error message when the type of
+-      the expression is used prematurely.
+-
+-2003-12-08  GNAT Script  <nobody@gnat.com>
+-
+-      * Make-lang.in: Makefile automatically updated
+-
+-2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
+-      they are automatically generated by Make-lang.in and cause nothing but
+-      maintenance troubles.
+-
+-2003-12-05  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
+-      version of this unit).
+-
+-2003-12-05  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
+-      5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
+-      5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
+-      the body of System.Interrupt_Management common to several targets.
+-      Update copyright notice when appropriate.
+-
+-      * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
+-      constant.
+-
+-      * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
+-      to ensure that the kernel fills in the interrupted context structure
+-      before calling a signal handler, which is necessary to be able to
+-      unwind past it. Update the copyright notice.
+-
+-2003-12-05  Jerome Guitton  <guitton@act-europe.fr>
+-
+-      * a-elchha.ads: New file.
+-
+-      * a-elchha.adb: New default last chance handler. Contents taken from
+-      Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
+-
+-      * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
+-      is moved to a-elchha.adb to provide a target-independent default last
+-      chance handler.
+-
+-      * Makefile.rtl: Add a-elchha.o
+-
+-      * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
+-
+-2003-12-05  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
+-      declared in an instance, do not inline the call if the instance is not
+-      frozen yet, to prevent order of elaboration problems.
+-
+-      * sem_prag.adb: Add comments for previous fix.
+-
+-2003-12-05  Samuel Tardieu  <tardieu@act-europe.fr>
+-
+-      * g-table.adb: Use the right variable in Set_Item.
+-      Update copyright notice.
+-
+-2003-12-05  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * Makefile.in: Remove unused rules.
+-
+-2003-12-05  Vincent Celier  <celier@gnat.com>
+-
+-      * switch-c.adb (Scan_Front_End_Switches): Remove processing of
+-      -nostdlib. Not needed here after all.
+-
+-2003-12-03  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      PR ada/11724
+-      * adaint.h, adaint.c, g-os_lib.ads:
+-      Do not assume that the offset argument to lseek(2) is a 32 bit integer,
+-      on some platforms (including FreeBSD), it is a 64 bit value.
+-      Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
+-
+-2003-12-03  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * gnatvsn.ads (Library_Version): Now contain only the relevant
+-      version info.
+-      (Verbose_Library_Version): New constant.
+-
+-      * g-spipat.adb, g-awk.adb, g-debpoo.adb,
+-      g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
+-      s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
+-
+-      * gnatlbr.adb: Clean up: replace Library_Version by
+-      Verbose_Library_Version.
+-
+-      * make.adb, lib-writ.adb, exp_attr.adb:
+-      Clean up: replace Library_Version by Verbose_Library_Version.
+-
+-      * 5lintman.adb: Removed.
+-
+-      * Makefile.in:
+-      Update and simplify computation of LIBRARY_VERSION.
+-      Fix computation of GSMATCH_VERSION.
+-      5lintman.adb is no longer used: replaced by 7sintman.adb.
+-
+-2003-12-03  Robert Dewar  <dewar@gnat.com>
+-
+-      * exp_ch5.adb:
+-      (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
+-      name. Modified to consider small non-bit-packed arrays as troublesome
+-      and in need of component-by-component assigment expansion.
+-
+-2003-12-03  Vincent Celier  <celier@gnat.com>
+-
+-      * lang-specs.h: Process nostdlib as nostdinc
+-
+-      * back_end.adb: Update Copyright notice
+-      (Scan_Compiler_Arguments): Process -nostdlib directly.
+-
+-2003-12-03  Jose Ruiz  <ruiz@act-europe.fr>
+-
+-      * Makefile.in:
+-      When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
+-      redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
+-      included in HIE_NONE_TARGET_PAIRS.
+-
+-2003-12-03  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_attr.adb:
+-      (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
+-      is legal in an instance, because legality is cheched in the template.
+-
+-      * sem_prag.adb:
+-      (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
+-      appplied to an unchecked conversion of a formal parameter.
+-
+-      * sem_warn.adb:
+-      (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
+-      variables.
+-
+-2003-12-03  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
+-      routines. The second one is new functionality to deal with backtracing
+-      through signal handlers.
+-      (unwind): Split into the two separate subroutines above.
+-      Update the documentation, and deal properly with sizeof (REG) different
+-      from sizeof (void*).
+-
+-2003-12-01  Nicolas Setton  <setton@act-europe.fr>
+-
+-      * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
+-      so that the debugger can reliably access the value of the parameter,
+-      and therefore is able to display the exception name when an exception
+-      breakpoint is reached.
+-
+-2003-12-01  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * fmap.adb: Fix typo in warning message.
+-
+-      * g-socket.ads, g-socket.adb: Make Free a visible instance of
+-      Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
+-
+-2003-12-01  Vincent Celier  <celier@gnat.com>
+-
+-      * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
+-      ther is no Afile.
+-      (Build_Library): Get the switches only if Default_Switches is declared
+-      in package Binder.
+-
+-2003-12-01  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_ch6.adb (Expand_Actuals): When applying validity checks to
+-      actuals that are indexed components, reanalyze actual to ensure that
+-      packed array references are properly expanded.
+-
+-      * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
+-      attempted assignment to a discriminant.
+-
+-2003-12-01  Robert Dewar  <dewar@gnat.com>
+-
+-      * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
+-      reformatting.
+-
+-      * switch-c.adb: Minor reformatting of comments
+-
+-2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * Makefile.in: Clean ups.
+-
+-2003-12-01  GNAT Script  <nobody@gnat.com>
+-
+-      * Make-lang.in: Makefile automatically updated
+-
+-2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * 5wsystem.ads: Disable zero cost exception, not ready yet.
+-
+-2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
+-
+-      * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
+-      to force serialization.
+-
+-2003-11-26  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * g-socket.ads, g-socket.adb:
+-      Clarify documentation of function Stream. Introduce a Free procedure
+-      to release the returned Stream once it becomes unused.
+-
+-      * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
+-
+-2003-11-26  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
+-      since NT 4 cannot handle timeout values that are too large,
+-      e.g. DWORD'Last - 1.
+-
+-2003-11-26  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_ch4.adb:
+-      (Expand_N_Slice): Recognize all cases of slices that appear as actuals
+-      in procedure calls and whose expansion must be deferred.
+-
+-      * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
+-      is in exp_ch4.
+-
+-      * sem_ch3.adb:
+-      (Build_Derived_Array_Type): Create operator for unconstrained type
+-      if ancestor is unconstrained.
+-
+-2003-11-26  Vincent Celier  <celier@gnat.com>
+-
+-      * make.adb (Project_Object_Directory): New global variable
+-      (Change_To_Object_Directory): New procedure
+-      (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
+-      of Change_Dir directly. Do not change working directory to object
+-      directory of main project after each compilation.
+-      (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
+-      directly.
+-      Change to object directory of main project before binding step.
+-      (Initialize): Initialize Project_Object_Directory to No_Project
+-
+-      * mlib-prj.adb:
+-      (Build_Library): Take into account Builder'Default_Switches ("Ada") when
+-      binding a Stand-Alone Library.
+-
+-      * output.adb: Update Copyright notice
+-      (Write_Char): Output buffer when full
+-
+-2003-11-26  Robert Dewar  <dewar@gnat.com>
+-
+-      * sem_ch13.adb: (Check_Size): Reset size if size is too small
+-
+-      * sem_ch13.ads:
+-      (Check_Size): Fix documentation to include bit-packed array case
+-
+-      * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
+-
+-      * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
+-
+-      * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
+-
+-2003-11-24  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      PR ada/13142
+-      * utils.c (init_gigi_decls): Change name of built-in setjmp to
+-      __builtin_setjmp, since this is apparently needed by recent
+-      non Ada changes.
+-
+-2003-11-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+-
+-      * adadecode.c: Only include ctype.h if not IN_GCC.
+-      (__gnat_decode): Use ISDIGIT from safe-ctype.h.
+-
+-2003-11-24  Jose Ruiz  <ruiz@act-europe.fr>
+-
+-      * Makefile.in:
+-      Use 5zintman.ads for VxWorks targets. This file avoid confusion between
+-      signals and interrupts.
+-
+-      * 5zintman.ads: New File.
+-
+-      * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
+-      add exception signals to the set of unmasked signals.
+-
+-      * 5ztaprop.adb:
+-      Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
+-      between signals and interrupts.
+-      Add to Unblocked_Signal_Mask the set of signals that are in
+-      Keep_Unmasked.
+-
+-      * 7sinmaop.adb:
+-      Adding a check to see whether the Interrupt_ID we want to unmask is in
+-      the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
+-      reason is that the index type of the Keep_Unmasked array is not always
+-      Interrupt_ID; it may be a subtype of Interrupt_ID.
+-
+-2003-11-24  Gary Dismukes  <dismukes@gnat.com>
+-
+-      * exp_util.adb:
+-      (Remove_Side_Effects): Condition constantness of object created for a
+-       an unchecked type conversion on the constantness of the expression
+-       to ensure the correct value for 'Constrained when passing components
+-       of view-converted class-wide objects.
+-
+-2003-11-24  Robert Dewar  <dewar@gnat.com>
+-
+-      * par-load.adb (Load): Improve handling of misspelled and missing units
+-      Removes several cases of compilation abandoned messages
+-
+-      * lib.adb: (Remove_Unit): New procedure
+-
+-      * lib.ads: (Remove_Unit): New procedure
+-
+-      * lib-load.adb: Minor reformatting
+-
+-2003-11-24  Vincent Celier  <celier@gnat.com>
+-
+-      * make.adb:
+-      (Gnatmake, Initialize): Call Usage instead of Makeusg directly
+-      (Marking_Label): Label to mark processed source files. Incremented for
+-      each executable.
+-      (Gnatmake): Increase Marking_Labet for each executable
+-      (Is_Marked): Compare against marking label
+-      (Mark): Mark with marking label
+-
+-2003-11-24  Jerome Guitton  <guitton@act-europe.fr>
+-
+-      * s-thread.ads:
+-      Move the declaration of the TSD for System.Threads to System.Soft_Links.
+-      Add some comments.
+-
+-      * Makefile.in: Added target pair for s-thread.adb for cert runtime.
+-      (rts-cert): build a single relocatable object for the run-time lib.
+-      Fix perms.
+-
+-2003-11-24  Vasiliy Fofanov  <fofanov@act-europe.fr>
+-
+-      * Make-lang.in:
+-      Use gnatls rather than gcc to obtain the location of GNAT RTL for
+-      crosstools build.
+-
+-2003-11-24  Sergey Rybin  <rybin@act-europe.fr>
+-
+-      * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
+-      can not use it as before (that is, as a variable) when dumping it into
+-      the tree file. Add a local variable to store the result of this
+-      function and to be used as the string to be written into the tree.
+-
+-      * scn.adb (Initialize_Scanner): Add comments explaining the recent
+-      changes.
+-
+-      * sinput.adb (Source_First, Source_Last): In case of
+-      Internal_Source_File, replace returning attributes of
+-      Internal_Source_Ptr (which is wrong) with returning attributes of
+-      Internal_Source.
+-
+-2003-11-24  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch3.adb:
+-      (New_Concatenation_Op): Proper name for New_Binary_Operator, only
+-      used for implicit concatenation operators.
+-      Code cleanup.
+-
+-      * sem_elab.adb:
+-      (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
+-      task bodies that are in the scope of a Suppress pragma.
+-      (Check_A Call): Use the flag to prevent spurious elaboration checks.
+-
+-      * sinfo.ads, sinfo.adb:
+-      New flag No_Elaboration_Check on function/procedure calls, to properly
+-      suppress checks on calls in task bodies that are within a local suppress
+-      pragma.
+-
+-      * exp_ch4.adb:
+-      (Expand_Concatenate_Other): Use the proper integer type for the
+-      expression for the upper bound, to avoid universal_integer computations
+-      when possible.
+-
+-2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
+-
+-      * .cvsignore: Delete.
+-
+-2003-11-21  Andreas Schwab  <schwab@suse.de>
+-
+-      * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
+-
+-2003-11-21  Vasiliy Fofanov  <fofanov@act-europe.fr>
+-
+-      * 5wsystem.ads: Enable zero cost exception.
+-
+-2003-11-21  Jerome Guitton  <guitton@act-europe.fr>
+-
+-      * 5ztiitho.adb: Remove an unreferenced variable.
+-
+-2003-11-21  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * adaint.c: For FreeBSD, use mkstemp.
+-
+-2003-11-21  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * gnatlbr.adb: Now reference Gnat_Static_Version_String.
+-
+-2003-11-21  Robert Dewar  <dewar@gnat.com>
+-
+-      * bld.adb: Remove useless USE of gnatvsn
+-
+-      * gnatchop.adb: Minor reformatting
+-      Clean up version handling to be more consistent
+-
+-      * gnatxref.adb: Minor reformatting
+-
+-      * gprcmd.adb: Minor reformatting
+-      Fix output of copyright to be more consistent with other tools
+-
+-2003-11-21  Vincent Celier  <celier@gnat.com>
+-
+-      * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
+-
+-2003-11-21  Sergey Rybin  <rybin@act-europe.fr>
+-
+-      * atree.adb (Initialize): Add initializations for global variables
+-      used in New_Copy_Tree.
+-
+-      * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
+-      Internal_Source_File as the actual).
+-      Put the set of statements creating Any_Character before the set of
+-      statements creating Any_Array to have Any_Character fully initialized
+-      when it is used in creating Any_Array.
+-
+-      * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
+-      not call Scan in case if the actual is Internal_Source_File
+-      Add 2003 to copyright note.
+-
+-      * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
+-      processing Internal_Source_File.
+-
+-      * types.ads: Add the constant Internal_Source_File representing the
+-      source buffer for artificial source-code-like strings created within
+-      the compiler (the definition of Source_File_Index is changed).
+-
+-2003-11-20  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
+-      56system.ads: New file, FreeBSD version.
+-
+-2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
+-
+-      * Make-lang.in (ada.extraclean): Delete.
+-
+-2003-11-19  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * gnatmem.adb: Clean up verbose output.
+-
+-      * gprcmd.adb: Change copyright to FSF.
+-
+-2003-11-19  Vincent Celier  <celier@gnat.com>
+-
+-      * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
+-      and Version (ignored).
+-
+-      * symbols.ads: (Policy): New type
+-      (Initialize): New parameter Reference, Symbol_Policy and
+-      Library_Version.
+-      Remove parameter Force.
+-      Minor reformatting.
+-
+-      * snames.ads, snames.adbadb: New standard names
+-      Library_Reference_Symbol_File and Library_Symbol_Policy
+-
+-      * mlib-prj.adb:
+-      (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
+-      project.
+-
+-      * mlib-tgt.adb:
+-      (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
+-
+-      * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
+-
+-      * prj.adb: (Project_Empty): New component Symbol_Data
+-
+-      * prj.ads: (Policy, Symbol_Record): New types
+-      (Project_Data): New component Symbol_Data
+-
+-      * prj-attr.adb:
+-      New attributes Library_Symbol_File, Library_Symbol_Policy and
+-      Library_Reference_Symbol_File.
+-
+-      * prj-nmsc.adb:
+-      (Ada_Check): When project is a Stand-Alone library project, process
+-      attribute Library_Symbol_File, Library_Symbol_Policy and
+-      Library_Reference_Symbol_File.
+-
+-      * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
+-      5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
+-      5sml-tgt.adb (Build_Dynamic_Library): New parameter
+-      Symbol_Data (ignored).
+-
+-      * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
+-      (Build_Dynamic_Library): New parameter Symbol_Data. New internal
+-      functions Option_File_Name and Version_String. Set new options of
+-      gnatsym related to symbol file, symbol policy and reference symbol
+-      file.
+-
+-      * 5vsymbol.adb:
+-      Extensive modifications to take into account the reference symbol file,
+-      the symbol policy, the library version and to put in the symbol file the
+-      minor and major IDs.
+-
+-      * bld.adb (Process_Declarative_Items): Put second argument of
+-      gprcmd to_absolute between single quotes, to avoid problems with
+-      Windows.
+-
+-      * bld-io.adb: Update Copyright notice.
+-      (Flush): Remove last character of a line, if it is a back slash, to
+-      avoid make problems.
+-
+-      * gnatsym.adb:
+-      Implement new scheme with reference symbol file and symbol policy.
+-
+-      * g-os_lib.ads: (Is_Directory): Clarify comment
+-
+-2003-11-19  Robert Dewar  <dewar@gnat.com>
+-
+-      * atree.adb: Move New_Copy_Tree global variables to head of package
+-
+-      * errout.adb: Minor reformatting
+-
+-2003-11-19  Javier Miranda  <miranda@gnat.com>
+-
+-      * sem_ch4.adb: (Diagnose_Call): Improve error message.
+-      Add reference to Ada0Y (AI-50217)
+-
+-      * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
+-      sem_util.adb: Add reference to AI-50217
+-
+-      * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
+-
+-      * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
+-
+-      * sem_aggr.adb: Complete documentation of AI-287 changes
+-
+-      * par-ch4.adb: Document previous changes.
+-
+-      * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
+-      sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
+-      Ada0Y (AI-50217)
+-
+-      * exp_aggr.adb: Add references to AI-287 in previous changes
+-
+-2003-11-19  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_ch6.adb:
+-      (Add_Call_By_Copy_Node): Do not original node of rewritten expression
+-      in the rewriting is the result of an inlined call.
+-
+-      * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
+-      parameter is a type conversion, use original node to construct the
+-      post-call assignment, because expression may have been rewritten, e.g.
+-      if it is a packed array.
+-
+-      * sem_attr.adb:
+-      (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
+-      body, just as it is in an instance.
+-      Categorization routines
+-
+-      * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
+-      Instantiate_Object): Set proper sloc reference for message on missing
+-      actual.
+-
+-2003-11-19  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * Makefile.in: Add FreeBSD libgnat pairs.
+-
+-      * usage.adb: Fix typo in usage message.
+-
+-2003-11-19  Jerome Guitton  <guitton@act-europe.fr>
+-
+-      * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
+-      s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
+-      pragma Thread_Body.
+-      Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
+-
+-      * s-thread.adb: This file is now a dummy implementation of
+-      System.Thread.
+-
+-2003-11-19  Sergey Rybin  <rybin@act-europe.fr>
+-
+-      * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
+-
+-2003-11-19  Emmanuel Briot  <briot@act-europe.fr>
+-
+-      * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
+-      instanciation references in the parent type description.
+-
+-2003-11-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
+-
+-      * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
+-      TYPE_PRECISION directly from esize.
+-
+-2003-11-18  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * cstreams.c:
+-      Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
+-
+-      * init.c: Initialization routines for FreeBSD
+-
+-      * link.c: Link info for FreeBSD
+-
+-      * sysdep.c: Add the case of FreeBSD
+-
+-2003-11-17  Jerome Guitton  <guitton@act-europe.fr>
+-
+-      * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
+-      already called in System.Threads.
+-
+-      * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
+-      environment task, as it has been moved to System.Threads.Initialization.
+-
+-2003-11-17  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * adaint.c (__gnatlib_install_locks): Only reference
+-      __gnat_install_locks on VMS, since other platforms can avoid using
+-      --enable-threads=gnat
+-
+-2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
+-
+-      * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
+-      TYPE_PACKED_ARRAY_TYPE_P.
+-      (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
+-
+-      Part of PR ada/12806
+-      * utils.c (float_type_for_precision): Renamed from float_type_for_size.
+-      Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
+-
+-2003-11-17  Vincent Celier  <celier@gnat.com>
+-
+-      * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
+-      to False.
+-      Do not set exit status to Failure when Warning is True.
+-      (Gnatchop): Make errors "no compilation units found" and
+-      "no source files written" warnings only.
+-
+-      * make.adb (Gnatmake): When using a project file, set
+-      Look_In_Primary_Dir to False.
+-      (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
+-      and Local_Configuration_Pragmas in the project where they are declared
+-      not an extending project which might have inherited them.
+-
+-      * osint.adb (Locate_File): If Name is already an absolute path, do not
+-      look for a directory.
+-
+-      * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
+-      -gnats (Check_Syntax) is used, issue only a warning, not an error.
+-
+-      * prj.adb (Register_Default_Naming_Scheme): Add new component Project
+-      in objects of type Variable_Value.
+-
+-      * prj.ads: (Variable_Value): New component Project
+-
+-      * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
+-      is in a project extended by Project.
+-
+-      * prj-proc.adb (Add_Attributes): New parameter Project. Set component
+-      Project of Variable_Values to this new parameter value.
+-      (Expression): Set component Project of Variable_Values.
+-      (Process_Declarative_Items): Call Add_Attributes with parameter Project.
+-      Set the component Project in array elements.
+-
+-2003-11-17  Sergey Rybin  <rybin@act-europe.fr>
+-
+-      * errout.adb: (Initialize): Add initialization for error nodes.
+-
+-      * sem_ch12.adb (Initialize): Add missing initializations for
+-      Exchanged_Views and Hidden_Entities.
+-
+-2003-11-17  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
+-      already instantiated tree for use in subsequent inlining.
+-      (Analyze_Associations, Instantiate_Formal_Subprogram,
+-      Instantiate_Object): improve error message for mismatch in
+-      instantiations.
+-
+-      * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
+-      instantiations of subprograms declared in instances.
+-
+-2003-11-17  Javier Miranda  <miranda@gnat.com>
+-
+-      * sem_ch4.adb (Analyze_Allocator): Previous modification must be
+-      executed only under the Extensions_Allowed flag.
+-
+-2003-11-17  Robert Dewar  <dewar@gnat.com>
+-
+-      * a-exexda.adb (Address_Image): Fix documentation to indicate leading
+-      zeroes suppressed.
+-      (Address_Image): Fix bug of returning 0x instead of 0x0
+-      Minor reformatting (function specs).
+-
+-      * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
+-      (missed case of 33-63)
+-
+-      * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
+-
+-      * s-thread.adb: Add comments for pragma Restriction
+-
+-      * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
+-      sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
+-
+-2003-11-17  Ed Falis  <falis@gnat.com>
+-
+-      * s-thread.adb: Added No_Tasking restriction for this implementation.
+-
+-2003-11-17  Emmanuel Briot  <briot@act-europe.fr>
+-
+-      * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
+-      instanciation references in the parent type description.
+-
+-2003-11-17  GNAT Script  <nobody@gnat.com>
+-
+-      * Make-lang.in: Makefile automatically updated
+-
+-2003-11-16  Jason Merrill  <jason@redhat.com>
+-
+-      * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
+-      and TAGS files that include them for each front end.
+-
+-2003-11-14  Andreas Jaeger  <aj@suse.de>
+-
+-      * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
+-      is the canonical version.
+-      * misc.c (gnat_handle_option): Likewise.
+-
+-      * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
+-
+-      * 5nsystem.ads: New file for x86_64-linux-gnu.
+-
+-2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
+-
+-      * comperr.adb: Fix logic in previous change.
+-
+-2003-11-13  Vincent Celier  <celier@gnat.com>
+-
+-      * 5bml-tgt.adb (Build_Dynamic_Library): Use
+-      Osint.Include_Dir_Default_Prefix instead of
+-      Sdefault.Include_Dir_Default_Name.
+-
+-      * gnatlbr.adb: Update Copyright notice
+-      (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
+-      Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
+-      instead of Sdefault.Object_Dir_Default_Name
+-
+-      * gnatlink.adb:
+-      (Process_Binder_File): Never suppress the option following -Xlinker
+-
+-      * mdll-utl.adb:
+-      (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
+-      Sdefault.Object_Dir_Default_Name.
+-
+-      * osint.ads, osint.adb:
+-      (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
+-      Minor reformatting.
+-
+-      * vms_conv.ads: Minor reformating
+-      Remove GNAT STANDARD and GNAT PSTA
+-
+-      * vms_conv.adb:
+-      Allow GNAT MAKE to have several files on the command line.
+-      (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
+-      Sdefault.Object_Dir_Default_Name.
+-      Minor Reformating
+-      Remove data for GNAT STANDARD
+-
+-      * vms_data.ads:
+-      Add new compiler qualifier /PRINT_STANDARD (-gnatS)
+-      Remove data for GNAT STANDARD
+-      Remove options and documentation for -gnatwb/-gnatwB: these warning
+-      options no longer exist.
+-
+-2003-11-13  Ed Falis  <falis@gnat.com>
+-
+-      * 5zthrini.adb: (Init_RTS): Made visible
+-
+-      * 5zthrini.adb:
+-      (Register): Removed unnecessary call to taskVarGet that checked whether
+-       an ATSD was already set as a task var for the argument thread.
+-
+-      * s-thread.adb:
+-      Updated comment to reflect that this is a VxWorks version
+-      Added context clause for System.Threads.Initialization
+-      Added call to System.Threads.Initialization.Init_RTS
+-
+-2003-11-13  Jerome Guitton  <guitton@act-europe.fr>
+-
+-      * 5zthrini.adb:
+-      (Init_RTS): New procedure, for the initialization of the run-time lib.
+-
+-      * s-thread.adb:
+-      Remove dependancy on System.Init, so that this file can be used in the
+-      AE653 sequential run-time lib.
+-
+-2003-11-13  Robert Dewar  <dewar@gnat.com>
+-
+-      * bindgen.adb: Minor reformatting
+-
+-2003-11-13  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * checks.adb:
+-      (Apply_Discriminant_Check): Do no apply check if target type is derived
+-      from source type with no applicable constraint.
+-
+-      * lib-writ.adb:
+-      (Ensure_System_Dependency): Do not apply the style checks that may have
+-      been specified for the main unit.
+-
+-      * sem_ch8.adb:
+-      (Find_Selected_Component): Further improvement in error message, with
+-      RM reference.
+-
+-      * sem_res.adb:
+-      (Resolve): Handle properly the case of an illegal overloaded protected
+-      procedure.
+-
+-2003-11-13  Javier Miranda  <miranda@gnat.com>
+-
+-      * exp_aggr.adb:
+-      (Has_Default_Init_Comps): New function to check the presence of
+-      default initialization in an aggregate.
+-      (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
+-      extension aggregate of a limited record. In addition, a new formal
+-      was added to do not initialize the record controller (if any) during
+-      this recursive expansion of ancestors.
+-      (Init_Controller): Add support for limited record components.
+-      (Expand_Record_Aggregate): In case of default initialized components
+-      convert the aggregate into a set of assignments.
+-
+-      * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
+-      describing the new syntax.
+-      Nothing else needed to be done because this subprogram delegates part of
+-      its work to P_Precord_Or_Array_Component_Association.
+-      (P_Record_Or_Array_Component_Association): Give support to the new
+-      syntax for default initialization of components.
+-
+-      * sem_aggr.adb:
+-      (Resolve_Aggregate): Relax the strictness of the frontend in case of
+-      limited aggregates.
+-      (Resolve_Record_Aggregate): Give support to default initialized
+-      components.
+-      (Get_Value): In case of default initialized components, duplicate
+-      the corresponding default expression (from the record type
+-      declaration). In case of default initialization in the *others*
+-      choice, do not check that all components have the same type.
+-      (Resolve_Extension_Aggregate): Give support to limited extension
+-      aggregates.
+-
+-      * sem_ch3.adb:
+-      (Check_Initialization): Relax the strictness of the front-end in case
+-      of aggregate and extension aggregates. This test is now done in
+-      Get_Value in a per-component manner.
+-
+-      * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
+-      expression corresponds to a limited aggregate. This test is now done
+-      in Get_Value.
+-
+-      * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
+-      Box_Present flag.
+-
+-      * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
+-      present in an N_Component_Association node
+-
+-2003-11-13  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
+-      type-conformant entry only if they are homographs.
+-
+-2003-11-13  GNAT Script  <nobody@gnat.com>
+-
+-      * Make-lang.in: Makefile automatically updated
+-
+-2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+-
+-      * adadecode.c: Use <> form of include for ctype.h.
+-      * sysdep.c [IN_RTS]: Use <> form of include for time.h.
+-
+-2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+-
+-      * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
+-      Works around PR middle-end/6552.
+-
+-2003-11-10  Ed Falis  <falis@gnat.com>
+-
+-      * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
+-
+-      * 5zinit.adb: (Install_Handler): Moved back to spec
+-      (Install_Signal_Handlers): Deleted
+-
+-      * 5zthrini.adb: Added context clause for System.Storage_Elements
+-      (Register): Only handles creation of taskVar; initialization moved to
+-      Thread_Body_Enter.
+-      (Reset_TSD): Deleted; replaced by Thread_Body_Enter
+-      Added declaration of environment task secondary stack and
+-      initialization.
+-
+-      * s-thread.adb: Implement bodies for thread body processing
+-
+-      * s-thread.ads:
+-      Added comment identifying supported targets for pragma Thread_Body.
+-
+-2003-11-10  Pascal Obry  <obry@gnat.com>
+-
+-      * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
+-      GNAT_MAX_PATH_LEN.
+-
+-      * s-fileio.adb:
+-      (Open): Properly check for string length before copying into the buffer.
+-      Raises Name_Error if buffer is too small. Note that this was a potential
+-      buffer overflow.
+-
+-2003-11-10  Romain Berrendonner  <berrendo@act-europe.fr>
+-
+-      * bindgen.adb, comperr.adb: Code clean ups.
+-      * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
+-
+-2003-11-10  Sergey Rybin  <rybin@act-europe.fr>
+-
+-      * gnat1drv.adb: Add call to Sem_Elim.Initialize.
+-
+-2003-11-10  Vincent Celier  <celier@gnat.com>
+-
+-      * gprcmd.adb:
+-      (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
+-      installation.
+-
+-      * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
+-
+-      * prj.adb: (Project_Empty): Add new boolean component Virtual
+-
+-      * prj.ads: (Virtual_Prefix): New constant string
+-      (Project_Data): New boolean component Virtual
+-
+-      * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
+-      a library project is extended by a virtual extending project.
+-
+-      * prj-part.adb:
+-      Modifications throughout to implement extending-all project, including:
+-      (Virtual_Hash, Processed_Hash): New hash tables
+-      (Create_Virtual_Extending_Project): New procedure
+-      (Look_For_Virtual_Projects_For): New procedure
+-
+-      * prj-proc.adb:
+-      (Process): After checking the projects, if main project is an
+-      extending-all project, set the object directory of all virtual extending
+-      project to the object directory of the main project.
+-      Adjust error message when a virtual extending project has the same
+-      object directory as an project being extended.
+-      (Recursive_Process): If name starts with the virtual prefix, set Virtual
+-      to True in the project data.
+-
+-      * prj-tree.adb:
+-      (Default_Project_Node): Add new boolean component Extending_All
+-      (Is_Extending_All): New function
+-      (Set_Is_Extending_All): New procedure
+-
+-      * prj-tree.ads: (Is_Extending_All): New function
+-      (Set_Is_Extending_All): New procedure
+-      (Project_Node_Record): New boolean component Extending_All
+-
+-      * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
+-
+-      * vms_data.ads:
+-      Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
+-
+-      * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
+-      "gprcmd prefix" to define it.
+-
+-2003-11-10  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * einfo.ads: Fix a typo and remove an extraneous word in comments.
+-
+-      * lib-load.adb:
+-      (Create_Dummy_Package_Unit): Set the scope of the entity for the
+-      created dummy package to Standard_Standard, not to itself, to
+-      defend other parts of the front-end against encoutering a cycle in
+-      the scope chain.
+-
+-      * sem_ch10.adb:
+-      (Analyze_With_Clause): When setting the entities for the successive
+-      N_Expanded_Names that constitute the name of a child unit, do not
+-      attempt to go further than Standard_Standard in the chain of scopes.
+-      This case arises from the placeholder units created by
+-      Create_Dummy_Package_Unit in the case of a with_clause for a
+-      nonexistent child unit.
+-
+-2003-11-10  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_ch6.adb:
+-      (Expand_Thread_Body): Place subprogram on scope stack, so that new
+-      declarations are given the proper scope.
+-
+-      * sem_ch13.adb:
+-      (Check_Expr_Constants): Reject an expression that contains a constant
+-      created during expansion, and that appears after the object to which
+-      the address clause applies.
+-
+-      * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
+-      Analyze_Iteration_Scheme, to rewrite a loop parameter specification
+-      that uses 'Range of a function call with controlled components, so
+-      that the function result can be finalized before starting the loop.
+-
+-      * sem_ch8.adb:
+-      (Find_Selected_Component): Improve error message when prefix is
+-      an implicit dereference of an incomplete type.
+-
+-2003-11-10  Robert Dewar  <dewar@gnat.com>
+-
+-      * opt.ads: New Print_Standard flag for -gnatS switch
+-
+-      * sem_ch13.adb: Remove some additional checks for unaligned arrays
+-
+-      * cstand.adb (Create_Standard): Print out package standard if -gnatS
+-      switch set
+-
+-      * debug.adb: Update doc for -gnatds to discuss relationship with new
+-      -gnatS flag
+-
+-      * sinfo.adb: Add new field Entity_Or_Associated_Node
+-
+-      * sinfo.ads: Add new field Entity_Or_Associated_Node
+-      Update documentation for Associated_Node and Entity fields to clarify
+-      relationship and usage.
+-
+-      * sprint.adb:
+-      (Write_Id): Properly process Associated_Node field in generic template
+-
+-      * switch-c.adb:
+-      Recognize new -gnatS switch for printing package Standard
+-      This replaces gnatpsta
+-
+-      * usage.adb:
+-      Add line for  new -gnatS switch for printing package Standard
+-      This replaces gnatpsta
+-
+-2003-11-10  Andreas Jaeger  <aj@suse.de>
+-
+-      * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
+-      integer.
+-
+-2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
+-      by gnat1.
+-
+-2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
+-      no longer needed.
+-
+-      * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
+-
+-      * sysdep.c: Add handling of cygwin.
+-
+-2003-11-10  GNAT Script  <nobody@gnat.com>
+-
+-      * Make-lang.in: Makefile automatically updated
+-
+-2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      PR 12950
+-      * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
+-      functions. Used to handle dynamic prefix relocation, via set_std_prefix.
+-      Replace GNAT_ROOT by GCC_ROOT.
+-
+-      * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
+-
+-2003-11-06  Zack Weinberg  <zack@codesourcery.com>
+-
+-      * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
+-      and update for changed meaning of GET_MODE_BITSIZE.
+-
+-2003-11-04  Doug Rupp  <rupp@gnat.com>
+-
+-      * sysdep.c: Problem discovered during IA64 VMS port.
+-      [VMS] #include <unixio.h> to get proper prototypes.
+-
+-      * adaint.c:
+-      Issues discovered/problems fixed during IA64 VMS port.
+-      [VMS] #define _POSIX_EXIT for proper semantics.
+-      [VMS] #include <unixio.h> for proper prototypes.
+-      [VMS] (fork): #define IA64 version.
+-      (__gnat_os_exit): Remove unnecessary VMS specific code.
+-
+-2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      Part of PR ada/12806
+-      * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
+-      tree, not integer.
+-
+-      * decl.c:
+-      (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
+-      not integer.
+-
+-      * targtyps.c, decl.c, misc.c,
+-      gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
+-      routines to work around change in FP sizing semantics in GCC.
+-
+-      * utils.c:
+-      (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
+-
+-      * gigi.h: (enumerate_modes): New function.
+-
+-      * Make-lang.in: (ada/misc.o): Add real.h.
+-
+-      * misc.c: (enumerate_modes): New function.
+-
+-2003-11-04  Robert Dewar  <dewar@gnat.com>
+-
+-      * 3vtrasym.adb: Minor reformatting
+-      Use terminology encoded/decoded name, rather than C++ specific notion
+-      of mangling (this is the terminology used throughout GNAT).
+-
+-      * einfo.h: Regenerated
+-
+-      * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
+-
+-      * exp_ch6.adb:
+-      (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
+-
+-      * par-prag.adb: Add dummy entry for Thread_Body pragma
+-
+-      * rtsfind.ads:
+-      Add entries for System.Threads entities for thread body processing
+-
+-      * sem_attr.adb:
+-      (Analyze_Pragma, Access attributes): Check these are not applied to a
+-      thread body, since this is not permitted
+-
+-      * sem_prag.adb: Add processing for Thread_Body pragma.
+-      Minor comment fix.
+-
+-      * sem_res.adb:
+-      (Resolve_Call): Check for incorrect attempt to call a thread body
+-       procedure with a direct call.
+-
+-      * snames.ads, snames.adb: Add entry for Thread_Body pragma
+-      Add names associated with thread body expansion
+-
+-      * snames.h: Add entry for Thread_Body pragma
+-
+-      * s-thread.adb: Add entries for thread body processing
+-      These are dummy bodies so far
+-
+-      * s-thread.ads: Add documentation on thread body handling.
+-      Add entries for thread body processing.
+-
+-2003-11-04  Javier Miranda  <miranda@gnat.com>
+-
+-      * sem_ch10.adb:
+-      (Build_Limited_Views): Return after posting an error in case of limited
+-      with_clause on subprograms, generics, instances or generic renamings
+-      (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
+-      on subprograms, generics, instances or generic renamings
+-
+-2003-11-04  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * raise.c (setup_to_install): Correct mistake in last revision; two
+-      arguments out of order.
+-
+-      * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
+-      gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
+-      notice, missed in previous change.
+-      Remove trailing blanks and other style errors introduced in previous
+-      change.
+-
+-2003-11-04  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
+-      rid of the wrapper for a LJM type, ensuring we don't do that if the
+-      field is addressable.  This avoids potential low level type view
+-      mismatches later on, for instance in a by-reference argument passing
+-      process.
+-
+-2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
+-      aligned at byte boundary.
+-
+-2003-11-04  Joel Brobecker  <brobecker@gnat.com>
+-
+-      * decl.c (components_to_record): Do not delete the empty variants from
+-      the end of the union type.
+-
+-2003-11-04  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
+-      operation for a derived type, an explicit declaration may use a local
+-      subtype of Boolean.
+-
+-2003-11-04  Vincent Celier  <celier@gnat.com>
+-
+-      * make.adb (Gnatmake): Allow main sources on the command line with a
+-      library project when it is only for compilation (no binding or
+-      linking).
+-
+-2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+-
+-      * Makefile.in: Remove many duplicate variables.
+-
+-2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
+-
+-      * Make-lang.in (dvi): Move targets to $(docobjdir).
+-      (gnat_ug_vms.dvi): Simplify rule and adjust target.
+-      (gnat_ug_wnt.dvi): Likewise.
+-      (gnat_ug_unx.dvi): Likewise.
+-      (gnat_ug_vxw.dvi): Likewise.
+-      (gnat_rm.dvi): Likewise.
+-      (gnat-style.dvi): Likewise.
+-
+-2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
+-
+-      * gigi.h: Missed commit from update for C90.
+-
+-2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
+-
+-      * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
+-
+-2003-10-31  Andreas Schwab  <schwab@suse.de>
+-
+-      * raise.c (get_action_description_for): Fix typo in last change.
+-
+-2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
+-
+-      PR ada/12761
+-      * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
+-      T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
+-
+-2003-10-30  Kelley Cook  <kcook@gcc.gnu.org>
+-
+-      * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
+-      ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
+-      gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
+-      sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
+-      trans.c, utils.c, utils2.c: Convert function prototypes to C90.
+-
+-2003-10-30  Vasiliy Fofanov  <fofanov@act-europe.fr>
+-
+-      * 3vtrasym.adb:
+-      Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
+-      numbers when symbol name is too long.
+-
+-2003-10-30  Ed Falis  <falis@gnat.com>
+-
+-      * g-signal.ads, g-signal.adb: New files
+-
+-      * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
+-
+-      * Makefile.rtl: Introduce GNAT.Signals
+-
+-2003-10-30  Robert Dewar  <dewar@gnat.com>
+-
+-      * freeze.adb: Minor reformatting
+-
+-      * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
+-
+-      * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
+-      par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
+-      New handling of Id_Check parameter to improve recognition of keywords
+-      used as identifiers.
+-      Update copyright notice to include 2003
+-
+-2003-10-29  Robert Dewar  <dewar@gnat.com>
+-
+-      * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
+-      sem_ch10.adb: Minor reformatting
+-
+-      * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
+-      (Expand_Assign_Record): Test right hand side for bit unaligned as well
+-
+-2003-10-29  Vasiliy Fofanov  <fofanov@act-europe.fr>
+-
+-      * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
+-      Support for TBK$SYMBOLIZE-based symbolic traceback.
+-
+-2003-10-29  Jose Ruiz  <ruiz@act-europe.fr>
+-
+-      * exp_disp.adb:
+-      Revert previous change, that did not work well when pragma No_Run_Time
+-      was used in conjunction with a run-time other than ZFP.
+-
+-2003-10-29  Vincent Celier  <celier@gnat.com>
+-
+-      * make.adb:
+-      (Gnatmake): When there are no Ada mains in attribute Main, disable the
+-       bind and link steps only is switch -z is not used.
+-
+-2003-10-29  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * Makefile.generic: Remove duplicated setting of CC.
+-
+-      * Makefile.prolog: Set CC to gcc by default, to override make's
+-      default (cc).
+-
+-      * einfo.h: Regenerated.
+-
+-2003-10-29  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
+-      current body, after compiling subunit.
+-
+-      * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
+-      when in deleted code, because gigi needs properly ordered freeze
+-      actions to annotate types.
+-
+-      * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
+-      prevent the premature freezing of record type that contains
+-      subcomponents with a private type that does not yet have a completion.
+-
+-2003-10-29  Javier Miranda  <miranda@gnat.com>
+-
+-      * sem_ch12.adb:
+-      (Analyze_Package_Instantiation): Check that instances can not be used in
+-      limited with_clauses.
+-
+-      * sem_ch8.adb:
+-      (Analyze_Package_Renaming): Check that limited withed packages cannot
+-      be renamed. Improve text on error messages related to limited
+-      with_clauses.
+-
+-      * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
+-
+-      * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
+-      Update copyright notice.
+-
+-      * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
+-      (Install_Limited_Context_Clauses): New subprogram that isolates all the
+-      checks required for limited context_clauses and installs the limited
+-      view.
+-      (Install_Limited_Withed_Unit): Complete its documentation.
+-      (Analyze_Context): Check that limited with_clauses are only allowed in
+-      package specs.
+-      (Install_Context): Call Install_Limited_Context_Clauses after the
+-      parents have been installed.
+-      (Install_Limited_Withed_Unit): Add documentation. Mark the installed
+-      package as 'From_With_Type'; this mark indicates that the limited view
+-      is installed. Used to check bad usages of limited with_clauses.
+-      (Build_Limited_Views): Do not add shadow entities to the scope's list
+-      of entities. Do not add real entities to the Non_Limited_Views chain.
+-      Improve error notification.
+-      (Remove_Context_Clauses): Remove context clauses in two phases:
+-      limited views first and regular views later (to maintain the
+-      stack model).
+-      (Remove_Limited_With_Clause): If the package is analyzed then reinstall
+-      its visible entities.
+-
+-2003-10-29  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
+-      with any type that Is_Fixed_Point_Type.
+-
+-      * sinfo.ads: Fix documentation for Associated_Node attribute.
+-
+-2003-10-29  Sergey Rybin  <rybin@act-europe.fr>
+-
+-      * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
+-      both '-gnatc' and '-gnatt' are specified.
+-
+-      * atree.adb (Initialize): Add initialization for Node_Count (set to
+-      zero).
+-
+-2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
+-      do not consider as Pure.
+-
+-      Part of implementation of function-at-a-time:
+-
+-      * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
+-      (tree_transform): Add new argument to build_component_ref.
+-      (tree_transform, case N_Assignment_Statement): Make and return an
+-      EXPR_STMT.
+-      (tree_transform): If result IS_STMT, set flags and return it.
+-      (gnat_expand_stmt, set_lineno_from_sloc): New functions.
+-
+-      * utils2.c (build_simple_component_ref, build_component_ref): Add new
+-      arg, NO_FOLD_P.
+-      (build_binary_op, case EQ_EXPR): Pass additional arg to it.
+-      (build_allocator): Likewise.
+-
+-      * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
+-      Add new arg to build_component_ref.
+-      (maybe_unconstrained_array, unchecked_convert): Likewise.
+-
+-      * ada-tree.def (EXPR_STMT): New code.
+-
+-      * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
+-
+-      * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
+-      build_component_ref calls.
+-
+-      * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
+-
+-      * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
+-      (build_component_ref): Add new argument, NO_FOLD_P.
+-
+-2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * Makefile.generic: Add missing substitution on object_deps handling.
+-
+-      PR ada/5909
+-      * Make-lang.in (check-ada): Enable ACATS test suite.
+-
+-2003-10-27  Robert Dewar  <dewar@gnat.com>
+-
+-      * exp_ch3.adb:
+-      (Freeze_Array_Type): We do not need an initialization routine for types
+-      derived from String or Wide_String. They should be treated the same
+-      as String and Wide_String themselves. This caused problems with the
+-      use of Initialize_Scalars.
+-
+-      * exp_ch5.adb:
+-      (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
+-      composites. This allows use of component clauses that are not byte
+-      aligned.
+-
+-      * sem_prag.adb:
+-      (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
+-      is an attempt to pack an array of atomic objects.
+-
+-      * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
+-
+-2003-10-27  Pascal Obry  <obry@gnat.com>
+-
+-      * g-dirope.adb:
+-      (Basename): Check for drive letters in a pathname only on DOS based OS.
+-
+-2003-10-27  Vincent Celier  <celier@gnat.com>
+-
+-      * make.adb:
+-      (Gnatmake): When unable to change dir to the object dir, display the
+-      content of the parent dir of the obj dir, to try to understand why this
+-      happens.
+-
+-2003-10-27  GNAT Script  <nobody@gnat.com>
+-
+-      * Make-lang.in: Makefile automatically updated
+-
+-2003-10-27  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch12.adb:
+-      (Inline_Instance_Body): Indicate that the save/restore of use_clauses
+-      should not be done in Save/Restore_Scope_Stack, because it is performed
+-      locally.
+-
+-      * sem_ch8.adb:
+-      (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
+-      whether use clauses should be removed/restored.
+-
+-      * sem_ch8.ads:
+-      (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
+-      whether use clauses should be removed/restored.
+-
+-2003-10-26  Andreas Jaeger  <aj@suse.de>
+-
+-      * Makefile.in: Remove duplicated lines.
+-
+-2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
+-      minimize the differences with ACT tree.
+-
+-      * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
+-      gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
+-      Gnatvsn.Gnat_Static_Version_String to reduce differences between
+-      ACT and FSF trees.
+-
+-2003-10-24  Pascal Obry  <obry@gnat.com>
+-
+-      PR ada/12014
+-      * adadecode.c (ostrcpy): New function.
+-      (__gnat_decode): Use ostrcpy of strcpy.
+-      (has_prefix): Set first parameter a const.
+-      (has_suffix): Set first parameter a const.
+-      Update copyright notice. Fix source name in header.
+-      Removes a trailing space.
+-
+-2003-10-24  Jose Ruiz  <ruiz@act-europe.fr>
+-
+-      * exp_disp.adb:
+-      Remove the test against being in No_Run_Time_Mode before generating a
+-      call to Register_Tag. It is redundant with the test against the
+-      availability of the function Register_Tag.
+-
+-2003-10-24  Vincent Celier  <celier@gnat.com>
+-
+-      * g-catiio.adb: (Month_Name): Correct spelling of February
+-
+-      * make.adb: (Mains): New package
+-      (Initialize): Call Mains.Delete
+-      (Gnatmake): Check that each main on the command line is a source of a
+-      project file and, if there are several mains, each of them is a source
+-      of the same project file.
+-      (Gnatmake): When a foreign language is specified in attribute Languages,
+-      no main is specified on the command line and attribute Mains is not
+-      empty, only build the Ada main. If there is no Ada main, just compile
+-      the Ada sources and their closure.
+-      (Gnatmake): If a main is specified on the command line with directory
+-      information, check that the source exists and, if it does, that the path
+-      is the actual path of a source of a project.
+-
+-      * prj-env.adb:
+-      (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
+-      Full_Path is True, return the full path instead of the simple file name.
+-      (Project_Of): New function
+-
+-      * prj-env.ads:
+-      (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
+-      defaulted to False.
+-      (Project_Of): New function
+-
+-2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * Makefile.generic:
+-      Ensure objects of main project are always checked and rebuilt if needed.
+-      Set CC to gcc by default.
+-      Prepare new handling of link by creating a global archive (not activated
+-      yet).
+-
+-      * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
+-      stringt.h: Update copyright notice. Remove trailing blanks.
+-      Fix source name in header.
+-
+-2003-10-24  Robert Dewar  <dewar@gnat.com>
+-
+-      * sem_ch12.adb: Minor reformatting
+-
+-      * sem_ch3.adb:
+-      Minor reformatting (including new function return style throughout)
+-
+-      * sem_ch3.ads:
+-      Minor reformatting (including new function return style throughout)
+-
+-2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
+-      stringt.h: Update copyright notice. Remove trailing blanks.
+-      Fix source name in header.
+-
+-2003-10-24  GNAT Script  <nobody@gnat.com>
+-
+-      * Make-lang.in: Makefile automatically updated
+-
+-2003-10-23  Nathanael Nerode  <neroden@gcc.gnu.org>
+-
+-      * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
+-      stringt.h: Convert to ISO C90 declarations and definitions.
+-
+-2003-10-23  Thomas Quinot  <quinot@act-europe.fr>
+-
+-      PR ada/11978
+-      * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
+-      External_Tag attribute definition clauses.
+-
+-2003-10-23  Ed Schonberg  <schonberg@gnat.com>
+-
+-      PR ada/7613
+-      * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
+-      child unit, generate a fully qualified name to avoid spurious errors
+-      when the context contains renamings of different child units with
+-      the same simple name.
+-
+-      * exp_dbug.ads: Add documentation on name qualification for renamings
+-      of child units.
+-
+-2003-10-23  Robert Dewar  <dewar@gnat.com>
+-
+-      * g-regpat.ads, g-regpat.adb: Minor reformatting
+-
+-2003-10-23  Jose Ruiz  <ruiz@act-europe.fr>
+-
+-      * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
+-
+-2003-10-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
+-      Machine call.
+-
+-      * urealp.h: (Machine): Update to proper definition.
+-
+-2003-10-23  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * init.c, adaint.c: Minor reformatting.
+-
+-2003-10-23  Danny Smith  <dannysmith@users.sourceforge.net>
+-
+-      * adaint.c (w32_epoch_offset): Define static const at file level.
+-      (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
+-      rather than t_create, t_access in call to GetFileTime. Use union
+-      to convert between FILETIME and  unsigned long long.
+-      (__gnat_file_time_name): Test for invalid file handle.
+-      (__gnat_set_filetime_name): Support win32 targets using
+-      w32api SetFileTime.
+-
+-2003-10-22  Danny Smith  <dannysmith@users.sourceforge.net>
+-
+-      * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
+-
+-      * ctrl_c.c (__gnat_int_handler): Remove declaration.
+-
+-      * decl.c (creat_concat_name):  Const-ify prefix.
+-
+-      * adaint.c: Include ctype.h if __MINGW32__.
+-      (__gnat_readlink): Mark arguments as possibly unused.
+-      (__gnat_symlink): Likewise.
+-      (__gnat_is_symbolic_link): Likewise.
+-      (__gnat_portable_spawn): Likewise.  Cast last arg of spawnvp to match
+-      declaration
+-      (__gnat_file_time_name): Don't declare struct stat statbuf when
+-      not needed.
+-      (__gnat_is_absolute_path): Add parenthesis around condition of
+-      'if' statement to avoid warning.
+-      (__gnat_plist_init): Specify void as parameter.
+-      (plist_enter): Likewise.
+-      (plist_leave): Likewise.
+-      (remove_handle): Make static. Initialize prev.
+-
+-2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      PR ada/10110
+-      * Makefile.in: Disable build of gnatpsta.
+-      * cstreams.c (__gnat_full_name): Minor improvements and clean up
+-      of previous change.
+-
+-2003-10-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+-
+-      * tracebak.c (MAX): Avoid redefinition warning.
+-
+-      * init.c [sgi] (__gnat_error_handler): Remove i, unused.
+-      Change msg to const char *.
+-      (__gnat_install_handler): Remove ss, unused.
+-      [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
+-      to const char *.
+-      * cstreams.c (__gnat_full_name): Declare p only when used.
+-      (__gnat_full_name) [sgi] Return buffer.
+-
+-2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * mingw32.h: New file.
+-      * gnat_wrapper.adb: New file.
+-
+-2003-10-22  Jerome Roussel  <roussel@act-europe.fr>
+-
+-      * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
+-      string match a pre compiled regular expression (the corresponding
+-      version of the function working on a raw regular expression)
+-      Fix typos in various comments
+-      Update copyright notice in spec
+-
+-2003-10-21  Gary Dismukes  <dismukes@gnat.com>
+-
+-      * exp_ch3.adb:
+-      (Component_Needs_Simple_Initialization): Return False when the type is a
+-      packed bit array. Revise spec comments to document this case.
+-
+-      * exp_prag.adb:
+-      (Expand_Pragma_Import): Set any expression on the imported object to
+-      empty to avoid initializing imported objects (in particular this
+-      covers the case of zero-initialization of bit arrays).
+-      Update copyright notice.
+-
+-2003-10-21  Ed Schonberg  <schonberg@gnat.com>
+-
+-      * sem_ch12.adb:
+-      (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
+-      a subunit is missing.
+-      (Instantiate_Subprogram_Body): If body of function is missing, set type
+-      of return expression explicitly in dummy body, to prevent cascaded
+-      errors when a subunit is missing.
+-      Fixes PR 5677.
+-
+-      * sem_ch3.adb:
+-      (Access_Subprogram_Declaration): Verify that return type is valid.
+-      Fixes PR 8693.
+-
+-      * sem_elab.adb:
+-      (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
+-      generic.
+-      Fixes PR 12318.
+-
+-      * sem_util.adb:
+-      (Corresponding_Discriminant): If the scope of the discriminant is a
+-      private type without discriminant, use its full view.
+-      Fixes PR 8247.
+-
+-2003-10-21  Arnaud Charlet  <charlet@act-europe.fr>
+-
+-      * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
+-      3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
+-      3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
+-      55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
+-      56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
+-      59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
+-      5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
+-      5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
+-      5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
+-      5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
+-      5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
+-      5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
+-      5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
+-      5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
+-      7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
+-      a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
+-      a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
+-      a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
+-      bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
+-      erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
+-      err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
+-      g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
+-      g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
+-      g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
+-      g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
+-      g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
+-      g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
+-      gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
+-      g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
+-      g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
+-      i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
+-      prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
+-      prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
+-      s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
+-      s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
+-      s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
+-      s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
+-      s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
+-      s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
+-      s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
+-      s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
+-      socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
+-      s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
+-      s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
+-      s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
+-      styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
+-      s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
+-      tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
+-      vms_conv.ads, vms_conv.adb, vms_data.ads,
+-      vxaddr2line.adb: Files added. Merge with ACT tree.
+-
+-      * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
+-      5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
+-      5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
+-      5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
+-      g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
+-      s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
+-      s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
+-      s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
+-      s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
+-      s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
+-
+-      * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
+-      3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
+-      3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
+-      3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
+-      4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
+-      4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
+-      4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
+-      4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
+-      51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
+-      53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
+-      5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
+-      5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
+-      5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
+-      5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
+-      5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
+-      5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
+-      5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
+-      5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
+-      5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
+-      5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
+-      5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
+-      5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
+-      5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
+-      5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
+-      5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
+-      5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
+-      5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
+-      5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
+-      5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
+-      5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
+-      5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
+-      5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
+-      5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
+-      5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
+-      6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
+-      7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
+-      7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
+-      a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
+-      a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
+-      a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
+-      a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
+-      a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
+-      ali.adb, ali.ads, ali-util.adb, ali-util.ads,
+-      a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
+-      a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
+-      a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
+-      a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
+-      a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
+-      a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
+-      a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
+-      a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
+-      a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
+-      a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
+-      a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
+-      a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
+-      atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
+-      a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
+-      a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
+-      bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
+-      checks.adb, checks.ads, cio.c, comperr.adb,
+-      comperr.ads, csets.adb, cstand.adb, cstreams.c,
+-      debug_a.adb, debug_a.ads, debug.adb, decl.c,
+-      einfo.adb, einfo.ads, errout.adb, errout.ads,
+-      eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
+-      expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
+-      exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
+-      exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
+-      exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
+-      exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
+-      exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
+-      exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
+-      exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
+-      fe.h, fmap.adb, fmap.ads, fname.adb,
+-      fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
+-      freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
+-      g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
+-      g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
+-      g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
+-      g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
+-      g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
+-      g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
+-      g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
+-      g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
+-      g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
+-      g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
+-      g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
+-      g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
+-      gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
+-      gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
+-      gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
+-      gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
+-      gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
+-      g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
+-      g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
+-      g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
+-      g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
+-      g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
+-      g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
+-      g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
+-      g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
+-      i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
+-      i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
+-      inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
+-      itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
+-      layout.adb, lib.adb, lib.ads, lib-list.adb,
+-      lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
+-      lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
+-      link.c, live.adb, make.adb, make.ads,
+-      Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
+-      mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
+-      mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
+-      misc.c, mkdir.c, mlib.adb, mlib.ads,
+-      mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
+-      mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
+-      namet.adb, namet.ads, namet.h, nlists.ads,
+-      nlists.h, nmake.adt, opt.adb, opt.ads,
+-      osint.adb, osint.ads, osint-b.adb, osint-c.adb,
+-      par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
+-      par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
+-      par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
+-      par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
+-      prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
+-      prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
+-      prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
+-      prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
+-      prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
+-      prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
+-      prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
+-      prj-util.adb, prj-util.ads, raise.c, raise.h,
+-      repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
+-      rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
+-      s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
+-      s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
+-      scans.ads, scn.adb, scn.ads, s-crc32.adb,
+-      s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
+-      sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
+-      sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
+-      sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
+-      sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
+-      sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
+-      sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
+-      sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
+-      sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
+-      sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
+-      sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
+-      sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
+-      s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
+-      s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
+-      s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
+-      s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
+-      s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
+-      s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
+-      s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
+-      sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
+-      sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
+-      sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
+-      s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
+-      s-memory.adb, s-memory.ads, snames.adb, snames.ads,
+-      snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
+-      s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
+-      s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
+-      s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
+-      s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
+-      s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
+-      s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
+-      s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
+-      s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
+-      s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
+-      s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
+-      s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
+-      s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
+-      s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
+-      s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
+-      s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
+-      s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
+-      stringt.adb, stringt.ads, stringt.h, style.ads,
+-      stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
+-      s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
+-      s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
+-      switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
+-      s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
+-      table.adb, table.ads, targparm.adb, targparm.ads,
+-      targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
+-      trans.c, tree_io.adb, treepr.adb, treeprs.adt,
+-      ttypes.ads, types.ads, types.h, uintp.adb,
+-      uintp.ads, uintp.h, uname.adb, urealp.adb,
+-      urealp.ads, urealp.h, usage.adb, utils2.c,
+-      utils.c, validsw.adb, validsw.ads, widechar.adb,
+-      xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
+-      xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
+-      einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
+-      gnatvsn.ads: Merge with ACT tree.
+-
+-      * gnatvsn.adb: Rewritten in a simpler and more efficient way.
+-
+-2003-10-20  Mark Mitchell  <mark@codesourcery.com>
+-
+-      * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
+-      (gnat_ug_vmx.info): Likewise.
+-      (gnat_ug_vxw.info): Likewise.
+-      (gnat_ug_wnt.info): Likewise.
+-      (gnat_rm.info): Likewise.
+-      (gnat-style.info): Likewise.
+-
+-      * Make-lang.in (ada.install-info): Remove target.
+-      (info): New target.
+-      (install-info): Likewise.
+-      (gnat_ug_unx.info): Simplify rule.
+-      (gnat_ug_vmx.info): Likewise.
+-      (gnat_ug_vxw.info): Likewise.
+-      (gnat_ug_wnt.info): Likewise.
+-      (gnat_rm.info): Likewise.
+-      (gnat-style.info): Likewise.
+-
+-2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
+-
+-      * Make-lang.in: Replace uses of $(target_alias) with
+-      $(target_noncanonical).
+-      * ada/Makefile.in: Remove unused mention of $(target_alias).
+-
+-2003-10-06  Mark Mitchell  <mark@codesourcery.com>
+-
+-      * Make-lang.in (ada.info): Replace with ...
+-      (info): ... this.
+-      (ada.dvi): Replace with ...
+-      (dvi): ... this.
+-
+-2003-09-29  Zack Weinberg  <zack@codesourcery.com>
+-
+-      * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
+-      initialize dconstp5 and dconstmp5.
+-
+-2003-09-28  Richard Henderson  <rth@redhat.com>
+-
+-      * trans.c (tree_transform): Update call to expand_asm_operands.
+-
+-2003-09-21  Richard Henderson  <rth@redhat.com>
+-
+-      * trans.c, utils.c: Revert.
+-
+-2003-09-21  Richard Henderson  <rth@redhat.com>
+-
+-      * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
+-      change to const.
+-
+-2003-09-04  Michael Matz  <matz@suse.de>
+-
+-      * misc.c: Include "target.h".
+-      * Make-lang.in (misc.o): Add dependency on target.h.
+-
+-2003-09-03  DJ Delorie  <dj@redhat.com>
+-
+-      * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
+-      hook.
+-
+-2003-08-30  Zack Weinberg  <zack@codesourcery.com>
+-
+-      * Makefile.in: Update substitutions to match changes to
+-      configure.  Use include directives instead of @-insertions
+-      to read in host and target fragments.  Add a rule to
+-      regenerate ada/Makefile.
+-
+-2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
+-
+-      * lang-options.h: Remove.
+-      * lang.opt: Add help text.
+-
+-2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
+-
+-      * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
+-      calls.
+-
+-2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
+-
+-      * misc.c (gnat_handle_option): Don't handle filenames.
+-
+-2003-07-04  H.J. Lu  <hongjiu.lu@intel.com>
+-
+-      * Make-lang.in: Replace PWD with PWD_COMMAND.
+-      * Makefile.adalib: Likewise.
+-      * Makefile.in: Likewise.
+-
+-2003-07-04  Matt Kraai  <kraai@alumni.cmu.edu>
+-
+-      * misc.c (gnat_argv): Revert last change.
+-      (gnat_handle_option, gnat_init_options): Copy arguments.
+-
+-2003-07-03  Neil Booth  <neil@daikokuya.co.uk>
+-
+-      * misc.c (gnat_argv): Make const.
+-
+-2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
+-
+-      * misc.c (save_argc, save_argv): Keep non-static!
+-
+-2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
+-
+-      * misc.c (save_argc, save_argv): Make static.
+-      (gnat_init_options): New prototype.
+-      (gnat_init_options): Update.
+-
+-2003-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
+-
+-      * gnat_ug.texi: Remove unlikely characters from @vars.
+-      * gnat_ug_vms.texi: Regenerate.
+-
+-2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
+-
+-      * misc.c (record_code_position): Adjust emit_note call.
+-
+-2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
+-
+-      * misc.c (gnat_handle_option): Don't check for missing arguments.
+-
+-2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
+-
+-      * utils.c (end_subprog_body): Adjust expand_function_end call.
+-
+-2003-06-16  Matt Kraai  <kraai@alumni.cmu.edu>
+-
+-      * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
+-      Bind_Main_Program.
+-
+-2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
+-
+-      * lang.opt: Declare Ada.
+-      * misc.c (gnat_init_options): Update.
+-
+-2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
+-
+-      * utils.c (begin_subprog_body): Adjust init_function_start call.
+-
+-2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
+-
+-      * Make-lang.in: Update to use options.c and options.h.
+-      * misc.c: Include options.h not aoptions.h.
+-      (gnat_handle_option): Abort on unrecognized switch.
+-      (gnat_init_options): Request Ada switches.
+-
+-2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
+-
+-      * lang.opt: Add -Wall.
+-      * misc.c (gnat_handle_option): Handle it.
+-
+-2003-06-12  Neil Booth  <neil@daikokuya.co.uk>
+-
+-      * misc.c (gnat_handle_option): Fix warnings.
+-
+-2003-06-11  Matt Kraai  <kraai@alumni.cmu.edu>
+-
+-      * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
+-
+-2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
+-
+-      * Make-lang.in: Update to handle command-line options.
+-      * lang.opt: New file.
+-      * misc.c: Include aoptions.h.
+-      (cl_options_count, cl_options): Remove.
+-      (gnat_handle_option): New.
+-      (gnat_decode_option): Remove.
+-      (LANG_HOOKS_DECODE_OPTION): Remove.
+-      (LANG_HOOKS_HANDLE_OPTION): Override.
+-
+-2003-06-10  Nathanael Nerode  <neroden@gcc.gnu.org>
+-
+-      * init.c, misc.c, trans.c, utils.c: Remove dead code.
+-
+-2003-06-09  Nathanael Nerode  <neroden@gcc.gnu.org>
+-
+-      * Makefile.in: Replace "host_canonical" with "host" for autoconf
+-      substitution.
+-
+-2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
+-
+-      * Make-lang.in: Update.
+-      * misc.c: Include opts.h. Define cl_options_count and cl_options.
+-
+-2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
+-
+-      * misc.c (gnat_init_options): Update.
+-
+-2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
+-
+-      * Make-lang.in (ada/b_gnatb.o-warn): Remove.
+-      * bindgen.adb (Gen_Main_C): Mark ensure_reference with
+-      __attribute__ ((__unused__)).
+-
+-2003-06-05  Jan Hubicka  <jh@suse.cz>
+-
+-      * Make-lang.in:  Add support for stageprofile and stagefeedback
+-
+-2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
+-
+-      * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
+-      (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
+-
+-2003-06-04  Matt Kraai  <kraai@alumni.cmu.edu>
+-
+-      * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
+-      Remove non-VMS directive.
+-      (Switches for gnatlbr, Optimization Levels): Remove non-VMS
+-      alternatives.
+-      (Examples of gnatls Usage): Remove VMS alternative.
+-
+-2003-06-04  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      PR ada/9953
+-      * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
+-      and turn ZCX_By_Default back to False since the underlying support
+-      is not quite there yet.
+-
+-2003-06-01  Andreas Jaeger  <aj@suse.de>
+-
+-      * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
+-      and ROUND_TYPE_SIZE_UNIT.
+-
+-2003-05-22   Geert Bosch  <bosch@gnat.com>
+-
+-      * gnat_rm.texi : Remove reference to Ada Core Technologies.
+-
+-2003-05-03  Nathan Sidwell  <nathan@codesourcery.com>
+-
+-      * trans.c (tree_transform): Use location_t and input_location
+-      directly.
+-      (build_unit_elab): Likewise.
+-      * utils.c (create_label_decl): Likewise.
+-
+-2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
+-
+-      * trans.c (tree_transform, build_unit_elab,
+-      set_lineno): Rename lineno to input_line.
+-      * utils.c (pushdecl, create_label_decl, begin_subprog_body,
+-      end_subprog_body): Likewise.
+-      * utils2.c (build_call_raise): Likewise.
+-
+-2003-05-01  Laurent Guerby  <guerby@acm.org>
+-
+-      PR ada/10546
+-      * 5iosinte.ads: Increase pthread_cond_t size to match recent
+-      LinuxThread and NPTL version, merge from ACT.
+-
+-2003-04-28  Zack Weinberg  <zack@codesourcery.com>
+-
+-      * utils.c (convert): No need to clear TREE_CST_RTL.
+-
+-2003-04-23   Geert Bosch  <bosch@gnat.com>
+-
+-      * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
+-      1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
+-      3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
+-      3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
+-      3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
+-      4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
+-      4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
+-      4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
+-      4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
+-      4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
+-      4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
+-      4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
+-      52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
+-      5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
+-      5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
+-      5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
+-      5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
+-      5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
+-      5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
+-      5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
+-      5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
+-      5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
+-      5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
+-      5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
+-      5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
+-      5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
+-      5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
+-      5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
+-      5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
+-      5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
+-      5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
+-      5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
+-      5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
+-      5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
+-      5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
+-      5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
+-      5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
+-      5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
+-      5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
+-      5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
+-      5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
+-      5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
+-      5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
+-      5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
+-      6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
+-      7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
+-      7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
+-      9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
+-      a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
+-      a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
+-      a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
+-      a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
+-      a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
+-      a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
+-      a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
+-      a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
+-      a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
+-      a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
+-      a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
+-      a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
+-      a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
+-      a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
+-      a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
+-      a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
+-      a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
+-      a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
+-      a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
+-      a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
+-      a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
+-      a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
+-      a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
+-      a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
+-      a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
+-      a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
+-      a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
+-      a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
+-      a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
+-      a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
+-      a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
+-      a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
+-      a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
+-      a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
+-      a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
+-      a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
+-      a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
+-      a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
+-      a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
+-      a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
+-      a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
+-      a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
+-      a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
+-      a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
+-      a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
+-      a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
+-      a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
+-      a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
+-      a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
+-      a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
+-      a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
+-      a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
+-      a-wttest.ads, ada-tree.h, ada.ads, ada.h,
+-      adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
+-      ali.adb, ali.ads, alloc.ads, argv.c,
+-      atree.adb, atree.ads, atree.h, aux-io.c,
+-      back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
+-      binde.adb, binde.ads, binderr.adb, binderr.ads,
+-      bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
+-      butil.adb, butil.ads, cal.c, calendar.ads,
+-      casing.adb, casing.ads, ceinfo.adb, checks.adb,
+-      checks.ads, cio.c, comperr.adb, comperr.ads,
+-      config-lang.in, csets.adb, csets.ads, csinfo.adb,
+-      cstand.adb, cstand.ads, cuintp.c, debug.adb,
+-      debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
+-      dec-io.ads, dec.ads, deftarg.c, directio.ads,
+-      einfo.adb, einfo.ads, elists.adb, elists.ads,
+-      elists.h, errno.c, errout.adb, errout.ads,
+-      eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
+-      exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
+-      exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
+-      exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
+-      exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
+-      exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
+-      exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
+-      exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
+-      exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
+-      exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
+-      exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
+-      exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
+-      exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
+-      exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
+-      exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
+-      fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
+-      fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
+-      freeze.adb, freeze.ads, frontend.adb, frontend.ads,
+-      g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
+-      g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
+-      g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
+-      g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
+-      g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
+-      g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
+-      g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
+-      g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
+-      g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
+-      g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
+-      g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
+-      g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
+-      g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
+-      g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
+-      g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
+-      g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
+-      g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
+-      g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
+-      g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
+-      g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
+-      g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
+-      g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
+-      get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
+-      gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
+-      gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
+-      gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
+-      gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
+-      gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
+-      gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
+-      gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
+-      hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
+-      i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
+-      i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
+-      i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
+-      i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
+-      i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
+-      i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
+-      inline.adb, inline.ads, interfac.ads, ioexcept.ads,
+-      itypes.adb, itypes.ads, krunch.adb, krunch.ads,
+-      layout.adb, layout.ads, lib-list.adb, lib-load.adb,
+-      lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
+-      lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
+-      lib.adb, lib.ads, live.adb, live.ads,
+-      machcode.ads, make.adb, make.ads, makeusg.adb,
+-      makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
+-      mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
+-      memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
+-      mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
+-      mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
+-      mlib.ads, namet.adb, namet.ads, nlists.adb,
+-      nlists.ads, opt.adb, opt.ads, osint-b.adb,
+-      osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
+-      osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
+-      osint.ads, output.adb, output.ads, par-ch10.adb,
+-      par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
+-      par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
+-      par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
+-      par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
+-      par-tchk.adb, par-util.adb, par.adb, par.ads,
+-      prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
+-      prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
+-      prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
+-      prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
+-      prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
+-      prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
+-      prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
+-      prj.adb, prj.ads, repinfo.adb, repinfo.ads,
+-      restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
+-      rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
+-      s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
+-      s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
+-      s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
+-      s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
+-      s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
+-      s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
+-      s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
+-      s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
+-      s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
+-      s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
+-      s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
+-      s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
+-      s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
+-      s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
+-      s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
+-      s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
+-      s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
+-      s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
+-      s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
+-      s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
+-      s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
+-      s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
+-      s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
+-      s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
+-      s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
+-      s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
+-      s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
+-      s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
+-      s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
+-      s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
+-      s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
+-      s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
+-      s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
+-      s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
+-      s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
+-      s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
+-      s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
+-      s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
+-      s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
+-      s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
+-      s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
+-      s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
+-      s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
+-      s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
+-      s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
+-      s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
+-      s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
+-      s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
+-      s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
+-      s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
+-      s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
+-      s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
+-      s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
+-      s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
+-      s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
+-      s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
+-      s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
+-      s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
+-      s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
+-      s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
+-      s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
+-      s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
+-      s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
+-      s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
+-      s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
+-      s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
+-      s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
+-      s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
+-      s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
+-      s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
+-      s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
+-      s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
+-      s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
+-      s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
+-      s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
+-      s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
+-      s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
+-      s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
+-      s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
+-      s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
+-      s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
+-      s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
+-      s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
+-      s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
+-      s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
+-      s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
+-      s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
+-      s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
+-      s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
+-      s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
+-      s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
+-      s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
+-      s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
+-      scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
+-      sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
+-      sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
+-      sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
+-      sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
+-      sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
+-      sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
+-      sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
+-      sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
+-      sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
+-      sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
+-      sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
+-      sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
+-      sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
+-      sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
+-      sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
+-      sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
+-      sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
+-      sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
+-      sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
+-      sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
+-      snames.ads, sprint.adb, sprint.ads, stand.adb,
+-      stand.ads, stringt.adb, stringt.ads, style.adb,
+-      style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
+-      switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
+-      switch-m.ads, switch.adb, switch.ads, system.ads,
+-      table.adb, table.ads, targparm.adb, targparm.ads,
+-      tbuild.adb, tbuild.ads, text_io.ads, trans.c,
+-      tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
+-      tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
+-      ttypef.ads, ttypes.ads, types.adb, types.ads,
+-      uintp.adb, uintp.ads, uname.adb, uname.ads,
+-      unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
+-      usage.adb, usage.ads, validsw.adb, validsw.ads,
+-      widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
+-      xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
+-      xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
+-      formatting and other trivial changes from ACT.
+-
+-2003-04-12  Zack Weinberg  <zack@codesourcery.com>
+-
+-      * gigi.h, utils2.c (build_constructor):
+-      Rename gnat_build_constructor. Use build_constructor.
+-      * decl.c (gnat_to_gnu_entity)
+-      * trans.c (tree_transform, pos_to_constructor, extract_values)
+-      * ada/utils.c (build_template, convert_to_fat_pointer, convert)
+-      (unchecked_convert)
+-      * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
+-      (fill_vms_descriptor):
+-      Update to match.
+-
+-2003-04-06  Zack Weinberg  <zack@codesourcery.com>
+-
+-      * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
+-      * misc.c (gnat_tree_size): New function.
+-      (LANG_HOOKS_TREE_SIZE): Override.
+-
+-2003-04-03  Jason Merrill  <jason@redhat.com>
+-
+-      * misc.c (gnat_adjust_rli): #if 0.
+-
+-2003-03-31   Geert Bosch  <bosch@gnat.com>
+-
+-      PR ada/10020
+-      * link.c : Fix misspelled "const" keyword
+-
+-2003-03-23  Mark Mitchell  <mark@codesourcery.com>
+-
+-      PR c++/7086
+-      * utils2.c: Adjust calls to put_var_into_stack.
+-
+-2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
+-
+-      * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
+-
+-2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
+-
+-      * misc.c (gnat_init): Update for new prototype.
+-
+-2003-03-05  Olivier Hainque  <hainque@gnat.com>
+-
+-      ada/9961
+-      * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
+-      warning, and fix return type for the IN_RTS && !SJLJ case.
+-
+-2003-03-04  Tom Tromey  <tromey@redhat.com>
+-
+-      * Make-lang.in (ada.tags): New target.
+-
+-2003-03-04  Olivier Hainque  <hainque@act-europe.fr>
+-
+-      ada/9911
+-      * a-except.adb (Unwind_RaiseException): Import a GNAT specific
+-      wrapper, which name remains constant whatever underlying GCC
+-      scheme.
+-
+-      * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
+-      the stable interface needed for a-except.
+-
+-2003-03-02  Andreas Jaeger  <aj@suse.de>
+-
+-      * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+-      gnat_ug_wnt.texi: Regenerate.
+-
+-2003-03-02  Laurent Guerby  <guerby@acm.org>
+-
+-      * Makefile.in (install-gnatlib): Match previous change there
+-      so it works.
+-
+-2003-02-28  Andreas Schwab  <schwab@suse.de>
+-
+-      * Make-lang.in (install-gnatlib): Change to ada directory before
+-      running make instead of using ada/Makefile directly.
+-
+-2003-02-18  Ben Elliston  <bje@redhat.com>
+-
+-      Part of PR ada/9406
+-      * gnat_ug.texi (Binder output file): Grammar fix.
+-
+-2003-02-18  Ben Elliston  <bje@redhat.com>
+-
+-      PR other/7350
+-      * 5qtaprop.adb (Sleep): Fix typo in comment.
+-
+-2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
+-
+-      * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
+-      * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+-      gnat_ug_wnt.texi: Regenerate.
+-
+-2003-02-03  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
+-
+-      * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
+-      be created if necessary.
+-      (ada.install-common): Let $(DESTDIR)$(bindir) be created
+-      if necessary.  Remove erroneous and redundant gnatchop
+-      installation commands.  Test for gnatdll before attempting
+-      to install it.
+-      (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
+-      and gnatdll from all plausible locations.
+-
+-2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
+-
+-      * utils2.c (build_unary_op): Don't check flag_volatile.
+-      * gnat_ug.texi: Remove -fvolatile from example.
+-      * gnat_ug_vxw.texi: Likewise.
+-
+-2003-01-29  Laurent Guerby  <guerby@acm.org>
+-
+-      PR ada/8344
+-      * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
+-      * Makefile.in: match previous change.
+-      * Make-lang.in: match previous change.
+-
+-2003-01-29  Joel Sherrill  <joel@OARcorp.com>
+-
+-      * 5rosinte.ads: Add SIGXCPU.
+-      * 5rtpopsp.adb: New file.
+-      * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
+-      * Makefile.in: Recognize more RTEMS targets and add the RTEMS
+-      specific file 5rtpopsp.adb.
+-      * adaint.h: Add include of <stdio.h> when target is RTEMS.  This
+-      is likely needed for all newlib targets.
+-      * init.c: Add RTEMS specific version of __gnat_initialize().
+-
+-2003-01-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+-
+-      * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
+-
+-2003-01-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+-
+-      * init.c (__gnat_error_handler): Make msg const.
+-
+-      * gmem.c (convert_addresses): Move declaration ...
+-      * adaint.h: ... here.
+-      * adaint.c (convert_addresses): Adapt addrs type to match
+-      prototype.
+-
+-      * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
+-
+-2003-01-24  Andreas Schwab  <schwab@suse.de>
+-
+-      * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
+-      size_t to avoid warning.
+-
+-2003-01-21  Zack Weinberg  <zack@codesourcery.com>
+-
+-      * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
+-
+-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
+-
+-      * gnat_rm.texi: Remove RCS version number.
+-
+-      * ada-tree.h (union lang_tree_node): Add chain_next option.
+-
+-2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
+-
+-      * Make-lang.in (ada.install-info, ada.install-common,
+-      ada.uninstall): Prepend $(DESTDIR) to the destination
+-      directory in all (un)installation commands.
+-      * Makefile.in (install-gnatlib, install-rts): Ditto.
+-
+-2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
+-
+-      * gnat_rm.texi, gnat_ug.texi: Use @copying.
+-      * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+-      gnat_ug_wnt.texi: Regenerate.
+-
+-2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
+-
+-      * gnat_rm.texi: Include gcc-common.texi.  Use GCC version number
+-      only.
+-      * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
+-      $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
+-      $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
+-      ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
+-      ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
+-      $(srcdir)/doc/include/gcc-common.texi.
+-
+-2002-12-15   Geert Bosch  <bosch@gnat.com>
+-
+-      * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
+-
+-2002-12-14   Geert Bosch  <bosch@gnat.com>
+-
+-      PR ada/5690
+-      * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
+-      case of a body created for a Renaming_As_Body, on which
+-      conformance checks are not performed.
+-
+-2002-11-30  Zack Weinberg  <zack@codesourcery.com>
+-
+-      * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
+-      utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
+-      not already included.
+-      * Make-lang.in: Update dependencies.
+-
+-2002-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
+-      * adaint.c (__gnat_tmp_name): Better, but good enough for now,
+-      solution to buffer overflow bug on GNU/Linux.
+-
+-2002-11-14  Nathanael Nerode  <neroden@gcc.gnu.org>
+-
+-      PR ada/5856
+-      PR ada/6919
+-      * bindgen.adb: Remove all references to Public_Version.
+-      * comperr.adb: Remove all references to Public_Version and
+-      GNATPRO_Version; correct bug reporting instructions.
+-      * comperr.ads: Change to match bug box.
+-      * gnatvsn.ads: Remove all references to Public version and
+-      GNATPRO version.
+-
+-2002-11-13  Nathanael Nerode  <neroden@gcc.gnu.org>
+-
+-      PR ada/6919
+-      * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
+-      GNU/Linux.
+-
+-      PR ada/6558
+-      * config-lang.in: Remove diff_excludes.
+-
+-2002-11-05  Graham Stott  <graham.stott@btinternet.com>
+-
+-      PR ada/8358
+-      * trans.c (gnu_pending_elaboration_lists): New GC root.
+-      (build_unit_elab): Use..
+-
+-2002-10-30   Geert Bosch  <bosch@gnat.com>
+-
+-      PR ada/6558
+-      * misc.c : Include optabs.h
+-
+-      * Make-lang.in (misc.o): Add dependency on optabs.h
+-
+-2002-10-29   Geert Bosch  <bosch@gnat.com>
+-
+-      PR ada/6558
+-      * Make-lang.in (gnatbind): Depend on CONFIG_H
+-
+-2002-10-29  Geert bosch  <bosch@gnat.com>
+-
+-      PR ada/6558
+-      * misc.c: Unrevert misc.c (1.13)
+-
+-2002-10-28  Nathanael Nerode  <neroden@gcc.gnu.org>
+-
+-      * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
+-      maintainership comments.
+-
+-2002-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
+-
+-      PR ada/5904
+-      * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
+-      5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
+-      5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
+-      7staprop.adb: Correct statements in comments about
+-      maintainership of GNAT.
+-
+-      PR ada/5904
+-      * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
+-      gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
+-      osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
+-      osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
+-      s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
+-      s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
+-      sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
+-      switch-c.ads switch-m.adb switch-m.ads: Correct statements in
+-      comments about maintainership of GNAT.
+-
+-      PR ada/6919 (forward port of patch for PR ada/5904)
+-      * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
+-      4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
+-      4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
+-      4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
+-      4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
+-      4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
+-      4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
+-      52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
+-      5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
+-      5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
+-      5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
+-      5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
+-      5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
+-      5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
+-      5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
+-      5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
+-      5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
+-      5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
+-      5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
+-      5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
+-      5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
+-      5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
+-      5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
+-      5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
+-      5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
+-      5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
+-      5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
+-      5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
+-      7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
+-      a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
+-      a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
+-      a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
+-      a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
+-      a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
+-      a-except.adb a-except.ads a-excpol.adb a-exctra.adb
+-      a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
+-      a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
+-      a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
+-      a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
+-      a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
+-      a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
+-      a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
+-      a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
+-      a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
+-      a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
+-      a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
+-      a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
+-      a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
+-      a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
+-      a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
+-      a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
+-      a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
+-      a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
+-      a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
+-      a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
+-      a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
+-      a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
+-      a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
+-      a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
+-      a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
+-      a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
+-      a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
+-      a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
+-      a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
+-      a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
+-      a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
+-      a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
+-      a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
+-      adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
+-      alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
+-      back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
+-      binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
+-      bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
+-      ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
+-      csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
+-      cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
+-      debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
+-      einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
+-      errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
+-      exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
+-      exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
+-      exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
+-      exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
+-      exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
+-      exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
+-      exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
+-      exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
+-      exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
+-      exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
+-      exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
+-      exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
+-      exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
+-      final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
+-      fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
+-      freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
+-      g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
+-      g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
+-      gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
+-      gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
+-      gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
+-      gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
+-      gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
+-      gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
+-      i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
+-      i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
+-      i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
+-      i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
+-      impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
+-      itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
+-      lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
+-      lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
+-      lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
+-      lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
+-      makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
+-      namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
+-      nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
+-      osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
+-      par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
+-      par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
+-      par-endh.adb par-labl.adb par-load.adb par-prag.adb
+-      par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
+-      prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
+-      prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
+-      prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
+-      prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
+-      prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
+-      prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
+-      repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
+-      rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
+-      s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
+-      s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
+-      s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
+-      s-direio.adb s-direio.ads s-except.ads s-exctab.adb
+-      s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
+-      s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
+-      s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
+-      s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
+-      s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
+-      s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
+-      s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
+-      s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
+-      s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
+-      s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
+-      s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
+-      s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
+-      s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
+-      s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
+-      s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
+-      s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
+-      s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
+-      s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
+-      s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
+-      s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
+-      s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
+-      s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
+-      s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
+-      s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
+-      s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
+-      s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
+-      s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
+-      s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
+-      s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
+-      s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
+-      s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
+-      s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
+-      s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
+-      s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
+-      s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
+-      s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
+-      s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
+-      s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
+-      s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
+-      s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
+-      s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
+-      s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
+-      s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
+-      s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
+-      s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
+-      s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
+-      s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
+-      s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
+-      s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
+-      s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
+-      s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
+-      s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
+-      s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
+-      s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
+-      s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
+-      s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
+-      s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
+-      s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
+-      s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
+-      s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
+-      s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
+-      s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
+-      s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
+-      s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
+-      s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
+-      s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
+-      s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
+-      s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
+-      s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
+-      s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
+-      s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
+-      s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
+-      s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
+-      s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
+-      s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
+-      s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
+-      s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
+-      s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
+-      scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
+-      sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
+-      sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
+-      sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
+-      sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
+-      sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
+-      sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
+-      sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
+-      sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
+-      sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
+-      sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
+-      sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
+-      sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
+-      sem_type.adb sem_type.ads sem_util.adb sem_util.ads
+-      sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
+-      sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
+-      sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
+-      sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
+-      snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
+-      stringt.ads stringt.h style.adb style.ads stylesw.adb
+-      stylesw.ads switch.adb switch.ads sysdep.c system.ads
+-      table.adb table.ads targparm.adb targparm.ads targtyps.c
+-      tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
+-      tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
+-      treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
+-      types.adb types.ads types.h uintp.adb uintp.ads uintp.h
+-      uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
+-      usage.ads utils.c utils2.c validsw.adb validsw.ads
+-      widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
+-      xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
+-      xtreeprs.adb: Correct statements in comments about maintainership
+-      of GNAT.
+-
+-2002-09-23  Zack Weinberg  <zack@codesourcery.com>
+-
+-      * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
+-      * Makefile.in (TOOLS_LIBS): Add ../../version.o.
+-      * gnatvsn.ads: Gnat_Version_String is now a function.
+-      * gnatvsn.adb: New file.  When asked for Gnat_Version_String,
+-      copy the C version_string into a String and return it.
+-      * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
+-      gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
+-      Remove pragma Ident (Gnat_Version_String).  If this was the
+-      sole use of package Gnatvsn, remove the with statement too.
+-      * gnat1drv.adb: Tweak -gnatv output.
+-
+-2002-09-17  Richard Henderson  <rth@redhat.com>
+-
+-      * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
+-      * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
+-      * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
+-      (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
+-      * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
+-      and real_2expN instead of a loop.
+-      * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
+-      (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
+-
+-2002-08-25  Andre Leis  <a.leis@gmx.net>
+-          David Billinghurst  <David.Billinghurst@riotinto.com>
+-
+-      * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
+-
+-2002-08-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+-
+-      * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
+-      Remove $(CONFIG_H) dependency.
+-
+-2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
+-
+-      * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
+-
+-2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+-
+-      * adadecode.c (ada_demangle): Use xstrdup in lieu of
+-      xmalloc/strcpy.
+-      * misc.c (gnat_decode_option): Likewise.
+-
+-2002-07-15  Florian Weimer  <fw@deneb.enyo.de>
+-
+-      * make.adb (Add_Switch): Make Generic_Position a procedure.  The
+-      function approach did not work well because of a side effect (the
+-      function call could reallocate the table which was being indexed
+-      using its result). Fixes ada/4851. [RESURRECTED]
+-
+-2002-07-01  Roger Sayle  <roger@eyesopen.com>
+-
+-      * ada/utils.c (builtin_function): Accept an additional parameter.
+-
+-2002-06-28  Andreas Jaeger  <aj@suse.de>
+-
+-      PR ada/7144
+-      * Makefile.in: Fix typo in comment, patch by Adrian Knoth
+-      <adi@thur.de>.
+-
+-2002-06-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+-
+-      * Makefile.in (SHELL): Set to @SHELL@.
+-
+-2002-06-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+-
+-      * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
+-      array size calculation.
+-
+-2002-06-04  Andreas Jaeger  <aj@suse.de>
+-
+-      * Make-lang.in (gnatbind): Readd rule that has been lost in last
+-      patch.
+-
+-2002-06-03  Geoffrey Keating  <geoffk@redhat.com>
+-
+-      Merge from pch-branch:
+-
+-      * config-lang.in (gtfiles): Add ada-tree.h.
+-      * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
+-      (SET_TYPE_MODULUS): New.
+-      (SET_TYPE_INDEX): New.
+-      (SET_TYPE_DIGITS_VALUE): New.
+-      (SET_TYPE_RM_SIZE): New.
+-      (SET_TYPE_UNCONSTRAINED_ARRAY): New.
+-      (SET_TYPE_ADA_SIZE): New.
+-      (SET_TYPE_ACTUAL_BOUNDS): New.
+-      (SET_DECL_CONST_CORRESPONDING_VAR): New.
+-      (SET_DECL_ORIGINAL_FIELD): New.
+-      (TREE_LOOP_ID): Correct typo.
+-      * decl.c: Use new macros.
+-      * utils.c: Include debug.h, use new macros.
+-      * utils2.c: Use new macros.
+-
+-      * ada-tree.h: Update all macros for new tree description.
+-      (struct tree_loop_id): New.
+-      (union lang_tree_node): New.
+-      (struct lang_decl): New.
+-      (struct lang_type): New.
+-      * misc.c (gnat_mark_tree): Delete.
+-      (LANG_HOOKS_MARK_TREE): Delete.
+-      * trans.c (tree_transform): No longer any need to cast
+-      for TREE_LOOP_ID.
+-
+-      * utils.c (struct language_function): New dummy structure.
+-
+-      * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
+-      (misc.o): Likewise.
+-      (utils.o): Likewise; also gtype-ada.h.
+-      * Make-lang.in (gnat1): Add dependency on s-gtype.
+-      (gnatbind): Add dependency on $(CONFIG_H).
+-      * utils.c: Correct last #include.
+-      (stuct e_stack): Remove unnecessary 'static'.
+-      (mark_e_stack): Remove unused prototype.
+-
+-      * scn-nlit.adb: Remove whitespace after version number to
+-      keep lines under 80 chars.
+-      * snames.adb: Likewise.
+-      * treepr.ads: Likewise.
+-
+-      * Makefile.in (decl.o): Include gt-ada-<filename>.h.
+-      (misc.o): Likewise.
+-      (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
+-      * config-lang.in (gtfiles): New.
+-      * decl.c: Use gengtype for roots.
+-      * gigi.h: Use gengtype for roots.
+-      * trans.c: Use gengtype for roots.
+-      * utils.c: Use gengtype for roots, marking.  Include gtype-ada.h.
+-
+-2002-06-02  Gabriel Dos Reis  <gdr@codesourcery.com>
+-
+-      * misc.c (gnat_init): Adjust setting of internal_error_function.
+-
+-2002-06-01  Joseph S. Myers  <jsm28@cam.ac.uk>
+-
+-      * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
+-      * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+-      gnat_ug_wnt.texi: Regenerate.
+-
+-2002-05-31  Florian Weimer  <fw@deneb.enyo.de>
+-
+-      * 5ntaprop.adb (with System.OS_Primitives): Remove.
+-
+-      * cstreams.c (max_path_len): Move from here ...
+-      * adaint.c (__gnat_max_path_len): ... to here.
+-      * adaint.c (__gnat_max_path_len): Declare.
+-      * g-dirope.adb (Max_Path): Adjust.
+-      * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
+-      * i-cstrea.ads (max_path_len): Adjust.
+-      * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
+-      * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
+-
+-      * Makefile.in, Make-lang.in: Documentation is now built in
+-      Make-lang.in.  Store Info and generated Texinfo files in the
+-      source directory.
+-      * gnat_ug.texi: Remove CVS keywords, correct version number.
+-      Set file name correctly.
+-
+-      * gnat_ug_*.texi: Add.
+-      * .cvsignore: Ignore generated Texinfo files.
+-
+-2002-05-30  Zack Weinberg  <zack@codesourcery.com>
+-
+-      * ada.h: Add MI guard macro.
+-      (SUBTYPE): Define constants with an anonymous enum, not static
+-      const variables.
+-      (IN): Cast constants to appropriate type before use.
+-
+-2002-05-26  Joseph S. Myers  <jsm28@cam.ac.uk>
+-
+-      * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
+-      (experimental)".
+-
+-2002-05-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+-
+-      * Make-lang.in (CP, ECHO): Copy from Makefile.in.
+-      (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
+-      (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
+-      (ALL_ADA_CFLAGS): Likewise.
+-      (ADA_INCLUDES): Likewise.
+-      Adapt for new working dir.
+-      (GNATBIND): Use Makefile.in version.
+-      (.SUFFIXES): Copy from Makefile.in.
+-      (ada-warn): Define.
+-      (.adb.o, .ads.o): Copy from Makefile.in.
+-      Added $(OUTPUT_OPTION).
+-      (GNAT1_C_OBJS): Moved from Makefile.in.
+-      Prefix with ada subdir.
+-      (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
+-      (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
+-      Adapt for new working dir.
+-      (EXTRA_GNATBIND_OBJS): Likewise.
+-      (ADA_BACKEND): Moved from Makefile.in.
+-      Renamed to avoid conflict with global BACKEND.
+-      Use that one.
+-      (TARGET_ADA_SRCS): Moved from Makefile.in.
+-      (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
+-      Use ADA_BACKEND.
+-      (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
+-      (ada_extra_files): Moved from Makefile.in.
+-      Prefix with ada subdir.
+-      (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
+-      (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
+-      (ada/nmake.ads): Likewise.
+-      (update-sources): Moved from Makefile.in.
+-      Prefix with ada subdir.
+-      (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
+-      (ADA_TREE_H): Likewise.
+-      (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
+-      (ada/memtrack.o): Likewise.
+-      (ada/adadecode.o): Likewise.
+-      Update dependencies.
+-      (ada/adaint.o): New.
+-      (ada/argv.o): Moved from Makefile.in.
+-      Prefix with ada subdir.
+-      Update dependencies.
+-      (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
+-      (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
+-      (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
+-      Prefix with ada subdir.
+-      (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
+-      (GNAT DEPENDENCIES): Regenerate.
+-      * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
+-      toplevel Makefile.in.
+-      (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
+-      (TARGET_ADA_SRCS): Removed.
+-      (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
+-      (GNATBIND_OBJS): Likewise.
+-      (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
+-      (BACKEND): Removed.
+-      (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
+-      (TREE_H): Likewise.
+-      (ada_extra_files): Likewise.
+-      (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
+-      (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
+-      (update-sources): Likewise.
+-      (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
+-      (ADA_TREE_H): Likewise.
+-      (adadecoce.o): Likewise.
+-      (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
+-      (GNAT DEPENDENCIES): Likewise.
+-
+-2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+-
+-      * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
+-      * Makefile.in: Likewise.
+-
+-2002-05-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+-
+-      * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
+-      Restore $(CONFIG_H) and prefix.o dependencies.
+-      (ada.stage[1-4]): Depend on stage?-start.
+-
+-      * Makefile.in (b_gnatb.c): Depend on interfac.o.
+-
+-2002-05-02  Jim Wilson  <wilson@redhat.com>
+-
+-      * utils.c (finish_record_type): Change record_size to record_type.
+-
+-2001-05-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+-
+-      * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
+-      (ALL_ADA_CFLAGS): Define.  Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
+-      ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
+-
+-2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
+-
+-      * misc.c (gnat_parse_file): Update.
+-
+-2002-04-24  Neil Booth  <neil@daikokuya.demon.co.uk>
+-
+-      * misc.c (gnat_init): Don't set lang_attribute_common.
+-
+-2002-04-21  Joseph S. Myers  <jsm28@cam.ac.uk>
+-
+-      * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
+-
+-2002-04-21  Florian Weimer  <fw@deneb.enyo.de>
+-
+-      * gnat_ug.texi: New file.
+-
+-      * gnat_rm.texi: Do not include texiplus.texi.  Include fdl.texi
+-      instead of gfdl.texi
+-
+-      * xgnatug.adb, ug_words: New files.
+-
+-      * Makefile.in (doc, dvi): New targets.  Build gnat_ug_*,
+-      gnat_rm and gnat-style manuals.
+-
+-2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
+-
+-      * gigi.h (incomplete_type_error): Remove.
+-      * utils.c (incomplete_type_error): Remove.
+-
+-2002-04-16  Mark Mitchell  <mark@codesourcery.com>
+-
+-      * trans.c (tree_transform): Add has_scope argument to
+-      expand_start_stmt_expr.
+-
+-2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
+-
+-      * gigi.h (truthvalue_conversion): Rename.
+-      * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
+-      * trans.c (tree_transform): Update.
+-      * utils2.c (truthvalue_conversion): Rename, update.
+-      (build_binary_op, build_unary_op): Update.
+-
+-2002-04-04  Laurent Guerby  <guerby@acm.org>
+-
+-      * make.adb: Implement -margs, remove restriction about file name placement.
+-      * makeusg.adb: Documentation update.
+-      * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
+-      * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
+-
+-2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
+-
+-      * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
+-      (builtin_function): Similarly.
+-
+-2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
+-
+-      * decl.c (gnat_to_gnu_entity): Update.
+-      * gigi.h (mark_addressable): Rename.
+-      * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
+-      * trans.c (tree_transform): Update.
+-      * utils.c (create_var_decl): Update.
+-      * util2.c (build_binary_op, build_unary_op,
+-      fill_vms_descriptor): Update.
+-      (mark_addressable): Rename, update.
+-
+-2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
+-
+-      * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
+-      Rename.
+-      * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
+-      LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
+-      * trans.c (tree_transform, convert_with_check): Update.
+-      * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
+-      Rename.
+-
+-2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
+-
+-      * gigi.h (finish_incomplete_decl): Rename.
+-      * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
+-      * utils.c (gnat_init_decl_processing): Don't set hook.
+-      (finish_incomplete_decl): Rename.
+-
+-2002-03-29  Andreas Schwab  <schwab@suse.de>
+-
+-      * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
+-      directory.
+-
+-2001-03-28  Robert Dewar  <dewar@gnat.com>
+-
+-      * checks.ads:
+-      (Remove_Checks): New procedure
+-
+-      * checks.adb:
+-      (Remove_Checks): New procedure
+-
+-      * exp_util.adb:
+-      Use new Duplicate_Subexpr functions
+-      (Duplicate_Subexpr_No_Checks): New procedure
+-      (Duplicate_Subexpr_No_Checks_Orig): New procedure
+-      (Duplicate_Subexpr): Restore original form (checks duplicated)
+-      (Duplicate_Subexpr): Call Remove_Checks
+-
+-      * exp_util.ads:
+-      (Duplicate_Subexpr_No_Checks): New procedure
+-      (Duplicate_Subexpr_No_Checks_Orig): New procedure
+-      Add 2002 to copyright notice
+-
+-      * sem_util.adb: Use new Duplicate_Subexpr functions
+-
+-      * sem_eval.adb:
+-      (Eval_Indexed_Component): This is the place to call
+-      Constant_Array_Ref and to replace the value. We simply merge
+-      the code of this function in here, since it is now no longer
+-      used elsewhere. This fixes the problem of the back end not
+-      realizing we were clever enough to see that this was
+-      constant.
+-      (Expr_Val): Remove call to Constant_Array_Ref
+-      (Expr_Rep_Val): Remove call to Constant_Array_Ref
+-      Minor reformatting
+-      (Constant_Array_Ref): Deal with string literals (patch
+-      suggested by Zack Weinberg on the gcc list)
+-
+-2001-03-28  Ed Schonberg  <schonber@gnat.com>
+-
+-      * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
+-      Duplicate_Subexpr_Move_Checks.
+-
+-      * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
+-      Duplicate_Subexpr_Move_Checks.
+-
+-      * sem_eval.adb: (Constant_Array_Ref): Verify that constant
+-      value of array exists before retrieving it (it may a private
+-      protected component in a function).
+-
+-2002-03-28   Geert Bosch  <bosch@gnat.com>
+-
+-      * prj-pp.adb : New file.
+-
+-      * prj-pp.ads : New file.
+-
+-2002-03-28  Andreas Jaeger  <aj@suse.de>
+-
+-      * Makefile.in (stamp-sdefault): Fix path for Makefile.
+-
+-2002-03-28  Neil Booth  <neil@daikokuya.demon.co.uk>
+-
+-      * misc.c (gnat_expand_expr): Move prototype.
+-
+-2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
+-
+-      * misc.c (insert_default_attributes): Remove.
+-
+-2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
+-
+-      * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
+-      (gnat_init): Don't set hook.
+-      (gnat_expand_expr): Fix prototype.
+-
+-2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
+-
+-      * misc.c (ggc_p): Remove.
+-
+-2002-03-27  Geert Bosch  <bosch@gnat.com>
+-
+-      * prj-makr.ads, prj-makr.adb : New files.
+-
+-2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
+-
+-      * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
+-      (lang_mark_tree): Make static, rename.
+-
+-2002-03-25  Neil Booth  <neil@daikokuya.demon.co.uk>
+-
+-      * misc.c (maybe_build_cleanup): Remove.
+-
+-2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
+-
+-      * gigi.h (yyparse): Remove.
+-
+-2002-03-23  Florian Weimer  <fw@deneb.enyo.de>
+-
+-      From Ben Brosgol  <brosgol@gnat.com>
+-      * gnat_rm.texi: Sync with ACT version.
+-
+-2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
+-
+-      * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
+-      (gnat_init): Remove old hook.
+-
+-2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
+-
+-      * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
+-      (yyparse): Rename gnat_parse_file.
+-
+-2002-03-14  Geoffrey Keating  <geoffk@redhat.com>
+-
+-      Delete all lines containing "$Revision:".
+-      * xeinfo.adb: Don't look for revision numbers.
+-      * xnmake.adb: Likewise.
+-      * xsinfo.adb: Likewise.
+-      * xsnames.adb: Likewise.
+-      * xtreeprs.adb: Likewise.
+-
+-2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+-
+-      * misc.c (gnat_tree_code_type, gnat_tree_code_length,
+-      gnat_tree_code_name): Delete.
+-      (tree_code_type, tree_code_length, tree_code_name): Define.
+-      (gnat_init): Don't try to copy into the various tree_code
+-      arrays.
+-
+-2002-03-11  Richard Henderson  <rth@redhat.com>
+-
+-      * Makefile.in (.NOTPARALLEL): Add fake tag.
+-
+-2002-03-07  Geert Bosch  <bosch@gnat.com>
+-
+-      * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
+-      s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
+-      switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
+-      switch-m.adb, switch-m.ads : New files.
+-
+-2002-03-07  Geert Bosch  <bosch@gnat.com>
+-
+-      * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
+-      4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
+-      4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
+-      4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
+-      5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
+-      5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
+-      5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
+-      5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
+-      5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
+-      5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
+-      5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
+-      5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
+-      5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
+-      5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
+-      5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
+-      5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
+-      5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
+-      5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
+-      5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
+-      5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
+-      7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
+-      Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
+-      a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
+-      a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
+-      a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
+-      a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
+-      a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
+-      a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
+-      a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
+-      adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
+-      atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
+-      bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
+-      csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
+-      einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
+-      eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
+-      exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
+-      exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
+-      exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
+-      exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
+-      exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
+-      expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
+-      freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
+-      g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
+-      g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
+-      g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
+-      g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
+-      g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
+-      g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
+-      gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
+-      gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
+-      gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
+-      i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
+-      impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
+-      lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
+-      lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
+-      memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
+-      mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
+-      nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
+-      output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
+-      par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
+-      prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
+-      prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
+-      prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
+-      rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
+-      s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
+-      s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
+-      s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
+-      s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
+-      s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
+-      s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
+-      s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
+-      s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
+-      s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
+-      s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
+-      s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
+-      s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
+-      s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
+-      s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
+-      s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
+-      sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
+-      sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
+-      sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
+-      sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
+-      sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
+-      sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
+-      sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
+-      sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
+-      sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
+-      sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
+-      snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
+-      stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
+-      table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
+-      tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
+-      treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
+-      types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
+-      utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
+-      xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
+-
+-      * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
+-      g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
+-      mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
+-      osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
+-
+-      * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
+-      5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
+-
+-      * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
+-      to mdll-fil.ad[bs] and mdll-util.ad[bs]
+-
+-      * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
+-      from mdllfile.ad[bs] and mdlltool.ad[bs]
+-
+-2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+-
+-      * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
+-      lieu of explicit sizeof/sizeof.
+-
+-2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
+-
+-      * misc.c (copy_lang_decl): Remove.
+-
+-2002-02-27  Zack Weinberg  <zack@codesourcery.com>
+-
+-      * misc.c: Delete traditional-mode-related code copied from the
+-      C front end but not used, or used only to permit the compiler
+-      to link.
+-
+-2002-02-07  Richard Henderson  <rth@redhat.com>
+-
+-      * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
+-      * adaint.h (__gnat_to_gm_time): Update prototype.
+-
+-2002-01-30  Richard Henderson  <rth@redhat.com>
+-
+-      * trans.c (tree_transform) [N_Loop_Statement]: Use
+-      expand_exit_loop_top_cond.
+-
+-2001-12-23  Richard Henderson  <rth@redhat.com>
+-
+-      * utils.c (end_subprog_body): Push GC context around
+-      rest_of_compilation for nested functions.
+-
+-2001-12-23  Richard Henderson  <rth@redhat.com>
+-
+-      * 5nosinte.ads: Get definition of "int" from Interfaces.C.
+-
+-2001-12-23  Florian Weimer  <fw@deneb.enyo.de>
+-
+-      * gnat-style.texi (Declarations and Types): Remove ancient style
+-      rule which was mandated by code generation issues.
+-
+-      * gnat-style.texi (header): Add @dircategory, @direntry.
+-      (title page): Remove date.
+-      (general) Add @./@: where approriate, and two spaces after the
+-      full stop at the end of a sentence.  Use @samp markup when
+-      referring concrete lexical entities (keywords, attribute names
+-      etc.), and @syntax for ARM grammar elements. Use @r for English
+-      text in comments.  Use @emph for emphasis.  Change "if-statements"
+-      etc. to "if statements" (without @samp). Break long lines.  Make
+-      casing of section names consistent.
+-      (Identifiers): Use @samp markup for variable names.
+-      (Comments): Use @samp markup for comment characters. Line-end
+-      comments may follow any Ada code, not just statements.  Fix
+-      misspelling of "Integer" as "integer".
+-      (Loop statements): Do not use variable name "I", use "J".
+-      (Subprogram Declarations): Document alignment.
+-      (Subprogram Bodies, Block statements): Document empty line before
+-      "begin".
+-
+-2001-12-22  Florian Weimer  <fw@deneb.enyo.de>
+-
+-      * make.adb (Add_Switch): Make Generic_Position a procedure.  The
+-      function approach did not work well because of a side effect (the
+-      function call could reallocate the table which was being indexed
+-      using its result). Fixes ada/4851.
+-
+-2001-12-19  Robert Dewar  <dewar@gnat.com>
+-
+-      * bindgen.adb: Minor reformatting
+-
+-      * cstand.adb: Minor reformatting
+-
+-      * fmap.adb: Minor reformatting
+-      Change name from Add for Add_To_File_Map (Add is much too generic)
+-      Change Path_Name_Of to Mapped_Path_Name
+-      Change File_Name_Of to Mapped_File_Name
+-      Fix copyright dates in header
+-
+-      * fmap.ads:
+-      Change name from Add for Add_To_File_Map (Add is much too generic)
+-      Change Path_Name_Of to Mapped_Path_Name
+-      Change File_Name_Of to Mapped_File_Name
+-      Fix copyright dates in header
+-
+-      * fname-uf.adb: Minor reformatting.  New names of stuff in Fmap.
+-      Add use clause for Fmap.
+-
+-      * make.adb: Minor reformatting
+-
+-      * osint.adb: Minor reformatting.  Change of names in Fmap.
+-      Add use clause for Fmap.
+-
+-      * prj-env.adb: Minor reformatting
+-
+-      * prj-env.ads: Minor reformatting
+-
+-      * switch.adb: Minor reformatting.  Do proper raise of Bad_Switch if
+-      error found (there were odd exceptions to this general rule in
+-      -gnatec/-gnatem processing)
+-
+-2001-12-19  Olivier Hainque  <hainque@gnat.com>
+-
+-      * raise.c (__gnat_eh_personality): Exception handling personality
+-      routine for Ada.  Still in rough state, inspired from the C++ version
+-      and still containing a bunch of debugging artifacts.
+-      (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
+-      inspired from the C++ library.
+-
+-      * raise.c (eh_personality): Add comments. Part of work for the GCC 3
+-      exception handling integration.
+-
+-2001-12-19  Arnaud Charlet  <charlet@gnat.com>
+-
+-      * Makefile.in: Remove use of 5smastop.adb which is obsolete.
+-      (HIE_SOURCES): Add s-secsta.ad{s,b}.
+-      (HIE_OBJS): Add s-fat*.o
+-      (RAVEN_SOURCES): Remove files that are no longer required. Add
+-      interrupt handling files.
+-      (RAVEN_MOD): Removed, no longer needed.
+-
+-2001-12-19  Robert Dewar  <dewar@gnat.com>
+-
+-      * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
+-      Add 2001 to copyright date
+-
+-      * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
+-      need to force universal inlining for these cases.
+-
+-2001-12-19  Arnaud Charlet  <charlet@gnat.com>
+-
+-      * s-taprob.adb: Minor clean ups so that this unit can be used in
+-      Ravenscar HI.
+-
+-      * exp_ch7.adb: Allow use of secondary stack in HI mode.
+-      Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
+-
+-2001-12-19  Vincent Celier  <celier@gnat.com>
+-
+-      * prj-tree.ads (Project_Node_Record): Add comments for components
+-      Pkg_Id and Case_Insensitive.
+-
+-2001-12-19  Pascal Obry  <obry@gnat.com>
+-
+-      * g-socket.adb: Minor reformatting. Found while reading code.
+-
+-2001-12-19  Robert Dewar  <dewar@gnat.com>
+-
+-      * prj-tree.ads: Minor reformatting
+-
+-2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
+-
+-      * config-lang.in (diff_excludes): Remove.
+-
+-2001-12-17  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_res.adb (Resolve_Selected_Component): do not generate a
+-      discriminant check if the selected component is a component of
+-      the argument of an initialization procedure.
+-
+-      * trans.c (tree_transform, case of arithmetic operators): If result
+-      type is private, the gnu_type is the base type of the full view,
+-      given that the full view itself may be a subtype.
+-
+-2001-12-17  Robert Dewar  <dewar@gnat.com>
+-
+-      * sem_res.adb: Minor reformatting
+-
+-      * trans.c (tree_transform, case N_Real_Literal): Add missing third
+-      parameter in call to Machine (unknown horrible effects from this
+-      omission).
+-
+-      * urealp.h: Add definition of Round_Even for call to Machine
+-      Add third parameter for Machine
+-
+-2001-12-17  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
+-      predefined units in No_Run_Time mode.
+-
+-2001-12-17  Richard Kenner  <kenner@gnat.com>
+-
+-      * misc.c (insn-codes.h): Now include.
+-
+-2001-12-17  Olivier Hainque  <hainque@gnat.com>
+-
+-      * a-except.adb: Preparation work for future integration of the GCC 3
+-      exception handling mechanism
+-      (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
+-      to factorize previous code sequences and make them externally callable,
+-      e.g. for the Ada personality routine when the GCC 3 mechanism is used.
+-      (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
+-      Use the new notification routines.
+-
+-2001-12-17  Emmanuel Briot  <briot@gnat.com>
+-
+-      * prj-tree.ads (First_Choice_Of): Document the when others case
+-
+-2001-12-17  Arnaud Charlet  <charlet@gnat.com>
+-
+-      * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
+-      HI-E mode, in order to support Ravenscar profile properly.
+-
+-      * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
+-      mode on 32 bits targets.
+-
+-2001-12-17  Vincent Celier  <celier@gnat.com>
+-
+-      * fmap.adb: Initial version.
+-
+-      * fmap.ads: Initial version.
+-
+-      * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
+-      If search is successfully done, add to mapping.
+-
+-      * frontend.adb: Initialize the mapping if a -gnatem switch was used.
+-
+-      * make.adb:
+-      (Gnatmake): Add new local variable Mapping_File_Name.
+-       Create mapping file when using project file(s).
+-       Delete mapping file before exiting.
+-
+-      * opt.ads (Mapping_File_Name): New variable
+-
+-      * osint.adb (Find_File): Use path name found in mapping, if any.
+-
+-      * prj-env.adb (Create_Mapping_File): New procedure
+-
+-      * prj-env.ads (Create_Mapping_File): New procedure.
+-
+-      * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
+-      (Mapping_File)
+-
+-      * usage.adb: Add entry for new switch -gnatem.
+-
+-      * Makefile.in: Add dependencies for fmap.o.
+-
+-2001-12-17  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
+-      is a package instantiation rewritten as a package body.
+-      (Install_Withed_Unit): Undo previous change, now redundant.
+-
+-2001-12-17  Gary Dismuke  <dismukes@gnat.com>
+-
+-      * layout.adb:
+-      (Compute_Length): Move conversion to Unsigned to callers.
+-      (Get_Max_Size): Convert Len expression to Unsigned after calls to
+-      Compute_Length and Determine_Range.
+-      (Layout_Array_Type): Convert Len expression to Unsigned after calls to
+-      Compute_Length and Determine_Range.
+-      Above changes fix problem with length computation for supernull arrays
+-      where Max (Len, 0) wasn't getting applied due to the Unsigned
+-      conversion used by Compute_Length.
+-
+-2001-12-17  Arnaud Charlet  <charlet@gnat.com>
+-
+-      * rtsfind.ads:
+-      (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
+-       System.Secondary_Stack.
+-      (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
+-       in HI-E mode.
+-      Remove unused entity RE_Exception_Data.
+-
+-      * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
+-
+-      * rident.ads (No_Secondary_Stack): New restriction.
+-
+-2001-12-17  Joel Brobecker  <brobecke@gnat.com>
+-
+-      * gnat_rm.texi: Fix minor typos. Found while reading the section
+-      regarding "Bit_Order Clauses" that was sent to a customer.
+-      Very interesting documentation!
+-
+-2001-12-17  Robert Dewar  <dewar@gnat.com>
+-
+-      * sem_case.adb (Choice_Image): Avoid creating improper character
+-      literal names by using the routine Set_Character_Literal_Name. This
+-      fixes bombs in certain error message cases.
+-
+-2001-12-17  Arnaud Charlet  <charlet@gnat.com>
+-
+-      * a-reatim.adb: Minor reformatting.
+-
+-2001-12-17  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
+-      case where the formal is an extension of another formal in the current
+-      unit or in a parent generic unit.
+-
+-2001-12-17  Arnaud Charlet  <charlet@gnat.com>
+-
+-      * s-tposen.adb: Update comments.  Minor reformatting.
+-      Minor code clean up.
+-
+-      * s-tarest.adb: Update comments.  Minor code reorganization.
+-
+-2001-12-17  Gary Dismukes  <dismukes@gnat.com>
+-
+-      * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
+-      when Java_VM.
+-
+-2001-12-17  Robert Dewa  <dewar@gnat.com>
+-
+-      * exp_attr.adb: Minor reformatting
+-
+-2001-12-17  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
+-      derivations nested within a child unit: verify that the parent
+-      type is declared in an outer scope.
+-
+-2001-12-17  Robert Dewar  <dewar@gnat.com>
+-
+-      * sem_ch12.adb: Minor reformatting
+-
+-2001-12-17  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
+-      warning if current unit is a predefined one, from which bodies may
+-      have been deleted.
+-
+-2001-12-17  Robert Dewar  <dewar@gnat.com>
+-
+-      * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
+-      Fix header format. Add 2001 to copyright date.
+-
+-      * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
+-      which caused CE during compilation if checks were enabled.
+-
+-2001-12-17  Vincent Celier  <celier@gnat.com>
+-
+-      * make.adb:
+-      (Switches_Of): New function
+-      (Test_If_Relative_Path): New procedure
+-      (Add_Switches): Use new function Switches_Of
+-      (Collect_Arguments_And_Compile): Use new function Switches_Of.
+-      When using a project file, test if there are any relative
+-      search path. Fail if there are any.
+-      (Gnatmake): Only add switches for the primary directory when not using
+-      a project file. When using a project file, change directory to the
+-      object directory of the main project file. When using a project file,
+-      test if there are any relative search path. Fail if there are any.
+-      When using a project file, fail if specified executable is relative
+-      path with directory information, and prepend executable, if not
+-      specified as an absolute path, with the exec directory.  Make sure
+-      that only one -o switch is transmitted to the linker.
+-
+-      * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
+-
+-      * prj-nmsc.adb:
+-      (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
+-      when using a non standard naming scheme.
+-      (Check_Ada_Naming_Scheme): Make sure that error messages
+-      do not raise exceptions.
+-      (Is_Illegal_Append): Return True if there is no dot in the suffix.
+-      (Language_Independent_Check): Check the exec directory.
+-
+-      * prj.adb (Project_Empty): Add new component Exec_Directory
+-
+-      * prj.ads:
+-      (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
+-      (Project_Data): Add component Exec_Directory
+-
+-      * snames.adb: Updated to match snames.ads revision 1.215
+-
+-      * snames.ads: Added Exec_Dir
+-
+-2001-12-17  Robert Dewar  <dewar@gnat.com>
+-
+-      * make.adb: Minor reformatting
+-
+-      * prj-nmsc.adb: Minor reformatting
+-
+-      * snames.adb: Updated to match snames.ads
+-
+-      * snames.ads: Alphebetize entries for project file
+-
+-2001-12-17  Ed Schonberg  <schonber@gnat.com>
+-
+-      * trans.c (process_freeze_entity): Do nothing if the entity is a
+-      subprogram that was already elaborated.
+-
+-2001-12-17  Richard Kenner  <kenner@gnat.com>
+-
+-      * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
+-      and Esize if object is referenced via pointer.
+-
+-2001-12-17  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
+-      is discrete before analyzing choices.
+-
+-2001-12-17  Joel Brobecker  <brobecke@gnat.com>
+-
+-      * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
+-      containing the name of the Ada Main Program. This string is mainly
+-      intended for the debugger.
+-      (Gen_Output_File_C): Do the equivalent change when generating a C file.
+-
+-2001-12-17  Robert Dewar  <dewar@gnat.com>
+-
+-      * ali.adb: Set new Dummy_Entry field in dependency entry
+-
+-      * ali.ads: Add Dummy_Entry field to source dependency table
+-
+-      * bcheck.adb (Check_Consistency): Ignore dummy D lines
+-
+-      * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
+-
+-      * lib-writ.ads: Document dummy D lines for missing files.
+-
+-      * types.ads: (Dummy_Time_Stamp): New value for non-existant files
+-
+-2001-12-17  Robert Dewar  <dewar@gnat.com>
+-
+-      * ali.adb: Type reference does not reset current file.
+-
+-      * ali.adb: Recognize and scan renaming reference
+-
+-      * ali.ads: Add spec for storing renaming references.
+-
+-      * lib-xref.ads: Add documentation for handling of renaming references
+-
+-      * lib-xref.adb: Implement output of renaming reference.
+-
+-      * checks.adb:
+-      (Determine_Range): Document local variables
+-      (Determine_Range): Make sure Hbound is initialized. It looks as though
+-       there could be a real problem here with an uninitialized reference
+-       to Hbound, but no actual example of failure has been found.
+-
+-2001-12-17  Laurent Pautet  <pautet@gnat.com>
+-
+-      * g-socket.ads:
+-      Fix comment of Shutdown_Socket and Close_Socket. These functions
+-      should not fail silently because if they are called twice, this
+-      probably means that there is a race condition in the user program.
+-      Anyway, this behaviour is consistent with the rest of this unit.
+-      When an error occurs, an exception is raised with the error message
+-      as exception message.
+-
+-2001-12-17  Robert Dewar  <dewar@gnat.com>
+-
+-      * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
+-      that it happens before modification of Sloc values for -gnatD.
+-
+-      * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
+-      so that it happens before modification of Sloc values for -gnatD.
+-
+-      * switch.adb: Minor reformatting
+-
+-2001-12-15  Richard Henderson  <rth@redhat.com>
+-
+-      * sem_ch7.adb: Wrap comment.
+-
+-2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
+-
+-      * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
+-      5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
+-      5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
+-      5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
+-      5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
+-      7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
+-      a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
+-      a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
+-      cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
+-      exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
+-      exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
+-      g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
+-      gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
+-      make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
+-      par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
+-      repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
+-      s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
+-      s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
+-      s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
+-      s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
+-      sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
+-      sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
+-      sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
+-      sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
+-      spelling errors.
+-
+-2001-12-14  Vincent Celier  <celier@gnat.com>
+-
+-      * osint.adb(Create_Debug_File): When an object file is specified,
+-      put the .dg file in the same directory as the object file.
+-
+-2001-12-14  Robert Dewar  <dewar@gnat.com>
+-
+-      * osint.adb: Minor reformatting
+-
+-      * lib-xref.adb (Output_Instantiation): New procedure to generate
+-      instantiation references.
+-
+-      * lib-xref.ads: Add documentation of handling of generic references.
+-
+-      * ali.adb (Read_Instantiation_Ref): New procedure to read
+-      instantiation references
+-
+-      * ali.ads: Add spec for storing instantiation references
+-
+-      * bindusg.adb: Minor reformatting
+-
+-      * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
+-
+-      * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
+-
+-      * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
+-
+-      * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
+-
+-      * csets.ads:
+-      Fix header format
+-      Add 2001 to copyright date
+-      Add entry for Latin-5 (Cyrillic ISO-8859-5)
+-
+-2001-12-14  Matt Gingell  <gingell@gnat.com>
+-
+-      * adaint.c: mktemp is a macro on Lynx and can not be used as an
+-      expression.
+-
+-2001-12-14  Richard Kenner  <kenner@gnat.com>
+-
+-      * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
+-      if operand is CONSTRUCTOR.
+-
+-2001-12-14  Ed Schonberg  <schonber@gnat.com>
+-
+-      * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
+-      before emiting check on right-hand side, so that exception information
+-      is correct.
+-
+-2001-12-14  Richard Kenner  <kenner@gnat.com>
+-
+-      * utils.c (create_var_decl): Throw away initializing expression
+-      if just annotating types and non-constant.
+-
+-2001-12-14  Vincent Celier  <celier@gnat.com>
+-
+-      * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
+-      Default_Ada_...
+-
+-      * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
+-      Remove functions.
+-      (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
+-
+-      * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
+-      Remove functions.
+-      (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
+-
+-2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
+-
+-      * ChangeLog: Remove piece of diff output.
+-
+-2001-12-14  Geert Bosch  <bosch@gnat.com>
+-
+-      * config-lang.in: Update copyright notice
+-
+-      * layout.adb: Remove commented out code.
+-
+-      * mdllfile.ads: Update copyright notice. Fix header format.
+-
+-      * sem_case.ads: Likewise.
+-
+-      * sem_ch3.adb: Minor reformatting.
+-
+-2001-12-12  Geert Bosch  <bosch@gnat.com>
+-
+-      * freeze.ads: Update copyright date.
+-
+-      * g-comlin.ads: Minor reformatting.
+-
+-      * gnat-style.texi: Fix typo.
+-
+-2001-12-12  Geert Bosch  <bosch@gnat.com>
+-
+-      *  einfo.h: Regenerate.
+-
+-2001-12-12  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
+-      on known node types, rather than untyped fields. Further cleanups.
+-
+-2001-12-12  Robert Dewar  <dewar@gnat.com>
+-
+-      * sem_ch12.adb:
+-      (Save_Entity_Descendant): Minor comment update.
+-      (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
+-       of an N_Attribute_Reference node. As per note below, this does not
+-      eliminate need for Associated_Node in attribute ref nodes.
+-      (Associated_Node): Documentation explicitly mentions attribute
+-      reference nodes, since this field is used in such nodes.
+-
+-      * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
+-
+-2001-12-12  Robert Dewar  <dewar@gnat.com>
+-
+-      * s-stalib.adb: Add more comments on with statements being needed
+-
+-      * par-ch12.adb: Minor reformatting
+-
+-      * prj-dect.ads: Fix copyright header
+-
+-      * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
+-      inputs fit in 32 bits, but the result still overflows.
+-
+-      * s-fatgen.ads: Minor comment improvement
+-
+-2001-12-12  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
+-      formal derived type, look for an inherited component from the full
+-      view of the parent, if any.
+-
+-2001-12-12  Robert Dewar  <dewar@gnat.com>
+-
+-      * checks.ads (Apply_Alignment_Check): New procedure.
+-
+-      * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
+-      ensure that the alignment of objects with address clauses is
+-      appropriate, and raise PE if not.
+-
+-      * exp_util.ads (Must_Be_Aligned): Removed, replaced by
+-      Exp_Pakd.Known_Aligned_Enough
+-
+-      * mdllfile.ads: Minor reformatting
+-
+-      * mlib-fil.ads: Minor reformatting
+-
+-2001-12-12  Ed Schonberg  <schonber@gnat.com>
+-
+-      * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
+-      fix to any component reference if enclosing record has non-standard
+-      representation.
+-
+-2001-12-12  Vincent Celier  <celier@gnat.com>
+-
+-      * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
+-      Iteration
+-
+-2001-12-12  Ed Schonberg  <schonber@gnat.com>
+-
+-      * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
+-      sem_attr.
+-
+-2001-12-12  Robert Dewar  <dewar@gnat.com>
+-
+-      * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
+-
+-2001-12-12  Emmanuel Briot  <briot@gnat.com>
+-
+-      * g-regexp.adb: Remove all debug code, since it isn't required anymore,
+-      and it adds dependencies to system.io.
+-
+-2001-12-12  Pascal Obry  <obry@gnat.com>
+-
+-      * g-dirope.adb (Expand_Path.Var): Correctly detect end of
+-      variable name.
+-
+-2001-12-11  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
+-      that is the parent of other generics, the instance body replaces the
+-      instance node.  Retrieve the instance of the spec, which is the one
+-      that is visible in clients and within the body.
+-
+-2001-12-11  Vincent Celier  <celier@gnat.com>
+-
+-      * gnatmain.adb: Initial version.
+-
+-      * gnatmain.ads: Initial version.
+-
+-      * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
+-
+-      * snames.adb: Updated to match snames.ads.
+-
+-      * snames.ads: Added Gnatstub.
+-
+-2001-12-11  Vincent Celier  <celier@gnat.com>
+-
+-      * prj-attr.adb (Initialization_Data): Change name from
+-      Initialisation_Data.
+-
+-2001-12-11  Emmanuel Briot  <briot@gnat.com>
+-
+-      * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
+-      + and * applied to backslashed expressions like \r.
+-
+-2001-12-11  Vasiliy Fofanov  <fofanov@gnat.com>
+-
+-      * g-os_lib.ads: String_List type added, Argument_List type is now
+-      subtype of String_List.
+-
+-2001-12-11  Robert Dewar  <dewar@gnat.com>
+-
+-      * g-os_lib.ads: Change copyright to FSF
+-      Add comments for String_List type
+-
+-2001-12-11  Vincent Celier  <celier@gnat.com>
+-
+-      * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
+-      string to the buffer).
+-
+-2001-12-11  Ed Schonberg  <schonber@gnat.com>
+-
+-      * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
+-      sem_attr.
+-
+-      * sem_attr.adb: Simplify previous fix for Address.
+-      (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
+-      to avoid anomalies where the bound of the type appears to raise
+-      constraint error.
+-
+-2001-12-11  Robert Dewar  <dewar@gnat.com>
+-
+-      * lib-xref.adb (Output_Refs): Make sure pointers are always properly
+-      handled.
+-
+-2001-12-11  Ed Schonber   <schonber@gnat.com>
+-
+-      * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
+-      renamed unit before checking for recursive instantiations.
+-
+-2001-12-11  Emmanuel Briot  <briot@gnat.com>
+-
+-      * prj.ads: Add comments for some of the fields.
+-
+-2001-12-11  Robert Dewar  <dewar@gnat.com>
+-
+-      * lib-xref.adb (Output_Refs): Don't output type references outside
+-      the main unit if they are not otherwise referenced.
+-
+-2001-12-11  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
+-      code and diagnose additional illegal uses
+-
+-      * sem_util.adb (Is_Object_Reference): An indexed component is an
+-      object only if the prefix is.
+-
+-2001-12-11  Vincent Celier  <celier@gnat.com>
+-
+-      * g-diopit.adb: Initial version.
+-
+-      * g-diopit.ads: Initial version.
+-
+-      * g-dirope.adb:
+-      (Expand_Path): Avoid use of Unbounded_String
+-      (Find, Wildcard_Iterator): Moved to child package Iteration
+-
+-      * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
+-
+-2001-12-11  Robert Dewar  <dewar@gnat.com>
+-
+-      * sem_attr.adb: Minor reformatting
+-
+-2001-12-11  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_ch3.adb: Clarify some ???.
+-
+-2001-12-11  Robert Dewar  <dewar@gnat.com>
+-
+-      * exp_util.adb (Must_Be_Aligned): Removed, replaced by
+-      Exp_Pakd.Known_Aligned_Enough
+-
+-      * sem_ch13.adb (Check_Address_Alignment): Removed, extended
+-      version is moved to Exp_Ch13.
+-
+-2001-12-11  Robert Dewar  <dewar@gnat.com>
+-
+-      * einfo.ads: Minor reformatting
+-
+-      * exp_ch5.adb: Add comment for previous.change
+-
+-      * ali.adb: New interface for extended typeref stuff.
+-
+-      * ali.ads: New interface for typeref stuff.
+-
+-      * checks.adb (Apply_Alignment_Check): New procedure.
+-
+-      * debug.adb: Add -gnatdM for modified ALI output
+-
+-      * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
+-
+-      * lib-xref.adb: Extend generation of <..> notation to cover
+-      subtype/object types. Note that this is a complete rewrite,
+-      getting rid of the very nasty quadratic algorithm previously
+-      used for derived type output.
+-
+-      * lib-xref.ads: Extend description of <..> notation to cover
+-      subtype/object types. Uses {..} for these other cases.
+-      Also use (..) for pointer types.
+-
+-      * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
+-
+-      * exp_pakd.adb: Minor reformatting.  Note that prevous RH should say:
+-      (Known_Aligned_Enough): Replaces Must_Be_Aligned.
+-
+-2001-12-11  Vincent Celier  <celier@gnat.com>
+-
+-      * gnatcmd.adb:
+-      Changed /COMPILE_ONLY to /ACTIONS=COMPILE
+-      Changed /BIND_ONLY to /ACTIONS=BIND
+-      Changed /LINK_ONLY to /ACTIONS=LINK
+-
+-2001-12-11  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_ch8.adb (Find_Selected_Component): improved search for a
+-      candidate package in case of error.
+-
+-      * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
+-      chain back on scope stack before reinstalling use clauses.
+-
+-      * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
+-      is enabled, do not kill the code for the condition, to preserve
+-      warning.
+-
+-2001-12-11  Robert Dewar  <dewar@gnat.com>
+-
+-      * checks.adb (Insert_Valid_Check): Apply validity check to expression
+-      of conversion, not to result of conversion.
+-
+-2001-12-11  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
+-      before freezing parent. If the declarations are mutually recursive,
+-      an access to the current record type may be frozen before the
+-      derivation is complete.
+-
+-2001-12-05  Vincent Celier  <celier@gnat.com>
+-
+-      * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
+-      -c /COMPILE_ONLY, -l /LINK_ONLY
+-
+-      * opt.ads:
+-      (Bind_Only): New Flag
+-      (Link_Only): New flag
+-
+-      * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
+-      and -l (Link_Only)
+-
+-      * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
+-
+-      * make.adb:
+-      (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
+-      (Gnatmake): Set the step flags. Only perform a step if the
+-      corresponding step flag is True.
+-      (Scan_Make_Arg): Reset the bind and link step flags when -u
+-      or -gnatc has been specified.
+-
+-2001-12-05  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
+-      get bounds from right operand.
+-
+-      * sem_eval.adb: Minor reformatting
+-
+-      * exp_util.adb (Make_Literal_Range): use bound of literal rather
+-      than Index'First, its lower bound may be different from 1.
+-
+-      * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
+-      and C48009J
+-
+-2001-12-05  Vincent Celier  <celier@gnat.com>
+-
+-      * prj-nmsc.adb Minor reformatting
+-
+-      * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
+-      set and libraries are not supported.
+-
+-2001-12-05  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
+-      private view explicitly, so the back-end can treat as a global
+-      when appropriate.
+-
+-2001-12-05  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
+-       unit, always replace instance node with new body, for ASIS use.
+-
+-2001-12-05  Vincent Celier  <celier@gnat.com>
+-
+-      * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
+-      libraries are not supported and both attributes Library_Name and
+-      Library_Dir are specified.
+-
+-      * prj-proc.adb (Expression): Set location of Result to location of
+-      first term.
+-
+-      * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
+-      (prj-nmsc is now importing MLib.Tgt)
+-
+-      * prj-proc.adb: Put the change indicated above that was forgotten.
+-
+-2001-12-05  Robert Dewar  <dewar@gnat.com>
+-
+-      * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
+-
+-2001-12-05  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
+-      constraint, introduce explicit subtype declaration and derive from it.
+-
+-      * sem_ch3.adb: Minor reformatting
+-
+-2001-12-05  Robert Dewar  <dewar@gnat.com>
+-
+-      * checks.adb (Determine_Range): Increase cache size for checks.
+-      Minor reformatting
+-
+-      * exp_ch6.adb: Minor reformatting
+-      (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
+-      a parameter whose root type is System.Address, since treating such
+-      subprograms as pure in the code generator is almost surely a mistake
+-      that will lead to unexpected results.
+-
+-      * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
+-      change handling of conversions.
+-
+-      * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
+-
+-2001-12-05  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
+-      aggregate with static wrong size, attach generated Raise node to
+-      declaration.
+-
+-2001-12-05  Robert Dewar  <dewar@gnat.com>
+-
+-      * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
+-      Fixes compilation abandoned bomb in B24009B.
+-
+-2001-12-05  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_ch12.adb:
+-      Document use of Associated_Node on Selected_Components.
+-      (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
+-      to clarify use of untyped descendant fields.
+-
+-2001-12-05  Robert Dewar  <dewar@gnat.com>
+-
+-      * prj-dect.ads: Add ??? comment
+-      Add 2001 to copyright notice (was not done in after all)
+-
+-      * prj-part.adb: Minor reformatting. Reword one awkward error message.
+-
+-      * prj.ads: Minor reformatting throughout, and add some ??? comments
+-
+-      * snames.ads: Minor reformatting
+-
+-2001-12-05  Geert Bosch  <bosch@gnat.com>
+-
+-      * snames.adb: Autoupdate
+-
+-2001-12-05  Vincent Celier  <celier@gnat.com>
+-
+-      * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
+-
+-      * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
+-
+-      * prj-env.adb: Minor comment changes (modifying -> extends).
+-
+-      * prj-nmsc.adb: Minor comment changes (modifying -> extends).
+-
+-      * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
+-      Tok_Extends.
+-
+-      * prj.adb (Initialize): Change Modifying to Extends.
+-
+-      * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
+-
+-      * prj.ads: Minor comment change (Modifying -> extending).
+-
+-      * snames.ads: Change modifying to extends.
+-
+-2001-12-05  Robert Dewar  <dewar@gnat.com>
+-
+-      * sem_warn.adb: Remove stuff for conditionals, we are not going to
+-      do this after all.
+-
+-      * sem_warn.ads: Remove stuff for conditionals, we are not going to
+-      do this after all.  Add 2001 to copyright notice
+-
+-2001-12-04  Geert Bosch  <bosch@gnat.com>
+-
+-      *  einfo.h, sinfo.h, treeprs.ads: Regenerate.
+-
+-2001-12-04  Robert Dewar  <dewar@gnat.com>
+-
+-      * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
+-      location if we already have errors. Stops some cases of cascaded
+-      errors.
+-
+-      * errout.adb: Improve comment.
+-
+-2001-12-04  Robert Dewar  <dewar@gnat.com>
+-
+-      * sem_ch12.adb:
+-      (Analyze_Formal_Type_Definition): Defend against Error.
+-      (Analyze_Formal_Subprogram): Defend against Error.
+-
+-      * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
+-      remove following semicolon if present. Removes cascaded error.
+-
+-2001-12-04  Douglas B. Rupp  <rupp@gnat.com>
+-
+-      * bindgen.adb:
+-      (Gen_Exception_Table_Ada): Write "begin" and then return if Num
+-       exceptions equals 0.
+-      (Gen_Exception_Table_C): Return if Num exceptions equals 0.
+-      Fixes PIWG E tests (which have to be run with -gnatL).
+-
+-2001-12-04  Robert Dewar  <dewar@gnat.com>
+-
+-      * einfo.ads: Minor reformatting
+-
+-2001-12-04  Ed Schonberg  <schonber@gnat.com>
+-
+-      * einfo.ads: Block_Node points to the identifier of the block, not to
+-      the block node itself, to preserve the link when the block is
+-      rewritten, e.g. within an if-statement with a static condition.
+-
+-      * inline.adb (Cleanup_Scopes): recover block statement from block
+-      entity using new meaning of Block_Node.
+-
+-      * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
+-      identifier of block node, rather than to node itself.
+-
+-2001-12-04  Gary Dismukes  <dismukes@gnat.com>
+-
+-      * layout.adb:
+-      (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
+-      (Discrimify): Go back to setting the Etypes of the selected component
+-      because the Vname component does not exist at this point and will
+-      fail name resolution. Also set Analyzed.
+-      Remove with and use of Sem_Res.
+-
+-2001-12-04  Arnaud Charlet  <charlet@gnat.com>
+-
+-      * Makefile.in: (HIE_SOURCES): add s-fat*.
+-
+-2001-12-04  Robert Dewar  <dewar@gnat.com>
+-
+-      * sem_attr.adb:
+-      (Compile_Time_Known_Attribute): New procedure.
+-      (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
+-       proper range check.
+-
+-2001-12-04  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
+-      processing discriminants to diagnose illegal default values.
+-
+-2001-12-04  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
+-      access discriminant within a type extension that constrains its
+-      parent discriminants.
+-
+-2001-12-04  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
+-      is malformed, use instance of Any_Id to allow analysis to proceed.
+-
+-      * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
+-      type definition is illegal.
+-      (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
+-      misplaced.
+-
+-2001-12-04  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
+-      constants.
+-
+-2001-12-04  Robert Dewar  <dewar@gnat.com>
+-
+-      * errout.adb: Minor reformatting
+-
+-2001-12-04  Robert Dewar  <dewar@gnat.com>
+-
+-      * exp_util.adb: Minor reformatting from last change
+-
+-      * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
+-      which is a rewriting of an expression, traverse the original
+-      expression to remove warnings that may have been posted on it.
+-
+-2001-12-04  Ed Schonberg  <schonber@gnat.com>
+-
+-      * exp_util.adb (Must_Be_Aligned): Return false for a component of a
+-      record that has other packed components.
+-
+-2001-12-04  Douglass B. Rupp  <rupp@gnat.com>
+-
+-      * adaint.c: Minor cleanups.
+-
+-2001-12-04  Douglass B. Rupp  <rupp@gnat.com>
+-
+-      * adaint.c: Do not use utime.h on vxworks.
+-
+-2001-12-04  Arnaud Charlet  <charlet@gnat.com>
+-
+-      * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
+-      more confusion than it solves.
+-
+-2001-12-04  Geert bosch  <bosch@gnat.com>
+-
+-      * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
+-
+-2001-12-04  Geert Bosch  <bosch@gnat.com>
+-
+-      * Makefile.in (update-sources): New target.
+-      For use by gcc_release script.
+-
+-2001-12-04  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
+-      a configuration pragma, it is now legal wherever a pragma can appear.
+-
+-2001-12-04  Zack Weinberg  <zack@codesourcery.com>
+-
+-      * Makefile.in: Don't set ALL.  Delete @cross_defines@,
+-      @cross_overrides@, @build_overrides@ stanzas.  INTERNAL_CFLAGS
+-      is now @CROSS@ -DIN_GCC; update comment.
+-
+-2001-12-04  Robert Dewar  <dewar@gnat.com>
+-
+-      * einfo.adb (Has_Pragma_Pure_Function): New flag.
+-      Fix problem that stopped ceinfo from working
+-
+-      * einfo.ads (Has_Pragma_Pure_Function): New flag.
+-
+-      * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
+-
+-2001-12-04  Douglas B. Rupp  <rupp@gnat.com>
+-
+-      * gnatchop.adb:
+-      (File_Time_Stamp): New procedure.
+-      (Preserve_Mode): New boolean.
+-      (Write_Unit): Pass time stamp.
+-      Implement -p switch (preserve time stamps).
+-
+-      * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
+-
+-      * gnatchop.adb: Do usage info for -p switch
+-
+-      * adaint.h (__gnat_set_file_time_name): New function
+-
+-      * adaint.c (__gnat_set_file_time_name): Implement
+-
+-      * adaint.h: Fix typo
+-
+-2001-12-03  Robert Dewar  <dewar@gnat.com>
+-
+-      * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
+-      have Associated_Node.
+-
+-2001-12-03  Robert Dewar  <dewar@gnat.com>
+-
+-      * prj-proc.adb: Minor reformatting
+-
+-      * make.adb: Minor reformatting
+-
+-2001-12-03  Geert Bosch  <bosch@gnat.com>
+-
+-      * make.adb: Minor reformatting.
+-
+-2001-12-03 Robert Dewar  <dewar@gnat.com>
+-
+-      * sem_ch12.adb: Minor reformatting
+-
+-2001-12-03  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
+-      push Standard on the stack before analyzing the instance body,
+-      in order to have a clean visibility environment.
+-
+-      * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
+-
+-2001-12-03  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_ch12.adb (Instantiate_Package_Body): Protect against double
+-      instantiation of a body that contains an inlined body.
+-
+-2001-12-03  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_ch12.adb:
+-      (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
+-      to prevent freezing within formal packages.
+-      (Freeze_Subprogram_Body): If body comes from another instance that
+-      appeared before its own body, place freeze node at end of current
+-      declarative part, to prevent a back-end crash.
+-      (Inline_Instance_Body): Handle properly a package instance within
+-      a subprogram instance that is a child unit.
+-
+-2001-12-01  Graham Stott  <grahams@redhat.com>
+-
+-      * Makefile.in (misc.o): Add missing $(srcdir) prefix
+-      and add optabs.h dependency.
+-
+-      * misc.c: Include optabs.h
+-      (gnat_tree_code_type): Make static and const.
+-      (gnat_tree_code_length): Likewise.
+-      (gnat_tree_code_name): Likewise.
+-      (update_setjmp_buf): Obtain operands mode from insn_data.
+-
+-2001-11-29  Richard Henderson  <rth@redhat.com>
+-
+-      * init.c: Remove obsolete dwarf2 frame.h section.
+-
+-2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
+-
+-      * Make-lang.in (ada.generated-manpages): New dummy target.
+-
+-2001-11-29  Ed Schonberg  <schonber@gnat.com>
+-
+-      * g-os_lib.adb (Add_To_Command): use explicit loop to move string
+-      into Command, an array conversion is illegal here. Uncovered by
+-      ACATS B460005.
+-
+-2001-11-28  Geert Bosch  <bosch@gnat.com>
+-
+-      * init.c: Minor whitespace changes.
+-
+-2001-11-28  Doug Rupp  <rupp@gnat.com>
+-
+-      * init.c: (__gnat_install_handler,VMS): Increase size of alternate
+-      signal stack.
+-
+-2001-11-28  Zack Weinberg  <zack@codesourcery.com>
+-
+-      * misc.c (gnat_expand_constant): Move declaration above
+-      definition of lang_hooks.
+-      (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
+-      (gnat_init): lang_expand_constant no longer exists.
+-
+-      (internal_error_function): Remove #ifdef HAVE_VPRINTF.  We
+-      always have vprintf.
+-      (gnat_init): Always call set_internal_error_function.
+-
+-2001-11-27  Andreas Jaeger  <aj@suse.de>
+-
+-      * Makefile.in (stamp-tool_src_dir): Use symbolic link.
+-
+-2001-11-27  Laurent Guerby  <guerby@acm.org>
+-
+-      * Makefile.in: Regenerate Ada dependencies.
+-
+-2001-11-26  Richard Henderson  <rth@redhat.com>
+-
+-      * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
+-      gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
+-      gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
+-
+-2001-11-25  Laurent Guerby  <guerby@acm.org>
+-
+-      * sysdep.c (rts_get_*): Fix style.
+-
+-2001-11-19  Laurent Guerby  <guerby@acm.org>
+-
+-      * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
+-      since it is of no apparent use and cause warnings.
+-
+-2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
+-
+-      * misc.c (gnat_decode_option, gnat_init_options): Make definitions
+-      static too.
+-      (gnat_init): Don't return NULL.
+-      (finish_parse): Remove.
+-
+-2001-11-17  Laurent Guerby  <guerby@acm.org>
+-
+-      * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
+-      * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
+-      * io-aux.c: Provide K&R prototypes to all functions, reformat code.
+-      * lang-spec.h: Add missing struct field to silence warnings.
+-      * sysdep.c (rts_get_*): Provide K&R prototype.
+-      * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
+-      * traceback.c (Unlock_Task, Lock_Task): Likewise.
+-      * tracebak.c (__gnat_backtrace): Remove unused variable.
+-      * utils.c (end_subprog_body): Move to K&R style.
+-
+-Thu Nov 15 18:16:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+-
+-      * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
+-
+-2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
+-
+-      * misc.c (gnat_init): Change prototype.  Include the
+-      functionality of the old init_parse and init_decl_processing.
+-      (gnat_init_decl_processing): New prototype.
+-      (init_parse): Remove.
+-      * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
+-
+-2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
+-
+-      * misc.c (gnat_print_decl, gnat_print_type): Renamed.
+-      (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
+-      (print_lang_statistics, lang_print_xnode, print_lang_identifier,
+-      set_yydebug): Remove.
+-
+-2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
+-
+-      * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
+-      (struct lang_hooks): Constify.
+-      (language_string, lang_identify): Remove.
+-      * utils.c (init_decl_processing): Update.
+-
+-2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+-
+-      * misc.c: Include langhooks-def.h.
+-      * Makefile.in: Update.
+-
+-2001-10-30  Robert Dewar  <dewar@gnat.com>
+-
+-      * style.adb:
+-      (Check_Identifier): Rewrite circuit to be compatible with use of letters
+-      in the upper half of ASCII.
+-      (Check_Identifier): Minor reformatting
+-
+-2001-10-30  Geert Bosch  <bosch@gnat.com>
+-
+-      * (Associated_Node, Set_Associated_Node): Do not check for
+-      Freeze_Entity.
+-
+-2001-10-30  Robert Dewar  <dewar@gnat.com>
+-
+-      * a-reatim.ads: Minor reformatting
+-
+-2001-10-30  Robert Dewar  <dewar@gnat.com>
+-
+-      * gnatdll.adb: Minor reformatting throughout. Many ??? added for
+-      undocumented declarations.
+-
+-2001-10-30  Pascal Obry  <obry@gnat.com>
+-
+-      * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
+-      to the binder and linker.
+-      Minor style fix.
+-
+-      * mdll.ads: Fix layout.  Update copyright notice.
+-
+-      * mdll.adb: Fix layout.  Update copyright notice.
+-
+-2001-10-30  Robert Dewar  <dewar@gnat.com>
+-
+-      * usage.adb: Minor fix to output for -gnaty.
+-
+-2001-10-30  Ed Schonberg  <schonber@gnat.com>
+-
+-      * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
+-      to accommodate all its possible values.
+-
+-      * a-reatim.adb (Split): Special-case handling of Time_Span_First
+-      and of small absolute values of T.
+-
+-2001-10-30  Richard Kenner  <kenner@gnat.com>
+-
+-      * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
+-      set_mem_attributes since not needed and wrong if RESULT if a REG;
+-      fixes ACATS failures.
+-
+-2001-10-30  Geert Bosch  <bosch@gnat.com>
+-
+-      * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
+-      s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
+-
+-2001-10-30  Robert Dewar  <dewar@gnat.com>
+-
+-      * bindusg.adb: Undocument -f switch.
+-
+-      * gnatcmd.adb: Remove /FULL_ELABORATION.
+-
+-      * opt.ads (Force_RM_Elaboration_Order): Document that this is
+-      obsolescent.
+-
+-      * gnatbind.adb: Output new warning for use of obsolescent -f switch.
+-
+-      * gnatbind.adb: Minor update of warning msg.
+-
+-2001-10-30  Vincent Celier  <celier@gnat.com>
+-
+-      * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
+-      for project file switches (-P (/PROJECT_FILE=),
+-       -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
+-      or MEDIUM or HIGH)
+-
+-2001-10-30  Geert Bosch  <bosch@gnat.com>
+-
+-      * decl.c: Minor whitespace fixes.
+-
+-2001-10-30  Richard Kenner  <kenner@gnat.com>
+-
+-      * utils2.c (build_allocator): Test for SIZE overflow in array case too
+-
+-2001-10-30  Geert Bosch  <bosch@gnat.com>
+-
+-      * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
+-      Found due to GCC 3.0 warning of using uninitialized value.
+-
+-      * layout.adb:
+-      (Get_Max_Size): Use variant record for tracking value/expression.
+-       Makes logic clearer and prevents warnings for uninitialized variables.
+-      (Layout_Array_Type): Use variant record for tracking value/expression.
+-       Makes logic clearer and prevents warnings for uninitialized variables.
+-
+-2001-10-30  Robert Dewar  <dewar@gnat.com>
+-
+-      * lib.adb: Minor reformatting
+-
+-      * s-taprop.ads: Minor reformatting
+-
+-2001-10-29  Laurent Guerby  <guerby@acm.org>
+-
+-      * init.c:
+-      (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
+-      const.
+-      (_gnat_error_handler): Make MSG const.
+-
+-2001-10-29  Richard Kenner  <kenner@gnat.com>
+-
+-      * sysdep.c: Fix localtime_r problem on LynxOS.
+-      Also remove #elif to avoid warnings.
+-
+-      * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
+-      used by this.
+-
+-      * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
+-
+-2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
+-
+-      * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
+-      exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
+-      g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
+-      g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
+-      layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
+-      s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
+-      sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
+-      sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
+-      sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
+-      types.ads, urealp.adb: Fix spelling errors.
+-
+-2001-10-27  Laurent Guerby  <guerby@acm.org>
+-
+-      * trans.c (gigi): Fix non determinism leading to bootstrap
+-      comparison failures for debugging information.
+-
+-2001-10-26  Florian Weimer  <fw@deneb.enyo.de>
+-
+-      * gnat_rm.texi: Use @./@: where appropriate.
+-
+-2001-10-26  Robert Dewar  <dewar@gnat.com>
+-
+-      * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
+-
+-2001-10-26  Richard Kenner  <kenner@gnat.com>
+-
+-      * gmem.c (__gnat_gmem_read_next): Properly check for EOF
+-
+-2001-10-26  Richard Kenner  <kenner@gnat.com>
+-
+-      * decl.c (validate_size): Modify message for bad size to avoid
+-      implication that compiler is modifying the size.
+-
+-2001-10-26  Robert Dewar  <dewar@gnat.com>
+-
+-      * prj-util.adb: Minor reformatting. Fix bad header format.
+-
+-2001-10-26  Robert Dewar  <dewar@gnat.com>
+-
+-      * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
+-
+-      * sinfo.ads: Clarify use of Associated_Node (documentation only).
+-
+-      * sem_ch12.adb: Change Node4 to Associated_Node. Change
+-      Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
+-      much more narrowly in places where needed. These are cleanups.
+-
+-2001-10-26  Joel Brobecker  <brobecke@gnat.com>
+-
+-      * 5zosinte.ads (null_pthread): new constant.
+-
+-      * 5ztaprop.adb:
+-      (Initialize_TCB): Initialize thread ID to null, to be able to verify
+-       later that this field has been set.
+-      (Finalize_TCB): ditto.
+-      (Suspend_Task): Verify that the thread ID is not null before using it.
+-      (Resume_Task): ditto.
+-
+-      * s-tasdeb.adb:
+-      (Resume_All_Tasks): Lock the tasks list before using it.
+-      (Suspend_All_Tasks): ditto.
+-
+-2001-10-26  Richard Kenner  <kenner@gnat.com>
+-
+-      * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
+-      Make constant variant of designated type for Is_Access_Constant.
+-      Call update_pointer_to with main variant.
+-
+-      * trans.c (process_freeze_entity, process_type):
+-      Call update_pointer_to on main variant.
+-
+-      * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
+-      If main variant, update all other variants.
+-
+-      * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
+-      TREE_STATIC.
+-
+-2001-10-26  Robert Dewar  <dewar@gnat.com>
+-
+-      * prj-util.adb: Minor reformatting
+-
+-2001-10-26  Robert Dewar  <dewar@gnat.com>
+-
+-      * prj-util.adb: Minor reformatting
+-
+-2001-10-26  Robert Dewar  <dewar@gnat.com>
+-
+-      * prj-attr.adb: Minor reformatting throughout
+-
+-2001-10-26  Robert Dewar  <dewar@gnat.com>
+-
+-      * prj-attr.ads: Minor reformatting
+-      Add ??? comment (this whole spec has almost no comments)
+-
+-2001-10-26  Vincent Celier  <celier@gnat.com>
+-
+-      * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
+-      ("//") that precede the drive letter on Interix.
+-
+-2001-10-26  Geert Bosch  <bosch@gnat.com>
+-
+-      * gnat_rm.texi: Add GNAT Reference Manual.
+-
+-2001-10-25  Robert Dewar  <dewar@gnat.com>
+-
+-      * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
+-      is Error. Similar change for other renaming cases.
+-
+-2001-10-25  Robert Dewar  <dewar@gnat.com>
+-
+-      * s-atacco.ads: Add pragma Inline_Always for functions.
+-      Fix header format. Add copyright 2001
+-
+-2001-10-25  Ed Schonberg  <schonber@gnat.com>
+-
+-      * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
+-      return Error rather than Empty so that analysis can proceed.
+-
+-2001-10-25  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_util.adb (Enter_Name): better handling of cascaded error
+-      messages when a unit appears in its own context.
+-
+-2001-10-25  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_util.adb (Defining_Entity): in case of error, attach created
+-      entity to specification, so that semantic analysis can proceed.
+-
+-2001-10-25  Robert Dewar  <dewar@gnat.com>
+-
+-      * sem_util.adb
+-      (Defining_Entity): Deal with Error.
+-      (Process_End_Label): Deal with bad end label for.
+-
+-2001-10-25  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_elab.adb (Check_A_Call): refine message when call is in an
+-      instance but callee is not declared in the generic unit.
+-
+-2001-10-25  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_elab.adb (Check_A_Call): check for renaming before finding the
+-      enclosing unit, which may already be different from the calling unit.
+-
+-2001-10-25  Geert Bosch  <bosch@gnat.com>
+-
+-      * 4gintnam.ads: fix header format.
+-
+-2001-10-25  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_res.adb (Resolve_Call): if the call is actually an indexing
+-      operation on the result of a parameterless call, perform elaboration
+-      check after the node has been properly rewritten.
+-
+-      * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
+-      inlined within the generic tree, the defining identifier is not a
+-      compilation_unit.
+-
+-2001-10-25  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_res.adb (Resolve): special-case resolution of Null in an
+-       instance or an inlined body to avoid view conflicts.
+-
+-      * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
+-       compatibility by retrieving the access type of the generic copy.
+-
+-2001-10-25  Robert Dewar  <dewar@gnat.com>
+-
+-      * sem_ch3.adb:
+-      (Analyze_Number_Declaration): Handle error expression.
+-      (Signed_Integer_Type_Declaration): Handle error bound.
+-      (Analyze_Subtype_Indication): Handle error range.
+-
+-      * sem_util.adb (Get_Index_Bounds): Check for Error.
+-
+-2001-10-25  Robert Dewar  <dewar@gnat.com>
+-
+-      * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
+-      in no run time mode.
+-
+-2001-10-25  Pascal Obry  <obry@gnat.com>
+-
+-      * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
+-      mode case for ALLOC case.
+-
+-      * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
+-      all platforms. Improvement of last change.
+-
+-2001-10-25  Robert Dewar  <dewar@gnat.com>
+-
+-      * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
+-
+-2001-10-25  Geert Bosch  <bosch@gnat.com>
+-
+-      * osint.adb (Is_Relative): Remove duplicate.
+-
+-2001-10-25  Pascal Obry  <obry@gnat.com>
+-
+-      * osint.adb (Read_Default_Search_Dirs): correctly detect relative
+-      pathnames in UNIX and DOS style with drive letter.
+-      (Is_Relative): new routine.
+-
+-      * osint.adb: Minor reformatting
+-
+-      * osint.adb (Is_Relative): implementation using
+-      GNAT.OS_Lib.Is_Absolute_Path. Better fix.
+-
+-2001-10-25  Pascal Obry  <obry@gnat.com>
+-
+-      * g-dirope.adb (Basename): correctly compute offset between the
+-      original Path and the translated one.
+-
+-      * g-dirope.adb: (Base_Name): add some comments.
+-
+-2001-10-25  Robert Dewar  <dewar@gnat.com>
+-
+-      * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
+-      in HIE mode, avoids compilation abandoned message
+-
+-      * exp_imgv.adb: Correct typo in previous change
+-
+-      * exp_imgv.adb: Correct typo in previous change (not my day!)
+-
+-2001-10-25  Robert Dewar  <dewar@gnat.com>
+-
+-      * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
+-
+-2001-10-25  Pascal Obry  <obry@gnat.com>
+-
+-      * g-awk.ads: Move all pragma inlines next to the routine
+-       declarations. This is more uniform with other GNAT spec.
+-
+-2001-10-22  Geert Bosch  <bosch@gnat.com>
+-
+-      * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
+-
+-2001-10-19  Geert Bosch  <bosch@gnat.com>
+-
+-      * Makefile.in (tools, gnattools): Remove gnatmem.
+-
+-2001-10-17  Richard Henderson  <rth@redhat.com>
+-
+-      * Makefile.in (misc.o): Depend on langhooks.h.
+-      * misc.c: Include it.
+-      (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
+-      (LANG_HOOKS_DECODE_OPTION): New.
+-      (lang_hooks): Use LANG_HOOKS_INITIALIZER.
+-
+-2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
+-
+-      * trans.c (tree_transform): Adjust to recent change in
+-      expand_asm_operands to implement named asm operands.
+-
+-2001-10-11  Ed Schonberg  <schonber@gnat.com>
+-
+-      * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
+-      renaming of discriminant for mutable record type.
+-
+-2001-10-11  Robert Dewar  <dewar@gnat.com>
+-
+-      * validsw.adb: Properly save -gnatVn status.
+-
+-2001-10-11  Robert Dewar  <dewar@gnat.com>
+-
+-      * usage.adb: Add lines for V switch.
+-
+-      * gnatcmd.adb (COMPILE): Revise translations for -gnatV
+-      (/VALIDITY_CHECKING).
+-
+-2001-10-11  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_type.adb (Add_One_Interp): an operator for a type declared in
+-      an extension of System is known to be visible.
+-
+-2001-10-11  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
+-      properly. Fixes regression on ACATS C34005G.
+-
+-2001-10-11  Robert Dewar  <dewar@gnat.com>
+-
+-      * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
+-      loop in generic instance, since this is likely not very useful.
+-
+-2001-10-11  Robert Dewar  <dewar@gnat.com>
+-
+-      * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
+-      the error message for high integrity mode.
+-
+-      * rtsfind.adb (RTE): Give message if we try to find an entity that
+-      is not available in high integrity mode.
+-
+-      * rtsfind.ads:
+-      (OK_To_Use_In_HIE_Mode): New array.
+-      (RTE): May return Empty in high integrity mode.
+-
+-      * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
+-      OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
+-
+-      * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
+-      unit if not inlined always and in no runtime mode. Fixes problem
+-      caused by new Rtsfind changes.
+-
+-      * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
+-      body is deleted.
+-
+-      * rtsfind.adb (RTE): Make sure we do not try to load unit after
+-      giving message for entity not available in high integrity mode.
+-
+-2001-10-11  Pascal Obry  <obry@gnat.com>
+-
+-      * impunit.adb: Add GNAT.CRC32.
+-
+-2001-10-11  Ed Schonberg  <schonber@gnat.com>
+-
+-      * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
+-      properly the case where one universal operand in a non-static
+-      exponentiation of a real literal.
+-
+-2001-10-11  Ed Schonberg  <schonber@gnat.com>
+-
+-      * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
+-      clause, return the gobal finalization list, for lack of anthing else.
+-
+-2001-10-11  Ed Schonberg  <schonber@gnat.com>
+-
+-      * exp_ch7.adb (Make_Transient_Block): if statement is within
+-      exception handler, always use new transient scope to place Clean
+-      procedure.
+-
+-2001-10-11  Pascal Obry  <obry@gnat.com>
+-
+-      * Makefile.in:
+-      (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
+-      (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
+-      (GNATLS_RTL_OBJS): add g-crc32.o
+-      (GNATMAKE_RTL_OBJS): add g-crc32.o
+-
+-      * ali-util.adb:
+-      (CRC_Match): new function.
+-      (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
+-      instead of the previous simple checksum algorithm.
+-      (Time_Stamp_Mismatch): use CRC_Match for comparison.
+-      (Set_Source_Table): idem.
+-
+-      * ali-util.ads:
+-      (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
+-      instead of simple checksum.
+-      (CRC_Match): new function.
+-      (CRC_Error): new constant.
+-
+-      * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
+-      a CRC now and not a simple checksum. A CRC uses lower-case hex
+-      letters, fixes ambiguity in parsing.
+-
+-      * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
+-      is what this variable will store.
+-
+-      * bcheck.adb: Change reference to chechsum in comments by CRC.
+-      (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
+-      rename All_Checksum_Match to All_CRC_Match. Change due to API
+-      renaming since now GNAT does not use a simple checksum but a
+-      CRC using GNAT.CRC32.
+-
+-      * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
+-      now and not anymore a simple checksum.
+-
+-      * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
+-      places.
+-
+-      * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
+-
+-      * scans.adb:
+-      (Restore_Scan_State): rename Checksum to CRC.
+-      (Save_Scan_State): idem.
+-
+-      * scans.ads:
+-      With GNAT.CRC32.
+-      (Checksum): rename to CRC.
+-      (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
+-
+-      * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
+-      GNAT.CRC32).  Update copyright notice.
+-
+-      * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
+-      GNAT.CRC32).  Update copyright notice.
+-
+-      * scn.adb:
+-      (Accumulate_Checksum): removed.
+-      (Update): new procedure. Add a wide-character into the CRC.
+-
+-      * sinput-l.adb:
+-      (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
+-      (Load_File): fix initialization of S (change Source_Checksum to
+-      Source_CRC)
+-
+-      * sinput-p.adb (Load_Project_File): rename Source_Checksum to
+-      Source_CRC in S initialization.
+-
+-      * sinput.adb (Source_Checksum): renamed to Source_CRC.
+-
+-      * sinput.ads (Source_Checksum): renamed to Source_CRC.
+-      Update comments for the CRC.
+-
+-      * types.adb (Hex): Use lowercase for the letter part.
+-
+-      * types.ads (Get_Hex_String): Returns the hexadecimal representation
+-      for a word. This is currently used only for CRC. In previous version,
+-      the checksum was using a representation with all letter being
+-      upper-case. With the new implementation (using CRC) we do not remove
+-      the 32th bit of the CRC, so we can have an upper-case starting letter
+-      in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
+-      It is ambigous since the CRC was optional and could be followed by
+-      options like EB, EE. So now this routines uses lower-case letter for
+-      the hexadecimal representation. Strange enough only lower case letters
+-      where checked in Scan_ALI (even if this was not a possible case).
+-
+-      * gnatvsn.ads (Library_Version): changed to 3.15a.
+-
+-      * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
+-      for the compiler.
+-
+-      * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
+-      for the compiler.
+-
+-      * ali-util.adb: Redo previous change to avoid using word CRC everywhere
+-      Add 2001 to copyright notice
+-      (Accumulate_Checksum): Modify to use System.CRC32.
+-
+-      * ali-util.ads: Redo changes of previous revision to continue to use
+-      the word Checksum. Add 2001 to copyright notice.
+-
+-      * ali.adb: Undo some of previous changes, not needed.
+-      Keep the change for lower case letters in the checksum.
+-
+-      * ali.ads: Undo previous change not needed.
+-
+-      * bcheck.adb: Undo most of previous change, not needed.
+-      But do use Checksums_Match for checksum comparison.
+-
+-      * gnatls.adb: Undo most of previous change, not needed.
+-      But do use Checksums_Match for comparing checksums.
+-
+-      * lib-load.adb: Undo previous change, not needed.
+-
+-      * lib-writ.adb: Undo previous change, not needed.
+-
+-      * lib-writ.ads: Document that checksums use lower case,
+-      not upper case letters.
+-
+-      * scans.adb: Undo previous change, not needed
+-
+-      * scans.ads: Undo previous change, not needed.
+-
+-      * scn-nlit.adb: Undo previous changes, not needed.
+-
+-      * scn-slit.adb: Undo previous change, not needed.  Fix header format.
+-
+-      * scn.adb:
+-      (Accumulate_Checksum): Use System.CRC32.
+-      (Initialize_Checksum): New procedure.
+-      Remove other changes of previous revision.
+-
+-      * sinput-p.adb: Undo previous change, not needed.
+-
+-      * sinput.adb: Undo previous change, not needed.
+-
+-      * sinput-l.adb: Undo previous change, not needed.
+-
+-      * sinput.ads: Undo previous change, not needed.  Keep only comment
+-      on new checksum algorithm
+-
+-      * Makefile.in: Add s-crc32 as needed, remove g-crc32.
+-      Also remove a-tags and a-stream from GNAT sources.
+-
+-      * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
+-
+-      * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
+-
+-2001-10-11  Geert Bosch  <bosch@gnat.com>
+-
+-      * einfo.h: Regenerate.
+-
+-      * nmake.ads: Regenerate.
+-
+-      * nmake.adb: Regenerate.
+-
+-      * sinfo.h: Regenerate.
+-
+-      * treeprs.adb: Regenerate.
+-
+-2001-10-10  Geert Bosch  <bosch@gnat.com>
+-
+-      * gnat-style.texi: New file describing coding guidelines for Ada.
+-
+-2001-10-10  Ed Schonberg  <schonber@gnat.com>
+-
+-      * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
+-      is Flag174.
+-
+-2001-10-10  Geert Bosch  <bosch@gnat.com>
+-
+-      * snames.ads: Add new names for project facility.
+-
+-      * snames.adb: Update to reflect snames.ads changes.
+-
+-      * snames.h: Update to reflect snames.ads changes.
+-
+-2001-10-10  Vincent Celier  <celier@gnat.com>
+-
+-      * make.adb:
+-      (Add_Switches): reflect the changes for the switches attributes
+-      Default_Switches indexed by the programming language,
+-      Switches indexed by the file name.
+-      (Collect_Arguments_And_Compile): Idem.
+-      Reflect the attribute name changes.
+-
+-      * prj-attr.adb:
+-      (Initialisation_Data): Change the names of some packages and
+-      attributes.
+-      (Initialize): process case insensitive associative arrays.
+-
+-      * prj-attr.ads:
+-      (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
+-
+-      * prj-dect.adb:
+-      (Parse_Attribute_Declaration): For case insensitive associative
+-       arrays, set the index string to lower case.
+-
+-      * prj-env.adb:
+-      Reflect the changes of the project attributes.
+-
+-      * prj-nmsc.adb:
+-      Replace Check_Naming_Scheme by Ada_Check and
+-      Language_Independent_Check.
+-
+-      * prj-nmsc.ads:
+-      Replaced Check_Naming_Scheme by 2 procedures:
+-      Ada_Check and Language_Independent_Check.
+-
+-      * prj-proc.adb:
+-      (Process_Declarative_Items): For case-insensitive associative
+-      arrays, set the index string to lower case.
+-      (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
+-      Prj.Nmsc.Check_Naming_Scheme.
+-
+-      * prj-tree.adb:
+-      (Case_Insensitive): New function
+-      (Set_Case_Insensitive): New procedure
+-
+-      * prj-tree.ads:
+-      (Case_Insensitive): New function
+-      (Set_Case_Insensitive): New procedure
+-      (Project_Node_Record): New flag Case_Insensitive.
+-
+-      * prj-util.adb:
+-      (Value_Of): new function to get the string value of a single
+-      string variable or attribute.
+-
+-      * prj-util.ads:
+-      (Value_Of): new function to get the string value of a single
+-      string variable or attribute.
+-
+-      * prj.adb:
+-      (Ada_Default_Spec_Suffix): New function
+-      (Ada_Default_Impl_Suffix): New function
+-      Change definitions of several constants to reflect
+-      new components of record types.
+-
+-      * prj.ads:
+-      (Naming_Data): Change several components to reflect new
+-      elements of naming schemes.
+-      (Project_Data): New flags Sources_Present and
+-      Language_Independent_Checked.
+-      (Ada_Default_Spec_Suffix): New function.
+-      (Ada_Default_Impl_Suffix): New function.
+-
+-      * snames.ads:
+-      Modification of predefined names for project manager: added
+-      Implementation, Specification_Exceptions, Implementation_Exceptions,
+-      Specification_Suffix, Implementation_Suffix, Separate_Suffix,
+-      Default_Switches, _Languages, Builder, Cross_Reference,
+-      Finder. Removed Body_Part, Specification_Append, Body_Append,
+-      Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
+-      Gnatlink.
+-
+-      * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
+-      Add comments.
+-
+-      * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
+-      not that it is Nil_Variable_Value.
+-
+-      * prj.ads: Add ??? for uncommented declarations
+-
+-2001-10-10  Ed Schonberg  <schonber@gnat.com>
+-
+-      * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
+-      constant, do not indicate possible modification, so that gigi can
+-      treat it as a bona fide constant.
+-
+-2001-10-10  Robert Dewar  <dewar@gnat.com>
+-
+-      * sem_prag.adb: Add processing for pragma External.
+-
+-      * snames.ads: Add entry for pragma External.
+-
+-      * par-prag.adb: Add pragma External.
+-
+-      * snames.adb: Updated to match snames.ads.
+-
+-2001-10-10  Ed Schonberg  <schonber@gnat.com>
+-
+-      * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
+-      a dynamic task if the allocator appears in an indexed assignment
+-      or selected component assignment.
+-
+-      * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
+-      For a dynamic task in an assignment statement, use target of
+-      assignment to generate meaningful name.
+-
+-2001-10-10  Ed Schonberg  <schonber@gnat.com>
+-
+-      * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
+-      a generic package.
+-
+-      * einfo.ads: Body_Entity is also defined for generic package.
+-      Documentation change only
+-
+-      * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
+-      others_choice for a discriminated component initialization,
+-      convert discriminant references into the corresponding discriminals.
+-
+-      * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
+-      only if original type is private and expression has to be wrapped
+-      in a conversion.
+-
+-      * checks.adb:
+-      (Apply_Constraint_Check): Do not perform length check
+-      if expression is an aggregate with only an others_choice.
+-      (Length_N_Cond): two references to the same in_parameter
+-      (typically the discriminal in an init_proc) denote the same value.
+-      Two useful optimization uncovered by bugfixes above.
+-
+-2001-10-10  Robert Dewar  <dewar@gnat.com>
+-
+-      * xeinfo.adb: Change int to char in translation of enumeration types.
+-      This fixes a problem in the C representation of component alignment.
+-      Add 2001 to copyright notice
+-
+-2001-10-10  Richard Kenner  <kenner@gnat.com>
+-
+-      * decl.c: (validate_size): Do check size of object of integral type
+-      if it is a packed array type.
+-
+-2001-10-10  Richard Kenner  <kenner@gnat.com>
+-
+-      * decl.c: (gnat_to_gnu_entity, case object): Also materialize
+-      VAR_DECL for constant if not Is_Public but -O0.
+-
+-2001-10-10  Richard Kenner  <kenner@gnat.com>
+-
+-      * misc.c (struct lang_hooks): Add new initializer to match GCC change.
+-
+-2001-10-10  Geert Bosch  <bosch@gnat.com>
+-
+-      * xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer
+-      use '/' as switch character, allowing for absolute file names.
+-
+-2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
+-
+-      * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
+-      FSF address.
+-
+-2001-10-08  Geert Bosch  <bosch@gnat.com>
+-
+-      * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
+-      Automatically build utilities when files need to be regenerated.
+-
+-2001-10-08  Geert Bosch  <bosch@gnat.com>
+-
+-      * xsnames.adb: New utility for updating snames.ads and snames.adb
+-
+-2001-10-08  Zack Weinberg  <zack@codesourcery.com>
+-
+-      * Make-lang.in (ADAFLAGS): Add -W -Wall.
+-      (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
+-      (gnat1): Also depend on attribs.o.
+-      (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
+-      * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
+-      (ADAC): Set to @ADAC@ in stage1, $(CC) later.
+-      (ADAFLAGS): Add -W -Wall.
+-      (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
+-      take out CFLAGS.
+-
+-      (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
+-      s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
+-      s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
+-      Use $(ADAC), not $(CC), as compilation command.
+-
+-      (gnattools): Depend directly on tools to build, don't use
+-      recursive make.
+-      (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
+-
+-      * einfo.h, sinfo.h: New files (autogenerated).
+-
+-2001-10-08  Richard Henderson  <rth@redhat.com>
+-
+-      * comperr.adb (Abort_In_Progress): New.
+-      (Compiler_Abort): Use it to prevent recursion.
+-
+-2001-10-08  Robert Dewar  <dewar@gnat.com>
+-
+-      * atree.adb: Set Error_Posted in Error node, helps error recovery.
+-
+-      * par-endh.adb (Output_End_Expected): We should also not test
+-      Error_Posted on the Error node, since now it is always set.
+-
+-      * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
+-      to help error recovery. Part of general work on 9407-004.
+-
+-      * par.adb: Add ??? for misuse of error
+-
+-      * sem_res.adb:
+-      (Resolve): Defend against Error, fixes 9407-003.
+-      (Resolve_Discrete_Subtype_Indication): Defend against Error.
+-
+-      * sinfo.ads (N_Error): Now has Etype field (which will be set
+-      to Any_Type to help error recovery).
+-
+-2001-10-08  Richard Kenner  <kenner@gnat.com>
+-
+-      * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
+-      Consistently set MEM attributes from expression; fixes
+-      bootstrap failure on x86.
+-
+-2001-10-08  Geert Bosch  <bosch@gnat.com>
+-
+-      * 5oosinte.adb: Add 2001 to copyright notice.
+-
+-2001-10-08  Geert Bosch  <bosch@gnat.com>
+-
+-      * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
+-
+-      * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
+-
+-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+-
+-      * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
+-
+-2001-10-05  Geert Bosch  <bosch@gnat.com>
+-
+-      * adaint.h: Small formatting fix.
+-
+-2001-10-04  Geert Bosch  <bosch@gnat.com>
+-
+-      * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
+-      Arg is int, not FILE *, in dummy version of functions.
+-
+-      * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
+-      Arg is int, not FILE *.
+-
+-2001-10-04  Geert Bosch  <bosch@gnat.com>
+-
+-      * 3lsoccon.ads: Added file, missed with initial check ins.
+-
+-      * 4lintnam.ads: Fix header format.
+-      Change Linux to GNU/Linux.
+-
+-      * 5iosinte.adb: Change Linux to GNU/Linux.
+-
+-      * 5iosinte.ads: Change Linux to GNU/Linux.
+-
+-      * 5itaprop.adb: Change Linux to GNU/Linux.
+-
+-      * 5itaspri.ads: Change Linux to GNU/Linux.
+-      Update copyright notice.
+-
+-      * 5lintman.adb: Change Linux to GNU/Linux.
+-
+-      * 5lml-tgt.adb: Change Linux to GNU/Linux.
+-
+-      * 5losinte.ads: Change Linux to GNU/Linux.
+-
+-      * 5lsystem.ads: Change Linux to GNU/Linux.
+-
+-      * 5qosinte.adb: Change Linux to GNU/Linux.
+-
+-      * 5qosinte.ads: Change Linux to GNU/Linux.
+-
+-      * 5qparame.ads: Change Linux to GNU/Linux.
+-
+-      * 5qtaprop.adb: Change Linux to GNU/Linux.
+-
+-      * 5qtaspri.ads: Change Linux to GNU/Linux.
+-      Add 2001 to copyright notice.
+-
+-      * 5vintman.ads: Change Linux to GNU/Linux.
+-      Fix header format.  Add 2001 to copyright notice.
+-
+-      * g-soccon.ads: Change Linux to GNU/Linux.
+-
+-      * g-trasym.ads: Change Linux to GNU/Linux.
+-      Add 2001 to copyright notice.
+-
+-      * memtrack.adb: Change Linux to GNU/Linux.
+-
+-      * s-intman.ads: Change Linux to GNU/Linux.
+-      Add 2001 to copyright notice.  Fix header format.
+-
+-      * s-stache.adb: Change Linux to GNU/Linux.
+-
+-      * adaint.c: Change Linux to GNU/Linux.
+-
+-      * cio.c: Change Linux to GNU/Linux.
+-
+-      * cstreams.c: Change Linux to GNU/Linux.
+-
+-      * init.c: Change Linux to GNU/Linux.
+-
+-      * gmem.c: Change Linux to GNU/Linux.
+-
+-      * tracebak.c: Change Linux to GNU/Linux.
+-
+-
+-2001-10-02  Geert Bosch  <bosch@gnat.com>
+-
+-      * misc.c (insert_default_attributes): Add dummy version.
++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.
+Index: gcc/ada/gcc-interface/utils.c
+===================================================================
+--- gcc/ada/gcc-interface/utils.c      (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/ada/gcc-interface/utils.c      (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1570,6 +1570,15 @@
+   TREE_STATIC (var_decl)
+     = !extern_flag && (public_flag || static_flag || global_bindings_p ());
++  /* For an external constant whose initializer is not absolute, do not emit
++     debug info.  In DWARF this would mean a global relocation in a read-only
++     section which runs afoul of the PE-COFF runtime relocation mechanism.  */
++  if (extern_flag
++      && constant_p
++      && initializer_constant_valid_p (var_init, TREE_TYPE (var_init))
++         != null_pointer_node)
++    DECL_IGNORED_P (var_decl) = 1;
++
+   if (asm_name && VAR_OR_FUNCTION_DECL_P (var_decl))
+     SET_DECL_ASSEMBLER_NAME (var_decl, asm_name);
+Index: gcc/ada/gcc-interface/utils2.c
+===================================================================
+--- gcc/ada/gcc-interface/utils2.c     (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/ada/gcc-interface/utils2.c     (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -6,7 +6,7 @@
+  *                                                                          *
+  *                          C Implementation File                           *
+  *                                                                          *
+- *          Copyright (C) 1992-2008, Free Software Foundation, Inc.         *
++ *          Copyright (C) 1992-2009, Free Software Foundation, Inc.         *
+  *                                                                          *
+  * GNAT is free software;  you can  redistribute it  and/or modify it under *
+  * terms of the  GNU General Public License as published  by the Free Soft- *
+@@ -1010,11 +1010,15 @@
+     case PLUS_EXPR:
+     case MINUS_EXPR:
+-      /* Avoid doing arithmetics in BOOLEAN_TYPE like the other compilers.
+-       Contrary to C, Ada doesn't allow arithmetics in Standard.Boolean
+-       but we can generate addition or subtraction for 'Succ and 'Pred.  */
+-      if (operation_type && TREE_CODE (operation_type) == BOOLEAN_TYPE)
+-      operation_type = left_base_type = right_base_type = integer_type_node;
++      /* Avoid doing arithmetics in ENUMERAL_TYPE or BOOLEAN_TYPE like the
++       other compilers.  Contrary to C, Ada doesn't allow arithmetics in
++       these types but can generate addition/subtraction for Succ/Pred.  */
++      if (operation_type
++        && (TREE_CODE (operation_type) == ENUMERAL_TYPE
++            || TREE_CODE (operation_type) == BOOLEAN_TYPE))
++      operation_type = left_base_type = right_base_type
++        = gnat_type_for_mode (TYPE_MODE (operation_type),
++                              TYPE_UNSIGNED (operation_type));
+       /* ... fall through ... */
+@@ -2199,7 +2203,7 @@
+         add_stmt (build3 (COND_EXPR, void_type_node,
+                           build_binary_op (GE_EXPR, long_integer_type_node,
+                                            convert (long_integer_type_node,
+-                                                    addr64expr), 
++                                                    addr64expr),
+                                            malloc64low),
+                           build_call_raise (CE_Range_Check_Failed, gnat_actual,
+                                             N_Raise_Constraint_Error),
+Index: gcc/ada/ChangeLog-2001
+===================================================================
+--- gcc/ada/ChangeLog-2001     (.../tags/gcc_4_4_0_release)    (wersja 0)
++++ gcc/ada/ChangeLog-2001     (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -0,0 +1,2239 @@
++2001-12-23  Richard Henderson  <rth@redhat.com>
++
++      * utils.c (end_subprog_body): Push GC context around
++      rest_of_compilation for nested functions.
++
++2001-12-23  Richard Henderson  <rth@redhat.com>
++
++      * 5nosinte.ads: Get definition of "int" from Interfaces.C.
++
++2001-12-23  Florian Weimer  <fw@deneb.enyo.de>
++
++      * gnat-style.texi (Declarations and Types): Remove ancient style
++      rule which was mandated by code generation issues.
++
++      * gnat-style.texi (header): Add @dircategory, @direntry.
++      (title page): Remove date.
++      (general) Add @./@: where approriate, and two spaces after the
++      full stop at the end of a sentence.  Use @samp markup when
++      referring concrete lexical entities (keywords, attribute names
++      etc.), and @syntax for ARM grammar elements. Use @r for English
++      text in comments.  Use @emph for emphasis.  Change "if-statements"
++      etc. to "if statements" (without @samp). Break long lines.  Make
++      casing of section names consistent.
++      (Identifiers): Use @samp markup for variable names.
++      (Comments): Use @samp markup for comment characters. Line-end
++      comments may follow any Ada code, not just statements.  Fix
++      misspelling of "Integer" as "integer".
++      (Loop statements): Do not use variable name "I", use "J".
++      (Subprogram Declarations): Document alignment.
++      (Subprogram Bodies, Block statements): Document empty line before
++      "begin".
++
++2001-12-22  Florian Weimer  <fw@deneb.enyo.de>
++
++      * make.adb (Add_Switch): Make Generic_Position a procedure.  The
++      function approach did not work well because of a side effect (the
++      function call could reallocate the table which was being indexed
++      using its result). Fixes ada/4851.
++
++2001-12-19  Robert Dewar  <dewar@gnat.com>
++
++      * bindgen.adb: Minor reformatting
++
++      * cstand.adb: Minor reformatting
++
++      * fmap.adb: Minor reformatting
++      Change name from Add for Add_To_File_Map (Add is much too generic)
++      Change Path_Name_Of to Mapped_Path_Name
++      Change File_Name_Of to Mapped_File_Name
++      Fix copyright dates in header
++
++      * fmap.ads:
++      Change name from Add for Add_To_File_Map (Add is much too generic)
++      Change Path_Name_Of to Mapped_Path_Name
++      Change File_Name_Of to Mapped_File_Name
++      Fix copyright dates in header
++
++      * fname-uf.adb: Minor reformatting.  New names of stuff in Fmap.
++      Add use clause for Fmap.
++
++      * make.adb: Minor reformatting
++
++      * osint.adb: Minor reformatting.  Change of names in Fmap.
++      Add use clause for Fmap.
++
++      * prj-env.adb: Minor reformatting
++
++      * prj-env.ads: Minor reformatting
++
++      * switch.adb: Minor reformatting.  Do proper raise of Bad_Switch if
++      error found (there were odd exceptions to this general rule in
++      -gnatec/-gnatem processing)
++
++2001-12-19  Olivier Hainque  <hainque@gnat.com>
++
++      * raise.c (__gnat_eh_personality): Exception handling personality
++      routine for Ada.  Still in rough state, inspired from the C++ version
++      and still containing a bunch of debugging artifacts.
++      (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
++      inspired from the C++ library.
++
++      * raise.c (eh_personality): Add comments. Part of work for the GCC 3
++      exception handling integration.
++
++2001-12-19  Arnaud Charlet  <charlet@gnat.com>
++
++      * Makefile.in: Remove use of 5smastop.adb which is obsolete.
++      (HIE_SOURCES): Add s-secsta.ad{s,b}.
++      (HIE_OBJS): Add s-fat*.o
++      (RAVEN_SOURCES): Remove files that are no longer required. Add
++      interrupt handling files.
++      (RAVEN_MOD): Removed, no longer needed.
++
++2001-12-19  Robert Dewar  <dewar@gnat.com>
++
++      * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
++      Add 2001 to copyright date
++
++      * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
++      need to force universal inlining for these cases.
++
++2001-12-19  Arnaud Charlet  <charlet@gnat.com>
++
++      * s-taprob.adb: Minor clean ups so that this unit can be used in
++      Ravenscar HI.
++
++      * exp_ch7.adb: Allow use of secondary stack in HI mode.
++      Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
++
++2001-12-19  Vincent Celier  <celier@gnat.com>
++
++      * prj-tree.ads (Project_Node_Record): Add comments for components
++      Pkg_Id and Case_Insensitive.
++
++2001-12-19  Pascal Obry  <obry@gnat.com>
++
++      * g-socket.adb: Minor reformatting. Found while reading code.
++
++2001-12-19  Robert Dewar  <dewar@gnat.com>
++
++      * prj-tree.ads: Minor reformatting
++
++2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
++
++      * config-lang.in (diff_excludes): Remove.
++
++2001-12-17  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_res.adb (Resolve_Selected_Component): do not generate a
++      discriminant check if the selected component is a component of
++      the argument of an initialization procedure.
++
++      * trans.c (tree_transform, case of arithmetic operators): If result
++      type is private, the gnu_type is the base type of the full view,
++      given that the full view itself may be a subtype.
++
++2001-12-17  Robert Dewar  <dewar@gnat.com>
++
++      * sem_res.adb: Minor reformatting
++
++      * trans.c (tree_transform, case N_Real_Literal): Add missing third
++      parameter in call to Machine (unknown horrible effects from this
++      omission).
++
++      * urealp.h: Add definition of Round_Even for call to Machine
++      Add third parameter for Machine
++
++2001-12-17  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
++      predefined units in No_Run_Time mode.
++
++2001-12-17  Richard Kenner  <kenner@gnat.com>
++
++      * misc.c (insn-codes.h): Now include.
++
++2001-12-17  Olivier Hainque  <hainque@gnat.com>
++
++      * a-except.adb: Preparation work for future integration of the GCC 3
++      exception handling mechanism
++      (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
++      to factorize previous code sequences and make them externally callable,
++      e.g. for the Ada personality routine when the GCC 3 mechanism is used.
++      (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
++      Use the new notification routines.
++
++2001-12-17  Emmanuel Briot  <briot@gnat.com>
++
++      * prj-tree.ads (First_Choice_Of): Document the when others case
++
++2001-12-17  Arnaud Charlet  <charlet@gnat.com>
++
++      * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
++      HI-E mode, in order to support Ravenscar profile properly.
++
++      * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
++      mode on 32 bits targets.
++
++2001-12-17  Vincent Celier  <celier@gnat.com>
++
++      * fmap.adb: Initial version.
++
++      * fmap.ads: Initial version.
++
++      * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
++      If search is successfully done, add to mapping.
++
++      * frontend.adb: Initialize the mapping if a -gnatem switch was used.
++
++      * make.adb:
++      (Gnatmake): Add new local variable Mapping_File_Name.
++       Create mapping file when using project file(s).
++       Delete mapping file before exiting.
++
++      * opt.ads (Mapping_File_Name): New variable
++
++      * osint.adb (Find_File): Use path name found in mapping, if any.
++
++      * prj-env.adb (Create_Mapping_File): New procedure
++
++      * prj-env.ads (Create_Mapping_File): New procedure.
++
++      * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
++      (Mapping_File)
++
++      * usage.adb: Add entry for new switch -gnatem.
++
++      * Makefile.in: Add dependencies for fmap.o.
++
++2001-12-17  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
++      is a package instantiation rewritten as a package body.
++      (Install_Withed_Unit): Undo previous change, now redundant.
++
++2001-12-17  Gary Dismuke  <dismukes@gnat.com>
++
++      * layout.adb:
++      (Compute_Length): Move conversion to Unsigned to callers.
++      (Get_Max_Size): Convert Len expression to Unsigned after calls to
++      Compute_Length and Determine_Range.
++      (Layout_Array_Type): Convert Len expression to Unsigned after calls to
++      Compute_Length and Determine_Range.
++      Above changes fix problem with length computation for supernull arrays
++      where Max (Len, 0) wasn't getting applied due to the Unsigned
++      conversion used by Compute_Length.
++
++2001-12-17  Arnaud Charlet  <charlet@gnat.com>
++
++      * rtsfind.ads:
++      (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
++       System.Secondary_Stack.
++      (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
++       in HI-E mode.
++      Remove unused entity RE_Exception_Data.
++
++      * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
++
++      * rident.ads (No_Secondary_Stack): New restriction.
++
++2001-12-17  Joel Brobecker  <brobecke@gnat.com>
++
++      * gnat_rm.texi: Fix minor typos. Found while reading the section
++      regarding "Bit_Order Clauses" that was sent to a customer.
++      Very interesting documentation!
++
++2001-12-17  Robert Dewar  <dewar@gnat.com>
++
++      * sem_case.adb (Choice_Image): Avoid creating improper character
++      literal names by using the routine Set_Character_Literal_Name. This
++      fixes bombs in certain error message cases.
++
++2001-12-17  Arnaud Charlet  <charlet@gnat.com>
++
++      * a-reatim.adb: Minor reformatting.
++
++2001-12-17  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
++      case where the formal is an extension of another formal in the current
++      unit or in a parent generic unit.
++
++2001-12-17  Arnaud Charlet  <charlet@gnat.com>
++
++      * s-tposen.adb: Update comments.  Minor reformatting.
++      Minor code clean up.
++
++      * s-tarest.adb: Update comments.  Minor code reorganization.
++
++2001-12-17  Gary Dismukes  <dismukes@gnat.com>
++
++      * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
++      when Java_VM.
++
++2001-12-17  Robert Dewa  <dewar@gnat.com>
++
++      * exp_attr.adb: Minor reformatting
++
++2001-12-17  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
++      derivations nested within a child unit: verify that the parent
++      type is declared in an outer scope.
++
++2001-12-17  Robert Dewar  <dewar@gnat.com>
++
++      * sem_ch12.adb: Minor reformatting
++
++2001-12-17  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
++      warning if current unit is a predefined one, from which bodies may
++      have been deleted.
++
++2001-12-17  Robert Dewar  <dewar@gnat.com>
++
++      * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
++      Fix header format. Add 2001 to copyright date.
++
++      * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
++      which caused CE during compilation if checks were enabled.
++
++2001-12-17  Vincent Celier  <celier@gnat.com>
++
++      * make.adb:
++      (Switches_Of): New function
++      (Test_If_Relative_Path): New procedure
++      (Add_Switches): Use new function Switches_Of
++      (Collect_Arguments_And_Compile): Use new function Switches_Of.
++      When using a project file, test if there are any relative
++      search path. Fail if there are any.
++      (Gnatmake): Only add switches for the primary directory when not using
++      a project file. When using a project file, change directory to the
++      object directory of the main project file. When using a project file,
++      test if there are any relative search path. Fail if there are any.
++      When using a project file, fail if specified executable is relative
++      path with directory information, and prepend executable, if not
++      specified as an absolute path, with the exec directory.  Make sure
++      that only one -o switch is transmitted to the linker.
++
++      * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
++
++      * prj-nmsc.adb:
++      (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
++      when using a non standard naming scheme.
++      (Check_Ada_Naming_Scheme): Make sure that error messages
++      do not raise exceptions.
++      (Is_Illegal_Append): Return True if there is no dot in the suffix.
++      (Language_Independent_Check): Check the exec directory.
++
++      * prj.adb (Project_Empty): Add new component Exec_Directory
++
++      * prj.ads:
++      (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
++      (Project_Data): Add component Exec_Directory
++
++      * snames.adb: Updated to match snames.ads revision 1.215
++
++      * snames.ads: Added Exec_Dir
++
++2001-12-17  Robert Dewar  <dewar@gnat.com>
++
++      * make.adb: Minor reformatting
++
++      * prj-nmsc.adb: Minor reformatting
++
++      * snames.adb: Updated to match snames.ads
++
++      * snames.ads: Alphebetize entries for project file
++
++2001-12-17  Ed Schonberg  <schonber@gnat.com>
++
++      * trans.c (process_freeze_entity): Do nothing if the entity is a
++      subprogram that was already elaborated.
++
++2001-12-17  Richard Kenner  <kenner@gnat.com>
++
++      * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
++      and Esize if object is referenced via pointer.
++
++2001-12-17  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
++      is discrete before analyzing choices.
++
++2001-12-17  Joel Brobecker  <brobecke@gnat.com>
++
++      * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
++      containing the name of the Ada Main Program. This string is mainly
++      intended for the debugger.
++      (Gen_Output_File_C): Do the equivalent change when generating a C file.
++
++2001-12-17  Robert Dewar  <dewar@gnat.com>
++
++      * ali.adb: Set new Dummy_Entry field in dependency entry
++
++      * ali.ads: Add Dummy_Entry field to source dependency table
++
++      * bcheck.adb (Check_Consistency): Ignore dummy D lines
++
++      * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
++
++      * lib-writ.ads: Document dummy D lines for missing files.
++
++      * types.ads: (Dummy_Time_Stamp): New value for non-existant files
++
++2001-12-17  Robert Dewar  <dewar@gnat.com>
++
++      * ali.adb: Type reference does not reset current file.
++
++      * ali.adb: Recognize and scan renaming reference
++
++      * ali.ads: Add spec for storing renaming references.
++
++      * lib-xref.ads: Add documentation for handling of renaming references
++
++      * lib-xref.adb: Implement output of renaming reference.
++
++      * checks.adb:
++      (Determine_Range): Document local variables
++      (Determine_Range): Make sure Hbound is initialized. It looks as though
++       there could be a real problem here with an uninitialized reference
++       to Hbound, but no actual example of failure has been found.
++
++2001-12-17  Laurent Pautet  <pautet@gnat.com>
++
++      * g-socket.ads:
++      Fix comment of Shutdown_Socket and Close_Socket. These functions
++      should not fail silently because if they are called twice, this
++      probably means that there is a race condition in the user program.
++      Anyway, this behaviour is consistent with the rest of this unit.
++      When an error occurs, an exception is raised with the error message
++      as exception message.
++
++2001-12-17  Robert Dewar  <dewar@gnat.com>
++
++      * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
++      that it happens before modification of Sloc values for -gnatD.
++
++      * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
++      so that it happens before modification of Sloc values for -gnatD.
++
++      * switch.adb: Minor reformatting
++
++2001-12-15  Richard Henderson  <rth@redhat.com>
++
++      * sem_ch7.adb: Wrap comment.
++
++2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
++
++      * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
++      5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
++      5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
++      5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
++      5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
++      7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
++      a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
++      a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
++      cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
++      exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
++      exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
++      g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
++      gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
++      make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
++      par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
++      repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
++      s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
++      s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
++      s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
++      s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
++      sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
++      sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
++      sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
++      sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
++      spelling errors.
++
++2001-12-14  Vincent Celier  <celier@gnat.com>
++
++      * osint.adb(Create_Debug_File): When an object file is specified,
++      put the .dg file in the same directory as the object file.
++
++2001-12-14  Robert Dewar  <dewar@gnat.com>
++
++      * osint.adb: Minor reformatting
++
++      * lib-xref.adb (Output_Instantiation): New procedure to generate
++      instantiation references.
++
++      * lib-xref.ads: Add documentation of handling of generic references.
++
++      * ali.adb (Read_Instantiation_Ref): New procedure to read
++      instantiation references
++
++      * ali.ads: Add spec for storing instantiation references
++
++      * bindusg.adb: Minor reformatting
++
++      * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
++
++      * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
++
++      * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
++
++      * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
++
++      * csets.ads:
++      Fix header format
++      Add 2001 to copyright date
++      Add entry for Latin-5 (Cyrillic ISO-8859-5)
++
++2001-12-14  Matt Gingell  <gingell@gnat.com>
++
++      * adaint.c: mktemp is a macro on Lynx and can not be used as an
++      expression.
++
++2001-12-14  Richard Kenner  <kenner@gnat.com>
++
++      * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
++      if operand is CONSTRUCTOR.
++
++2001-12-14  Ed Schonberg  <schonber@gnat.com>
++
++      * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
++      before emiting check on right-hand side, so that exception information
++      is correct.
++
++2001-12-14  Richard Kenner  <kenner@gnat.com>
++
++      * utils.c (create_var_decl): Throw away initializing expression
++      if just annotating types and non-constant.
++
++2001-12-14  Vincent Celier  <celier@gnat.com>
++
++      * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
++      Default_Ada_...
++
++      * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
++      Remove functions.
++      (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
++
++      * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
++      Remove functions.
++      (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
++
++2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
++
++      * ChangeLog: Remove piece of diff output.
++
++2001-12-14  Geert Bosch  <bosch@gnat.com>
++
++      * config-lang.in: Update copyright notice
++
++      * layout.adb: Remove commented out code.
++
++      * mdllfile.ads: Update copyright notice. Fix header format.
++
++      * sem_case.ads: Likewise.
++
++      * sem_ch3.adb: Minor reformatting.
++
++2001-12-12  Geert Bosch  <bosch@gnat.com>
++
++      * freeze.ads: Update copyright date.
++
++      * g-comlin.ads: Minor reformatting.
++
++      * gnat-style.texi: Fix typo.
++
++2001-12-12  Geert Bosch  <bosch@gnat.com>
++
++      *  einfo.h: Regenerate.
++
++2001-12-12  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
++      on known node types, rather than untyped fields. Further cleanups.
++
++2001-12-12  Robert Dewar  <dewar@gnat.com>
++
++      * sem_ch12.adb:
++      (Save_Entity_Descendant): Minor comment update.
++      (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
++       of an N_Attribute_Reference node. As per note below, this does not
++      eliminate need for Associated_Node in attribute ref nodes.
++      (Associated_Node): Documentation explicitly mentions attribute
++      reference nodes, since this field is used in such nodes.
++
++      * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
++
++2001-12-12  Robert Dewar  <dewar@gnat.com>
++
++      * s-stalib.adb: Add more comments on with statements being needed
++
++      * par-ch12.adb: Minor reformatting
++
++      * prj-dect.ads: Fix copyright header
++
++      * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
++      inputs fit in 32 bits, but the result still overflows.
++
++      * s-fatgen.ads: Minor comment improvement
++
++2001-12-12  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
++      formal derived type, look for an inherited component from the full
++      view of the parent, if any.
++
++2001-12-12  Robert Dewar  <dewar@gnat.com>
++
++      * checks.ads (Apply_Alignment_Check): New procedure.
++
++      * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
++      ensure that the alignment of objects with address clauses is
++      appropriate, and raise PE if not.
++
++      * exp_util.ads (Must_Be_Aligned): Removed, replaced by
++      Exp_Pakd.Known_Aligned_Enough
++
++      * mdllfile.ads: Minor reformatting
++
++      * mlib-fil.ads: Minor reformatting
++
++2001-12-12  Ed Schonberg  <schonber@gnat.com>
++
++      * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
++      fix to any component reference if enclosing record has non-standard
++      representation.
++
++2001-12-12  Vincent Celier  <celier@gnat.com>
++
++      * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
++      Iteration
++
++2001-12-12  Ed Schonberg  <schonber@gnat.com>
++
++      * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
++      sem_attr.
++
++2001-12-12  Robert Dewar  <dewar@gnat.com>
++
++      * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
++
++2001-12-12  Emmanuel Briot  <briot@gnat.com>
++
++      * g-regexp.adb: Remove all debug code, since it isn't required anymore,
++      and it adds dependencies to system.io.
++
++2001-12-12  Pascal Obry  <obry@gnat.com>
++
++      * g-dirope.adb (Expand_Path.Var): Correctly detect end of
++      variable name.
++
++2001-12-11  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
++      that is the parent of other generics, the instance body replaces the
++      instance node.  Retrieve the instance of the spec, which is the one
++      that is visible in clients and within the body.
++
++2001-12-11  Vincent Celier  <celier@gnat.com>
++
++      * gnatmain.adb: Initial version.
++
++      * gnatmain.ads: Initial version.
++
++      * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
++
++      * snames.adb: Updated to match snames.ads.
++
++      * snames.ads: Added Gnatstub.
++
++2001-12-11  Vincent Celier  <celier@gnat.com>
++
++      * prj-attr.adb (Initialization_Data): Change name from
++      Initialisation_Data.
++
++2001-12-11  Emmanuel Briot  <briot@gnat.com>
++
++      * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
++      + and * applied to backslashed expressions like \r.
++
++2001-12-11  Vasiliy Fofanov  <fofanov@gnat.com>
++
++      * g-os_lib.ads: String_List type added, Argument_List type is now
++      subtype of String_List.
++
++2001-12-11  Robert Dewar  <dewar@gnat.com>
++
++      * g-os_lib.ads: Change copyright to FSF
++      Add comments for String_List type
++
++2001-12-11  Vincent Celier  <celier@gnat.com>
++
++      * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
++      string to the buffer).
++
++2001-12-11  Ed Schonberg  <schonber@gnat.com>
++
++      * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
++      sem_attr.
++
++      * sem_attr.adb: Simplify previous fix for Address.
++      (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
++      to avoid anomalies where the bound of the type appears to raise
++      constraint error.
++
++2001-12-11  Robert Dewar  <dewar@gnat.com>
++
++      * lib-xref.adb (Output_Refs): Make sure pointers are always properly
++      handled.
++
++2001-12-11  Ed Schonber   <schonber@gnat.com>
++
++      * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
++      renamed unit before checking for recursive instantiations.
++
++2001-12-11  Emmanuel Briot  <briot@gnat.com>
++
++      * prj.ads: Add comments for some of the fields.
++
++2001-12-11  Robert Dewar  <dewar@gnat.com>
++
++      * lib-xref.adb (Output_Refs): Don't output type references outside
++      the main unit if they are not otherwise referenced.
++
++2001-12-11  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
++      code and diagnose additional illegal uses
++
++      * sem_util.adb (Is_Object_Reference): An indexed component is an
++      object only if the prefix is.
++
++2001-12-11  Vincent Celier  <celier@gnat.com>
++
++      * g-diopit.adb: Initial version.
++
++      * g-diopit.ads: Initial version.
++
++      * g-dirope.adb:
++      (Expand_Path): Avoid use of Unbounded_String
++      (Find, Wildcard_Iterator): Moved to child package Iteration
++
++      * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
++
++2001-12-11  Robert Dewar  <dewar@gnat.com>
++
++      * sem_attr.adb: Minor reformatting
++
++2001-12-11  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_ch3.adb: Clarify some ???.
++
++2001-12-11  Robert Dewar  <dewar@gnat.com>
++
++      * exp_util.adb (Must_Be_Aligned): Removed, replaced by
++      Exp_Pakd.Known_Aligned_Enough
++
++      * sem_ch13.adb (Check_Address_Alignment): Removed, extended
++      version is moved to Exp_Ch13.
++
++2001-12-11  Robert Dewar  <dewar@gnat.com>
++
++      * einfo.ads: Minor reformatting
++
++      * exp_ch5.adb: Add comment for previous.change
++
++      * ali.adb: New interface for extended typeref stuff.
++
++      * ali.ads: New interface for typeref stuff.
++
++      * checks.adb (Apply_Alignment_Check): New procedure.
++
++      * debug.adb: Add -gnatdM for modified ALI output
++
++      * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
++
++      * lib-xref.adb: Extend generation of <..> notation to cover
++      subtype/object types. Note that this is a complete rewrite,
++      getting rid of the very nasty quadratic algorithm previously
++      used for derived type output.
++
++      * lib-xref.ads: Extend description of <..> notation to cover
++      subtype/object types. Uses {..} for these other cases.
++      Also use (..) for pointer types.
++
++      * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
++
++      * exp_pakd.adb: Minor reformatting.  Note that prevous RH should say:
++      (Known_Aligned_Enough): Replaces Must_Be_Aligned.
++
++2001-12-11  Vincent Celier  <celier@gnat.com>
++
++      * gnatcmd.adb:
++      Changed /COMPILE_ONLY to /ACTIONS=COMPILE
++      Changed /BIND_ONLY to /ACTIONS=BIND
++      Changed /LINK_ONLY to /ACTIONS=LINK
++
++2001-12-11  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_ch8.adb (Find_Selected_Component): improved search for a
++      candidate package in case of error.
++
++      * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
++      chain back on scope stack before reinstalling use clauses.
++
++      * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
++      is enabled, do not kill the code for the condition, to preserve
++      warning.
++
++2001-12-11  Robert Dewar  <dewar@gnat.com>
++
++      * checks.adb (Insert_Valid_Check): Apply validity check to expression
++      of conversion, not to result of conversion.
++
++2001-12-11  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
++      before freezing parent. If the declarations are mutually recursive,
++      an access to the current record type may be frozen before the
++      derivation is complete.
++
++2001-12-05  Vincent Celier  <celier@gnat.com>
++
++      * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
++      -c /COMPILE_ONLY, -l /LINK_ONLY
++
++      * opt.ads:
++      (Bind_Only): New Flag
++      (Link_Only): New flag
++
++      * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
++      and -l (Link_Only)
++
++      * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
++
++      * make.adb:
++      (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
++      (Gnatmake): Set the step flags. Only perform a step if the
++      corresponding step flag is True.
++      (Scan_Make_Arg): Reset the bind and link step flags when -u
++      or -gnatc has been specified.
++
++2001-12-05  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
++      get bounds from right operand.
++
++      * sem_eval.adb: Minor reformatting
++
++      * exp_util.adb (Make_Literal_Range): use bound of literal rather
++      than Index'First, its lower bound may be different from 1.
++
++      * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
++      and C48009J
++
++2001-12-05  Vincent Celier  <celier@gnat.com>
++
++      * prj-nmsc.adb Minor reformatting
++
++      * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
++      set and libraries are not supported.
++
++2001-12-05  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
++      private view explicitly, so the back-end can treat as a global
++      when appropriate.
++
++2001-12-05  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
++       unit, always replace instance node with new body, for ASIS use.
++
++2001-12-05  Vincent Celier  <celier@gnat.com>
++
++      * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
++      libraries are not supported and both attributes Library_Name and
++      Library_Dir are specified.
++
++      * prj-proc.adb (Expression): Set location of Result to location of
++      first term.
++
++      * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
++      (prj-nmsc is now importing MLib.Tgt)
++
++      * prj-proc.adb: Put the change indicated above that was forgotten.
++
++2001-12-05  Robert Dewar  <dewar@gnat.com>
++
++      * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
++
++2001-12-05  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
++      constraint, introduce explicit subtype declaration and derive from it.
++
++      * sem_ch3.adb: Minor reformatting
++
++2001-12-05  Robert Dewar  <dewar@gnat.com>
++
++      * checks.adb (Determine_Range): Increase cache size for checks.
++      Minor reformatting
++
++      * exp_ch6.adb: Minor reformatting
++      (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
++      a parameter whose root type is System.Address, since treating such
++      subprograms as pure in the code generator is almost surely a mistake
++      that will lead to unexpected results.
++
++      * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
++      change handling of conversions.
++
++      * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
++
++2001-12-05  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
++      aggregate with static wrong size, attach generated Raise node to
++      declaration.
++
++2001-12-05  Robert Dewar  <dewar@gnat.com>
++
++      * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
++      Fixes compilation abandoned bomb in B24009B.
++
++2001-12-05  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_ch12.adb:
++      Document use of Associated_Node on Selected_Components.
++      (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
++      to clarify use of untyped descendant fields.
++
++2001-12-05  Robert Dewar  <dewar@gnat.com>
++
++      * prj-dect.ads: Add ??? comment
++      Add 2001 to copyright notice (was not done in after all)
++
++      * prj-part.adb: Minor reformatting. Reword one awkward error message.
++
++      * prj.ads: Minor reformatting throughout, and add some ??? comments
++
++      * snames.ads: Minor reformatting
++
++2001-12-05  Geert Bosch  <bosch@gnat.com>
++
++      * snames.adb: Autoupdate
++
++2001-12-05  Vincent Celier  <celier@gnat.com>
++
++      * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
++
++      * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
++
++      * prj-env.adb: Minor comment changes (modifying -> extends).
++
++      * prj-nmsc.adb: Minor comment changes (modifying -> extends).
++
++      * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
++      Tok_Extends.
++
++      * prj.adb (Initialize): Change Modifying to Extends.
++
++      * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
++
++      * prj.ads: Minor comment change (Modifying -> extending).
++
++      * snames.ads: Change modifying to extends.
++
++2001-12-05  Robert Dewar  <dewar@gnat.com>
++
++      * sem_warn.adb: Remove stuff for conditionals, we are not going to
++      do this after all.
++
++      * sem_warn.ads: Remove stuff for conditionals, we are not going to
++      do this after all.  Add 2001 to copyright notice
++
++2001-12-04  Geert Bosch  <bosch@gnat.com>
++
++      *  einfo.h, sinfo.h, treeprs.ads: Regenerate.
++
++2001-12-04  Robert Dewar  <dewar@gnat.com>
++
++      * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
++      location if we already have errors. Stops some cases of cascaded
++      errors.
++
++      * errout.adb: Improve comment.
++
++2001-12-04  Robert Dewar  <dewar@gnat.com>
++
++      * sem_ch12.adb:
++      (Analyze_Formal_Type_Definition): Defend against Error.
++      (Analyze_Formal_Subprogram): Defend against Error.
++
++      * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
++      remove following semicolon if present. Removes cascaded error.
++
++2001-12-04  Douglas B. Rupp  <rupp@gnat.com>
++
++      * bindgen.adb:
++      (Gen_Exception_Table_Ada): Write "begin" and then return if Num
++       exceptions equals 0.
++      (Gen_Exception_Table_C): Return if Num exceptions equals 0.
++      Fixes PIWG E tests (which have to be run with -gnatL).
++
++2001-12-04  Robert Dewar  <dewar@gnat.com>
++
++      * einfo.ads: Minor reformatting
++
++2001-12-04  Ed Schonberg  <schonber@gnat.com>
++
++      * einfo.ads: Block_Node points to the identifier of the block, not to
++      the block node itself, to preserve the link when the block is
++      rewritten, e.g. within an if-statement with a static condition.
++
++      * inline.adb (Cleanup_Scopes): recover block statement from block
++      entity using new meaning of Block_Node.
++
++      * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
++      identifier of block node, rather than to node itself.
++
++2001-12-04  Gary Dismukes  <dismukes@gnat.com>
++
++      * layout.adb:
++      (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
++      (Discrimify): Go back to setting the Etypes of the selected component
++      because the Vname component does not exist at this point and will
++      fail name resolution. Also set Analyzed.
++      Remove with and use of Sem_Res.
++
++2001-12-04  Arnaud Charlet  <charlet@gnat.com>
++
++      * Makefile.in: (HIE_SOURCES): add s-fat*.
++
++2001-12-04  Robert Dewar  <dewar@gnat.com>
++
++      * sem_attr.adb:
++      (Compile_Time_Known_Attribute): New procedure.
++      (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
++       proper range check.
++
++2001-12-04  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
++      processing discriminants to diagnose illegal default values.
++
++2001-12-04  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
++      access discriminant within a type extension that constrains its
++      parent discriminants.
++
++2001-12-04  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
++      is malformed, use instance of Any_Id to allow analysis to proceed.
++
++      * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
++      type definition is illegal.
++      (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
++      misplaced.
++
++2001-12-04  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
++      constants.
++
++2001-12-04  Robert Dewar  <dewar@gnat.com>
++
++      * errout.adb: Minor reformatting
++
++2001-12-04  Robert Dewar  <dewar@gnat.com>
++
++      * exp_util.adb: Minor reformatting from last change
++
++      * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
++      which is a rewriting of an expression, traverse the original
++      expression to remove warnings that may have been posted on it.
++
++2001-12-04  Ed Schonberg  <schonber@gnat.com>
++
++      * exp_util.adb (Must_Be_Aligned): Return false for a component of a
++      record that has other packed components.
++
++2001-12-04  Douglass B. Rupp  <rupp@gnat.com>
++
++      * adaint.c: Minor cleanups.
++
++2001-12-04  Douglass B. Rupp  <rupp@gnat.com>
++
++      * adaint.c: Do not use utime.h on vxworks.
++
++2001-12-04  Arnaud Charlet  <charlet@gnat.com>
++
++      * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
++      more confusion than it solves.
++
++2001-12-04  Geert bosch  <bosch@gnat.com>
++
++      * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
++
++2001-12-04  Geert Bosch  <bosch@gnat.com>
++
++      * Makefile.in (update-sources): New target.
++      For use by gcc_release script.
++
++2001-12-04  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
++      a configuration pragma, it is now legal wherever a pragma can appear.
++
++2001-12-04  Zack Weinberg  <zack@codesourcery.com>
++
++      * Makefile.in: Don't set ALL.  Delete @cross_defines@,
++      @cross_overrides@, @build_overrides@ stanzas.  INTERNAL_CFLAGS
++      is now @CROSS@ -DIN_GCC; update comment.
++
++2001-12-04  Robert Dewar  <dewar@gnat.com>
++
++      * einfo.adb (Has_Pragma_Pure_Function): New flag.
++      Fix problem that stopped ceinfo from working
++
++      * einfo.ads (Has_Pragma_Pure_Function): New flag.
++
++      * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
++
++2001-12-04  Douglas B. Rupp  <rupp@gnat.com>
++
++      * gnatchop.adb:
++      (File_Time_Stamp): New procedure.
++      (Preserve_Mode): New boolean.
++      (Write_Unit): Pass time stamp.
++      Implement -p switch (preserve time stamps).
++
++      * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
++
++      * gnatchop.adb: Do usage info for -p switch
++
++      * adaint.h (__gnat_set_file_time_name): New function
++
++      * adaint.c (__gnat_set_file_time_name): Implement
++
++      * adaint.h: Fix typo
++
++2001-12-03  Robert Dewar  <dewar@gnat.com>
++
++      * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
++      have Associated_Node.
++
++2001-12-03  Robert Dewar  <dewar@gnat.com>
++
++      * prj-proc.adb: Minor reformatting
++
++      * make.adb: Minor reformatting
++
++2001-12-03  Geert Bosch  <bosch@gnat.com>
++
++      * make.adb: Minor reformatting.
++
++2001-12-03 Robert Dewar  <dewar@gnat.com>
++
++      * sem_ch12.adb: Minor reformatting
++
++2001-12-03  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
++      push Standard on the stack before analyzing the instance body,
++      in order to have a clean visibility environment.
++
++      * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
++
++2001-12-03  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_ch12.adb (Instantiate_Package_Body): Protect against double
++      instantiation of a body that contains an inlined body.
++
++2001-12-03  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_ch12.adb:
++      (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
++      to prevent freezing within formal packages.
++      (Freeze_Subprogram_Body): If body comes from another instance that
++      appeared before its own body, place freeze node at end of current
++      declarative part, to prevent a back-end crash.
++      (Inline_Instance_Body): Handle properly a package instance within
++      a subprogram instance that is a child unit.
++
++2001-12-01  Graham Stott  <grahams@redhat.com>
++
++      * Makefile.in (misc.o): Add missing $(srcdir) prefix
++      and add optabs.h dependency.
++
++      * misc.c: Include optabs.h
++      (gnat_tree_code_type): Make static and const.
++      (gnat_tree_code_length): Likewise.
++      (gnat_tree_code_name): Likewise.
++      (update_setjmp_buf): Obtain operands mode from insn_data.
++
++2001-11-29  Richard Henderson  <rth@redhat.com>
++
++      * init.c: Remove obsolete dwarf2 frame.h section.
++
++2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
++
++      * Make-lang.in (ada.generated-manpages): New dummy target.
++
++2001-11-29  Ed Schonberg  <schonber@gnat.com>
++
++      * g-os_lib.adb (Add_To_Command): use explicit loop to move string
++      into Command, an array conversion is illegal here. Uncovered by
++      ACATS B460005.
++
++2001-11-28  Geert Bosch  <bosch@gnat.com>
++
++      * init.c: Minor whitespace changes.
++
++2001-11-28  Doug Rupp  <rupp@gnat.com>
++
++      * init.c: (__gnat_install_handler,VMS): Increase size of alternate
++      signal stack.
++
++2001-11-28  Zack Weinberg  <zack@codesourcery.com>
++
++      * misc.c (gnat_expand_constant): Move declaration above
++      definition of lang_hooks.
++      (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
++      (gnat_init): lang_expand_constant no longer exists.
++
++      (internal_error_function): Remove #ifdef HAVE_VPRINTF.  We
++      always have vprintf.
++      (gnat_init): Always call set_internal_error_function.
++
++2001-11-27  Andreas Jaeger  <aj@suse.de>
++
++      * Makefile.in (stamp-tool_src_dir): Use symbolic link.
++
++2001-11-27  Laurent Guerby  <guerby@acm.org>
++
++      * Makefile.in: Regenerate Ada dependencies.
++
++2001-11-26  Richard Henderson  <rth@redhat.com>
++
++      * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
++      gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
++      gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
++
++2001-11-25  Laurent Guerby  <guerby@acm.org>
++
++      * sysdep.c (rts_get_*): Fix style.
++
++2001-11-19  Laurent Guerby  <guerby@acm.org>
++
++      * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
++      since it is of no apparent use and cause warnings.
++
++2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
++
++      * misc.c (gnat_decode_option, gnat_init_options): Make definitions
++      static too.
++      (gnat_init): Don't return NULL.
++      (finish_parse): Remove.
++
++2001-11-17  Laurent Guerby  <guerby@acm.org>
++
++      * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
++      * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
++      * io-aux.c: Provide K&R prototypes to all functions, reformat code.
++      * lang-spec.h: Add missing struct field to silence warnings.
++      * sysdep.c (rts_get_*): Provide K&R prototype.
++      * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
++      * traceback.c (Unlock_Task, Lock_Task): Likewise.
++      * tracebak.c (__gnat_backtrace): Remove unused variable.
++      * utils.c (end_subprog_body): Move to K&R style.
++
++Thu Nov 15 18:16:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
++
++2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
++
++      * misc.c (gnat_init): Change prototype.  Include the
++      functionality of the old init_parse and init_decl_processing.
++      (gnat_init_decl_processing): New prototype.
++      (init_parse): Remove.
++      * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
++
++2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
++
++      * misc.c (gnat_print_decl, gnat_print_type): Renamed.
++      (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
++      (print_lang_statistics, lang_print_xnode, print_lang_identifier,
++      set_yydebug): Remove.
++
++2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
++
++      * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
++      (struct lang_hooks): Constify.
++      (language_string, lang_identify): Remove.
++      * utils.c (init_decl_processing): Update.
++
++2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
++
++      * misc.c: Include langhooks-def.h.
++      * Makefile.in: Update.
++
++2001-10-30  Robert Dewar  <dewar@gnat.com>
++
++      * style.adb:
++      (Check_Identifier): Rewrite circuit to be compatible with use of letters
++      in the upper half of ASCII.
++      (Check_Identifier): Minor reformatting
++
++2001-10-30  Geert Bosch  <bosch@gnat.com>
++
++      * (Associated_Node, Set_Associated_Node): Do not check for
++      Freeze_Entity.
++
++2001-10-30  Robert Dewar  <dewar@gnat.com>
++
++      * a-reatim.ads: Minor reformatting
++
++2001-10-30  Robert Dewar  <dewar@gnat.com>
++
++      * gnatdll.adb: Minor reformatting throughout. Many ??? added for
++      undocumented declarations.
++
++2001-10-30  Pascal Obry  <obry@gnat.com>
++
++      * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
++      to the binder and linker.
++      Minor style fix.
++
++      * mdll.ads: Fix layout.  Update copyright notice.
++
++      * mdll.adb: Fix layout.  Update copyright notice.
++
++2001-10-30  Robert Dewar  <dewar@gnat.com>
++
++      * usage.adb: Minor fix to output for -gnaty.
++
++2001-10-30  Ed Schonberg  <schonber@gnat.com>
++
++      * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
++      to accommodate all its possible values.
++
++      * a-reatim.adb (Split): Special-case handling of Time_Span_First
++      and of small absolute values of T.
++
++2001-10-30  Richard Kenner  <kenner@gnat.com>
++
++      * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
++      set_mem_attributes since not needed and wrong if RESULT if a REG;
++      fixes ACATS failures.
++
++2001-10-30  Geert Bosch  <bosch@gnat.com>
++
++      * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
++      s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
++
++2001-10-30  Robert Dewar  <dewar@gnat.com>
++
++      * bindusg.adb: Undocument -f switch.
++
++      * gnatcmd.adb: Remove /FULL_ELABORATION.
++
++      * opt.ads (Force_RM_Elaboration_Order): Document that this is
++      obsolescent.
++
++      * gnatbind.adb: Output new warning for use of obsolescent -f switch.
++
++      * gnatbind.adb: Minor update of warning msg.
++
++2001-10-30  Vincent Celier  <celier@gnat.com>
++
++      * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
++      for project file switches (-P (/PROJECT_FILE=),
++       -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
++      or MEDIUM or HIGH)
++
++2001-10-30  Geert Bosch  <bosch@gnat.com>
++
++      * decl.c: Minor whitespace fixes.
++
++2001-10-30  Richard Kenner  <kenner@gnat.com>
++
++      * utils2.c (build_allocator): Test for SIZE overflow in array case too
++
++2001-10-30  Geert Bosch  <bosch@gnat.com>
++
++      * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
++      Found due to GCC 3.0 warning of using uninitialized value.
++
++      * layout.adb:
++      (Get_Max_Size): Use variant record for tracking value/expression.
++       Makes logic clearer and prevents warnings for uninitialized variables.
++      (Layout_Array_Type): Use variant record for tracking value/expression.
++       Makes logic clearer and prevents warnings for uninitialized variables.
++
++2001-10-30  Robert Dewar  <dewar@gnat.com>
++
++      * lib.adb: Minor reformatting
++
++      * s-taprop.ads: Minor reformatting
++
++2001-10-29  Laurent Guerby  <guerby@acm.org>
++
++      * init.c:
++      (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
++      const.
++      (_gnat_error_handler): Make MSG const.
++
++2001-10-29  Richard Kenner  <kenner@gnat.com>
++
++      * sysdep.c: Fix localtime_r problem on LynxOS.
++      Also remove #elif to avoid warnings.
++
++      * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
++      used by this.
++
++      * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
++
++2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
++
++      * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
++      exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
++      g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
++      g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
++      layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
++      s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
++      sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
++      sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
++      sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
++      types.ads, urealp.adb: Fix spelling errors.
++
++2001-10-27  Laurent Guerby  <guerby@acm.org>
++
++      * trans.c (gigi): Fix non determinism leading to bootstrap
++      comparison failures for debugging information.
++
++2001-10-26  Florian Weimer  <fw@deneb.enyo.de>
++
++      * gnat_rm.texi: Use @./@: where appropriate.
++
++2001-10-26  Robert Dewar  <dewar@gnat.com>
++
++      * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
++
++2001-10-26  Richard Kenner  <kenner@gnat.com>
++
++      * gmem.c (__gnat_gmem_read_next): Properly check for EOF
++
++2001-10-26  Richard Kenner  <kenner@gnat.com>
++
++      * decl.c (validate_size): Modify message for bad size to avoid
++      implication that compiler is modifying the size.
++
++2001-10-26  Robert Dewar  <dewar@gnat.com>
++
++      * prj-util.adb: Minor reformatting. Fix bad header format.
++
++2001-10-26  Robert Dewar  <dewar@gnat.com>
++
++      * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
++
++      * sinfo.ads: Clarify use of Associated_Node (documentation only).
++
++      * sem_ch12.adb: Change Node4 to Associated_Node. Change
++      Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
++      much more narrowly in places where needed. These are cleanups.
++
++2001-10-26  Joel Brobecker  <brobecke@gnat.com>
++
++      * 5zosinte.ads (null_pthread): new constant.
++
++      * 5ztaprop.adb:
++      (Initialize_TCB): Initialize thread ID to null, to be able to verify
++       later that this field has been set.
++      (Finalize_TCB): ditto.
++      (Suspend_Task): Verify that the thread ID is not null before using it.
++      (Resume_Task): ditto.
++
++      * s-tasdeb.adb:
++      (Resume_All_Tasks): Lock the tasks list before using it.
++      (Suspend_All_Tasks): ditto.
++
++2001-10-26  Richard Kenner  <kenner@gnat.com>
++
++      * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
++      Make constant variant of designated type for Is_Access_Constant.
++      Call update_pointer_to with main variant.
++
++      * trans.c (process_freeze_entity, process_type):
++      Call update_pointer_to on main variant.
++
++      * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
++      If main variant, update all other variants.
++
++      * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
++      TREE_STATIC.
++
++2001-10-26  Robert Dewar  <dewar@gnat.com>
++
++      * prj-util.adb: Minor reformatting
++
++2001-10-26  Robert Dewar  <dewar@gnat.com>
++
++      * prj-util.adb: Minor reformatting
++
++2001-10-26  Robert Dewar  <dewar@gnat.com>
++
++      * prj-attr.adb: Minor reformatting throughout
++
++2001-10-26  Robert Dewar  <dewar@gnat.com>
++
++      * prj-attr.ads: Minor reformatting
++      Add ??? comment (this whole spec has almost no comments)
++
++2001-10-26  Vincent Celier  <celier@gnat.com>
++
++      * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
++      ("//") that precede the drive letter on Interix.
++
++2001-10-26  Geert Bosch  <bosch@gnat.com>
++
++      * gnat_rm.texi: Add GNAT Reference Manual.
++
++2001-10-25  Robert Dewar  <dewar@gnat.com>
++
++      * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
++      is Error. Similar change for other renaming cases.
++
++2001-10-25  Robert Dewar  <dewar@gnat.com>
++
++      * s-atacco.ads: Add pragma Inline_Always for functions.
++      Fix header format. Add copyright 2001
++
++2001-10-25  Ed Schonberg  <schonber@gnat.com>
++
++      * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
++      return Error rather than Empty so that analysis can proceed.
++
++2001-10-25  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_util.adb (Enter_Name): better handling of cascaded error
++      messages when a unit appears in its own context.
++
++2001-10-25  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_util.adb (Defining_Entity): in case of error, attach created
++      entity to specification, so that semantic analysis can proceed.
++
++2001-10-25  Robert Dewar  <dewar@gnat.com>
++
++      * sem_util.adb
++      (Defining_Entity): Deal with Error.
++      (Process_End_Label): Deal with bad end label for.
++
++2001-10-25  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_elab.adb (Check_A_Call): refine message when call is in an
++      instance but callee is not declared in the generic unit.
++
++2001-10-25  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_elab.adb (Check_A_Call): check for renaming before finding the
++      enclosing unit, which may already be different from the calling unit.
++
++2001-10-25  Geert Bosch  <bosch@gnat.com>
++
++      * 4gintnam.ads: fix header format.
++
++2001-10-25  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_res.adb (Resolve_Call): if the call is actually an indexing
++      operation on the result of a parameterless call, perform elaboration
++      check after the node has been properly rewritten.
++
++      * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
++      inlined within the generic tree, the defining identifier is not a
++      compilation_unit.
++
++2001-10-25  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_res.adb (Resolve): special-case resolution of Null in an
++       instance or an inlined body to avoid view conflicts.
++
++      * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
++       compatibility by retrieving the access type of the generic copy.
++
++2001-10-25  Robert Dewar  <dewar@gnat.com>
++
++      * sem_ch3.adb:
++      (Analyze_Number_Declaration): Handle error expression.
++      (Signed_Integer_Type_Declaration): Handle error bound.
++      (Analyze_Subtype_Indication): Handle error range.
++
++      * sem_util.adb (Get_Index_Bounds): Check for Error.
++
++2001-10-25  Robert Dewar  <dewar@gnat.com>
++
++      * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
++      in no run time mode.
++
++2001-10-25  Pascal Obry  <obry@gnat.com>
++
++      * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
++      mode case for ALLOC case.
++
++      * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
++      all platforms. Improvement of last change.
++
++2001-10-25  Robert Dewar  <dewar@gnat.com>
++
++      * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
++
++2001-10-25  Geert Bosch  <bosch@gnat.com>
++
++      * osint.adb (Is_Relative): Remove duplicate.
++
++2001-10-25  Pascal Obry  <obry@gnat.com>
++
++      * osint.adb (Read_Default_Search_Dirs): correctly detect relative
++      pathnames in UNIX and DOS style with drive letter.
++      (Is_Relative): new routine.
++
++      * osint.adb: Minor reformatting
++
++      * osint.adb (Is_Relative): implementation using
++      GNAT.OS_Lib.Is_Absolute_Path. Better fix.
++
++2001-10-25  Pascal Obry  <obry@gnat.com>
++
++      * g-dirope.adb (Basename): correctly compute offset between the
++      original Path and the translated one.
++
++      * g-dirope.adb: (Base_Name): add some comments.
++
++2001-10-25  Robert Dewar  <dewar@gnat.com>
++
++      * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
++      in HIE mode, avoids compilation abandoned message
++
++      * exp_imgv.adb: Correct typo in previous change
++
++      * exp_imgv.adb: Correct typo in previous change (not my day!)
++
++2001-10-25  Robert Dewar  <dewar@gnat.com>
++
++      * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
++
++2001-10-25  Pascal Obry  <obry@gnat.com>
++
++      * g-awk.ads: Move all pragma inlines next to the routine
++       declarations. This is more uniform with other GNAT spec.
++
++2001-10-22  Geert Bosch  <bosch@gnat.com>
++
++      * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
++
++2001-10-19  Geert Bosch  <bosch@gnat.com>
++
++      * Makefile.in (tools, gnattools): Remove gnatmem.
++
++2001-10-17  Richard Henderson  <rth@redhat.com>
++
++      * Makefile.in (misc.o): Depend on langhooks.h.
++      * misc.c: Include it.
++      (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
++      (LANG_HOOKS_DECODE_OPTION): New.
++      (lang_hooks): Use LANG_HOOKS_INITIALIZER.
++
++2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
++
++      * trans.c (tree_transform): Adjust to recent change in
++      expand_asm_operands to implement named asm operands.
++
++2001-10-11  Ed Schonberg  <schonber@gnat.com>
++
++      * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
++      renaming of discriminant for mutable record type.
++
++2001-10-11  Robert Dewar  <dewar@gnat.com>
++
++      * validsw.adb: Properly save -gnatVn status.
++
++2001-10-11  Robert Dewar  <dewar@gnat.com>
++
++      * usage.adb: Add lines for V switch.
++
++      * gnatcmd.adb (COMPILE): Revise translations for -gnatV
++      (/VALIDITY_CHECKING).
++
++2001-10-11  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_type.adb (Add_One_Interp): an operator for a type declared in
++      an extension of System is known to be visible.
++
++2001-10-11  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
++      properly. Fixes regression on ACATS C34005G.
++
++2001-10-11  Robert Dewar  <dewar@gnat.com>
++
++      * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
++      loop in generic instance, since this is likely not very useful.
++
++2001-10-11  Robert Dewar  <dewar@gnat.com>
++
++      * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
++      the error message for high integrity mode.
++
++      * rtsfind.adb (RTE): Give message if we try to find an entity that
++      is not available in high integrity mode.
++
++      * rtsfind.ads:
++      (OK_To_Use_In_HIE_Mode): New array.
++      (RTE): May return Empty in high integrity mode.
++
++      * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
++      OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
++
++      * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
++      unit if not inlined always and in no runtime mode. Fixes problem
++      caused by new Rtsfind changes.
++
++      * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
++      body is deleted.
++
++      * rtsfind.adb (RTE): Make sure we do not try to load unit after
++      giving message for entity not available in high integrity mode.
++
++2001-10-11  Pascal Obry  <obry@gnat.com>
++
++      * impunit.adb: Add GNAT.CRC32.
++
++2001-10-11  Ed Schonberg  <schonber@gnat.com>
++
++      * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
++      properly the case where one universal operand in a non-static
++      exponentiation of a real literal.
++
++2001-10-11  Ed Schonberg  <schonber@gnat.com>
++
++      * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
++      clause, return the gobal finalization list, for lack of anthing else.
++
++2001-10-11  Ed Schonberg  <schonber@gnat.com>
++
++      * exp_ch7.adb (Make_Transient_Block): if statement is within
++      exception handler, always use new transient scope to place Clean
++      procedure.
++
++2001-10-11  Pascal Obry  <obry@gnat.com>
++
++      * Makefile.in:
++      (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
++      (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
++      (GNATLS_RTL_OBJS): add g-crc32.o
++      (GNATMAKE_RTL_OBJS): add g-crc32.o
++
++      * ali-util.adb:
++      (CRC_Match): new function.
++      (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
++      instead of the previous simple checksum algorithm.
++      (Time_Stamp_Mismatch): use CRC_Match for comparison.
++      (Set_Source_Table): idem.
++
++      * ali-util.ads:
++      (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
++      instead of simple checksum.
++      (CRC_Match): new function.
++      (CRC_Error): new constant.
++
++      * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
++      a CRC now and not a simple checksum. A CRC uses lower-case hex
++      letters, fixes ambiguity in parsing.
++
++      * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
++      is what this variable will store.
++
++      * bcheck.adb: Change reference to chechsum in comments by CRC.
++      (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
++      rename All_Checksum_Match to All_CRC_Match. Change due to API
++      renaming since now GNAT does not use a simple checksum but a
++      CRC using GNAT.CRC32.
++
++      * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
++      now and not anymore a simple checksum.
++
++      * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
++      places.
++
++      * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
++
++      * scans.adb:
++      (Restore_Scan_State): rename Checksum to CRC.
++      (Save_Scan_State): idem.
++
++      * scans.ads:
++      With GNAT.CRC32.
++      (Checksum): rename to CRC.
++      (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
++
++      * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
++      GNAT.CRC32).  Update copyright notice.
++
++      * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
++      GNAT.CRC32).  Update copyright notice.
++
++      * scn.adb:
++      (Accumulate_Checksum): removed.
++      (Update): new procedure. Add a wide-character into the CRC.
++
++      * sinput-l.adb:
++      (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
++      (Load_File): fix initialization of S (change Source_Checksum to
++      Source_CRC)
++
++      * sinput-p.adb (Load_Project_File): rename Source_Checksum to
++      Source_CRC in S initialization.
++
++      * sinput.adb (Source_Checksum): renamed to Source_CRC.
++
++      * sinput.ads (Source_Checksum): renamed to Source_CRC.
++      Update comments for the CRC.
++
++      * types.adb (Hex): Use lowercase for the letter part.
++
++      * types.ads (Get_Hex_String): Returns the hexadecimal representation
++      for a word. This is currently used only for CRC. In previous version,
++      the checksum was using a representation with all letter being
++      upper-case. With the new implementation (using CRC) we do not remove
++      the 32th bit of the CRC, so we can have an upper-case starting letter
++      in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
++      It is ambigous since the CRC was optional and could be followed by
++      options like EB, EE. So now this routines uses lower-case letter for
++      the hexadecimal representation. Strange enough only lower case letters
++      where checked in Scan_ALI (even if this was not a possible case).
++
++      * gnatvsn.ads (Library_Version): changed to 3.15a.
++
++      * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
++      for the compiler.
++
++      * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
++      for the compiler.
++
++      * ali-util.adb: Redo previous change to avoid using word CRC everywhere
++      Add 2001 to copyright notice
++      (Accumulate_Checksum): Modify to use System.CRC32.
++
++      * ali-util.ads: Redo changes of previous revision to continue to use
++      the word Checksum. Add 2001 to copyright notice.
++
++      * ali.adb: Undo some of previous changes, not needed.
++      Keep the change for lower case letters in the checksum.
++
++      * ali.ads: Undo previous change not needed.
++
++      * bcheck.adb: Undo most of previous change, not needed.
++      But do use Checksums_Match for checksum comparison.
++
++      * gnatls.adb: Undo most of previous change, not needed.
++      But do use Checksums_Match for comparing checksums.
++
++      * lib-load.adb: Undo previous change, not needed.
++
++      * lib-writ.adb: Undo previous change, not needed.
++
++      * lib-writ.ads: Document that checksums use lower case,
++      not upper case letters.
++
++      * scans.adb: Undo previous change, not needed
++
++      * scans.ads: Undo previous change, not needed.
++
++      * scn-nlit.adb: Undo previous changes, not needed.
++
++      * scn-slit.adb: Undo previous change, not needed.  Fix header format.
++
++      * scn.adb:
++      (Accumulate_Checksum): Use System.CRC32.
++      (Initialize_Checksum): New procedure.
++      Remove other changes of previous revision.
++
++      * sinput-p.adb: Undo previous change, not needed.
++
++      * sinput.adb: Undo previous change, not needed.
++
++      * sinput-l.adb: Undo previous change, not needed.
++
++      * sinput.ads: Undo previous change, not needed.  Keep only comment
++      on new checksum algorithm
++
++      * Makefile.in: Add s-crc32 as needed, remove g-crc32.
++      Also remove a-tags and a-stream from GNAT sources.
++
++      * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
++
++      * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
++
++2001-10-11  Geert Bosch  <bosch@gnat.com>
++
++      * einfo.h: Regenerate.
++
++      * nmake.ads: Regenerate.
++
++      * nmake.adb: Regenerate.
++
++      * sinfo.h: Regenerate.
++
++      * treeprs.adb: Regenerate.
++
++2001-10-10  Geert Bosch  <bosch@gnat.com>
++
++      * gnat-style.texi: New file describing coding guidelines for Ada.
++
++2001-10-10  Ed Schonberg  <schonber@gnat.com>
++
++      * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
++      is Flag174.
++
++2001-10-10  Geert Bosch  <bosch@gnat.com>
++
++      * snames.ads: Add new names for project facility.
++
++      * snames.adb: Update to reflect snames.ads changes.
++
++      * snames.h: Update to reflect snames.ads changes.
++
++2001-10-10  Vincent Celier  <celier@gnat.com>
++
++      * make.adb:
++      (Add_Switches): reflect the changes for the switches attributes
++      Default_Switches indexed by the programming language,
++      Switches indexed by the file name.
++      (Collect_Arguments_And_Compile): Idem.
++      Reflect the attribute name changes.
++
++      * prj-attr.adb:
++      (Initialisation_Data): Change the names of some packages and
++      attributes.
++      (Initialize): process case insensitive associative arrays.
++
++      * prj-attr.ads:
++      (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
++
++      * prj-dect.adb:
++      (Parse_Attribute_Declaration): For case insensitive associative
++       arrays, set the index string to lower case.
++
++      * prj-env.adb:
++      Reflect the changes of the project attributes.
++
++      * prj-nmsc.adb:
++      Replace Check_Naming_Scheme by Ada_Check and
++      Language_Independent_Check.
++
++      * prj-nmsc.ads:
++      Replaced Check_Naming_Scheme by 2 procedures:
++      Ada_Check and Language_Independent_Check.
++
++      * prj-proc.adb:
++      (Process_Declarative_Items): For case-insensitive associative
++      arrays, set the index string to lower case.
++      (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
++      Prj.Nmsc.Check_Naming_Scheme.
++
++      * prj-tree.adb:
++      (Case_Insensitive): New function
++      (Set_Case_Insensitive): New procedure
++
++      * prj-tree.ads:
++      (Case_Insensitive): New function
++      (Set_Case_Insensitive): New procedure
++      (Project_Node_Record): New flag Case_Insensitive.
++
++      * prj-util.adb:
++      (Value_Of): new function to get the string value of a single
++      string variable or attribute.
++
++      * prj-util.ads:
++      (Value_Of): new function to get the string value of a single
++      string variable or attribute.
++
++      * prj.adb:
++      (Ada_Default_Spec_Suffix): New function
++      (Ada_Default_Impl_Suffix): New function
++      Change definitions of several constants to reflect
++      new components of record types.
++
++      * prj.ads:
++      (Naming_Data): Change several components to reflect new
++      elements of naming schemes.
++      (Project_Data): New flags Sources_Present and
++      Language_Independent_Checked.
++      (Ada_Default_Spec_Suffix): New function.
++      (Ada_Default_Impl_Suffix): New function.
++
++      * snames.ads:
++      Modification of predefined names for project manager: added
++      Implementation, Specification_Exceptions, Implementation_Exceptions,
++      Specification_Suffix, Implementation_Suffix, Separate_Suffix,
++      Default_Switches, _Languages, Builder, Cross_Reference,
++      Finder. Removed Body_Part, Specification_Append, Body_Append,
++      Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
++      Gnatlink.
++
++      * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
++      Add comments.
++
++      * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
++      not that it is Nil_Variable_Value.
++
++      * prj.ads: Add ??? for uncommented declarations
++
++2001-10-10  Ed Schonberg  <schonber@gnat.com>
++
++      * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
++      constant, do not indicate possible modification, so that gigi can
++      treat it as a bona fide constant.
++
++2001-10-10  Robert Dewar  <dewar@gnat.com>
++
++      * sem_prag.adb: Add processing for pragma External.
++
++      * snames.ads: Add entry for pragma External.
++
++      * par-prag.adb: Add pragma External.
++
++      * snames.adb: Updated to match snames.ads.
++
++2001-10-10  Ed Schonberg  <schonber@gnat.com>
++
++      * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
++      a dynamic task if the allocator appears in an indexed assignment
++      or selected component assignment.
++
++      * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
++      For a dynamic task in an assignment statement, use target of
++      assignment to generate meaningful name.
++
++2001-10-10  Ed Schonberg  <schonber@gnat.com>
++
++      * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
++      a generic package.
++
++      * einfo.ads: Body_Entity is also defined for generic package.
++      Documentation change only
++
++      * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
++      others_choice for a discriminated component initialization,
++      convert discriminant references into the corresponding discriminals.
++
++      * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
++      only if original type is private and expression has to be wrapped
++      in a conversion.
++
++      * checks.adb:
++      (Apply_Constraint_Check): Do not perform length check
++      if expression is an aggregate with only an others_choice.
++      (Length_N_Cond): two references to the same in_parameter
++      (typically the discriminal in an init_proc) denote the same value.
++      Two useful optimization uncovered by bugfixes above.
++
++2001-10-10  Robert Dewar  <dewar@gnat.com>
++
++      * xeinfo.adb: Change int to char in translation of enumeration types.
++      This fixes a problem in the C representation of component alignment.
++      Add 2001 to copyright notice
++
++2001-10-10  Richard Kenner  <kenner@gnat.com>
++
++      * decl.c: (validate_size): Do check size of object of integral type
++      if it is a packed array type.
++
++2001-10-10  Richard Kenner  <kenner@gnat.com>
++
++      * decl.c: (gnat_to_gnu_entity, case object): Also materialize
++      VAR_DECL for constant if not Is_Public but -O0.
++
++2001-10-10  Richard Kenner  <kenner@gnat.com>
++
++      * misc.c (struct lang_hooks): Add new initializer to match GCC change.
++
++2001-10-10  Geert Bosch  <bosch@gnat.com>
++
++      * xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer
++      use '/' as switch character, allowing for absolute file names.
++
++2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
++
++      * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
++      FSF address.
++
++2001-10-08  Geert Bosch  <bosch@gnat.com>
++
++      * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
++      Automatically build utilities when files need to be regenerated.
++
++2001-10-08  Geert Bosch  <bosch@gnat.com>
++
++      * xsnames.adb: New utility for updating snames.ads and snames.adb
++
++2001-10-08  Zack Weinberg  <zack@codesourcery.com>
++
++      * Make-lang.in (ADAFLAGS): Add -W -Wall.
++      (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
++      (gnat1): Also depend on attribs.o.
++      (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
++      * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
++      (ADAC): Set to @ADAC@ in stage1, $(CC) later.
++      (ADAFLAGS): Add -W -Wall.
++      (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
++      take out CFLAGS.
++
++      (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
++      s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
++      s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
++      Use $(ADAC), not $(CC), as compilation command.
++
++      (gnattools): Depend directly on tools to build, don't use
++      recursive make.
++      (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
++
++      * einfo.h, sinfo.h: New files (autogenerated).
++
++2001-10-08  Richard Henderson  <rth@redhat.com>
++
++      * comperr.adb (Abort_In_Progress): New.
++      (Compiler_Abort): Use it to prevent recursion.
++
++2001-10-08  Robert Dewar  <dewar@gnat.com>
++
++      * atree.adb: Set Error_Posted in Error node, helps error recovery.
++
++      * par-endh.adb (Output_End_Expected): We should also not test
++      Error_Posted on the Error node, since now it is always set.
++
++      * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
++      to help error recovery. Part of general work on 9407-004.
++
++      * par.adb: Add ??? for misuse of error
++
++      * sem_res.adb:
++      (Resolve): Defend against Error, fixes 9407-003.
++      (Resolve_Discrete_Subtype_Indication): Defend against Error.
++
++      * sinfo.ads (N_Error): Now has Etype field (which will be set
++      to Any_Type to help error recovery).
++
++2001-10-08  Richard Kenner  <kenner@gnat.com>
++
++      * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
++      Consistently set MEM attributes from expression; fixes
++      bootstrap failure on x86.
++
++2001-10-08  Geert Bosch  <bosch@gnat.com>
++
++      * 5oosinte.adb: Add 2001 to copyright notice.
++
++2001-10-08  Geert Bosch  <bosch@gnat.com>
++
++      * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
++
++      * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
++
++2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
++
++      * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
++
++2001-10-05  Geert Bosch  <bosch@gnat.com>
++
++      * adaint.h: Small formatting fix.
++
++2001-10-04  Geert Bosch  <bosch@gnat.com>
++
++      * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
++      Arg is int, not FILE *, in dummy version of functions.
++
++      * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
++      Arg is int, not FILE *.
++
++2001-10-04  Geert Bosch  <bosch@gnat.com>
++
++      * 3lsoccon.ads: Added file, missed with initial check ins.
++
++      * 4lintnam.ads: Fix header format.
++      Change Linux to GNU/Linux.
++
++      * 5iosinte.adb: Change Linux to GNU/Linux.
++
++      * 5iosinte.ads: Change Linux to GNU/Linux.
++
++      * 5itaprop.adb: Change Linux to GNU/Linux.
++
++      * 5itaspri.ads: Change Linux to GNU/Linux.
++      Update copyright notice.
++
++      * 5lintman.adb: Change Linux to GNU/Linux.
++
++      * 5lml-tgt.adb: Change Linux to GNU/Linux.
++
++      * 5losinte.ads: Change Linux to GNU/Linux.
++
++      * 5lsystem.ads: Change Linux to GNU/Linux.
++
++      * 5qosinte.adb: Change Linux to GNU/Linux.
++
++      * 5qosinte.ads: Change Linux to GNU/Linux.
++
++      * 5qparame.ads: Change Linux to GNU/Linux.
++
++      * 5qtaprop.adb: Change Linux to GNU/Linux.
++
++      * 5qtaspri.ads: Change Linux to GNU/Linux.
++      Add 2001 to copyright notice.
++
++      * 5vintman.ads: Change Linux to GNU/Linux.
++      Fix header format.  Add 2001 to copyright notice.
++
++      * g-soccon.ads: Change Linux to GNU/Linux.
++
++      * g-trasym.ads: Change Linux to GNU/Linux.
++      Add 2001 to copyright notice.
++
++      * memtrack.adb: Change Linux to GNU/Linux.
++
++      * s-intman.ads: Change Linux to GNU/Linux.
++      Add 2001 to copyright notice.  Fix header format.
++
++      * s-stache.adb: Change Linux to GNU/Linux.
++
++      * adaint.c: Change Linux to GNU/Linux.
++
++      * cio.c: Change Linux to GNU/Linux.
++
++      * cstreams.c: Change Linux to GNU/Linux.
++
++      * init.c: Change Linux to GNU/Linux.
++
++      * gmem.c: Change Linux to GNU/Linux.
++
++      * tracebak.c: Change Linux to GNU/Linux.
++
++2001-10-02  Geert Bosch  <bosch@gnat.com>
++
++      * misc.c (insert_default_attributes): Add dummy version.
++
++
++\f
++Copyright (C) 2001 Free Software Foundation, Inc.
++
++Copying and distribution of this file, with or without modification,
++are permitted in any medium without royalty provided the copyright
++notice and this notice are preserved.
+Index: gcc/ada/ChangeLog-2002
+===================================================================
+--- gcc/ada/ChangeLog-2002     (.../tags/gcc_4_4_0_release)    (wersja 0)
++++ gcc/ada/ChangeLog-2002     (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -0,0 +1,986 @@
++2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
++
++      * gnat_rm.texi, gnat_ug.texi: Use @copying.
++      * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
++      gnat_ug_wnt.texi: Regenerate.
++
++2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
++
++      * gnat_rm.texi: Include gcc-common.texi.  Use GCC version number
++      only.
++      * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
++      $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
++      $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
++      ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
++      ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
++      $(srcdir)/doc/include/gcc-common.texi.
++
++2002-12-15   Geert Bosch  <bosch@gnat.com>
++
++      * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
++
++2002-12-14   Geert Bosch  <bosch@gnat.com>
++
++      PR ada/5690
++      * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
++      case of a body created for a Renaming_As_Body, on which
++      conformance checks are not performed.
++
++2002-11-30  Zack Weinberg  <zack@codesourcery.com>
++
++      * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
++      utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
++      not already included.
++      * Make-lang.in: Update dependencies.
++
++2002-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
++      * adaint.c (__gnat_tmp_name): Better, but good enough for now,
++      solution to buffer overflow bug on GNU/Linux.
++
++2002-11-14  Nathanael Nerode  <neroden@gcc.gnu.org>
++
++      PR ada/5856
++      PR ada/6919
++      * bindgen.adb: Remove all references to Public_Version.
++      * comperr.adb: Remove all references to Public_Version and
++      GNATPRO_Version; correct bug reporting instructions.
++      * comperr.ads: Change to match bug box.
++      * gnatvsn.ads: Remove all references to Public version and
++      GNATPRO version.
++
++2002-11-13  Nathanael Nerode  <neroden@gcc.gnu.org>
++
++      PR ada/6919
++      * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
++      GNU/Linux.
++
++      PR ada/6558
++      * config-lang.in: Remove diff_excludes.
++
++2002-11-05  Graham Stott  <graham.stott@btinternet.com>
++
++      PR ada/8358
++      * trans.c (gnu_pending_elaboration_lists): New GC root.
++      (build_unit_elab): Use..
++
++2002-10-30   Geert Bosch  <bosch@gnat.com>
++
++      PR ada/6558
++      * misc.c : Include optabs.h
++
++      * Make-lang.in (misc.o): Add dependency on optabs.h
++
++2002-10-29   Geert Bosch  <bosch@gnat.com>
++
++      PR ada/6558
++      * Make-lang.in (gnatbind): Depend on CONFIG_H
++
++2002-10-29  Geert bosch  <bosch@gnat.com>
++
++      PR ada/6558
++      * misc.c: Unrevert misc.c (1.13)
++
++2002-10-28  Nathanael Nerode  <neroden@gcc.gnu.org>
++
++      * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
++      maintainership comments.
++
++2002-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
++
++      PR ada/5904
++      * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
++      5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
++      5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
++      7staprop.adb: Correct statements in comments about
++      maintainership of GNAT.
++
++      PR ada/5904
++      * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
++      gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
++      osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
++      osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
++      s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
++      s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
++      sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
++      switch-c.ads switch-m.adb switch-m.ads: Correct statements in
++      comments about maintainership of GNAT.
++
++      PR ada/6919 (forward port of patch for PR ada/5904)
++      * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
++      4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
++      4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
++      4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
++      4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
++      4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
++      4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
++      52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
++      5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
++      5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
++      5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
++      5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
++      5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
++      5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
++      5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
++      5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
++      5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
++      5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
++      5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
++      5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
++      5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
++      5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
++      5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
++      5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
++      5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
++      5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
++      5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
++      5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
++      7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
++      a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
++      a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
++      a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
++      a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
++      a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
++      a-except.adb a-except.ads a-excpol.adb a-exctra.adb
++      a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
++      a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
++      a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
++      a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
++      a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
++      a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
++      a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
++      a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
++      a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
++      a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
++      a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
++      a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
++      a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
++      a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
++      a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
++      a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
++      a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
++      a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
++      a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
++      a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
++      a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
++      a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
++      a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
++      a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
++      a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
++      a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
++      a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
++      a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
++      a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
++      a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
++      a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
++      a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
++      a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
++      adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
++      alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
++      back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
++      binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
++      bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
++      ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
++      csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
++      cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
++      debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
++      einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
++      errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
++      exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
++      exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
++      exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
++      exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
++      exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
++      exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
++      exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
++      exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
++      exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
++      exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
++      exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
++      exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
++      exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
++      final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
++      fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
++      freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
++      g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
++      g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
++      gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
++      gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
++      gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
++      gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
++      gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
++      gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
++      i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
++      i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
++      i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
++      i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
++      impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
++      itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
++      lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
++      lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
++      lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
++      lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
++      makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
++      namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
++      nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
++      osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
++      par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
++      par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
++      par-endh.adb par-labl.adb par-load.adb par-prag.adb
++      par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
++      prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
++      prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
++      prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
++      prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
++      prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
++      prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
++      repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
++      rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
++      s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
++      s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
++      s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
++      s-direio.adb s-direio.ads s-except.ads s-exctab.adb
++      s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
++      s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
++      s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
++      s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
++      s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
++      s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
++      s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
++      s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
++      s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
++      s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
++      s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
++      s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
++      s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
++      s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
++      s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
++      s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
++      s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
++      s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
++      s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
++      s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
++      s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
++      s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
++      s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
++      s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
++      s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
++      s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
++      s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
++      s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
++      s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
++      s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
++      s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
++      s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
++      s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
++      s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
++      s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
++      s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
++      s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
++      s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
++      s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
++      s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
++      s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
++      s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
++      s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
++      s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
++      s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
++      s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
++      s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
++      s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
++      s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
++      s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
++      s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
++      s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
++      s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
++      s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
++      s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
++      s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
++      s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
++      s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
++      s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
++      s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
++      s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
++      s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
++      s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
++      s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
++      s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
++      s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
++      s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
++      s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
++      s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
++      s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
++      s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
++      s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
++      s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
++      s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
++      s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
++      s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
++      s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
++      s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
++      scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
++      sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
++      sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
++      sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
++      sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
++      sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
++      sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
++      sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
++      sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
++      sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
++      sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
++      sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
++      sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
++      sem_type.adb sem_type.ads sem_util.adb sem_util.ads
++      sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
++      sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
++      sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
++      sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
++      snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
++      stringt.ads stringt.h style.adb style.ads stylesw.adb
++      stylesw.ads switch.adb switch.ads sysdep.c system.ads
++      table.adb table.ads targparm.adb targparm.ads targtyps.c
++      tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
++      tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
++      treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
++      types.adb types.ads types.h uintp.adb uintp.ads uintp.h
++      uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
++      usage.ads utils.c utils2.c validsw.adb validsw.ads
++      widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
++      xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
++      xtreeprs.adb: Correct statements in comments about maintainership
++      of GNAT.
++
++2002-09-23  Zack Weinberg  <zack@codesourcery.com>
++
++      * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
++      * Makefile.in (TOOLS_LIBS): Add ../../version.o.
++      * gnatvsn.ads: Gnat_Version_String is now a function.
++      * gnatvsn.adb: New file.  When asked for Gnat_Version_String,
++      copy the C version_string into a String and return it.
++      * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
++      gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
++      Remove pragma Ident (Gnat_Version_String).  If this was the
++      sole use of package Gnatvsn, remove the with statement too.
++      * gnat1drv.adb: Tweak -gnatv output.
++
++2002-09-17  Richard Henderson  <rth@redhat.com>
++
++      * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
++      * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
++      * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
++      (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
++      * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
++      and real_2expN instead of a loop.
++      * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
++      (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
++
++2002-08-25  Andre Leis  <a.leis@gmx.net>
++          David Billinghurst  <David.Billinghurst@riotinto.com>
++
++      * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
++
++2002-08-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
++      Remove $(CONFIG_H) dependency.
++
++2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
++
++      * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
++
++2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
++
++      * adadecode.c (ada_demangle): Use xstrdup in lieu of
++      xmalloc/strcpy.
++      * misc.c (gnat_decode_option): Likewise.
++
++2002-07-15  Florian Weimer  <fw@deneb.enyo.de>
++
++      * make.adb (Add_Switch): Make Generic_Position a procedure.  The
++      function approach did not work well because of a side effect (the
++      function call could reallocate the table which was being indexed
++      using its result). Fixes ada/4851. [RESURRECTED]
++
++2002-07-01  Roger Sayle  <roger@eyesopen.com>
++
++      * ada/utils.c (builtin_function): Accept an additional parameter.
++
++2002-06-28  Andreas Jaeger  <aj@suse.de>
++
++      PR ada/7144
++      * Makefile.in: Fix typo in comment, patch by Adrian Knoth
++      <adi@thur.de>.
++
++2002-06-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
++
++      * Makefile.in (SHELL): Set to @SHELL@.
++
++2002-06-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
++
++      * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
++      array size calculation.
++
++2002-06-04  Andreas Jaeger  <aj@suse.de>
++
++      * Make-lang.in (gnatbind): Readd rule that has been lost in last
++      patch.
++
++2002-06-03  Geoffrey Keating  <geoffk@redhat.com>
++
++      Merge from pch-branch:
++
++      * config-lang.in (gtfiles): Add ada-tree.h.
++      * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
++      (SET_TYPE_MODULUS): New.
++      (SET_TYPE_INDEX): New.
++      (SET_TYPE_DIGITS_VALUE): New.
++      (SET_TYPE_RM_SIZE): New.
++      (SET_TYPE_UNCONSTRAINED_ARRAY): New.
++      (SET_TYPE_ADA_SIZE): New.
++      (SET_TYPE_ACTUAL_BOUNDS): New.
++      (SET_DECL_CONST_CORRESPONDING_VAR): New.
++      (SET_DECL_ORIGINAL_FIELD): New.
++      (TREE_LOOP_ID): Correct typo.
++      * decl.c: Use new macros.
++      * utils.c: Include debug.h, use new macros.
++      * utils2.c: Use new macros.
++
++      * ada-tree.h: Update all macros for new tree description.
++      (struct tree_loop_id): New.
++      (union lang_tree_node): New.
++      (struct lang_decl): New.
++      (struct lang_type): New.
++      * misc.c (gnat_mark_tree): Delete.
++      (LANG_HOOKS_MARK_TREE): Delete.
++      * trans.c (tree_transform): No longer any need to cast
++      for TREE_LOOP_ID.
++
++      * utils.c (struct language_function): New dummy structure.
++
++      * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
++      (misc.o): Likewise.
++      (utils.o): Likewise; also gtype-ada.h.
++      * Make-lang.in (gnat1): Add dependency on s-gtype.
++      (gnatbind): Add dependency on $(CONFIG_H).
++      * utils.c: Correct last #include.
++      (stuct e_stack): Remove unnecessary 'static'.
++      (mark_e_stack): Remove unused prototype.
++
++      * scn-nlit.adb: Remove whitespace after version number to
++      keep lines under 80 chars.
++      * snames.adb: Likewise.
++      * treepr.ads: Likewise.
++
++      * Makefile.in (decl.o): Include gt-ada-<filename>.h.
++      (misc.o): Likewise.
++      (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
++      * config-lang.in (gtfiles): New.
++      * decl.c: Use gengtype for roots.
++      * gigi.h: Use gengtype for roots.
++      * trans.c: Use gengtype for roots.
++      * utils.c: Use gengtype for roots, marking.  Include gtype-ada.h.
++
++2002-06-02  Gabriel Dos Reis  <gdr@codesourcery.com>
++
++      * misc.c (gnat_init): Adjust setting of internal_error_function.
++
++2002-06-01  Joseph S. Myers  <jsm28@cam.ac.uk>
++
++      * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
++      * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
++      gnat_ug_wnt.texi: Regenerate.
++
++2002-05-31  Florian Weimer  <fw@deneb.enyo.de>
++
++      * 5ntaprop.adb (with System.OS_Primitives): Remove.
++
++      * cstreams.c (max_path_len): Move from here ...
++      * adaint.c (__gnat_max_path_len): ... to here.
++      * adaint.c (__gnat_max_path_len): Declare.
++      * g-dirope.adb (Max_Path): Adjust.
++      * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
++      * i-cstrea.ads (max_path_len): Adjust.
++      * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
++      * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
++
++      * Makefile.in, Make-lang.in: Documentation is now built in
++      Make-lang.in.  Store Info and generated Texinfo files in the
++      source directory.
++      * gnat_ug.texi: Remove CVS keywords, correct version number.
++      Set file name correctly.
++
++      * gnat_ug_*.texi: Add.
++      * .cvsignore: Ignore generated Texinfo files.
++
++2002-05-30  Zack Weinberg  <zack@codesourcery.com>
++
++      * ada.h: Add MI guard macro.
++      (SUBTYPE): Define constants with an anonymous enum, not static
++      const variables.
++      (IN): Cast constants to appropriate type before use.
++
++2002-05-26  Joseph S. Myers  <jsm28@cam.ac.uk>
++
++      * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
++      (experimental)".
++
++2002-05-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * Make-lang.in (CP, ECHO): Copy from Makefile.in.
++      (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
++      (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
++      (ALL_ADA_CFLAGS): Likewise.
++      (ADA_INCLUDES): Likewise.
++      Adapt for new working dir.
++      (GNATBIND): Use Makefile.in version.
++      (.SUFFIXES): Copy from Makefile.in.
++      (ada-warn): Define.
++      (.adb.o, .ads.o): Copy from Makefile.in.
++      Added $(OUTPUT_OPTION).
++      (GNAT1_C_OBJS): Moved from Makefile.in.
++      Prefix with ada subdir.
++      (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
++      (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
++      Adapt for new working dir.
++      (EXTRA_GNATBIND_OBJS): Likewise.
++      (ADA_BACKEND): Moved from Makefile.in.
++      Renamed to avoid conflict with global BACKEND.
++      Use that one.
++      (TARGET_ADA_SRCS): Moved from Makefile.in.
++      (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
++      Use ADA_BACKEND.
++      (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
++      (ada_extra_files): Moved from Makefile.in.
++      Prefix with ada subdir.
++      (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
++      (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
++      (ada/nmake.ads): Likewise.
++      (update-sources): Moved from Makefile.in.
++      Prefix with ada subdir.
++      (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
++      (ADA_TREE_H): Likewise.
++      (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
++      (ada/memtrack.o): Likewise.
++      (ada/adadecode.o): Likewise.
++      Update dependencies.
++      (ada/adaint.o): New.
++      (ada/argv.o): Moved from Makefile.in.
++      Prefix with ada subdir.
++      Update dependencies.
++      (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
++      (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
++      (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
++      Prefix with ada subdir.
++      (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
++      (GNAT DEPENDENCIES): Regenerate.
++      * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
++      toplevel Makefile.in.
++      (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
++      (TARGET_ADA_SRCS): Removed.
++      (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
++      (GNATBIND_OBJS): Likewise.
++      (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
++      (BACKEND): Removed.
++      (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
++      (TREE_H): Likewise.
++      (ada_extra_files): Likewise.
++      (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
++      (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
++      (update-sources): Likewise.
++      (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
++      (ADA_TREE_H): Likewise.
++      (adadecoce.o): Likewise.
++      (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
++      (GNAT DEPENDENCIES): Likewise.
++
++2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
++      * Makefile.in: Likewise.
++
++2002-05-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
++      Restore $(CONFIG_H) and prefix.o dependencies.
++      (ada.stage[1-4]): Depend on stage?-start.
++
++      * Makefile.in (b_gnatb.c): Depend on interfac.o.
++
++2002-05-02  Jim Wilson  <wilson@redhat.com>
++
++      * utils.c (finish_record_type): Change record_size to record_type.
++
++2001-05-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
++
++      * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
++      (ALL_ADA_CFLAGS): Define.  Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
++      ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
++
++2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
++
++      * misc.c (gnat_parse_file): Update.
++
++2002-04-24  Neil Booth  <neil@daikokuya.demon.co.uk>
++
++      * misc.c (gnat_init): Don't set lang_attribute_common.
++
++2002-04-21  Joseph S. Myers  <jsm28@cam.ac.uk>
++
++      * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
++
++2002-04-21  Florian Weimer  <fw@deneb.enyo.de>
++
++      * gnat_ug.texi: New file.
++
++      * gnat_rm.texi: Do not include texiplus.texi.  Include fdl.texi
++      instead of gfdl.texi
++
++      * xgnatug.adb, ug_words: New files.
++
++      * Makefile.in (doc, dvi): New targets.  Build gnat_ug_*,
++      gnat_rm and gnat-style manuals.
++
++2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
++
++      * gigi.h (incomplete_type_error): Remove.
++      * utils.c (incomplete_type_error): Remove.
++
++2002-04-16  Mark Mitchell  <mark@codesourcery.com>
++
++      * trans.c (tree_transform): Add has_scope argument to
++      expand_start_stmt_expr.
++
++2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
++
++      * gigi.h (truthvalue_conversion): Rename.
++      * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
++      * trans.c (tree_transform): Update.
++      * utils2.c (truthvalue_conversion): Rename, update.
++      (build_binary_op, build_unary_op): Update.
++
++2002-04-04  Laurent Guerby  <guerby@acm.org>
++
++      * make.adb: Implement -margs, remove restriction about file name placement.
++      * makeusg.adb: Documentation update.
++      * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
++      * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
++
++2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
++
++      * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
++      (builtin_function): Similarly.
++
++2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
++
++      * decl.c (gnat_to_gnu_entity): Update.
++      * gigi.h (mark_addressable): Rename.
++      * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
++      * trans.c (tree_transform): Update.
++      * utils.c (create_var_decl): Update.
++      * util2.c (build_binary_op, build_unary_op,
++      fill_vms_descriptor): Update.
++      (mark_addressable): Rename, update.
++
++2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
++
++      * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
++      Rename.
++      * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
++      LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
++      * trans.c (tree_transform, convert_with_check): Update.
++      * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
++      Rename.
++
++2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
++
++      * gigi.h (finish_incomplete_decl): Rename.
++      * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
++      * utils.c (gnat_init_decl_processing): Don't set hook.
++      (finish_incomplete_decl): Rename.
++
++2002-03-29  Andreas Schwab  <schwab@suse.de>
++
++      * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
++      directory.
++
++2001-03-28  Robert Dewar  <dewar@gnat.com>
++
++      * checks.ads:
++      (Remove_Checks): New procedure
++
++      * checks.adb:
++      (Remove_Checks): New procedure
++
++      * exp_util.adb:
++      Use new Duplicate_Subexpr functions
++      (Duplicate_Subexpr_No_Checks): New procedure
++      (Duplicate_Subexpr_No_Checks_Orig): New procedure
++      (Duplicate_Subexpr): Restore original form (checks duplicated)
++      (Duplicate_Subexpr): Call Remove_Checks
++
++      * exp_util.ads:
++      (Duplicate_Subexpr_No_Checks): New procedure
++      (Duplicate_Subexpr_No_Checks_Orig): New procedure
++      Add 2002 to copyright notice
++
++      * sem_util.adb: Use new Duplicate_Subexpr functions
++
++      * sem_eval.adb:
++      (Eval_Indexed_Component): This is the place to call
++      Constant_Array_Ref and to replace the value. We simply merge
++      the code of this function in here, since it is now no longer
++      used elsewhere. This fixes the problem of the back end not
++      realizing we were clever enough to see that this was
++      constant.
++      (Expr_Val): Remove call to Constant_Array_Ref
++      (Expr_Rep_Val): Remove call to Constant_Array_Ref
++      Minor reformatting
++      (Constant_Array_Ref): Deal with string literals (patch
++      suggested by Zack Weinberg on the gcc list)
++
++2001-03-28  Ed Schonberg  <schonber@gnat.com>
++
++      * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
++      Duplicate_Subexpr_Move_Checks.
++
++      * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
++      Duplicate_Subexpr_Move_Checks.
++
++      * sem_eval.adb: (Constant_Array_Ref): Verify that constant
++      value of array exists before retrieving it (it may a private
++      protected component in a function).
++
++2002-03-28   Geert Bosch  <bosch@gnat.com>
++
++      * prj-pp.adb : New file.
++
++      * prj-pp.ads : New file.
++
++2002-03-28  Andreas Jaeger  <aj@suse.de>
++
++      * Makefile.in (stamp-sdefault): Fix path for Makefile.
++
++2002-03-28  Neil Booth  <neil@daikokuya.demon.co.uk>
++
++      * misc.c (gnat_expand_expr): Move prototype.
++
++2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
++
++      * misc.c (insert_default_attributes): Remove.
++
++2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
++
++      * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
++      (gnat_init): Don't set hook.
++      (gnat_expand_expr): Fix prototype.
++
++2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
++
++      * misc.c (ggc_p): Remove.
++
++2002-03-27  Geert Bosch  <bosch@gnat.com>
++
++      * prj-makr.ads, prj-makr.adb : New files.
++
++2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
++
++      * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
++      (lang_mark_tree): Make static, rename.
++
++2002-03-25  Neil Booth  <neil@daikokuya.demon.co.uk>
++
++      * misc.c (maybe_build_cleanup): Remove.
++
++2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
++
++      * gigi.h (yyparse): Remove.
++
++2002-03-23  Florian Weimer  <fw@deneb.enyo.de>
++
++      From Ben Brosgol  <brosgol@gnat.com>
++      * gnat_rm.texi: Sync with ACT version.
++
++2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
++
++      * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
++      (gnat_init): Remove old hook.
++
++2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
++
++      * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
++      (yyparse): Rename gnat_parse_file.
++
++2002-03-14  Geoffrey Keating  <geoffk@redhat.com>
++
++      Delete all lines containing "$Revision:".
++      * xeinfo.adb: Don't look for revision numbers.
++      * xnmake.adb: Likewise.
++      * xsinfo.adb: Likewise.
++      * xsnames.adb: Likewise.
++      * xtreeprs.adb: Likewise.
++
++2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
++
++      * misc.c (gnat_tree_code_type, gnat_tree_code_length,
++      gnat_tree_code_name): Delete.
++      (tree_code_type, tree_code_length, tree_code_name): Define.
++      (gnat_init): Don't try to copy into the various tree_code
++      arrays.
++
++2002-03-11  Richard Henderson  <rth@redhat.com>
++
++      * Makefile.in (.NOTPARALLEL): Add fake tag.
++
++2002-03-07  Geert Bosch  <bosch@gnat.com>
++
++      * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
++      s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
++      switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
++      switch-m.adb, switch-m.ads : New files.
++
++2002-03-07  Geert Bosch  <bosch@gnat.com>
++
++      * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
++      4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
++      4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
++      4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
++      5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
++      5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
++      5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
++      5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
++      5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
++      5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
++      5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
++      5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
++      5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
++      5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
++      5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
++      5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
++      5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
++      5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
++      5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
++      5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
++      7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
++      Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
++      a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
++      a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
++      a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
++      a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
++      a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
++      a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
++      a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
++      adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
++      atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
++      bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
++      csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
++      einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
++      eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
++      exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
++      exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
++      exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
++      exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
++      exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
++      expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
++      freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
++      g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
++      g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
++      g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
++      g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
++      g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
++      g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
++      gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
++      gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
++      gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
++      i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
++      impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
++      lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
++      lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
++      memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
++      mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
++      nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
++      output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
++      par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
++      prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
++      prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
++      prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
++      rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
++      s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
++      s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
++      s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
++      s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
++      s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
++      s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
++      s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
++      s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
++      s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
++      s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
++      s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
++      s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
++      s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
++      s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
++      s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
++      sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
++      sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
++      sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
++      sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
++      sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
++      sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
++      sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
++      sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
++      sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
++      sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
++      snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
++      stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
++      table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
++      tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
++      treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
++      types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
++      utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
++      xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
++
++      * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
++      g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
++      mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
++      osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
++
++      * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
++      5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
++
++      * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
++      to mdll-fil.ad[bs] and mdll-util.ad[bs]
++
++      * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
++      from mdllfile.ad[bs] and mdlltool.ad[bs]
++
++2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
++
++      * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
++      lieu of explicit sizeof/sizeof.
++
++2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
++
++      * misc.c (copy_lang_decl): Remove.
++
++2002-02-27  Zack Weinberg  <zack@codesourcery.com>
++
++      * misc.c: Delete traditional-mode-related code copied from the
++      C front end but not used, or used only to permit the compiler
++      to link.
++
++2002-02-07  Richard Henderson  <rth@redhat.com>
++
++      * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
++      * adaint.h (__gnat_to_gm_time): Update prototype.
++
++2002-01-30  Richard Henderson  <rth@redhat.com>
++
++      * trans.c (tree_transform) [N_Loop_Statement]: Use
++      expand_exit_loop_top_cond.
++
++
++\f
++Copyright (C) 2002 Free Software Foundation, Inc.
++
++Copying and distribution of this file, with or without modification,
++are permitted in any medium without royalty provided the copyright
++notice and this notice are preserved.
+Index: gcc/ada/ChangeLog-2003
+===================================================================
+--- gcc/ada/ChangeLog-2003     (.../tags/gcc_4_4_0_release)    (wersja 0)
++++ gcc/ada/ChangeLog-2003     (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -0,0 +1,3021 @@
++2003-12-23  Kelley Cook  <kcook@gcc.gnu.org>
++
++      * gnat_ug.texi: Force a CVS commit by updating copyright.
++      * gnat_ug_vxw.texi: Regenerate.
++      * gnat_ug_wnt.texi: Regenerate.
++      * gnat_ug_vms.texi: Regenerate.
++      * gnat_ug_unx.texi: Regenerate.
++
++2003-12-20  Kazu Hirata  <kazu@cs.umass.edu>
++
++      * trans.c: Remove uses of "register" specifier in
++      declarations of local variables.
++
++2003-12-18  Kelley Cook  <kcook@gcc.gnu.org>
++
++      * stamp-xgnatug: New stamp file.
++      * Make-lang.in (stamp-xgnatug):  New stamp file and comment.
++      (ada/doctools/xgnatug): Add $(build_exeext).
++      (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
++      ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
++
++2003-12-17  Ed Falis  <falis@gnat.com>
++
++      * a-elchha.adb (Tailored_Exception_Information): made Info constant to
++      eliminate warning.
++
++      * a-exextr.adb: Add context clause for
++      Ada.Exceptions.Last_Chance_Handler.
++
++2003-12-17  Sergey Rybin  <rybin@act-europe.fr>
++
++      * cstand.adb (Create_Standard): Change the way how the declaration of
++      the Duration type is created (making it the same way as it is for all
++      the other standard types).
++
++2003-12-17  Robert Dewar  <dewar@gnat.com>
++
++      * s-crtl.ads: Fix header format
++      Change Pure to Preelaborate
++
++2003-12-17  Ed Schonberg  <schonberg@gnat.com>
++
++      * checks.adb (Selected_Length_Checks): Generate an Itype reference for
++      the expression type only if it is declared in the current unit.
++
++      * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
++      are universal and already analyzed, as can occur in constrained
++      subcomponents that depend on discriminants, when one constraint is a
++      subtype mark.
++
++      * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
++      type Any_Fixed is legal as the argument of a conversion, if only one
++      fixed-point type is in context.
++
++2003-12-17  GNAT Script  <nobody@gnat.com>
++
++      * Make-lang.in: Makefile automatically updated
++
++2003-12-15  Robert Dewar  <dewar@gnat.com>
++
++      * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
++      sec stack size.
++
++2003-12-15  Vincent Celier  <celier@gnat.com>
++
++      * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
++      (Gnatchop): Do not set failure status when reporting the number of
++      warnings.
++
++2003-12-15  Doug Rupp  <rupp@gnat.com>
++
++      * s-ctrl.ads: New file.
++
++      * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
++
++      * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
++      (GNATBIND_OBJS): Add ada/s-crtl.o.
++
++      * Makefile.in [VMS]: Clean up ifeq rules.
++
++      * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
++      a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
++      g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
++      s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
++      s-tasdeb.adb: Update copyright.
++      Import System.CRTL.
++      Make minor modifications to use System.CRTL declared functions instead
++      of importing locally.
++
++2003-12-15  GNAT Script  <nobody@gnat.com>
++
++      * Make-lang.in: Makefile automatically updated
++
++2003-12-11  Ed Falis  <falis@gnat.com>
++
++      * 5zinit.adb: Clean up.
++
++      * 5zintman.adb (Notify_Exception): replaced case statement with a call
++      to __gnat_map_signal, imported from init.c to support
++      signal -> exception mappings that depend on the vxWorks version.
++
++      * init.c:
++      Created and exported __gnat_map_signal to support signal -> exception
++      mapping that is dependent on the VxWorks version.
++      Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
++
++2003-12-11  Vasiliy Fofanv  <fofanov@act-europe.fr>
++
++      * 5wosinte.ads: Link with -mthreads switch.
++
++2003-12-11  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * init.c (__gnat_install_handler [NetBSD]): Set
++      __gnat_handler_installed, as done on all other platforms.
++      Remove duplicated code.
++
++2003-12-11  Jerome Guitton  <guitton@act-europe.fr>
++
++      * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
++
++2003-12-11  Thomas Quinot  <quinot@act-europe.fr>
++
++      * sinfo.ads: Fix inconsistent example code in comment.
++
++2003-12-11  Robert Dewar  <dewar@gnat.com>
++
++      * a-tiinau.adb: Add a couple of comments
++
++      * sem_ch3.adb: Minor reformatting
++
++      * sem_prag.adb:
++      Fix bad prototype of Same_Base_Type in body (code reading cleanup)
++      Minor reformatting throughout
++
++2003-12-11  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
++      bounds of a loop, create a separate block in order to generate proper
++      cleanup actions to prevent memory leaks.
++
++      * sem_res.adb (Resolve_Call): After a call to
++      Establish_Transient_Scope, the call may be rewritten and relocated, in
++      which case no further processing is needed.
++
++      * sem_util.adb: (Wrong_Type): Refine previous fix.
++       Fixes ACATS regressions.
++
++      PR ada/13353
++      * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
++      be inlined.
++
++2003-12-08  Jerome Guitton  <guitton@act-europe.fr>
++
++      * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
++      i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
++      obsolete files.
++
++      * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
++      (rts-zfp): Ditto.
++
++2003-12-08  Robert Dewar  <dewar@gnat.com>
++
++      * 7sintman.adb: Minor reformatting
++
++      * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
++      standard linker options to get standard libraries linked. We now plan
++      to provide dummy versions of these libraries to match the appropriate
++      configurable run-time (e.g. if a library is not needed at all, provide
++      a dummy empty library).
++
++      * targparm.ads: Configurable_Run_Time mode no longer affects linker
++      options (-L parameters and standard libraries). What we plan to do is
++      to provide dummy libraries where the libraries are not required.
++
++      * gnatbind.adb: Minor comment improvement
++
++2003-12-08  Javier Miranda  <miranda@gnat.com>
++
++      * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
++      aggregate in the parent. Otherwise constants with limited aggregates
++      are not supported. Add new formal to pass the component type (Ctype).
++      It is required to call the corresponding IP subprogram in case of
++      default initialized components.
++      (Gen_Assign): In case of default-initialized component, generate a
++      call to the IP subprogram associated with the component.
++      (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
++      of aggregate with default initialized components.
++      (Has_Default_Init_Comps): Improve implementation to recursively check
++      all the present expressions.
++
++      * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
++      to indicate that the initialization call corresponds to a
++      default-initialized component of an aggregate.
++      In case of default initialized aggregate with tasks this parameter is
++      used to generate a null string (this is just a workaround that must be
++      improved later). In case of discriminants, this parameter is used to
++      generate a selected component node that gives access to the discriminant
++      value.
++
++      * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
++      subprogram, based on Build_Task_Allocate_Block, but adapted to expand
++      allocated aggregates with default-initialized components.
++
++      * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
++      the box notation is used in positional aggregates.
++
++2003-12-08  Samuel Tardieu  <tardieu@act-europe.fr>
++
++      * lib.ads: Fix typo in comment
++
++2003-12-08  Vincent Celier  <celier@gnat.com>
++
++      * prj.adb (Project_Empty): New component Unkept_Comments
++      (Scan): Remove procedure; moved to Prj.Err.
++
++      * prj.ads (Project_Data): New Boolean component Unkept_Comments
++      (Scan): Remove procedure; moved to Prj.Err.
++
++      * prj-dect.adb: Manage comments for the different declarations.
++
++      * prj-part.adb (With_Record): New component Node
++      (Parse): New Boolean parameter Store_Comments, defaulted to False.
++      Set the scanner to return ends of line and comments as tokens, if
++      Store_Comments is True.
++      (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
++      comments are associated with these nodes. Store the node IDs in the
++      With_Records.
++      (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
++      With_Records.
++      (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
++      the N_Project node. Call Tree.Save and Tree.Reset before scanning the
++      current project. Call Tree.Restore afterwards. Set the various nodes
++      for comment storage (Next_End, End_Of_Line, Previous_Line,
++      Previous_End).
++
++      * prj-part.ads (Parse): New Boolean parameter Store_Comments,
++      defaulted to False.
++
++      * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
++      to False. When Truncated is True, truncate the string, never go to the
++      next line.
++      (Write_End_Of_Line_Comment): New procedure
++      (Print): Process comments for nodes N_With_Clause,
++      N_Package_Declaration, N_String_Type_Declaration,
++      N_Attribute_Declaration, N_Typed_Variable_Declaration,
++      N_Variable_Declaration, N_Case_Construction, N_Case_Item.
++      Process nodes N_Comment.
++
++      * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
++      without comments and there are some comments, set the flag
++      Unkept_Comments to True.
++      (Scan): If there are comments, set the flag Unkept_Comments to True and
++      clear the comments.
++      (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
++      (Next_End_Nodes: New table
++      (Comment_Zones_Of): New function
++      (Scan): New procedure; moved from Prj. Accumulate comments in the
++      Comments table and set end of line comments, comments after, after end
++      and before end.
++      (Add_Comments): New procedure
++      (Save, Restore, Seset_State): New procedures
++      (There_Are_Unkept_Comments): New function
++      (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
++      (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
++      procedures.
++      (First_Comment_After, First_Comment_After_End): New functions
++      (First_Comment_Before, First_Comment_Before_End): New functions
++      (Next_Comment): New function
++      (End_Of_Line_Comment, Follows_Empty_Line,
++      Is_Followed_By_Empty_Line): New functions
++      (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
++      (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
++      (Set_Next_Comment): New procedure
++      (Default_Project_Node): Associate comment before if the node can store
++      comments.
++
++      * scans.ads (Token_Type): New enumeration value Tok_Comment
++      (Comment_Id): New global variable
++
++      * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
++      defaulted to False.
++      (Scan): Store position of start of comment. If comments are tokens, set
++      Comment_Id and set Token to Tok_Comment when scanning a comment.
++      (Set_Comment_As_Token): New procedure
++
++      * sinput-p.adb: Update Copyright notice
++      (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
++      that no longer exists.
++
++2003-12-08  Javier Miranda  <miranda@gnat.com>
++
++      * sem_aggr.adb: Add dependence on Exp_Tss package
++      Correct typo in comment
++      (Resolve_Aggregate): In case of array aggregates set the estimated
++      type of the aggregate before calling resolve. This is needed to know
++      the name of the corresponding IP in case of limited array aggregates.
++      (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
++      in case of default initialized array components.
++
++      * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
++      types. Required to give support to limited aggregates in generic
++      formals.
++
++2003-12-08  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch3.adb (Check_Initialization): For legality purposes, an
++      inlined body functions like an instantiation.
++      (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
++      until bounds are analyzed, to diagnose premature use of type.
++
++      * sem_util.adb (Wrong_Type): Improve error message when the type of
++      the expression is used prematurely.
++
++2003-12-08  GNAT Script  <nobody@gnat.com>
++
++      * Make-lang.in: Makefile automatically updated
++
++2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
++      they are automatically generated by Make-lang.in and cause nothing but
++      maintenance troubles.
++
++2003-12-05  Thomas Quinot  <quinot@act-europe.fr>
++
++      * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
++      version of this unit).
++
++2003-12-05  Olivier Hainque  <hainque@act-europe.fr>
++
++      * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
++      5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
++      5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
++      the body of System.Interrupt_Management common to several targets.
++      Update copyright notice when appropriate.
++
++      * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
++      constant.
++
++      * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
++      to ensure that the kernel fills in the interrupted context structure
++      before calling a signal handler, which is necessary to be able to
++      unwind past it. Update the copyright notice.
++
++2003-12-05  Jerome Guitton  <guitton@act-europe.fr>
++
++      * a-elchha.ads: New file.
++
++      * a-elchha.adb: New default last chance handler. Contents taken from
++      Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
++
++      * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
++      is moved to a-elchha.adb to provide a target-independent default last
++      chance handler.
++
++      * Makefile.rtl: Add a-elchha.o
++
++      * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
++
++2003-12-05  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
++      declared in an instance, do not inline the call if the instance is not
++      frozen yet, to prevent order of elaboration problems.
++
++      * sem_prag.adb: Add comments for previous fix.
++
++2003-12-05  Samuel Tardieu  <tardieu@act-europe.fr>
++
++      * g-table.adb: Use the right variable in Set_Item.
++      Update copyright notice.
++
++2003-12-05  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * Makefile.in: Remove unused rules.
++
++2003-12-05  Vincent Celier  <celier@gnat.com>
++
++      * switch-c.adb (Scan_Front_End_Switches): Remove processing of
++      -nostdlib. Not needed here after all.
++
++2003-12-03  Thomas Quinot  <quinot@act-europe.fr>
++
++      PR ada/11724
++      * adaint.h, adaint.c, g-os_lib.ads:
++      Do not assume that the offset argument to lseek(2) is a 32 bit integer,
++      on some platforms (including FreeBSD), it is a 64 bit value.
++      Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
++
++2003-12-03  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * gnatvsn.ads (Library_Version): Now contain only the relevant
++      version info.
++      (Verbose_Library_Version): New constant.
++
++      * g-spipat.adb, g-awk.adb, g-debpoo.adb,
++      g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
++      s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
++
++      * gnatlbr.adb: Clean up: replace Library_Version by
++      Verbose_Library_Version.
++
++      * make.adb, lib-writ.adb, exp_attr.adb:
++      Clean up: replace Library_Version by Verbose_Library_Version.
++
++      * 5lintman.adb: Removed.
++
++      * Makefile.in:
++      Update and simplify computation of LIBRARY_VERSION.
++      Fix computation of GSMATCH_VERSION.
++      5lintman.adb is no longer used: replaced by 7sintman.adb.
++
++2003-12-03  Robert Dewar  <dewar@gnat.com>
++
++      * exp_ch5.adb:
++      (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
++      name. Modified to consider small non-bit-packed arrays as troublesome
++      and in need of component-by-component assigment expansion.
++
++2003-12-03  Vincent Celier  <celier@gnat.com>
++
++      * lang-specs.h: Process nostdlib as nostdinc
++
++      * back_end.adb: Update Copyright notice
++      (Scan_Compiler_Arguments): Process -nostdlib directly.
++
++2003-12-03  Jose Ruiz  <ruiz@act-europe.fr>
++
++      * Makefile.in:
++      When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
++      redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
++      included in HIE_NONE_TARGET_PAIRS.
++
++2003-12-03  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_attr.adb:
++      (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
++      is legal in an instance, because legality is cheched in the template.
++
++      * sem_prag.adb:
++      (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
++      appplied to an unchecked conversion of a formal parameter.
++
++      * sem_warn.adb:
++      (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
++      variables.
++
++2003-12-03  Olivier Hainque  <hainque@act-europe.fr>
++
++      * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
++      routines. The second one is new functionality to deal with backtracing
++      through signal handlers.
++      (unwind): Split into the two separate subroutines above.
++      Update the documentation, and deal properly with sizeof (REG) different
++      from sizeof (void*).
++
++2003-12-01  Nicolas Setton  <setton@act-europe.fr>
++
++      * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
++      so that the debugger can reliably access the value of the parameter,
++      and therefore is able to display the exception name when an exception
++      breakpoint is reached.
++
++2003-12-01  Thomas Quinot  <quinot@act-europe.fr>
++
++      * fmap.adb: Fix typo in warning message.
++
++      * g-socket.ads, g-socket.adb: Make Free a visible instance of
++      Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
++
++2003-12-01  Vincent Celier  <celier@gnat.com>
++
++      * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
++      ther is no Afile.
++      (Build_Library): Get the switches only if Default_Switches is declared
++      in package Binder.
++
++2003-12-01  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_ch6.adb (Expand_Actuals): When applying validity checks to
++      actuals that are indexed components, reanalyze actual to ensure that
++      packed array references are properly expanded.
++
++      * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
++      attempted assignment to a discriminant.
++
++2003-12-01  Robert Dewar  <dewar@gnat.com>
++
++      * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
++      reformatting.
++
++      * switch-c.adb: Minor reformatting of comments
++
++2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * Makefile.in: Clean ups.
++
++2003-12-01  GNAT Script  <nobody@gnat.com>
++
++      * Make-lang.in: Makefile automatically updated
++
++2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * 5wsystem.ads: Disable zero cost exception, not ready yet.
++
++2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
++
++      * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
++      to force serialization.
++
++2003-11-26  Thomas Quinot  <quinot@act-europe.fr>
++
++      * g-socket.ads, g-socket.adb:
++      Clarify documentation of function Stream. Introduce a Free procedure
++      to release the returned Stream once it becomes unused.
++
++      * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
++
++2003-11-26  Arnaud Charlet  <charlet@act-europe.fr>
++
++      (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
++      since NT 4 cannot handle timeout values that are too large,
++      e.g. DWORD'Last - 1.
++
++2003-11-26  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_ch4.adb:
++      (Expand_N_Slice): Recognize all cases of slices that appear as actuals
++      in procedure calls and whose expansion must be deferred.
++
++      * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
++      is in exp_ch4.
++
++      * sem_ch3.adb:
++      (Build_Derived_Array_Type): Create operator for unconstrained type
++      if ancestor is unconstrained.
++
++2003-11-26  Vincent Celier  <celier@gnat.com>
++
++      * make.adb (Project_Object_Directory): New global variable
++      (Change_To_Object_Directory): New procedure
++      (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
++      of Change_Dir directly. Do not change working directory to object
++      directory of main project after each compilation.
++      (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
++      directly.
++      Change to object directory of main project before binding step.
++      (Initialize): Initialize Project_Object_Directory to No_Project
++
++      * mlib-prj.adb:
++      (Build_Library): Take into account Builder'Default_Switches ("Ada") when
++      binding a Stand-Alone Library.
++
++      * output.adb: Update Copyright notice
++      (Write_Char): Output buffer when full
++
++2003-11-26  Robert Dewar  <dewar@gnat.com>
++
++      * sem_ch13.adb: (Check_Size): Reset size if size is too small
++
++      * sem_ch13.ads:
++      (Check_Size): Fix documentation to include bit-packed array case
++
++      * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
++
++      * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
++
++      * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
++
++2003-11-24  Arnaud Charlet  <charlet@act-europe.fr>
++
++      PR ada/13142
++      * utils.c (init_gigi_decls): Change name of built-in setjmp to
++      __builtin_setjmp, since this is apparently needed by recent
++      non Ada changes.
++
++2003-11-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * adadecode.c: Only include ctype.h if not IN_GCC.
++      (__gnat_decode): Use ISDIGIT from safe-ctype.h.
++
++2003-11-24  Jose Ruiz  <ruiz@act-europe.fr>
++
++      * Makefile.in:
++      Use 5zintman.ads for VxWorks targets. This file avoid confusion between
++      signals and interrupts.
++
++      * 5zintman.ads: New File.
++
++      * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
++      add exception signals to the set of unmasked signals.
++
++      * 5ztaprop.adb:
++      Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
++      between signals and interrupts.
++      Add to Unblocked_Signal_Mask the set of signals that are in
++      Keep_Unmasked.
++
++      * 7sinmaop.adb:
++      Adding a check to see whether the Interrupt_ID we want to unmask is in
++      the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
++      reason is that the index type of the Keep_Unmasked array is not always
++      Interrupt_ID; it may be a subtype of Interrupt_ID.
++
++2003-11-24  Gary Dismukes  <dismukes@gnat.com>
++
++      * exp_util.adb:
++      (Remove_Side_Effects): Condition constantness of object created for a
++       an unchecked type conversion on the constantness of the expression
++       to ensure the correct value for 'Constrained when passing components
++       of view-converted class-wide objects.
++
++2003-11-24  Robert Dewar  <dewar@gnat.com>
++
++      * par-load.adb (Load): Improve handling of misspelled and missing units
++      Removes several cases of compilation abandoned messages
++
++      * lib.adb: (Remove_Unit): New procedure
++
++      * lib.ads: (Remove_Unit): New procedure
++
++      * lib-load.adb: Minor reformatting
++
++2003-11-24  Vincent Celier  <celier@gnat.com>
++
++      * make.adb:
++      (Gnatmake, Initialize): Call Usage instead of Makeusg directly
++      (Marking_Label): Label to mark processed source files. Incremented for
++      each executable.
++      (Gnatmake): Increase Marking_Labet for each executable
++      (Is_Marked): Compare against marking label
++      (Mark): Mark with marking label
++
++2003-11-24  Jerome Guitton  <guitton@act-europe.fr>
++
++      * s-thread.ads:
++      Move the declaration of the TSD for System.Threads to System.Soft_Links.
++      Add some comments.
++
++      * Makefile.in: Added target pair for s-thread.adb for cert runtime.
++      (rts-cert): build a single relocatable object for the run-time lib.
++      Fix perms.
++
++2003-11-24  Vasiliy Fofanov  <fofanov@act-europe.fr>
++
++      * Make-lang.in:
++      Use gnatls rather than gcc to obtain the location of GNAT RTL for
++      crosstools build.
++
++2003-11-24  Sergey Rybin  <rybin@act-europe.fr>
++
++      * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
++      can not use it as before (that is, as a variable) when dumping it into
++      the tree file. Add a local variable to store the result of this
++      function and to be used as the string to be written into the tree.
++
++      * scn.adb (Initialize_Scanner): Add comments explaining the recent
++      changes.
++
++      * sinput.adb (Source_First, Source_Last): In case of
++      Internal_Source_File, replace returning attributes of
++      Internal_Source_Ptr (which is wrong) with returning attributes of
++      Internal_Source.
++
++2003-11-24  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch3.adb:
++      (New_Concatenation_Op): Proper name for New_Binary_Operator, only
++      used for implicit concatenation operators.
++      Code cleanup.
++
++      * sem_elab.adb:
++      (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
++      task bodies that are in the scope of a Suppress pragma.
++      (Check_A Call): Use the flag to prevent spurious elaboration checks.
++
++      * sinfo.ads, sinfo.adb:
++      New flag No_Elaboration_Check on function/procedure calls, to properly
++      suppress checks on calls in task bodies that are within a local suppress
++      pragma.
++
++      * exp_ch4.adb:
++      (Expand_Concatenate_Other): Use the proper integer type for the
++      expression for the upper bound, to avoid universal_integer computations
++      when possible.
++
++2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
++
++      * .cvsignore: Delete.
++
++2003-11-21  Andreas Schwab  <schwab@suse.de>
++
++      * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
++
++2003-11-21  Vasiliy Fofanov  <fofanov@act-europe.fr>
++
++      * 5wsystem.ads: Enable zero cost exception.
++
++2003-11-21  Jerome Guitton  <guitton@act-europe.fr>
++
++      * 5ztiitho.adb: Remove an unreferenced variable.
++
++2003-11-21  Thomas Quinot  <quinot@act-europe.fr>
++
++      * adaint.c: For FreeBSD, use mkstemp.
++
++2003-11-21  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * gnatlbr.adb: Now reference Gnat_Static_Version_String.
++
++2003-11-21  Robert Dewar  <dewar@gnat.com>
++
++      * bld.adb: Remove useless USE of gnatvsn
++
++      * gnatchop.adb: Minor reformatting
++      Clean up version handling to be more consistent
++
++      * gnatxref.adb: Minor reformatting
++
++      * gprcmd.adb: Minor reformatting
++      Fix output of copyright to be more consistent with other tools
++
++2003-11-21  Vincent Celier  <celier@gnat.com>
++
++      * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
++
++2003-11-21  Sergey Rybin  <rybin@act-europe.fr>
++
++      * atree.adb (Initialize): Add initializations for global variables
++      used in New_Copy_Tree.
++
++      * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
++      Internal_Source_File as the actual).
++      Put the set of statements creating Any_Character before the set of
++      statements creating Any_Array to have Any_Character fully initialized
++      when it is used in creating Any_Array.
++
++      * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
++      not call Scan in case if the actual is Internal_Source_File
++      Add 2003 to copyright note.
++
++      * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
++      processing Internal_Source_File.
++
++      * types.ads: Add the constant Internal_Source_File representing the
++      source buffer for artificial source-code-like strings created within
++      the compiler (the definition of Source_File_Index is changed).
++
++2003-11-20  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
++      56system.ads: New file, FreeBSD version.
++
++2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
++
++      * Make-lang.in (ada.extraclean): Delete.
++
++2003-11-19  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * gnatmem.adb: Clean up verbose output.
++
++      * gprcmd.adb: Change copyright to FSF.
++
++2003-11-19  Vincent Celier  <celier@gnat.com>
++
++      * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
++      and Version (ignored).
++
++      * symbols.ads: (Policy): New type
++      (Initialize): New parameter Reference, Symbol_Policy and
++      Library_Version.
++      Remove parameter Force.
++      Minor reformatting.
++
++      * snames.ads, snames.adbadb: New standard names
++      Library_Reference_Symbol_File and Library_Symbol_Policy
++
++      * mlib-prj.adb:
++      (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
++      project.
++
++      * mlib-tgt.adb:
++      (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
++
++      * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
++
++      * prj.adb: (Project_Empty): New component Symbol_Data
++
++      * prj.ads: (Policy, Symbol_Record): New types
++      (Project_Data): New component Symbol_Data
++
++      * prj-attr.adb:
++      New attributes Library_Symbol_File, Library_Symbol_Policy and
++      Library_Reference_Symbol_File.
++
++      * prj-nmsc.adb:
++      (Ada_Check): When project is a Stand-Alone library project, process
++      attribute Library_Symbol_File, Library_Symbol_Policy and
++      Library_Reference_Symbol_File.
++
++      * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
++      5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
++      5sml-tgt.adb (Build_Dynamic_Library): New parameter
++      Symbol_Data (ignored).
++
++      * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
++      (Build_Dynamic_Library): New parameter Symbol_Data. New internal
++      functions Option_File_Name and Version_String. Set new options of
++      gnatsym related to symbol file, symbol policy and reference symbol
++      file.
++
++      * 5vsymbol.adb:
++      Extensive modifications to take into account the reference symbol file,
++      the symbol policy, the library version and to put in the symbol file the
++      minor and major IDs.
++
++      * bld.adb (Process_Declarative_Items): Put second argument of
++      gprcmd to_absolute between single quotes, to avoid problems with
++      Windows.
++
++      * bld-io.adb: Update Copyright notice.
++      (Flush): Remove last character of a line, if it is a back slash, to
++      avoid make problems.
++
++      * gnatsym.adb:
++      Implement new scheme with reference symbol file and symbol policy.
++
++      * g-os_lib.ads: (Is_Directory): Clarify comment
++
++2003-11-19  Robert Dewar  <dewar@gnat.com>
++
++      * atree.adb: Move New_Copy_Tree global variables to head of package
++
++      * errout.adb: Minor reformatting
++
++2003-11-19  Javier Miranda  <miranda@gnat.com>
++
++      * sem_ch4.adb: (Diagnose_Call): Improve error message.
++      Add reference to Ada0Y (AI-50217)
++
++      * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
++      sem_util.adb: Add reference to AI-50217
++
++      * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
++
++      * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
++
++      * sem_aggr.adb: Complete documentation of AI-287 changes
++
++      * par-ch4.adb: Document previous changes.
++
++      * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
++      sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
++      Ada0Y (AI-50217)
++
++      * exp_aggr.adb: Add references to AI-287 in previous changes
++
++2003-11-19  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_ch6.adb:
++      (Add_Call_By_Copy_Node): Do not original node of rewritten expression
++      in the rewriting is the result of an inlined call.
++
++      * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
++      parameter is a type conversion, use original node to construct the
++      post-call assignment, because expression may have been rewritten, e.g.
++      if it is a packed array.
++
++      * sem_attr.adb:
++      (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
++      body, just as it is in an instance.
++      Categorization routines
++
++      * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
++      Instantiate_Object): Set proper sloc reference for message on missing
++      actual.
++
++2003-11-19  Thomas Quinot  <quinot@act-europe.fr>
++
++      * Makefile.in: Add FreeBSD libgnat pairs.
++
++      * usage.adb: Fix typo in usage message.
++
++2003-11-19  Jerome Guitton  <guitton@act-europe.fr>
++
++      * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
++      s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
++      pragma Thread_Body.
++      Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
++
++      * s-thread.adb: This file is now a dummy implementation of
++      System.Thread.
++
++2003-11-19  Sergey Rybin  <rybin@act-europe.fr>
++
++      * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
++
++2003-11-19  Emmanuel Briot  <briot@act-europe.fr>
++
++      * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
++      instanciation references in the parent type description.
++
++2003-11-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
++
++      * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
++      TYPE_PRECISION directly from esize.
++
++2003-11-18  Thomas Quinot  <quinot@act-europe.fr>
++
++      * cstreams.c:
++      Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
++
++      * init.c: Initialization routines for FreeBSD
++
++      * link.c: Link info for FreeBSD
++
++      * sysdep.c: Add the case of FreeBSD
++
++2003-11-17  Jerome Guitton  <guitton@act-europe.fr>
++
++      * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
++      already called in System.Threads.
++
++      * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
++      environment task, as it has been moved to System.Threads.Initialization.
++
++2003-11-17  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * adaint.c (__gnatlib_install_locks): Only reference
++      __gnat_install_locks on VMS, since other platforms can avoid using
++      --enable-threads=gnat
++
++2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
++
++      * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
++      TYPE_PACKED_ARRAY_TYPE_P.
++      (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
++
++      Part of PR ada/12806
++      * utils.c (float_type_for_precision): Renamed from float_type_for_size.
++      Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
++
++2003-11-17  Vincent Celier  <celier@gnat.com>
++
++      * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
++      to False.
++      Do not set exit status to Failure when Warning is True.
++      (Gnatchop): Make errors "no compilation units found" and
++      "no source files written" warnings only.
++
++      * make.adb (Gnatmake): When using a project file, set
++      Look_In_Primary_Dir to False.
++      (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
++      and Local_Configuration_Pragmas in the project where they are declared
++      not an extending project which might have inherited them.
++
++      * osint.adb (Locate_File): If Name is already an absolute path, do not
++      look for a directory.
++
++      * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
++      -gnats (Check_Syntax) is used, issue only a warning, not an error.
++
++      * prj.adb (Register_Default_Naming_Scheme): Add new component Project
++      in objects of type Variable_Value.
++
++      * prj.ads: (Variable_Value): New component Project
++
++      * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
++      is in a project extended by Project.
++
++      * prj-proc.adb (Add_Attributes): New parameter Project. Set component
++      Project of Variable_Values to this new parameter value.
++      (Expression): Set component Project of Variable_Values.
++      (Process_Declarative_Items): Call Add_Attributes with parameter Project.
++      Set the component Project in array elements.
++
++2003-11-17  Sergey Rybin  <rybin@act-europe.fr>
++
++      * errout.adb: (Initialize): Add initialization for error nodes.
++
++      * sem_ch12.adb (Initialize): Add missing initializations for
++      Exchanged_Views and Hidden_Entities.
++
++2003-11-17  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
++      already instantiated tree for use in subsequent inlining.
++      (Analyze_Associations, Instantiate_Formal_Subprogram,
++      Instantiate_Object): improve error message for mismatch in
++      instantiations.
++
++      * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
++      instantiations of subprograms declared in instances.
++
++2003-11-17  Javier Miranda  <miranda@gnat.com>
++
++      * sem_ch4.adb (Analyze_Allocator): Previous modification must be
++      executed only under the Extensions_Allowed flag.
++
++2003-11-17  Robert Dewar  <dewar@gnat.com>
++
++      * a-exexda.adb (Address_Image): Fix documentation to indicate leading
++      zeroes suppressed.
++      (Address_Image): Fix bug of returning 0x instead of 0x0
++      Minor reformatting (function specs).
++
++      * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
++      (missed case of 33-63)
++
++      * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
++
++      * s-thread.adb: Add comments for pragma Restriction
++
++      * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
++      sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
++
++2003-11-17  Ed Falis  <falis@gnat.com>
++
++      * s-thread.adb: Added No_Tasking restriction for this implementation.
++
++2003-11-17  Emmanuel Briot  <briot@act-europe.fr>
++
++      * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
++      instanciation references in the parent type description.
++
++2003-11-17  GNAT Script  <nobody@gnat.com>
++
++      * Make-lang.in: Makefile automatically updated
++
++2003-11-16  Jason Merrill  <jason@redhat.com>
++
++      * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
++      and TAGS files that include them for each front end.
++
++2003-11-14  Andreas Jaeger  <aj@suse.de>
++
++      * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
++      is the canonical version.
++      * misc.c (gnat_handle_option): Likewise.
++
++      * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
++
++      * 5nsystem.ads: New file for x86_64-linux-gnu.
++
++2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
++
++      * comperr.adb: Fix logic in previous change.
++
++2003-11-13  Vincent Celier  <celier@gnat.com>
++
++      * 5bml-tgt.adb (Build_Dynamic_Library): Use
++      Osint.Include_Dir_Default_Prefix instead of
++      Sdefault.Include_Dir_Default_Name.
++
++      * gnatlbr.adb: Update Copyright notice
++      (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
++      Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
++      instead of Sdefault.Object_Dir_Default_Name
++
++      * gnatlink.adb:
++      (Process_Binder_File): Never suppress the option following -Xlinker
++
++      * mdll-utl.adb:
++      (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
++      Sdefault.Object_Dir_Default_Name.
++
++      * osint.ads, osint.adb:
++      (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
++      Minor reformatting.
++
++      * vms_conv.ads: Minor reformating
++      Remove GNAT STANDARD and GNAT PSTA
++
++      * vms_conv.adb:
++      Allow GNAT MAKE to have several files on the command line.
++      (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
++      Sdefault.Object_Dir_Default_Name.
++      Minor Reformating
++      Remove data for GNAT STANDARD
++
++      * vms_data.ads:
++      Add new compiler qualifier /PRINT_STANDARD (-gnatS)
++      Remove data for GNAT STANDARD
++      Remove options and documentation for -gnatwb/-gnatwB: these warning
++      options no longer exist.
++
++2003-11-13  Ed Falis  <falis@gnat.com>
++
++      * 5zthrini.adb: (Init_RTS): Made visible
++
++      * 5zthrini.adb:
++      (Register): Removed unnecessary call to taskVarGet that checked whether
++       an ATSD was already set as a task var for the argument thread.
++
++      * s-thread.adb:
++      Updated comment to reflect that this is a VxWorks version
++      Added context clause for System.Threads.Initialization
++      Added call to System.Threads.Initialization.Init_RTS
++
++2003-11-13  Jerome Guitton  <guitton@act-europe.fr>
++
++      * 5zthrini.adb:
++      (Init_RTS): New procedure, for the initialization of the run-time lib.
++
++      * s-thread.adb:
++      Remove dependancy on System.Init, so that this file can be used in the
++      AE653 sequential run-time lib.
++
++2003-11-13  Robert Dewar  <dewar@gnat.com>
++
++      * bindgen.adb: Minor reformatting
++
++2003-11-13  Ed Schonberg  <schonberg@gnat.com>
++
++      * checks.adb:
++      (Apply_Discriminant_Check): Do no apply check if target type is derived
++      from source type with no applicable constraint.
++
++      * lib-writ.adb:
++      (Ensure_System_Dependency): Do not apply the style checks that may have
++      been specified for the main unit.
++
++      * sem_ch8.adb:
++      (Find_Selected_Component): Further improvement in error message, with
++      RM reference.
++
++      * sem_res.adb:
++      (Resolve): Handle properly the case of an illegal overloaded protected
++      procedure.
++
++2003-11-13  Javier Miranda  <miranda@gnat.com>
++
++      * exp_aggr.adb:
++      (Has_Default_Init_Comps): New function to check the presence of
++      default initialization in an aggregate.
++      (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
++      extension aggregate of a limited record. In addition, a new formal
++      was added to do not initialize the record controller (if any) during
++      this recursive expansion of ancestors.
++      (Init_Controller): Add support for limited record components.
++      (Expand_Record_Aggregate): In case of default initialized components
++      convert the aggregate into a set of assignments.
++
++      * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
++      describing the new syntax.
++      Nothing else needed to be done because this subprogram delegates part of
++      its work to P_Precord_Or_Array_Component_Association.
++      (P_Record_Or_Array_Component_Association): Give support to the new
++      syntax for default initialization of components.
++
++      * sem_aggr.adb:
++      (Resolve_Aggregate): Relax the strictness of the frontend in case of
++      limited aggregates.
++      (Resolve_Record_Aggregate): Give support to default initialized
++      components.
++      (Get_Value): In case of default initialized components, duplicate
++      the corresponding default expression (from the record type
++      declaration). In case of default initialization in the *others*
++      choice, do not check that all components have the same type.
++      (Resolve_Extension_Aggregate): Give support to limited extension
++      aggregates.
++
++      * sem_ch3.adb:
++      (Check_Initialization): Relax the strictness of the front-end in case
++      of aggregate and extension aggregates. This test is now done in
++      Get_Value in a per-component manner.
++
++      * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
++      expression corresponds to a limited aggregate. This test is now done
++      in Get_Value.
++
++      * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
++      Box_Present flag.
++
++      * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
++      present in an N_Component_Association node
++
++2003-11-13  Thomas Quinot  <quinot@act-europe.fr>
++
++      * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
++      type-conformant entry only if they are homographs.
++
++2003-11-13  GNAT Script  <nobody@gnat.com>
++
++      * Make-lang.in: Makefile automatically updated
++
++2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * adadecode.c: Use <> form of include for ctype.h.
++      * sysdep.c [IN_RTS]: Use <> form of include for time.h.
++
++2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
++      Works around PR middle-end/6552.
++
++2003-11-10  Ed Falis  <falis@gnat.com>
++
++      * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
++
++      * 5zinit.adb: (Install_Handler): Moved back to spec
++      (Install_Signal_Handlers): Deleted
++
++      * 5zthrini.adb: Added context clause for System.Storage_Elements
++      (Register): Only handles creation of taskVar; initialization moved to
++      Thread_Body_Enter.
++      (Reset_TSD): Deleted; replaced by Thread_Body_Enter
++      Added declaration of environment task secondary stack and
++      initialization.
++
++      * s-thread.adb: Implement bodies for thread body processing
++
++      * s-thread.ads:
++      Added comment identifying supported targets for pragma Thread_Body.
++
++2003-11-10  Pascal Obry  <obry@gnat.com>
++
++      * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
++      GNAT_MAX_PATH_LEN.
++
++      * s-fileio.adb:
++      (Open): Properly check for string length before copying into the buffer.
++      Raises Name_Error if buffer is too small. Note that this was a potential
++      buffer overflow.
++
++2003-11-10  Romain Berrendonner  <berrendo@act-europe.fr>
++
++      * bindgen.adb, comperr.adb: Code clean ups.
++      * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
++
++2003-11-10  Sergey Rybin  <rybin@act-europe.fr>
++
++      * gnat1drv.adb: Add call to Sem_Elim.Initialize.
++
++2003-11-10  Vincent Celier  <celier@gnat.com>
++
++      * gprcmd.adb:
++      (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
++      installation.
++
++      * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
++
++      * prj.adb: (Project_Empty): Add new boolean component Virtual
++
++      * prj.ads: (Virtual_Prefix): New constant string
++      (Project_Data): New boolean component Virtual
++
++      * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
++      a library project is extended by a virtual extending project.
++
++      * prj-part.adb:
++      Modifications throughout to implement extending-all project, including:
++      (Virtual_Hash, Processed_Hash): New hash tables
++      (Create_Virtual_Extending_Project): New procedure
++      (Look_For_Virtual_Projects_For): New procedure
++
++      * prj-proc.adb:
++      (Process): After checking the projects, if main project is an
++      extending-all project, set the object directory of all virtual extending
++      project to the object directory of the main project.
++      Adjust error message when a virtual extending project has the same
++      object directory as an project being extended.
++      (Recursive_Process): If name starts with the virtual prefix, set Virtual
++      to True in the project data.
++
++      * prj-tree.adb:
++      (Default_Project_Node): Add new boolean component Extending_All
++      (Is_Extending_All): New function
++      (Set_Is_Extending_All): New procedure
++
++      * prj-tree.ads: (Is_Extending_All): New function
++      (Set_Is_Extending_All): New procedure
++      (Project_Node_Record): New boolean component Extending_All
++
++      * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
++
++      * vms_data.ads:
++      Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
++
++      * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
++      "gprcmd prefix" to define it.
++
++2003-11-10  Thomas Quinot  <quinot@act-europe.fr>
++
++      * einfo.ads: Fix a typo and remove an extraneous word in comments.
++
++      * lib-load.adb:
++      (Create_Dummy_Package_Unit): Set the scope of the entity for the
++      created dummy package to Standard_Standard, not to itself, to
++      defend other parts of the front-end against encoutering a cycle in
++      the scope chain.
++
++      * sem_ch10.adb:
++      (Analyze_With_Clause): When setting the entities for the successive
++      N_Expanded_Names that constitute the name of a child unit, do not
++      attempt to go further than Standard_Standard in the chain of scopes.
++      This case arises from the placeholder units created by
++      Create_Dummy_Package_Unit in the case of a with_clause for a
++      nonexistent child unit.
++
++2003-11-10  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_ch6.adb:
++      (Expand_Thread_Body): Place subprogram on scope stack, so that new
++      declarations are given the proper scope.
++
++      * sem_ch13.adb:
++      (Check_Expr_Constants): Reject an expression that contains a constant
++      created during expansion, and that appears after the object to which
++      the address clause applies.
++
++      * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
++      Analyze_Iteration_Scheme, to rewrite a loop parameter specification
++      that uses 'Range of a function call with controlled components, so
++      that the function result can be finalized before starting the loop.
++
++      * sem_ch8.adb:
++      (Find_Selected_Component): Improve error message when prefix is
++      an implicit dereference of an incomplete type.
++
++2003-11-10  Robert Dewar  <dewar@gnat.com>
++
++      * opt.ads: New Print_Standard flag for -gnatS switch
++
++      * sem_ch13.adb: Remove some additional checks for unaligned arrays
++
++      * cstand.adb (Create_Standard): Print out package standard if -gnatS
++      switch set
++
++      * debug.adb: Update doc for -gnatds to discuss relationship with new
++      -gnatS flag
++
++      * sinfo.adb: Add new field Entity_Or_Associated_Node
++
++      * sinfo.ads: Add new field Entity_Or_Associated_Node
++      Update documentation for Associated_Node and Entity fields to clarify
++      relationship and usage.
++
++      * sprint.adb:
++      (Write_Id): Properly process Associated_Node field in generic template
++
++      * switch-c.adb:
++      Recognize new -gnatS switch for printing package Standard
++      This replaces gnatpsta
++
++      * usage.adb:
++      Add line for  new -gnatS switch for printing package Standard
++      This replaces gnatpsta
++
++2003-11-10  Andreas Jaeger  <aj@suse.de>
++
++      * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
++      integer.
++
++2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
++      by gnat1.
++
++2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
++      no longer needed.
++
++      * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
++
++      * sysdep.c: Add handling of cygwin.
++
++2003-11-10  GNAT Script  <nobody@gnat.com>
++
++      * Make-lang.in: Makefile automatically updated
++
++2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
++
++      PR 12950
++      * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
++      functions. Used to handle dynamic prefix relocation, via set_std_prefix.
++      Replace GNAT_ROOT by GCC_ROOT.
++
++      * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
++
++2003-11-06  Zack Weinberg  <zack@codesourcery.com>
++
++      * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
++      and update for changed meaning of GET_MODE_BITSIZE.
++
++2003-11-04  Doug Rupp  <rupp@gnat.com>
++
++      * sysdep.c: Problem discovered during IA64 VMS port.
++      [VMS] #include <unixio.h> to get proper prototypes.
++
++      * adaint.c:
++      Issues discovered/problems fixed during IA64 VMS port.
++      [VMS] #define _POSIX_EXIT for proper semantics.
++      [VMS] #include <unixio.h> for proper prototypes.
++      [VMS] (fork): #define IA64 version.
++      (__gnat_os_exit): Remove unnecessary VMS specific code.
++
++2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      Part of PR ada/12806
++      * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
++      tree, not integer.
++
++      * decl.c:
++      (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
++      not integer.
++
++      * targtyps.c, decl.c, misc.c,
++      gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
++      routines to work around change in FP sizing semantics in GCC.
++
++      * utils.c:
++      (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
++
++      * gigi.h: (enumerate_modes): New function.
++
++      * Make-lang.in: (ada/misc.o): Add real.h.
++
++      * misc.c: (enumerate_modes): New function.
++
++2003-11-04  Robert Dewar  <dewar@gnat.com>
++
++      * 3vtrasym.adb: Minor reformatting
++      Use terminology encoded/decoded name, rather than C++ specific notion
++      of mangling (this is the terminology used throughout GNAT).
++
++      * einfo.h: Regenerated
++
++      * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
++
++      * exp_ch6.adb:
++      (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
++
++      * par-prag.adb: Add dummy entry for Thread_Body pragma
++
++      * rtsfind.ads:
++      Add entries for System.Threads entities for thread body processing
++
++      * sem_attr.adb:
++      (Analyze_Pragma, Access attributes): Check these are not applied to a
++      thread body, since this is not permitted
++
++      * sem_prag.adb: Add processing for Thread_Body pragma.
++      Minor comment fix.
++
++      * sem_res.adb:
++      (Resolve_Call): Check for incorrect attempt to call a thread body
++       procedure with a direct call.
++
++      * snames.ads, snames.adb: Add entry for Thread_Body pragma
++      Add names associated with thread body expansion
++
++      * snames.h: Add entry for Thread_Body pragma
++
++      * s-thread.adb: Add entries for thread body processing
++      These are dummy bodies so far
++
++      * s-thread.ads: Add documentation on thread body handling.
++      Add entries for thread body processing.
++
++2003-11-04  Javier Miranda  <miranda@gnat.com>
++
++      * sem_ch10.adb:
++      (Build_Limited_Views): Return after posting an error in case of limited
++      with_clause on subprograms, generics, instances or generic renamings
++      (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
++      on subprograms, generics, instances or generic renamings
++
++2003-11-04  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * raise.c (setup_to_install): Correct mistake in last revision; two
++      arguments out of order.
++
++      * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
++      gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
++      notice, missed in previous change.
++      Remove trailing blanks and other style errors introduced in previous
++      change.
++
++2003-11-04  Olivier Hainque  <hainque@act-europe.fr>
++
++      * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
++      rid of the wrapper for a LJM type, ensuring we don't do that if the
++      field is addressable.  This avoids potential low level type view
++      mismatches later on, for instance in a by-reference argument passing
++      process.
++
++2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
++      aligned at byte boundary.
++
++2003-11-04  Joel Brobecker  <brobecker@gnat.com>
++
++      * decl.c (components_to_record): Do not delete the empty variants from
++      the end of the union type.
++
++2003-11-04  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
++      operation for a derived type, an explicit declaration may use a local
++      subtype of Boolean.
++
++2003-11-04  Vincent Celier  <celier@gnat.com>
++
++      * make.adb (Gnatmake): Allow main sources on the command line with a
++      library project when it is only for compilation (no binding or
++      linking).
++
++2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * Makefile.in: Remove many duplicate variables.
++
++2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
++
++      * Make-lang.in (dvi): Move targets to $(docobjdir).
++      (gnat_ug_vms.dvi): Simplify rule and adjust target.
++      (gnat_ug_wnt.dvi): Likewise.
++      (gnat_ug_unx.dvi): Likewise.
++      (gnat_ug_vxw.dvi): Likewise.
++      (gnat_rm.dvi): Likewise.
++      (gnat-style.dvi): Likewise.
++
++2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
++
++      * gigi.h: Missed commit from update for C90.
++
++2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
++
++      * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
++
++2003-10-31  Andreas Schwab  <schwab@suse.de>
++
++      * raise.c (get_action_description_for): Fix typo in last change.
++
++2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
++
++      PR ada/12761
++      * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
++      T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
++
++2003-10-30  Kelley Cook  <kcook@gcc.gnu.org>
++
++      * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
++      ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
++      gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
++      sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
++      trans.c, utils.c, utils2.c: Convert function prototypes to C90.
++
++2003-10-30  Vasiliy Fofanov  <fofanov@act-europe.fr>
++
++      * 3vtrasym.adb:
++      Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
++      numbers when symbol name is too long.
++
++2003-10-30  Ed Falis  <falis@gnat.com>
++
++      * g-signal.ads, g-signal.adb: New files
++
++      * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
++
++      * Makefile.rtl: Introduce GNAT.Signals
++
++2003-10-30  Robert Dewar  <dewar@gnat.com>
++
++      * freeze.adb: Minor reformatting
++
++      * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
++
++      * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
++      par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
++      New handling of Id_Check parameter to improve recognition of keywords
++      used as identifiers.
++      Update copyright notice to include 2003
++
++2003-10-29  Robert Dewar  <dewar@gnat.com>
++
++      * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
++      sem_ch10.adb: Minor reformatting
++
++      * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
++      (Expand_Assign_Record): Test right hand side for bit unaligned as well
++
++2003-10-29  Vasiliy Fofanov  <fofanov@act-europe.fr>
++
++      * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
++      Support for TBK$SYMBOLIZE-based symbolic traceback.
++
++2003-10-29  Jose Ruiz  <ruiz@act-europe.fr>
++
++      * exp_disp.adb:
++      Revert previous change, that did not work well when pragma No_Run_Time
++      was used in conjunction with a run-time other than ZFP.
++
++2003-10-29  Vincent Celier  <celier@gnat.com>
++
++      * make.adb:
++      (Gnatmake): When there are no Ada mains in attribute Main, disable the
++       bind and link steps only is switch -z is not used.
++
++2003-10-29  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * Makefile.generic: Remove duplicated setting of CC.
++
++      * Makefile.prolog: Set CC to gcc by default, to override make's
++      default (cc).
++
++      * einfo.h: Regenerated.
++
++2003-10-29  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
++      current body, after compiling subunit.
++
++      * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
++      when in deleted code, because gigi needs properly ordered freeze
++      actions to annotate types.
++
++      * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
++      prevent the premature freezing of record type that contains
++      subcomponents with a private type that does not yet have a completion.
++
++2003-10-29  Javier Miranda  <miranda@gnat.com>
++
++      * sem_ch12.adb:
++      (Analyze_Package_Instantiation): Check that instances can not be used in
++      limited with_clauses.
++
++      * sem_ch8.adb:
++      (Analyze_Package_Renaming): Check that limited withed packages cannot
++      be renamed. Improve text on error messages related to limited
++      with_clauses.
++
++      * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
++
++      * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
++      Update copyright notice.
++
++      * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
++      (Install_Limited_Context_Clauses): New subprogram that isolates all the
++      checks required for limited context_clauses and installs the limited
++      view.
++      (Install_Limited_Withed_Unit): Complete its documentation.
++      (Analyze_Context): Check that limited with_clauses are only allowed in
++      package specs.
++      (Install_Context): Call Install_Limited_Context_Clauses after the
++      parents have been installed.
++      (Install_Limited_Withed_Unit): Add documentation. Mark the installed
++      package as 'From_With_Type'; this mark indicates that the limited view
++      is installed. Used to check bad usages of limited with_clauses.
++      (Build_Limited_Views): Do not add shadow entities to the scope's list
++      of entities. Do not add real entities to the Non_Limited_Views chain.
++      Improve error notification.
++      (Remove_Context_Clauses): Remove context clauses in two phases:
++      limited views first and regular views later (to maintain the
++      stack model).
++      (Remove_Limited_With_Clause): If the package is analyzed then reinstall
++      its visible entities.
++
++2003-10-29  Thomas Quinot  <quinot@act-europe.fr>
++
++      * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
++      with any type that Is_Fixed_Point_Type.
++
++      * sinfo.ads: Fix documentation for Associated_Node attribute.
++
++2003-10-29  Sergey Rybin  <rybin@act-europe.fr>
++
++      * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
++      both '-gnatc' and '-gnatt' are specified.
++
++      * atree.adb (Initialize): Add initialization for Node_Count (set to
++      zero).
++
++2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
++      do not consider as Pure.
++
++      Part of implementation of function-at-a-time:
++
++      * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
++      (tree_transform): Add new argument to build_component_ref.
++      (tree_transform, case N_Assignment_Statement): Make and return an
++      EXPR_STMT.
++      (tree_transform): If result IS_STMT, set flags and return it.
++      (gnat_expand_stmt, set_lineno_from_sloc): New functions.
++
++      * utils2.c (build_simple_component_ref, build_component_ref): Add new
++      arg, NO_FOLD_P.
++      (build_binary_op, case EQ_EXPR): Pass additional arg to it.
++      (build_allocator): Likewise.
++
++      * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
++      Add new arg to build_component_ref.
++      (maybe_unconstrained_array, unchecked_convert): Likewise.
++
++      * ada-tree.def (EXPR_STMT): New code.
++
++      * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
++
++      * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
++      build_component_ref calls.
++
++      * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
++
++      * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
++      (build_component_ref): Add new argument, NO_FOLD_P.
++
++2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * Makefile.generic: Add missing substitution on object_deps handling.
++
++      PR ada/5909
++      * Make-lang.in (check-ada): Enable ACATS test suite.
++
++2003-10-27  Robert Dewar  <dewar@gnat.com>
++
++      * exp_ch3.adb:
++      (Freeze_Array_Type): We do not need an initialization routine for types
++      derived from String or Wide_String. They should be treated the same
++      as String and Wide_String themselves. This caused problems with the
++      use of Initialize_Scalars.
++
++      * exp_ch5.adb:
++      (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
++      composites. This allows use of component clauses that are not byte
++      aligned.
++
++      * sem_prag.adb:
++      (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
++      is an attempt to pack an array of atomic objects.
++
++      * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
++
++2003-10-27  Pascal Obry  <obry@gnat.com>
++
++      * g-dirope.adb:
++      (Basename): Check for drive letters in a pathname only on DOS based OS.
++
++2003-10-27  Vincent Celier  <celier@gnat.com>
++
++      * make.adb:
++      (Gnatmake): When unable to change dir to the object dir, display the
++      content of the parent dir of the obj dir, to try to understand why this
++      happens.
++
++2003-10-27  GNAT Script  <nobody@gnat.com>
++
++      * Make-lang.in: Makefile automatically updated
++
++2003-10-27  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch12.adb:
++      (Inline_Instance_Body): Indicate that the save/restore of use_clauses
++      should not be done in Save/Restore_Scope_Stack, because it is performed
++      locally.
++
++      * sem_ch8.adb:
++      (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
++      whether use clauses should be removed/restored.
++
++      * sem_ch8.ads:
++      (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
++      whether use clauses should be removed/restored.
++
++2003-10-26  Andreas Jaeger  <aj@suse.de>
++
++      * Makefile.in: Remove duplicated lines.
++
++2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
++      minimize the differences with ACT tree.
++
++      * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
++      gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
++      Gnatvsn.Gnat_Static_Version_String to reduce differences between
++      ACT and FSF trees.
++
++2003-10-24  Pascal Obry  <obry@gnat.com>
++
++      PR ada/12014
++      * adadecode.c (ostrcpy): New function.
++      (__gnat_decode): Use ostrcpy of strcpy.
++      (has_prefix): Set first parameter a const.
++      (has_suffix): Set first parameter a const.
++      Update copyright notice. Fix source name in header.
++      Removes a trailing space.
++
++2003-10-24  Jose Ruiz  <ruiz@act-europe.fr>
++
++      * exp_disp.adb:
++      Remove the test against being in No_Run_Time_Mode before generating a
++      call to Register_Tag. It is redundant with the test against the
++      availability of the function Register_Tag.
++
++2003-10-24  Vincent Celier  <celier@gnat.com>
++
++      * g-catiio.adb: (Month_Name): Correct spelling of February
++
++      * make.adb: (Mains): New package
++      (Initialize): Call Mains.Delete
++      (Gnatmake): Check that each main on the command line is a source of a
++      project file and, if there are several mains, each of them is a source
++      of the same project file.
++      (Gnatmake): When a foreign language is specified in attribute Languages,
++      no main is specified on the command line and attribute Mains is not
++      empty, only build the Ada main. If there is no Ada main, just compile
++      the Ada sources and their closure.
++      (Gnatmake): If a main is specified on the command line with directory
++      information, check that the source exists and, if it does, that the path
++      is the actual path of a source of a project.
++
++      * prj-env.adb:
++      (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
++      Full_Path is True, return the full path instead of the simple file name.
++      (Project_Of): New function
++
++      * prj-env.ads:
++      (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
++      defaulted to False.
++      (Project_Of): New function
++
++2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * Makefile.generic:
++      Ensure objects of main project are always checked and rebuilt if needed.
++      Set CC to gcc by default.
++      Prepare new handling of link by creating a global archive (not activated
++      yet).
++
++      * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
++      stringt.h: Update copyright notice. Remove trailing blanks.
++      Fix source name in header.
++
++2003-10-24  Robert Dewar  <dewar@gnat.com>
++
++      * sem_ch12.adb: Minor reformatting
++
++      * sem_ch3.adb:
++      Minor reformatting (including new function return style throughout)
++
++      * sem_ch3.ads:
++      Minor reformatting (including new function return style throughout)
++
++2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
++      stringt.h: Update copyright notice. Remove trailing blanks.
++      Fix source name in header.
++
++2003-10-24  GNAT Script  <nobody@gnat.com>
++
++      * Make-lang.in: Makefile automatically updated
++
++2003-10-23  Nathanael Nerode  <neroden@gcc.gnu.org>
++
++      * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
++      stringt.h: Convert to ISO C90 declarations and definitions.
++
++2003-10-23  Thomas Quinot  <quinot@act-europe.fr>
++
++      PR ada/11978
++      * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
++      External_Tag attribute definition clauses.
++
++2003-10-23  Ed Schonberg  <schonberg@gnat.com>
++
++      PR ada/7613
++      * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
++      child unit, generate a fully qualified name to avoid spurious errors
++      when the context contains renamings of different child units with
++      the same simple name.
++
++      * exp_dbug.ads: Add documentation on name qualification for renamings
++      of child units.
++
++2003-10-23  Robert Dewar  <dewar@gnat.com>
++
++      * g-regpat.ads, g-regpat.adb: Minor reformatting
++
++2003-10-23  Jose Ruiz  <ruiz@act-europe.fr>
++
++      * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
++
++2003-10-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
++      Machine call.
++
++      * urealp.h: (Machine): Update to proper definition.
++
++2003-10-23  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * init.c, adaint.c: Minor reformatting.
++
++2003-10-23  Danny Smith  <dannysmith@users.sourceforge.net>
++
++      * adaint.c (w32_epoch_offset): Define static const at file level.
++      (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
++      rather than t_create, t_access in call to GetFileTime. Use union
++      to convert between FILETIME and  unsigned long long.
++      (__gnat_file_time_name): Test for invalid file handle.
++      (__gnat_set_filetime_name): Support win32 targets using
++      w32api SetFileTime.
++
++2003-10-22  Danny Smith  <dannysmith@users.sourceforge.net>
++
++      * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
++
++      * ctrl_c.c (__gnat_int_handler): Remove declaration.
++
++      * decl.c (creat_concat_name):  Const-ify prefix.
++
++      * adaint.c: Include ctype.h if __MINGW32__.
++      (__gnat_readlink): Mark arguments as possibly unused.
++      (__gnat_symlink): Likewise.
++      (__gnat_is_symbolic_link): Likewise.
++      (__gnat_portable_spawn): Likewise.  Cast last arg of spawnvp to match
++      declaration
++      (__gnat_file_time_name): Don't declare struct stat statbuf when
++      not needed.
++      (__gnat_is_absolute_path): Add parenthesis around condition of
++      'if' statement to avoid warning.
++      (__gnat_plist_init): Specify void as parameter.
++      (plist_enter): Likewise.
++      (plist_leave): Likewise.
++      (remove_handle): Make static. Initialize prev.
++
++2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
++
++      PR ada/10110
++      * Makefile.in: Disable build of gnatpsta.
++      * cstreams.c (__gnat_full_name): Minor improvements and clean up
++      of previous change.
++
++2003-10-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * tracebak.c (MAX): Avoid redefinition warning.
++
++      * init.c [sgi] (__gnat_error_handler): Remove i, unused.
++      Change msg to const char *.
++      (__gnat_install_handler): Remove ss, unused.
++      [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
++      to const char *.
++      * cstreams.c (__gnat_full_name): Declare p only when used.
++      (__gnat_full_name) [sgi] Return buffer.
++
++2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * mingw32.h: New file.
++      * gnat_wrapper.adb: New file.
++
++2003-10-22  Jerome Roussel  <roussel@act-europe.fr>
++
++      * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
++      string match a pre compiled regular expression (the corresponding
++      version of the function working on a raw regular expression)
++      Fix typos in various comments
++      Update copyright notice in spec
++
++2003-10-21  Gary Dismukes  <dismukes@gnat.com>
++
++      * exp_ch3.adb:
++      (Component_Needs_Simple_Initialization): Return False when the type is a
++      packed bit array. Revise spec comments to document this case.
++
++      * exp_prag.adb:
++      (Expand_Pragma_Import): Set any expression on the imported object to
++      empty to avoid initializing imported objects (in particular this
++      covers the case of zero-initialization of bit arrays).
++      Update copyright notice.
++
++2003-10-21  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch12.adb:
++      (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
++      a subunit is missing.
++      (Instantiate_Subprogram_Body): If body of function is missing, set type
++      of return expression explicitly in dummy body, to prevent cascaded
++      errors when a subunit is missing.
++      Fixes PR 5677.
++
++      * sem_ch3.adb:
++      (Access_Subprogram_Declaration): Verify that return type is valid.
++      Fixes PR 8693.
++
++      * sem_elab.adb:
++      (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
++      generic.
++      Fixes PR 12318.
++
++      * sem_util.adb:
++      (Corresponding_Discriminant): If the scope of the discriminant is a
++      private type without discriminant, use its full view.
++      Fixes PR 8247.
++
++2003-10-21  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
++      3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
++      3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
++      55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
++      56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
++      59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
++      5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
++      5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
++      5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
++      5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
++      5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
++      5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
++      5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
++      5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
++      7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
++      a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
++      a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
++      a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
++      bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
++      erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
++      err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
++      g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
++      g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
++      g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
++      g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
++      g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
++      g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
++      gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
++      g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
++      g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
++      i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
++      prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
++      prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
++      s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
++      s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
++      s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
++      s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
++      s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
++      s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
++      s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
++      s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
++      socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
++      s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
++      s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
++      s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
++      styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
++      s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
++      tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
++      vms_conv.ads, vms_conv.adb, vms_data.ads,
++      vxaddr2line.adb: Files added. Merge with ACT tree.
++
++      * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
++      5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
++      5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
++      5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
++      g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
++      s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
++      s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
++      s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
++      s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
++      s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
++
++      * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
++      3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
++      3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
++      3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
++      4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
++      4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
++      4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
++      4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
++      51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
++      53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
++      5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
++      5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
++      5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
++      5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
++      5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
++      5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
++      5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
++      5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
++      5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
++      5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
++      5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
++      5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
++      5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
++      5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
++      5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
++      5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
++      5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
++      5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
++      5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
++      5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
++      5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
++      5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
++      5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
++      5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
++      6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
++      7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
++      7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
++      a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
++      a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
++      a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
++      a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
++      a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
++      ali.adb, ali.ads, ali-util.adb, ali-util.ads,
++      a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
++      a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
++      a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
++      a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
++      a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
++      a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
++      a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
++      a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
++      a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
++      a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
++      a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
++      a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
++      atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
++      a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
++      a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
++      bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
++      checks.adb, checks.ads, cio.c, comperr.adb,
++      comperr.ads, csets.adb, cstand.adb, cstreams.c,
++      debug_a.adb, debug_a.ads, debug.adb, decl.c,
++      einfo.adb, einfo.ads, errout.adb, errout.ads,
++      eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
++      expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
++      exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
++      exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
++      exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
++      exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
++      exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
++      exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
++      exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
++      fe.h, fmap.adb, fmap.ads, fname.adb,
++      fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
++      freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
++      g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
++      g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
++      g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
++      g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
++      g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
++      g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
++      g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
++      g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
++      g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
++      g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
++      g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
++      g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
++      gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
++      gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
++      gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
++      gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
++      gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
++      g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
++      g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
++      g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
++      g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
++      g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
++      g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
++      g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
++      g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
++      i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
++      i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
++      inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
++      itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
++      layout.adb, lib.adb, lib.ads, lib-list.adb,
++      lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
++      lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
++      link.c, live.adb, make.adb, make.ads,
++      Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
++      mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
++      mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
++      misc.c, mkdir.c, mlib.adb, mlib.ads,
++      mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
++      mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
++      namet.adb, namet.ads, namet.h, nlists.ads,
++      nlists.h, nmake.adt, opt.adb, opt.ads,
++      osint.adb, osint.ads, osint-b.adb, osint-c.adb,
++      par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
++      par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
++      par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
++      par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
++      prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
++      prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
++      prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
++      prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
++      prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
++      prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
++      prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
++      prj-util.adb, prj-util.ads, raise.c, raise.h,
++      repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
++      rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
++      s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
++      s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
++      scans.ads, scn.adb, scn.ads, s-crc32.adb,
++      s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
++      sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
++      sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
++      sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
++      sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
++      sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
++      sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
++      sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
++      sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
++      sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
++      sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
++      sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
++      s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
++      s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
++      s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
++      s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
++      s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
++      s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
++      s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
++      sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
++      sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
++      sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
++      s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
++      s-memory.adb, s-memory.ads, snames.adb, snames.ads,
++      snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
++      s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
++      s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
++      s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
++      s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
++      s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
++      s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
++      s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
++      s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
++      s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
++      s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
++      s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
++      s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
++      s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
++      s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
++      s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
++      s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
++      stringt.adb, stringt.ads, stringt.h, style.ads,
++      stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
++      s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
++      s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
++      switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
++      s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
++      table.adb, table.ads, targparm.adb, targparm.ads,
++      targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
++      trans.c, tree_io.adb, treepr.adb, treeprs.adt,
++      ttypes.ads, types.ads, types.h, uintp.adb,
++      uintp.ads, uintp.h, uname.adb, urealp.adb,
++      urealp.ads, urealp.h, usage.adb, utils2.c,
++      utils.c, validsw.adb, validsw.ads, widechar.adb,
++      xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
++      xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
++      einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
++      gnatvsn.ads: Merge with ACT tree.
++
++      * gnatvsn.adb: Rewritten in a simpler and more efficient way.
++
++2003-10-20  Mark Mitchell  <mark@codesourcery.com>
++
++      * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
++      (gnat_ug_vmx.info): Likewise.
++      (gnat_ug_vxw.info): Likewise.
++      (gnat_ug_wnt.info): Likewise.
++      (gnat_rm.info): Likewise.
++      (gnat-style.info): Likewise.
++
++      * Make-lang.in (ada.install-info): Remove target.
++      (info): New target.
++      (install-info): Likewise.
++      (gnat_ug_unx.info): Simplify rule.
++      (gnat_ug_vmx.info): Likewise.
++      (gnat_ug_vxw.info): Likewise.
++      (gnat_ug_wnt.info): Likewise.
++      (gnat_rm.info): Likewise.
++      (gnat-style.info): Likewise.
++
++2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
++
++      * Make-lang.in: Replace uses of $(target_alias) with
++      $(target_noncanonical).
++      * ada/Makefile.in: Remove unused mention of $(target_alias).
++
++2003-10-06  Mark Mitchell  <mark@codesourcery.com>
++
++      * Make-lang.in (ada.info): Replace with ...
++      (info): ... this.
++      (ada.dvi): Replace with ...
++      (dvi): ... this.
++
++2003-09-29  Zack Weinberg  <zack@codesourcery.com>
++
++      * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
++      initialize dconstp5 and dconstmp5.
++
++2003-09-28  Richard Henderson  <rth@redhat.com>
++
++      * trans.c (tree_transform): Update call to expand_asm_operands.
++
++2003-09-21  Richard Henderson  <rth@redhat.com>
++
++      * trans.c, utils.c: Revert.
++
++2003-09-21  Richard Henderson  <rth@redhat.com>
++
++      * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
++      change to const.
++
++2003-09-04  Michael Matz  <matz@suse.de>
++
++      * misc.c: Include "target.h".
++      * Make-lang.in (misc.o): Add dependency on target.h.
++
++2003-09-03  DJ Delorie  <dj@redhat.com>
++
++      * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
++      hook.
++
++2003-08-30  Zack Weinberg  <zack@codesourcery.com>
++
++      * Makefile.in: Update substitutions to match changes to
++      configure.  Use include directives instead of @-insertions
++      to read in host and target fragments.  Add a rule to
++      regenerate ada/Makefile.
++
++2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
++
++      * lang-options.h: Remove.
++      * lang.opt: Add help text.
++
++2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
++
++      * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
++      calls.
++
++2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
++
++      * misc.c (gnat_handle_option): Don't handle filenames.
++
++2003-07-04  H.J. Lu  <hongjiu.lu@intel.com>
++
++      * Make-lang.in: Replace PWD with PWD_COMMAND.
++      * Makefile.adalib: Likewise.
++      * Makefile.in: Likewise.
++
++2003-07-04  Matt Kraai  <kraai@alumni.cmu.edu>
++
++      * misc.c (gnat_argv): Revert last change.
++      (gnat_handle_option, gnat_init_options): Copy arguments.
++
++2003-07-03  Neil Booth  <neil@daikokuya.co.uk>
++
++      * misc.c (gnat_argv): Make const.
++
++2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
++
++      * misc.c (save_argc, save_argv): Keep non-static!
++
++2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
++
++      * misc.c (save_argc, save_argv): Make static.
++      (gnat_init_options): New prototype.
++      (gnat_init_options): Update.
++
++2003-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
++
++      * gnat_ug.texi: Remove unlikely characters from @vars.
++      * gnat_ug_vms.texi: Regenerate.
++
++2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
++
++      * misc.c (record_code_position): Adjust emit_note call.
++
++2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
++
++      * misc.c (gnat_handle_option): Don't check for missing arguments.
++
++2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
++
++      * utils.c (end_subprog_body): Adjust expand_function_end call.
++
++2003-06-16  Matt Kraai  <kraai@alumni.cmu.edu>
++
++      * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
++      Bind_Main_Program.
++
++2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
++
++      * lang.opt: Declare Ada.
++      * misc.c (gnat_init_options): Update.
++
++2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
++
++      * utils.c (begin_subprog_body): Adjust init_function_start call.
++
++2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
++
++      * Make-lang.in: Update to use options.c and options.h.
++      * misc.c: Include options.h not aoptions.h.
++      (gnat_handle_option): Abort on unrecognized switch.
++      (gnat_init_options): Request Ada switches.
++
++2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
++
++      * lang.opt: Add -Wall.
++      * misc.c (gnat_handle_option): Handle it.
++
++2003-06-12  Neil Booth  <neil@daikokuya.co.uk>
++
++      * misc.c (gnat_handle_option): Fix warnings.
++
++2003-06-11  Matt Kraai  <kraai@alumni.cmu.edu>
++
++      * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
++
++2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
++
++      * Make-lang.in: Update to handle command-line options.
++      * lang.opt: New file.
++      * misc.c: Include aoptions.h.
++      (cl_options_count, cl_options): Remove.
++      (gnat_handle_option): New.
++      (gnat_decode_option): Remove.
++      (LANG_HOOKS_DECODE_OPTION): Remove.
++      (LANG_HOOKS_HANDLE_OPTION): Override.
++
++2003-06-10  Nathanael Nerode  <neroden@gcc.gnu.org>
++
++      * init.c, misc.c, trans.c, utils.c: Remove dead code.
++
++2003-06-09  Nathanael Nerode  <neroden@gcc.gnu.org>
++
++      * Makefile.in: Replace "host_canonical" with "host" for autoconf
++      substitution.
++
++2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
++
++      * Make-lang.in: Update.
++      * misc.c: Include opts.h. Define cl_options_count and cl_options.
++
++2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
++
++      * misc.c (gnat_init_options): Update.
++
++2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
++
++      * Make-lang.in (ada/b_gnatb.o-warn): Remove.
++      * bindgen.adb (Gen_Main_C): Mark ensure_reference with
++      __attribute__ ((__unused__)).
++
++2003-06-05  Jan Hubicka  <jh@suse.cz>
++
++      * Make-lang.in:  Add support for stageprofile and stagefeedback
++
++2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
++
++      * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
++      (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
++
++2003-06-04  Matt Kraai  <kraai@alumni.cmu.edu>
++
++      * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
++      Remove non-VMS directive.
++      (Switches for gnatlbr, Optimization Levels): Remove non-VMS
++      alternatives.
++      (Examples of gnatls Usage): Remove VMS alternative.
++
++2003-06-04  Olivier Hainque  <hainque@act-europe.fr>
++
++      PR ada/9953
++      * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
++      and turn ZCX_By_Default back to False since the underlying support
++      is not quite there yet.
++
++2003-06-01  Andreas Jaeger  <aj@suse.de>
++
++      * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
++      and ROUND_TYPE_SIZE_UNIT.
++
++2003-05-22   Geert Bosch  <bosch@gnat.com>
++
++      * gnat_rm.texi : Remove reference to Ada Core Technologies.
++
++2003-05-03  Nathan Sidwell  <nathan@codesourcery.com>
++
++      * trans.c (tree_transform): Use location_t and input_location
++      directly.
++      (build_unit_elab): Likewise.
++      * utils.c (create_label_decl): Likewise.
++
++2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
++
++      * trans.c (tree_transform, build_unit_elab,
++      set_lineno): Rename lineno to input_line.
++      * utils.c (pushdecl, create_label_decl, begin_subprog_body,
++      end_subprog_body): Likewise.
++      * utils2.c (build_call_raise): Likewise.
++
++2003-05-01  Laurent Guerby  <guerby@acm.org>
++
++      PR ada/10546
++      * 5iosinte.ads: Increase pthread_cond_t size to match recent
++      LinuxThread and NPTL version, merge from ACT.
++
++2003-04-28  Zack Weinberg  <zack@codesourcery.com>
++
++      * utils.c (convert): No need to clear TREE_CST_RTL.
++
++2003-04-23   Geert Bosch  <bosch@gnat.com>
++
++      * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
++      1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
++      3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
++      3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
++      3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
++      4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
++      4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
++      4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
++      4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
++      4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
++      4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
++      4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
++      52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
++      5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
++      5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
++      5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
++      5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
++      5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
++      5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
++      5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
++      5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
++      5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
++      5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
++      5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
++      5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
++      5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
++      5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
++      5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
++      5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
++      5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
++      5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
++      5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
++      5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
++      5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
++      5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
++      5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
++      5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
++      5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
++      5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
++      5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
++      5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
++      5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
++      5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
++      5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
++      6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
++      7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
++      7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
++      9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
++      a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
++      a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
++      a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
++      a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
++      a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
++      a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
++      a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
++      a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
++      a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
++      a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
++      a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
++      a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
++      a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
++      a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
++      a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
++      a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
++      a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
++      a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
++      a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
++      a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
++      a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
++      a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
++      a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
++      a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
++      a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
++      a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
++      a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
++      a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
++      a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
++      a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
++      a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
++      a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
++      a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
++      a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
++      a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
++      a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
++      a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
++      a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
++      a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
++      a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
++      a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
++      a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
++      a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
++      a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
++      a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
++      a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
++      a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
++      a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
++      a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
++      a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
++      a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
++      a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
++      a-wttest.ads, ada-tree.h, ada.ads, ada.h,
++      adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
++      ali.adb, ali.ads, alloc.ads, argv.c,
++      atree.adb, atree.ads, atree.h, aux-io.c,
++      back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
++      binde.adb, binde.ads, binderr.adb, binderr.ads,
++      bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
++      butil.adb, butil.ads, cal.c, calendar.ads,
++      casing.adb, casing.ads, ceinfo.adb, checks.adb,
++      checks.ads, cio.c, comperr.adb, comperr.ads,
++      config-lang.in, csets.adb, csets.ads, csinfo.adb,
++      cstand.adb, cstand.ads, cuintp.c, debug.adb,
++      debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
++      dec-io.ads, dec.ads, deftarg.c, directio.ads,
++      einfo.adb, einfo.ads, elists.adb, elists.ads,
++      elists.h, errno.c, errout.adb, errout.ads,
++      eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
++      exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
++      exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
++      exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
++      exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
++      exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
++      exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
++      exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
++      exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
++      exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
++      exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
++      exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
++      exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
++      exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
++      exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
++      fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
++      fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
++      freeze.adb, freeze.ads, frontend.adb, frontend.ads,
++      g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
++      g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
++      g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
++      g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
++      g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
++      g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
++      g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
++      g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
++      g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
++      g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
++      g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
++      g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
++      g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
++      g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
++      g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
++      g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
++      g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
++      g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
++      g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
++      g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
++      g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
++      g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
++      get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
++      gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
++      gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
++      gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
++      gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
++      gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
++      gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
++      gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
++      hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
++      i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
++      i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
++      i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
++      i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
++      i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
++      i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
++      inline.adb, inline.ads, interfac.ads, ioexcept.ads,
++      itypes.adb, itypes.ads, krunch.adb, krunch.ads,
++      layout.adb, layout.ads, lib-list.adb, lib-load.adb,
++      lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
++      lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
++      lib.adb, lib.ads, live.adb, live.ads,
++      machcode.ads, make.adb, make.ads, makeusg.adb,
++      makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
++      mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
++      memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
++      mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
++      mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
++      mlib.ads, namet.adb, namet.ads, nlists.adb,
++      nlists.ads, opt.adb, opt.ads, osint-b.adb,
++      osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
++      osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
++      osint.ads, output.adb, output.ads, par-ch10.adb,
++      par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
++      par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
++      par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
++      par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
++      par-tchk.adb, par-util.adb, par.adb, par.ads,
++      prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
++      prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
++      prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
++      prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
++      prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
++      prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
++      prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
++      prj.adb, prj.ads, repinfo.adb, repinfo.ads,
++      restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
++      rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
++      s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
++      s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
++      s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
++      s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
++      s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
++      s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
++      s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
++      s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
++      s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
++      s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
++      s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
++      s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
++      s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
++      s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
++      s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
++      s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
++      s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
++      s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
++      s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
++      s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
++      s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
++      s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
++      s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
++      s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
++      s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
++      s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
++      s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
++      s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
++      s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
++      s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
++      s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
++      s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
++      s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
++      s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
++      s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
++      s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
++      s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
++      s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
++      s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
++      s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
++      s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
++      s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
++      s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
++      s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
++      s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
++      s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
++      s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
++      s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
++      s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
++      s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
++      s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
++      s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
++      s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
++      s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
++      s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
++      s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
++      s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
++      s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
++      s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
++      s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
++      s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
++      s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
++      s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
++      s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
++      s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
++      s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
++      s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
++      s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
++      s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
++      s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
++      s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
++      s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
++      s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
++      s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
++      s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
++      s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
++      s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
++      s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
++      s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
++      s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
++      s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
++      s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
++      s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
++      s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
++      s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
++      s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
++      s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
++      s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
++      s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
++      s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
++      s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
++      s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
++      s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
++      scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
++      sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
++      sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
++      sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
++      sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
++      sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
++      sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
++      sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
++      sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
++      sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
++      sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
++      sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
++      sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
++      sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
++      sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
++      sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
++      sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
++      sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
++      sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
++      sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
++      sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
++      snames.ads, sprint.adb, sprint.ads, stand.adb,
++      stand.ads, stringt.adb, stringt.ads, style.adb,
++      style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
++      switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
++      switch-m.ads, switch.adb, switch.ads, system.ads,
++      table.adb, table.ads, targparm.adb, targparm.ads,
++      tbuild.adb, tbuild.ads, text_io.ads, trans.c,
++      tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
++      tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
++      ttypef.ads, ttypes.ads, types.adb, types.ads,
++      uintp.adb, uintp.ads, uname.adb, uname.ads,
++      unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
++      usage.adb, usage.ads, validsw.adb, validsw.ads,
++      widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
++      xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
++      xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
++      formatting and other trivial changes from ACT.
++
++2003-04-12  Zack Weinberg  <zack@codesourcery.com>
++
++      * gigi.h, utils2.c (build_constructor):
++      Rename gnat_build_constructor. Use build_constructor.
++      * decl.c (gnat_to_gnu_entity)
++      * trans.c (tree_transform, pos_to_constructor, extract_values)
++      * ada/utils.c (build_template, convert_to_fat_pointer, convert)
++      (unchecked_convert)
++      * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
++      (fill_vms_descriptor):
++      Update to match.
++
++2003-04-06  Zack Weinberg  <zack@codesourcery.com>
++
++      * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
++      * misc.c (gnat_tree_size): New function.
++      (LANG_HOOKS_TREE_SIZE): Override.
++
++2003-04-03  Jason Merrill  <jason@redhat.com>
++
++      * misc.c (gnat_adjust_rli): #if 0.
++
++2003-03-31   Geert Bosch  <bosch@gnat.com>
++
++      PR ada/10020
++      * link.c : Fix misspelled "const" keyword
++
++2003-03-23  Mark Mitchell  <mark@codesourcery.com>
++
++      PR c++/7086
++      * utils2.c: Adjust calls to put_var_into_stack.
++
++2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
++
++      * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
++
++2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
++
++      * misc.c (gnat_init): Update for new prototype.
++
++2003-03-05  Olivier Hainque  <hainque@gnat.com>
++
++      ada/9961
++      * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
++      warning, and fix return type for the IN_RTS && !SJLJ case.
++
++2003-03-04  Tom Tromey  <tromey@redhat.com>
++
++      * Make-lang.in (ada.tags): New target.
++
++2003-03-04  Olivier Hainque  <hainque@act-europe.fr>
++
++      ada/9911
++      * a-except.adb (Unwind_RaiseException): Import a GNAT specific
++      wrapper, which name remains constant whatever underlying GCC
++      scheme.
++
++      * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
++      the stable interface needed for a-except.
++
++2003-03-02  Andreas Jaeger  <aj@suse.de>
++
++      * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
++      gnat_ug_wnt.texi: Regenerate.
++
++2003-03-02  Laurent Guerby  <guerby@acm.org>
++
++      * Makefile.in (install-gnatlib): Match previous change there
++      so it works.
++
++2003-02-28  Andreas Schwab  <schwab@suse.de>
++
++      * Make-lang.in (install-gnatlib): Change to ada directory before
++      running make instead of using ada/Makefile directly.
++
++2003-02-18  Ben Elliston  <bje@redhat.com>
++
++      Part of PR ada/9406
++      * gnat_ug.texi (Binder output file): Grammar fix.
++
++2003-02-18  Ben Elliston  <bje@redhat.com>
++
++      PR other/7350
++      * 5qtaprop.adb (Sleep): Fix typo in comment.
++
++2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
++
++      * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
++      * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
++      gnat_ug_wnt.texi: Regenerate.
++
++2003-02-03  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
++
++      * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
++      be created if necessary.
++      (ada.install-common): Let $(DESTDIR)$(bindir) be created
++      if necessary.  Remove erroneous and redundant gnatchop
++      installation commands.  Test for gnatdll before attempting
++      to install it.
++      (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
++      and gnatdll from all plausible locations.
++
++2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
++
++      * utils2.c (build_unary_op): Don't check flag_volatile.
++      * gnat_ug.texi: Remove -fvolatile from example.
++      * gnat_ug_vxw.texi: Likewise.
++
++2003-01-29  Laurent Guerby  <guerby@acm.org>
++
++      PR ada/8344
++      * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
++      * Makefile.in: match previous change.
++      * Make-lang.in: match previous change.
++
++2003-01-29  Joel Sherrill  <joel@OARcorp.com>
++
++      * 5rosinte.ads: Add SIGXCPU.
++      * 5rtpopsp.adb: New file.
++      * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
++      * Makefile.in: Recognize more RTEMS targets and add the RTEMS
++      specific file 5rtpopsp.adb.
++      * adaint.h: Add include of <stdio.h> when target is RTEMS.  This
++      is likely needed for all newlib targets.
++      * init.c: Add RTEMS specific version of __gnat_initialize().
++
++2003-01-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
++
++2003-01-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * init.c (__gnat_error_handler): Make msg const.
++
++      * gmem.c (convert_addresses): Move declaration ...
++      * adaint.h: ... here.
++      * adaint.c (convert_addresses): Adapt addrs type to match
++      prototype.
++
++      * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
++
++2003-01-24  Andreas Schwab  <schwab@suse.de>
++
++      * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
++      size_t to avoid warning.
++
++2003-01-21  Zack Weinberg  <zack@codesourcery.com>
++
++      * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
++
++2003-01-09  Geoffrey Keating  <geoffk@apple.com>
++
++      * gnat_rm.texi: Remove RCS version number.
++
++      * ada-tree.h (union lang_tree_node): Add chain_next option.
++
++2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
++
++      * Make-lang.in (ada.install-info, ada.install-common,
++      ada.uninstall): Prepend $(DESTDIR) to the destination
++      directory in all (un)installation commands.
++      * Makefile.in (install-gnatlib, install-rts): Ditto.
++
++
++\f
++Copyright (C) 2003 Free Software Foundation, Inc.
++
++Copying and distribution of this file, with or without modification,
++are permitted in any medium without royalty provided the copyright
++notice and this notice are preserved.
+Index: gcc/ada/ChangeLog-2004
+===================================================================
+--- gcc/ada/ChangeLog-2004     (.../tags/gcc_4_4_0_release)    (wersja 0)
++++ gcc/ada/ChangeLog-2004     (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -0,0 +1,8347 @@
++2004-12-30  Sohail Somani  <sohail@sohailsomani.com>
++
++      PR ada/19128
++      * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
++
++2004-12-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
++
++      * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
++      * utils2.c (build_unary_op): Likewise.
++
++2004-12-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
++
++2004-12-19  Richard Henderson  <rth@redhat.com>
++
++      * trans.c (gigi): Update gimplify_body call.
++
++2004-12-09  Nathan Sidwell  <nathan@codesourcery.com>
++
++      * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
++
++2004-12-07  Ed Falis  <falis@adacore.com>
++
++      * s-intman-vxworks.adb (Notify_Exception): removed useless check for
++      current task being suspended.
++
++      * init.c (__gnat_clear_exception): added to reset VxWorks exception
++      count.
++      (__gnat_map_signal): removed test for current task being suspended.
++
++2004-12-07  Gary Dismukes  <dismukes@adacore.com>
++
++      * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
++      from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
++      targets (such as AAMP).
++
++2004-12-07  Ed Schonberg  <schonberg@adacore.com>
++
++      * atree.adb (Visit_Itype): Create a new name for the generated itype,
++      because the back-end may otherwise treat it as a redefinition of the
++      old symbol.
++
++2004-12-07  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * back_end.adb (Scan_Back_End_Switches): Accept --param.
++
++      * lang-specs.h: Accept --param.
++
++2004-12-07  Vincent Celier  <celier@adacore.com>
++
++      * make.adb (Check_Mains, Switches_Of): Adapt to name changes in
++      package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
++      Current_Body_Suffix => Ada_Body_Suffix).
++      Take into account Externally_Built attribute.
++
++      * clean.adb (In_Extension_Chain): Always return False when one of the
++      parameter is No_Project.
++      (Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
++      Ada_Language_Index).
++      (Gnatclean): Adapt to change in package Prj.Pars (no parameter
++      Process_Languages for procedure Parse).
++
++      * gnatcmd.adb (Carg_Switches): New table.
++      (GNATCmd): Put all switches following -cargs in the Carg_Switches table.
++      Adapt to name changes in package Prj (Current_Spec_Suffix =>
++      Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
++
++      * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
++      Header_Num and function Hash are now declared in package Prj,
++      not Prj.Com.
++
++      * prj.adb (Suffix_Of): New function.
++      (Set (Suffix)): New procedure.
++      (Hash): One function moved from Prj.Com
++      (Is_Present, Language_Processing_Data_Of): New functions
++      (Set): Two new procedures
++      (Add_Language_Name, Display_Language_Name): New procedures
++
++      * prj.ads: (Suffix_Of): New function
++      (Set (Suffix)): New procedure
++      Add several types and tables for multi-language support.
++      (Header_Num): Type moved from Prj.Com
++      (Hash): Two functions moved from Prj.Com
++      (Is_Present, Language_Processing_Data_Of): New functions
++      (Set): Two new procedures
++      (Add_Language_Name, Display_Language_Name): New procedures
++      (Naming): Component name changes:
++      Current_Spec_Suffix => Ada_Spec_Suffix,
++      Current_Body_Suffix => Ada_Body_Suffix. Add new components:
++      Impl_Suffixes, Supp_Suffixes.
++      (Project_Data): New components: Externally_Built, Supp_Languages,
++      First_Language_Processing, Supp_Language_Processing, Default_Linker,
++      Default_Linker_Path.
++
++      * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
++      new package Language_Processing with its attributes (Compiler_Driver,
++      Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
++      Binder_Driver, Default_Linker).
++
++      * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
++      (Header_Num): Type moved to package Prj
++
++      * prj-env.adb: Adapt to name changes in package Prj
++      (Current_Spec_Suffix => Ada_Spec_Suffix,
++      Current_Body_Suffix => Ada_Body_Suffix).
++
++      * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
++      default to the project path, except the "-" is one of the directories
++      in env var ADA_PROJECT_PATH.
++      (Current_Project_Path): Global variable, replacing Project_Path
++      that was in the body of Prj.Part.
++      (Project_Path): New function
++      (Set_Project_Path): New procedure
++      Initialize Current_Project_Path during elaboration of the package
++      Remove dependency on Prj.Com, no longer needed
++
++      * prj-ext.ads (Project_Path): New function
++      (Set_Project_Path): New procedure
++
++      * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
++      suffix is defined for language <lang>.
++      (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
++      accessing directly the components of Naming.
++      (Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
++      Reorganise of this package.
++      Break procedure Check in several procedures.
++
++      * prj-nmsc.ads: Replace all procedures (Ada_Check,
++      Other_Languages_Check and Language_Independent_Check) with a single
++      procedure Check.
++
++      * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
++      Process_Languages, no longer needed.
++
++      * prj-part.adb (Project_Path): Move to the body of Prj.Ext as
++      Current_Project_Path.
++      Remove elaboration code, moved to the body of Prj.Ext
++      Use new function Prj.Ext.Project_Path instead of old variable
++      Project_Path.
++      (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
++      When comparing with project paths on the stack, first put the resolved
++      path in canonical case.
++      (Parse_Single_Project): Set the path name of the project file in the
++      tree to the normalized path.
++
++      * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
++      parameter Process_Languages, no longer needed.
++      (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
++      Other_Languages_Check.
++
++      * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
++      to store the resolved canonical path of the project file.
++      Remove dependency to Prj.Com, no longer needed
++
++      * prj-util.adb: Adapt to name changes in package Prj
++      (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
++      Ada_Body_Suffix).
++
++      * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
++      Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
++      Externally_Built, Include_Option, Language_Processing.
++
++      * makegpr.adb: Numerous changes due to changes in packages
++      Prj and Prj.Nmsc.
++
++      * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
++      default to the project path, except whe "-" is one of the directories
++      in env var ADA_PROJECT_PATH.
++      (Gnatls): In verbose mode, add the new section "Project Search Path:"
++
++2004-12-07  Robert Dewar  <dewar@adacore.com>
++
++      * debug.adb: Document that -gnatdA automatically sets -gnatR3m
++
++      * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
++      set -gnatR3m mode.
++
++      * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
++      flag. No longer needed now that we handle this in gnat1drv.adb.
++
++      * repinfo.ads: Minor reformatting
++
++2004-12-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++          Olivier Hainque  <hainque@adacore.com>
++          Eric Botcazou  <ebotcazou@adacore.com>
++
++      * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
++      TYPE_SIZE_UNIT of result type if SIZE is not specified.
++      (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
++      of a bitfield, which we know is useless and causes trouble because of
++      alignment implications.
++
++      * utils.c (create_var_decl): Set DECL_COMMON again on targets without
++      BSS sections.
++      (process_attributes): Clear DECL_COMMON again when a section attribute
++      is present.
++      (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
++      SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
++      (create_field_decl): Special case ADDRESSABLE negative to mean
++      "no bitfield creation", to be used by make_aligning_type. Don't
++      restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
++      fields claimed addressable still have to be bitfields. Use
++      value_factor_p instead of a raw binop construction to check for the
++      position's alignment.
++
++2004-12-07  Geert Bosch  <bosch@adacore.com>
++
++      * eval_fat.adb: Revert previous change.
++
++2004-12-07  Thomas Quinot  <quinot@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
++      with an implicit dereference as its prefix, use
++      Insert_Explicit_Dereference instead of merely rewriting the prefix into
++      an explicit dereference. This ensures that a reference to the original
++      prefix is generated, if appropriate.
++
++      * sem_util.adb (Insert_Explicit_Dereference): When an implicit
++      dereference is rewritten to an explicit one, generate a reference to
++      the entity denoted by its prefix using the original prefix node, so
++      the dereference can be properly recorded as a read of the denoted
++      access value, if appropriate.
++
++      * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
++      emitting 'assigned but never read' warning on a variable on the basis
++      that it has an access type.
++      (Check_References): Emit unreferenced warning when the scope is a
++      subprogram body.
++
++2004-12-07  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_ch6.adb (Expand_Call): Add comment on handling of back end
++      intrinsic
++
++      * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
++      leaving call unchanged.
++      This deals with the case where the pragma Import specified
++      an external name, to be handled by the back end.
++
++      * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
++      subprogram which is Imported with convention Intrinsic if an
++      External_Name argument is specified.
++      (Process_Import_Or_Interface): Properly diagnose link name argument.
++      (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
++      with Sem_Ch6.Cannot_Inline.
++      (Process_Inline): Provide separate warning for inapplicable inline
++      pragma.
++      (Cannot_Inline): Reject subprograms that have an at_end handler, so that
++      treatment is uniform on different targets.
++
++2004-12-07  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
++      construct is rewritten, preserve end label to permit source navigation.
++
++2004-12-07  Thomas Quinot  <quinot@adacore.com>
++
++      * exp_dist.adb (Specific_Build_General_Calling_Stubs,
++      Specific_Build_Stub_Target): New subprograms.
++      (Build_Subprogram_Calling_Stubs): Make this procedure independent from
++      the PCS implementation used, using the above PCS-customized subprograms.
++      Minor reformatting.
++      (PolyORB_Support.Helpers): New subunit containing supporting subprograms
++      for generation of DSA code targeted to the PolyORB PCS.
++      (Add_Stub_Type): Rewrite to isolate the parts that are specific to one
++      implementation of the partition communication subsystem in ancillary
++      subprograms.
++      (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
++      PolyORB_Support.Build_Stub_Type): New subrograms containing the
++      PCS-specific part of Add_Stub_Type.
++      (Insert_Partition_Check): Use runtime library function to perform
++      E.4(19) check.
++
++      * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
++      (RE_Same_Partition): New entity, from s-parint.
++
++      * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
++
++2004-12-07  Gary Dismukes  <dismukes@adacore.com>
++
++      * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
++      Output the copyright message on a separate line from the version
++      message.
++
++2004-12-07  Joel Brobecker  <brobecker@adacore.com>
++
++      * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
++      compile-time warning.
++
++2004-12-07  Robert Dewar  <dewar@adacore.com>
++
++      * g-regpat.adb: (Match): Change a misuse of or to or else
++
++2004-12-07  Ed Schonberg  <schonberg@adacore.com>
++
++      * lib-xref.adb:
++      (Generate_Reference): Handle properly a reference to an entry formal,
++       when an accept statement has a pragma Unreferenced for it.
++
++      * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
++      and the Has_Pragma_Unreferenced flag for each formal before analyzing
++      the body, to ensure that warnings are properly emitted for each accept
++      statement of a given task entry.
++
++2004-12-07  Vasiliy Fofanov  <fofanov@adacore.com>
++
++      * Makefile.in: Add support for foreign threads on VMS.
++
++2004-12-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
++      Remove.
++      (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
++
++      * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
++
++      * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
++      exception.
++      (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
++
++2004-12-07  Robert Dewar  <dewar@adacore.com>
++
++      * nlists.adb (Prepend_Debug): Remove parameters and nest within
++      Prepend.
++      (Remove_Next_Debug): Same fix
++
++      * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
++      maintain back pointers now, though we did not used to, and comments
++      were out of date).
++      (Prepend): Remove pragma Inline.
++      (Remove_Next): Same cleanup
++
++2004-12-07  Thomas Quinot  <quinot@adacore.com>
++
++      * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
++      used to record an implicit dereference as a read operation on its
++      prefix when operating under -gnatc. Necessary to avoid spurious
++      'variable assigned but never read' warnings in that mode.
++      (Process_Indexed_Component, Analyze_Selected_Component): When the prefix
++      is a non-overloaded implicit dereference, call the above subprogram to
++      ensure proper recording of references.
++
++2004-12-07  Gary Dismukes  <dismukes@adacore.com>
++
++      * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
++      to be resolved later as part of Analyze_Iteration_Scheme's call to
++      Make_Index.
++
++2004-12-07  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
++      prefix is not a scalar type, place error message on prefix, not on
++      type entity.
++
++2004-12-07  Bernard Banner  <banner@adacore.com>
++
++      * vxaddr2line.adb: Add support for x86 vxworks
++
++2004-12-07  Thomas Quinot  <quinot@adacore.com>
++
++      * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
++      documentation of the behaviour of these functions when passed an IP
++      address that has no record in the system hosts database and no reverse
++      record in the DNS.
++
++      * cstand.adb, a-tags.ads: Fix typos in comment.
++
++2004-12-07  Robert Dewar  <dewar@adacore.com>
++
++      * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
++      exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
++      sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
++      s-poosiz.ads: Minor reformatting
++
++      * make.adb: Minor reformatting
++      Add some ??? comments asking for more comments
++
++      * s-poosiz.adb: Minor reformatting
++      Add comments on alignment requirement
++
++      * sinfo.ads: Remove obsolete comment and fix typo.
++
++2004-12-07  Vincent Celier  <celier@adacore.com>
++          Sergey Rybin  <rybin@adacore.com>
++
++      * gnat_ugn.texi: Update the section "The GNAT Driver and Project
++      Files" with the new tool and package names.
++      Reformatting to suppress most of the warnings for line too long
++      Document the new section "Project Search Path:" in the output of
++      gnatls -v.
++      Add gnatmetric section
++
++2004-12-07  Vincent Celier  <celier@adacore.com>
++
++      * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
++      -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
++      and -eit to -ept. Added qualifier
++      /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
++
++2004-11-27  Andreas Schwab  <schwab@suse.de>
++
++      * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
++
++2004-11-25  Arnaud Charlet  <charlet@adacore.com>
++
++      * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from
++      internal implementation unit GNAT.Sockets.Thin,
++      as their usage for sockets is non-portable (using the read and write
++      functions from the system runtime library is fine on UNIX but won't
++      work under Windows).
++
++      * mingw32.h: Update copyright notice.
++
++2004-11-25  Arnaud Charlet  <charlet@adacore.com>
++
++      * ada-tree.h: Minor reformatting of previous change to avoid lines
++      longer than 79 characters.
++
++2004-11-25  Olivier Hainque  <hainque@adacore.com>
++
++      * tb-gcc.c: GCC infrastructure based implementation of
++      __gnat_backtrace.
++
++2004-11-24  Steven Bosscher  <stevenb@suse.de>
++
++      * misc.c (gnat_post_options): Don't clear
++      flag_inline_functions.
++
++2004-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
++
++      PR ada/17986
++      * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
++      tree.
++
++2004-11-21  Andreas Jaeger  <aj@suse.de>
++
++      * stylesw.adb: Change Style_Check_Subprogram_Order to
++      Style_Check_Order_Subprograms.
++
++2004-11-18  Arnaud Charlet  <charlet@adacore.com>
++
++      * adaint.h, adaint.c
++      (__gnat_portable_spawn): Fix cast of spawnvp third parameter
++      to avoid warnings.
++      Add also a cast to kill another warning.
++      (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
++      parameter with the priority class of the parent process instead of
++      always using the NORMAL_PRIORITY_CLASS.
++      (__gnat_dup): New function.
++      (__gnat_dup2): New function.
++      (__gnat_is_symbolic_link): Enable the effective body of this
++      function when __APPLE__ is defined.
++
++      * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
++      Update comments.
++
++2004-11-18  Olivier Hainque  <hainque@adacore.com>
++
++      * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
++      address of which may be used to represent "others" and "all others"
++      choices in exception tables, instead of the current harcoded
++      (void *)0 and (void *)1.
++      (Setup_Exception): Do nothing in the GNAT SJLJ case.
++
++      * gigi.h (others_decl, all_others_decl): New decls representing the
++      new Others_Value and All_Others_Value objects.
++      (struct attrib): Rename "arg" component as "args", since GCC expects a
++      list of arguments in there.
++
++      * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
++      corresponding objects exported by a-exexpr, instead of hardcoded dummy
++      addresses.
++
++      * trans.c (Exception_Handler_to_gnu_zcx): Use the address of
++      others_decl and all_others_decl instead of hardcoded dummy addresses
++      to represent "others" and "all others" choices, which is cleaner and
++      more flexible with respect to the possible eh pointer encoding policies.
++
++      * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
++      (process_attributes): Account for the naming change of the "args"
++      attribute list entry component.
++
++      * decl.c (build_attr_list): Rename into prepend_attributes to allow
++      cumulating attributes for different entities into a single list.
++      (gnat_to_gnu_entity): Use prepend_attributes to build the list of
++      attributes for the current entity and propagate first subtype
++      attributes to other subtypes.
++      <E_Procedure>: Attribute arguments are attr->args and not
++      attr->arg any more.
++      (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
++      argument provided, as this is what GCC expects. Use NULL_TREE instead
++      of 0 for trees.
++
++2004-11-18  Robert Dewar  <dewar@adacore.com>
++
++      * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
++      Minor reformatting througout (including new function specs)
++      Add ??? comments asking for clarification.
++
++2004-11-18  Thomas Quinot  <quinot@adacore.com>
++
++      * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
++      incomplete duplicate implementation of this subprogram from butil.
++
++2004-11-18  Thomas Quinot  <quinot@adacore.com>
++
++      * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
++      procedures factors the common processing for building an RPC receiver
++      for an RCI package or an RACW type.
++      Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
++      Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
++      (Get_PCS_Name): New subprogram. Returns the name of the PCS currently
++      in use.
++      (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
++      Add_RACW_Features.
++      (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
++      Add_RAST_Features.
++      (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
++      distribution subprogram identifiers that are either subprogram numbers
++      or strings.
++      (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
++      string distribution identifiers assigned to a given subprogram.
++      (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
++      (Add_RAS_Dereference_TSS): Add comments.
++      (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
++      is not referenced yet because it will be used by the PolyORB DSA
++      implementation.
++      (Insert_Partition_Check): Remove fossile code.
++      (First_RCI_Subprogram_Id): Document this constant.
++      (Add_RAS_Access_TSS): Correct the setting of the Etype of the
++      RAS_Access TSS.
++      (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
++      replaced with calls to Get_Library_Unit_Name_String. Previously there
++      were several instances of the same code in different locations in the
++      compiler; this checkin completes the replacement of all of these
++      instances with calls to a common subprogram.
++      Minor reformatting.
++
++      * sem_dist.adb: Remove comment noting that RPC receiver generation
++      should be disabled for RACWs that implement RASs.
++      (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
++
++      * sem_util.ads, sem_util.adb (Has_Stream): New function
++      (Get_Library_Unit_Name_String): New subprogram to retrieve the fully
++      qualified name of a library unit into the name buffer.
++      (Note_Possible_Modification): Generate a reference only
++      if the context comes from source.
++
++      * snames.ads (PCS_Names): New subtype corresponding to names of
++      supported implementations of the Partition Communication Subsystem
++      (PCS) (i.e. the runtime library support modules for the distributed
++      systems annex).
++
++2004-11-18  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
++      (Has_Rep_Pragma): New function
++      (Has_Attribute_Definition_Clause): New function
++      (Record_Rep_Pragma): Moved here from sem_ch13.adb
++      (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
++
++      * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
++
++      * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
++      (Expand_Pragma_Psect_Object): New procedure
++      These procedures contain the revised and cleaned up processing for
++      these two pragmas. This processing was formerly in Sem_Prag, but
++      is more appropriately moved here. The cleanup involves making sure
++      that the pragmas are properly attached to the tree, and that no
++      nodes are improperly shared.
++
++      * sem_prag.adb: Move expansion of Common_Object and Psect_Object
++      pragmas to Exp_Prag, which is more appropriate.
++      Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
++      check for duplicates Remove use of Is_Psected flag, no longer needed.
++      Use new Make_String_Literal function with string.
++
++      * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
++      that are functions return universal values, that have to be converted
++      to the context type.
++      Use new Make_String_Literal function with string.
++      (Get_Stream_Convert_Pragma): New function, replaces the use of
++      Get_Rep_Pragma, which had to be kludged to work in this case.
++
++      * freeze.adb: Use new Has_Rep_Pragma function
++
++      * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
++      function with string.
++      Use new Has_Rep_Pragma function.
++
++      * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
++      string argument.
++
++2004-11-18  Robert Dewar  <dewar@adacore.com>
++
++      * errout.ads, errout.adb: (First_Sloc): New function
++
++      * par-ch5.adb (P_Condition): Check for redundant parens is now a style
++      check (-gnatyx) instead of being included as a redundant construct
++      warning.
++
++      * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
++      Style_Check_Order_Subprograms.
++
++      * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
++      stylesw.adb: Add Style_Check_Xtra_Parens
++
++      * usage.adb: Add line for -gnatyx (check extra parens)
++
++      * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
++
++2004-11-18  Ed Schonberg  <schonberg@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * exp_ch4.adb (Expand_N_Selected_Component): If the component is the
++      discriminant of a constrained subtype, analyze the copy of the
++      corresponding constraint, because in some cases it may be only
++      partially analyzed.
++      Removes long-lived ??? comments.
++
++      * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
++      handled controlled or secondary-stack expressions within the
++      iteration_scheme of a loop.
++
++      * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
++      bounds that may contain functions calls, to prevent memory leaks when
++      the bound contains a call to a function that uses the secondary stack.
++      (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
++      generate temporaries for loop bounds that might contain function calls
++      that require secondary stack and/or finalization actions.
++
++      * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
++      selected component and the selector is overloadable (not just a
++      function) treat as function call, Analyze_Call will disambiguate if
++      necessary.
++      (Analyze_Selected_Component): Do not generate an actual subtype for the
++      selected component if expansion is disabled. The actual subtype is only
++      needed for constraint checks.
++      (Analyze_Allocator): If restriction No_Streams is set, then do
++      not permit objects to be declared of a stream type, or of a
++      composite type containing a stream.
++
++      * restrict.ads: Remove the a-stream entry from Unit_Array, since
++      No_Streams no longer prohibits with'ing this package.
++
++      * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
++      discriminants, but the parent base has unknown discriminants, there is
++      no discriminant constraint to inherit. Such a discrepancy can arise
++      when the actual for a formal type with unknown discriminants is a
++      similar private type whose full view has discriminants.
++      (Analyze_Object_Declaration): If restriction No_Streams is set, then
++      do not permit objects to be declared of a stream type, or of a
++      composite type containing a stream.
++
++2004-11-18  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_dbug.ads: Update documentation to reflect simpler encoding for
++      protected operations.
++
++      * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
++      generated name, it complicates decoding in gdb and hinders debugging
++      of protected operations.
++      (Build_Barrier_Function_Specification): Set the Needs_Debug_Info
++      flag for the protected entry barrier function.
++      (Build_Protected_Entry_Specification): Set the Needs_Debug_Info
++      flag for the protected entry function.
++
++2004-11-18  Nicolas Setton  <setton@adacore.com>
++
++      * expect.c: Define __unix__ when __APPLE__ is defined.
++
++      * Makefile.in: Inform the value of the variable GMEM_LIB in the
++      Darwin-specific section.
++
++      * lang-specs.h: Change the placement of the %1 marker.
++      Works around the fact that gcc adds -fPIC by default under Darwin.
++
++2004-11-18  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
++      type of the object with the packed array type, set the Analyzed flag
++      on the object if it is an entity or simple indexed component, to avoid
++      spurious type errors.
++
++2004-11-18  Gary Dismukes  <dismukes@adacore.com>
++
++      * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
++      gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
++      separate line from the version message.
++
++2004-11-18  Ed Falis  <falis@adacore.com>
++
++      * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
++      vthreads.
++      (init_float): Eliminate initialization of floating point status for
++      AE653. The instructions have no effect for vThreads.
++
++2004-11-18  Vincent Celier  <celier@adacore.com>
++
++      * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
++      gnatbind is invoked with -shared.
++
++2004-11-18  Jose Ruiz  <ruiz@adacore.com>
++
++      * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
++      for Detect_Blocking which is redundant with the check done within the
++      procedure Protected_Single_Entry_Call.
++      (Lock_Read_Only_Entry): Remove the code for raising Program_Error for
++      Detect_Blocking which is redundant with the check done within the
++      procedure Protected_Single_Entry_Call.
++
++2004-11-18  Vincent Celier  <celier@adacore.com>
++
++      * makegpr.adb (Compile): Put the compiling switches (in package
++      Compiler and on the command line) immediately after "-c", instead of
++      at the end of the command line invocation of the compiler, when
++      compiling a non-Ada file.
++      (Build_Global_Archive): When there is no need to rebuild the archive,
++      set Global_Archive_Exists, so that the archive is passed to the linker
++      if one is needed.
++
++2004-11-18  Robert Dewar  <dewar@adacore.com>
++          Sergey Rybin  <rybin@adacore.com>
++
++      * gnat_ugn.texi:
++      Remove extra paren check from list of checks for redundant constructs
++      Add documentation of new -gnatyx style check (check extra parens)
++      Remove paragraph about gnatelim debug options.
++
++      * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
++      objects rather than forbidding dependencies on the package Ada.Streams.
++
++      * sinfo.ads: Add ??? note that we should document pragmas passed to
++      back end.
++
++      * g-expect.ads: Fix a few typos in the comments.
++
++2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
++
++      * misc.c (gnat_handle_option): Use %< and %> for quoting in
++      warning message.
++
++2004-11-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * a-numaux-x86.adb (Tan): Fix fdivp syntax.
++
++2004-11-07  Andreas Schwab  <schwab@suse.de>
++
++      * Makefile.in (install-gnatlib): Remove spurious hyphen.
++
++2004-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
++
++      PR ada/18228
++      * Makefile.in (darwin): Set soext to .dylib.
++
++2004-10-26  Vincent Celier  <celier@gnat.com>
++          Thomas Quinot   <quinot@act-europe.fr>
++
++      * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads:
++      (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as
++      there is no use of GNAT.Sockets.Constants.
++      Remove remaining pragma Import for C_Write
++      Remove C_Read and C_Write from internal implementation unit
++      GNAT.Sockets.Thin, as their usage for sockets is non-portable (using
++      the read and write functions from the system runtime library is fine
++      on UNIX but won't work under Windows).
++
++      * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write.
++      (Check_Selector): Use C_Recv instead of C_Read.
++      Selectors are the GNAT.Sockets abstraction to perform a select()
++      call on a set of descriptors. To allow abortion of an ongoing
++      select operation, some data is written to a dedicated socket that
++      is always monitored.
++      Under Windows, the write and read library functions cannot operate
++      on sockets, so we need to use send and recv instead, which is portable
++      across all supported platforms.
++
++      * g-socthi.ads: Remove C_Read and C_Write from internal implementation
++      unit GNAT.Sockets.Thin, as their usage for sockets is non-portable
++      (using the read and write functions from the system runtime library is
++      fine on UNIX but won't work under Windows).
++
++2004-10-26  Nicolas Setton  <setton@act-europe.fr>
++
++      * mlib-tgt-darwin.adb: New file.
++
++      * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
++      mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
++      mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
++      mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New
++      subprogram body.
++
++      * Makefile.in: Add support for building shared libraries under Darwin.
++      (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing
++      the low level EH init subprogram to be called from __gnat_initialize.
++
++      * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
++      indicates which options to pass to the archive indexer.
++
++      * mlib-utl.adb: Add support for calling ranlib with additional
++      options. This is needed for instance under Mac OS X.
++      (Ranlib_Options): New global variable, used to store the potential
++      options to pass to ranlib.
++      (Ar): Use Ranlib_Options when spawning ranlib.
++      (Initialize): Set the value of ranlib option.
++
++2004-10-26  Olivier Hainque  <hainque@act-europe.fr>
++
++      * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K
++      instead of 8K, to reflect the real potential needs for stack-checking
++      in the ZCX case.
++
++2004-10-26  Pascal Obry  <obry@gnat.com>
++
++      * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
++
++      * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On
++      Windows only the initial thread stack size can be set so it is good to
++      start we a low stack size.
++      The OS will adjust the size as needed.
++
++2004-10-26  Olivier Hainque  <hainque@act-europe.fr>
++          Nicolas Setton  <setton@act-europe.fr>
++
++      * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with
++      "__unix__" instead of "unix".
++      The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the
++      sections were just mistakenly ignored. The former is
++      implicitely defined by gcc2.8, gcc3.2 and gcc3.4.
++      Update #ifdef preprocessor macro to detect the symbol __hpux__ instead
++      of hpux. This prevents an unwanted definition of the symbol
++      convert_addresses in adaint.o.
++
++2004-10-26  Gary Dismukes  <dismukes@gnat.com>
++
++      * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for
++      compatibility with type Unwind_Word on 16-bit targets such as AAMP.
++
++2004-10-26  Cyrille Comar  <comar@act-europe.fr>
++
++      * a-filico.ads, a-filico.adb: fix incorrect header.
++
++2004-10-26  Javier Miranda  <miranda@gnat.com>
++
++      * a-ststio.ads: Fix typo in identifier
++
++2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
++
++      * sem_ch4.adb: Minor reformatting.
++
++2004-10-26  Ed Schonberg  <schonberg@gnat.com>
++
++      * checks.adb (Expr_Known_Valid): If floating-point validity checks are
++      enabled, check the result of unary and binary operations when the
++      expression is the right-hand side of an assignment.
++
++2004-10-26  Vincent Celier  <celier@gnat.com>
++
++      * clean.adb (Delete): Do not output warnings when in quiet output and
++      not in verbose mode.
++      (Force_Deletions): New Boolean flag, defaulted to False
++      (Delete): Only delete a file if it is writable, and when
++      Force_Deletions is True.
++      (Parse_Cmd_Line): New switch -f: set Force_Deletions to True
++      (Usage): Line for new switch -f
++      (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our
++      own.
++
++2004-10-26  Eric Botcazou  <ebotcazou@act-europe.fr>
++
++      * decl.c (gnat_to_gnu_field): Use the type of the inner object for a
++      JM type only if its size matches that of the wrapper.  When a size is
++      prescribed and the field is not aliased, remove the wrapper of a JM
++      type only if the size is not greater than that of the packed array.
++      (gnat_to_gnu_entity): Change the extension of packed array wrappers
++      from LJM to JM.
++
++2004-10-26  Geert Bosch  <bosch@gnat.com>
++
++      * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used.
++      (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
++      (Pred): Implement in terms of Succ.
++
++2004-10-26  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_aggr.adb (Safe_Component): An aggregate component that is an
++      unchecked conversion is safe for in-place use if the expression of the
++      conversion is safe.
++      (Expand_Array_Aggregate): An aggregate that initializes an allocator may
++      be expandable in place even if the aggregate does not come from source.
++      (Convert_Array_Aggr_In_Allocator): New procedure to initialize the
++      designated object of an allocator in place, rather than building it
++      first on the stack. The previous scheme forces a full copy of the array,
++      and may be altogether unsusable if the size of the array is too large
++      for stack allocation.
++
++2004-10-26  Robert Dewar  <dewar@gnat.com>
++
++      * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
++      compares if the component is atomic.
++
++      * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
++      array assignment if the component type is atomic.
++
++2004-10-26  Ed Schonberg  <schonberg@gnat.com>
++          Eric Botcazou  <ebotcazou@act-europe.fr>
++
++      * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter
++      is aliased and is a by_reference type, do not pass by copy.
++      (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to
++      detect whether the call is in the right side of an assignment or
++      the expression of an object declaration.  Recurse on component
++      association within aggregates.
++      Call it in the condition that determines whether the temporary is
++      necessary for correct stack-checking.
++
++2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
++
++      * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter
++      RACW_Type, used in the PolyORB version.
++      Rename RCI_Info to RCI_Locator, for consistency between the PolyORB
++      version and the GARLIC version.
++
++      * snames.ads, snames.adb, s-parint.ads, s-parint.adb:
++      Rename RCI_Info to RCI_Locator for better consistency between the
++      GARLIC and PolyORB versions of the distributed systems annex.
++      (DSA_Implementation_Name): This enumeration lists the possible
++      implementations of the Partition Communication Subsystem for the
++      Distributed Systems Annex (DSA). The three available implementations
++      are the dummy stub implementation (No_DSA), and two versions based on
++      two different distribution runtime libraries: GARLIC and PolyORB. Both
++      the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution
++      technology.
++      Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
++      that organization.
++
++      * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
++      between the GARLIC and PolyORB versions of the distributed systems
++      annex.
++      Remove RE_Unbounded_Reclaim_Pool since it is unused.
++
++2004-10-26  Gary Dismukes  <dismukes@gnat.com>
++
++      * gnat1drv.adb: Suppress calling the back end when
++      Frontend_Layout_On_Target is true.
++
++2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
++
++      * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable,
++      Set_Read_Only): New subprograms.
++      These new routines allow the user to set or unset the Owner execute
++      and Owner write permission flags on a file.
++
++      * makegpr.adb, mlib.adb, mlib-prj.adb: Use
++      GNAT.OS_Lib.Set_Executable instead of rolling our own.
++
++2004-10-26  Matthew Gingell  <gingell@gnat.com>
++
++      * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
++
++2004-10-26  Pascal Obry  <obry@gnat.com>
++
++      * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the
++      memory before the faulting page we properly test the process read
++      access for this address using appropriate Win32 routine.
++      (HPUX sections): guard with "__hpux__" instead of "hpux".
++
++2004-10-26  Robert Dewar  <dewar@gnat.com>
++
++      * lib-xref.adb (Generate_Reference): Don't complain about reference to
++      entry parameter if pragma Unreferenced set, since we do not properly
++      handle the case of multiple parameters.
++
++2004-10-26  Vincent Celier  <celier@gnat.com>
++
++      * prj-env.adb: (Contains_ALI_Files): New Boolean function
++      (Ada_Objects_Path.Add): For a library project, add to the object path
++      the library directory only if there is no object directory or if the
++      library directory contains ALI files.
++      (Set_Ada_Paths.Add.Recursive_Add): Ditto
++
++2004-10-26  Vincent Celier  <celier@gnat.com>
++
++      * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
++      extension of library projects.
++
++      * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project
++      path defaults to ".:<prefix>/lib/gnat".
++      (Parse): For an extending all project, allow direct import of a project
++      that is virtually extended.
++
++      * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with
++      the specified name is directly imported, return its ID. Otherwise, if
++      an extension of this project is imported, return the ID of the
++      extension.
++
++2004-10-26  Robert Dewar  <dewar@gnat.com>
++
++      * s-arit64.adb: (Le3): New function, used by Scaled_Divide
++      (Sub3): New procedure, used by Scaled_Divide
++      (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
++      correct more than one instance of failure to propagate carries
++      correctly.
++      (Double_Divide): Handle overflow case of largest negative number
++      divided by minus one.
++
++      * s-arit64.ads (Double_Divide): Document that overflow can occur in
++      the case of a quotient value out of range.
++      Fix comments.
++
++2004-10-26  Robert Dewar  <dewar@gnat.com>
++
++      * s-bitops.adb (Bit_Eq): Remove redundant check.
++
++      * s-bitops.ads: Minor comment updates
++      Change some occurrences of Address to System.Address
++
++      * s-carsi8.ads: Fix minor cut-and-paste error in comments
++
++2004-10-26  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
++      accessibility check to prefix that is a protected operation.
++
++2004-10-26  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
++      empty, post message on stub.
++
++2004-10-26  Ed Schonberg  <schonberg@gnat.com>
++          Javier Miranda  <miranda@gnat.com>
++
++      * sem_ch12.adb (In_Main_Context): Predicate to determine whether the
++      current instance appears within a unit that is directly in the context
++      of the main unit.
++      Used to determine whether the body of the instance should be analyzed
++      immediately after its spec, to make its subprogram bodies available
++      for front-end inlining.
++      (Analyze_Formal_Array_Type): Cleanup condition that checks that range
++      constraint is not allowed on the component type (AARM 12.5.3(3))
++
++2004-10-26  Cyrille Comar  <comar@act-europe.fr>
++
++      * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
++      'Storage_Pool): enhance, document & limit detection of non-sharable
++      internal pools.
++
++      * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
++
++      * s-pooglo.ads: Add more documentation now that this pool is properly
++      documented.
++
++2004-10-26  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
++      or protected type with discriminants, do not constrain the
++      corresponding record type if the subtype declaration has no
++      discriminant constraints. This can be the case in source code, or in
++      the subtype declaration created to rename an actual type within an
++      instantiation.
++
++2004-10-26  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
++      different kind of stub (possibly wrong name for file), do not check
++      for conformance.
++      (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
++      includes call to some function that returns an unconstrained type, do
++      not inline.
++
++2004-10-26  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_elab.adb (Check_Elab_Call): Do not check a call that does not
++      appear in the code for the main unit. Dependencies among units in the
++      context of the main unit are established when those other units are
++      compiled. Otherwise spurious elaboration constraints can generate
++      incorrect elaboration circularities.
++
++2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
++          Ed Schonberg   <schonberg@gnat.com>
++
++      * sem_util.adb (Is_Aliased_View): Defend against the case where this
++      subprogram is called with a parameter that is not an object name. This
++      situation arises for some cases of illegal code, which is diagnosed
++      later, and in this case it is wrong to call Is_Aliased, as that might
++      cause a compiler crash.
++      (Explain_Limited_Type): Refine previous fix to include
++      inherited components of derived types, to provide complete information.
++
++      * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
++      is the prival for a protected object.
++      It is necessary to mark this entity as a variable, in addition to
++      flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
++      modified to avoid checking the Aliased flag on entities that are not
++      objects. (Checking that flag for non-objects is erroneous and could
++      lead to a compiler crash).
++
++2004-10-26  Robert Dewar  <dewar@gnat.com>
++
++      * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if
++      X_Frac = 0.5, then we know that the number X must be positive.
++      (Succ): Remove the same redundant test, and also fix the primary test
++      to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong.
++      Minor reformatting
++      (Decompose): Add fuller comments to spec
++
++2004-10-26  Pascal Obry  <obry@gnat.com>
++
++      * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
++      validity (process must have read access). Set to 0 in all other cases.
++      (STOP_FRAME): Now check for ptr validity to avoid a segmentation
++      violation on Win32.
++      (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
++      segmentation violation.
++
++2004-10-26  Eric Botcazou  <ebotcazou@act-europe.fr>
++
++      * trans.c (call_to_gnu): For an (in-)out parameter passed by reference
++      whose type is a constructed subtype of an aliased object with an
++      unconstrained nominal subtype, convert the actual to the constructed
++      subtype before taking its address.
++
++2004-10-26  Vincent Celier  <celier@gnat.com>
++
++      * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
++      (Is_Path_Name_Case_Sensitive): New function
++
++      * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
++      (Base_Name, Simple_Name, Current_Directory, Compose,
++      Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
++      the result.
++
++2004-10-26  Cyrille Comar    <comar@act-europe.fr>
++          Vasiliy Fofanov  <fofanov@act-europe.fr>
++          Vincent Celier   <celier@gnat.com>
++
++      * gnat_ugn.texi: Generalize "finding memory problems" section into a
++      "memory management issues" section and document some of the useful
++      memory pools provided as part of the GNAT library.
++      Remove "virtual" from declaration of A::method2 in
++      the simple example of Ada/C++ mixed system.
++      Library Projects may be virtually extended: their virtual extensions
++      are not Library Projects.
++      Added section on extending project hierarchies.
++
++2004-10-19  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
++
++      * adaint.c (__gnat_get_libraries_from_registry): Cast value
++      to LPBYTE.
++      (__gnat_portable_spawn): Remove const.
++
++      * mingw32.h (MAXPATHLEN): Check for previous definition.
++
++2004-10-17  Matthias Klose  <doko@debian.org>
++
++      * gnatvsn.ads: Set gnat library version to 4.0.
++
++2004-10-05  Vincent Celier  <celier@gnat.com>
++
++      * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
++
++2004-10-04  Laurent Guerby  <laurent@guerby.net>
++
++      PR ada/15156
++      * Makefile.in: Define and use RANLIB_FLAGS.
++
++2004-10-04  Pascal Obry  <obry@gnat.com>
++
++      * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
++      other x86 platforms).
++
++2004-10-04  Olivier Hainque  <hainque@act-europe.fr>
++
++      * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense
++      in general and triggers stack alignment adjustment for thread entry
++      points on targets where this is necessary.
++
++2004-10-04  Bernard Banner  <banner@gnat.com>
++
++      PR ada/13897
++      * Makefile.in: Add section for powerpc linux
++      Add variant i-vxwork-x86.ads
++
++      * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
++
++2004-10-04  Olivier Hainque  <hainque@act-europe.fr>
++
++      * init.c (__gnat_initialize): Call an Ada subprogram to perform the
++      table registration calls when need be. Ensures no reference to the crt
++      ctors symbol are issued in the SJLJ case, which avoids possible
++      undefined symbol errors in the case of modules to be statically linked
++      with the kernel.
++
++2004-10-04  Javier Miranda  <miranda@gnat.com>
++
++      * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
++      in-line the code corresponding to subprogram Analyze_Actuals. In
++      addition, analyze the actuals only in case of subprogram call.
++
++2004-10-04  Ed Falis  <falis@gnat.com>
++
++      * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
++
++2004-10-04  Sergey Rybin  <rybin@act-europe.fr>
++
++      * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
++      in the documentation.
++
++2004-10-04  Robert Dewar  <dewar@gnat.com>
++
++      * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
++      IF and CASE.
++      (Analyze_Block_Statement): Add circuitry to detect following dead code
++      (Check_Unreachable_Code): Handle case of block exit
++
++2004-10-04  Robert Dewar  <dewar@gnat.com>
++
++      * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
++      (XMatchD): Avoid warning for Logic_Error call
++
++2004-10-04  Robert Dewar  <dewar@gnat.com>
++
++      * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
++      consider expressions buried within a procedure actual to be an actual.
++      This caused some blowups with uses of packed slices within a procedure
++      actual.
++
++2004-10-04  Robert Dewar  <dewar@gnat.com>
++
++      * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
++      longer need to be initialized to zero.
++      (Get_Simple_Init_Val): Modular packed arrays no longer need to be
++      initialized to zero.
++
++      * checks.adb (Expr_Known_Valid): Packed arrays are now always
++      considered valid, even if the representation is modular. That's correct
++      now that we no longer initialize packed modular arrays to zero.
++
++      * exp_dbug.ads: Clarify documentation on handling of PAD and JM
++      suffixes. These are now documented as the only cases in which the
++      debugger ignores outer records.
++      Previously, the spec allowed arbitrary suffixes for this purpose.
++      Change name of LJM to JM for packed array pad records
++      Create separate section on packed array handling, and add a whole new
++      set of comments to this section describing the situation with packed
++      modular types and justification requirements depending on endianness.
++
++2004-10-04  Robert Dewar  <dewar@gnat.com>
++
++      * a-except.adb: Add a comment for last change
++
++      * einfo.ads: Minor spelling correction in comment
++
++      * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
++
++      * sem_ch11.adb: Fix a case of using | instead of \ for continuation
++      messages.
++
++      * sem_util.ads: Minor comment update
++
++2004-10-04  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
++      Inline_Always when in Configurable_Run_Time mode.
++
++      * sem_prag.adb (Process_Convention): If entity is an inherited
++      subprogram, apply convention to parent subprogram if in same scope.
++      (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
++      when in Configurable_Run_Time mode.
++
++2004-10-04  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
++      class_wide type after component list has been inherited.
++
++2004-10-04  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch12.adb (Check_Generic_Actuals): New predicate
++      Denotes_Previous_Actual, to handle properly the case of a private
++      actual that is also the component type of a subsequent array actual.
++      The visibility status of the first actual is not affected when the
++      second is installed.
++      (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
++      make fully recursive the treatment of formals of packages declared
++      with a box.
++      (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
++      the above on exit from an instantiation.
++      (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
++      current instantiation which is now complete.
++      (Analyze_Package_Instantiation): No instantiated body is needed if the
++      main unit is generic. Efficient, and avoid anomalies when a instance
++      appears in a package accessed through rtsfind.
++
++2004-10-04  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
++      do not generate a declaration for a temporary if the call is part of a
++      library-level instantiation.
++
++2004-10-04  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_util.adb (Explain_Limited_Type): Ignore internal components when
++      searching for a limited component to flag.
++
++      * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
++      expansion of Input, to account for the fact that the implicit call
++      generated by the attribute reference must freeze the user-defined
++      stream subprogram. This is only relevant to 'Input, because it can
++      appear in an object declaration, prior to the body of the subprogram.
++
++      * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
++      expansion can proceed and further errors uncovered.
++      (Minor clean up): Fix cases of using | instead of \ for continuation
++      messages.
++
++2004-10-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
++
++      * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
++      (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
++      Use gcc_assert and gcc_unreachable.
++
++      * decl.c (gnat_to_gnu_entity, case object): Check and process a
++      specified alignment before validating size.
++      (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
++      stripped-down declaration for the type of the inner field when making
++      a JM type.
++
++      * utils.c (finish_record_type): Do not compute the size in units
++      incrementally. Instead compute it once for the rep clause case.
++      Use gcc_assert and gcc_unreachable.
++
++2004-10-04  Vincent Celier  <celier@gnat.com>
++
++      * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
++      in file name.
++      (Is_Valid_Path_Name): Take '/' as a directory separator.
++
++2004-10-04  Vincent Celier  <celier@gnat.com>
++
++      * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
++      (Extended_Project) only if Extended_Project is defined, to avoid
++      assertion error.
++      (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
++      resolved path.
++      (Parse_Single_Project): Ditto.
++
++      * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
++      Add_To_Project_Path for virtual projects.
++
++2004-10-04  Vincent Celier  <celier@gnat.com>
++
++      * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
++      mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
++      mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
++      mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
++      parameter Options_2.
++
++      * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
++      Build_Dynamic_Library with an empty Options_2.
++
++      * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
++      default anymore.
++
++      * makegpr.adb (Get_Imported_Directories.add): Remove trailing
++      directory separator, if any.
++      (Gprmake): Do not allow mains on the command line for library projects.
++      Do not attempt to link when the project is a library project.
++      (Library_Opts): New table to store Library_Options.
++      (Build_Library): If Library_Options is specified, pass these options
++      when building a shared library.
++
++2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
++
++      * s-tposen.adb (Service_Entry): The object must be always unlocked at
++      the end of this procedure now that the unlock operation was inserted
++      by the expander.
++
++2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
++
++      * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
++      corresponding to the Preallocated_Stacks flags in System.
++      (Get_Target_Parameters): Including the processing for
++      Preallocated_Stacks.
++
++      * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
++      system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
++      system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
++      system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
++      system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
++      system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
++      system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
++      system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
++      system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
++      system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
++      system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
++      used to signal whether the compiler creates the required stacks and
++      descriptors for the different tasks (when True) or it is done by the
++      underlying operating system at run time (when False).
++      It is initially set to False in all targets.
++
++      * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
++      if it is supported by the target.
++      (Make_Task_Create_Call): Pass the stack address if it has been
++      previously created. Otherwise pass a Null_Address.
++
++      * snames.adb: Add _stack.
++
++      * snames.ads: Add Name_uStack. Required to allow the expander to
++      statically allocated task stacks.
++
++      * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
++      Stack_Address argument.
++      Check that its value is equal to Null_Address because this target does
++      not support the static stack allocation.
++
++2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
++
++      * usage.adb: Change "pragma inline" to "pragma Inline" in information
++      and error messages
++
++2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
++
++      * exp_dist.adb: Split declaration of asynchronous flag out of
++      Add_RACW_Read_Attribute.
++      Minor reformatting for better alignment with PolyORB version.
++      Store the entity for the asynchronous flag of an RACW, rather than the
++      expression, in the asynchronous flags table. This will allow this flag
++      to be used in other subprograms beside Add_RACW_Read_Attribute.
++
++2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
++
++      * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
++      g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
++      g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
++      g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
++      g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads:  Add new
++      sockets constant MSG_NOSIGNAL (Linux-specific).
++      Add new sockets constant MSG_Forced_Flags, list of flags to be set on
++      all Send operations.
++      For Linux, set MSG_NOSIGNAL on all send operations to prevent them
++      from trigerring SIGPIPE.
++      Rename components to avoid clash with Ada 2005 possible reserved
++      word 'interface'.
++      (Check_Selector): When the select system call returns with an error
++      condition, propagate Socket_Error to the caller.
++
++2004-10-01  Jan Hubicka  <jh@suse.cz>
++
++      * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
++
++2004-09-23  Robert Dewar  <dewar@gnat.com>
++
++      PR ada/17540
++      * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
++      instead do this at freeze time (we won't do it if there is an address
++      clause).
++      Change "pragma inline" to "pragma Inline" in information and error
++      messages.
++      Minor reformatting.
++
++      * freeze.adb (Check_Address_Clause): Remove previous change, not the
++      right way of doing things after all.
++      (Freeze_Entity): For object, set Is_Public for imported entities
++      unless there is an address clause present.
++
++2004-09-21  Olivier Hainque  <hainque@act-europe.fr>
++
++      * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
++      dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
++      ensures proper handling of types with rep clauses, which might have
++      their TYPE_SIZE set already.
++
++2004-09-21  Robert Dewar  <dewar@gnat.com>
++
++      * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
++      packed array types in both little- and big-endian cases. This change
++      ensures that we no longer count on the unused bits being initialized
++      for such types (and in particular ensures that equality testing will
++      only read the relevant bits).
++      Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
++      These changes mean that we no longer need to initialize small packed
++      arrays.
++      (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
++      optimization to an LJM field as to its parent field.
++
++      * ada-tree.h, trans.c, utils.c, utils2.c:
++      Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
++
++2004-09-20  Jan Hubicka  <jh@suse.cz>
++
++      * utils.c (gnat_finalize): Remove.
++      (end_subprog_body): Directly call cgraph_finalize_function;
++      do not lower the nested functions.
++
++2004-09-20  Robert Dewar  <dewar@gnat.com>
++
++      PR ada/17540
++      * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
++      if an address clause is present, since that means that the Import
++      should be ignored.
++
++2004-09-20  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * 5tsystem.ads: Removed, no longer used.
++
++2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
++          Zack Weinberg  <zack@codesourcery.com>
++
++      * ada-tree.def: Use tree_code_class enumeration constants
++      instead of code letters.
++      * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
++      Update for new tree-class enumeration constants.
++
++2004-09-17  Vincent Celier  <celier@gnat.com>
++
++      * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
++      capabilities of the general project manager.
++
++2004-09-09  Vincent Celier  <celier@gnat.com>
++
++      * a-direct.ads: Add pragma Ada_05
++      (Directory_Entry_Type): Give default value to component Kind to avoid
++      not initialized warnings.
++
++      * a-direct.adb (Current_Directory): Remove directory separator at the
++      end.
++      (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
++      an existing directory.
++      (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
++      (Size (String)): Function C_Size returns Long_Integer, not File_Size.
++      Convert the result to File_Size.
++
++      * prj.ads: (Project_Error): New exception
++
++      * prj-attr.adb: Except in procedure Initialize, Fail comes from
++      Prj.Com, not from Osint.
++      (Attrs, Package_Attributes): Tables moved to private part of spec
++      (Add_Attribute, Add_Unknown_Package): Moved to new child package
++      Prj.Attr.PM.
++      (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
++      Prj.Project_Error after call to Fail.
++      (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
++      Fail. Check that package name is not already in use.
++
++      * prj-attr.ads: Comment updates to indicate that all subprograms may be
++      used by tools, not only by the project manager, and to indicate that
++      exception Prj.Prj_Error may be raised in case of problem.
++      (Add_Unknown_Package, Add_Attribute): Moved to new child package
++      Prj.Attr.PM.
++      (Attrs, Package_Attributes): Table instantiations moved from the body to
++      the private part to be accessible from Prj.Attr.PM body.
++
++      * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
++      from new package Prj.Attr.PM.
++      (Parse_Attribute_Declaration): Call Add_Attribute from new package
++      Prj.Attr.PM.
++
++      * Makefile.in: Add prj-attr-pm.o to gnatmake object list
++
++      * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
++      instead of Elaboration_Checks).
++
++      * a-calend.adb: Minor reformatting
++
++2004-09-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * gigi.h (maybe_pad_type): New declaration.
++      (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
++
++      * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
++
++      * cuintp.c: Convert to use buildN.
++
++      * decl.c (maybe_pad_type): No longer static.
++      (gnat_to_gnu_entity, case E_Function): Handle case of returning by
++      target pointer.
++      Convert to use buildN.
++
++      * trans.c (call_to_gnu): Add arg GNU_TARGET; support
++      TYPE_RETURNS_BY_TARGET_PTR_P.  All callers changed.
++      (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
++      RHS.
++      (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
++      (gnat_gimplify_expr, case ADDR_EXPR): New case.
++      Convert to use buildN.
++
++      * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
++      TREE_READONLY for const.
++      Convert to use buildN.
++
++      * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
++      (create_var_decl): Refine when TREE_STATIC is set.
++      Convert to use buildN.
++
++2004-09-09  Gary Dismukes  <dismukes@gnat.com>
++
++      * gnat_ugn.texi: Delete text relating to checking of ali and object
++      consistency.
++
++      * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
++      routines.
++
++2004-09-09  Jose Ruiz  <ruiz@act-europe.fr>
++
++      * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
++      pragmas recognized by GNAT.
++
++      * gnat_rm.texi: Document pragma Detect_Blocking.
++
++      * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
++      raise Program_Error if called from a protected operation.
++
++      * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
++      the protected action nesting level.
++      (Lock_Read_Only): When pragma Detect_Blocking is active increase the
++      protected action nesting level.
++      (Unlock): When pragma Detect_Blocking is active decrease the protected
++      action nesting level.
++
++      * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
++      Protected_Action_Nesting.
++
++      * s-taskin.ads: Adding the field Protected_Action_Nesting to the
++      Common_ATCB record. It contains the dynamic level of protected action
++      nesting for each task. It is needed for checking whether potentially
++      blocking operations are called from protected operations.
++      (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
++      Detect_Blocking is active or not in the partition.
++
++      * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
++      raise Program_Error if called from a protected operation.
++      (Task_Entry_Call): When pragma Detect_Blocking is active, raise
++      Program_Error if called from a protected operation.
++      (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
++      Program_Error if called from a protected operation.
++
++      * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
++      raise Program_Error if called from a protected operation.
++
++      * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
++      raise Program_Error if called from a protected operation, and increase
++      the protected action nesting level.
++      (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
++      Program_Error if called from a protected operation, and increase the
++      protected action nesting level.
++      (Unlock_Entries): When pragma Detect_Blocking is active decrease the
++      protected action nesting level.
++
++      * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
++      raise Program_Error if called from a protected operation, and increase
++      the protected action nesting level.
++      (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
++      Program_Error if called from a protected operation, and increase the
++      protected action nesting level.
++      (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
++      raise Program_Error if called from a protected operation.
++      (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
++      active, raise Program_Error if called from a protected operation.
++      (Unlock_Entry): When pragma Detect_Blocking is active decrease the
++      protected action nesting level.
++
++      * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
++      insertion of the statement raising Program_Error. The run time
++      contains the required machinery for handling that.
++
++      * sem_util.ads: Change comment associated to procedure
++      Check_Potentially_Blocking_Operation.
++      This procedure does not insert a call for raising the exception because
++      that is currently done by the run time.
++
++      * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
++
++      * init.c: Add the global variable __gl_detect_blocking that indicates
++      whether pragma Detect_Blocking is active (1) or not (0). Needed for
++      making the pragma available at run time.
++      (__gnat_set_globals): Pass and update the detect_blocking parameter.
++
++      * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
++      pragma Detect_Blocking is active.
++
++      * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
++
++      * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
++      DB is found in the ali file. Any unit compiled with pragma
++      Detect_Blocking active forces its effect in the whole partition.
++
++      * a-retide.adb (Delay_Until): Raise Program_Error if pragma
++      Detect_Blocking is active and delay is called from a protected
++      operation.
++
++      * bindgen.adb (Gen_Adainit_Ada): When generating the call to
++      __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
++      Detect_Blocking is active (0 otherwise).
++      (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
++      as Detect_Blocking parameter if pragma Detect_Blocking is active (0
++      otherwise).
++
++2004-09-09  Thomas Quinot  <quinot@act-europe.fr>
++
++      * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
++      GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
++      package.
++
++      * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
++      (Register_Receiving_Stub): Add Subp_Info formal parameter.
++      Update API in placeholder implemetation of s-parint to reflect changes
++      in distribution runtime library.
++
++      * sem_ch3.adb (Expand_Derived_Record): Rename to
++      Expand_Record_Extension.
++
++      * sem_disp.adb (Check_Controlling_Formals): Improve error message for
++      primitive operations of potentially distributed object types that have
++      non-controlling anonymous access formals.
++
++      * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
++      subprogram.
++      New implementation of expansion for remote access-to-subprogram types,
++      based on the RACW infrastructure.
++      This version of sem_dist is compatible with PolyORB/DSA as well as
++      GLADE.
++
++      * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
++      Asynchrronous that applies to a remote access-to-subprogram type, mark
++      the underlying RACW type as asynchronous.
++
++      * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
++       __gnat_using_gnu_linker to 1.
++
++      * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
++      g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
++      GNAT.Perfect_Hash_Generators, and remove the empty
++      GNAT.Perfect_Hash package.
++
++      * atree.adb: Minor reformatting
++
++      * exp_ch3.adb (Expand_Derived_Record): Rename to
++      Expand_Record_Extension.
++      (Build_Record_Init_Proc.Build_Assignment): The default expression in
++      a component declaration must remain attached at that point in the
++      tree so New_Copy_Tree copies it if the enclosing record type is derived.
++      It is therefore necessary to take a copy of the expression when building
++      the corresponding assignment statement in the init proc.
++      As a side effect, in the case of a derived record type, we now see the
++      original expression, without any rewriting that could have occurred
++      during expansion of the ancestor type's init proc, and we do not need
++      to go back to Original_Node.
++
++      * exp_ch3.ads (Expand_Derived_Record): Rename to
++      Expand_Record_Extension.
++
++      * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
++      Returns the RACW type used to implement a remote access-to-subprogram
++      type.
++      (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
++      New subprograms. Used to create a proxy tagged object for a remote
++      subprogram. The proxy object is used as the designated object
++      for RAS values on the same partition (unless All_Calls_Remote applies).
++      (Build_Get_Unique_RP_Call): New subprogram. Build a call to
++      System.Partition_Interface.Get_Unique_Remote_Pointer.
++      (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
++      Renamed from Add_RAS_*_Attribute.
++      (Add_Receiving_Stubs_To_Declarations): Generate a table of local
++      subprograms.
++      New implementation of expansion for remote access-to-subprogram types,
++      based on the RACW infrastructure.
++
++      * exp_dist.ads (Copy_Specification): Update comment to note that this
++      function can copy the specification from either a subprogram
++      specification or an access-to-subprogram type definition.
++
++2004-09-09  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
++      in an instance, between an explicit subprogram an one inherited from a
++      type derived from an actual.
++
++      * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
++      add a polling call if the subprogram is to be inlined by the back-end,
++      to avoid repeated calls with multiple inlinings.
++
++      * checks.adb (Apply_Alignment_Check): If the expression in the address
++      clause is a call whose name is not a static entity (e.g. a dispatching
++      call), treat as dynamic.
++
++2004-09-09  Robert Dewar  <dewar@gnat.com>
++
++      * g-trasym.ads: Minor reformatting
++
++      * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
++      packed arrays, since unused bits are expected to be zero for a
++      comparison.
++
++2004-09-09  Eric Botcazou  <ebotcazou@act-europe.fr>
++
++      * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
++      comment.
++
++2004-09-09  Pascal Obry  <obry@gnat.com>
++
++      * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
++      enable map file generation. Add the right option to generate the map
++      file if Map_File is set to True.
++
++      * gnatdll.adb (Gen_Map_File): New variable.
++      (Syntax): Add info about new -m (Map_File) option.
++      (Parse_Command_Line): Add support for -m option.
++      (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
++      Minor reformatting.
++
++2004-09-09  Laurent Pautet  <pautet@act-europe.fr>
++
++      * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
++      new gnatdist implementation.
++      Define a subpackage isolating the output routines specific to this
++      verbose mode.
++
++2004-09-09  Joel Brobecker  <brobecker@gnat.com>
++
++      * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
++
++      * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
++
++2004-09-09  Cyrille Comar  <comar@act-europe.fr>
++
++      * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
++      internal unit.
++
++      * opt.ads: Add Ada_Version_Runtime constant used to decide which
++      version of the language is used to compile the run time.
++
++2004-09-09  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * sem_util.adb (Requires_Transient_Scope): Re-enable handling
++      of variable length temporaries for function return now that the
++      back-end and gigi support it.
++
++2004-09-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
++
++      * trans.c (struct stmt_group): Delete field GLOBAL.
++      (gnat_init_stmt_group): Do not initialize it.
++      (call_to_gnu): Use save_expr, not protect_multiple_eval.
++      (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
++      (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
++      (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
++      (start_stmt_group): Likewise.
++      (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
++
++      * utils2.c (ggc.h): Include.
++      (build_call_raise): Call build_int_cst, not build_int_2.
++
++      * utils.c (gnat_init_decl_processing): Fix arg to
++      build_common_tree_nodes.
++      (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
++      (gnat_define_builtin): Set built_in_decls.
++      (init_gigi_decls): Call build_int_cst, not build_int_2.
++
++      * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
++      (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
++      (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
++      (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
++      SET_TYPE_MODULE): Use them.
++      (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
++      (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
++      (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
++      SET_TYPE_ADA_SIZE): Likewise.
++      (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
++      (DECL_CONST_CORRESPONDING_VAR,
++      SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
++      (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
++      (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
++      (TYPE_RM_SIZE_NUM): New macro.
++      (TYPE_RM_SIZE): Modified to use above.
++
++      * cuintp.c: (build_cst_from_int): New function.
++      (UI_To_gnu): Use it.
++
++      * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
++      (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
++      (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
++      MIN_EXPR for the size, copy it into new.
++
++2004-09-01  Robert Dewar  <dewar@gnat.com>
++
++      * exp_ch6.adb (Expand_Call): Properly handle validity checks for
++      packed indexed component where array is an IN OUT formal. This
++      generated garbage code previously.
++
++      * gnat_ugn.texi: Document -fverbose-asm
++
++      * gnat-style.texi: Minor updates (note that boolean constants and
++      variables are joined with AND/OR rather than short circuit forms).
++
++2004-09-01  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
++      it is an upward conversion of an untagged type with no representation
++      change.
++
++2004-09-01  Thomas Quinot  <quinot@act-europe.fr>
++
++      * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
++      System.Partition_Interface.
++
++      * checks.adb (Apply_Access_Checks): Do not generate checks when
++      expander is not active (but check for unset reference to prefix of
++      dereference).
++
++      * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
++      pragma Debug as an if statement with a constant condition, for
++      consistent treatment of entity references contained within the
++      enclosed procedure call.
++
++2004-09-01  Vincent Celier  <celier@gnat.com>
++
++      * bindgen.adb: (Set_EA_Last): New procedure
++      (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
++      Set_EA_Last.
++      (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
++      (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
++      linked without errors.
++      (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
++      ST and EA.
++      (Gen_Exception_Table_C): Correct same bugs
++
++      * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
++
++      * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
++      on Windows, make sure that the drive letter is in upper case.
++
++      * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
++      Windows, when the drive letter is added and Case_Sensitive is True, the
++      drive letter is forced to upper case.
++
++      * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
++      to Options_2 for the call to MLib.Utl.Gcc.
++
++      * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
++      directory separator when defining BASE_DIR.
++
++2004-09-01  Pascal Obry  <obry@gnat.com>
++
++      * gprcmd.adb (Extend): Do not output trailing directory separator. This
++      is not needed and it confuses Windows GNU/make which does not report
++      directory terminated by a slash as a directory.
++      (gprcmd): Idem for "pwd" internal command.
++
++      * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
++      target names rewrite to fix regressions with recent version of
++      GNU/make. Starting with GNU/make 3.80 the pipe character was not
++      handled properly anymore.
++
++2004-09-01  Andreas Schwab  <schwab@suse.de>
++
++      * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
++      * raise.c [!IN_RTS]: Undef abort.
++
++2004-08-27  Nathan Sidwell  <nathan@codesourcery.com>
++
++      * utils2.c (build_allocator): Use ssize_int.
++
++      * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
++
++2004-08-27  Andreas Schwab  <schwab@suse.de>
++
++      * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
++
++2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
++          Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
++
++2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
++
++      * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
++      * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
++      * utils.c (init_gigi_decls): Likewise.
++      * utils2.c (build_call_raise, build_allocator): Likewise.
++
++2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
++
++      * utils.c (gnat_init_decl_processing): Adjust
++      build_common_tree_nodes call.
++
++2004-08-20  Nathan Sidwell  <nathan@codesourcery.com>
++
++      * utils2.c (build_allocator): Use build_int_cst for negative
++      size types.
++
++2004-08-18  Richard Henderson  <rth@redhat.com>
++
++      * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
++
++2004-08-16  Nathan Sidwell  <nathan@codesourcery.com>
++
++      * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
++      call.s
++      * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
++      (gnat_to_gnu): Likewise.
++
++2004-08-16  Pascal Obry  <obry@gnat.com>
++
++      * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
++      backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
++      option and not mdll anymore. Update comment.
++
++2004-08-16  Pascal Obry  <obry@gnat.com>
++
++      * bld.adb (Put_Include_Project): Properly handle directory separators
++      on Windows.
++
++2004-08-16  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
++      decreasing the number of allocated junk nodes while searching for the
++      appropriate subprogram.
++
++2004-08-15  Nathan Sidwell  <nathan@codesourcery.com>
++
++      * cuintp.c (UI_To_gnu): Use build_int_cst..
++      * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
++      * utils.c (init_gigi_decls): Likewise.
++      * utils2.c (build_call_raise): Likewise.
++
++2004-08-13  Olivier Hainque  <hainque@act-europe.fr>
++
++      * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
++      for a global aliased object with a variable size and an unconstrained
++      nominal subtype, pretend there is no initializer if the one we have is
++      incomplete, and avoid referencing an inexistant component in there. The
++      part we have will be rebuilt anyway and the reference may confuse
++      further operations.
++
++2004-08-13  Thomas Quinot  <quinot@act-europe.fr>
++
++      * einfo.ads: Minor reformatting
++
++      * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
++      restrictions in the ALI if we only want to warn about violations.
++
++2004-08-13  Vincent Celier  <celier@gnat.com>
++
++      * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
++      when creating a new Unit_Record in table Units.
++
++      * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
++      that are violated, if any.
++
++      * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
++      add directory separator if path already ends with a directory separator.
++
++2004-08-13  Ed Schonberg  <schonberg@gnat.com>
++
++      * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
++      unit, this is an attempt to inline a construct that is not available in
++      the current restricted mode, so abort rather than trying to continue.
++
++      * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
++      discriminants that rename those of the parent, recover names of
++      original discriminants for the constraint on the full view of the
++      parent.
++      (Complete_Private_Subtype): Do not create a subtype declaration if the
++      subtype is an itype.
++
++      * gnat_rm.texi: Added section on implementation of discriminated
++      records with default values for discriminants.
++
++2004-08-13  Ed Schonberg  <schonberg@gnat.com>
++
++      PR ada/15601
++      * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
++      the second operand is overloaded.
++
++2004-08-10  Richard Henderson  <rth@redhat.com>
++
++      * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
++      add __builtin_alloca.
++
++2004-08-10  Richard Henderson  <rth@redhat.com>
++
++      * config-lang.in (boot_language): Yes.
++
++2004-08-09  Thomas Quinot  <quinot@act-europe.fr>
++
++      * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
++      from complaining on potential uninitialized reference.
++      Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
++      new specification and test explicitly for non-zero return value.
++
++      * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
++      returning C.int, to avoid using a derived boolean type.
++
++      * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
++      Duplicate_Subexpr_No_Checks in preference to direct use of
++      Remove_Side_Effects and New_Copy_Tree.
++      Clear Comes_From_Source on prefix of 'Size attribute reference.
++
++      * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
++      g-socthi-vxworks.adb: Change calls to
++      GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
++      and test explicitly for non-zero return value.
++
++      * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
++      (Is_Socket_In_Set): Declare imported function as returning C.int, to
++      avoid using a derived boolean type.
++
++2004-08-09  Albert Lee  <lee@gnat.com>
++
++      * system-irix-n32.ads: Refine tasking priority constants for IRIX.
++
++2004-08-09  Pascal Obry  <obry@gnat.com>
++
++      * gnat_ugn.texi: Document new way to build DLLs on Windows using
++      GCC's -shared option.
++
++      * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
++      Options_2 parameter (options put after object files).
++
++2004-08-09  Olivier Hainque  <hainque@act-europe.fr>
++
++      * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
++      ignore overflows on low and high bounds of an index to also account for
++      differences in signedness between sizetype and gnu_index_subtype.
++      These are as legitimate as the ones caused by a lower TYPE_PRECISION
++      on sizetype.
++
++2004-08-09  Robert Dewar  <dewar@gnat.com>
++
++      * s-solita.ads, s-solita.adb: Minor reformatting
++
++      * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
++      Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
++      obsolescent section
++      Add note that No_Implicit_Conditionals does not suppress
++      run time constraint checks.
++
++      * vms_conv.ads: Minor reformatting
++
++      * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
++      and necessary for following change).
++      (Mark): Return new format Mark_Id containing sec stack address
++      (Release): Use sec stack address from Mark_Id avoiding Self call
++
++      * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
++      pointer (cleanup and necessary for following change).
++      Define Mark_Id as record containing address of secondary stack, that way
++      Release does not need to find the stack again, decreasing the number of
++      calls to Self and improving efficiency.
++
++      * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
++
++      * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
++      case variable into the individual case branches when possible.
++
++      * sem_ch11.adb: Minor reformatting
++
++      * prj.ads: Correct spelling of suffixs
++
++      * prj-nmsc.adb: Minor reformatting
++      Correct spelling suffixs throughout (also in identifiers)
++
++      * freeze.adb: Minor spelling correction
++
++      * exp_ch2.adb: Cleanups to handling of Current_Value
++      (no functional effect).
++
++      * bld.adb: Correct spelling of suffixs
++
++      * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
++
++2004-08-09  Ed Schonberg  <schonberg@gnat.com>
++
++      PR ada/15408
++      * sem_ch7.adb (Install_Private_Declarations): In the body of the
++      package or of a child, private entities are both immediately_visible
++      and not hidden.
++
++2004-08-09  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
++      there are no range checks on the value of the literal.
++
++      * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
++      wrapped is the triggering alternative of an asynchronous select, action
++      statements mustbe inserted before the select itself.
++
++      * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
++      case where the prefix is a protected function call.
++      (Resolve_Attribute, case 'Access): The attribute reference on a
++      subprogram is legal in a generic body if the subprogram is declared
++      elsewhere.
++
++2004-08-09  Vincent Celier  <celier@gnat.com>
++
++      * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
++      languages, otherwise building the library may fail with unresolved
++      symbols.
++      (Compile_Sources): Do not build libraries if -c switch is used
++
++      * gnatlink.adb (Process_Args): New switches -M and -Mmap
++      (Write_Usage): If map file creation is supported, output new switches
++      -M and -Mmap.
++      (Gnatlink): When -M is specified, add the necessary switch(es) to the
++      gcc call, when supported.
++
++      * Makefile.in: Added indepsw.o to the object list for gnatlink
++      Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
++
++      * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
++      indepsw.adb, indepsw.ads: New files.
++
++2004-08-09  Bernard Banner  <banner@gnat.com>
++
++      * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
++
++      * Makefile.in: add section for vxworks x86
++
++2004-08-09  Hristian Kirtchev  <kirtchev@gnat.com>
++
++      * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
++      per-object constrained components where the discriminant is of an
++      Access type.
++      (Build_Record_Init_Proc): Add condition to prevent the inheritance of
++      the parent initialization procedure for derived Unchecked_Unions.
++      Instead, derived Unchecked_Unions build their own initialization
++      procedure.
++      (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
++      Check the body of the subprogram for details.
++      (Freeze_Record_Type): Prevent the inheritance of discriminant checking
++      functions for derived Unchecked_Union types by introducing a condition.
++      Allow the creation of TSS equality functions for Unchecked_Unions.
++      (Make_Eq_Case): Rename formal parameter Node to E in function signature.
++      Add formal parameter Discr to function signature. Discr is used to
++      control the generated case statement for Unchecked_Union types.
++      (Make_Eq_If): Rename formal parameter Node to E in function signature.
++
++      * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
++      Unchecked_Unions.
++      Check the body of the subprogram for details.
++      (Expand_Composite_Equality): Augment composite type equality to include
++      correct handling of Unchecked_Union components.
++      (Expand_N_In): Add condition to detect illegal membership tests when the
++      subtype mark is a constrained Unchecked_Union and the expression lacks
++      inferable discriminants, and build a Raise_Program_Error node.
++      (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
++      to detect types that contain components of unconstrained Unchecked_Union
++      subtype. Add condition to detect equality between types that have an
++      unconstrained Unchecked_Union component, and build a Raise_Program_Error
++      node. Add condition to detect equality between Unchecked_Union types
++      that lack inferable discriminants, and build a Raise_Program_Error node.
++      Otherwise build a TSS equality function call.
++      (Expand_N_Type_Conversion): Add condition to detect illegal conversions
++      from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
++      with the operand lacking inferable discriminants, and build a Raise_
++      Program_Error node.
++      (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
++      composite equality.
++      (Has_Inferable_Discriminants): Implement new predicate for objects and
++      expressions of Unchecked_Union type. Check the body of subprogram for
++      details.
++      (Has_Unconstrained_UU_Components): Add function
++      Component_Is_Unconstrained_UU. It is used to detect whether a single
++      component is of an unconstrained Unchecked_Union subtype. Add function
++      Variant_Is_Unconstrained_UU. It is used to detect whether a single
++      component inside a variant is of an unconstrained Unchecked_Union type.
++
++      * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
++      inferred discriminant values. Add condition to generate a case
++      statement with an inferred discriminant as the switch.
++      (Make_Component_List_Assign): Introduce a Boolean flag that determines
++      the behaviour of the subprogram in the presence of an Unchecked_Union.
++      Add condition to trigger the usage of the inferred discriminant value
++      as the generated case statement switch.
++      (Make_Field_Assign): Introduce a Boolean flag that determines the
++      behaviour of the subprogram in the presence of an Unchecked_Union. Add
++      condition to trigger the usage of the inferred discriminant value as
++      the right-hand side of the generated assignment.
++
++      * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
++      parameter generation when dealing with Unchecked_Unions.
++
++      * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
++      checks for Unchecked_Unions.
++
++      * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
++
++      * exp_attr.adb (Expand_N_Attribute_Reference): Produce
++      Raise_Program_Error nodes for the execution of Read and Write
++      attributes of Unchecked_Union types and the execution of Input and
++      Output attributes of Unchecked_Union types that lack default
++      discriminant values.
++
++      * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
++      Unchecked_Union. Add procedure Check_Component. It is used to inspect
++      per-object constrained components of Unchecked_Unions for being
++      Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
++      check individual components withing a variant.
++
++      * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
++      comparison of Unchecked_Unions.
++      (Resolve_Equality_OP): Remove guard that prevents equality between
++      Unchecked_Unions.
++
++      * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
++      of component subtypes for Unchecked_Union components.
++      (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
++      since it is the actual subtype.
++
++      * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
++      pass of Unchecked_Union subtypes as generic actuals to formal types
++      that lack known_discriminant_parts or that are derived Unchecked_Union
++      types, and do nothing. In any other case, produce an error message.
++
++      * sem_ch3.adb (Analyze_Component_Declaration): Add function
++      Contains_POC. It determines whether a constraint uses the discriminant
++      of an enclosing record type.
++      Add condition to detect per-object constrained component and set the
++      appropriate flag.
++      (Derived_Type_Declaration): Remove guard that prevents derivation from
++      Unchecked_Union types.
++      (Process_Subtype): Remove quard that prevents the creation of Unchecked_
++      Union subtypes.
++
++      * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
++      references to Unchecked_Union discriminants.
++
++      * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
++      formal generation when dealing with Unchecked_Unions.
++      (Set_Actual_Subtypes): Add condition to prevent generation of actual
++      subtypes for Unchecked_Unions.
++
++      * sem_ch7.adb (Analyze_Package_Specification): Add procedure
++      Inspect_Unchecked_Union_Completion. It is used to detect incorrect
++      completions of discriminated partial views by Unchecked_Unions and
++      produce an error message.
++
++2004-08-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * trans.c (struct stmt_group): New field, GLOBAL.
++      (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
++      (struct elab_info): New struct.
++      (elab_info_list, gnu_elab_proc_stack): New variables.
++      (Compilation_Unit_to_gnu): New procedure.
++      (gigi): Call it and also handle elaboration procs we've saved.
++      (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
++      global field from parent.
++      (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
++      (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
++      (start_stmt_group): Initialize global field from parent.
++      (add_decl_expr): Set to global for current statement group.
++      (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
++      post.
++
++      * utils.c (global_bindings_p): True when no current_function_decl; no
++      longer check current_binding_level.
++
++2004-08-09  Ben Brosgol  <brosgol@gnat.com>
++
++      * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
++      choice.
++
++      * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
++
++2004-08-06  Andreas Schwab  <schwab@suse.de>
++
++      * utils.c (gnat_define_builtin): Remove second parameter of
++      make_decl_rtl.
++      (begin_subprog_body): Likewise.
++
++2004-07-26  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * sem_util.adb (Requires_Transient_Scope): Temporarily disable
++      optimization, not supported by the tree-ssa back-end.
++
++2004-07-26  Olivier Hainque  <hainque@act-europe.fr>
++
++      * s-mastop-irix.adb: Update comments.
++
++      * a-except.adb (Exception_Information): Raise Constraint_Error if
++      exception Id is Null_Id.
++      This is required behavior, which is more reliably and clearly checked
++      at the top level interface level.
++
++2004-07-26  Javier Miranda  <miranda@gnat.com>
++
++      * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
++      call if a component has no default_expression and the box is used.
++
++      * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
++      default_expression and you use box, it behaves as if you had declared a
++      stand-alone object.
++      (Resolve_Record_Aggregate): If a component has no default_expression and
++      you use box, it behaves as if you had declared a stand-alone object.
++
++      * sem_ch10.adb (Install_Siblings): Do not make visible the private
++      entities of private-with siblings.
++
++2004-07-26  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
++      for a component of an itype, set the parent pointer for analysis,
++      there is no list in which to insert it.
++
++      * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
++      bona-fide renamings, not for inherited operations.
++
++      * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
++      actual for a formal that is an access parameter, create local
++      finalization list even if the expression is not an aggregate.
++
++2004-07-26  Ed Schonberg  <schonberg@gnat.com>
++
++      PR ada/16213
++      * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
++      Diagnose properly illegal subprogram renamings that are library units.
++
++2004-07-26  Ed Schonberg  <schonberg@gnat.com>
++
++      PR ada/15588
++      * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
++      conversion rewritten as an unchecked conversion, check that original
++      expression is a variable.
++
++      * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
++      unchecked_conversion, create new node rather than rewriting in place,
++      to preserve original construct.
++
++2004-07-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * gigi.h (gnat_expand_body): Deleted.
++
++      * Make-lang.in: (trans.o): Depends on function.h.
++
++      * misc.c: (gnat_expand_body): Moved to here.
++
++      * trans.c (gnat_expand_body_1): Deleted.
++      (gnat_expand_body): Moved from here.
++      (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
++      (add_stmt): Check for marked visited with global_bindings_p.
++      (gnat_gimplify_expr, case COMPONENT_REF): New case.
++      (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
++
++      * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
++      VIEW_CONVERT_EXPR if not operation type.
++
++      * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
++      fat pointer.
++
++      * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
++      changes: reformatting of negation operators, removing unneeded
++      inequality comparison with zero, converting equality comparisons with
++      zero to negations, changing int/0/1 to bool/false/true, replace calls
++      to gigi_abort with abort, and various other similar changes.
++
++2004-07-26  Vincent Celier  <celier@gnat.com>
++
++      * gnatcmd.adb (GNATCmd): Add processing for new built-in command
++      "setup".
++
++      * make.adb (Gnatmake): Fail when a library is not present and there is
++      no object directory.
++
++      * mlib-prj.adb (Check_Library): No need to check if the library needs
++      to be rebuilt if there is no object directory, hence no object files
++      to build the library.
++
++      * opt.ads (Setup_Projects): New Boolean flag.
++
++      * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
++      Location.
++      Create directory when Kind /= "" and in "gnat setup". Report error if
++      directory cannot be created.
++      (Ada_Check): Create library interface copy dir if it does not exist
++      and we are in "gnat setup".
++      (Find_Sources): No error if in "gnat setup" and no Ada sources were
++      found.
++      (Language_Independent_Check): Create object directory, exec directory
++      and/or library directory if they do not exist and we are in
++      "gnat setup".
++
++      * vms_conv.ads: (Command_Type): New command Setup.
++
++      * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
++
++      * vms_data.ads: Add qualifiers/switches for new built-in command
++      "setup".
++
++2004-07-25  Richard Henderson  <rth@redhat.com>
++
++      * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
++      DECL_IGNORED_P on RESULT_DECL.
++
++2004-07-20  Olivier Hainque  <hainque@act-europe.fr>
++
++      * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
++      allocation and potentially overflowing update with
++      Tailored_Exception_Information. Use the sec-stack free procedural
++      interface to output Exception_Information instead.
++
++      * a-except.adb (To_Stderr): New subprogram for character, and string
++      version moved from a-exextr to be visible from other separate units.
++      (Tailored_Exception_Information): Remove the procedural version,
++      previously used by the default Last_Chance_Handler and not any more.
++      Adjust various comments.
++
++      * a-exexda.adb: Generalize the exception information procedural
++      interface, to minimize the use of secondary stack and the need for
++      local buffers when the info is to be output to stderr:
++      (Address_Image): Removed.
++      (Append_Info_Character): New subprogram, checking for overflows and
++      outputing to stderr if buffer to fill is of length 0.
++      (Append_Info_String): Output to stderr if buffer to fill is of length 0.
++      (Append_Info_Address, Append_Info_Exception_Name,
++      Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
++      Append_Info_Basic_Exception_Traceback,
++      Append_Info_Exception_Information): New subprograms.
++      (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
++      (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
++      Exception_Info_Maxlength, Exception_Name_Length,
++      Exception_Message_Length): New subprograms.
++      (Exception_Information): Use Append_Info_Exception_Information.
++      (Tailored_Exception_Information): Use
++      Append_Info_Basic_Exception_Information.
++      Export services for the default Last_Chance_Handler.
++
++      * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
++      other separate units.
++
++2004-07-20  Vincent Celier  <celier@gnat.com>
++
++      * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
++
++2004-07-20  Ed Schonberg  <schonberg@gnat.com>
++
++      * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
++      emit itype references for the designated types of component types that
++      are declared outside of the full record declaration, and that may
++      denote a partial view of that record type.
++
++2004-07-20  Ed Schonberg  <schonberg@gnat.com>
++
++      PR ada/15607
++      * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
++      which is the designated type in an access component declaration, to the
++      list of incomplete dependents of the parent type, to avoid elaboration
++      issues with out-of-scope subtypes.
++      (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
++      full view of the parent.
++
++2004-07-20  Ed Schonberg  <schonberg@gnat.com>
++
++      PR ada/15610
++      * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
++      entities that are hidden, such as references to generic actuals
++      outside an instance.
++
++2004-07-20  Javier Miranda  <miranda@gnat.com>
++
++      * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
++      support to the new notation.
++      (Analyze_Selected_Component): Add call to Try_Object_Operation.
++
++2004-07-20  Jose Ruiz  <ruiz@act-europe.fr>
++
++      * s-taprob.adb: Adding the elaboration code required for initializing
++      the tasking soft links that are common to the full and the restricted
++      run times.
++
++      * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
++      restricted run time has been moved to the package
++      System.Soft_Links.Tasking.
++
++      * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
++      restricted run time has been moved to the package
++      System.Soft_Links.Tasking.
++
++      * Makefile.rtl: Add entry for s-solita.o in run-time library list.
++
++      * s-solita.ads, s-solita.adb: New files.
++
++2004-07-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
++      Case_Statement_to_gnu): Split off from gnat_to_gnu.
++      (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
++      Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
++      Exception_Handler_to_gnu_zcx): Likewise.
++
++2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
++
++      * gigi.h (builtin_function): Declare.
++
++2004-07-15  Robert Dewar  <dewar@gnat.com>
++
++      * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
++      reformatting
++
++      * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
++      access values as an example of a warning.
++
++      * gnat_rm.texi: Document new attribute Has_Access_Values
++
++      * gnat-style.texi: Document that box comments belong on nested
++      subprograms
++
++      * sem_util.ads (Has_Access_Values): Improved documentation
++
++      * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
++
++      * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
++      (Process_Interface_Name): Call to this new procedure
++      (Set_Extended_Import_Export_External_Name): Call to this new procedure
++
++      * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
++
++      * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
++
++      * einfo.ads: Minor comment typo fixed
++
++2004-07-15  Jose Ruiz  <ruiz@act-europe.fr>
++
++      * snames.adb: Add _atcb.
++
++      * snames.ads: Add Name_uATCB.
++
++      * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
++      (in the expanded code) when using the restricted run time.
++
++      * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
++      a in parameter in order to allow ATCBs to be preallocated (in the
++      expanded code).
++
++      * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
++      order to allow ATCBs to be preallocated. In case of error, the ATCB is
++      deallocated in System.Tasking.Stages.
++
++      * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
++      order to allow ATCBs to be preallocated.
++
++      * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
++      here. It was previously done in Initialize_ATCB.
++
++      * rtsfind.ads: Make the Ada_Task_Control_Block visible.
++
++      * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
++      Restricted run time.
++
++      * exp_ch3.adb: When using the Restricted run time, pass the
++      preallocated Ada_Task_Control_Block when creating a task.
++
++2004-07-15  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_util.adb (Normalize_Actuals): If there are no actuals on a
++      function call that is itself an actual in an enclosing call, diagnose
++      problem here rather than assuming that resolution will catch it.
++
++      * sem_ch7.adb (Analyze_Package_Specification): If the specification is
++      the local copy of a generic unit for a formal package, and the generic
++      is a child unit, install private part of ancestors before compiling
++      private part of spec.
++
++      * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
++      use scope entities rather than tree structures, to handle properly
++      parent units that are instances rewritten as bodies for inlining
++      purposes.
++
++      * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
++      Remove_Parents): Handle properly a parent unit that is an
++      instantiation, when the unit has been rewritten as a body for inlining
++      purposes.
++
++      * par.adb (Goto_List): Global variable to collect goto statements in a
++      given unit, for use in detecting natural loops.
++
++      * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
++      use in detecting natural loops.
++
++      * par-labl.adb (Find_Natural_Loops): Recognize loops create by
++      backwards goto's, and rewrite as a infinite loop, to improve locality
++      of temporaries.
++
++      * exp_util.adb (Force_Evaluation): Recognize a left-hand side
++      subcomponent that includes an indexed reference, to prevent the
++      generation of copies that would miscompile the desired assignment
++      statement.
++      (Build_Task_Image_Decls): Add a numeric suffix to
++      generated name for string variable, to avoid spurious conflicts with
++      the name of the type of a single protected object.
++
++      * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
++      loop with an explicit exit statement, to avoid generating an
++      out-of-range value with 'Succ leading to spurious constraint_errors
++      when compiling with -gnatVo.
++
++2004-07-15  Thomas Quinot  <quinot@act-europe.fr>
++
++      * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
++      might not be analyzed yet, even if its Etype is already set (case of an
++      unchecked conversion built using Unchecked_Convert_To, for example).
++      If the prefix has already been analyzed, this will be a nop anyway.
++
++      * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
++      controller type, or an assignment of a record type with controlled
++      components, copy only user data, and leave the finalization chain
++      pointers untouched.
++
++2004-07-15  Vincent Celier  <celier@gnat.com>
++
++      * make.adb (Collect_Arguments): Improve error message when attempting
++      to compile a source not part of any project, when -x is not used.
++
++      * prj.ads: (Defined_Variable_Kind): New subtype
++
++      * prj-attr.adb (Register_New_Package): Two new procedures to register
++      a package with or without its attributes.
++      (Register_New_Attribute): Mew procedure to register a new attribute in a
++      package.
++      New attribute oriented subprograms: Attribute_Node_Id_Of,
++      Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
++      Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
++      Next_Attribute.
++      New package oriented subprograms: Package_Node_Id_Of,
++      Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
++
++      * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
++      type.
++      (Package_Node_Id): Now a private, self initialized type
++      (Register_New_Package): New procedure to register a package with its
++      attributes.
++      New attribute oriented subprograms: Attribute_Node_Id_Of,
++      Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
++      Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
++      Next_Attribute.
++      New package oriented subprograms: Package_Node_Id_Of,
++      Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
++
++      * prj-dect.adb (Parse_Attribute_Declaration,
++      Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
++
++      * prj-makr.adb (Make): Parse existing project file before creating
++      other files. Fail if there was an error during parsing.
++
++      * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
++      new spec of Prj.Attr.
++
++      * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
++      to new spec of Prj.Attr.
++
++2004-07-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * utils2.c: Fix typo in comment.
++
++2004-07-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
++      * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
++
++2004-07-14  Andreas Schwab  <schwab@suse.de>
++
++      * trans.c (gnat_init_stmt_group): Remove duplicate definition.
++
++2004-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
++      object type.
++      (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
++      TYPE_STUB_DECL.
++
++      * misc.c (gnat_types_compatible_p): New function.
++      (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
++      (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
++
++      * trans.c (gigi): Move processing of main N_Compilation_Unit here.
++      (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
++      (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
++      (mark_visited): Don't mark dummy type.
++      (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
++      parameter, we must remove any LJM building from GNU_NAME.
++      (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
++      (pos_to_constructor): Use int_const_binop.
++      (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
++      PARM_DECL.
++
++      * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
++      (gnat_pushlevel): Set TREE_USE on BLOCK node.
++      (gnat_install_builtins): Add __builtin_memset.
++
++2004-07-13  Olivier Hainque  <hainque@act-europe.fr>
++
++      * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
++      for a renaming, stabilize the initialization expression if we are at a
++      local level.  At the local level, uses of the renaming may be performed
++      by a direct dereference of the initializing expression, and we don't
++      want possible variables there to be evaluated for every use.
++
++      * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
++      Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
++      them on the way.  Account for the fact that we may introduce side
++      effects in the process.
++
++2004-07-13  Richard Henderson  <rth@redhat.com>
++
++      * misc.c (default_pass_by_ref): Use pass_by_reference.
++
++2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
++
++      * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
++      LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
++
++2004-07-08  Richard Henderson  <rth@redhat.com>
++
++      * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
++      commentary.
++
++2004-07-06  Vincent Celier  <celier@gnat.com>
++
++      * vms_conv.ads: Minor reformatting.
++      Alphabetical order for enumerated values of type Command_Type, to have
++      the command in alphabetical order for the usage.
++
++      * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
++      the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
++
++      * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
++
++      * makegpr.adb (Global_Archive_Exists): New global Boolean variable
++      (Add_Archive_Path): Only add the global archive if there is one.
++      (Build_Global_Archive): Set Global_Archive_Exists depending if there is
++      or not any object file to put in the global archive, and don't build
++      a global archive if there is none.
++      (X_Switches): New table
++      (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
++      in the X_Switches table, if any.
++      (Initialize): Make sure the X_Switches table is empty
++      (Scan_Arg): Record -X switches in table X_Switches
++
++      * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
++
++      * make.adb: Minor comment fix
++
++      * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
++      invoked with directory information, add the directory in front of the
++      path.
++
++      * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
++      invoked with directory information, add the directory in front of the
++      path.
++
++      * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
++      when Keep_Temporary_Files is False.
++      (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
++      directory information, add the directory in front of the path.
++      When not on VMS, handle new switch -dn before the command to set
++      Keep_Temporary_Files to True.
++      (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
++      everywhere.
++
++      * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
++      invoked with directory information, add the directory in front of the
++      path.
++
++2004-07-06  Thomas Quinot  <quinot@act-europe.fr>
++
++      * snames.ads, snames.adb (Name_Stub): New name for the distributed
++      systems annex.
++
++      * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
++      New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
++
++      * g-socket.adb (To_Timeval): Fix incorrect conversion of
++      Selector_Duration to Timeval for the case of 0.0.
++
++      * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
++      documentation from Evolve_And_Then.
++
++2004-07-06  Jose Ruiz  <ruiz@act-europe.fr>
++
++      * s-taprop-tru64.adb, s-taprop-os2.adb,
++      s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
++
++2004-07-06  Robert Dewar  <dewar@gnat.com>
++
++      * s-osinte-hpux.ads, s-osinte-freebsd.ads,
++      s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
++      s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
++      s-interr-sigaction.adb, s-taprop-irix-athread.adb,
++      s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
++      s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
++      s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
++      s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
++      a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
++      a-tags.ads, bindgen.ads, checks.adb, checks.adb,
++      csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
++      exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
++      g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
++      i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
++      sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
++      sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
++      sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
++      s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
++      s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
++      s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
++      vms_data.ads: Minor reformatting,
++      Fix bad box comment format.
++
++      * gnat_rm.texi: Fix minor grammatical error
++
++      * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
++
++      * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
++      more cases of discriminated records to be recognized as not needing a
++      secondary stack.
++      (Has_Access_Values): New function.
++
++      * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
++
++      * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
++      Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
++      with LRM terminology).
++      Change terminology in comments primitive type => elementary type.
++
++2004-07-06  Ed Schonberg  <schonberg@gnat.com>
++
++      PR ada/15602
++      * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
++      parameters do not impose any requirements on the presence of a body.
++
++2004-07-06  Ed Schonberg  <schonberg@gnat.com>
++
++      PR ada/15593
++      * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
++      compilation unit and is in an open scope at the point of instantiation,
++      assume that a body may be present later.
++
++2004-07-06  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
++      Improve error message when specified size is not supported.
++
++      * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
++      is never a primitive operation.
++
++2004-07-05  Andreas Schwab  <schwab@suse.de>
++
++      * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
++      RECORD_OR_UNION_CHECK.
++      (TYPE_CONTAINS_TEMPLATE_P): Likewise.
++
++2004-07-04  Kelley Cook  <kcook@gcc.gnu.org>
++
++      * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
++      dependency on xgnatugn, instead build it via a submake.
++      (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
++
++2004-07-04  Richard Henderson  <rth@redhat.com>
++
++      * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
++
++2004-07-01  Richard Henderson  <rth@redhat.com>
++
++      * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
++      * utils.c (max_size): Likewise.
++
++2004-06-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
++      and rest_of_type_compilation; add arg to create_*_decl.
++      (annotate_decl_with_node): Deleted.
++      (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
++      * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
++      (get_current_block_context, gnat_pushdecl): New declarations.
++      (gnat_init_stmt_group): Likewise.
++      (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
++      * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
++      (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
++      (gnat_init): Call gnat_init_stmt_group.
++      * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
++      (gnu_pending_elaboration_list): Deleted.
++      (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
++      (gigi): Rearrange initialization calls and move some to last above.
++      (gnat_to_gnu): If statement and not in procedure, go into elab proc.
++      Delete calls to add_decl_expr; add arg to create_*_decl.
++      (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
++      (gnat_to_gnu, case N_Subprogram_Body): Move some code to
++      begin_subprog_body and call it.
++      Don't push and pop ggc context.
++      (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
++      (add_stmt): Remove handling of DECL_EXPR from here.
++      If not in function, mark visited.
++      (add_decl_expr): Put global at top level.
++      Check for cases of DECL_INITIAL we have to handle here.
++      (process_type): Add extra arg to create_type_decl.
++      (build_unit_elab): Rework to just gimplify.
++      * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
++      (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
++      (get_pending_elaborations, pending_elaborations_p): Likewise.
++      (push_pending_elaborations, pop_pending_elaborations): Likewise.
++      (get_elaboration_location, insert_elaboration_list): Likewise.
++      (gnat_binding_level): Renamed from ada_binding_level.
++      (init_gnat_to_gnu): Don't clear pending_elaborations.
++      (global_bindings_p): Treat as global if no current_binding_level.
++      (set_current_block_context): New function.
++      (gnat_pushdecl): Renamed from pushdecl; major rework.
++      All callers changed.
++      (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
++      (finish_record_type): Call call pushdecl for stub decl.
++      (function_nesting_depth): Deleted.
++      (begin_subprog_body): Delete obsolete code.
++      * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
++
++2004-06-28  Robert Dewar  <dewar@gnat.com>
++
++      * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
++      mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
++      mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
++      mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
++      a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
++
++      * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
++      deal with problem of inefficient slices on machines with strict
++      alignment, when the slice is a component of a composite.
++
++      * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
++      machines, we need the check there as well.
++
++2004-06-28  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
++      determine safe copying direction for overlapping slice assignments
++      when component is controlled.
++
++      * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
++      formal derived type in the actual for a formal package are visible in
++      the enclosing instance.
++
++2004-06-28  Ed Schonberg  <schonberg@gnat.com>
++
++      PR ada/15600
++      * sem_util.adb (Trace_Components): Diagnose properly an illegal
++      circularity involving a private type whose completion includes a
++      self-referential component.
++      (Enter_Name): Use Is_Inherited_Operation to distinguish a source
++      renaming or an instantiation from an implicit derived operation.
++
++2004-06-28  Pascal Obry  <obry@gnat.com>
++
++      * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
++      DLL.
++      (Library_File_Name_For): Idem.
++
++2004-06-28  Matthew Gingell  <gingell@gnat.com>
++
++      * g-traceb.ads: Add explanatory note on the format of addresses
++      expected by addr2line.
++
++2004-06-28  Jerome Guitton  <guitton@act-europe.fr>
++
++      * Makefile.in: Force debugging information on s-tasdeb.adb,
++      a-except.adb and s-assert.adb needed by the debugger.
++
++2004-06-28  Vincent Celier  <celier@gnat.com>
++
++      * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
++      Need_To_Build_Lib.
++      (Gnatmake): Ditto.
++
++      * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
++
++      * prj.adb: Minor reformatting
++      (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
++
++      * prj.ads: Comment updates
++      Minor reformatting
++      (Project_Data): Change Flag1 to Need_To_Build_Lib.
++      Remove Flag2: not used.
++
++      * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
++      declaration.
++
++      * gnat_ugn.texi: Put a "null;" declaration in one project file example
++
++      * gnat_rm.texi: Document Empty declarations "null;".
++
++      * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
++      front of the linker options.
++      (Link_Foreign): Put the global archives and the libraries in front of
++      the linker options.
++
++2004-06-28  Javier Miranda  <miranda@gnat.com>
++
++      * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
++      (RTU_Loaded): Code cleanup
++      (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
++      withed predefined units.
++
++      * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
++      explicitly withed predefined units.
++      Fix typo in comment
++
++      * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
++      explicitly withed predefined units.
++
++2004-06-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * ada-tree.def (DECL_STMT): Deleted.
++      * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
++      (DECL_STMT_VAR): Deleted.
++      * decl.c: add_decl_stmt now add_decl_expr.
++      * gigi.h: Likewise.
++      * trans.c: Likewise.
++      (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
++      (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
++      (add_stmt): Only handle padded type here.
++      (add_stmt_with_node): Allow gnat_node to not be present.
++      (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
++      (gnat_gimplify_stmt, case DECL_STMT): Deleted.
++      (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
++      make a SAVE_EXPR for the entire fat pointer.
++      * utils.c (pushdecl): Walk a DECL_EXPR in global case.
++      (create_index_type): Make a DECL_EXPR.
++      (end_subprog_body): Don't call allocate_struct_function here but
++      do clear cfun.
++
++2004-06-25  Pascal Obry  <obry@gnat.com>
++
++      * makegpr.adb (Build_Library): Remove parameter Lib_Address and
++      Relocatable from Build_Dynamic_Library call.
++
++      * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
++      Relocatable are now synonym.
++
++      * Makefile.in: Use s-parame-mingw.adb on MingW platform.
++
++      * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
++      Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
++      call.
++
++      * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
++      Lib_Address and Relocatable.
++      (Default_DLL_Address): Removed.
++
++      * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
++      mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
++      mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
++      (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
++      (Default_DLL_Address): Removed.
++
++      * mlib-tgt-mingw.adb: Ditto.
++      (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
++
++      * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
++      the initial thread stack size.
++
++      * a-strmap.ads: Move package L to private part as it is not used in
++      the spec. Found while reading code.
++
++2004-06-25  Olivier Hainque  <hainque@act-europe.fr>
++
++      * tracebak.c: Introduce support for a GCC infrastructure based
++      implementation of __gnat_backtrace.
++
++      * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
++      any more. Use accessors instead. This eases maintenance and relaxes
++      some alignment constraints.
++      (_GNAT_Exception structure): Remove the Ada specific fields
++      (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
++      a-exexpr.adb.
++      (is_handled_by, __gnat_eh_personality): Replace component references to
++      exception structure by use of the new accessors.
++
++      * init.c (__gnat_initialize): Adjust comments to match the just
++      reverted meaning of the -static link-time option.
++
++      * adaint.c (convert_addresses): Arrange not to define a stub for
++      mips-irix any more, as we now want to rely on a real version from a
++      recent libaddr2line.
++
++      * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
++      the personality routine can use them and not have to rely on a C
++      counterpart of the record anymore. This simplifies maintenance and
++      relaxes the constraint of having Standard'Maximum_Alignment match
++      BIGGEST_ALIGNMENT.
++      Update comments, and add a section on the common header alignment issue.
++
++2004-06-25  Geert Bosch  <bosch@gnat.com>
++
++      * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
++      polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
++
++2004-06-25  Robert Dewar  <dewar@gnat.com>
++
++      * gnat_rm.texi: Fix section on component clauses to indicate that the
++      restriction on byte boundary placement still applies for bit packed
++      arrays.
++      Add comment on stack usage from Initialize_Scalars
++
++      * gnat_ugn.texi: Add documentation for -gnatyLnnn
++
++      * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
++      limiting nesting level.
++
++      * usage.adb: Add line for -gnatyLnnn switch
++
++      * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
++      sem_ch13.adb, exp_aggr.adb: Minor reformatting
++
++      * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
++      type as well as on the subtype. This corrects a problem in freeze in
++      setting alignments of atomic types.
++
++      * sem_eval.ads: Minor comment typo fixed
++
++      * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
++      level.  Minor reformatting.
++
++      * fname.adb (Is_Predefined_File_Name): Require a letter after the
++      minus sign. This means that file names like a--b.adb will not be
++      considered predefined.
++
++      * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
++      record Test new flag and give diagnostic for bad component clause.
++      (Freeze_Entity): Set alignment of array from component alignment in
++      cases where this is safe to do.
++
++      * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
++      arrays.
++
++      * cstand.adb: (Create_Standard): Set alignment of String to 1
++
++      * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
++
++      * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
++      code in the common constrained array cases.
++
++      * a-storio.adb: Change implementation to avoid possible alignment
++      problems on machines requiring strict alignment (data should be moved
++      as type Buffer, not type Elmt).
++
++      * checks.adb (Apply_Array_Size_Check): Improve these checks by
++      killing the overflow checks which we really do not need (64-bits is
++      enough).
++
++2004-06-25  Vincent Celier  <celier@gnat.com>
++
++      * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
++      (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
++      inconditionally for the main project.
++      (Recursive_Add_Archives.Add_Archive_Path): New procedure
++      (Link_Executables.Check_Time_Stamps): New procedure
++      (Link_Executables.Link_Foreign): New procedure
++      Changes made to reduce nesting level of this package
++      (Check): New procedure
++      (Add_Switches): When not in quiet output, check that a switch is not
++      the concatenation of several valid switches. If it is, issue a warning.
++      (Build_Global_Archive): If the global archive is rebuilt, linking need
++      to be done.
++      (Compile_Sources): Rebuilding a library archive does not imply
++      rebuilding the global archive.
++      (Build_Global_Archive): New procedure
++      (Build_Library): New name for Build_Archive, now only for library
++      project
++      (Check_Archive_Builder): New procedure
++      (Create_Global_Archive_Dependency_File): New procedure
++      (Gprmake): Call Build_Global_Archive before linking
++      * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
++      throughout.
++      (Scan_Arg): Display the Copyright notice when -v is used
++
++      * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
++      for gnatls.
++
++      * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
++      COMPILE.
++      Add new GNAT LIST qualifier /FILES=
++      Added qualifier /DIRECTORY= to GNAT METRIC
++      Added qualifier /FILES= to GNAT METRIC
++      Added qualifier /FILES to GNAT PRETTY
++
++      * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
++      to take into account both versions of the switch.
++
++      * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
++      always be the last switch to the gcc driver. Disable switch storing so
++      that switches automatically added by the gcc driver are not put in the
++      ALI file.
++
++      * prj.adb (Project_Empty): Take into account changes in components of
++      Project_Data.
++
++      * prj.ads (Languages_Processed): New enumaration value All_Languages.
++
++      * prj.ads (Project_Data): Remove component Lib_Elaboration: never
++      used. Split Boolean component Ada_Sources_Present in two Boolean
++      components Ada_Sources_Present and Other_Sources_Present.
++      Minor reformatting
++
++      * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
++      instead of Sources_Present.
++      (Set_Ada_Paths.Add.Recursive_Add): Ditto
++
++      * prj-nmsc.adb: Minor reformatting
++      (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
++      (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
++      Check_Ada_Naming_Scheme.
++      Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
++      throughout.
++
++      * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
++      In_Limited.
++      Make sure that all cycles where there is at least one "limited with"
++      are detected.
++      (Parse_Single_Project): New Boolean parameter In_Limited
++
++      * prj-proc.adb (Recursive_Check): When Process_Languages is
++      All_Languages, call first Prj.Nmsc.Ada_Check, then
++      Prj.Nmsc.Other_Languages_Check.
++
++      * prj-proc.adb (Process): Use Ada_Sources_Present or
++      Other_Sources_Present (instead of Sources_Present) depending on
++      Process_Languages.
++
++      * lang-specs.h: Keep -g and -m switches in the same order, and as the
++      last switches.
++
++      * lib.adb (Switch_Storing_Enabled): New global Boolean flag
++      (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
++      False.
++      (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
++      False.
++
++      * lib.ads (Disable_Switch_Storing): New procedure.
++
++      * make.adb: Modifications to reduce nesting level of this package.
++      (Check_Standard_Library): New procedure
++      (Gnatmake.Check_Mains): New procedure
++      (Gnatmake.Create_Binder_Mapping_File): New procedure
++      (Compile_Sources.Compile): Add switch -gnatez as the last option
++      (Display): Never display -gnatez
++
++      * Makefile.generic:
++      When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
++
++      * gnatcmd.adb (Check_Project): New function
++      (Process_Link): New procedure to reduce nesting depth
++      (Check_Files): New procedure to reduce the nesting depth.
++      For GNAT METRIC, include the inherited sources in extending projects.
++      (GNATCmd): When GNAT LS is invoked with a project file and no files,
++      add the list of files from the sources of the project file. If this list
++      is too long, put it in a temp text files and use switch -files=
++      (Delete_Temp_Config_Files): Delete the temp text file that contains
++      a list of source for gnatpp or gnatmetric, if one has been created.
++      (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
++      in the project file is too large, create a temporary text file that
++      list them and pass it to the tool with "-files=<temp text file>".
++      (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
++
++      * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
++      generated file is in not in Ada.
++
++      * gnatls.adb: Remove all parameters And_Save that are no longer used.
++      (Scan_Ls_Arg): Add processing for -files=
++      (Usage): Add line for -files=
++
++      * g-os_lib.adb (On_Windows): New global constant Boolean flag
++      (Normalize_Pathname): When on Windows and the path starts with a
++      directory separator, make sure that the resulting path will start with
++      a drive letter.
++
++      * clean.adb (Clean_Archive): New procedure
++      (Clean_Project): When there is non-Ada code, delete the global archive,
++      the archive dependency files, the object files and their dependency
++      files, if they exist.
++      (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
++
++2004-06-25  Thomas Quinot  <quinot@act-europe.fr>
++
++      * sinfo.ads: Fix typo in comment.
++
++      * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
++      the TSS for remote access-to-subprogram types, since these TSS are
++      always present once the type has been analyzed.
++      (RAS_E_Dereference): Same.
++
++      * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
++      reference raises Bad_Attribute, mark the reference as analyzed so the
++      node (and any children resulting from rewrites that could have occurred
++      during the analysis that ultimately failed) is not analyzed again.
++
++      * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
++
++      * exp_dist.adb: Minor comment fix.
++
++      * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
++      type is an anonymous access type, no unchecked deallocation of the
++      allocated object can occur. If the object is controlled, attach it with
++      a count of 1. This allows attachment to the Global_Final_List, if
++      no other relevant list is available.
++      (Get_Allocator_Final_List): For an anonymous access type that is
++      the type of a discriminant or record component, the corresponding
++      finalisation list is the one of the scope of the type.
++
++2004-06-25  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch3.adb (Replace_Type): When computing the signature of an
++      inherited subprogram, use the first subtype if the derived type
++      declaration has no constraint.
++
++      * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
++      before applying previous optimization. Minor code cleanup.
++
++      * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
++      placed at the beginning of an unpacked record without explicit
++      alignment, a slice of it will be aligned and does not need a copy when
++      used as an actual.
++
++2004-06-25  Ed Schonberg  <schonberg@gnat.com>
++
++      PR ada/15591
++      PR ada/15592
++      * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
++      reference is written with expressions mimicking parameters.
++
++2004-06-25  Hristian Kirtchev  <kirtchev@gnat.com>
++
++      PR ada/15589
++      * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
++      STEP 2a. The constraints of a full type declaration of a derived record
++      type are checked for conformance with those declared in the
++      corresponding private extension declaration. The message
++      "not conformant with previous declaration" is emitted if an error is
++      detected.
++
++2004-06-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
++
++      * g-traceb.ads: Document the need for -E binder switch in the spec.
++
++      * g-trasym.ads: Document the need for -E binder switch in the spec.
++
++2004-06-25  Jose Ruiz  <ruiz@act-europe.fr>
++
++      * sem_prag.adb: Add handling of pragma Detect_Blocking.
++
++      * snames.h, snames.ads, snames.adb: Add entry for pragma
++      Detect_Blocking.
++
++      * s-rident.ads: Change reference to pragma Detect_Blocking.
++
++      * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
++      system.ads.
++
++      * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
++      to indicate whether pragma Detect_Blocking is active.
++
++      * par-prag.adb: Add entry for pragma Detect_Blocking.
++
++      * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
++      of not handling WITH.
++      Note that this replaces the previous update which was incorrect.
++
++2004-06-25  Javier Miranda  <miranda@gnat.com>
++
++      * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
++      use-clauses to have a clean environment.
++
++      * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
++      the installation of the use-clauses to stablish a clean environment in
++      case of compilation of a separate unit; otherwise the call to
++      use_one_package is protected by the barrier Applicable_Use.
++
++      * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
++      the installation of the use-clauses to stablish a clean environment in
++      case of compilation of a separate unit.
++      (End_Use_Clauses): Minor comment cleanup.
++
++2004-06-25  Sergey Rybin  <rybin@act-europe.fr>
++
++      * gnat_ugn.texi: Add description of the gnatpp 'files' switch
++
++2004-06-23  Richard Henderson  <rth@redhat.com>
++
++      * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
++
++2004-06-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * decl.c (elaborate_expression, elaborate_expression_1): Arguments
++      now bool instead of int.
++      (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
++      * trans.c (gnu_switch_label_stack): New function.
++      (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
++      elaboration of renamed entity returns.
++      (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
++      (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
++      (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
++      (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
++      DECL_SIZE_UNIT and simplify variable-sized case.
++      (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
++      Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
++      (gnat_stabilize_reference): Add arg to COMPONENT_REF.
++      (build_unit_elab): Disable for now.
++      * utils.c (mark_visited): New function.
++      (pushdecl): Walk tree to call it for global decl.
++      (update_pointer_to): Update all variants of pointer and ref types.
++      Add arg to COMPONENT_REF.
++      (convert): Likewise.
++      Move check for converting between variants lower down.
++      * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
++      (build_allocator): Don't force type of MODIFY_EXPR.
++      (gnat_mark_addressable, case VAR_DECL): Unconditionally call
++      put_var_into_stack.
++
++2004-06-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
++      * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
++      * decl.c (gnat_to_gnu_entity): Also set force_global for imported
++      subprograms.
++      * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
++      all callers changed.
++      (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
++      the way that EXIT_STMT finds the loop label.
++      (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
++      (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
++      (add_stmt): Use annotate_with_locus insted of setting directly.
++      (pos_to_construct): Set TREE_PURPOSE of each entry to index.
++      (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
++      * utils.c (gnat_install_builtins): Install __builtin_memcmp.
++      (build_vms_descriptor): Add extra args to ARRAY_REF.
++      (convert): Use VIEW_CONVERT_EXPR between aggregate types.
++      * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
++      New cases.
++      (build_binary_op): Don't make explicit CONVERT_EXPR.
++      Add extra rgs to ARRAY_REF.
++
++2004-06-14  Pascal Obry  <obry@gnat.com>
++
++      * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
++      Windows.  Fix minor typo.
++
++      * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
++      which is now supported on Windows. With this implementation using the
++      Library Project feature is no different on Windows than on UNIX.
++
++2004-06-14  Vincent Celier  <celier@gnat.com>
++
++      * makegpr.adb (Compile_Sources): Nothing to do when there are no
++      non-Ada sources.
++
++      * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
++
++      * prj-part.adb (Parse_Single_Project): When a duplicate project name is
++      found, show the project name and the path of the previously parsed
++      project file.
++
++2004-06-14  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
++      array, avoid copying the actual before the call.
++
++2004-06-14  Thomas Quinot  <quinot@act-europe.fr>
++
++      * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
++      Instead, allocate memory on worst-case alignment assumptions, and then
++      return an aligned address within the allocated zone.
++
++2004-06-14  Robert Dewar  <dewar@gnat.com>
++
++      * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
++      elab entities in predefined units in No_Run_Time_Mode.
++      (Gen_Adainit_C): Same fix
++      (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
++      units in No_Run_Time_Mode
++      (Gen_Elab_Calls_C): Same fix
++
++      * symbols-vms-alpha.adb: Minor reformatting
++
++      * g-debpoo.ads: Minor reformatting
++
++      * lib.adb (In_Same_Extended_Unit): Version working on node id's
++
++      * lib.ads (In_Same_Extended_Unit): Version working on node id's
++
++      * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
++      working on nodes.
++
++      * make.adb: Minor reformatting
++
++      * par-ch12.adb: Minor reformatting
++
++      * par-prag.adb: Add dummy entry for pragma Profile_Warnings
++
++      * prj-strt.adb: Minor reformatting
++
++      * restrict.ads, restrict.adb: Redo handling of profile restrictions to
++      be more general.
++
++      * sem_attr.adb: Minor reformatting
++
++      * sem_ch7.adb: Minor reformatting
++
++      * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
++      for type in the same unit as the object declaration.
++
++      * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
++      static string expressions and not just string literals.
++      Minor reformatting
++      (Set_Warning): Reset restriction warning flag for restriction pragma
++      Implement pragma Profile_Warnings
++      Implement pragma Profile (Restricted)
++      Give obolescent messages for old restrictions and pragmas
++
++      * snames.h, snames.ads, snames.adb: Add new entry for pragma
++      Profile_Warnings.
++
++      * s-rident.ads: Add declarations for restrictions required by profile
++      Restricted and profile Ravenscar.
++
++      * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
++
++      * gnat_ugn.texi: Correct some missing entries in the list of GNAT
++      configuration pragmas.
++
++2004-06-11  Vincent Celier  <celier@gnat.com>
++
++      * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
++      gnatsym, when symbol policy is Restricted.
++
++      * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
++      gnatsym, when symbol policy is Restricted.
++
++      * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
++      read the symbol file.
++      (Finalize): Fail in symbol policy Restricted if a symbol in the original
++      symbol file is not in the object files. Do not create a new symbol file
++      when symbol policy is Restricted.
++
++      * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
++      in Scng.
++
++      * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
++      Restricted.
++      (Usage): Line for new switch -R
++
++      * make.adb (Initialize): When the platform is not VMS, add the
++      directory where gnatmake is invoked in the front of the path, if
++      gnatmake is invoked with directory information.  Change the Scan_Args
++      while loop to a for loop.
++      (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
++      if Depth is equal or greater than the proposed depth, there is nothing
++      to do.
++      (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
++      instead of 0.
++
++      * prj.ads: Add new symbol policy Restricted.
++
++      * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
++      with the new parameters Check_All_Labels and Case_Location.
++
++      * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
++      (Library_Symbol_File needs to be defined).
++
++      * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
++      and Case_Location If Check_All_Labels is True, check that all values of
++      the string type are used, and output warning(s) if they are not.
++
++      * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
++      and Case_Location.
++
++      * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
++
++      * gnat_ugn.texi: Update documentation about the library directory in
++      Library Projects.
++
++      * makegpr.adb (Display_Command): In verbose mode, also display the
++      value of the CPATH env var, when the compiler is gcc.
++      (Initialize): Change the Scan_Args while loop to a for loop
++      (Compile_Individual_Sources): Change directory to object directory
++      before compilations.
++
++      * symbols.ads: New symbol policy Restricted.
++
++2004-06-11  Olivier Hainque  <hainque@act-europe.fr>
++
++      * a-except.adb (Raise_After_Setup family): Remove. The responsibility
++      is now taken care of internally in the Exception_Propagation package
++      and does not require clients assistance any more.
++
++      * a-exexpr.adb (Is_Setup_And_Not_Propagated,
++      Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
++      functions. Helpers to maintain a predicate required in the handling of
++      occurrence transfer between tasks.
++      This is now handled internally and does not require clients assistance
++      for the setup/propagate separation anymore.
++      (Setup_Exception, Propagate_Exception): Simplify the Private_Data
++      allocation strategy, handle the Setup_And_Not_Propagated predicate and
++      document.
++
++      * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
++      raise_after_setup, now that everything is handled internally within the
++      setup/propagation engine.
++
++2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
++
++      * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
++      Add additional conditions for the case of an actual being a simple
++      name or literal. Improve inlining by preventing the generation
++      of temporaries with a short lifetime (one use).
++
++2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
++
++      PR ada/15587
++      * einfo.ads: Minor comment updates for Has_Completion and
++      E_Constant list of flags.
++
++      * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
++      and constant redeclarations now set the Has_Completion flag of their
++      defining identifiers.
++
++      * sem_ch7.adb (Analyze_Package_Spec): Add procedure
++      Inspect_Deferred_Constant_Completion.
++      Used to detect private deferred constants that have not been completed
++      either by a constant redeclaration or pragma Import. Emits error message
++      "constant declaration requires initialization expression".
++
++      * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
++      completes a deferred constant.
++
++2004-06-11  Geert Bosch  <bosch@gnat.com>
++
++      * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
++
++      * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
++      calculating exponent for scaling denormal numbers.
++      (Leading_Part): Properly raise Constraint_Error for zero or negative
++      Adjustment.
++      (Remainder): Properly raise Constraint_Error for zero divisor.
++
++2004-06-11  Thomas Quinot  <quinot@act-europe.fr>
++
++      * sem_util.adb: Minor reformatting.
++
++      * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
++      dereference when accessing the entry parameter record.
++      (Check_Array_Type): Always check for possible implicit dereference.
++      (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
++      Abort if a pointer is still present (denoting that an implicit
++      dereference was left in the tree by the front-end).
++
++      * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
++      dereference when accessing the entry parameter record.
++      (Check_Array_Type): Always check for possible implicit dereference.
++      (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
++      Abort if a pointer is still present (denoting that an implicit
++      dereference was left in the tree by the front-end).
++
++2004-06-11  Emmanuel Briot  <briot@act-europe.fr>
++
++      * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
++      message, like the compiler itself does. Easier to parse the output.
++
++      * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
++
++      * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
++      be base names, and not includes directories.
++
++2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
++      so that dependencies are properly taken into account by make.
++
++2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
++
++      PR ada/15622
++      * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
++      exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
++
++2004-06-11  Jerome Guitton  <guitton@act-europe.fr>
++
++      * Makefile.in (install-gnatlib): install target-specific run-time files.
++
++      * Make-lang.in: Remove obsolete targets.
++
++2004-06-11  Ed Schonberg  <schonberg@gnat.com>
++
++      * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
++      specification, to catch misuses of program unit names.
++
++      * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
++      superfluous conversions in an instance.
++
++2004-06-11  Ed Schonberg  <schonberg@gnat.com>
++
++      PR ada/15403
++      * sem_ch12.adb (Save_References): If operator node has been folded to
++      enumeration literal, associated_node must be discarded.
++
++2004-06-11  Jose Ruiz  <ruiz@act-europe.fr>
++
++      * s-stchop-vxworks.adb: Add required pragma Convention to
++      Task_Descriptor because it is updated by a C function.
++
++2004-06-08  Arnaud Charlet  <charlet@act-europe.fr>
++
++      PR ada/15568
++      * Makefile.in: Remove target specific SO_OPT on IRIX
++
++2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
++      (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
++      (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
++      (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
++      (STMT_STMT, USE_STMT): New statement codes.
++      (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
++      * ada-tree.h: Reflect above changes.
++      (struct tree_loop_id): Deleted.
++      (union lang_tree_node, struct lang_decl, struct lang_type):
++      Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
++      and DECL_LANGUAGE_SPECIFIC to reflect these changes.
++      (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
++      (IS_ADA_STMT): New macro.
++      * decl.c (annotate_decl_with_node): New function.
++      (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
++      (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
++      Call add_stmt_with_node to do needed assignments.
++      Add call to update setjmp buffer directly, not via EXPR_STMT.
++      (maybe_variable): Argment GNAT_NODE deleted.
++      * gigi.h (maybe_variable): Likewise.
++      (make_transform, add_stmt_with_node, set_block_for_group): New.
++      (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
++      (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
++      (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
++      (set_lineno, set_lineno_from_sloc): Likewise.
++      (record_code_position, insert_code_for): Likewise.
++      (gnat_poplevel): Now returns void.
++      (end_subprog_body): Now takes argument.
++      * misc.c (cgraph.h, tree-inline.h): New includes.
++      (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
++      (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
++      (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
++      (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
++      (gnat_parse_file): Don't set immediate_size_expand.
++      Call cgraph functions.
++      (gnat_expand_expr): Remove most cases.
++      (record_code_position, insert_code_for): Remove from here.
++      * trans.c (toplev.h, tree-gimple.h): Now included.
++      (discard_file_names): Deleted.
++      (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
++      (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
++      (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
++      (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
++      (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
++      (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
++      (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
++      (set_block_for_group, add_stmt_list): Likewise.
++      (start_stmt_group): Renamed from start_block_stmt.
++      (end_stmt_group): Likewise, from end_block_stmt.
++      (build_stmt_group): Likewise, from build_block_stmt, also add arg.
++      (gigi): Don't set discard_file_names or call set_lineno.
++      Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
++      (tree_transform): Deleted, now renamed to be gnat_to_gnu.
++      Numerous changes throughout to reflect new names and complete
++      function-at-a-time implementation.
++      (gnat_expand_stmt): Delete or comment out all cases.
++      (process_inlined_subprograms): Use add_stmt.
++      (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
++      call set_lineno; also remove unneeded block handling.
++      (process_type): Remove unneeded block handling.
++      (build_unit_elab): Remove calls to deleted functions.
++      * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
++      (tree-dump.h): Likewise.
++      (struct ada_binding_level): Add field jmpbuf_decl.
++      (gnat_define_builtin, gnat_install_builtins): New.
++      (gnat_gimplify_function, gnat_finalize): Likewise.
++      (gnat_poplevel): No longer return BLOCK, set it instead.
++      Remove code dealing with nested functions.
++      (gnat_init_decl_processing): Also set size_type_node.
++      Call gnat_install_builtins.
++      (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
++      (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
++      Remove special-case for "main".
++      (end_subprog_body): Add arg and rework for tree-ssa.
++      (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
++      Add case for BOOLEAN_TYPE.
++      * utils2.c (rtl.h): Now include.
++      (build_call_raise): Test Debug_Flag_NN directly.
++      (build_call_alloc_dealloc): Don't use local stack allocation for now.
++      (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
++      (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
++
++2004-06-07  Robert Dewar  <dewar@gnat.com>
++
++      * a-direct.ads, einfo.ads: Minor comment updates
++
++      * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
++      s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
++      s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
++      s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
++      s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
++
++      * s-interr-sigaction.adb: Remove unreferenced variable
++      (Attached_Interrupts).  Minor reformatting.
++      Avoid use of variable I (replace by J).
++
++      * par-ch10.adb: Fix text of one error message
++
++      * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
++      exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
++      exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
++      opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
++      par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
++      par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
++      sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
++      sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
++      sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
++      sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
++      snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
++      2005 support.
++
++2004-06-07  Doug Rupp  <rupp@gnat.com>
++
++      * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
++
++      * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
++
++      * mlib-tgt-vms-ia64.adb: New file.
++
++      * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
++      Add mlib-tgt-vms-ia64.adb
++      Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
++      Move to alpha specific ifeq section.
++      Add VMS specific versions of symbols.adb
++      Renaming of 5q vms files.
++
++      * 5qsystem.ads renamed to system-vms_64.ads.
++
++2004-06-07  Vincent Celier  <celier@gnat.com>
++
++      * a-calend.ads: Add a GNAT Note comment after function Time_Of to
++      explain that when a time of day corresponding to the non existing hour
++      on the day switching to DST is specified, Split may return a different
++      value for Seconds.
++
++      * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
++      to GNAT PRETTY.
++
++      * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
++      (Normalize_Pathname): Only resolve VMS logical names when on VMS.
++
++      * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
++      to False.
++      If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
++      the linking options.
++      (Build_Library.Check_Libs): On VMS, if there is a dependency on
++      g-trasym.ads, set Gtrasymobj_Needed to True.
++
++      * prj-attr.adb: Add new package Metrics for gnatmetric
++
++      * prj-nmsc.adb (Record_Other_Sources): Put source file names in
++      canonical case to take into account files with upper case characters on
++      Windows.
++      (Ada_Check): Load the reference symbol file name in the name buffer to
++      check it, not the symbol file name.
++
++      * snames.ads, snames.adb: Add standard name Metrics (name of project
++      file package for gnatmetric).
++
++      * vms_conv.ads: Add Metric to Comment_Type
++
++      * vms_conv.adb (Initialize): Add component dor Metric in Command_List
++
++      * vms_data.ads: Add qualifiers for GNAT METRIC
++
++      * makegpr.adb (Link_Executables): Take into account the switches
++      specified in package Linker of the main project.
++
++2004-06-07  Thomas Quinot  <quinot@act-europe.fr>
++
++      * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
++      the index of the last element is Units.Last, not Units.Table'Last
++      (which is usually not a valid index within the actually allocated
++      storage for the table).
++
++      * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
++      determines whether to generate a call to a checked storage pool
++      Dereference action.
++      Generate such a call only for a dereference that either comes from
++      source, or is the result of rewriting a dereference that comes from
++      source.
++
++2004-06-07  Romain Berrendonner  <berrendo@act-europe.fr>
++
++      * bindgen.adb (Gen_Output_File): Add support for GAP builds.
++
++2004-06-07  Eric Botcazou  <ebotcazou@act-europe.fr>
++
++      (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
++      file level, elaborate the stride for inner dimensions in alignment
++      units, not bytes.
++
++      * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
++      in a comment.
++
++2004-06-07  Javier Miranda  <miranda@gnat.com>
++
++      * exp_ch6.adb: Correct wrong modification in previous patch
++
++2004-06-07  Vasiliy Fofanov  <fofanov@act-europe.fr>
++
++      * g-trasym.ads: Corrected comment to properly reflect level of support
++      on VMS.
++
++2004-06-07  Hristian Kirtchev  <kirtchev@gnat.com>
++
++      * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
++      includes case of a variable referenced on the left hand side of an
++      assignment, therefore remove redundant code. Variables and prefixes of
++      indexed or selected components are now marked as referenced on left
++      hand side. Warnings are now properly emitted when variables or prefixes
++      are assigned but not read.
++
++      * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
++      left hand side referenced variables. Private access types do not
++      produce the warning "variable ... is assigned but never read".
++      Add also additional checks to left hand side referenced variables.
++      Aliased, renamed objects and access types do not produce the warning
++      "variable ... is assigned but never read" since other entities may read
++      the memory location.
++
++2004-06-07  Jerome Guitton  <guitton@act-europe.fr>
++
++      * Makefile.in: In the powerpc/vxworks-specific section, restore
++      EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
++      by mistake).
++
++2004-06-07  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
++      predefined operators.
++      Removes spurious type errors from g-trasym-vms.adb.
++
++      * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
++      distinct from the operator appearing in the source, call appropriate
++      routine to insert conversions when needed, and complete resolution of
++      node.
++      (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
++      interpretations for rewritten right operand.
++      (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
++      the other operand is overloaded and the context is a type conversion.
++
++2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * ada-tree.def (BLOCK_STMT): Now has two operands.
++      (BREAK_STMT): New.
++
++      * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
++
++      * gigi.h: (gnat_poplevel): Now returns a tree.
++
++      * trans.c (end_block_stmt): Add arg; all callers changed.
++      (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
++      (start_block_stmt): Clear BLOCK_STMT_BLOCK.
++      (add_stmt): Set TREE_TYPE.
++      (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
++      (gnat_expand_stmt, case BREAK_STMT): New case.
++
++      * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
++
++2004-06-07  Jose Ruiz  <ruiz@act-europe.fr>
++
++      * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
++      procedure Set_Stack_Size that is not needed.
++
++2004-06-07  Sergey Rybin  <rybin@act-europe.fr>
++
++      * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
++      used for gnatpp input file and for the files upon which it depends
++
++2004-06-07  Ben Brosgol  <brosgol@gnat.com>
++
++      * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
++
++2004-06-07  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * gnatvsn.ads: Bump version numbers appropriately.
++      Add new build type.
++
++2004-06-07  Pascal Obry  <obry@gnat.com>
++
++      * gnat_ugn.texi: Improve comments about imported names and link names
++      on Windows. Add a note about the requirement to use -k gnatdll's option
++      when working with a DLL which has stripped stdcall symbols (no @nn
++      suffix).
++
++2004-05-27  Vincent Celier  <celier@gnat.com>
++
++      * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
++      COMMENTS_LAYOUT=UNTOUCHED
++
++      * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
++      symbols-vms-alpha.adb
++
++2004-05-27  Thomas Quinot  <quinot@act-europe.fr>
++
++      * sem.ads: Clarify documentation on checks suppression.
++
++      * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
++
++2004-05-27  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
++      the case of multiple derivations.
++      (Is_Object_Reference): For a selected component, verify that the prefix
++      is itself an object and not a value.
++
++      * sem_ch12.adb (Same_Instantiated_Constant): New name for
++      Same_Instantiated_Entity.
++      (Same_Instantiated_Variable): Subsidiary to
++      Check_Formal_Package_Instance, to recognize actuals for in-out generic
++      formals that are obtained from a previous formal package.
++      (Instantiate_Subprogram_Body): Emit proper error when
++      generating code and the proper body of a stub is missing.
++
++      * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
++      has a universal interpretation, do the disambiguation here.
++
++      * exp_ch4.adb (Expand_N_Type_Conversion,
++      Expand_N_Unchecked_Type_Conversion): Special handling when target type
++      is Address, to avoid typing anomalies when Address is a visible integer
++      type.
++
++      * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
++      to determine whether a subprogram should not be marked Pure, even when
++      declared in a pure package.
++
++2004-05-27  Jose Ruiz  <ruiz@act-europe.fr>
++
++      * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
++
++      * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
++      Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
++      Update the documentation about the Ravenscar profile, following the
++      definition found in AI-249.
++
++      * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
++      setting the Profile (Ravenscar). This must be done in addition to
++      setting the required restrictions.
++
++      * rtsfind.ads: Add the set of operations defined in package
++      Ada.Interrupts.
++
++      * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
++      restriction.
++
++2004-05-27  Eric Botcazou  <ebotcazou@act-europe.fr>
++
++      lang-specs.h: Always require -c or -S and always redirect to /dev/null
++      if -gnatc or -gnats is passed.
++
++2004-05-27  Hristian Kirtchev  <kirtchev@gnat.com>
++
++      * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
++      a significant reference. Warnings are now properly emitted when a
++      discriminated type is not referenced.
++
++      * lib-xref.adb (Generate_Reference): A deferred constant completion,
++      record representation clause or record type discriminant does not
++      produce a reference to its corresponding entity. Warnings are now
++      properly emitted when deferred constants and record types are not
++      referenced.
++
++2004-05-27  Geert Bosch  <bosch@gnat.com>
++
++      * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
++      Fixes ACATS Annex G tests.
++
++2004-05-27  Robert Dewar  <dewar@gnat.com>
++
++      * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
++      handling WITH
++
++2004-05-27  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * s-interr.adb (Server_Task): Take into account case of early return
++      from sigwait under e.g. linux.
++
++2004-05-27  Sergey Rybin  <rybin@act-europe.fr>
++
++      * gnat_ugn.texi: Add description for the new gnatpp options:
++       -rnb - replace the original source without creating its backup copy
++       -c0 - do not format comments
++
++2004-05-24  Geert Bosch  <bosch@gnat.com>
++
++      * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
++      with 192 bits of precision, sufficient to reduce a double-extended
++      arguments X with a maximum relative error of T'Machine_Epsilon, for X
++      in -2.0**32 .. 2.0**32.
++      (Cos, Sin):  Always reduce arguments of 1/4 Pi or larger, to prevent
++      reduction by the processor, which only uses a 68-bit approximation of
++      Pi.
++      (Tan): Always reduce arguments and compute function either using
++      the processor's fptan instruction, or by dividing sin and cos as needed.
++
++2004-05-24  Doug Rupp  <rupp@gnat.com>
++
++      * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
++      gcc error on 32/64 bit VMS.
++
++2004-05-24  Olivier Hainque  <hainque@act-europe.fr>
++
++      * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
++      since this is what we get for stack overflows although not documented
++      as such.
++      Document the issues which may require adjustments to our signal
++      handlers.
++
++2004-05-24  Ed Schonberg  <schonberg@gnat.com>
++
++      * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
++      enclosing dynamic scope if the instantiation is within a generic unit.
++
++2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * exp_dbug.ads: Fix typo.
++
++      * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
++      Rename it to its proper name: system-linux-ia64.ads
++      (stamp-gnatlib1): Remove extra target specific run time files when
++      setting up the rts directory.
++
++2004-05-24  Javier Miranda  <miranda@gnat.com>
++
++      * einfo.ads, einfo.adb (Limited_Views): Removed.
++      (Limited_View): New attribute that replaces the previous one. It is
++      now a bona fide package with the limited-view list through the
++      first_entity and first_private attributes.
++
++      * sem_ch10.adb (Install_Private_With_Clauses): Give support to
++      limited-private-with clause.
++      (Install_Limited_Withed_Unit): Install the private declarations of a
++      limited-private-withed package. Update the installation of the shadow
++      entities according to the new structure (see Build_Limited_Views)
++      (Build_Limited_Views): Replace the previous implementation of the
++      limited view by a package entity that references the first shadow
++      entity plus the first shadow private entity (required for limited-
++      private-with clause)
++      (New_Internal_Shadow_Entity): Code cleanup.
++      (Remove_Limited_With_Clause): Update the implementation to undo the
++      new work carried out by Build_Limited_Views.
++      (Build_Chain): Complete documentation.
++      Replace Ada0Y by Ada 0Y in comments
++      Minor reformating
++
++      * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
++      types the level of accessibility depends on the enclosing type
++      declaration.
++
++      * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
++      entities. Complete documentation of previous change.
++
++2004-05-24  Robert Dewar  <dewar@gnat.com>
++
++      * namet.adb: Minor reformatting
++      Avoid use of name I (replace by J)
++      Minor code restructuring
++
++      * sem_ch6.adb: Minor reformatting
++
++      * lib-writ.adb: Do not set restriction as active if this is a
++      Restriction_Warning case.
++
++      * sem_prag.adb: Reset restriction warning flag if real pragma
++      restriction encountered.
++
++      * s-htable.adb: Minor reformatting
++      Change rotate count to 3 in Hash (improves hash for small strings)
++
++      * 5qsystem.ads: Add comments for type Address (no literals allowed).
++
++      * gnat_ugn.texi: Add new section of documentation "Code Generation
++      Control", which describes the use of -m switches.
++
++2004-05-24  Eric Botcazou  <ebotcazou@act-europe.fr>
++
++      trans.c (tree_transform) <N_Identifier>: Do the dereference directly
++      through the DECL_INITIAL for renamed variables.
++
++2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
++
++2004-05-19  Joel Brobecker  <brobecker@gnat.com>
++
++      * exp_dbug.ads: Correct comments concerning handling of overloading,
++      since we no longer use $ anymore.
++
++2004-05-19  Sergey Rybin  <rybin@act-europe.fr>
++
++      * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
++      ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
++      with illegal subunits.
++
++2004-05-19  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
++      body with front-end inlining enabled, check whether an inline pragma
++      appears immediately after the body and applies to it.
++
++      * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
++      enabled and the pragma appears after the body of the subprogram.
++
++2004-05-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      Part of function-at-a-time conversion
++
++      * misc.c (adjust_decl_rtl): Deleted.
++      (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
++      Define.
++
++      * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
++      (add_decl_stmt, add_stmt, block_has_vars): New functions.
++      (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
++
++      * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
++      when making a decl.
++      (gnat_to_gnu_entity): Likewise.
++      Use add_stmt to update setjmp buffer.
++      Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
++      flush_addressof.
++      No longer call adjust_decl_rtl.
++      (DECL_INIT_BY_ASSIGN_P): New macro.
++      (DECL_STMT_VAR): Likewise.
++
++      * trans.c (gigi): Call start_block_stmt to make the outermost
++      BLOCK_STMT.
++      (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
++      Call start_block_stmt and end_block_stmt temporarily.
++      Use gnat_expand_stmt instead of expand_expr_stmt.
++      (add_decl_stmt): New function.
++      (tree_transform): Call it.
++      (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
++      (end_block_stmt): Set type and NULL_STMT.
++      (gnat_expand_stmt): Make recursize call instead of calling
++      expand_expr_stmt.
++      (gnat_expand_stmt, case DECL_STMT): New case.
++      (set_lineno_from_sloc): Do nothing if global.
++      (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
++      (start_block_stmt, add_stmt, end_block_stmt): New functions.
++      (build_block_stmt): Call them.
++      (gnat_to_code): Don't expand NULL_STMT.
++      (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
++      args.
++      (tree_transform): Likewise.
++      (tree_transform, case N_Null_Statement): Return NULL_STMT.
++      (gnat_expand_stmt, case NULL_STMT): New case.
++      (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
++      IF_STMT_TRUE.
++
++      * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
++      TREE_ADDRESSABLE.
++
++      * utils.c (create_var_decl): Do not call expand_decl or
++      expand_decl_init.
++      Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
++      Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
++      here.
++      (struct e_stack): Add chain_next to GTY.
++      (struct binding_level): Deleted.
++      (struct ada_binding_level): New struct.
++      (free_block_chain): New.
++      (global_binding_level, clear_binding_level): Deleted.
++      (global_bindings_p): Rework to see if no chain.
++      (kept_level_p, set_block): Deleted.
++      (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
++      new data structure and work directly on BLOCK node.
++      (gnat_poplevel): Similarly.
++      (get_decls): Look at BLOCK_VARS.
++      (insert_block): Work directly on BLOCK node.
++      (block_has_var): New function.
++      (pushdecl): Rework for new binding structures.
++      (gnat_init_decl_processing): Rename and rework calls to pushlevel and
++      poplevel.
++      (build_subprog_body): Likewise.
++      (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
++
++      * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
++
++      * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
++      (DECL_STMT_VAR): Likewise.
++
++2004-05-17  Robert Dewar  <dewar@gnat.com>
++
++      * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
++      procedure
++
++      * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
++      of restriction synonyums by using
++      Restrict.Process_Restriction_Synonyms.
++
++      * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
++
++      * s-restri.ads (Tasking_Allowed): Correct missing comment
++
++      * s-rident.ads: Add entries for restriction synonyms
++
++      * ali.adb: Fix some problems with badly formatted ALI files that can
++      result in infinite loops.
++
++      * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
++      s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
++      s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
++      s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
++      s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
++      s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
++      s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
++      s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
++      s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
++      a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
++      exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
++      s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
++      s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
++      s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
++      s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
++      s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
++      s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
++      s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
++      s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
++      s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
++      to Task_Id (minor cleanup).
++
++2004-05-17  Vincent Celier  <celier@gnat.com>
++
++      * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
++      directory separator.
++
++      * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
++      project being extended, if Languages is not declared in extending
++      project.
++
++2004-05-17  Javier Miranda  <miranda@gnat.com>
++
++      * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
++      limited view of a visible sibling.
++
++2004-05-14  Robert Dewar  <dewar@gnat.com>
++
++      * gnat_ugn.texi: Minor change to -gnatS documentation
++
++      * sprint.adb: Remove some instances of Assert (False) and for this
++      purpose replace them by output of a ??? string.
++
++      * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
++      Assert (False).
++
++      * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
++      flag processing. This was suppressing required dependencies in
++      No_Run_Time mode and is not needed since the binder does not generate
++      references for things in libgnat anyway.
++
++      * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
++      warning.
++
++2004-05-14  Thomas Quinot  <quinot@act-europe.fr>
++
++      * gnat_ugn.texi: Document AIX-specific issue with initialization of
++      resolver library.
++
++      * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
++      action for the case of an actual parameter in an init proc call.
++
++2004-05-14  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
++      subtype, check visible entities in base type.
++
++      * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
++      actions if the object is a renaming.
++
++      * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
++      Check_Formal_Package_Instance, to determine more precisely when the
++      formal and the actual denote the same entity.
++
++2004-05-14  Javier Miranda  <miranda@gnat.com>
++
++      * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
++
++      * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
++      corresponding to a private_with must be removed from visibility; it
++      will be made visible later, just before we analyze the private part of
++      the package.
++      (Check_Private_Child_Unit): Allow private_with clauses in public
++      siblings.
++      (Install_Siblings): Make visible the private entities of private-withed
++      siblings.
++      (Install_Withed_Unit): Do not install the private withed unit if we
++      are compiling a package declaration and the Private_With_OK flag was
++      not set by the caller. These declarations will be installed later,
++      just before we analyze the private part of the package.
++
++      * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
++      during the evaluation of the expression that initializes the object,
++      decorate it with the expected type to avoid cascade errors.
++      Code cleanup.
++
++      * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
++      subprogram we have to install the private_with clauses after its
++      specification has been analyzed (as documented in AI-262.TXT).
++
++      * sem_ch8.adb (Has_Private_With): New function. Determines if the
++      current compilation unit has a private with on a given entity.
++      (Find_Direct_Name): Detect the Beaujolais problem described in
++      AI-262.TXT
++
++      * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
++      provides the functionality of the function Is_Ancestor that was
++      previously available in sem_ch10. It has been renamed to avoid
++      overloading.
++
++      * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
++
++2004-05-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * utils.c (build_vms_descriptor): Use SImode pointers.
++
++2004-05-14  Vasiliy Fofanov  <fofanov@act-europe.fr>
++
++      * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
++
++2004-05-14  GNAT Script  <nobody@gnat.com>
++
++      * Make-lang.in: Makefile automatically updated
++
++2004-05-14  Arnaud Charlet  <charlet@act-europe.fr>
++
++      Renaming of target specific files for clarity
++
++      * Makefile.in: Rename GNAT target specific files.
++
++      * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
++      3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
++      3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
++      3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
++      3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
++      3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
++      42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
++      4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
++      4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
++      4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
++      4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
++      4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
++      51osinte.adb, 51osinte.ads, 51system.ads,
++      52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
++      55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
++      56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
++      56tpopsp.adb, 57system.ads, 58system.ads,
++      5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
++      5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
++      5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
++      5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
++      5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
++      5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
++      5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
++      5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
++      5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
++      5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
++      5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
++      5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
++      5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
++      5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
++      5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
++      5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
++      5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
++      5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
++      5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
++      5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
++      5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
++      5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
++      5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
++      5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
++      5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
++      5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
++      5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
++      5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
++      5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
++      5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
++      5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
++      5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
++      5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
++      5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
++      5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
++      5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
++      7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
++      7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
++      7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
++      7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
++
++      * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
++      a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
++      a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
++      a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
++      a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
++      a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
++      a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
++      a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
++      a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
++      a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
++      g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
++      g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
++      g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
++      g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
++      g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
++      g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
++      g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
++      g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
++      interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
++      mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
++      mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
++      mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
++      s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
++      s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
++      s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
++      s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
++      s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
++      s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
++      s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
++      s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
++      s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
++      s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
++      s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
++      s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
++      s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
++      s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
++      s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
++      s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
++      s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
++      s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
++      s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
++      s-osinte-vms.ads, s-osinte-vxworks.adb,
++      s-osinte-vxworks.ads, s-osprim-mingw.adb,
++      s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
++      s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
++      s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
++      s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
++      s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
++      s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
++      s-stchop-vxworks.adb, s-taprop-dummy.adb,
++      s-taprop-hpux-dce.adb, s-taprop-irix.adb,
++      s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
++      s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
++      s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
++      s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
++      s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
++      s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
++      s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
++      s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
++      s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
++      s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
++      s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
++      s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
++      s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
++      s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
++      s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
++      s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
++      s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
++      symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
++      system-hpux.ads, system-interix.ads, system-irix-n32.ads,
++      system-irix-o32.ads, system-linux-x86_64.ads,
++      system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
++      system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
++      system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
++      system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
++      system-vxworks-alpha.ads, system-vxworks-m68k.ads,
++      system-vxworks-mips.ads, system-vxworks-ppc.ads,
++      system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
++      above.
++
++2004-05-13  Zack Weinberg  <zack@codesourcery.com>
++
++      * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
++
++2004-05-13  Diego Novillo  <dnovillo@redhat.com>
++
++      Merge from tree-ssa-20020619-branch.
++
++      * config-lang.in (boot_language, build_by_default): Set
++      to no.
++      * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
++      (max_size): Add static chain op for call_expr.
++
++2004-05-12  Richard Sandiford  <rsandifo@redhat.com>
++
++      PR target/15331
++      * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
++
++2004-05-11  Roger Sayle  <roger@eyesopen.com>
++
++      * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
++      COND_EXPR.
++
++2004-05-10  Doug Rupp  <rupp@gnat.com>
++
++      * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
++      system.aux_dec.
++
++      * s-auxdec.ads: Add Short_Address subtype (moved here from System).
++
++      * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
++
++      * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
++      Fixes undefined symbols in IA64 gnatlib.
++
++      * 5vinmaop.adb: Reference s-auxdec for Short_Address.
++
++      * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
++      Short_Address). This will be moved to system.auxdec.
++
++2004-05-10  Thomas Quinot  <quinot@act-europe.fr>
++
++      * sem_util.adb: Replace test for presence of a node that is always
++      present with a call to Discard_Node.
++
++      * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
++      Analyze on the library unit node after generation of distribution stub
++      constructs.  The call was a no-op because Unit_Node has already been
++      Analyzed, and the tree fragments for the distribution stubs are
++      analyzed as they are inserted in Exp_Dist.
++      Update comment regarding to distribution stubs to reflect that we
++      do not generate stub in separate files anymore.
++
++      * einfo.ads: Clarify the fact that a tagged private type has the
++      E_Record_Type_With_Private Ekind.
++
++      * erroutc.adb: Minor reformatting
++
++      * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
++      values if line length is increased using -gnatyM (noticed during code
++      reading).
++
++      * eval_fat.adb: Minor reformatting
++      Put spaces around exponentiation operator
++
++2004-05-10  Ed Schonberg  <schonberg@gnat.com>
++
++      PR ada/15005
++      * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
++      has been rewritten as an explicit dereference, retrieve type of
++      original node to check for possibly unconstrained record type.
++
++2004-05-10  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
++      overriding, use the operation of the parent unconditionally.
++
++      * sem_ch4.adb (Remove_Address_Interpretations): Remove address
++      operation when either operand is a literal, to avoid further
++      ambiguities.
++
++      * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
++      overridden by a previous explicit declaration, mark the previous entity
++      as overriding.
++
++      * sem_disp.adb (Check_Dispatching_Operation): New predicate
++      Is_Visibly_Controlled, to determine whether a declaration of a
++      primitive control operation for a derived type overrides an inherited
++      one. Add warning if the explicit declaration does not override.
++
++2004-05-10  Vincent Celier  <celier@gnat.com>
++
++      * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
++      some cases when the sources are no longer present.
++
++      * make.adb (Collect_Arguments): Fail if an external source, not part
++      of any project need to be compiled, when switch -x has not been
++      specified.
++
++      * makeusg.adb: Document new switch -x
++
++      * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
++      defaulted to False.
++
++      * switch-m.adb (Scan_Make_Switches): New switch -x
++
++      * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
++      gnatmake switch -x.
++
++      * gnat_ugn.texi: Document new gnatmake switch -x
++
++2004-05-10  Eric Botcazou  <ebotcazou@act-europe.fr>
++
++      * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
++
++      * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
++      (process_attributes): Likewise.
++
++2004-05-10  Joel Brobecker  <brobecker@gnat.com>
++
++      * s-inmaop.ads: Fix spelling mistake in one of the comments.
++
++2004-05-10  Robert Dewar  <dewar@gnat.com>
++
++      * gnat_ugn.texi: Document that for config pragma files, the maximum
++      line length is always 32767.
++
++      * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
++      literals is now allowed.
++
++      * gnat-style.texi: Remove statement about splitting long lines before
++      an operator rather than after, since we do not follow this rule at all.
++      Clarify rule (really lack of rule) for spaces around exponentiation
++
++      * sem_elim.adb: Allow concatenation of string literals as well as a
++      single string literal for pragma arguments.
++
++      * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
++
++      * a-textio.adb (Terminate_Line): Do not add line feed if nothing
++      written for append case.
++
++      * frontend.adb: Changes to avoid checking max line length in config
++      pragma files.
++
++      * g-os_lib.ads: Minor reformatting
++
++      * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
++      wrong in any case. Instead use standard value. Noticed during code
++      reading.
++
++      * opt.ads (Max_Line_Length): New field, used to implement removal of
++      limitation on length of lines when scanning config pragma files.
++
++      * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
++      makeutl.ads, makeutl.adb: Minor reformatting
++
++      * scn.adb: Do not check line length while scanning config pragma files
++      Do not check line length while scanning out license information
++
++      * scng.adb: Changes to avoid line length checks while parsing config
++      pragma files.
++
++2004-05-10  GNAT Script  <nobody@gnat.com>
++
++      * Make-lang.in: Makefile automatically updated
++
++2004-05-05  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * osint.adb (Find_Program_Name): Fix handling of VMS version
++      number.
++
++2004-05-05  Emmanuel Briot  <briot@act-europe.fr>
++
++      * g-os_lib.ads (Invalid_Time): New constant
++
++      * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
++      return OS_Time instead of time_t to match what is imported by Ada.
++      Now return -1 if the file doesn't exist, instead of a random value
++
++2004-05-05  Robert Dewar  <dewar@gnat.com>
++
++      * usage.adb: Add line for -gnatR?s switch
++
++      * sem_ch13.adb, exp_ch2.adb: Minor reformatting
++
++      * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
++      and for Match (Data_First, Data_last)
++
++      * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
++      written when we are dealing with multi-unit files.
++
++2004-05-05  Jerome Guitton  <guitton@act-europe.fr>
++
++      * Makefile.in: Remove unused targets and variables.
++
++2004-05-05  Vincent Celier  <celier@gnat.com>
++
++      * switch-m.adb: New gnatmake switch -eI
++
++      * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
++      of new gnatmake switch -eInnn.
++
++      * makegpr.adb: Take into account new parameters Index and Src_Index in
++      Prj.Util.
++
++      * clean.adb: Implement support for multi-unit sources, including new
++      switch -i.
++
++      * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
++      Src_Index.
++
++      * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
++      (Extract_From_Q): New out parameter Index
++      (Mark, Is_Marked): Subprograms moved to Makeutl
++      (Switches_Of): New parameter Source_Index
++      (Add_Switch): New parameter Index
++      (Check): New parameter Source_Index
++      (Collect_Arguments): New parameter Source_Index
++      (Collect_Arguments_And_Compile): New parameter Source_Index
++      (Compile): New parameter Source_Index
++      Put subprograms in alphabetical order
++      Add support for multi-source sources, including in project files.
++
++      * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
++      (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
++      Make.
++
++      * makeusg.adb: New gnatmake switch -eInnn
++
++      * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
++      Prj.Util.Value_Of.
++
++      * opt.ads (Main_Index): New variable, defaulted to 0.
++
++      * osint.ads, osinte.adb (Add_File): New parameter Index
++      (Current_Source_Index): New function
++
++      * prj.adb: Take into account new components Index and Src_Index
++
++      * prj.ads (String_Element): New component Index
++      (Variable_Value): New component Index
++      (Array_Element): New component Src_Index
++
++      * prj-attr.adb: Indicate that optional index may be specified for
++      attributes Main, Executable, Spec, Body and some of Switches.
++
++      * prj-attr.ads (Attribute_Kind): New values for optional indexes
++      (Attribute_Record): New component Optional_Index
++
++      * prj-com.ads (File_Name_Data): New component Index
++
++      * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
++
++      * prj-env.adb (Put): Output optional index
++
++      * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
++      attributes Spec and Body.
++
++      * prj-nmsc.adb: Process optional indexes
++
++      * prj-pp.adb: Ouput "at" for optional indexes
++
++      * prj-proc.adb: Take into account optional indexes
++
++      * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
++      Optional_Index. For string literal,
++      process optional index when Optional_Index is True.
++      (Parse_Expresion): New Boolean parameter Optional_Index
++
++      * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
++      (Set_Source_Index_Of): New procedure
++
++      * prj-util.adb (Executable_Of, Value_Of): Take into account optional
++      index.
++
++      * prj-util.ads (Executable_Of): New parameter Index
++      (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
++      New parameter Src_Index, defaulted to 0.
++
++2004-05-05  Ed Schonberg  <schonberg@gnat.com>
++
++      PR ada/15257
++      * sem_ch3.adb (Access_Definition): If this is an access parameter
++      whose designated type is imported through a limited_with clause, do
++      not add the enclosing subprogram to the list of private dependents of
++      the type.
++
++2004-05-05  Ed Schonberg  <schonberg@gnat.com>
++
++      PR ada/15258
++      * sem_ch6.adb (Base_Types_Match): True if one type is imported through
++      a limited_with clause, and the other is its non-limited view.
++
++2004-05-05  Thomas Quinot  <quinot@act-europe.fr>
++
++      * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
++
++      * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
++      exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
++      Stand.Boolean_Literals to produce references to entities
++      Standard_False and Standard_True from compile-time computed boolean
++      values.
++
++      * stand.ads (Boolean_Literals): New variable, provides the entity
++      values for False and True, for use by the expander.
++
++2004-05-05  Doug Rupp  <rupp@gnat.com>
++
++      * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
++      5vinmaop.adb: Unchecked convert Short_Address vice Address
++
++      * adaint.c, raise.c: Caste CRTL function return value
++      to avoid gcc error on 32/64 bit IVMS.
++
++      * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
++      target = IA64/VMS.
++
++      * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
++
++      * 5qsystem.ads (Address): Declare as Long_Integer
++      (Short_Address): Declare as 32 bit subtype of Address
++      Declare  abstract address operations to avoid gratuitous ambiguities.
++
++2004-05-05  Jose Ruiz  <ruiz@act-europe.fr>
++
++      * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
++      instead of the old Boolean_Entry_Barriers.
++      Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
++
++2004-05-05  GNAT Script  <nobody@gnat.com>
++
++      * Make-lang.in: Makefile automatically updated
++
++2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
++
++2004-05-03  Olivier Hainque  <hainque@act-europe.fr>
++
++      PR ada/15152
++      * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
++      alone. Replacing object references by literals is inappropriate in a
++      so low level context.
++
++2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * a-exexpr.adb: Add comments
++
++2004-05-03  Joel Brobecker  <brobecker@gnat.com>
++
++      * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
++      declare the Ancestor_Tags array in Type_Specific_Data with a small size
++      without risking a bounds check error when accessing one of its
++      components.
++      (Type_Specific_Data): Define Ancestor_Tags as a small array.
++      This prevents us from hitting a limitation during the debug info
++      generation when using stabs.
++
++      * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
++      small array.
++      This prevents us from hitting a limitation during the debug info
++      generation when using stabs.
++
++2004-05-03  Eric Botcazou  <ebotcazou@act-europe.fr>
++
++      lang-specs.h: Remove -gnatz* from specs.
++
++2004-05-03  Vincent Celier  <celier@gnat.com>
++
++      * gprmake.adb, makegpr.ads, makegpr.adb: New files.
++
++      * Make-lang.in, Makefile.in: Add gprmake
++
++2004-05-03  Thomas Quinot  <quinot@act-europe.fr>
++
++      * sem_aggr.adb: Fix typo in comment.
++
++2004-05-03  Robert Dewar  <dewar@gnat.com>
++
++      * make.adb: Minor reformatting
++
++      * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
++
++      * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
++      so that it works when address is not a private type.
++
++      * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
++      properly with rewritten unchecked conversions. This prevents
++      order-of-elaboration issues that can otherwise arise.
++      (Minimum_Size): Don't check size of access types under VMS
++
++      * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
++      interpretations of integer literals as type System.Address.
++
++      * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
++      (Is_Descendent_Of): New function
++
++2004-05-03  Jose Ruiz  <ruiz@act-europe.fr>
++
++      * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
++      Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
++      No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
++
++      * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
++      of the old Max_Entry_Queue_Depth.
++
++      * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
++      Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
++      No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
++
++      * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
++      New entry for proper handling of Max_Entry_Queue_Depth.
++      New entry for proper handling of No_Dynamic_Interrupts.
++
++      * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
++      supersedes the GNAT specific restriction Boolean_Entry_Barriers.
++      Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
++      the GNAT specific restriction Max_Entry_Queue_Depth.
++      Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
++      the GNAT specific restriction No_Dynamic_Interrupts.
++
++      * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
++      instead of the old Boolean_Entry_Barriers.
++      Use the new restriction No_Dynamic_Attachment instead of the old
++      No_Dynamic_Interrupts.
++
++      * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
++      supersedes the GNAT specific restriction Boolean_Entry_Barriers.
++
++      * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
++      of the old Max_Entry_Queue_Depth.
++
++2004-05-03  GNAT Script  <nobody@gnat.com>
++
++      * Make-lang.in: Makefile automatically updated
++
++2004-04-29  Ed Schonberg  <schonberg@gnat.com>
++
++      * checks.adb (Enable_Range_Check): If the prefix of an index component
++      is an access to an unconstrained array, perform check unconditionally.
++
++2004-04-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * decl.c (gnat_to_gnu_field): Also call make_packable_type if
++      Component_Clause.
++
++2004-04-29  Olivier Hainque  <hainque@act-europe.fr>
++
++      * init.c (__gnat_install_handler, __gnat_error_handler): Remove
++      alternate stack setting. There was no support for the tasking cases
++      and the changes eventually caused a number of side-effect failures in
++      the non-tasking case too.
++
++2004-04-29  Eric Botcazou  <ebotcazou@act-europe.fr>
++
++      lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
++      -gnats is passed.
++
++2004-04-29  Vincent Celier  <celier@gnat.com>
++
++      * make.adb (Gnatmake): Increase max size of argument array for
++      gnatbind for the potential addition of -F.
++      If there are Stand-Alone Library projects, invoke gnatbind with -F to
++      be sure that elaboration flags will be checked.
++
++      * switch-c.adb: Correct call to Scan_Pos for -gnateI
++
++2004-04-29  Thomas Quinot  <quinot@act-europe.fr>
++
++      * sem_warn.adb (Check_References): Move '<access-variable> may be
++      null' warning out of under Warn_On_No_Value_Assigned.
++
++2004-04-29  Ed Falis  <falis@gnat.com>
++
++      * gnat_ugn.texi: Fixed texi error
++
++2004-04-29  Robert Dewar  <dewar@gnat.com>
++
++      * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
++      abstract operations if they come from predefined files.
++
++      * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
++      Dynamic, not RM).
++
++      * s-addope.adb: Correct obvious error in mod function
++
++2004-04-28  Andrew W. Reynolds  <awreynolds@mac.com>
++
++      * Makefile.in: Add target pairs for powerpc darwin*
++      tasking support.
++
++      * a-intnam-darwin.ads, s-osinte-darwin.adb,
++      s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
++
++2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
++
++      * Makefile.in: Add target macro definitions for s390*-linux*.
++      * system-linux-s390.ads: New file.
++      * system-linux-s390x.ads: New file.
++
++2004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
++
++      * gnat_ugn.texi: Correct argument to @setfilename.
++
++2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
++
++      * a-exexpr.adb (Unwind_Word): New data type.
++      (Unwind_Exception): Use it as type of Private1 and Private2.
++
++      * raise.c (db_action_for): Fix debug printf.
++
++2004-04-27  Ed Schonberg  <schonberg@gnat.com>
++
++      * a-wtmoio.ads: Formal type must be a modular type, not a signed
++      integer type.
++
++2004-04-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * decl.c (gnat_to_gnu_entity, case object): Call
++      __builtin_update_setjmp_buf.
++
++      * gigi.h (update_setjmp_buf): Deleted.
++      (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
++
++      * misc.c: (update_setjmp_buf): Deleted.
++
++      * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
++      around block of RTL.
++
++      * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
++
++2004-04-26  Thomas Quinot  <quinot@act-europe.fr>
++
++      * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
++      subprogram for which no pragma All_Calls_Remote applies, store the
++      address of the real subprogram in the underlying record type, so local
++      dereferences do not go through the PCS.
++
++2004-04-26  Robert Dewar  <dewar@gnat.com>
++
++      * i-c.ads: Add some type qualifications to avoid ambiguities when
++      compiling with s-auxdec.ads and a non-private address type.
++
++2004-04-26  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * Makefile.rtl: Fix error in previous check-in:
++      Add s-addope.o to non tasking object list (rather than tasking object
++      list).
++
++2004-04-26  Javier Miranda  <miranda@gnat.com>
++
++      * sem_aggr.adb: Fix typo in comments
++      (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
++      Required to check the null-exclusion attribute.
++
++      * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
++      case of anonymous access types in record and array components. For a
++      component definition the level is the same of the enclosing composite
++      type.
++
++      * sem_ch3.adb (Analyze_Component_Declaration): In case of components
++      that are anonymous access types the level of accessibility depends on
++      the enclosing type declaration. In order to have this information, set
++      the scope of the anonymous access type to the enclosing record type
++      declaration.
++      (Array_Type_Declaration): In case of components that are anonymous
++      access types the level of accessibility depends on the enclosing type
++      declaration. In order to have this information, set the scope of the
++      anonymous access type to the enclosing array type declaration.
++
++      * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
++      access type.
++
++      * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
++      renaming of anonymous access-to-constant types allowed if and only if
++      the renamed object is access-to-constant.
++
++      * sem_util.adb (Type_Access_Level): In case of anonymous access types
++      that are component_definition or discriminants of a nonlimited type,
++      the level is the same as that of the enclosing component type.
++
++2004-04-26  Sergey Rybin  <rybin@act-europe.fr>
++
++      * sem_elim.adb: Some minor code reorganization from code reading. Fix
++      misprint in the function name (File_Name_Match).
++
++2004-04-23  Laurent Guerby  <laurent@guerby.net>
++
++      * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
++      install.
++
++2004-04-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
++
++2004-04-23  Emmanuel Briot  <briot@act-europe.fr>
++
++      * adaint.c (__gnat_try_lock): No longer requires that the parent
++      directory be writable, the directory itself is enough.
++      (gnat_is_absolute_path): Change profile, so that the call from
++      GNAT.OS_Lib can be made more efficient.
++
++      * adaint.h (gnat_is_absolute_path): Change profile, so that the call
++      from GNAT.OS_Lib can be made more efficient.
++
++      * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
++      one copy of the file name. Found by code reading.
++
++2004-04-23  Vincent Celier  <celier@gnat.com>
++
++      * gnat_ugn.texi: Add documentation for gnatmake switch -eL
++      Correct documentation on gnatmake switches transmitted to the compiler
++
++      * ali.ads: Minor comment fix
++
++2004-04-23  Javier Miranda  <miranda@gnat.com>
++
++      * sem_ch6.adb: (Confirming Types): Code cleanup
++
++      * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
++      subprogram types: E_Anonymous_Access_Subprogram_Type and
++      E_Anonymous_Access_Protected_Subprogram_Type.
++
++2004-04-23  Thomas Quinot  <quinot@act-europe.fr>
++
++      * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
++      whether a pragma All_Calls_Remote applies to the subprogram on which
++      'Access is taken.
++      No functional change is introduced by this revision; the new parameter
++      will be used to allow calls to local RCI subprograms to be optimized
++      to not use the PCS in the case where no pragma All_Calls_Remote applies,
++      as is already done in the PolyORB implementation of the DSA.
++
++      * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
++      whether a pragma All_Calls_Remote applies to the subprogram on which
++      'Access is taken.
++      No functional change is introduced by this revision; the new parameter
++      will be used to allow calls to local RCI subprograms to be optimized
++      to not use the PCS in the case where no pragma All_Calls_Remote applies,
++      as is already done in the PolyORB implementation of the DSA.
++
++2004-04-23  Robert Dewar  <dewar@gnat.com>
++
++      * Makefile.rtl: Add entry for s-addope.o in run time library list
++      * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
++      * s-addope.ads, s-addope.adb: New files.
++
++      * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
++      s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
++      s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
++      System.Address to be non-private and signed.
++
++      * sem_elim.adb: Minor reformatting (fairly extensive)
++      Some minor code reorganization from code reading
++      Add a couple of ??? comments
++
++2004-04-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
++      (tree_transform, case N_If_Statement): Remove non-determinism.
++
++      * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
++
++2004-04-23  Sergey Rybin  <rybin@act-europe.fr>
++
++      * gnat_rm.texi: Small fixes in the changes made in the 'pragma
++      Eliminate' section.
++
++      * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
++      no longer used as a parameter name for Eliminate pragma).
++
++2004-04-22  Laurent Guerby  <laurent@guerby.net>
++
++      PR optimization/14984
++      PR optimization/14985
++      * trans.c (gigi): Fix non determinism leading to bootstrap
++      comparison failures.
++
++2004-04-21  Pascal Obry  <obry@gnat.com>
++
++      * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
++      passed to spawnvp() to properly handle program pathname with spaces on
++      Win32.
++
++2004-04-21  Emmanuel Briot  <briot@act-europe.fr>
++
++      * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
++      (Allocate, Deallocate, Free_Physically): Make sure the tasks are
++      unlocked in case of exceptions.
++
++2004-04-21  Joel Brobecker  <brobecker@gnat.com>
++
++      * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
++      This function does not exist anymore.
++
++2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
++
++      * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
++
++      * link.c: Move variables to the __gnat name space.
++
++      * Makefile.in: list link.o explicitly when needed.
++
++      * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
++
++2004-04-21  Javier Miranda  <miranda@gnat.com>
++
++      * einfo.adb (Original_Access_Type): New subprogram
++      (Set_Original_Access_Type): New subprogram
++      (Write_Field21_Name): Write the name of the new field
++
++      * einfo.ads (Original_Access_Type): New field present in access to
++      subprogram types.
++      Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
++      E_Anonymous_Access_Protected_Subprogram_Type.
++
++      * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
++      subprogram types.
++
++      * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
++      to anonymous access to subprogram types.
++
++      * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
++      to subprogram types.
++
++      * sem_ch3.adb (Access_Definition): Complete decoration of entities
++      corresponding to anonymous access to subprogram types.
++      (Analyze_Component_Declaration): Add new actual to the call to
++      subprogram replace_anonymous_access_to_protected_subprogram.
++      (Array_Type_Declaration): Add new actual to the call to subprogram
++      replace_anonymous_access_to_protected_subprogram.
++      (Process_Discriminants): Add new actual to the call to subprogram
++      replace_anonymous_access_to_protected_subprogram.
++      (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
++
++      * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
++      formal.
++
++      * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
++      access to subprogram types.
++
++      * sem_util.adb (Has_Declarations): Addition of package_specification
++      nodes.
++
++2004-04-21  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
++      inlined flags to renamed entity only if in current unit.
++
++2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
++
++      * s-parint.ads: Add DSA implementation marker.
++
++      * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
++      value of System.Partition_Interface.DSA_Implementation to determine
++      what version of the distributed systems annex is available (no
++      implementation, GLADE, or PolyORB).
++
++2004-04-21  Joel Brobecker  <brobecker@gnat.com>
++
++      * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
++
++2004-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
++      with new type if alias sets differ.
++      Fixes ACATS c41103b.
++
++2004-04-21  Vincent Celier  <celier@gnat.com>
++
++      * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
++      Add array Lang_Args for the language specific compiling argument
++      switches.
++
++      * gnat_ugn.texi: Explain in more details when a library is rebuilt.
++
++2004-04-21  Sergey Rybin  <rybin@act-europe.fr>
++
++      * gnat_rm.texi: Update the descripton of the Eliminate pragma
++      according to the recent changes in the format of the parameters of the
++      pragma (replacing Homonym_Number with Source_Location).
++
++2004-04-19  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * 5isystem.ads: Removed, unused.
++
++      * gnat_rm.texi: Redo 1.13 change.
++
++2004-04-19  Robert Dewar  <dewar@gnat.com>
++
++      * s-stoele.ads: Clean up definition of Storage_Offset (the new
++      definition is cleaner, avoids the kludge of explicit Standard operator
++      references, and also is consistent with a visible System.Address with
++      no visible operations.
++
++      * s-geveop.adb: Add declarations to avoid assumption of visible
++      operations on type System.Address (since these might not be available
++      if Address is a non-private type for which the operations
++      are made abstract).
++
++      * sem_eval.adb: Minor reformatting
++
++      * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
++      s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
++      reformatting (new function spec format).
++
++      * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
++      s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
++      s-caun64.adb: Add declarations to avoid assumption of visible
++      operations on type System.Address (since these might not be available
++      if Address is a non-private type for which the operations are made
++      abstract).
++
++      * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
++
++      * exp_intr.adb: Minor comment update
++
++      * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
++
++      * 5omastop.adb: Add declarations to avoid assumption of visible
++      operations on type System.Address (since these might not be available
++      if Address is a non-private type for which the operations
++      are made abstract).
++
++2004-04-19  Vincent Celier  <celier@gnat.com>
++
++      * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
++
++      * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
++      defaulted to Ada.
++
++      * prj-proc.adb (Process): New Boolean parameter Process_Languages,
++      defaulted to Ada.
++      Call Check with Process_Languages.
++      (Check): New Boolean parameter Process_Languages. Call Recursive_Check
++      with Process_Languages.
++      (Recursive_Check): New Boolean parameter Process_Languages. Call
++      Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
++      Process_Languages.
++
++      * prj-proc.ads (Process): New Boolean parameter Process_Languages,
++
++      * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
++      parameter Ada_Main, defaulted to True.
++      Check for Ada specific characteristics only when Ada_Main is True.
++
++      * opt.ads: (Follow_Links): New Boolean flag for gnatmake
++
++      * prj.adb: (Project_Empty): Add new Project_Data components.
++
++      * prj.ads: New types and tables for non Ada languages.
++      (Project_Data): New components Languages, Impl_Suffixes,
++      First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
++      Include_Path, Include_Data_Set.
++
++      * prj-env.ads, prj-env.adb: Minor reformatting
++
++      * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
++      Put subprograms in alphabetical order
++
++      * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
++      defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
++      Opt.Follow_Links.
++
++      * mlib-prj.adb: Back out modification in last version, as they are
++      incorrect.
++      (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
++
++      * make.adb: (Mains): Moved to package Makeutl
++      (Linker_Opts): Moved to package Makeutl
++      (Is_External_Assignment): Moved to package Makeutl
++      (Test_If_Relative_Path): Moved to package Makeutl
++      (Gnatmake): Move sorting of linker options to function
++      Makeutl.Linker_Options_Switches.
++
++      * makeutl.ads, makeutl.adb: New files.
++
++      * Makefile.in: Add makeutl.o to the object files for gnatmake
++
++      * makeusg.adb: Add line for new switch -eL.
++
++      * gnatls.adb (Image): New function.
++      (Output_Unit): If in verbose mode, output the list of restrictions
++      specified by pragmas Restrictions.
++
++      * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
++      Text_IO.
++
++      * a-calend.adb (Split): Shift the date by multiple of 56 years, if
++      needed, to put it in the range 1970 (included) - 2026 (excluded).
++      (Time_Of): Do not shift Unix_Min_Year (1970).
++      Shift the date by multiple of 56 years, if needed, to put it in the
++      range 1970 (included) - 2026 (excluded).
++
++      * adaint.h, adaint.c (__gnat_set_executable): New function.
++
++2004-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
++      and pop GC context.
++      (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
++      (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
++      (tree_transform, case N_Procedure_Call_Statement): Build a tree.
++      (tree_transform, case N_Code_Statement): Likewise.
++      (gnat_expand_stmt, case LABEL_STMT): Don't look at
++      LABEL_STMT_FIRST_IN_EH.
++      (gnat_expand_stmt, case ASM_STMT): New case.
++
++      * utils2.c (build_unary_op): Properly set TREE_READONLY of
++      UNCONSTRAINED_ARRAY_REF.
++
++      * utils.c (poplevel): Temporarily push/pop GC context around inline
++      function expansion.
++
++      * decl.c (maybe_variable): Properly set TREE_READONLY of
++      UNCONSTRAINED_ARRAY_REF.
++      (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
++
++      * ada-tree.def: (ASM_STMT): New.
++
++      * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
++      (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
++      ASM_STMT_INPUT): New.
++      (ASM_STMT_CLOBBER): Likewise.
++
++2004-04-19  Thomas Quinot  <quinot@act-europe.fr>
++
++      * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
++      general rcheck mechanism to raise Program_Error for E.4(18), instead
++      of a custom raiser in System.Partition_Interface.
++      Part of general cleanup work before PolyORB integration.
++
++      * snames.ads, snames.adb: Add new runtime library entities and names
++      for PolyORB DSA.
++
++      * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
++      exp_dist.
++      (Build_Subprogram_Id): New subprogram provided by exp_dist
++      Code reorganisation in preparation for PolyORB integration.
++
++      * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
++      exp_dist.
++      (Build_Subprogram_Id): New subprogram provided by exp_dist
++
++      * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
++      actual parameter types for call to dereference of an
++      access-to-subprogram type.
++
++      * rtsfind.ads: Add new runtime library entities and names for PolyORB
++      DSA.
++
++      * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
++      instead, which has the same behaviour here since we never pass it a
++      NULL pointer.
++
++      * link.c (run_path_option, Solaris case): Use -Wl, as for other
++      platforms.
++
++      * Makefile.in: adjust object file lists for gnatlink and gnatmake
++      to account for new dependency upon Interfaces.C.Strings + link.o
++      For x86 FreeBSD, use 86numaux.
++
++      * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
++      from Mlib.Tgt to Mlib.
++
++      * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
++      target-independent.
++
++      * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
++      target-specific versions of this subprogram, now implemented as a
++      target-independent function in Mlib.
++
++      * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
++      5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
++      (Linker_Library_Path_Option): Remove target-specific versions of this
++      subprogram, now implemented as a target-independent function in Mlib.
++
++      * atree.adb: (Allocate_Initialize_Node): New subprogram.
++      Factors out node table slots allocation.
++      (Fix_Parents): New subprogram.
++      Encapsulate the pattern of fixing up parent pointers for syntactic
++      children of a rewritten node.
++      (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
++      (Rewrite): Use New_Copy when creating saved copy of original node.
++      (Replace): Use Copy_Node to copy nodes.
++
++2004-04-19  Javier Miranda  <miranda@gnat.com>
++
++      * sprint.adb (Sprint_Node_Actual): Give support to the new
++      Access_To_Subprogram node available in Access_Definition nodes. In
++      addition, give support to the AI-231 node fields: null-exclusion,
++      all-present, constant-present.
++
++      * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
++
++      * sinfo.ads, sinfo.adb:
++      New field Access_To_Subprogram_Definition in Access_Definition nodes
++
++      * sem_ch6.adb (Process_Formals): Move here the code that creates and
++      decorates internal subtype declaration corresponding to the
++      null-excluding formal. This code was previously in Set_Actual_Subtypes.
++      In addition, carry out some code cleanup on this code. In case of
++      access to protected subprogram call
++      Replace_Anonymous_Access_To_Protected_Subprogram.
++      (Set_Actual_Subtypes): Code cleanup.
++
++      * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
++      Find_Type in case of anonymous access renamings. Add warning in case of
++      null-excluding attribute used in anonymous access renaming.
++
++      * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
++      subprogram
++
++      * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
++      subprogram.
++      (Access_Definition): In case of anonymous access to subprograms call
++      the corresponding semantic routine to decorate the node.
++      (Access_Subprogram_Declaration): Addition of some comments indicating
++      some code that probably should be added here. Detected by comparison
++      with the access_definition subprogram.
++      (Analyze_Component_Declaration): In case of access to protected
++      subprogram call Replace_Anonymous_Access_To_Protected.
++      (Array_Type_Declaration): In case of access to protected subprogram call
++      Replace_Anonymous_Access_To_Protected_Subprogram.
++      (Process_Discriminants): In case of access to protected subprogram call
++      Replace_Anonymous_Access_To_Protected_Subprogram.
++
++      * par.adb (P_Access_Definition): New formal that indicates if the
++      null-exclusion part was present.
++      (P_Access_Type_Definition): New formal that indicates if the caller has
++      already parsed the null-excluding part.
++
++      * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
++      (P_Identifier_Declarations): Code cleanup and give support to renamings
++      of anonymous access to subprogram types.
++      (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
++      (P_Array_Type_Definition): Give support to AI-254.
++      (P_Component_Items): Give support to AI-254.
++      (P_Access_Definition): New formal that indicates if the header was
++      already parsed by the caller.
++      (P_Access_Type_Definition): New formal that indicates if the caller has
++      already parsed the null-excluding part.
++
++      * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
++      call to P_Access_Definition.
++
++2004-04-19  Geert Bosch  <bosch@gnat.com>
++
++      * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
++      the delicate semantics of floating-point to integer conversion.
++      (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
++
++      * eval_fat.adb (Machine_Mantissa): Moved to spec.
++      (Machine_Radix): New function.
++
++      * eval_fat.ads (Machine_Mantissa): Moved from body for use in
++      conversion checks.
++      (Machine_Radix): New function also for use in conversion checks.
++
++2004-04-19  Ed Schonberg  <schonberg@gnat.com>
++
++      * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
++
++      * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
++      to decorate the access-to-protected subprogram and the equivalent type.
++
++      * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
++      to anonymous access to subprogram types.
++
++      * exp_ch4.adb (Expand_N_In): Preserve Static flag before
++      constant-folding, for legality checks in contexts that require an RM
++      static expression.
++
++      * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
++      temporary but stack checking is not enabled, increment serial number
++      to so that symbol generation is consistent with and without stack
++      checking.
++
++      * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
++      independent on whether stack checking is enabled, caller must check
++      the corresponding flag.
++
++      * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
++      range checks.
++      (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
++      parent if it has discriminants.
++      (Build_Derived_Private_Type): Constructed full view does
++      not come from source.
++      (Process_Discriminants): Default discriminants on a tagged type are
++      legal if this is the internal completion of a private untagged
++      derivation.
++
++      * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
++      no constraint checks, because it corresponds to an existing object.
++
++      * sem_prag.adb (Process_Convention): Pragma applies
++      only to subprograms in the same declarative part, i.e. the same unit,
++      not the same scope.
++
++      * sem_res.adb (Valid_Conversion): In an instance or inlined body,
++      ignore type mismatch on a numeric conversion if expression comes from
++      expansion.
++
++2004-04-19  Sergey Rybin  <rybin@act-europe.fr>
++
++      * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
++      Homonym_Number parameter, add processing for Source_Location parameter
++      corresponding.
++      (Check_Eliminated): Remove the check for homonym numbers, add the check
++      for source location traces.
++
++      * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
++      with Arg_Source_Location corresponding to the changes in the format of
++      the pragma.
++
++      * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
++      Eliminate pragma corresponding to the changes in the format of the
++      pragma: Homonym_Number is replaced with Source_Location, two ways of
++      distinguishing homonyms are mutially-exclusive.
++
++2004-04-19  Joel Brobecker  <brobecker@gnat.com>
++
++      * get_targ.ads (Get_No_Dollar_In_Label): Remove.
++
++      * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
++      No_Dollar_In_Label, no longer necessary, as it is always True.
++      (Strip_Suffixes): Likewise.
++
++2004-04-19  Gary Dismukes  <dismukes@gnat.com>
++
++      * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
++      modulus for compatibility with size clause on targets with 16-bit
++      Integer.
++
++      * layout.adb (Discrimify): In the case of private types, set Vtyp to
++      full type to fix type mismatches on calls to size functions for
++      discriminant-dependent array components.
++
++2004-04-19  Jerome Guitton  <guitton@act-europe.fr>
++
++      * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
++      lib.
++
++2004-04-19  Pascal Obry  <obry@gnat.com>
++
++      * mdll-utl.adb (Locate): New version is idempotent.
++
++2004-04-17  Laurent Guerby  <laurent@guerby.net>
++
++      PR ada/14988 (partial)
++      * impunit.adb: Fix typo.
++
++2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
++
++      * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
++      and install-rts-cert targets.  Remove all gnatlib and gnattools
++      targets and all other rts-* targets (moved to libada).  Remove (now)
++      unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
++      TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
++
++2004-04-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * trans.c (tree_transform): Shortcut returning error_mark_node for
++      statements in annotate_only_mode.
++      (tree_transform, case N_Label, case N_Return_Statement,
++      N_Goto_Statement): Make statement tree instead of generating code.
++      (tree_transform, case N_Assignment_Statement): No longer check
++      type_annotate_only.
++      (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
++      RETURN_STMT): New.
++      (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
++      New fcns.
++      (gnat_to_gnu): Collect any RTL generated and deal with it.
++      (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
++      (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
++      (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
++
++      * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
++
++      * ada-tree.def (EXPR_STMT): Fix typo in name.
++      (BLOCK_STMT, IF_STMT): New nodes.
++
++      * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
++      LABEL_STMT_FIRST_IN_EH): New macros.
++      (RETURN_STMT_EXPR): Likewise.
++
++      * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
++      IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
++
++2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
++
++      * atree.ads: Correct documentation on extended nodes.
++
++      * link.c: Set run_path_option for FreeBSD.
++
++2004-04-08  Vincent Celier  <celier@gnat.com>
++
++      * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
++      one of the ALI file, do not link with DEC lib.
++
++      * par.adb Remove the last two characters ("%s" or "%b") when checking
++      if a language defined unit may be recompiled.
++
++2004-04-08  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
++      removal of abstract operation leaves no possible interpretation for
++      expression.
++
++      * sem_eval.adb (Eval_Qualified_Expression): Use
++      Set_Raises_Constraint_Error on node when needed, so that it does not
++      get optimized away by subsequent optimizations.
++
++      * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
++      operands even when they are not wrapped in a type conversion.
++
++2004-04-08  Olivier Hainque  <hainque@act-europe.fr>
++
++      * sem_prag.adb (Set_Exported): Warn about making static as result of
++      export only when the export is coming from source. This may be not
++      be true e.g. on VMS where we expand export pragmas for exception codes
++      together with imported or exported exceptions, and we don't want the
++      user to be warned about something he didn't write.
++
++2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
++
++      * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
++      duplication between normal entities and those declared as renamings.
++      No functional change.
++
++      * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
++      inline functions returning an unconstrained result.
++
++2004-04-08  Eric Botcazou  <ebotcazou@act-europe.fr>
++
++      * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
++      conform to what other front-ends do.
++
++2004-04-08  Doug Rupp  <rupp@gnat.com>
++
++      * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
++      libraries.
++
++2004-04-06  Pascal Obry  <obry@gnat.com>
++
++      * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
++
++      * osint.adb (Program_Name): Do not look past a directory separator.
++
++2004-04-06  Thomas Quinot  <quinot@act-europe.fr>
++
++      * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
++
++      * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
++      requirement for preserving a copy of the original assignment node.
++
++      * sinfo.ads: Update comment (Original_Tree -> Original_Node).
++
++2004-04-06  Olivier Hainque  <hainque@act-europe.fr>
++
++      (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
++      when supported.
++
++2004-04-06  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
++      operator calls in functional notation, and apply
++      Universal_Interpretation to operands, not to their type.
++
++2004-04-06  Robert Dewar  <dewar@gnat.com>
++
++      * 5wdirval.adb: Minor reformatting
++
++2004-04-06  Ed Falis  <falis@gnat.com>
++
++      * gnat_rm.texi: Improve a reference to the GCC manual
++
++2004-04-05  Vincent Celier  <celier@gnat.com>
++
++      * adaint.h, adaint.c: Add function __gnat_named_file_length
++
++      * impunit.adb: Add Ada.Directories to the list
++
++      * Makefile.in: Add VMS and Windows versions of
++      Ada.Directories.Validity package body.
++
++      * Makefile.rtl: Add a-direct and a-dirval
++
++      * mlib-tgt.ads: Minor comment update.
++
++      * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
++      a-direct.ads, a-direct.adb: New files.
++
++2004-04-05  Vincent Celier  <celier@gnat.com>
++
++      PR ada/13620
++      * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
++      just to the compiler.
++
++2004-04-05  Robert Dewar  <dewar@gnat.com>
++
++      * a-except.adb (Exception_Name_Simple): Make sure lower bound of
++      returned string is 1.
++
++      * ali-util.adb: Use proper specific form for Warnings (Off, entity)
++
++      * eval_fat.ads: Minor reformatting
++
++      * g-curexc.ads: Document that lower bound of returned string values
++      is always one.
++
++      * gnatlink.adb: Add ??? comment for previous change
++      (need to document why this is VMS specific)
++
++      * s-stoele.ads: Minor reformatting
++
++      * tbuild.ads: Minor reformatting throughout (new function specs)
++
++      * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
++      after WITH.
++
++      * scng.adb: Minor reformatting
++
++2004-04-05  Geert Bosch  <bosch@gnat.com>
++
++      * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
++      (Leading_Part): Still perform truncation to machine number if the
++      specified radix_digits is greater or equal to machine_mantissa.
++
++2004-04-05  Javier Miranda  <miranda@gnat.com>
++
++      * par-ch3.adb: Complete documentation of previous change
++      Correct wrong syntax documentation of the OBJECT_DECLARATION rule
++      (aliased must appear before constant).
++
++      * par-ch4.adb: Complete documentation of previous change.
++
++      * par-ch6.adb: Complete documentation of previous change.
++
++      * sinfo.ads: Fix typo in commment.
++
++2004-04-05  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch3.adb (Inherit_Components): If derived type is private and has
++      stored discriminants, use its discriminants to constrain parent type,
++      as is done for non-private derived record types.
++
++      * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
++      Ada 2005 AI-310: an abstract non-dispatching operation is not a
++      candidate interpretation in an overloaded call.
++
++      * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
++      expression is Null and target type is not an access type (e.g. a
++      non-private address type).
++
++2004-04-05  Thomas Quinot  <quinot@act-europe.fr>
++
++      * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
++      statement whose right-hand side is an inlined call, save a copy of the
++      original assignment subtree to preserve enough consistency for
++      Analyze_Assignment to proceed.
++
++      * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
++      complete assignment subtree which is now unnecessary, as the expansion
++      of inlined call has been improved to preserve a consistent assignment
++      tree.  Note_Possible_Modification must be called only
++      after checks have been applied, or else unnecessary checks will
++      be generated.
++
++      * sem_util.adb (Note_Possible_Modification): Reorganise the handling
++      of explicit dereferences that do not Come_From_Source:
++       - be selective on cases where we must go back to the dereferenced
++         pointer (an assignment to an implicit dereference must not be
++         recorded as modifying the pointer);
++       - do not rely on Original_Node being present (Analyze_Assignment
++         calls Note_Possible_Modification on a copied tree).
++
++      * sem_warn.adb (Check_References): When an unset reference to a pointer
++      that is never assigned is encountered, prefer '<pointer> may be null'
++      warning over '<pointer> is never assigned a value'.
++
++2004-04-05  Ramon Fernandez  <fernandez@gnat.com>
++
++      * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
++      the ABI.
++
++2004-04-05  Olivier Hainque  <hainque@act-europe.fr>
++
++      * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
++      libexc. We currently don't reference anything in this library and
++      linking it in triggers linker warnings we don't want to see.
++
++      * init.c: Update comments.
++
++2004-04-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
++      * utils.c (create_field_decl): Likewise.
++      * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
++
++2004-04-02  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
++      Replace ifinfo by ifnottex, to make makeinfo --html happy again.
++      Add info directory entry and category.
++
++2004-04-02  Jan Hubicka  <jh@suse.cz>
++
++      * utils.c: Include function.h
++      (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
++
++2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
++
++      PR ada/14150
++      * Make-lang.in: Clean up generation of documentation
++
++      * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
++
++      * xgnatug.adb: Removed, replaced by xgnatugn.adb
++
++      * xgnatugn.adb: Replaces xgnatug.adb
++
++      * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
++
++      * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
++
++      * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
++      gnat_ug_wnt.texi: Removed.
++
++2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * utils2.c: Update copyright notice.
++
++2004-04-01  Robert Dewar  <dewar@gnat.com>
++
++      * checks.adb: Minor reformatting throughout
++      Note that prev checkin added RM reference to alignment warning
++
++2004-04-01  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_aggr.adb (Get_Component_Val): Treat a string literal as
++      non-static when building aggregate for bit-packed array.
++
++      * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
++      function call that is itself the actual in a procedure call, build
++      temporary for it.
++
++      * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
++      a string literal, create a temporary for it, constant folding only
++      handles scalars here.
++
++2004-04-01  Vincent Celier  <celier@gnat.com>
++
++      * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
++      Error_Msg_SP): New empty procedures to instantiate the Scanner.
++      (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
++      tokens.
++      (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
++      (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
++      and get the checksum.
++
++      * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
++      already in the Q.
++      Increase the Marking_Label at the end of the Multiple_Main_Loop,
++      instead of at the beginning.
++
++      * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
++      directly.
++      (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
++      on VMS.
++
++      * osint.ads (Multi_Unit_Index_Character): New Character global variable
++
++      * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
++      not '~' directly.
++
++      * par.adb: Remove test on file name to detect language defined units.
++      Add test on unit name, after parsing, to detect language defined units
++      that are not compiled with -gnatg (except System.RPC and its children)
++
++      * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
++      following units without style checking.
++
++      * switch-c.adb: Change -gnatC to -gnateI
++
++      * usage.adb: Document new switch -gnateInnn
++
++      * scng.adb (Accumulate_Token_Checksum): New procedure
++      (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
++      word or literal number.
++      (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
++      numbers.
++
++2004-04-01  Thomas Quinot  <quinot@act-europe.fr>
++
++      * a-tasatt.adb,
++      g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
++      switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
++      5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
++      5vtpopde.adb: Add missing 'constant' keywords.
++
++2004-04-01  Javier Miranda  <miranda@gnat.com>
++
++      * par-ch4.adb: (P_Allocator): Code cleanup
++
++      * sem_ch3.adb (Access_Definition): Properly set the null-excluding
++      attribute.
++
++      * sinfo.ads: Complete documentation of previous change
++
++2004-04-01  Pascal Obry  <obry@gnat.com>
++
++      * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
++      only on VMS.  This special handling was done because an old GNU/ld bug
++      on Windows which has been fixed.
++
++2004-04-01  GNAT Script  <nobody@gnat.com>
++
++      * Make-lang.in: Makefile automatically updated
++
++2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * decl.c (gnat_to_gnu_entity, make_type_from_size):
++      Use TYPE_UNSIGNED, not TREE_UNSIGNED.
++      * trans.c (tree_transform, convert_with_check): Likewise.
++      * utils.c (gnat_signed_or_unsigned_type): Likewise.
++      (build_vms_descriptor, unchecked_convert): Likewise.
++      * utils2.c (nonbinary_modular_operation): Likewise.
++
++2004-03-29  Javier Miranda  <miranda@gnat.com>
++
++      * checks.adb (Null_Exclusion_Static_Checks): New subprogram
++      (Install_Null_Excluding_Check): Local subprogram that determines whether
++      an access node requires a runtime access check and if so inserts the
++      appropriate run-time check.
++      (Apply_Access_Check): Call Install_Null_Excluding check if required
++      (Apply_Constraint_Check): Call Install_Null_Excluding check if required
++
++      * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
++
++      * einfo.ads: Fix typo in comment
++
++      * exp_ch3.adb (Build_Assignment): Generate conversion to the
++      null-excluding type to force the corresponding run-time check.
++      (Expand_N_Object_Declaration): Generate conversion to the null-excluding
++      type to force the corresponding run-time check.
++
++      * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
++      the null-excluding type to force the corresponding run-time check.
++
++      * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
++      case of access types unless they have the null-excluding attribute.
++
++      * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
++      part.
++
++      * exp_util.ads: Fix typo in comment
++
++      * par.adb (P_Null_Exclusion): New subprogram
++      (P_Subtype_Indication): New formal that indicates if the null-excluding
++      part has been scanned-out and it was present
++
++      * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
++
++      * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
++      (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
++      type to force the corresponding run-time check
++      (Resolve_Aggregate): Propagate the null-excluding attribute to the array
++      components
++      (Resolve_Array_Aggregate): Carry out some static checks
++      (Resolve_Record_Aggregate.Get_Value): Carry out some static check
++
++      * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
++      attribute must be set only if specified by means of the null-excluding
++      part. In addition, we must also propagate the access-constant attribute
++      if present.
++      (Access_Subprogram_Declaration, Access_Type_Declaration,
++      Analyze_Component_Declaration, Analyze_Object_Declaration,
++      Array_Type_Declaration, Process_Discriminants,
++      Analyze_Subtype_Declaration): Propagate the null-excluding attribute
++      and carry out some static checks.
++      (Build_Derived_Access_Type): Set the null-excluding attribute
++      (Derived_Type_Declaration, Process_Subtype): Carry out some static
++      checks.
++
++      * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
++
++      * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
++
++      * sem_ch6.adb (Process_Formals): Carry out some static checks.
++      (Set_Actual_Subtypes): Generate null-excluding subtype if the
++      null-excluding part was present; it is not required to be done here in
++      case of anonymous access types.
++      (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
++      value.
++
++      * sem_res.adb (Resolve_Actuals): Carry out some static check
++      (Resolve_Null): Allow null in anonymous access
++
++      * sinfo.adb: New subprogram Null_Exclusion_Present
++      All_Present and Constant_Present available on access_definition nodes
++
++      * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
++      object_declaration, derived_type_definition, component_definition,
++      discriminant_specification, access_to_object_definition,
++      access_function_definition, allocator, access_procedure_definition,
++      access_definition, parameter_specification, All_Present and
++      Constant_Present flags available on access_definition nodes.
++
++2004-03-29  Robert Dewar  <dewar@gnat.com>
++
++      * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
++      gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
++      opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
++      par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
++      sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
++      sem_prag.adb: Updates to handle multiple units/file
++
++      * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
++
++      * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
++      sem_util.adb: Minor reformatting
++
++      * sem_ch12.adb: Add comment for previous change
++
++2004-03-29  Laurent Pautet  <pautet@act-europe.fr>
++
++      * osint.adb (Executable_Prefix): Set Exec_Name to the current
++      executable name when not initialized. Otherwise, use its current value.
++
++      * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
++      initialize it to another executable name than the current one. This
++      allows to configure paths for an executable name (gnatmake) different
++      from the current one (gnatdist).
++
++2004-03-29  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_ch6.adb (Expand_Call): A call to a function declared in the
++      current unit cannot be inlined if it appears in the body of a withed
++      unit, to avoid order of elaboration problems in gigi.
++
++      * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
++      information for protected (wrapper) operation as well, to simplify gdb
++      use.
++
++      * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
++      protected body, indicate that the entity for the generated spec comes
++      from source, to ensure that references are properly generated for it.
++      (Build_Body_To_Inline): Do not inline a function that returns a
++      controlled type.
++
++      * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
++      apply convention to homonyms that are declared explicitly.
++
++      * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
++      that renames an equality operator and the operands are overloaded,
++      resolve them with the declared formal types, before rewriting as an
++      operator.
++
++2004-03-29  GNAT Script  <nobody@gnat.com>
++
++      * Make-lang.in: Makefile automatically updated
++
++2004-03-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
++
++      * memtrack.adb: Log realloc calls, which are treated as free followed
++      by alloc.
++
++2004-03-25  Vincent Celier  <celier@gnat.com>
++
++      * prj-makr.adb (Process_Directories): Detect when a file contains
++      several units. Do not include such files in the config pragmas or
++      in the naming scheme.
++
++      * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
++      Resolve links only when not in Trusted_Mode.
++      (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
++      Do not resolve links for the display names.
++
++      * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
++      resolve links when computing the display names.
++
++2004-03-25  Thomas Quinot  <quinot@act-europe.fr>
++
++      * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
++      attribute reference does not denote a subtype, it can be any
++      expression that has a classwide type, potentially after an implicit
++      dereference.  In particular, the prefix can be a view conversion for
++      a classwide type (for which Is_Object_Reference holds), but it can
++      also be a value conversion for an access-to-classwide type. In the
++      latter case, there is an implicit dereference, and the original node
++      for the prefix does not verify Is_Object_Reference.
++
++      * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
++      conversion of a discriminant-dependent component of a mutable object
++      is one itself.
++
++2004-03-25  Ed Schonberg  <schonberg@gnat.com>
++
++      * freeze.adb (Freeze_Entity): When an inherited subprogram is
++      inherited, has convention C, and has unconstrained array parameters,
++      place the corresponding warning on the derived type declaration rather
++      than the original subprogram.
++
++      * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
++      indication on renaming declaration, if formal has a box and actual
++      is absent.
++
++      * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
++      determine whether to generate an implicit or explicit reference to
++      the renamed entity.
++
++      * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
++      subprogram renaming comes from a defaulted formal subprogram in an
++      instance.
++
++2004-03-25  Gary Dismukes  <dismukes@gnat.com>
++
++      * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
++      value expressions to ensure that calls within a component definition
++      will be checked (since those are evaluated during the record type's
++      elaboration).
++
++2004-03-25  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * s-tpobop.adb: Code clean up:
++      (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
++      code.
++      (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
++
++2004-03-25  Jose Ruiz  <ruiz@act-europe.fr>
++
++      * Makefile.in: Clean up in the ravenscar run time.
++
++2004-03-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
++      of No_Strict_Aliasing to build_pointer_type_for_mode.
++      * utils.c (update_pointer_to): Walk pointer and ref chains.
++
++2004-03-22  Cyrille Comar  <comar@act-europe.fr>
++
++      * ali.ads: Fix Comment about Dynamic_Elab.
++
++      * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
++      Has_RACW, Is_Generic, etc.)
++      (Output_Object, Gnatls): Take into account ALI files not attached to
++      an object.
++
++2004-03-22  Vincent Celier  <celier@gnat.com>
++
++      * gprep.adb: Change all String_Access to Name_Id
++      (Is_ASCII_Letter): new function
++      (Double_File_Name_Buffer): New procedure
++      (Preprocess_Infile_Name): New procedure
++      (Process_Files): New procedure
++      (Gnatprep): Check if output and input are existing directories.
++      Call Process_Files to do the real job.
++
++2004-03-22  Robert Dewar  <dewar@gnat.com>
++
++      * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
++      s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
++
++2004-03-22  Sergey Rybin  <rybin@act-europe.fr>
++
++      * scn.adb (Contains): Add check for EOF, is needed for a degenerated
++      case when the source contains only comments.
++
++2004-03-22  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
++      declaration for a child subprogram body that acts as a spec, indicate
++      that the entity in the declaration needs debugging information.
++
++      * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
++      full view if the subtype is created for a constrained record component;
++      gigi has enough information to construct the record, and there is no
++      place in the tree for the declaration.
++
++      * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
++      serial number for the dummy body that is built for analysis, to avoid
++      inconsistencies in the generation of internal names when compiling
++      with -gnatN.
++
++2004-03-22  Thomas Quinot  <quinot@act-europe.fr>
++
++      * sem_util.adb (Is_Object_Reference): A view conversion denotes an
++      object.
++
++2004-03-22  GNAT Script  <nobody@gnat.com>
++
++      * Make-lang.in: Makefile automatically updated
++
++2004-03-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
++      * trans.c (tree_transform, emit_index_check): Likewise.
++      * utils.c (build_template): Likewise.
++      (max_size, convert): Remove handling of WITH_RECORD_EXPR.
++      (maybe_unconstrained_array, unchecked_convert): Likewise.
++      * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
++      (build_unary_op): Likewise.
++      (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
++      (fill_vms_descriptor): Likewise.
++      (build_call_alloc_dealloc): Likewise.
++      ALIGN is unsigned.
++      * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
++
++2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
++
++      PR other/14630
++      * gnat_ug.texi: Add info directory category and entry.
++      * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
++      gnat_ug_wnt.texi: Regenerate.
++
++2004-03-19  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * ada-tree.h: Update copyright notice.
++      Minor reformatting.
++
++2004-03-19  Olivier Hainque  <hainque@act-europe.fr>
++
++      * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
++      as regular exception objects and not as mere integers representing the
++      condition code.  The latter approach required some dynamics to mask off
++      severity bits, which did not fit well into the GCC table based model.
++      (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
++      exception data objects. We don't it and it would conflict with the other
++      external symbol we have to generate for such exceptions.
++
++      * trans.c (tree_transform, case N_Exception_Handler): Remove part of
++      the special code for VMS exceptions, since these are now represented
++      as regular exceptions objects.
++
++2004-03-19 Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * decl.c (debug_no_type_hash): Remove.
++      (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
++      * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
++
++2004-03-19  Laurent Guerby  <laurent@guerby.net>
++
++      * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
++      aggregate, allows bootstrap from 3.3 on powerpc-darwin.
++
++2004-03-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
++      (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
++      (TYPE_RM_SIZE_INT): Directly use type.values.
++      (TREE_LOOP_ID): Clean up check.
++      * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
++      TYPE_VALUES, not TYPE_FIELDS.
++      * trans.c (convert_with_check): Delay access of bounds of basetype
++      until sure is numeric.
++
++2004-03-18  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
++
++      Code clean up:
++      * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
++      5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
++      Specific.Set instead of direct call to e.g pthread_setspecific.
++
++2004-03-18  Thomas Quinot  <quinot@act-europe.fr>
++
++      * adaint.c: Update comments.
++
++      * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
++      GNATLIB_SHARED for FreeBSD.
++
++2004-03-18  Jose Ruiz  <ruiz@act-europe.fr>
++
++      * init.c [VxWorks]: Do not fix the stack size for the environment task.
++      When needed (stack checking) the stack size is retrieved
++      from the VxWorks kernel.
++
++      * Makefile.in: Flag -nostdinc is required when building the run time
++      for avoiding looking for files in the base compiler.
++      Add the VxWorks specific version of the package body for
++      System.Stack_checking.Operations (5zstchop.adb).
++
++      * Make-lang.in: Add the object file for
++      System.Stack_Checking.Operations.
++
++      * Makefile.rtl: Add object file for the package
++      System.Stack_Checking.Operations.
++
++      * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
++
++      * s-stache.ads, s-stache.adb: Move the operations related to stack
++      checking from this package to package System.Stack_Checking.Operations.
++      This way, stack checking operations are only linked in the final
++      executable when using the -fstack-check flag.
++
++2004-03-18  Doug Rupp  <rupp@gnat.com>
++
++      * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
++      Reorganize ifeq's.
++
++      * 5qsystem.ads, 5xcrtl.ads: New files.
++
++2004-03-18  Vincent Celier  <celier@gnat.com>
++
++      * prj.adb (Reset): Reset hash table Files_Htable
++
++      * prj-env.adb (Source_Paths, Object_Paths): New tables.
++      (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
++      the procedures Add_To_Path_File.
++      (Set_Ada_Paths): Accumulate source and object dirs in the tables,
++      making sure that each directory is present only once and, for object
++      dirs, when a directory already present is added, the duplicate is
++      removed and the directory is always put as the last in the table.
++      Write the path files at the end of these accumulations.
++
++      * prj-nmsc.adb (Record_Source): Add source file name in hash table
++      Files_Htable for all sources.
++
++      * prj-proc.adb (Process): Remove restrictions between not directly
++      related extending projects.
++
++2004-03-18  Emmanuel Briot  <briot@act-europe.fr>
++
++      * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
++      (Find_Sources): Minor speed optimization.
++
++      * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
++      parameter Trusted_Mode.
++
++2004-03-18  Sergey Rybin  <rybin@act-europe.fr>
++
++      * scn.adb (Determine_License): Take into account a degenerated case
++      when the source contains only comments.
++
++2004-03-18  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_warn.adb (Check_References): For a warning on a selected
++      component that does not come from source, locate an uninitialized
++      component of the record type to produce a more precise error message.
++
++2004-03-15  Jerome Guitton  <guitton@act-europe.fr>
++
++      * 3zsoccon.ads: Fix multicast options.
++
++      * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
++      in the spec.
++
++2004-03-15  Robert Dewar  <dewar@gnat.com>
++
++      * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
++      pragma used for a private type.
++
++      * lib-xref.adb (Generate_Reference): Do not generate warning if
++      reference is in a different unit from the pragma Unreferenced.
++
++      * 5vtpopde.adb: Minor reformatting
++      Fix casing of To_Task_ID
++
++      * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
++      flag if we have an unchecked conversion to an access type in the same
++      unit.
++
++2004-03-15  Geert Bosch  <bosch@gnat.com>
++
++      * a-ngcoty.adb (Modulus): In alternate formula for large real or
++      imaginary parts, use Double precision throughout.
++
++      * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
++      we want to be able to compile run-time with -gnata for testing, but
++      this may also be instantiated in user code that is compiled with -gnata.
++
++2004-03-15  Olivier Hainque  <hainque@act-europe.fr>
++
++      * s-stalib.ads (Exception_Code): New type, to represent Import/Export
++      codes. Having a separate type for this is useful to enforce consistency
++      throughout the various run-time units.
++      (Exception_Data): Use Exception_Code for Import_Code.
++
++      * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
++      Natural and Integer in various places.
++      (Register_VMS_Exception): Use Base_Code_In to compute the exception code
++      with the severity bits masked off.
++      (Register_VMS_Exception): Handle the additional exception data pointer
++      argument.
++
++      * raise.c (_GNAT_Exception structure): Remove the handled_by_others
++      component, now reflected by an exported accessor.
++      (is_handled_by): New routine to compute whether the propagated
++      occurrence matches some handler choice specification. Extracted out of
++      get_action_description_for, and expanded to take care of the VMS
++      specifities.
++      (get_action_description_for): Use is_handled_by instead of an explicit
++      complex condition to decide if the current choice at hand catches the
++      propagated occurrence.
++
++      * raise.h (Exception_Code): New type for C.
++
++      * rtsfind.ads (RE_Id, RE_Unit_Table): Add
++      System.Standard_Library.Exception_Code, to allow references from the
++      pragma import/export expander.
++
++      * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
++      New accessors to allow easy access to GNAT exception data
++      characteristics.
++      (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
++      redundant Handled_By_Others component, helper for the personality
++      routine which will now be able to call the appropriate exception data
++      accessor instead.
++
++      * cstand.adb (Create_Standard): Adjust the type of the Import_Code
++      component of Standard_Exception_Type to be the closest possible to
++      Exception_Code in System.Standard_Library, that we cannot get at this
++      point. Expand a ??? comment to notify that this type node should
++      probably be rewritten later on.
++
++      * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
++      registration call to include a pointer to the exception object in the
++      arguments.
++
++      * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
++      instead of int and explicit bitmasks.
++
++2004-03-15  Vincent Celier  <celier@gnat.com>
++
++      * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
++      equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
++
++      * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
++      longer needed now that it is in the spec of
++      System.Tasking.Task_Attributes.
++
++      * adaint.h, adaint.c: (__gnat_create_output_file): New function
++
++      * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
++
++      * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
++
++      * make.adb (Gnatmake): Do not check the executable suffix; it is being
++      taken care of in Scan_Make_Arg.
++      (Scan_Make_Arg): Add the executable suffix only if the argument
++      following -o, in canonical case, does not end with the executable
++      suffix.  When in verbose mode and executable file name does not end
++      with executable suffix, output the executable name, in canonical case.
++
++      * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
++      to avoid warnings when instantiating Ada.Task_Attributes.
++      Minor reformating.
++
++      * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
++      in the correct order.
++
++      * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
++      redirect standard output and error to a file for the invocation of the
++      compiler, then read the file.
++
++      * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
++      directory, instead of the Value.
++      (Find_Source_Dirs): Remove useless code & comments.
++
++2004-03-15  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
++      tagged type is inherited, and the parent operation is not frozen yet,
++      force generation of a freeze node for the inherited operation, so the
++      corresponding dispatch entry is properly initialized.
++      (Make_Predefined_Primitive_Specs): Check that return type is Boolean
++      when looking for user-defined equality operation.
++
++      * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
++      boolean when locating primitive equality of tagged component.
++
++      * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
++      bit-aligned field and the right-hand side a string literal, introduce
++      a temporary before expanding assignment into a loop.
++
++      * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
++      priority in full, to ensure that any expanded subepxressions of it are
++      elaborated in the scope of the init_proc.
++
++      * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
++      after object declaration, skipping over code that may have been
++      generated for validity checks.
++
++      * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
++      discriminants, ignore the known discriminants of its full view, if
++      any, to check legality.
++
++      * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
++      component if type has unknown discriminants.
++      (Analyze_Private_Extension_Declaration): Discriminant constraint is
++      null if type has unknown discriminants.
++
++      * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
++      for end label when present.
++
++      * s-fileio.adb (Open): When called with a C_Stream, use given name for
++      temporary file, rather than an empty string.
++
++2004-03-15  Ed Falis  <falis@gnat.com>
++
++      * s-thread.adb: Removed, no longer used.
++
++2004-03-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * decl.c (target.h): Now include.
++      (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
++      in new build_pointer_from_mode calls for non-fat/non-thin pointer.
++      (validate_size): For POINTER_TYPE, get smallest size permitted on
++      machine.
++
++      * fe.h: Sort Einfo decls and add Set_Mechanism.
++
++      * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
++      (ada/decl.o): Depends on target.h.
++
++      * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
++      FUNCTION_BOUNDARY; always use TYPE_ALIGN.
++
++2004-03-15  Thomas Quinot  <quinot@act-europe.fr>
++
++      * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
++
++      * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
++      Insert_Dereference_Action when rewriting an implicit dereference into
++      an explicit one, this will be taken care of during expansion of the
++      explicit dereference.
++      (Expand_N_Slice): Same. Always do the rewriting, even for the case
++      of non-packed slices, since the dereference action generated by
++      expansion of the explicit dereference is needed in any case.
++      (Expand_N_Selected_Component): When rewriting an implicit dereference,
++      analyze and resolve the rewritten explicit dereference so it is seen
++      by the expander.
++      (Insert_Dereference_Action): This procedure is now called only for the
++      expansion of an N_Explcit_Dereference_Node. Do insert a check even for
++      dereferences that do not come from source (including explicit
++      dereferences resulting from rewriting implicit ones), but do not
++      recursively insert a check for the dereference nodes contained within
++      the check.
++      (Insert_Dereference_Action): Clarify and correct comment.
++
++2004-03-08  Paolo Bonzini  <bonzini@gnu.org>
++
++      PR ada/14131
++      Move language detection to the top level.
++      * config-lang.in: Build by default.
++
++2004-03-05  Robert Dewar  <dewar@gnat.com>
++
++      * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
++
++      * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
++      i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
++      5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
++      5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
++      unchecked conversion to spec to avoid warnings.
++
++      * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
++      to Task_ID
++
++      * 7stpopsp.adb: Correct casing in To_Task_ID call
++
++      * a-strsea.ads, a-strsea.adb: Minor reformatting
++
++      * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
++
++      * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
++      Adjust Max_Msg_Length to be clearly large enough.
++
++      * fe.h: Define In_Same_Source_Unit
++
++      * osint.adb: Add pragma Warnings Off to suppress warnings
++      * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
++      aliasing warnings.
++
++      * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
++
++      * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
++
++      * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
++
++      * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
++
++      * sem_prag.adb: Implement pragma No_Strict_Aliasing.
++
++      * sinfo.ads: Remove obsolete comment on validate unchecked conversion
++      node. We now do generate them for gcc back end.
++
++      * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
++      warning.
++
++      * sinput-c.adb: Fix bad name in header.
++      Add pragma Warnings Off to suppress aliasing warning.
++
++      * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
++
++      * snames.h, snames.ads, snames.adb: Add entry for pragma
++      No_Strict_Aliasing.
++
++2004-03-05  Vincent Celier  <celier@gnat.com>
++
++      * prj-com.ads: Add hash table Files_Htable to check when a file name
++      is already a source of another project.
++
++      * prj-nmsc.adb (Record_Source): Before recording a new source, check
++      if its file name is not already a source of another project. Report an
++      error if it is.
++
++      * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
++      source file name, call gnatpp with all the sources of the main project.
++
++      * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
++      of file names.
++
++      * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
++      NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
++      /RUNTIME_SYSTEM=, converted to --RTS=
++      /NOTABS, converted to -notabs
++
++2004-03-05  Pascal Obry  <obry@gnat.com>
++
++      * make.adb: Minor reformatting.
++
++2004-03-05  Ed Schonberg  <schonberg@gnat.com>
++
++      Part of implemention of AI-262.
++      * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
++
++      * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
++      procedure.
++
++      * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
++      when component type is a partially constrained class-wide subtype.
++      (Constrain_Discriminated_Type): If parent type has unknown
++      discriminants, a constraint is illegal, even if full view has
++      discriminants.
++      (Build_Derived_Record_Type): Inherit discriminants when deriving a type
++      with unknown discriminants whose full view is a discriminated record.
++
++      * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
++      flag, to handle properly derivations of tagged types with unknown
++      discriminants.
++      (Analyze_Package_Spec, Analyze_Package_Body): Install
++      Private_With_Clauses before analyzing private part or body.
++
++      * einfo.ads: Indicate that both Has_Unknown_Discriminants and
++      Has_Discriminants can be true for a given type (documentation).
++
++2004-03-05  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * s-restri.ads: Fix license (GPL->GMGPL).
++
++      * s-tassta.adb: Minor reformatting.
++
++      * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
++      by calls to Exit_One_ATC_Level, since additional clean up is performed
++      by this function.
++
++      * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
++      by calls to Exit_One_ATC_Level, since additional clean up is performed
++      by this function.
++
++2004-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * trans.c: Reflect GCC changes to fix bootstrap problem.
++      Add warning for suspicious aliasing unchecked conversion.
++
++2004-03-05  GNAT Script  <nobody@gnat.com>
++
++      * Make-lang.in: Makefile automatically updated
++
++2004-03-02  Emmanuel Briot  <briot@act-europe.fr>
++
++      * ali.adb (Read_Instantiation_Instance): Do not modify the
++      current_file_num when reading information about instantiations, since
++      this corrupts files in later references.
++
++2004-03-02  Vincent Celier  <celier@gnat.com>
++
++      * bcheck.adb (Check_Consistency): Get the full path of an ALI file
++      before checking if it is read-only.
++
++      * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
++      of SRC_DIRS and eliminate duplicates.
++
++      * gprcmd.adb: Replace command "path" with command "path_sep" to return
++      the path separator.
++      (Usage): Document path_sep
++
++      * Makefile.generic: For Ada and GNU C++ cases, link directly with the
++      C++ compiler. No need for a script.
++      Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
++      Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
++      subst.
++
++      * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
++      where there are Ada sources.
++      (Set_Ada_Paths): Only add to the include path the source dirs of project
++      with Ada sources.
++      (Add_To_Path): Add the Display_Values of the directories, not their
++      Values.
++
++      * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
++      data.
++
++      * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
++      is not No_Name.
++      (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
++      Value is canonicalized.
++      (Language_Independent_Check): Do not copy Value to Display_Value when
++      canonicalizing Value.
++
++      * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
++      path to find limited with cycles.
++      (Parse_Single_Project): Use canonical cased path to find the end of a
++      with cycle.
++
++2004-03-02  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
++      and not a child unit.
++
++      * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
++      appear in a with_clause.
++
++      * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
++      only happen in type_annotate mode, do not try to elaborate it.
++
++      * exp_util.adb (Force_Evaluation): If expression is a selected
++      component on the left of an assignment, use a renaming rather than a
++      temporary to remove side effects.
++
++      * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
++      inlined instance body, which is analyzed before the end of the
++      enclosing scope.
++
++2004-03-02  Robert Dewar  <dewar@gnat.com>
++
++      * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
++      sem_ch4.adb: Use new feature for substitution of keywords in VMS
++
++      * errout.ads, errout.adb: Implement new circuit for substitution of
++      keywords in VMS.
++
++      * sem_case.adb (Analyze_Choices): Place message properly when case is
++      a subtype reference rather than an explicit range.
++
++      * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
++
++2004-03-02  Doug Rupp  <rupp@gnat.com>
++
++      * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
++
++2004-03-02  Thomas Quinot  <quinot@act-europe.fr>
++
++      * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
++
++2004-03-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
++      BLKmode bitfield.
++
++2004-02-25  Robert Dewar  <dewar@gnat.com>
++
++      * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
++      55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
++      5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
++      5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
++      5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
++      5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
++      the defining instance of the type to avoid aliasing problems.
++      Fix copyright header.  Fix bad comments in package header.
++
++      * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
++
++2004-02-25  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_ch2.adb (Param_Entity): Handle properly formals that have been
++      rewritten as references when aliased through an address clause.
++
++      * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
++      whether call can be interpreted as an indirect call to the result of a
++      parameterless function call returning an access subprogram.
++
++2004-02-25  Arnaud Charlet  <charlet@act-europe.fr>
++
++      Code clean up:
++      * exp_ch7.adb (Make_Clean): Remove generation of calls to
++      Unlock[_Entries], since this is now done by Service_Entries directly.
++
++      * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
++
++      * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
++      Requeue_Call for better code readability. Change spec and update calls:
++      PO_Service_Entries now unlock the PO on exit.
++      (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
++      PO_Service_Entries.
++
++      * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
++
++      * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
++
++2004-02-25  Sergey Rybin  <rybin@act-europe.fr>
++
++      * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
++      protected subprogram call and analyzing the result of such expanding
++      in case when the called protected subprogram is eliminated.
++
++      * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
++      names.
++
++2004-02-25  Jerome Guitton  <guitton@act-europe.fr>
++
++      * Makefile.in: Clean ups.
++
++2004-02-23  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
++      protected operations if original subprogram is flagged as eliminated.
++      (Expand_N_Subprogram_Body): For a protected operation, create
++      discriminals for next operation before checking whether the operation
++      is eliminated.
++
++      * exp_ch9.adb (Expand_N_Protected_Body,
++      Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
++      for internal protected operations if the original subprogram is
++      eliminated.
++
++      * sem_elim.adb (Check_Eliminated): Handle properly protected operations
++      declared in a single protected object.
++
++2004-02-23  Vincent Celier  <celier@gnat.com>
++
++      * prj-attr.adb: Make attribute Builder'Executable an associative array,
++      case insensitive if file names are case insensitive, instead of a
++      standard associative array.
++
++      * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
++      them as case insensitive on platforms where the file names are case
++      sensitive.
++
++      * prj-part.adb (Parse_Single_Project): Make sure, when checking if
++      project file has already been parsed that canonical path are compared.
++
++2004-02-23  Robert Dewar  <dewar@gnat.com>
++
++      * sinput-c.ads: Correct bad unit title in header
++
++      * freeze.adb: Minor reformatting
++
++2004-02-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * trans.c (tree_transform, case N_Procedure_Call_Statement): For
++      nonaddressable COMPONENT_REF that is removing padding that we are
++      taking the address of, take the address of the padded record instead
++      if item is variable size.
++
++2004-02-20  Robert Dewar  <dewar@gnat.com>
++
++      * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
++
++2004-02-20  Ed Schonberg  <schonberg@gnat.com>
++
++      * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
++      itype references for the constrained designated type of a component
++      whose base type is already frozen.
++
++2004-02-20  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
++      avoid GCC warnings.
++
++2004-02-20  Sergey Rybin  <rybin@act-europe.fr>
++
++      * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
++      identifier for a phantom package that rewrites the formal package
++      declaration with a box. The Add semantic decorations for the defining
++      identifier from the original node (that represents the formal package).
++
++2004-02-19  Matt Kraai  <kraai@alumni.cmu.edu>
++
++      * Make-lang.in (ada/stamp-sdefault): Use the top level
++      move-if-change.
++
++2004-02-19  Richard Henderson  <rth@redhat.com>
++
++      * misc.c (record_code_position): Add third build arg for RTL_EXPR.
++
++2004-02-18  Emmanuel Briot  <briot@act-europe.fr>
++
++      * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
++      Scan_ALI can be used for multiple ALI files without reinitializing
++      between calls.
++
++2004-02-18  Robert Dewar  <dewar@gnat.com>
++
++      * debug.adb: Minor reformatting.
++
++2004-02-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
++      to zero if there is an address clause.
++
++2004-02-18  Thomas Quinot  <quinot@act-europe.fr>
++
++      * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
++
++2004-02-18  Gary Dismukes  <dismukes@gnat.com>
++
++      * layout.adb (Layout_Component_List): Revise generation of call to
++      discriminant-checking function to pass selections of all of the type's
++      discriminants rather than just the variant-controlling discriminant.
++
++2004-02-18  Olivier Hainque  <hainque@act-europe.fr>
++
++      * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
++      fail in the current setup and triggers spurious system error messages.
++      Pretend it occurred and failed instead.
++
++2004-02-18  Vincent Celier  <celier@gnat.com>
++
++      * bld.adb: Mark FLDFLAGS as saved
++      (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
++      it is not the root project.  Put each directory to be
++      extended between double quotes to prevent it to be expanded on Windows.
++      (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
++      the project file. Set them back to their initial values if they have not
++      been set in the project file.
++
++      * gprcmd.adb: (Gprdebug, Debug): New global variables
++      (Display_Command): New procedure
++      (Usage): Document new command "linkopts"
++      Call Display_Command when env var GPRDEBUG has the value "TRUE"
++      Implement new command "linkopts"
++      Remove quotes that may be around arguments for "extend"
++      Always call Normalize_Pathname with arguments formatted for the platform
++
++      * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
++      Change @echo to @$(display) in target clean to be able to clean silently
++
++      * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
++
++      * prj-part.adb (Project_Path_Name_Of): Do not put final result in
++      canonical case.
++
++      * prj-part.adb (Parse_Single_Project): Always call with From_Extended
++      = Extending_All when current project is an extending all project.
++
++      * vms_conv.adb (Output_File_Expected): New Boolean global variable,
++      set to True only for LINK command, after Unix switch -o.
++      (Process_Arguments): Set Output_File_Expected to True for LINK command
++      after Unix switch -o. When Output_File_Expected is True, never add an
++      extension to a file name.
++
++      * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
++      option file name, only to the --for-linker= switch.
++      (Option_File_Name): If option file name do not end with ".opt", append
++      "/OPTIONS".
++
++2004-02-18  GNAT Script  <nobody@gnat.com>
++
++      * Make-lang.in: Makefile automatically updated
++
++2004-02-17  Matt Kraai  <kraai@alumni.cmu.edu>
++
++      * Make-lang.in (stamp-sdefault): Do not depend on
++      move-if-change.
++
++2004-02-12  Zack Weinberg  <zack@codesourcery.com>
++
++      * config-lang.in: Disable Ada by default until probe logic for
++      a bootstrap Ada compiler can be moved to the top level configure
++      script.
++
++2004-02-12  Olivier Hainque  <hainque@act-europe.fr>
++
++      * decl.c (components_to_record): Don't claim that the internal fields
++      we make to hold the variant parts are semantically addressable, because
++      they are not.
++
++      * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
++      adjust the comment describing the modular type form when we can use it.
++      (Install_PAT): Account for the Esiz renaming.
++
++      * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
++      sc_onstack context indication before raising the exception to which
++      the signal is mapped. Allows better handling of later signals possibly
++      triggered by the resumed user code if the exception is handled.
++
++2004-02-12  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * 5zinit.adb: Removed, no longer used.
++
++2004-02-12  Robert Dewar  <dewar@gnat.com>
++
++      * ali.adb: Remove separating space between parameters on R line. Makes
++      format consistent with format used by the binder for Set_Globals call.
++
++      * atree.ads, atree.adb: Minor reformatting (new function header format)
++
++      * bindgen.adb: Add Run-Time Globals documentation section containing
++      detailed documentation of the globals passed from the binder file to
++      the run time.
++
++      * gnatls.adb: Minor reformatting
++
++      * init.c (__gnat_set_globals): Add note pointing to documentation in
++      bindgen.
++
++      * lib-writ.ads, lib-writ.adb: Remove separating space between
++      parameters on R line.
++      Makes format consistent with format used by the binder for Set_Globals
++      call.
++
++      * osint.ads: Add 2004 to copyright notice
++      Minor reformatting
++
++      * snames.ads: Correct capitalization of FIFO_Within_Priorities
++      Noticed during code reading, documentation issue only
++
++      * usage.adb: Remove junk line for obsolete C switch
++      Noticed during code reading
++
++2004-02-12  Vincent Celier  <celier@gnat.com>
++
++      * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
++      extend for each directory, so that multiple /** directories are
++      extended individually.
++      (Recursive_Process): Set the default for LANGUAGES to ada
++
++      * gprcmd.adb: Define new command "ignore", to do nothing.
++      Implement new comment "path".
++
++      * Makefile.generic: Suppress output when SILENT is set
++      Make sure that when compiler for C/C++ is gcc, the correct -x switch is
++      used, so that the correct compiler is invoked.
++      When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
++      CXX_INCLUDE_PATH, to avoid failure with too long command lines.
++
++2004-02-12  Jerome Guitton  <guitton@act-europe.fr>
++
++      * Makefile.in: Clean ups and remove obsolete targets.
++
++2004-02-12  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
++      predicate declared in exp_util.
++
++      * exp_util.adb: Add comments.
++
++      * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
++      visibility before compiling context of the subunit.
++
++      * sem_res.adb (Check_Parameterless_Call): If the context expects a
++      value but the name is a procedure, do not attempt to analyze as a call,
++      in order to obtain more telling diagnostics.
++
++      * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
++      'Access on parameterless function calls.
++      (Normalize_Actuals): For a parameterless function call with missing
++      actuals, defer diagnostic until resolution of enclosing call.
++
++      * sem_util.adb (Wrong_Type): If the context type is an access to
++      subprogram and the expression is a procedure name, suggest a missing
++      'attribute.
++
++2004-02-10  Arnaud Charlet  <charlet@act-europe.fr>,
++          Nathanael Nerode  <neroden@gcc.gnu.org>
++
++      PR ada/6637
++      PR ada/5911
++      Merge with libada-branch:
++      * config-lang.in: Build libada only when ada is built.
++
++2004-02-09  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
++      for a tagged type, verify that both formals have the same type.
++
++      * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
++      temporary when the formal is an in-parameter and the actual a possibly
++      unaligned slice.
++
++      * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
++      when expansion is disabled, to ensure proper name capture with
++      overloaded literals.  Condition can be of any boolean type, resolve
++      accordingly.
++
++      * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
++      renaming is for a formal subprogram with a default operator name, and
++      there is a usable operator that is visible at the point of
++      instantiation.
++
++2004-02-09  Robert Dewar  <dewar@gnat.com>
++
++      * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
++      rewrite to ignore errors in ali files, intended to allow tools downward
++      compatibility with new versions of ali files.
++
++      * ali.ads: Add new parameter Ignore_Errors
++
++      * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
++      duplicating the error message giving the file with restrictions.
++
++      * debug.adb: Add debug flag I for gnatbind
++
++      * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
++      operators for the case where the operator is a defining operator.
++
++      * exp_ch3.adb: Minor reformatting (new function spec format).
++
++      * exp_ch4.adb: Add comment for previous change, and make minor
++      adjustment to loop to always check for improper loop termination.
++      Minor reformatting throughout (new function spec format).
++
++      * gnatbind.adb: Implement -di debug flag for gnatbind
++
++      * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
++
++      * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
++
++      * lib-load.adb: Fix bad assertion.
++      Found by testing and code reading.
++      Minor reformatting.
++
++      * lib-load.ads: Minor reformatting.
++
++      * lib-writ.adb: There is only one R line now.
++
++      * lib-writ.ads: Add documentation on making downward compatible changes
++      to ali files so old tools work with new ali files.
++      There is only one R line now.
++      Add documentation on format incompatibilities (with special GPS note)
++
++      * namet.ads, namet.adb: (Is_Operator_Name): New procedure
++
++      * par-load.adb: Minor reformatting
++
++      * sem_ch8.adb: Fix to error message from last update
++      Minor reformatting and restructuring of code from last update
++
++      * par-prag.adb, snames.adb, snames.ads, snames.h,
++      sem_prag.adb: Implement pragma Profile.
++
++      * stylesw.adb: Implement -gnatyN switch to turn off all style check
++      options.
++
++      * usage.adb: Add line for -gnatyN switch
++
++      * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
++
++2004-02-09  Albert Lee  <lee@gnat.com>
++
++      * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
++
++2004-02-09  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
++      slices.
++
++      * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
++      is nested in an instance that is not frozen yet, to avoid
++      order-of-elaboration problems in gigi.
++
++      * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
++      body the attribute is legal.
++
++2004-02-09  Robert Dewar  <dewar@gnat.com>
++
++      * s-rident.ads: Minor comment correction
++
++      * targparm.adb: Remove dependence on uintp completely. There was
++      always a bug in Make in that it called Targparm before initializing
++      the Uint package. The old code appeared to get away with this, but
++      the new code did not! This caused an assertion error in gnatmake.
++
++      * targparm.ads: Fix bad comment, restriction pragmas with parameters
++      are indeed fully supported.
++
++2004-02-06  Alan Modra  <amodra@bigpond.net.au>
++
++      * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
++
++2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
++
++      * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
++      with targetm.calls.promote_prototypes.
++
++2004-02-04  Robert Dewar  <dewar@gnat.com>
++
++      * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
++      ali.ads, gprcmd.adb: Minor reformatting
++
++      * bindgen.adb: Output restrictions string for new style restrictions
++      handling
++
++      * impunit.adb: Add s-rident.ads (System.Rident) and
++      s-restri (System.Restrictions)
++
++      * lib-writ.adb: Fix bug in writing restrictions string (last few
++      entries wrong)
++
++      * s-restri.ads, s-restri.adb: Change name Restrictions to
++      Run_Time_Restrictions to avoid conflict with package name.
++      Add circuit to read and acquire run time restrictions.
++
++2004-02-04  Jose Ruiz  <ruiz@act-europe.fr>
++
++      * restrict.ads, restrict.adb: Use the new restriction
++      No_Task_Attributes_Package instead of the old No_Task_Attributes.
++
++      * sem_prag.adb: No_Task_Attributes is a synonym of
++      No_Task_Attributes_Package.
++
++      * snames.ads, snames.adb: New entry for proper handling of
++      No_Task_Attributes.
++
++      * s-rident.ads: Adding restriction No_Task_Attributes_Package
++      (AI-00249) that supersedes the GNAT specific restriction
++      No_Task_Attributes.
++
++2004-02-04  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_prag.adb:
++      (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
++       body, an identifier may be wrapped in an unchecked conversion.
++
++2004-02-04  Vincent Celier  <celier@gnat.com>
++
++      * lib-writ.ads: Comment update for the W lines
++
++      * bld.adb: (Expression): An empty string list is static
++
++      * fname-uf.adb: Minor comment update
++
++      * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
++
++      * gnatbind.adb: Initialize Cumulative_Restrictions with the
++      restrictions on the target.
++
++2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
++
++      * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
++      gen_rtx.
++
++2004-02-02  Arnaud Charlet  <charlet@gnat.com>
++
++      * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
++
++2004-02-02  Vincent Celier  <celier@gnat.com>
++
++      * gprcmd.adb (Check_Args): If condition is false, print the invoked
++      comment before the usage.
++      Gprcmd: Fail when command is not recognized.
++      (Usage): Document command "prefix"
++
++      * g-md5.adb (Digest): Process last block.
++      (Update): Do not process last block. Store remaining characters and
++      length in Context.
++
++      * g-md5.ads (Update): Document that several call to update are
++      equivalent to one call with the concatenated string.
++      (Context): Add fields to allow new Update behaviour.
++
++      * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
++      defaulted to False.
++      When May_Fail is True and no existing file can be found, return No_File.
++
++      * 6vcstrea.adb: Inlined functions are now wrappers to implementation
++      functions.
++
++      * lib-writ.adb (Write_With_Lines): When body file does not exist, use
++      spec file name instead on the W line.
++
++2004-02-02  Robert Dewar  <dewar@gnat.com>
++
++      * ali.adb: Read and acquire info from new format restrictions lines
++
++      * bcheck.adb: Add circuits for checking restrictions with parameters
++
++      * bindgen.adb: Output dummy restrictions data
++      To be changed later
++
++      * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
++      exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
++      freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
++      sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
++      sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
++
++      * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
++      the warning message on access to possibly uninitialized variable S)
++      Minor changes for new restrictions handling.
++
++      * gnatbind.adb: Minor reformatting
++      Minor changes for new restrictions handling
++      Move circuit for -r processing here from bcheck (cleaner)
++
++      * gnatcmd.adb, gnatlink.adb: Minor reformatting
++
++      * lib-writ.adb: Output new format restrictions lines
++
++      * lib-writ.ads: Document new R format lines for new restrictions
++      handling.
++
++      * s-restri.ads/adb: New files
++
++      * Makefile.rtl: Add entry for s-restri.ads/adb
++
++      * par-ch3.adb: Fix bad error messages starting with upper case letter
++      Minor reformatting
++
++      * restrict.adb: Major rewrite throughout for new restrictions handling
++      Major point is to handle restrictions with parameters
++
++      * restrict.ads: Major changes in interface to handle restrictions with
++      parameters. Also generally simplifies setting of restrictions.
++
++      * snames.ads/adb: New entry for proper handling of No_Requeue
++
++      * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
++      restriction counting.
++      Other minor changes for new restrictions handling
++
++      * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
++      Restriction_Warnings now allows full parameter notation
++      Major rewrite of Restrictions for new restrictions handling
++
++2004-02-02  Javier Miranda  <miranda@gnat.com>
++
++      * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
++      syntax rule for object renaming declarations.
++      (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
++      component definitions.
++
++      * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
++      components.
++      (Array_Type_Declaration): Give support to access components. In addition
++      it was also modified to reflect the name of the object in anonymous
++      array types. The old code did not take into account that it is possible
++      to have an unconstrained anonymous array with an initial value.
++      (Check_Or_Process_Discriminants): Allow access discriminant in
++      non-limited types.
++      (Process_Discriminants): Allow access discriminant in non-limited types
++      Initialize the new Access_Definition field in N_Object_Renaming_Decl
++      node.  Change Ada0Y to Ada 0Y in comments
++
++      * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
++      equality operators.
++      Change Ada0Y to Ada 0Y in comments
++
++      * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
++      renamings Change Ada0Y to Ada 0Y in comments
++
++      * sem_type.adb (Find_Unique_Type): Give support to the equality
++      operators for universal access types
++      Change Ada0Y to Ada 0Y in comments
++
++      * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
++
++      * sinfo.ads (N_Component_Definition): Addition of Access_Definition
++      field.
++      (N_Object_Renaming_Declaration): Addition of Access_Definition field
++      Change Ada0Y to Ada 0Y in comments
++
++      * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
++      component definition and object renaming nodes
++      Change Ada0Y to Ada 0Y in comments
++
++2004-02-02  Jose Ruiz  <ruiz@act-europe.fr>
++
++      * restrict.adb: Use the new restriction identifier
++      No_Requeue_Statements instead of the old No_Requeue for defining the
++      restricted profile.
++
++      * sem_ch9.adb (Analyze_Requeue): Check the new restriction
++      No_Requeue_Statements.
++
++      * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
++      that supersedes the GNAT specific restriction No_Requeue. The later is
++      kept for backward compatibility.
++
++2004-02-02  Ed Schonberg  <schonberg@gnat.com>
++
++      * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
++      5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
++      pragma and fix incorrect ones.
++
++      * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
++      warning if the pragma is redundant.
++
++2004-02-02  Thomas Quinot  <quinot@act-europe.fr>
++
++      * 5staprop.adb: Add missing 'constant' keywords.
++
++      * Makefile.in: use consistent value for SYMLIB on
++      platforms where libaddr2line is supported.
++
++2004-02-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * utils.c (end_subprog_body): Do not call rest_of_compilation if just
++      annotating types.
++
++2004-02-02  Olivier Hainque  <hainque@act-europe.fr>
++
++      * init.c (__gnat_install_handler): Setup an alternate stack for signal
++      handlers in the environment thread. This allows proper propagation of
++      an exception on stack overflows in this thread even when the builtin
++      ABI stack-checking scheme is used without support for a stack reserve
++      region.
++
++      * utils.c (create_field_decl): Augment the head comment about bitfield
++      creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
++      here, because the former is not accurate enough at this point.
++      Let finish_record_type decide instead.
++      Don't make a bitfield if the field is to be addressable.
++      Always set a size for the field if the record is packed, to ensure the
++      checks for bitfield creation are triggered.
++      (finish_record_type): During last pass over the fields, clear
++      DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
++      not covered by the calls to layout_decl.  Adjust DECL_NONADDRESSABLE_P
++      from DECL_BIT_FIELD.
++
++2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
++
++      * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
++      (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
++      (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
++
++2004-01-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
++
++      * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
++      (ZCX_By_Default): Likewise.
++      (Front_End_ZCX_Support): Likewise.
++
++      * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
++      (Initialize_Lock): Mark Level unreferenced.
++      (Sleep): Mark Reason unreferenced.
++      (Timed_Sleep): Likewise.
++      (Wakeup): Likewise.
++      (Exit_Task): Use Result.
++      (Check_No_Locks): Mark Self_ID unreferenced.
++
++      * 5gtasinf.adb (New_Sproc): Make Attr constant.
++      (Bound_Thread_Attributes): Make Sproc constant.
++      (New_Bound_Thread_Attributes): Likewise.
++
++2004-01-26  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
++      one-dimensional array an slice assignments, when component type is
++      controlled.
++
++      * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
++      component type is controlled, and control_actions are in effect, use
++      TSS procedure rather than generating inline code.
++
++      * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
++      arrays with controlled components.
++
++2004-01-26  Vincent Celier  <celier@gnat.com>
++
++      * gnatcmd.adb (GNATCmd): Add specification of argument file on the
++      command line for the non VMS case.
++
++      * gnatlink.adb (Process_Binder_File): When building object file, if
++      GNU linker is used, put all object paths between quotes, to prevent ld
++      error when there are unusual characters (such as '!') in the paths.
++
++      * Makefile.generic: When there are sources in Ada and the main is in
++      C/C++, invoke gnatmake with -B, instead of -z.
++
++      * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
++      from VMS_Conversion.
++      (Process_Argument): New procedure, extracted from VMS_Conversion. Add
++      specification of argument file on the command line.
++
++2004-01-26  Bernard Banner  <banner@gnat.com>
++
++      * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
++
++2004-01-26  Ed Schonberg  <schonberg@gnat.com>
++
++      * snames.adb: Update copyright notice.
++      Add info on slice assignment for controlled arrays.
++
++2004-01-23  Robert Dewar  <dewar@gnat.com>
++
++      * exp_aggr.adb: Minor reformatting
++
++      * exp_ch9.adb: Minor code clean up
++      Minor reformatting
++      Fix bad character in comment
++
++      PR ada/13471
++      * targparm.adb (Get_Target_Parameters): Give clean abort error on
++      unexpected end of file, along with more detailed message.
++
++2004-01-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
++      PAT.
++
++      * decl.c (copy_alias_set): New function.
++      (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
++
++2004-01-23  Doug Rupp  <rupp@gnat.com>
++
++      * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
++      lib$${file} in case subsequent character is not a separator.
++
++2004-01-23  Vincent Celier  <celier@gnat.com>
++
++      * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
++      when the GCC version is at least 3.
++
++      * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
++      Remove all "Opt.", to prepare for opt split
++
++      * prj-part.adb (Parse_Single_Project): New Boolean out parameter
++      Extends_All. Set to True when the project parsed is an extending all
++      project. Fails for importing an extending all project only when the
++      imported project is an extending all project.
++      (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
++      depending on the value of Extends_All returned.
++
++      * prj-proc.adb (Process): Check that no project shares its object
++      directory with a project that extends it, directly or indirectly,
++      including a virtual project.
++      Check that no project extended by another project shares its object
++      directory with another also extended project.
++
++      * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
++      Kind = N_With_Clause
++
++      * prj-tree.ads: Minor reformatting
++      Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
++
++2004-01-23  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
++      applies to a type with an incomplete view, use full view in Name of
++      clause, for consistency with uses of Get_Attribute_Definition_Clause.
++
++2004-01-23  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
++      SCHED_RR, since other values are not supported by this policy.
++      (Initialize): Move initialization of mutex attribute to package
++      elaboration, to prevent early access to this variable.
++
++      * Makefile.in: Remove mention of Makefile.adalib, unused.
++
++      * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
++      1ssecsta.ads: Removed, unused.
++
++2004-01-21  Javier Miranda  <miranda@gnat.com>
++
++      * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
++      entity if already built in the current scope.
++
++      * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
++      reminder in internal scopes. Required for nested limited aggregates.
++
++2004-01-21  Doug Rupp  <rupp@gnat.com>
++
++      * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
++      VMS. Replace all occurences of libgnat- and libgnarl- with
++      libgnat$(hyphen) and libgnarl$(hyphen).
++      Fixed shared library build problem on VMS.
++
++2004-01-21  Robert Dewar  <dewar@gnat.com>
++
++      * mlib-prj.adb: Minor reformatting
++
++2004-01-21  Thomas Quinot  <quinot@act-europe.fr>
++
++      * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
++      'constant' keywords for declaration of pointers that are not modified.
++
++      * exp_pakd.adb: Fix English in comment.
++
++2004-01-21  Ed Schonberg  <schonberg@gnat.com>
++
++      PR ada/10889
++      * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
++      copy all attributes of the parent, including the foreign language
++      convention.
++
++2004-01-21  Sergey Rybin  <rybin@act-europe.fr>
++
++      PR ada/10565
++      * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
++      for 'delay until' statement.
++
++2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
++
++      * Make-lang.in: Replace $(docdir) with doc.
++      (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
++      doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
++      to use consistent MAKEINFO rule.
++      (ada.man, ada.srcman): Dummy entry.
++      (ADA_INFOFILES): Define.
++      (ada.info, ada.srcinfo): New rules.
++
++2004-01-19  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * utils.c: Update copyright notice, missed in previous change.
++
++2004-01-19  Vincent Celier  <celier@gnat.com>
++
++      * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
++      args if Bind is True. Set First_ALI, if not already done.
++      (Build_Library): For Stand Alone Libraries, extract from one ALI file
++      an eventual --RTS switch, for gnatbind, and all backend switches +
++      --RTS, for linking.
++
++2004-01-19  Robert Dewar  <dewar@gnat.com>
++
++      * sem_attr.adb, memtrack.adb: Minor reformatting
++
++2004-01-19  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
++      that rename enumeration literals. This is properly done in sem_eval.
++
++      * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
++      to functions that rename enumeration literals.
++
++      * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
++      functions that rename enumeration literals.
++
++2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
++
++      * Make-lang.in (utils.o): Depend on target.h.
++      * utils.c: Include target.h.
++      (process_attributes): Use targetm.have_named_sections instead
++      of ASM_OUTPUT_SECTION_NAME.
++
++2004-01-16  Andreas Jaeger  <aj@suse.de>
++
++      * Makefile.in: Add $(DESTDIR).
++
++2004-01-15  Olivier Hainque  <hainque@act-europe.fr>
++
++      * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
++      also when not defining if a Size clause applies. That information is
++      not to be ignored.
++
++2004-01-15  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
++      symbolic links for the shared gnat run time when needed.
++
++2004-01-15  Vasiliy Fofanov  <fofanov@act-europe.fr>
++
++      * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
++      for writing, and terminate with an error message if not.
++
++2004-01-15  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
++      warning on an access to subprogram in an instance, when the target
++      type is declared in the same generic unit.
++      (Eval_Attribute): If 'access is known to fail accessibility check,
++      rewrite as a raise statement.
++
++2004-01-15  GNAT Script  <nobody@gnat.com>
++
++      * Make-lang.in: Makefile automatically updated
++
++2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
++
++      * Make-lang.in (ada.srcextra): Dummy entry.
++
++2004-01-14  Kelley Cook  <kcook@gcc.gnu.org>
++
++      * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
++
++2004-01-13  Ed Schonberg  <schonberg@gnat.com>
++
++      * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
++      components that are initialized with aggregates.
++
++2004-01-13  Vincent Celier  <celier@gnat.com>
++
++      * gnatlink.adb (Process_Binder_File): To find directory of shared
++      libgcc, if "gcc-lib" is not a subdirectory, look for the last
++      subdirectory "lib" in the path of the shared libgnat or libgnarl.
++
++      * make.adb (Gnatmake): If GCC version is at least 3, link with
++      -shared-libgcc, when there is at least one shared library project.
++
++      * opt.ads (GCC_Version): New integer constant.
++
++      * adaint.c (get_gcc_version): New function.
++
++2004-01-13  Robert Dewar  <dewar@gnat.com>
++
++      * sem_dist.adb, sem_res.adb, sem_util.adb,
++      sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
++      exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
++
++2004-01-13  Thomas Quinot  <quinot@act-europe.fr>
++
++      * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
++      g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
++      declarations.
++
++2004-01-12  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * misc.c: Remove trailing spaces.
++      Update copyright notice missed in previous change.
++
++      PR ada/13572
++      * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
++      prefix/share/make
++
++      * Makefile.generic: Update copyright.
++      Add license notice.
++
++      * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
++      of prefix/share/make.
++
++      * Makefile.prolog: Update copyright.
++      Add license notice.
++
++2004-01-12  Laurent Pautet  <pautet@act-europe.fr>
++
++      * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
++      3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
++      g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
++      instead of String.
++
++      * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
++      signature.
++
++2004-01-12  Javier Miranda  <miranda@gnat.com>
++
++      * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
++      exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
++      sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
++      sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
++      Component_Definition node.
++
++2004-01-12  Ed Falis  <falis@gnat.com>
++
++      * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
++
++2004-01-12  Thomas Quinot  <quinot@act-europe.fr>
++
++      * link.c: Change default libgnat kind to STATIC for FreeBSD.
++
++2004-01-12  Bernard Banner  <banner@gnat.com>
++
++      * Makefile.in: map 86numaux to a-numaux for x86_64
++
++2004-01-12  Ed Schonberg  <schonberg@gnat.com>
++
++      * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
++      generated to rename a generic actual, go to the actual itself, the
++      subtype is not a user-visible entity.
++
++      * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
++      part is a private subtype, reset the visibility of its full view, if
++      any, to be consistent.
++
++      PR ada/13417
++      * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
++      to use a generic package G as a formal package for another generic
++      declared within G.
++
++2004-01-12  Robert Dewar  <dewar@gnat.com>
++
++      * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
++
++      * usage.adb: Remove mention of obsolete -gnatwb switch
++      Noticed during code reading
++
++2004-01-12  Jerome Guitton  <guitton@act-europe.fr>
++
++      * 1ssecsta.adb: Minor changes for -gnatwa warnings
++
++2004-01-12  GNAT Script  <nobody@gnat.com>
++
++      * Make-lang.in: Makefile automatically updated
++
++2004-01-09  Mark Mitchell  <mark@codesourcery.com>
++
++      * misc.c (gnat_expand_expr): Add alt_rtl parameter.
++
++2004-01-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * link.c [sgi] (shared_libgnat_default): Change to STATIC.
++
++2004-01-05  Kelley Cook  <kcook@gcc.gnu.org>
++
++      * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
++      Update comment and copyright date.
++      * stamp-xgnatug: Delete.
++
++2004-01-05  Robert Dewar  <dewar@gnat.com>
++
++      * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
++      be modified by the binder generated main program if the -D switch is
++      used.
++
++      * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
++      imported functions (since now we expect this to be done for imported
++      functions)
++
++      * 5vtaprop.adb: Add several ??? for sections requiring more comments
++      Minor reformatting throughout
++
++      * 5zinit.adb: Minor reformatting
++      Add 2004 to copyright date
++      Minor changes to avoid -gnatwa warnings
++      Correct some instances of using OR instead of OR ELSE (noted while
++      doing reformatting)
++
++      * sprint.adb: Minor updates to avoid -gnatwa warnings
++
++      * s-secsta.ads, s-secsta.adb:
++      (SS_Get_Max): New function to obtain high water mark for ss stack
++      Default_Secondary_Stack is not a constant since it may be modified by
++      the binder generated main program if the -D switch is used.
++
++      * switch-b.adb: New -Dnnn switch for binder
++
++      * switch-c.adb:
++      Make -gnatg imply all warnings currently in -gnatwa
++
++      * vms_conv.adb: Minor reformatting
++      Add 2004 to copyright notice
++      Add 2004 to printed copyright notice
++
++      * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
++      3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
++      5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
++      5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
++      5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
++      5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
++      5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
++      5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
++      5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
++      5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
++      6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
++      vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
++      xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
++      sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
++      checks.adb, clean.adb, cstand.adb, einfo.ads,
++      einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
++      exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
++      prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
++      sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
++      g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
++      lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
++      Minor reformatting and code clean ups.
++      Minor changes to prevent -gnatwa warnings
++
++      * ali.adb: Minor reformatting and cleanup of code
++      Acquire new SS indication of secondary stack use from ali files
++
++      * a-numaux.ads: Add Pure_Function pragmas for all imported functions
++      (since now we expect this to be done for imported functions)
++
++      * bindgen.adb: Generate call to modify default secondary stack size if
++      -Dnnn switch given
++
++      * bindusg.adb: Add line for new -D switch
++
++      * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
++      replacement name for Type_May_Have_Non_Bit_Aligned_Components!
++      Add circuitry for both records and arrays to avoid gigi
++      processing if the type involved has non-bit-aligned components
++
++      * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
++      N_String_Literal node always references an E_String_Literal_Subtype
++      entity. This may not be true in the future.
++      (Possible_Bit_Aligned_Component): Move processing of
++      Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
++
++      * exp_ch6.adb (Expand_Thread_Body): Pick up
++      Default_Secondary_Stack_Size as variable so that we get value modified
++      by possible -Dnnn binder parameter.
++
++      * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
++      (Type_May_Have_Bit_Aligned_Components): New function.
++
++      * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
++      (Type_May_Have_Bit_Aligned_Components): New function.
++
++      * fe.h: (Set_Identifier_Casing): Fix prototype.
++      Add declaration for Sem_Elim.Eliminate_Error_Msg.
++      Minor reformatting.
++
++      * freeze.adb (Freeze_Entity): Add RM reference to error message about
++      importing constant atomic/volatile objects.
++      (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
++      unless explicit Pure_Function pragma given, to avoid insidious bug of
++      call to non-pure imported function getting eliminated.
++
++      * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
++      gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
++      gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
++      Add 2004 to printed copyright notice
++
++      * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
++      stack used.
++
++      * Makefile.rtl: Add entry for g-sestin.o
++      g-sestin.ads: New file.
++
++      * mdll.adb: Minor changes to avoid -gnatwa warnings
++
++      * mlib-tgt.adb: Minor reformatting
++
++      * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
++      New switch Sec_Stack_Used (GNAT, GNATBIND)
++      Make Default_Secondary_Stack_Size a variable instead of a constant,
++      so that it can be modified by the new -Dnnn bind switch.
++
++      * rtsfind.adb (Load_Fail): Give full error message in configurable
++      run-time mode if all_errors mode is set. This was not done in the case
++      of a file not found, which was an oversight.
++      Note if secondary stack unit is used by compiler.
++
++      * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
++      ineffective elaborate all pragmas on non-visible packages (this
++      happened when a renamed subprogram was called). Now the elaborate all
++      always goes on the package containing the renaming rather than the one
++      containing the renamed subprogram.
++
++      * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
++      (Process_Eliminate_Pragma): Add parameter to capture pragma location.
++
++      * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
++      has an Etype that references an E_String_Literal.
++      (Eval_String_Literal): Avoid assumption that N_String_Literal node
++      always references an E_String_Literal_Subtype entity. This may not
++      be true in the future.
++
++      * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
++      pragma location.
++
++      * sem_res.adb (Resolve): Specialize msg for function name used in proc
++      call.
++
++2004-01-05  Ed Falis  <falis@gnat.com>
++
++      * g-debuti.adb: Replaced direct boolean operator with short-circuit
++      form.
++
++2004-01-05  Vincent Celier  <celier@gnat.com>
++
++      * bld.adb: Minor comment updates
++      (Process_Declarative_Items): Correct incorrect name (Index_Name instead
++      of Item_Name).
++
++      * make.adb (Gnatmake): Special process for files to compile/check when
++      -B is specified. Fail when there are only foreign mains in attribute
++      Main of the project file and -B is not specified. Do not skip bind/link
++      steps when -B is specified.
++
++      * makeusg.adb: Document new switch -B
++
++      * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
++
++      * switch-m.adb: (Scan_Make_Switches): Process -B switch
++
++      * vms_data.ads: Add new GNAT PRETTY qualifier
++      /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
++
++2004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
++      case.
++
++      * misc.c (gnat_printable_name): If VERBOSITY is 2, call
++      Set_Identifier_Casing.
++
++      * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
++      has size that overflows.
++
++2004-01-05  Gary Dismukes  <dismukes@gnat.com>
++
++      * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
++      -gnatwa warning on static condition.
++
++2004-01-05  Doug Rupp  <rupp@gnat.com>
++
++      * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
++
++2004-01-05  Arnaud Charlet  <charlet@act-europe.fr>
++
++      * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
++      all attributes, including read-only attribute.
++
++2004-01-05  Pascal Obry  <obry@gnat.com>
++
++      * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
++      library naming scheme.
++
++      * mlib-prj.adb (Build_Library): Generate different names for the static
++      or dynamic version of the GNAT runtime. This is needed to support the
++      new shared library naming scheme.
++      (Process_Binder_File): Add detection of shared library in binder file
++      based on the new naming scheme.
++
++      * gnatlink.adb (Process_Binder_File): Properly detect the new naming
++      scheme for the shared runtime libraries.
++
++      * Makefile.in:
++      (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
++      scheme.
++      (install-gnatlib): Do not create symlinks for shared libraries.
++      (gnatlib-shared-default): Idem.
++      (gnatlib-shared-dual-win32): New target. Not used for now as the
++      auto-import feature does not support arrays/records.
++      (gnatlib-shared-win32): Do not create copy for the shared libraries.
++      (gnatlib-shared-vms): Fix shared runtime libraries names.
++
++      * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
++      dependent runtime shared library name.
++
++2004-01-05  Vasiliy Fofanov  <fofanov@act-europe.fr>
++
++      * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
++      than the object.
++
++2004-01-05  Ed Schonberg  <schonberg@gnat.com>
++
++      * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
++      protected objects when allocator has a subtype indication, not a
++      qualified expression. Note that qualified expressions may have to be
++      checked when limited aggregates are implemented.
++
++      * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
++      pure, emit warning.
++      (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
++      subprogram is imported, remove warning.
++
++2004-01-05  Geert Bosch  <bosch@gnat.com>
++
++      * s-poosiz.adb: Update copyright notice.
++      (Allocate): Use Task_Lock to protect against concurrent access.
++      (Deallocate): Likewise.
++
++2004-01-05  Joel Brobecker  <brobecker@gnat.com>
++
++      * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
++      comment.
++
++
++\f
++Copyright (C) 2004 Free Software Foundation, Inc.
++
++Copying and distribution of this file, with or without modification,
++are permitted in any medium without royalty provided the copyright
++notice and this notice are preserved.
+Index: gcc/ada/ChangeLog-2005
+===================================================================
+--- gcc/ada/ChangeLog-2005     (.../tags/gcc_4_4_0_release)    (wersja 0)
++++ gcc/ada/ChangeLog-2005     (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -0,0 +1,8014 @@
++2005-12-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
++
++      * s-osinte-linux-hppa.ads: Correct alignment of atomic_lock_t.
++
++2005-12-12  Arnaud Charlet  <charlet@adacore.com>
++
++      * Makefile.in: Remove dummy setting of GCC_FOR_TARGET, no longer
++      needed.
++
++2005-12-12  Arnaud Charlet  <charlet@adacore.com>
++
++      * Make-lang.in: Update dependencies
++
++2005-12-12  Arnaud Charlet  <charlet@adacore.com>
++
++      * Make-lang.in: Add rule for ada/exp_sel.o
++
++2005-12-12  Arnaud Charlet  <charlet@adacore.com>
++
++      * Makefile.in (mingw section): Remove EH_MECHANISM setting.
++
++2005-12-09  Arnaud Charlet  <charlet@adacore.com>
++
++      * gnatvsn.ads (Library_Version): Bump to version 4.2
++      (ASIS_Version_Number): Bumped.
++
++2005-12-09  Doug Rupp  <rupp@adacore.com>
++
++      * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb (Is_Interface): Change
++      Ada bind file prefix on VMS from b$ to b__.
++      (Build_Dynamic_Library): Change Init file suffix on VMS from $init to
++      __init.
++
++      * prj-nmsc.adb: Change some Hostparm.OpenVMS checks to
++      Targparm.OpenVMS_On_Target.
++      (Object_Suffix): Initialize with target object suffix.
++      (Get_Unit): Change Ada bind file prefix on VMS from b$ to b__.
++
++      * butil.adb: Change some Hostparm.OpenVMS checks to
++      Targparm.OpenVMS_On_Target.
++
++      * clean.adb: Change some Hostparm.OpenVMS checks to
++      Targparm.OpenVMS_On_Target.
++      (Object_Suffix): Initialize with call to Get_Target_Object_Suffix.
++      ({declaraction},Delete_Binder_Generated_Files,{initialization}): Change
++      Ada bind file prefix on VMS from b$ to b__.
++
++      * gnatlink.adb (Process_Args): Call Add_Src_Search_Dir for -I in
++      --GCC so that Get_Target_Parameters can find system.ads.
++      (Gnatlink): Call Get_Target_Parameters in mainline.
++      Initialize standard packages for Targparm.
++      Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
++      (Process_Args): Also Check for object files with target object
++      extension.
++      (Make_Binder_File_Names): Create with target object extension.
++      (Make_Binder_File_Names): Change Ada bind file prefix on VMS from b$
++      to b__.
++
++      * mlib-prj.adb: Change some Hostparm.OpenVMS checks to
++      Targparm.OpenVMS_On_Target.
++      ({declaration},Build_Library,Check_Library): Change Ada bind file
++      prefix on VMS from b$ to b__.
++
++      * osint-b.adb: Change some Hostparm.OpenVMS checks to
++      Targparm.OpenVMS_On_Target.
++      (Create_Binder_Output): Change Ada bind file prefix on VMS from b$ to
++      b__.
++
++      * targext.c: New file.
++
++      * Makefile.in: add support for vxworks653 builds
++      (../../vxaddr2line): gnatlink with targext.o.
++      (TOOLS_LIBS): Move targext.o to precede libgnat.
++      (init.o, initialize.o): Minor clean up in dependencies.
++      (GNATLINK_OBJS): Add targparm.o, snames.o
++      Add rules fo building targext.o and linking it explicitly with all
++      tools.
++      Also add targext.o to gnatlib.
++
++      * Make-lang.in: Add rules for building targext.o and linking it in
++      with gnat1 and gnatbind.
++      Add entry for exp_sel.o.
++
++      * osint.adb Change some Hostparm.OpenVMS checks to
++      Targparm.OpenVMS_On_Target.
++      (Object_File_Name): Use target object suffix.
++
++      * osint.ads (Object_Suffix): Remove, no longer used.
++      (Target_Object_Suffix): Initialize with target object suffix.
++
++      * rident.ads: Add special exception to license.
++
++      * targparm.adb (Get_Target_Parameters): Set the value of
++      Multi_Unit_Index_Character after OpenVMS_On_Target gets its definitive
++      value.
++      (Get_Target_Parameters): Set OpenVMS_On_Target if openvms.
++
++      * targparm.ads: Add special exception to license.
++
++      * g-os_lib.ads, g-os_lib.adb (Get_Target_Debuggable_Suffix): New
++      function.
++      (Copy_File): Make sure from file is closed if error on to file
++      (Get_Target_Executable_Suffix, Get_Target_Object_Suffix): New functions.
++
++      * make.adb (Object_Suffix): Intialize with Get_Target_Object_Suffix.
++      (Executable_Suffix): Intialize with Get_Target_Executable_Suffix.
++
++      * osint-c.adb (Set_Output_Object_File_Name): Initialize extension with
++      target object suffix.
++
++2005-12-09  Jose Ruiz  <ruiz@adacore.com>
++          Quentin Ochem  <ochem@adacore.com>
++          Florian Villoing  <villoing@adacore.com>
++
++      * a-taster.ads, a-taster.adb: New files.
++
++      * a-elchha.adb (Last_Chance_Handler): Change the task termination soft
++      link to the version that does nothing. This way the task termination
++      routine is not executed twice for the environment task when finishing
++      because of an unhandled exception.
++
++      * a-exextr.adb (Notify_Unhandled_Exception): Call the task termination
++      handler because of an unhandled exception.
++
++      * a-taside.adb (Abort_Tasks): Call the Abort_Tasks procedure from
++      System.Tasking.Utilities instead of that in System.Tasking.Stages.
++
++      * s-finimp.adb (initialization code): Modify the soft link for the
++      finalization of the global list instead of Adafinal.
++
++      * s-soflin.ads, s-soflin.adb (Task_Termination_NT): Add this
++      non-tasking version of the soft link for task termination. We do
++      nothing since if we are using the non-tasking version it
++      means that the task termination functionality is not used.
++      (Null_Finalize_Global_List): Add this null version for the procedure
++      in charge of finalizing the global list for controlled objects.
++      (Null_Adafinal): Remove this procedure. Adafinal_NT has been created
++      instead for handling run-time termination in a more flexible way.
++      (Adafinal_NT): This new procedure will take care of finalizing the
++      global list for controlled objects if needed, but no tasking
++      finalization.
++
++      * s-tarest.adb (Task_Lock): Do not try to lock again the
++      Global_Task_Lock if we already own it. Otherwise, we get blocked in
++      some run-time operations.
++      (Task_Unlock): Do not try to actually unlock the Global_Task_Lock
++      until all nested locks have been released.
++      (Task_Wrapper): Call the fall-back task termination handler. It
++      applies to all tasks but the environment task.
++      (Finalize_Global_Tasks): Add the call for the task termination
++      procedure for the environment task.
++      (Task_Wrapper): suppress warnings around declaration of
++      Secondary_Stack_Address.
++
++      * s-tasini.adb (Final_Task_Unlock): Global_Task_Lock_Nesting has been
++      moved to the Common_ATCB record.
++      (Task_Lock): Global_Task_Lock_Nesting has been moved to the
++      Common_ATCB record.
++      (Task_Unlock): Global_Task_Lock_Nesting has been moved to the
++      Common_ATCB record.
++
++      * s-taskin.adb (Initialize_ATCB): Initialize Global_Task_Lock_Nesting,
++      Fall_Back_Handler, and Specific_Handler.
++
++      * s-taskin.ads (Cause_Of_Termination): Redefine this type here, already
++      defined in Ada.Task_Termination, to avoid circular dependencies.
++      (Termination_Handler): Redefine this type here, alredy defined in
++      Ada.Task_Termination, for avoiding circular dependencies.
++      (Common_ATCB): Add the Fall_Back_Handler and Specific_Handler required
++      for storing task termination handlers. In addition,
++      Global_Task_Lock_Nesting has been moved from Ada_Task_Control_Block to
++      Common_ATCB because it is used by both the regular and the restricted
++      run times.
++      (Ada_Task_Control_Block): Move Global_Task_Lock_Nesting from here to
++      Common_ATCB because it is used by both the regular and the restricted
++      run times.
++      (Common_ATCB): Added a dynamic task analyzer field.
++
++      * s-tassta.adb (Abort_Tasks): Move the code in charge of checking
++      potentially blocking operations to System.Tasking.Utilities.Abort_Tasks.
++      (Task_Wrapper): Call the task termination handler. It applies to all
++      tasks but the environment task.
++      (Finalize_Global_Tasks): Call the task termination procedure for the
++      environment task. The call to Finalize_Global_List is now performed
++      using the soft links mechanism.
++      (Task_Wrapper): added dynamic stack analysis.
++
++      * s-tasuti.adb (Abort_Tasks): The code in charge of checking
++      potentially blocking operations has been moved from
++      System.Tasking.Stages.Abort_Tasks to this procedure. There can be
++      direct calls to System.Tasking.Utilities.Abort_Tasks that do not pass
++      through System.Tasking.Stages.Abort_Tasks, and we do not want to miss
++      this run-time check.
++
++      * s-solita.adb (Task_Termination_Handler_T): Add this task-safe version
++      of task termination procedure.
++      (Init_Tasking_Soft_Links): Install the task-safe version of the soft
++      link for the task termination procedure.
++
++      * bindusg.adb: (Bindusg): Added documentation for -u option.
++
++      * bindgen.adb (Get_Main_Ada) Added handling of dynamic stack analysis.
++      (Get_Main_C): Add handling of dynamic stack analysis.
++      (Gen_Output_File_C): Add external functions for dynamic stack analysis.
++
++      * Makefile.rtl: Add entry for a-taster (Ada.Task_Termination).
++      (GNATRTL_NONTASKING_OBJS) Added entries for dynamic stack analysis
++      (GNATRTL_NONTASKING_OBJS): Add AltiVec files.
++
++      * opt.ads: Added flags used by dynamic stack measurement.
++      (Max_Line_Length): Remove (not used anymore)
++
++      * s-io.ads, s-io.adb (Standard_Error): new subprogram
++      (Standart_Output): new subprogram
++      (Set_Output): new subprogram
++      (Put): now uses the value of Current_Out to know if the output has to be
++      send to stderr or stdout.
++
++      * s-stausa.ads: Complete implementation.
++
++      * switch-b.adb: Added handling of -u switch for dynamic stack analysis.
++
++      * impunit.adb (Non_Imp_File_Names_05): Add Ada.Task_Termination to the
++      list of Ada 05 files.
++      (GNAT Library Units): Add AltiVec files.
++
++      * g-allein.ads, g-alleve.adb, g-alleve.ads, g-altcon.adb,
++      g-altcon.ads, g-altive.ads, g-alveop.adb, g-alveop.ads
++      g-alvety.ads, g-alvevi.ads: New files providing altivec API.
++
++2005-12-09  Nicolas Setton  <setton@adacore.com>
++
++      * adaint.c (__gnat_locate_regular_file): Return immediately if
++      file_name is empty.
++
++2005-12-09  Javier Miranda  <miranda@adacore.com>
++          Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * a-tags.ads, a-tags.adb (Offset_To_Top): Moved from the package body
++      to the specification because the frontend generates code that uses this
++      subprogram.
++      (Set_Interface_Table): Add missing assertion.
++      Update documentation describing the run-time structure.
++      (Displace): New subprogram that displaces the pointer to the object
++      to reference one of its secondary dispatch tables.
++      (IW_Membership): Modified to use the new table of interfaces.
++      (Inherit_TSD): Modified to use the new table of interfaces.
++      (Register_Interface_Tag): Use the additional formal to fill the
++      contents of the new table of interfaces.
++      (Set_Interface_Table): New subprogram that stores in the TSD the
++      pointer to the table of interfaces.
++      (Set_Offset_To_Top): Use the additional formal to save copy of
++      the offset value in the table of interfaces.
++      Update structure of GNAT Primary and Secondary dispatch table diagram.
++      Add comment section on GNAT dispatch table prologue.
++      (Offset_To_Signature): Update the constant value of the Signature field.
++      (Dispatch_Table): Update comment on hidden fields in the prologue.
++      (Get_Entry_Index, Get_Prim_Op_Kind, Get_Offset_Index, OSD,
++      Set_Entry_Index, Set_Offset_Index, Set_Prim_Op_Kind, SSD, TSD): Change
++      the type of formal parameter T to Tag, introduce additional assertions.
++      (Get_Num_Prim_Ops, Set_Num_Prim_Ops): Remove an unnecessary type
++      conversion.
++      (Get_Tagged_Kind, Set_Tagged_Kind): New bodies.
++
++      * exp_ch6.adb (Register_Interface_DT_Entry): Remove the Thunk_Id actual
++      in all the calls to Expand_Interface_Thunk. Instead of referencing the
++      record component containing the tag of the secondary dispatch table we
++      have to use the Offset_To_Top run-time function to get this information;
++      otherwise if the pointer to the base of the object has been displace
++      we get a wrong value if we use the 'position attribute.
++
++      * exp_disp.adb (Expand_Interface_Thunk): Remove the Thunk_Id actual in
++      all the calls to Expand_Interface_Thunk.
++      (Make_Secondary_DT): Secondary dispatch tables do not have a table of
++      interfaces; hence the call to Set_Interface_Table was clearly wrong.
++      (Collect_All_Interfaces): Modify the internal subprogram Collect to
++      ensure that the interfaces implemented by the ancestors are placed
++      at the header of the generated list.
++      (Expand_Interface_Conversion): Handle the case in which the displacement
++      associated with the interface conversion is not statically known. In
++      this case we generate a call to the new run-time subprogram Displace.
++      (Make_DT): Generate and fill the new table of interfaces.
++      (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Add entries for
++      Get_Tagged_Kind and Set_Tagged_Kind.
++      (Tagged_Kind): New function that determines the tagged kind of a type
++      with respect to limitedness and concurrency and returns a reference to
++      RE_Tagged_Kind.
++      (Make_Disp_Asynchronous_Select_Body, Make_Disp_Conditional_Select_Body,
++      Make_Disp_Timed_Select_Body): Correctly retrieve the pointer to the
++      primary dispatch table for a type.
++      (Make_DT, Make_Secondary_DT): Set the tagged kind in the primary and
++      secondary dispatch table respectively of a tagged type.
++
++      * exp_disp.ads (Expand_Interface_Thunk): Remove Thunk_Id formal.
++      (Expand_Interface_Conversion): New subprogram to indicate if the
++      displacement of the type conversion is statically known.
++      (DT_Access_Action): Add values Get_Tagged_Kind and Set_Tagged_Kind.
++
++      * rtsfind.ads (RE_Offset_To_Top): New entity
++      (RTU_Id): Add Ada_Task_Termination to the list so that it is made
++      accessible to users.
++      (Re_Displace): New entity
++      (RE_Interface_Data): New entity
++      (RE_Set_Interface_Data): New_Entity
++      (RE_Id, RE_Unit_Table): Add entry for RE_Get_Tagged_Kind,
++      Set_Tagged_Kind, RE_Tagged_Kind, RE_TK_Abstract_Limited_Tagged,
++      RE_TK_Abstract_Tagged, RE_TK_Limited_Tagged, RE_TK_Protected,
++      RE_TK_Tagged, RE_TK_Task.
++
++      * exp_ch3.adb (Init_Secondary_Tags): Modify the subprogram
++      Init_Secondary_Tags_Internal to allow its use with interface types and
++      also to generate the code for the new additional actual required
++      by Set_Offset_To_Top.
++      (Build_Init_Statements): In case of components associated with abstract
++      interface types there is no need to generate a call to its IP.
++      (Freeze_Record_Type): Generate Select Specific Data tables only for
++      concurrent types.
++      (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies): Generate
++      the bodies and specifications of the predefined primitive operations
++      dealing with dispatching selects and abort, 'Callable, 'Terminated only
++      for concurrent types.
++
++      * exp_sel.ads, exp_sel.adb: New files.
++
++      * exp_ch9.adb (Build_Protected_Entry, Expand_N_Protected_Body,
++      Expand_N_Protected_Type_Declaration, Make_Initialize_Protection): Handle
++      properly protected objects and attach handler in the case of the
++      restricted profile.
++      Move embeded package Select_Expansion_Utilities into a separate external
++      package.
++      (Expand_N_Asynchronous_Select, Expand_N_Conditional_Select,
++      Expand_N_Timed_Entry_Call): Correct calls external package Exp_Sel.
++      (Build_K, Build_S_Assignment): New subprograms, part of the select
++      expansion utilities.
++      (Expand_N_Asynchronous_Select, Expand_N_Conditional_Entry_Call,
++      Expand_N_Timed_Entry_Call): Optimize expansion of select statements
++      where the trigger is a dispatching procedure of a limited tagged type.
++
++2005-12-09  Olivier Hainque  <hainque@adacore.com>
++
++      * decl.c (gnat_to_gnu_entity, renaming object case): Don't early expand
++      pointer initialization values. Make a SAVE_EXPR instead. Add comments
++      about the use and expansion of SAVE_EXPRs in the various possible
++      renaming handling cases.
++      (components_to_record, compare_field_bitpos): Sort by DECL_UID, not by
++      abusing DECL_FCONTEXT.
++
++2005-12-09  Matthew Heaney  <heaney@adacore.com>
++
++      * a-convec.adb (Merge): Added assertions to check whether vector params
++      are sorted.
++
++      * a-coinve.adb (Merge): Added assertions to check whether vector params
++      are sorted.
++
++      * a-cohama.ads (Cursor'Write): raises Program_Error per latest AI-302
++      draft.
++      (Cursor'Read): raises PE
++
++      * a-cohama.adb (Insert.New_Node): Uses box-style syntax to init elem
++      to its default value.
++
++      * a-cihama.adb: Manually check whether cursor's key and elem are
++      non-null
++
++      * a-cidlli.ads, a-cidlli.adb (Splice): Changed param name and param mode
++      (Merge): Assert that target and source lists are in order
++      (Swap): Declare non-const temporaries, to pass to Splice
++
++      * a-cdlili.ads: (Splice): Changed param name and param mode
++
++      * a-cdlili.adb: (Splice): Changed param name and param mode
++      (Merge): Assert that target and source lists are in order
++      (Swap): Declare non-const temporaries, to pass to Splice
++
++      * a-ciorma.ads, a-coorma.ads: (Read): declare Stream param as not null
++      (Write): declare Stream param as not null
++
++      * a-ciorma.adb, a-coorma.adb: All explicit raise statements now include
++      an exception message.
++
++2005-12-09  Thomas Quinot  <quinot@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * hostparm.ads (Max_Line_Length): Set to Types.Column_Number'Last - 1,
++      which is the absolute maximum length we can support.
++
++      * frontend.adb: For the processing of configuration pragma files,
++      remove references to Opt.Max_Line_Length, which is not checked anymore.
++
++      * namet.ads (Name_Buffer): Adjust size to reflect increase on max line
++      length.
++
++      * scn.adb, scng.adb:
++      Always check line length against the absolute supported maximum,
++      Hostparm.Max_Line_Length.
++
++      * stylesw.adb (Set_Style_Check_Options, case M): The maximum supported
++      value for the maximum line length is Max_Line_Length (not
++      Column_Number'Last).
++      Minor error msg update
++      (Set_Style_Check_Options): New interface returning error msg
++      Minor code reorganization (processing for 'M' was out of alpha order)
++
++      * switch-c.adb: New interface for Set_Style_Check_Options
++
++      * stylesw.ads (Set_Style_Check_Options): New interface returning error
++      msg.
++
++2005-12-09  Javier Miranda  <miranda@adacore.com>
++
++      * exp_aggr.adb (Build_Record_Aggr_Code): Default-initialialized records
++      with IP subprogram were only supported if there were limited types.
++
++      * sem_aggr.adb (Resolve_Record_Aggregate): Default-initialialized
++      records with IP subprogram were only supported if there were limited
++      types.
++
++2005-12-09  Olivier Hainque  <hainque@adacore.com>
++          Eric Botcazou  <ebotcazou@adacore.com>
++
++      * trans.c (tree_transform, emit_check): Adjust calls to
++      build_call_raise, passing the now expected GNAT_NODE argument.
++
++      * gigi.h (build_call_raise): Add a GNAT_NODE argument to convey better
++      source line information than what the current global locus indicates
++      when appropriate.
++
++      * utils2.c (build_simple_component_ref): Return 0 if the offset of the
++      field has overflowed.
++      (build_call_raise): Add a GNAT_NODE argument to convey better source
++      line information than what the current global locus indicates when
++      appropriate.
++      (build_component_ref): Adjust call to build_call_raise.
++
++2005-12-09  Pascal Obry  <obry@adacore.com>
++
++      * g-diopit.adb (Find): Fix test to exit the iterator and make sure that
++      the iterator is quitting iteration on parent directory.
++
++2005-12-09  Javier Miranda  <miranda@adacore.com>
++
++      * exp_ch5.adb (Expand_N_Assignment_Statement): In case of tagged types
++      and the assignment to a class-wide object, before the assignment we
++      generate a run-time check to ensure that the tag of the Target is
++      covered by the tag of the source.
++
++2005-12-09  Robert Dewar  <dewar@adacore.com>
++
++      * exp_imgv.adb (Expand_Image_Attribute): Generate extra boolean
++      parameter in call to Image_Wide_Character.
++
++      * s-imgwch.ads, s-imgwch.adb (Image_Wide_Character): Add boolean
++      parameter Ada_2005 to deal with annoying FFFE/FFFF inconsistency.
++      (Image_Wide_Character): Add boolean parameter Ada_2005 to deal with
++      annoying FFFE/FFFF inconsistency.
++
++2005-12-09  Robert Dewar  <dewar@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_util.ads, exp_util.adb (Is_Ref_To_Bit_Packed_Slice): Handle case
++      of type conversion.
++      (Find_Interface): New subprogram that given a tagged type and one of its
++      component associated with the secondary table of an abstract interface
++      type, return the entity associated with such abstract interface type.
++      (Make_Subtype_From_Expr): If type has unknown discriminants, always use
++      base type to create anonymous subtype, because entity may be a locally
++      declared subtype or generic actual.
++      (Find_Interface): New subprogram that given a tagged type and one of its
++      component associated with the secondary table of an abstract interface
++      type, return the entity associated with such abstract interface type.
++
++      * sem_res.adb (Resolve_Type_Conversion): Handle the case in which the
++      conversion cannot be handled at compile time. In this case we pass this
++      information to the expander to generate the appropriate code.
++
++2005-12-09  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++          Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * einfo.adb (Itype_Printed): New flag
++      (Is_Limited_Type): Derived types do not inherit limitedness from
++      interface progenitors.
++      (Is_Return_By_Reference_Type): Predicate does not apply to limited
++      interfaces.
++
++      * einfo.ads (Itype_Printed): New flag
++      Move Is_Wrapper_Package to proper section
++      Add missing Inline for Is_Volatile
++
++      * output.ads, output.adb (Write_Erase_Char): New procedure
++      (Save/Restore_Output_Buffer): New procedures
++      (Save/Restore_Output_Buffer): New procedures
++
++      * sprint.ads, sprint.adb (Write_Itype): Handle case of record itypes
++      Add missing support for anonymous access type
++      (Write_Id): Insert calls to Write_Itype
++      (Write_Itype): New procedure to output itypes
++
++      * par-ch12.adb (P_Formal_Derived_Type_Definition): In Ada 2005, handle
++      use of "limited" in declaration.
++
++      * sinfo.ads, sinfo.adb:
++      Formal derived types can carry an explicit "limited" indication.
++
++      * sem_ch3.adb: Add with and use of Targparm.
++      (Create_Component): If Frontend_Layout_On_Target is True and the
++      copied component does not have a known static Esize, then reset
++      the size and positional fields of the new component.
++      (Analyze_Component_Declaration): A limited component is
++      legal within a protected type that implements an interface.
++      (Collect_Interfaces): Do not add to the list the interfaces that
++      are implemented by the ancestors.
++      (Derived_Type_Declaration): If the parent of the full-view is an
++      interface perform a transformation of the tree to ensure that it has
++      the same parent than the partial-view. This simplifies the job of the
++      expander in order to generate the correct object layout, and it is
++      needed because the list of interfaces of the full-view can be given in
++      any order.
++      (Process_Full_View): The parent of the full-view does not need to be
++      a descendant of the parent of the partial view if both parents are
++      interfaces.
++      (Analyze_Private_Extension_Declaration): If declaration has an explicit
++      "limited" the parent must be a limited type.
++      (Build_Derived_Record_Type): A derived type that is explicitly limited
++      must have limited ancestor and progenitors.
++      (Build_Derived_Type): Ditto.
++      (Process_Full_View): Verify that explicit uses of "limited" in partial
++      and full declarations are consistent.
++      (Find_Ancestor_Interface): Remove function.
++      (Collect_Implemented_Interfaces): New procedure used to gather all
++      implemented interfaces by a type.
++      (Contain_Interface): New function used to check whether an interface is
++      present in a list.
++      (Find_Hidden_Interface): New function used to determine whether two
++      lists of interfaces constitute a set equality. If not, the first
++      differing interface is returned.
++      (Process_Full_View): Improve the check for the "no hidden interface"
++      rule as defined by AI-396.
++
++2005-12-09  Robert Dewar  <dewar@adacore.com>
++
++      * freeze.adb (Freeze_Record_Type): Only test for useless pack on record
++      types, not on record subtypes.
++      (Freeze_Entity): Code cleanup. Add barrier to the loop
++      that generates the references for primitive operations. This allows to
++      remove an unnecessary exception handler.
++      Code reformatting and comment clean ups.
++
++2005-12-09  Vincent Celier  <celier@adacore.com>
++
++      * gnatcmd.adb (GNATCmd): GNAT CHECK accepts switch -U
++      If GNAT CHECK is called with a project file, but with no
++      source on the command line, call gnatcheck with all the compilable
++      sources of the project.
++      Take into account the new command Check, for gnatcheck. Treat as for
++      other ASIS tools: take into account project, specific package Check and
++      Compiler switches.
++      For ASIS tools, add the switches in package Compiler for
++      the invocation of the compiler.
++
++      * prj-attr.adb: Add package Check and its attributes
++
++      * vms_conv.ads (Command_Type): New command Check, for gnatcheck
++
++      * vms_conv.adb (Initialize): Change Params of command Check to
++      unlimited files.
++      Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
++      Add data for new command Check
++
++      * vms_data.ads: Add project related qualifiers for GNAT CHECK and GNAT
++      ELIM.
++      Add qualifiers for Check command options
++      (Command_Type): New command Check
++
++2005-12-09  Thomas Quinot  <quinot@adacore.com>
++
++      * mlib-utl.adb (Ar): Use Output.Buffer_Max to determine whether a
++      command line switch overruns the output buffer.
++
++2005-12-09  Robert Dewar  <dewar@adacore.com>
++
++      * sem_prag.adb: Processing for new pragma Complete_Representation
++      (Analyze_Pragma, case Debug): Implement two argument form.
++
++      * par-prag.adb: Entry for new pragma Complete_Representation
++      (Prag, case Debug): Recognize two argument form of pragma Debug
++      New interface for Set_Style_Check_Options.
++
++      * sem_ch13.adb: Implement new pragma Complete_Representation.
++
++      * snames.adb, snames.ads, snames.h: Entry for new pragma
++      Complete_Representation.
++
++2005-12-09  Gary Dismukes  <dismukes@adacore.com>
++
++      * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Revise test for
++      available user-specified stream attributes on limited parameters to
++      also test the type directly rather than only its underlying type (for
++      Ada 95) and, in the case of Ada 2005, to check that the user-specified
++      attributes are visible at the point of the subprogram declaration.
++      For Ada 2005, the error message is modified to indicate that the
++      type's stream attributes must be visible (again, only for -gnat05).
++
++2005-12-09  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch12.adb (Subtypes_Match): Handle properly Ada05 arrays of
++      anonymous access types.
++
++      * sem_eval.adb (Subtypes_Statically_Match): Implement new rules for
++      matching of anonymous access types and anonymous access to subprogram
++      types. 'R'M 4.9.1 (2/2).
++
++2005-12-09  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch4.adb (Remove_Abstract_Operations): Do not apply preference
++      rule prematurely when operands are universal, remaining ambiguities
++      will be removed during resolution.
++      Code cleanup.
++
++      * sem_type.adb (Disambiguate): In Ada95 mode, discard interpretations
++      that are Ada 2005 functions.
++      (Has_Abstract_Interpretation): Subsidiary to
++      Remove_Conversions, to remove ambiguities caused by abstract operations
++      on numeric types when operands are universal.
++
++2005-12-09  Robert Dewar  <dewar@adacore.com>
++
++      * sem_ch6.adb (Analyze_Subprogram_Body): Properly check categorization
++      for case where spec is categorized.
++
++2005-12-09  Javier Miranda  <miranda@adacore.com>
++
++      * sem_ch8.adb (Find_Type): In case of tagged types that are concurrent
++      types use the corresponding record type. This was not needed before
++      the implementation of Ada 2005 synchronized types because
++      concurrent types were never tagged types in Ada 95.
++
++2005-12-09  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch9.adb (Analyze_Delay_Alternative, Analyze_Delay_Until): Use the
++      first subtype of the type of the expression to verify that it is a
++      legal Time type.
++
++2005-12-09  Robert Dewar  <dewar@adacore.com>
++
++      * sem_util.ads, sem_util.adb (Full_Qualified_Name): Now provides
++      decoded names.
++
++2005-12-09  Quentin Ochem  <ochem@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Ed Falis  <falis@adacore.com>
++          Florian Villoing  <villoing@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++          Arnaud Charlet  <charlet@adacore.com>
++
++      * gnat_ugn.texi: Created section "Stack Related Tools"
++      Moved "Stack Overflow Checking" subsection from "Switches for gcc" to
++      "Stack Related Tools"
++      Added subsection "Static Stack Usage Analysis"
++      Added subsection "Dynamic Stack Usage Analysis"
++      Include documentation of itypes in sprint listing (-gnatG)
++      Documented gnatbind -D switch (default sec stack size for fixed sec
++      stacks).
++      Added Interrupt_State and Persistent_BSS to list of configuration
++      pragmas.
++      Add missing doc for maximum value of nnn in -gnatyMnnn
++
++      * gnat_rm.texi: Document the AltiVec binding.
++      Add documentation for pragma Complete_Representation
++      Shortened an overly long line (> 79 chars)
++      Clarify documentation of unchecked conversion in implementation
++      defined cases.
++      Document two argument form of pragma Debug
++
++      * types.ads (Column_Number): Update documentation.
++
++      * exp_ch7.ads (Make_Adjust_Call): Document the special processing for
++      library level Finalize_Storage_Only objects (these are not attached to
++      any finalization list).
++
++      * system-mingw.ads: (Underlying_Priorities): Update comment.
++
++2005-12-09  Robert Dewar  <dewar@adacore.com>
++
++      * i-c.adb, i-cexten.ads, i-cobol.adb, i-cobol.ads, i-cpoint.ads,
++      i-cpp.adb, i-cpp.ads, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
++      inline.adb, interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads,
++      i-os2thr.ads, itypes.adb, itypes.adb, itypes.ads, krunch.ads,
++      krunch.adb, lib.adb, lib.ads, lib-list.adb, lib-load.adb,
++      lib-load.ads, lib-sort.adb, live.adb, make.ads, i-cstrea-vms.adb,
++      interfac-vms.ads, makegpr.adb, indepsw-gnu.adb, indepsw.ads,
++      s-wchcon.ads, sdefault.ads, sem_ch10.adb, sem_eval.ads: Minor
++      reformatting.
++
++2005-12-09  Robert Dewar  <dewar@adacore.com>
++
++      * s-vaflop-vms-alpha.adb: (Ne_F): New function
++      (Ne_G): New function
++
++      * exp_ch4.adb (Expand_Allocator_Expression): Factor duplicated code
++      for tag assignment.
++      (Rewrite_Comparison): Handle case where operation is not a comparison
++      and ignore, and also handle type conversion case.
++
++2005-12-09  Thomas Quinot  <quinot@adacore.com>
++
++      * exp_aggr.ads: Fix typo in comment.
++      ???-mark Convert_Aggr_In_Assignment as needing documentation.
++
++2005-12-09  Gary Dismukes  <dismukes@adacore.com>
++
++      * layout.adb: Replace various uses of byte by storage unit throughout.
++      (Get_Max_SU_Size): Name changed from Get_Max_Size. In the case of a
++      static size, convert to storage units before returning, to conform to
++      spec.
++
++2005-12-09  Matthew Gingell  <gingell@adacore.com>
++
++      * g-exctra.ads: Fix typo in comment.
++
++2005-12-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * utils.c: Minor reformatting.
++
++2005-12-09  Robert Dewar  <dewar@adacore.com>
++
++      * g-soccon.ads:
++      Further comment fixes to make the status of the default file clear
++
++      * s-bitops.adb: Clarify comment for Bits_Array
++
++2005-12-07  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
++
++      * Make-lang.in (ada.install-normal): Remove.
++
++2005-12-07  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
++
++      * Make-lang.in: Remove all dependencies on s-gtype.
++
++2005-12-05  Richard Guenther  <rguenther@suse.de>
++
++      * utils.c (convert): Use fold_convert where appropriate.
++
++2005-12-05  Paolo Bonzini  <bonzini@gnu.org>
++
++      * Makefile.in (gnatlib): Fix regex, using \. instead of . when
++      a period is meant.
++
++2005-12-02  Richard Guenther  <rguenther@suse.de>
++
++      * trans.c (gnat_gimplify_expr): Use buildN instead of build.
++
++2005-12-01  Roger Sayle  <roger@eyesopen.com>
++
++      * utils.c (max_size): Only test for TREE_OVERFLOW on INTEGER_CST
++      nodes.
++
++2005-11-23  Laurent Guerby  <laurent@guerby.net>
++
++      * mlib-prj.adb (Build_Library): Initialize Delete.
++
++2005-11-21  Joel Sherrill  <joel.sherrill@oarcorp.com>
++
++      * socket.c: Add extern int h_errno for rtems since networking header
++      files are not available at this point in a tool bootstrap. Newlib
++      only has basic C library header files.
++
++2005-11-19  Richard Guenther  <rguenther@suse.de>
++      Roger Sayle  <roger@eyesopen.com>
++
++      PR ada/23717
++      * misc.c (internal_error_function): Don't use vsprintf to format
++      the error message text, instead use pp_format_text and the new
++      pretty printer APIs.  This allows handling of %qs, %w, etc.
++
++2005-11-18  Laurent Guerby  <laurent@guerby.net>
++
++      PR ada/24857
++      * Makefile.in: Use s-auxdec-empty for RTEMS.
++
++2005-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      PR ada/22333
++      * trans.c (gnat_gimplify_expr, case ADDR_EXPR): Always make
++      a temporary if taking the address of something that is neither
++      reference, declaration, or constant, since the gimplifier
++      can't handle that case.
++
++2005-11-17  Laurent Guerby  <laurent@guerby.net>
++
++      PR ada/24857
++      * s-auxdec-empty.ads, s-auxdec-empty.adb: New files.
++
++2005-11-16  Richard Guenther  <rguenther@suse.de>
++
++      * Makefile.in: Add EH_MECHANISM=-gcc to s390(x) linux.
++
++2005-11-16  Joel Sherrill  <joel.sherrill@oarcorp.com>
++
++      PR ada/24855
++      * raise-gcc.c: Add missing stdarg.h include.
++
++2005-11-16  Richard Guenther  <rguenther@suse.de>
++
++      * Make-lang.in (ada/decl.o): Add $(EXPR_H) dependency.
++      (ada/misc.o): Likewise.
++
++2005-11-14  Thomas Quinot  <quinot@adacore.com>
++
++      * g-soccon.ads: Minor reformatting. Update comments.
++
++      * gsocket.h: Include <sys/times.h> in the VxWorks case, in order to
++      gain visibility on the declaration of struct timeval.
++
++      * g-soccon-freebsd.ads,
++      g-soccon-darwin.ads,
++      g-soccon-tru64.ads,
++      g-soccon-aix.ads,
++      g-soccon-irix.ads,
++      g-soccon-hpux.ads,
++      g-soccon-solaris.ads,
++      g-soccon-vms.ads,
++      g-soccon-mingw.ads,
++      g-soccon-vxworks.ads (SIZEOF_tv_sec, SIZEOF_tv_usec): New constants.
++
++      * g-soccon-hpux-ia64.ads, g-soccon-linux-ppc.ads,
++      g-soccon-solaris-64.ads, g-soccon-linux-64.ads,
++      g-soccon-linux-x86.ads: New files.
++
++      * g-socthi-mingw.adb:
++      (Socket_Error_Message): Remove redundant use of GNAT.Sockets.Constants
++
++      * g-socthi-vxworks.ads, g-socthi-vms.ads, g-socthi-mingw.ads
++      (time_t, suseconds_t): New types constructed to match the tv_sec
++      and tv_usec fields of C struct timeval.
++      (Timeval): Construct structure in terms of the new types.
++      (Host_Errno): New function (imported from socket.c), returns last hosts
++      database error.
++
++      * g-socthi-vxworks.adb:  Add error handling circuitry.
++
++      * g-socket.ads, g-socket.adb (To_Timeval): Reflect change of type for
++      components of struct timeval.
++      (Get_Host_By_Name, Get_Host_By_Address): Fix error reporting circuitry.
++      (Check_Selector): In error conditions, clear internal socket sets to
++      avoid a memory leak.
++      (Get_Socket_Option, Set_Socket_Option): Support for Multicast_If,
++      Send_Timeout, Receive_Timeout.
++
++      * g-socthi.ads (time_t, suseconds_t): New types constructed to match
++      the tv_sec and tv_usec fields of C struct timeval.
++      (Timeval): Construct structure in terms of the new types.
++      (Host_Errno): New function (imported from socket.c), returns last hosts
++      database error.
++
++      * socket.c (__gnat_get_h_errno): New function to retrieve h_errno, the
++      hosts database last error code.
++
++      * gen-soccon.c: Complete value expansion should not be performed on
++      TARGET, as it has the form of a math expression, and some components
++      may be platform-defined macros.
++      For VxWorks, generate the OK and ERROR values.
++      New constants giving the sizes of the components of C struct timeval.
++
++2005-11-14  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      PR ada/18434
++      * types.ads: Include All_Checks in Suppress_Array
++
++      * checks.adb (Check_Needed): Remove kludge for a/=b rewritten as
++      not(a=b), since we no longer do this rewriting, and hence it is not
++      needed.
++      (Elaboration_Checks_Suppressed): Add special casing to
++      deal with different cases of static and dynamic elaboration checks (all
++      checks does not count in the first case, but does in the second).
++      (Expr_Known_Valid): Do not assume that the result of any arbitrary
++      function call is valid, since this is not the case.
++      (Ensure_Valid): Do not apply validity check to a real literal
++      in a universal or fixed context
++
++      * exp_ch4.adb (Expand_N_Op_Ne): Don't expand a/=b to not(a=b) for
++      elementary types using the operator in standard. It is cleaner not to
++      modify the programmers intent, especially in the case of floating-point.
++      (Rewrite_Comparison): Fix handling of /= (this was always wrong, but
++      it did not matter because we always rewrote a/=b to not(a=b).
++      (Expand_Allocator_Expression): For an allocator expression whose nominal
++      subtype is an unconstrained packed type, convert the expression to its
++      actual constrained subtype.
++      Implement warning for <= or >= where < or > not possible
++      Fix to Vax_Float tests (too early in many routines, causing premature
++      Vax_Float expansions.
++
++      * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow this pragma
++      to be used with packages and generic packages as well as with
++      subprograms.
++      (Suppress): Set All_Checks, but not Elaboration_Check, for case
++      of pragma Suppress (All_Checks)
++      (Analyze_Pragma, case Warnings): Implement first argument allowed to be
++      a string literal for precise control over warnings.
++      Avoid raise of pragma in case of unrecognized pragma and just return
++      instead.
++
++      * sem_prag.ads: Minor reformatting
++
++      * switch-c.adb (Scan_Front_End_Switches): Replace "raise Bad_Switch;"
++      with call to new procedure Bad_Switch. Call Scan_Pos with new parameter
++      Switch. Do not handle any exception.
++      Include -gnatwx as part of -gnatg (warn on redundant parens)
++      Allow optional = after -gnatm
++      (Scan_Front_End_Switches): The -gnatp switch sets All_Checks, but no
++      longer sets Elaboration_Checks.
++      Code to set warning mode moved to Sem_Warn
++      so that it can be shared by pragma processing.
++
++      * s-mastop-tru64.adb (Pop_Frame): Remove redundant parentheses in if
++      statement.
++
++      * s-taprop-solaris.adb:
++      Change some <= to =, to avoid new warning
++
++      * a-exexda.adb, prj-proc.adb:
++      Fix obvious typo (Num_Tracebacks compared <= 0 instead of < 0)
++      Fix obvious typo (Total_Errors_Detected <= 0 should be = 0)
++
++2005-11-14  Robert Dewar  <dewar@adacore.com>
++
++      * exp_vfpt.adb: Handle /= case
++      (Expand_Vax_Conversion): Properly recognize Conversion_OK flag
++      so that we do not get duplicate scaling for fixed point conversions.
++
++      * s-vaflop.ads, s-vaflop.adb: (Ne_F): New function
++
++2005-11-14  Matthew Gingell  <gingell@adacore.com>
++
++      * system-lynxos-ppc.ads, system-lynxos-x86.ads:
++      Increase default priority on Lynx from 15 to 17, and meet the Ada
++      requirement that Default_Priority be ((Priority'First +
++      Priority'Last) / 2) by increasing the range of Interrupt_Priority.
++
++2005-11-14  Vincent Celier  <celier@adacore.com>
++
++      * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
++      mlib-tgt-hpux.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
++      mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb,
++      mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb,
++      mlib-tgt-darwin.adb, mlib-tgt.adb, mlib-tgt.ads,
++      mlib-tgt-lynxos.adb (DLL_Prefix): New function
++
++2005-11-14  Doug Rupp  <rupp@adacore.com>
++
++      * system-vms.ads, system-vms_64.ads: ADA$GNAT: New exported object in
++      private part.
++
++2005-11-14  Arnaud Charlet  <charlet@adacore.com>
++
++      * s-traces-default.adb, s-trafor-default.ads,
++      s-tratas-default.adb: Fix compilation errors.
++
++2005-11-14  Jose Ruiz  <ruiz@adacore.com>
++
++      * s-taprop-posix.adb (Initialize_Lock): Destroy mutex attribute before
++      raising the exception so the memory used is freed.
++
++2005-11-14  Arnaud Charlet  <charlet@adacore.com>
++
++      * adaint.h, adaint.c (__gnat_is_cross_compiler): New constant.
++      (Gnat_Install_Locks, __gnatlib_install_locks): Removed, no longer used.
++      (convert_address): Update comments and list of platforms using this.
++
++      * s-tasini.adb (Gnat_Install_Locks, __gnatlib_install_locks): Removed,
++      no longer used.
++
++2005-11-14  Pascal Obry  <obry@adacore.com>
++          Vincent Celier  <celier@adacore.com>
++
++      * gnatdll.adb (Parse_Command_Line): Remove redundant use of
++      GNAT.Command_Line.
++
++      * memroot.adb: Remove redundant with/use clause on
++      System.Storage_Elements.
++
++2005-11-14  Arnaud Charlet  <charlet@adacore.com>
++
++      * a-except.adb (Zero_Cost_Exceptions): Removed, no longer used.
++      (builtin_longjmp, Process_Raise_Exceeption): Move setjmp/longjmp
++      related code to a-exexpr.adb
++      (Save_Occurrence_And_Private): Move GCC EH related code to
++      a-exexpr-gcc.adb
++      (Raise_Current_Excep): Add new variable Id with pragma
++      volatile, to ensure that the variable lives on stack.
++
++      * a-exexpr-gcc.adb, raise-gcc.c: New file.
++
++      * a-exexpr.adb (builtin_longjmp, Propagate_Exception): Moved here code
++      from a-except.adb.
++      Move GCC EH related code to a-exexpr-gcc.adb
++
++      * Makefile.in: Add or update g-soccon LIBGNAT pairs for Linux/PPC and
++      64-bit Solaris
++      Split the Linux version of g-soccon into separate variants for 32 and 64
++      bit platforms.
++      (gnatlib): Use $(AR_FOR_TARGET) and $(RANLIB_FOR_TARGET)
++      vice $(AR) and $(RANLIB). Remove use of host variable $(RANLIB_FLAGS).
++      install-gnatlib: Use $(RANLIB_FOR_TARGET) vice $(RANLIB). Remove use
++      of host variable $(RANLIB_FLAGS).
++      (alpha64-dec-*vms*): Fix translations for 64 bit compiler.
++      Code clean up: remove unused/obsolete targets.
++      (EH_MECHANISM): New variable introduced to differenciate between the
++      two EH mechanisms statically.
++      (gnatlib-zcx, gnatlib-sjlj): Force EH_MECHANISM manually.
++      (LIBGNAT_OBJS): Add raise-gcc.o
++      (LIBGNAT_TARGET_PAIRS for ppc-vxworks): Use an specialized version of
++      s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
++      supports VxWorks 6 RTPs.
++      (EXTRA_GNATRTL_NONTASKING_OBJS for ppc-vxworks): Remove the use of
++      i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.
++
++      * raise.c: Move all GCC EH-related routines to raise-gcc.c
++
++2005-11-14  Jose Ruiz  <ruiz@adacore.com>
++
++      * s-tassta.adb (Create_Task): Move the code in charge of resetting the
++      deferral level, when abort is not allowed, to a later stage (the
++      Task_Wrapper).
++      (Task_Wrapper): If Abort is not allowed, reset the deferral level since
++      it will not get changed by the generated code. It was previously done
++      in Create_Task.
++
++2005-11-14  Thomas Quinot  <quinot@adacore.com>
++          Olivier Hainque  <hainque@adacore.com>
++          Eric Botcazou  <ebotcazou@adacore.com>
++
++      * decl.c:
++      Factor common code to build a storage type for an unconstrained object
++      from a fat or thin pointer type and a constrained object type.
++      (annotate_value): Handle BIT_AND_EXPR.
++      (annotate_rep): Don't restrict the back annotation of inherited
++      components to the type_annotate_only case.
++      (gnat_to_gnu_entity) <E_Array_Type>: Do not invoke create_type_decl if
++      we are not defining the type.
++      <E_Record_Type>: Likewise.
++      (gnat_to_gnu_entity) <object, renaming>: Adjust comments and structure
++      to get advantage of the new maybe_stabilize_reference interface, to
++      ensure that what we reference is indeed stabilized instead of relying
++      on assumptions on what the stabilizer does.
++      (gnat_to_gnu_entity) <E_Incomplete_Type>: If the entity is an incomplete
++      type imported through a limited_with clause, use its non-limited view.
++      (Has_Stdcall_Convention): New macro, to centralize the Windows vs others
++      differentiation.
++      (gnat_to_gnu_entity): Use Has_Stdcall_Convention instead of a spread mix
++      of #if sections + explicit comparisons of convention identifiers.
++      (gnat_to_gnu_entity) <E_Variable>: Decrement force_global if necessary
++      before early-returning for certain types when code generation is
++      disabled.
++      (gnat_to_gnu_entity) <object>: Adjust comment attached to the
++      nullification of gnu_expr we do for objects with address clause and
++      that we are not defining.
++      (elaborate_expression_1): Do not create constants when creating
++      variables needed by the debug info: the dwarf2 writer considers that
++      CONST_DECLs is used only to represent enumeration constants, and emits
++      nothing for them.
++      (gnat_to_gnu_entity) <object>: When turning a non-definition of an
++      object with an address clause into an indirect reference, drop the
++      initializing expression.
++      Include "expr.h".
++      (STACK_CHECK_BUILTIN): Delete.
++      (STACK_CHECK_PROBE_INTERVAL): Likewise.
++      (STACK_CHECK_MAX_FRAME_SIZE): Likewise.
++      (STACK_CHECK_MAX_VAR_SIZE): Likewise.
++      (gnat_to_gnu_entity): If gnat_entity is a renaming, do not mark the tree
++      corresponding to the renamed object as ignored for debugging purposes.
++
++      * trans.c (tree_transform, case N_Attribute_Reference, case Attr_Size &
++      related): For a prefix that is a dereference of a fat or thin pointer,
++      if there is an actual subtype provided by the front-end, use that
++      subtype to build an actual type with bounds template.
++      (tree_transform, case N_Free_Statement): If an Actual_Designated_Subtype
++      is provided by the front-end, use that subtype to compute the size of
++      the deallocated object.
++      (gnat_to_gnu): When adding a statement into an elaboration procedure,
++      check for a potential violation of a No_Elaboration_Code restriction.
++      (maybe_stabilize_reference): New function, like gnat_stabilize_reference
++      with extra arguments to control whether to recurse through non-values
++      and to let the caller know if the stabilization has succeeded.
++      (gnat_stabilize_reference): Now a simple wrapper around
++      maybe_stabilize, for common uses without restriction on lvalues and
++      without need to check for the success indication.
++      (gnat_to_gnu, call_to_gnu): Adjust calls to gnat_stabilize_reference, to
++      pass false instead of 0 as the FORCE argument which is a bool.
++      (Identifier_to_gnu): Remove checks ensuring that an renamed object
++      attached to a renaming pointer has been properly stabilized, as no such
++      object is attached otherwise.
++      (call_to_gnu): Invoke create_var_decl to create the temporary when the
++      function uses the "target pointer" return mechanism.
++      Reinstate conversion of the actual to the type of the formal
++      parameter before any other specific treatment based on the passing
++      mechanism. This turns out to be necessary in order for PLACEHOLDER
++      substitution to work properly when the latter type is unconstrained.
++
++      * gigi.h (build_unc_object_type_from_ptr): New subprogram, factoring a
++      common pattern.
++      (maybe_stabilize_reference): New function, like gnat_stabilize_reference
++      with extra arguments to control whether to recurse through non-values
++      and to let the caller know if the stabilization has succeeded.
++
++      * utils2.c (gnat_build_constructor): Only sort the fields for possible
++      static output of record constructor if all the components are constant.
++      (gnat_build_constructor): For a record type, sort the list of field
++      initializers in increasing bit position order.
++      Factor common code to build a storage type for an unconstrained object
++      from a fat or thin pointer type and a constrained object type.
++      (build_unary_op) <ADDR_EXPR>: Always recurse down conversions between
++      types variants, and process special cases of VIEW_CONVERT expressions
++      as their NOP_EXPR counterpart to ensure we get to the
++      CORRESPONDING_VARs associated with CONST_DECls.
++      (build_binary_op) <MODIFY_EXPR>: Do not strip VIEW_CONVERT_EXPRs
++      on the right-hand side.
++
++      * utils.c (build_unc_object_type_from_ptr): New subprogram, factoring
++      a common pattern.
++      (convert) <VIEW_CONVERT_EXPR>: Return the inner operand directly if we
++      are converting back to its original type.
++      (convert) <JM input>: Fallthrough regular conversion code instead of
++      extracting the object if converting to a type variant.
++      (create_var_decl): When a variable has an initializer requiring code
++      generation and we are at the top level, check for a potential violation
++      of a No_Elaboration_Code restriction.
++      (create_var_decl): call expand_decl for CONST_DECLs, to set MODE, ALIGN
++      SIZE and SIZE_UNIT which we need for later back-annotations.
++      * utils.c: (convert) <STRING_CST>: Remove obsolete code.
++      <VIEW_CONVERT_EXPR>: Do not lift the conversion if the target type
++      is an unchecked union.
++      (pushdecl): Set DECL_NO_STATIC_CHAIN on imported nested functions.
++      (convert) <VIEW_CONVERT_EXPR>: When the types have the same
++      main variant, just replace the VIEW_CONVERT_EXPR.
++      <UNION_TYPE>: Revert 2005-03-02 change.
++
++      * repinfo.h, repinfo.ads: Add tcode for BIT_AND_EXPR.
++
++      * repinfo.adb (Print_Expr, Rep_Value): Handle Bit_And_Expressions.
++
++2005-11-14  Matthew Heaney  <heaney@adacore.com>
++
++      * a-crbtgo.ads, a-crbtgo.adb, a-coorse.ads, a-coorse.adb, a-convec.ads,
++      a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohama.ads, a-cohama.adb,
++      a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-cidlli.ads,
++      a-cidlli.adb, a-cdlili.ads, a-cdlili.adb, a-coormu.adb, a-ciormu.adb,
++      a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
++      a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorma.adb, a-coorma.adb:
++      Compiles against the spec for ordered maps described in sections
++      A.18.6 of the most recent (August 2005) AI-302 draft.
++
++2005-11-14  Olivier Hainque  <hainque@adacore.com>
++
++      * cuintp.c (UI_To_gnu): Use a proper type for intermediate computations
++      to ensure bias adjustments take place when need be and to prevent
++      occurrences of intermediate overflows.
++
++2005-11-14  Matthew Gingell  <gingell@adacore.com>
++          Olivier Hainque  <hainque@adacore.com>
++
++      * tb-gcc.c (trace_callback): Work around problem with _Unwind_GetIP on
++      ia64 HP-UX.
++
++      * tracebak.c (ia64 configuration): Enable _Unwind_Backtrace driven
++      tracebacks on ia64 HP-UX and provide explanatory comment.
++      Enable backtraces on ia64 GNU/Linux.
++      (x86 configuration): Bump FRAME_LEVEL to 1 to ensure we retrieve a real
++      base pointer from builtin_frame_address. Adjust BASE_SKIP accordingly.
++
++2005-11-14  Hristian Kirtchev  <kirtchev@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * rtsfind.ads, exp_util.adb, exp_util.ads, exp_disp.adb, exp_disp.ads,
++      exp_ch7.adb, sem_ch9.adb, snames.adb, snames.ads,
++      exp_ch9.adb, exp_ch9.ads, exp_ch6.adb, exp_ch3.adb, exp_ch3.ads,
++      einfo.ads, einfo.adb: Complete support for Ada 2005 interfaces.
++
++      * a-tags.ads, a-tags.adb: Major rewrite and additions to implement
++      properly new Ada 2005 interfaces (AI-345) and add run-time checks (via
++      assertions).
++
++      * exp_dbug.ads, exp_dbug.adb (Get_Secondary_DT_External_Name): New
++      subprogram that generates the external name associated with a
++      secondary dispatch table.
++      (Get_Secondary_DT_External_Name): New subprogram that generates the
++      external name associated with a secondary dispatch table.
++
++2005-11-14  Emmanuel Briot  <briot@adacore.com>
++
++      * xref_lib.adb (Parse_Identifier_Info): It is possible for an entity
++      line in the ALI file to include both an instantiation reference, and a
++      returned value.
++
++2005-11-14  Vincent Celier  <celier@adacore.com>
++
++      * clean.adb (Check_Project): Look for Ada code in extending project,
++      even if Ada is not specified as a language.
++      Use new function DLL_Prefix for DLL_Name
++      (Clean_Interface_Copy_Directory): New procedure
++      (Clean_Library_Directory): New procedure
++      (Clean_Directory): Remove procedure, no longer used
++      (Clean_Project): Do not delete any file in an externally built project
++
++      * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Add the object
++      directory of an extending project, even when there are no Ada source
++      present.
++      (Ada_Objects_Path.Add): Add Library_ALI_Dir, not Library_Dir to the path
++      (Set_Ada_Paths.Add.Recursive_Add): Ditto
++
++      * mlib-prj.adb (Check_Library): For all library projects, get the
++      library file timestamp.
++      (Build_Library): Copy ALI files in Library_ALI_Dir, not in Library_Dir
++      (Build_Library): Use new function DLL_Prefix for the DLL_Name
++      (Clean): Remove procedure, no longer used
++      (Ultimate_Extension_Of): New function
++      (Build_Library): When cleaning the library directory, only remove an
++      existing library file and any ALI file of a source of the project.
++      When cleaning the interface copy directory, remove any source that
++      could be a source of the project.
++
++      * prj.ads, prj.adb (Project_Empty): Add values of new components
++      Library_TS and All_Imported_Projects.
++      (Project_Empty): Add values for new components of Project_Data:
++      Library_ALI_Dir and Display_Library_ALI_Dir
++
++      * prj-attr.adb: New project level attribute name Library_ALI_Dir
++
++      * prj-nmsc.adb (Check_Library_Attributes): Take into account new
++      attribute Library_ALI_Dir.
++      (Check_Library_Attributes): The library directory cannot be the same as
++      any source directory of the project tree.
++      (Check_Stand_Alone_Library): The interface copy directory cannot be
++      the same as any source directory of the project tree.
++
++      * mlib.adb: Use Prj.Com.Fail, instead of Osint.Fail directly, to delete
++      all temporary files.
++
++2005-11-14  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_elab.adb: Change name Is_Package to Is_Package_Or_Generic_Package
++      (Check_Elab_Call): A call within a protected body is never an
++      elaboration call, and does not require checking.
++      (Same_Elaboration_Scope): Take into account protected types for both
++      entities.
++      (Activate_Elaborate_All_Desirable): New procedure
++
++      * ali.ads, ali.adb: Implement new AD/ED for Elaborate_All/Elaborate
++      desirable
++
++      * binde.adb: Implement new AD/ED for Elaborate_All/Elaborate desirable
++      (Elab_Error_Msg): Use -da to include internal unit links, not -de.
++
++      * lib-writ.ads, lib-writ.adb:
++      Implement new AD/ED for Elaborate_All/Elaborate desirable
++      Use new Elaborate_All_Desirable flag in N_With_Clause node
++
++      * sinfo.ads, sinfo.adb (Actual_Designated_Subtype): New attribute for
++      N_Free_Statement nodes.
++      Define new class N_Subprogram_Instantiation
++      Add Elaborate_Desirable flag to N_With_Clause node
++      Add N_Delay_Statement (covering two kinds of delay)
++
++      * debug.adb: Introduce d.f flag for compiler
++      Add -da switch for binder
++
++2005-11-14  Ed Schonberg  <schonberg@adacore.com>
++          Cyrille Comar  <comar@adacore.com>
++
++      * exp_aggr.adb (Build_Record_Aggr_Code): Do not create master entity
++      for task component, in the case of a limited aggregate. The enclosed
++      object declaration will create it earlier. Otherwise, in the case of a
++      nested aggregate, the object may appear in the wrong scope.
++      (Convert_Aggr_In_Object_Decl): Create a transient scope when needed.
++      (Gen_Assign): If the component being assigned is an array type and the
++      expression is itself an aggregate, wrap the assignment in a block to
++      force finalization actions on the temporary created for each row of the
++      enclosing object.
++      (Build_Record_Aggr_Code): Significant rewrite insuring that ctrl
++      structures are initialized after all discriminants are set so that
++      they can be accessed even when their offset is dynamic.
++
++2005-11-14  Robert Dewar  <dewar@adacore.com>
++          Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * sem_attr.adb: Implement Machine_Rounding attribute
++      (Analyze_Access_Attribute): The access attribute may appear within an
++      aggregate that has been expanded into a loop.
++      (Check_Task_Prefix): Add semantic check for attribute 'Callable and
++      'Terminated whenever the prefix is of a task interface class-wide type.
++      (Analyze_Attribute): Add semantic check for attribute 'Identity whenever
++      the prefix is of a task interface class-wide type.
++
++      * s-vaflop-vms-alpha.adb: Valid_D, Valid_F, Valid_G: Make Val constant
++      to avoid warnings.
++
++      * s-fatgen.ads, s-fatgen.adb (Machine_Rounding): New function
++      Remove pragma Inline for [Unaligned_]Valid.
++      Add comments that Valid routines do not work for Vax_Float
++
++      * exp_attr.adb: Implement Machine_Rounding attribute
++
++      * snames.h: Add entry for Machine_Rounding attribute
++
++2005-11-14  Javier Miranda  <miranda@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * exp_attr.adb (Expand_N_Attribute_Reference, cases of Attribute_Size
++      and related): For a prefix that is an explicit dereference of an
++      access to unconstrained packed array type, annotate the dereference
++      with an actual subtype so GIGI can make a correct size computation.
++      (Expand_N_Attribute_Reference): In case of 'Unchecked_Access and
++      'Unrestricted_Access, if the designated type is an interface we
++      add a type conversion to force the displacement of the pointer
++      to the secondary dispatch table.
++      Use Universal_Real instead of Long_Long_Float when we need a high
++      precision float type for the generated code (prevents gratuitous
++      Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
++      (Expand_N_Attribute_Reference): Add support for attribute 'Callable and
++      'Terminated for task interface class-wide objects. Generate a call to
++      the predefined dispatching routine used to retrieve the _task_id from
++      a task corresponding record.
++      (Expand_Fpt_Attribute): Major change to properly handle Vax_Float
++
++      * sem_disp.adb: Change name Is_Package to Is_Package_Or_Generic_Package
++      (Check_Dispatching_Operation): Protect the frontend againts
++      previously detected errors.
++
++      * Makefile.rtl: Add new instantiations of system.fat_gen
++
++      * s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads:
++      Change name of instantiated package for better consistency
++      with newly added system.fat_gen instantiations.
++
++      * s-filofl.ads, s-fishfl.ads, s-fvadfl.ads, s-fvaffl.ads,
++      s-fvagfl.ads: New files.
++
++2005-11-14  Cyrille Comar  <comar@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++
++      * exp_ch5.adb (Expand_N_Assignment_Statement, Tagged_Case): For an
++      assignment of a value of a tagged type that has been rewritten to a
++      block statement, it is known by construction that no checks are
++      necessary for the statements within the block: analyze it with checks
++      suppressed.
++      (Expand_N_If_Statement): When killing a dead then-branch in an
++      if-statement that has elsif_parts, recompute the Current_Value node
++      for any entity whose value is known from the condition of the first
++      elsif_part.
++      (Expand_N_Return_Statement): When returning a mutable record, convert
++      the return value into its actual subtype in order to help the backend
++      to return the actual size instead of the maximum. This is another
++      aftermath of not returning mutable records on the sec-stack anymore.
++
++      * sem_ch5.ads, sem_ch5.adb (Analyze_Iteration_Scheme): Minor change to
++      handling of error msg for suspicious reverse range iteration.
++      (Check_Possible_Current_Value_Condition): Move declaration from body to
++      spec, to allow this subprogram to be called from exp_ch5.
++
++2005-11-14  Thomas Quinot  <quinot@adacore.com>
++
++      * exp_dist.adb (Append_Array_Traversal): Modify constrained case to
++      generate a set of nested array aggregates instead of a single flat
++      aggregate for multi-dimensional arrays.
++
++2005-11-14  Pascal Obry  <obry@adacore.com>
++
++      * expect.c (__gnat_kill) [Win32]: Fix implementation, the pid returned
++      by spawnve is a process handle, no need to convert. Add a parameter
++      close to control wether the process handle must be closed.
++      (__gnat_waitpid): Fix implementation, the pid returned by spawnve is
++      a process handle, not need to convert.
++      (__gnat_kill) [*]: Add dummy parameter close to match the Win32 spec.
++
++      * g-expect.adb: (Kill): Document the new close parameter.
++      (Close): Do not release the process handle in the kill there as
++      waitpid() is using it.
++      (Send_Signal): Release the process handle.
++
++2005-11-14  Robert Dewar  <dewar@adacore.com>
++
++      * exp_fixd.adb: Use Universal_Real instead of Long_Long_Float when we
++      need a high precision float type for the generated code (prevents
++      gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
++      used).
++
++      * exp_imgv.adb: Use Universal_Real instead of Long_Long_Float when we
++      need a high precision float type for the generated code (prevents
++      gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
++      used).
++      (Expand_Width_Attribute): In configurable run-time, the attribute is not
++      allowed on non-static enumeration subtypes. Force a load error to emit
++      the correct diagnostic.
++
++2005-11-14  Thomas Quinot  <quinot@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_intr.adb (Expand_Unc_Deallocation): If GIGI needs an actual
++      subtype to compute the size of the designated object at run-time,
++      create such a subtype and store it in the Actual_Designated_Subtype
++      attribute of the N_Free_Statement.
++      Generate itype for classwide designated object in both cases of
++      user-specified storage pool: specific and class-wide, not only in the
++      specific case.
++      Raise CE when trying to set a not null access type object to null.
++      (Expand_Dispatching_Constructor_Call): Retrieve subprogram actual with
++      an explicit loop, because freeze nodes make its position variable.
++
++      * sem_intr.adb (Check_Intrinsic_Call): Given warning for freeing not
++      null object.
++
++2005-11-14  Javier Miranda  <miranda@adacore.com>
++
++      * exp_strm.adb (Build_Stream_Attr_Profile, Build_Stream_Function,
++      Build_Stream_Procedure): Add the null-excluding attribute to the first
++      formal.
++      This has no semantic meaning under Ada95 mode but it is a
++      requirement under Ada05 mode.
++
++      * par-ch3.adb (P_Access_Definition): Addition of warning message if
++      the null exclusion is used under Ada95 mode
++      (P_Null_Exclusion): The qualifier has no semantic meaning in Ada 95.
++      (P_Access_Definition): Remove assertion that forbids the use of
++      the null-exclusion feature in Ada95.
++
++2005-11-14  Robert Dewar  <dewar@adacore.com>
++
++      * impunit.adb: Exclude container helper units not intended for use by
++      users.
++
++2005-11-14  Ed Schonberg  <schonberg@adacore.com>
++
++      * freeze.adb (Freeze_Entity): For an access formal that is an access
++      to subprogram, freeze the anonymous subprogram type at the same time,
++      to prevent later freezing in the wrong scope, such as the enclosing
++      subprogram body.
++      (Freeze_Entity): Freeze the equivalent_type of an access_to_protected_
++      subprogram whenever available.
++
++2005-11-14  Arnaud Charlet  <charlet@adacore.com>
++
++      PR ada/23732
++      * gnatvsn.ads (Library_Version): Bump to 4.1
++
++2005-11-14  Robert Dewar  <dewar@adacore.com>
++
++      * g-debpoo.adb (Set_Valid): Use Integer_Address instead of
++      Storage_Offset to avoid wrap around causing invalid results.
++
++2005-11-14  Pascal Obry  <obry@adacore.com>
++
++      * gnatbind.adb (Is_Cross_Compiler): New function returning True for
++      cross-compiler.
++      (Scan_Bind_Arg): Fail with an error message if -M option is used
++      on a native compiler.
++
++2005-11-14  Robert Dewar  <dewar@adacore.com>
++          Vincent Celier  <celier@adacore.com>
++
++      * gprep.adb: Implement -C switch to scan comments
++
++      * scng.adb: Scan comment symbol separately if Replace_In_Comments set
++
++      * scans.ads: Comment updates (including new use of Tok_Comment in
++      preprocessing)
++
++      * opt.ads: Add documentation for flags that are used by gprmake,
++      currently and in the next version of gprmake.
++      (Verbosity_Level): New variable
++      Add Replace_In_Comments switch
++
++      * vms_data.ads: Add VMS equivalent for new gnatmake switches -vl, -vm
++      and -vm.
++      Add /REPLACE_IN_COMMENTS for gnatprep -C switch
++
++2005-11-14  Arnaud Charlet  <charlet@adacore.com>
++
++      * g-regpat.adb (Fail): raise Expression_Error including the diagnostic
++      message, friendlier.
++
++2005-11-14  Robert Dewar  <dewar@adacore.com>
++
++      * g-spitbo.adb: (Hash): Rotate by 3 instead of 1
++
++2005-11-14  Doug Rupp  <rupp@adacore.com>
++
++      * init.c [VMS]: Don't install __gnat_error_handler if DBG$TDBG defined.
++
++2005-11-14  Robert Dewar  <dewar@adacore.com>
++
++      * interfac.ads: Change declarations of IEEE float types so that we no
++      longer need a separate version of this package for VMS.
++
++2005-11-14  Ed Schonberg  <schonberg@adacore.com>
++
++      * lib-xref.adb (Generate_Definition, Generate_Reference): Treat the
++      internal entity created for the declaration of a child subprogram body
++      with no spec as coming from source, to generate proper cross-reference
++      information.
++
++2005-11-14  Vincent Celier  <celier@adacore.com>
++
++      * make.adb (Compile_Sources): Change verbose message to minimum
++      verbosity level High for "is in an Ada library", "is a read-only
++      library" and "is an internal library",
++      (Create_Binder_Mapping_File): Path name of ALI file for library project
++      must include the library directory, not the object directory.
++      (Scan_Make_Arg): Make sure that Switch.M.Scan_Make_Switches is called
++      for new switches -vl, -vm and -vh.
++      (Verbose_Msg): Add new defaulted parameter Minimum_Verbosity
++      (Check): Use minimum verbosity Medium for some Verbose_Msg calls
++      (Compile_Sources): Do not attempt to compile if an ALI file is missing
++      in a project that is externally built.
++      (Compute_All_Imported_Projects): New procedure
++      (Gnatmake): Check if importing libraries should be regenerated because
++      at least an imported library is more recent.
++      (Initialize): For each project compute the list of the projects it
++      imports directly or indirectly.
++      (Add_Library_Search_Dir): New procedure, used in place of
++      Add_Lib_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
++      put in the search paths.
++      (Add_Source_Search_Dir): New procedure, used in place of
++      Add_Src_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
++      put in the search paths.
++      (Mark_Directory): Resolve the absolute path the directory before marking
++      it.
++
++      * switch-m.adb (Scan_Make_Switches): Replace "raise Bad_Switch;" with
++      call to new procedure Bad_Switch. Call Scan_Pos with new parameter
++      Switch. Do not handle any exception.
++      (Scan_Make_Switches): Increment Ptr for new switches -vl, -vm and -vh
++      so that the switch is recognized as valid.
++      (Scan_Make_Switches): Implement new switches -vl, -vm and -vh.
++
++2005-11-14  GNAT Script  <nobody@adacore.com>
++
++      * Make-lang.in: Makefile automatically updated
++
++2005-11-14  Pascal Obry  <obry@adacore.com>
++
++      * mdll.adb (Build_Reloc_DLL): Fix parameter handling when a map file is
++      used.
++      (Ada_Build_Reloc_DLL): Fix parameter handling when a map file is used.
++      In both cases the last argument was dropped.
++
++2005-11-14  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * namet.h: (Column_Numbe): New type.
++      (Get_Column_Number): Define to sinput__get_column_number.
++      (Instantiation): Define to sinput__instantiation.
++      (Get_Column_Number): Declare.
++      (Instantiation): Likewise.
++
++2005-11-14  Robert Dewar  <dewar@adacore.com>
++
++      * par-ch10.adb (P_Compilation_Unit): Add defenses against junk unit
++      syntax, which could cause compiler hangs.
++
++2005-11-14  Vincent Celier  <celier@adacore.com>
++
++      * prj-ext.adb: Take into account new environment variable
++      GPR_PROJECT_PATH. Warn if both GPR_PROJECT_PATH and ADA_PROJECT_PATH
++      are defined.
++      (Prj.Ext elaboration): For each directory in the ADA_PROJECT_PATH,
++      normalize its path name, making it absolute and resolving symbolic
++      links, and replace the original if resolved path is different.
++
++2005-11-14  Vincent Celier  <celier@adacore.com>
++
++      * prj-part.adb (Create_Virtual_Extending_Project): Put virtual project
++      into Prj.Tree.Tree_Private_Part.Projects_Htable for GPS.
++
++2005-11-14  Emmanuel Briot  <briot@adacore.com>
++
++      * prj-pp.adb (Print): Do not output the with statement if the
++      associated name is empty, which happens for virtual extending projects.
++      (Print): Preserve the "extends all" attribute when printing the project.
++
++      * prj-tree.ads (String_Value_Of): Add comment about returned value for
++      a virtual extending project.
++
++2005-11-14  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_aggr.adb (Resolve_Aggregate): An others choice is legal on the
++      rhs of an assignment even if the type is unconstrained, when the
++      context is non-expanding.
++      In an inlined body, if the context type is private,
++      resolve with its full view, which must be a composite type.
++
++2005-11-14  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch10.adb: Change name Is_Package to Is_Package_Or_Generic_Package
++      Do not give obsolescent warning on with of subprogram (since we
++      diagnose calls)
++      (Analyze_With_Clause): Add test for obsolescent package
++      (Install_Context_Clauses): If the unit is the body of a child unit, do
++      not install twice the private declarations of the parents, to prevent
++      circular lists of Use_Clauses in a parent.
++      (Implicit_With_On_Parent): Do add duplicate with_clause on parent when
++      compiling body of child unit.
++      Use new class N_Subprogram_Instantiation
++      (Expand_With_Clause): If this is a private with_clause for a child unit,
++      appearing in the context of a package declaration, then the implicit
++      with_clauses generated for parent units are private as well.
++      (License_Check): Do not generate message if with'ed unit is internal
++
++2005-11-14  Gary Dismukes  <dismukes@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++
++      * sem_ch12.ads, sem_ch12.adb (Map_Entities): Exclude entities whose
++      names are internal, because they will not have a corresponding partner
++      in the actual package.
++      (Analyze_Formal_Package): Move the setting of the formal package spec's
++      Generic_Parent field so that it occurs prior to analyzing the package,
++      to allow proper operation of Install_Parent_Private_Declarations.
++      (Analyze_Package_Instantiation): Set the instantiated package entity's
++      Package_Instantiation field.
++      (Get_Package_Instantiation_Node): Move declaration to package spec.
++      Retrieve the N_Package_Instantiation node when the Package_Instantiation
++      field is present.
++      (Check_Generic_Child_Unit): Within an inlined call, the only possible
++      instantiation is Unchecked_Conversion, for which no parents are needed.
++      (Inline_Instance_Body): Deinstall and record the use_clauses for all
++      parent scopes of a scope being removed prior to inlining an instance
++      body.
++      (Analyze_Package_Instantiation): Do not perform front-end inlining when
++      the current context is itself an instance within a non-instance child
++      unit, to prevent scope stack errors.
++      (Save_References): If the node is an aggregate that is an actual in a
++      call, rewrite as a qualified expression to preserve some type
++      information, to resolve possible ambiguities in the instance.
++      (Instance_Parent_Unit): New global variable to record the ultimate
++      parent unit associated with a generic child unit instance (associated
++      with the existing Parent_Unit_Visible flag).
++      (type Instance_Env): New component Instance_Parent_Unit for stacking
++      parents recorded in the global Instance_Parent_Unit.
++      (Init_Env): Save value of Instance_Parent_Unit in the Instance_Env
++      stack.
++      (Install_Spec): Save the parent unit entity in Instance_Parent_Unit when
++      it's not a top-level unit, and only do this if Instance_Parent_Unit is
++      not already set. Replace test of Is_Child_Unit with test of parent's
++      scope against package Standard. Add comments and a ??? comment.
++      (Remove_Parent): Revise condition for resetting Is_Immediately_Visible
++      on a child instance parent to test that the parent equals
++      Instance_Parent rather than simply checking that the unit is not a
++      child unit.
++      (Restore_Env): Restore value of Instance_Parent_Unit from Instance_Env.
++      (Validate_Derived_Interface_Type_Instance): Verify that all ancestors of
++      a formal interface are ancestors of the corresponding actual.
++      (Validate_Formal_Interface_Type): Additional legality checks.
++      (Analyze_Formal_Derived_Interface_Type): New procedure to handle formal
++      interface types with ancestors.
++      (Analyze_Formal_Package): If formal is a renaming, use renamed entity
++      to diagnose attempts to use generic within its own declaration.
++
++2005-11-14  Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * sem_ch3.ads, sem_ch3.adb (Build_Discriminal): Add link to original
++      discriminant.
++      (Build_Private_Derived_Type): The entity of the created full view of the
++      derived type does not come from source. If after installing the private
++      declarations of the parent scope the parent is still private, use its
++      full view to construct the full declaration of the derived type.
++      (Build_Derived_Record_Type): Relax the condition that controls the
++      execution of the check that verifies that the partial view and
++      the full view agree in the set of implemented interfaces. In
++      addition, this test now only takes into account the progenitors.
++      (Derive_Interface_Subprograms): No need to derive subprograms
++      of ancestors that are interfaces.
++      (Derive_Subprograms): Remove formal No_Predefined_Prims and the
++      associated code.
++      Change name Is_Package to Is_Package_Or_Generic_Package
++      (Complete_Subprograms_Derivation): Handle the case in which the full
++      view is a transitive derivation of the ancestor of the partial view.
++      (Process_Full_View): Rename local subprogram Find_Interface_In_
++      Descendant to Find_Ancestor_Interface to leave the code more clear.
++      Remove wrong code that avoids the generation of an error message
++      when the immediate ancestor of the partial view is an interface.
++      In addition some minor reorganization of the code has been done to
++      leave it more clear.
++      (Analyze_Type_Declaration): If type has previous incomplete tagged
++      partial view, inherit properly its primitive operations.
++      (Collect_Interfaces): Make public, for analysis of formal
++      interfaces.
++      (Analyze_Interface_Declaration): New procedure for use for regular and
++      formal interface declarations.
++      (Build_Derived_Record_Type): Add support for private types to the code
++      that checks if a tagged type implements abstract interfaces.
++      (Check_Aliased_Component_Type): The test applies in the spec of an
++      instance as well.
++      (Access_Type_Declaration): Clean up declaration of malformed type
++      declared as an access to its own classwide type, to prevent cascaded
++      crash.
++      (Collect_Interfaces): For private extensions and for derived task types
++      and derived protected types, the parent may be an interface that must
++      be included in the interface list.
++      (Access_Definition): If the designated type is an interface that may
++      contain tasks, create Master_Id for it before analyzing the expression
++      of the declaration, which may be an allocator.
++      (Record_Type_Declaration): Set properly the interface kind, for use
++      in allocators, the creation of master id's for task interfaces, etc.
++
++2005-11-14  Javier Miranda  <miranda@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch6.adb (Check_Conformance): The null-exclusion feature can be
++      omitted in case of stream attribute subprograms.
++      (Check_Inline_Pragma): Handle Inline and Inline_Always pragmas that
++      appear immediately after a subprogram body, when there is no previous
++      subprogram declaration.
++      Change name Is_Package to Is_Package_Or_Generic_Package
++      (Process_Formals): A non null qualifier on a non null named access
++      type is not an error, and is a warning only if Redundant_Constructs
++      are flagged.
++
++2005-11-14  Gary Dismukes  <dismukes@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch7.adb (Install_Parent_Private_Declarations): New procedure
++      nested within Analyze_Package_Specification to install the private
++      declarations and use clauses within each of the parent units of a
++      package instance of a generic child package.
++      (Analyze_Package_Specification): When entering a private part of a
++      package associated with a generic instance or formal package, the
++      private declarations of the parent must be installed (by calling new
++      procedure Install_Parent_Private_Declarations).
++      Change name Is_Package to Is_Package_Or_Generic_Package
++      (Preserve_Full_Attributes): For a synchronized type, the corresponding
++      record is absent in a generic context, which does not indicate a
++      compiler error.
++
++2005-11-14  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic context, do
++      not try to rewrite a renamed stream attribute, because the operations
++      on the type may not have been generated.
++      Handle properly a renaming_as_body generated for a stream operation
++      whose default is abstract because the object type itself is abstract.
++      (Find_Type): If the type is incomplete and appears as the prefix of a
++      'Class reference, it is tagged, and its list of primitive operations
++      must be initialized properly.
++      (Chain_Use_Clauses): When chaining the use clauses that appear in the
++      private declaration of a parent unit, prior to compiling the private
++      part of a child unit, find on the scope stack the proper parent entity
++      on which to link the use clause.
++      (Note_Redundant_Use): Emit a warning when a redundant use clause is
++      detected.
++      (Analyze_Object_Renaming): An attribute reference is not a legal object
++      if it is not a function call.
++
++2005-11-14  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_eval.adb: Implement d.f flag
++      (Subtype_Statically_Match): A generic actual type has unknown
++      discriminants when the corresponding actual has a similar partial view.
++      If the routine is called to validate the signature of an inherited
++      operation in a child instance, the generic actual matches the full view,
++
++2005-11-14  Hristian Kirtchev  <kirtchev@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++
++      * sem_res.adb (Resolve_Call): Provide a better error message whenever
++      a procedure call is used as a select statement trigger and is not an
++      entry renaming or a primitive of a limited interface.
++      (Valid_Conversion): If the operand has a single interpretation do not
++      remove address operations.
++      (Check_Infinite_Recursion): Skip freeze nodes when looking for a raise
++      statement to inhibit warning.
++      (Resolve_Unary_Op): Do not produce a warning when
++      processing an expression of the form -(A mod B)
++      Use Universal_Real instead of Long_Long_Float when we need a high
++      precision float type for the generated code (prevents gratuitous
++      Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
++      (Resolve_Concatenation_Arg): Improve error message when argument is an
++      ambiguous call to a function that returns an array.
++      (Make_Call_Into_Operator, Operand_Type_In_Scope): Do not check that
++      there is an implicit operator in the given scope if we are within an
++      instance: legality check has been performed on the generic.
++      (Resolve_Unary_Op): Apply warnings checks on argument of Abs operator
++      after resolving operand, to avoid false warnings on overloaded calls.
++
++2005-11-14  Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      PR ada/15604
++      * sem_type.adb (Covers): In an inlined body, a composite type matches
++      a private type whose full view is a composite type.
++      (Interface_Present_In_Ancestor): Protect the frontend against
++      previously detected errors to ensure that its compilation
++      with assertions enabled gives the same output that its
++      compilation without assertions.
++      (Interface_Present_In_Ancestor): Add support for private types.
++      Change name In_Actual to In_Generic_Actual (clean up)
++      (Disambiguate): New predicate In_Actual, to recognize expressions that
++      appear in the renaming declaration generated for generic actuals, and
++      which must be resolved in the outer context.
++
++2005-11-14  Robert Dewar  <dewar@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++          Hristian Kirtchev  <kirtchev@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_util.ads, sem_util.adb: Change name Is_Package to
++      Is_Package_Or_Generic_Package.
++      (Check_Obsolescent): New procedure.
++      (Set_Is_Public): Remove obsolete junk test.
++      (Set_Public_Status): Do not set Is_Public on an object whose declaration
++      occurs within a handled_sequence_of_statemets.
++      (Is_Controlling_Limited_Procedure): Factor some of the logic, account
++      for a parameterless procedure.
++      (Enter_Name): Recognize renaming declarations created for private
++      component of a protected type within protected operations, so that
++      the source name of the component can be used in the debugger.
++
++2005-11-14  Ed Schonberg  <schonberg@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * sem_warn.ads, sem_warn.adb (Publicly_Referenceable): Generic formals
++      of a generic subprogram are not visible outside the body.
++      (Set_Warning_Switch): New procedure (code to set warning mode moved
++      here from Switch.C so that it can be shared by pragma processing.
++      (Check_References): Special case warning for non-modified non-imported
++      volatile objects.
++      * par-prag.adb: Modify processing of pragma Warnings to accomodate new
++      form with a string literal argument
++
++2005-11-14  Javier Miranda  <miranda@adacore.com>
++
++      * s-finroo.ads, s-finroo.adb (Read): Addition of "not null" to the
++      anonymous access.
++      (Write): Addition of "not null" to the anonymous access.
++      (Read): Addition of "not null" to the anonymous access.
++      (Write): Addition of "not null" to the anonymous access.
++
++      * s-strxdr.adb, s-stratt.ads, s-stratt.adb (I_AD, I_AS, I_B, I_C, I_F,
++      I_I, I_LF, I_LI, I_LLF, I_LLI, I_LLU, I_LU, I_SF, I_SI, I_SSI, I_SSU,
++      I_SU, I_U, I_WC): Addition of "not null" to the anonymous access.
++      (W_AD, W_AS, W_B, W_C, W_F, W_I, W_LF, W_LI, W_LLF, W_LLI, W_LLU,
++      W_LU, W_SF, W_SI, W_SSI, W_SSU, W_SU, W_U, W_WC): Addition of
++      "not null" to the anonymous access.
++
++2005-11-14  Robert Dewar  <dewar@adacore.com>
++
++      * s-stoele.adb: Fix code for Address mod Storage_Offset for negative
++      offset values
++
++2005-11-14  Vincent Celier  <celier@adacore.com>
++
++      * switch.adb (Bad_Switch): New procedure
++      (Scan_Nat, Scan_Pos): Directly call Osint.Fail with the appropriate
++      message when in error.
++
++      * switch.ads (Bad_Switch, Bad_Switch_Value, Missing_Switch_Value,
++      Too_Many_Output_Files): Remove declarations, no longer used.
++      (Scan_Nat): New parameter Switch
++      (Scan_Pos): Ditto
++      (Bad_Switch): New procedure
++
++      * switch-b.adb (Scan_Binder_Switches): Replace "raise Bad_Switch;"
++      with call to new procedure Bad_Switch. Call Scan_Pos and Scan_Natwith
++      new parameter Switch. Replace "raise Too_Many_Output_Files;" with call
++      to Osint.Fail. Do not handle any exception.
++
++2005-11-14  Vincent Celier  <celier@adacore.com>
++
++      * tempdir.adb (Tempdir): Do not use environment variable TMPDIR if it
++      designates a non existent directory.
++
++2005-11-14  Robert Dewar  <dewar@adacore.com>
++
++      * xgnatugn.adb: Replace invalid membership test by 'Valid
++
++2005-11-14  Vincent Celier  <celier@adacore.com>
++
++      * makegpr.adb (Gprmake): Do not attempt to build the global archive if
++      there is no object directory.
++
++2005-11-14  Robert Dewar  <dewar@adacore.com>
++
++      * usage.adb: Minor adjustment to output format, use nn instead of nnn
++      (so that -gnateInnn does not run into next column)
++
++2005-11-14  Ed Falis  <falis@adacore.com>
++
++      * s-bitops.adb (Bits_Array): corrected comment: "unconstrained" =>
++      "constrained"
++
++2005-11-14  Cyrille Comar  <comar@adacore.com>
++
++      * s-chepoo.ads: Add comments on Dereference.
++      Remove unnecessary inherited abstract primitives.
++      Cosmetic cleanup.
++
++2005-11-14  Robert Dewar  <dewar@adacore.com>
++
++      * sem_cat.ads (Validate_Access_Type_Declaration): Remove declaration
++      node parameter, not needed, since it is available as Declaration_Node.
++
++2005-11-14  Geert Bosch  <bosch@adacore.com>
++
++      * s-exnllf.adb (Exn_LLF): Fix comment to be more precise and
++      grammatically correct.
++
++2005-11-14  Vincent Celier  <celier@adacore.com>
++
++      * s-fileio.ads: Correct spelling error in comment
++
++2005-11-14  Cyrille Comar  <comar@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Vincent Celier  <celier@adacore.com>
++          Ben Brosgol  <brosgol@adacore.com>
++          Jose Ruiz  <ruiz@adacore.com>
++          Pascal Obry  <obry@adacore.com>
++
++      * gnat_ugn.texi:
++      Document that -fstack-check is needed for strict compliance with the
++      Ada 95 Reference Manual.
++      Correct reference to VAX systems to meet HP guidelines
++      Add documentation for new gnatmake switches -vl, -vm and -vh
++      Replace DEC Ada by HP Ada
++      Replace DIGITAL by HP
++      Remove empty section on tools in compatibility section
++      Clarify the Windows convention semantics.
++      Document the Win32 calling convention.
++      The Stdcall, Win32 and DLL convention are synonyms.
++      Add a note in -gnatR description about zero size record components
++      Note on new >= and <= warnings for -gnatwc
++      Document that equal sign after -gnatm is optional.
++      Note that strip is working fine on DLL built with a Library
++      Project. The restriction apply only to DLL built with gnatdll.
++      Update section about the way to debug a DLL.
++      Update information about the DLL convention.
++      Document -C switch for gnatprep
++      Document new attribute Library_ALI_Dir
++      Update elaboration doc to include implicit Elaborate pragmas now
++      generated for subprogram instantiations.
++      Document limitation on executable names that include spaces for --GCC,
++      --GNATBIND, and --GNATLINK switches.
++      Document that -w causes -gnatws to be added at start of gcc switches
++
++      * gnat_rm.texi: Document that -mieee is needed for generating infinite
++      and NaN values in case of overflow on machines that are not fully
++      compliant with the IEEE floating-point standard.
++      Create a section describing the set of compiler options needed for
++      strict compliance with the Ada 95 Reference Manual.
++      Add documentation for pragma Obsolescent applied to a package
++      Clarify potential issues of mixed language programs related to the
++      I/O buffering enabling in the elaboration of the GNAT runtime.
++      Add extra documentation for pragma Restrictions (No_Elaboration_Code)
++      This documentation only patch adds extra documentsion for pragma
++      Restrictions (No_Elaboration_Code), explaining why it is not possible
++      to document this restriction in terms of allowed source constructs.
++      Document string literal form of pragma Warnings
++      Document new attribute Library_ALI_Dir
++      Add documentation on stable attributes in project files that was missing
++
++      * gnat-style.texi: Indicate that paragraphs within a single comment
++      should be separated by empty comment lines
++
++      * ug_words: Added replacements for -gnat95 and -gnat05 (/95 and
++      /05 respectively)
++
++      * bindusg.adb: Minor cleanup, put -m before -M for consistency
++
++2005-11-14  Robert Dewar  <dewar@adacore.com>
++
++      * a-secain.adb, a-slcain.adb, a-shcain.adb, a-chtgke.ads, a-chtgke.adb,
++      a-stwiha.adb, a-strhas.adb, a-chzla1.ads, a-chzla9.ads, a-stzbou.adb,
++      a-stzbou.ads, a-stzfix.adb, a-stzhas.adb, a-stzmap.adb, a-stzmap.ads,
++      a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads, a-stzunb.adb,
++      a-stzunb.ads, a-szuzha.adb, a-szuzha.ads, a-szuzti.adb, a-szuzti.ads,
++      a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb, a-ztcstr.adb, a-ztcstr.ads,
++      a-ztdeau.adb, a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
++      a-ztedit.ads, a-ztenau.ads, a-ztenio.adb, a-ztenio.ads, a-ztexio.adb,
++      a-ztexio.ads, a-ztfiio.adb, a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads,
++      a-ztflio.adb, a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
++      a-ztinau.ads, a-ztinio.adb, a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads,
++      a-zttest.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-alpha.adb,
++      g-enblsp-vms-ia64.adb, g-enblsp-vms-ia64.adb, system-linux-hppa.ads,
++      a-chacon.adb, a-chacon.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb,
++      a-zchuni.ads, g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb,
++      system-hpux-ia64.ads, g-soccon-unixware.ads, g-soliop-unixware.ads,
++      g-soccon-interix.ads, g-soliop-solaris.ads, g-eacodu-vms.adb,
++      g-expect-vms.adb, g-socthi-vms.adb, g-soliop-mingw.ads,
++      a-intnam-unixware.ads, a-intnam-lynxos.ads, a-intnam-tru64.ads,
++      a-intnam-aix.ads, a-intnam-linux.ads, a-intnam-linux.ads,
++      a-intnam-dummy.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
++      a-intnam-solaris.ads, a-calend-vms.adb, a-calend-vms.ads,
++      a-intnam-vms.ads, a-calend-mingw.adb, a-intnam-mingw.ads,
++      a-intnam-vxworks.ads, a-numaux-vxworks.ads, system-unixware.ads,
++      system-linux-ia64.ads, a-intnam-freebsd.ads, system-freebsd-x86.ads,
++      system-lynxos-ppc.ads, system-linux-x86_64.ads, a-stunha.adb,
++      a-cgaaso.ads, a-cgaaso.adb, a-chtgop.adb, a-cgcaso.adb, a-cgarso.adb,
++      a-cohata.ads, a-crbtgk.adb, a-crbltr.ads, a-coprnu.adb, a-rbtgso.adb,
++      a-intnam-darwin.ads, system-darwin-ppc.ads, gprmake.adb, makegpr.ads,
++      system-tru64.ads, system-aix.ads, system-solaris-x86.ads,
++      system-irix-o32.ads, s-interr-sigaction.adb, system-irix-n32.ads,
++      s-parame-mingw.adb, system-hpux.ads, s-traceb-hpux.adb,
++      system-linux-x86.ads, s-inmaop-dummy.adb, system-os2.ads,
++      system-interix.ads, system-solaris-sparc.ads,
++      system-solaris-sparcv9.ads, s-inmaop-vms.adb,
++      s-mastop-vms.adb, expander.adb, expander.ads, s-gloloc-mingw.adb,
++      system-mingw.ads, system-vms-zcx.ads, s-osinte-fsu.adb,
++      s-traceb-mastop.adb, a-exextr.adb, a-exstat.adb, a-filico.ads,
++      a-finali.ads, a-interr.ads, a-intsig.adb, a-intsig.ads,
++      a-except.ads, a-numaux-x86.ads, a-astaco.adb, a-calend.adb,
++      a-calend.ads, a-chahan.adb, a-chahan.ads, a-chlat9.ads,
++      a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
++      a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
++      a-elchha.adb, a-decima.adb, a-decima.ads, a-diocst.ads,
++      a-direio.adb, a-direio.ads, a-excach.adb, a-excach.adb,
++      a-exctra.ads, ali-util.adb, a-ngcefu.adb, a-ngcoty.adb,
++      a-ngcoty.ads, a-nudira.adb, a-nudira.ads, a-nuflra.adb,
++      a-numaux.ads, a-reatim.ads, a-sequio.adb, a-sequio.ads,
++      a-siocst.ads, a-ssicst.ads, a-stmaco.ads, a-storio.adb,
++      a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
++      a-strmap.adb, a-strmap.ads, a-strsea.adb, a-strsea.ads,
++      a-strsup.adb, a-strsup.ads, a-strunb.adb, a-strunb.ads,
++      a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwima.adb,
++      a-stwima.ads, a-stwise.adb, a-stwise.ads, a-stwisu.adb,
++      a-stwisu.ads, a-stwiun.adb, a-stwiun.ads, a-suteio.adb,
++      a-suteio.ads, a-swmwco.ads, a-swuwti.adb, a-swuwti.ads,
++      a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb,
++      a-taside.ads, a-teioed.adb, a-textio.adb, a-textio.ads,
++      a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tideau.adb,
++      a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
++      a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
++      a-tiinio.adb, a-timoau.adb, a-timoio.adb, a-timoio.ads,
++      a-tiocst.ads, a-titest.adb, atree.adb, a-witeio.adb,
++      a-witeio.ads, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb,
++      a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtedit.adb,
++      a-wtedit.ads, a-wtenau.adb, a-wtenio.adb, a-wtfiio.adb,
++      a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
++      a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, back_end.adb,
++      bindgen.adb, butil.adb, butil.ads, checks.ads, cio.c, comperr.adb,
++      csets.ads, cstand.adb, debug.ads, elists.ads, errno.c, errout.adb,
++      errout.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
++      errutil.ads, err_vars.ads, eval_fat.adb, exp_ch11.adb, exp_ch11.ads,
++      exp_ch2.adb, exp_ch7.ads, exp_imgv.ads, exp_pakd.adb, exp_prag.adb,
++      exp_prag.ads, exp_tss.adb, exp_tss.ads, exp_vfpt.ads, fe.h, fmap.adb,
++      freeze.ads, frontend.adb, frontend.ads, g-arrspl.adb, g-arrspl.ads,
++      g-awk.adb, g-awk.ads, g-boumai.ads, g-calend.adb, g-calend.ads,
++      g-catiio.adb, g-comlin.adb, g-comlin.ads, g-comlin.ads, g-comlin.ads,
++      g-comver.adb, g-crc32.adb, g-crc32.ads, g-ctrl_c.ads, g-curexc.ads,
++      g-debpoo.ads, g-debuti.adb, g-diopit.adb, g-diopit.ads, g-dirope.adb,
++      g-dirope.ads, g-dyntab.adb, g-dyntab.ads, g-excact.adb, g-excact.ads,
++      g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.ads, g-flocon.ads,
++      g-hesorg.ads, g-io.adb, g-locfil.ads, g-md5.adb, g-md5.ads, g-md5.ads,
++      g-moreex.adb, g-signal.ads, g-signal.adb, gnatbind.ads, gnatchop.adb,
++      gnatcmd.adb, gnatfind.adb, gnatlbr.adb, gnatmake.ads, gnatmem.adb,
++      gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb, g-os_lib.adb,
++      g-os_lib.ads, g-pehage.adb, g-pehage.ads, gprep.ads, g-regexp.adb,
++      g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.ads, g-semaph.adb,
++      g-socthi.adb, g-soliop.ads, g-spipat.adb, g-spipat.ads, g-sptabo.ads,
++      g-sptain.ads, g-sptavs.ads, g-string.ads, g-tasloc.adb, g-tasloc.ads,
++      g-trasym.adb, g-trasym.ads, i-fortra.adb, i-fortra.ads, inline.adb,
++      layout.adb, live.adb, make.ads, makeutl.ads, makeutl.adb, mdll-fil.adb,
++      mdll-fil.ads, mdll-utl.ads, memroot.ads, memtrack.adb, mlib.ads,
++      mlib-fil.adb, mlib-fil.ads, mlib-prj.ads, mlib-utl.adb, mlib-utl.ads,
++      nlists.adb, nlists.ads, osint.adb, osint.ads, osint-c.adb, osint-l.adb,
++      osint-l.ads, osint-m.ads, output.adb, par.adb, par.adb, par.ads,
++      par-ch11.adb, par-ch12.adb, par-ch2.adb, par-ch4.adb, par-ch5.adb,
++      par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
++      par-tchk.adb, prep.adb, prepcomp.adb, prepcomp.ads, prj-attr.ads,
++      prj-com.ads, prj-dect.adb, prj-dect.ads, prj-env.ads, prj-err.ads,
++      prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.ads, prj-pars.adb,
++      prj-pars.ads, prj-part.ads, prj-pp.ads, prj-proc.ads, prj-strt.adb,
++      prj-strt.ads, prj-tree.adb, prj-util.adb, prj-util.ads, rtsfind.adb,
++      sem.adb, sem.ads, sem_case.adb, sem_case.ads, sem_ch11.adb,
++      sem_ch4.adb, sem_ch6.ads, sem_ch7.ads, sem_dist.ads, sem_elab.ads,
++      sem_elim.ads, sem_eval.ads, sem_intr.ads, sem_maps.adb, sem_maps.ads,
++      sem_maps.ads, sem_res.ads, sem_type.ads, sfn_scan.adb, sfn_scan.ads,
++      s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads, s-inmaop.ads, sinput.adb,
++      sinput.ads, s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads,
++      s-pack06.adb, s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb,
++      s-pack09.ads, s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
++      s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb,
++      s-pack14.ads, s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads,
++      s-pack18.adb, s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb,
++      s-pack20.ads, s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
++      s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb,
++      s-pack25.ads, s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads,
++      s-pack28.adb, s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb,
++      s-pack30.ads, s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
++      s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb,
++      s-pack36.ads, s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads,
++      s-pack39.adb, s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb,
++      s-pack41.ads, s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
++      s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb,
++      s-pack46.ads, s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads,
++      s-pack49.adb, s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb,
++      s-pack51.ads, s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
++      s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb,
++      s-pack56.ads, s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads,
++      s-pack59.adb, s-pack59.ads, s-pack60.adb, s-pack60.adb, s-pack60.ads,
++      s-pack61.adb, s-pack61.ads, s-pack62.adb, s-pack62.ads, s-pack63.adb,
++      s-pack63.ads, s-parint.adb, s-parint.adb, s-parint.ads, sprint.ads,
++      s-purexc.ads, s-restri.ads, s-restri.adb, s-scaval.adb, s-scaval.ads,
++      s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads, stand.ads,
++      s-tasuti.adb, s-traceb.adb, s-traceb.ads, stringt.adb, stringt.ads,
++      styleg.ads, s-valboo.adb, s-valboo.ads, s-valcha.adb, s-valcha.ads,
++      s-valdec.adb, s-valdec.ads, s-valint.adb, s-valint.ads, s-valint.ads,
++      s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads, s-valllu.adb,
++      s-valllu.ads, s-valrea.adb, s-valrea.ads, s-valuns.adb, s-valuns.ads,
++      s-valuti.adb, s-valuti.ads, s-valwch.ads, s-veboop.adb, s-veboop.ads,
++      s-vercon.adb, s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchcon.ads,
++      s-wchjis.adb, s-wchjis.ads, s-wchstw.adb, s-wchstw.adb, s-wchstw.ads,
++      s-wchwts.adb, s-wchwts.ads, s-widboo.adb, s-widboo.ads, s-widcha.adb,
++      s-widcha.ads, s-widenu.adb, s-widenu.ads, s-widlli.adb, s-widlli.ads,
++      s-widllu.adb, s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
++      s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, symbols.adb, symbols.ads,
++      table.ads, targparm.adb, targparm.ads, tb-alvms.c, tb-alvxw.c,
++      tbuild.adb, tree_io.ads, treepr.adb, treeprs.adt, ttypef.ads,
++      ttypes.ads, types.adb, uintp.adb, uintp.ads, uname.ads, urealp.ads,
++      usage.ads, validsw.ads, vxaddr2line.adb, widechar.adb, widechar.ads,
++      xeinfo.adb, xnmake.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads,
++      xsinfo.adb, xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb,
++      a-dirval.ads, a-dirval.adb, a-dirval-mingw.adb, a-direct.ads,
++      a-direct.adb, indepsw.ads, prj-attr-pm.ads, system-linux-ppc.ads,
++      a-numaux-darwin.ads, a-numaux-darwin.adb,
++      a-swuwha.ads, a-stunha.ads: Minor reformatting
++
++2005-11-14  Robert Dewar  <dewar@adacore.com>
++
++      PR ada/18434
++      * osint-m.adb: Add pragma Elaborate_All for Osint
++
++2005-11-10  Eric Botcazou  <ebotcazou@adacore.com>
++
++      PR ada/23995
++      * trans.c (call_to_gnu): Restore statement lost in translation.
++
++2005-11-08  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * init.c: Use the Linux-specific section for the IA-64/Linux target.
++      (__gnat_adjust_context_for_raise): Add conditional code so that the
++      IA-64 is also supported.
++
++2005-11-03  James E Wilson  <wilson@specifix.com>
++
++      PR ada/23427
++      * trans.c (gnat_to_gnu): Use TYPE_SIZE_UNIT not TYPE_SIZE in
++      TREE_OVERFLOW check.
++
++2005-09-21  Olivier Hainque  <hainque@adacore.com>
++
++      PR ada/22418
++      * decl.c (maybe_pad_type): Use proper bitsizetype for XVZ objects,
++      as we create them to store a size in bits.
++
++2005-10-21  Eric Botcazou  <ebotcazou@adacore.com>
++
++      PR ada/21937
++      PR ada/22328
++      PR ada/22381
++      PR ada/22383
++      PR ada/22419
++      PR ada/22420
++      * utils2.c (build_return_expr): New helper function.
++      * gigi.h (build_return_expr): Declare it.
++      * trans.c (Subprogram_Body_to_gnu): Use build_return_expr instead
++      of manually building the RETURN_EXPR tree.
++      (call_to_gnu): Pass MODIFY_EXPR through build_binary_op.
++      (gnat_to_gnu) <N_Return_Statement>: Pass MODIFY_EXPR through
++      build_binary_op for the "target pointer" case.  Use build_return_expr
++      instead of manually building the RETURN_EXPR tree.
++
++2005-09-16  Laurent Guerby  <laurent@guerby.net>
++
++      PR ada/23788
++      * s-tpinop.ads: Make this unit Preelaborate.
++
++2005-09-16  Andreas Jaeger  <aj@suse.de>
++
++      * socket.c: Add string.h for memcpy.
++
++2005-09-05  Arnaud Charlet  <charlet@adacore.com>
++
++      * dec-io.ads, dec-io.adb: Removed, no longer used.
++
++2005-09-01  Arnaud Charlet  <charlet@adacore.com>
++
++      * a-calend-mingw.adb: Add call to OS_Primitives.Initialize;
++
++      * s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
++      s-taprop-os2.adb, s-taprop-irix-athread.adb, s-taprop-linux.adb,
++      s-taprop-hpux-dce.adb, s-taprop-irix.adb, s-taprop-tru64.adb,
++      s-taprop-lynxos.adb: Move with clauses outside Warnings Off now that
++      dependent units are Preelaborate.
++      (Initialize): Call Interrupt_Managemeent.Initialize and
++      OS_Primitives.Initialize to ensure proper initialization of this unit.
++      Remove use of System.Soft_Links
++      Make this unit Preelaborate.
++
++      * s-stache.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
++      s-taspri-vms.ads, s-tasinf-solaris.ads, s-taspri-os2.ads,
++      s-taspri-lynxos.ads, s-taspri-hpux-dce.ads, s-taspri-tru64.ads,
++      s-tasinf-tru64.ads, s-tasinf-irix.ads, s-tasinf-irix-athread.ads,
++      s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
++      s-tratas.ads, s-tasinf.ads: Minor reformatting.
++      Add pragma Preelaborate, since these packages are suitable for this
++      categorization.
++      Update comments.
++
++      * s-traent-vms.ads, s-intman-dummy.adb,
++      s-taprop-dummy.adb: Make this unit Preelaborate.
++
++      * s-osprim-vxworks.adb, s-osprim-vms.adb, s-osprim-vms.ads,
++      s-osprim-mingw.adb, s-intman-vxworks.ads, s-intman-vxworks.adb,
++      s-intman-vms.adb, s-intman-mingw.adb, s-intman-vms.ads,
++      s-osprim-unix.adb, s-osprim-os2.adb, s-osprim-solaris.adb,
++      s-intman-solaris.adb, s-intman-irix-athread.adb,
++      s-intman-irix.adb: Mark this unit Preelaborate.
++      (Initialize): New procedure.
++      Update comments.
++
++      * s-taspri-linux.ads: Removed.
++
++      * s-tpopsp-solaris.adb (Initialize): Create the key in this procedure,
++      as done by other implementations (e.g. posix).
++
++      * s-taprop.ads (Timed_Delay): Update spec since the caller now is
++      responsible for deferring abort.
++      Mark this unit Preelaborate.
++
++      * s-taprob.adb, s-tarest.adb: Call System.Tasking.Initialize to ensure
++      proper initialization of the tasking run-time.
++
++      * s-tasdeb.ads: Mark this unit Preelaborate.
++      (Known_Tasks): Add explicit default value to avoid elaboration code.
++
++      * s-inmaop-vms.adb (Elaboration code): Add call to
++      Interrupt_Management.Initialize since the elaboration code depends on
++      proper initialization of this package.
++
++      * s-intman.ads, s-inmaop-posix.adb, s-intman-posix.adb,
++      s-osprim.ads, s-taprop-posix.adb, s-taspri-posix.ads,
++      s-osprim-posix.adb: Make this unit Preelaborate.
++
++      * a-calend.adb: Add call to OS_Primitives.Initialize
++
++      * a-elchha.adb: Update use of Except.Id.Full_Name.
++      Minor reformatting.
++      Remove use of Ada.Exceptions.Traceback when possible, cleaner.
++
++      * a-dynpri.adb, a-sytaco.adb, a-sytaco.ads:
++      Move with clauses outside Warnings Off now that dependent units are
++      Preelaborate.
++      Use raise xxx with "..."; Ada 2005 form.
++
++      * a-taside.ads, a-taside.adb:
++      Remove some dependencies, to make it easier to make this unit truly
++      Preelaborate.
++      Rewrite some code to be conformant with Preelaborate rules.
++
++      * g-os_lib.adb: Remove non-preelaborate code so that this unit can be
++      marked Preelaborate in the future.
++
++      * s-proinf.ads, g-string.ads, s-auxdec.ads, s-auxdec-vms_64.ads: Make
++      these units Preelaborate.
++
++      * s-exctab.adb: Update use of Except.Id.Full_Name.
++
++      * s-soflin.ads, s-soflin.adb: Mark this unit Preelaborate_05.
++      (Set_Exc_Stack_Addr_Soft, Get_Exc_Stack_Addr_NT, Set_Exc_Stack_Addr_NT,
++      Set_Exc_Stack_Addr): Removed, no longer used.
++      Remove reference to *Machine_State_Addr*, no longer needed.
++
++      * s-stalib.ads: Mark this unit as Preelaborate[_05].
++      (Exception_Data): Full_Name is now a System.Address so that this unit
++      can be made Preelaborate.
++      Clean up/simplify code thanks to Full_Name being a System.Address.
++      Remove obsolete pragma Suppress (All_Checks), no longer needed.
++
++      * s-taskin.ads, s-taskin.adb:
++      Move with clauses outside Warnings Off now that dependent units are
++      Preelaborate.
++      Make this unit Preelaborate.
++      (Initialize): New proceduure, replace elaboration code and makes the
++      set up of the tasking run-time cleaner.
++      (Detect_Blocking): Now a function instead of a deferred boolean, to
++      obey Preelaborate rules.
++
++      * s-tassta.adb (Finalize_Global_Tasks): Remove Get/Set_Exc_Stack_Addr
++      soft links, no longer used.
++
++      * s-traces.ads, s-traent.ads: Add pragma Preelaborate, since these
++      packages are suitable for this categorization.
++
++      * s-solita.adb: Replace use of Ada.Exception by raise xxx with "..."
++      since we compile run-time sources in Ada 2005 mode.
++      (Timed_Delay_T): Call Abort_Defer/Undefer around Timed_Delay, to
++      avoid having s-taprop*.adb depend on s-soflin and to avoid code
++      duplication.
++      Remove reference to *Machine_State_Addr*, no longer needed.
++
++2005-09-01  Arnaud Charlet  <charlet@adacore.com>
++
++      * s-mastop-tru64.adb, s-mastop-irix.adb, s-mastop-vms.adb
++      (Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
++      Remove reference to System.Exceptions.
++
++      * s-mastop-x86.adb: Removed, no longer used.
++
++      * s-traceb-mastop.adb: Adjust calls to Pop_Frame.
++
++      * a-excach.adb: Minor reformatting.
++
++      * a-except.ads, a-except.adb: Remove global Warnings (Off) pragma, and
++      instead fix new warnings that were hidden by this change.
++      (AAA, ZZZ): Removed, replaced by...
++      (Code_Address_For_AAA, Code_Address_For_ZZZ): ... these functions, who
++      are used instead of constants, to help make Ada.Exception truly
++      preelaborate.
++      (Rcheck_*, Raise_Constraint_Error, Raise_Program_Error,
++      Raise_Storage_Error): File is now a System.Address, to simplify code.
++      (Elab code): Removed, no longer used.
++      (Null_Occurrence): Remove Warnings Off and make this construct
++      preelaborate.
++      Remove code related to front-end zero cost exception handling, since
++      it is no longer used.
++      Remove -gnatL/-gnatZ switches.
++
++      * a-exexda.adb (Append_Info_Exception_Name, Set_Exception_C_Msg):
++      Update use of Except.Msg.
++
++      * gnat1drv.adb, inline.adb, bindgen.adb, debug.adb, exp_ch11.ads,
++      freeze.adb, frontend.adb, lib.adb, exp_ch11.adb: Remove code related
++      to front-end zero cost exception handling, since it is no longer used.
++      Remove -gnatL/-gnatZ switches.
++
++      * lib-writ.ads: Minor reformatting
++      Remove doc of UX
++
++      * Makefile.rtl: Remove references to s-except*, s-mastop-x86*
++
++      * Make-lang.in: Remove references to s-except.ads
++
++      * s-except.ads: Removed, no longer used.
++
++      * s-mastop.ads, s-mastop.adb:
++      (Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
++      Remove reference to System.Exceptions.
++
++      * raise.h, usage.adb, targparm.adb, targparm.ads, switch-m.adb,
++      switch-b.adb: Remove code related to front-end zero cost exception
++      handling, since it is no longer used.
++      Remove -gnatL/-gnatZ switches.
++
++2005-09-01  Robert Dewar  <dewar@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * exp_ch4.adb (Expand_N_In): Replace test of expression in its own
++      type by valid test and generate warning.
++      (Tagged_Membership): Generate call to the run-time
++      subprogram IW_Membership in case of "Iface_CW_Typ in Typ'Class"
++      Change formal name Subtype_Mark to Result_Definition in several calls to
++      Make_Function_Specification.
++      (Expand_Allocator_Expression): Add tests for suppression of the AI-344
++      check for proper accessibility of the operand of a class-wide allocator.
++      The check can be left out if checks are suppressed or if the expression
++      has a specific tagged type whose level is known to be safe.
++
++      * exp_ch5.adb (Expand_N_Assignment_Statement): Simplify the code that
++      generates the run-time check associated with null-excluding entities.
++      (Expand_N_Return_Statement): Add tests to determine if the accessibility
++      check on the level of the return expression of a class-wide function
++      can be elided. The check usually isn't needed if the expression has a
++      specific type (unless it's a conversion or a formal parameter). Also
++      add a test for whether accessibility checks are suppressed. Augment
++      the comments to describe the conditions for performing the check.
++
++2005-09-01  Hristian Kirtchev  <kirtchev@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * a-tags.adb (IW_Membership): Give support to
++      "Iface_CW_Typ in T'Class". For this purpose the functionality of this
++      subprogram has been extended to look for the tag in the ancestors tag
++      table.
++      Update the structure of the GNAT Dispatch Table to reflect the
++      additional two tables used in dispatching selects.
++      Introduce appropriate array types and record components in
++      Type_Specific_Data to reflect the two tables.
++      (Get_Entry_Index, Set_Entry_Index): Retrieve and set the entry index in
++      the TSD of a tag, indexed by position.
++      (Get_Prim_Op_Kind, Set_Prim_Op_Kind): Retrieve and set the primitive
++      operation kind in the TSD of a tag, indexed by position.
++
++      * a-tags.ads: Introduce an enumeration type to capture different
++      primitive operation kinds. Define a constant reflecting the number of
++      predefined primitive operations.
++      (Get_Entry_Index, Set_Entry_Index): Set and retrieve the entry index
++      of an entry wrapper.
++      (Get_Prim_Op_Kind, Set_Prim_Op_Kind): Set and retrieve the kind of
++      callable entity of a primitive operation.
++
++      * exp_ch3.adb (Freeze_Record_Type): Generate the declarations of the
++      primitive operations used in dispatching selects for limited
++      interfaces, limited tagged, task and protected types what implement a
++      limited interface.
++      (Freeze_Type): Generate the bodies of the primitive operations used in
++      dispatching selects for limited tagged, task and protected types that
++      implement a limited interface. Generate statements to populate the two
++      auxiliary tables used for dispatching in select statements.
++      (Freeze_Record_Type): Add call to initialize the dispatch table entries
++      associated with predefined interface primitive operations.
++      (Build_Dcheck_Function): Change Set_Subtype_Mark to
++      Set_Result_Definition.
++      (Build_Variant_Record_Equality): Change Subtype_Mark to
++      Result_Definition.
++      (Freeze_Enumeration_Type): Change Subtype_Mark to Result_Definition.
++      (Predef_Spec_Or_Body): Change Subtype_Mark to Result_Definition.
++      (Build_Assignment): Simplify the code that adds the run-time-check.
++      (Expand_N_Object_Declaration): Code cleanup.
++
++      * exp_ch7.adb (Make_Clean): Select the appropriate type for locking
++      entries when there is a protected type that implements a limited
++      interface.
++
++      * exp_ch9.adb: Add package Select_Expansion_Utilities that contains
++      common routines used in expansion of dispatching selects.
++      (Add_Private_Declarations): Select the appropriate protection type when
++      there is a protected type that implements a limited interface.
++      (Build_Parameter_Block): Generate a wrapped parameter block.
++      (Build_Protected_Subprogram_Body): Select the appropriate type for
++      locking entries when there is a protected type that implements a
++      limited interface.
++      (Build_Wrapper_Spec): Set the flag and wrapped entity for procedures
++      classified as entry wrappers.
++      (Expand_N_Asynchronous_Select): Add support for expansion of dispatching
++      asynchronous selects.
++      (Expand_N_Conditional_Entry_Call): Add support for expansion of
++      dispatching conditional selects.
++      (Expand_N_Protected_Type_Declaration): Select the appropriate type for
++      protection when there is a protected type that implements limited
++      interfaces.
++      (Expand_N_Timed_Entry_Call): Add support for expansion of dispatching
++      timed selects.
++      (Extract_Dispatching_Call): Extract the entity of the name of a
++      dispatching call, the object parameter, actual parameters and
++      corresponding formals.
++      (Make_Initialize_Protection): Correct logic of protection initialization
++      when there is a protected type that implements a limited interface.
++      (Parameter_Block_Pack): Populate a wrapped parameter block with the
++      values of actual parameters.
++      (Parameter_Block_Unpack): Retrieve the values from a wrapped parameter
++      block and assign them to the original actual parameters.
++
++      * exp_ch9.ads (Subprogram_Protection_Mode): New type.
++      (Build_Protected_Sub_Specification): Change the type and name of the
++      last formal to account for the increased variety of protection modes.
++
++      * einfo.ads, einfo.adb (Was_Hidden): New attribute. Present in all
++      entities. Used to save the value of the Is_Hidden attribute when the
++      limited-view is installed.
++      (Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Retrieve and change
++      the attribute of procedures classified as entry wrappers.
++      (Wrapped_Entity, Set_Wrapped_Entity): Retrieve and change the wrapped
++      entity of a primitive wrapper.
++      (Write_Entity_Flags): Output the name and value of the
++      Is_Primitive_Wrapper attribute.
++      (Write_Field27_Name): Output the name and entity of the field Wrapped_
++      Entity.
++      (Underlying_Type): If we have an incomplete entity that comes from
++      the limited view then we return the Underlying_Type of its non-limited
++      view if it is already available.
++      (Abstract_Interface_Alias): Flag applies to all subrogram kinds,
++      including operators.
++      (Write_Field26_Name): Add entry for Overridden_Operation
++      (Overridden_Operation): New attribute of functions and procedures.
++
++      * exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Return a
++      predefined position in the dispatch table for the primitive operations
++      used in dispatching selects.
++      (Init_Predefined_Interface_Primitives): Remove the hardcoded number of
++      predefined primitive operations and replace it with
++      Default_Prim_Op_Count.
++      (Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
++      Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Update
++      the names of the generated primitive operations used in dispatching
++      selects.
++      (Init_Predefined_Interface_Primitives): No need to inherit primitives in
++      case of abstract interface types. They will be inherit by the objects
++      implementing the interface.
++      (Make_DT): There is no need to inherit the dispatch table of the
++      ancestor interface for the elaboration of abstract interface types.
++      The dispatch table will be inherited by the object implementing the
++      interface.
++      (Copy_Secondary_DTs): Add documentation.
++      (Validate_Position): Improve this static check in case of
++      aliased subprograms because aliased subprograms must have
++      the same position.
++      (Init_Predefined_Interface_Primitives): New subprogram that initializes
++      the entries associated with predefined primitives of all the secondary
++      dispatch tables.
++      (Build_Anonymous_Access_Type): Removed.
++      (Expand_Interface_Actuals): With the previous cleanup there is no need
++      to build an anonymous access type. This allows further cleanup in the
++      code generated by the expander.
++      (Expand_Interface_Conversion): If the actual is an access type then
++      build an internal function to handle the displacement. If the actual
++      is null this function returns null because no displacement is
++      required; otherwise performs a type conversion that will be
++      expanded in the code that returns the value of the displaced actual.
++      (Expand_Interface_Actuals): Avoid the generation of unnecessary type
++      conversions that have no effect in the generated code because no
++      displacement is required. Code cleanup; use local variables to
++      avoid repeated calls to the subprogram directly_designated_type().
++
++      * exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
++      Classify the primitive operations used in dispatching selects as
++      predefined.
++      (Implements_Limited_Interface): Determine whether some type either
++      directly implements a limited interface or extends a type that
++      implements a limited interface.
++      (Build_Task_Image_Function): Change Subtype_Mark to Result_Definition.
++      (Expand_Subtype_From_Expr): Do not build actual subtype if the
++      expression is limited.
++      (Find_Interface_Tag): Add code to handle class-wide types and
++      entities from the limited-view.
++
++      * rtsfind.ads: Add entries in RE_Id and RE_Unit_Table for
++      Get_Entry_Index, Get_Prim_Op_Kind, POK_Function, POK_Procedure,
++      POK_Protected_Entry, POK_Protected_Function, POK_Protected_Procedure,
++      POK_Task_Entry, POK_Task_Procedure, Prim_Op_Kind, Set_Entry_Index,
++      Set_Prim_Op_Kind.
++
++      * sem_ch9.adb (Analyze_Triggering_Alternative): Check for legal type
++      of procedure name or prefix that appears as a trigger in a triggering
++      alternative.
++
++      * uintp.ads: Introduce constants Uint_11 and Uint_13.
++
++2005-09-01  Arnaud Charlet  <charlet@adacore.com>
++
++      * s-tataat.adb, a-tasatt.adb:
++      Replace calls to Defer/Undefer_Abortion by Defer/Undefer_Abort.
++
++      * s-tasini.ads, s-tasini.adb (Defer_Abortion, Undefer_Abortion): Moved
++      these procedures to body, and renamed Abort_Defer, Abort_Undefer.
++      (Get_Exc_Stack_Addr, Set_Exc_Stack_Addr): Removed, no
++      longer used.
++
++2005-09-01  Arnaud Charlet  <charlet@adacore.com>
++          Jose Ruiz  <ruiz@adacore.com>
++
++      * s-taprop-vxworks.adb:
++      Move with clauses outside Warnings Off now that dependent units are
++      Preelaborate.
++      (Initialize): Call Interrupt_Managemeent.Initialize to ensure proper
++      initialization of this unit.
++      (Specific): Add new procedures Initialize and Delete so that this
++      package can be used for VxWorks 5.x and 6.x
++      (ATCB_Key, ATCB_Key_Address): Moved to Specific package body to hide
++      differences between VxWorks 5.x and 6.x
++      Minor reformatting.
++      (Timed_Delay): Remove calls to Defer/Undefer_Abort, now performed by
++      caller.
++      Use only Preelaborate-compatible constructs.
++
++      * s-tpopsp-vxworks.adb (ATBC_Key, ATCB_Key_Addr): Moved from
++      Primitives.Operations.
++      (Delete, Initialize): New procedures.
++
++      * s-osinte-vxworks.adb: Body used to handle differences between
++      VxWorks 5.x and 6.x
++      (kill, Set_Time_Slice, VX_FP_TASK): New functions.
++
++      * s-osinte-vxworks.ads: Minor reformatting.
++      Add VxWworks 6.x specific functions (only called from VxWorks 6 files).
++      (VX_FP_TASK): Now a function, to handle differences between VxWorks 5
++      and 6.
++      (Set_Time_Slice): New function, replacing kerneltimeSlice to share code
++      between Vxworks 5 and 6.
++      (taskLock, taskUnlock): Removeed, no longer used.
++
++      * adaint.c: The wait.h header is not located in the sys directory on
++      VxWorks when using RTPs.
++      (__gnat_set_env_value): Use setenv instead of putenv on VxWorks when
++      using RTPs.
++      (__gnat_dup): dup is available on Vxworks when using RTPs.
++      (__gnat_dup2): dup2 is available on Vxworks when using RTPs.
++
++      * cal.c: Use the header time.h for Vxworks 6.0 when using RTPs.
++
++      * expect.c: The wait.h header is not located in the sys directory on
++      VxWorks when using RTPs.
++
++2005-09-01  Thomas Quinot  <quinot@adacore.com>
++
++      * g-soccon-vms.adb: Renamed to g-soccon-vms.ads
++
++      * g-soccon-vms.ads: Renamed from g-soccon-vms.adb
++
++      * g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
++      g-soccon-darwin.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
++      g-soccon-solaris.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads,
++      g-soccon-freebsd.ads: Add new constants:
++       IP_MULTICAST_IF
++       SO_RCVTIMEO/SO_SNDTIMEO
++       IOV_MAX
++
++      * gen-soccon.c:
++      Move all target-specific file inclusions and macro definitions to
++      gsocket.h, in order to ensure that any C code in socket.c will see a
++      set of constants that is consistent with the contents of g-soccon.ads.
++
++      * gsocket.h: Code imported from gen-soccon.c:
++      Move all target-specific file inclusions and macro definitions to
++      gsocket.h, in order to ensure that any C code in socket.c will see a set
++      of constants that is consistent with the contents of g-soccon.ads.
++      This change also makes gen-soccon self-contained (removing dependencies
++      upon GCC internal headers).
++
++      * g-socket.adb (Send_Vector): Make calls to Writev at most IOV_MAX
++      iovecs at a time.
++      (To_Inet_Addr): Now a procedure instead of a function, more efficient.
++
++      * socket.c: Minor reformatting.
++
++2005-09-01  Ed Schonberg  <schonberg@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++
++      * fname-sf.adb, mlib-tgt.ads,
++      back_end.adb, casing.adb, g-debpoo.adb, g-excact.adb, g-spipat.adb,
++      g-spipat.ads, g-thread.adb, lib-list.adb, makeutl.adb, mlib.adb,
++      osint.adb, par-ch10.adb, par-load.adb, prep.adb, prj.adb, prj-attr.ads,
++      prj-env.ads, prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads,
++      prj-makr.adb, prj-makr.ads, prj-pars.ads, prj-part.adb, prj-strt.adb,
++      prj-tree.ads, prj-util.ads, sem_dist.adb, sinput-c.ads, sinput-l.ads,
++      sinput-p.ads, styleg-c.ads, xr_tabls.adb, prj-attr-pm.ads,
++      makegpr.adb: Remove redundant use_clauses.
++
++2005-09-01  Arnaud Charlet  <charlet@adacore.com>
++
++      * s-stoele.ads, s-stopoo.ads, s-stratt.ads, s-strops.ads, s-unstyp.ads,
++      s-valboo.ads, s-valcha.ads, s-valdec.ads, s-valenu.ads, s-valint.ads,
++      s-vallld.ads, s-vallli.ads, s-valllu.ads, s-valrea.ads, s-valuns.ads,
++      s-valuti.ads, s-valwch.ads, s-veboop.ads, s-vector.ads, s-vercon.ads,
++      s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-wchstw.ads, s-wchwts.ads,
++      s-widboo.ads, s-widcha.ads, s-widenu.ads, s-widlli.ads, s-widllu.ads,
++      s-widwch.ads, s-wwdcha.ads, s-wwdenu.ads, s-wwdwch.ads, system.ads,
++      table.ads, types.ads, system-vms_64.ads, s-crtl-vms64.ads,
++      s-addope.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
++      s-vxwork-x86.ads, system-linux-ppc.ads, i-vxwork-x86.ads,
++      a-numaux-darwin.ads, a-crbtgo.ads, a-crbtgk.ads, a-crbltr.ads,
++      a-coprnu.ads, a-convec.ads, a-contai.ads, a-coinve.ads, a-cohata.ads,
++      a-cohama.ads, a-cihama.ads, a-cidlli.ads, a-cdlili.ads,
++      a-numaux-libc-x86.ads, a-numaux-vxworks.ads, system-linux-ia64.ads,
++      system-freebsd-x86.ads, system-unixware.ads, system-lynxos-ppc.ads,
++      system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
++      s-vxwork-alpha.ads, system-aix.ads, system-vxworks-sparcv9.ads,
++      system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
++      s-parame-hpux.ads, system-hpux.ads, system-vxworks-m68k.ads,
++      s-vxwork-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
++      s-vxwork-mips.ads, system-os2.ads, system-interix.ads,
++      s-vxwork-ppc.ads, system-solaris-sparc.ads, s-vxwork-sparcv9.ads,
++      system-solaris-sparcv9.ads, s-parame-vms.ads, system-vms.ads,
++      s-osinte-mingw.ads, system-mingw.ads, s-parame-vms-restrict.ads,
++      system-vms-zcx.ads, s-parame-ae653.ads, system-vxworks-ppc.ads,
++      s-parame-vxworks.ads, system-vxworks-alpha.ads, interfac-vms.ads,
++      a-numaux-x86.ads, a-astaco.ads, a-chahan.ads, a-charac.ads,
++      a-chlat1.ads, a-chlat9.ads, a-colire.adb, a-colire.ads, a-comlin.ads,
++      a-cwila1.ads, a-cwila9.ads, ada.ads, a-decima.ads, a-exextr.adb,
++      a-filico.ads, a-finali.ads, a-interr.ads, a-ioexce.ads, a-dynpri.ads,
++      a-ngcefu.ads, a-ngcefu.adb, a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.ads,
++      a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-numaux.ads, a-numeri.ads,
++      a-reatim.adb, a-stmaco.ads, a-storio.ads, a-strbou.ads, a-stream.ads,
++      a-strfix.ads, a-string.ads, a-strmap.ads, a-strsea.ads, a-strsup.ads,
++      a-strunb.ads, a-stunau.ads, a-stwibo.ads, a-stwifi.ads, a-stwima.ads,
++      a-stwise.ads, a-stwisu.ads, a-stwiun.ads, a-swmwco.ads, a-textio.ads,
++      csets.ads, debug.ads, dec.ads, g-curexc.ads, get_targ.ads,
++      g-except.ads, system-linux-hppa.ads, a-chacon.ads, a-widcha.ads,
++      a-zchara.ads, system-hpux-ia64.ads, a-ciorma.ads, a-coorma.ads,
++      a-ciormu.ads, a-coormu.ads, a-rbtgso.ads, a-chzla1.ads, a-chzla9.ads,
++      a-stzbou.ads, a-stzfix.ads, a-stzmap.ads, a-stzsea.ads, a-stzsup.ads,
++      a-stzunb.ads, a-swunau.ads, a-szunau.ads, gnat.ads, g-regpat.ads,
++      g-speche.ads, g-spitbo.ads, g-table.ads, g-tasloc.ads, g-trasym.ads,
++      i-c.ads, i-cpoint.ads, i-cpp.ads, i-cstrin.ads, i-fortra.ads,
++      interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads, i-os2thr.ads,
++      i-vxwork.ads, output.ads, s-arit64.ads, s-atacco.ads, s-boarop.ads,
++      s-casuti.ads, s-crtl.ads, s-exctab.ads, s-exnint.ads, s-exnllf.ads,
++      s-exnlli.ads, s-expint.ads, s-explli.ads, s-expllu.ads, s-expmod.ads,
++      s-expuns.ads, s-fatflt.ads, s-fatgen.ads, s-fatlfl.ads, s-fatllf.ads,
++      s-fatsfl.ads, s-finimp.ads, s-finroo.ads, s-fore.ads, s-geveop.ads,
++      s-htable.ads, s-imgbiu.ads, s-imgboo.ads, s-imgcha.ads, s-imgdec.ads,
++      s-imgenu.ads, s-imgint.ads, s-imgllb.ads, s-imglld.ads, s-imglli.ads,
++      s-imgllu.ads, s-imgllw.ads, s-imgrea.ads, s-imguns.ads, s-imgwch.ads,
++      s-imgwiu.ads, s-io.ads, s-maccod.ads, s-mantis.ads, s-memcop.ads,
++      s-pack03.ads, s-pack05.ads, s-pack06.ads, s-pack07.ads, s-pack09.ads,
++      s-pack10.ads, s-pack11.ads, s-pack12.ads, s-pack13.ads, s-pack14.ads,
++      s-pack15.ads, s-pack17.ads, s-pack18.ads, s-pack19.ads, s-pack20.ads,
++      s-pack21.ads, s-pack22.ads, s-pack23.ads, s-pack24.ads, s-pack25.ads,
++      s-pack26.ads, s-pack27.ads, s-pack28.ads, s-pack29.ads, s-pack30.ads,
++      s-pack31.ads, s-pack33.ads, s-pack34.ads, s-pack35.ads, s-pack36.ads,
++      s-pack37.ads, s-pack38.ads, s-pack39.ads, s-pack40.ads, s-pack41.ads,
++      s-pack42.ads, s-pack43.ads, s-pack44.ads, s-pack45.ads, s-pack46.ads,
++      s-pack47.ads, s-pack48.ads, s-pack49.ads, s-pack50.ads, s-pack51.ads,
++      s-pack52.ads, s-pack53.ads, s-pack54.ads, s-pack55.ads, s-pack56.ads,
++      s-pack57.ads, s-pack58.ads, s-pack59.ads, s-pack60.ads, s-pack61.ads,
++      s-pack62.ads, s-pack63.ads, s-parame.ads, s-pooglo.ads, s-pooloc.ads,
++      s-poosiz.ads, s-powtab.ads, s-purexc.ads, s-sopco3.ads, s-sopco4.ads,
++      s-sopco5.ads: Minor reformatting: reindent pragma Pure/Preelaborate
++      and always use the no parameter form for consistency.
++
++      * gnat-style.texi: Document rules about Preelaborate/Pure pragmas.
++
++2005-09-01  Robert Dewar  <dewar@adacore.com>
++
++      * binde.adb: Minor reformatting
++      (Find_Elab_Order): Output warning if -p used with static elab order
++
++2005-09-01  Robert Dewar  <dewar@adacore.com>
++
++      * checks.adb (Check_Needed): New procedure, deals with removing checks
++      based on analysis of short-circuited forms. Also generates warnings for
++      improper use of non-short-circuited forms.
++      Code clean ups.
++
++2005-09-01  Robert Dewar  <dewar@adacore.com>
++
++      * a-ztexio.adb, a-textio.adb, a-witeio.adb: Replace bad range checks
++      with 'Valid tests.
++
++2005-09-01  Robert Dewar  <dewar@adacore.com>
++
++      * errout.ads, errout.adb (Fix Error_Msg_F): Fix implementation to meet
++      spec.
++      Implement new insertion char < (conditional warning)
++      * errutil.adb, erroutc.adb: Implement new insertion char <
++      (conditional warning).
++      * sem_elab.adb, prj-dect.adb, erroutc.ads, err_vars.ads
++      (Error_Msg_Warn): New variable for < insertion char.
++      * prj-nmsc.adb: Implement new errout insertion char < (conditional
++      warning).
++      (Check_For_Source): Change value of Source_Id only after the current
++      source has been dealt with.
++
++2005-09-01  Robert Dewar  <dewar@adacore.com>
++          Doug Rupp  <rupp@adacore.com>
++
++      * exp_attr.adb: Handle vax fpt for 'Valid attribute
++      * exp_vfpt.ads, exp_vfpt.adb: (Expand_Vax_Valid): New procedure
++      * s-vaflop-vms-alpha.adb, s-vaflop.ads, s-vaflop.adb
++      (Valid_D, Valid_F, Valid_G): New functions
++
++2005-09-01  Ed Schonberg  <schonberg@adacore.com>
++          Hristian Kirtchev  <kirtchev@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * exp_ch6.adb (Expand_Call): If an actual is a function call rewritten
++      from object notation, the original node is unanalyzed and carries no
++      semantic information, so that accessiblity checks must be performed on
++      the type of the actual itself.
++      (Expand_N_Subprogram_Declaration): Change last actual parameter for
++      compatibility with Build_Protected_Sub_Specification.
++      (Check_Overriding_Inherited_Interfaces): Add suport to handle
++      overloaded primitives.
++      (Register_Interface_DT_Entry): Use the new name of the formal
++      the the calls to Expand_Interface_Thunk
++
++      * exp_dbug.ads: Augment comments on encoding of protected types to
++      include the generation of dispatching subprograms when the type
++      implements at least one interface.
++
++      * lib.ads: Extend information in Load_Stack to include whether a given
++      load comes from a Limited_With_Clause.
++
++      * lib-load.adb (From_Limited_With_Chain): New predicate to determine
++      whether a potential circularity is harmless, because it includes units
++      loaded through a limited_with clause. Extends previous treatment which
++      did not handle properly arbitrary combinations of limited and
++      non-limited clauses.
++
++2005-09-01  Nicolas Setton  <setton@adacore.com>
++
++      * exp_dbug.adb (Get_Encoded_Name): Fixed bug that caused biaised types
++      to be encoded as typ___XBLU_lowerbound__upperbound instead of
++      typ___XB_lowerbound__upperbound.
++
++2005-09-01  Thomas Quinot  <quinot@adacore.com>
++
++      * exp_dist.adb (Add_RACW_TypeCode, Add_RAS_TypeCode): Do not generate
++      dummy access formal for RACW/RAS TypeCode TSS.
++      (Build_TypeCode_Call): Do not generate dummy null access actual for
++      calls to the TypeCode TSS.
++
++2005-09-01  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_intr.adb (Expand_Source_Name): For Enclosing_Entity, generate
++      fully qualified name, to distinguish instances with the same local name.
++
++      * g-souinf.ads (Enclosing_Entity): Document that entity name is now
++      fully qualified.
++
++2005-09-01  Robert Dewar  <dewar@adacore.com>
++
++      * exp_pakd.adb (Create_Packed_Array_Type): Properly handle very large
++      packed arrays.
++
++2005-09-01  Jerome Lambourg  <lambourg@adacore.com>
++
++      * g-expect.adb (Non_Blocking_Spawn): Initialize the filters field to
++      (Free): New deallocation procedure for filter elements
++      (Close): Deallocate any existing filter for the concerned connection
++
++2005-09-01  Laurent Pautet  <pautet@adacore.com>
++
++      * g-pehage.ads, g-pehage.adb (Select_Char_Position): When no character
++      position set is provided, we compute one in order to reduce the maximum
++      length of the keys.  This computation first selects a character
++      position between 1 and the minimum length of the keys in order to
++      avoid reducing one of the keys to an empty string.
++      (Initialize, Compute): When the ratio V to K is too low, the algorithm
++      does not converge. The initialization procedure now comes with a
++      maximum number of iterations such that when exceeded, an exception is
++      raised in Compute. The user can initialize this ratio to another value
++      and try again
++      Reformating and updated headers.
++
++2005-09-01  Javier Miranda  <miranda@adacore.com>
++
++      * itypes.ads, itypes.adb (Create_Null_Excluding_Itype): New subprogram
++      that given an entity T creates and returns an Itype that duplicates the
++      contents of T. The returned Itype has the null-exclusion
++      attribute set to True, and its Etype attribute references T
++      to keep the association between the two entities.
++      Update copyright notice
++
++      * sem_aggr.adb (Check_Can_Never_Be_Null,
++      Aggregate_Constraint_Checks, Resolve_Aggregate,
++      Resolve_Array_Aggregate, Resolve_Record_Aggregate): Code cleanup.
++
++      * sem_ch5.adb (Analyze_Assignment): Code cleanup.
++
++2005-09-01  Gary Dismukes  <dismukes@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * layout.adb (SO_Ref_From_Expr): Change Subtype_Mark to
++      Result_Definition.
++
++      * par-ch6.adb (P_Subprogram): Handle parsing of Access_Definitions in
++      function specs.
++      Call Set_Result_Definition instead of Set_Subtype_Mark.
++      (P_Subprogram_Specification): Add parsing of anonymous access result
++      plus null exclusions. Call Set_Result_Definition instead of
++      Set_Subtype_Mark.
++
++      * par-ch3.adb: Add support for LIMITED NEW for Ada 2005 AI-419
++      (P_Access_Type_Definition): Add parsing for an anonymous access result
++      subtype, plus parsing for null exclusions. Call Set_Result_Definition
++      instead of Set_Subtype_Mark.
++
++      * sinfo.adb: Add support for LIMITED NEW for Ada 2005 AI-419
++      (Null_Exclusion_Present): Allow this flag for N_Function_Specification.
++      (Result_Definition): New function for N_Function_Specifications.
++      (Subtype_Mark): No longer allowed for N_Access_Function_Definition and
++      N_Function_Specification.
++      (Set_Null_Exclusion_Present): Allow this flag for
++      N_Function_Specification.
++      (Set_Result_Definition): New procedure for N_Function_Specifications.
++      (Set_Subtype_Mark): No longer allowed for N_Access_Function_Definition
++      and N_Function_Specification.
++
++      * sinfo.ads: Update grammar rules for 9.7.2: Entry_Call_Alternative,
++      Procedure_Or_Entry_Call; 9.7.4: Triggering_Statement.
++      Add support for LIMITED NEW for Ada 2005 AI-419
++      Update the syntax of PARAMETER_AND_RESULT_PROFILE to reflect the new
++      syntax for anonymous access results.
++      Replace Subtype_Mark field by Result_Definition in
++      N_Function_Specification and N_Access_Definition specs.
++      Add Null_Exclusion_Present to spec of N_Function_Specification.
++      (Result_Definition): New function for N_Function_Specification and
++      N_Access_Function_Definition.
++      (Set_Result_Definition): New procedure for N_Function_Specification and
++      N_Access_Function_Definition.
++
++      * sprint.adb (S_Print_Node_Actual): Change Subtype_Mark calls to
++      Result_Definition for cases of N_Access_Function_Definition and
++      N_Function_Specification.
++      Print "not null" if Null_Exclusion_Present on N_Function_Specification.
++
++2005-09-01  Vincent Celier  <celier@adacore.com>
++
++      * lib-writ.adb: Update Copyright notice
++      (Write_With_Lines): On platforms where file names are case-insensitive,
++      record the file names in lower case.
++      (Write_ALI): For D lines, on platforms where file names are
++      case-insensitive, record the file names in lower case.
++
++2005-09-01  Ed Schonberg  <schonberg@adacore.com>
++          Emmanuel Briot  <briot@adacore.com>
++
++      * lib-xref.adb (Output_Overridden_Op): Display information on
++      overridden operation.
++
++      * lib-xref.ads: Add documentation on overridden operations.
++
++      * ali.ads (Xref_Entity_Record): Add support for storing the overriding
++      information.
++
++      * ali.adb (Get_Typeref): New subprogram. Adds support for parsing the
++      overriding entity information.
++
++2005-09-01  Vincent Celier  <celier@adacore.com>
++
++      * mlib-prj.adb (Copy_Interface_Sources): Copy all interface sources,
++      including those that are inherited.
++
++2005-09-01  Robert Dewar  <dewar@adacore.com>
++
++      * opt.ads, opt.adb: Add new switches Debug_Pragmas_Enabled[_Config]
++
++      * par-prag.adb: Implement new pragma Debug_Policy
++
++      * sem_prag.adb Implement new pragma Debug_Policy
++      (Analyze_Pragma, case Pack): do not let pragma Pack override an explicit
++      Component_Size attribute specification. Give warning for ignored pragma
++      Pack.
++
++      * snames.h, snames.ads, snames.adb: Introduce entries in
++      Preset_Names for Name_Disp_Asynchronous_Select,
++      Name_Disp_Conditional_Select, Name_Disp_Get_Prim_Op_Kind,
++      Name_Disp_Timed_Select.
++      New pragma Debug_Policy
++
++      * switch-c.adb (Scan_Front_End_Switches): Set Ada 2005 mode
++      explicitly.
++      Switch -gnata also sets Debug_Pragmas_Enabled
++
++      * sem.adb, par.adb (Set_Opt_Config_Switch): Add parameter Main_Unit to
++      handle an explicit -gnata when compiling predefined files.
++
++2005-09-01  Vincent Celier  <celier@adacore.com>
++
++      * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not add the object
++      directories of projects that have no Ada sources.
++
++2005-09-01  Robert Dewar  <dewar@adacore.com>
++
++      * scng.adb (Check_End_Of_Line): Count characters, rather than bytes
++      (makes a difference for wide characters)
++
++      * widechar.adb, widechar.ads:
++      Add Wide_Char_Byte_Count feature to count chars vs bytes
++
++2005-09-01  Thomas Quinot  <quinot@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * sem_attr.adb (Resolve_Attribute, case 'Address): For an illegal
++      'Address attribute reference with an overloaded prefix, use the
++      location of the prefix (not the location of the attribute reference) as
++      the error location.
++      (Analyze_Attribute, case 'Size): The name of an enumeration literal, or
++      a function renaming thereof, is a valid prefix for 'Size (where it is
++      intepreted as a function call).
++      (Statically_Denotes_Entity): New predicate to determine whether the
++      prefix of an array attribute can be considered static.
++
++      PR ada/9087
++      (Eval_Attr): Fix failure to evaluate Component_Size for
++      unconstrained arrays (resulted in wrong value in packed case, since
++      back end cannot handle this case)
++
++2005-09-01  Robert Dewar  <dewar@adacore.com>
++
++      * sem_cat.adb (Check_Categorization_Dependencies): Add more detail to
++      error msgs for most common cases.
++      Use new errout insertion char < (conditional warning)
++
++2005-09-01  Javier Miranda  <miranda@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch10.adb (In_Chain): Moved from the scope of a subprogram to
++      become local to the whole package.
++      (Install_Limited_Withed_Unit): Instead of unchaining real entities if
++      the package was already analyzed the new algorithm "replaces" the
++      real entities by the shadow ones. This is required to ensure that
++      the order of these entities in the homonym chains does not change;
++      otherwise we can have undefined references at linking time because
++      in case of conflicts the external name of the entities will have
++      a suffix that depends on the order of the entities in the chain.
++      (Remove_Limited_With_Clause): Complementary code that completes the
++      new algorithm and replaces the shadow entities by the real ones.
++      (Install_Limited_Withed_Unit): When unchaining entities before the
++      installation of the shadow entities, only regular entities of the
++      public part must be taken into account. This is required to
++      keep this routine in synch with the work done by Remove_Limited_
++      With_Clause
++      (Install_Limited_With_Clause): Introduce implicit limited_with_clause
++      even if unit is analyzed, because the analysis of the unit is
++      idempotent in any case, and the limited view of the unit may have to
++      be installed for proper visibility.
++      (Expand_Limited_With_Clause): Even if the unit in the implicit
++      with_clause has been analyzed already, a limited view of the package
++      must be built for the current context, if it does not exist yet.
++
++2005-09-01  Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * sem_ch12.adb (Instantiate_Subprogram_Body): When creating the
++      defining entity for the instance body, make a new defining identifier
++      rather than copying the entity of the spec, to prevent accidental
++      sharing of the entity list.
++      (Check_Private_View): When exchanging views of private types, build the
++      list of exchanged views as a stack, to ensure that on exit the exchanges
++      are undone in the proper order.
++      (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
++      Restore the compilation environment in case of instantiation_error.
++      (Analyze_Generic_Subprogram_Declaration): Handle creation of type entity
++      for an anonymous access result.
++      (Instantiate_Generic_Subprogram): Subtype_Mark => Result_Definition
++      (Formal_Entity): Handle properly the case of a formal package that
++      denotes a generic package renaming.
++
++2005-09-01  Thomas Quinot  <quinot@adacore.com>
++
++      * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Reject the
++      clause if the array aggregate is surrounded by parentheses.
++
++2005-09-01  Cyrille Comar  <comar@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Go to the
++      underlying type
++      to check if a type is Constrained in cases related to code generation
++      (rather than semantic checking) since otherwise we do not generate
++      similar code for mutable private types depending if their
++      discriminants are visible or not.
++      (Check_Abstract_Overriding): Do not complain about failure to override
++      the primitive operations used in dispatching selects since they will
++      always be overriden at the freeze point of the type.
++      (Access_Definition): Separate out handling for resetting the scope
++      of an anonymous access function result type. Retrieve the scope
++      of the associated function rather than using Current_Scope, which
++      does not have a consistent value (depends on whether we're in the
++      middle of analyzing formal parameters). Add ??? comment about
++      finding a cleaner way to handle the special cases of scope setting.
++      (Process_Incomplete_Dependents): A protected operation is never a
++      dispatching operation (only its wrapper may be).
++      (Build_Derived_Record_Type): In case of tagged private types that
++      implement interfaces add derivation of predefined primitive
++      operations.
++      (Derive_Subprograms): Replace the Is_Interface_Derivation parameter
++      by two parameters that are used in case of derivation from abstract
++      interface types: No_Predefined_Prims is used to avoid the derivation
++      of predefined primitives from the interface, and Predefined
++      Prims_Only is used to complete the derivation predefined primitives
++      in case of private tagged types implementing interfaces.
++      Fix typo in comments
++      (Find_Interface_In_Descendant): Protect the frontend against
++      wrong code with large circularity chains.
++      (Is_Private_Overriding): Add support for entities overriding interface
++      subprograms. The test failed because Entities associated with overriden
++      interface subprograms are always marked as hidden (and used to build
++      the secondary dispatch table); in this case the overriden entity is
++      available through the field abstract_interface_alias (cf. override_
++      dispatching_operation)
++      (Access_Definition): Set the scope of the type to Current_Scope for the
++      case of a function with an anonymous access result type.
++      (Access_Subprogram_Declaration): Handle creation of the type entity for
++      an access-to-function type with an anonymous access result.
++      (Check_Anonymous_Access_Types): Change Subtype_Mark to Result_Definition
++      in handling for N_Access_Function_Definition.
++      (Analyze_Subtype_Declaration): Modify the text of error message.
++      (Derived_Type_Declaration): Modify the text of error message.
++      (Process_Subtype): Modify the text of error message plus cleanup
++      of one redundant error message.
++      (Analyze_Component_Declaration): Code cleanup.
++      (Analyze_Object_Declaration): Code cleanup.
++      (Analyze_Subtype_Declaration): Propagate the null-exclusion
++      attribute in case of access types. Code cleanup.
++      (Array_Type_Declaration): Code cleanup.
++      (Process_Discriminants): Create the new null-excluding itype
++      if required. Code cleanup.
++      (Process_Subtype): Create the new null-excluding itype if
++      required. Code cleanup.
++      (Build_Derived_Record_Type): Code cleanup to avoid calling
++      twice the subprogram derive_subprograms in case of private
++      types that implement interfaces. In this particular case the
++      subprogram Complete_Subprograms_Derivation already does the
++      job associated with the second call.
++
++      * exp_strm.adb (Build_Elementary_Input_Call): Add an explicit
++      conversion to the full view when generating an operation for a
++      discriminant whose type may currently be private.
++
++2005-09-01  Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * sem_ch4.adb (Transform_Object_Operation): In a context off the form
++      V (Obj.F), the rewriting does not involve the indexed component, but
++      only the selected component itself.
++      Do not apply the transformation if the analyzed node is an actual of a
++      call to another subprogram.
++      (Complete_Object_Operation): Retain the entity of the
++      dispatching operation in the selector of the rewritten node. The
++      entity will be used in the expansion of dispatching selects.
++      (Analyze_One_Call): Improve location of the error message associated
++      with interface.
++      (Analyze_Selected_Component): No need to resolve prefix when it is a
++      function call, resolution is done when parent node is resolved, as
++      usual.
++      (Analyze_One_Call): Add a flag to suppress analysis of the first actual,
++      when attempting to resolve a call transformed from its object notation.
++      (Try_Object_Operation, Transform_Object_Operastion): Avoid makind copies
++      of the argument list for each interpretation of the operation.
++      (Try_Object_Operation): The designated type of an access parameter may
++      be an incomplete type obtained through a limited_with clause, in which
++      case the primitive operations of the type are retrieved from its full
++      view.
++      (Analyze_Call): If this is an indirect call, and the return type of the
++      access_to_subprogram is incomplete, use its full view if available.
++
++2005-09-01  Javier Miranda  <miranda@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * sem_ch6.ads, sem_ch6.adb (Check_Conformance): In case of anonymous
++      access types the null-exclusion and access-to-constant attributes must
++      also match.
++      (Analyze_Return_Statement): When the result type is an anonymous access
++      type, apply a conversion of the return expression to the access type
++      to ensure that appropriate accessibility checks are performed.
++      (Analyze_Return_Type): For the case of an anonymous access result type,
++      generate the Itype and set Is_Local_Anonymous_Access on the type.
++      Add ??? placeholder for check to disallow returning a limited object
++      in Ada 2005 unless it's an aggregate or a result of a function call.
++      Change calls from Subtype_Mark to Result_Definition.
++      (Analyze_Subprogram_Body): Change formal Subtype_Mark to
++      Result_Definition in call to Make_Function_Specification.
++      (Build_Body_To_Inline): Change Set_Subtype_Mark to
++      Set_Result_Definition.
++      (Make_Inequality_Operator): Change formal Subtype_Mark to
++      Result_Definition in call to Make_Function_Specification.
++      (Process_Formals): Create the new null-excluding itype if required.
++      (New_Overloaded_Entity): For an entity overriding an interface primitive
++      check if the entity also covers other abstract subprograms in the same
++      scope. This is required to handle the general case, that is, overriding
++      other interface primitives and overriding abstract subprograms inherited
++      from some abstract ancestor type.
++      (New_Overloaded_Entity): For an overriding entity that comes from
++      source, note the operation that it overrides.
++      (Check_Conformance, Type_Conformant): Addition of one new formal
++      to skip controlling formals in the analysis. This is used to
++      handle overloading of abstract interfaces.
++      (Base_Types_Match): Add missing case for types imported from
++      limited-with clauses
++      (New_Overloaded_Entity): Add barrier to protect the use of
++      the "alias" attribute.
++
++2005-09-01  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch8.adb (Analyze_Renamed_Entry): For a renaming_as_declaration,
++      verify that the procedure and the entry are mode conformant.
++      (Analyze_Subprogram_Renaming): Emit a warning if an operator is renamed
++      as a different operator, which is often a cut-and-paste error.
++
++2005-09-01  Javier Miranda  <miranda@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_disp.adb (Check_Controlling_Formals): Anonymous access types
++      used in controlling parameters exclude null because it is necessary to
++      read the tag to dispatch, and null has no tag.
++      (Override_Dispatching_Operation): If the previous operation is inherited
++      from an interface, it becomes hidden  and does not participate in later
++      name resolution.
++
++2005-09-01  Javier Miranda  <miranda@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * sem_res.adb (Resolve_Membership_Op): In case of the membership test
++      "Iface_CW_Typ in T'Class" we have nothing else to do in the frontend;
++      the expander will generate the corresponding run-time check to evaluate
++      the expression.
++      (Resolve_Call): Check for legal type of procedure name or prefix that
++      appears as a trigger in a triggering alternative.
++      (Valid_Conversion): If expression is ambiguous and the context involves
++      an extension of System, remove System.Address interpretations.
++      (Resolve_Qualified_Expression): Reject the case of a specific-type
++      qualification applied to a class-wide argument. Enhance comment
++      to explain checking of Original_Node.
++      (Resolve_Type_Conversion): The location of the error message was not
++      general enough to handle the general case and hence it has been removed.
++      In addition, this patch improves the text of the message.
++      (Resolve_Type_Conversion): Add missing support for access to interface
++      types.
++      (Resolve_Type_Conversion): If the target is a class-wide interface type,
++      do not expand if the expression is the actual in a call, because proper
++      expansion will take place when the call itself is expanded.
++      (Resolve_Allocator): If the context is an unchecked conversion, the
++      allocator inherits its storage pool, if any, from the target type of
++      the conversion.
++
++2005-09-01  Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * sem_type.adb (Add_One_Interp): If a candidate operation is an
++      inherited interface operation that has an implementation, use the
++      implementation to avoid spurious ambiguities.
++      (Interface_Present_In_Ancestor): In case of concurrent types we can't
++      use the Corresponding_Record_Typ attribute to look for the interface
++      because it is set by the expander (and hence it is not always
++      available). For this reason we traverse the list of interfaces
++      (available in the parent of the concurrent type).
++      (Interface_Present_In_Ancestor): Handle entities from the limited view
++
++2005-09-01  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_util.ads, sem_util.adb (Gather_Components): Omit interface tags
++      from the list of required components.
++      (Is_Controlling_Limited_Procedure): Determine whether an entity is a
++      primitive procedure of a limited interface with a controlling first
++      parameter.
++      (Is_Renamed_Entry): Determine whether an entry is a procedure renaming
++      of an entry.
++      (Safe_To_Capture_Value): A value (such as non_null) is not safe to
++      capture if it is generated in the second operand of a short-circuit
++      operation.
++      Do not capture values for variables with address clauses.
++      (Is_Object_Reference): Treat a function call as an object reference only
++      if its type is not Standard_Void_Type.
++
++2005-09-01  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_warn.adb (Warn_On_Known_Condition): Refine warning when applied
++      to a variable that is statically known to be constant.
++
++2005-09-01  Geert Bosch  <bosch@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * ttypef.ads (VAXDF_Safe_First): Use correct value for constant.
++      (VAXGF_Safe_First): Idem.
++
++2005-09-01  Robert Dewar  <dewar@adacore.com>
++          Arnaud Charlet  <charlet@adacore.com>
++
++      * g-dirope.ads: Minor reformatting
++      Document that bounds of result of Base_Name match the input index
++      positions.
++      Add documentation on environment variable syntax for Expand_Path
++
++      * gnat_ugn.texi: Update documentation to include mention of -m switches
++      Document new treatment of wide characters in max line length
++      style check.
++      Remove -gnatL/-gnatZ switches, no longer used.
++      Add note on pragmas Assertion_Policy and Debug_Policy in discussion
++      of -gnata switch.
++
++      * gnat_rm.texi: Add doc for two argument form of pragma
++      Float_Representation.
++      Add documentation for pragma No_Strict_Aliasing
++      Add note that explicit component clause overrides pragma Pack.
++      Add documentation of pragma Debug_Policy
++
++2005-09-01  Matthew Heaney  <heaney@adacore.com>
++
++      * a-cihase.adb, a-coorse.ads, a-coorse.adb, a-cohama.adb,
++      a-ciorse.ads, a-ciorse.adb, a-cihama.adb, a-cdlili.adb,
++      a-cidlli.adb, a-chtgop.adb, a-cihase.adb, a-cihase.ads,
++      a-cohase.adb, a-cohase.adb, a-cohase.ads: Synchronized with latest
++      draft (Draft 13, August 2005) of Ada Amendment 1.
++
++2005-09-01  Arnaud Charlet  <charlet@adacore.com>
++
++      * Makefile.in: Adjust the libgnat target pairs for Xscale to ARM.
++      Note that the platform-specific version of g-soccon.ads for VMS is now
++      named g-soccon-vms.ads (it was previously g-soccon-vms.adb, although it
++      really is a package spec).
++      Replace s-taspri-linux.ads by s-taspri-posix.ads
++      Remove references to s-mastop-x86.adb
++
++      * system-vxworks-xscale.ads: Removed, no longer used.
++      * s-vxwork-xscale.ads: Removed, no longer used.
++
++2005-09-01  Robert Dewar  <dewar@adacore.com>
++
++      * a-dirval-mingw.adb, a-direct.adb, a-coinve.adb,
++      g-dynhta.adb, g-dynhta.ads, cstand.adb, exp_smem.adb, g-debuti.ads,
++      g-dirope.adb, g-table.adb, lib-sort.adb, sem_maps.adb,
++      exp_fixd.adb, exp_aggr.adb, a-intnam-mingw.ads, a-intnam-vxworks.ads,
++      g-arrspl.adb, g-arrspl.ads, g-awk.adb, g-awk.ads, g-boubuf.ads,
++      g-boubuf.ads, g-boubuf.ads, g-bubsor.ads, g-bubsor.adb, g-busora.adb,
++      g-busora.ads, g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
++      g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads, g-cgi.adb,
++      g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads, g-cgideb.adb, g-cgideb.ads,
++      g-comlin.adb, g-comver.ads, g-semaph.ads, g-socthi.ads,
++      sem_ch7.adb, a-direio.adb, a-caldel.ads, i-cstrea-vms.adb,
++      a-ztedit.adb, a-ztenau.adb, g-socthi-vms.adb, g-socthi-vms.ads,
++      g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.ads,
++      a-intnam-irix.ads, a-intnam-irix.ads, a-intnam-hpux.ads,
++      a-intnam-os2.ads, a-intnam-os2.ads, a-caldel-vms.adb, a-calend-vms.adb,
++      a-calend-vms.ads, g-heasor.adb, g-heasor.ads, g-hesora.adb,
++      g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb, g-htable.ads,
++      g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads, g-locfil.ads,
++      g-memdum.adb, g-memdum.ads, g-traceb.adb, g-traceb.ads, i-cobol.adb,
++      i-cobol.ads, i-cstrea.ads, i-cstrin.adb, a-wtedit.adb, a-tifiio.adb,
++      a-wtenau.adb, a-wtenau.adb, a-teioed.adb: Minor reformatting
++
++2005-08-29  Arnaud Charlet  <charlet@adacore.com>
++
++      PR ada/23187
++      * adaint.c
++      (GNAT_MAXPATH_LEN): Use default value if MAXPATHLEN is undefined.
++
++2005-08-29  Arnaud Charlet  <charlet@adacore.com>
++          Doug Rupp  <rupp@adacore.com>
++
++      * s-stalib.adb: Add missing pragma Warnings (On) to reenable Warnings
++      when needed.
++      (Inside_Elab_Final_Code): Moved to init.c to avoid having to keep
++      this code in the GNAT run-time.
++
++      * decl.c, fe.h: Replace GCC_ZCX by Back_End_Exceptions.
++
++      PR ada/21053
++      * init.c (__gnat_error_handler [many]): Mark "msg" as const
++      (__gnat_error_handler [HPUX]): Mark siginfo parameter as unused
++
++      (__gnat_inside_elab_final_code): Moved here from
++      Standard_Library and only defined for the compiler.
++      __gnat_error_handler [VMS]: Adjust sigargs to account for PC & PSL.
++      (__gnat_inum_to_ivec): Do not define this function on VxWorks when
++      using RTPs because directly vectored Interrupt routines are not
++      supported on this configuration.
++      (getpid): Do not redefine this function on VxWorks when using RTPs
++      because this primitive is well supported by the RTP libraries.
++      (copy_msg): Correct the code that checks for buffer overflow.
++      Discovered during code reading.
++
++2005-08-29  Olivier Hainque  <hainque@adacore.com>
++
++      * decl.c (gnat_to_gnu_entity) <E_Variable>: When allocating storage for
++      a library level mutable variable with an initializer, tell
++      build_allocator to ignore the initializer's size. It may not be large
++      enough for all the values that might be assigned to the variable later
++      on.
++
++2005-08-29  Arnaud Charlet  <charlet@adacore.com>
++          Eric Botcazou  <ebotcazou@adacore.com>
++
++      * trans.c: Protect < in error msg with quote
++      Replace GCC_ZCX by Back_End_Exceptions.
++      (addressable_p) <COMPONENT_REF>: Also return 1 if the field
++      has been sufficiently aligned in the record.
++
++2005-08-15  James E. Wilson  <wilson@specifix.com>
++
++      * system-linux-alpha.ads: Change ia64 to alpha.
++
++2005-08-01  Kazu Hirata  <kazu@codesourcery.com>
++
++      * decl.c, utils.c: Fix comment typos.
++
++2005-07-29  Kazu Hirata  <kazu@codesourcery.com>
++
++      * decl.c, init.c, initialize.c: Fix comment typos.
++
++2005-07-20  Giovanni Bajo  <giovannibajo@libero.it>
++
++      Make CONSTRUCTOR use VEC to store initializers.
++      * decl.c (gnat_to_gnu_entity): Update to cope with VEC in
++      CONSTRUCTOR_ELTS.
++      * trans.c (extract_values): Likewise.
++      * utils.c (convert, remove_conversions): Likewise.
++      * utils2.c (contains_save_expr_p, build_binary_op, build_unary_op,
++      gnat_build_constructor): Likewise.
++
++2005-07-09  Andrew Pinski  <pinskia@physics.uc.edu>
++
++      * decl.c (components_to_record): Use DECL_FCONTEXT instead of
++      DECL_SECTION_NAME.
++      (compare_field_bitpos): Likewise.
++
++2005-07-09  Andrew Pinski  <pinskia@physics.uc.edu>
++
++      * utils.c (create_var_decl): Only set DECL_COMMON on
++      VAR_DECLs. Only set SET_DECL_ASSEMBLER_NAME on
++      VAR_OR_FUNCTION_DECL_P.
++
++2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
++
++      * utils.c (create_param_decl): DECL_ARG_TYPE_AS_WRITTEN is
++      removed.
++
++2005-07-07  Pascal Obry  <obry@adacore.com>
++
++      * g-socthi-mingw.adb (C_Inet_Addr): New body used to convert the
++      returned type on Windows.
++
++      * g-socthi-mingw.ads (C_Inet_Addr): Remove pragma Import for this
++      routine.
++
++      * g-socket.adb (Inet_Addr): Check for empty Image and raises an
++      exception in this case.
++      Simplify the code as "Image (Image'Range)" = "Image".
++
++2005-07-07  Vincent Celier  <celier@adacore.com>
++
++      * bindgen.adb (Gen_Output_File_C): When switch -a was specified, put
++      the destructor/constructor attributes for <lib>final/<lib>init.
++
++      * gnatbind.adb (Gnatbind): Allow -a to be used in conjunction with -C
++
++2005-07-07  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not strip the padding
++      type if the parameter is not passed by copy but reference by default.
++
++2005-07-07  Javier Miranda  <miranda@adacore.com>
++
++      * exp_ch3.adb (Build_Record_Init_Proc/Freeze_Record_Type):
++      Reimplementation of the support for abstract interface types in order
++      to leave the code more clear and easy to maintain.
++
++      * exp_ch6.adb (Freeze_Subprogram): Reimplementation of the support for
++      abstract interface types in order to leave the code clearer and easier
++      to maintain.
++
++      * exp_disp.ads, exp_disp.adb (Fill_DT_Entry): Part of its functionality
++      is now implemented by the new subprogram Fill_Secondary_DT_Entry.
++      (Fill_Secondary_DT_Entry): Generate the code necessary to fill the
++      appropriate entry of the secondary dispatch table.
++      (Make_DT): Add code to inherit the secondary dispatch tables of
++      the ancestors.
++
++      * exp_util.adb (Find_Interface_Tag/Find_Interface_ADT): Instead of
++      implementing both functionalities by means of a common routine, each
++      routine has its own code.
++
++2005-07-07  Javier Miranda  <miranda@adacore.com>
++
++      * freeze.adb (Freeze_Entity): Check wrong uses of tag incomplete types.
++
++      * par-ch3.adb (P_Type_Declaration): Give support to tagged incomplete
++      types:
++      --
++        type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
++      --
++
++      * sem_attr.adb (Check_Not_Incomplete_Type): Additional checks for wrong
++      use of tag incomplete types.
++
++      * sem_ch3.adb (Analyze_Incomplete_Type): Add mininum decoration to
++      give support to tagged incomplete types.
++
++      * sem_ch5.adb (Analyze_Case_Statement): In generated code, if the
++      expression is a discriminant reference and its type is private, as can
++      happen within a stream operation for a mutable record, use the full
++      view of the type to resolve the case alternatives.
++      (Analyze_Assignment): Check wrong dereference of incomplete types.
++
++      * sem_ch6.adb (Process_Formals): Allow the use of tagged incomplete
++      types.
++
++      * sem_res.adb (Resolve_Explicit_Dereference): Allow the use of tagged
++      incomplete types.
++
++      * sinfo.adb (Taggged_Present/Set_Taggged_Present): Applicable to
++      N_Incomplete_Type_Declaration nodes.
++
++      * sinfo.ads (N_Incomplete_Type_Declaration): Addition of attribute
++      Tag_Present to give support to tagged incomplete types:
++      --
++        type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
++      --
++
++2005-07-07  Olivier Hainque  <hainque@adacore.com>
++
++      PR ada/22301
++      * raise.c: Only include unwind.h if IN_RTS, and provide dummy type
++      definitions for the Unwind wrappers in the compiler case.
++
++2005-07-07  Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * par-load.adb (Load): If a child unit is loaded through a limited_with
++      clause, each parent must be loaded as a limited unit as well.
++
++      * sem_ch10.adb (Previous_Withed_Unit): Better name for
++      Check_Withed_Unit. Return true if there is a previous with_clause for
++      this unit, whether limited or not.
++      (Expand_Limited_With_Clause): Do not generate a limited_with_clause on
++      the current unit.
++      (Is_Visible_Through_Renamings): New local subprogram of install_limited
++      _withed_unit that checks if some package installed through normal with
++      clauses has a renaming declaration of package whose limited-view is
++      ready to be installed. This enforces the check of the rule 10.1.2 (21/2)
++      of the current Draft document for Ada 2005.
++      (Analyze_Context): Complete the list of compilation units that
++      are allowed to contain limited-with clauses. It also contains
++      checks that were previously done by Install_Limited_Context_Clauses.
++      This makes the code more clear and easy to maintain.
++      (Expand_Limited_With_Clause) It is now a local subprogram of
++      Install_Limited_Context_Clauses, and contains the code that adds
++      the implicit limited-with clauses for parents of child units.
++      This functionality was prevously done by Analyze_Context.
++
++      * sem_ch4.adb (Analyze_Selected_Component): Check wrong use of
++      incomplete type.
++
++      * sem_ch7.adb (Analyze_Package_Declaration): Check if the package has
++      been erroneously named in a limited-with clause of its own context.
++      In this case the error has been previously notified by Analyze_Context.
++
++2005-07-07  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch8.adb (Find_Direct_Name): Handle properly the case of a
++      generic package that contains local declarations with the same name.
++      (Analyze_Object_Renaming): Check wrong renaming of incomplete type.
++
++2005-07-07  Bernard Banner  <banner@adacore.com>
++
++      * tracebak.c: Refine tracebacks to use Unwind_Backtrace scheme on
++      ia64 platform only on platforms that you the GCC unwind library
++      rather than the system unwind library.
++
++2005-07-07  Thomas Quinot  <quinot@adacore.com>
++
++      * expect.c: Minor reformatting
++
++2005-07-07  Sergey Rybin  <rybin@adacore.com>
++
++      * vms_data.ads: Add VMS qualifiers for new gnatpp switch
++      --no-separate-is
++
++      * gnat_ugn.texi: Add description for new gnatpp option
++      (--no-separate-is)
++
++2005-07-04  Thomas Quinot  <quinot@adacore.com>
++
++      * g-expect-vms.adb, g-expect.ads, g-expect.adb
++      (Get_Command_Output): New subprogram to launch a process and get its
++      standard output as a string.
++
++2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>
++          Olivier Hainque  <hainque@adacore.com>
++
++      * s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to
++      fetch a code-range descriptor associated with the machine state. On
++      failure set the machine state's PC to 0; on success, pass the
++      descriptor to exc_virtual_unwind.
++
++      * init.c (Tru64 section): New function __gnat_set_code_loc.
++
++2005-07-04  Vincent Celier  <celier@adacore.com>
++
++      * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
++      mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
++      mlib-tgt-mingw.adb, mlib-tgt-darwin.adb (Build_Dynamic_Library):
++      Remove all auto-initialization code, as this is now done through the
++      constructor mechanism.
++
++      * adaint.h, adaint.c (__gnat_binder_supports_auto_init,
++      __gnat_sals_init_using_constructors): New functions.
++
++      * bindgen.adb (Gen_Output_File_Ada): Generate pragmas
++      Linker_Constructor and Linker_Destructor when switch -a is used.
++
++      * bindusg.adb: Add line for new switch -a
++
++      * gnatbind.adb (Gnatbind_Supports_Auto_Init): New Boolean function
++      (Gnatbind): When switch -a is used, check if it is allowed
++
++      * switch-b.adb (Scan_Binder_Switches): Process new switch -a
++
++2005-07-04  Joel Brobecker  <brobecker@adacore.com>
++
++      * a-tags.adb (Type_Specific_Data): Define Tags_Table as a small array.
++      This prevents us from hitting a limitation during the debug info
++      generation when using stabs.
++      (Prims_Ptr): Likewise.
++
++2005-07-04  Gary Dismukes  <dismukes@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * checks.adb (Null_Exclusion_Static_Checks): In the case of
++      N_Object_Declaration, only perform the checks if the Object_Definition
++      is not an Access_Definition.
++
++      * sem_ch3.adb (Access_Subprogram_Declaration): Add test for the case
++      where the parent of an the access definition is an N_Object_Declaration
++      when determining the Associated_Node_For_Itype and scope of an
++      anonymous access-to-subprogram type.
++
++      * exp_ch6.adb (Expand_N_Subprogram_Declaration): Set the
++      Corresponding_Spec on the body created for a null procedure. Add ???
++      comment. Remove New_Copy_Tree call on body argument to
++      Set_Body_To_Inline.
++
++      * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): For an out parameter with
++      discriminants, use the type of the actual as well, because the
++      discriminants may be read by the called subprogram.
++
++      * sem_ch3.adb (Access_Type_Declaration): If the designated type is an
++      access type we do not need to handle non-limited views.
++      (Build_Derived_Record_Type): Additional check to check that in case of
++      private types, interfaces are only allowed in private extensions.
++
++2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * decl.c (prepend_attributes) <Pragma_Linker_Constructor>: New case.
++      <Pragma_Linker_Destructor>: Likewise.
++
++      * einfo.ads (Has_Gigi_Rep_Item): Document Pragma_Linker_Constructor and
++      Pragma_Linker_Destructor.
++
++      * gigi.h (attr_type): Add ATTR_LINK_CONSTRUCTOR and
++      ATTR_LINK_DESTRUCTOR.
++      (static_ctors, static_dtors): New variables.
++
++      * misc.c (gnat_expand_body): Output current function as constructor
++      and destructor if requested.
++
++      * par-prag.adb: Add processing for pragma Linker_Constructor and
++      Linker_Destructor.
++
++      * sem_prag.adb (Find_Unique_Parameterless_Procedure): New function
++      extracted from Check_Interrupt_Or_Attach_Handler.
++      (Check_Interrupt_Or_Attach_Handler): Invoke it.
++      Implement pragma Linker_Constructor and Linker_Destructor with the
++      help of Find_Unique_Parameterless_Procedure.
++      Replace Name_Alias with Name_Target for pragma Linker_Alias.
++
++      * snames.h, snames.ads, snames.adb:
++      Add Name_Linker_Constructor and Name_Linker_Destructor.
++      Add Pragma_Linker_Constructor and Pragma_Linker_Destructor.
++      * snames.adb: Remove Name_Alias.
++
++      * trans.c: Include cgraph.h.
++      (build_global_cdtor): New function.
++      (Compilation_Unit_to_gnu): Build global constructor and destructor if
++      needed.
++      (tree_transform) <N_Identifier>: Substitute renaming of view-conversions
++      of objects too.
++      (addressable_p) <COMPONENT_REF>: Unconditionally test
++      DECL_NONADDRESSABLE_P on STRICT_ALIGNMENT platforms.
++
++      * utils.c (process_attributes) <ATTR_LINK_ALIAS>: Do not assemble the
++      variable if it is external.
++
++      (static_ctors, static_dtors): New global variables.
++      (process_attributes) <ATTR_LINK_CONSTRUCTOR>: New case.
++      <ATTR_LINK_DESTRUCTOR>: Likewise.
++      (end_subprog_body): Chain function as constructor and destructor
++      if requested.
++
++      * exp_util.adb (Force_Evaluation): Unconditionally invoke
++      Remove_Side_Effects with Variable_Ref set to true.
++      (Remove_Side_Effects): Handle scalar types first. Use a renaming
++      for non-scalar types even if Variable_Ref is true and for class-wide
++      expressions.
++
++2005-07-04  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_attr.adb (Mod): Evaluate condition expression with checks off,
++      to prevent spurious warnings.
++
++2005-07-04  Thomas Quinot  <quinot@adacore.com>
++
++      * exp_dist.adb (Build_TypeCode_Call): Remove incorrect processing for
++      Itypes. Itypes are really unexpected there.
++      (Build_TypeCode_Function): Generalise special processing for Itypes to
++      handle the case of numeric implicit base types as well as enumerated
++      ones.
++
++2005-07-04  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
++      controlled, indicate the expected type of the dereference that is
++      created for the call to Deep_Finalize, to prevent spurious errors when
++      the designated type is private and completed with a derivation from
++      another private type.
++
++2005-07-04  Vincent Celier  <celier@adacore.com>
++
++      * make.adb (Change_To_Object_Directory): When unable to change the
++      current dir to the object directory, output the full path of the
++      directory.
++
++2005-07-04  Matthew Gingell  <gingell@adacore.com>
++
++      * Makefile.in: Replace indepsw-linux.adb by indepsw-gnu.adb
++
++      * indepsw-linux.adb: Replace by...
++
++      * indepsw-gnu.adb: ...this new file
++
++2005-07-04  Vincent Celier  <celier@adacore.com>
++
++      * mlib-prj.adb (Auto_Initialize): New constant String
++      (SALs_Use_Constructors): New Boolean function
++      (Build_Library): Call gnatbind with Auto_Initialize switch when
++      SALs_Use_Constructors returns True.
++
++      * mlib-tgt.ads: Minor reformatting
++
++      * mlib-utl.ads: Minor reformatting
++
++      * opt.ads: (Use_Pragma_Linker_Constructor): New Boolean flag
++
++2005-07-04  Ed Schonberg  <schonberg@adacore.com>
++
++      * par-ch9.adb (P_Task, P_Protected): Indicate that single task and
++      single protected declarations can have an interface list.
++      (P_Entry_Declaration): Add handler for Error_Resync, which can be raised
++      with seriously malformed entry declarations, and lead to compilation
++      abandoned messages.
++
++2005-07-04  Javier Miranda  <miranda@adacore.com>
++
++      * par-load.adb: Load the context items in two rounds.
++
++2005-07-04  Robert Dewar  <dewar@adacore.com>
++
++      * scng.adb: Do not consider Mod used as an attribute to be a keyword
++
++2005-07-04  Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * sem_ch10.adb (Build_Limited_Views): A type declared with a private
++      type extension needs a limited view.
++      Remove previous restriction on private types available through the
++      limited-view (only tagged private types were previously allowed).
++      (Install_Withed_Unit): In the code that implements the
++      legality rule given in AI-377, exclude a child unit with the name
++      Standard, because it is a homonym of the Standard environment package.
++
++2005-07-04  Thomas Quinot  <quinot@adacore.com>
++
++      * sem_ch4.adb (Transform_Object_Operation): For an actual that is an
++      overloaded function call, carry interpretations from the original tree
++      to the copy.
++
++2005-07-04  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch6.adb (Conforming_Types): If the types are anonymous access
++      types check whether some designated type is a limited view, and use
++      the non-limited view if available.
++
++2005-07-04  Gary Dismukes  <dismukes@adacore.com>
++
++      * sem_eval.adb (Subtypes_Statically_Match): Use the discriminant
++      constraint of full view of a private view T1 if present, when T2 is a
++      discriminated full view.
++
++2005-07-04  Thomas Quinot  <quinot@adacore.com>
++
++      * sem_res.adb (Resolve_Actuals): Do not resolve the expression of an
++      actual that is a view conversion of a bit packed array reference.
++
++2005-07-04  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_type.adb (Covers): Verify that Corresponding_Record_Type is
++      present before checking whether an interface type covers a synchronized
++      type.
++
++2005-07-04  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_util.adb (Is_Object_Reference): An indexed or selected component
++      whose prefix is an implicit dereference is an object reference. Removes
++      spurious errors when compiling with -gnatc.
++
++2005-07-04  Robert Dewar  <dewar@adacore.com>
++
++      PR ada/22039
++      * s-sopco3.ads, s-sopco4.ads, s-sopco5.ads: Minor documentation fix
++
++2005-07-04  Matthew Gingell  <gingell@adacore.com>
++
++      * tracebak.c: Enable tracebacks on ia64 platforms
++
++2005-07-04  Vincent Celier  <celier@adacore.com>
++
++      * vms_conv.adb (Initialize): Allow multiple ALI files to be given to
++      the GNAT BIND command, as gnatbind accepts multiples ALI files with
++      the -L or -n switches.
++
++2005-07-04  Vincent Celier  <celier@adacore.com>
++
++      * makegpr.adb (Build_Global_Archive): Make sure the list of sources is
++      correctly computed and the main project data is not modified while
++      doing so.
++      (Add_C_Plus_Plus_Link_For_Gnatmake): Always link with the C++ compiler
++      (Choose_C_Plus_Plus_Link_Process): Do not generate shell script
++      c++linker as this does not work on some platforms.
++
++2005-07-04  Matthew Heaney  <heaney@adacore.com>
++
++      * a-convec.ads, a-coinve.ads: Declaration of subtype Extended_Index
++      was changed.
++      * a-coinve.adb: Perform constraint checks explicitly.
++
++2005-07-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++          Thomas Quinot  <quinot@adacore.com>
++
++      * Make-lang.in: (ada/targtyps.o): Add missing TREE_H dependency.
++      new target gen-soccon.
++
++2005-07-04  Robert Dewar  <dewar@adacore.com>
++
++      * s-mastop-irix.adb, s-mastop-vms.adb: Minor reformatting
++
++2005-07-04  Thomas Quinot  <quinot@adacore.com>
++
++      * g-socket.ads (Check_Selector): Minor rewording of comment.
++
++2005-07-04  Vincent Celier  <celier@adacore.com>
++
++      * vms_data.ads: Add VMS qualifiers for new gnatpp switch --eol=
++
++2005-07-04  Thomas Quinot  <quinot@adacore.com>
++
++      * gen-soccon.c: Add constants SO_SNDTIMEO and SO_RCVTIMEO.
++
++2005-07-04  Sergey Rybin  <rybin@adacore.com>
++
++      * gnat_ugn.texi: Add description of --eol gnatpp option
++
++2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++
++      * gnat_rm.texi: Add a note that pragma Unreferenced is not appropriate
++      if the user wants all calls of a subprogram to be flagged,
++      independently of whether they are made from within the same unit or
++      another unit.
++      Mention restriction for pragma Linker_Alias on some platforms.
++      Document pragma Linker_Constructor and Linker_Destructor.
++      Rewrite documentation of Weak_External, Linker_Section and
++      Linker_Alias pragmas.
++
++2005-07-04  Arnaud Charlet  <charlet@adacore.com>
++
++      * s-stausa.ads, s-stausa.adb: New files.
++
++2005-06-30  Kelley Cook
++
++      * all files:  Update FSF address in copyright headers.
++      * gen-soccon.co (main): Output new FSF address in generated files.
++
++2005-06-28  Paul Brook  <paul@codesourcery.com>
++
++      * misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
++
++2005-06-14  Olivier Hainque  <hainque@adacore.com>
++          Eric Botcazou  <ebotcazou@adacore.com>
++
++      * s-mastop-irix.adb (Pop_Frame): Revert shorcuts avoiding calls to
++      exc_unwind, now that we are generating proper .debug_frame output for
++      that target.
++
++      * tracebak.c: Remove the mips-irix section, as we are now using the
++      s-mastop based unwinder again.
++      Under SPARC/Solaris, take into account the stack bias to compute the
++      frame offset.  The stack bias is 0 for the V8 ABI and 2047 for the V9
++      ABI.
++
++2005-06-14  Doug Rupp  <rupp@adacore.com>
++
++      * g-trasym-vms.adb: renamed g-trasym-vms-alpha.adb
++
++      * g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb: New files
++
++2005-06-14  Pascal Obry  <obry@adacore.com>
++
++      * a-strhas.ads, a-secain.adb, a-secain.ads, a-rbtgso.ads, a-cgaaso.adb,
++      a-cgaaso.ads, a-cgarso.adb, a-cgcaso.adb, a-cgarso.ads, a-cgcaso.ads,
++      a-contai.ads, a-coprnu.ads, a-coprnu.adb: Fix header style (spaces in
++      package name).
++
++      * a-intnam-lynxos.ads, a-intnam-unixware.ads, a-intnam-tru64.ads,
++      a-intnam-aix.ads, a-intnam-irix.ads, a-excpol-interix.adb,
++      a-intnam-hpux.ads, a-intnam-linux.ads, a-intnam-dummy.ads,
++      a-intnam-os2.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
++      a-intnam-solaris.ads, a-caldel-vms.adb, a-calend-vms.ads,
++      a-intnam-vms.ads, a-excpol-abort.adb, a-intnam-mingw.ads,
++      a-intnam-vxworks.ads, a-numaux-vxworks.ads, s-osinte-unixware.adb,
++      s-osinte-unixware.ads, s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads,
++      s-osinte-hpux.ads, s-osinte-solaris-posix.ads, a-intnam-freebsd.ads,
++      s-osinte-freebsd.adb, s-osinte-freebsd.ads, s-osinte-lynxos.adb,
++      s-osinte-lynxos.ads, s-tpopsp-lynxos.adb, s-osinte-tru64.adb,
++      s-osinte-tru64.ads, s-tpopsp-posix-foreign.adb, s-vxwork-alpha.ads,
++      s-osinte-aix.adb, s-osinte-aix.ads, s-osinte-aix-fsu.ads,
++      s-osinte-irix.adb, s-osinte-irix.ads, s-interr-sigaction.adb,
++      s-osinte-irix-athread.ads, s-osinte-hpux-dce.adb,
++      s-osinte-hpux-dce.ads, s-osinte-posix.adb, s-osinte-linux.ads,
++      s-vxwork-m68k.ads, s-osinte-linux-fsu.ads, s-vxwork-mips.ads,
++      s-osinte-dummy.ads, s-interr-dummy.adb, s-osinte-os2.adb,
++      s-osinte-os2.ads, s-osprim-os2.adb, s-osinte-interix.ads,
++      s-osprim-unix.adb, s-vxwork-ppc.ads, s-osinte-solaris.adb,
++      s-osinte-solaris.ads, s-osprim-solaris.adb, s-tpopsp-solaris.adb,
++      s-vxwork-sparcv9.ads, s-osinte-solaris-fsu.ads, s-interr-vms.adb,
++      s-osinte-vms.adb, s-osinte-vms.ads, s-osprim-vms.adb,
++      s-osprim-vms.ads, s-tpopde-vms.adb, s-tpopde-vms.ads,
++      s-osprim-mingw.adb, s-vxwork-xscale.ads, s-interr-vxworks.adb,
++      s-osinte-vxworks.adb, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
++      s-tfsetr-vxworks.adb, s-tpopsp-vxworks.adb, s-intman-posix.adb,
++      s-osinte-fsu.adb, s-osprim-posix.adb, s-tfsetr-default.adb,
++      s-tpopsp-posix.adb, s-traces-default.adb, s-trafor-default.adb,
++      s-trafor-default.ads, s-tratas-default.adb, a-numaux-x86.adb,
++      a-numaux-x86.ads, a-astaco.adb, a-astaco.ads, a-caldel.adb,
++      a-caldel.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads, a-colien.adb,
++      a-colien.ads, a-colire.adb, a-colire.ads, a-comlin.adb, a-cwila1.ads,
++      a-cwila9.ads, ada.ads, a-decima.adb, a-diocst.ads, a-direio.adb,
++      a-dynpri.adb, a-dynpri.ads, a-excpol.adb, a-flteio.ads, a-fwteio.ads,
++      a-inteio.ads, a-interr.adb, a-intnam.ads, a-intsig.adb, a-intsig.ads,
++      a-ioexce.ads, a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
++      a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads, a-lliwti.ads,
++      a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads, a-ngcoty.adb, a-ngelfu.adb,
++      a-ngelfu.ads, a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
++      a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads,
++      a-nucoty.ads, a-nudira.adb, a-nuelfu.ads, a-nuflra.adb, a-numaux.ads,
++      a-numeri.ads, a-reatim.adb, a-retide.adb, a-retide.ads, a-sequio.adb,
++      a-sequio.ads, a-sfteio.ads, a-sfwtio.ads, a-siocst.ads, a-siteio.ads,
++      a-siwtio.ads, a-ssicst.ads, a-ssitio.ads, a-ssiwti.ads, a-stmaco.ads,
++      a-storio.adb, a-strbou.adb, a-strfix.adb, a-string.ads, a-strmap.adb,
++      a-strsea.adb, a-strsup.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
++      a-stunau.ads, a-stwibo.adb, a-stwifi.adb, a-stwifi.ads, a-stwima.adb,
++      a-stwise.adb, a-stwisu.adb, a-suteio.adb, a-suteio.ads, a-swuwti.adb,
++      a-swuwti.ads, a-teioed.adb, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb,
++      a-tideau.adb, a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
++      a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinio.adb, a-timoau.adb,
++      a-timoio.adb, a-timoio.ads, a-tiocst.ads, a-titest.adb, a-titest.ads,
++      a-witeio.adb, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
++      a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtenau.adb, a-wtenio.adb,
++      a-wtfiio.adb, a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
++      a-wtinio.ads, a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, calendar.ads,
++      dec.ads, dec-io.adb, dec-io.ads, directio.ads, errno.c, g-bubsor.adb,
++      g-bubsor.ads, g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
++      g-casuti.adb, g-casuti.ads, g-debuti.ads, g-heasor.adb, g-heasor.ads,
++      g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb,
++      g-htable.ads, g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
++      g-memdum.adb, g-memdum.ads, g-sestin.ads, g-signal.ads, g-signal.adb,
++      gnat.ads, g-souinf.ads, g-speche.adb, g-speche.ads, g-table.adb,
++      g-table.ads, g-thread.adb, g-thread.ads, ioexcept.ads, i-vxwoio.adb,
++      i-vxwoio.ads, math_lib.adb, s-assert.adb, s-assert.ads, s-asthan.ads,
++      s-bitops.adb, s-bitops.ads, s-boarop.ads, s-carsi8.adb, s-carsi8.ads,
++      s-carun8.adb, s-carun8.ads, s-casi16.adb, s-casi16.ads, s-casi32.adb,
++      s-casi32.ads, s-casi64.adb, s-casi64.ads, s-casuti.adb, s-casuti.ads,
++      s-caun16.adb, s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
++      s-caun64.ads, s-direio.adb, s-direio.ads, sequenio.ads, s-errrep.adb,
++      s-errrep.ads, s-exnint.adb, s-exnint.ads, s-exnllf.adb, s-exnllf.ads,
++      s-exnlli.adb, s-exnlli.ads, s-expint.adb, s-expint.ads, s-explli.adb,
++      s-explli.ads, s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
++      s-expuns.adb, s-expuns.ads, s-fore.adb, s-fore.ads, s-geveop.adb,
++      s-geveop.ads, s-htable.adb, s-htable.ads, s-imgbiu.adb, s-imgbiu.ads,
++      s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
++      s-imgdec.ads, s-imgenu.adb, s-imgenu.ads, s-imgint.adb, s-imgint.ads,
++      s-imgllb.adb, s-imgllb.ads, s-imglld.adb, s-imglld.ads, s-imglli.adb,
++      s-imglli.ads, s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
++      s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwiu.adb, s-imgwiu.ads
++      s-interr.ads, s-io.adb, s-mantis.adb, s-mantis.ads, s-osprim.ads,
++      s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads, s-pack06.adb,
++      s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
++      s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads, s-pack12.adb,
++      s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb, s-pack14.ads,
++      s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads, s-pack18.adb,
++      s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
++      s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads, s-pack23.adb,
++      s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb, s-pack25.ads,
++      s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads, s-pack28.adb,
++      s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
++      s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads, s-pack34.adb,
++      s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb, s-pack36.ads,
++      s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads, s-pack39.adb,
++      s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
++      s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads, s-pack44.adb,
++      s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb, s-pack46.ads,
++      s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads, s-pack49.adb,
++      s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
++      s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads, s-pack54.adb,
++      s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb, s-pack56.ads,
++      s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads, s-pack59.adb,
++      s-pack59.ads, s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
++      s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads, s-scaval.adb,
++      s-scaval.ads, s-sequio.adb, s-sequio.ads, s-stache.adb, s-stache.ads,
++      s-stratt.adb, s-stratt.ads, s-strcom.adb, s-strcom.ads, s-strops.adb,
++      s-strops.ads, s-taasde.ads, s-tadeca.adb, s-tadeca.ads, s-tadert.adb,
++      s-tadert.ads, s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
++      s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads, s-tasini.adb,
++      s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
++      s-tasren.ads, s-tasres.ads, s-tassta.adb, s-tassta.ads, s-tasuti.adb,
++      s-tasuti.ads, s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
++      s-tpoben.adb, s-tpoben.ads, s-tpobop.ads, s-tporft.adb, s-tposen.ads,
++      s-traces.adb, s-traces.ads, s-tratas.adb, s-tratas.ads, s-valint.ads,
++      s-unstyp.ads, s-veboop.adb, s-veboop.ads, s-vector.ads, s-vercon.adb,
++      s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchjis.adb, s-wchjis.ads,
++      s-wchstw.adb, s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
++      s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb, s-widenu.ads,
++      s-widlli.adb, s-widlli.ads, s-widllu.adb, s-widllu.ads, s-wwdcha.ads,
++      s-wwdenu.adb, s-wwdwch.ads, text_io.ads, s-stchop.ads, s-stchop.adb,
++      s-stchop-vxworks.adb, a-intnam-darwin.ads, s-osinte-darwin.adb,
++      s-osinte-darwin.ads, s-vxwork-x86.ads, a-numaux-darwin.ads,
++      a-numaux-darwin.adb, a-chzla1.ads, a-chzla9.ads, a-lfztio.ads,
++      a-liztio.ads, a-llfzti.ads, a-llizti.ads, a-sfztio.ads, a-siztio.ads,
++      a-ssizti.ads, a-stzbou.adb, a-stzfix.adb, a-stzfix.ads, a-stzmap.adb,
++      a-stzsea.adb, a-stzsup.adb, a-swunau.adb, a-swunau.ads, a-szuzti.adb,
++      a-szuzti.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads,
++      a-ztcoio.adb, a-ztcoio.ads, a-ztcstr.ads, a-ztdeau.adb, a-ztdeio.adb,
++      a-ztenio.adb, a-ztexio.adb, a-ztfiio.adb, a-ztflio.adb, a-ztgeau.adb,
++      a-ztinau.adb, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb, a-ztmoio.adb,
++      a-zttest.adb, a-zzunio.ads, g-utf_32.adb: Fix header style.
++      "GNU Ada" to GNAT, use proper casing for RUN-TIME.
++
++2005-06-14  Jose Ruiz  <ruiz@adacore.com>
++          Arnaud Charlet  <charlet@adacore.com>
++
++      * a-sytaco.ads, a-sytaco.adb (Suspension_Object): These objects are no
++      longer protected objects. They have been replaced by lower-level
++      suspension objects made up by a mutex and a condition variable (or
++      their equivalent given a particular OS) plus some internal data to
++      reflect the state of the suspension object.
++      (Initialize, Finalize): Add this initialization procedure for
++      Suspension_Object, which is a controlled type.
++      (Finalize): Add the finalization procedure for Suspension_Object,
++      which is a controlled type.
++
++      * a-sytaco-vxworks.ads, a-sytaco-vxworks.adb: Remove this version of
++      Ada.Synchronous_Task_Control because there is no longer a need for a
++      VxWorks specific version of this package. Target dependencies
++      has been moved to System.Task_Primitives.Operations.
++
++      * s-osinte-mingw.ads (pCRITICAL_SECTION): Remove this type which is no
++      longer needed.
++      (InitializeCriticalSection, EnterCriticalSection,
++      LeaveCriticalSection, DeleteCriticalSection): Replace the type
++      pCriticalSection by an anonymous access type so that we avoid problems
++      of accessibility to local objects.
++
++      * s-taprop.ads, s-taprop-posix.adb, s-taprop-vxworks.adb,
++      s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
++      s-taprop-os2.adb, s-taprop-dummy.adb, s-taprop-hpux-dce.adb,
++      s-taprop-linux.adb, s-taprop-irix.adb, s-taprop-irix-athread.adb,
++      s-taprop-tru64.adb, s-taprop-lynxos.adb (Elaboration Code): No longer
++      set the environment task mask here.
++      (Current_State): Add this function that returns the state of the
++      suspension object.
++      (Set_False): Add this procedure that sets the state of the suspension
++      object to False.
++      (Set_True): Add this procedure that sets the state of the suspension
++      object to True, releasing the task that was suspended, if any.
++      (Suspend_Until_True): Add this procedure that blocks the calling task
++      until the state of the object is True. Program_Error is raised if
++      another task is already waiting on that suspension object.
++      (Initialize): Add this procedure for initializing the suspension
++      object. It initializes the mutex and the condition variable which are
++      used for synchronization and queuing, and it sets the internal state
++      to False.
++      (Finalize): Add this procedure for finalizing the suspension object,
++      destroying the mutex and the condition variable.
++
++      * s-taspri-posix.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
++      s-taspri-vms.ads, s-taspri-solaris.ads, s-taspri-os2.ads,
++      s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-linux.ads,
++      s-taspri-tru64.ads, s-taspri-lynxos.ads (Suspension_Object): New object
++      which provides a low-level abstraction (using operating system
++      primitives) for Ada.Synchronous_Task_Control.
++      This object is made up by a mutex (for ensuring mutual exclusion), a
++      condition variable (for queuing threads until the condition is
++      signaled), a Boolean (State) indicating whether the object is open,
++      and a Boolean (Waiting) reflecting whether there is a task already
++      suspended on this object.
++
++      * s-intman.ads, s-intman-irix.adb, s-intman-irix-athread.adb,
++      s-intman-dummy.adb, s-intman-solaris.adb, s-intman-vms.adb,
++      s-intman-vms.ads, s-intman-mingw.adb,
++      (Initialize_Interrupts): Removed, no longer used.
++
++      * s-inmaop-posix.adb, s-inmaop-vms.adb, s-inmaop-dummy.adb,
++      (Setup_Interrupt_Mask): New procedure.
++
++      * s-intman-vxworks.ads, s-intman-vxworks.adb:  Update comments.
++
++      * s-inmaop.ads (Setup_Interrupt_Mask): New procedure
++
++      * s-interr.adb: Add explicit call to Setup_Interrupt_Mask now that
++      this is no longer done in the body of s-taprop
++      (Server_Task): Explicitely test for Pending_Action in case
++      System.Parameters.No_Abort is True.
++
++      * s-taasde.adb: Add explicit call to Setup_Interrupt_Mask now that this
++      is no longer done in the body of s-taprop
++
++2005-06-14  Robert Dewar  <dewar@adacore.com>
++
++      * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
++      system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
++      system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
++      system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
++      system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
++      system-linux-x86.ads, system-vxworks-mips.ads, system-vxworks-mips.ads,
++      system-os2.ads, system-interix.ads, system-solaris-sparc.ads,
++      system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
++      system-vms-zcx.ads, system-vxworks-ppc.ads, system.ads,
++      system-darwin-ppc.ads, system-vxworks-x86.ads, system-linux-ppc.ads,
++      system-linux-hppa.ads, system-vms_64.ads,
++      system-vxworks-alpha.ads: Minor comment update for
++      AI-362 (unit is Pure).
++
++      * a-chahan.ads, a-chahan.adb: Move Wide_Wide functions to Conversions
++      Add pragma Pure_05 for AI-362
++      Make remaining conversion functions obsolescent in Ada 95
++
++      * impunit.adb: Change a-swunha to a-swuwha and a-szunha to a-szuzha
++      Make Ada.Wide_Characters[.Unicode] available in Ada 95 mode
++      Add entries for a-wichun and a-zchuni
++      Add a-widcha a-zchara for AI-395
++      Add a-chacon (Ada.Characters.Conversions) to list of Ada 2005 routines
++
++      * Makefile.rtl: Change a-swunha to a-swuwha and a-szunha to a-szuzha
++      Add entries for a-wichun.o and a-zchuni.o
++      Entries for a-widcha.o and a-zchara.o
++      Add entry for a-chacon.o
++
++      * a-ztenau.adb: Add with of Ada.Characters.Conversions
++
++      * a-chacon.ads, a-chacon.adb: New files.
++
++      * a-taside.adb, a-exstat.adb, a-excach.adb: Add warnings off to allow
++      categorization violations.
++
++      * a-strmap.ads: Add pragma Pure_05 for AI-362
++      * a-strmap.ads: Add note on implicit categorization for AI-362
++
++      * a-tgdico.ads, a-taside.ads: Add pragma Preelaborate_05 for AI-362
++
++      * par-prag.adb: Dummy entry for pragma Persistent_BSS
++      Set Ada_Version_Explicit, for implementation of AI-362
++      Add processing for pragma Pure_05 and Preelaborate_05
++      Add entry for Assertion_Policy pragma
++
++      * sem.adb: Make sure predefined units are compiled with GNAT_Mode true
++      when needed for proper processing of categorization stuff
++
++      * sem_cat.adb:
++      For several cases, make errors in preealborate units warnings,
++      instead of errors, if GNAT_Mode is set. For AI-362.
++
++      * sem_elab.adb (Check_Elab_Call): Call to non-static subprogram in
++      preelaborate unit is now warning if in GNAT mode
++
++      * s-stoele.ads: Document AI-362 for pragma preelaborate
++
++2005-06-14  Doug Rupp  <rupp@adacore.com>
++
++      * s-parame-vms.ads, s-parame-hpux.ads, s-parame-vms-restrict.ads,
++      s-parame-ae653.ads, s-parame.ads, s-parame-vxworks.ads:
++      Default_Exception_Msg_Max_Length: new parameter.
++
++      * a-except.ads: (Exception_Msg_Max_Length): Set to
++      System.Parameters.Default_Exception_Msg_Max_Length
++      Add pragma Preelaborate_05 for AI-362
++      Add warnings off to allow categorization violations for AI-362
++
++2005-06-14  Vincent Celier  <celier@adacore.com>
++
++      * gnatsym.adb: Adapt to modification of package Symbols: procedure
++      Process is now in package Processing.
++
++      * symbols.ads, symbols.adb:
++      (Processing): New package, containing procedure Process
++
++      * symbols-vms-alpha.adb:
++      Replaced by symbols-vms.adb and symbols-processing-vms-alpha.adb
++
++      * symbols-vms.adb, symbols-processing-vms-alpha.adb,
++      symbols-processing-vms-ia64.adb: New files.
++
++2005-06-14  Pascal Obry  <obry@adacore.com>
++
++      * mlib-tgt-mingw.adb (Build_Dynamic_Library): Replace the previous
++      implementation. This new version generates the proper DllMain routine
++      to initialize the SAL. The DllMain is generated in Ada and compiled
++      before being added as option to the library build command.
++
++2005-06-14  Doug Rupp  <rupp@adacore.com>
++          Pascal Obry  <obry@adacore.com>
++
++      * adaint.c (__gnat_to_canonical_file_spec): Check for error returns in
++      call to decc$translate_vms.
++      (__gnat_locate_regular_file): Check if the path_val contains quotes. We
++      need to remove those quotes before catenating the filename.
++      (__gnat_locate_exec_on_path): improvements to the Win32 section:
++      * avoid allocating the memory twice for better efficiency;
++      * allocate 32K buffer for environment expansion as suggested by MSDN;
++      * prepend ".;" to the path so that current directory is searched too.
++
++2005-06-14  Robert Dewar  <dewar@adacore.com>
++
++      * a-except.adb (Exception_Identity): return Null_Id for null occurrence
++      instead of raising CE (AI-241)
++      Add warnings off to allow categorization violations for AI-362
++
++2005-06-14  Robert Dewar  <dewar@adacore.com>
++
++      * ali-util.adb, gnatbind.adb: Remove references to
++      Force_RM_Elaboration_Order.
++
++      * switch-b.adb: Remove recognition of -f switch
++
++2005-06-14  Pascal Obry  <obry@adacore.com>
++
++      * a-stzunb.adb, a-stwiun.adb, a-strunb.adb (Realloc_For_Chunk): New
++      implementation which is slightly more efficient.
++
++2005-06-14  Gary Dismukes  <dismukes@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * exp_ch4.adb (Expand_Allocator_Expression): When an initialized
++      allocator's designated type is a class-wide type, and compiling for
++      Ada 2005, emit a run-time check that the accessibility level of the
++      type given in the allocator's expression is not deeper than the level
++      of the allocator's access type.
++
++      (Tagged_Membership): Modified to gives support to abstract interface
++      types.
++
++      * a-tags.ads, a-tags.adb (type Type_Specific_Data): Add component
++      Access_Level.
++      (Descendant_Tag): New predefined function
++      (Is_Descendant_At_Same_Level): New predefined function
++      (Get_Access_Level): New private function
++      (Set_Access_Level): New private procedure
++      (IW_Membership): New function. Given the tag of an object and the tag
++      associated with an interface, evaluate if the object implements the
++      interface.
++      (Register_Interface_Tag): New procedure used to initialize the table of
++      interfaces used by the IW_Membership function.
++      (Set_Offset_To_Top): Initialize the Offset_To_Top field in the prologue
++      of the dispatch table.
++      (Inherit_TSD): Modified to copy the table of ancestor tags plus the
++      table of interfaces of the parent.
++      (Expanded_Name): Raise Tag_Error if the passed tag equals No_Tag.
++      (External_Tag): Raise Tag_Error if the passed tag equals No_Tag.
++      (Parent_Tag): Return No_Tag in the case of a root-level tagged type,
++      and raise Tag_Error if the passed tag equalis No_Tag, to conform with
++      Ada 2005 semantics for the new predefined function.
++
++      * exp_attr.adb (Expand_N_Attribute, case Attribute_Input): Generate
++      call to Descendant_Tag rather than Internal_Tag.
++      (Expand_N_Attribute, case Attribute_Output): Emit a check to ensure that
++      the accessibility level of the attribute's Item parameter is not deeper
++      than the level of the attribute's prefix type. Tag_Error is raised if
++      the check fails. The check is only emitted for Ada_05.
++      (Find_Stream_Subprogram): If a TSS exists on the type itself for the
++      requested stream attribute, use it.
++      (Expand_N_Attribute_Reference): If the designated type is an interface
++      then rewrite the referenced object as a conversion to force the
++      displacement of the pointer to the secondary dispatch table.
++      (Expand_N_Attribute_Reference, case 'Constrained): Return false if this
++      is a dereference of an object with a constrained partial view.
++
++      * exp_ch5.adb (Expand_N_Return_Statement): When a function's result
++      type is a class-wide type, emit a run-time check that the accessibility
++      level of the returned object is not deeper than the level of the
++      function's master (only when compiling for Ada 2005).
++
++      * exp_disp.ads, exp_disp.adb (Ada_Actions, Action_Is_Proc,
++      Action_Nb_Arg): Add entries for new Get_Access_Level and
++      Set_Access_Level routines in these tables.
++      (Make_DT): Generate a call to set the accessibility level of the
++      tagged type in its TSD.
++      (Make_DT): Code cleanup. The functionality of generating all the
++      secondary dispatch tables has been moved to freeze_record_type.
++      (Make_Abstract_Interface_DT): Minor code cleanup.
++      (Set_All_DT_Position): Code cleanup. As part of the code cleanup
++      this subprogram implements a new algorithm that provides the
++      same functionality and it is more clear in case of primitives
++      associated with abstract interfaces.
++      (Set_All_Interfaces_DTC_Entity): Removed. As part of the code
++      clean up, the functionality of this subprogram is now provided
++      by Set_All_DT_Position.
++      (Write_DT): New subprogram: a debugging procedure designed to be called
++      within gdb to display the dispatch tables associated with a tagged
++      type.
++      (Collect_All_Interfaces): New subprogram that collects the whole list
++      of interfaces that are directly or indirectly implemented by a tagged
++      type.
++      (Default_Prim_Op_Position): New subprogram that returns the fixed
++      position in the dispatch table of the default primitive operations.
++      (Expand_Interface_Actuals): New subprogram to generate code that
++      displaces all the actuals corresponding to class-wide interfaces to
++      reference the interface tag of the actual object.
++      (Expand_Interface_Conversion): New subprogram. Reference the base of
++      the object to give access to the interface tag associated with the
++      secondary dispatch table.
++      (Expand_Interface_Thunk): New subprogram that generates the code of the
++      thunk. This is required for compatibility with the C+ ABI.
++      (Make_Abstract_Interface_DT): New subprogram that generate the
++      declarations for the secondary dispatch tables associated with an
++      abstract interface.
++      (Set_All_Interfaces_DTC_Entity): New subprogram that sets the DTC_Entity
++      attribute for each primitive operation covering interface subprograms
++      (Expand_Dispatching_Call, Fill_DT_Entry, Make_DT, Set_All_DT_Position):
++      These subprograms were upgraded to give support to abstract interfaces
++
++      * rtsfind.ads (type RE_Id): Add RE_Descendant_Tag,
++      RE_Is_Descendant_At_Same_Level, RE_Get_Access_Level, and
++      RE_Set_Access_Level.
++      (RE_Unit_Table): Add entries for new Ada.Tags operations.
++      Add support to call the followig new run-time subprograms:
++      IW_Membership, Register_Interface_Tag, and Set_Offset_To_Top
++
++      * sem_ch3.adb (Constant_Redeclaration): Allow a deferred constant to
++      match its full declaration when both have an access definition with
++      statically matching designated subtypes.
++      (Analyze_Component_Declaration): Delete commented out code that was
++      incorrectly setting the scope of an anonymous access component's type.
++      (Process_Discriminants): Set Is_Local_Anonymous_Access for the type of
++      an access discriminant when the containing type is nonlimited.
++      (Make_Incomplete_Type_Declaration): Create an incomplete type
++      declaration for a record type that includes self-referential access
++      components.
++      (Check_Anonymous_Access_Types): Before full analysis of a record type
++      declaration, create anonymous access types for each self-referential
++      access component.
++      (Analyze_Component_Declaration, Array_Type_Declaration): Indicate that
++      an access component in this context is a Local_Anonymous_Access, for
++      proper accessibility checks.
++      (Access_Definition): Set properly the scope of the anonymous access type
++      created for a stand-alone access object.
++      (Find_Type_Of_Object): An object declaration may be given with an access
++      definition.
++      (Complete_Subprograms_Derivation): New subprogram used to complete
++      type derivation of private tagged types implementing interfaces.
++      In this case some interface primitives may have been overriden
++      with the partial-view and, instead of re-calculating them, they
++      are included in the list of primitive operations of the full-view.
++      (Build_Derived_Record_Type): Modified to give support to private
++      types implemening interfaces.
++      (Access_Definition): Reject ALL on anonymous access types.
++      (Build_Derived_Record_Type): In the case of Ada 2005, allow a tagged
++      type derivation to occur at a deeper accessibility level than the
++      parent type.
++      For the case of derivation within a generic body however, disallow the
++      derivation if the derived type has an ancestor that is a formal type
++      declared in the formal part of an enclosing generic.
++      (Analyze_Object_Declaration): For protected objects, remove the check
++      that they cannot contain interrupt handlers if not declared at library
++      level.
++      (Add_Interface_Tag_Components): New subprogram to add the tag components
++      corresponding to all the abstract interface types implemented by a
++      record type or a derived record type.
++      (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
++      Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
++      Process_Full_View, Record_Type_Declaration): Modified to give
++      support to abstract interface types
++      (Collect_Interfaces): New subprogram that collects the list of
++      interfaces that are not already implemented by the ancestors
++      (Process_Full_View): Set flag Has_Partial_Constrained_View appropriately
++      when partial view has no discriminants and full view has defaults.
++      (Constrain_Access): Reject a constraint on a general access type
++      if the discriminants of the designated type have defaults.
++      (Access_Subprogram_Declaration): Associate the Itype node with the inner
++      full-type declaration or subprogram spec. This is required to handle
++      nested anonymous declarations.
++      (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
++      Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
++      Process_Full_View, Record_Type_Declaration): Modified to give
++      support to abstract interface types
++      (Derive_Subprograms): Addition of a new formal to indicate if
++      we are in the case of an abstact-interface derivation
++      (Find_Type_Of_Subtype_Indic): Moved from the body of the package
++      to the specification because it is requied to analyze all the
++      identifiers found in a list of interfaces
++
++      * debug.adb: Complete documentation of flag "-gnatdZ"
++
++      * exp_ch3.adb: Implement config version of persistent_bss pragma
++      (Check_Stream_Attributes): Use Stream_Attribute_Available instead of
++      testing for TSS presence to properly enforce visibility rules.
++      (Freeze_Record_Type): Code cleanup. Modified to call the subprogram
++      Make_Abstract_Interfaces_DT to generate the secondary tables
++      associated with abstract interfaces.
++      (Build_Init_Procedure): Modified to initialize all the tags
++      corresponding.
++      (Component_Needs_Simple_Initialization): Similar to other tags,
++      interface tags do not need initialization.
++      (Freeze_Record_Type): Modified to give support to abstract interface
++      types.
++      (Expand_N_Object_Declaration): Do not generate an initialization for
++      a scalar temporary marked as internal.
++
++      * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Handle properly an
++      in-out parameter that is a component in an initialization procedure,
++      whose constraint might depend on discriminants, and that may be
++      misaligned because of packing or representation clauses.
++      (Is_Legal_Copy): New predicate to determine whether a possibly
++      misaligned in-out actual can actually be passed by copy/return. This
++      is an error in case the type is by_reference, and a warning if this is
++      the consequence of a DEC import pragma on the subprogram.
++      (Expand_Call, Freeze_Subprogram): Modified to give support to abstract
++      interface types
++      (Expand_Inlined_Call): Mark temporary generated for the return value as
++      internal, so that no useless scalar normalization is generated for it.
++      (Expand_N_Subprogram_Declaration): Save unanalyzed body so calls to
++      null procedure can always be inlined.
++      (Expand_N_Subprogram_Declaration): If this is the declaration of a null
++      procedure, generate an explicit empty body for it.
++
++      * exp_util.ads, exp_util.adb (Find_Interface_ADT): New subprogram.
++      Given a type implementing an interface, returns the corresponding
++      access_disp_table value.
++      (Find_Interface_Tag): New subprogram. Given a type implementing an
++      interface, returns the record component containing the tag of the
++      interface.
++      (Find_Interface_Tag): New overloaded subprogram. Subsidiary to the
++      previous ones that return the corresponding tag and access_disp_table
++      entities.
++      (Is_Predefined_Dispatching_Operation): Determines if a subprogram
++      is a predefined primitive operation.
++      (Expand_Subtype_From_Expr): If the expression is a selected component
++      within an initialization procedure, compute its actual subtype, because
++      the component may depend on the discriminants of the enclosing record.
++
++      * i-cpp.ads, i-cpp.adb:
++      This package has been left available for compatibility with previous
++      versions of the frontend. As part of the new layout this is now a
++      dummy package that uses declarations available at a-tags.ads
++
++      * par-ch3.adb (P_Identifier_Declarations): Give an error for use of
++      "constant access" and "aliased [constant] access" when not compiling
++      with -gnat05.
++      Suppress Ada 2005 keyword warning if -gnatwY used
++      (P_Identifier_Declarations): Add support for object declarations with
++      access definitions.
++      (Private_Extension_Declaration): Complete the documentation
++      (P_Derived_Type_Def_Or_Private_Ext_Decl): Fill the inteface_list
++      attribute in case of private extension declaration
++      (P_Type_Declaration): Mark as "abstract" the type declarations
++      corresponding with protected, synchronized and task interfaces
++      (P_Declarative_Items): "not" and "overriding" are overriding indicators
++      for a subprogram or instance declaration.
++
++      * sem_ch12.adb (Analyze_Subprogram_Instantiation): Verify that an
++      instantiation that is a dispatching operation has controlling access
++      parameters that are null excluding.
++      Save and restore Ada_Version_Explicit, for implementation of AI-362
++      (Validate_Derived_Type_Instance): Add check for abstract interface
++      types.
++      (Analyze_Formal_Package): Establish Instantiation source for the copy of
++      the generic that is created to represent the formal package.
++      (Analyze_Package_Instantiation): Instantiate body immediately if the
++      package is a predefined unit that contains inlined subprograms, and
++      we are compiling for a Configurable_Run_Time.
++      (Instantiate_Formal_Subprogram): Indicate that null default subprogram
++      If the program has a null default, generate an empty body for it.
++
++      * sem_ch6.adb, sem_ch9.adb (Analyze_Subprograms_Declaration): Update
++      error message condition, null procedures are correctly detected now.
++      (New_Overloaded_Entity): Bypass trivial overriding indicator check
++      for subprograms in the context of protected types. Instead, the
++      indicator is examined in Sem_Ch9 while analysing the subprogram
++      declaration.
++      (Check_Overriding_Indicator): Check consistency of overriding indicator
++      on subprogram stubs as well.
++      (Analyze_Subprogram_Declaration): Diagnose null procedures declared at
++      the library level.
++      (Analize_Subprogram_Specification): When analyzing a subprogram in which
++      the type of the first formal is a concurrent type, replace this type
++      by the corresponding record type.
++      (Analyze_Subprogram_Body): Undo the previous work.
++      (Analyze_Procedure_Call): If the call has the form Object.Op, the
++      analysis of the prefix ends up analyzing the call itself, after which
++      we are done.
++      (Has_Interface_Formals): New subprogram subsidiary to analyze
++      subprogram_specification that returns true if some non
++      class-wide interface subprogram is found
++      (New_Overloaded_Entity): Modified to give support to abstract
++      interface types
++      (Conforming_Types): In Ada 2005 mode, conformance checking of anonymous
++      access to subprograms must be recursive.
++      (Is_Unchecked_Conversion): Improve the test that recognizes
++      instantiations of Unchecked_Conversion, and allows them in bodies that
++      are to be inlined by the front-end. When the body comes from an
++      instantiation, a reference to Unchecked_Conversion will be an
++      Expanded_Name, even though the body has not been analyzed yet.
++      Replace Is_Overriding and Not_Overriding in subprogram_indication with
++      Must_Override and Must_Not_Override, to better express intent of AI.
++      (Analyze_Subprogram_Body): If an overriding indicator is given, check
++      that it is consistent with the overrinding status of the subprogram
++      at this point.
++      (Analyze_Subprogram_Declaration): Indicate that a null procedure is
++      always inlined.
++      If the subprogram is a null procedure, indicate that it does not need
++      a completion.
++
++      * sem_disp.adb (Check_Controlling_Type): Give support to entities
++      available through limited-with clauses.
++      (Check_Dispatching_Operation): A stub acts like a body, and therefore is
++      allowed as the last primitive of a tagged type if it has no previous
++      spec.
++      (Override_Dispatching_Operation, Check_Dispatching_Operation): Modified
++      to give support to abstract interface types
++
++      * sem_res.adb (Valid_Conversion): Perform an accessibility level check
++      in the case where the target type is an anonymous access type of an
++      object or component (that is, when Is_Local_Anonymous_Access is true).
++      Prevent the special checks for conversions of access discriminants in
++      the case where the discriminant belongs to a nonlimited type, since
++      such discriminants have their accessibility level defined in the same
++      way as a normal component of an anonymous access type.
++      (Resolve_Allocator): When an allocator's designated type is a class-wide
++      type, check that the accessibility level of type given in the
++      allocator's expression or subtype indication is not statically deeper
++      than the level of the allocator's access type.
++      (Check_Discriminant_Use): Diagnose discriminant given by an expanded
++      name in a discriminant constraint of a record component.
++      (Resolve_Explicit_Dereference): Do not check whether the type is
++      incomplete when the dereference is a use of an access discriminant in
++      an initialization procedure.
++      (Resolve_Type_Conversion): Handle conversions to abstract interface
++      types.
++      (Valid_Tagged_Conversion): The conversion of a tagged type to an
++      abstract interface type is always valid.
++      (Valid_Conversion): Modified to give support to abstract interface types
++      (Resolve_Actuals): Enable full error reporting on view conversions
++      between unrelated by_reference array types.
++      The rule for view conversions of arrays with aliased components is
++      weakened in Ada 2005.
++      Call to obsolescent subprogram is now considered to be a violation of
++      pragma Restrictions (No_Obsolescent_Features).
++      (Check_Direct_Boolean_Operator): If the boolean operation has been
++      constant-folded, there is nothing to check.
++      (Resolve_Comparison_Op, Resolve_Equality_Op, Resolve_Boolean_Op): Defer
++      check on possible violation of restriction No_Direct_Boolean_Operators
++      until after expansion of operands, to prevent spurious errors when
++      operation is constant-folded.
++
++      * sem_type.ads, sem_type.adb (Covers, Intersect_Types, Specific_Type,
++      Has_Compatible_Type): Modified to give support to abstract interface
++      types.
++      (Interface_Present_In_Ancestor): New function to theck if some ancestor
++      of a given type implements a given interface
++
++      * sem_ch4.adb (Analyze_Call): Handle properly an indirect call whose
++      prefix is a parameterless function that returns an access_to_procedure.
++      (Transform_Object_Operation): Handle properly function calls of the
++      form Obj.Op (X), which prior to analysis appear as indexed components.
++      (Analyze_One_Call): Complete the error notification to help new Ada
++      2005 users.
++      (Analyze_Allocator): For an allocator without an initial value, where
++      the designated type has a constrained partial view, a discriminant
++      constraint is illegal.
++
++2005-06-14  Robert Dewar  <dewar@adacore.com>
++
++      * a-textio.adb (Set_Col): Fix two errors noticed recently, having to
++      do with treatment of Set_Col when positioned at end of line character.
++
++2005-06-14  Robert Dewar  <dewar@adacore.com>
++
++      * atree.adb: (Elist*): Protect against uninitialized field
++
++2005-06-14  Ed Schonberg  <schonberg@adacore.com>
++
++      * checks.adb (Install_Null_Excluding_Check): Do not generate checks
++      for an attribute reference that returns an access type.
++      (Apply_Discriminant_Check): No need for check if (designated) type has
++      constrained partial view.
++
++      (Apply_Float_Conversion_Check): Generate a short-circuit expression for
++      both bound checks, rather than a conjunction.
++      (Insert_Valid_Check): If the expression is an actual that is an indexed
++      component of a bit-packed array, force expansion of the packed element
++      reference, because it is specifically inhibited elsewhere.
++
++2005-06-14  Vincent Celier  <celier@adacore.com>
++
++      * clean.adb (Clean_Project): Correctly delete executable specified as
++      absolute path names.
++
++      * make.adb (Gnatmake): Allow relative executable path names with
++      directory information even when project files are used.
++      (Change_To_Object_Directory): Fail gracefully when unable to change
++      current working directory to object directory of a project.
++      (Gnatmake): Remove exception handler that could no longer be exercized
++      (Compile_Sources.Compile): Use deep copies of arguments, as some of them
++      may be deallocated by Normalize_Arguments.
++      (Collect_Arguments): Eliminate empty arguments
++
++      * gnatcmd.adb (All_Projects): New Boolean flag, initialized to False,
++      and set to True when -U is used for GNAT PRETTY or GNAT METRIC.
++      (Check_Project): Return False when Project is No_Project. Return True
++      when All_Projects is True.
++      (GNATCmd): Recognize switch -U for GNAT PRETTY and GNAT METRIC and set
++      All_Projects to True.
++      Minor reformatting
++
++2005-06-14  Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Hristian Kirtchev  <kirtchev@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * einfo.ads, einfo.adb (Is_Local_Anonymous_Access): New flag on
++      anonymous access types, to indicate that the accessibility level of
++      the type is determined by that of the enclosing declaration.
++      (Has_Persistent_BSS): New flag
++      (Set_Is_Primitive_Wrapper): Upgrade the barrier to allow the usage
++      of this attribute with functions.
++      (Is_Primitive_Wrapper): Remove the barrier.
++      (Has_Specified_Stream_Input, Has_Specified_Stream_Output,
++      Has_Specified_Stream_Read, Has_Specified_Stream_Write):
++      New subprograms.
++      (Set_Has_Specified_Stream_Input, Set_Has_Specified_Stream_Output,
++      Set_Has_Specified_Stream_Read, Set_Has_Specified_Stream_Write):
++      New subprograms.
++      (Is_Pure_Unit_Access_Type): New flag
++      (Abstract_Interfaces): Complete the assertion to cover all usages.
++      (Set_Is_Interface): Complete the assertion to cover all usages.
++      (Is_Primitive_Wrapper): New attribute.
++      (Is_Obsolescent): Now applies to all entities (though it is only set
++      for subprograms currently)
++      New flag:  Has_Constrained_Partial_View, to implemente Ada 2005 AI-363,
++      which solves various problems concerning access subtypes.
++      (Has_Persistent_BSS): New flag
++      (Is_Primitive_Wrapper, Set_Primitive_Wrapper): Code cleanup.
++      Remove these subprograms because this attribute is currently
++      not used.
++      New entity flags:
++      Has_Specified_Stream_Input (Flag190)
++      Has_Specified_Stream_Output (Flag191)
++      Has_Specified_Stream_Read (Flag192)
++      Has_Specified_Stream_Write (Flag193)
++      Present in all type and subtype entities. Set for a given view if the
++      corresponding stream-oriented attribute has been defined by an
++      attribute definition clause. When such a clause occurs, a TSS is set
++      on the underlying full view; the flags are used to track visibility of
++      the attribute definition clause for partial or incomplete views.
++      (Is_Pure_Unit_Access_Type): New flag
++      Clarify use of Is_Internal.
++      (Is_Primitive_Wrapper): New attribute present in primitive subprograms
++      internally generated to wrap the invocation of tasks and protected
++      types that implement interfaces.
++      (Implementation_Base_Type): Documentation correction
++      (Is_Obsolescent): Now applies to all entities (though it is only set
++      for subprograms currently)
++      New flag:  Has_Constrained_Partial_View, to implement Ada 2005 AI-363,
++      which solves various problems concerning access subtypes.
++
++      * exp_ch9.adb (Type_Conformant_Parameters): Introduce mode conformance
++      for examined parameters. Identify unequal parameter list lengths as
++      non-conformant parameters.
++      (Overriding_Possible): Do not check for "All" qualifier in declaration
++      of controlling access parameter, following prescription of AI-404.
++      (Build_Entry_Wrapper_Spec, Build_Entry_Wrapper_Body): New subprograms
++      that build the procedure body that wraps an entry invocation
++      (Build_Corresponding_Record, Build_Protected_Sub_Specification,
++      Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
++      Expand_N_Task_Body, Expand_N_Task_Type_Declaration): Modified to
++      give support to abstract interface types
++
++      * freeze.adb (Freeze_Entity): Issue error message if
++      Is_Pure_Unit_Access_Type set, unless we are in Ada 2005 mode and the
++      type has no storage pool (Ada 2005) AI-366.
++      Also modified to give support to abstract interface types
++      (Freeze_Subprogram): Issue an error for a dispatching subprogram with an
++      Inline_Always pragma.
++
++      * par-ch9.adb (P_Task_Items): Reserved words "not" or "overriding" may
++      now begin an entry declaration.
++      (P_Entry_Or_Subprogram_With_Indicator): New procedure in
++      P_Protected_Operation_Declaration_Opt. Parse an entry declaration or
++      a subprogram declaration preceded by an overriding indicator.
++      (P_Protected_Operation_Declaration_Opt): Add case for parsing entry
++      declarations or subprogram declarations preceded by reserved words
++      "not" or "overriding".
++      (P_Entry_Declaration): Update comment. Parse and check overriding
++      indicator, set semantic flags of entry declarations.
++      (P_Task): New error message in case of private applied
++      to a task type declaration.
++      (P_Protected): New error message in case of private applied
++      to a task type declaration.
++
++      * sem_ch7.adb (Preserve_Full_Attributes): Modified to handle the case
++      in which the full view of a type implementing an interface is a
++      concurrent type.
++      (Has_Overriding_Pragma): Remove obsolete implementation of AI-218.
++      Declare_Inherited_Private_Subprograms): If an explicit operation
++      overrides an operation that is inherited in the private part, mark the
++      explicit one as overriding, to enable overriding indicator checks.
++      (Preserve_Full_Attributes): Propagate Is_Unchecked_Union attribute from
++      full view to partial view, to simplify handling in back-end.
++
++      * sprint.adb: Print interface lists where needed: derived types,
++      protected types, task types.
++      output "is null" for null procedures. Part of implementation of
++
++      * sem_cat.adb (Validate_Access_Type_Declaration): Implement AI-366
++      relaxation of rules for access types in pure, shared passive partitions.
++
++      * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Reorganize to
++      first read discriminants into temporary objects, performing checks on
++      the read values, then possibly performing discriminant checks on the
++      actual (if it is constrained), and only finally reading the components
++      into a constrained temporary object.
++      (Build_Elementary_Input_Call): Adjust the specific circuitry for the
++      case of reading discriminants of a mutable record type to recognize
++      the new form of the code generated by
++      Build_Mutable_Record_Read_Procedure.
++
++      * exp_tss.ads, exp_tss.adb (Make_Init_Proc_Name): Reimplement in terms
++      of a simple call to Make_TSS_Name.
++      (Make_TSS_Name_Local): Add the TSS name as the last thing in the name
++      buffer, in order for Is_TSS to work correctly on local TSS names.
++
++      * sem_attr.ads, sem_attr.adb (Resolve_Attribute, case 'Access): Use flag
++      Is_Local_Anonymous_Access to check legaliy of attributes in the
++      context of  access components and stand-alone access objects.
++      (Stream_Attribute_Available): In Ada 95 mode, a stream attribute is
++      treated as available for a limited private type if there is an
++      attribute_definition_clause that applies to its full view, but not in
++      other cases where the attribute is available for the full view
++      (specifically, the sole fact that the full view is non-limited does not
++      make the attribute available for the partial view).
++      (Build_Access_Subprogram_Type): Diagnose attempt to apply 'access to a
++      non-overloaded intrinsic subprogram.
++      (Check_Stream_Attribute): Reject an attribute reference for an
++      unavailable stream attribute even if the prefix is not a limited type
++      (case of a 'Input attribute reference for an abstract, non-classwide
++      type)
++      (Stream_Attribute_Available): New function to determine whether a stream
++      attribute is available at a place.
++      (Check_Attribute): Use Stream_Attribute_Available instead of just
++      testing for TSS presence on the implementation base type.
++      (Analyze_Attribute): Modified to give support to task interfaces.
++      (Analyze_Access_Attribute): Add error check for use of an Access (or
++      Unrestricted_Access) attribute with a subprogram marked as
++      Inline_Always.
++      (Analyze_Attribute, case Attribute_Address): Add error check for use of
++      an Address attribute with a subprogram marked as Inline_Always.
++      Update Eval_Attribute to handle new value of Width from AI-395
++
++      * sem_ch13.adb (Analyze_Stream_TSS_Definition): New subprogram.
++      (Analyze_Attribute_Definition_Clause, cases Input, Output, Read, Write):
++      Factor common code across the stream-oriented attribute circcuits into
++      a new subprogram, Analyze_Stream_TSS_Definition. The new uniform
++      processing is functionally identical to the previous duplicated one,
++      except that an expression that denotes an abstract subprogram will now
++      be rejected, as mandated by AI-195 item 5.
++
++      * sem_util.ads, sem_util.adb (Type_Access_Level): Use flag
++      Is_Local_Anonymous_Access to apply accessibility checks to access
++      components and stand-alone access objects.
++      (Has_Discriminant_Dependent_Constraint): Moved to spec for use
++      elsewhere.
++      (Is_Potentially_Persistent_Type): New function
++      (Is_Dependent_Component_Of_Mutable_Object): If the enclosing object is
++      a heap-object whose type has a constrained partial view, the object is
++      unconstrained and the component may depend on a discriminant, making its
++      renaming illegal.
++
++      * sinfo.ads, sinfo.adb
++      (Must_Not_Override): Flag applicable to N_Entry_Declaration.
++      (Must_Override): Flag applicable to N_Entry_Declaration.
++      Indicate that interface_list can appear in single task and single
++      protected declarations.
++      Replace Is_Overriding and Not_Overriding with Must_Override and
++      Must_Not_Override, to better express intent of AI.
++      Is_Overriding, Not_Overriding: Ada2005 flags that indicate the presence
++      of an overriding indicator in a subprogram or instance.
++      Ada 2005 (AI-248) Null_Present can appear in a procedure specification.
++      Add the overriding indicator [[not] overriding] construct to the
++      following grammar productions:
++       ENTRY_DECLARATION
++       GENERIC_INSTANTIATION
++       SUBPROGRAM_SPECIFICATION
++
++      * par-ch10.adb (P_Compilation_Unit): Subprogram declaration or body
++      can start with an overriding indicator.
++
++      * par-ch6.adb (P_Subprogram): Recognize overriding indicator, and set
++      flags accordingly on subrogram specifications or instances.
++
++      * sem_ch8.adb:
++      (Analyze_Subprogram_Renaming): For a renaming_as_body, verify that the
++      overriding_indicator, if present, is consistent with status of spec.
++      Improve error message for null-excluding checks on controlling access
++      parameters.
++      (Check_In_Previous_With_Clause): Protect the frontend against
++      previously reported critical errors in the context clauses.
++      Save and restore Ada_Version_Explicit, for implementation of AI-362
++      (Analyze_Subprogram_Renaming): If the new entity is a dispatching
++      operation verify that controlling formals of the renamed entity that
++      are access parameters are explicitly non-null.
++      (Find_Expanded_Name): Improve error message when prefix is an illegal
++      reference to a private child unit.
++
++      * exp_imgv.adb, s-imgwch.ads, s-imgwch.adb, s-valwch.adb,
++      s-valwch.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdwch.adb:
++      Rewrite to correspond to new wide character names in AI-395
++
++      * par-ch12.adb (P_Formal_Subprogram_Declaration): Recognize null
++      default procedures.
++
++2005-06-14  Ed Schonberg  <schonberg@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * errout.ads, errout.adb (Error_Msg_NW): Only emit warning on user
++      code, not on the bodies of predefined operations, to cut down on
++      spurious noise.
++
++2005-06-14  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_aggr.adb (Aggr_Size_OK): An array with no components can always
++      be expanded in place. The size computation does not require a
++      subtraction, which would raise an exception on a compiler built with
++      assertions when the upper bound is Integer'first.
++      (Flatten): For an array of composite components, take into account the
++      size of the components to determine whether it is safe to expand the
++      array into a purely positional representation.
++
++2005-06-14  Thomas Quinot  <quinot@adacore.com>
++
++      * exp_ch2.adb (Param_Entity): Take the case of an expanded_name
++      denoting a formal parameter into account.
++
++2005-06-14  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_ch7.adb (Find_Node_To_Be_Wrapped): If the node appears within
++      the entry_call alternative of a conditional entry call, wrap the
++      conditional entry call itself.
++
++2005-06-14  Nicolas Setton  <setton@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_dbug.ads, exp_dbug.adb (Get_Variant_Part): Fix the encoding of
++      the "simple_choice" member in a variant record, in accordance with the
++      description in the package spec: the information output for a constant
++      should be "S number", not "SS number".
++      (Get_Encoded_Name): Return at once if not generating code. Avoids name
++      overflow problem when compiling with -gnatct, for ASIS/gnatmetrics.
++
++2005-06-14  Thomas Quinot  <quinot@adacore.com>
++
++      * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): For an
++      RACW without any primitives, do not generate the if statement for
++      dispatching by name in the PolyORB/DSA case, as it would be malformed
++      (it would have an Elsif_Parts list that is not No_List, but with a
++      length of 0).
++
++2005-06-14  Robert Dewar  <dewar@adacore.com>
++
++      * exp_intr.adb, par-ch5.adb: Minor fix to error message text
++
++2005-06-14  Jose Ruiz  <ruiz@adacore.com>
++
++      * fe.h: Add entry for Opt.Exception_Locations_Suppressed so that gigi
++      can determine whether pragma Suppress_Exception_Locations is in effect.
++
++      * utils2.c (build_call_raise): Do not pass the file name to the
++      exception handler if pragma Suppress_Exception_Locations is in effect.
++      (build_allocator): Add and process arg IGNORE_INIT_TYPE.
++
++2005-06-14  Emmanuel Briot  <briot@adacore.com>
++
++      * g-debpoo.adb (Deallocate, Dereference): Improve output.
++
++2005-06-14  Nicolas Roche  <roche@adacore.com>
++
++      * g-diopit.adb (Wildcard_Iterator): Return directly if Path is equal
++      to ""
++      (Next_Level): Fix minor bug in handling of ../dir case
++      (Read): Add dir separator to Directory name so that "" is understood as
++       "/"
++
++2005-06-14  Pascal Obry  <obry@adacore.com>
++
++      * g-dynhta.ads, g-dynhta.adb (Reset): Free the table itself after
++      releasing the items.
++
++2005-06-14  Vincent Celier  <celier@adacore.com>
++          Cyrille Comar  <comar@adacore.com>
++
++      * g-os_lib.ads, g-os_lib.adb (Non_Blocking_Spawn): Two new versions
++      with output file descriptor and with output file name.
++      (Dup, Dup2): Now global procedures as they are used by two subprograms
++      (Copy): Allocate the 200K buffer on the heap rather than on the stack.
++
++2005-06-14  Thomas Quinot  <quinot@adacore.com>
++
++      PR ada/6717
++      * g-socket.ads, g-socket.adb (Inet_Addr): Special case the all-ones
++      broadcast address.
++      (Create_Selector): Bind listening socket used to create the signalling
++      socket pair to 127.0.0.1 to limit the scope for 'theft' of connection.
++      Set listen backlog to 1 to ensure that we detect socket theft by a
++      failure of our own connect(2) call.
++      (Check_Selector): Improve documentation of the selector mechanism.
++      (Broadcast_Inet_Addr): New constant.
++
++2005-06-14  Gary Dismukes  <dismukes@adacore.com>
++
++      * layout.adb (Discrimify): Remove resetting of Vtype to the underlying
++      type which turns out to be an incomplete and incorrect fix.
++      (Layout_Array_Type): Use Underlying_Type when checking whether the scope
++      of the type is declared in a record (for determination of insertion
++      type).
++      (SO_Ref_From_Expr): Test whether Vtype denotes a partial or full view of
++      a private type and ensure that the primary entity is used for the type
++      of the newly created function's V formal by taking the Etype of the
++      view.
++
++2005-06-14  Javier Miranda  <miranda@adacore.com>
++          Jose Ruiz  <ruiz@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * lib-load.ads, lib-load.adb (Load_Unit): Addition of a new parameter
++      that indicates if we are parsing a compilation unit found in a
++      limited-with clause.
++      It is use to avoid the circularity check.
++
++      * par.ads, par.adb (Par): Addition of a new parameter to indicate if
++      we are parsing a compilation unit found in a limited-with clause. This
++      is use to avoid the circularity check.
++
++      * par-load.adb (Load): Indicate Lib.Load_Unit if we are loading the
++      unit as a consequence of parsing a limited-with clause. This is used
++      to avoid the circularity check.
++
++      * sem_ch10.adb: Suppress Ada 2005 unit warning if -gnatwY used
++      (Analyze_Context): Limited-with clauses are now allowed
++      in more compilation units.
++      (Analyze_Subunit_Context, Check_Parent): Protect the frontend
++      againts previously reported critical errors in context clauses
++      (Install_Limited_Withed_Unit): Code cleanup plus static detection
++      of two further errors: renamed subprograms and renamed packages
++      are not allowed in limited with clauses.
++      (Install_Siblings): Do not install private_with_clauses on the package
++      declaration for a non-private child unit.
++      (Re_Install_Parents): When a parent of the subunit is reinstalled,
++      reset visibility of child units properly.
++      (Install_Withed_Unit): When a child unit appears in a with_clause of its
++      parent, it is immediately visible.
++
++2005-06-14  Ed Schonberg  <schonberg@adacore.com>
++          Emmanuel Briot  <briot@adacore.com>
++
++      * lib-xref.ads, lib-xref.adb (Generate_Definition): Treat any entity
++      declared within an inlined body as referenced, to prevent spurious
++      warnings.
++      (Output_One_Ref): If an entity renames an array component, indicate in
++      the ALI file that this aliases (renames) the array. Capture as well
++      function renamings that rename predefined operations.
++      Add information about generic parent for package and subprogram
++      instances.
++      (Get_Type_Reference): For a subtype that is the renaming of an actual in
++      an instantiation, use the first_subtype to ensure that we don't generate
++      cross-reference information for internal types.
++      For objects and parameters of a generic private type, retain the '*'
++      indicator to distinguish such an entity from its type.
++
++      * ali.ads (Xref_Entity_Record): New fields Iref_File_Num and Iref_Line,
++      to store information about instantiated entities.
++
++      * ali.adb (Scan_ALI): Add support for parsing the reference to the
++      generic parent
++
++      * xref_lib.adb (Skip_To_Matching_Closing_Bracket): New subprogram
++      (Parse_Identifier_Info, Parse_Token): Add support for the generic parent
++      information.
++
++2005-06-10  Doug Rupp  <rupp@adacore.com>
++          Arnaud Charlet  <charlet@adacore.com>
++          Olivier Hainque  <hainque@adacore.com>
++          Jose Ruiz  <ruiz@adacore.com>
++
++      * Make-lang.in: Add initialize.o when needed.
++      Remove obsolete references to RT_FLAGS.
++      Add missing dependencies for sdefault.o
++
++      * initialize.c: New file.
++
++      * init.c [VMS] Declare ADA$ externs weak to fix build problem in IVMS.
++      [VMS] cond_signal_table: Fix problem in declaration.
++      [VMS] __gnat_error_handler: rewrite.
++      Move all __gnat_initialize() routines to initialize.c
++      Specialize the former "hpux" section to "hppa hpux", as this is what the
++      section really is here for and we now have other hpux ports that need
++      different contents.
++      (__gnat_adjust_context_for_raise) i386-linux: First version of this
++      function for this target. Adjust PC by one in the machine context. This
++      adjustment was previously done in the MD_FALLBACK_FRAME_STATE_FOR, but
++      it is more reliable to do that in the signal handler itself.
++      (__gnat_install_handler) i386-linux: Set SA_SIGINFO in the sigaction
++      flags, so that the handler is passed the context structure to adjust
++      prior to the raise.
++      (__gnat_error_handler) i386-linux: Adjust the signature to match what a
++      SA_SIGINFO sigaction should look like. Call
++      __gnat_adjust_context_for_raise before actually raising. Cleanup unused
++      Machine_State_Operations stuff.
++      Add conditional code so that the x86_64 is also supported.
++
++2005-06-14  Pascal Obry  <obry@adacore.com>
++
++      * mdll.adb (Get_Dll_Name): New routine that returns the DLL name given
++      the library name.
++
++2005-06-14  Robert Dewar  <dewar@adacore.com>
++
++      * opt.ads, opt.adb: New flags for persistent_bss mode
++      Add Ada_Version_Explicit, for implementation of AI-362
++      Add Assertions_Enabled_Config and associated handling
++      Needed since setting can be changed with Assertion_Policy pragma
++      Add new flag Warn_On_Ada_2005_Compatibility
++
++      * switch-c.adb: Recognize -gnatwy/Y
++      Set Ada_Version_Explicit, for implementation of AI-362
++      The -gnatg switch now includes -gnatyu
++
++      * usage.adb: Add -gnatwy/Y
++      Remove wrong asterisk on -gnatwX line
++      Add line for -gnatyu switch
++
++2005-06-14  Vincent Celier  <celier@adacore.com>
++
++      * osint.adb (Add_Default_Search_Dirs): Put source and object
++      directories of project files before directories coming from
++      ADA_INCLUDE_PATH and ADA_OBJECTS_PATH.
++
++2005-06-14  Robert Dewar  <dewar@adacore.com>
++
++      PR ada/15613
++      * par-ch2.adb (Scan_Pragma_Argument): New procedure
++      (P_Pragma): Implement RM 2.8(4) check for no pos args after named args
++
++2005-06-14  Vincent Celier  <celier@adacore.com>
++
++      * prep.adb (Preprocess): Ignore error when scanning the first token of
++      a line.
++
++2005-06-14  Vincent Celier  <celier@adacore.com>
++
++      * prj-nmsc.adb (Suffix_For): Change default suffix for C++ to ".cpp"
++      (Check_Stand_Alone_Library): If the specified reference symbol file does
++      not exist, only issue a warning when the symbol policy is not
++      Controlled. And, when symbol policy is Compliant, set the symbol
++      policy to Autonomous.
++
++2005-06-14  Vincent Celier  <celier@adacore.com>
++
++      * prj-part.adb (Pre_Parse_Context_Clause): Call Set_Is_Not_Last_In_List
++      when the project file in a with clause is not the last one, that is the
++      project file name is followed by a comma.
++      * prj-pp.adb: (First_With_In_List): New Boolean global variable
++      (Print): Issue list of project files separated by commas in with clauses
++      according to the values returned by Is_Not_Last_In_List.
++      * prj-tree.ads, prj-tree.adb: (Is_Not_Last_In_List): New function
++      (Set_Is_Not_Last_In_List): New procedure
++
++2005-06-14  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * s-atacco.ads: Put a pragma No_Strict_Aliasing on Object_Pointer.
++
++2005-06-14  Robert Dewar  <dewar@adacore.com>
++
++      * scng.adb: Add call to new Check_EOF routine
++      (Accumulate_Checksum): Properly handle wide wide char >= 2 ** 24
++      Add some comments regarding wide character handling
++
++      * style.ads, styleg.ads, styleg.adb: Implement new style switch -gnatyu
++
++      * stylesw.ads, stylesw.adb: Implement new style switch -gnatyu
++
++      * g-utf_32.ads, g-utf_32.adb (Is_UTF_32_Non_Graphic): Other_Format
++      characters are now considered graphic characters and hence yield false
++      in this call.
++
++      * nmake.adt: Modify header so that xnmake does not generate output
++      files with multiple blank lines.
++
++      * treeprs.adt: Remove a blank line so that output from xtreeprs does
++      not have an extra blank line
++
++2005-06-14  Gary Dismukes  <dismukes@adacore.com>
++
++      * sem_aggr.adb (Aggregate_Constraint_Checks): Apply a conversion to the
++      expression when the component type is an anonymous access type to
++      ensure that appropriate accessibility checks are done.
++
++      * sem_ch5.adb (Analyze_Assignment): Apply a implicit conversion to the
++      expression of an assignment when the target object is of an anonymous
++      access type. This ensures that required accessibility checks are done.
++      (One_Bound): Move the check for type Universal_Integer to
++      Process_Bounds.
++      (Process_Bounds): Check whether the type of the preanalyzed range is
++      Universal_Integer, and in that case set Typ to Integer_Type prior
++      to setting the type of the original range and the calls to One_Bound.
++
++2005-06-14  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_case.adb (Expand_Others_Choice): Improve warning.
++
++2005-06-14  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_eval.adb (Subtypes_Statically_Match): Use discriminant
++      constraint of full view if present, when other type is discriminated.
++      (Eval_Relational_Op): Recognize tests of pointer values against Null,
++      when the pointer is known to be non-null, and emit appropriate warning.
++
++2005-06-14  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      PR ada/10671
++      * sem_prag.adb: Implement pragma Persistent_BSS
++      Remove obsolete pragma Persistent_Data, Persistent_Object
++      Set Ada_Version_Explicit, for implementation of AI-362
++      Test Ada_Version_Explicit for Preelaborate_05 and Pure_05
++      Add processing for pragma Pure_05 and Preelaborate_05
++      Add processing for Assertion_Policy pragma
++      Add pragma identifiers for Assert
++      (Analyze_Pragma, case Assert): Check number of arguments
++      (Process_Inline): Additional guard against an illegal program, where the
++      argument of the pragma is undefined, and warnings on redundant
++      constructs are enabled.
++      (Analyze_Pragma, case Obsolescent): Allow an optional second argument
++      Ada_05 to this pragma, specifying that the pragma is only active in
++      Ada_05 mode.
++      (Check_Arg_Order): New procedure
++      Add appropriate calls to this procedure throughout
++      Also throughout, check entity name before doing any other checks
++
++      * snames.h snames.ads, snames.adb: Add pragma Persistent_BSS
++      Remove obsolete pragma Persistent_Data, Persistent_Object
++      Add entries for pragma Pure_05 and Preelaborate_05
++      Add entries for Assertion_Policy pragma and associated names
++      Add some names for pragma argument processing
++
++      * tbuild.ads, tbuild.adb: (Make_Linker_Section_Pragma): New function
++
++2005-06-14  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_warn.adb (Warn_On_Known_Condition): If the constant expression
++      appears within a negation (either from source or as a rewriting of
++      inequality) adjust text of warning accordingly.
++
++2005-06-14  Thomas Quinot  <quinot@adacore.com>
++
++      * s-strxdr.adb: Follow AI95-00132
++
++2005-06-14  Arnaud Charlet  <charlet@adacore.com>
++
++      * s-tasren.adb (Exceptional_Complete_Rendezvous): Fix race condition.
++
++2005-06-14  Arnaud Charlet  <charlet@adacore.com>
++          Jose Ruiz  <ruiz@adacore.com>
++
++      * s-tposen.adb, s-tpobop.adb
++      (Exceptional_Complete_Rendezvous): Save the occurrence and not only
++      the exception id.
++      (PO_Do_Or_Queue): Before queuing a task on an entry queue we check that
++      there is no violation of the Max_Entry_Queue_Length restriction (if it
++      has been set); Program_Error is raised otherwise.
++      (Requeue_Call): Before requeuing the task on the target entry queue we
++      check that there is no violation of the Max_Entry_Queue_Length
++      restriction (if it has been set); Program_Error is raised otherwise.
++
++2005-06-14  Robert Dewar  <dewar@adacore.com>
++
++      * styleg.adb: Fix several remaining problems in -gnatyu switch
++      Blank line count not reset at start
++      Scanning outside source buffer in some cases
++      Confusing message for blanks at end of file
++      Non-empty blank lines not recognized
++
++      * nmake.adt: Modify header so that xnmake does not generate output
++      files with multiple blank lines.
++
++      * treeprs.adt: Remove a blank line so that output from xtreeprs does
++      not have an extra blank line
++
++2005-06-14  Sergey Rybin  <rybin@adacore.com>
++
++      * styleg-c.adb (Body_With_No_Spec): Remove ':' from warning message.
++
++2005-06-14  Doug Rupp  <rupp@adacore.com>
++          Vincent Celier  <celier@adacore.com>
++
++      * vms_conv.ads, vms_conv.adb: Remove "Library" command.
++      Update copyright.
++
++      * vms_data.ads: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
++      Remove "Library" command.
++      Change keyword for style check -gnatyd from NOCRLF to
++      DOS_LINE_ENDINGS.
++      Remove useless second style check keyword NONE
++      Remove help documentation for inexistent style check keyword
++      RM_COLUMN_LAYOUT.
++      Add help documentation for style check keywords DOS_LINE_ENDINGS,
++      UNNECESSARY_BLANK_LINES and XTRA_PARENS
++      Add UNNECESSARY_BLANK_LINES for -gnatyu
++      Add qualifiers /ALL_PROJECTS (-U) for GNAT PRETTY and GNAT METRIC
++
++      * ug_words: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
++
++2005-06-14  Vincent Celier  <celier@adacore.com>
++
++      * makegpr.adb (Compile_Link_With_Gnatmake): Invoke gnatmake with -d if
++      gprmake was invoked with -d.
++      (Compile_Sources): If -d was used, output the "completed ..." message
++      for each compilation.
++      (Scan_Arg): Recognize new switch -d
++      When -c and at least one main is specified, set
++      Unique_Compile to True to guarantee that no other sources will be
++      compiled.
++
++2005-06-14  Matthew Heaney  <heaney@adacore.com>
++
++      * a-swunha.ads, a-swunha.adb: Removed. Replaced by a-swuwha.ad[sb]
++      * a-swuwha.ads, a-swuwha.adb: New files
++
++      * a-szunha.ads, a-szunha.adb: Removed, replaced by a-szuzha.ad[sb]
++      * a-szuzha.ads, a-szuzha.adb: New files.
++
++      * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
++      a-crbtgk.adb, a-crbltr.ads, a-coorse.ads, a-coorse.adb, a-convec.ads,
++      a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohata.ads, a-cohama.ads,
++      a-cohama.adb, a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
++      a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
++      a-cdlili.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb,
++      a-cohase.ads, a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads,
++      a-swunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb, a-shcain.ads,
++      a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads, a-stwiha.adb,
++      a-strhas.adb, a-stzhas.adb: synchronized to the latest version of the
++      Ada 2005 RM.
++
++2005-06-10  Eric Botcazou  <ebotcazou@adacore.com>
++          Olivier Hainque  <hainque@adacore.com>
++          Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++          Pascal Obry  <obry@adacore.com>
++
++      * gigi.h: (build_allocator): Add arg IGNORE_INIT_TYPE.
++
++      * trans.c (call_to_gnu): Issue a warning for users of Starlet when
++      making a temporary around a procedure call because of non-addressable
++      actual parameter.
++      (process_freeze_entity): If entity is a private type, capture size
++      information that may have been computed for the full view.
++      (tree_transform, case N_Allocator): If have initializing expression,
++      check type for Has_Constrained_Partial_View and pass that to
++      build_allocator.
++      (tree_transform, case N_Return_Statement): Pass extra arg to
++      build_allocator.
++
++      * decl.c (annotate_value): Remove early return if -gnatR is not
++      specified.
++      (gnat_to_gnu_field): Don't make a packable type for a component clause
++      if the position is byte aligned, the field is aliased, and the clause
++      size isn't a multiple of the packable alignment. It serves no useful
++      purpose packing-wise and would be rejected later on.
++      (gnat_to_gnu_entity, case object): Pass extra arg to build_allocator.
++
++      PR ada/20515
++      (gnat_to_gnu_entity): Remove use of macro _WIN32 which is wrong in the
++      context of cross compilers. We use TARGET_DLLIMPORT_DECL_ATTRIBUTES
++      instead.
++      (create_concat_name): Idem.
++
++2005-06-10  Robert Dewar  <dewar@adacore.com>
++          Eric Botcazou  <ebotcazou@adacore.com>
++          Ben Brosgol  <brosgol@adacore.com>
++          Cyrille Comar  <comar@adacore.com>
++          Sergey Rybin  <rybin@adacore.com>
++          Pascal Obry  <obry@adacore.com>
++
++      * gnat_rm.texi: Add documentation for pragma Persistent_BSS
++      Document second argument (Ada_05) of pragma Obsolescent
++      Add note that call to subprogram marked with pragma Obsolescent
++      is now considered to be a violation of program Restrictions
++      (No_Obsolescent_Features).
++      (Implementation Defined Pragmas) <Machine_Attribute>: Make it clear
++      that only machine-dependent attributes are supported.
++
++      * gnat_ugn.texi:
++      Commented out menu lines and empty section for gnatclean examples
++      Document -gnatwy/Y
++      Fix some over long lines
++      Clarify and enhance documentation of ADA_PROJECT_PATH.
++      Rework section 2.11.2(3) about linking with a non-GNU compiler.
++      Mention new switch -fcallgraph-info.
++      Mention new switch -fstack-usage.
++      For gnatpp, replace '-notab' with '-N' and add this option to Index
++      Corrected VMS example.
++      VMS keyword for style check -gnatyd is DOS_LINE_ENDINGS, no NOCRLF
++      Minor reformatting
++      Add documentation for -gnatyu switch (unnecessary blank lines)
++      Document new switch -U for GNAT PRETTY and GNAT METRIC
++      Add note about Stdcall being handled as C convention on non Windows OS.
++      Remove some junk typo in description of gnatbind -S switch
++      Remove reference to Extensions_Allowed pragma
++      Document the new order of the directories to be searched (source and
++      object directories of project files before directories in ADA_*_PATH
++      environment variables.
++
++      * g-trasym.ads: Document that IRIX is supported
++
++2005-06-10  Arnaud Charlet  <charlet@adacore.com>
++
++      * Makefile.in: Add initialize.o when needed.
++      Adapt to new VMS package body Symbols and subunits
++      No specialized version of a-sytaco is needed for VxWorks.
++
++      * a-wichun.ads, a-wichun.adb, a-zchuni.ads, a-zchuni.adb: New files.
++      * a-zchara.ads, a-widcha.ads: New files.
++
++      * system-hpux-ia64.ads: New file.
++
++      * i-vxwork-x86.ads, i-vxwork.ads (intContext): Add this function which
++      is imported from the VxWorks kernel.
++
++2005-06-14  Robert Dewar  <dewar@adacore.com>
++
++      * g-soliop-mingw.ads, g-soccon-vms.adb, a-swmwco.ads, exp_smem.adb,
++      fmap.adb, a-szmzco.ads, s-traent-vms.adb, s-traent-vms.ads,
++      a-direio.ads, a-exctra.ads, a-exexda.adb, a-exextr.adb, a-stream.ads,
++      s-restri.ads, s-restri.adb, s-traent.adb, s-traent.ads, a-slcain.adb,
++      a-stzhas.ads, a-tiinau.adb, comperr.adb, exp_ch11.adb, g-boubuf.adb,
++      g-calend.adb, g-debpoo.ads, g-moreex.ads, gprep.adb, g-regpat.ads,
++      i-cexten.ads, i-os2thr.ads, makeutl.ads, memroot.adb, mlib-prj.adb,
++      namet.adb, namet.ads, prj-makr.adb, prj-proc.adb, sem_dist.adb,
++      sem_elim.ads, s-valint.adb, s-vallli.adb, s-vallli.adb, s-vallli.ads,
++      s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, scn.adb,
++      s-tasinf.adb, targparm.adb, uname.adb, uname.ads, xnmake.adb,
++      xsinfo.adb, a-direct.ads: Remove extra blank lines. Minor reformatting.
++
++2005-06-14  Thomas Quinot  <quinot@adacore.com>
++
++      * xeinfo.adb: Fix typo in comment
++
++2005-06-14  Javier Miranda  <miranda@adacore.com>
++
++      * repinfo.ads: Fix typo in comment
++
++2005-06-14  Gary Dismukes  <dismukes@adacore.com>
++
++      * s-finimp.adb (Parent_Tag): Delete this imported function (function
++      Parent_Tag is now in the visible part of Ada.Tags).
++      (Get_Deep_Controller): Call Ada.Tags.Parent_Tag directly instead of
++      using imported function.
++
++2005-06-14  Bernard Banner  <banner@adacore.com>
++
++      * vxaddr2line.adb: Add support for Windows hosted x86 vxworks. Should
++      also apply for handling support for VxSim 653.
++
++2005-06-14  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * xsnames.adb: Add automatic generation of snames.h.
++
++2005-06-14  Thomas Quinot  <quinot@adacore.com>
++
++      * gen-soccon.c: Add IP_MULTICAST_IF constant
++      Minor reformatting and adjustments to prevent warnings.
++
++2005-06-14  Pascal Obry  <obry@adacore.com>
++
++      * seh_init.c: Do not include <sys/stat.h>. This is not needed.
++
++2005-06-03  Andrew Pinski  <pinskia@physics.uc.edu>
++
++      * trans.c (gnat_gimplify_expr): Call
++      recompute_tree_invarant_for_addr_expr when we change
++      the operand of the ADDR_EXPR.
++
++2005-05-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
++
++      * misc.c: Don't include errors.h.
++
++2005-05-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
++
++      * raise.c (db): Add ATTRIBUTE_PRINTF_2.
++
++2005-05-29  Kazu Hirata  <kazu@cs.umass.edu>
++
++      * cal.c, decl.c, init.c, raise.c, trans.c, utils2.c: Fix
++      comment typos.
++      * gnat_rm.texi, gnat_ugn.texi: Fix typos.
++
++2005-05-16  Nathanael Nerode  <neroden@gcc.gnu.org>
++
++      PR ada/20270
++      * Makefile.in: Make TGT_LIB behave correctly.
++
++2005-04-23  DJ Delorie  <dj@redhat.com>
++
++      * misc.c: Adjust warning() callers.
++
++2005-04-16  Laurent Guerby  <laurent@guerby.net>
++
++      PR ada/18847
++      * a-nudira.adb (Value): Check for valid string.
++      * a-nuflra.adb (Value): Likewise.
++
++2005-04-11  Richard Sandiford  <rsandifo@redhat.com>
++
++      * lang.opt: Refer to the GCC internals documentation instead of c.opt.
++
++2005-04-10  Kazu Hirata  <kazu@cs.umass.edu>
++
++      * adaint.c, init.c, tracebak.c: Fix comment typos.
++      * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Fix typos.
++
++2005-04-07  Laurent Guerby  <laurent@guerby.net>
++          John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
++
++      * Makefile.in: Add make ifeq define for hppa linux tasking support.
++      * system-hpux.ads: Define Signed_Zeros to be True.
++      * system-linux-hppa.ads, s-osinte-linux-hppa.ads: New files.
++
++2005-04-01  Kazu Hirata  <kazu@cs.umass.edu>
++
++      * adaint.c, cal.c, decl.c, gigi.h, gmem.c, init.c, link.c,
++      raise.c, tracebak.c, trans.c, utils2.c, utils.c: Fix comment
++      typos.
++
++2005-03-30  Tom Tromey  <tromey@redhat.com>
++
++      * decl.c (gnat_substitute_in_type): Don't handle FILE_TYPE.
++
++2005-03-30  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
++
++      * adaint.c (_gnat_set_close_on_exec): Mark parameters unused.
++
++2005-03-29  Robert Dewar  <dewar@adacore.com>
++
++      * sem_res.adb (Resolve_Real_Literal): Generate warning if static
++      fixed-point expression has value that is not a multiple of the Small
++      value.
++
++      * opt.ads (Warn_On_Bad_Fixed_Value): New flag
++
++      * s-taprop-tru64.adb (RT_Resolution): Return an integer number of
++      nanoseconds.
++
++      * ug_words: Add entry for [NO_]BAD_FIXED_VALUES for -gnatwb/-gnatwB
++
++2005-03-29  Vincent Celier  <celier@adacore.com>
++
++      * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb
++      (Build_Dynamic_Library.Version_String): Return the empty string when
++      Lib_Version is empty or when the symbol policy is not Autonomous.
++
++      * symbols-vms-alpha.adb (Finalize): For symbol policy Compliant, when
++      a symbol is not in the reference symbol file, increase the Major ID
++      and set the Minor ID to 0.
++      Use gsmatch=lequal instead of gsmatch=equal
++
++2005-03-29  Doug Rupp  <rupp@adacore.com>
++
++      * adaint.c (__gnat_to_canonical_file_spec [VMS]): Check for logical
++      name and translate.
++
++2005-03-29  Javier Miranda  <miranda@adacore.com>
++
++      * a-tags.ads, a-tags.adb (Get_TSD): Subprogram removed.
++      (Inherit_DT): The first formal has been redefined as a Tag.
++      This allows us the removal of the subprogram Get_TSD.
++      (TSD): Replace the call to Get_TSD by the actual code.
++
++      * exp_disp.ads, exp_disp.adb: Remove support to call Get_TSD.
++      (Make_DT): Upgrade the call to Inherit_TSD according to the
++      new interface: the first formal is now a Tag.
++
++      * i-cpp.ads, i-cpp.adb (CPP_Inherit_DT): The first formal has been
++      redefined as a Tag.
++      This change allows us to remove the subprogram Get_TSD.
++      (CPP_Get_TSD): Subprogram removed.
++      (TSD): Replace the call to CPP_Get_TSD by the actual code.
++
++      * rtsfind.ads: Remove support to call the run-time
++      subprogram Get_TSD
++
++2005-03-29  Robert Dewar  <dewar@adacore.com>
++
++      * errutil.adb, errout.adb:
++      Minor comment updates on Line_Terminator references
++
++      * par-ch10.adb: Add ??? comment about line terminator
++
++      * styleg.adb (Check_Line_Terminator): Add check for new switch -gnatyd
++      (check dos line terminator).
++      (Check_Line_Max_Length): New procedure, split off from the existing
++      Check_Line_Terminator routine. Separating this out allows -gnatyf to
++      be properly recognized.
++
++      * styleg.adb: Add ??? comment for line terminator reference
++
++      * scng.adb (Check_End_Of_Line): Fix bug of -gnatyf being ignored
++      (Check_End_Of_Line): Add -gnatyd handling (check dos line terminators)
++
++      * styleg.ads (Check_Line_Terminator): Add check for new switch -gnatyd
++      (check dos line terminator).
++      (Check_Line_Max_Length): New procedure, split off from the existing
++      Check_Line_Terminator routine. Separating this out allows -gnatyf to
++      be properly recognized.
++
++      * stylesw.ads, stylesw.adb:
++      Add handling for new -gnatyd switch (check dos line terminator)
++
++      * switch-c.adb: Recognize new -gnatyd switch (check dos line terminator)
++      Recognize -gnatwb/-gnatwB switches
++      Include Warn_On_Bad_Fixed_Value for -gnatg
++
++      * usage.adb:
++      Add line for new -gnatyd switch (check dos line terminator)
++
++      * usage.adb: Add lines for -gnatwb/-gnatwB
++
++      * vms_data.ads: Add entry for NOCRLF (-gnatyd)
++
++      * vms_data.ads: [NO_]BAD_FIXED_VALUES synonym for -gnatwb/-gnatwB
++
++      * gnat_ugn.texi: Fix overlong lines
++      Document new -gnatyd switch
++      Document new -gnatwb/-gnatwB switches
++
++2005-03-29  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_ch4.adb (Has_Unconstrained_UU_Component): Use the base type in
++      order to retrieve the component list of the type, before examining
++      individual components.
++
++      * sem_type.adb (Covers): Types are compatible if one is the base type
++      of the other, even though their base types might differ when private
++      views are involved.
++
++2005-03-29  Thomas Quinot  <quinot@adacore.com>
++
++      * exp_dist.adb (Add_RAST_Features, PolyORB version): Set the From_Any,
++      To_Any and TypeCode TSSs on RAS types directly using Set_TSS, instead
++      of using Set_Renaming_TSS. This ensures that the TSS bodies are not
++      analyzed if expansion is disabled (which could otherwise cause spurious
++      error messages if expansion has been disabled due to previous
++      (unrelated) errors).
++
++      * sem_prag.adb (Analyze_Pragma, case Asynchronous): If RAS expansion
++      is disabled, the entity denoted by the argument is the access type
++      itself, not an underlying record type, so there is no need to go back
++      to the Corresponding_Remote_Type.
++
++2005-03-29  Gary Dismukes  <dismukes@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * exp_intr.adb (Expand_Dispatching_Constructor_Call): New procedure to
++      expand a call to an instance of
++      Ada.Tags.Generic_Dispatching_Constructor into a dispatching call to the
++      Constructor actual of the instance. A class-wide membership
++      check is also generated, to ensure that the tag passed to the instance
++      denotes a type in the class.
++      (Expand_Intrinsic_Call): Call Expand_Dispatching_Constructor in the case
++      of Name_Generic_Dispatching_Constructor.
++
++      * Makefile.rtl: Add a-tgdico.ads to the list of library units (new Ada
++      05 unit for AI-260-02).
++
++      * a-tgdico.ads: New file.
++
++      * impunit.adb (Non_Imp_File_Names_05): Add entry "a-tgdico" for new
++      predefined Ada 05 generic unit Ada.Tags.Generic_Dispatching_Constructor.
++
++      * snames.ads, snames.adb (Preset_Names): Add entry for
++      Generic_Dispatching_Constructor.
++
++      PR ada/20300
++      * sem_ch8.adb (Find_Direct_Name): Go to root type for check of
++      character type cases.
++      (Analyze_Subprogram_Renaming): Add special handling for
++      the case of renaming of stream attributes when the renaming denotes a
++      generic formal subprogram association for an abstract formal subprogram.
++      Check that the attribute is a primitive stream attribute (and not
++      a class-wide stream attribute) and then rewrite the attribute name
++      as the name of the appropriate compiler-generated stream primitive.
++
++2005-03-29  Robert Dewar  <dewar@adacore.com>
++
++      * exp_util.adb (Remove_Side_Effects): Properly propagate arguments to
++      recursive calls.
++      (Is_Possibly_Unaligned_Object): Correct typo that
++      resulted in inaccurate result for unaligned scalars within records.
++
++2005-03-29  Ed Schonberg  <schonberg@adacore.com>
++
++      * freeze.adb (Freeze_Record_Type): If the type of the component is an
++      itype whose parent is controlled and not yet frozen, do not create a
++      freeze node for the itype if expansion is disabled.
++
++2005-03-29  Vincent Celier  <celier@adacore.com>
++
++      * make.adb (Gnatmake): Don't fail if the main project file is declared
++      as having no Ada sources. Do not display message "no sources to
++      compile" in quiet output.
++
++2005-03-29  Doug Rupp  <rupp@adacore.com>
++
++      * Makefile.in [VMS] (EXTRA_GNATTOOLS): Add vms_help and gnat.hlp as
++      extra tools.
++
++2005-03-29  Robert Dewar  <dewar@adacore.com>
++
++      * par-ch12.adb (P_Generic): Give better msg for illegal private generic
++      child.
++
++2005-03-29  Robert Dewar  <dewar@adacore.com>
++
++      * par-ch3.adb (P_Type_Declaration): Fix bad error recovery after
++      missing TYPE Improve the error message generated when compiling a
++      limited interface in Ada83 or Ada95 mode.
++
++2005-03-29  Robert Dewar  <dewar@adacore.com>
++
++      * par-ch4.adb (P_Name): When a bad attribute is returned, return error,
++      rather than proceed ahead using a junk attribute name.
++
++2005-03-29  Vincent Celier  <celier@adacore.com>
++
++      * prj.ads, prj.adb: (Project_Data): Add new component Display_Name
++
++      * prj-part.adb (Parse_Single_Project): Set the location of a project
++      on its defining identifier, rather than on the reserved word "project".
++
++      * prj-proc.adb (Expression): Adapt to the fact that default of external
++      references may be string expressions, not always literal strings.
++      (Recursive_Process): Set Display_Name equal to Name
++      when Location is No_Location, that is when there is no actual file.
++      Get the Display_Name of the project from the source, when it is not a
++      virtual project.
++      (Process): Use the Display_Name in error messages
++
++      * prj-strt.adb (External_Reference): Allow default to be string
++      expressions, not only literal strings.
++
++2005-03-29  Vincent Celier  <celier@adacore.com>
++
++      * prj-nmsc.adb (Check_Stand_Alone_Library): Do not forbid the symbol
++      file and the reference symbol file to be the same file.
++
++2005-03-29  Thomas Quinot  <quinot@adacore.com>
++
++      * sem_cat.adb (Validate_Remote_Types_Type_Conversion): Perform check to
++      forbid conversion of a local access-to-subprogram type to a remote one.
++
++      * sem_util.adb (Wrong_Type): For a record type that is the expanded
++      equivalent type for a remote access-to-subprogram type, go back to the
++      original RAS entity when displaying an error message, so the casing is
++      the original source casing.
++
++2005-03-29  Robert Dewar  <dewar@adacore.com>
++
++      * sem_ch11.adb (Analyze_Raise_Statement): Change message for warning
++      on param update.
++
++2005-03-29  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch4.adb (Analyze_Selected_Component): Do not generate an actual
++      subtype if code is being pre-analyzed, to prevent un-expanded
++      references to protected formals, among others.
++      (Analyze_Explicit_Dereference): If the overloaded prefix includes some
++      interpretation that can be a call, include the result of the call as a
++      possible interpretation of the dereference.
++
++      * sem_ch5.adb (Process_Bounds): Determine type of range by
++      pre-analyzing a copy of the original range, and then analyze the range
++      with the expected type.
++
++      * sem_res.adb (Check_Parameterless_Call): For an explicit dereference
++      with an overloaded prefix where not all interpretations yield an
++      access to subprogram, do not rewrite node as a call.
++      (Resolve_Explicit_Dereference): Recognize the previous case and rewrite
++      the node as a call once the context identifies the interpretation of
++      the prefix whose call yields the context type.
++      (Valid_Conversion): For the case of a conversion between
++      local access-to-subprogram types, check subtype conformance using
++      Check_Subtype_Conformant instead of Subtype_Conformant, to have a more
++      detailed error message.
++
++2005-03-29  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch6.adb (Set_Formal_Mode): If the subtype has a non_null
++      indicator, indicate that the formal can never be null.
++      (Process_Formals): If a formal has a non_null indicator, insert the
++      resulting subtype immediately before the enclosing subprogram decl,
++      and not at the beginning of the corresponding declarative part, to
++      prevent access before elaboration (Ada2005).
++
++2005-03-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      PR ada/19956
++      * utils.c (finish_record_type): Use variable_size when setting sizes.
++
++2005-03-29  Robert Dewar  <dewar@adacore.com>
++
++      * xtreeprs.adb, xnmake.adb: Use Stream_IO instead of Text_IO to
++      guarantee Unix style line terminators for the output files, even when
++      running on windows.
++
++2005-03-29  Robert Dewar  <dewar@adacore.com>
++
++      * a-direct.ads, a-direct.adb (Start_Search): Free allocated search
++      buffer if an exception is raised.
++
++2005-03-29  Ed Falis  <falis@adacore.com>
++
++      * cio.c: Undefine putchar and getchar for VTHREADS: incompatible with
++      VxWorks 653 1.4
++
++2005-03-29  Robert Dewar  <dewar@adacore.com>
++
++      * sem_util.ads: Minor reformatting
++      * gnat_rm.texi: Minor editing.
++
++2005-03-29  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * decl.c (gnat_to_gnu_entity) <E_Variable>: Rework comment.
++      * trans.c (tree_transform) <N_Identifier>: Use correct predicates.
++
++2005-03-24  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
++
++      * adaint.c (__gnat_portable_spawn): Adjust cast.
++
++2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
++
++      * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
++
++2005-03-17  Pascal Obry  <obry@adacore.com>
++
++      * adaint.h, adaint.c (__gnat_waitpid): Moved to expect.c where it is
++      used.
++
++      * expect.c (__gnat_waitpid): Moved here from adaint.c.
++      Reimplement under Win32 using Win32 API.
++
++      (__gnat_kill) [Win32]: Properly close the process handle before leaving
++      this routine.
++
++2005-03-17  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * ada-tree.h: (DECL_RENAMING_GLOBAL_P): New predicate.
++      (DECL_RENAMED_OBJECT): New accessor macro.
++      (SET_DECL_RENAMED_OBJECT): New setter macro.
++
++      * decl.c (gnat_to_gnu_entity) <E_Variable>: Stabilize the renamed
++      object in all cases.  Attach the renamed object to the VAR_DECL.
++      (gnat_to_gnu_field): Do not lift the record wrapper if the size of the
++      field is not prescribed.
++
++      * misc.c (gnat_handle_option): Handle -gnatO separately.
++      (gnat_print_decl) <VAR_DECL>: New case.
++      Print the DECL_RENAMED_OBJECT node.
++
++      * lang.opt:  Declare separate -gnatO option.
++
++      * trans.c (tree_transform) <N_Identifier>: If the object is a renaming
++      pointer, replace it with the renamed object.
++      <N_Validate_Unchecked_Conversion>: Warn for a conversion to a fat
++      pointer type if the source is not a fat pointer type whose underlying
++      array has the same non-zero alias set as that of the destination array.
++
++2005-03-17  Javier Miranda  <miranda@adacore.com>
++
++      * a-tags.ads, a-tags.adb (Get_Expanded_Name): Removed.
++      (Get_Inheritance_Depth): Removed.
++      (Set_Inheritance_Depth): Removed.
++
++      * rtsfind.ads, exp_disp.ads, exp_disp.adb: Remove support to call the
++      subprogram Get_Expanded_Name because it is not referenced by the
++      frontend.
++
++      * i-cpp.ads, i-cpp.adb (CPP_Get_Expanded_Name): Removed.
++      (CPP_Get_Inheritance_Depth): Removed.
++      (CPP_Set_Inheritance_Depth): Removed.
++
++      * tbuild.ads, tbuild.adb (Make_DT_Component): Removed.
++
++2005-03-17  Robert Dewar  <dewar@adacore.com>
++
++      * checks.adb (Apply_Array_Size_Check): Completely remove this for GCC
++      3, since we now expect GCC 3 to do all the work.
++
++2005-03-17  Javier Miranda  <miranda@adacore.com>
++
++      * einfo.adb (First_Private_Entity, Set_First_Private_Entity): Addition
++      of one barrier to avoid wrong usage of this attribute.
++
++      * sem_ch12.adb (Formal_Entity): Fix erroneous usage of the attribute
++      First_Private_Entity.
++
++      * sem_ch7.adb (Install_Visible_Declarations): Add a barrier to protect
++      the subprogram against wrong usage.
++      Adapt the code to traverse the entities in the
++      scope of a record_type because in addition to its usage regarding
++      packages, this subprogram is also called by Expand_N_Freeze_Entity
++      to install the visible declarations of the enclosing scope of a
++      record_type_with_private to establish the proper visibility before
++      freezing the entity and related subprograms.
++
++2005-03-17  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_ch2.adb (In_Assignment_Context): Recognize slice assignments to
++      entry formals.
++
++2005-03-17  Thomas Quinot  <quinot@adacore.com>
++
++      * exp_ch3.adb (Check_Attr): New subprogram.
++      (Check_Stream_Attribute): Move the code for 13.13.2(9/1) enforcement
++      into a new Check_Attr subprogram, in order to provide a more
++      explanatory error message (including the name of the missing attribute).
++      (Stream_Operation_OK): Renamed from Stream_Operations_OK. This
++      subprogram determines whether a default implementation exists for a
++      given stream attribute.
++      (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies):
++      Determine whether to generate a default implementation for each stream
++      attribute separately, as this depends on the specific attribute.
++
++      * exp_strm.adb (Make_Field_Attribute): For the case of an illegal
++      limited extension where a stream attribute is missing for a limited
++      component (which will have been flagged in Exp_Ch3.Sem_Attr), do not
++      generate a bogus reference to the missing attribute to prevent
++      cascaded errors. Instead, generate a null statement.
++
++      * sem_attr.adb (Check_Stream_Attribute): A stream attribute is
++      available for a limited type if it has been specified for an ancestor
++      of the type.
++
++2005-03-17  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_ch6.adb (Expand_Inlined_Call): handle the case when the renamed
++      entity is an operator.
++
++2005-03-17  Thomas Quinot  <quinot@adacore.com>
++
++      * exp_dist.adb (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
++      spec, to make this predicate available to other units.
++
++      * rtsfind.adb (Check_RPC): Use Sem_Dist.Get_PCS_Name instead of
++      reimplementing it.
++
++      * sem_ch8.adb: Disable expansion of remote access-to-subprogram types
++      when no distribution runtime library is available.
++
++      * sem_res.adb, sem_dist.adb: Disable expansion of remote
++      access-to-subprogram types when no distribution runtime library is
++      available.
++      (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist spec, to make this
++      predicate available to other units.
++
++      * sem_dist.ads (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
++      spec, to make this predicate available to other units.
++
++2005-03-17  Vincent Celier  <celier@adacore.com>
++
++      * make.adb (Insert_Project_Sources): Make sure the Q is always
++      initialized.
++
++      * prj-nmsc.adb (Check_Ada_Naming_Scheme_Validity): Check Naming against
++      the default for the tree, not the global default naming.
++
++      * prj-proc.adb (Recursive_Process): No need to put the default naming
++      in the project data, it's already there.
++
++2005-03-17  Doug Rupp  <rupp@adacore.com>
++
++      * Makefile.in: (ia64-hp-*vms*): Use s-crtl-vms64.ads.
++
++      * 5xcrtl.ads: Renamed to...
++      * s-crtl-vms64.ads: ...this new file
++
++2005-03-17  Robert Dewar  <dewar@adacore.com>
++
++      PR ada/19519
++      * namet.adb (Copy_One_Character): Set proper wide character encoding
++      for upper half character if we have upper half encoding.
++
++2005-03-17  Robert Dewar  <dewar@adacore.com>
++
++      * par.adb (Par): Improved msg for attempt to recompile predefined unit
++
++2005-03-17  Thomas Quinot  <quinot@adacore.com>
++
++      * sem_ch13.adb (New_Stream_Function, New_Stream_Procedure): For a
++      tagged limited type, the TSS is a newly built renaming declaration:
++      insert it using Set_TSS, not Copy_TSS.
++
++2005-03-17  Javier Miranda  <miranda@adacore.com>
++
++      * sem_ch4.adb (Try_Primitive_Operation, Class_Wide_Operation and
++      Try_Object_Operation): Analyze the object that is accessible
++      through the prefix of the subprogram call before we apply
++      the transformation of the object-operation notation.
++
++2005-03-17  Jose Ruiz  <ruiz@adacore.com>
++
++      * s-taprob.adb (Initialize_Protection): Initialize the protected
++      object's owner to Null_Task.
++      (Lock): If pragma Detect_Blocking is in effect and the caller of this
++      procedure is already the protected object's owner then Program_Error
++      is raised. In addition the protected object's owner is updated.
++      (Lock_Read_Only): If pragma Detect_Blocking is in effect and the caller
++      of this procedure is already the protected object's owner then
++      Program_Error is raised.
++      In addition the protected object's owner is updated.
++      (Unlock): Remove the ownership of the protected object.
++
++      * s-taprob.ads (Protection): Add the field Owner, used to store the
++      protected object's owner.
++      This component is needed for detecting one type of potentially blocking
++      operations (external calls on a protected subprogram with the same
++      target object as that of the protected action). Document the rest of
++      the components.
++
++      * s-tposen.adb, s-tpoben.adb (Initialize_Protection_Entries):
++      Initialize the protected object's owner to Null_Task.
++      (Lock_Read_Only_Entries): If pragma Detect_Blocking is in effect and the
++      caller of this procedure is already the protected object's owner then
++      Program_Error is raised.
++      Do not raise Program_Error when this procedure is called from a
++      protected action.
++      (Unlock_Entries): Remove the ownership of the protected object.
++      (Lock_Entries): If pragma Detect_Blocking is in effect and the caller
++      of this procedure is already the protected object's owner then
++      Program_Error is raised.
++      Do not raise Program_Error when this procedure is called from
++      a protected action.
++
++      * s-tposen.ads, s-tpoben.ads (Protection_Entries): Add the field Owner,
++      used to store the protected object's owner.
++
++      * s-tpobop.adb (Protected_Entry_Call): If pragma Detect_Blocking is in
++      effect and this procedure (a potentially blocking operation) is called
++      from whithin a protected action, Program_Error is raised.
++      (Timed_Protected_Entry_Call): If pragma Detect_Blocking is in effect
++      and this procedure (a potentially blocking operation) is called from
++      whithin a protected action, Program_Error is raised.
++
++2005-03-17  Vincent Celier  <celier@adacore.com>
++          Nicolas Setton  <setton@adacore.com>
++
++      * mlib-tgt-darwin.adb (Build_Dynamic_Library): Remove the "-fini"
++      switch, not supported by the linker on Darwin. Add '_' before
++      <library>init, as this character is added unconditionally by the
++      compiler.
++      (Is_Archive_Ext): Replace the wrong library extension ".dyld" by the
++      correct one ".dylib". This fixes detection of the archive files when
++      building library projects.
++
++2005-03-17  Vincent Celier  <celier@adacore.com>
++
++      * switch-m.adb (Normalize_Compiler_Switches): Recognize switches
++      -gnat83, -gnat95 and -gnat05.
++
++2005-03-17  Vasiliy Fofanov  <fofanov@adacore.com>
++
++      * gnat_ugn.texi: Document gnatmem restriction
++
++2005-03-17  Thomas Quinot  <quinot@adacore.com>
++
++      * snames.adb: Document new TSS names introduced by exp_dist/exp_tss
++      cleanup
++
++2005-03-17  Robert Dewar  <dewar@adacore.com>
++
++      * s-interr.ads, s-interr.adb, sem_ch3.adb, prj.ads, prj.adb,
++      a-interr.adb, a-interr.ads, s-interr-sigaction.adb, s-interr-dummy.adb,
++      s-interr-vms.adb, s-interr-vxworks.adb: Minor reformatting
++
++      * casing.adb: Comment improvements
++
++2005-03-17  Pascal Obry  <obry@adacore.com>
++
++      * g-expect.adb: Minor reformatting.
++
++2005-03-15  Zack Weinberg  <zack@codesourcery.com>
++
++      * Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
++      (doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
++      to dependencies.
++
++2005-03-15  Vincent Celier  <celier@adacore.com>
++
++      * mlib-tgt-darwin.adb (Library_Exist_For, Library_File_Name_For):
++      Add new parameter In_Tree to specify the project tree: needed
++      by the project manager. Adapt to changes in project manager
++      using new parameter In_Tree.
++
++2005-03-15  Jakub Jelinek  <jakub@redhat.com>
++
++      * Make-lang.in (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h,
++      ada/nmake.adb, ada/nmake.ads): Use unique subdirectories of
++      ada/bldtools to avoid make -jN failures.
++
++2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * trans.c (gnat_to_gnu) <N_Return_Statement>: Set gnu_result
++      to NULL_TREE on entry.
++
++2005-03-15  Robert Dewar  <dewar@adacore.com>
++
++      * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
++      system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
++      system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
++      system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
++      system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
++      system-linux-x86.ads, system-vxworks-mips.ads, system-os2.ads,
++      system-interix.ads, system-solaris-sparc.ads,
++      system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
++      system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads,
++      system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
++      system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads,
++      system-linux-s390.ads, system-linux-s390x.ads: Add line defining
++      Compiler_System_Version to be False.
++
++      * opt.ads: Add new flag Opt.Address_Is_Private
++
++      * targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private
++      Add new parameter Compiler_System_Version to avoid checking for
++      completeness of parameters when compiler is compiling itself.
++      Allows old versions of GNAT to be compiled with new compiler.
++
++2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function
++      (Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the
++      calling thread.
++      (Stack_Base_Available): New flag.
++      (Get_Page_Size): New overloaded functions imported from C.
++      (PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL,
++      PROT_ON, PROT_OFF): New constants.
++      (mprotect): New function imported from C.
++      (pthread_teb_t): New record type.
++
++      * s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
++      (Create_Task): Account for the Yellow Zone and the guard page.
++
++2005-03-15  Vincent Celier  <celier@adacore.com>
++
++      * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
++      mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
++      mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
++      mlib-tgt-vxworks.adb, mlib-tgt-lynxos.adb (Library_Exist_For,
++      Library_File_Name_For): Add new parameter In_Tree
++      to specify the project tree: needed by the project manager.
++      Adapt to changes in project manager using new parameter In_Tree.
++      Remove local imports, use functions in System.CRTL.
++
++      * make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
++      to use the project manager.
++
++      * makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter
++      In_Tree to designate the project tree. Adapt to changes in the project
++      manager, using In_Tree.
++
++      * mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library,
++      Copy_Interface_Sources): Add new parameter In_Tree to specify the
++      project tree: needed by the project manager.
++      (Build_Library): Check that Arg'Length >= 6 before checking if it
++      contains "--RTS=...".
++
++      * mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For,
++      Library_File_Name_For): Add new parameter In_Tree to specify the
++      project tree: needed by the project manager.
++
++      * prj.ads, prj.adb: Major modifications to allow several project trees
++      in memory at the same time.
++      Change tables to dynamic tables and hash tables to dynamic hash
++      tables. Move tables and hash tables from Prj.Com (in the visible part)
++      and Prj.Env (in the private part). Move some constants from the visible
++      part to the private part. Make other constants deferred.
++      (Project_Empty): Make it a variable, not a function
++      (Empty_Project): Add parameter Tree. Returns the data with the default
++      naming data of the project tree Tree.
++      (Initialize): After updating Std_Naming_Data, copy its value to the
++      component Naming of Project Empty.
++      (Register_Default_Naming_Scheme): Use and update the default naming
++      component of the project tree, instead of the global variable
++      Std_Naming_Data.
++      (Standard_Naming_Data): Add defaulted parameter Tree. If project tree
++      Tree is not defaulted, return the default naming data of the Tree.
++      (Initial_Buffer_Size): Constant moved from private part
++      (Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new
++      variables initialized in procedure Initialize.
++      (Add_To_Buffer): Add two in out parameters to replace global variables
++      Buffer and Buffer_Last.
++      (Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New
++      functions.
++      Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
++      hash tables.
++      (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
++      for the project tree.
++      (Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and
++      constant at the beginning of the package spec, so that they cane be used
++      in subprograms before their full declarations.
++      (Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref
++      (Empty_Project): Add parameter of type Project_Node_Ref
++      (Private_Project_Tree_Data): Add component Default_Naming of type
++      Naming_Data.
++      (Buffer, Buffer_Last): remove global variables
++      (Add_To_Buffer): Add two in out parameters to replace global variables
++      Buffer and Buffer_Last.
++      (Current_Packages_To_Check): Remove global variable
++      (Empty_Name): Move to private part
++      (No-Symbols): Make it a constant
++      (Private_Project_Tree_Data): New type for the private part of the
++      project tree data.
++      (Project_Tree_Data): New type for the data of a project tree
++      (Project_Tree_Ref): New type to designate a project tree
++      (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
++      for the project tree.
++
++      * prj-attr.ads: Add with Table; needed, as package Prj no longer
++      imports package Table.
++
++      * prj-com.adb: Remove empty, no longer needed body
++
++      * prj-com.ads: Move most of the content of this package to package Prj.
++
++      * prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to
++      designate the project node tree and Packages_To_Check to replace
++      global variable Current_Packages_To_Check.
++      Add new parameters In_Tree and Packages_To_Check to local subprograms,
++      when needed. Adapt to changes in project manager with project node tree
++      In_Tree.
++
++      * prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the
++      project tree to most subprograms. Move tables and hash tables to
++      private part of package Prj.
++      Adapt to changes in project manager using project tree In_Tree.
++
++      * prj-makr.adb (Tree): New constant to designate the project node tree
++      Adapt to change in project manager using project node tree Tree
++
++      * prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly
++      display the Library_Src_Dir and the Library_Dir.
++      Add new parameter In_Tree to designate the project node tree to most
++      subprograms. Adapt to changes in the project manager, using project tree
++      In_Tree.
++      (Check_Naming_Scheme): Do not alter the casing on platforms where
++      the casing of file names is not significant.
++      (Check): Add new parameter In_Tree to designate the
++
++      * prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to
++      designate the project tree.
++      Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process
++
++      * prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables,
++      to replace those that were in the private part of package Prj.
++      Add new parameter In__Tree to designate the project node tree to most
++      subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
++      (Post_Parse_Context_Clause): When specifying the project node of a with
++      clause, indicate that it is a limited with only if there is "limited"
++      in the with clause, not necessarily when In_Limited is True.
++      (Parse): Add new parameter In_Tree to designate the project node tree
++
++      * prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to
++      designate the project node tree. Adapt to change in Prj.Tree with
++      project node tree In_Tree.
++
++      * prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project
++      tree In_Tree in the call to function Empty_Process to give its initial
++      value to the project data Processed_Data.
++      Add new parameters In_Tree to designate the project tree and
++      From_Project_Node_Tree to designate the project node tree to several
++      subprograms. Adapt to change in project manager with project tree
++      In_Tree and project node tree From_Project_Node_Tree.
++
++      * prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables,
++      to replace those that were in the private part of package Prj.
++      Add new parameter In_Tree to designate the project node tree to most
++      subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
++
++      * prj-tree.ads, prj-tree.adb: Add new parameter of type
++      Project_Node_Tree_Ref to most subprograms.
++      Use this new parameter to store project nodes in the designated project
++      node tree.
++      (Project_Node_Tree_Ref): New type to designate a project node tree
++      (Tree_Private_Part): Change table to dynamic table and hash tables to
++      dynamic hash tables.
++
++      * prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate
++      the project tree to most subprograms. Adapt to changes in project
++      manager using project tree In_Tree.
++
++      * makegpr.adb (Project_Tree): New constant needed to use project
++      manager.
++
++2005-03-15  Olivier Hainque  <hainque@adacore.com>
++
++      * s-intman-posix.adb (Notify_Exception): Adjust signature, as handler
++      for sigactions with SA_SIGINFO set. Call
++      __gnat_adjust_context_for_raise before raising, to perform the
++      potentially required adjustments to the machine context for the GCC
++      unwinder.
++
++      * raise.h (__gnat_adjust_context_for_raise): New prototype.
++
++      * init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision.
++      Adjust PC by one in the provided machine context.
++      (__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags,
++      so that the handler is passed the context structure to adjust prior to
++      the raise.
++      (__gnat_error_handler) HPUX: Adjust the signature to match what an
++      SA_SIGINFO sigaction should look like. Call
++      __gnat_adjust_context_for_raise before actually raising.
++      (__gnat_adjust_context_for_raise): Default noop to help PC
++      adjustments before raise from signal handlers.
++      (__gnat_error_handler): Indirectly call a predicate function to
++      determine if a condition should be resignaled or not.
++      (__gnat_set_resignal_predicate): User interface to modify the predicate.
++      (__gnat_default_resignal_p): Default GNAT predicate.
++
++2005-03-15  Doug Rupp  <rupp@adacore.com>
++
++      * adaint.c: Prefix #include of VMS system header files with vms/
++      [VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS.
++      Do not define a dummy function "convert_addresses" under Darwin,
++      not needed.
++
++      * tb-alvms.c, expect.c: Prefix #include of VMS system header files
++      with vms/
++
++2005-03-15  Nicolas Setton  <setton@adacore.com>
++
++      * tracebak.c: Under Darwin, use the same unwinding mechanisms as under
++      PPC/AIX.
++
++2005-03-15  Robert Dewar  <dewar@adacore.com>
++
++      * a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
++      AI-386.
++
++      * a-retide.ads: Minor comment changes
++
++2005-03-15  Robert Dewar  <dewar@adacore.com>
++
++      * a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads,
++      a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move
++      Realloc_For_Chunk to private part of package.
++      New subprograms for AI-301
++
++      * a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
++      Get_Line procedure.
++      Avoid unnecessary use of Get/Set_Wide_String
++
++2005-03-15  Robert Dewar  <dewar@adacore.com>
++
++      PR ada/13470
++      * a-stunau.ads, a-stunau.adb:
++      Change interface to allow efficient (and correct) implementation
++      The previous changes to allow extra space in unbounded strings had
++      left this interface a bit broken.
++
++      * a-suteio.adb: Avoid unnecessary use of Get/Set_String
++
++      * g-spipat.ads, g-spipat.adb: New interface for Get_String
++      Minor reformatting (function specs)
++
++      * g-spitbo.adb: New interface for Get_String
++
++      * g-spitbo.ads: Minor reformatting
++
++      * a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String
++
++      * a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String
++
++2005-03-15  Javier Miranda  <miranda@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++          Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * atree.ads, atree.adb: Add support for Elist24 field
++
++      * atree.h: Fix wrong definition of Field27
++      Add support for Elist16 field
++      Add support for Elist24 field
++
++      * einfo.ads, einfo.adb (Abstract_Interfaces,
++      Set_Abstract_Interfaces): New subprograms.
++      (Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New
++      subprograms.
++      (Access_Disp_Table, Set_Access_Disp_Table): Modified to handle a list of
++      entities rather than a single node.
++      (Is_Interface, Set_Is_Interface): New subprogram
++      (First_Tag_Component): New syntesized attribute
++      (Next_Tag_Component): New synthesized attribute
++      (Write_Entity_Flags): Upgraded to write Is_Interface
++      (Write_Field24_Name): Upgraded to write Abstract_Interfaces
++      (Write_Field25_Name): Upgraded to write Abstract_Interface_Alias
++      (Task_Body_Procedure): New subprogram to read this attribute.
++      (Set_Task_Body_Procedure): New subprogram to set this attribute.
++      (Has_Controlled_Component): Now applies to all entities.
++      This is only a documentation change, since it always worked to apply
++      this to other than composite types (yielding false), but now this is
++      official.
++      Update documentation on Must_Be_Byte_Aligned for new spec
++
++      * tbuild.adb, exp_dist.adb, exp_disp.adb, exp_ch3.ads, exp_ch3.adb,
++      exp_attr.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb: Upgrade all the
++      uses of the Access_Disp_Table attribute to reference the first dispatch
++      table associated with a tagged type. As
++      part of the implementation of abstract interface types,
++      Access_Disp_Table has been redefined to contain a list of dispatch
++      tables (rather than a single dispatch table).
++      Similarly, upgrade all the references to Tag_Component by the
++      new attribute First_Tag_Component.
++      (Find_Inherited_TSS): Moved to exp_tss.
++      Clean up test in Expand_N_Object_Declaration for cases
++      where we need to do a separate assignment of the initial value.
++      (Expand_N_Object_Declaration): If the expression in the
++      declaration of a tagged type is an aggregate, no need to generate an
++      additional tag assignment.
++      (Freeze_Type): Now a function that returns True if the N_Freeze_Entity
++      is to be deleted.
++      Bit packed array ops are only called if operands are known to be
++      aligned.
++      (Component_Equality): When returning an N_Raise_Program_Error statement,
++      ensure that its Etype is set to Empty to avoid confusing GIGI (which
++      expects that only expressions have a bona fide type).
++      (Make_Tag_Ctrl_Assignment): Use Build_Actual_Subtype to correctly
++      determine the amount of data to be copied.
++
++      * par.adb (P_Interface_Type_Definition): New subprogram that parses the
++      new syntax rule of Ada 2005 interfaces (for AI-251 and AI-345):
++          INTERFACE_TYPE_DEFINITION ::=
++            [limited | task | protected | synchronized] interface
++              [AND interface_list]
++
++      * par-ch3.adb (P_Type_Declaration): Modified to give support to
++      interfaces.
++      (P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to
++      interfaces.
++      (P_Interface_Type_Definition): New subprogram that parses the new
++      syntax rule of Ada 2005 interfaces
++      (P_Identifier_Declarations): fix two occurrences of 'RENAMES' in error
++      messages by the correct RENAMES (quotes removed).
++
++      * sem_prag.adb: Upgrade all the references to Tag_Component by the new
++      attribute First_Tag_Component.
++
++      * sinfo.ads, sinfo.adb: Remove OK_For_Stream flag, not used, not needed
++      (Interface_List, Set_Interface_List): New subprograms.
++      (Interface_Present, Set_Interface_Present): New subprograms.
++      (Limited_Present, Set_Limited_Present): Available also in derived
++      type definition nodes.
++      (Protected_Present, Set_Protected_Present): Available also in
++      record type definition and
++      derived type definition nodes.
++      (Synchronized_Present, Set_Synchronized_Present): New subprograms.
++      (Task_Present, Set_Task_Present): New subprogram.
++      (Task_Body_Procedure): Removed.
++      (Set_Task_Body_Procedure): Removed.
++      These subprogram have been removed because the attribute
++      Task_Body_Procedure has been moved to the corresponding task type
++      or task subtype entity to leave a field free to store the list
++      of interfaces implemented by a task (for AI-345)
++      Add Expression field to N_Raise_Statement node for Ada 2005 AI-361
++      (Null_Exclusion_Present): Change to Flag11, to avoid conflict with
++      expression flag Do_Range_Check
++      (Exception_Junk): Change to Flag7 to accomodate above change
++      (Box_Present, Default_Name, Specification, Set_Box_Present,
++      Set_Default_Name, Set_Specification): Expand the expression
++      "X in N_Formal_Subprogram_Declaration" into the corresponding
++      two comparisons. Required to use the csinfo tool.
++
++      * exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where
++      "with string" given.
++
++      * sem_ch11.adb (Analyze_Raise_Statement): Handle case where string
++      expression given.
++
++      * par-ch11.adb (P_Raise_Statement): Recognize with string expression
++      in 2005 mode
++
++      * exp_ch9.adb (Build_Task_Proc_Specification): Modified to use entity
++      attribute Task_Body_Procedure rather than the old semantic field that
++      was available in the task_type_declaration node.
++
++      * par-ch12.adb (P_Formal_Type_Definition): Modified to handle formal
++      interface type definitions.
++      (P_Formal_Derived_Type_Definition): Modified to handle the list of
++      interfaces.
++
++      * par-ch9.adb (P_Task): Modified to handle the list of interfaces in a
++      task type declaration.
++      (P_Protected): Modified to handle the list of interfaces in a
++      protected type declaration.
++
++2005-03-15  Doug Rupp  <rupp@adacore.com>
++          Vincent Celier  <celier@adacore.com>
++
++      * bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
++      (Gen_Output_File_C): Likewise.
++      (Gen_Main_C): Issue #include <stdlib.h> to avoid warning
++
++2005-03-15  Thomas Quinot  <quinot@adacore.com>
++
++      * checks.adb (Get_E_First_Or_Last): When the expression being retrieved
++      is an N_Raise_Constraint_Error node, create a new copy of it without
++      going through a call to Duplicate_Subexpr.
++
++2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
++          Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++          Nicolas Setton  <setton@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      PR ada/19900
++      PR ada/19408
++      PR ada/19140
++      PR ada/20255
++      * decl.c (gnat_to_gnu_field): Reject aliased components with a
++      representation clause that prescribes a size not equal to the rounded
++      size of their types.
++      (gnat_to_gnu_entity, case E_Component): Always look at
++      Original_Record_Component if Present and not the entity.
++      (gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
++      of tagged extension types by not making field for components that are
++      inside the parent.
++      (gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
++      (gnat_to_gnu_entity) <E_Variable>: Do not convert again the
++      expression to the type of the object when the object is constant.
++      Reverse defer_debug_incomplete_list before traversing it, so that trees
++      are processed in the order at which they were added to the list. This
++      order is important when using the stabs debug format.
++      If we are deferring the output of debug information, also defer this
++      output for a function return type.
++      When adding fields to a record, prevent emitting debug information
++      for incomplete records, emit the information only when the record is
++      complete.
++      (components_to_record): New parameter defer_debug.
++      (gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
++      (gnat_to_gnu_field_decl): New function.
++      (substitution_list, annotate_rep): Call it.
++      (gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
++      (gnat_to_gnu_entity, case E_Record_Type): Likewise.
++      No longer update discriminants to not be a COMPONENT_REF.
++      (copy_alias_set): Strip padding from input type; also handle
++      unconstrained arrays properly.
++
++      * gigi.h (write_record_type_debug_info): New function.
++      Convert to use ANSI-style prototypes. Remove unused
++      declarations for emit_stack_check, elab_all_gnat and
++      set_second_error_entity.
++      (gnat_to_gnu_field_decl): New decl.
++
++      * utils.c (write_record_type_debug_info): New function.
++      (finish_record_type): Delegate generation of debug information to
++      write_record_type_debug_info.
++      (update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
++      (update_pointer_to): Fix pasto.
++      (convert) <UNION_TYPE>: Accept slight type variations when
++      converting to an unchecked union type.
++
++      * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
++      replace the N_Freeze_Entity with a null statement.
++
++      * freeze.adb (Freeze_Expression): If the freeze nodes are generated
++      within a constrained subcomponent of an enclosing record, place the
++      freeze nodes in the scope stack entry for the enclosing record.
++      (Undelay_Type): New Subprogram.
++      (Set_Small_Size): Pass T, the type to modify; all callers changed.
++      (Freeze_Entity, Freeze_Record_Type): Change the way we handle types
++      within records; allow them to have freeze nodes if their base types
++      aren't frozen yet.
++
++      * exp_util.adb (Remove_Side_Effects): Properly test for
++      Expansion_Delayed and handle case when it's inside an
++      N_Qualified_Expression.
++
++      * sem_ch3.adb (Derived_Type_Declaration): New predicate
++      Comes_From_Generic, to recognize accurately that the parent type in a
++      derived type declaration can be traced back to a formal type, because
++      it is one or is derived from one, or because its completion is derived
++      from one.
++      (Constrain_Component_Type): If component comes from source and has no
++      explicit constraint, no need to constrain in in a subtype of the
++      enclosing record.
++      (Constrain_Access, Constrain_Array): Allow itypes to be delayed.
++      Minor change to propagate Is_Ada_2005 flag
++
++      * trans.c (gnat_to_gnu, case N_Aggregate): Verify that
++      Expansion_Delayed is False.
++      (assoc_to_constructor): Ignore fields that have a
++      Corresponding_Discriminant.
++      (gnat_to_gnu) <N_Return_Statement>: Restructure. If the
++      function returns "by target", dereference the target pointer using the
++      type of the actual return value.
++      <all>: Be prepared for a null gnu_result.
++      (processed_inline_subprograms): Check flag_really_no_inline
++      instead of flag_no_inline.
++      (set_second_error_entity): Remove unused function.
++      (gnat_to_gnu, case N_Selected_Component): Call
++      gnat_to_gnu_field_decl.
++      (assoc_to_constructor): Likewise.
++
++2005-03-15  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * exp_pakd.adb (Create_Packed_Array_Type): Do not set
++      Must_Be_Byte_Aligned for cases where we do not need to use a
++      System.Pack_nn unit.
++
++      * exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
++      as procedures.
++      Needed now that we do some processing for IN parameters as well. This
++      may well fix some unrelated errors.
++      (Expand_Call): Handle case of unaligned objects (in particular those
++      that come from packed arrays).
++      (Expand_Inlined_Call): If the subprogram is a renaming as body, and the
++      renamed entity is an inherited operation, re-expand the call using the
++      original operation, which is the one to call.
++      Detect attempt to inline parameterless recursive subprogram.
++      (Represented_As_Scalar): Fix to work properly with private types
++      (Is_Possibly_Unaligned_Object): Major rewrite to get a much more
++      accurate estimate. Yields True in far fewer cases than before,
++      improving the quality of code that depends on this test.
++
++      * exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
++      over both visible and private declarations to remove them from tree,
++      and mark subprograms declared in package as eliminated, to prevent
++      spurious use in subsequent compilation of generic units in the context.
++
++      * exp_util.ads: Minor cleanup in variable names
++
++      * sem_eval.ads, sem_eval.adb: Minor reformatting
++      (Compile_Time_Known_Bounds): New function
++
++2005-03-15  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_ch7.adb (Convert_View): Use base types of underlying types when
++      determining whether an unchecked conversion is needed for the argument
++      of an initialization call.
++
++2005-03-15  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type
++      that appears in the instantiation rather than the internal subtype
++      generated in the wrapper package, to avoid anomalies in gigi when the
++      target is derived from a private type whose full view is an access type.
++
++2005-03-15  Robert Dewar  <dewar@adacore.com>
++
++      * exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
++      not needed.
++      Add documentation to replace the use of this flag
++      Fix kludge for Maximum_Alignment on x86 so that it does not apply to
++      the x86_64.
++
++2005-03-15  Thomas Quinot  <quinot@adacore.com>
++
++      * exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved
++      here from exp_attr so it can be shared between exp_attr and exp_dist.
++      (TSS_Names): Renamed from OK_TSS_Names. This array contains the list of
++      all TSS names, not a subset thereof, and the previous name introduced
++      an unnecessarily confusion that a distinction might exist between
++      "OK" TSS names and some "not OK" TSS names.
++
++2005-03-15  Doug Rupp  <rupp@adacore.com>
++
++      * gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
++      Command_Name.
++
++2005-03-15  Pascal Obry  <obry@adacore.com>
++          Eric Botcazou  <ebotcazou@adacore.com>
++
++      PR ada/20226
++      PR ada/20344
++      * init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
++      when IN_RTS. This is to work around a bootstrap path problem.
++
++      * misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler)
++      table and pass it to __gnat_install_SEH_handler().
++      (gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
++
++      * lang.opt: Fix specification of -fRTS=.
++
++2005-03-15  Doug Rupp  <rupp@adacore.com>
++          Bernard Banner  <banner@adacore.com>
++          Vincent Celier  <celier@adacore.com>
++          Arnaud Charlet  <charlet@adacore.com>
++
++      PR ada/6852
++      This change works fine when gnatlib is built from the gcc directory,
++      but does not work when using the libada Makefile, since GCC_FOR_TARGET
++      is not passed to ada/Makefile.in, so more work is needed by a
++      Makefile/configure expert.
++
++      * Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library.
++      set GMEM_LIB on ia64 linux to add optional support for gnatmem.
++      Setup gnatlink switch -M for x86_64 linux, as it is already setup
++      for Linux x86.
++      (gnatlib-shared-default): Use GNATLIBCFLAGS as well.
++      Run ranlib on libgccprefix.a
++      Define PREFIX_OBJS for Darwin, to build libgccprefix.
++      (ADA_INCLUDE_SRCS): Split Ada packages.
++
++2005-03-15  Robert Dewar  <dewar@adacore.com>
++
++      * Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
++
++      * impunit.adb: Add GNAT.UTF_32
++
++      * scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
++
++      * widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
++      now uses GNAT.UTF_32).
++
++      * g-utf_32.ads, g-utf_32.adb: This is a new unit with full
++      capabilities for categorizing characters using Unicode categories
++
++2005-03-15  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an
++      instantiation that has been rewritten as a package body, retrieve spec
++      to generate proper name for implicit_with_clause.
++      (Install_Parents): Recognize a parent that is an instantiation but has
++      been rewritten as a package declaration during analysis.
++
++2005-03-15  Javier Miranda  <miranda@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch12.adb (Instantiate_Object): If the analysis of the actual
++      parameter reported some error we immediately return. This improves the
++      behaviour of the frontend in case of errors.
++      (Install_Parent, Remove_Parent): Introduce new flag
++      Parent_Unit_Visible, to preserve the proper visibility of the ultimate
++      ancestor of a generic child unit, when the child is being instantiated.
++      (Inline_Instance_Body): If we are compiling the private
++      part or the body of a child unit, restore the proper visibility of the
++      parents after compiling the instance body.
++
++2005-03-15  Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      PR ada/15608
++      * sem_util.adb (Get_Task_Body_Procedure): Type may be the completion
++      of a private type, in which case it is underlying_type that denotes
++      the proper task. Also modified to use the new entity attribute
++      that is directly available in the task type and task subtype entities
++      (Build_Actual_Subtype_Of_Component): Handle properly multidimensional
++      arrays when other dimensions than the first are constrained by
++      discriminants of an enclosing record.
++      (Insert_Explicit_Dereference): If the prefix is an indexed component or
++      a combination of indexed and selected components, find ultimate entity
++      and generate the appropriate reference for it, to suppress spurious
++      warnings.
++      (Note_Possible_Modification): If an entity name has no entity, return.
++      (Is_Variable): A function call never denotes a variable.
++      (Requires_Transient_Scope): For record types, recurse only on
++      components, not on internal subtypes that may have been generated for
++      constrained components.
++
++2005-03-15  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked
++      Eliminated as candidates for resolution. Both efficient, and avoids
++      anomalies with operators declared in deleted code.
++      (Process_Implicit_Dereference_Prefix): Use this procedure whenever
++      expansion is disabled (as when compiling a generic) to prevent spurious
++      warnings on prefixes of selected components.
++
++2005-03-15  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is
++      attached to a list before checking whether it appears in the private
++      declarations of the current package.
++      (Make_Inequality_Operator): Insert declaration in proper declarative
++      list rather than just setting the Parent field, so that
++      Is_Private_Declaration can handle it properly.
++
++2005-03-15  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is
++      a renaming a body, check that the renamed subprogram in not intrinsic.
++      (Find_Direct_Name): If several use_visible entities hide
++      each other, and the context is a predefined file compiled through
++      rtsfind, keep only the entity that comes from a predefined file.
++
++2005-03-15  Geert Bosch  <bosch@adacore.com>
++
++      * s-fatgen.adb (Valid): Extend special exceptions to account for long
++      long float padding to also cover AMD64 and IA64.
++
++2005-03-15  Gary Dismukes  <dismukes@adacore.com>
++
++      * s-imgwch.adb: Add with and use of Interfaces.
++      (Img_Wide_Character): Change type of Val to Unsigned_16.
++      (Img_Wide_Wide_Character): Change type of Val to Unsigned_32.
++
++2005-03-15  Matthew Gingell  <gingell@adacore.com>
++
++      * sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
++
++2005-03-15  Robert Dewar  <dewar@adacore.com>
++
++      * usage.adb: Add missing lines for -gnat95 and -gnat05 switches
++
++      * sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
++
++      * i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
++
++2005-03-15  Robert Dewar  <dewar@adacore.com>
++
++      * s-bitops.adb, s-bitops.ads,
++      s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads,
++      s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb,
++      tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads,
++      s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads,
++      s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads,
++      s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads,
++      s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads,
++      s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor
++      reformatting.
++
++2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * utils2.c (build_binary_op): Fix typo.
++
++2005-03-15  Doug Rupp  <rupp@adacore.com>
++
++      * s-crtl.ads (popen,pclose): New imports.
++
++2005-03-15  Cyrille Comar  <comar@adacore.com>
++
++      * comperr.adb (Compiler_Abort): remove references to obsolete
++      procedures in the bug boxes for various GNAT builds.
++
++2005-03-15  Vincent Celier  <celier@adacore.com>
++
++      * snames.ads, snames.adb: Save as Unix text file, not as DOS text file
++
++2005-03-15  Geert Bosch  <bosch@adacore.com>
++          Arnaud Charlet  <charlet@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Cyrille Comar  <comar@adacore.com>
++          Sergey Rybin  <rybin@adacore.com>
++
++      * gnat_ugn.texi: Remove extended inline assembly example, as it was far
++      too specific and long-winded to be appropriate for the GNAT User's
++      Guide.
++      Warn about use of GCC switches not documented in the GNAT User's Guide,
++      as these may cause generated code to not conform to Ada semantics.
++      Remove mention of -gdwarf-2 for sparc64, since this is now the default.
++      Add documentation for -gnat95 and -gnat05 switches
++      Remove paragraph documenting obsolete way to refer to third party
++      libraries.
++      Add a few references to Ada_05 that were missing.
++      Update documentation on -gnatZ/-gnatL.
++      Document limitation when using -m64 under Solaris.
++      Change the "Name Casing" subsection of the pretty-printer section
++      according to the changes in the dictionary processing.
++
++      * gnat_rm.texi: Document the Ada_05 pragma.
++      Section on record representation clauses describes the new more
++      relaxed rules about placement of large packed bit array components.
++      Add documentation of GNAT.UTF_32
++
++2005-03-12  Daniel Berlin  <dberlin@dberlin.org>
++
++      * misc.c (gnat_post_options): Turn off structural
++      aliasing for now.
++
++2005-03-08  Laurent Guerby  <laurent@guerby.net>
++
++      * system-linux-sparc.ads: Fix typo in previous commit.
++
++2005-03-07  James A. Morrison  <phython@gcc.gnu.org>
++          Laurent Guerby  <laurent@guerby.net>
++
++      PR ada/20035
++      * system-linux-sparc.ads: New.
++      * Makefile.in: Add sparc linux entry.
++
++2005-02-27  Danny Smith  <dannysmith@users.sourceforge.net>
++
++      * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth
++      parameters as unused.
++
++2005-02-26  Nathanael Nerode  <neroden@gcc.gnu.org>
++      Partial merge from libada-gnattools-branch:
++
++      2004-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
++      * Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags
++      into code in gnattools/Makefile.in.  Remove direct dependencies on
++      stamp-tools by tools clauses.
++      2004-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
++      * config-lang.in: Add gnattools to $lang_dirs.
++
++2005-02-13  Andrew Pinski  <pinskia@physics.uc.edu>
++
++      PR ada/19942
++      * utils.c (gnat_type_for_mode): Return null instead of ICE because
++      we asked for an unknown mode.
++
++2005-02-12  Richard Henderson  <rth@redhat.com>
++
++      * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
++      validate SCALAR_INT_MODE_P before calling gnat_type_for_size.
++
++2005-02-10  Andreas Jaeger  <aj@suse.de>
++
++      * init.c (__gnat_initialize): Mark parameter as unused.
++
++2005-02-09  Doug Rupp  <rupp@adacore.com>
++
++      * g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
++      * g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
++
++2005-02-09  Doug Rupp  <rupp@adacore.com>
++
++      * gnatchop.adb (dup, dup2),
++      g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
++
++      * gnatlbr.adb (mkdir),
++      mlib-tgt-vms-ia64.adb (popen, plose):  Import with decc$ prefix.
++
++      * s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
++
++2005-02-09  Doug Rupp  <rupp@adacore.com>
++
++      * s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
++
++2005-02-09  Robert Dewar  <dewar@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++          Pascal Obry  <obry@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Doug Rupp  <rupp@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++          Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * g-zstspl.ads: New file.
++
++      * a-chahan.ads, a-chahan.adb: Add declarations from AI-285
++
++      * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
++      Ada 95 mode
++      Add definition of Wide_Wide_Space for AI-285
++
++      * impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
++      interface (to support Ada 95 and Ada 2005 units).
++      Add Unbounded_IO files
++      Add entries for Wide_Wide packages for AI-285
++      Add list of containers packages to Ada 2005 unit list
++
++      * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
++      support new Unbounded_IO package cleanly.
++
++      * g-utf_32.ads, g-utf_32.adb: New files.
++
++      * Makefile.rtl: Add entry for g-utf_32
++      Add new files for Unbounded_IO
++      Adjust make file for new AI-285 wide wide packages
++      Add AI-302 containers to the run time.
++
++      * a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
++      a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
++      subprograms for AI-301.
++
++      * a-stwiun.adb, a-stwiun.ads: Minor reformatting.
++
++      * a-stunau.ads: Minor comment correction
++
++      * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
++      etc.
++      Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
++      (Check_RPC): Update to match changes in expanded code.
++      Clean up unused entity.
++
++      * exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
++      was not taken into account.
++      This includes proper initialization with Normalize_Scalars.
++      (Get_Simple_Init_Val): Major rewrite for initialize scalars and
++      normalize scalars cases (particularly the latter) to do a better job
++      of finding invalid representations.
++
++      * s-scaval.ads, s-scaval.adb: Add values for zero invalid values
++
++      * s-strops.ads, s-strops.adb: Remove string normalize routines, never
++      used
++
++      * exp_dist.adb: Add support for wide wide character type
++      (Expand_Receiving_Stubs_Bodies): For a package declaration that has a
++      private part, generate stub bodies at the end of the private part,
++      not the visible part.
++      (Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
++      PolyORB support.
++      (Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
++      generic wrapper to execute final processing after completing the
++      expansion of the RPC receiver for an RACW.
++
++      * snames.h, snames.ads, snames.adb: Add definitions for wide_wide
++      packages and attributes.
++      (Preset_Names): Addition of the new reserved words of Ada 2005,
++      that is interface, overriding and synchronized.
++      (Get_Pragma_Id): Give support to the use of the new reserved word
++      "interface" as a pragma name.
++      (Is_Pragma_Name): Give support to the use of the new reserved word
++      "interface" as a pragma name.
++      (Preset_Names): Add stream_size string for the Stream_Size Ada2005
++      attribute implementation.
++
++      * exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
++      checks to entities that are output parameters of Asm operations.
++      Handle the Stream_Size attribute.
++      Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width
++
++      * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
++
++      * sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
++      for second parameter being 0.0.
++      Add support for wide wide character type.
++      (Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.
++
++      * s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
++      s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
++      s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
++      s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
++      for wide wide character cases.
++
++      * cstand.adb: Create entities for Wide_Wide_Character and
++      Wide_Wide_String.
++
++      * i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
++      accordance with AI-258.
++      Add new declarations for 16/32 bit C character types (Part of AI285)
++
++      * einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
++      (Obsolescent_Warning): New field
++      (Rep_Clause): New local subprogram used to share code. Returns the rep
++      clause for which the name is given in parameter.
++      (Has_Stream_Size_Clause): New routine.
++      (Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
++      (Address_Clause): Implementation is now using Rep_Clause.
++      (Alignment_Clause): Idem.
++      (Size_Clause): Idem.
++
++      * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
++      entity in non-Ada 2005 mode and generate warning.
++
++      * par-prag.adb: Add handling of one argument form for pragma Ada_05.
++      (Prag): Code cleanup. Remove old gnat pragma "overriding"
++
++      * sem_prag.adb: Add handling of one argument form for pragma Ada_05
++      (Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
++      on the named unit if the pragma is not in the current compilation unit,
++      so that elaboration calls in the current unit can set up an elaboration
++      dependency on the named unit, as needed.
++      (Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
++      subprogram as well as for subprograms declared within a package.
++      (Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
++      pragma overriding.
++
++      * krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
++      to z) to avoid some instances of duplication for Wide_Wide packages.
++
++      * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
++      characters.
++
++      * scn.adb: Char_Literal_Value field is now a Uint
++
++      * scng.adb: Significant rewrite to handle new Ada 2005 features
++      allowing wide and wide wide characters in program text, e.g. for
++      identifiers, as described in AI-285.
++      (Set_Reserved): New procedure, makes setting up keywords cleaner.
++      (Initialize_Scanner): Register the new reserved words of Ada 2005.
++      (Scan): Give support to the new reserved words.
++
++      * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
++      warning notifying that interface, overriding, and synchronized are
++      new reserved words.
++      (P_Pragma): Allow the use of the new reserved word "interface" as
++      a pragma name.
++
++      * gnatls.adb, gnatbind.adb,
++      ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
++      identifiers named "interface" to "SAL_Interface".
++
++      * bindgen.adb (Gen_Main_Ada): Add support for the new SEH
++      (Structured Exception handling).
++      (Gen_Main_C): Idem.
++
++      * bindgen.adb:
++      (Gen_Main_Ada): Set the default exit code if specified.
++      (Gen_Main_C): Likewise.
++      Part of *DC20-006.
++      (Gen_Output_File_C): Remove redundant output of gnat_exit_status.
++      Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
++
++      * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
++      new -Xnnn switch.
++
++      * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
++      has a collision with the new Ada 2005 "interface" reserved word.
++
++      * par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
++      generate a warning notifying that interface, overriding, and
++      synchronized are new reserved words.
++
++      * scans.ads (Token_Type): Addition of the tokens corresponding to the
++      new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
++      and Tok_Synchronized.
++
++      * sem_res.adb (Resolve_Actuals): Change error messages to refer to
++      "dispatching" rather than "primitive" operations, since dispatching
++      calls are now allowed to abstract formal subprograms (which are not
++      primitive).
++      Char_Literal_Value field is now a Uint
++      (Resolve_Slice): If the prefix is an access to an unconstrained array,
++      compute the actual subtype of the designated object to impose the proper
++      index constraints.
++      (Resolve_Selected_Component): Do not insert an access check if the
++      prefix is an access type: such a node is expanded into an explicit
++      dereference, on which the access check is performed anyway. Removes
++      expensive duplicate checks.
++      (Resolve_Call): Use new flag Is_Obsolescent and field
++      Obsolescent_Warning so that pragma Obsolescent works on library
++      subprograms.
++      Add support for wide wide character type
++      (Resolve_Allocator): Replace the error message on wrong null-exclusion
++      value by a warning message.
++      (Resolve_Type_Conversion): If the mixed-mode expression is interpreted
++      as fixed-point, and one of the operands is non-static and universal, it
++      can only be an illegal exponentiation operation, in which case there is
++      no real value to retrieve.
++
++      * exp_strm.adb: Add support for wide wide character type
++      (Build_Elementary_Input_Call): Compute the size of the stream element by
++      querying the rep chain to find the Stream_Attribute attribute value.
++      (Build_Elementary_Write_Call): Ditto.
++
++      * sem_aggr.adb: Char_Literal_Value field is now a Uint
++      Add support for wide wide character type
++      Replace the error messages on wrong null-exclusion value by warnings
++      as described in Ada 2005.
++      (Resolve_Extension_Aggregate): Document the fact that the error
++      message on class-wide expressions in extensions aggregates.
++
++      * sem_case.adb: Add support for wide wide character type
++
++      * sem_ch13.adb: Add support for wide wide character type
++      (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
++
++      * sem_ch3.adb: Add support for wide wide character type
++      (Process_Subtype): If constraint is illegal for the type, set Ekind of
++      now-useless Itype, to prevent cascaded errors on a compiler built
++      without -gnatp.
++
++      * sem_ch8.adb: Add with and use of Sem_Disp.
++      (Analyze_Subprogram_Renaming): Replace unclean uses of
++      Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
++      of Corresponding_Spec to Empty).
++      (Attribute_Renaming): Replace use of Corresponding_Spec with
++      Corresponding_ Formal_Spec and simplify condition.
++      (Use_One_Package): Check that scope of homonym of identifier is defined,
++      before checking whether it is a wrapper package.
++      Add support for wide wide character type
++
++      * sem_eval.adb: Add support for wide wide character type.
++      (Eval_Arithmetic_Op): Check for compile time known signed integer
++      overflow in the non-static case.
++      (Subtypes_Statically_Match): A formal scalar type and its base type do
++      not statically match.
++
++      * sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
++      "not in" for test of N_Formal_Subprogram_Declaration (which is now a
++      subtype).
++      (Unit_Declaration_Node): Ditto.
++      (Is_Variable_Prefix):  For the case of an indexed component whose prefix
++      has a packed array type, the prefix has been rewritten into a type
++      conversion. Determine variable-ness from the converted expression.
++      Handle wide wide character cases.
++
++      * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
++
++      * stringt.ads, stringt.adb: Handle full UTF-32 range.
++      Remove ["0A"] from comment, since it can look like a line terminator.
++      Currently we don't permit this, but this is under discussion by the
++      ARG, and it is easy enough to use a different example.
++
++      * s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
++      handling UTF-32 encoding for wide wide character.
++      Implement new brackets coding ["hhhhhhhh"]
++      Add UTF-8 encodings for full UTF-32 range
++
++      * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
++
++      * types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
++      bit range Add full UTF-32 support.
++      (RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
++      notify that constraint error will be raised at run-time
++      because a null value is assigned to a null-excluding object.
++      Remove some obsolete declarations and make Char_Code
++      unsigned.
++
++      * a-except.adb (Rcheck_30): New subprogram. Addition of the message
++      corresponding to CE_Null_Not_Allowed, and adjust the output of all the
++      Rcheck subprograms.
++
++      * checks.adb (Check_Null_Not_Allowed): Replace the error message on
++      wrong null-exclusion value by a warning message.
++      (Enable_Range_Check): Do range check if the prefix is an
++      explicit dereference whose designated object is an unconstrained array.
++      Current algorithm for removing duplicate checks is over-eager in this
++      case.
++
++      * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
++      null-exclusion value by a warning message
++
++      * atree.h, atree.ads, atree.adb: Remove Char_Code field support
++      completely. Add support for Uint2 field
++
++      sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
++      exp_prag.adb: Char_Literal_Value field is now a Uint.
++
++      * exp_util.adb (Insert_Actions): Replace
++      N_Formal_Subprogram_Declaration by
++      N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
++      Char_Literal_Value field is now a Uint.
++
++      * sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
++      defined for subprogram renaming declarations. When set, the field
++      indicates the defining entity of a corresponding formal subprogram
++      when the renaming corresponds to a formal subprogram association in an
++      instantiation.
++      (Set_Corresponding_Formal_Spec): New procedure to return
++      Corresponding_Formal_Spec field.
++      Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
++      (which is now a subtype).
++      Char_Literal_Value field is now a Uint
++
++      * exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
++      pointer to the base of the dispatch table.
++      Minor changes to comments.
++      (Controlling_Type): New function for determining the tagged type
++      associated with a tagged primitive subprogram.
++      (Expand_Dispatching_Call): Add support for a controlling actual that is
++      directly a value of type Ada.Tag rather than a tagged object.
++
++      * i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
++      describing the new layout.
++      (Dispatch_Table): The expander computes the actual array size, allocates
++      the Dispatch_Table record accordingly, and generates code that displaces
++      the base of the record after the Typeinfo_Ptr component. The access to
++      these components is done by means of local functions.
++      (Offset_To_Top): New function.
++      (Typeinfo_Ptr): New function.
++      (Get_TSD): Modified to access the new position of the TSD.
++      (Set_TSD): Modified to save the TSD in its new position.
++
++      * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
++      case of formal abstract subprograms. Add check and message for -gnat05.
++      Update comments.
++
++      * sem_ch12.adb: Add with and use for Sem_Disp.
++      (Analyze_Associations): Minor change from "=" to "in" for use of
++      N_Formal_Subtype_Declaration (which is now a subtype).
++      (Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
++      N_Formal_Subtype_Declaration (which is now a subtype).
++      (Analyze_Formal_Subprogram): Add handling for
++      N_Formal_Abstract_Subprogram, marking the formal as abstract and
++      dispatching, setting the controlling status of the formal parameters
++      and result, and issuing an error if there is no controlling type for
++      the formal subprogram.
++      (Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
++      which is an unclean use of that field, we set the new field
++      Corresponding_Formal_Spec to make the formal subprogram available to
++      processing in Analyze_Subprogram_Declaration.
++      (Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
++      Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
++      Constrained, so that it is is does not statically match its anonymous
++      base type.
++
++      * sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
++      abstract formal subprograms in error check for functions returning
++      abstract types. Set scope of new designator for
++      a parameterless subprogram, so that it is available when checking the
++      body for nested subprograms, before full analysis of said body.
++      (Analyze_Subprogram_Body): Warn on inlining bodies with nested
++      subprogram only if inner one comes from source.
++      (Analyze_Function_Call): If the call is given in object notation, the
++      analysis of the name rewrites the node and analyzes it with the proper
++      argument list. After analyzing the name, if the call has been rewritten
++      and the result type is set, no further analysis is needed.
++      (Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
++      mark in function specification, in a context where the formals are
++      visible and hide outer homographs.
++
++      * sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
++      as the tagged type for the cases of abstract formal subprograms and
++      renamings of those.  Clean up spec comments.
++      (Check_Dispatching_Context): Add error message to indicate "abstract
++      procedure", covering the case of a call to a formal abstract procedure
++      that has statically tagged operands.
++      (Check_Dispatching_Call): Check for the case of an actual given by
++      a tag-indeterminate function call whose type is an ancestor of the
++      containing call's associated tagged type. This situation can occur
++      for inherited primitives with function defaults. In this case we
++      use the tagged type's tag directly as the controlling argument for
++      the calls.
++      (Expand_Call): Name change on call to Expand_Dispatch_Call.
++
++      * sprint.adb (Sprint_Node_Actual): Split
++      N_Formal_Subprogram_Declaration into two alternatives for the new
++      cases N_Formal_Abstract_Subprogram_Declaration and
++      N_Formal_Concrete_Subprogram_Declaration.
++      Char_Literal_Value field is now a Uint.
++
++      * trans.c: Get rid of junk Uint2 reference.
++      Char_Literal_Value field is now a Uint.
++      (gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
++      (gigi): Correct third arg to gimplify_body.
++
++      * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
++      (TYPE_LANG_FLAG_0): Check for record or union.
++
++      * treepr.adb: Char_Literal_Value field is now a Uint
++
++      * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
++      UI_From_CC.
++
++      * widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
++      Add full UTF-32 support
++      Char_Code is now 32 bits
++
++      * sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
++      wide character UTF_32 line terminators.
++      Initialize Main_Source_File to avoid error when no main
++      source is loaded.
++
++      * errout.adb (Finalize): Do not check Num_SRef_Pragmas
++      (Main_Source_File) when no main source has been loaded, to avoid
++      potential crash.
++
++2005-02-09  Robert Dewar  <dewar@adacore.com>
++
++      * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
++      Fix name of Set routine
++
++      * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
++      fixed packages.
++
++      * a-stwise.ads, a-stwise.adb, a-stwifi.ads, a-stwifi.adb,
++      a-strsea.ads, a-strsea.adb: Add new index functions from AI-301 to
++      fixed packages
++
++      * a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
++      forms of Get_Line subprograms for AI-301.
++
++      * a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
++      a-wtedit.adb, a-wtedit.adb, a-wtedit.ads, a-wttest.adb,
++      a-wttest.ads, a-strmap.ads, a-strmap.adb, a-stwima.adb,
++      a-stwima.ads: Minor reformatting.
++
++2005-02-09  Doug Rupp  <rupp@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++
++      * adaint.c, adaint.h
++      [VMS] (to_ptr32): New function.
++      (MAYBE_TO_PTR32): New macro.
++      (__gnat_portable_spawn,__gnat_portable_no_block_spawn): Adjust argv
++      for pointer size.
++      [VMS] (descriptor_s, ile_s): Use __char_ptr32 for adr field.
++      [VMS] (#define fork()): Remove since unneccessary.
++      (__gnat_set_close_on_exec): New routine to support
++      GNAT.OS_Lib.Set_Close_On_Exec.
++
++      * g-expect.adb (Set_Up_Communications): Mark the pipe descriptors for
++      the parent side as close-on-exec so that they are not inherited by the
++      child.
++
++      * g-os_lib.ads, g-os_lib.adb (Set_Close_On_Exec): New subprogram to
++      set or clear the FD_CLOEXEC flag on a file descriptor.
++
++2005-02-09  Eric Botcazou  <ebotcazou@adacore.com>
++          Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      PR ada/19386
++      * decl.c:
++      (gnat_to_gnu_field): Do not necessarily invoke make_packable_type
++      on the field if Pragma Component_Alignment (Storage_Unit).
++      (gnat_to_gnu_entity, case object): Do not treat a renaming that has
++      side-effects as if it were a constant; also make SAVE_EXPR to protect
++      side-effects.
++      (gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
++      UNION_TYPE.
++      (make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
++      (components_to_record): Test it.
++      Fix improper usage of REFERENCE_CLASS_P.
++
++      * utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
++      RECORD_TYPE.
++
++      * utils2.c: Minor reformatting.
++
++      * utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
++      handle other cases like RECORD_TYPE.
++
++      * utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
++
++2005-02-09  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
++      component of an array of arrays in an assignment context, and the
++      aggregate has component associations that require sliding on
++      assignment, force reanalysis of the aggregate to generate a temporary
++      before the assignment.
++      (Must_Slide): Make global to the package, for use in Gen_Assign.
++
++2005-02-09  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_ch4.adb (Expand_Composite_Equality): If a component is an
++      unchecked union with no inferable discriminants, return a
++      Raise_Program_Error node, rather than inserting it at the point the
++      type is frozen.
++      (Expand_Record_Equality, Component_Equality): Handle properly the case
++      where some subcomponent is an unchecked union whose generated equality
++      code raises program error.
++
++2005-02-09  Doug Rupp  <rupp@adacore.com>
++
++      * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
++      [VMS] (#define exit hack): Remove.
++
++2005-02-09  Pascal Obry  <obry@adacore.com>
++          Arnaud Charlet  <charlet@adacore.com>
++
++      * init.c (__gnat_initialize): Add a new parameter eh which contains the
++      address of the exception registration. The Win32 version of this
++      routine calls __gnat_install_SEH_handler() to initialize the SEH
++      (Structured Exception Handling) handler.
++      (__gnat_error_handler) [Win32]: Removed. Not needed as we use
++      SEH (Structured Exception Handling) now.
++      (__gnat_install_handler) [Win32]: Nothing to do now as we use SEH.
++      (__gnat_initialize for ppc-vxworks): Adjust comments and the
++      preprocessor condition protecting the call to the extra eh setup
++      subprogram, which is only available for the ppc target.
++      (__gnat_clear_exception_count): replaced reference to
++      variable taskIdCurrent by call to taskIdSelf(), cleaner.
++
++      * seh_init.c: New file.
++
++      * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.
++      (GNATBIND_OBJS): Idem.
++
++      * misc.c (gnat_parse_file): Update call to __gnat_initialize. This
++      routine takes a new parameter (a pointer to the exception registration
++      for the SEH (Structured Exception Handling) support.
++
++      * raise.h: (__gnat_install_SEH_handler): New prototype.
++      Update copyright notice.
++
++      * s-tassta.adb (Task_Wrapper): Declare the exception registration
++      record and initialize it by calling __gnat_install_SEH_handler.
++
++2005-02-09  Vincent Celier  <celier@adacore.com>
++
++      * make.adb (Gnatmake): Do not fail when the main project has no object
++      directory.
++
++2005-02-09  Doug Rupp  <rupp@adacore.com>
++
++      * Makefile.in [VMS] (LN,LN_S): Define as cp -p
++      Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
++      [VMS]: Add translations for g-enblsp.adb.
++
++      * s-asthan-vms.adb: Removed.
++      * s-asthan-vms-alpha.adb: Added.
++
++2005-02-09  Pascal Obry  <obry@adacore.com>
++
++      * Makefile.in (LIBGNAT_SRCS): Add seh_init.c.
++      (LIBGNAT_OBJS): Add seh_init.o.
++
++2005-02-09  Arnaud Charlet  <charlet@adacore.com>
++
++      PR ada/16592
++      * Makefile.in: Link all gnat tools with -static-libgcc, since
++      -shared-libgcc is now used by default on some systems (e.g. linux with
++      recent binutils).
++      Remove references to Makefile.prolog/generic, no longer used.
++
++2005-02-09  Vincent Celier  <celier@adacore.com>
++
++      * prj-makr.adb (Process_Directory): Put file name in canonical case
++      before matching against the patterns.
++      If gnatname has been invoked as <prefix>-gnatname
++      then invoke the compiler as <prefix>-gcc, not just "gcc".
++
++2005-02-09  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
++      with expansion disabled. The actual subtype is needed among other
++      places when the selected component appears in the context of a loop
++      bound, and denotes a packed array.
++      (Operator_Check): Always use the first subtype in the
++      error message, to avoid the appearance of internal base types.
++      (Transform_Object_Operation): Copy each actual in full
++      to the parameter associations of the constructed call, rather than
++      using the shallow copy mechanism of New_Copy_List. This ensures that
++      the chaining of named associations is done properly.
++      (Complete_Object_Operation): Rewrite node, rather than
++      replacing it, so that we can trace back to the original selected
++      component.
++
++      * sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
++      and calls that use object notation, if the called function is not
++      declared  in a withed unit, place the elaboration constraint on the
++      unit in the context that makes the function accessible.
++      (Check_Elab_Subtype_Declaration): Check whether a subtype declaration
++      imposes an elaboration constraint between two packages.
++
++2005-02-09  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch7.adb (Uninstall_Declarations): Exchange full and private
++      views of a private type after handling its private dependents, to
++      maintain proper stack discipline between entry and exit from the
++      package.
++
++2005-02-09  Cyrille Comar  <comar@adacore.com>
++
++      * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
++      Minor reformatting.
++
++2005-02-09  Arnaud Charlet  <charlet@adacore.com>
++
++      * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
++      fields for foreign threads.
++
++2005-02-09  Doug Rupp  <rupp@adacore.com>
++
++      * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
++      recursion warnings when compiled with -gnatdm.
++
++2005-02-09  Robert Dewar  <dewar@adacore.com>
++
++      * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
++      Slight fix to documentation of -gnaty with no parameters
++
++      * xr_tabls.ads: Add ??? comment for missing overall comment
++
++      * xsinfo.adb: Make default file name be sinfo.h, since this is what
++      we now use by default.
++
++      * xsnames.adb: Adjust end of file test to look for five space followed
++      by '#' instead of six spaces. The format of xsnames.adb was modified
++      in the last update.
++
++      * a-numeri.ads: Add reference to AI-388 for greek letter pi
++      identifier.
++
++      * clean.adb: Minor reformatting.
++
++      * gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
++      gnatname.adb: Minor reformatting
++      Add 2005 to copyright output when utility is run
++
++      * csets.adb: Eliminate obsolete comment
++
++      * debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
++      Update comments.
++
++      * sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.
++
++2005-02-09  Sergey Rybin  <rybin@adacore.com>
++
++      * gnat_ugn.texi: Add to the gnatpp section the paragraph describing
++      the difference between compact and incompact layout and add the record
++      representation clause to the example illustrating different layouts.
++      Add the description of '-A5' gnatpp option ("align 'AT' keywords in
++      component clauses").
++
++2005-02-09  Florian Villoing  <villoing@adacore.com>
++
++      * gnat_ugn.texi: Fix typos.
++      Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
++      @file.
++      Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
++      in the generated documentation.
++
++2005-02-09  Arnaud Charlet  <charlet@adacore.com>
++
++      * gnat_ugn.texi: Remove all mentions of FSU threads, which are no
++      longer supported.
++      Update linker wrapper when linking with non GNU C++.
++
++2005-02-09  Pascal Obry  <obry@adacore.com>
++
++      * gnat_ugn.texi:
++      Document the procedure to debug the DllMain routine on Windows.
++      Add note about -funwind-tables and mixed Ada and C/C++ programming in
++      ZCX mode.
++      Document new BIND qualifer /RETURN_CODES=VMS.
++
++2005-02-09  Ben Brosgol  <brosgol@adacore.com>
++
++      * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
++      Edited gnatmetric chapter
++
++2005-02-09  Robert Dewar  <dewar@adacore.com>
++
++      * gnat_rm.texi:
++      Changes to document new wide wide character support
++      For AI-285
++      Update documentation on Normalize_Scalars and Initialize_Scalars
++
++2005-02-09  Pascal Obry  <obry@adacore.com>
++
++      * s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.
++
++2005-02-09  Jose Ruiz  <ruiz@adacore.com>
++
++      * s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
++      from the VxWorks kernel) that is needed for getting the active
++      priority of the different tasks.
++
++      * s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
++      Use a pragma Elaborate_Body in the spec file instead.
++      Noticed by code reading.
++
++2005-02-09  Thomas Quinot  <quinot@adacore.com>
++
++      * exp_util.ads: Minor correction in comment.
++
++2005-02-09  Arnaud Charlet  <charlet@adacore.com>
++
++      * s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
++      since this procedure is now too complex to be worth inlining.
++
++2005-02-09  Richard Henderson  <rth@redhat.com>
++
++      * utils.c (gnat_define_builtin): Remove.
++      (gnat_install_builtins): Use build_common_builtin_nodes.
++
++2005-02-09  Arnaud Charlet  <charlet@adacore.com>
++
++      * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
++      a-crbtgk.adb, a-crbltr.ads, a-coprnu.ads, a-coprnu.adb,
++      a-coorse.ads, a-coorse.adb, a-convec.ads, a-convec.adb,
++      a-contai.ads, a-coinve.ads, a-coinve.adb, a-cohata.ads,
++      a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb,
++      a-cihama.ads, a-cihama.adb, a-cidlli.ads, a-cidlli.adb,
++      a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgcaso.adb,
++      a-cgarso.ads, a-cgarso.adb, a-cdlili.ads, a-cdlili.adb,
++      a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb,
++      a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
++      a-coorma.ads, a-swunha.ads, a-stunha.ads, a-ciormu.ads,
++      a-coormu.ads, a-rbtgso.ads, a-swunha.adb, a-stunha.adb,
++      a-cgaaso.ads, a-ciorma.adb, a-coorma.adb, a-secain.adb,
++      a-secain.ads, a-slcain.ads, a-slcain.adb, a-shcain.ads,
++      a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads,
++      a-stwiha.adb, a-strhas.ads, a-strhas.adb, a-chzla1.ads,
++      a-chzla9.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
++      a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads,
++      a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzfix.ads,
++      a-stzhas.adb, a-stzhas.ads, a-stzmap.adb, a-stzmap.ads,
++      a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads,
++      a-stzunb.adb, a-stzunb.ads, a-swunau.adb, a-swunau.ads,
++      a-szmzco.ads, a-szunau.adb, a-szunau.ads, a-szunha.adb,
++      a-szunha.ads, a-szuzti.adb, a-szuzti.ads, a-tiunio.ads,
++      a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb,
++      a-ztcoio.ads, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb,
++      a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
++      a-ztedit.ads, a-ztenau.adb, a-ztenau.ads, a-ztenio.adb,
++      a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb,
++      a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb,
++      a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
++      a-ztinau.ads, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb,
++      a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb,
++      a-zttest.ads, a-zzunio.ads: New files. Part of new Ada 2005
++      library.
++
++2005-01-27  Laurent Guerby  <laurent@guerby.net>
++
++      * Makefile.in: Fix a-intnam.ads from previous commit,
++      add 2005 to copyright.
++      * a-intman-rtems.ads: Renamed to...
++      * a-intnam-rtems.ads:
++
++2005-01-27  Laurent Guerby  <laurent@guerby.net>
++
++      * Makefile.in: Rename GNAT RTEMS specific files.
++      * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,
++      5rosinte.ads, 5rparame.adb: Replaced by files below.
++      * s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
++      s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
++
++2005-01-27  Joel Sherrill  <joel.sherrill@oarcorp.com>
++          Laurent Guerby  <laurent@guerby.net>
++
++      PR ada/19488
++      * 5rosinte.ads: Add No_Key constant.
++      * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
++      * gsocket.h: Do not include <sys/socket.h> with RTEMS either.
++
++2005-01-26  Laurent Guerby  <laurent@guerby.net>
++
++      PR ada/19414
++      * i-cobol.adb (Valid_Numeric): Handle zero length case.
++
++2005-01-20  Richard Henderson  <rth@redhat.com>
++
++      * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
++      a-intnam-linux.ads and system-linux-alpha.ads.
++      * a-intnam-linux-alpha.ads: Remove file.
++      * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
++      * system-linux-alpha.ads: New file.
++
++2005-01-18  Jakub Jelinek  <jakub@redhat.com>
++
++      PR ada/13470
++      * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
++      set to the new string.
++
++2005-01-18  Toon Moene  <toon@moene.indiv.nluug.nl>
++
++      * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
++      to True.
++
++2005-01-18  Richard Henderson  <rth@redhat.com>
++
++      * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
++      THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
++      for alpha-linux.
++      * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
++
++2005-01-14  Andrew Pinski  <pinskia@physics.uc.edu>
++
++      * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
++      (GCC_ZCX_Support): Likewise.
++
++2005-01-11  Bastian Blank  <waldi@debian.org>
++
++      * system-linux-s390.ads: Define Preallocated_Stacks.
++      * system-linux-s390x.ads: Likewise.
++
++2005-01-04  Arnaud Charlet  <charlet@adacore.com>
++
++      * gnat_ugn.texi: Fix texi errors with null variables.
++
++2005-01-03  Thomas Quinot  <quinot@adacore.com>
++
++      * gen-soccon.c: New utility program to generate g-soccon.ads
++      automatically.
++
++      * socket.c, gsocket.h: Split inclusion of system header files into a
++      gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
++
++      * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
++      g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
++      g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
++      g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
++      should not be edited by hand anymore, but should be regenerated using
++      gen-soccon.
++
++2005-01-03  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Vincent Celier  <celier@adacore.com>
++
++      * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
++      on/off, since this is an obsolescent feature, for which we now generate
++      a warning.
++
++      * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
++      warning mode is set and obsolescent usage of this attribute occurs.
++      (Resolve_Access, case 'Access): Note that GNAT uses the context type to
++      disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
++      predates, and partly motivates, the adoption of the AI.
++      Implement new Ada 2005 attribute Mod
++
++      * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
++      attribute Mod.
++
++      * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
++
++      * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
++      pragma restrictions.
++      New entry for Ada 2005 attribute Mod.
++
++      * par-prag.adb:
++      Add recognition of new pragma Restrictions No_Dependence
++      Recognize restriction No_Obsolescent_Features at parse time
++
++      * bcheck.adb: Add circuitry for checking for consistency of
++      No_Dependence restrictions.
++
++      * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
++      restrictions.
++
++      * restrict.ads, restrict.adb: Add subprograms to deal with
++      No_Dependence restrictions.
++
++      * rtsfind.adb: Check that implicit with's do not violate No_Dependence
++      restrictions.
++
++      * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
++      sem_attr.adb: Add check for new restriction No_Obsolescent_Features
++
++      * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
++      dummy parameter to scng instantiation.
++      Needed for new restriction No_Obsolescent_Features
++
++      * scn.adb: (Obsolescent_Check): New procedure
++      Needed for new restriction No_Obsolescent_Features
++
++      * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
++      specified by AI-285, needed for implementation of AI-388 (adding greek
++      pi to Ada.Numerics).
++      Add new generic formal to scng, needed for new restriction
++      No_Obsolescent_Features.
++
++      * s-rident.ads: Add new restriction No_Obsolescent_Features.
++
++      * ali.ads, ali.adb: Adjustments for reading new No_Dependence
++      restrictions lines.
++      (Scan_ALI): When finding an unexpected character on an R line, raise
++      exception Bad_R_Line, instead of calling Fatal_Error, so that, when
++      Ignore_Errors is True, default restrictions are set and scanning of the
++      ALI file continues with the next line. Also, when Bad_R_Line is raised
++      and Ignore_Errors is True, skip to the end of le line.
++
++      * sem_ch10.adb: Check that explicit with's do not violate
++      No_Dependence restrictions.
++      (Install_Withed_Unit): Add code to implement AI-377 and diagnose
++      illegal context clauses containing child units of instance.
++
++      * sem_prag.adb: Processing and checking for new No_Dependence
++      restrictions.
++      (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
++      analyze and check the External argument.
++
++      * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
++
++2005-01-03  Robert Dewar  <dewar@adacore.com>
++
++      * atree.adb: Add a fifth component to entities
++      This allows us to add 32 flags and four new fields
++
++      * atree.ads: Add a fifth component to entities
++      This allows us to add 32 flags and four new fields
++
++      * einfo.ads, einfo.adb: Document new fields and new flags now available
++      Add routines for printing new fields
++
++      * treepr.adb: Call routines to print out additional fields if present
++
++2005-01-03  Arnaud Charlet  <charlet@adacore.com>
++
++      * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
++      gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
++
++      * Makefile.in: Add support to build shared Ada libraries on solaris x86
++      Remove gpr2make, replaced by gprmake.
++      Remove references to gnatmem and libaddr2line.
++      Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
++      (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
++      Add support for specialized version of Ada.Numerics.Aux for Darwin: use
++      a-numaux-darwin.ads and a-numaux-darwin.adb
++      Enable mlib-tgt-lynxos.adb on lynxos.
++
++      * Make-lang.in: Remove rules for gpr2make.
++      When generating sdefault.adb, do not call Relocate_Path
++      on S3 for function Target_Name, as it is not a path.
++      Remove references to gnatmem and libaddr2line.
++
++      * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
++      files.
++
++2005-01-03  Samuel Tardieu  <tardieu@adacore.com>
++
++      * checks.adb (Apply_Alignment_Check): Generate a warning if an object
++      address is incompatible with its base type alignment constraints when
++      this can be decided statically.
++
++2005-01-03  Olivier Hainque  <hainque@adacore.com>
++
++      * decl.c (compatible_signatures_p): New function. The intended purpose
++      is to check if two function signatures for a call-site and a callee are
++      compatible enough for the call to be valid. The underlying purpose is
++      to check if a call to a mapped builtin is using the right interface.
++      The current code actually does not check antyhing - this a placeholder
++      for future refinements.
++      (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
++      builtin calls for convention Intrinsic.
++
++      * gigi.h (builtin_decl_for): Declare (new function).
++
++      * utils.c (gnat_install_builtins): Install the target specific builtins.
++      (builtin_decl_for): New function, provide a dummy body for now.
++
++2005-01-03  Geert Bosch  <bosch@adacore.com>
++
++      * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
++      (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
++      (Pred): Implement in terms of Succ.
++
++      * trans.c (convert_with_check): Reimplement conversion of float to
++      integer.
++
++2005-01-03  Ed Schonberg  <schonberg@adacore.com>
++          Vincent Celier  <celier@adacore.com>
++
++      * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
++      bounds can be negative, and must be declared Int, not Nat.
++
++      * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
++      array is checked after using the index in the array.
++
++      * makegpr.adb (Add_Switches): Check if there is a package for the
++      processor. If there is no package, do not look for switches.
++
++2005-01-03  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
++      generation of predefined stream operations (specs and bodies) should
++      proceed. Under various restrictions these subprograms must not be
++      generated.
++
++2005-01-03  Thomas Quinot  <quinot@adacore.com>
++
++      * exp_dist.adb:
++      Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
++      amount of PCS-specific code in RACW stubs generation.
++      (Copy_Specification): Set Etype on copied formal parameter entities, as
++      this information is needed for PolyORB stubs generation.
++      (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
++      variable Dynamic_Async.
++      (Build_Subprogram_Receiving_Stubs): Make PCS-specific
++      (Build_RPC_Receiver_Specification): Make generic again, as recent
++      changes have allowed RPC receivers to have the same profile for both
++      variants of the PCS.
++      Reorganise RPC receiver generation to reduce differences between the
++      structure of GARLIC and PolyORB RPC receivers.
++      (Add_Receiving_Stubs_To_Declarations): Make this subprogram
++      PCS-specific.
++      Simplify elaboration code for RCI packages.
++
++      * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
++      generation to reduce differences between the structure of GARLIC and
++      PolyORB RPC receivers.
++
++      * s-stratt.adb: Fix typo in comment.
++
++2005-01-03  Thomas Quinot  <quinot@adacore.com>
++
++      * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
++      copied from Make_Init_Call).
++
++      * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
++      reads and assignments on a temporary variable declared with appropriate
++      discriminants.
++
++2005-01-03  Robert Dewar  <dewar@adacore.com>
++
++      * i-c.adb (To_C): Raise CE if string is null and Append_Null
++
++2005-01-03  Robert Dewar  <dewar@adacore.com>
++
++      * i-cstrin.adb (Update): Do not append a null in form called with a
++      String. This avoids unintended behavior.
++
++2005-01-03  Arnaud Charlet  <charlet@adacore.com>
++
++      PR ada/17527
++      * init.c: Fix warnings on Free BSD section.
++
++2005-01-03  Arnaud Charlet  <charlet@adacore.com>
++
++      PR ada/16949
++      * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
++      xsinfo.adb).
++
++2005-01-03  Vincent Celier  <celier@adacore.com>
++
++      * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
++      libraries when Unique_Compile is True (-u switch).
++      (Gnatmake): ditto.
++
++2005-01-03  Robert Dewar  <dewar@adacore.com>
++
++      * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
++      upper case letter or underscore after W, as allowed by spec.
++
++2005-01-03  Arnaud Charlet  <charlet@adacore.com>
++
++      * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
++      darwin port by using proper type definitions from header files.
++      Use SIGTERM instead of SIGABRT for SIGADAABORT.
++
++2005-01-03  Robert Dewar  <dewar@adacore.com>
++
++      * par.adb: Enhance error message handling for configuration file
++      pragmas.
++
++2005-01-03  Robert Dewar  <dewar@adacore.com>
++
++      * s-arit64.adb (Double_Divide): Put back changes that got accidentally
++      removed during the previous update (test properly for case of dividing
++      largest negative number by -1, which generates overflow).
++
++2005-01-03  Ed Schonberg  <schonberg@adacore.com>
++          Sergey Rybin  <rybin@adacore.com>
++
++      * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
++      to use as the defining identifier for a formal package.
++      (Remove_Parent): If the instance takes place within (an instance of)
++      a sibling, preserve private declarations of common parent.
++
++2005-01-03  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
++      to determine whether one of the operands is a fixed-point type for
++      which a user-defined multiplication or division operation might be
++      defined.
++
++      * sem_res.adb (Valid_Conversion): The legality rules for conversions
++      of access types are symmetric in Ada 2005: either designated type can
++      be unconstrained.
++
++2005-01-03  Vincent Celier  <celier@adacore.com>
++
++      * s-fileio.adb (Temp_File_Record): Change length of string component
++      Name from L_tmpnam + 1 to max_path_len + 1.
++
++2005-01-03  Arnaud Charlet  <charlet@adacore.com>
++
++      * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
++      Self_Id.Deferral_Level = 0.
++      (Do_Pending_Action): Move this function to the spec.
++
++      * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
++      Do_Pending_Action explicitely when needed, in case we're using
++      No_Abort restrictions.
++
++      * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
++      deferral level since it will not get changed by the generated code.
++      Keeping a default value of 1 would prevent some operations (e.g.
++      select or delay) to proceed successfully.
++
++2005-01-03  Ben Brosgol  <brosgol@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Cyrille Comar  <comar@adacore.com>
++
++      * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
++      porting guide chapter (vms version).
++      Revised doc title (removed "for native platforms") and subtitle.
++      Add discussion on warning flag for obsolescent features. First we
++      note that it applies to obsolete GNAT features, which was previously
++      omitted. Second we contrast the behavior with that of the new
++      Ada 2005 AI-368 restriction No_Obsolescent_Features.
++      Preliminary rewriting of GNAT & libraries chapter in order to take
++      into account default project locations & new project manager
++      capabilities.
++
++2005-01-03  Robert Dewar  <dewar@adacore.com>
++
++      * cstand.adb (Create_Operators): Clean up format and documentation of
++      unary and binary operator result tables. No change in code, just
++      reformatting and addition of comments.
++
++      * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
++      sem_ch2.adb: Minor reformatting
++
++      * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
++      sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
++      comments for Tree_Read and Tree_Write.
++
++2005-01-03  Pascal Obry  <obry@adacore.com>
++
++      * exp_attr.ads: Minor reformatting.
++
++2005-01-03  Romain Berrendonner  <berrendo@adacore.com>
++
++      * comperr.adb (Compiler_Abort): Add specialized message for GAP
++      versions.
++
++2005-01-03  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
++      whether the ancestor type is private, as may be the case with nested
++      instantiations.
++
++
++\f
++Copyright (C) 2005 Free Software Foundation, Inc.
++
++Copying and distribution of this file, with or without modification,
++are permitted in any medium without royalty provided the copyright
++notice and this notice are preserved.
+Index: gcc/ada/ChangeLog-2006
+===================================================================
+--- gcc/ada/ChangeLog-2006     (.../tags/gcc_4_4_0_release)    (wersja 0)
++++ gcc/ada/ChangeLog-2006     (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -0,0 +1,4462 @@
++2006-12-07  Geoffrey Keating  <geoffk@apple.com>
++
++      * Makefile.in: Replace CROSS_COMPILE with CROSS_DIRECTORY_STRUCTURE.
++      * adaint.c: Likewise.
++
++2006-12-05  Aldy Hernandez  <aldyh@redhat.com>
++
++      Merge from gimple-tuples-branch:
++      2006-11-02  Aldy Hernandez  <aldyh@redhat.com>
++
++      * ada-tree.h (lang_tree_node): Handle gimple tuples.
++      * trans.c (gnat_gimplify_expr): Replace MODIFY_EXPR with
++      GIMPLE_MODIFY_STMT.
++
++2006-12-02  Kazu Hirata  <kazu@codesourcery.com>
++
++      * Makefile.in, mingw32.h, trans.c: Fix comment typos.
++      * gnat_rm.texi, gnat_ugn.texi: Follow spelling conventions.
++      Fix typos.
++
++2006-11-17  Eric Botcazou  <ebotcazou@adacore.com>
++
++      PR ada/27936
++      * trans.c (add_decl_expr): Do not dynamically elaborate padded objects
++      if the initializer takes into account the padding.
++
++2006-11-11  Richard Guenther  <rguenther@suse.de>
++
++      * trans.c (maybe_stabilize_reference): Remove handling of
++      FIX_CEIL_EXPR, FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
++
++2006-11-05  Arnaud Charlet  <charlet@adacore.com>
++
++      PR ada/29707
++      * s-osinte-linux-alpha.ads, s-osinte-linux-hppa.ads
++      (To_Target_Priority): New function.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++
++      * a-taster.adb, s-traent-vms.adb, a-elchha.ads, a-elchha.adb,
++      a-exctra.adb, ali-util.adb, exp_disp.ads, s-stalib.ads, s-traent.adb,
++      s-addope.ads, s-addope.adb, a-rbtgso.adb, a-crbltr.ads, a-coprnu.adb,
++      a-cgcaso.adb, a-cgarso.adb, a-cgaaso.adb, a-coormu.adb, a-ciormu.adb,
++      a-rbtgso.ads, a-stunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb,
++      a-secain.adb, a-slcain.adb, a-shcain.adb, a-stwiha.adb, a-stwiha.adb,
++      a-strhas.adb, a-strhas.adb, a-stzhas.adb, a-stzhas.adb, a-szuzha.adb,
++      a-chacon.adb, a-chacon.adb, a-chacon.ads, a-stboha.adb, a-swbwha.adb,
++      a-szbzha.adb: Minor reformatting. Fix header.
++
++      * a-numaux-x86.adb: Add parentheses for use of unary minus
++      * a-ngcefu.adb: Supply missing parentheses for unary minus
++      * a-ngcoty.adb: Add parens for use of unary minus
++      * a-ngelfu.adb: Add missing parens for unary minus
++      * a-tifiio.adb: Add parentheses for uses of unary minus
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++          Bob Duff  <duff@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_res.adb (Resolve_Unary_Op): Add warning for use of unary minus
++      with multiplying operator.
++      (Expected_Type_Is_Any_Real): New function to determine from the Parent
++      pointer whether the context expects "any real type".
++      (Resolve_Arithmetic_Op): Do not give an error on calls to the
++      universal_fixed "*" and "/" operators when they are used in a context
++      that expects any real type. Also set the type of the node to
++      Universal_Real in this case, because downstream processing requires it
++      (mainly static expression evaluation).
++      Reword some continuation messages
++      Add some \\ sequences to continuation messages
++      (Resolve_Call): Refine infinite recursion case. The test has been
++      sharpened to eliminate some false positives.
++      Check for Current_Task usage now includes entry barrier, and is now a
++      warning, not an error.
++      (Resolve): If the call is ambiguous, indicate whether an interpretation
++      is an inherited operation.
++      (Check_Aggr): When resolving aggregates, skip associations with a box,
++      which are priori correct, and will be replaced by an actual default
++      expression in the course of expansion.
++      (Resolve_Type_Conversion): Add missing support for conversion from
++      a class-wide interface to a tagged type. Minor code cleanup.
++      (Valid_Tagged_Converion): Add support for abstact interface type
++      conversions.
++      (Resolve_Selected_Component): Call Generate_Reference here rather than
++      during analysis, and use May_Be_Lvalue to distinguish read/write.
++      (Valid_Array_Conversion): New procedure, abstracted from
++      Valid_Conversion, to incorporate accessibility checks for arrays of
++      anonymous access types.
++      (Valid_Conversion): For a conversion to a numeric type occurring in an
++      instance or inlined body, no need to check that the operand type is
++      numeric, since this has been checked during analysis of the template.
++      Remove legacy test for scope name Unchecked_Conversion.
++
++      * sem_res.ads: Minor reformatting
++
++      * a-except.adb, a-except-2005.adb: Turn off subprogram ordering
++      (PE_Current_Task_In_Entry_Body): New exception code
++      (SE_Restriction_Violation): Removed, not used
++
++      * a-except.ads:  Update comments.
++
++      * types.h, types.ads: Add definition for Validity_Check
++      (PE_Current_Task_In_Entry_Body): New exception code
++      (SE_Restriction_Violation): Removed, not used
++
++2006-10-31  Thomas Quinot  <quinot@adacore.com>
++
++      * g-socthi-vxworks.adb (C_Gethostbyname): Fix wrong test for returned
++      error status.
++
++2006-10-31  Hristian Kirtchev  <kirtchev@adacore.com>
++          Jose Ruiz  <ruiz@adacore.com>
++
++      * a-calend-vms.adb (Leap_Sec_Ops): Temp body for package in private
++      part of Ada.Calendar: all subprogram raise Unimplemented.
++      (Split_W_Offset): Temp function body, raising Unimplemented
++
++      * a-calend.ads, a-calend-vms.ads:
++      Add imported variable Invalid_TZ_Offset used to designate targets unable
++      to support time zones.
++      (Unimplemented): Temporary function raised by the body of new
++      subprograms below.
++      (Leap_Sec_Ops): New package in the private part of Ada.Calendar. This
++      unit provides handling of leap seconds and is used by the new Ada 2005
++      packages Ada.Calendar.Arithmetic and Ada.Calendar.Formatting.
++      (Split_W_Offset): Identical spec to that of Ada.Calendar.Split. This
++      version returns an extra value which is the offset to UTC.
++
++      * a-calend.adb (Split_W_Offset): Add call to localtime_tzoff.
++      (Leap_Sec_Ops): New body for package in private part of Ada.Calendar.
++      (Split_W_Offset): New function body.
++      (Time_Of): When a date is close to UNIX epoch, compute the time for
++      that date plus one day (that amount is later substracted after
++      executing mktime) so there are no problems with time zone adjustments.
++
++      * a-calend-mingw.adb: Remove Windows specific version no longer needed.
++
++      * a-calari.ads, a-calari.adb, a-calfor.ads, a-calfor.adb,
++      a-catizo.ads, a-catizo.adb: New files.
++
++      * impunit.adb: Add new Ada 2005 entries
++
++      * sysdep.c: Add external variable __gnat_invalid_tz_offset.
++      Rename all occurences of "__gnat_localtime_r" to
++      "__gnat_localtime_tzoff".
++      (__gnat_localtime_tzoff for Windows): Add logic to retrieve the time
++      zone data and calculate the GMT offset.
++      (__gnat_localtime_tzoff for Darwin, Free BSD, Linux, Lynx and Tru64):
++      Use the field "tm_gmtoff" to extract the GMT offset.
++      (__gnat_localtime_tzoff for AIX, HPUX, SGI Irix and Sun Solaris): Use
++      the external variable "timezone" to calculate the GMT offset.
++
++2006-10-31  Arnaud Charlet  <charlet@adacore.com>
++          Jose Ruiz  <ruiz@adacore.com>
++
++      * s-osinte-posix.adb, s-osinte-linux.ads, s-osinte-freebsd.adb,
++      s-osinte-freebsd.ads, s-osinte-solaris-posix.ads, s-osinte-hpux.ads,
++      s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-lynxos-3.ads,
++      s-osinte-lynxos-3.adb (To_Target_Priority): New function maps from
++      System.Any_Priority to a POSIX priority on the target.
++
++      * system-linux-ia64.ads:
++      Extend range of Priority types on Linux to use the whole range made
++      available by the system.
++
++      * s-osinte-aix.adb, s-osinte-aix.ads (To_Target_Priority): New
++      function maps from System.Any_Priority to a POSIX priority on the
++      target.
++      (PTHREAD_PRIO_PROTECT): Set real value.
++      (PTHREAD_PRIO_INHERIT): Now a function.
++      (SIGCPUFAIL): New signal.
++      (Reserved): Add SIGALRM1, SIGWAITING, SIGCPUFAIL, since these signals
++      are documented as reserved by the OS.
++
++      * system-aix.ads: Use the full range of priorities provided by the
++      system on AIX.
++
++      * s-taprop-posix.adb: Call new function To_Target_Priority.
++      (Set_Priority): Take into account Task_Dispatching_Policy and
++      Priority_Specific_Dispatching pragmas when determining if Round Robin
++      must be used for scheduling the task.
++
++      * system-linux-x86_64.ads, system-linux-x86.ads,
++      system-linux-ppc.ads: Extend range of Priority types on Linux to use
++      the whole range made available by the system.
++
++      * s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-irix.adb,
++      s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-hpux-dce.adb,
++      s-taprop-lynxos.adb (Finalize_TCB): invalidate the stack-check cache
++      when deallocating the TCB in order to avoid potential references to
++      deallocated data.
++      (Set_Priority): Take into account Task_Dispatching_Policy and
++      Priority_Specific_Dispatching pragmas when determining if Round Robin
++      or FIFO within priorities must be used for scheduling the task.
++
++      * s-taprop-vxworks.adb (Enter_Task): Store the user-level task id in
++      the Thread field (to be used internally by the run-time system) and the
++      kernel-level task id in the LWP field (to be used by the debugger).
++      (Create_Task): Reorganize to unify the calls to taskSpawn into a single
++      instance, and propagate the current task options to the spawned task.
++      (Set_Priority): Take into account Priority_Specific_Dispatching pragmas.
++      (Initialize): Set Round Robin dispatching when the corresponding pragma
++      is in effect.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++
++      * system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
++      system-linux-hppa.ads, system-hpux-ia64.ads,
++      system-lynxos-ppc.ads, system-lynxos-x86.ads, system-tru64.ads,
++      system-vxworks-sparcv9.ads, system-solaris-x86.ads,
++      system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
++      system-vxworks-m68k.ads, system-vxworks-mips.ads, system-interix.ads,
++      system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
++      system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
++      system-vxworks-alpha.ads, system.ads: Add pragma Warnings(Off,
++      Default_Bit_Order) to kill constant condition warnings for references
++      to this switch.
++
++2006-10-31  Vincent Celier  <celier@adacore.com>
++          Eric Botcazou  <ebotcazou@adacore.com>
++
++      * mlib-tgt-lynxos.adb, mlib-tgt-mingw.adb, mlib-tgt-tru64.adb,
++      mlib-tgt-aix.adb, mlib-tgt-irix.adb, mlib-tgt-hpux.adb,
++      mlib-tgt-linux.adb, mlib-tgt-solaris.adb: Use Append_To, instead of
++      Ext_To, when building the library file name
++
++      * mlib-tgt-vxworks.adb: ditto.
++      (Get_Target_Suffix): Add support for x86 targets.
++
++      * mlib-fil.ads, mlib-fil.adb: (Append_To): New function
++
++      * mlib-tgt-darwin.adb:
++      Use Append_To, instead of Ext_To, when building the library file name
++      (Flat_Namespace): New global variable.
++      (No_Shared_Libgcc_Switch): Rename to No_Shared_Libgcc_Options.
++      (Shared_Libgcc_Switch): Rename to With_Shared_Libgcc_Options.
++      (Link_Shared_Libgcc): Delete.
++      (Build_Dynamic_Library): Adjust for above changes.
++      Use Opt package.
++      (Build_Dynamic_Library): Pass -shared-libgcc if GCC 4 or later.
++
++2006-10-31  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * s-taprop-solaris.adb: (Time_Slice_Val): Change type to Integer.
++      (Initialize): Add type conversions required by above change.
++
++2006-10-31  Jose Ruiz  <ruiz@adacore.com>
++
++      * s-osinte-vxworks.ads, s-osinte-vxworks.adb:
++      (getpid): New body for this function that uses the underlying taskIdSelf
++      function for VxWorks 5 and VxWorks 6 in kernel mode.
++      (unsigned_int): New type, modular to allow logical bit operations.
++      (taskOptionsGet): New imported function.
++
++      * s-taspri-vxworks.ads (Private_Data): Change the type for the LWP
++      field to be compliant with the type used by the corresponding operating
++      system primitive.
++
++2006-10-31  Pascal Obry  <obry@adacore.com>
++          Eric Botcazou  <ebotcazou@adacore.com>
++          Vincent Celier  <celier@adacore.com>
++
++      * adaint.c (__gnat_get_libraries_from_registry): Call explicitly the
++      ASCII version of the registry API. This is needed as the GNAT runtime
++      is now UNICODE by default.
++      Include version.h.
++      (get_gcc_version): Do not hardcode the return value.
++      (__gnat_file_time_name): On Windows properly set the default returned
++      value to -1 which corresponds to Invalid_Time.
++      (__gnat_fopen): New routine. A simple wrapper on all plateforms
++       except on Windows where it does conversion for unicode support.
++      (__gnat_freopen): Idem.
++      (__gnat_locate_exec_on_path): If environment variable PATH does not
++      exist, return a NULL pointer
++
++      * adaint.h: (__gnat_fopen): Declare.
++      (__gnat_freopen): Likewise.
++
++      * mingw32.h (_tfreopen): Define this macro here for older MingW
++      version.
++      Activate the unicode support on platforms using a MingW runtime
++      version 3.9 or newer.
++
++      * s-crtl.ads (fopen): Is now an import to the wrapper __gnat_freopen.
++      This is needed for proper unicode support on Windows.
++      (freopen): Idem.
++
++2006-10-31  Eric Botcazou  <ebotcazou@adacore.com>
++          Nicolas Setton  <setton@adacore.com>
++          Olivier Hainque  <hainque@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * gigi.h: (tree_code_for_record_type): Declare.
++      (add_global_renaming_pointer): Rename to record_global_renaming_pointer.
++      (get_global_renaming_pointers): Rename to
++      invalidate_global_renaming_pointers.
++      (static_ctors): Delete.
++      (static_dtors): Likewise.
++      (gnat_write_global_declarations): Declare.
++      (create_var_decl): Adjust descriptive comment to indicate that the
++      subprogram may return a CONST_DECL node.
++      (create_true_var_decl): Declare new function, similar to
++      create_var_decl but forcing the creation of a VAR_DECL node.
++      (get_global_renaming_pointers): Declare.
++      (add_global_renaming_pointer): Likewise.
++
++      * ada-tree.h (DECL_READONLY_ONCE_ELAB): New macro.
++
++      * decl.c (gnat_to_gnu_entity) <case E_Function>: Don't copy the type
++      tree before setting TREE_ADDRESSABLE for by-reference return mechanism
++      processing.
++      (gnat_to_gnu_entity): Remove From_With_Type from computation for
++      imported_p.
++      <E_Access_Type>: Use the Non_Limited_View as the full view of the
++      designated type if the pointer comes from a limited_with clause.  Make
++      incomplete designated type if it is in the main unit and has a freeze
++      node.
++      <E_Incomplete_Type>: Rework to treat Non_Limited_View, Full_View, and
++      Underlying_Full_View similarly.  Return earlier if the full view already
++      has an associated tree.
++      (gnat_to_gnu_entity) <E_Record_Type>: Restore comment.
++      (gnat_to_gnu_entity) <E_Record_Type>: Do not use a dummy type.
++      (gnat_to_gnu_entity) <E_Variable>: Set TYPE_REF_CAN_ALIAS_ALL on the
++      reference type built for objects with an address clause.
++      Use create_true_var_decl with const_flag set for
++      DECL_CONST_CORRESPONDING_VARs, ensuring a VAR_DECL is created with
++      TREE_READONLY set.
++      (gnat_to_gnu_entity, case E_Enumeration_Type): Set TYPE_NAME
++      for Character and Wide_Character types. This info is read by the
++      dwarf-2 writer, and is needed to be able to use the command "ptype
++      character" in the debugger.
++      (gnat_to_gnu_entity): When generating a type representing
++      a Character or Wide_Character type, set the flag TYPE_STRING_FLAG,
++      so that debug writers can distinguish it from ordinary integers.
++      (elaborate_expression_1): Test the DECL_READONLY_ONCE_ELAB flag in
++      addition to TREE_READONLY to assert the constantness of variables for
++      elaboration purposes.
++      (gnat_to_gnu_entity, subprogram cases): Change loops on formal
++      parameters to call new Einfo function First_Formal_With_Extras.
++      (gnat_to_gnu_entity): In type_annotate mode, replace a discriminant of a
++      protected type with its corresponding discriminant, to obtain a usable
++      declaration
++      (gnat_to_gnu_entity) <E_Access_Protected_Subprogram_Type>: Be prepared
++      for a multiple elaboration of the "equivalent" type.
++      (gnat_to_gnu_entity): Adjust for renaming of add_global_renaming_pointer
++      into record_global_renaming_pointer.
++      (gnat_to_gnu_entity) <E_Array_Type>: Do not force
++      TYPE_NONALIASED_COMPONENT to 0 if the element type is an aggregate.
++      <E_Array_Subtype>: Likewise.
++      (gnat_to_gnu_entity) <E_Incomplete_Subtype>: Add support for regular
++      incomplete subtypes and incomplete subtypes of incomplete types visible
++      through a limited with clause.
++      (gnat_to_gnu_entity) <E_Array_Subtype>: Take into account the bounds of
++      the base index type for the maximum size of the array only if they are
++      constant.
++      (gnat_to_gnu_entity, renaming object case): Do not wrap up the
++      expression into a SAVE_EXPR if stabilization failed.
++
++      * utils.c (create_subprog_decl): Turn TREE_ADDRESSABLE on the type of
++      a result decl into DECL_BY_REFERENCE on this decl, now what is expected
++      by lower level compilation passes.
++      (gnat_genericize): New function, lowering a function body to GENERIC.
++      Turn the type of RESULT_DECL into a real reference type if the decl
++      has been marked DECL_BY_REFERENCE, and adjust references to the latter
++      accordingly.
++      (gnat_genericize_r): New function. Tree walking callback for
++      gnat_genericize.
++      (convert_from_reference, is_byref_result): New functions. Helpers for
++      gnat_genericize_r.
++      (create_type_decl): Call gnat_pushdecl before calling
++      rest_of_decl_compilation, to make sure that field TYPE_NAME of
++      type_decl is properly set before calling the debug information writers.
++      (write_record_type_debug_info): The heuristics which compute the
++      alignment of a field in a variant record might not be accurate. Add a
++      safety test to make sure no alignment is set to a smaller value than
++      the alignment of the field type.
++      (make_dummy_type): Use the Non_Limited_View as the underlying type if
++      the type comes from a limited_with clause. Do not loop on the full view.
++      (GET_GNU_TREE, SET_GNU_TREE, PRESENT_GNU_TREE): New macros.
++      (dummy_node_table): New global variable, moved from decl.c.
++      (GET_DUMMY_NODE, SET_DUMMY_NODE, PRESENT_DUMMY_NODE): New macros.
++      (save_gnu_tree): Use above macros.
++      (get_gnu_tree): Likewise.
++      (present_gnu_tree): Likewise.
++      (init_dummy_type): New function, moved from decl.c. Use above macros.
++      (make_dummy_type): Likewise.
++      (tree_code_for_record_type): New function extracted from make_dummy_type
++      (init_gigi_decls): Set DECL_IS_MALLOC on gnat_malloc.
++      (static_ctors): Change it to a vector, make static.
++      (static_dtors): Likewise.
++      (end_subprog_body): Adjust for above change.
++      (build_global_cdtor): Moved from trans.c.
++      (gnat_write_global_declarations): Emit global constructor and
++      destructor, and call cgraph_optimize before emitting debug info for
++      global declarations.
++      (global_decls): New global variable.
++      (gnat_pushdecl): Store the global declarations in global_decls, for
++      later use.
++      (gnat_write_global_declarations): Emit debug information for global
++       declarations.
++      (create_var_decl_1): Former create_var_decl, with an extra argument to
++       state whether the creation of a CONST_DECL is allowed.
++      (create_var_decl): Behavior unchanged. Now a wrapper around
++      create_var_decl_1 allowing CONST_DECL creation.
++      (create_true_var_decl): New function, similar to create_var_decl but
++      forcing the creation of a VAR_DECL node (CONST_DECL not allowed).
++      (create_field_decl): Do not always mark the field as addressable
++      if its type is an aggregate.
++      (global_renaming_pointers): New static variable.
++      (add_global_renaming_pointer): New function.
++      (get_global_renaming_pointers): Likewise.
++
++      * misc.c (gnat_dwarf_name): New function.
++      (LANG_HOOKS_DWARF_NAME): Define to gnat_dwarf_name.
++      (gnat_post_options): Add comment about structural alias analysis.
++      (gnat_parse_file): Do not call cgraph_optimize here.
++      (LANG_HOOKS_WRITE_GLOBALS): Define to gnat_write_global_declarations.
++
++      * trans.c (process_freeze_entity): Don't abort if we already have a
++      non dummy GCC tree for a Concurrent_Record_Type, as it might
++      legitimately have been elaborated while processing the associated
++      Concurrent_Type prior to this explicit freeze node.
++      (Identifier_to_gnu): Do not make a variable referenced in a SJLJ
++      exception handler volatile if it is of variable size.
++      (process_type): Remove bypass for types coming from a limited_with
++      clause.
++      (call_to_gnu): When processing the copy-out of a N_Type_Conversion GNAT
++      actual, convert the corresponding gnu_actual to the real destination
++      type when necessary.
++      (add_decl_expr): Set the DECL_READONLY_ONCE_ELAB flag on variables
++      originally TREE_READONLY but whose elaboration cannot be performed
++      statically.
++      Part of fix for F504-021.
++      (tree_transform, subprogram cases): Change loops on formal parameters to
++      call new Einfo function First_Formal_With_Extras.
++      (gnat_to_gnu) <N_Op_Shift_Right_Arithmetic>: Ignore constant overflow
++      stemming from type conversion for the lhs.
++      (Attribute_to_gnu) <Attr_Alignment>: Also divide the alignment by the
++      number of bits per unit for components of records.
++      (gnat_to_gnu) <N_Code_Statement>: Mark operands addressable if needed.
++      (Handled_Sequence_Of_Statements_to_gnu): Register the cleanup associated
++      with At_End_Proc after the SJLJ EH cleanup.
++      (Compilation_Unit_to_gnu): Call elaborate_all_entities only on the main
++      compilation unit.
++      (elaborate_all_entities): Do not retest type_annotate_only.
++      (tree_transform) <N_Abstract_Subprogram_Declaration>: Process the
++      result type of an abstract subprogram, which may be an itype associated
++      with an anonymous access result (related to AI-318-02).
++      (build_global_cdtor): Move to utils.c.
++      (Case_Statement_to_gnu): Avoid adding the choice of a when statement if
++      this choice is not a null tree nor an integer constant.
++      (gigi): Run unshare_save_expr via walk_tree_without_duplicates
++      on the body of elaboration routines instead of mark_unvisited.
++      (add_stmt): Do not mark the tree.
++      (add_decl_expr): Tweak comment.
++      (mark_unvisited): Delete.
++      (unshare_save_expr): New static function.
++      (call_to_gnu): Issue an error when making a temporary around a
++      procedure call because of non-addressable actual parameter if the
++      type of the formal is by_reference.
++      (Compilation_Unit_to_gnu): Invalidate the global renaming pointers
++      after building the elaboration routine.
++
++2006-10-31  Bob Duff  <duff@adacore.com>
++
++      * a-filico.adb (Finalize(List_Controller)): Mark the finalization list
++      as finalization-started, so we can raise Program_Error on 'new'.
++
++      * s-finimp.adb: Raise Program_Error on 'new' if finalization of the
++      collection has already started.
++
++      * s-finimp.ads (Collection_Finalization_Started): Added new special
++      flag value for indicating that a collection's finalization has started.
++
++      * s-tassta.adb (Create_Task): Raise Program_Error on an attempt to
++      create a task whose master has already waited for dependent tasks.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++
++      * lib.adb, lib.ads: (In_Predefined_Unit): New functions
++
++      * a-finali.ads, a-ngcoty.ads, a-strbou.ads, a-stream.ads, a-strmap.ads,
++      a-strunb.ads, a-stwibo.ads, a-stwima.ads, a-stwiun.ads, a-taside.ads,
++      a-coorse.ads, a-convec.ads, a-coinve.ads, a-cohama.ads, a-ciorse.ads,
++      a-cihama.ads, a-cihase.ads, a-cohase.ads, a-ciorma.ads, a-coorma.ads,
++      a-ciormu.ads, a-coormu.ads, a-stzbou.ads, a-stzmap.ads, a-stzunb.ads,
++      a-except-2005.ads: Add pragma Preelaborable_Warning
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++          Jose Ruiz  <ruiz@adacore.com>
++
++      * a-dispat.ads, a-dispat.adb, a-diroro.ads, a-diroro.adb: New files.
++
++      * ali.adb (Get_Name): Properly handle scanning of wide character names
++      encoded with brackets notation.
++      (Known_ALI_Lines): Add S lines to this list.
++      (Scan_ALI): Acquire S (priority specific dispatching) lines.
++      New flag Elaborate_All_Desirable in unit table
++
++      * ali.ads (Priority_Specific_Dispatching): Add this range of
++      identifiers to be used for Priority_Specific_Dispatching table entries.
++      (ALIs_Record): Add First_Specific_Dispatching and
++      Last_Specific_Dispatching that point to the first and last entries
++      respectively in the priority specific dispatching table for this unit.
++      (Specific_Dispatching): Add this table for storing each S (priority
++      specific dispatching) line encountered in the input ALI file.
++      New flag Elaborate_All_Desirable in unit table
++
++      * bcheck.adb: (Check_Configuration_Consistency): Add call to
++      Check_Consistent_Dispatching_Policy.
++      (Check_Consistent_Dispatching_Policy): Add this procedure in charge of
++      verifying that the use of Priority_Specific_Dispatching,
++      Task_Dispatching_Policy, and Locking_Policy is consistent across the
++      partition.
++
++      * bindgen.adb: (Public_Version_Warning): function removed.
++      (Set_PSD_Pragma_Table): Add this procedure in charge of getting the
++      required information from ALI files in order to initialize the table
++      containing the specific dispatching policy.
++      (Gen_Adainit_Ada): Generate the variables required for priority specific
++      dispatching entries (__gl_priority_specific_dispatching and
++      __gl_num_specific_dispatching).
++      (Gen_Adainit_C): Generate the variables required for priority specific
++      dispatching entries (__gl_priority_specific_dispatching and
++      __gl_num_specific_dispatching).
++      (Gen_Output_File): Acquire settings for Priority_Specific_Dispatching
++      pragma entries.
++      (Gen_Restrictions_String_1, Gen_Restrictions_String_2): Removed.
++      (Gen_Restrictions_Ada, Gen_Restrictions_C, Set_Boolean): New procedures.
++      (Tab_To): Removed.
++      (Gen_Output_File_Ada/_C): Set directly __gl_xxx variables instead of
++      a call to gnat_set_globals.
++      Generate a string containing settings from
++      Priority_Specific_Dispatching pragma entries.
++      (Gen_Object_Files_Options): Do not include the runtime libraries when
++      pragma No_Run_Time is specified.
++
++      * init.c (__gnat_install_handler, case FreeBSD): Use SA_SIGINFO, for
++      consistency with s-intman-posix.adb.
++      (__gnat_error_handler, case FreeBSD): Account for the fact that the
++      handler is installed with SA_SIGINFO.
++      (__gnat_adjust_context_for_raise, FreeBSD case): New function for
++      FreeBSD ZCX support, copied from Linux version.
++      Add MaRTE-specific definitions for the linux target. Redefine sigaction,
++      sigfillset, and sigemptyset so the routines defined by MaRTE.
++      (__gl_priority_specific_dispatching): Add this variable that stores the
++      string containing priority specific dispatching policies in the
++      partition.
++      (__gl_num_specific_dispatching): Add this variable that indicates the
++      highest priority for which a priority specific dispatching pragma
++      applies.
++      (__gnat_get_specific_dispatching): Add this routine that returns the
++      priority specific dispatching policy, as set by a
++      Priority_Specific_Dispatching pragma appearing anywhere in the current
++      partition. The input argument is the priority number, and the result
++      is the upper case first character of the policy name.
++      (__gnat_set_globals): Now a dummy function.
++      (__gnat_handle_vms_condition): Feed adjust_context_for_raise with
++      mechargs instead of sigargs, as the latter can be retrieved from the
++      former and sigargs is not what we want on ia64.
++      (__gnat_adjust_context_for_raise, alpha-vms): Fetch sigargs from the
++      mechargs argument.
++      (__gnat_adjust_context_for_raise, ia64-vms): New function.
++      (tasking_error): Remove unused symbol.
++      (_abort_signal): Move this symbol to the IRIX specific part since this
++      is the only target that uses this definition.
++      (Check_Abort_Status): Move this symbol to the IRIX specific part since
++      this is the only target that uses this definition.
++      (Lock_Task): Remove unused symbol.
++      (Unlock_Task): Remove unused symbol.
++
++      * lib-writ.adb (Write_ALI): Output new S lines for
++      Priority_Specific_Dispatching pragmas.
++      Implement new flag BD for elaborate body desirable
++
++      * lib-writ.ads: Document S lines for Priority Specific Dispatching.
++      (Specific_Dispatching): Add this table for storing the entries
++      corresponding to Priority_Specific_Dispatching pragmas.
++      Document new BD flag for elaborate body desirable
++
++      * par-prag.adb (Prag): Add Priority_Specific_Dispatching to the list
++      of known pragmas.
++
++2006-10-31  Javier Miranda  <miranda@adacore.com>
++
++      * a-tags.ads, a-tags.adb:
++      (Predefined_DT): New function that improves readability of the code.
++      (Get_Predefined_Prim_Op_Address, Set_Predefined_Prim_Op_Address,
++      Inherit_DT): Use the new function Predefined_DT to improve code
++      readability.
++      (Register_Interface_Tag): Update assertion.
++      (Set_Interface_Table): Update assertion.
++      (Interface_Ancestor_Tags): New subprogram required to implement AI-405:
++      determining progenitor interfaces in Tags.
++      (Inherit_CPP_DT): New subprogram.
++
++      * exp_disp.adb (Expand_Interface_Thunk): Suppress checks during the
++      analysis of the thunk code.
++      (Expand_Interface_Conversion): Handle run-time conversion of
++      access to class wide types.
++      (Expand_Dispatching_Call): When generating the profile for the
++      subprogram itype for a dispatching operation, properly terminate the
++      formal parameters chaind list (set the Next_Entity of the last formal
++      to Empty).
++      (Collect_All_Interfaces): Removed. This routine has been moved to
++      sem_util and renamed as Collect_All_Abstract_Interfaces.
++      (Set_All_DT_Position): Hidden entities associated with abstract
++      interface primitives are not taken into account in the check for
++      3.9.3(10); this check is done with the aliased entity.
++      (Make_DT, Set_All_DT_Position): Enable full ABI compatibility for
++      interfacing with CPP by default.
++      (Expand_Interface_Conversion): Add missing support for static conversion
++      from an interface to a tagged type.
++      (Collect_All_Interfaces): Add new out formal containing the list of
++      abstract interface types to cleanup the subprogram Make_DT.
++      (Make_DT): Update the code to generate the table of interfaces in case
++      of abstract interface types.
++      (Is_Predefined_Dispatching_Alias): New function that returns true if
++      a primitive is not a predefined dispatching primitive but it is an
++      alias of a predefined dispatching primitive.
++      (Make_DT): If the ancestor of the type is a CPP_Class and we are
++      compiling under full ABI compatibility mode we avoid the generation of
++      calls to run-time services that fill the dispatch tables because under
++      this mode we currently inherit the dispatch tables in the IP subprogram.
++      (Write_DT): Emit an "is null" indication for a null procedure primitive.
++      (Expand_Interface_Conversion): Use an address as the type of the formal
++      of the internally built function that handles the case in which the
++      target type is an access type.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++
++      * binde.adb (Better_Choice, Worse_Choice): Implement new preferences.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++
++      * bindusg.ads, bindusg.adb:
++      Change to package and rename procedure as Display, which
++      now ensures that it only outputs usage information once.
++
++2006-10-31  Jose Ruiz  <ruiz@adacore.com>
++
++      * cal.c: Use the header sys/time.h for VxWorks 6.2 or greater when
++      using RTPs.
++
++      * mkdir.c: Use a different version of mkdir for VxWorks 6.2 or greater
++      when using RTPs.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * treepr.adb: Use new subtype N_Membership_Test
++
++      * checks.ads, checks.adb: Add definition for Validity_Check
++      (Range_Or_Validity_Checks_Suppressed): New function
++      (Ensure_Valid): Test Validity_Check suppressed
++      (Insert_Valid_Check): Test Validity_Check suppressed
++      (Insert_Valid_Check): Preserve Do_Range_Check flag
++      (Validity_Check_Range): New procedure
++      (Expr_Known_Valid): Result of membership test is always valid
++      (Selected_Range_Checks): Range checks cannot be applied to discriminants
++      by themselves. Disabling those checks must also be done for task types,
++      where discriminants may be used for the bounds of entry families.
++      (Apply_Address_Clause_Check): Remove side-effects if address expression
++      is non-static and is not the name of a declared constant.
++      (Null_Exclusion_Static_Checks): Extend to handle Function_Specification.
++      Code cleanup and new error messages.
++      (Enable_Range_Check): Test for some cases of suppressed checks
++      (Generate_Index_Checks): Suppress index checks if index checks are
++      suppressed for array object or array type.
++      (Apply_Selected_Length_Checks): Give warning for compile-time detected
++      length check failure, even if checks are off.
++      (Ensure_Valid): Do not generate a check on an indexed component whose
++      prefix is a packed boolean array.
++      * checks.adb: (Alignment_Checks_Suppressed): New function
++      (Apply_Address_Clause_Check): New procedure, this is a completely
++      rewritten replacement for Apply_Alignment_Check
++      (Get_E_Length/Get_E_First_Or_Last): Add missing barrier to ensure that
++      we request a discriminal value only in case of discriminants.
++      (Apply_Discriminant_Check): For Ada_05, only call Get_Actual_Subtype for
++      assignments where the target subtype is unconstrained and the target
++      object is a parameter or dereference (other aliased cases are known
++      to be unconstrained).
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++
++      * clean.adb, gnatname.adb, gnatsym.adb, prep.adb, prep.ads,
++      prepcomp.adb, prj.ads, prj-strt.adb, sem_maps.ads,
++      vms_conv.adb: Fix bad table increment values (much too small)
++
++      * table.adb (Realloc): Make sure we get at least some new elements
++      Defends against silly small values for table increment
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Bob Duff  <duff@adacore.com>
++
++      * einfo.ads, einfo.adb (Obsolescent_Warning): Now defined on all
++      entities. Move other fields around to make this possible
++      (Is_Derived_Type): Add missing call to Is_Type.
++      (Extra_Formals): New function for subprograms, entries, subprogram
++      types.
++      (Set_Extra_Formals): New procedure for subprograms, entries, subp types.
++      (First_Formal_With_Extras): New function for subprogs, entries, subp
++      types.
++      (Write_Field28_Name): New procedure for node display of "Extra_Formals".
++      Add node information for E_Return_Statement.
++      (Elaborate_Body_Desirable): New flag
++      (Is_Return_By_Reference_Type): Rename Is_Return_By_Reference_Type
++      to be Is_Inherently_Limited_Type, because return-by-reference has
++      no meaning in Ada 2005.
++      (E_Return_Statement): New entity kind.
++      (Return_Applies_To): Field of E_Return_Statement.
++      (Is_Return_Object): New flag in object entities.
++      (Is_Dynamic_Scope): Make it True for E_Return_Statement.
++      (Must_Have_Preelab_Init): New flag
++      (Known_To_Have_Preelab_Init): New flag
++      (Is_Formal_Object): Move from Sem_Ch8 body to Einfo
++      (Is_Visible_Formal): New flag on entities in formal packages.
++      (Low_Bound_Known): New flag
++      (Non_Limited_View, Set_Non_Limited_View): Add membership test agains
++      Incomplete_Kind.
++      (Write_Field17_Name): Correct spelling of Non_Limited_View. Add name
++      output when Id is an incomplete subtype.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++
++      * errout.ads, errout.adb (Finalize): Implement switch -gnatd.m
++      Avoid abbreviation Creat
++      (Finalize): List all sources in extended mail source if -gnatl
++      switch is active.
++      Suppress copyright notice to file in -gnatl=f mode if -gnatd7 set
++      (Finalize): Implement new -gnatl=xxx switch to output listing to file
++      (Set_Specific_Warning_On): New procedure
++      (Set_Specific_Warning_Off): New procedure
++      Add implementation of new insertion \\
++      (Error_Msg_Internal): Add handling for Error_Msg_Line_Length
++      (Unwind_Internal_Type): Improve report on anonymous access_to_subprogram
++      types.
++      (Error_Msg_Internal): Make sure that we set Last_Killed to
++      True when a message from another package is suppressed.
++      Implement insertion character ~ (insert string)
++      (First_Node): Minor adjustments to get better placement.
++
++      * frontend.adb:
++      Implement new -gnatl=xxx switch to output listing to file
++
++      * gnat1drv.adb:
++      Implement new -gnatl=xxx switch to output listing to file
++
++      * opt.ads: (Warn_On_Questionable_Missing_Paren): New switch
++      (Commands_To_Stdout): New flag
++      Implement new -gnatl=xxx switch to output listing to file
++      New switch Dump_Source_Text
++      (Warn_On_Deleted_Code): New warning flag for -gnatwt
++      Define Error_Msg_Line_Length
++      (Warn_On_Assumed_Low_Bound): New switch
++
++      * osint.ads, osint.adb
++      (Normalize_Directory_Name): Fix bug.
++      Implement new -gnatl=xxx switch to output listing to file
++      (Concat): Removed, replaced by real concatenation
++      Make use of concatenation now allowed in compiler
++      (Executable_Prefix.Get_Install_Dir): First get the full path, so that
++      we find the 'lib' or 'bin' directory even when the tool has been
++      invoked with a relative path.
++      (Executable_Name): New function taking string parameters.
++
++      * osint-c.ads, osint-c.adb:
++      Implement new -gnatl=xxx switch to output listing to file
++
++      * sinput-d.adb: Change name Creat_Debug_File to Create_Debug_File
++
++      * switch-c.adb:
++      Implement new -gnatl=xxx switch to output listing to file
++      Recognize new -gnatL switch
++      (no longer keep in old warning about old style usage)
++      Use concatenation to simplify code
++      Recognize -gnatjnn switch
++      (Scan_Front_End_Switches): Clean up handling of -gnatW
++      (Scan_Front_End_Switches): Include Warn_On_Assumed_Low_Bound for -gnatg
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++
++      * erroutc.ads, erroutc.adb (Set_Specific_Warning_On): New procedure
++      (Set_Specific_Warning_Off): New procedure
++      (Warning_Specifically_Suppressed): New function
++      (Validate_Specific_Warnings): New procedure
++      (Output_Msg_Text): Complete rewrite to support -gnatjnn
++
++      * err_vars.ads: Implement insertion character ~ (insert string)
++
++2006-10-31  Bob Duff  <duff@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_aggr.adb (Build_Record_Aggr_Code): For extension aggregates, if
++      the parent part is a build-in-place function call, generate assignments.
++      (Expand_Record_Aggregate): Call Convert_To_Assignments if any components
++      are build-in-place function calls.
++      (Replace_Self_Reference): New subsidiary of
++      Make_OK_Assignment_Statement, to replace an access attribute that is a
++      self-reference into an access to the appropriate component of the
++      target object. Generalizes previous mechanism to handle self-references
++      nested at any level.
++      (Is_Self_Referential_Init): Remove, not needed.
++      (Is_Self_Referential_Init): New predicate to simplify handling of self
++      referential components in record aggregates.
++      (Has_Default_Init_Comps, Make_OK_Assignment_Statement): Add guard to
++      check for presence of entity before checking for self-reference.
++      (Has_Default_Init_Comps): Return True if a component association is a
++      self-reference to the enclosing type, which can only come from a
++      default initialization.
++      (Make_OK_Assignment_Statement): If the expression is of the form
++      Typ'Acc, where Acc is an access attribute, the expression comes from a
++      default initialized self-referential component.
++      (Build_Record_Aggr_Code): If the type of the aggregate is a tagged type
++      that has been derived from several abstract interfaces we must also
++      initialize the tags of the secondary dispatch tables.
++
++2006-10-31  Ed Schonberg  <schonberg@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * exp_attr.adb:
++      (Expand_Access_To_Protected_Op): If the context indicates that an access
++      to a local operation may be transfered outside of the object, create an
++      access to the wrapper operation that must be used in an external call.
++      (Expand_N_Attribute_Reference, case Attribute_Valid): For the AAMP
++      target, pass the Valid attribute applied to a floating-point prefix on
++      to the back end without expansion.
++      (Storage_Size): Use the new run-time function Storage_Size to retrieve
++      the allocated storage when it is specified by a per-object expression.
++      (Expand_N_Attribute_Reference): Add case for Attribute_Stub_Type.
++      Nothing to do here, the attribute has been rewritten during semantic
++      analysis.
++      (Expand_Attribute_Reference): Handle expansion of the new Priority
++      attribute
++      (Find_Fat_Info): Handle case of universal real
++      (Expand_Access_To_Protected_Op): Fix use of access to protected
++      subprogram from inside the body of a protected entry.
++      (Expand_Access_To_Protected_Op): Common procedure for the expansion of
++      'Access and 'Unrestricted_Access, to transform the attribute reference
++      into a fat pointer.
++      (Is_Constrained_Aliased_View): New predicate to help determine whether a
++      subcomponent's enclosing variable is aliased with a constrained subtype.
++      (Expand_N_Attribute_Reference, case Attribute_Constrained): For Ada_05,
++      test Is_Constrained_Aliased_View rather than Is_Aliased_View, because
++      an aliased prefix must be known to be constrained in order to use True
++      for the attribute value, and now it's possible for some aliased views
++      to be unconstrained.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++
++      * exp_ch2.adb: Change Is_Lvalue to May_Be_Lvalue
++      (Expand_Entity_Reference): Correct error of not handling subprogram
++      formals in current_value processing.
++
++2006-10-31  Javier Miranda  <miranda@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * exp_ch3.ads, exp_ch3.adb (Expand_N_Object_Declaration): Do not
++      register in the final list objects containing class-wide interfaces;
++      otherwise we incorrectly register the tag of the interface in the final
++      list.
++      (Make_Controlling_Function_Wrappers): Add missing barrier to do not
++      generate the wrapper if the parent primitive is abstract. This is
++      required to report the correct error message.
++      (Expand_N_Subtype_Indication): Do validity checks on range
++      (Clean_Task_Names): If an initialization procedure includes a call to
++      initialize a task (sub)component, indicate that the procedure will use
++      the secondary stack.
++      (Build_Init_Procedure, Init_Secondary_Tags): Enable full ABI
++      compatibility for interfacing with CPP by default.
++      (Expand_N_Object_Declaration): Only build an Adjust call when the
++      object's type is a nonlimited controlled type.
++      * exp_ch3.adb: Add with and use of Exp_Ch6.
++      (Expand_N_Object_Declaration): Check for object initialization that is a
++      call to build-in-place function and apply Make_Build_In_Place_Call_In_
++      Object_Declaration to the call.
++      (Freeze_Type): When the designated type of an RACW was not frozen at the
++      point where the RACW was declared, validate the primitive operations
++      with respect to E.2.2(14) when it finally is frozen.
++      (Build_Initialization_Call,Expand_Record_Controller): Rename
++      Is_Return_By_Reference_Type to be Is_Inherently_Limited_Type, because
++      return-by-reference has no meaning in Ada 2005.
++      (Init_Secondary_Tags): Add missing call to Set_Offset_To_Top
++      to register tag of the immediate ancestor interfaces in the
++      run-time structure.
++      (Init_Secondary_Tags): Moved to the specification to allow the
++      initialization of extension aggregates with abstract interfaces.
++      (Build_Master_Renaming): Make public, for use by function declarations
++      whose return type is an anonymous access type.
++      (Freeze_Record_Type): Replace call to Insert_List_Before by call to
++      Insert_List_Before_And_Analyze after the generation of the specs
++      associated with null procedures.
++      (Expand_Tagged_Root): Update documentation in its specification.
++      (Init_Secondary_Tags): Update documentation.
++      (Build_Init_Procedure): If we are compiling under CPP full ABI compa-
++      tibility mode and the immediate ancestor is a CPP_Pragma tagged type
++      then generate code to inherit the contents of the dispatch table
++      directly from the ancestor.
++      (Expand_Record_Controller): Insert controller component after tags of
++      implemented interfaces.
++      (Freeze_Record_Type): Call new procedure Make_Null_Procedure_Specs to
++      create null procedure overridings when null procedures are inherited
++      from interfaces.
++      (Make_Null_Procedure_Specs): New procedure to generate null procedure
++      declarations for overriding null primitives inherited from interfaces.
++      (Is_Null_Interface_Procedure): New function in
++      Make_Null_Procedure_Specs.
++      (Make_Predefined_Primitive_Specs/Predefined_Primitive_Bodies): If the
++      immediate ancestor of a tagged type is an abstract interface type we
++      must generate the specification of the predefined primitives associated
++      with controlled types (because the dispatch table of the ancestor is
++      null and hence these entries cannot be inherited). This is required to
++      elaborate well the dispatch table.
++
++2006-10-31  Javier Miranda  <miranda@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Bob Duff  <duff@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * exp_ch4.adb (Expand_N_Type_Conversion): Handle missing interface type
++      conversion.
++      (Expand_N_In): Do validity checks on range
++      (Expand_Selected_Component): Use updated for of Denotes_Discriminant.
++      (Expand_N_Allocator): For "new T", if the object is constrained by
++      discriminant defaults, allocate the right amount of memory, rather than
++      the maximum for type T.
++      (Expand_Allocator_Expression): Suppress the call to Remove_Side_Effects
++      when the allocator is initialized by a build-in-place call, since the
++      allocator is already rewritten as a reference to the function result,
++      and this prevents an unwanted duplication of the function call.
++      Add with and use of Exp_Ch6.
++      (Expand_Allocator_Expresssion): Check for an allocator whose expression
++      is a call to build-in-place function and apply
++      Make_Build_In_Place_Call_In_Allocator to the call (for both tagged and
++      untagged designated types).
++      (Expand_N_Unchecked_Type_Conversion): Do not do integer literal
++      optimization if source or target is biased.
++      (Expand_N_Allocator): Add comments for case of an allocator within a
++      function that returns an anonymous access type designating tasks.
++      (Expand_N_Allocator): apply discriminant checks for access
++      discriminants of anonymous access types (AI-402, AI-416)
++
++2006-10-31  Bob Duff  <duff@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_ch5.ads (Expand_N_Extended_Return_Statement): New procedure.
++
++      * exp_ch5.adb (Expand_N_Loop_Statement): Do validity checks on range
++      (Expand_N_Assignment_Statement): Call
++      Make_Build_In_Place_Call_In_Assignment if the right-hand side is a
++      build-in-place function call. Currently, this can happen only for
++      assignments that come from aggregates.
++      Add -gnatd.l --Use Ada 95 semantics for limited function returns,
++      in order to alleviate the upward compatibility introduced by AI-318.
++      (Expand_N_Extended_Return_Statement): Add support for handling the
++      return object as a build-in-place result.
++      (Expand_Non_Function_Return): Implement simple return statements nested
++      within an extended return.
++      (Enable_New_Return_Processing): Turn on the new processing of return
++      statements.
++      (Expand_Non_Function_Return): For a return within an extended return,
++      don't raise Program_Error, because Sem_Ch6 now gives a warning.
++      (Expand_N_Extended_Return_Statement): Implement AI-318
++      (Expand_Simple_Function_Return): Ditto.
++      (Expand_N_If_Statement): Handle new -gnatwt warning
++      (Expand_N_Case_Statement): Handle new -gnatwt warning
++      (Expand_N_Assignment): Handle assignment to the Priority attribute of
++      a protected object.
++      (Expand_N_Assignment_Statement): Implement -gnatVe/E to control
++      validity checking of assignments to elementary record components.
++      (Expand_N_Return_Statement): return Class Wide types on the secondary
++      stack independantly of their controlled status since with HIE runtimes,
++      class wide types are not potentially controlled anymore.
++
++      * expander.adb (Expand): Add case for new N_Extended_Return_Statement
++      node kind.
++
++      * exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Avoid
++      Expand_Cleanup_Actions in case of N_Extended_Return_Statement, because
++      it expects a block, procedure, or task. The return statement will get
++      turned into a block, and Expand_Cleanup_Actions will happen then.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Bob Duff  <duff@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * exp_ch6.ads, exp_ch6.adb: Use new Validity_Check suppression
++      capability.
++      (Expand_Inlined_Call): Tagged types are by-reference types, and
++      therefore should be replaced by a renaming declaration in the expanded
++      body, as is done for limited types.
++      (Expand_Call): If this is a call to a function with dispatching access
++      result, propagate tag from context.
++      (Freeze_Subprogram): Enable full ABI compatibility for interfacing with
++      CPP by default.
++      (Make_Build_In_Place_Call_In_Assignment): New procedure to do
++      build-in-place when the right-hand side of an assignment is a
++      build-in-place function call.
++      (Make_Build_In_Place_Call_In_Allocator): Apply an unchecked conversion
++      of the explicit dereference of the allocator to the result subtype of
++      the build-in-place function. This is needed to satisfy type checking
++      in cases where the caller's return object is created by an allocator for
++      a class-wide access type and the type named in the allocator is a
++      specific type.
++      (Make_Build_In_Place_Call_In_Object_Declaration): Apply an unchecked
++      conversion of the reference to the declared object to the result subtype
++      of the build-in-place function. This is needed to satisfy type checking
++      in cases where the declared object has a class-wide type. Also, in the
++      class-wide case, change the type of the object entity to the specific
++      result subtype of the function, to avoid passing a class-wide object
++      without explicit initialization to the back end.
++      (Register_Interface_DT_Entry): Moved outside the body of
++      Freeze_Subprogram because this routine is now public; it is called from
++      Check_Dispatching_Overriding to handle late overriding of abstract
++      interface primitives.
++      (Add_Access_Actual_To_Build_In_Place_Call): New utility procedure for
++      adding an implicit access actual on a call to a build-in-place function.
++      (Expand_Actuals): Test for an actual parameter that is a call to a
++      build-in-place function and apply
++      Make_Build_In_Place_Call_In_Anonymous_Context to the call.
++      (Is_Build_In_Place_Function): New function to determine whether an
++      entity is a function whose calls should be handled as build-in-place.
++      (Is_Build_In_Place_Function_Call): New function to determine whether an
++      expression is a function call that should handled as build-in-place.
++      (Make_Build_In_Place_Call_In_Allocator): New procedure for handling
++      calls to build-in-place functions as the initialization of an allocator.
++      (Make_Build_In_Place_Call_In_Anonymous_Context): New procedure for
++      handling calls to build-in-place functions in contexts that do not
++      involve init of a separate object (for example, actuals of subprogram
++      calls).
++      (Make_Build_In_Place_Call_In_Object_Declaration): New procedure for
++      handling calls to build-in-place functions as the initialization of an
++      object declaration.
++      (Detect_Infinite_Recursion): Add explicit parameter Process to
++      instantiation of Traverse_Body to avoid unreferenced warning.
++      (Check_Overriding_Inherited_Interfaces): Removed.
++      (Register_Interface_DT_Entry): Code cleanup.
++      (Register_Predefined_DT_Entry): Code cleanup.
++      (Expand_Inlined_Call.Rewrite_Procedure_Call): Do not omit block around
++      inlined statements if within a transient scope.
++      (Expand_Inlined_Call.Process_Formals): When replacing occurrences of
++      formal parameters with occurrences of actuals in inlined body, establish
++      visibility on the proper view of the actual's subtype for the body's
++      context.
++      (Freeze_Subprogram): Do nothing if we are compiling under full ABI
++      compatibility mode and we have an imported CPP subprogram because
++      for now we assume that imported CPP primitives correspond with
++      objects whose constructor is in the CPP side (and therefore we
++      don't need to generate code to register them in the dispatch table).
++      (Expand_Actuals): Introduce copy of actual, only if it might be a bit-
++      aligned selected component.
++      (Add_Call_By_Copy_Node): Add missing code to handle the case in which
++      the actual of an in-mode parameter is a type conversion.
++      (Expand_Actuals): If the call does not come from source and the actual
++      is potentially misaligned, let gigi handle it rather than rejecting the
++      (Expand_N_Subprogram_Body, Freeze_Subprogram): set subprograms returning
++      Class Wide types as returning by reference independantly of their
++      controlled status since with HIE runtimes class wide types are not
++      potentially controlled anymore.
++
++2006-10-31  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_ch9.adb (Update_Prival_Types): Simplify code for entity
++      references that are private components of the protected object.
++      (Build_Barrier_Function): Set flag Is_Entry_Barrier_Function
++      (Update_Prival_Subtypes): Add explicit Process argument to Traverse_Proc
++      instantiation to deal with warnings.
++      (Initialize_Protection): If expression for priority is non-static, use
++      System_Priority as its expected type, in case the expression has not
++      been analyzed yet.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++
++      * exp_dbug.ads, exp_dbug.adb (Get_External_Name): Add missing
++      initialization of Homonym_Len.
++      (Fully_Qualify_Name): Remove kludge to eliminate anonymous block
++      names from fully qualified name. Fixes problem of duplicate
++      external names differing only in the presence of such a block name.
++
++2006-10-31  Thomas Quinot  <quinot@adacore.com>
++          Pablo Oliveira  <oliveira@adacore.com>
++
++      * exp_dist.adb (Get_Subprogram_Ids): This function will no more assign
++      subprogram Ids, even if they are not yet assigned.
++      (Build_Subprogram_Id): It is now this function that will take care of
++      calling Assign_Subprogram_Ids if necessary.
++      (Add_Receiving_Stubs_To_Declarations): Checking the subprograms ids
++      should be done only once they are assigned.
++      (Build_From_Any_Function, case of tagged types): Add missing call to
++      Allocate_Buffer.
++      (Corresponding_Stub_Type): New subprogram. Returns the associated stub
++      type for an RACW type.
++      (Add_RACW_Features): When processing an RACW declaration for which the
++      designated type is already frozen, enforce E.2.2(14) rules immediately.
++      (GARLIC_Support.Build_Subprogram_Receiving_Stubs): Do not perform any
++      special reordering of controlling formals.
++
++      * exp_dist.ads (Corresponding_Stub_Type): New subprogram. Returns the
++      associated stub type for an RACW type.
++
++2006-10-31  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_fixd.adb (Rounded_Result_Set): For multiplication and division of
++      fixed-point operations in an integer context, i.e. as operands of a
++      conversion to an integer type, indicate that result must be rounded.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++
++      * exp_imgv.adb (Expand_Image_Attribute): For Wide_[Wide_]Character
++      cases, pass the encoding method, since it is now required by the run
++      time.
++
++      * s-valwch.ads, s-valwch.adb (Value_Wide_Wide_Character): Avoid
++      assumption that Str'First = 1.
++      (Value_Wide_Character): Takes EM (encoding method) parameter and passes
++      it on to the Value_Wide_Wide_Character call.
++      (Value_Wide_Wide_Character): Takes EM (encoding method) parameter and
++      properly handles a string of the form quote-encoded_wide_char-quote.
++
++      * s-wchcnv.adb: Minor reformatting
++
++2006-10-31  Javier Miranda  <miranda@adacore.com>
++
++      * exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing
++      run-time membership test to ensure that the constructed object
++      implements the target abstract interface.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++
++      * exp_prag.adb (Expand_Pragma_Common_Object): Use a single
++      Machine_Attribute pragma internally to implement the user pragma.
++      Add processing for pragma Interface so that it is now completely
++      equivalent to pragma Import.
++
++      * sem_prag.adb (Analyze_Pragma, case Obsolescent): Extend this pragma
++      so that it can be applied to all entities, including record components
++      and enumeration literals.
++      (Analyze_Pragma, case Priority_Specific_Dispatching): Check whether
++      priority ranges are correct, verify compatibility against task
++      dispatching and locking policies, and if everything is correct an entry
++      is added to the table containing priority specific dispatching entries
++      for this compilation unit.
++      (Delay_Config_Pragma_Analyze): Delay processing
++      Priority_Specific_Dispatching pragmas because when processing the
++      pragma we need to access run-time data, such as the range of
++      System.Any_Priority.
++      (Sig_Flags): Add Pragma_Priority_Specific_Dispatching.
++      Allow pragma Unreferenced as a context item
++      Add pragma Preelaborable_Initialization
++      (Analyze_Pragma, case Interface): Interface is extended so that it is
++      now syntactically and semantically equivalent to Import.
++      (Analyze_Pragma, case Compile_Time_Warning): Fix error of blowups on
++      insertion characters.
++      Add handling for Pragma_Wide_Character_Encoding
++      (Process_Restrictions_Restriction_Warnings): Ensure that a warning
++      never supercedes a real restriction, and that a real restriction
++      always supercedes a warning.
++      (Analyze_Pragma, case Assert): Set Low_Bound_Known if assert is of
++      appropriate form.
++
++2006-10-31  Bob Duff  <duff@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * exp_ch7.adb (Build_Array_Deep_Procs, Build_Record_Deep_Procs,
++      Make_Deep_Record_Body): Rename Is_Return_By_Reference_Type to be
++      Is_Inherently_Limited_Type, because return-by-reference has no meaning
++      in Ada 2005.
++      (Find_Node_To_Be_Wrapped): Use new method of determining the result
++      type of the function containing a return statement, because the
++      Return_Type field was removed. We now use the Return_Applies_To field.
++
++      * exp_util.ads, exp_util.adb: Use new subtype N_Membership_Test
++      (Build_Task_Image_Decl): If procedure is not called from an
++      initialization procedure, indicate that function that builds task name
++      uses the sec. stack. Otherwise the enclosing initialization procedure
++      will carry the indication.
++      (Insert_Actions): Remove N_Return_Object_Declaration. We now use
++      N_Object_Declaration instead.
++      (Kill_Dead_Code): New interface to implement -gnatwt warning for
++      conditional dead code killed, and change implementation accordingly.
++      (Insert_Actions): Add N_Return_Object_Declaration case.
++      Correct comment to mention N_Extension_Aggregate node.
++      (Set_Current_Value_Condition): Call Safe_To_Capture_Value to avoid bad
++      attempts to save information for global variables which cannot be
++      safely tracked.
++      (Get_Current_Value_Condition): Handle conditions the other way round
++      (constant on left). Also handle right operand of AND and AND THEN
++      (Set_Current_Value_Condition): Corresponding changes
++      (Append_Freeze_Action): Remove unnecessary initialization of Fnode.
++      (Get_Current_Value_Condition): Handle simple boolean operands
++      (Get_Current_Value_Condition): Handle left operand of AND or AND THEN
++      (Get_Current_Value_Condition): If the variable reference is within an
++      if-statement, does not appear in the list of then_statments, and does
++      not come from source, treat it as being at unknown location.
++      (Get_Current_Value_Condition): Enhance to allow while statements to be
++      processed as well as if statements.
++      (New_Class_Wide_Subtype): The entity for a class-wide subtype does not
++      come from source.
++      (OK_To_Do_Constant_Replacement): Allow constant replacement within body
++      of loop. This is safe now that we fixed Kill_Current_Values.
++      (OK_To_Do_Constant_Replacement): Check whether current scope is
++      Standard, before examining outer scopes.
++
++2006-10-31  Vincent Celier  <celier@adacore.com>
++
++      * krunch.ads, krunch.adb (Krunch): New Boolean parameter VMS_On_Target.
++      When True, apply VMS treatment to children of packages A, G, I and S.
++      For F320-016
++
++      * fname-uf.adb (Get_File_Name): Call Krunch with OpenVMS_On_Target
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * freeze.adb: Add handling of Last_Assignment field
++      (Warn_Overlay): Supply missing continuation marks in error msgs
++      (Freeze_Entity): Add check for Preelaborable_Initialization
++
++      * g-comlin.adb: Add Warnings (Off) to prevent new warning
++
++      * g-expect.adb: Add Warnings (Off) to prevent new warning
++
++      * lib-xref.adb: Add handling of Last_Assignment field
++      (Generate_Reference): Centralize handling of pragma Obsolescent here
++      (Generate_Reference): Accept an implicit reference generated for a
++      default in an instance.
++      (Generate_Reference): Accept a reference for a node that is not in the
++      main unit, if it is the generic body corresponding to an subprogram
++      instantiation.
++
++      * xref_lib.adb: Add pragma Warnings (Off) to avoid new warnings
++
++      * sem_warn.ads, sem_warn.adb (Set_Warning_Switch): Add processing for
++      -gnatwq/Q.
++      (Warn_On_Useless_Assignment): Suppress warning if enclosing inner
++      exception handler.
++      (Output_Obsolescent_Entity_Warnings): Rewrite to avoid any messages on
++      use clauses, to avoid messages on packages used to qualify, and also
++      to avoid messages from obsolescent units.
++      (Warn_On_Useless_Assignments): Don't generate messages for imported
++      and exported variables.
++      (Warn_On_Useless_Assignments): New procedure
++      (Output_Obsolescent_Entity_Warnings): New procedure
++      (Check_Code_Statement): New procedure
++
++      * einfo.ads, einfo.adb (Has_Static_Discriminants): New flag
++      Change name Is_Ada_2005 to Is_Ada_2005_Only
++      (Last_Assignment): New field for useless assignment warning
++
++2006-10-31  Olivier Hainque  <hainque@adacore.com>
++
++      * g-alleve.adb (lvx, stvx): Ceil-Round the Effective Address to the
++      closest multiple of VECTOR_ALIGNMENT and not the closest multiple of 16.
++
++2006-10-31  Bob Duff  <duff@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * g-awk.adb (Default_Session, Current_Session): Compile this file in
++      Ada 95 mode, because it violates the new rules for AI-318.
++
++      * g-awk.ads: Use overloaded subprograms in every case where we used to
++      have a default of Current_Session. This makes the code closer to be
++      correct for both Ada 95 and 2005.
++
++      * g-moreex.adb (Occurrence): Turn off warnings for illegal-in-Ada-2005
++      code, relying on the fact that the compiler generates a warning
++      instead of an error in -gnatg mode.
++
++      * lib-xref.ads (Xref_Entity_Letters): Add entry for new
++      E_Return_Statement entity kind.
++      Add an entry for E_Incomplete_Subtype in Xref_Entity_Letters.
++
++      * par.adb (P_Interface_Type_Definition): Addition of one formal to
++      report an error if the reserved word abstract has been previously found.
++      (SS_End_Type): Add E_Return for new extended_return_statement syntax.
++
++      * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve message for
++      parenthesized range attribute usage
++      (P_Expression_No_Right_Paren): Add missing comment about error recovery.
++
++      * par-ch6.adb (P_Return_Object_Declaration): AI-318: Allow "constant"
++      in the syntax for extended_return_statement. This is not in the latest
++      RM, but the ARG is expected to issue an AI allowing this.
++      (P_Return_Subtype_Indication,P_Return_Subtype_Indication): Remove
++      N_Return_Object_Declaration. We now use N_Object_Declaration instead.
++      (P_Return_Object_Declaration, P_Return_Subtype_Indication,
++      P_Return_Statement): Parse the new syntax for extended_return_statement.
++
++      * par-endh.adb (Check_End, Output_End_Deleted, Output_End_Expected,
++      Output_End_Missing): Add error-recovery code for the new
++      extended_return_statement syntax; that is, the new E_Return entry on
++      the scope stack.
++
++      * s-auxdec-vms_64.ads, s-auxdec.ads (AST_Handler): Change type from
++      limited to nonlimited, because otherwise we violate the new Ada 2005
++      rules about returning limited types in function Create_AST_Handler in
++      s-asthan.adb.
++
++      * sem.adb (Analyze): Add cases for new node kinds
++      N_Extended_Return_Statement and N_Return_Object_Declaration.
++
++      * sem_aggr.adb (Aggregate_Constraint_Checks): Verify that component
++      type is in the same category as type of context before applying check,
++      to prevent anomalies in instantiations.
++      (Resolve_Aggregate): Remove test for limited components in aggregates.
++      It's unnecessary in Ada 95, because if it has limited components, then
++      it must be limited. It's wrong in Ada 2005, because limited aggregates
++      are now allowed.
++      (Resolve_Record_Aggregate): Move check for limited types later, because
++      OK_For_Limited_Init requires its argument to have been resolved.
++      (Get_Value): When copying the component default expression for a
++      defaulted association in an aggregate, use the sloc of the aggregate
++      and not that of the original expression, to prevent spurious
++      elaboration errors, when the expression includes function calls.
++      (Check_Non_Limited_Type): Correct code for AI-287, extension aggregates
++      were missing. We also didn't handle qualified expressions. Now also
++      allow function calls. Use new common routine OK_For_Limited_Init.
++      (Resolve_Extension_Aggregate): Minor fix to bad error message (started
++      with space can upper case letter).
++
++      * sem_ch3.ads, sem_ch3.adb (Create_Constrained_Components): Set
++      Has_Static_Discriminants flag
++      (Record_Type_Declaration): Diagnose an attempt to declare an interface
++      type with discriminants.
++      (Process_Range_Expr_In_Decl): Do validity checks on range
++      (Build_Discriminant_Constraints): Use updated form of
++      Denotes_Discriminant.
++      (Process_Subtype): If the subtype is a private subtype whose full view
++      is a concurrent subtype, introduce an itype reference to prevent scope
++      anomalies in gigi.
++      (Build_Derived_Record_Type, Collect_Interface_Primitives,
++      Record_Type_Declaration):  The functionality of the subprograms
++      Collect_Abstract_Interfaces and Collect_All_Abstract_Interfaces
++      is now performed by a single routine.
++      (Build_Derived_Record_Type): If the type definition includes an explicit
++      indication of limitedness, then the type must be marked as limited here
++      to ensure that any access discriminants will not be treated as having
++      a local anonymous access type.
++      (Check_Abstract_Overriding): Issue a detailed error message when an
++      abstract subprogram was not overridden due to incorrect mode of its
++      first parameter.
++      (Analyze_Private_Extension_Declaration): Add support for the analysis of
++      synchronized private extension declarations. Verify that the ancestor is
++      a limited or synchronized interface or in the generic case, the ancestor
++      is a tagged limited type or synchronized interface and all progenitors
++      are either limited or synchronized interfaces.
++      Derived_Type_Declaration): Check for presence of private extension when
++      dealing with synchronized formal derived types.
++      Process_Full_View): Enchance the check done on the usage of "limited" by
++      testing whether the private view is synchronized.
++      Verify that a synchronized private view is completed by a protected or
++      task type.
++      (OK_For_Limited_Init_In_05): New function.
++      (Analyze_Object_Declaration): Move check for limited types later,
++      because OK_For_Limited_Init requires its argument to have been resolved.
++      Add -gnatd.l --Use Ada 95 semantics for limited function returns,
++      in order to alleviate the upward compatibility introduced by AI-318.
++      (Constrain_Corresponding_Record): If the constraint is for a component
++      subtype, mark the itype as frozen, to avoid out-of-scope references to
++      discriminants in the back-end.
++      (Collect_Implemented_Interfaces): Protect the recursive algorithm of
++      this subprogram against wrong sources.
++      (Get_Discr_Value, Is_Discriminant): Handle properly references to a
++      discriminant of limited type completed with a protected type, when the
++      discriminant is used to constrain a private component of the type, and
++      expansion is disabled.
++      (Find_Type_Of_Object): Do not treat a return subtype that is an
++      anonymous subtype as a local_anonymous_type, because its accessibility
++      level is the return type of the enclosing function.
++      (Check_Initialization): In -gnatg mode, turn the error "cannot
++      initialize entities of limited type" into a warning.
++      (OK_For_Limited_Init): Return true for generated nodes, since it
++      sometimes violates the legality rules.
++      (Make_Incomplete_Declaration): If the type for which an incomplete
++      declaration is created happens to be the currently visible entity,
++      preserve the homonym chain when removing it from visibility.
++      (Check_Conventions): Add support for Ada 2005 (AI-430): Conventions of
++      inherited subprograms.
++      (Access_Definition): If this is an access to function that is the return
++      type of an access_to_function definition, context is a type declaration
++      and the scope of the anonymous type is the current one.
++      (Analyze_Subtype_Declaration): Add the defining identifier of a regular
++      incomplete subtype to the set of private dependents of the original
++      incomplete type.
++      (Constrain_Discriminated_Type): Emit an error message whenever an
++      incomplete subtype is being constrained.
++      (Process_Incomplete_Dependents): Transform an incomplete subtype into a
++      corresponding subtype of the full view of the original incomplete type.
++      (Check_Incomplete): Properly detect invalid usage of incomplete types
++      and subtypes.
++
++2006-10-31  Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * g-catiio.ads, g-catiio.adb (Value): New function.
++      Given an input String, try and parse a valid Time value.
++
++2006-10-31  Vincent Celier  <celier@adacore.com>
++
++      * g-debpoo.adb (Is_Valid): Correctly compute Offset using
++      Integer_Address arithmetic, as in Set_Valid.
++
++2006-10-31  Arnaud Charlet  <charlet@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * gnatcmd.adb (Process_Link): Use Osint.Executable_Name instead of
++      handling executable extension manually and duplicating code.
++
++      * make.adb: Implement new -S switch
++      (Gnatmake): Use new function Osint.Executable_Name instead
++      of handling executable extension manually.
++
++      * prj-util.adb (Executable_Of): Make sure that if an Executable_Suffix
++      is specified, the executable name ends with this suffix.
++      Take advantage of Osint.Executable_Name instead of duplicating code.
++
++      * switch-m.adb: Recognize new gnatmake -S switch
++
++      * targparm.ads, targparm.adb (Executable_Extension_On_Target): New
++      variable.
++      (Get_Target_Parameters): Set Executable_Extension_On_Target if
++      available.
++
++      * makeusg.adb: Add line for gnatmake -S switch
++
++2006-10-31  Vincent Celier  <celier@adacore.com>
++
++      * gnatlink.adb (Gnatlink): If gcc is not called with -shared-libgcc,
++      call it with -static-libgcc, as there are some platforms, such as
++      Darwin, where one of these two switches is compulsory to link.
++
++2006-10-31  Vincent Celier  <celier@adacore.com>
++
++      * gnatls.adb: Take into account GPR_PROJECT_PATH, when it is defined,
++      instead of ADA_PROJECT_PATH, for the project path.
++      (Gnatls): When displaying the project path directories, use host dir
++      specs.
++
++      * prj-ext.adb (Prj.Ext elaboration): On VMS, only expand relative path
++      names in the project path, as absolute paths may correspond to
++      multi-valued VMS logical names.
++
++2006-10-31  Vincent Celier  <celier@adacore.com>
++
++      * g-os_lib.ads, g-os_lib.adb (Locate_Exec_On_Path): Always return an
++      absolute path name.
++      (Locate_Regular_File): Ditto
++      (Change_Dir): Remove, no longer used
++      (Normalize_Pathname): Do not use Change_Dir to get the drive letter
++      on Windows. Get it calling Get_Current_Dir.
++      (OpenVMS): Remove imported boolean, no longer needed.
++      (Normalize_Pathname)[VMS]: Do not resolve directory names.
++      (Pid_To_Integer): New function to convert a Process_Id to  Integer
++
++2006-10-31  Thomas Quinot  <quinot@adacore.com>
++
++      * g-socket.ads, g-socket.adb (Close_Selector): Once the signalling
++      sockets are closed, reset the R_Sig_Socket and W_Sig_Socket components
++      to No_Socket.
++      (Selector_Type): Add default value of No_Socket for R_Sig_Socket and
++      W_Sig_Socket.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++
++      * g-speche.ads, g-speche.adb: Add special case to recognize misspelling
++      initial letter o as a zero.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++
++      * g-spipat.adb (S_To_PE): Remove incorrect use of 0 instead of Str'First
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++
++      * layout.adb (Layout_Record_Type): Deal with non-static subtypes of
++      variant records
++      (Layout_Variant_Record): Retrieve the discriminants from the entity
++      rather than from the type definition, because in the case of a full
++      type for a private type we need to take the discriminants from the
++      partial view.
++      (Layout_Component_List): When applying the Max operator to variants with
++      a nonstatic size, check whether either operand is static and scale that
++      operand from bits to storage units before applying Max.
++      (Layout_Type): In VMS, if a C-convention access type has no explicit
++      size clause (and does not inherit one in the case of a derived type),
++      then the size is reset to 32 from 64.
++
++2006-10-31  Vincent Celier  <celier@adacore.com>
++
++      * lib-load.adb (Load_Unit): Skip the test for a unit not found when
++      its file has already been loaded, according to the unit being loaded,
++      not to the current value of Multiple_Unit_Index.
++
++2006-10-31  Thomas Quinot  <quinot@adacore.com>
++          Eric Botcazou  <ebotcazou@adacore.com>
++          Arnaud Charlet  <charlet@adacore.com>
++
++      * Makefile.in: Set EH mechanism to ZCX for FreeBSD.
++      (NO_REORDER_ADAFLAGS): New var defined to -fno-toplevel-reorder if
++      possible.
++      (a-except.o): Pass it to the compiler.
++      (gnatlib-shared-vms): Removed -nostartfiles switch in link step.
++      (LIBGNAT_TARGET_PAIRS for Windows): Avoid the use of the specific
++      a-calend-mingw.adb version.
++
++      * Makefile.rtl: Added s-dsaser.
++      Add object entries for Ada.Calendar.[Arithmetic/Formatting/Time_Zones]
++      (GNATRTL_TASKING_OBJS): Add Ada.Dispatching and
++      Ada.Dispatching.Round_Robin.
++      Added new unit Ada.Containers.Restricted_Bounded_Doubly_Linked_Lists
++
++      * Make-lang.in: Remove all references to gt-ada-decl.h.
++      Add concatenation (s-strops/s-sopco3/s-sopco4/s-sopco5) to compiler
++      sources.
++      Add dependency on ada/s-restri.o for GNAT1 and GNATBIND objects.
++      Update dependencies.
++
++      * system-freebsd-x86.ads: Make ZCX the default EH mechanism for FreeBSD
++
++2006-10-31  Vincent Celier  <celier@adacore.com>
++
++      * mlib-utl.adb (Initialized): Remove, no longer used
++      (Initialize): Remove, no longer used
++      (Ar): If Ar_Exec is null, get the location of the archive builder and,
++      if there is one, the archive indexer. Fail if the archive builder cannot
++      be found.
++      (Gcc): If the driver path is unknown, get it. Fail if the driver cannot
++      be found.
++
++2006-10-31  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch10.ads, sem_ch10.adb (Check_Redundant_Withs,
++      Process_Body_Clauses): If the context of a body includes a use clause
++      for P.Q then a with_clause for P in the same body is not redundant,
++      even if the spec also has a with_clause on P.
++      Add missing continuation mark to error msg
++      (Build_Limited_Views): A limited view of a type is tagged if its
++      declaration includes a record extension.
++      (Analyze_Proper_Body): Set Corresponding_Stub field in N_Subunit
++      node, even if the subunit has errors. This avoids malfunction by
++      Lib.Check_Same_Extended_Unit in the presence of syntax errors.
++      (Analyze_Compilation_Unit): Add circuit to make sure we get proper
++      generation of obsolescent messages for with statements (cannot do
++      this too early, or we cannot implement avoiding the messages in the
++      case of obsolescent units withing obsolescent units).
++      (Install_Siblings): If the with_clause is on a remote descendant of
++      an ancestor of the current compilation unit, find whether there is
++      a sibling child unit that is immediately visible.
++      (Remove_Private_With_Clauses): New procedure, invoked after completing
++      the analysis of the private part of a nested package, to remove from
++      visibility the private with_clauses of the enclosing package
++      declaration.
++      (Analyze_With_Clause): Remove Check_Obsolescent call, this checking is
++      now centralized in Generate_Reference.
++      (Install_Limited_Context_Clauses): Remove superfluous error
++      message associated with unlimited view visible through use
++      and renamings. In addition, at the point in which the error
++      is reported, we add the backslash to the text of the error
++      to ensure that it is reported as a single error message.
++      Use new // insertion for some continuation messages
++      (Expand_Limited_With_Clause): Use copy of name rather than name itself,
++      to create implicit with_clause for parent unit mentioned in original
++      limited_with_clause.
++      (Install_Limited_With_Unit): Set entity of parent identifiers if the
++      unit is a child unit. For ASIS queries.
++      (Analyze_Subunit): If the subunit appears within a child unit, make all
++      ancestor child units directly visible again.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++
++      * par-ch10.adb (P_Context_Clause): Minor error message fix
++
++2006-10-31  Hristian Kirtchev  <kirtchev@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * par-ch12.adb: Grammar update and cleanup.
++      (P_Formal_Type_Definition, P_Formal_Derived_Type_Definition): Add
++      support for synchronized derived type definitions.
++      Add the new actual Abstract_Present to every call to
++      P_Interface_Type_Definition.
++      (P_Formal_Object_Declarations): Update grammar rules. Handle parsing of
++      a formal object declaration with an access definition or a subtype mark
++      with a null exclusion.
++      (P_Generic_Association): Handle association with box, and others_choice
++      with box, to support Ada 2005 partially parametrized formal packages.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * par-ch3.adb (P_Range_Or_Subtype_Mark): Check for bad parentheses
++      (P_Type_Declaration): Remove barrier against the reserved word "limited"
++      after "abstract" to give support to the new syntax of AARM 3.4 (2/2).
++      (P_Type_Declaration): Minor code cleanup. Add support for synchronized
++      private extensions.
++      (P_Type_Declaration): Add the new actual Abstract_Present to every call
++      to P_Interface_Type_Definition.
++      (P_Interface_Type_Definition): Addition of one formal to report an error
++      if the reserved word abstract has been previously found.
++      (P_Identifier_Declarations): Update grammar rules. Handle parsing of an
++      object renaming declaration with an access definition or subtype mark
++      with a possible null exclusion.
++
++      * par-ch9.adb: Minor error msg fix
++
++      * par-load.adb: Add missing continuation mark to error msg
++
++      * par-tchk.adb: (Wrong_Token): Code cleanup, use concatenation
++
++2006-10-31  Vincent Celier  <celier@adacore.com>
++
++      * prj-dect.adb (Parse_Attribute_Declaration): Do not issue warning for
++      unknown attribute in unknown package or in package that does not need
++      to be checked.
++      (Parse_Package_Declaration): Do not issue warning for unknown package in
++      quiet output.
++
++2006-10-31  Vincent Celier  <celier@adacore.com>
++
++      * prj-makr.adb (Packages_To_Check_By_Gnatname): New global constant
++      (Make): Call Parse with Packages_To_Check_By_Gnatname for parameter
++      Packages_To_Check.
++
++2006-10-31  Vincent Celier  <celier@adacore.com>
++
++      * prj-nmsc.adb (Check_Ada_Name): For children of package A, G, I and S
++      on VMS, change "__" to '.' before checking the name.
++      (Record_Ada_Source): Always add the source file name in the list of
++      of sources, even if it is not the first time, as it is for another
++      source index.
++      (Get_Unit): Replace both '_' (after 'a', 'g', 'i' or 's') with a single
++      dot, instead of replacing only the first '_'.
++
++      * prj-part.adb (Parse): Convert project file path to canonical form
++
++      * prj-proc.adb (Recursive_Process): Make sure that, when a project is
++      extended, the project id of the project extending it is recorded in its
++      data, even when it has already been processed as an imported project.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++
++      * repinfo.adb (List_Entities): Don't list entities from renaming
++      declarations.
++
++2006-10-31  Arnaud Charlet  <charlet@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * restrict.ads, restrict.adb (Restriction_Active): Now returns False if
++      only a restriction warning is active for the given restriction. This is
++      desirable because we do not want to modify code in the case where only
++      a warning is set.
++      (Set_Profile_Restrictions): Make sure that a Profile_Warnings never
++      causes overriding of real restrictions.
++      Take advantage of new No_Restrictions constant.
++
++      * raise.h: (__gnat_set_globals): Change profile.
++
++2006-10-31  Arnaud Charlet  <charlet@adacore.com>
++
++      * rtsfind.adb: Remove s-polint from comment as it exists no more.
++
++      * rtsfind.ads:
++      Move entity RE_Get_Active_Partition_Id to package System.DSA_Services.
++      Move all the entities in obsolete package System.PolyORB_Interface to
++      System.Partition_Interface.
++      (RE_Storage_Size): New function in System.Tasking.
++      (RE_Get_Ceiling): New entity.
++      (RE_Set_Ceiling): New entity.
++      (RO_PE_Get_Ceiling): New entity.
++      (RO_RE_Set_Ceiling): New entity.
++      (Inherit_CPP_DT): New entity
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++
++      * scng.adb (Scan, case of numeric literal): Better msg for identifier
++      starting with a digit.
++
++2006-10-31  Ed Schonberg  <schonberg@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * sem_attr.ads, sem_attr.adb (Analyze_Access_Attribute): Diagnose
++      properly an attempt to apply Unchecked_Access to a protected operation.
++      (OK_Self_Reference): New subprogram to check the legality of an access
++      attribute whose prefix is the type of an enclosing aggregate.
++      Generalizes previous mechanism to handle attribute references nested
++      arbitrarily deep within the aggregate.
++      (Analyze_Access_Attribute): An access attribute whose prefix is a type
++      can appear in an aggregate if this is a default-initialized aggregate
++      for a self-referential type.
++      (Resolve_Attribute, case Access): Ditto.
++      Add support for new implementation defined attribute Stub_Type.
++      (Eval_Attribute, case Attribute_Stub_Type): New case.
++      (Analyze_Attribute, case Attribute_Stub_Type): New case.
++      (Stream_Attribute_Available): Implement using new subprogram from
++      sem_cat, Has_Stream_Attribute_Definition, instead of incorrect
++      Has_Specified_Stream_Attribute flag.
++      Disallow Storage_Size and Storage_Pool for access to subprogram
++      (Resolve_Attribute, case 'Access et al): Take into account anonymous
++      access types of return subtypes in extended return statements. Remove
++      accessibility checks on anonymous access types when Unchecked_Access is
++      used.
++      (Analyze_Attribute): Add support for the use of 'Class to convert
++      a class-wide interface to a tagged type.
++      Add support for the attribute Priority.
++      (Resolve_Attribute, case Attribute_Access): For Ada_05, add test for
++      whether the designated type is discriminated with a constrained partial
++      view and require static matching in that case.
++      Add local variable Des_Btyp. The Designated_Type
++      of an access to incomplete subtype is either its non-limited view if
++      coming from a limited with or its etype if regular incomplete subtype.
++
++      * sem_cat.ads, sem_cat.adb (Validate_Remote_Access_To_Class_Wide_Type):
++      Fix predicate to identify and allow cases of (expander-generated)
++      references to tag of designated object of a RACW.
++      (Validate_Static_Object_Name): In Ada 2005, a formal object is
++      non-static, and therefore cannot appear as a primary in a preelaborable
++      package.
++      (Has_Stream_Attribute_Definition): New subprogram, abstracted from
++      Has_Read_Write_Attributes.
++      (Has_Read_Write_Attributes): Reimplement in termes of
++      Has_Stream_Attribute_Definition.
++      (Missing_Read_Write_Attributes): When checking component types in a
++      record, unconditionally call Missing_Read_Write_Attributes recursively
++      (remove guard checking for Is_Record_Type / Is_Access_Type).
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++
++      * sem_ch11.adb (Analyze_Handled_Statements): Move final test for
++      useless assignments here and conditionalize it on absence of exception
++      handlers.
++      (Analyze_Exception_Handlers): Small code reorganization of error
++      detection code, for new handling of formal packages.
++
++2006-10-31  Ed Schonberg  <schonberg@adacore.com>
++          Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * sem_ch12.ads, sem_ch12.adb (Save_References): If node is an operator
++      that has been constant-folded, preserve information of original tree,
++      for ASIS uses.
++      (Analyze_Formal_Derived_Type): Set the limited present flag of the newly
++      generated private extension declaration if the formal derived type is
++      synchronized. Carry synchronized present over to the generated private
++      extension.
++      (Validate_Derived_Type_Instance): Ensure that the actual of a
++      synchronized formal derived type is a synchronized tagged type.
++      (Instantiate_Formal_Package): When creating the instantiation used to
++      validate the actual package of a formal declared without a box, check
++      whether the formal itself depends on a prior actual.
++      (Instantiate_Formal_Subprogram): Create new entities for the defining
++      identifiers of the formals in the renaming declaration, for ASIS use.
++      (Instantiate_Formal_Subprogram, Instantiate_Formal_Type): When creating
++      a renaming declaration or a subtype declaration for an actual in an
++      instance, capture location information of declaration in generic, for
++      ASIS use.
++      (Instantiate_Formal_Package): Add comments on needed additional tests.
++      AI-317 (partial parametrization) is fully implemented.
++      (Validate_Private_Type_Instance): Add check for actual which
++      must have preelaborable initialization
++      Use new // insertion for some continuation messages
++      (Analyze_Formal_Object_Declaration): Change usage of Expression to
++      Default_Expression. Add type retrieval when the declaration has an
++      access definition. Update premature usage of incomplete type check.
++      (Check_Access_Definition): New subsidiary routine. Check whether the
++      current compilation version is Ada 05 and the supplied node has an
++      access definition.
++      (Instantiate object): Alphabetize local variables. Handle the creation
++      of new renaming declarations with respect to the kind of definition
++      used - either an access definition or a subtype mark. Guard against
++      unnecessary error message in the context of anonymous access types after
++      they have been resolved. Add check for required null exclusion in a
++      formal object declaration.
++      (Switch_View): A private subtype of a non-private type needs to be
++      switched (the base type can have been switched without its private
++      dependents because of the last branch of Check_Private_View.
++      (Check_Private_View): Do not recompute Base_Type (T), instead use cached
++      value from BT.
++      (Instantiate_Type): Emit an error message whenever a class-wide type of
++      a tagged incomplete type is used as a generic actual.
++      (Find_Actual_Type): Extend routine to handle a component type in a child
++      unit that is imported from a formal package in a parent.
++      (Validate_Derived_Type_Instance): Check that analyzed formal and actual
++      agree on constrainedness, rather than checking against ultimate ancestor
++      (Instantiate_Subprogram_Body): Create a cross-reference link to the
++      generic body, for navigation purposes.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++
++      * sem_ch13.adb: Storage pool cannot be given for access to subprogram
++      type.
++      (New_Stream_Subprogram): When processing an attribute definition clause
++      for a stream-oriented subprogram, record an entity node occurring at
++      the point of clause to use for checking the visibility of the clause,
++      as defined by 8.3(23) as amended by AI-195.
++      (New_Stream_Subprogram): New procedure, factoring behaviour from both
++       New_Stream_Function and New_Stream_Procedure.
++      (New_Stream_Function, New_Stream_Procedure): Removed.
++      (Analyze_Attribute_Definition_Clause, case Address): Check new
++      Alignment_Check check
++
++2006-10-31  Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * sem_ch4.adb (Try_Primitive_Operation): Code cleanup to ensure that we
++      generate the same errors compiling under -gnatc.
++      (Try_Object_Operation): If no candidate interpretation succeeds, but
++      there is at least one primitive operation with the right name, report
++      error in call rather than on a malformed selected component.
++      (Analyze_Selected_Component): If the prefix is an incomplete type from
++      a limited view, and the full view is available, use the full view to
++      determine whether this is a prefixed call to a primitive operation.
++      (Operator_Check): Verify that a candidate interpretation is a binary
++      operation before checking the type of its second formal.
++      (Analyze_Call): Add additional warnings for function call contexts not
++      yet supported.
++      (Analyze_Allocator): Move the check for "initialization not allowed for
++      limited types" after analyzing the expression. This is necessary,
++      because OK_For_Limited_Init looks at the structure of the expression.
++      Before analysis, we don't necessarily know what sort of expression it
++      is. For example, we don't know whether F(X) is a function call or an
++      indexed component; the former is legal in Ada 2005; the latter is not.
++      (Analyze_Allocator): Correct code for AI-287 -- extension aggregates
++      were missing. We also didn't handle qualified expressions. Now also
++      allow function calls. Use new common routine OK_For_Limited_Init.
++      (Analyze_Type_Conversion): Do not perform some legality checks in an
++      instance, because the error message will be redundant or spurious.
++      (Analyze_Overloaded_Selected_Component): Do not do style check when
++      setting an entity, since we do not know it is the right entity yet.
++      (Analyze_Selected_Component): Move Generate_Reference call to Sem_Res
++      (Analyze_Overloaded_Selected_Component): Same change
++      (Analyze_Selected_Component): Remove unnecessary prefix type retrieval
++      since regular incomplete subtypes are transformed into corresponding
++      subtypes of their full views.
++      (Complete_Object_Operation): Treat name of transformed subprogram call
++      as coming from source, for browsing purposes.
++      (Try_Primitive_Operation): If formal is an access parameter, compare
++      with base type of object to determine whether it is a primitive
++      operation.
++      (Operator_Check): If no interpretation of the operator matches, check
++      whether a use clause on any candidate might make the operation legal.
++      (Try_Class_Wide_Operation): Check whether the first parameter is an
++      access type whose designated type is class-wide.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * sem_ch5.ads, sem_ch5.adb (Analyze_Loop_Statement): Add circuit to
++      warn on infinite loops.
++      Add \\ to some continuation messages
++      (Analyze_Assignment_Statement): Call Warn_On_Useless_Assignment
++      (Process_Bounds): If the bounds are integer literals that result from
++      constant-folding, and they carry a user-defined type, preserve that type
++      rather than treating this as an integer range.
++      (Analyze_Exit_Statement): Test for E_Return_Statement in legality check.
++      (Analyze_Goto_Statement): Test for E_Return_Stateemnt in legality check.
++      (Analyze_Assignment_Statement): Add call to Check_Elab_Assign for
++      left hand side of assignment.
++      (Analyze_Assignment): Add suport to manage assigments to the attribute
++      priority of a protected object.
++      (Check_Possible_Current_Value_Condition): Allow fully qualified names
++      not just identifiers.
++      (Check_Possible_Current_Value_Condition): Acquire left operand of AND
++      or AND THEN for possible tracking.
++      (Analyze_Iteration_Scheme): Check for setting Current_Value for the
++      case of while loops so we can track values in the loop body.
++
++2006-10-31  Ed Schonberg  <schonberg@adacore.com>
++          Hristian Kirtchev  <kirtchev@adacore.com>
++          Bob Duff  <duff@adacore.com>
++
++      * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Declaration): A null
++      procedure cannot be a protected operation (it is a basic_declaration,
++      not a subprogram_declaration).
++      (Check_Overriding_Indicator): Rename formal Does_Override to Overridden_
++      Subp. Add logic for entry processing.
++      (Check_Synchronized_Overriding): New procedure in New_Overloaded_Entity.
++      Determine whether an entry or subprogram of a protected or task type
++      override an inherited primitive of an implemented interface.
++      (New_Overloaded_Entity): Add calls to Check_Synchronized_Overriding.
++      Update the actual used in calls to Check_Overriding_Indicator.
++      (Analyze_Generic_Subprogram_Body): If the subprogram is a child unit,
++      generate the proper reference to the parent unit, for cross-reference.
++      (Analyze_Subprogram_Declaration): Protect Is_Controlling_Formal with
++      Is_Formal.
++      Add -gnatd.l --Use Ada 95 semantics for limited function returns,
++      (Add_Extra_Formal): Revise procedure to allow passing in associated
++      entity, scope, and name suffix, and handle setting of the new
++      Extra_Formals field.
++      (Create_Extra_Formals): Change existing calls to Add_Extra_Formal to
++      pass new parameters. Add support for adding the new extra access formal
++      for functions whose calls are treated as build-in-place.
++      (Analyze_A_Return_Statement): Correct casing in error message.
++      Move Pop_Scope to after Analyze_Function_Return, because an extended
++      return statement really is a full-fledged scope. Otherwise, visibility
++      doesn't work right. Correct use of "\" for continuation messages.
++      (Analyze_Function_Return): Call Analyze on the Obj_Decl, rather than
++      evilly trying to call Analyze_Object_Declaration directly. Otherwise,
++      the node doesn't get properly marked as analyzed.
++      (Analyze_Subprogram_Body): If subprogram is a function that returns
++      an anonymous access type that denotes a task, build a Master Entity
++      for it.
++      (Analyze_Return_Type): Add call to Null_Exclusion_Static_Checks. Verify
++      proper usage of null exclusion in a result definition.
++      (Process_Formals): Code cleanup and new error message.
++      (Process_Formals): Detect incorrect application of null exclusion to
++      non-access types.
++      (Conforming_Types): Handle conformance between [sub]types and itypes
++       generated for entities that have null exclusions applied to them.
++      (Maybe_Primitive_Operation): Add an additional type retrieval when the
++       base type is an access subtype. This case arrises with null exclusions.
++      (New_Overloaded_Entity): Do not remove the overriden entity from the
++      homonym chain if it corresponds with an abstract interface primitive.
++      (Process_Formals): Replace membership test agains Incomplete_Kind with a
++      call to the synthesized predicate Is_Incomplete_Type.
++      (Analyze_Subprogram_Body): Check wrong placement of abstract interface
++      primitives.
++      (Analyze_Subprogram_Declaration): Check that abstract interface
++      primitives are abstract or null.
++      (Analyze_Subprogram_Specification): Remove previous check for abstract
++      interfaces because it was not complete.
++      (Has_Interface_Formals): Removed.
++
++2006-10-31  Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * sem_ch7.adb (Check_Anonymous_Access_Types): New procedure, subsidiary
++      of Analyze_Package_Body, to create Itype references for anonymous
++      access types created in the package declaration, whose designated types
++      may have only a limited view.
++      (Analyze_Package_Specification): For the private part of a nested
++      package, install private_with_clauses of enclosing compilation unit if
++      we are in its visible part.
++      (Declare_Inherited_Private_Subprograms): Complete barrier
++      to ensure that the primitive operation has an alias to some parent
++      primitive. This is now required because, after the changes done for the
++      implementation of abstract interfaces, the contents of the list of
++      primitives has entities whose alias attribute references entities of
++      such list of primitives.
++      (Analyze_Package_Specification): Simplify code that handles parent units
++      of instances and formal packages.
++      (Uninstall_Declarations): Check the convention consistency among
++      primitive overriding operations of a tagged record type.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++          Hristian Kirtchev  <kirtchev@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch8.adb: Minor error msg rewording
++      (Undefined): When checking for misspellings, invert arguments (to get
++      expected and found set right)
++      (Analyze_Subprogram_Renaming): Propagate Is_Pure, Is_Preelaborated
++      (Analyze_Generic_Renaming): Same fix
++      (Use_One_Package): Do not take into account the internal entities of
++      abstract interfaces during the analysis of entities that are marked
++      as potentially use-visible.
++      (Find_Type): Handle the case of an attribute reference for
++      implementation defined attribute Stub_Type (simply let the analysis of
++      the attribute reference rewrite it).
++      (Use_One_Type, End_Use_Type): Reject a reference to a limited view of a
++      type that appears in a Use_Type clause.
++      (Analyze_Object_Renaming): Add support for renaming of the Priority
++      attribute.
++      (Find_Type): In Ada 2005, a task type can be used within its own body,
++      when it appears in an access definition.
++      (Analyze_Object_Renaming): Remove warning on null_exclusion.
++      (Analyze_Object_Renaming): Introduce checks for required null exclusion
++       in a formal object declaration or in a subtype declaration.
++      (Analyze_Subprogram_Renaming): Add call to Check_Null_Exclusion.
++      (Check_Null_Exclusion): New local routine to
++      Analyze_Subprogram_Renaming. Check whether the formals and return
++      profile of a renamed subprogram have required null exclusions when
++      their counterparts of the renaming already impose them.
++      (In_Generic_Scope): New local routine to Analyze_Object_Renaming.
++      Determine whether an entity is inside a generic scope.
++      (In_Open_Scope): First pass of documentation update.
++      (Find_Expanded_Name): Add support for shadow entities associated with
++      limited withed packages. This is required to handle nested packages.
++      (Analyze_Package_Renaming): Remove the restriction imposed by AI-217
++      that makes a renaming of a limited withed package illegal.
++
++2006-10-31  Hristian Kirtchev  <kirtchev@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch9.adb (Analyze_Protected_Definition): Remove call to
++      Check_Overriding_Indicator.
++      (Analyze_Task_Definition): Ditto.
++      (Analyze_Protected_Type, Analyze_Task_Type): Code cleanup.
++      (Check_Overriding_Indicator): To find overridden interface operation,
++      examine only homonyms that have an explicit subprogram declaration, not
++      inherited operations created by an unrelated type derivation.
++      (Check_Overriding_Indicator): When checking for the presence of "null"
++      in a procedure, ensure that the queried node is a procedure
++      specification.
++      (Matches_Prefixed_View_Profile): Add mechanism to retrieve the parameter
++      type when the formal is an access to variable.
++      (Analyze_Protected_Type): Add check for Preelaborable_Initialization
++      (Analyze_Task_Type): Same addition
++      (Analyze_Entry_Declaration): Call Generate_Reference_To_Formals, to
++      provide navigation capabilities for entries.
++
++2006-10-31  Hristian Kirtchev  <kirtchev@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * sem_disp.adb (Check_Dispatching_Operation): Do not flag subprograms
++      inherited from an interface ancestor by another interface in the
++      context of an instance as 'late'.
++      (Is_Tag_Indeterminate, Propagate_Tag): Handle properly the dereference
++      of a call to a function that dispatches on access result.
++      (Check_Dispatching_Operation): In case of late overriding of a primitive
++      that covers abstract interface subprograms we register it in all the
++      secondary dispatch tables associated with abstract interfaces.
++      (Check_Dispatching_Call): Add check that a dispatching call is not made
++      to a function with a controlling result of a limited type. This is a
++      current implementation restriction.
++      (Check_Controlling_Formal): Remove bogus checks for E.2.2(14).
++      (Check_Dispatching_Operation): Do no emit a warning if the controlling
++      argument is an interface type that is a generic formal.
++      (Is_Interface_Subprogram): Removed.
++      (Check_Dispatching_Operation): If the subprogram is not a dispatching
++      operation, check the formals to handle the case in which it is
++      associated with an abstract interface type.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_elab.ads, sem_elab.adb (Check_Elab_Assign): New procedure
++      Add new calls to this procedure during traversal
++      (Activate_Elaborate_All_Desirable): Do not set elaboration flag on
++      another unit if expansion is disabled.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++
++      * sem_eval.adb (Compile_Time_Compare): Make use of information from
++      Current_Value in the conditional case, to evaluate additional
++      comparisons at compile time.
++
++2006-10-31  Ed Schonberg  <schonberg@adacore.com>
++          Hristian Kirtchev  <kirtchev@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * sem_type.adb (Add_One_Interp): If node is an indirect call, preserve
++      subprogram type to provide better diagnostics in case of ambiguity.
++      (Covers): Handle coverage of formal and actual anonymous access types in
++      the context of generic instantiation.
++      (Covers/Interface_Present_In_Ancestors): Use the base type to manage
++      abstract interface types; this is required to handle concurrent types
++      with discriminants and abstract interface types.
++      (Covers): Include type coverage of both regular incomplete subtypes and
++      incomplete subtypes of incomplete type visibles through a limited with
++      clause.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++          Hristian Kirtchev  <kirtchev@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_util.ads, sem_util.adb (Enter_Name): Exclude -gnatwh warning
++      messages for entities in packages which are not used.
++      (Collect_Synchronized_Interfaces): New procedure.
++      (Overrides_Synchronized_Primitive): New function.
++      (Denotes_Discriminant): Extend predicate to apply to task types.
++      Add missing continuation marks in error msgs
++      (Unqualify): New function for removing zero or more levels of
++      qualification from an expression. There are numerous places where this
++      ought to be used, but we currently only deal properly with zero or one
++      level.
++      (In_Instance); The analysis of the actuals in the instantiation of a
++      child unit is not within an instantiation, even though the parent
++      instance is on the scope stack.
++      (Safe_To_Capture_Value): Exclude the case of variables that are
++      renamings.
++      (Check_Obsolescent): Removed
++      (Is_Aliased_View): A reference to an enclosing instance in an aggregate
++      is an aliased view, even when rewritten as a reference to the target
++      object in an assignment.
++      (Get_Subprogram_Entity): New function
++      (Known_To_Be_Assigned): New function
++      (Type_Access_Level): Compute properly the access level of a return
++      subtype that is an anonymous access type.
++      (Explain_Limited_Type): Correct use of "\" for continuation messages.
++      (Is_Transfer): The new extended_return_statement causes a transfer of
++      control.
++      (Has_Preelaborable_Initialization): New function
++      (Has_Null_Exclusion): New function. Given a node N, determine whether it
++      has a null exclusion depending on its Nkind.
++      Change Is_Lvalue to May_Be_Lvalue
++      (May_Be_Lvalue): Extensive additional code to deal with subprogram
++      arguments (IN parameters are not Lvalues, IN OUT parameters are).
++      (Safe_To_Capture_Value): Extend functionality so it can be used for
++      the current value condition case.
++      (Has_Compatible_Alignment): New function
++      (Is_Dependent_Component_Of_Mutable_Object): Revise the tests for mutable
++      objects to handle the Ada 2005 case, where aliasedness no longer implies
++      that the object is constrained. In particular, for dereferenced names,
++      the designated object must be assumed to be unconstrained.
++      (Kill_Current_Values): Properly deal with the case where we encounter
++      a loop in the scope chain.
++      (Safe_To_Capture_Value): Do not let a loop stop us from capturing
++      a value.
++      (Compile_Time_Constraint_Error): Improve error message in error case
++
++      * exp_ch13.adb (Expand_N_Freeze_Entity): Remove the freezing node
++      associated with entities of abstract interface primitives.
++      Call Apply_Address_Clause_Check instead of Apply_Alignment_Check
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++
++      * s-osinte-tru64.adb:
++      Mark Asm statements Volatile to prevent warnings (seems a
++      reasonable change anyway)
++      Fixes new warnings
++
++      * s-mastop-irix.adb: Add Volatile to Asm statements
++      Suppresses warning, and seems appropriate in any case
++
++      * s-osinte-vms.adb: Add Volatile to Asm statement
++
++      * s-vaflop-vms-alpha.adb: Add Volatile to Asm statements
++
++      * exp_code.ads, exp_code.adb (Asm_Input_Value): Note that Error can be
++      returned.
++      Add call to Check_Code_Statement
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Bob Duff  <duff@adacore.com>
++
++      * sinfo.ads, sinfo.adb (Set_Synchronized_Present,
++      Synchronized_Present): Add Formal_Derived_Type_Definition and
++      Private_Extension_Declaration to the list of assertions.
++      (Is_Entry_Barrier_Function): New flag
++      (Has_Self_Reference): New flag on aggregates, to indicate that they
++      contain a reference to the enclosing type, inserted through a default
++      initialization.
++      (Next_Rep_Item): Move from Node4 to Node5.
++      (Entity): Add this field for N_Attribute_Definition_Clause.
++      (Comes_From_Extended_Return_Statement): New flag on N_Return_Statement
++      (N_Return_Object_Declaration): Remove this node kind. We now use
++      N_Object_Declaration instead.
++      (Actual_Designated_Subtype): Move to a different place to make room in
++      N_Extended_Return_Statement.
++      (Procedure_To_Call): Move to a different place to make room in
++      N_Extended_Return_Statement.
++      (Return_Type): Removed this field to make room in return statements
++      (both kinds).
++      (Return_Statement_Entity): New field in return statements, in part to
++      replace Return_Type, and in part to support the fact that return
++      statements are now pushed on the scope stack during semantic analysis.
++      (Return_Object_Declarations): New field to support extended return
++      statements.
++      (N_Extended_Return_Statement): New node for extended_return_statement
++      nonterminal.
++      (N_Return_Object_Declaration): New node for part of
++      extended_return_statement nonterminal. Needed because all the necessary
++      fields won't fit in N_Extended_Return_Statement.
++      Generic_associations now carry the Box_Present flag, to indicate a
++      default for an actual in a partially parametrized formal package.
++
++      * snames.h, snames.ads, snames.adb: Add definition for Validity_Check
++      (Preset_Names): Add entries for Priority_Specific_Dispatching pragma
++      and for the new predefined dispatching policies: EDF_Across_Priorities,
++      Non_Preemptive_Within_Priorities, and Round_Robin_Within_Priorities.
++      Introduce new name Stub_Type for implementation defined attribute.
++      Add pragma Preelaborable_Initialization
++      Add entry for Priority attribute.
++      Add Pragma_Wide_Character_Encoding
++      (Get_Convention_Name): Given a convention id, this function returns the
++      corresponding name id from the names table.
++
++2006-10-31  Ed Schonberg  <schonberg@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Bob Duff  <duff@adacore.com>
++
++      * sprint.adb (Sprint_Node_Actual, case Parameter_Specification): Do not
++      print null exclusion twice in the case of an access definition,
++      Implement new -gnatL switch
++      Remove N_Return_Object_Declaration. We now use
++      N_Object_Declaration instead. Implement the case for
++      N_Extended_Return_Statement. Alphabetize the cases.
++      Add cases for new nodes N_Extended_Return_Statement and
++      N_Return_Object_Declaration. The code is not yet written.
++      Update the output for N_Formal_Object_Declaration
++      and N_Object_Renaming_Declaration.
++      (Write_Itype): Account for the case of a modular integer subtype whose
++      base type is private.
++
++2006-10-31  Arnaud Charlet  <charlet@adacore.com>
++
++      * s-restri.ads, s-restri.adb: Mark this package as Preelaborate.
++      Remove elaboration code, now done in the binder.
++
++      * s-rident.ads: Make this unit Preelaborate.
++      (No_Restrictions): New constant used to clean up code and follow
++      preelaborate constraints.
++
++      * s-stalib.adb:
++      Add System.Restrictions dependence, referenced directly from the
++      binder generated file.
++
++2006-10-31  Gary Dismukes  <dismukes@adacore.com>
++
++      * s-scaval.adb (Initialize): Add new Boolean flag AFloat that is set
++      True when AAMP extended floating-point is in use (48-bit). Change type
++      ByteLF to ByteLLF, add new array type ByteLF and condition the size of
++      the two byte array types on AFloat. Change type of IV_Ilf overlay
++      variable from Byte8 to ByteLF. Add appropriate initializations of
++      floating-point overlays for AAMP cases.
++
++2006-10-31  Javier Miranda  <miranda@adacore.com>
++
++      * s-tpoben.ads, s-tpoben.adb, s-taprob.ads, s-taprob.adb
++      (Get_Ceiling): New subprogram that returns
++      the ceiling priority of the protected object.
++      (Set_Ceiling): New subprogram that sets the new ceiling priority of
++      the protected object.
++
++      * s-tarest.adb: (Create_Restricted_Task): Fix potential CE.
++
++      * s-taskin.ads, s-taskin.adb: (Storage_Size): New function.
++
++2006-10-31  Jose Ruiz  <ruiz@adacore.com>
++
++      * s-tpobop.adb (Requeue_Call): Introduce a dispatching point when
++      requeuing to the same protected object to give higher priority tasks
++      the opportunity to execute.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++
++      * widechar.adb (Is_Start_Of_Wide_Char): In case of brackets encoding,
++      add more precise check for the character sequence that follows '[' to
++      avoid possible confusion in case if '[' is the last character of a
++      string literals.
++      (Scan_Wide): Always allow brackets encoding
++
++2006-10-31  Olivier Hainque  <hainque@adacore.com>
++
++      * s-stchop.ads: make this unit preelaborate. This is desirable in
++      general and made mandatory by the use of this unit by s-taprop which
++      is itself preelaborate.
++
++      * s-stchop-vxworks.adb (Set_Stack_Info, Task_Descriptor type): Add
++      Td_Events component.
++
++2006-10-31  Vincent Celier  <celier@adacore.com>
++
++      * a-dirval-vms.adb (Invalid_Character): Specify that digits are allowed
++      in file names.
++
++2006-10-31  Vincent Celier  <celier@adacore.com>
++
++      * a-direct.ads, a-direct.adb (Search): New procedure in Ada 2005
++
++2006-10-31  Vincent Celier  <celier@adacore.com>
++
++      * makegpr.adb (Check_Compilation_Needed): Take into account path names
++      with spaces.
++      (Check_Compilation_Needed): When checking a C or C++ source, do not
++      resolve symbolic links.
++      (Display_Command): New Boolean parameter Ellipse, defaulted to False.
++      When not in verbose mode and Ellipse is True, display "..." for the
++      first argument with Display set to False.
++      (Build_Global_Archive): Always set Display True for the first object
++      file. Call Display_Command with Ellipse set to True.
++
++2006-10-31  Matt Heaney  <heaney@adacore.com>
++
++      * a-crbtgo.ads: Commented each subprogram
++
++      * a-crbtgo.adb: Added reference to book from which algorithms were
++      adapted.
++
++      * a-crbtgk.ads, a-crbtgk.adb (Generic_Insert_Post): pass flag to
++      indicate which child.
++      (Generic_Conditional_Insert): changed parameter name from "Success" to
++      "Inserted".
++      (Generic_Unconditional_Insert_With_Hint): improved algorithm
++
++      * a-coorse.adb (Replace_Element): changed parameter name in call to
++      conditional insert operation.
++
++      * a-convec.adb, a-coinve.adb (Insert): removed obsolete comment
++
++      * a-cohama.adb (Iterate): manipulate busy-bit here, instead of in
++      Generic_Iteration
++
++      * a-ciorse.adb (Replace_Element): changed parameter name in call to
++      conditional insert operation.
++
++      * a-cihama.adb (Iterate): manipulate busy-bit here, instead of in
++      Generic_Iteration.
++
++      * a-cidlli.ads, a-cidlli.adb (Splice): Position param is now mode in
++      instead of mode inout.
++
++      * a-chtgop.adb (Adjust): modified comments to reflect current AI-302
++      draft
++      (Generic_Read): preserve existing buckets array if possible
++      (Generic_Write): don't send buckets array length anymore
++
++      * a-cdlili.ads, a-cdlili.adb (Splice): Position param is now mode in
++      instead of mode inout.
++
++      * a-cihase.adb (Difference): iterate over smaller of Tgt and Src sets
++      (Iterate): manipulate busy-bit here, instead of in Generic_Iteration
++
++      * a-cohase.adb (Difference): iterate over smaller of Tgt and Src sets
++      (Iterate): manipulate busy-bit here, instead of in Generic_Iteration
++      (Replace_Element): local operation is now an instantiation
++
++      * a-chtgke.ads, a-chtgke.adb (Generic_Conditional_Insert): manually
++      check current length.
++      (Generic_Replace_Element): new operation
++
++2006-10-31  Doug Rupp  <rupp@adacore.com>
++
++      * g-trasym-vms-alpha.adb: Dummy_User_Act_Proc: New function.
++      Call TBK$SYMBOLIZE without omitting parameters.
++
++2006-10-31  Vincent Celier  <celier@adacore.com>
++
++      * symbols-processing-vms-ia64.adb,
++      symbols-processing-vms-alpha.adb (Process): Do not include symbols
++      that come from generic instantiations in bodies.
++
++2006-10-31  Pat Rogers  <rogers@adacore.com>
++
++      * a-rttiev.ads, a-rttiev.adb:
++      This is a significant redesign primarily for the sake of automatic
++      timer task termination but also to fix a design flaw.
++      Therefore we are now using an RTS lock, instead of a protected
++      object, to provide mutual exclusion to the queue of pending events
++      and the type Timing_Event is no longer a protected type.
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++          Cyrille Comar  <comar@adacore.com>
++          Ben Brosgol  <brosgol@adacore.com>
++
++      * debug.adb:  Update flags documentation
++
++      * gnat_ugn.texi: Add documentation for new -gnatwq switch
++      Clean up documentation for several other warning switches
++      Clarify how task stack size can be specified with various
++      versions of Windows.
++      Add note that -gnatVo includes ranges including loops
++      Add documentation for -gnatL switch
++      Add note on elaboration warning for initializing variables
++      Add documentation for new -gnatwt warning switch
++      Document new form of pragma Warnings (On|Off, string)
++      Add comment on use of pragma Warnings to control warnings
++      Add documentation for -gnatjnn switch
++      Modify section on interfacing with C for VMS 64-bit.
++      Add doc for -gnatVe/E
++      Add documentation of new warning flags -gnatww/-gnatwW
++      Add warnings about address clause overlays to list of warnings
++      (Exception Handling Control): Document that the option --RTS must be
++      used consistently for gcc and gnatbind.
++      Clarify that inlining is not always possible
++      Update documentation on pragma Unchecked_Union.
++
++      * gnat_rm.texi:
++      Add documentation for new extended version of pragma Obsolescent
++      Add documentation for implementation defined attribute 'Stub_Type.
++      Add note on use of Volatile in asm statements
++      Add documentation on use of pragma Unreferenced in context clause
++      Document new form of pragma Warnings (On|Off, pattern)
++      Document pragma Wide_Character_Encoding
++      Add note that pragma Restrictions (No_Elaboration_Code) is only fully
++      enforced if code generation is active.
++      Add section on pragma Suppress to document GNAT specific check
++      Alignment_Check
++      Clarify difference between No_Dispatching_Calls & No_Dispatch.
++      Add documentation for pragma Restrictions (No_Elaboration_Code)
++
++      * gnat-style.texi:
++      Add comments on layout of subprogram local variables in the
++      presence of nested subprograms.
++
++      * ug_words: Resync.
++
++      * elists.ads: Minor reformatting
++      Node returns Node_Or_Entity_Id (doc change only)
++
++      * xgnatugn.adb: Replace ACADEMICEDITION with GPLEDITION
++
++      * g-arrspl.ads (Create): Update comments.
++
++      * sem.ads: Add details on the handling of the scope stack.
++
++      * usage.adb: Update documentation.
++
++      * validsw.ads, validsw.adb:
++      Add definition of Validity_Check_Components and implement -gnatVe/E
++
++      * vms_data.ads: Add missing VMS qualifiers.
++
++      * s-addope.ads: Add documentation on overflow and divide by zero
++
++2006-10-31  Robert Dewar  <dewar@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++          Arnaud Charlet  <charlet@adacore.com>
++
++      * fmap.adb: Put routines in alpha order
++
++      * g-boumai.ads: Remove redundant 'in' keywords
++
++      * g-cgi.adb: Minor reformatting
++
++      * g-cgi.ads: Remove redundant 'in' keywords
++
++      * get_targ.adb: Put routines in alpha order
++
++      * prj-attr.ads: Minor reformatting
++
++      * s-atacco.ads: Minor reformatting
++
++      * scn.adb: Put routines in alpha order
++
++      * sinput-l.adb: Minor comment fix
++
++      * sinput-p.adb: Minor comment fix
++
++      * s-maccod.ads: Minor reformatting
++
++      * s-memory.adb: Minor reformatting
++
++      * s-htable.adb: Fix typo in comment.
++
++      * s-secsta.adb: Minor comment update.
++
++      * s-soflin.adb: Minor reformatting
++
++      * s-stoele.ads:
++      Add comment about odd qualification in Storage_Offset declaration
++
++      * s-strxdr.adb:
++      Remove unnecessary 'in' keywords for formal parameters.
++
++      * treeprs.adt: Minor reformatting
++
++      * urealp.adb: Put routines in alpha order
++
++      * s-wchcon.ads, s-wchcon.adb (Get_WC_Encoding_Method): New version
++      taking string.
++
++      * s-asthan-vms-alpha.adb: Remove redundant 'in' keywords
++
++      * g-trasym-vms-ia64.adb: Remove redundant 'in' keywords
++
++      * env.c (__gnat_unsetenv): Unsetenv is unavailable on LynxOS, so
++      workaround as on other platforms.
++
++      * g-eacodu-vms.adb: Remove redundant 'in' keywords
++      * g-expect-vms.adb: Remove redundant 'in' keywords
++
++      * gnatdll.adb (Add_Files_From_List): Handle Name_Error and report a
++      clear error message if the list-of-files file cannot be opened.
++
++      * g-thread.adb (Unregister_Thread_Id): Add use type Thread_Id so the
++      equality operator is always visible.
++
++      * lang.opt: Woverlength-strings: New option.
++
++      * nmake.adt:
++      Update copyright, since nmake.ads and nmake.adb have changed.
++
++      * osint-b.ads, osint-b.adb (Time_From_Last_Bind): removed function .
++      (Binder_Output_Time_Stamps_Set): removed.
++      (Old_Binder_Output_Time_Stamp): idem.
++      (New_Binder_Output_Time_Stamp): idem.
++      (Recording_Time_From_Last_Bind): idem.
++      (Recording_Time_From_Last_Bind): Make constant.
++
++      * output.ads, output.adb (Write_Str): Allow LF characters
++      (Write_Spaces): New procedure
++
++      * prepcomp.adb (Preproc_Data_Table): Change Increment from 5% to 100%
++
++      * inline.adb: Minor reformatting
++
++      * s-asthan-vms-alpha.adb: Remove redundant 'in' keywords
++
++      * s-mastop-vms.adb: Remove redundant 'in' keywords
++
++      * s-osprim-vms.adb: Remove redundant 'in' keywords
++
++      * s-trafor-default.adb: Remove redundant 'in' keywords
++
++      * 9drpc.adb: Remove redundant 'in' keywords
++
++      * s-osinte-mingw.ads: Minor reformatting
++
++      * s-inmaop-posix.adb: Minor reformatting
++
++      * a-direio.ads: Remove quotes from Compile_Time_Warning message
++
++      * a-exexda.adb: Minor code reorganization
++
++      * a-filico.adb: Minor reformatting
++
++      * a-finali.adb: Minor reformatting
++
++      * a-nudira.ads: Remove quote from Compile_Time_Warning message
++
++      * a-numeri.ads: Minor reformatting
++
++      * a-sequio.ads: Remove quotes from Compile_Time_Warning message
++
++      * exp_pakd.ads: Fix obsolete comment
++
++      * a-ztenau.adb, a-ztenio.adb, a-wtenau.adb, a-tienau.adb,
++      a-wtenio.adb (Put): Avoid assuming low bound of string is 1.
++      Probably not a bug, but certainly neater and more efficient.
++
++      * a-tienio.adb: Minor reformatting
++
++      * comperr.adb (Compiler_Abort): Call Cancel_Special_Output at start
++      Avoid assuming low bound of string is 1.
++
++      * gnatbind.adb: Change Bindusg to package and rename procedure as
++      Display, which now ensures that it only outputs usage information once.
++      (Scan_Bind_Arg): Avoid assuming low bound of string is 1.
++
++      * g-pehage.adb (Build_Identical_Keysets): Replace use of 1 by
++      Table'First.
++
++      * g-regpat.adb (Insert_Operator): Add pragma Warnings (Off) to kill
++      warning.
++      (Match): Add pragma Assert to ensure that Matches'First is zero
++
++      * g-regpat.ads (Match): Document that Matches lower bound must be zero
++
++      * makeutl.adb (Is_External_Assignment): Add pragma Assert's to check
++      documented preconditions (also kills warnings about bad indexes).
++
++      * mdll.adb (Build_Dynamic_Library): Avoid assumption that Afiles'First
++      is 1.
++      (Build_Import_Library): Ditto;
++
++      * mdll-utl.adb: (Gnatbind): Avoid assumption that Alis'First = 1
++
++      * rtsfind.adb (RTE_Error_Msg): Avoid assuming low bound of string is 1.
++
++      * sem_case.adb (Analyze_Choices): Add pragma Assert to check that
++      lower bound of choice table is 1.
++
++      * sem_case.ads (Analyze_Choices): Document that lower bound of
++      Choice_Table is 1.
++
++      * s-imgdec.adb (Set_Decimal_Digits): Avoid assuming low bound of
++      string is 1.
++
++      * uintp.adb (Init_Operand): Document that low bound of Vec is always 1,
++      and add appropriate Assert pragma to suppress warnings.
++
++      * atree.h, atree.ads, atree.adb
++      Change Elist24 to Elist25
++      Add definitions of Field28 and Node28
++      (Traverse_Field): Use new syntactic parent table in sinfo.
++
++      * cstand.adb: Change name Is_Ada_2005 to Is_Ada_2005_Only
++
++      * itypes.adb: Change name Is_Ada_2005 to Is_Ada_2005_Only
++
++      * exp_tss.adb: Put routines in alpha order
++
++      * fe.h: Remove redundant declarations.
++
++2006-10-23 Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
++
++      * utils.c (builtin_function): Rename to gnat_builtin_function.
++      Move common code to add_builtin_function.
++      * misc.c (LANG_HOOKS_BUILTIN_FUNCTION): Define as
++      gnat_builtin_function.
++      * gigi.h (builtin_function): Rename to gnat_builtin_function.
++      Change the signature.
++
++2006-10-16  Brooks Moses  <bmoses@stanford.edu>
++
++      * Makefile.in: Add TEXI2PDF definition.
++      * Make-lang.in: Add "ada.pdf" target.
++
++2006-10-03  Kazu Hirata  <kazu@codesourcery.com>
++
++      * decl.c, utils.c: Fix comment typos.
++      * utils.c: Fix a typo.
++
++2006-09-28  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set "const" flag
++      on "pure" Ada subprograms if SJLJ exceptions are used.
++      * trans.c (Handled_Sequence_Of_Statements_to_gnu): Set TREE_NO_WARNING
++      on the declaration node of JMPBUF_SAVE.
++      * utils.c (init_gigi_decls): Set DECL_IS_PURE on the declaration nodes
++      of Get_Jmpbuf_Address_Soft and Get_GNAT_Exception.
++      * utils2.c (build_call_0_expr): Do not set TREE_SIDE_EFFECTS.
++
++2006-08-20  Laurent Guerby  <laurent@guerby.net>
++
++      PR ada/28716
++      g-socket.adb (Bind_Socket): Call Set_Address.
++
++2006-09-15  Eric Botcazou  <ebotcazou@adacore.com>
++
++      PR ada/15802
++      * decl.c (same_discriminant_p): New static function.
++      (gnat_to_gnu_entity) <E_Record_Type>: When there is a parent
++      subtype and we have discriminants, fix up the COMPONENT_REFs
++      for the discriminants to make them reference the corresponding
++      fields of the parent subtype after it has been built.
++
++2006-09-15  Roger Sayle  <roger@eyesopen.com>
++
++      PR ada/18817
++      * utils.c (max_size): Perform constant folding of (A ? B : C) - D
++      into A ? B - D : C - D when calculating the size of a MINUS_EXPR.
++
++2006-09-13  Olivier Hainque  <hainque@adacore.com>
++
++      PR ada/29025
++      * trans.c (gnat_gimplify_expr) <ADDR_EXPR>: When taking the address
++      of a SAVE_EXPR, just make the operand addressable/not-readonly and
++      let the common gimplifier code make and propagate a temporary copy.
++      (call_to_gnu): Clarify the use of SAVE_EXPR for not addressable
++      out/in-out actuals and defer setting the addressable/readonly bits
++      to the gimplifier.
++
++2006-09-13  Eric Botcazou  <ebotcazou@adacore.com>
++
++      PR ada/28591
++      * decl.c (components_to_record): Defer emitting debug info for the
++      record type associated with the variant until after we are sure to
++      actually use it.
++
++2006-09-13  Eric Botcazou  <ebotcazou@adacore.com>
++
++      PR ada/21952
++      * gigi.h (gnat_internal_attribute_table): Declare.
++      * misc.c (LANG_HOOKS_ATTRIBUTE_TABLE): Define to above.
++      * utils.c (gnat_internal_attribute_table): New global variable.
++      (builtin_function): Always call decl_attributes on the builtin.
++      (handle_const_attribute): New static function.
++      (handle_nothrow_attribute): Likewise.
++
++2006-07-28  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
++
++      * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
++
++2006-06-23  Olivier Hainque  <hainque@adacore.com>
++
++      * misc.c (gnat_type_max_size): Look at TYPE_ADA_SIZE if we have
++      not been able to get a constant upper bound from TYPE_SIZE_UNIT.
++
++2006-06-20  James A. Morrison  <phython@gcc.gnu.org>
++          Eric Botcazou  <ebotcazou@adacore.com>
++
++      PR ada/18692
++      * Make-lang.in: Add check-gnat to lang_checks.  Rename existing
++      check-gnat into check-acats.
++
++2006-06-17  Karl Berry  <karl@gnu.org>
++
++      * gnat-style.texi (@dircategory): Use "Software development"
++      instead of "Programming", following the Free Software Directory.
++
++2006-06-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
++
++      PR ada/27944
++      * s-taprop-hpux-dce.adb: Delete redundant 'with System.Parameters'.
++
++2006-06-06  Laurent Guerby  <laurent@guerby.net>
++
++      PR ada/27769
++      mlib-utl.adb: Use Program_Name.
++
++2006-05-28  Kazu Hirata  <kazu@codesourcery.com>
++
++      * decl.c, env.c, gigi.h, init.c, initialize.c, raise-gcc.c,
++      sem_ch13.adb, sysdep.c, targtyps.c, tb-alvxw.c, tracebak.c,
++      trans.c, utils.c: Fix comment typos.  Follow spelling
++      conventions.
++      * gnat_rm.texi, gnat_ugn.texi, : Fix typos.  Follow spelling
++      conventions.
++
++2006-05-19  Nicolas Setton  <setton@adacore.com>
++
++      * misc.c (gnat_dwarf_name): New function.
++      (LANG_HOOKS_DWARF_NAME): Define to it.
++
++2006-05-14  H.J. Lu  <hongjiu.lu@intel.com>
++
++      * Make-lang.in (ada/decl.o): Replace target.h with $(TARGET_H).
++      (ada/misc.o): Likewise.
++      (ada/utils.o): Likewise.
++
++2006-04-08  Aurelien Jarno  <aurel32@debian.org>
++
++      * Makefile.in: Add Ada support for GNU/kFreeBSD.
++      * s-osinte-kfreebsd-gnu.ads: New file.
++
++2006-03-29  Carlos O'Donell  <carlos@codesourcery.com>
++
++      * Make-lang.in: Rename docdir to gcc_docdir.
++
++2006-03-04  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * gigi.h (get_ada_base_type): Delete.
++      * utils2.c (get_ada_base_type): Likewise.
++      * trans.c (convert_with_check): Operate in the real base type.
++
++2006-03-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * uintp.adb (Num_Bits): Handle Uint_Int_First specially.
++
++2006-03-02  Richard Sandiford  <richard@codesourcery.com>
++
++      * utils.c (create_var_decl): Use have_global_bss_p when deciding
++      whether to make the decl common.
++
++2006-02-20  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
++
++      * Make-lang.in (Ada): Remove.
++      (.PHONY): Remove Ada
++
++2006-02-17  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch4.adb (Find_Boolean_Types): If one of the operands is an
++      aggregate, check the interpretations of the other operand to find one
++      that may be a boolean array.
++
++      (Analyze_Selected_Component): Fix flow-of-control typo in case where
++      the prefix is a private extension.
++
++2006-02-17  Eric Botcazou  <botcazou@adacore.com>
++
++      PR ada/26315
++      * utils2.c (find_common_type): If both input types are BLKmode and
++      have the same constant size, keep using the first one.
++
++      * bindgen.adb: (Gen_Versions_Ada): Revert previous workaround.
++
++      * decl.c (gnat_to_gnu_entity): Only check TREE_OVERFLOW for a constant.
++
++      * misc.c (gnat_handle_option): New case for -Woverlength-strings.
++
++2006-02-17  Jose Ruiz  <ruiz@adacore.com>
++
++      * s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
++      s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
++      s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-lynxos.adb,
++      s-taprop-tru64.adb (Set_False, Set_True, Suspend_Until_True): Add
++      Abort_Defer/Undefer pairs to avoid the possibility of a task being
++      aborted while owning a lock.
++
++2006-02-17  Javier Miranda  <miranda@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * exp_ch4.adb (Expand_N_Allocator): If the allocated object is accessed
++      through an access to class-wide interface we force the displacement of
++      the pointer to the allocated object to reference the corresponding
++      secondary dispatch table.
++      (Expand_N_Op_Divide): Allow 64 bit divisions by small power of 2,
++      if Long_Shifts are supported on the target, even if 64 bit divides
++      are not supported (configurable run time mode).
++      (Expand_N_Type_Conversion): Do validity check if validity checks on
++      operands are enabled.
++      (Expand_N_Qualified_Expression): Do validity check if validity checks
++      on operands are enabled.
++
++2006-02-17  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_dbug.adb (Debug_Renaming_Declaration): Indicate that the entity
++      must be materialized when the renamed expression is an explicit
++      dereference.
++
++2006-02-17  Ed Schonberg  <schonberg@adacore.com>
++
++      * freeze.adb (Statically_Discriminated_Components): Return false if
++      the bounds of the type of the discriminant are not static expressions.
++
++      * sem_aggr.adb (Check_Static_Discriminated_Subtype): Return false if
++      the bounds of the discriminant type are not static.
++
++2006-02-17  Robert Dewar  <dewar@adacore.com>
++
++      * g-os_lib.adb (Copy_File): Make sure that if From has an Invalid_FD,
++      then we close To if it is valid.
++
++2006-02-17  Vasiliy Fofanov  <fofanov@adacore.com>
++
++      * init.c (facility_resignal_table): new array
++      (__gnat_default_resignal_p): enhance default predicate to resignal if
++      VMS condition has one of the predefined facility codes.
++
++2006-02-17  Vasiliy Fofanov  <fofanov@adacore.com>
++
++      * Makefile.in: Use VMS64 specialized versions of several units in
++      Interfaces.C hierarchy to be compatible with HP C default size choices.
++      Use the default version of Ada.Synchronous_Task_Control for VxWorks 653.
++
++2006-02-17  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch10.adb (Analyze_With_Clause): If the unit is a subprogram
++      instantiation, the corresponding entity is the related_instance of the
++      wrapper package created for the instance.
++
++2006-02-17  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch12.adb (Analyze_Package_Instantiation): Inline_Now is false if
++      the current instance is nested within another instance in a child unit.
++
++2006-02-17  Javier Miranda  <miranda@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch3.adb (Build_Discriminated_Subtype): In case of concurrent
++      type we cannot inherit the primitive operations; we inherit the
++      Corresponding_Record_Type (which has the list of primitive operations).
++      (Check_Anonymous_Access_Types): When creating anonymous access types for
++      access components, use Rewrite in order to preserve the tree structure,
++      for ASIS use.
++      (Analyze_Object_Declaration): For limited types with access
++      discriminants with defaults initialized by an aggregate, obtain
++      subtype from aggregate as for other mutable types.
++      (Derived_Type_Declaration): If the derived type is a limited interface,
++      set the corresponding flag (Is_Limited_Record is not sufficient).
++
++2006-02-17  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch6.adb (Build_Body_To_Inline): Enforce the rule that in order
++      to inline a function that returns an unconstrained type, the return
++      expression must be the first variable declared in the body of the
++      function.
++
++2006-02-17  Javier Miranda  <miranda@adacore.com>
++
++      * sem_res.adb (Resolve_Type_Conversion): In case of conversion to an
++      abstract interface type, the static analysis is not enough to know if
++      the interface is implemented or not by the source tagged type. Hence
++      we must pass the work to the expander to generate the required code to
++      evaluate the conversion at run-time.
++      (Resolve_Equality_Op): Do not apply previous
++      transformation if expansion is disasbled, to prevent anomalies when
++      locating global references in a generic unit.
++
++2006-02-17  Vincent Celier  <celier@adacore.com>
++
++      * snames.ads, snames.adb: New standard names for new project attributes:
++      archive_builder, archive_indexer, compiler_pic_option,
++      config_body_file_name, config_body_file_name_pattern,
++      config_file_switches, config_file_unique, config_spec_file_name,
++      config_spec_file_name_pattern, default_builder_switches,
++      default_global_compiler_switches, default_language,
++      dependency_file_kind, global_compiler_switches, include_path,
++      include_path_file, language_kind, linker_executable_option,
++      linker_lib_dir_option, linker_lib_name_option, mapping_file_switches,
++      roots, runtime_project.
++
++2006-02-17  Matthew Heaney  <heaney@adacore.com>
++
++      * a-convec.ads, a-convec.adb:
++      (operator "&"): handle potential overflow for large index types
++      (Insert): removed Contraint_Error when using large index types
++      (Insert_Space): removed Constraint_Error for large index types
++      (Length): moved constraint check from Length to Insert
++
++      * a-coinve.ads, a-coinve.adb: Stream attribute procedures are declared
++      as not null access.
++      Explicit raise statements now include an exception message.
++      (operator "&"): handle potential overflow for large index types
++      (Insert): removed Contraint_Error when using large index types
++      (Insert_Space): removed Constraint_Error for large index types
++      (Length): moved constraint check from Length to Insert
++
++2006-02-17  Robert Dewar  <dewar@adacore.com>
++
++      * s-wchcnv.adb: Document handling of [ on output (we do not change
++      this to ["5B"] and the new comments say why not.
++
++      * gnat_ugn.texi:
++      Add note for -gnatVo that this now includes the cases of type
++      conversions and qualified expressions.
++      Add comments on handling of brackets encoding for Text_IO
++
++2006-02-17  Ramon Fernandez  <fernandez@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * expander.adb: Fix typo in comment
++
++      * exp_pakd.adb: Fix typo
++      Minor comment reformatting.
++
++      * g-dyntab.adb: Minor reformatting
++
++      * exp_ch6.adb (Register_Interface_DT_Entry): Traverse the list of
++      aliased subprograms to look for the abstract interface subprogram.
++
++2006-02-16  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * env.c (__gnat_setenv): Use size_t.
++      (__gnat_unsetenv): Likewise.
++      (__gnat_clearenv): Likewise.
++
++2006-02-16  Arnaud Charlet  <charlet@adacore.com>
++
++      * opt.ads (Ada_Version_Default): Set to Ada 2005 by default.
++
++2006-02-13  Arnaud Charlet  <charlet@adacore.com>
++
++      * a-intnam-os2.ads, a-intnam-unixware.ads, g-soccon-unixware.ads,
++      g-soliop-unixware.ads, i-os2err.ads, i-os2lib.adb, i-os2lib.ads,
++      i-os2syn.ads, i-os2thr.ads, s-intman-irix-athread.adb,
++      s-osinte-aix-fsu.ads, s-osinte-fsu.adb, s-parame-os2.adb,
++      s-osinte-irix-athread.ads, s-osinte-linux-fsu.ads, s-osinte-os2.adb,
++      s-osinte-os2.ads, s-osinte-solaris-fsu.ads, s-osinte-unixware.adb,
++      s-osinte-unixware.ads, s-osprim-os2.adb, s-taprop-irix-athread.adb,
++      s-taprop-os2.adb, s-tasinf-irix-athread.adb, s-tasinf-irix-athread.ads,
++      s-taspri-os2.ads, system-os2.ads, system-unixware.ads: Removed,
++      no longer used.
++
++2006-02-13  Jose Ruiz  <ruiz@adacore.com>
++
++      * a-taster.adb (Current_Task_Fallback_Handler): Document why explicit
++      protection against race conditions is not needed.
++      (Set_Dependents_Fallback_Handler): Add mutual exclusive access to the
++      fallback handler.
++      (Set_Specific_Handler): Add mutual exclusive access to the specific
++      handler.
++      (Specific_Handler): Add mutual exclusive access for retrieving the
++      specific handler.
++
++      * s-tarest.adb (Task_Wrapper): Add mutual exclusive access to the fall
++      back handler.
++
++      * s-taskin.ads (Common_ATCB): Remove pragma Atomic for
++      Fall_Back_Handler and Specific_Handler.
++
++      * s-tassta.adb (Task_Wrapper): Add mutual exclusive access to the task
++      termination handlers.
++      Set two different owerflow depending on the maximal stack size.
++
++      * s-solita.adb (Task_Termination_Handler_T): Document why explicit
++      protection against race conditions is not needed when executing the
++      task termination handler.
++
++2006-02-13  Robert Dewar  <dewar@adacore.com>
++
++      * s-gloloc-mingw.adb, a-cgaaso.ads, a-stzmap.adb, a-stzmap.adb,
++      a-stzmap.ads, a-ztcoio.adb, a-ztedit.adb, a-ztedit.ads, a-ztenau.adb,
++      a-ztenau.ads, a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
++      a-comlin.adb, a-decima.adb, a-decima.ads, a-direio.adb, a-direio.adb,
++      a-direio.adb, a-direio.ads, a-ngcoty.adb, a-ngcoty.ads, a-nuflra.adb,
++      a-nuflra.ads, a-sequio.adb, a-sequio.ads, a-sequio.ads, a-storio.ads,
++      a-stream.ads, a-ststio.adb, a-ststio.adb, a-ststio.ads, a-ststio.ads,
++      a-stwima.adb, a-stwima.adb, a-stwima.ads, a-stwise.adb, a-teioed.adb,
++      a-teioed.ads, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tasatt.ads,
++      a-tideau.adb, a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
++      a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.ads, a-tiflau.adb,
++      a-tiflau.ads, a-tiflio.adb, a-tiflio.adb, a-tiflio.ads, a-tigeau.ads,
++      a-tiinau.adb, a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoio.adb,
++      a-timoio.ads, a-titest.adb, a-titest.ads, a-wtcoio.adb, a-wtdeau.adb,
++      a-wtdeau.ads, a-wtdeio.adb, a-wtdeio.ads, a-wtedit.adb, a-wtedit.adb,
++      a-wtedit.ads, a-wtenau.adb, a-wtenau.ads, a-wtenau.ads, a-wtenio.adb,
++      a-wtenio.ads, a-wtfiio.adb, a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads,
++      a-wtflio.adb, a-wtflio.adb, a-wtflio.ads, a-wtgeau.ads, a-wtinau.adb,
++      a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb, a-wtmoau.ads,
++      a-wtmoio.adb, a-wtmoio.ads, xref_lib.adb, xref_lib.ads, xr_tabls.adb,
++      g-boubuf.adb, g-boubuf.ads, g-cgideb.adb, g-io.adb, gnatdll.adb,
++      g-pehage.adb, i-c.ads, g-spitbo.adb, g-spitbo.ads, mdll.adb,
++      mlib-fil.adb, mlib-utl.adb, mlib-utl.ads, prj-env.adb, prj-tree.adb,
++      prj-tree.ads, prj-util.adb, s-arit64.adb, s-asthan.ads, s-auxdec.adb,
++      s-auxdec.ads, s-chepoo.ads, s-direio.adb, s-direio.ads, s-errrep.adb,
++      s-errrep.ads, s-fileio.adb, s-fileio.ads, s-finroo.adb, s-finroo.ads,
++      s-gloloc.adb, s-gloloc.ads, s-io.adb, s-io.ads, s-rpc.adb,
++      s-rpc.ads, s-shasto.ads, s-sequio.adb, s-stopoo.ads, s-stratt.adb,
++      s-stratt.ads, s-taasde.adb, s-taasde.ads, s-tadert.adb, s-sequio.ads,
++      s-taskin.adb, s-tasque.adb, s-tasque.ads, s-wchjis.ads, makegpr.adb,
++      a-coinve.adb, a-cidlli.adb, eval_fat.adb, exp_dist.ads, exp_smem.adb,
++      fmap.adb, g-dyntab.ads, g-expect.adb, lib-xref.ads, osint.adb,
++      par-load.adb, restrict.adb, sinput-c.ads, a-cdlili.adb,
++      system-vms.ads, system-vms-zcx.ads, system-vms_64.ads: Minor
++      reformatting.
++
++2006-02-13  Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * a-tasatt.adb, s-osinte-lynxos-3.adb, s-osinte-lynxos.adb,
++      s-osinte-aix.adb, s-interr-sigaction.adb, s-asthan-vms-alpha.adb,
++      s-interr-vms.adb, s-intman-vms.adb, s-interr-vxworks.adb,
++      s-intman-vxworks.adb, s-asthan-vms-alpha.adb, a-ztexio.adb,
++      a-reatim.adb, a-taside.adb, a-textio.adb, a-witeio.adb, prj-attr.adb,
++      s-intman-irix.adb, s-intman-solaris.adb, s-intman-posix.adb,
++      a-dynpri.adb, a-interr.adb, g-dynhta.adb, s-asthan.adb, s-interr.adb,
++      s-pooglo.adb, s-pooloc.adb, s-poosiz.adb, s-tasren.adb, s-tasuti.adb,
++      s-tataat.adb, s-tpobop.adb: Remove redundant with clauses.
++
++2006-02-13  Arnaud Charlet  <charlet@adacore.com>
++
++      * s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-vxworks.ads,
++      s-osinte-solaris.ads, s-osinte-linux.ads, s-osinte-freebsd.ads,
++      s-osinte-solaris-posix.ads, s-osinte-lynxos-3.ads, s-osinte-lynxos.ads,
++      s-osinte-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads,
++      s-osinte-hpux-dce.ads, s-osinte-linux-hppa.ads,
++      s-osinte-linux-alpha.ads, s-inmaop-posix.adb (sigset_t_ptr): Removed,
++      replaced by anonymous access type.
++      (pthread_sigmask): Now take an access sigset_t
++
++      * s-osinte-hpux.ads:  Ditto.
++      (pthread_mutex_t, pthread_cond_t): Update definitions to support
++      properly 32 and 64 bit ABIs.
++
++2006-02-13  Pascal Obry  <obry@adacore.com>
++
++      * s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb,
++      s-taprop-lynxos.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
++      s-taprop-linux.adb, s-taprop-solaris.adb,
++      s-taprop-vms.adb (Create_Task): Remove task adjustment code. This
++      adjustement is already done when calling this routine.
++
++2006-02-13  Pascal Obry  <obry@adacore.com>
++
++      * system-mingw.ads (Underlying_Priorities): Update the priority mapping
++      table to take advantage of the 16 priority levels available on Windows
++      2000 and XP. On NT4 there are only 7 priority levels, this is properly
++      supported by this new mapping.
++
++2006-02-13  Nicolas Setton  <setton@adacore.com>
++
++      * adadecode.h, adadecode.c: (__gnat_decode): Improve support of types.
++      (get_encoding): New subprogram. Extracts the encodings from an encoded
++      Ada name.
++
++2006-02-13  Pascal Obry  <obry@adacore.com>
++          Nicolas Roche  <roche@adacore.com>
++          Arnaud Charlet  <charlet@adacore.com>
++
++      * adaint.h, adaint.c (DIR_SEPARATOR): Use _T() macro for Unicode
++      support.
++      (__gnat_try_lock): Add unicode support by using a specific section on
++      Windows.
++      (__gnat_get_current_dir): Idem.
++      (__gnat_open_read): Idem.
++      (__gnat_open_rw): Idem.
++      (__gnat_open_create): Idem.
++      (__gnat_create_output_file): Idem.
++      (__gnat_open_append): Idem.
++      (__gnat_open_new): Idem.
++      (__gnat_file_time_name): Idem.
++      (__gnat_set_file_time_name): Idem.
++      (__gnat_stat): Idem.
++      (win32_no_block_spawn): Idem.
++      (__gnat_locate_exec_on_path): Idem.
++      (__gnat_opendir): New routine.
++      (__gnat_closedir): Idem.
++      (__gnat_readdir): Add new parameter length (pointer to int). Update
++      implementation to use it and add specific Win32 code for Unicode
++      support.
++      (__gnat_get_env_value_ptr): Remove. Replaced by __gnat_getenv in env.c
++      (__gnat_set_env_value): Remove. Replaced by __gnat_setenv in env.c
++      (convert_addresses): Do not define this dummy routine on VMS.
++
++      * mingw32.h (GNAT_UNICODE_SUPPORT): New definition, if set the GNAT
++      runtime Unicode support will be activated.
++      (S2WS): String to Wide-String conversion. This version just copy a
++      string in non Unicode version.
++      (WS2S): Wide-String to String conversion. This version just copy a
++      string in non Unicode version.
++
++      * g-dirope.adb: (Close): Now import __gnat_closedir from adaint.c.
++      (Open): Now import __gnat_opendir from adaint.c.
++      (Read): Change the implementation to support unicode characters. It is
++      not possible to use strlen() on Windows as this version supports only
++      standard ASCII characters. So the length of the directory entry is now
++      returned from the imported __gnat_readdir routine.
++      Update copyright notice.
++
++      * s-crtl-vms64.ads, s-crtl.ads: (closedir): Moved to adaint.c.
++      (opendir): Moved to adaint.c.
++
++      * g-os_lib.adb (Copy_Time_Stamp): Fix off-by-one range computation.
++      (Get_Directory): Fix wrong indexing.
++      (Getenv): replace __gnat_get_env_value_ptr from adaint.c by
++      __gnat_getenv from env.c
++      (Setenv): replace __gnat_set_env_value from adaint.c by __gnat_setenv
++      from env.c
++
++      * env.h, env.c: New file.
++
++      * s-scaval.adb (Initialize): Replace __gnat_get_env_value_ptr from
++      adaint.c by __gnat_getenv from env.c
++
++      * s-shasto.adb (Initialize): replace __gnat_get_env_value_ptr from
++      adaint.c by __gnat_getenv from env.c
++
++      * Make-lang.in: Add env.o in the list of C object needed by gnat1
++      and gnatbind.
++      Update dependencies.
++
++2006-02-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++          Olivier Hainque  <hainque@adacore.com>
++          Eric Botcazou  <ebotcazou@adacore.com>
++
++      * ada-tree.h: (TYPE_UNCHECKED_UNION_P): Deleted.
++
++      * gigi.h (value_factor_p): Add prototype and description, now public.
++
++      * decl.c (gnat_to_gnu_field): Don't attempt BLKmode to integral type
++      promotion for field with rep clause if the associated size was proven
++      to be in error.
++      Expand comments describing attempts to use a packable type.
++      (gnat_to_gnu_entity) <E_Signed_Integer_Subtype,
++      E_Floating_Point_Subtype>: Inherit alias set of what we are making a
++      subtype of to ensure conflicts amongst all subtypes in a hierarchy,
++      necessary since these are not different types and pointers may
++      actually designate any subtype in this hierarchy.
++      (gnat_to_gnu_entity, case E_Record_Type): Always make fields for
++      discriminants but put them into record only if not Unchecked_Union;
++      pass flag to components_to_record showing Unchecked_Union.
++      (make_dummy_type): Use UNION_TYPE only if Unchecked_Union and no
++      components before variants; don't set TYPE_UNCHECKED_UNION_P.
++      (components_to_record): New argument UNCHECKED_UNION.
++      Remove special case code for Unchecked_Union and instead use main code
++      with small changes.
++
++      PR ada/26096
++      (gnat_to_gnu_entity) <E_Variable>: Do not initialize the aligning
++      variable with the expression being built, only its inner field.
++
++      * trans.c (Handled_Sequence_Of_Statements_to_gnu): Remove call to
++      emit_sequence_entry_statements.
++      (emit_sequence_entry_statements, body_with_handlers_p): Delete.
++      (establish_gnat_vms_condition_handler): Move before
++      Subprogram_Body_to_gnu.
++      (Subprogram_Body_to_gnu): On VMS, establish_gnat_vms_condition_handler
++      for a subprogram if it has a foreign convention or is exported.
++      (Identifier_to_gnu): Manually unshare the DECL_INITIAL tree when it is
++      substituted for a CONST_DECL.
++      (tree_transform, case N_Aggregate): Remove code for UNION_TYPE and pass
++      Etype to assoc_to_constructor.
++      (assoc_to_constructor): New argument, GNAT_ENTITY; use it to ignore
++      discriminants of Unchecked_Union.
++      (TARGET_ABI_OPEN_VMS): Define to 0 if not defined, so that later uses
++      don't need cluttering preprocessor directives.
++      (establish_gnat_vms_condition_handler): New function. Establish the GNAT
++      condition handler as current in the compiled function.
++      (body_with_handlers_p): New function. Tell whether a given sequence of
++      statements node is attached to a package or subprogram body and involves
++      exception handlers possibly nested within inner block statements.
++      (emit_sequence_entry_statements): New function, to emit special
++      statements on entry of sequences when necessary. Establish GNAT
++      condition handler in the proper cases for VMS.
++      (Handled_Sequence_Of_Statements_to_gnu): Start block code with
++      emit_sequence_entry_statements.
++
++      * utils2.c (find_common_type): If both input types are BLKmode and
++      have a constant size, use the smaller one.
++      (build_simple_component_ref): Also match if FIELD and NEW_FIELD are
++      the same.
++
++      * utils.c (value_factor_p): Make public, to allow uses from other gigi
++      units.
++      (create_type_decl): Do not set the flag DECL_IGNORED_P for dummy types.
++      (convert, case UNION_TYPE): Remove special treatment for unchecked
++      unions.
++
++      PR ada/18659
++      (update_pointer_to): Update variants of pointer types to unconstrained
++      arrays by attaching the list of fields of the main variant.
++
++2006-02-13  Arnaud Charlet  <charlet@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * a-exexpr.adb, a-exexpr-gcc.adb
++      (Process_Raise_Exception): Removed, merged with Propagate_Exception.
++      (Propagate_Exception): Now take extra From_Signal_Handler parameter.
++      Remove code unused for exception propagation for the compiler itself
++      from a-except.adb and update to still share separate packages.
++
++      * a-except.ads, a-except.adb: Ditto.
++      Add comments that this version is now used only by the compiler and
++      other basic tools. The full version that includes the Ada 2005 stuff
++      is in separate files a-except-2005.ads/adb. The reason is that we do
++      not want to cause bootstrap problems with compilers not recognizing
++      Wide_Wide_String.
++      Add exception reason code PE_Implicit_Return
++      Add new exception reason code (Null Exception_Id)
++
++      * a-except-2005.adb, a-except-2005.ads: New files.
++
++      * s-wchcon.ads: (Get_WC_Encoding_Method): New function.
++
++      * s-wchcon.adb: New file.
++
++      * Makefile.in (LIBGNAT_SRCS): Add tb-gcc.c.
++      (traceback.o deps): Likewise.
++      (SPARC/Solaris): Accept sparc[64|v9]-sun-solaris.
++      Activate build of GMEM instrumentation library on VMS targets.
++      (gnatlib-sjlj, gnatlib-zcx): Pass EH_MECHANISM to make gnatlib.
++      Use a-except-2005.ads/adb for all run-time library builds unless
++      specified otherwise.
++      [VMS] (LIBGNAT_TARGET_PAIRS_AUX1,2): Rename s-parame-vms.ads to
++      s-parame-vms-alpha.ads and add s-parame-vms-ia64.ads.
++      Use s-parame.adb on all native platforms.
++      Use s-parame-vxworks.adb on all vxworks platforms.
++      Add env.c env.h in LIBGNAT_SRCS
++      Add env.o in LIBGNAT_OBJS
++      (GNATMAKE_OBJS): Remove ctrl_c.o object.
++      (LIBGNAT_TARGET_PAIRS for x86-vxworks): Use an specialized version of
++      s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
++      supports VxWorks 6 RTPs.
++      (EXTRA_GNATRTL_NONTASKING_OBJS for x86-vxworks): Remove the use of
++      i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.
++
++      * types.h, types.ads (Terminate_Program): New exception
++      Add comment on modifying multiple versions of a-except.adb when the
++      table of exception reasons is modified.
++      Add exception reason code PE_Implicit_Return
++      Add new exception reason code (Null Exception_Id)
++
++      * clean.adb (Initialize): Get the target parameters before checking
++      if target is OpenVMS. Move the OpenVMS specific code here from package
++      body elaboration code.
++
++2006-02-13  Thomas Quinot  <quinot@adacore.com>
++          Vincent Celier  <celier@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * ali-util.adb (Get_File_Checksum): Update to account for change in
++      profile of Initialize_Scanner.
++
++      * gprep.adb (Gnatprep): Update to account for change in profile of
++      Initialize_Scanner.
++      (Process_One_File): Same.
++
++      * lib.adb (Get_Code_Or_Source_Unit): New subprogram factoring the
++      common code between Get_Code_Unit and Get_Source_Unit. Reimplement
++      that behaviour using the new Unit information recorded in the source
++      files table, rather than going through all units every time.
++      (Get_Code_Unit): Reimplement in terms of Get_Code_Or_Source_Unit.
++      (Get_Source_Unit): Same.
++
++      * prepcomp.adb (Parse_Preprocessing_Data_File): Update to account for
++      change in profile of Initialize_Scanner.
++      (Prepare_To_Preprocess): Same.
++
++      * lib.ads: Fix typo in comment (templace -> template).
++
++      * prj-part.adb (Parse_Single_Project): Update to account for change in
++      profile of Initialize_Scanner.
++
++      * scn.adb (Initialize_Scanner): Account for change in profile of
++      Scng.Initialize_Scanner: set Current_Source_Unit in Scn instead of Scng.
++      Also record the association of the given Source_File_Index to the
++      corresponding Unit_Number_Type.
++
++      * scng.ads, scng.adb (Initialize_Scanner.Set_Reserved): Remove
++      procedure.
++      (Initialize_Scanner): Call Scans.Initialize_Ada_Keywords.
++      Remove Unit formal for generic scanner: this formal
++      is only relevant to Scn (the scanner instance used to parse Ada source
++      files), not to other instances. Update comment accordingly.
++      (Scan): Use new function Snames.Is_Keyword_Name.
++
++      * sinfo-cn.adb: Fix typo in comment.
++
++      * sinput.adb (Unit, Set_Unit): Accessors for new source file attribute
++      Unit.
++
++      * sinput.ads (Source_File_Record): New component Unit, used to capture
++      the unit identifier (if any) associated to a source file.
++
++      * sinput-c.adb, sinput-l.adb (Load_File): Initialize new component
++      Unit in Source_File_Record.
++
++      * sinput-p.adb (Source_File_Is_Subunit): Update to account for change
++      in profile of Initialize_Scanner.
++
++      * scans.adb (Initialize_Ada_Keywords): New procedure
++
++      * scans.ads (Initialize_Ada_Keywords): New procedure to initialize the
++      Ada keywords in the Namet table, without the need to call
++      Initialize_Scanner.
++
++      * snames.adb: Add pragma Ada_2005 (synonym for Ada_05)
++      (Is_Keyword_Name): New function
++
++      * snames.ads: Add subtype Configuration_Pragma_Names
++      Add pragma Ada_2005 (synonym for Ada_05)
++      (Is_Keyword_Name): New function
++
++      * snames.h: Add pragma Ada_2005 (synonym for Ada_05)
++
++2006-02-13  Arnaud Charlet  <charlet@adacore.com>
++
++      * a-stwisu.adb, a-strsup.adb, a-stzsup.adb (Super_Slice): Fix slice
++      index.
++
++      * a-stwima.adb (To_Set): Add extra check when N = 0.
++
++      * g-regpat.adb: (Match_Simple_Operator): Avoid possible overflow.
++
++2006-02-13  Arnaud Charlet  <charlet@adacore.com>
++
++      * s-parame-mingw.adb, s-parame-linux.adb,
++      s-parame-solaris.adb: Removed, replaced by s-parame.adb
++
++      * s-parame-vxworks.ads: Fix typo.
++
++      * s-parame-vxworks.adb: New file.
++
++      * s-parame.adb: Version now used by all native platforms.
++      (Default_Stack_Size): Use 2 megs for default stack size and use
++      __gl_default_stack_size when available.
++      (Minimum_Stack_Size): Use 12K.
++
++      * s-taprop-mingw.adb: Set default stack size linker switch to 2megs.
++      (Create_Task): Refine implementation taking advantage of the XP stack
++      size support. On XP, we now create the thread using the flag
++      STACK_SIZE_PARAM_IS_A_RESERVATION.
++
++      * s-osinte-mingw.ads (Stack_Size_Param_Is_A_Reservation): New constant.
++
++      * sysdep.c (__gnat_is_windows_xp): New routine, returns 1 on Windows
++      XP and 0 on older Windows versions.
++
++      * interfac-vms.ads: Removed, no longer used.
++
++2006-02-13  Matthew Heaney  <heaney@adacore.com>
++
++      * a-rbtgso.adb, a-crbtgo.adb, a-crbtgk.adb, a-coorse.adb,
++      a-cohama.adb, a-ciorse.adb, a-cihama.adb, a-cihase.adb,
++      a-cohase.adb: All explicit raise statements now include an exception
++      message.
++
++      * a-ciormu.ads, a-ciormu.adb, a-coormu.ads, a-coormu.adb
++      (Update_Element_Preserving_Key): renamed op to just Update_Element.
++      Explicit raise statements now include an exception message
++
++      * a-cihase.ads, a-cohase.ads: Removed comment.
++
++      * a-stboha.ads, a-stboha.adb, a-stfiha.ads, a-envvar.adb,
++      a-envvar.ads, a-swbwha.ads, a-swbwha.adb, a-swfwha.ads, a-szbzha.ads,
++      a-szbzha.adb, a-szfzha.ads: New files.
++
++2006-02-13  Matthew Heaney  <heaney@adacore.com>
++
++      * a-cgcaso.adb, a-cgaaso.adb: Implemented using heapsort instead of
++      quicksort.
++
++2006-02-13  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * lang.opt: Wvariadic-macros: New option.
++      Wold-style-definition: Likewise.
++      Wmissing-format-attribute: Likewise.
++
++      * misc.c (gnat_handle_option): New cases for -Wvariadic-macros,
++      -Wold-style-definition and -Wmissing-format-attribute.
++
++2006-02-13  Robert Dewar  <dewar@adacore.com>
++
++      * a-ticoio.ads, a-ticoio.adb: Add use clause (moved here from spec)
++
++      * a-coteio.ads, a-lcteio.ads, a-llctio.ads, a-scteio.ads: New files.
++
++2006-02-13  Nicolas Roche  <roche@adacore.com>
++
++      * a-envvar.adb, a-envvar.ads: New files.
++
++2006-02-13  Douglas Rupp  <rupp@adacore.com>
++
++      * s-parame-vms.ads: Renamed to s-parame-vms-alpha.ads
++
++      * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: New files.
++
++2006-02-13  Pat Rogers  <rogers@adacore.com>
++
++      * a-rttiev.adb, a-rttiev.ads: New files.
++
++2006-02-13  Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * a-tiboio.adb, a-tiboio.ads, a-wwboio.adb,
++      a-wwboio.ads, a-zzboio.adb, a-zzboio.ads:  New files.
++
++      * impunit.adb, Makefile.rtl: Added new Ada 2005 units.
++
++2006-02-13  Robert Dewar  <dewar@adacore.com>
++
++      * rtsfind.adb, exp_prag.adb, lib-writ.adb, par-labl.adb,
++      sem_case.adb: Minor code reorganization (not Present should be No)
++
++2006-02-13  Geert Bosch  <bosch@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * a-tifiio.adb (Put_Digits): Test Last against To'First - 1 instead of
++      0, since the lower bound of the actual string may be greater than one.
++
++      PR ada/20753
++      * a-tifiio.adb (Put): Fix condition to raise Layout_Error when invalid
++      layout is requested.
++
++2006-02-13  Vincent Celier  <celier@adacore.com>
++
++      * back_end.adb (Scan_Compiler_Arguments): Check if
++      Search_Directory_Present is True and, if it is, add the argument in
++      the source search directory path.
++
++      * switch-c.adb (Scan_Front_End_Switches): Accept switch "-I". Set
++      Search_Directory_Present to True.
++
++2006-02-13  Joel Brobecker  <brobecke@adacore.com>
++
++      * bindgen.adb (Gen_Main_C): declare the ensure_reference variable as
++      volatile, to tell the compiler to preserve this variable at any level
++      of optimization.
++      (Gen_Versions_Ada): Temporarily work around codegen bug.
++
++2006-02-13  Vincent Celier  <celier@adacore.com>
++
++      * gnatlink.adb (Process_Binder_File): If -shared is specified, invoke
++      gcc to link with option -shared-libgcc.
++      (Gnatlink): Remove duplicate switches -shared-libgcc
++
++2006-02-13  Robert Dewar  <dewar@adacore.com>
++
++      * gnatvsn.ads (Current_Year): New constant, used to easily update
++      copyright on all GNAT tools.
++
++      * gnatls.adb, gnatname.adb, vms_conv.adb: Add 2006 to displayed
++      copyright notice.
++
++2006-02-13  Robert Dewar  <dewar@adacore.com>
++
++      * erroutc.ads, erroutc.adb (Set_Message_Blank): Don't insert space
++      after hyphen (small aesthetic change useful for a range of numbers
++      using ^-^.
++      Suppress range checks for a couple of assignments which otherwise
++      cause validity checks with validity checking turned on.
++
++      * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Size):
++      Improvement in error message for object.
++      (Rep_Item_Too_Late): Remove '!' in warning message.
++
++2006-02-13  Robert Dewar  <dewar@adacore.com>
++          Eric Botcazou  <ebotcazou@adacore.com>
++
++      * err_vars.ads: Suppress range checks for a couple of assignments
++      which otherwise cause validity checks with validity checking turned on.
++      Update comments.
++
++      * errout.adb (Error_Msg_Internal): Do not suppress warning messages.
++      Make message unconditional if it is a warning.
++      (Error_Msg_NEL): Always output warning messages.
++      Suppress range checks for a couple of assignments which otherwise
++      cause validity checks with validity checking turned on.
++
++      * errout.ads (Message Insertion Characters): Document that '!' is
++      implied by '?' in error messages.
++
++      * gnat1drv.adb: (Bad_Body): Remove '!' in warning message.
++      (Gnat1drv): Use a goto to end of main subprogram instead of
++      Exit_Program (E_Success) so that finalization can occur normally.
++
++2006-02-13  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * s-stchop.adb (Stack_Check): Raise Storage_Error if the argument has
++      wrapped around.
++
++2006-02-13  Vincent Celier  <celier@adacore.com>
++
++      * a-direct.adb (Duration_To_Time, OS_Time_To_Long_Integer): New
++      Unchecked_Conversion functions.
++      (Modification_Time): Use direct conversion of OS_Time to Calendar time
++      when OpenVMS returns False.
++
++      * a-dirval-mingw.adb, a-dirval-vms.adb, a-dirval.ads,
++      a-dirval.adb (OpenVMS): New Boolean function
++
++2006-02-13  Ed Schonberg  <schonberg@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++
++      * checks.adb (Build_Discriminant_Checks): If the expression being
++      checks is an aggregate retrieve the values of its discriminants to
++      generate the check, rather than creating a temporary and a reference
++      to it.
++      (Apply_Access_Check): Rewritten to handle new Is_Known_Null flag
++      (Install_Null_Excluding_Check): Ditto
++      (Selected_Length_Checks): Build actual subtype for the original Ck_Node,
++      not for the renamed object, so that the actual itype is attached in the
++      proper context.
++
++2006-02-13  Robert Dewar  <dewar@adacore.com>
++          Vincent Celier  <celier@adacore.com>
++
++      * debug.adb: Eliminate numeric switches for binder/gnatmake
++
++      * switch-m.adb (Normalize_Compiler_Switches): Record numeric debug
++      switches for the compiler.
++      (Scan_Make_Switches): Do not allow numeric debug switches for gnatmake
++      (Scan_Make_Switches): When failing with an illegal switch, output an
++      error message with the full switch.
++      Eliminate numeric switches for binder/gnatmake
++
++      * switch.ads, switch.adb (Bad_Switch): New procedure
++
++      * switch-b.adb (Scan_Binder_Switches): Do not accept combined switches.
++      Remove 0-9 as debug flag character possibilities
++      -d is now controlling the primary stack size when its value is a
++      positive. Also add checks against invalid values, and support for kb,
++      mb. Ditto for -D switch.
++
++2006-02-13  Robert Dewar  <dewar@adacore.com>
++          Serguei Rybin  <rybin@adacore.com>
++
++      * opt.ads opt.adb: Add Ada_Version_Explicit_Config along with
++      save/restore routines.
++      Properly handle Ada_Version_Explicit and Ada_Version_Config, which
++      were not always properly handled previously.
++      Since we are changing the tree format anyway, also get rid of the
++      junk obsolete Immediate_Errors flag.
++      (Tree_Read): Change the way of reading Tree_Version_String - now we
++      read the version string from the tree even if its length is not the
++      same as the length of the version string computed from Gnatvsn.
++      (Search_Directory_Present): New Boolean flag for the compiler.
++      Define Tree_Version_String as a dynamic string.
++      (Default_Stack_Size): new variable, used to handle switch -d.
++
++      * par-prag.adb:
++      For pragma Ada_2005, remove stuff about setting Ada_Version_Explicit
++      only for main unit.
++      Add pragma Ada_2005 (synonym for Ada_05)
++      Properly handle Ada_Version_Explicit and Ada_Version_Config, which
++      were not always properly handled previously.
++
++      * directio.ads, ioexcept.ads, sequenio.ads, text_io.ads: Change
++      explicit Ada_95 to Ada_2005.
++
++2006-02-13  Javier Miranda  <miranda@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * einfo.ads, einfo.adb (First_Tag_Component): Protect the frontend
++      against errors in the source program: a private types for which the
++      corresponding full type declaration is missing and pragma CPP_Virtual
++      is used.
++      (Is_Unchecked_Union): Check flag on Implementation_Base_Type.
++      (Is_Known_Null): New flag
++      (Has_Pragma_Pure): New flag
++      (No_Return): Present in all entities, set only for procedures
++      (Is_Limited_Type): A type whose ancestor is an interface is limited if
++      explicitly declared limited.
++      (DT_Offset_To_Top_Func): New attribute that is present in E_Component
++      entities. Only used for component marked Is_Tag. If present it stores
++      the Offset_To_Top function used to provide this value in tagged types
++      whose ancestor has discriminants.
++
++      * exp_ch2.adb: Update status of new Is_Known_Null flag
++
++      * sem_ch7.adb: Maintain status of new Is_Known_Null flag
++
++      * sem_cat.adb (Get_Categorization): Don't treat function as Pure in
++      the categorization sense if Is_Pure was set by pragma Pure_Function.
++
++2006-02-13  Quentin Ochem  <ochem@adacore.com>
++          Olivier Hainque  <hainque@adacore.com>
++
++      * bindusg.adb: Updated documentation for -d and -D switches.
++
++      * raise.h (__gnat_set_globals): added new parameter for
++      Default_Stack_Size.
++
++      * init.c (__gnat_adjust_context_for_raise) <alpha-vms case>: Implement.
++      (__gnat_handle_vms_condition): Adjust context before raise.
++      (__gnat_install_handler): Restore the global vector setup for GCC
++      versions before 3.4, as the frame based circtuitry is not available
++      in this case.
++      (__gnat_set_globals): added a parameter default_stack_size
++      (__gl_default_stack_size): new variable.
++
++2006-02-13  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_aggr.adb (Build_Array_Aggr_Code): Rename variable
++      "Others_Mbox_Present" to "Others_Box_Present" because the mbox concept
++      does not exist in the Ada RM.
++      (Compatible_Int_Bounds): Determine whether two integer range bounds
++      are of equal length and have the same start and end values.
++      (Is_Int_Range_Bounds): Determine whether a node is an integer range.
++      (Build_Record_Aggr_Code): Perform proper sliding of a nested array
++      aggregate when it is part of an object declaration.
++      (Build_Record_Aggr_Code)  If the aggregate ttype is a derived type that
++      constrains discriminants of its parent, add explicitly the discriminant
++      constraints of the ancestor by retrieving them from the
++      stored_constraint of the parent.
++
++2006-02-13  Robert Dewar  <dewar@adacore.com>
++
++      * exp_attr.adb (Expand_N_Attribute_Reference, case Mechanism_Code): If
++      attribute Mechanism_Code is applied to renamed subprogram, modify
++      prefix to point to base subprogram.
++      Max/Min attributes now violate Restriction No_Implicit_Conditionals
++
++      * sinfo.ads: Document that Mechanism_Code cannot be applied to
++      renamed subprograms so that the front-end must replace the prefix
++      appropriately.
++
++2006-02-13  Javier Miranda  <miranda@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * exp_ch3.adb (Component_Needs_Simple_Initialization): Add check for
++      availability of RE_Interface_Tag.
++      (Build_Initialization_Call): Fix wrong access to the discriminant value.
++      (Freeze_Record_Type): Do not generate the tables associated with
++      timed and conditional dispatching calls through synchronized
++      interfaces if compiling under No_Dispatching_Calls restriction.
++      When compiling for Ada 2005, for a nonabstract
++      type with a null extension, call Make_Controlling_Function_Wrappers
++      and insert the wrapper function declarations and bodies (the latter
++      being appended as freeze actions).
++      (Predefined_Primitive_Bodies): Do not generate the bodies of the
++      predefined primitives associated with timed and conditional
++      dispatching calls through synchronized interfaces if we are
++      compiling under No_Dispatching_Calls.
++      (Build_Init_Procedure):  Use RTE_Available to check if a run-time
++      service is available before generating a call.
++      (Make_Controlling_Function_Wrappers): New procedure.
++      (Expand_N_Full_Type_Declaration): Create a class-wide master for
++      access-to-limited-interfaces because they can be used to reference
++      tasks that implement such limited interface.
++      (Build_Offset_To_Top_Functions): Build the tree corresponding to the
++      procedure spec and body of the Offset_To_Top function that is generated
++      when the parent of a type with discriminants has secondary dispatch
++      tables.
++      (Init_Secondary_Tags): Handle the case in which the parent of the type
++      containing secondary dispatch tables has discriminants to generate the
++      correct arguments to call Set_Offset_To_Top.
++      (Build_Record_Init_Proc): Add call to Build_Offset_To_Top_Functions.
++
++      * a-tags.ads, a-tags.adb: (Check_Index): Removed.
++      Add Wide_[Wide_]Expanded_Name.
++      (Get_Predefined_Prim_Op_Address): New subprogram that provides exactly
++      the same functionality of Get_Prim_Op_Address but applied to predefined
++      primitive operations because the pointers to the predefined primitives
++      are now saved in a separate table.
++      (Parent_Size): Modified to get access to the separate table of primitive
++      operations or the parent type.
++      (Set_Predefined_Prim_Op_Address): New subprogram that provides the same
++      functionality of Set_Prim_Op_Address but applied to predefined primitive
++      operations.
++      (Set_Signature): New subprogram used to store the signature of a DT.
++      (Displace): If the Offset_To_Top value is not static then call the
++      function generated by the expander to get such value; otherwise use
++      the value stored in the table of interfaces.
++      (Offset_To_Top): The type of the actual has been changed to Address to
++      give the correct support to tagged types with discriminants. In this
++      case this value is stored just immediately after the tag field.
++      (Set_Offset_To_Top): Two new formals have been added to indicate if the
++      offset_to_top value is static and hence pass this value to the run-time
++      to store it in the table of interfaces, or else if this value is dynamic
++      and then pass to the run-time the address of a function that is
++      generated by the expander to provide this value for each object of the
++      type.
++
++      * rtsfind.ads (Default_Prin_Op_Count): Removed.
++      (Default_Prim_Op_Count): New entity
++      (Get_Predefined_Prim_Op_Address): New entity
++      (Set_Predefined_Prim_Op_Address): New entity
++      (RE_Set_Signature): New entity
++
++2006-02-13  Thomas Quinot  <quinot@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_ch4.adb (Expand_Allocator_Expression): Pass Allocator => True to
++      Make_Adjust_Call done for a newly-allocated object.
++
++      * exp_ch7.ads, exp_ch7.adb (Expand_Cleanup_Actions): If the statements
++      in a subprogram are wrapped in a cleanup block, indicate that the
++      subprogram contains an inner block with an exception handler.
++      (Make_Adjust_Call): New Boolean formal Allocator indicating whether the
++      Adjust call is for a newly-allocated object. In that case we must not
++      assume that the finalization list chain pointers are correct (since they
++      come from a bit-for-bit copy of the original object's pointers) so if
++      the attach level would otherwise be zero (no change), we set it to 4
++      instead to cause the pointers to be reset to null.
++
++      * s-finimp.adb (Attach_To_Final_List): New attach level: 4, meaning
++      reset chain pointers to null.
++
++2006-02-13  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_ch5.adb (Expand_Assign_Array): If the right-hand side is a
++      string, and the context requires a loop for the assignment (e.g.
++      because the left-hand side is packed), generate a unique name for the
++      temporary that holds the string, to prevent spurious name clashes.
++
++2006-02-13  Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * exp_ch6.adb (Expand_Inlined_Call): Handle calls to functions that
++      return unconstrained arrays.
++      Update comments.
++      (Expand_Call):  An indirect call through an access parameter of a
++      protected operation is not a protected call.
++      Add circuit to raise CE in Ada 2005 mode following call
++      to Raise_Exception.
++      (Register_DT_Entry): Do nothing if
++      the run-time does not give support to abstract interfaces.
++      (Freeze_Subprogram): In case of dispatching operations, do not generate
++      code to register the operation in the dispatch table if the source
++      is compiled with No_Dispatching_Calls.
++      (Register_Predefined_DT_Entry): Generate code that calls the new
++      run-time subprogram Set_Predefined_Prim_Op_Address instead of
++      Set_Prim_Op_Address.
++
++      * sem_ch5.adb (Analyze_Assignment_Statement): Do not apply length checks
++      on array assignments if the right-hand side is a function call that has
++      been inlined. Check is performed on the assignment in the block.
++      (Process_Bounds): If bounds and range are overloaded, apply preference
++      rule for root operations to disambiguate, and diagnose true ambiguity.
++      (Analyze_Assignment): Propagate the tag for a class-wide assignment with
++      a tag-indeterminate right-hand side even when Expander_Active is True.
++      Needed to ensure that dispatching calls to T'Input are allowed and
++      get the tag of the target class-wide object.
++
++      * sem_ch6.adb (New_Overloaded_Entity): Handle entities that override
++      an inherited primitive operation that already overrides several
++      abstract interface primitives. For transitivity, the new entity must
++      also override all the abstract interface primitives covered by the
++      inherited overriden primitive.
++      Emit warning if new entity differs from homograph in same scope only in
++      that one has an access parameter and the other one has a parameter of
++      a general access type with the same designated type, at the same
++      position in the signature.
++      (Make_Inequality_Operator): Use source locations of parameters and
++      subtype marks from corresponding equality operator when creating the
++      tree structure for the implicit declaration of "/=". This does not
++      change anything in behaviour except that the decoration of the
++      components of the subtree created for "/=" allows ASIS to get the
++      string images of the corresponding identifiers.
++      (Analyze_Return_Statement): Remove '!' in warning message.
++      (Check_Statement_Sequence): Likewise.
++      (Analyze_Subprogram_Body): For an access parameter whose designated type
++      is an incomplete type imported through a limited_with clause, use the
++      type of the corresponding formal in the body.
++      (Check_Returns): Implicit return in No_Return procedure now raises
++      Program_Error with a compile time warning, instead of beging illegal.
++      (Has_Single_Return):  Function returning unconstrained type cannot be
++      inlined if expression in unique return statement is not an identifier.
++      (Build_Body_To_Inline): It is possible to inline a function call that
++      returns an unconstrained type if all return statements in the function
++      return the same local variable. Subsidiary procedure Has_Single_Return
++      verifies that the body conforms to this restriction.
++
++      * sem_res.adb (Resolve_Equality_Op): If the operands do not have the
++      same type, and  one of them is of an anonymous access type, convert
++      the other operand to it, so that this is a valid binary operation for
++      gigi.
++      (Resolve_Type_Conversion): Handle subtypes of protected types and
++      task types when accessing to the corresponding record type.
++      (Resolve_Allocator): Add '\' in 2-line warning message.
++      Remove '!' in warning message.
++      (Resolve_Call): Add '\' in 2-line warning message.
++      (Valid_Conversion): Likewise.
++      (Resolve_Overloaded_Selected_Component): If disambiguation succeeds, the
++      resulting type may be an access type with an implicit dereference.
++      Obtain the proper component from the designated type.
++      (Make_Call_Into_Operator): Handle properly a call to predefined equality
++      given by an expanded name with prefix Standard, when the operands are
++      of an anonymous access type.
++      (Check_Fully_Declared_Prefix): New procedure, subsidiary of Resolve_
++      Explicit_Dereference and Resolve_Selected_Component, to verify that the
++      prefix of the expression is not of an incomplete type. Allows full
++      diagnoses of all semantic errors.
++      (Resolve_Actuals): If the actual is an allocator whose directly
++      designated type is a class-wide interface we build an anonymous
++      access type to use it as the type of the allocator. Later, when
++      the subprogram call is expanded, if the interface has a secondary
++      dispatch table the expander will add a type conversion to force
++      the displacement of the pointer.
++      (Resolve_Call): If a function that returns an unconstrained type is
++      marked Inlined_Always and inlined, the call will be inlined and does
++      not require the creation of a transient scope.
++      (Check_Direct_Boolean_Op): Removed
++      (Resolve_Comparison_Op): Remove call to above
++      (Resolve_Equality_Op): Remove call to above
++      (Resolve_Logical_Op): Inline above, since this is only call.
++      (Valid_Conversion): Handle properly conversions between arrays of
++      convertible anonymous access types.
++
++      PR ada/25885
++      (Set_Literal_String_Subtype): If the lower bound is not static, wrap
++      the literal in an unchecked conversion, because GCC 4.x needs a static
++      value for a string bound.
++
++2006-02-13  Ed Schonberg  <schonberg@adacore.com>
++          Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * exp_ch9.adb (Expand_N_Protected_Type_Declaration): When creating the
++      components of the corresponding record, take into account component
++      definitions that are access definitions.
++      (Expand_N_Asynchronous_Select): A delay unit statement rewritten as a
++      procedure is not considered a dispatching call and will be expanded
++      properly.
++
++2006-02-13  Javier Miranda  <miranda@adacore.com>
++
++      * exp_disp.ads, exp_disp.adb (Expand_Dispatching_Call): If the
++      controlling argument of the dispatching call is an abstract interface
++      class-wide type then we use it directly.
++      Check No_Dispatching_Calls restriction.
++      (Default_Prim_Op_Position): Remove the code that looks for the last
++      entity in the list of aliased subprograms. This code was wrong in
++      case of renamings.
++      (Fill_DT_Entry): Add assertion to avoid the use of this subprogram
++      when the source is compiled with the No_Dispatching_Calls restriction.
++      (Init_Predefined_Interface_Primitives): No need to inherit primitives
++      if we are compiling with restriction No_Dispatching_Calls.
++      (Make_Disp_XXX): Addition of assertion to avoid the use of all these
++      subprograms if we are compiling under No_Dispatching_Calls restriction.
++      (Make_DT): Generate a dispatch table with a single dummy entry if
++      we are compiling with the No_Dispatching_Calls restriction. In
++      addition, in this case we don't generate code that calls to the
++      following run-time subprograms: Set_Type_Kind, Inherit_DT.
++      (Make_Select_Specific_Data_Table): Add assertion to avoid the use
++      of this subprogram if compiling with the No_Dispatching_Calls
++      restriction.
++      (Expand_Type_Conversion): Instead of using the actual parameter,
++      the argument passed as parameter to the conversion function was
++      erroneously referenced by the expander.
++      (Ada_Actions): Addition of Get_Predefined_Prim_Op_Address,
++      Set_Predefined_Primitive_Op_Address and Set_Signature.
++      (Expand_Dispatching_Call): Generate call to
++      Get_Predefined_Prim_Op_Address for predefined primitives.
++      (Fill_DT_Entry): Generate call to Set_Predefined_Prim_Op_Address for
++      predefined primitives.
++      (Make_DT, Make_Secondary_DT): If the tagged type has no user defined
++      primitives we reserve one dummy entry to ensure that the tag does not
++      point to some memory that is associated with some other object. In
++      addition, remove all the old code that generated the assignments
++      associated with the signature of the dispatch table and replace them
++      by a call to the new subprogram Set_Signature.
++      (Set_All_DT_Position): Change the algorithm because now we have a
++      separate dispatch table associated with predefined primitive operations.
++      (Expand_Interface_Conversion): In case of non-static offset_to_top
++      add explicit dereference to get access to the object after the call
++      to displace the pointer to the object.
++      (Expand_Interface_Thunk): Modify the generation of the actual used
++      in the calls to the run-time function Offset_To_Top to fulfil its
++      new interface.
++      (Make_DT): Add the new actuals required to call Set_Offset_To_Top.
++
++2006-02-13  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_dist.adb (Copy_Specification): For access parameters, copy
++      Null_Exclusion flag, which will have been set for stream subprograms
++      in Ada2005 mode.
++
++2006-02-13  Pascal Obry  <obry@adacore.com>
++
++      * expect.c (__gnat_expect_portable_execvp): New implementation. The
++      previous implementation was using the C runtime spawnve routine but
++      the corresponding wait was using directly the Win32 API. This was
++      causing some times a lock when waiting for an event using
++      WaitForSingleObject in __gnat_waitpid. This new implementation uses
++      the Win32 CreateProcess routine. Avoiding mixing C runtime and Win32
++      API fixes this problem.
++
++2006-02-13  Robert Dewar  <dewar@adacore.com>
++
++      * exp_intr.adb (Expand_Unc_Deallocation): Correct error of bad analyze
++      call.
++
++2006-02-13  Thomas Quinot  <quinot@adacore.com>
++
++      * exp_pakd.ads: Fix typos in comments.
++
++      * exp_pakd.adb (Convert_To_PAT_Type): For the case of a bit packed
++      array reference that is an explicit dereference, mark the converted
++      (packed) array reference as analyzed to prevent a forthcoming
++      reanalysis from resetting its type to the original (non-packed) array
++      type.
++
++2006-02-13  Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++          Eric Botcazou  <ebotcazou@adacore.com>
++
++      * exp_util.ads, exp_util.adb (Find_Prim_Op,
++      Is_Predefined_Primitive_Operation): When
++      searching for the predefined equality operator, verify that operands
++      have the same type.
++      (Is_Predefined_Dispatching_Operation): Remove the code that looks
++      for the last entity in the list of aliased subprograms. This code
++      was wrong in case of renamings.
++      (Set_Renamed_Subprogram): New procedure
++      (Remove_Side_Effects): Replace calls to Etype (Exp) with use of the
++      Exp_Type constant computed when entering this subprogram.
++      (Known_Null): New function
++      (OK_To_Do_Constant_Replacement): New function
++      (Known_Non_Null): Check scope before believing Is_Known_Non_Null flag
++      (Side_Effect_Free): An attribute reference 'Input is not free of
++      side effect, unlike other attributes that are functions. (from code
++      reading).
++      (Remove_Side_Effects): Expressions that involve packed arrays or records
++      are copied at the point of reference, and therefore must be marked as
++      renamings of objects.
++      (Is_Predefined_Dispatching_Operation): Return false if the operation is
++      not a dispatching operation.
++
++      PR ada/18819
++      (Remove_Side_Effects): Lift enclosing type conversion nodes for
++      elementary types in all cases.
++
++2006-02-13  Javier Miranda  <miranda@adacore.com>
++
++      * freeze.adb (Freeze_Entity): Handle subtypes of protected types and
++      task types when accessing to the corresponding record type.
++      Remove '!' in warning message.
++
++2006-02-13  Olivier Hainque  <hainque@adacore.com>
++
++      * g-altive.ads (VECTOR_ALIGNMENT): Set to Min (16, Max_Alignment),
++      to avoid useless and space inefficient overalignments on targets where
++      Max_Alignment is larger than 16.
++
++2006-02-13  Pascal Obry  <obry@adacore.com>
++
++      * g-catiio.adb (Sec_Number): New type used to compute the number of
++      seconds since 1-1-1970.
++      (Image) [Natural]: The parameter was an Integer, as we can't deal with
++      negative numbers (years, months...) it is better to have a Natural here.
++      Code clean-up.
++      (Image) [Number]: Change parameter from Long_Integer to Number.
++      (Image): Use Number type to compute the seconds since 1-1-1970 to fix an
++      overflow for dates past year 2038.
++
++2006-02-13  Matthew Heaney  <heaney@adacore.com>
++
++      *  g-dyntab.adb (Index_Of): conversion from Natural can no longer raise
++      Constraint_Error.
++
++2006-02-13  Arnaud Charlet  <charlet@adacore.com>
++
++      * gnatbind.adb (Scan_Bind_Arg): Replace error by warning on -M and
++      native platforms.
++      (Gnatbind): Do not call Exit_Program (E_Success) at the end, so that
++      finalization can occur normally.
++
++2006-02-13  Vincent Celier  <celier@adacore.com>
++
++      * gnatcmd.adb (Rules_Switches): New table
++      (Add_To_Rules_Switches): New procedure
++      (GNATCmd): For command CHECK, put all options following "-rules" in the
++      Rules_Switches table. Append these -rules switches after the -cargs
++      switches.
++
++2006-02-13  Robert Dewar  <dewar@adacore.com>
++
++      * g-spipat.adb (Image, case PC_Assign_Imm and case PC_Assign_OnM):
++      These two cases were generating incorrect output, and if this unit
++      was built with checks on, generated a discriminant mismatch constraint
++      error.
++
++2006-02-13  Ed Schonberg  <schonberg@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * lib-xref.adb (Get_Type_Reference): For a private type whose full
++      view is an array type, indicate the component type as well, for
++      navigation purposes.
++      (Generate_Reference): Don't consider array ref on LHS to be a case
++      of violating pragma Unreferenced.
++      Do not give Ada 2005 warning except on real reference.
++
++2006-02-13  Vincent Celier  <celier@adacore.com>
++
++      * make.adb (Collect_Arguments_And_Compile): For VMS, when compiling the
++      main source, add switch -mdebug-main=_ada_ so that the executable can
++      be debugged by the standard VMS debugger.
++      (Gnatmake): Set No_Main_Subprogram to True when there is no main
++      subprogram, to avoid issuing -mdebug-main=_ada_ for VMS uselessly.
++      Exit the Multi_Main_Loop when Unique_Compile is True after compilation
++      of the last source, as the binding and linking phases are never
++      performed.
++      Set all executable obsolete when rebuilding a library.
++
++      * makeutl.adb (Linker_Options_Switches): Do not process empty linker
++      options.
++
++2006-02-13  Javier Miranda  <miranda@adacore.com>
++
++      PR ada/23973
++      * par-ch3.adb (P_Derived_Type_Def_Or_Private_Ext_Decl): Reorganize the
++      code to improve the error message reported when the program has
++      declarations of abstract interface types and it is not compiled with
++      the -gnat05 switch.
++      (P_Access_Definition): Reorganize the code to improve the error
++      message reported when the new Ada 2005 syntax for anonymous
++      access types is used and the program is not compiled with the
++      -gnat05 switch.
++
++2006-02-13  Robert Dewar  <dewar@adacore.com>
++
++      * par-ch6.adb, style.ads, styleg.adb, styleg.ads, stylesw.adb,
++      stylesw.ads, usage.adb, vms_data.ads: Implement -gnatyI switch
++      (MODE_IN)
++
++2006-02-13  Javier Miranda  <miranda@adacore.com>
++
++      * par-endh.adb (Explicit_Start_Label): Add code to protect the parser
++      against source containing syntax errors.
++
++2006-02-13  Vincent Celier  <celier@adacore.com>
++
++      * prj.adb (Reset): Initialize the first element of table Namings with
++      the standard naming data.
++
++2006-02-13  Vincent Celier  <celier@adacore.com>
++
++      * prj.ads (Error_Warning): New enumeration type
++
++      * prj-nmsc.ads, prj-nmsc.adb (Error_Msg): If location parameter is
++      unknown, use the location of the project to report the error.
++      (When_No_Sources): New global variable
++      (Report_No_Ada_Sources): New procedure
++      (Check): New parameter When_No_Sources. Set value of global variable
++      When_No_Sources,
++      (Find_Sources): Call Report_No_Ada_Sources when appropriate
++      (Get_Sources_From_File): Ditto
++      (Warn_If_Not_Sources): Better warning messages indicating the unit name
++      and the file name.
++
++      * prj-pars.ads, prj-pars.adb (Parse): New parameter When_No_Sources.
++      Call Prj.Proc.Process with parameter When_No_Sources.
++
++      * prj-proc.ads, prj-proc.adb (Check): New parameter When_No_Sources.
++      Call Recursive_Check with parameter When_No_Sources.
++      (Recursive_Check): New parameter When_No_Sources. Call itself and
++      Prj.Nmsc.Check with parameter When_No_Sources.
++      (Process): New parameter When_No_Sources. Call Check with parameter
++      When_No_Sources.
++      (Copy_Package_Declarations): New procedure to copy renamed parameters
++      and setting the location of the declared attributes to the location
++      of the renamed package.
++      (Process_Declarative_Items): Call Copy_Package_Declarations for renamed
++      packages.
++
++2006-02-13  Vincent Celier  <celier@adacore.com>
++
++      * prj-makr.adb (Make): Preserve the comments from the original project
++      file.
++      When removing nodes (attributes Source_Dirs, Source_Files,
++      Source_List_File and package Naming), save the comments and attach the
++      saved comments to the newly created nodes.
++      Do not add a with clause for the naming package if one already exists.
++
++2006-02-13  Javier Miranda  <miranda@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * restrict.ads (No_Dispatching_Calls): New GNAT restriction.
++
++      * sem_disp.adb (Override_Dispatching_Operation): Traverse the list of
++      aliased entities to look for the overriden abstract interface
++      subprogram.
++      (Is_Interface_Subprogram): Complete documentation.
++      (Check_Dispatching_Operation): Do not generate code to register the
++      operation in the dispatch table if the source is compiled with
++      restriction No_Dispatching_Calls.
++      (Override_Dispatching_Operation): Check for illegal attempt to override
++      No_Return procedure with procedure that is not No_Return
++      (Check_Dispatching_Call): Suppress the check for an abstract operation
++      when the original node of an actual is a tag-indeterminate attribute
++      call, since the attribute, which must be 'Input, can never be abstract.
++      (Is_Tag_Indeterminate): Handle checking of tag indeterminacy of a
++      call to the Input attribute (even when rewritten).
++      (Propagate_Tag): Augment comment to indicate the possibility of a call
++      to an Input attribute.
++
++      * sem_disp.ads (Override_Dispatching_Operation): Moved to spec to allow
++      calling it from Exp_Ch3.Make_Controlling_Function_Wrappers.
++
++      * s-rident.ads: (No_Dispatching_Calls): New GNAT restriction.
++      No_Wide_Characters is no longer partition-wide
++      No_Implementation_Attributes/Pragmas are now Ada 2005 (AI-257)
++      rather than GNAT
++
++2006-02-13  Douglas Rupp  <rupp@adacore.com>
++
++      * s-auxdec-vms_64.ads (Short_Address): Wrap it in a type.
++
++2006-02-13  Javier Miranda  <miranda@adacore.com>
++
++      * sem_aggr.adb (Resolve_Record_Aggregate): Restructure the code that
++      handles default-initialized components to keep separate the management
++      of this feature but also avoid the unrequired resolution and
++      expansion of components that do not have partially initialized
++      values.
++      (Collect_Aggr_Bounds): Add '\' in 2-line warning message.
++      (Check_Bounds): Likewise.
++      (Check_Length): Likewise.
++
++2006-02-13  Javier Miranda  <miranda@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_attr.adb (Analyze_Attribute): In case of 'Class applied to an
++      abstract interface type call analyze_and_resolve to expand the type
++      conversion into the corresponding displacement of the
++      reference to the base of the object.
++      (Eval_Attribute, case Width): For systems where IEEE extended precision
++      is supported, the maximum exponent occupies 4 decimal digits.
++      (Accessibility_Message): Add '\' in 2-line warning message.
++      (Resolve_Attribute): Likewise.
++      (case Attribute_Access): Significantly revise checks
++      for illegal access-to-subprogram Access attributes to properly enforce
++      the rules of 3.10.2(32/2).
++      Diagnose use of current instance with an illegal attribute.
++
++      * sem_util.ads, sem_util.adb (Enclosing_Generic_Body): Change formal
++      to a Node_Id.
++      (Enclosing_Generic_Unit): New function to return a node's innermost
++      enclosing generic declaration node.
++      (Compile_Time_Constraint_Error): Remove '!' in warning messages.
++      (Type_Access_Level): The accessibility level of anonymous acccess types
++      associated with discriminants is that of the current instance of the
++      type, and that's deeper than the type itself (AARM 3.10.2 (12.3.21)).
++      (Compile_Time_Constraint_Error): Handle case of conditional expression.
++      (Kill_Current_Values_For_Entity): New function
++      (Enter_Name): Change formal type to Entity_Id
++
++2006-02-13  Hristian Kirtchev  <kirtchev@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * sem_ch10.adb (Check_Redundant_Withs): New procedure in
++      Analyze_Compilation_Unit.
++      Detect and warn on redundant with clauses detected in a package spec
++      and/or body when -gnatwr is used.
++      (Analyze_Context): Analyze config pragmas before other items
++      (Install_Context_Items): Don't analyze config pragmas here
++      (Install_Limited_Withed_Unit): Set limited entity of package in
++      with_clause so that cross-reference information or warning messages on
++      unused packages can be properly generated
++      (Is_Visible_Through_Renamings): Return false if the limited_with_clause
++      has Error_Posted set. Prevent infinite loops in illegal programs.
++      (Check_Private_Child_Unit): Move test for a nonprivate with clause down
++      to the point of the error test requiring the current unit to be private.
++      This ensures that private with clauses are not exempted from the basic
++      checking for being a descendant of the same library unit parent as a
++      withed private descendant unit.
++      (Check_Private_Limited_Withed_Unit): Revise the checking algorithm to
++      handle private with clauses properly, as well as to account for cases
++      where the withed unit is a public descendant of a private ancestor
++      (in which case the current unit must be a descendant of the private
++      ancestor's parent). The spec comments were updated accordingly. Also,
++      the old error message in this subprogram was replaced with error
++      messages that mirror the errors tested and reported by
++      Check_Private_Child_Unit.
++      Parameter and variable names improved for readability.
++      (Install_Limited_Context_Clauses): Remove test for a withed unit being
++      private as the precondition for calling
++      Check_Private_Limited_Withed_Unit since that subprogram has been
++      revised to test public units as well as private units.
++
++2006-02-13  Thomas Quinot  <quinot@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * sem_ch12.adb (Inline_Instance_Body): Remove erroneous assumption
++      that Scope_Stack.First = 1.
++      Properly handle Ada_Version_Explicit and Ada_Version_Config, which
++      were not always properly handled previously.
++      (Formal_Entity): Complete rewrite, to handle properly some complex case
++      with multiple levels of parametrization by formal packages.
++      (Analyze_Formal_Derived_Type): Propagate Ada 2005 "limited" indicator
++      to the corresponding derived type declaration for proper semantics.
++
++      * sem_prag.adb (Analyze_Pragma): Remove '!' in warning message.
++      (Check_Component): Enforce restriction on components of
++      unchecked_unions: a component in a variant cannot contain tasks or
++      controlled types.
++      (Unchecked_Union): Allow nested variants and multiple discriminants, to
++      conform to AI-216.
++      Add pragma Ada_2005 (synonym for Ada_05)
++      Properly handle Ada_Version_Explicit and Ada_Version_Config, which
++      were not always properly handled previously.
++      Document that pragma Propagate_Exceptions has no effect
++      (Analyze_Pragma, case Pure): Set new flag Has_Pragma_Pure
++      (Set_Convention_From_Pragma): Check that if a convention is
++      specified for a dispatching operation, then it must be
++      consistent with the existing convention for the operation.
++      (CPP_Class): Because of the C++ ABI compatibility, the programmer is no
++      longer required to specify an vtable-ptr component in the record. For
++      compatibility reasons we leave the support for the previous definition.
++      (Analyze_Pragma, case No_Return): Allow multiple arguments
++
++      * sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Flag a
++      non-overrideen inherited operation with a controlling result as
++      illegal only its implicit declaration comes from the derived type
++      declaration of its result's type.
++      (Check_Possible_Deferred_Completion): Relocate the object definition
++      node of the subtype indication of a deferred constant completion rather
++      than directly analyzing it. The analysis of the generated subtype will
++      correctly decorate the GNAT tree.
++      (Record_Type_Declaration): Check whether this is a declaration for a
++      limited derived record before analyzing components.
++      (Analyze_Component_Declaration): Diagnose record types  not explicitly
++      declared limited when a component has a limited type.
++      (Build_Derived_Record_Type): Code reorganization to check if some of
++      the inherited subprograms of a tagged type cover interface primitives.
++      This check was missing in case of a full-type associated with a private
++      type declaration.
++      (Constant_Redeclaration): Check that the subtypes of the partial and the
++      full view of a constrained deferred constant statically match.
++      (Mentions_T): A reference to the current type in an anonymous access
++      component declaration  must be an entity name.
++      (Make_Incomplete_Type_Declaration): If type is tagged, set type of
++      class_wide type to refer to full type, not to the incomplete one.
++      (Add_Interface_Tag_Components): Do nothing if RE_Interface_Tag is not
++      available. Required to give support to the certified run-time.
++      (Analyze_Component_Declaration): In case of anonymous access components
++      perform missing checks for AARM 3.9.2(9) and 3.10.2 (12.2).
++      (Process_Discriminants): For an access discriminant, use the
++      discriminant specification as the associated_node_for_itype, to
++      simplify accessibility checks.
++
++2006-02-13  Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * sem_ch4.adb (Remove_Abstract_Interpretations): Even if there are no
++      abstract interpretations on an operator, remove interpretations that
++      yield Address or a type derived from it, if one of the operands is an
++      integer literal.
++      (Try_Object_Operation.Try_Primitive_Operation,
++      Try_Object_Operation.Try_Class_Wide_Operation): Set proper source
++      location when creating the new reference to a primitive or class-wide
++      operation as a part of rewriting a subprogram call.
++      (Try_Primitive_Operations): If context requires a function, collect all
++      interpretations after the first match, because there may be primitive
++      operations of the same type with the same profile and different return
++      types. From code reading.
++      (Try_Primitive_Operation): Use the node kind to choose the proper
++      operation when a function and a procedure have the same parameter
++      profile.
++      (Complete_Object_Operation): If formal is an access parameter and prefix
++      is an object, rewrite as an Access reference, to match signature of
++      primitive operation.
++      (Find_Equality_Type, Find_One_Interp): Handle properly equality given
++      by an expanded name with prefix Standard, when the operands are of an
++      anonymous access type.
++      (Remove_Abstract_Operations): If the operation is abstract because it is
++      inherited by a user-defined type derived from Address, remove it as
++      well from the set of candidate interpretations of an overloaded node.
++      (Analyze_Membership_Op): Membership test not applicable to cpp-class
++      types.
++
++2006-02-13  Bob Duff  <duff@adacore.com>
++
++      * sem_ch8.adb (Note_Redundant_Use): Suppress unhelpful warning about
++      redundant use clauses.
++      In particular, if the scope of two use clauses overlaps, but one is not
++      entirely included in the other, we should not warn.  This can happen
++      with nested packages.
++      (Analyze_Subprogram_Renaming): Protect the compiler against previously
++      reported errors. The bug was reported when the compiler was built
++      with assertions enabled.
++      (Find_Type): If the node is a 'Class reference and the prefix is a
++      synchronized type without a corresponding record, return the type
++      itself.
++
++2006-02-13  Javier Miranda  <miranda@adacore.com>
++
++      * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): Check that
++      if this is the full-declaration associated with a private declaration
++      that implement interfaces, then the private type declaration must be
++      limited.
++      (Analyze_Single_Protected, Analyze_Single_Task): Do not mark the object
++      as aliased. The use of the 'access attribute is not available for such
++      object (for this purpose the object should be explicitly marked as
++      aliased, but being an anonymous type this is not possible).
++
++2006-02-13  Ed Schonberg  <schonberg@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * sem_elab.adb (Same_Elaboration_Scope): A package that is a
++      compilation unit is an elaboration scope.
++      (Add_Task_Proc): Add '\' in 2-line warning message.
++      (Activate_All_Desirable): Deal with case of unit with'ed by parent
++
++2006-02-13  Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * sem_type.adb (Write_Overloads): Improve display of candidate
++      interpretations.
++      (Add_One_Interp): Do not add to the list of interpretations aliased
++      entities corresponding with an abstract interface type that is an
++      immediate ancestor of a tagged type; otherwise we have a dummy
++      conflict between this entity and the aliased entity.
++      (Disambiguate): The predefined equality on universal_access is not
++      usable if there is a user-defined equality with the proper signature,
++      declared in the same declarative part as the designated type.
++      (Find_Unique_Type): The universal_access equality operator defined under
++      AI-230 does not cover pool specific access types.
++      (Covers): If one of the types is a generic actual subtype, check whether
++      it matches the partial view of the other type.
++
++2006-02-13  Thomas Quinot  <quinot@adacore.com>
++
++      * sinput-d.adb (Write_Line): Update the Source_Index_Table after each
++      line. This is necessary to allow In_Extended_Main_Unit to provide
++      correct results for itypes while writing out expanded source.
++      (Close_File): No need to update the source_index_table here since it's
++      now done for each line.
++
++2006-02-13  Ed Schonberg  <schonberg@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * sprint.adb (Write_Itype): Preserve Sloc of declaration, if any, to
++      preserve the source unit where the itype is declared, and prevent a
++      backend abort.
++      (Note_Implicit_Run_Time_Call): New procedure
++      (Write_Itype): Handle missing cases (E_Class_Wide_Type and
++      E_Subprogram_Type)
++
++      * sprint.ads: Document use of $ for implicit run time routine call
++
++2006-02-13  Quentin Ochem  <ochem@adacore.com>
++
++      * s-stausa.adb (Initialize_Analyzer): fixed error in assignment of
++      task name.
++
++2006-02-13  Bob Duff  <duff@adacore.com>
++
++      * s-valint.adb (Scan_Integer): Call Scan_Raw_Unsigned instead of
++      Scan_Unsigned, so we do not scan leading blanks and sign twice.
++      Integer'Value("- 5") and Integer'Value("-+5") now correctly
++      raise Constraint_Error.
++
++      * s-vallli.adb (Scan_Long_Long_Integer): Call
++      Scan_Raw_Long_Long_Unsigned instead of Scan_Long_Long_Unsigned, so we
++      do not scan leading blanks and sign twice.
++      Integer'Value("- 5") and Integer'Value("-+5") now correctly
++      raise Constraint_Error.
++
++      * s-valllu.ads, s-valllu.adb (Scan_Raw_Long_Long_Unsigned,
++      Scan_Long_Long_Unsigned): Split out most of the processing from
++      Scan_Long_Long_Unsigned out into
++      Scan_Raw_Long_Long_Unsigned, so that Val_LLI can call the Raw_ version.
++      This prevents scanning leading blanks and sign twice.
++      Also fixed a bug: Modular'Value("-0") should raise Constraint_Error
++      See RM-3.5(44).
++
++      * s-valuns.ads, s-valuns.adb (Scan_Raw_Unsigned, Scan_Unsigned): Split
++      out most of the processing from Scan_Unsigned out into
++      Scan_Raw_Unsigned, so that Val_LLI can call the Raw_ version.
++      This prevents scanning leading blanks and sign twice.
++
++      * s-valuti.ads, s-valuti.adb (Scan_Plus_Sign): Add Scan_Plus_Sign, for
++      use with Modular'Value attribute.
++      (Scan_Plus_Sign): Add Scan_Plus_Sign, for use with Modular'Value
++      attribute.
++
++2006-02-13  Robert Dewar  <dewar@adacore.com>
++
++      * s-wchjis.adb (JIS_To_EUC): Raise Constraint_Error for invalid value
++
++2006-02-13  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * tracebak.c (PPC AIX/Darwin): Define FORCE_CALL to 1.
++      (PPC VxWorks): Likewise.
++      (Generic unwinder): Define FORCE_CALL to 0 if not already defined.
++      (forced_callee): Make non-inlinable and non-pure.
++      (__gnat_backtrace): Call forced_callee if FORCE_CALL is set to 1.
++
++2006-02-13  Arnaud Charlet  <charlet@adacore.com>
++          Ben Brosgol  <brosgol@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * gnat_rm.texi, gnat_ugn.texi: Remove limitations with sparc m64
++      support.
++      Document that gnatbind -M option is for cross environments only.
++      Added description of using gnatmem to trace gnat rtl allocs and deallocs
++      Add note on use of $ to label implicit run time calls
++      Add documentation for -gnatyI (check mode IN)
++      Updated chapter on compatibility with HP Ada
++      VMS-oriented edits.
++      Ran spell and corrected errors
++      Add documentation for gnatbind -d and rework documentation of -D
++      at the same time.
++      Add subprogram/data elimination section.
++      Minor editing of annex A.
++      Add section for gnatcheck.
++      Add documentation for restriction No_Dispatching_Calls
++      Add documentation for pragma Ada_2005
++      Remove mention of obsolete pragma Propagate_Exceptions
++      Document that pragma Unreferenced can appear after DO in ACCEPT
++      Clarify Pure_Function for library level units
++      Mention Max/Min in connection with No_Implicit_Conditionals
++      No_Wide_Characters restriction is no longer partition-wide
++      Add a nice example for Universal_Literal_String attribute
++      Document that pragma No_Return can take multiple arguments
++
++      * ug_words: Added entry for gnatcheck
++
++      * g-ctrl_c.ads (Install_Handler): Enhance comments
++
++      * g-os_lib.ads: Add comments to OS_Exit that it is abrupt termination
++
++      * g-trasym.ads: Add documentation on how to do off line symbolic
++      traceback computation.
++
++      * s-fatgen.adb: Add comments for Unaligned_Valid
++
++      * stand.ads: Fix typo in comment
++
++2006-02-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * Make-lang.in (check-gnat): Run run_acats with $(SHELL).
++
++2006-02-06  Roger Sayle  <roger@eyesopen.com>
++
++      * decl.c (gnat_substitute_in_type): Don't handle CHAR_TYPE.
++
++2006-02-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
++
++      PR target/25926
++      * initialize.c (__gnat_initialize): Provide HP-UX 10 host and target
++      implementation that calls __main.
++
++2006-01-25  Peter O'Gorman  <peter@pogma.com>
++
++      PR bootstrap/25859
++      * Makefile.in (GCC_LINK): Remove quotes.
++      (tools targets): Link with either $(GNATLINK) --GCC="$(GCC_LINK)"
++      or $(GCC_LINK).
++
++      (powerpc-darwin): Pass -shared-libgcc when building shared library.
++
++2006-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
++
++      PR ada/24533
++      * s-osinte-linux-hppa.ads: Reduce alignment of atomic_lock_t to 8.
++
++
++\f
++Copyright (C) 2006 Free Software Foundation, Inc.
++
++Copying and distribution of this file, with or without modification,
++are permitted in any medium without royalty provided the copyright
++notice and this notice are preserved.
+Index: gcc/ada/ChangeLog-2007
+===================================================================
+--- gcc/ada/ChangeLog-2007     (.../tags/gcc_4_4_0_release)    (wersja 0)
++++ gcc/ada/ChangeLog-2007     (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -0,0 +1,9221 @@
++2007-12-27  Samuel Tardieu  <sam@rfc1149.net>
++
++      PR ada/34553
++      * adaint.c (__gnat_open_new_temp, __gnat_tmp_name): Use mkstemp()
++      instead of mktemp() or tmpnam() on NetBSD.
++
++2007-12-23  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * trans.c (call_to_gnu): Make the temporary for non-addressable
++      In parameters passed by reference.
++      (addressable_p): Return true for STRING_CST and CALL_EXPR.
++
++2007-12-19  Robert Dewar  <dewar@adacore.com>
++
++      * g-expect-vms.adb, g-expect.adb, s-poosiz.adb:
++      Add pragma Warnings (Off) for unassigned IN OUT arguments
++
++      * sem_warn.adb (Output_Reference): Suppress messages for internal names
++      (Check_References): Extensive changes to tune up warnings
++      (Output_Non_Modifed_In_Out_Warnings): Changes to tune up warnings
++      (Has_Pragma_Unmodifed_Check_Spec): New function
++      (Check_References): Implement pragma Unmodified
++      (Warn_On_Unassigned_Out_Parameter): Implement pragma Unmodified
++
++      * par-prag.adb: Dummy entry for pragma Unmodified
++
++      * sem_prag.adb: Implement pragma Unmodified
++
++      * einfo.ads, einfo.adb: (Has_Pragma_Unmodified): New flag
++      (Proc_Next_Component_Or_Discriminant): Fix typo.
++      Update comments.
++
++      * sem_util.adb (Note_Possible_Modification): Add processinng for pragma
++      Unmodified.
++      (Reset_Analyzed_Flags): Use Traverse_Proc instead of Traverse_Func,
++      because the former already takes care of discarding the result.
++      (Mark_Coextensions): Remove ununused initial value from Is_Dynamic.
++      Add comment.
++
++      * snames.h, snames.ads, snames.adb: Add entry for pragma Unmodified
++
++2007-12-19  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * targparm.adb, targparm.ads, system.ads, system-darwin-ppc.ads,
++      system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads,
++      system-hpux-ia64.ads, system-vxworks-arm.ads, system-darwin-x86.ads,
++      system-vms_64.ads, system-vms-ia64.ads, system-linux-ia64.ads,
++      system-freebsd-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
++      system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads,
++      system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
++      system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
++      system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
++      system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads
++      (Dynamic_Trampolines_Used): Delete.
++
++      * system-lynxos-x86.ads, system-lynxos-ppc.ads: Ditto.
++      Turn on stack probing mechanism on LynxOS.
++
++2007-12-19  Bob Duff  <duff@adacore.com>
++
++      * atree.ads, atree.adb (Traverse_Func): Walk Field2 last, and eliminate
++      the resulting tail recursion by hand. This prevents running out of
++      memory on deeply nested concatenations, since Field2 is where the left
++      operand of concatenations is stored.
++      Fix bug (was returning OK_Orig in some cases). Fix return subtype to
++      clarify that it can only return OK or Abandon.
++
++      * sem_res.adb (Resolve_Op_Concat): Replace the recursion on the left
++      operand by iteration, in order to avoid running out of memory on
++      deeply-nested concatenations. Use the Parent pointer to get back up the
++      tree.
++      (Resolve_Op_Concat_Arg, Resolve_Op_Concat_First,
++       Resolve_Op_Concat_Rest): New procedures split out of
++      Resolve_Op_Concat, so the iterative algorithm in Resolve_Op_Concat is
++      clearer.
++
++      * checks.adb (Remove_Checks): Use Traverse_Proc instead of
++      Traverse_Func, because the former already takes care of discarding the
++      result.
++
++      * errout.adb (First_Node): Use Traverse_Proc instead of Traverse_Func,
++      because the former already takes care of discarding the result.
++      (Remove_Warning_Messages): Use appropriate subtype for Status and
++      Discard
++
++2007-12-19  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_aggr.adb (Not_OK_For_Backend): A component of a private type with
++      discriminants forces expansion of the aggregate into assignments.
++      (Init_Record_Controller):  If the type of the aggregate is untagged and
++      is not inherently limited, the record controller is not limited either.
++
++2007-12-19  Robert Dewar  <dewar@adacore.com>
++
++      * exp_attr.adb (Expand_N_Attribute_Reference, case Size): Fix error in
++      handling compile time known size of record or array (case of front end
++      layout active, e.g. in GNAAMP).
++
++2007-12-19  Javier Miranda  <miranda@adacore.com>
++
++      * exp_ch3.adb (Expand_N_Object_Declaration): Complete the circuitry
++      that forces the construction of static dispatch tables in case of
++      record subtypes.
++
++2007-12-19  Robert Dewar  <dewar@adacore.com>
++
++      * exp_ch9.adb (Null_Statements): Moved to library level
++      (Trivial_Accept_OK): New function
++      (Expand_Accept_Declaration): Use Trivial_Accept_OK
++      (Expand_N_Accept_Statement): Use Trivial_Accept_OK
++
++2007-12-19  Robert Dewar  <dewar@adacore.com>
++
++      * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Fix packed array type
++      in complex case where array is Volatile.
++
++2007-12-19  Ed Schonberg  <schonberg@adacore.com>
++
++      * freeze.adb (Freeze_Record_Type, Check_Current_Instance): Implement
++      properly the Ada2005 rules concerning when the current instance of a
++      record type is aliased.
++
++2007-12-19  Ed Schonberg  <schonberg@adacore.com>
++
++      * par-ch3.adb (P_Record_Declaration): Guard against cascaded errors in
++      mangled declaration
++      (P_Type_Declaration): Diagnose misuse of "abstract" in untagged record
++      declarations.
++      (P_Variant_Part): Cleaner patch for parenthesized discriminant
++
++2007-12-19  Vincent Celier  <celier@adacore.com>
++
++      * prj-attr.adb (Package_Node_Id_Of): Returns Unknown_Package when
++      package is not known
++
++      * prj-attr.ads (Unknown_Package): New constant
++      Do not crash when an unknown package is in several projects
++
++      * prj-dect.adb (Parse_Package_Declaration): Mark an unknown package as
++      ignored
++
++      * prj-nmsc.adb (Check): Remove obsolete code related to no longer
++      existing package Language_Processing.
++
++2007-12-19  Ed Schonberg  <schonberg@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++          Samuel Tardieu  <sam@rfc1149.net>
++
++      PR ada/15803, ada/15805
++      * sem_ch6.adb, sem_ch3.adb (Constrain_Access): In Ada2005, diagnose
++      illegal access subtypes when there is a constrained partial view.
++      (Check_For_Premature_Usage): New procedure inside
++      Access_Subprogram_Declaration for checking that an access-to-subprogram
++      type doesn't reference its own name within any formal parameters or
++      result type (including within nested anonymous access types).
++      (Access_Subprogram_Declaration): Add call to Check_For_Premature_Usage.
++      (Sem_Ch3.Analyze_Object_Declaration, Sem_ch6.Process_Formals): if the
++      context is an access_to_variable, the expression cannot be an
++      access_to_constant.
++
++2007-12-19  Bob Duff  <duff@adacore.com>
++
++      * sem_ch4.adb (Analyze_Concatenation_Rest): New procedure.
++      (Analyze_Concatenation): Use iteration instead of recursion in order
++      to avoid running out of stack space for deeply nested concatenations.
++
++2007-12-19  Ed Schonberg  <schonberg@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * sem_ch8.adb (Analyze_Subprogram_Renaming): Diagnose illegal renamings
++      whose renamed entity is a subprogram that requires overriding.
++      (Premature_Usage): Test for the case of N_Full_Type_Declaration when
++      issuing an error for premature usage and issue a message that says
++      'type' rather than 'object'.
++
++2007-12-19  Gary Dismukes  <dismukes@adacore.com>
++
++      PR ada/34149
++      * sem_disp.adb (Check_Dispatching_Call): Augment existing test for
++      presence of a statically tagged operand (Present (Static_Tag)) with
++      test for Indeterm_Ancestor_Call when determining whether to propagate
++      the static tag to tag-indeterminate operands (which forces dispatching
++      on such calls).
++      (Check_Controlling_Formals): Ada2005, access parameters can have
++      defaults.
++      (Add_Dispatching_Operation, Check_Operation_From_Private_View): do
++      not insert subprogram in list of primitive operations if already there.
++
++2007-12-19  Tristan Gingold  <gingold@adacore.com>
++
++      * utils.c (create_var_decl_1): call rest_of_decl_compilation only for
++      global variable.
++
++2007-12-19  Thomas Quinot  <quinot@adacore.com>
++
++      Part of PR ada/33688
++      * gen-soccon.c: Add constant IP_PKTINFO to allow getting ancillary
++      datagram info on Linux.
++
++2007-12-19  Vincent Celier  <celier@adacore.com>
++
++      * makegpr.adb (Check_Compilation_Needed): Normalize C_Source_Path so
++      that the source path name is always found in the dependencies.
++
++2007-12-19  Robert Dewar  <dewar@adacore.com>
++
++      * gnat_rm.texi, gnat_ugn.texi: Update documentation of -gnatw.o
++      Fix name of Wide_Wide_Latin_1/9 file names
++      Add documentation for Ada.Exceptions.Last_Chance_Handler (a-elchha.ads)
++      Add missing documentation for Ada.Wide_[Wide_]Characters.Unicode
++      Add missing documentation for Ada.Command_Line.Response_File
++      Update list of warning letters for Warnings pragma
++      Add documentation for pragma Unmodified
++
++2007-12-19  Samuel Tardieu  <sam@rfc1149.net>
++
++      * Makefile.in: Add s-tasinf.ad[bs] substitutions for sh4-linux target.
++
++2007-12-17  Arnaud Charlet  <charlet@adacore.com>
++
++      * s-vxwork-alpha.ads: Removed, no longer used.
++
++2007-12-15  Jakub Jelinek  <jakub@redhat.com>
++
++      * Make-lang.in (gnat1, gnatbind): Pass ALL_CFLAGS on the link line.
++
++2007-12-13  Samuel Tardieu  <sam@rfc1149.net>
++
++      PR ada/34360
++      * Makefile.in: Change two occurrences of mlib-tgt.adb by correct name
++      mlib-tgt-specific.adb.
++
++2007-12-13  Bob Duff  <duff@adacore.com>
++
++      * trans.c (Attribute_to_gnu): Check for violations of the
++      No_Implicit_Dynamic_Code restriction. This checking used to be done in
++      the front end, but is moved here so we can make it more accurate.
++
++2007-12-13  Pascal Obry  <obry@adacore.com>
++
++      * adaint.c (__gnat_pthread_setaffinity_np): New routine. A dummy
++       version is provided for older GNU/Linux distribution not
++       supporting thread affinity sets.
++
++      * s-osinte-linux.ads (SC_NPROCESSORS_ONLN): New constant for sysconf
++      call.
++      (bit_field): New packed boolean type used by cpu_set_t.
++      (cpu_set_t): New type corresponding to the C type with
++      the same name. Note that on the Ada side we use a bit
++      field array for the affinity mask. There is not need
++      for the C macro for setting individual bit.
++      (pthread_setaffinity_np): New imported routine.
++
++      * s-taprop-linux.adb (Enter_Task): Check that the CPU affinity mask is
++      no null.
++      (Create_Task): Set the processor affinity mask if information
++      is present.
++
++      * s-tasinf-linux.ads, s-tasinf-linux.adb: New files.
++
++2007-12-13  Robert Dewar  <dewar@adacore.com>
++
++      * s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
++      s-osinte-freebsd.ads, s-osinte-lynxos.ads, s-osinte-tru64.ads,
++      s-osinte-mingw.ads, s-osinte-aix.ads, s-osinte-hpux-dce.ads,
++      s-osinte-irix.ads, s-osinte-solaris.ads, s-intman-vms.adb,
++      s-osinte-vms.ads, s-osinte-vxworks6.ads, s-osinte-vxworks.ads,
++      s-auxdec.ads, s-auxdec-vms_64.ads, s-osinte-darwin.ads,
++      s-taprop-vms.adb, s-interr-sigaction.adb, s-osinte-linux-hppa.ads,
++      i-vxwork-x86.ads, s-tpopde-vms.ads: Add missing pragma Convention C
++      for subprogram pointers.
++
++      * g-ctrl_c.adb: New file.
++
++      * g-ctrl_c.ads (Install_Handler): New body.
++
++      * freeze.adb (Freeze_Subprogram): Use new flag Has_Pragma_Inline_Always
++      instead of obsolete function Is_Always_Inlined.
++      (Freeze_Entity): check for tagged type in imported C subprogram
++      (Freeze_Entity): check for 8-bit boolean in imported C subprogram
++      (Freeze_Entity): check for convention Ada subprogram pointer in
++      imported C subprogram.
++      (Freeze_Fixed_Point_Type): In the case of a base type where the low
++      bound would be chopped off and go from negative to zero, force
++      Loval_Excl_EP to be the same as Loval_Incl_EP (the included lower
++      bound) so that the size computation for the base type will take
++      negative values into account.
++
++2007-12-13  Eric Botcazou  <ebotcazou@adacore.com>
++          Bob Duff  <duff@adacore.com>
++          Tristan Gingold  <gingold@adacore.com>
++
++      * system-linux-ia64.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
++      system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
++      system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads,
++      system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
++      system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
++      system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
++      system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
++      system-vxworks-arm.ads, system-darwin-x86.ads, system.ads,
++      system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
++      system-linux-ppc.ads, system-linux-hppa.ads, system-hpux-ia64.ads,
++      system-vms-ia64.ads (Stack_Check_Limits): New target parameter.
++      (Always_Compatible_Rep): New flag to control trampolines globally.
++      (Dynamic_Trampolines_Used): New flag for implementing the
++      No_Implicit_Dynamic_Code restriction more correctly (not yet used,
++      and not yet set correctly for some targets).
++
++      * s-taprop-vxworks.adb: Use stack limit method of stack checking.
++      Simply indirectly call s-stchop when a task is created.
++
++      * ali.ads:
++      New flag added: Stack_Check_Switch_Set which is set when '-fstack-check'
++      appears as an argument (entries A) in an ALI file.
++
++      * fe.h (Stack_Check_Limits): Declare new target parameter.
++      (Check_Implicit_Dynamic_Code_Allowed): New procedure.
++
++      * init.c: Declare __gnat_set_stack_limit_hook for VxWorks kernel RTS.
++      This variable is declared in C to be sure not subject to elaboration
++      code.
++      (__gnat_map_signal, VxWorks): In kernel mode, map SIGILL to
++      Storage_Error.
++
++      * targparm.ads, targparm.adb (Stack_Check_Limits): New parameter.
++      (Always_Compatible_Rep, Dynamic_Trampolines_Used): New parameters.
++
++      * s-stchop.ads: Add comments.
++
++      * s-stchop-vxworks.adb: Package almost fully rewritten to use stack
++      limit method of stack checking.
++
++      * s-stchop-limit.ads: New file.
++
++2007-12-13  Robert Dewar  <dewar@adacore.com>
++
++      * sem_ch5.adb, s-taskin.adb, a-ciorma.adb, a-coorma.adb, a-cohama.adb,
++      a-cihama.adb, g-awk.adb,
++      s-inmaop-posix.adb: Update handling of assigned value/unreferenced
++      warnings
++
++      * exp_smem.adb: Update handling of assigned value/unreferenced warnings
++
++      * sem.adb: Update handling of assigned value/unreferenced warnings
++
++      * a-exexpr-gcc.adb: Add a pragma warnings off for boolean return
++
++      * lib-xref.ads: Improve documentation for k xref type
++
++      * lib-xref.adb:
++      Update handling of assigned value/unreferenced warnings
++      (Generate_Reference): Warning for reference to entity for which a
++      pragma Unreferenced has been given should be unconditional.
++      If the entity is a discriminal, mark the original
++      discriminant as referenced.
++
++      * sem_warn.ads, sem_warn.adb
++      (Check_One_Unit): Test Renamed_In_Spec to control giving warning for
++      no entities referenced in package
++      (Check_One_Unit): Don't give message about no entities referenced in
++      a package if a pragma Unreferenced has appeared.
++      Handle new warning flag -gnatw.a/-gnatw.A
++      Update handling of assigned value/unreferenced warnings
++
++      * atree.h: Add flags up to Flag247
++      (Flag231): New macro.
++
++2007-12-13  Jose Ruiz  <ruiz@adacore.com>
++
++      * adaint.h: (__gnat_plist_init): Not defined for RTX.
++
++      * initialize.c (__gnat_initialize): Do not call __gnat_plist_init for
++      RTX systems.
++
++      * Makefile.in: Add new files s-tasinf-linux.ads and s-tasinf-linux.adb.
++      (LIBGNAT_TARGET_PAIRS, MISCLIB, THREADSLIB,
++      EXTRA_GNATRTL_NONTASKING_OBJS, EXTRA_GNATRTL_TASKING_OBJS,
++      GNATLIB_SHARED for RTX run time): Use the versions required by RTX.
++
++      * mingw32.h:
++      Do not define GNAT_UNICODE_SUPPORT for RTX since it is not supported.
++
++      * sysdep.c (winflush_function for RTX): Procedure that does nothing
++      since we only have problems with Windows 95/98, which are not
++      supported by RTX.
++      (__gnat_ttyname): Return the empty string on Nucleus, just as
++      done on vxworks.
++
++2007-12-13  Robert Dewar  <dewar@adacore.com>
++
++      * a-textio.adb, a-textio.ads:
++      Extensive changes to private part for wide character encoding
++
++      * a-witeio.adb, a-witeio.ads, a-ztexio.ads, a-ztexio.adb
++      (Look_Ahead): Fix mishandling of encoded sequences
++      Move declaration of Wch_Con to private part (should not be visible)
++
++      * ali.adb (Scan_ALI): Set default encoding method to brackets instead of
++      UTF-8. Probably this is never used, but if it is, brackets is
++      clearly correct.
++
++      * bindgen.adb (Get_WC_Encoding): New procedure to properly handle
++      setting wide character encoding for no main program case and when
++      encoding is specified using -W?
++      Initialize stack limit of environment task if stack limit method of
++      stack checking is enabled.
++      (Gen_Adainit_Ada): Use Get_WC_Encoding to output encoding method
++      (Gen_Adainit_C): Use Get_WC_Encoding to output encoding method
++      (Get_Main_Unit_Name): New function.
++      (Gen_Adainit_Ada): Add call to main program for .NET when needed.
++      (Gen_Output_File): Set Bind_Main_Program to True for .NET
++
++      * bindusg.adb: Add line for -Wx switch
++
++      * s-wchcon.adb, s-wchcon.ads: (Is_Start_Of_Encoding): New function
++      Add comments
++      Add new useful constant WC_Longest_Sequences
++
++      * switch-b.adb: Clean up handling of -Wx switch
++      For -gnatWx, set Wide_Character_Encoding_Method_Specified
++
++      * switch-c.adb: -gnatg activates warning on assertion errors
++      For -gnatWx, set Wide_Character_Encoding_Method_Specified
++
++      * s-wchcon.adb: (Is_Start_Of_Encoding): New function
++
++2007-12-13  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * a-ngcoty.adb: New pragma Fast_Math
++
++      * opt.adb: New pragma Fast_Math
++
++      * par-prag.adb:
++      Add Implemented_By_Entry to the list of pragmas which do not require any
++      special processing.
++      (Favor_Top_Level): New pragma.
++      New pragma Fast_Math
++
++      * exp_attr.adb: Move Wide_[Wide_]Image routines to Exp_Imgv
++      (Expand_N_Attribute_Reference, Displace_Allocator_Pointer,
++      Expand_Allocator_Expression): Take into account VM_Target
++      (Expand_Attribute, case 'Identity):  Handle properly the case where
++      the prefix is a task interface.
++      New pragma Fast_Math
++
++      * par.adb (Next_Token_Is): New function
++      (P_Pragma): Add Skipping parameter
++      (U_Left_Paren): New procedure
++      (U_Right_Paren): New procedure
++      New pragma Fast_Math
++
++      * par-ch10.adb (P_Subunit): Unconditional msg for missing ) after
++      subunit
++      New pragma Fast_Math
++
++      * sem_prag.adb: Add significance value to table Sig_Flag for pragma
++      Implemented_By_Entry.
++      (Analyze_Pragma): Add case for Ada 2005 pragma Implemented_By_Entry.
++      (Set_Inline_Flags): Do not try to link pragma Inline onto chain of rep
++      items, since it can apply to more than one overloadable entity. Set
++      new flag Has_Pragma_Inline_Always for Inline_Always case.
++      (Analyze_Pragma, case Complex_Representation): Improve error message.
++      (Analyze_Pragma, case Assert): When assertions are disabled build the
++      rewritten code with Sloc of expression rather than pragma, so new
++      warning about failing is not deleted.
++      (Analyze_Pragma): Allow pragma Preelaborable_Initialization to apply to
++      protected types and update error message to reflect that. Test whether
++      the protected type is allowed for the pragma (an error is issued if the
++      type has any entries, or components that do not have preelaborable
++      initialization).
++      New pragma Fast_Math
++      (Analyze_Pragma, case No_Return): Handle generic instance
++
++      * snames.h, snames.ads, snames.adb:
++      Add new predefined name for interface primitive _Disp_Requeue.
++      New pragma Fast_Math
++
++      * a-tags.ads, a-tags.adb: New calling sequence for
++      String_To_Wide_[Wide_]String
++      (Secondary_Tag): New subprogram.
++
++      * exp_imgv.ads, exp_imgv.adb: Move Wide_[Wide_]Image routines here
++      from Exp_Attr
++      New calling sequence for String_To_Wide_[Wide_]String
++      (Expand_Image_Attribute): Major rewrite. New calling sequence avoids
++      the use of the secondary stack for image routines.
++
++      * a-except-2005.adb, s-wchstw.ads, s-wchstw.adb, s-wwdenu.adb: New
++      calling sequence for String_To_Wide_[Wide_]String
++
++      * par-ch3.adb (P_Declarative_Items): Recognize use of Overriding in
++      Ada 95 mode
++      (P_Unknown_Discriminant_Part_Opt): Handle missing parens gracefully
++      Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
++
++      * par-ch6.adb (P_Subprogram): Recognize use of Overriding in Ada 95 mode
++      (P_Formal_Part): Use Skipping parameter in P_Pragma call
++      to improve error recovery
++
++      * par-util.adb (Next_Token_Is): New function
++      (Signal_Bad_Attribute): Use new Namet.Is_Bad_Spelling_Of function
++
++      * par-ch2.adb (Skip_Pragma_Semicolon): Do not resynchronize to
++      semicolon if missing
++      (P_Pragma): Implement new Skipping parameter
++      Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
++      Fix location of flag for unrecognized pragma message
++
++      * par-tchk.adb (U_Left_Paren): New procedure
++      (U_Right_Paren): New procedure
++
++2007-12-13  Geert Bosch  <bosch@adacore.com>
++
++      * a-tifiio.adb:
++      (Put_Int64): Use Put_Digit to advance Pos. This fixes a case where
++      the second or later Scaled_Divide would omit leading zeroes,
++      resulting in too few digits produced and a Layout_Error as result.
++      (Put): Initialize Pos.
++
++2007-12-13  Robert Dewar  <dewar@adacore.com>
++
++      atree.ads, atree.adb (Flag231..Flag247): New functions
++      (Set_Flag231..Set_Flag247): New procedures
++      (Basic_Set_Convention): Rename Set_Convention to be
++      Basic_Set_Convention
++      (Nkind_In): New functions
++      Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
++
++      * exp_ch6.adb (Expand_Call): Use new flag Has_Pragma_Inline_Always
++      instead
++       of obsolete function Is_Always_Inlined
++      (Register_Predefined_DT_Entry): Initialize slots of the second
++      secondary dispatch table.
++      Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
++      (Expand_N_Function_Call): Remove special provision for stack checking.
++
++      * exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
++      Include _Disp_Requeue in the list of predefined operations.
++      (Find_Interface_ADT): Modified to fulfill the new specification.
++      Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
++
++      * par-ch4.adb, nlists.ads, nlists.adb:
++      Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
++
++      * sinfo.ads, sinfo.adb: (Nkind_In): New functions
++      Fix location of flag for unrecognized pragma message
++
++      * sem_ch7.adb: Use Nkind_In
++
++2007-12-13  Vincent Celier  <celier@adacore.com>
++
++      * opt.ads:
++      Indicate what flags are used by the Project Manager, gprbuild and
++      gprclean.
++      (Opt.Follow_Links_For_Dirs): New flag
++      (Warn_On_Assertion_Failure): New flag
++      (Wide_Character_Encoding_Method_Specified): New flag
++      (Suppress_All_Inlining): New switch set by -fno-inline
++      (Real_VMS_Target): New flag
++      New pragma Fast_Math
++
++2007-12-13  Robert Dewar  <dewar@adacore.com>
++
++      * back_end.adb: Recognize -fno-inline
++
++2007-12-13  Robert Dewar  <dewar@adacore.com>
++
++      * checks.adb: Fix optimization problem with short-circuited form
++
++2007-12-13  Bob Duff  <duff@adacore.com>
++
++      * clean.adb (Usage): Add line for -aP
++      (Check_Version_And_Help): Change Check_Version_And_Help to be generic,
++      with a parameter "procedure Usage", instead of passing a pointer to a
++      procedure. This is to eliminate trampolines (since the Usage procedure
++      is often nested in a main procedure, and it would be inconvenient to
++      unnest it).
++
++      * g-comlin.adb (For_Each_Simple_Switch): Change For_Each_Simple_Switch
++      to be generic, with a parameter "procedure Callback (...)", instead of
++      passing a pointer to a procedure. This is to eliminate trampolines
++      (since the Callback procedure is usually nested).
++
++      * gnatfind.adb, switch.adb, switch.ads, gnatlink.adb, gnatls.adb,
++      gnatname.adb, gnatxref.adb, gnatchop.adb, gprep.adb, gnatbind.adb
++      (Check_Version_And_Help): Change Check_Version_And_Help to be generic.
++
++      * g-pehage.adb (Compute_Edges_And_Vertices, Build_Identical_Key_Sets):
++      Use the generic Heap_Sort_G instead of Heap_Sort_A.
++
++2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * einfo.ads, einfo.adb: Flag 232 is now Implemented_By_Entry.
++      (Implemented_By_Entry, Set_Implemented_By_Entry): New routines.
++      (Write_Entry_Flags): Add an entry for Implemented_By_Entry.
++      (Renamed_In_Spec): New flag
++      (Has_Pragma_Inline_Always): New flag
++      Add missing doc for pragma Obsolescent_Warning
++      Add missing doc for 17 additional unused flags (230-247)
++      (Is_Derived_Type): Remove condition "not Is_Generic_Type".
++      Alphabetize with clauses.
++      Separate Is_Thunk and Has_Thunks flags
++      (Write_Entity_Flags): Add forgotten entry for Has_Thunks
++      (Related_Interface): Renamed to Related_Type.
++      (Has_Thunks/Set_Has_Thunks): Subprograms of new attribute.
++      (Set_Is_Flag): Restrict the assertion.
++
++2007-12-13  Vincent Celier  <celier@adacore.com>
++
++      * errout.adb (Output_Source_Line): Do not keep a trailing space after
++      the source line number if the source line is empty.
++
++2007-12-13  Geert Bosch  <bosch@adacore.com>
++
++      * eval_fat.adb (Decompose_Int): Handle argument of zero.
++      (Compose): Remove special casing of zero.
++      (Exponent): Likewise.
++      (Fraction): Likewise.
++      (Machine): Likewise.
++      (Decompose): Update comment.
++
++2007-12-13  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_aggr.adb (Build_Record_Aggr_Code): If there is an aggregate for a
++      limited ancestor part, initialize controllers of enclosing record
++      before expanding ancestor aggregate.
++      (Gen_Assign): If a component of the aggregate is box-initialized, add
++      code to call Initialize if the component is controlled, and explicit
++      assignment of null if the component is an access type.
++
++      Handle properly aggregates for limited types that appear in object
++      declarations when the aggregate contains controlled values such as
++      protected types.
++      When expanding limited aggregates into individual components, do not
++      call Adjust on controlled components that are limited.
++
++2007-12-13  Ed Schonberg  <schonberg@adacore.com>
++
++      * expander.adb: Take into account N_Subprogram_Renaming_Declaration
++
++2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * exp_ch3.adb (Predefined_Primitive_Bodies): Generate the body of
++      predefined primitive _Disp_Requeue.
++      (Make_Predefined_Primitive_Specs): Create the spec for predefined
++      primitive _Disp_Requeue.
++      (Make_Predefined_Primitive_Specs/Predefined_Primitive_Bodies): Set the
++      type of formal Renamed_Eq to Entity_Id (instead of Node_Id).
++      (Make_Predefined_Primitive_Specs): Spec of "=" needed if the parent is
++      an interface type. In case of limited interfaces we now declare all the
++      predefined primitives associated with synchronized interfaces as
++      abstract.
++      (Predef_Spec_Or_Body): For interface types generate abstract subprogram
++      declarations.
++      (Predefined_Primitive_Bodies): Add body of "=" if the parent of the
++      tagged type is an interface type and there is no user-defined equality
++      function.
++      Add also bodies of predefined primitives associated with synchronized
++      interfaces.
++      (Freeze_Record_Type): Do not build bodies of predefined primitives of
++      interface types because they are now defined abstract.
++      Add missing documentation.
++      (Expand_Record_Controller): Update occurrence of Related_Interface
++      to Related_Type.
++      (Build_Offset_To_Top_Functions): Do nothing in case of VM.
++      (Expand_N_Object_Declaration): Take into account VM_Target when handling
++      class wide interface object declaration.
++      (Expand_Previous_Access_Type): Do not create a duplicate master entity
++      if the access type already has one.
++      (Expand_N_Object_Declaration): Defend against attempt to validity check
++      generic types. Noticed for -gnatVcf specified with previous errors.
++
++2007-12-13  Arnaud Charlet  <charlet@adacore.com>
++
++      * exp_ch4.adb (Expand_N_Attribute_Reference, Displace_Allocator_Pointer,
++      Expand_Allocator_Expression): Take into account VM_Target
++
++      * exp_ch5.adb (Expand_N_Extended_Return_Statement): Do not use
++      secondary stack when VM_Target /= No_VM
++
++2007-12-13  Javier Miranda  <miranda@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_ch7.adb (Expand_N_Package_Body): Replace occurrence of attribute
++      Is_Complation_Unit by Is_Library_Level_Entity in the code
++      that decides if the static dispatch tables need to be built.
++      (Wrap_Transient_Declaration): Do not generate a finalization call if
++      this is a renaming declaration and the renamed object is a component
++      of a controlled type.
++
++2007-12-13  Gary Dismukes  <dismukes@adacore.com>
++
++      * exp_ch8.ads, exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration):
++      In the case where the renamed subprogram is a dereference, call
++      Force_Evaluation on the prefix.
++
++2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_ch9.adb (Expand_N_Asynchronous_Select,
++      Expand_N_Conditional_Entry_Call, Expand_N_Timed_Entry_Call): Code and
++      comment reformatting.
++      (Set_Privals): Inherit aliased flag from formal. From code reading.
++      (Build_Simple_Entry_Call): Out parameters of an access type are passed
++      by copy and initialized from the actual. This includes entry parameters.
++      (Expand_N_Requeue_Statement): Reimplement in order to handle both Ada 95
++      and Ada 2005 models of requeue.
++      (Null_Statements): Still connsider do-end block null if it contains
++      Unreferenced and Warnings pragmas.
++      (Expand_N_Accept_Statement): Do not optimize away null do end if
++      dispatching policy is other than defaulted.
++      (Expand_N_Timed_Entry_Call): When the triggering statement is a
++      dispatching call, manually analyze the delay statement.
++      (Find_Parameter_Type): Move subprogram to Sem_Util.
++
++2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Primitive
++      _Disp_Requeue occupies dispatch table slot number 15. Move
++      _Disp_Timed_Select to slot 16.
++      (Make_Disp_Requeue_Body, Make_Disp_Requeue_Spec): New routines which
++      generate the spec and body of _Disp_Reqeueue.
++      (Make_DT): Build and initialize the second dispatch table.
++      Handle initialization of RC_Offset when the parent
++      is a private type with variable size components.
++      (Make_Secondary_DT): Complete documentation. Add support to
++      initialize the second dispatch table.
++      (Make_Tags): Generate the tag of the second dispatch table.
++      (Register_Primitive): Add support to register primitives in the
++      second dispatch table.
++
++2007-12-13  Pascal Obry  <obry@adacore.com>
++
++      * expect.c (__gnat_kill) [WIN32]: Implement the SIGINT signal on
++      Windows. This signal is used by gnatmake to kill child processes for
++      example.
++
++2007-12-13  Javier Miranda  <miranda@adacore.com>
++
++      * exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing
++      support for generic dispatching constructor calls in which we need to
++      locate the tag of a secondary dispatch table associated with an
++      interface type to properly dispatch the call.
++      (Expand_N_Attribute_Reference [case Address],
++      Expand_Dispatching_Constructor_Call, Expand_Unc_Deallocation): Fix
++      handling of VM targets.
++
++2007-12-13  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_prag.adb (Expand_Pragma_Assert): Recognize new warning flag for
++      assert fail
++
++      * ug_words: Add entries for -gnatw.a -gnatw.A
++
++      * sem_res.adb (Set_String_Literal_Subtype): If the context of the
++      literal is a subtype with non-static constraints, use the base type of
++      the context as the base of the string subtype, to prevent type
++      mismatches in gigi.
++      (Resolve_Actuals): If the actual is an entity name, generate a
++      reference before the actual is resolved and expanded, to prevent
++      spurious warnings on formals of enclosing protected operations.
++      (Analyze_Overloaded_Selected_Component): If type of prefix if
++      class-wide, use visible components of base type.
++      (Resolve_Selected_Component): Ditto.
++      (Resolve_Short_Circuit): Detect case of pragma Assert argument
++      evaluating to False, and issue warning message.
++
++      * usage.adb: Add lines for -gnatw.a and -gnatw.A
++
++2007-12-13  Emmanuel Briot  <briot@adacore.com>
++
++      * g-calend.ads (No_Time): New constant, to represent an uninitialized
++      time value
++
++      * g-catiio.ads, g-catiio.adb (Value): Added support for more date
++      formats.
++      (Month_Name_To_Number): New subprogram
++
++      * g-dirope.adb (Get_Current_Dir): On windows, normalize the drive
++      letter to upper-case.
++
++2007-12-13  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * gnat1drv.adb (Gnat1drv): Properly set new flag Opt.Real_VMS_Target
++
++      * layout.adb (Resolve_Attribute, case 'Access): If designated type of
++      context is a limited view, use non-limited view when available. If the
++      non-limited view is an unconstrained array, this enforces consistency
++      requirements in 3.10.2 (27).
++      (Layout_Type): For an access type whose designated type is a limited
++      view, examine its declaration to determine if it is an unconstrained
++      array, and size the access type accordingly.
++      (Layout_Type): Do not force 32-bits for convention c subprogram
++      pointers in -gnatdm mode, only if real vms target.
++
++      * sem_attr.adb (Analyze_Access_Attribute): Use new flag
++      Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
++      (Analyze_Access_Attribute,Attribute_Address): Remove checks for
++      violations of the No_Implicit_Dynamic_Code restriction.
++      (Resolve_Attribute, case 'Access): If designated type of context is a
++      limited view, use non-limited view when available. If the non-limited
++      view is an unconstrained array, this enforces consistency requirements
++      in 3.10.2 (27).
++      (Layout_Type): For an access type whose designated type is a limited
++      view, examine its declaration to determine if it is an unconstrained
++      array, and size the access type accordingly.
++
++2007-12-13  Vincent Celier  <celier@adacore.com>
++
++      * gnatcmd.adb (GNATCmd): Do not issue -d= switch to gnatmetric when
++      object directory of main project does not exist.
++      On VMS, correctly set then environment variable for the source
++      directories.
++
++2007-12-13  Vasiliy Fofanov  <fofanov@adacore.com>
++
++      * g-regist.ads, g-regist.adb (Set_Value): new parameter Expand; when
++      set to True this procedure will create the value of type REG_EXPAND_SZ.
++      It was only possible to create REG_SZ values before.
++
++2007-12-13  Robert Dewar  <dewar@adacore.com>
++
++      * g-spchge.ads, g-spchge.adb, g-u3spch.adb, g-u3spch.ads,
++      g-wispch.adb, g-wispch.ads, g-zspche.adb, g-zspche.ads,
++      namet-sp.adb, namet-sp.ads: New files.
++
++      * g-speche.adb: Use generic routine in g-spchge
++
++      * s-wchcnv.ads, s-wchcnv.adb:
++      Minor code cleanup (make formal type consistent with spec)
++
++      * namet.adb: Update comments.
++
++      * par-endh.adb (Evaluate_End_Entry): Use new
++      Namet.Sp.Is_Bad_Spelling_Of function
++
++      * par-load.adb (Load): Use new Namet.Sp.Is_Bad_Spelling_Of function
++
++      * sem_aggr.adb (Resolve_Record_Aggregate): If a component of an
++      ancestor is an access type initialized with a box, set its type
++      explicitly, for use in subsequent expansion.
++      (Check_Misspelled_Component): Use new Namet.Sp.Is_Bad_Spelling_Of
++      function
++
++2007-12-13  Robert Dewar  <dewar@adacore.com>
++
++      * g-spipat.adb (Break): Fix accessibility error (vsn taking not null
++      access Vstring)
++
++2007-12-13  Robert Dewar  <dewar@adacore.com>
++
++      * inline.adb (Back_End_Cannot_Inline): Use new flag
++      Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
++
++      * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Use new flag
++      Has_Pragma_Inline_Always instead.
++      of obsolete function Is_Always_Inlined
++      (Build_Body_To_Inline): Same change
++      (Cannot_Inline): Same change
++      Do not give warning on exception raise in No_Return function
++
++      * sem_ch13.adb (Analyze_Record_Representation_Clause): If an inherited
++      component has two inconsistent component clauses in the same record
++      representation clause, favor the message that complains about
++      duplication rather than inconsistency.
++      Update comments.
++      (Record_Representation_Clause): Do not warn on missing component
++      clauses for inherited components of a type extension.
++      (Rep_Item_Too_Late): Do not attempt to link pragma into rep chain for
++      an overloadable item if it is a pragma that can apply to multiple
++      overloadable entities (e.g. Inline) because a pragma cannot be on
++      more than one chain at a time.
++      (Validate_Unchecked_Conversion): Add code to warn on unchecked
++      conversion where one of the operands is Ada.Calendar.Time.
++      (Analyze_Attribute_Definition_Clause): Fix typo in error message.
++      For now, ignore Component_Size clause on VM targets, as done for
++      pragma Pack.
++
++2007-12-13  Emmanuel Briot  <briot@adacore.com>
++          Vincent Celier  <celier@adacore.com>
++
++      * prj.ads, prj.adb (Is_A_Language): Now takes a Name_Id instead of a
++      string
++      (Must_Check_Configuration, Default_Language_Is_Ada): new flags in
++      prj.ads
++      (Hash): Move instantiation of System.HTable.Hash from spec to body
++      (prj-nmsc.adb): Optimize calls to Name_Find when on case sensitive
++      systems, since we do not need to recompute the Name_Id for the canonical
++      file name.
++      (Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id
++      as a parameter. This parameter is in fact always "ada" in all calls, and
++      we were doing 160560 extra calls to Name_Find to convert it to Name_Ada
++      while loading a project with 40000 files
++
++      * prj-attr.adb: Fix name of attribute Dependency_Driver
++      Change the kind of indexing for attribute Root
++
++      * prj-dect.adb (Parse_Declarative_Items): Allow redeclarations of
++      variables already declared, in case constructions.
++
++      * prj-env.adb (Initialize): Reset Current_Source_Path_File and
++      Current_Object_Path_File to No_Path.
++
++      * prj-ext.adb (Initialize_Project_Path): In multi language mode, use
++      ADA_PROJECT_PATH if value of GPR_PROJECT_PATH is empty.
++
++      * prj-makr.adb: new parameter Current_Dir
++
++      * prj-nmsc.ads, prj-nmsc.adb (Find_Explicit_Sources): Do not look for
++      Ada sources when language is not Ada.
++      Change Opt.Follow_Links to Opt.Follow_Links_For_Files.
++      (Find_Excluded_Sources, Find_Explicit_Sources): new subprograms
++      (Must_Check_Configuration, Default_Language_Is_Ada): new flags.
++      (Locate_Directory): Always resolve links when computing Canonical_Path
++      (Look_For_Sources): Make sure that Name_Buffer contains the file name
++      in Source_Files before checking for the presence of a directory
++      separator.
++      Optimize calls to Name_Find when on case sensitive systems.
++      (Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id
++      as a parameter.
++      (Prj.Nmsc.Check): new parameter Current_Dir
++      (Check_Ada_Naming_Schemes): Restrictions on suffixes are relaxed. They
++      cannot be empty and the spec suffix cannot be the same as the body or
++      separate suffix.
++      (Get_Unit): When a file name can be of several unit kinds (spec, body or
++      subunit), always consider the longest suffix.
++      (Check_Configuration): Do not issue an error if there is no compiler
++      for a language. Just issue a warning and ignore the sources for the
++      language.
++      (Check_Library_Attributes): Only check Library_Dir if Library_Name is
++      not empty.
++      (Check_Naming_Schemes.Maked_Unit): Only output message if high verbosity
++      (Unit_Exceptions): New hash table
++      (Check_Naming_Schemes): Check if a file that could be a unit because of
++      the naming scheme is not in fact a source because there is an exception
++      for the unit.
++      (Look_For_Sources): Put the unit exceptions in hash table
++      Unit_Exceptions
++      (Get_Unit_Exceptions): Give initial value No_Source to local variable
++      Other_Part to avoid exception when code is compiled with validity
++      checking.
++      (Get_Sources_From_File): Check that there is no directory information
++      in the file names.
++      (Look_For_Sources): Check that there is no directory information in the
++      list of file names in Source_Files.
++      (Look_For_Sources): In multi-language mode, do not allow exception file
++      names that are excluded.
++      (Excluded_Sources_Htable): New hash table
++      (Search_Directories.Check_File): New procedure to simplify
++      Search_Directories.
++      (Search_Directories): Do not consider excluded sources
++      (Look_For_Sources): Populate Excluded_Sources_Htable before calling
++      Search_Directories.
++      (Get_Exceptions): Set component Lang_Kind of Source_Data
++      (Get_Unit_Exceptions): Ditto
++      (Search_Directories): Ditto
++
++      * prj-pars.adb: new parameter Current_Dir
++
++      * prj-part.ads, prj-part.adb:
++      Change Opt.Follow_Links to Opt.Follow_Links_For_Files.
++      (Opt.Follow_Links_For_Dirs): New flag
++      (Project_Path_Name_Of): Cache information returned by this routine as
++      Locate_Regular_File is a costly routine. The code to output a log
++      information and the effective call to Locate_Regular_File is now
++      factorized into a routine (code clean-up).
++      (Parse, Parse_Single_Project): new parameter Current_Dir
++      When main project file cannot be found, indicate in the error
++      message the project path that was used to do the search.
++
++      * prj-proc.ads, prj-proc.adb (Opt.Follow_Links_For_Dirs): New flag
++      (Prj.Proc.Process*): new parameter Current_Dir
++
++      * switch-m.adb: Change Opt.Follow_Links to Opt.Follow_Links_For_Files
++
++2007-12-13  Bob Duff  <duff@adacore.com>
++
++      * restrict.ads, restrict.adb (Check_Implicit_Dynamic_Code_Allowed): New
++      procedure to be called from the back end to check the
++      No_Implicit_Dynamic_Code restriction.
++
++2007-12-13  Arnaud Charlet  <charlet@adacore.com>
++
++      * rtsfind.adb (Check_CRT): Take into account RTE_Available_Call
++      Fixes another case where RTE_Available_Call was ignored instead of being
++      taken into account.
++      (Load_Fail): Ditto.
++
++      * rtsfind.ads: Add new entries.
++
++2007-12-13  Robert Dewar  <dewar@adacore.com>
++
++      * g-byorma.adb, g-byorma.ads, g-decstr.adb, g-decstr.ads,
++      g-deutst.ads, g-encstr.adb, g-encstr.ads, g-enutst.ads: New files.
++
++      * scn.adb: Implement BOM recognition
++
++2007-12-13  Thomas Quinot  <quinot@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch10.adb (Check_Private_Child_Unit): A non-private library level
++      subprogram body that acts as its own spec may not have a non-private
++      WITH clause on a private sibling.
++      (Build_Unit_Name): If the parent unit in the name in a with_clause on a
++      child unit is a renaming, create an implicit with_clause on that
++      parent, and not on the unit it renames, to prevent visibility errors
++      in the current unit.
++
++2007-12-13  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch12.adb (Instantiate_Formal_Subprogram): In the subprogram
++      renaming declaration, use the Slocs of the formal parameters from the
++      declaration of the formal subprogram when creating the formal parameter
++      entities in the renaming declaration.
++      (Analyze_Formal_Type_Declaration): Change the placement of the error
++      message concerning illegal known discriminants. It is now posted on the
++      type rather than on the first discriminant. This change ensures early
++      error report.
++      (Freeze_Subprogram_Body): If the generic subprogram is nested within
++      the package body that contains the instance, do not generate an
++      out-of-place freeze node for the enclosing package.
++      (Collect_Previous_Instantiations): Ignore internal instantiations
++      generated for formal packages.
++      (Validate_Derived_Type_Instance): Add a check that when a formal
++      derived type is Known_To_Have_Preelab_Init then the actual type must
++      have preelaborable initialization, and issue an error when this
++      condition is violated.
++
++2007-12-13  Robert Dewar  <dewar@adacore.com>
++
++      * s-imenne.adb, s-imenne.ads: New files.
++
++      * s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
++      s-imgdec.ads, s-imgenu.ads, s-imgint.adb, s-imgint.ads, s-imglld.adb,
++      s-imglld.ads, s-imglli.adb, s-imglli.ads, s-imgllu.adb, s-imgllu.ads,
++      s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwch.adb,
++      s-imgwch.ads: New calling sequence for Image routines to avoid sec
++      stack usage.
++
++2007-12-13  Javier Miranda  <miranda@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Avoid
++      generation of spurious error if parent is an interface type; caused
++      because predefined primitive bodies will be generated later by
++      Freeze_Record_Type.
++      (Process_Subtype): The subtype inherits the Known_To_Have_Preelab_Init
++      flag.
++      (Derive_Subprograms): Handle derivations of predefined primitives
++      after all the user-defined primitives to ensure that they are
++      found in proper order in instantiations.
++      (Add_Interface_Tag_Components, Inherit_Components): Update occurrences
++      of Related_Interface to Related_Type.
++      (Record_Type_Declaration): Minor reordering of calls to decorate the
++      Tag component because the entity must have set its Ekind attribute
++      before setting its Is_Tag attribute.
++      (Analyze_Subtype_Declaration): In the case of subtypes with
++      Private_Kind, inherit Known_To_Have_Preelab_Init from the parent.
++
++2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch4.adb (Analyze_Selected_Component): Include the requeue
++      statement to the list of contexts where a selected component with a
++      concurrent tagged type prefix should yield a primitive operation.
++      (Find_Primitive_Operation): Handle case of class-wide types.
++      (Analyze_Overloaded_Selected_Component): If type of prefix is
++      class-wide, use visible components of base type.
++      (Resolve_Selected_Component): Ditto.
++      (Try_Primitive_Operation, Collect_Generic_Type_Ops): If the type is a
++      formal of a generic subprogram. find candidate interpretations by
++      scanning the list of generic formal declarations.:
++      (Process_Implicit_Dereference_Prefix): If the prefix has an incomplete
++      type from a limited_with_clause, and the full view is available, use it
++      for subsequent semantic checks.
++      (Check_Misspelled_Selector): Use Namet.Sp.Is_Bad_Spelling_Of function
++      (Find_Primitive_Operation): New function.
++      (Analyze_Overloaded_Selected_Component): insert explicit dereference
++      only once if several interpretations of the prefix yield an access type.
++      (Try_Object_Operation): Code and comment cleanup.
++      (Analyze_Selected_Component): Reorder local variables. Minot comment and
++      code reformatting. When the type of the prefix is tagged concurrent, a
++      correct interpretation might be available in the primitive and
++      class-wide operations of the type.
++
++2007-12-13  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch8.adb (Analyze_Subprogram_Renaming): Special error message for
++      renaming entry as subprogram using rename-as-body if subprogram spec
++      frozen.
++      (Use_One_Type): The clause is legal on an access type whose designated
++      type has a limited view.
++      (Find_Direct_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
++      (Find_Expanded_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
++      (Analyze_Renamed_Primitive_Operation): new procedure to determine the
++      operation denoted by a selected component.
++      (Analyze_Renamed_Entry): Resolve the prefix of the entry name, because
++      it can be an expression, possibly overloaded, that returns a task or
++      an access to one.
++
++2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * sem_ch9.adb (Analyze_Requeue): Add a local flag to capture whether a
++      requeue statement is dispatching. Do not emit an error when the name is
++      not an entry and the context is a dispatching select. Add code to
++      perform subtype conformance between the formals of the current entry
++      and those of the target interface primitive.
++      (Analyze_Asynchronous_Select, Analyze_Conditional_Entry_Call, Analyze_
++      Timed_Entry_Call): Analyze the triggering statement as the first step of
++      the processing. If this is a dispatching select, postpone the analysis
++      of all select statements until the Expander transforms the select. This
++      approach avoids generating duplicate identifiers after the Expander has
++      replicated some of the select statements. In case the Expander is
++      disabled, perform regular analysis.
++      (Check_Triggering_Statement): New routine.
++      (Analyze_Requeue): Exclude any interpretations that are not entries when
++      checking overloaded names in a requeue. Also test type conformance for
++      matching interpretations rather than requiring subtype conformance at
++      that point to conform with the RM's resolution rule for requeues.
++
++2007-12-13  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_disp.adb (Check_Dispatching_Call): If an actual in a call to an
++      inherited operation is a defaulted tag-indeterminate call, and there is
++      a statically tagged actual, use the static tag as a controlling actual
++      for the defaulted actual.
++
++2007-12-13  Geert Bosch  <bosch@adacore.com>
++
++      * sem_eval.adb (Eval_Real_Literal): N_Constant_Declaration is a static
++      context, so do not call Check_Non_Static_Context.
++
++2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * sem_type.adb (Function_Interp_Has_Abstract_Op): Add guard to check
++      whether formal E is an entity which may have parameters.
++
++2007-12-13  Bob Duff  <duff@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * sem_util.ads, sem_util.adb (Is_Concurrent_Interface): New routine.
++      (Set_Convention): New procedure to set the Convention flag, and in
++      addition make sure the Favor_Top_Level flag is kept in sync (all
++      foreign-language conventions require Favor_Top_Level = True).
++      (Collect_Abstract_Interfaces): Update occurrences of Related_Interface
++      to Related_Type.
++      (Collect_Interfaces_Info): Minor update to handle the two secondary
++      dispatch tables. Update occurrence of Related_Interface to Related_Type.
++      (Generate_Parent_Ref): Add parameter to specify entity to check
++      (Is_Preelaborable_Expression): Allow the name of a discriminant to
++      initialize a component of a type with preelaborable initialization.
++      This includes the case of a discriminal used in such a context.
++      (Is_Dependent_Component_Of_Mutable_Object): Take into account the
++      latest Ada 2005 rules about renaming and 'Access of
++      discriminant-dependent components.
++      (Check_Nested_Access): Add handling when there are no enclosing
++      subprograms (e.g. case of a package body).
++      (Find_Parameter_Type): Factor routine from several other compiler files.
++      Remove routine from Find_Overridden_Synchronized_Primitive.
++
++2007-12-13  Thomas Quinot  <quinot@adacore.com>
++
++      * sinput.adb (Get_Source_File_Index): Add assertion to guard against
++      an invalid access to an uninitialized slot in the
++      Source_File_Index_Table.
++
++2007-12-13  Thomas Quinot  <quinot@adacore.com>
++
++      * sinput-l.adb (Load_File): Disable style checks when preprocessing.
++
++2007-12-13  Bob Duff  <duff@adacore.com>
++
++      * s-soflin.ads: Apply new pragma Favor_Top_Level to all
++      access-to-subprogram types in this package.
++
++2007-12-13  Olivier Hainque  <hainque@adacore.com>
++
++      * s-stausa.ads (Stack_Analyzer): Remove First_Is_Topmost, redundant
++      with Stack_Grows_Down in System.Parameters. Rename Array_Address into
++      Stack_Overlay_Address and document that we are using an internal
++      abstraction.
++      (Byte_Size, Unsigned_32_Size): Remove, now useless.
++      (Pattern_Type, Bytes_Per_Pattern): New subtype and constant, to be used
++      consistently throughout the various implementation pieces.
++
++      * s-stausa.adb (Stack_Slots): New type, abstraction for the stack
++      overlay we are using to fill the stack area with patterns.
++      (Top_Slot_Index_In, Bottom_Slot_Index_In): Operations on Stack_Slots.
++      (Push_Index_Step_For, Pop_Index_Step_For): Likewise.
++      (Fill_Stack, Compute_Result): Use the Stack_Slots abstraction.
++
++2007-12-13  Robert Dewar  <dewar@adacore.com>
++
++      * s-stoele.adb ("mod"): mod negative value raises Constraint_Error
++
++2007-12-13  Arnaud Charlet  <charlet@adacore.com>
++
++      * s-tassta.adb:
++      (Create_Task): Take into account tasks created by foreign threads.
++      Code clean up: use constants instead of hard coded values.
++
++2007-12-13  Robert Dewar  <dewar@adacore.com>
++
++      * styleg.adb (Check_Comment): More liberal rules for comment placement
++
++2007-12-13  Olivier Hainque  <hainque@adacore.com>
++
++      * tb-alvms.c (struct tb_entry_t, __gnat_backtrace): Revert back to use
++      of Procedure Value instead of Frame Pointer as the invocation
++      identifier associated with the instruction pointer in each traceback
++      entry.
++
++      * g-trasym-vms-alpha.adb (Traceback_Entry, PV_For, FP_For,
++      TB_Entry_For): Revert back to use of Procedure Value instead of Frame
++      Pointer as the invocation identifier passed to tbk$symbolize.
++
++      * s-traent-vms.ads, s-traent-vms.adb
++      (Traceback_Entry, PV_For, FP_For, TB_Entry_For): Revert back to use of
++      Procedure Value instead of Frame Pointer as the invocation identifier
++      passed to tbk$symbolize.
++
++2007-12-13  Robert Dewar  <dewar@adacore.com>
++
++      * tbuild.ads, tbuild.adb:
++      Fix location of flag for unrecognized pragma message
++
++2007-12-13  Robert Dewar  <dewar@adacore.com>
++
++      * treepr.ads, treepr.adb: (pl): implement use of positive value
++      shorthands
++
++2007-12-13  Robert Dewar  <dewar@adacore.com>
++
++      * xeinfo.adb: Remove warnings
++      * xnmake.adb: Remove warnings
++      * xsinfo.adb: Remove warnings
++      * xtreeprs.adb: Remove warnings
++      * xsnames.adb: Remove warnings
++
++      * a-ngcoar.adb: Fix typo.
++      * s-interr.adb: Minor reformatting
++      * env.c: Minor reformatting.
++      * g-bytswa.adb: Minor reformatting.
++      * g-rannum.ads: Minor documentation improvements
++      * s-tasinf-mingw.adb: Minor header fix
++      * a-clrefi.adb: Minor reformatting
++      * g-sttsne.ads: Minor documentation improvement
++      * g-sttsne-locking.ads: Minor documentation improvement
++      * g-soliop-solaris.ads: Minor documentation improvement
++      * g-soliop-mingw.ads: Minor documentation improvement
++      * g-soliop.ads: Minor documentation improvement
++      * exp_aggr.ads: Minor reformatting
++      * debug.adb: Add documentation for the gprbuild debug flags
++      * exp_ch2.adb: Use Nkind_In to simplify code throughout
++      * exp_pakd.adb: Minor reformatting
++
++      * g-altive.ads, g-alleve.adb: Remove assertions.
++      Add comment about minor differences between targets regarding
++      floating-point operations.
++
++      * g-thread.adb: Remove pragma unreferenced.
++      * lib.ads: Minor reformatting
++      * par-ch9.adb: Minor reformatting of error messages
++      * sem_case.adb: Minor reformatting
++      * s-fileio.adb: Minor reformattinng
++      * s-vmexta.ads: Minor typo
++      * vxaddr2line.adb:
++      Take into account 'Success' value as per new GNAT warning.
++
++2007-12-13  Vincent Celier  <celier@adacore.com>
++
++      * a-direct.adb (Create_Path): Always take '/' as a directory separator,
++      even on Windows
++
++2007-12-13  Robert Dewar  <dewar@adacore.com>
++          Bob Duff  <duff@adacore.com>
++
++      * gnat_ugn.texi: Dcoument new rules for style check comment alignment
++      Document that suffixes may be terminations of each others
++      Add doc for -gnatw.a and -gnatw.A
++      Document gnatbind -Wx switch
++      Document BOM recognition
++      Document pragma Implemented_By_Entry.
++      Document new units.
++
++      * gnat_rm.texi: (Favor_Top_Level): Document new pragma.
++      Add doc for pragma Unreferenced suppressing no entities referenced msg
++      Add documentation of GNAT.Directory_Operations.Iteration
++      Add documentation of GNAT.Random_Numbers
++      Add documentation for pragma Shared.
++      Correct documentation for Bit_Order
++      Add documentation for the Pool_Address attribute.
++      Fix and improve documentation of pragma machine_attribute.
++      New pragma Fast_Math
++      Document BOM recognition
++
++      * vms_data.ads: Add entries for -gnatw.a -gnatw.A
++      Add /Wide_Character_Encoding for binder
++      Add qualifier for the new gnatpp option --no-separate-loop-then
++
++2007-12-13  Matthew Heaney  <heaney@adacore.com>
++
++      * a-cohase.ads, a-cihama.ads, a-cihase.ads, a-cohama.ads: Document
++      which generic formal operations are called for each operation.
++
++2007-12-13  Olivier Hainque  <hainque@adacore.com>
++
++      * tb-gcc.c (uw_data_t, trace_callback): Only define if not GCC-SJLJ eh.
++      (__gnat_backtrace): Early return 0 if using GCC-SJLJ eh.
++
++2007-12-13  Emmanuel Briot  <briot@adacore.com>
++
++      * s-os_lib.ads, s-os_lib.adb (Normalize_Pathname): Do not compute
++      Reference_Dir unless we actually need it.
++
++2007-12-13  Vasiliy Fofanov  <fofanov@adacore.com>
++          Tristan Gingold  <gingold@adacore.com>
++
++      * g-socthi-vms.ads (Fd_Set_Access): make it 32-bit.
++
++      * s-osprim-vms.adb,
++      a-calend-vms.adb: Remove pragma warning off and add pragma
++      unreferenced.
++
++2007-12-13  Robert Dewar  <dewar@adacore.com>
++
++      * impunit.adb: Add entries for missing units
++
++      * Makefile.rtl: Add new run-time units.
++
++      * Make-lang.in:  Update dependencies.
++
++2007-12-13  Bob Duff  <duff@adacore.com>
++
++      * itypes.ads, itypes.adb (Create_Itype): For access-to-subprogram
++      types, set Can_Use_Internal_Rep appropriately, based on
++      Always_Compatible_Rep_On_Target.
++
++2007-12-13  Gary Dismukes  <dismukes@adacore.com>
++          Arnaud Charlet  <charlet@adacore.com>
++
++      * make.adb (Scan_Make_Arg): Add test for -aamp_target switch, passing
++      it to the front end and setting the aamp_target environment variable
++      to the switch's argument to ensure that gnaampbind and gnaamplink will
++      take the specified library into account.
++      (Make): Only set Check_Object_Consistency to False for JVM, not for CIL
++      target, since the CIL compiler supports an "object" file (.il files).
++
++2007-12-13  Vincent Celier  <celier@adacore.com>
++
++      * symbols-processing-vms-ia64.adb (Process.Skip_Half): New procedure
++      (Process.H): Remove variable. Replace Read_Half (H) with Skip_Half.
++
++2007-12-13  Geert Bosch  <bosch@adacore.com>
++
++      * s-parame-vxworks.adb:
++      Update comments to reflect usage of this package by Nucleus.
++
++2007-12-13  Arnaud Charlet  <charlet@adacore.com>
++
++      * i-vxwork.ads: Kill new warning on Convention C, since changing the
++      spec would break code.
++
++      * i-forbla-unimplemented.ads, vx_stack_info.c: New files.
++
++      * system-vxworks-alpha.ads: Removed.
++
++2007-12-10  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * ada-tree.h (TYPE_RETURNS_BY_TARGET_PTR_P): Move around.
++
++2007-12-09  Samuel Tardieu  <sam@rfc1149.net>
++
++      PR ada/34366
++      * sem_ch3.adb (Designates_T): New function.
++      (Mentions_T): Factor reusable part of the logic into Designates_T.
++      Consider non-access parameters and access and non-access result.
++      (Check_Anonymous_Access_Components): Set ekind of anonymous access to
++      E_Subprogram_Type to E_Anonymous_Access_Subprogram_Type.
++
++      * einfo.ads: Update comment for E_Anonymous_Access_Subprogram_Type.
++
++2007-12-07  Ludovic Brenta  <ludovic@ludovic-brenta.org>
++
++      PR ada/34361
++      * mlib-tgt.adb, mlib-tgt.ads: Fix comments at the top to reflect
++      the new implementation of target-specific calls.
++
++2007-12-07  Olivier Hainque  <hainque@adacore.com>
++
++      * decl.c (gnat_to_gnu_entity) <case E_Access_Type>: When computing
++      the designated full view, only follow a second level Full_View link
++      for Non_Limited_Views of from_limited_with references.
++
++2007-12-07  Samuel Tardieu  <sam@rfc1149.net>
++
++      PR ada/15805
++      * sem_ch6.adb (Process_Formals): Prevent an access type formal
++      to be initialized with an access to constant object.
++
++      * sem_ch3.adb (Analyze_Object_Declaration): Signal an error
++      when an access to constant is used to initialize an access
++      value.
++
++      PR ada/21346
++      * a-direct.adb (Compose): Containing_Directory can be an empty string.
++
++2007-12-07  Olivier Hainque  <hainque@adacore.com>
++
++      PR ada/34173
++      * decl.c (gnat_to_gnu_entity) <case E_Array_Type>: When setting
++      the alignment on the GCC XUA array type, set TYPE_USER_ALIGN if
++      this is from an alignment clause on the GNAT entity.
++      * utils.c (create_field_decl): Rewrite the computation of DECL_ALIGN
++      to distinguish the case where we set it from the type's alignment.
++      When so, propagate TYPE_USER_ALIGN into DECL_USER_ALIGN to indicate
++      whether this alignment was set from an explicit alignment clause.
++
++2007-12-06  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * decl.c (make_packable_type): Revert last change.
++      (gnat_to_gnu_field): Avoid setting size and position multiple times.
++      * utils.c (finish_record_type): Retrieve the real name of the type.
++
++2007-12-05  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * trans.c (lvalue_required_p): Take base node directly instead
++      of its parent.  Rename second parameter to 'gnu_type'.
++      <N_Indexed_Component>: Return 0 if the node isn't the prefix.
++      <N_Slice>: Likewise.
++      (Identifier_to_gnu): Rename parent_requires_lvalue to require_lvalue.
++      Adjust calls to lvalue_required_p.
++
++2007-12-05  Samuel Tardieu  <sam@rfc1149.net>
++
++      PR ada/21489
++      * exp_ch9.adb (Build_Simple_Entry_Call): Initialize OUT access type
++      parameters of an entry call.
++
++2007-12-03  Robert Dewar  <dewar@adacore.com>
++          Samuel Tardieu  <sam@rfc1149.net>
++
++      PR ada/34287
++      * sem_util.adb (Safe_To_Capture_Value): Do not capture values
++      of variables declared in a library-level package.
++
++2007-12-02  Samuel Tardieu  <sam@rfc1149.net>
++
++      * clean.adb (Clean_Library_Directory): Use Empty_String'Access intead
++      of Empty_String'Unchecked_Access.
++
++      * Makefile.in: Add support for sh4-linux.
++
++      * system-linux-sh4.ads: New file.
++
++2007-12-01  Kostik Belousov  <kostikbel@ukr.net>
++
++      PR ada/33722
++      * env.c (__gnat_setenv): FreeBSD 7 has a POSIX conformant putenv()
++      and its argument must not be free()ed.
++
++2007-11-29  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * decl.c (make_packable_type): Retrieve the real name of the type.
++      (maybe_pad_type): Simplify similar code.
++
++2007-11-28  Samuel Tardieu  <sam@rfc1149.net>
++
++      PR ada/15804
++      * par-ch3.adb (P_Variant_Part): Signal an error when anything other
++      than an identifier is used after "case" in a variant_part.
++
++      PR ada/17318
++      * par-ch4.adb (Is_Parameterless_Attribute): New map.
++      (P_Name, Scan_Apostrophe block): Parse left parenthesis following
++      attribute name or not depending on the new map.
++
++      * sem-attr.adb (Analyze_Attribute): Parameterless attributes
++      returning a string or a type will not be called with improper
++      arguments.
++
++      * sem-attr.ads (Attribute_Class_Array): Move to snames.ads.
++
++      * snames.ads (Attribute_Class_Array): Moved from sem-attr.ads.
++
++      PR ada/32792
++      * sem_attr.adb (Analyze_Attribute, Attribute_Integer_Value clause):
++      Signal an error when attribute argument is a fixed-point value of
++      an unknown type.
++
++      PR ada/22559
++      * sem_ch3.adb (Build_Derived_Numeric_Type): Do not set RM_Size on
++      a derived ordinary fixed point type.
++
++      * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Recompute
++      RM_Size when a Small clause is found.
++
++2007-11-26  Andreas Krebbel  <krebbel1@de.ibm.com>
++
++      PR 34081/C++
++      * trans.c (Subprogram_Body_to_gnu, Compilation_Unit_to_gnu):
++      Pass 'false' for the new allocate_struct_function parameter.
++      * utils.c (build_function_stub): Likewise.
++
++2007-11-25  Richard Guenther  <rguenther@suse.de>
++
++      * utils.c (gnat_pushlevel): Use BLOCK_CHAIN.
++      (gnat_poplevel): Likewise.
++
++2007-11-25  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * decl.c (gnat_to_gnu_entity) <E_Record_Type>: If the type has
++      strict alignment, no alignment clause and a known static size, cap
++      the type alignment to the greatest power of 2 factor of the size.
++      (gnat_to_gnu_field): If the field has a component clause, is aliased
++      or of a type with strict alignment, require that its size be equal to
++      that of the type.
++      (validate_size): Use the type size as the minimum size for a type with
++      strict alignment.
++
++2007-11-23  Samuel Tardieu  <sam@rfc1149.net>
++
++      * s-inmaop-posix.adb, s-intman-vxworks.adb, s-taprop-hpux-dce.adb,
++      s-taprop-irix.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
++      s-taprop-posix.adb, s-taprop-tru64.adb, s-taprop-vxworks.adb:
++      Use 'Access instead of 'Unchecked_Access in second and third
++      arguments of pthread_sigmask.
++
++2007-11-23  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * decl.c (ceil_alignment): New function.
++      (gnat_to_gnu_entity): Use it to set the alignment on atomic types.
++      (make_packable_type): Likewise.
++
++2007-11-22  Olivier Hainque  <hainque@adacore.com>
++
++      * trans.c (gnat_to_gnu) <case N_Free_Statement>: Reformat lines
++      to fit in 80 columns.
++
++2007-11-21  Aurelien Jarno  <aurelien@aurel32.net>
++
++      * s-osinte-kfreebsd-gnu.ads (To_Target_Priority): New function.
++      * Makefile.in: Add EH_MECHANISM=-gcc to kfreebsd-gnu. Remove SYMLIB.
++
++2007-11-19  Eric Botcazou  <ebotcazou@adacore.com>
++
++      PR ada/34098
++      * misc.c (gnat_adjust_rli): Delete.
++      (gnat_init): Do not initialize the translation code here.
++      Do not call set_lang_adjust_rli.
++      * trans.c (init_code_table): Make static.
++      (gnat_init_stmt_group): Delete.
++      (gigi): Initialize the translation code entirely here.
++      Emit debug info for the common types here instead of...
++      * utils.c (gnat_init_decl_processing): ...here.
++      * gigi.h (init_code_table): Delete.
++      (gnat_init_stmt_group): Likewise.
++
++2007-11-16  Olivier Hainque  <hainque@adacore.com>
++
++      * utils2.c (build_call_alloc_dealloc) <if gnu_obj>: Move the code
++      retrieving an allocator return value from a super-aligned address from
++      here to ...
++      * trans.c (gnat_to_gnu) <case N_Free_Statement>: ... here, and don't
++      expect a super-aligned address for a fat or thin pointer.
++
++2007-11-14  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * trans.c (call_to_gnu): Always set the source location on the call
++      expression.  If the function returns-by-target, also set it on the
++      address expression.
++
++2007-11-14  Samuel Tardieu  <sam@rfc1149.net>
++
++      * adaint.c, init.c, initialize.c, link.c: Remove system-specific
++      sections of non-supported Interix target.
++
++      * s-osinte-interix.ads: Removed.
++
++      * i-cstrin.ads (chars_ptr): Make it a C convention type.
++
++2007-11-13  Samuel Tardieu  <sam@rfc1149.net>
++
++      * a-tasatt.adb: Add a comment at the beginning of the package
++      explaining why in general 'Unchecked_Access must be used instead
++      of 'Access.
++
++      * sem_prag.adb (Process_Convention): Move the test for the
++      entity on which the Convention pragma applies down to also
++      forbid pragma Convention on enumeration literals reached
++      through renamings.
++
++2007-11-10  Samuel Tardieu  <sam@rfc1149.net>
++
++      * a-tasatt.adb: Revert previous change for this file as it will
++      generate an error when this package is instantiated from a
++      local context.
++
++2007-11-07  Samuel Tardieu  <sam@rfc1149.net>
++
++      * a-tasatt.adb: Type Wrapper should be declared in comment instead
++      of already declared type Node_Access.
++      Use 'Access instead of 'Unchecked_Access when applicable. Local
++      lifetime is the one of the package.
++      (Set_Value): W is allocated on the heap.
++
++      * g-socket.adb: Use 'Access instead of 'Unchecked_Access when
++      applicable.
++      (Get_Socket_Option): Optlen formal of C_Getsockopt is of an anonymous
++      access type.
++      (Receive_Socket): Fromlen formal of C_Recvfrom is of an anonymous
++      access type.
++
++      * s-taasde.adb: Use 'Access instead of 'Unchecked_Access when
++      applicable.
++      (elaboration code): Timer_Queue lifetime is the one of the
++      package.
++
++      * tracebak.c (i386 alternative): Remove useless comparaison
++      which is always false; LOWEST_ADDRESS is 0 and is never greater
++      than an unsigned integer.
++
++      * sem_attr.adb (Analyze_Attribute): Remove duplicate identical
++      embedded check for "Ada_Version >= Ada_05".
++
++2007-11-07  Olivier Hainque  <hainque@adacore.com>
++
++      * decl.c (make_aligning_type): Set the mode of the RECORD_TYPE we
++      craft and expand comment.
++
++2007-11-01  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * lang-specs.h: Move translation of -fRTS= after -gnatez switch.
++
++2007-10-23  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * misc.c (gnat_handle_option): Replace call to abort with
++      call to gcc_unreachable.
++      (gnat_init): Likewise.
++      (gnat_expand_expr): Likewise.
++      (fp_prec_to_size): Likewise.
++      (fp_size_to_prec): Likewise.
++
++2007-10-23  Richard Guenther  <rguenther@suse.de>
++
++      PR bootstrap/33608
++      * tracebak.c: #undef abort after including system.h.
++
++2007-10-20  Danny Smith  <dannysmith@users.sourceforge.net>
++
++      * Makefile.in (LIBGNAT_TARGET_PAIRS) Add s-tasinf-mingw.adb,
++      s-tasinf-mingw.ads, a-exetim-mingw.adb, a-exetim-mingw.ads
++      for win32 targets.
++      (EXTRA_GNATRTL_TASKING_OBJS): Add a-exetim.o for win32 targets.
++
++2007-10-15  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * s-osinte-tru64.adb: (Hide_Yellow_Zone): Add On parameter.
++      Set the protection status of the guard page based on the value of On.
++
++      * s-osinte-tru64.ads: (Hide_Yellow_Zone): Add On parameter.
++
++      * s-taprop-tru64.adb: (Enter_Task): Pass True to Hide_Yellow_Zone.
++      (Exit_Task): Pass False to Hide_Yellow_Zone.
++
++2007-10-15  Robert Dewar  <dewar@adacore.com>
++
++      * s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
++      s-taprop-vxworks.adb, s-taprop-posix.adb, a-calend-vms.adb,
++      a-calend.adb, a-nuflra.adb, a-tigeau.adb, a-wtgeau.adb,
++      checks.adb, bindgen.adb, eval_fat.adb, exp_fixd.adb, fmap.adb,
++      freeze.adb, g-awk.adb, g-calend.adb, g-diopit.adb, g-expect.adb,
++      gnatchop.adb, gnatlink.adb, g-spipat.adb, g-thread.adb, make.adb,
++      mdll.adb, mlib.adb, mlib-prj.adb, osint.adb, par-ch3.adb, prj.adb,
++      prj-makr.adb, sem_prag.adb, sem_type.adb, s-fatgen.adb, s-fileio.adb,
++      sinfo.ads, sinput-d.adb, s-taasde.adb, s-tasdeb.ads, s-tasren.adb,
++      s-tassta.adb, s-tpobop.adb, s-tposen.adb, stylesw.adb, types.ads,
++      uintp.adb, validsw.adb, makegpr.adb, a-rbtgso.adb, a-crbtgo.adb,
++      a-coorse.adb, a-convec.adb, a-coinve.adb, a-cohama.adb, a-ciorse.adb,
++      a-cihama.adb, a-cidlli.adb, a-chtgop.adb, a-cdlili.adb, a-cdlili.adb,
++      a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb, a-ciorma.adb,
++      a-coorma.adb, a-ztgeau.adb, symbols-vms.adb, a-crdlli.adb,
++      a-calari.adb, a-calfor.adb, s-os_lib.adb, s-regpat.adb, a-ngrear.adb:
++      Minor reformatting.
++      Add Unreferenced and Warnings (Off) pragmas for cases of
++      variables modified calls where they are IN OUT or OUT parameters and
++      the resulting values are not subsequently referenced. In a few cases,
++      we also remove redundant code found by the new warnings.
++
++      * ug_words, vms_data.ads, usage.adb, sem_util.adb, sem_util.ads,
++      sem_warn.adb, sem_warn.ads, sem_res.adb, sem_ch7.adb, sem_ch8.adb,
++      sem_ch5.adb, opt.ads, lib-xref.adb, lib-xref.ads, exp_smem.adb,
++      sem_ch11.adb, exp_ch6.adb, einfo.ads, einfo.adb: implement a new
++      warning controlled by -gnatw.o that warns on cases of out parameter
++      values being ignored.
++
++2007-10-15  Geert Bosch  <bosch@adacore.com>
++
++      * adaint.c, socket.c, cal.c: Initial port to arm-mentor-nucleus.
++
++      * expect.c: Initial port to arm-mentor-nucleus.
++      Use kill for __gnat_kill() on VMS.
++
++2007-10-15  Emmanuel Briot  <briot@adacore.com>
++
++      * ali.ads, ali.adb (Scan_ALI): Initialize XE.Tref to a known default
++      value.
++      (Xref_Record): Change type for Line, since in the case of a reference to
++      a predefined entity (as happens for array index types), the line is set
++      to 0.
++      Add support for parsing multiple array index types info, or
++      multiple inherited interfaces info. This information cannot be stored
++      in Xref_Entity_Record, which only supports a single instance of Tref_*,
++      and is therefore stored in the list of references instead. It has a
++      special treatement later on in tools that use this information.
++
++2007-10-15  Tristan Gingold  <gingold@adacore.com>
++
++      * debug.adb: Document use of -gnatd.a and -gnatd.I
++
++      * layout.adb: On OpenVMS -gnatd.a disables alignment optimization.
++
++2007-10-15  Javier Miranda  <miranda@adacore.com>
++
++      * exp_attr.adb (Expand_N_Attribute_Reference): Case Access,
++      Unchecked_Access, and Unrestricted_Access. Cleanup code that takes
++      care of access to class-wide interface types plus removal of bizarre
++      conversion of tagged object to access type (reported by Gary
++      Dismukes). After this patch there is no need to perform any
++      additional management on these nodes in Expand_Interface_Actuals.
++
++      * exp_disp.adb (Expand_Interface_Actuals): Code cleanup. Remove code
++      that handles use of 'Access and 'Unchecked_Access applied to
++      actuals covering interface types. Such code is now
++      centralized in Expand_N_Attribute_Reference.
++
++2007-10-15  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_ch3.adb (Build_Init_Procedure): Keep separate the initialization
++      of tagged types whose ultimate ancestor is a CPP type.
++      (Freeze_Array_Type): For a packed array type, generate an initialization
++      procedure if the type is public, to handle properly a client that
++      specifies Normalize_Scalars.
++
++2007-10-15  Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * exp_ch9.adb (Actual_Index_Expression): When the expansion occurs
++      inside a generic body, retrieve the full view of the entry family
++      discrete subtype if available.
++
++2007-10-15  Thomas Quinot  <quinot@adacore.com>
++
++      * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Do not
++      attempt to generate stubs for hidden primitive operations.
++
++2007-10-15  Vincent Celier  <celier@adacore.com>
++
++      * mlib-tgt-specific.adb (Support_For_Libraries): New function,
++      returning None, used when there is no platform specific body for
++      MLib.Tgt.Specific.
++
++2007-10-15  Bob Duff  <duff@adacore.com>
++
++      * sem_case.adb, sem_ch13.adb, lib-sort.adb: Replace use of Heap_Sort_A
++      (passing'Unrestricted_Access of nested subprograms to Sort) with use of
++      the generic Heap_Sort_G, in order to avoid trampolines.
++
++2007-10-15  Vasiliy Fofanov  <fofanov@adacore.com>
++          Jose Ruiz  <ruiz@adacore.com>
++
++      * vx_stack_info.c: New file.
++
++      * i-forbla-unimplemented.ads: New file.
++
++      * Makefile.in: i-forbla-unimplemented.ads: a variant of i-forbla.ads
++      for unsupported configurations; use it on VMS targets instead of the
++      real one.
++      (EXTRA_LIBGNAT_SRCS,EXTRA_LIBGNAT_OBJS for VxWorks): Include
++      vx_stack_info.{c,o} that contains the routine __gnat_get_stack_info
++      used by VxWorks targets to have access to task-specific data and be
++      able to extract the stack boundaries for stack checking.
++      Use system-vms-ia64.ads on ivms.
++
++      * Make-lang.in: Update dependencies.
++
++      * sysdep.c (__gnat_get_stack_info): Move to a standalone file
++      (vx_stack_info.c).
++
++2007-10-15  Vincent Celier  <celier@adacore.com>
++
++      * snames.adb, snames.ads: Add new standard name runtime_library_dir
++
++      * prj.ads (Language_Config): Add new component Runtime_Library_Dir
++
++      * prj-attr.adb: Add project level attribute Runtime_Library_Dir
++
++      * prj-env.adb (Create_Mapping_File): Do not put an entry if the path of
++      the source is unknown.
++
++      * prj-ext.adb: Spelling error fix
++
++      * prj-nmsc.adb (Check_Ada_Name): Reject any unit that includes an Ada
++      95 reserved word in its name.
++      (Process_Project_Level_Array_Attributes): Process new attribute
++      Runtime_Library_Dir.
++
++      * prj-part.adb (Parse_Single_Project): Do not check the name of the
++      config project against the user project names.
++
++      * prj-proc.adb (Expression): In multi-language mode, indexes that do
++      not include a dot are always case insensitive.
++      (Process_Declarative_Items): Ditto
++      (Process_Project_Tree_Phase_1): Set Success to False in case an error is
++      detected.
++
++      * prj-util.adb (Value_Of (In_Array)): When Force_Lower_Case_Index is
++      True, compare both indexes in lower case.
++
++2007-10-15  Robert Dewar  <dewar@adacore.com>
++
++      * rtsfind.adb: (Load_RTU): Turn off style checks for Load call
++
++2007-10-15  Gary Dismukes  <dismukes@adacore.com>
++
++      * sem_aggr.adb (Resolve_Record_Aggregate): In the case of a box
++      association for an access component, add an association with null as
++      the expression. Remove testing for array subtypes and the setting in
++      that case of Ctyp to the array component type, which prevented proper
++      inclusion of an association for null-initialized arrays. Collapse
++      condition that tests for array subtypes into just a test of
++      Is_Partially_Initialized_Type (which already covers arrays anyway).
++
++2007-10-15  Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * sem_ch12.adb: Minor code reformatting.
++      (Check_Generic_Child_Unit): Iterate over the homonym chain in order to
++      find the parent package which may have been hidden by local
++      declarations.
++
++2007-10-15  Gary Dismukes  <dismukes@adacore.com>
++
++      * sem_ch3.adb (Build_Derived_Concurrent_Type): Set the Is_Constrained
++      flag of derived concurrent types, taking into account the flag setting
++      on the parent subtype and any new set of discriminants.
++
++2007-10-15  Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * sem_ch4.adb: Minor code and comment reformatting.
++      (Analyze_Allocator): When the designated type of an unconstrained
++      allocator is a record with unknown discriminants or an array with
++      unknown range bounds, emit a detailed error message depending on the
++      compilation mode and whether the designated type is limited.
++
++2007-10-15  Tristan Gingold  <gingold@adacore.com>
++
++      * system-vms-ia64.ads: New file.
++
++      * system-vms_64.ads: Minor comment fix.
++
++2007-10-15  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch6.adb (Find_Corresponding_Spec): If the previous entity is a
++      body generated for a function with a controlling result that is a null
++      extension, discard the generated body in favor of the current explicit
++      one.
++
++2007-10-15  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_disp.adb (Find_Controlling_Arg): Examine the call node before
++      examining its original form, to handle properly operator calls that
++      have been rewritten.
++
++2007-10-15  Olivier Hainque  <hainque@adacore.com>
++
++      * tb-alvms.c (tb_entry_t, __gnat_backtrace): Store a frame pointer
++      instead of a procedure value in each traceback entry.
++
++      * g-trasym-vms-alpha.adb (Symbolic_Traceback): Pass frame pointer
++      instead of procedure value to TBK$SYMBOLIZE.
++
++      * s-traent-vms.adb (PV_For): Rename as FP_For and access the proper
++      field.
++      (TB_Entry_For): Account for the PV/FP renaming.
++
++      * s-traent-vms.ads (Traceback_Entry): Rename PV component into FP and
++      add comment.
++      (Null_TB_Entry): Account for change of component name.
++      (PV_For): Rename as FP_For.
++
++2007-10-15  Tristan Gingold  <gingold@adacore.com>
++
++      * trans.c (gnat_to_gnu): Remove the padding structure more often.
++      This optimize assignment to over-aligned record.
++
++2007-10-15  Emmanuel Briot  <briot@adacore.com>
++
++      * xref_lib.adb (Get_Full_Type): Add support for the 'h' entity type, ie
++      interfaces.
++
++      * xr_tabls.adb (Add_Reference): Add support for the new 'R' reference
++      type, for dispatching calls.
++
++2007-10-15  Vincent Celier  <celier@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * gnat_ugn.texi: Add documentation for switches --version and --help
++      for the GNAT tools gnatbind, gnatlink, gnatmake, gnatchop, gnatname,
++      gnatxref, gnatfind, gnatls, and gnatclean.
++      Document -gnatw.o.
++      Mention attribute Excluded_Source_Dirs
++      Replace obsolescent attribute Locally_Removed_Files with attribute
++      Excluded_Source_Files.
++      Improve documentation of -u (gnatbind)
++      Document how to do reliable stack checking for the environmental task
++      on iVMS.
++
++      * gnat_rm.texi: Rewrite section about No_Implicit_Dynamic_Code.
++      Document attribute Excluded_Source_Files and indicate that attribute
++      Locally_Removed_Files is obsolescent.
++
++2007-10-15  Thomas Quinot  <quinot@adacore.com>
++
++      * g-soccon-vms.ads: Fix value of MSG_WAITALL.
++
++      * gen-soccon.c:
++      Update documentation to note that OpenVMS 8.3 or later must be used
++      to generate g-soccon-vms.ads.
++
++      * atree.adb: Add ??? comment
++
++      * exp_util.adb: Minor reformatting.
++      Add ??? comment in Kill_Dead_Code.
++
++2007-10-15  Robert Dewar  <dewar@adacore.com>
++
++      * errout.ads: Comment clarification
++
++      * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
++      (Expand_N_Op_Eq): Improve handling of array equality with -gnatVa
++
++      * lib.ads: Comment update
++
++      * init.c: Minor reformatting.
++
++      * sem_attr.adb: Minor formatting
++
++      * osint-b.ads: Minor reformatting
++
++      * sem_ch9.adb: Implement -gnatd.I switch
++
++      * g-comlin.adb: (Start): Fix handling of empty command line.
++
++      * gnatcmd.adb (GNATCmd): Do not put the -rules in the -cargs section,
++      even when -rules follows the -cargs section.
++
++2007-10-08  Ollie Wild  <aaw@google.com>
++
++      * misc.c (LANG_HOOKS_PUSHDECL): Replaced lhd_return_tree with
++      gnat_return_tree.
++      (gnat_init_gcc_eh): Replaced gnat_eh_runtime_type with
++      gnat_return_tree.
++      (gnat_eh_runtime_type): Removed.
++      (gnat_return_tree): New function.
++
++2007-10-08  Ben Elliston  <bje@au.ibm.com>
++
++      PR ada/33454
++      Revert:
++      2007-08-31  Ben Elliston  <bje@au.ibm.com>
++
++      * Makefile.in (LIBGNAT_TARGET_PAIRS): Use system-linux-ppc64.ads
++      when compiling for powerpc64-*-linux.
++      * system-linux-ppc64.ads: New file.
++
++2007-09-27  Eric Botcazou  <ebotcazou@adacore.com>
++
++      Mapped location support
++      * back_end.adb (Call_Back_End): Pass information about source
++      files instead of units to gigi.
++      * gigi.h (struct File_Info_Type): New.
++      (gigi): Rename and change type of number_units parameter, change
++      type of file_info_ptr parameter.
++      * trans.c (number_files): New global variable.
++      (gigi): Rename and change type of number_units parameter, change
++      type of file_info_ptr parameter.
++      If mapped location support is enabled, create the isomorphic mapping
++      between source files and line maps.
++      (Sloc_to_locus): If mapped location support is enabled, translate
++      source location into mapped location.
++      (annotate_with_node): Rename into set_expr_location_from_node.
++      Call set_expr_location instead of annotate_with_locus.
++      (Pragma_to_gnu): Adjust for above change.
++      (Loop_Statement_to_gnu): Likewise.
++      (call_to_gnu): Likewise.
++      (Handled_Sequence_Of_Statements_to_gnu): Likewise.
++      (gnat_to_gnu): Likewise.
++      (add_stmt_with_node): Likewise.
++      (add_cleanup): Likewise.
++      * utils.c (gnat_init_decl_processing): Do not set input_line.
++
++2007-09-26  Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * sem_ch8.adb (Analyze_Use_Type): Code cleanup.
++      (Applicable_Use): Emit a warning when a package tries to use itself.
++      (Use_One_Type): Add variable Is_Known_Used. Emit a warning when a type
++      is already in use or the package where it is declared is in use or is
++      declared in the current package.
++      (Spec_Reloaded_For_Body): New subsidiary routine for Use_One_Type.
++
++      * a-tasatt.adb, s-osprim-vxworks.adb, g-socthi-mingw.adb,
++      s-intman-vms.adb, g-socket.adb, g-thread.adb, s-tarest.adb,
++      s-tassta.adb, s-tporft.adb: Remove redundant 'use type' clause.
++
++2007-09-26  Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * a-calend-vms.adb, a-calend.adb:
++      Add a section on leap seconds control along with two entities used to
++      enable and disable leap seconds support. The array Leap_Second_Times is
++      now constant and contains hard time values pre-generated. Remove
++      all elaboration code used to populate the table of leap seconds.
++
++      * bindgen.adb:
++      Add entity Leap_Seconds_Support to the list of global run-time variables
++      along with a comment on its usage and values.
++      (Gen_Adainit_Ada): Add code to generate the declaration and import of
++      Integer variable Leap_Seconds_Support. Set its value to zero (disabled)
++      or one (enabled) depending on the presence of binder switch "-y".
++      (Gen_Adainit_C): Add code to generate the declaration of external int
++      __gl_leap_seconds_support. Set is value to zero (disabled) or one
++      (enabled) depending on the presence of binder switch "-y".
++
++      * init.c: Add __gl_leap_seconds_support to the list of global values
++      computed by the binder.
++
++2007-09-26  Jerome Guitton  <guitton@adacore.com>
++
++      * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
++      s-taprop-hpux-dce.adb, s-taprop-linux.adb, s-taprop-dummy.adb,
++       s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
++      s-taprop-posix.adb (Stop_Task): New function, dummy implementation.
++
++      * s-taprop.ads, s-taprop-vxworks.adb (Stop_Task): New function.
++
++      * s-tasdeb.adb (Stop_All_Tasks): New function, implementing a run-time
++      function which can be called by the debugger to interrupt the tasks of
++      an Ada application asynchronously, as needed on VxWorks.
++      (Stop_All_Tasks_Handler): Renamed from Stop_All_Tasks.
++
++      * s-tasdeb.ads (Stop_All_Tasks_Handler): New function declaration,
++      renamed from Stop_All_Tasks. Update comments.
++      (Stop_All_tasks): New function declaration.
++
++2007-09-26  Olivier Hainque  <hainque@adacore.com>
++
++      * adaint.c (if defined (__Lynx__)): Wrap #def/#undef VMOS_DEV around
++      #include <utime.h> and #define GCC_RESOURCE_H before
++      #include <sys/wait.h>.
++      Add more protections in __gnat_translate_vms.
++
++      * expect.c (if defined (__Lynx__)): #define GCC_RESOURCE_H before
++      #include <sys/wait.h>.
++
++2007-09-26  Thomas Quinot  <quinot@adacore.com>
++          Sergey Rybin  <rybin@adacore.com>
++
++      * gnatvsn.ads (PCS_Version_Number, ASIS_Version_Number): Removed.
++
++      * exp_dist.ads (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
++      where it belongs.
++
++      * opt.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.
++
++      * rtsfind.adb (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
++      where it belongs.
++
++      * sem_dist.ads: Minor comment fix
++
++      * tree_io.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.
++
++2007-09-26  Javier Miranda  <miranda@adacore.com>
++          Eric Botcazou  <ebotcazou@adacore.com>
++
++      * a-tags.adb:
++      (Get_HT_Link/Set_HT_Link): Updated to handle the additional level of
++       indirection added to the HT_Link component of the TSD. This is required
++       to statically allocate the TSD.
++
++      * a-tags.ads:
++      Minor reordering of the declarations in the private part. Required to
++      add a level of indirection to the contents of the TSD component HT_Link.
++      This is required to statically allocate the TSD.
++
++      * decl.c (gnat_to_gnu_entity) <object>: Do not exclude objects with
++      Is_Statically_Allocated set from constant objects.
++      Do not make exported constants created by the compiler volatile.
++      (gnat_to_gnu_param): Do not treat an IN parameter whose address is taken
++      as read-only.
++
++      * trans.c (Identifier_to_gnu): For constants, unshare initializers
++      before returning them.
++
++      * exp_disp.ads, exp_disp.adb (Building_Static_DT): Spec moved to the
++      public part of the package.
++      (Make_DT): Move HT_Link component out of the TSD record. For this
++      purpose Make_DT now declares a separate object that stores the
++      HT_Link value, and initializes the TSD component with the address
++      of this new object. The addition of this level of indirection is
++      required to statically allocate the TSD because the TSD cannot
++      have variable components.
++      (Expand_Interface_Conversion): Improve the expanded code.
++      (Expand_Interface_Thunk): Set Is_Thunk in the thunk entity.
++
++      * sem_disp.adb (Check_Dispatching_Operation): In case of a body
++      declaring a primitive operation ---allowed by RM 3.9.2 (13.e/2)---,
++      if we are building static dispatch tables then we must not generate
++      extra code to register the primitive because the dispatch table will
++      be built at the end of the library package; otherwise we notify that
++      we cannot build the static dispatch table.
++
++2007-09-26  Robert Dewar  <dewar@adacore.com>
++
++      * checks.adb, gnat1drv.adb, sem_util.ads: Improve warnings for address
++      overlays.
++
++      * sem_ch13.ads, sem_ch13.adb: Improve warnings for address overlays
++      (Analyze_Record_Representation_Clause): Suppress junk warning for
++      missing component clause.
++      (Analyze_Attribute_Definition_Clause, case Address): Apply the special
++      tests for controlled type overlay to composites with controlled
++      components.
++      (Analyze_Record_Representation_Clause): Add reference for component name
++
++2007-09-26  Javier Miranda  <miranda@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * einfo.adb (Is_Thunk): New attribute applicable to subprograms. True
++      for thunks associated with interface types.
++
++      * einfo.ads: Improve documentatation of Is_Internal
++      (Is_Thunk): New attribute applicable to subprograms. True for thunks
++      associated with interface types.
++      Extensive comment fixes regarding flags that appear in all entities. The
++      documentation is now consistent for all such flags (there were a number
++      of errors in the documentation in this regard).
++
++      * exp_attr.adb (Expand_N_Attribute_Reference): Minor code cleanup.
++
++      * exp_ch6.adb (Make_Build_In_Place_Call_*): Return immediately if any
++      of these procedures are passed a function call that already has
++      build-in-place actuals (testing new flag
++      Is_Expanded_Build_In_Place_Call). Set the flag on the function call in
++      the case where processing continues.
++      (Expand_Call): If the call is generated from a thunk body then we
++      propagate the extra actuals associated with the accessibility
++      level of the access type actuals.
++
++      * sem_ch6.adb (Analyze_Subprogram_Body): Set the Protected_Formal field
++      of each extra formal of a protected operation to reference the
++      corresponding extra formal of the subprogram denoted by the
++      operation's Protected_Body_Subprogram.
++
++      * sinfo.ads, sinfo.adb (Is_Expanded_Build_In_Place_Call): New flag on
++      N_Function_Call nodes.
++
++2007-09-26  Robert Dewar  <dewar@adacore.com>
++
++      * exp_ch5.adb: Activate memmove type processing if debug flag d.s is set
++
++      * debug.adb: Add d.s flag.
++
++2007-09-26  Gary Dismukes  <dismukes@adacore.com>
++
++      * exp_dbug.adb (Debug_Renaming_Declaration): Set Is_Internal on the
++      debug variable so that it won't be initialized when pragma
++      Initialize_Scalars is in effect.
++
++2007-09-26  Gary Dismukes  <dismukes@adacore.com>
++
++      * freeze.adb (Freeze_Entity): Remove check for preelaborable
++      initialization of a full view. This is moved to
++      Analyze_Package_Specification.
++
++      * sem_ch7.adb (Analyze_Package_Specification): Add check for
++      preelaborable initialization of a full view in entity loop.
++      (Uninstall_Declarations): If entity is a use-visible compilation unit,
++      its child units are use-visible only if they are visible child units.
++
++      * sem_util.adb (Is_Preelaborable_Expression): New function to determine
++      whether an expression can be used within a type declaration that
++      requires preelaborable init.
++      (Check_Components): Replace inline code that does partial checking for
++      preelaborable default expressions with call to
++      Is_Preelaborable_Expression.
++      (Has_Preelaborable_Initialization): In the case of a generic actual
++      subtype, (that is, Is_Generic_Actual is True), return the result of
++      applying Has_Preelaborable_Initialization to the generic actual's base
++      type.
++
++2007-09-26  Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * g-calend.adb (Has_53_Weeks): Rename to Last_Year_Has_53_Weeks. Add a
++      call to Jan_1_Day _Of_Week to optimize its performance.
++      (Is_Leap): Move the routine to the scope of Week_In_Year.
++      (Jan_1_Day_Of_Week): New routine in Week_In_Year which calculates the
++      weekday on which January 1 falls of Year - 1 and Year + 1. This function
++      avoids calling Time_Of and Split, thus making it more efficent.
++      (Week_In_Year): Reimplemented in oder to follow ISO 8601.
++
++      * g-calend.ads (Week_In_Year): Change comment to reflect new
++      implementation.
++
++2007-09-26  Emmanuel Briot  <briot@adacore.com>
++
++      * g-comlin.ads, g-comlin.adb (Command_Line_Configuration,
++      Command_Line): New types
++      (Define_Alias, Define_Prefix, Free): New subprograms. These provide
++      support for defining how switches can be grouped on a command line (as
++      is the case for -gnatw... for GNAT), and how simple switches can be
++      used as aliases for more complex switches (-gnatwa is same as
++      -gnatwbcef...)
++      (Set_Command_Line, Add_Switch, Remove_Switch): New subprogram
++      (Start, Current_*): New subprograms
++      Added support for parsing an array of strings in addition to the real
++      command line.
++      (Opt_Parser, Opt_Parser_Data): New type. As a result, some types had to
++       be moved from the body to the private part of the spec.
++      (*): All subprograms now have an extra parameter with default value to
++      specify which parser should be used. For backward compatibility, it
++      defaults to parsing the command line of the application. They were also
++      modified to properly handle cases where each of the argument does not
++      start at index 1 (which is always true for Ada.Command_Line, but not
++      when processing any Argument_List).
++      (Free): New subprogram
++      (Internal_Initialize_Option_Scan, Find_Longuest_Matching_Switch,
++      Argument): New subprograms
++      (Switch_Parameter_Type): New enum, which clarifies the code. The extra
++      special characters like ':', '=',... are now handled in a single place,
++      which makes the code more extensible eventually.
++      (Getopt, Full_Switch): When the switch was returned as part of the
++      special character '*', make sure it is prepended by the switch character
++      ('-' in general), so that the application knows whether "foo" or "-foo"
++      was specified on the command line.
++
++2007-09-26  Florian Villoing  <villoing@adacore.com>
++
++      * g-dirope.adb (Remove_Dir): In case we are removing directories
++      recursively, make sure that if an exception is raised during the
++      processing, the current working directory is reset to its initial
++      value before propagating the exception.
++
++2007-09-26  Vincent Celier  <celier@adacore.com>
++
++      * gnatbind.adb: If there are several ALI files specified and there is
++      a main program to bind, the first ALI is expected to contain the main
++      subprogram and the names of the binder generated files will be derived
++      from the first ALI file name.
++      (Gnatbind): Fix insertion character in invocation of Error_Msg
++
++2007-09-26  Vincent Celier  <celier@adacore.com>
++
++      * gnatcmd.adb (Check_Files): Do not include sources that have been
++      removed by attributes Exclude_Source_Files or Locally_Removed_Files.
++
++2007-09-26  Ed Schonberg  <schonberg@adacore.com>
++
++      * lib-xref.ads, lib-xref.adb: The entry for array types now carries
++      information about each of its index types, following the type
++      reference for its component type.
++
++2007-09-26  Vincent Celier  <celier@adacore.com>
++
++      * make.adb: (Kill): New procedure (__gnat_kill imported)
++      (Running_Compile, Outstanding_Compiles): Global variables that
++      were previously local to procedure Compile_Sources.
++      (Sigint_Intercepted): Send signal SIGINT to all outstanding
++      compilation processes.
++
++      (Gnatmake): If project files are used, create the mapping of all the
++      sources, so that the correct paths will be found.
++
++      * prj-env.ads, prj-env.adb (Create_Mapping): New procedure
++
++2007-09-26  Vincent Celier  <celier@adacore.com>
++
++      * makeutl.ads (Main_Config_Project): Moved to gpr_util.ads
++
++      * prj.ads, prj.adb (Default_Language): Remove function, no longer used
++      Replace components Compiler_Min_Options and Binder_Min_Options with
++      Compiler_Required_Switches and Binder_Required_Switches in record
++      Language_Config.
++      Remove components Default_Language and Config in Project_Tree_Data,
++      no longer used.
++
++      * prj-attr.adb: New attributes Required_Switches (<language>) in
++      packages Compiler and Binder.
++
++      * prj-nmsc.adb: Major rewrite of the processing of configuration
++      attributes for gprbuild. No impact on GNAT tools.
++
++      * prj-proc.ads, prj-proc.adb (Process_Project_Tree_Phase_2): No longer
++      process configuration attributes: this is done in Prj.Nmsc.Check.
++      (Recursive_Process): Make a full copy of packages inherited from project
++      being extended, instead of a shallow copy.
++      (Process_Project_Tree_Phase_1): New procedure
++      (Process_Project_Tree_Phase_1): New procedure
++      (Process): Implementation now uses the two new procedures
++
++      * prj-util.adb (Executable_Of): Get the suffix and the default suffix
++      from the project config, not the tree config that no longer exists.
++
++2007-09-26  Vincent Celier  <celier@adacore.com>
++
++      * Make-lang.in: Update dependencies..
++
++2007-09-26  Vincent Celier  <celier@adacore.com>
++
++      * osint.adb, osint.ads: Minor reformatting
++
++      * osint-b.adb, osint-b.ads (Set_Current_File_Name_Index): New procedure
++
++2007-09-26  Gary Dismukes  <dismukes@adacore.com>
++
++      * par-ch4.adb (P_Record_Or_Array_Component_Association): Change Ada 95
++      message to cite use of <> in aggregate component associations rather
++      than wrongly indicating use of limited aggregates.
++
++2007-09-26  Robert Dewar  <dewar@adacore.com>
++
++      * sem_attr.adb (Analyze_Access_Attribute): Fix missing set of
++      Address_Taken.
++
++2007-09-26  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch3.adb (Derive_Subprograms): If the interface parent is a direct
++      ancestor of the derived type, the operations are inherited from the
++      primary dispatch table of the parent.
++      (OK_For_Limited_Init_In_05): Remove old comment. Reject in-place calls
++      when the context is an explicit type conversion.
++
++2007-09-26  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch4.adb (Analyze_Qualified_Expression): Apply name resolution
++      rule for qualified expressions properly, to detect improper conversions
++      and resolve some cases of overloading.
++
++2007-09-26  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_res.adb (Resolve_Call): If the call is dispatching, generate the
++      proper kind of reference to the primitive operation, for better source
++      navigation.
++      (Valid_Conversion): A tagged conversion is legal if both operands are
++      tagged.
++
++2007-09-26  Robert Dewar  <dewar@adacore.com>
++
++      * sem_warn.adb (Check_References): Catch more cases of unreferenced
++      packages.
++
++2007-09-26  Vincent Celier  <celier@adacore.com>
++
++      * snames.adb, snames.ads: Change Include_Option to Include_Switches
++
++2007-09-26  Robert Dewar  <dewar@adacore.com>
++
++      * s-wchstw.adb: provide messages for run time unit exceptions
++
++      * a-witeio.adb: Minor reformatting
++
++      * exp_ch13.adb: Minor reformatting
++
++2007-09-26  Sergey Rybin  <rybin@adacore.com>
++
++      * vms_data.ads: Revise gnatmetric qualifiers.
++      Add qualified for the new gnatbind option '-y'
++
++      * gnat_ugn.texi: Revise the gnatmetric section.
++      Add entry for new gnatbind option '-y'.
++
++      * gnat_rm.texi: Minor spelling correction.
++      Document restriction on overlaying controlled types
++
++2007-09-26  Vincent Celier  <celier@adacore.com>
++
++      * makegpr.adb (Link_Executables): Do not fail when the root project has
++      no sources, but is an extending project.
++
++2007-09-25  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * trans.c: Fix misplaced #define.
++
++2007-09-22  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * utils2.c (build_unary_op) <ADDR_EXPR> [INDIRECT_REF]: Propagate
++      the TYPE_REF_CAN_ALIAS_ALL flag to the result.
++
++2007-09-21  Olivier Hainque  <hainque@adacore.com>
++
++      * utils.c (type_for_nonaliased_component_p): Return false for
++      all AGGREGATE_TYPEs.
++
++2007-09-17  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * decl.c (gnat_to_gnu_entity) <object>: Make again the type of an
++      object covered by 13.3(19) volatile.
++
++2007-09-12  Eric Botcazou  <ebotcazou@adacore.com>
++
++      PR ada/26797
++      PR ada/32407
++      * utils.c (unchecked_convert): Use a subtype as the intermediate type
++      in the special VIEW_CONVERT_EXPR case.
++
++2007-09-12  Robert Dewar  <dewar@adacore.com>
++
++      * types.ads, a-charac.ads, freeze.adb: Minor reformatting.
++
++      * a-except.adb, g-hesora.adb, g-speche.adb, lib.adb, lib.ads,
++      lib-load.adb, lib-writ.adb, s-assert.adb, s-carun8.adb,
++      s-casuti.adb, s-crc32.adb, s-exctab.adb, s-htable.adb, s-imgenu.adb,
++      s-mastop.adb, s-memory.adb, s-memory.ads, s-secsta.adb, s-soflin.adb,
++      s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-stache.adb, s-stalib.adb,
++      s-stoele.adb, s-strcom.adb, s-strops.adb, s-traceb.adb, s-traent.adb,
++      s-wchcnv.adb, s-wchcon.adb, s-wchjis.adb, s-addope.adb, s-except.adb,
++      s-os_lib.adb, s-string.adb, s-utf_32.adb, a-elchha.adb,
++      a-chlat1.ads, a-elchha.ads, a-except.ads, g-hesora.ads, g-htable.ads,
++      g-speche.ads, par-prag.adb, restrict.adb, restrict.ads, s-assert.ads,
++      s-carun8.ads, s-casuti.ads, s-crc32.ads, sem_ch11.adb, sem_prag.adb,
++      s-exctab.ads, s-htable.ads, s-imgenu.ads, s-mastop.ads, snames.adb,
++      snames.ads, snames.h, s-purexc.ads, s-secsta.ads, s-soflin.ads,
++      s-sopco3.ads, s-sopco4.ads, s-sopco5.ads, s-stache.ads, s-stalib.ads,
++      s-stoele.ads, s-strcom.ads, s-strops.ads, s-traceb.ads, s-traent.ads,
++      s-unstyp.ads, s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-addope.ads,
++      s-except.ads, s-os_lib.ads, s-string.ads, s-utf_32.ads: Implement
++      pragma Compiler_Unit and adds it to relevant library units.
++
++2007-09-12  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_aggr.adb (Resolve_Record_Aggregate): An others association with
++      a box need not correspond to any component.
++
++2007-09-12  Robert Dewar  <dewar@adacore.com>
++
++      * g-thread.ads: Document use of "with GNAT.Threads" to ensure loading
++      the tasking version of the Ada run time when foreign threads are
++      present and there are no explicit Ada tasks or tasking constructs.
++
++      * gnat_rm.texi: Clarify documentation of GNAT.Threads.
++
++2007-09-12  Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * bindusg.adb (Display): Correct comment for switch -X. Add a line for
++      the usage of switch -y.
++
++      * switch-b.adb (Scan_Binder_Switches): Set flag Leap_Seconds_Support
++      when switch -y is present.
++
++      * opt.ads: Add binder flag Leap_Seconds_Support used to enable/disable
++      leap seconds in Ada.Calendar and its children.
++
++2007-09-12  Jose Ruiz  <ruiz@adacore.com>
++
++      * a-extiti.ads (Timer): The discriminant is a "not null access
++      constant" in the Reference Manual.
++      (Cancel_Handler): Cancelled is an out parameter in the Reference Manual.
++
++2007-09-12  Robert Dewar  <dewar@adacore.com>
++
++      * a-swuwha.adb: Remove junk RM header
++
++2007-09-12  Vincent Celier  <celier@adacore.com>
++
++      * g-bytswa-x86.adb (Swap2, Swap4, Swap8): Remove explicit "in" mode
++      indicator
++
++      * g-bytswa.ads: Minor reformatting
++
++2007-09-12  Thomas Quinot  <quinot@adacore.com>
++
++      * g-soccon-solaris-64.ads, g-soccon-hpux-ia64.ads:
++      Add new constant Thread_Blocking_IO, always True by default, set False
++      on a per-runtime basis.
++      (Need_Netdb_Buffer): New constant.
++
++2007-09-12  Arnaud Charlet  <charlet@adacore.com>
++
++      * s-dsaser.ads (Get_Local_Partition_Id, Get_Passive_Partition_Id):
++      Added renames for corresponding functions in System.Partition_Interface.
++
++2007-09-12  Doug Rupp  <rupp@adacore.com>
++
++      * Makefile.in: Remove VMS specific System.CRTL packages which are no
++      longer needed.
++
++      * s-crtl-vms64.ads: Removed.
++
++2007-09-12  Olivier Hainque  <hainque@adacore.com>
++
++      * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: For a subtype
++      with discriminant constraints, generalize the code for BIT_FIELDs
++      to PACKED fields of constant size and propagate DECL_PACKED.
++
++2007-09-11  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * decl.c (array_type_has_nonaliased_component): New predicate.
++      (gnat_to_gnu_field) <E_Array_Type>: Invoke the above predicate to
++      set the TYPE_NONALIASED_COMPONENT flag on the type.
++      <E_Array_Subtype>: Likewise.
++      * gigi.h (type_for_nonaliased_component_p): Declare.
++      * utils.c (type_for_nonaliased_component_p): New predicate.
++      (create_field_decl): Invoke the above predicate to set the
++      DECL_NONADDRESSABLE_P flag on the field.
++
++2007-09-11  Javier Miranda  <miranda@adacore.com>
++
++      * einfo.ads, einfo.adb (Dispatch_Table_Wrapper): New attribute. Present
++      in library level record type entities if we are generating statically
++      allocated dispatch tables.
++
++      * exp_disp.adb (Make_Tags/Make_DT): Replace previous code
++      importing/exporting the _tag declaration by new code
++      importing/exporting the dispatch table wrapper. This change allows us
++      to statically allocate of the TSD.
++      (Make_DT.Export_DT): New procedure.
++      (Build_Static_DT): New function.
++      (Has_DT): New function.
++
++      * freeze.adb (Freeze_Static_Object): Code cleanup: Do not reset flags
++      True_Constant and Current_Value. Required to statically
++      allocate the dispatch tables.
++      (Check_Allocator): Make function iterative instead of recursive.
++      Also return inner allocator node, when present, so that we do not have
++      to look for that node again in the caller.
++
++2007-09-11  Jan Hubicka  <jh@suse.cz>
++
++      * misc.c (gnat_expand_body): Kill.
++      (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
++
++2007-09-10  Robert Dewar  <dewar@adacore.com>
++
++      * exp_atag.ads, exp_atag.adb, mlib-tgt-tru64.adb, mlib-tgt-aix.adb,
++      mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
++      mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
++      mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, ali.adb, ali.ads,
++      ali-util.adb, ali-util.ads, atree.h, back_end.adb, back_end.ads,
++      bcheck.adb, bcheck.ads, binde.adb, binde.ads, binderr.adb, binderr.ads,
++      bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads, butil.adb,
++      butil.ads, checks.adb, checks.ads, clean.adb, clean.ads, comperr.adb,
++      comperr.ads, cstand.adb, cstand.ads, debug_a.adb, debug_a.ads,
++      elists.h, errout.adb, erroutc.ads, errutil.adb, errutil.ads,
++      err_vars.ads, eval_fat.adb, eval_fat.ads, exp_sel.ads, exp_sel.adb,
++      exp_aggr.adb, exp_aggr.ads, expander.adb, expander.ads, exp_attr.ads,
++      exp_ch10.ads, exp_ch11.adb, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb,
++      exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.ads, exp_ch4.adb,
++      exp_ch4.ads, exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
++      exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads, exp_ch9.adb,
++      exp_ch9.ads, exp_code.adb, exp_code.ads, exp_dbug.adb, exp_dbug.ads,
++      exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
++      exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads, exp_pakd.adb,
++      exp_pakd.ads, exp_prag.adb, exp_prag.ads, exp_smem.adb, exp_strm.adb,
++      exp_strm.ads, exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
++      exp_vfpt.adb, exp_vfpt.ads, fmap.adb, fmap.ads, fname-sf.adb,
++      fname-sf.ads, fname-uf.adb, fname-uf.ads, frontend.adb, frontend.ads,
++      get_targ.adb, get_targ.ads, gnat1drv.adb, gnat1drv.ads, gnatbind.adb,
++      gnatbind.ads, gnatbl.c, gnatchop.adb, gnatclean.adb, gnatcmd.adb,
++      gnatcmd.ads, gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
++      gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb, gnatls.ads,
++      gnatmake.adb, gnatmake.ads, gnatmem.adb, gnatname.adb, gnatname.ads,
++      gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb,
++      gprep.adb, gprep.ads, hlo.adb, hlo.ads, impunit.adb, impunit.ads,
++      inline.adb, inline.ads, itypes.adb, itypes.ads, layout.adb, layout.ads,
++      lib-load.adb, lib-load.ads, lib-util.adb, lib-util.ads, lib-writ.adb,
++      lib-writ.ads, lib-xref.adb, lib-xref.ads, live.adb, live.ads,
++      make.adb, make.ads, makeutl.ads, makeutl.adb, makeusg.adb, makeusg.ads,
++      mdll.adb, mdll.ads, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
++      mdll-utl.ads, memroot.adb, memroot.ads, mlib.adb, mlib.ads,
++      mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
++      mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, namet.h, nmake.adt,
++      osint.adb, osint.ads, osint-b.adb, osint-b.ads, osint-c.adb,
++      osint-c.ads, osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads,
++      par.adb, par.ads, par-ch10.adb, par-ch11.adb, par-ch12.adb,
++      par-ch13.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
++      par-ch6.adb, par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
++      par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb, par-tchk.adb,
++      par-util.adb, prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
++      prj.adb, prj.ads, prj-attr.adb, prj-attr.ads, prj-com.ads,
++      prj-dect.adb, prj-dect.ads, prj-err.adb, prj-err.ads, prj-ext.adb,
++      prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
++      prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
++      prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
++      prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
++      prj-util.adb, prj-util.ads, restrict.adb, restrict.ads,
++      rtsfind.adb, rtsfind.ads, scn.adb, scn.ads,
++      scng.adb, scng.ads, sdefault.ads, sem.ads, sem_aggr.ads, sem_attr.adb,
++      sem_case.adb, sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
++      sem_ch10.ads, sem_ch11.adb, sem_ch11.ads, sem_ch12.ads, sem_ch13.adb,
++      sem_ch13.ads, sem_ch2.adb, sem_ch2.ads, sem_ch3.adb, sem_ch3.ads,
++      sem_ch4.ads, sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
++      sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb,
++      sem_ch9.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb, sem_dist.ads,
++      sem_elab.adb, sem_elab.ads, sem_elim.adb, sem_elim.ads, sem_eval.adb,
++      sem_eval.ads, sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
++      sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads, sem_res.adb,
++      sem_res.ads, sem_smem.adb, sem_smem.ads, sem_type.adb, sem_type.ads,
++      sem_util.adb, sem_util.ads, sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb,
++      sem_warn.ads, sfn_scan.ads, sinfo-cn.adb, sinfo-cn.ads, sinput-c.adb,
++      sinput-c.ads, sinput-d.adb, sinput-d.ads, sinput-l.adb, sinput-l.ads,
++      sinput-p.adb, sinput-p.ads, snames.h, sprint.adb, sprint.ads,
++      stringt.h, style.ads, styleg.adb, styleg.ads, styleg-c.adb,
++      styleg-c.ads, stylesw.adb, stylesw.ads, switch.adb, switch.ads,
++      switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
++      switch-m.ads, symbols.adb, symbols.ads, targparm.adb, tbuild.adb,
++      tbuild.ads, tempdir.adb, tempdir.ads, tree_gen.adb, tree_gen.ads,
++      treepr.adb, treepr.ads, treeprs.adt, ttypef.ads, ttypes.ads,
++      types.h, uintp.h, urealp.h, usage.adb, usage.ads,
++      validsw.adb, validsw.ads, vxaddr2line.adb, xeinfo.adb, xnmake.adb,
++      xref_lib.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads, xsinfo.adb,
++      xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb, xgnatugn.adb,
++      gprmake.adb, makegpr.ads, makegpr.adb, prj-attr-pm.ads, prj-attr-pm.adb,
++      mlib-tgt-lynxos.adb, mlib-tgt-darwin.adb, symbols-vms.adb,
++      symbols-processing-vms-alpha.adb, symbols-processing-vms-ia64.adb,
++      mlib-tgt-specific.adb, mlib-tgt-specific.ads, mlib-tgt-vms.adb,
++      mlib-tgt-vms.ads: Replace headers with GPL v3 headers.
++
++2007-09-10  Emmanuel Briot  <briot@adacore.com>
++
++      * s-regpat.adb (Parse_Character_Class): Fix handling of empty character
++      classes ("[]").
++
++2007-09-10  Vasiliy Fofanov  <fofanov@adacore.com>
++
++      * adaint.c (__gnat_translate_vms): new function.
++
++2007-09-10  Gary Dismukes  <dismukes@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++
++      * exp_ch3.adb (Predef_Spec_Or_Body): When the type is abstract, only
++      create an abstract subprogram in the case of 'Input. For 'Output we now
++      create a real spec/body when the type is abstract, since it can
++      potentially be called.
++      (Predefined_Primitive_Bodies): Now allow the creation of a predefined
++      body for 'Output when the type is abstract (only the creation of the
++      body for 'Input is excluded when the type is abstract).
++      (Stream_Operation_OK): Add an additional condition in the return
++      statement, so that False will be returned for TTS_Stream_Input if the
++      associated tagged type is an abstract extension. Add comments for
++      return statement.
++      (Expand_N_Object_Declaration): For the case of a shared passive
++      variable, insert init proc call only after the shared variable
++      procedures have been processed, because the IP call needs to undergo
++      shared passive variable reference expansion, which requires these
++      procedures to be available (and elaborated).
++
++2007-09-10  Vincent Celier  <celier@adacore.com>
++
++      * prj-env.ads, prj-env.adb (Create_Mapping_File (Language)): Remove
++      parameter Runtime_Project.
++
++2007-09-10  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_aggr.adb (Build_Record_Aggr_Code): If an aggregate component is
++      given a box association, the type of the component is discriminated,
++      and the value of the discriminant is the discriminant of the enclosing
++      type, retrieve its value from the aggregate itself, where it must have
++      been supplied.
++
++      * sem_ch4.adb (Analyze_One_Call): Further refinement to previous fix,
++      to remove other spurious ambiguities on arithmetic operations involving
++      literals and addresses, on systems where Address is a visible integer
++      type, when the operator is called in functional notation.
++      (Try_Primitive_Operation): Within an instance, a call in prefixed form
++      is legal when the types match, even if the operation is currently
++      hidden.
++
++2007-09-10  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch12.adb (Build_Local_Package): A formal package with no
++      associations is legal if all formals have defaults. It is not
++      equivalent to a formal declared with a box.
++
++2007-09-10  Sergey Rybin  <rybin@adacore.com>
++
++      * vms_data.ads: Add qualifier for the new gnatmetric '-lratio' option
++
++2007-09-10  Sergey Rybin  <rybin@adacore.com>
++
++      * gnat_ugn.texi: Add description of the new '-lratio' option
++      Update 7.3.1 section about availability of the feature.
++
++2007-09-10  Thomas Quinot  <quinot@adacore.com>
++
++      * exp_smem.ads, exp_smem.adb (Make_Shared_Var_Procs): Return last
++      inserted node.
++
++2007-09-10  Olivier Hainque  <hainque@adacore.com>
++
++      * Makefile.in: (mips-irix section): Activate build of libgmem.
++
++2007-09-10  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * a-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber
++      x87 registers.
++
++2007-09-10  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * decl.c (gnat_to_gnu_entity) <object>: Deal with variable built for
++      a debug renaming declaration specially.
++
++2007-09-08  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * decl.c (gnat_to_gnu_entity) <Object>: Simplify the condition under
++      which a constant renaming is treated as a normal object declaration.
++      * trans.c (lvalue_required_p) <N_Slice>: New case, extracted from
++      the N_Indexed_Component case.
++      <N_Indexed_Component>: Fall through to above case.
++      <N_Object_Renaming_Declaration>: Return true for all composite types.
++
++2007-09-08  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * decl.c (make_packable_type): If the new type has been given BLKmode,
++      try again to get an integral mode for it.
++
++2007-09-07  Eric Botcazou  <ebotcazou@adacore.com>
++
++      Re-apply accidentally reverted change:
++
++      2007-02-07  Andreas Krebbel  <krebbel1@de.ibm.com>
++
++      * raise-gcc.c (get_region_description_for, get_call_site_action_for,
++      get_action_description_for): Replace _Unwind_Word with _uleb128_t
++      and _Unwind_SWord with _sleb128_t.
++
++2007-09-06  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * trans.c (convert_with_check): Update call to real_2expN.
++
++2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>
++
++      * trans.c (Compilation_unit_to_gnu): Use set_cfun.
++      * utils.c (end_subprog_body): Likewise.
++
++2007-09-03  Nick Clifton  <nickc@redhat.com>
++
++      * Make-lang.in: Change copyright header to refer to version 3 of
++      the GNU General Public License and to point readers at the
++      COPYING3 file and the FSF's license web page.
++      * ada-tree.def, nmake.adt, nlists.h, snames.h, utils.c,
++      Makefile.rtl, Makefile.in, config-lang.in, uintp.h, urealp.h,
++      namet.h, decl.c, utils2.c, lang.opt, elists.h, atree.h, types.h,
++      treeprs.adt, lang-specs.h, cuintp.c, stringt.h, gnatbl.c:
++      Likewise.
++
++2007-08-31  Vincent Celier  <celier@adacore.com>
++
++      PR ada/4720
++
++      * gnatchop.adb, gnatfind.adb, gnatlink.adb, gnatls.adb,
++      gnatname.adb, gnatxref.adb, gprep.adb, clean.adb gnatbind.adb
++      (Check_Version_And_Help): New procedure in package Switch to process
++      switches --version and --help.
++      Use Check_Version_And_Help in GNAT tools
++
++      * make.adb:  Ditto.
++      (Compile_Sources): Make sure that sources that are "excluded" are not
++      compiled.
++      (Gnatmake): Do not issue -aO. to gnatbind and only issue -I- if a
++      project file is used.
++      (Version_Switch): Remove, moved to Switch
++      (Help_Switch): Remove, moved to Switch
++      (Display_Version): Remove, moved to Switch
++
++      * switch.ads, switch.adb (Check_Version_And_Help): New procedure in
++      package Switch to process switches --version and --help.
++      (Display_Version): New procedure
++
++      * gnatvsn.ads, gnatvsn.adb (Copyright_Holder): New function.
++
++2007-08-31  Javier Miranda  <miranda@adacore.com>
++
++      * a-tags.adb (Internal_Tag): Protect the run-time against wrong
++      internal tags.
++
++2007-08-31  Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New routine.
++      (Mark_Non_Null): If the node for which we just generated an access check
++      is a reference to an *in* parameter and the reference appears in the
++      declarative part of a subprogram body, mark the node as known non null.
++
++2007-08-31  Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * einfo.ads, einfo.adb: New flag Is_Raised (Flag224). Update the
++      structure of E_Exception to reflect the new flag.
++      (Is_Raised, Set_Is_Raised): New inlined routines.
++      Update the usage of available flag to reflect the addition of Is_Raised.
++      (Is_Raised, Set_Is_Raised): Bodies of new routines.
++      (Write_Entity_Flags): Write the status of flag Is_Raised.
++      (Is_Descendent_Of_Address): New entity flag, to simplify handling of
++      spurious ambiguities when integer literals appear in the context of an
++      address type that is a visible integer type.
++
++      * sem_ch11.adb (Analyze_Exception_Handler): Add code to warn on local
++      exceptions never being raised.
++      (Analyze_Raise_Statement): When analyzing an exception, mark it as being
++      explicitly raised.
++
++2007-08-31  Javier Miranda  <miranda@adacore.com>
++
++      * exp_ch11.adb (Expand_At_End_Handler): Avoid generation of raise
++      statement when compiling under restriction No_Exceptions_Proparation.
++
++2007-08-31  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_ch3.adb (Build_Record_Init_Proc): If there is a static
++      initialization aggregate for the type, generate itype references for
++      thetypes of its (sub)components, to prevent out-of-scope errors in gigi.
++
++2007-08-31  Gary Dismukes  <dismukes@adacore.com>
++
++      * exp_ch8.adb (Expand_N_Package_Renaming_Declaration): In the case of a
++      library-level package renaming, pass the declaration associated with
++      the renaming's special debug variable to Qualify_Entity_Names to ensure
++      that its encoded name is properly qualified.
++
++      * exp_dbug.adb (Qualify_All_Entity_Names): Check for a variable entity
++      occurring in the list of entities to qualify, and do not attempt to
++      traverse an entity list in that case. Variables associated with
++`     library-level package renamings can now occur in the table.
++
++      * exp_dbug.ads: Revise documentation of the encoding for renaming
++      declarations.
++
++2007-08-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++
++      * layout.adb (Layout_Type): Use Underlying_Type to determine whether an
++      access type points to an unconstrained array.
++
++2007-08-31  Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * restrict.adb, namet.adb, par-util.adb: Remove redundant type
++      conversion.
++
++      * sem_res.adb (Resolve_Qualified_Expression): Add machinery to detect
++      simple redundant qualifications. The check is performed whenever the
++      expression is a non-overloaded identifier.
++      (Resolve_Type_Conversion): Enchance the redundant type conversion check
++      to include loop parameters.
++      (Valid_Conversion): Avoid generation of spurious error message.
++
++2007-08-31  Bob Duff  <duff@adacore.com>
++
++      * par-ch4.adb (P_Simple_Expression): Fold long sequences of
++      concatenations of string literals into a single literal, in order to
++      avoid very deep recursion in the front end, which was causing stack
++      overflow.
++
++      * sem_eval.adb (Eval_Concatenation): If the left operand is the empty
++      string, and the right operand is a string literal (the case of "" &
++      "..."), optimize by avoiding copying the right operand -- just use the
++      value of the right operand directly.
++
++      * stringt.adb (Store_String_Chars): Optimize by growing the
++      String_Chars table all at once, rather than appending characters one by
++      one.
++      (Write_String_Table_Entry): If the string to be printed is very long,
++      just print the first few characters, followed by the length. Otherwise,
++      doing "pn(n)" in the debugger can take an extremely long time.
++
++      * sem_prag.adb (Process_Interface_Name): Replace loop doing
++      Store_String_Char with Store_String_Chars.
++
++2007-08-31  Vincent Celier  <celier@adacore.com>
++
++      * prj-attr.adb: Add new attribute Excluded_Source_Files
++
++      * prj-nmsc.adb: Use attribute Excluded_Source_Files before
++      Locally_Removed_Files.
++
++      * snames.ads, snames.adb: New standard name Excluded_Source_Files
++
++2007-08-31  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch10.adb (Analyze_Subunit_Context): When analyzing context
++      clauses of subunits, ignore limited_with_clauses that are illegal and
++      have not been fully analyzed.
++
++2007-08-31  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch3.adb: The predicate Is_Descendent_Of_Address is now an entity
++      flag, for effiency. It is called when analyzing arithmetic operators
++      and also for actuals in calls that are universal_integers. The flag is
++      set for the predefined type address, and for any type or subtype
++      derived from it.
++
++      * sem_ch4.adb (Analyze_One_Call): Reject an actual that is a
++      Universal_Integer, when the formal is a descendent of address and the
++      call appears in user code.
++      (Analyze_Selected_Component): if the prefix is a private extension, the
++      tag component is visible.
++
++      * sem_util.ads, sem_util.adb: Remove Is_Descendent_Of_Address, now an
++      entity flag.
++
++2007-08-31  Robert Dewar  <dewar@adacore.com>
++
++      * s-fileio.adb (Open): Normalize file name to lower case in non-case
++      sensitive file name systems to avoid unexpected mismatch in Vista.
++
++2007-08-31  Vincent Celier  <celier@adacore.com>
++
++      * tempdir.adb: On VMS, take into account GNUTMPDIR before TMPDIR
++
++2007-08-31  Vincent Celier  <celier@adacore.com>
++
++      * symbols-vms.adb (Initialize): Read symbol files with continuation
++      lines
++      (Finalize): If symbol is long, split the line
++
++2007-08-31  Vincent Celier  <celier@adacore.com>
++
++      * fmap.ads: Minor comment updates
++
++2007-08-31  GNAT Script  <nobody@adacore.com>
++
++      * Make-lang.in: Makefile automatically updated
++
++2007-08-31  Bob Duff  <duff@adacore.com>
++
++      * sinfo.ads: Minor comment fix.
++
++2007-08-31  Thomas Quinot  <quinot@adacore.com>
++
++      * stand.ads: (Standard_Debug_Renaming_Type): Make comment consistent
++      with implementation.
++      Documentation cleanup only.
++
++2007-08-31  Sergey Rybin  <rybin@adacore.com>
++
++      * vms_data.ads: Add new qualifier /STMT_NAME_ON_NEW_LINE for the new
++      gnatpp '--separate-stmt-name' option.
++      Add new qualifier /USE_ON_NEW_LIN for the new gnatpp '--use-on-new-line'
++      option.
++
++      * gnat_ugn.texi: Add description for the new gnatpp
++      '--separate-stmt-name' and '--use-on-new-line' options.
++
++2007-08-31  Ben Elliston  <bje@au.ibm.com>
++
++      * Makefile.in (LIBGNAT_TARGET_PAIRS): Use system-linux-ppc64.ads
++      when compiling for powerpc64-*-linux.
++      * system-linux-ppc64.ads: New file.
++
++2007-08-22  Krister Walfridsson  <cato@df.lth.se>
++
++      * env.c ( __gnat_clearenv): Use the __gnat_unsetenv mechanism for
++      NetBSD.
++
++2007-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
++
++      * misc.c (gnat_type_max_size): Constify.
++
++2007-08-16  Gary Dismukes  <dismukes@adacore.com>
++
++      * cstand.adb (Create_Standard): Create an entity for a zero-sized type
++      associated with Standard_Debug_Renaming_Type, to be used as the type of
++      the special variables whose names provide debugger encodings for
++      renaming declarations.
++
++      * einfo.ads, einfo.adb (Debug_Renaming_Link): Change to return Node25.
++      (Set_Debug_Renaming_Link): Change to set Node25.
++      (Write_Field13_Name): Remove case for E_Enumeration_Literal.
++      (Write_Field25_Name): Add case for E_Variable to output
++      "Debug_Renaming_Link".
++      (Write_Field23_Name): Correct the output string for "Limited_View".
++
++      * exp_dbug.adb: Add with and use of Tbuild.
++      (Debug_Renaming_Declaration): Replace creation of an enumeration type
++      and literal with creation of a variable of type
++      Standard_Debug_Renaming_Type whose name encodes both the renamed object
++      and the entity of the renaming declaration.
++      (Qualify_Entity_Name): Add the delayed qualification of the entity name
++      part of the name of a variable that has a Debug_Renaming_Link.
++
++      * stand.ads (Standard_Debug_Renaming_Type): New Entity_Id denoting a
++      special type to be associated with variables that provide debugger
++      encodings for renaming declarations.
++
++2007-08-16  Gary Dismukes  <dismukes@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * exp_aggr.adb (Build_Record_Aggr_Code): Extend the test for an
++      ancestor part given by an aggregate to test for an unchecked conversion,
++      since this can occur in some cases when the ancestor part is a function
++      call, and we don't want to fall into the recursive call to this
++      procedure in that case.
++
++      * exp_ch3.adb (Stream_Operation_OK): Revise tests for availability of
++      stream attributes on limited types to account for user-specified
++      attributes as well as whether Input (resp. Output) becomes available
++      due to Read (resp. Write) being available for the type. Change Boolean
++      variable to the more accurate name
++      Has_Predefined_Or_Specified_Stream_Attribute. Change convoluted
++      double-"not" predicate at beginning of return statement to more
++      understandable form.
++
++      * exp_ch5.adb (Expand_N_Extended_Return_Statement): If the extended
++      return has an associated N_Handled_Sequence_Of_Statements, then wrap it
++      in a block statement and use that as the first statement of the
++      expanded return rather than incorrectly using the handled sequence as
++      the first statement.
++
++      * exp_ch6.adb (Expand_N_Subprogram_Declaration): If this is a protected
++      operation, generate an explicit freeze node for it rather than
++      generating extra formals, to ensure that gigi has the proper order of
++      elaboration for anonymous subtypes in the signature of the subprograms.
++      (Build_In_Place_Formal): Move assertion to beginning of loop.
++      (Is_Build_In_Place_Function_Call): Allow for an unchecked conversion
++      applied to a function call (occurs for some cases of 'Input).
++      (Make_Build_In_Place_Call_In_*): Allow for an unchecked conversion
++      applied to a function call (occurs for some cases of 'Input).
++
++      * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For Ada
++      2005, generate an extended return statement enclosing the result object
++      and 'Read call.
++
++      * freeze.adb (Freeze_Record_Type): Extend the current management of
++      components that are access type with an allocator as default value: add
++      missing support to the use of qualified expressions of the
++      allocator (which also cause freezing of the designated type!)
++      (Freeze_Entity): Call Freeze_Subprogram in the case of a predefined
++      dispatching operation, since extra formals may be needed by calls to
++      build-in-place functions (such as stream 'Input).
++
++      * sem_ch6.adb (Create_Extra_Formals): Skip creation of the extra
++      formals for 'Constrained and accessibility level in the case of a
++      predefined dispatching operation.
++
++      * exp_util.adb (Insert_Actions): A protected body is a valid insertion
++      point, no need to find the parent node.
++
++2007-08-16  Javier Miranda  <miranda@adacore.com>
++
++      * exp_attr.adb (Attribute_Priority): Add missing support for entries
++      and entry barriers.
++
++2007-08-16  Javier Miranda  <miranda@adacore.com>
++
++      * exp_ch9.adb (Build_Protected_Entry): Undo previous change because it
++      is not really required and can introduce regression with the debugger.
++      The original problem is fixed with the patch written for checks.adb.
++
++2007-08-16  Thomas Quinot  <quinot@adacore.com>
++
++      * g-dyntab.adb, g-table.adb, table.adb: (Set_Item): Suppress
++      Range_Check on Allocated_Table.
++
++2007-08-16  Vincent Celier  <celier@adacore.com>
++
++      * make.adb (Collect_Arguments): Call Test_If_Relative_Path with
++      Including_Non_Switch set to False.
++      (Gnatmake): For the compiler, call Test_If_Relative_Path with
++      Including_Non_Switch set to False.
++
++      * makeutl.adb, makeutl.ads (Test_If_Relative_Path): New Boolean
++      parameter Including_Non_Switch, defaulted to True. When
++      Including_Non_Switch is False, options that are not switches and
++      appear as relative path are not converted to absolute paths.
++
++2007-08-16  Nicolas Roche  <roche@adacore.com>
++
++      * Makefile.in (gnatlib): Propagate FORCE_DEBUG_ADAFLAGS value to sub
++      makefiles
++
++      * Make-lang.in: Update dependencies
++
++2007-08-16  Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * sem_ch10.adb (Has_With_Clause): If the name of the with clause
++      currently inspected is a selected component, retrieve the entity of
++      its selector.
++      (Install_Limited_Withed_Unit): Call Has_Limited_With_Clause starting
++      from the immediate ancestor of Main_Unit_Entity.
++      (Install_Limited_Withed_Unit): Do not install the limited view of
++      package P if P is reachable through an ancestor chain from package C
++      and C also has a with clause for P in its body.
++      (Has_Limited_With_Clause): New routine.
++      (Has_With_Clause): New routine.
++
++2007-08-16  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch12.adb (Copy_Generic_Node): A reference to a child unit of the
++      generic for an enclosing instance is a global reference, even though
++      its scope is the enclosing instance.
++
++2007-08-16  Gary Dismukes  <dismukes@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * sem_ch3.adb (OK_For_Limited_Init_In_05): Allow calls to 'Input to
++      initialize a limited object.
++      (Build_Derived_Record_Type): Add missing check of rules ARM 3.9.4
++      13/2 and 14/2.
++      Make sure Has_Complex_Representation is inherited by derived type.
++
++2007-08-16  Robert Dewar  <dewar@adacore.com>
++
++      * sem_ch5.adb (Analyze_Assignment): Make sure we still note update in
++      exception case
++
++2007-08-16  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_disp.adb (Check_Dispatching_Operation): If the operation
++      implements an operation inherited from a progenitor interface, verify
++      that they are subtype-conformant.
++
++2007-08-16  Hristian Kirtchev  <kirtchev@adacore.com>
++          Bob Duff  <duff@adacore.com>
++          Nicolas Setton  <setton@adacore.com>
++
++      * sem_res.adb (Comes_From_Predefined_Lib_Unit): New.
++      (Resolve): Alphabetize local variables. Add new variable From_Lib. When
++      the statement which is being resolved comes from a predefined library
++      unit, all non-predefined library interpretations are skipped.
++      (Resolve_Op_Concat): If string concatenation was folded in the parser,
++      but the "&" is user defined, give an error, because the folding would
++      be wrong.
++
++      * sinfo.ads, sinfo.adb (Is_Folded_In_Parser): New flag to indicate that
++      the parser has folded a long sequence of concatenations of string
++      literals.
++
++      * trans.c (Handled_Sequence_Of_Statements_to_gnu): Mark "JMPBUF_SAVE"
++      and "JMP_BUF" variables as artificial.
++      (N_String_Literal): Do not use alloca for very long string literals. Use
++      xmalloc/free instead. Otherwise the stack might overflow.
++
++      * utils.c (init_gigi_decls): Mark "JMPBUF_T" type as created by the
++      compiler.
++
++2007-08-16  Vincent Celier  <celier@adacore.com>
++
++      * vms_conv.adb (Process_Argument): Ensure that project related options
++      are not put in the -cargs section when using GNAT COMPILE.
++
++2007-08-16  Robert Dewar  <dewar@adacore.com>
++
++      * gnat_ugn.texi: Add note on preprocessing (output file not written)
++
++2007-08-16  Thomas Quinot  <quinot@adacore.com>
++
++      * a-tags.adb: Minor reformatting.
++
++2007-08-16  Bob Duff  <duff@adacore.com>
++
++      * sem_type.ads, sem_ch4.adb: Minor reformatting.
++
++2007-08-14  Thomas Quinot  <quinot@adacore.com>
++
++      * g-soccon-interix.ads, a-excpol-interix.adb, a-intnam-interix.ads,
++      s-osinte-interix.ads, system-interix.ads: Removed.
++
++2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * a-calend-vms.adb, a-calend.adb ("+", "-", Add, Subtract): Remove
++      calls to Check_Within_Time_Bounds.
++      ("+", "-", Add, Subtract): Remove calls to Check_Within_Time_Bounds.
++      (Difference): Account for possible rounding of the resulting difference
++
++2007-08-14  Robert Dewar  <dewar@adacore.com>
++
++      * uintp.adb, a-ztedit.adb, s-wchcon.adb, xnmake.adb, s-wchcon.adb,
++      par-ch5.adb, par-ch10.adb, get_targ.adb, a-wtedit.adb, a-teioed.adb,
++      s-osinte-solaris.adb, s-osinte-solaris.ads,
++      s-osinte-freebsd.ads, s-osinte-freebsd.adb: Minor reformatting.
++
++      * styleg.adb, styleg.ads, stylesw.adb, stylesw.ads: implement style
++      switch -gnatyS. Enable -gnatyS in GNAT style check mode
++
++2007-08-14  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * inline.adb, types.ads, inline.ads, frontend.adb, alloc.ads:
++      Suppress unmodified in-out parameter warning in some cases
++      This patch is a also fairly significant change to the way suppressible
++      checks are handled.
++
++      * checks.ads, checks.adb (Install_Null_Excluding_Check): No check
++      needed for access to concurrent record types generated by the expander.
++      (Generate_Range_Check): When generating a temporary to capture the
++      value of a conversion that requires a range check, set the type of the
++      temporary before rewriting the node, so that the type is always
++      properly placed for back-end use.
++      (Apply_Float_Conversion_Check): Handle case where the conversion is
++      truncating.
++      (Get_Discriminal): Code reformatting. Climb the scope stack looking
++      for a protected type in order to examine its discriminants.
++
++2007-08-14  Robert Dewar  <dewar@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++
++      * a-stzsup.adb, nlists.adb, lib-util.adb, treepr.adb,
++      a-stwisu.adb, a-strsup.adb: Fix warnings for range
++      tests optimized out.
++
++      * exp_ch4.adb (Expand_N_In): Add warnings for range tests optimized out.
++      (Get_Allocator_Final_List): For the case of an anonymous access type
++      that has a specified Associated_Final_Chain, do not go up to the
++      enclosing scope.
++      (Expand_N_Type_Conversion): Test for the case of renamings of access
++      parameters when deciding whether to apply a run-time accessibility
++      check.
++      (Convert_Aggr_In_Allocator): Use Insert_Actions to place expanded
++      aggregate code before allocator, and ahead of declaration for
++      temporary, to prevent access before elaboration when the allocator is
++      an actual for an access parameter.
++      (Expand_N_Type_Conversion): On an access type conversion involving an
++      access parameter, do not apply an accessibility check when the
++      operand's original node was an attribute other than 'Access. We now
++      create access conversions for the expansion of 'Unchecked_Access and
++      'Unrestricted_Access in certain cases and clearly accessibility should
++      not be checked for those.
++
++      * exp_ch6.ads, exp_ch6.adb (Add_Call_By_Copy_Code): For an actual that
++      includes a type conversion of a packed component that has been expanded,
++      recover the original expression for the object, and use this expression
++      in the post-call assignment statement, so that the assignment is made
++      to the object and not to a back-end temporary.
++      (Freeze_Subprogram): In case of primitives of tagged types not defined
++      at the library level force generation of code to register the primitive
++      in the dispatch table. In addition some code reorganization has been
++      done to leave the implementation clear.
++      (Expand_Call): When expanding an inherited implicit conversion,
++      preserve the type of the inherited function after the intrinsic
++      operation has been expanded.
++
++      * exp_ch2.ads, exp_ch2.adb
++      (Expand_Entry_Parameter.In_Assignment_Context): An implicit dereference
++      of an entry formal appearing in an assignment statement does not assign
++      to the formal.
++      (Expand_Current_Value): Instead of calling a routine to determine
++      whether the prefix of an attribute reference should be optimized or
++      not, prevent the optimization of such prefixes all together.
++
++      * lib-xref.adb (Generate_Reference.Is_On_LHS): An indexed or selected
++      component whose prefix is known to be of an access type is an implicit
++      dereference and does not assign to the prefix.
++
++2007-08-14  Ed Schonberg  <schonberg@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * atree.ads, atree.adb (New_Copy_Tree): If hash table is being used and
++      itype is visited, make an entry into table to link associated node and
++      new itype.
++      Add comments and correct harmless error in Build_NCT_Hash_Tables
++      (Array_Aggr_Subtype): Associate each itype created for an index type to
++      the corresponding range construct, and not to the aggregate itself. to
++      maintain a one-to-one correspondence between itype and its associated
++      node, to prevent errors when complex expression is copied.
++      Fix mishandling of multiple levels of parens
++
++      * sem_aggr.adb: Create a limited view of an incomplete type, to make
++      treatment of limited views uniform for all visible declarations in a
++      limited_withed package.
++      (New_Copy_Tree): If hash table is being used and itype is visited,
++      make an entry into table to link associated node and new itype.
++      (Resolve_Record_Aggregate): Do not add an others box association for a
++      discriminated record component that has only discriminants, when there
++      is a box association for the component itself.
++
++      * par-ch4.adb: Fix mishandling of multiple levels of parens
++
++2007-08-14  Robert Dewar  <dewar@adacore.com>
++
++      * comperr.adb: Fix problem with suppressing warning messages from gigi
++
++      * erroutc.ads, erroutc.adb, errout.ads,
++      errout.adb (Write_Eol): Remove trailing spaces before writing the line
++      (Write_Eol_Keep_Blanks): New procedure to write a line, including
++      possible trailing spaces.
++      (Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
++      Fix problem with suppressing warning messages from back end
++      Improve handling of deleted warnings
++
++      * gnat1drv.adb:
++      Fix problem with suppressing warning messages from back end
++      Handle setting of Static_Dispatch_Tables flag.
++
++      * prepcomp.adb:
++      Fix problem with suppressing warning messages from back end
++
++      * exp_intr.adb: Improve handling of deleted warnings
++
++2007-08-14  Robert Dewar  <dewar@adacore.com>
++
++      * debug.adb: Improve -gnatdI to cover all cases of serialization
++      Add documentation of dZ, d.t
++
++      * sprint.ads, sprint.adb: Improve -gnatdI to cover all cases of
++      serialization.
++      (Sprint_Node_Actual): Generate new output associated with implicit
++      importation and implicit exportation of object declarations.
++
++2007-08-14  Ed Schonberg  <schonberg@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * einfo.ads, einfo.adb: Create a limited view of an incomplete type,
++      to make treatment of limited views uniform for all visible declarations
++      in a limited_withed package.
++      Improve warnings for in out parameters
++      (Set_Related_Interaface/Related_Interface): Allow the use of this
++      attribute with constants.
++      (Write_Field26_Name): Handle attribute Related_Interface in constants.
++      Warn on duplicate pragma Preelaborable_Initialialization
++
++      * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Force the
++      generation of a freezing node to ensure proper management of null
++      excluding access types in the backend.
++      (Create_Extra_Formals): Test base type of the formal when checking for
++      the need to add an extra accessibility-level formal. Pass the entity E
++      on all calls to Add_Extra_Formal (rather than Scope (Formal) as was
++      originally being done in a couple of cases), to ensure that the
++      Extra_Formals list gets set on the entity E when the first entity is
++      added.
++      (Conforming_Types): Add missing calls to Base_Type to the code that
++      handles anonymous access types. This is required to handle the
++      general case because Process_Formals builds internal subtype entities
++      to handle null-excluding access types.
++      (Make_Controlling_Function_Wrappers): Create wrappers for constructor
++      functions that need it, even when not marked Requires_Overriding.
++      Improve warnings for in out parameters
++      (Analyze_Function_Return): Warn for disallowed null return
++      Warn on return from procedure with unset out parameter
++      Ensure consistent use of # in error messages
++      (Check_Overriding_Indicator): Add in parameter Is_Primitive.
++      (Analyze_Function_Return): Move call to Apply_Constraint_Check before
++      the implicit conversion of the expression done for anonymous access
++      types. This is required to generate the code of the null excluding
++      check (if required).
++
++      * sem_warn.ads, sem_warn.adb (Check_References.Publicly_Referenceable):
++      A formal parameter is never publicly referenceable outside of its body.
++      (Check_References): For an unreferenced formal parameter in an accept
++      statement, use the same warning circuitry as for subprogram formal
++      parameters.
++      (Warn_On_Unreferenced_Entity): New subprogram, taken from
++      Output_Unreferenced_Messages, containing the part of that routine that
++      is now reused for entry formals as described above.
++      (Goto_Spec_Entity): New function
++      (Check_References): Do not give IN OUT warning for dispatching operation
++      Improve warnings for in out parameters
++      (Test_Ref): Check that the entity is not undefinite before calling
++      Scope_Within, in order to avoid infinite loops.
++      Warn on return from procedure with unset out parameter
++      Improved warnings for unused variables
++
++2007-08-14  Robert Dewar  <dewar@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of child unit
++      (Expand_N_Attribute_Reference): Further unify the handling of the
++      three forms of access attributes, using common code now for all three
++      cases. Add a test for the case of applying an access attribute to
++      an explicit dereference when the context is an access-to-interface
++      type. In that case we need to apply the conversion to the prefix
++      of the explicit dereference rather than the prefix of the attribute.
++      (Attribute_Version, UET_Address): Set entity as internal to ensure
++      proper dg output of implicit importation.
++      (Expand_Access_To_Type): Removed.
++      (Expand_N_Attribute_Reference): Merge the code from the three cases
++      of access attributes, since the processing is largely identical for
++      these cases. The substantive fix here is to process the case of a
++      type name prefix (current instance case) before handling the case
++      of interface prefixes.
++
++2007-08-14  Thomas Quinot  <quinot@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * exp_ch3.ads, exp_ch3.adb (Add_Final_Chain): New subprogram.
++      (Freeze_Array_Type, Freeze_Record_Type): For the case of a component
++      type that is an anonymous access to controlled object, establish
++      an associated finalization chain to avoid corrupting the global
++      finalization list when a dynamically allocated object designated
++      by such a component is deallocated.
++      (Make_Controlling_Function_Wrappers): Create wrappers for constructor
++      functions that need it, even when not marked Requires_Overriding.
++      (Initialize_Tag): Replace call to has_discriminants by call to
++      Is_Variable_Size_Record in the circuitry that handles the
++      initialization of secondary tags.
++      (Is_Variable_Size_Record): New implementation.
++      (Expand_N_Object_Declaration): Suppress call to init proc if there is a
++      Suppress_Initialization pragma for a derived type.
++      (Is_Variable_Size_Record): New subprogram.
++      (Build_Offset_To_Top_Functions): New implementation that simplifies the
++      initial version of this routine and also fixes problems causing
++      incomplete initialization of the table of interfaces.
++      (Build_Init_Procedure): Improve the generation of code to initialize the
++      the tag components of secondary dispatch tables.
++      (Init_Secondary_Tags): New implementation that simplifies the previous
++      version of this routine.
++      (Make_DT): Add parameter to indicate when type has been frozen by an
++      object declaration, for diagnostic purposes.
++      (Check_Premature_Freezing): New subsidiary procedure of Make_DT, to
++      diagnose attemps to freeze a subprogram when some untagged type of its
++      profile is a private type whose full view has not been analyzed yet.
++      (Freeze_Array_Type): Generate init proc for packed array if either
++      Initialize or Normalize_Scalars is set.
++      (Make_Controlling_Function_Wrappers, Make_Null_Procedure_Specs): when
++      constructing the new profile, copy the null_exclusion indicator for each
++      parameter, to ensure full conformance of the new body with the spec.
++
++      * sem_type.ads, sem_type.adb (Make_Controlling_Function_Wrappers):
++      Create wrappers for constructor functions that need it, even when not
++      marked Requires_Overriding.
++      (Covers): Handle properly designated types of anonymous access types,
++      whose non-limited views are themselves incomplete types.
++      (Add_Entry): Use an entity to store the abstract operation which hides
++      an interpretation.
++      (Binary_Op_May_Be_Hidden): Rename to Binary_Op_Interp_Has_Abstract_Op.
++      (Collect_Interps): Use Empty as an actual for Abstract_Op in the
++      initialization aggregate.
++      (Function_Interp_May_Be_Hidden): Rename to
++      Function_Interp_Has_Abstract_Op.
++      (Has_Compatible_Type): Remove machinery that skips interpretations if
++      they are labeled as potentially hidden by an abstract operator.
++      (Has_Hidden_Interp): Rename to Has_Abstract_Op.
++      (Set_May_Be_Hidden): Rename to Set_Abstract_Op.
++      (Write_Overloads): Output the abstract operator if present.
++      (Add_Entry): Before inserting a new entry into the interpretation table
++      for a node, determine whether the entry will be disabled by an abstract
++      operator.
++      (Binary_Op_Interp_May_Be_Hidden): New routine.
++      (Collect_Interps): Add value for flag May_Be_Hidden in initialization
++      aggregate.
++      (Function_Interp_May_Be_Hidden): New routine.
++      (Has_Compatible_Type): Do not consider interpretations hidden by
++      abstract operators when trying to determine whether two types are
++      compatible.
++      (Has_Hidden_Interp): New routine.
++      (Set_May_Be_Hidden_Interp): New routine.
++      (Write_Overloads): Write the status of flag May_Be_Hidden.
++
++2007-08-14  Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * exp_disp.ads, exp_disp.adb (Build_Dispatch_Tables): Handle tagged
++      types declared in the declarative part of a nested package body or in
++      the proper body of a stub.
++      (Set_All_DT_Position): Add missing check to avoid wrong assignation
++      of the same dispatch table slot to renamed primitives.
++      (Make_Select_Specific_Data_Table): Handle private types.
++      (Tagged_Kind): Handle private types.
++      (Make_Tags, Make_DT): Set tag entity as internal to ensure proper dg
++      output of implicit importation and exportation.
++      (Expand_Interface_Thunk): Fix bug in the expansion assuming that the
++      first formal of the thunk is always associated with the controlling
++      type. In addition perform the following code cleanup: remove formal
++      Thunk_Alias which is no longer required, cleanup evaluation of the
++      the controlling type, and update the documentation.
++      Replace occurrence of Default_Prim_Op_Count by
++      Max_Predef_Prims. Addition of compile-time check to verify
++      that the value of Max_Predef_Prims is correct.
++      (Check_Premature_Freezing): Apply check in Ada95 mode as well.
++      (Make_DT): Add parameter to indicate when type has been frozen by an
++      object declaration, for diagnostic purposes.
++      (Build_Static_Dispatch_Tables): New subprogram that takes care of the
++      construction of statically allocated dispatch tables.
++      (Make_DT): In case of library-level tagged types export the declaration
++      of the primary tag. Remove generation of tags (now done by Make_Tags).
++      Additional modifications to handle non-static generation of dispatch
++      tables. Take care of building tables for asynchronous interface types
++      (Make_Tags): New subprogram that generates the entities associated with
++      the primary and secondary tags of Typ and fills the contents of Access_
++      Disp_Table. In case of library-level tagged types imports the forward
++      declaration of the primary tag that will be declared later by Make_DT.
++      (Expand_Interface_Conversion): In case of access types to interfaces
++      replace an itype declaration by an explicit type declaration to avoid
++      problems associated with the scope of such itype in transient blocks.
++
++2007-08-14  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * exp_util.ads, exp_util.adb:
++      This patch replaces a number of occurrences of explicit tests for N_Null
++      with calls to Known_Null. This improves tracking of null values, since
++      Known_Null also catches null constants, and variables currently known to
++      be null, so we get better tracking.
++      (Ensure_Defined): create an itype reference only in the scope of the
++      itype.
++      (Side_Effect_Free): A selected component of an access type that
++      denotes a component with a rep clause must be treated as not
++      side-effect free, because if it is part of a linked structure its
++      value may be affected by a renaming.
++      (Expand_Subtype_From_Expr): For limited objects initialized with build
++      in place function calls, do nothing; otherwise we prematurely introduce
++      an N_Reference node in the expression initializing the object, which
++      breaks the circuitry that detects and adds the additional arguments to
++      the called function. Bug found working in the new patch for statically
++      allocated dispatch tables.
++      (Is_Library_Level_Tagged_Type): New subprogram.
++      (Remove_Side_Effects): If the expression of an elementary type is an
++      operator treat as a function call.
++      (Make_Literal_Range): If the index type of the array is not integer, use
++      attributes properly to compute the constraint on the resulting aggregate
++      which is a string.
++
++      * freeze.ads, freeze.adb (Freeze_Entity): If the entity is a
++      class-wide type whose base type is an incomplete private type, leave
++      class-wide type unfrozen so that freeze nodes can be generated
++      properly at a later point.
++      (Freeze_Entity, array case): Handle case of pragma Pack and component
++      size attributre clause for same array.
++
++2007-08-14  Vincent Celier  <celier@adacore.com>
++
++      * prj.ads, prj.adb: Update Project Manager to new attribute names for
++      gprbuild.
++      Allow all valid declarations in configuration project files
++      (Reset): Initialize all tables and hash tables in the project tree data
++      Major update of the Project Manager and of the project aware tools,
++      including gprmake, so that the same sources in the GNAT repository
++      can be used by gprbuild.
++      (Slash_Id): Change type to be Path_Name_Type
++      (Slash): Return a Path_Name_Type instead of a File_Name_Type
++
++      * prj-attr.ads, prj-attr.adb: Remove attributes no longer used by
++      gprbuild.
++      Update Project Manager to new attribute names for ghprbuild
++      Allow all valid declarations in configuration project files
++      Major update of the Project Manager and of the project aware tools,
++      including gprmake, so that the same sources in the GNAT repository
++      can be used by gprbuild.
++
++      * prj-com.ads:
++      Major update of the Project Manager and of the project aware tools,
++      including gprmake, so that the same sources in the GNAT repository
++      can be used by gprbuild.
++
++      * prj-dect.adb (Prj.Strt.Attribute_Reference): Set correctly the case
++      insensitive flag for attributes with optional index.
++      (Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative
++      array attribute, put the index in lower case.
++      Update Project Manager to new attribute names for ghprbuild
++      Allow all valid declarations in configuration project files
++      Major update of the Project Manager and of the project aware tools,
++      including gprmake, so that the same sources in the GNAT repository
++      can be used by gprbuild.
++
++      * prj-env.ads, prj-env.adb:
++      Major update of the Project Manager and of the project aware tools,
++      including gprmake, so that the same sources in the GNAT repository
++      can be used by gprbuild.
++      (Get_Reference): Change type of parameter Path to Path_Name_Type
++
++      * prj-ext.ads, prj-ext.adb (Initialize_Project_Path): Make sure, after
++      removing '-' from the path to start with the first character of the
++      next directory.
++      Major update of the Project Manager and of the project aware tools,
++      including gprmake, so that the same sources in the GNAT repository
++      can be used by gprbuild.
++      Major update of the Project Manager and of the project aware tools,
++      including gprmake, so that the same sources in the GNAT repository
++      can be used by gprbuild.
++
++      * prj-nmsc.ads, prj-nmsc.adb:
++      Update Project Manager to new attribute names for ghprbuild
++      Allow all valid declarations in configuration project files
++      (Search_Directories): Detect subunits that are specified with an
++      attribute Body in package Naming. Do not replace a source/unit in the
++      same project when the order of the source dirs are known. Detect
++      duplicate sources/units in the same project when the order of the
++      source dirs are not known.
++      (Check_Ada_Name): Allow all identifiers that are not reserved words
++      in Ada 95.
++      Major update of the Project Manager and of the project aware tools,
++      including gprmake, so that the same sources in the GNAT repository
++      can be used by gprbuild.
++      (Look_For_Sources): If the list of sources is empty, set the object
++      directory of non extending project to nil.
++      Change type of path name variables to be Path_Name_Type
++      (Locate_Directory): Make sure that on Windows '/' is converted to '\',
++      otherwise creating missing directories will fail.
++
++      * prj-attr-pm.adb, prj-tree.ads, prj-proc.ads, prj-proc.adb,
++      prj-part.ads, prj-part.adb:
++      Major update of the Project Manager and of the project aware tools,
++      including gprmake, so that the same sources in the GNAT repository
++      can be used by gprbuild.
++
++      * prj-strt.adb (Prj.Strt.Attribute_Reference): Set correctly the case
++      insensitive flag for attributes with optional index.
++      (Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative
++      array attribute, put the index in lower case.
++      (Parse_Variable_Reference): Allow the current project name to be used in
++      the prefix of an attribute reference.
++
++      * prj-util.ads, prj-util.adb
++      (Value_Of (for arrays)): New Boolean parameter Force_Lower_Case_Index,
++      defaulted to False. When True, always check against indexes in lower
++      case.
++
++      * snames.ads, snames.h, snames.adb:
++      Update Project Manager to new attribute names for gprbuild
++      Allow all valid declarations in configuration project files
++
++2007-08-14  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * opt.ads: Warning for non-local exception propagation now off by
++      default
++      New switch -gnatI to disable representation clauses
++      Implement new pragma Implicit_Packing
++
++      * usage.adb:
++      Warning for non-local exception propagation now off by default
++      Add warning for unchecked conversion of pointers wi different
++      conventions.
++      New switch -gnatI to disable representation clauses
++
++      * usage.adb: new switch -gnatyS
++
++      * gnat_ugn.texi: For the gnatcheck Non_Qualified_Aggregates rule add a
++      note that aggregates of anonymous array types are not flagged.
++      -gnatwc now includes membership tests optimized away
++      -gnatw.x warnings are now off by default
++      Added conditional compilation Appendix
++      Add documentation of -gnatI
++      Add documentation for new -gnatyS style check
++      Update documentation about SAL and auto-init on Windows.
++
++      * gnat_rm.texi:
++      Add documentation for pragma Check_Name and 'Enabled attribute
++      Document that Eliminate on dispatching operation is ignored
++      Document IDE attributes VCS_Repository_Root and VCS_Patch_Root.
++      Document pragma Main
++      Document pragma Implicit_Packing
++
++      * sem_ch13.adb: Add warning for unchecked conversion of pointers wi
++      different conventions
++      New switch -gnatI to disable representation clauses
++
++      * switch-c.adb (Scan_Front_End_Switches): When a -gnat switch is not
++      recognized, report the invalid characters including "-gnat" instead of
++      just the first character in the switch.
++      New switch -gnatI to disable representation clauses
++      Set Warn_On_Object_Renames_Function true for -gnatg
++
++      * vms_data.ads: Add doc for /IGNORE_REP_CLAUSES
++      Add STATEMENTS_AFTER_THEN_ELSE as synonym for -gnatyS
++      Add qualifier /ADD_PROJECT_SEARCH_DIR= for different tools, equivalent
++      to switch -aP (add directory to project search dir).
++
++      * par-prag.adb: Implement new pragma Implicit_Packing
++
++      * sem_prag.adb (Analyze_Pragma, case Complex_Representation): Mark the
++      type as having a non-standard representation, to force expansion on
++      conversion to related types.
++      (Analyze_Pragma): Warn on misspelled pragma
++      (Analyze_Pragma, case Convention_Identifier): Fix checking of second arg
++      Ensure consistent use of # in error messages
++      Implement pragma Implicit_Packing
++
++2007-08-14  Olivier Hainque  <hainque@adacore.com>
++          Eric Botcazou  <ebotcazou@adacore.com>
++
++      * targtyps.c (get_target_maximum_default_alignment): New function.
++      Maximum alignment
++      that the compiler might choose by default for a type or object.
++      (get_target_default_allocator_alignment): New function. Alignment known
++      to be honored by the target default allocator.
++      (get_target_maximum_allowed_alignment): New function. Maximum alignment
++      we might accept for any type or object on the target.
++      (get_target_maximum_alignment): Now synonym of maximum_default_alignment
++
++      * gigi.h (get_target_maximum_default_alignment): Declare new function.
++      (get_target_default_allocator_alignment): Likewise.
++      (get_target_maximum_allowed_alignment): Likewise.
++
++      PR ada/19037
++      * decl.c (gnat_to_gnu_entity) <object>: Except for the renaming of the
++      result of a function call, first try to use a stabilized reference for
++      a constant renaming too.
++      (validate_alignment): Use target_maximum_allowed_alignment instead of
++      MAX_OFILE_ALIGNMENT as the upper bound to what we accept.
++      (gnat_to_gnu_entity): Use common nodes directly.
++      (gnat_to_gnu_entity) <object>: Pick the values of the type to annotate
++      alignment and size for the object.
++      (lvalue_required_p): Handle N_Parameter_Association like N_Function_Call
++      and N_Procedure_Call_Statement.
++      (takes_address): Rename to lvalue_required_p, add third parameter
++      'aliased' and adjust recursive calls.
++      <N_Indexed_Component>: Update 'aliased' from the array type.
++      <N_Selected_Component>: New case.
++      <N_Object_Renaming_Declaration>: New Likewise.
++      (Identifier_to_gnu): Adjust for above changes.
++      (maybe_stabilize_reference) <CONST_DECL>: New case.
++
++      * utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Look through conversion
++      between type variants.
++      (build_simple_component_ref): Likewise.
++      (build_call_alloc_dealloc): Use target_default_allocator_alignment
++      instead of BIGGEST_ALIGNMENT as the threshold to trigger the super
++      aligning type circuitry for allocations from the default storage pool.
++      (build_allocator): Likewise.
++      (build_simple_component_ref): Manually fold the reference for a
++      constructor if the record type contains a template.
++
++      * utils.c (value_zerop): Delete.
++      (gnat_init_decl_processing): Emit debug info for common types.
++      (rest_of_record_type_compilation): If a union contains a field
++      with a non-constant qualifier, treat it as variable-sized.
++      (finish_record_type): Give the stub TYPE_DECL a name.
++      (rest_of_record_type_compilation): Likewise.
++      (convert) <CONSTRUCTOR>: New case.  Build a new constructor if
++      types are equivalent array types.
++      (create_field_decl): Claim fields of any ARRAY_TYPE are addressable,
++      even if the type is not passed by reference.
++      (static_ctors, static_dtors): Delete.
++      (end_subprog_body): Do not record constructors and destructors.
++      (build_global_cdtor): Delete.
++      (gnat_write_global_declarations): Do not call build_global_cdtor.
++
++      * lang-spARGET_VXWORKS_RTP is defined, append -mrtp when
++      -fRTS=rtp is specified.
++      If CONFIG_DUAL_EXCEPTIONS is 1, append -fsjlj when -fRTS=sjlj is
++      specified.
++
++      * misc.c (gnat_init_gcc_eh): Use __gnat_eh_personality_sj for the name
++      of the personality function with SJLJ exceptions.
++
++      * raise-gcc.c (PERSONALITY_FUNCTION): Use __gnat_eh_personality_sj for
++      the name of the personality function with SJLJ exceptions.
++
++2007-08-14  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * par.ads, par.adb: Improve handling of extra right parens.
++      (Par): Remove flag From_Limited_With_Clause.
++
++      * par-util.adb, par-ch3.adb: Improve error recovery for bad constraint
++      Improve handling of extra right parens.
++
++2007-08-14  Robert Dewar  <dewar@adacore.com>
++
++      * par-tchk.adb (TF_Semicolon): Improve error recovery
++
++2007-08-14  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_attr.ads, sem_attr.adb (Analyze_Attribute, case Value): For
++      enumeration type, mark all literals as referenced.
++      (Eval_Attribute, case 'Image): If the argument is an enumeration
++      literal and names are available, constant-fold but mark nevertheless as
++      non-static.
++      Clean up function names.
++      (Name_Modifies_Prefix): Rename to Name_Implies_Lvalue_Prefix. Clarify
++      comment.
++      (Requires_Simple_Name_Prefix): Removed.
++
++2007-08-14  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch11.adb: Improved warnings for unused variables
++
++      * sem_ch3.ads, sem_ch3.adb (Build_Derived_Record_Type): If the ancestor
++      is a synchronized interface, the derived type is limited.
++      (Analyze_Object_Declaration): Mark the potential coextensions in the
++      definition and expression of an object declaration node.
++      (Build_Derived_Type): For the completion of a private type declaration
++      with a derived type declaration, chain the parent type's representation
++      items to the last representation item of the derived type (not the
++      first one) if they are not present already.
++      (Analyze_Object_Declaration, Constant_Redeclaration): Allow incomplete
++      object declaration of forward references to tags.
++      (Access_Subprogram_Declaration): In Ada2005, anonymous access to
++      subprogram types can appear as access discriminants of synchronized
++      types.
++      (OK_For_Limited_Init_In_05): The initialization is legal is it is a call
++      given in prefixed form as a selected component.
++      (Process_Discriminants): If not all discriminants have defaults, place
++      error message on a default that is present.
++      (Analyze_Private_Extension_Declaration): Diagnose properly an attempt to
++      extend a synchronized tagged type.
++      Improved warnings for unused variables
++      (Is_Visible_Component): Fix a visibility hole on a component inherited
++      by a private extension when parent is itself declared as a private
++      extension, and the derivation is in a child unit.
++      (Find_Hidden_Interface): Move spec from the package body.
++
++2007-08-14  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch5.adb: Improve warnings on redundant assignments
++
++      * sem_util.ads, sem_util.adb: (Is_Variable): Add defense against junk
++      parameter
++      (Is_Synchronized_Tagged_Type): New subprogram that returns true
++      in case of synchronized tagged types (AARM 3.9.4 (6/2)).
++      (Safe_To_Capture_Value): Can now return True for constants, even if Cond
++      is set to False. Improves handling of Known_[Not_]Null.
++      (Wrong_Type): Special case address arithmetic attempt
++      (Collect_Abstract_Interfaces): Add new formal to allow collecting
++      abstract interfaces just using the partial view of private types.
++      (Has_Abstract_Interfaces): Add new formal to allow checking types
++      covering interfaces using the partial view of private types.
++      (Is_Fully_Initialized_Type): Special VM case for uTag component. This
++      component still needs to be defined in this case, but is never
++      initialized as VMs are using other dispatching mechanisms.
++      (Abstract_Interface_List): For a protected type, use base type to get
++      proper declaration.
++      Improve warnings on redundant assignments
++      (Is_Variable): Handle properly an implicit dereference of a prefixed
++      function call.
++      (Build_Actual_Subtype): If this is an actual subtype for an
++      unconstrained formal parameter, use the sloc of the body for the new
++      declaration, to prevent anomalises in the debugger.
++
++2007-08-14  Robert Dewar  <dewar@adacore.com>
++
++      * sem_elim.adb (Set_Eliminated): Ignore pragma Eliminate for
++      dispatching operation
++
++2007-08-14  Ed Schonberg  <schonberg@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * exp_aggr.ads,
++      exp_aggr.adb (Convert_Aggr_In_Allocator): Use Insert_Actions to place
++      expanded aggregate code before allocator, and ahead of declaration for
++      temporary, to prevent access before elaboration when the allocator is
++      an actual for an access parameter.
++      (Is_Static_Dispatch_Table_Aggregate): Handle aggregates initializing
++      the TSD and the table of interfaces.
++      (Convert_To_Assignments): Augment the test for delaying aggregate
++      expansion for limited return statements to include the case of extended
++      returns, to prevent creation of an unwanted transient scope.
++      (Is_Static_Dispatch_Table_Aggregate): New subprogram.
++      (Expand_Array_Aggregate): Handle aggregates associated with
++      statically allocated dispatch tables.
++      (Expand_Record_Aggregate): Handle aggregates associated with
++      statically allocated dispatch tables.
++      (Gen_Ctrl_Actions_For_Aggr): Generate a finalization list for allocators
++      of anonymous access type.
++
++2007-08-14  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_ch5.adb (Expand_Assign_Array): If source or target of assignment
++      is a variable that renames a slice, use the variable itself in the
++      expannsion when the renamed expression itself may be modified between
++      the declaration of the renaming and the array assignment.
++
++2007-08-14  Jerome Guitton  <guitton@adacore.com>
++
++      * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
++      s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
++      s-taprop-vms.adb, s-taprop-posix.adb (Continue_Task, Stop_All_Tasks):
++      New functions; dummy implementations.
++
++      * s-osinte-vxworks.ads (Task_Stop, Task_Cont, Int_Lock, Int_Unlock): New
++      functions, used to implement the multi-tasks mode routines on VxWorks.
++
++      * s-osinte-vxworks.adb, s-osinte-vxworks6.adb (Task_Cont, Task_Stop):
++      New functions, thin
++      binding to the VxWorks routines which have changed between VxWorks 5
++      and 6.
++      (Int_Lock, Int_Unlock): New function, thin binding to kernel routines
++      which are not callable from a RTP.
++
++      * s-taprop-vxworks.adb (Stop_All_Tasks, Continue_Task): New functions,
++      implemented for the multi-tasks mode on VxWorks 5 and 6.
++
++      * s-taprop.ads (Stop_All_Tasks, Continue_Task): New functions.
++
++      * s-tasdeb.ads, s-tasdeb.adb (Continue_All_Tasks, Stop_All_Tasks): New
++      functions.
++
++2007-08-14  Vincent Celier  <celier@adacore.com>
++
++      * clean.adb, fmap.adb, sinput-p.adb, sinput-p.ads, gnatcmd.adb,
++      gnatname.adb, makeutl.ads, makeutl.adb, makegpr.adb, mlib-tgt-vms.adb
++      mlib-tgt-darwin.adb, mlib-tgt-lynxos.adb, mlib-prj.adb, mlib-tgt.adb,
++      mlib-tgt.ads, mlib-tgt-irix.adb mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
++      mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
++      mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, mlib-tgt-aix.adb,
++      mlib-tgt-tru64.adb, mlib.ads, mlib.adb (Create_Sym_Links): New
++      procedure.
++      (Major_Id_Name): New function.
++      mlib-tgt.ads/mlib.tgt.adb:
++      (Library_Major_Minor_Id_Supported): New function, default returns True
++      Most mlib-tgt-*.adb that support shared libraries and symbolic links:
++      (Build_Dynamic_Library): Add support for major/minor ids for shared libs
++      Other mlib-tgt-*.adb (aix, mingw, vms, vxworks, xi):
++      Implementation of Library_Major_Minor_Id_Supported returns False
++      clean.adb:
++      (Clean_Library_Directory): If major/minor ids are supported, clean all
++      library files.
++      Major update of the Project Manager and of the project aware tools,
++      including gprmake, so that the same sources in the GNAT repository
++      can be used by gprbuild.
++
++2007-08-14  Olivier Hainque  <hainque@adacore.com>
++
++      * system-solaris-x86.ads (ZCX_By_Default): Switch to True.
++      (GCC_ZCX_Support): Switch to True.
++
++      * s-intman-solaris.adb (Notify_Exception): Call
++      Adjust_Context_For_Raise before raising, as expected for signal
++      handlers in general.
++
++      * s-intman-posix.adb (Notify_Exception): Remove declaration of
++      Adjust_Context_For_Raise, moved to the spec of this unit to be visible
++      to other implementation bodies.
++
++      * s-intman.ads (Adjust_Context_For_Raise): Declare and import here, to
++      be visible by multiple implementation bodies.
++
++      * init.c [VMS section] (__gnat_handle_vms_condition): Adjust context
++      only for conditions coming from hardware.
++      [alpha-tru64 section] (__gnat_adjust_context_for_raise): Implement,
++      adjustments to signal context prior to exception raise from signal
++      handler.
++      (__gnat_map_signal for VxWorks): Map SIGSEGV to Storage_Error in RTP
++      mode.
++      Solaris section: (__gnat_adjust_context_for_raise): New function.
++      Implementation of the machine context adjustments to perform prior to
++      raise from a signal handler. Version for both sparc and x86.
++      (HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE): Define.
++      (__gnat_error_handler): Expect a third argument, ucontext_t *. Adjust it
++      prior to raising as expected for any handler, before possible nested
++      faults to make sure all the contexts in a chain have been adjusted by
++      the time we propagate.
++
++2007-08-14  Pascal Obry  <obry@adacore.com>
++
++      * s-osinte-mingw.ads: Add support for Ada.Execution_Time on Windows.
++      (SYSTEM_INFO): New record.
++      (SetThreadIdealProcessor): New imported routine needed for supporting
++      task_info pragma on Windows.
++
++      * s-taprop-mingw.adb (Enter_Task): Check if CPU number given in task
++      info can be applied to the current host.
++      (Create_Task): Set the ideal processor if information is present.
++
++      * s-tasinf-mingw.adb, s-tasinf-mingw.ads,
++      a-exetim-mingw.adb, a-exetim-mingw.ads: New files.
++
++2007-08-14  Olivier Hainque  <hainque@adacore.com>
++
++      * s-taprop-linux.adb (Get_Stack_Attributes): New subprogram. Fetch the
++      stack size and initial stack pointer value for a given task.
++      (Enter_Task): Get the stack attributes of the task we are entering and
++      let the stack checking engine know about them.
++
++      * s-stchop.adb, s-stchop.ads (Notify_Stack_Attributes): New subprogram.
++      Let the stack-checking engine know about the initial sp value and stack
++      size associated with the current task.
++      (Set_Stack_Info): If a stack base has been notified for the current
++      task, honor it. Fallback to the previous less accurate method otherwise.
++
++      * s-stchop-vxworks.adb (Notify_Stack_Attributes): Dummy body.
++
++2007-08-14  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch10.adb: Create a limited view of an incomplete type, to make
++      treatment of limited views uniform for all visible declarations in a
++      limited_withed package.
++      Set flag indicating that a subprogram body for a child unit has a
++      generated spec.
++      (Analyze_Compilation_Unit): If unit is a subprogram body that has no
++      separate declaration, remove the unit name from visibility after
++      compilation, so that environment is clean for subsequent compilations.
++      (Install_Limited_Context_Clauses): Do not install a
++      limited_private_with_clause unless the current unit is a body or a
++      private child unit.
++      (Analyze_Subunit, Install_Parents): Treat generic and non-generic units
++      in the same fashion.
++      (Install_Limited_Withed_Unit): Do not install a limited with clause if
++      it applies to the declaration of the current package body.
++      (Remove_Private_With_Clauses): If there is a regular with_clause for
++      the unit, delete Private_With_Clause from context, to prevent improper
++      hiding when processing subsequent nested packages and instantiations.
++
++2007-08-14  Jose Ruiz  <ruiz@adacore.com>
++
++      * adaint.c (__gnat_is_absolute_path): For VxWorks systems we accept
++      dir/file, device:/dir/file, and device:drive_letter:/dir/file as
++      representing absolute path names.
++      __gnat_set_file_time_name [VMS]: Fix some 64/32 bit issues.
++
++      * cstreams.c (__gnat_full_name for VxWorks): Use
++      __gnat_is_absolute_path to detect whether we need to add the current
++      directory to normalize the path.
++
++2007-08-14  Javier Miranda  <miranda@adacore.com>
++
++      * a-tags.ads,
++      a-tags.adb (Displace): Associate a message with the raised CE
++      exception.
++      (To_Addr_Ptr, To_Address, To_Dispatch_Table_Ptr,
++      To_Object_Specific_Data_Ptr To_Predef_Prims_Ptr,
++      To_Tag_Ptr, To_Type_Specific_Data_Ptr): Moved here from the package
++      spec.
++      (Default_Prim_Op_Count): Removed.
++      (IW_Membership, Get_Entry_Index, Get_Offset_Index, Get_Prim_Op_Kind,
++      Register_Tag, Set_Entry_Index, Set_Offset_To_Top, Set_Prim_Op_Kind):
++      Remove pragma Inline_Always.
++
++      * rtsfind.ads (Default_Prim_Op_Count): Removed
++      (Max_Predef_Prims): New entity
++      (RE_Expanded_Name): Removed
++      (RE_HT_Link): Removed
++      (RE_Iface_Tag): Remmoved
++      (RE_Ifaces_Table): Removed
++      (RE_Interfaces_Array): Removed
++      (RE_Interface_Data_Element): Removed
++      (RE_Nb_Ifaces): Removed
++      (RE_RC_Offset): Removed
++      (RE_Static_Offset_To_Top): Removed
++
++      * exp_atag.ads, exp_atag.adb (Build_Inherit_Prims): Addition of a new
++      formal.
++      (Build_Inherit_Predefined_Prims): Replace occurrences of Default_
++      Prim_Op_Count by Max_Predef_Prims.
++
++2007-08-14  Thomas Quinot  <quinot@adacore.com>
++          Vincent Celier  <celier@adacore.com>
++
++      * binde.adb (Elab_All_Links): Remove unnecessary call to
++      Generic_Separately_Compiled (if a unit satisfies this predicate, there
++      won't be an associated Afile).
++      (Elab_All_Links): Fail if a referenced unit cannot be found
++
++      * bindgen.adb:
++      Fix comments in bindgen regarding consistency checks done in Bcheck:
++      the checks are made across units within a partition, not across several
++      partitions.
++      Fix generation of C binder file for VxWorks.
++
++      * lib.ads, lib.adb (Generic_Separately_Compiled): Rename to
++      Generic_May_Lack_ALI, more descriptive of the current use of the
++      predicate, and update documentation.
++
++      * lib-writ.ads, lib-writ.adb (Write_With_Lines): Minor code
++      reorganization and documentation update for the case of predefined
++      library generics (for which we do not reference an Afile).
++
++2007-08-14  Robert Dewar  <dewar@adacore.com>
++
++      * s-intman-irix.adb, s-osinte-irix.adb, s-osinte-irix.ads,
++      s-proinf-irix-athread.ads, s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads,
++      s-parame-hpux.ads, s-intman-dummy.adb, s-tasinf-solaris.adb,
++      s-tasinf-solaris.ads, s-asthan-vms-alpha.adb, s-inmaop-vms.adb,
++      s-intman-vms.adb, s-intman-vms.ads, s-osprim-mingw.adb,
++      s-parame-vms-restrict.ads, s-parame-ae653.ads, s-intman-vxworks.ads,
++      s-intman-vxworks.ads, s-intman-vxworks.adb, s-parame-vxworks.ads,
++      s-tfsetr-vxworks.adb, s-interr.adb, s-interr.ads, a-tasatt.adb,
++      exp_ch13.adb, s-htable.ads, s-imgboo.ads, s-imglli.ads, s-imgllu.ads,
++      s-imguns.ads, g-eacodu.adb, par-ch12.adb, s-stache.ads, s-stausa.adb,
++      s-poosiz.adb, s-parame.ads, s-mastop.ads, s-osinte-darwin.ads,
++      a-chtgke.adb, s-asthan-vms-alpha.adb, s-parame-vms-alpha.ads,
++      s-parame-vms-ia64.ads, s-parame-vxworks.adb, s-except.ads,
++      g-altcon.adb: Minor reformatting
++
++      ada-tree.h: Delete empty line.
++
++      ali.ads: Minor reformatting
++      Clarification of comments.
++      Minor spelling correction
++
++      * exp_dbug.adb: Add Warnings Off to suppress new warning
++
++      * a-witeio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
++      formal
++
++      * a-strunb.adb (Set_Unbounded_String): Avoid memory leak by freeing old
++      value
++
++      * a-textio.adb (Write): Remove an unnecessary IN OUT mode from
++
++      * a-textio.ads: Reorder the standard input/output/error declarations
++      for consistency.
++
++      * g-dirope.adb, g-dirope.ads: Change Dir to mode IN for Open call
++
++      * par-ch2.adb: Recognize RM specially in errout
++      Change 'R'M to RM in all error messages
++
++      * scng.adb: Recognize RM specially in errout
++
++      * sem.ads, sem.adb, exp_strm.adb, exp_ch5.ads, expander.adb: Rename
++      N_Return node to be N_Simple_Return, to reflect Ada 2005 terminology.
++
++      * s-direio.adb: Add missing routine header box.
++
++      * sem_attr.ads: Add ??? comments
++
++      * sem_eval.adb: Recognize RM specially in errout
++      Change 'R'M to RM in all error messages
++
++      * sem_maps.adb, sem_maps.ads: Remove some unnecessary IN OUT modes
++
++      * s-tasinf.ads: Fix minor comment typo.
++
++      * a-cihama.adb: Minor comment addition
++
++      * a-ztexio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
++      formal
++
++      * s-tasinf-tru64.ads: Fix minor comment typo.
++
++      * itypes.ads: Comment update.
++
++      * ali-util.adb: Remove Generic_Separately_Compiled guard, not needed
++      anymore.
++
++      * argv.c: Added protection against null gnat_argv and gnat_envp.
++
++      * bcheck.adb (Check_Consistency): Use correct markup character ({) in
++      warning message when Tolerate_Consistency_Errors is True.
++
++      * cstand.adb (Create_Standard): Do not call Init_Size_Alignment for
++      Any_Id, as this subprogram is only applicable to *type* entities (it
++      sets RM_Size). Instead initialize just Esize and Alignment.
++
++2007-08-14  Bob Duff  <duff@adacore.com>
++
++      * a-cihama.ads, a-cidlli.ads, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
++      a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
++      a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorse.ads, a-cohama.ads,
++      a-cohata.ads, a-convec.adb, a-coinve.ads, a-coinve.adb, a-convec.ads,
++      a-coorse.ads (Next): Applied pragma Inline.
++      Make all Containers packages Remote_Types (unless they are already
++      Pure).
++      (Previous): applied pragma Inline
++      (Elements_Type): is now a record instead of an array
++
++2007-08-14  Thomas Quinot  <quinot@adacore.com>
++
++      * table.adb, g-table.adb, g-dyntab.adb (Append): Reimplement in terms
++      of Set_Item.
++      (Set_Item): When the new item is an element of the currently allocated
++      table passed by reference, save a copy on the stack if we're going
++      to reallocate. Also, in Table.Set_Item, make sure we test the proper
++      variable to determine whether to call Set_Last.
++
++      * sinput-d.adb, sinput-l.adb, stringt.adb, switch-m.adb,
++      symbols-vms.adb, symbols-processing-vms-alpha.adb,
++      symbols-processing-vms-ia64.adb, sem_elab.adb, repinfo.adb: Replace
++      some occurrences of the pattern
++         T.Increment_Last;
++         T.Table (T.Last) := Value;
++      with a cleaner call to
++         T.Append (Value);
++
++2007-08-14  Ed Schonberg  <schonberg@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++
++      * sem_ch12.ads, sem_ch12.adb (Instantiate_Type): If the formal is a
++      derived type with interface progenitors use the analyzed formal as the
++      parent of the actual, to create renamings for all the inherited
++      operations in Derive_Subprograms.
++      (Collect_Previous_Instances): new procedure within of
++      Load_Parent_Of_Generic, to instantiate all bodies in the compilation
++      unit being loaded, to ensure that the generation of global symbols is
++      consistent in different compilation modes.
++      (Is_Tagged_Ancestor): New function testing the ancestor relation that
++      takes progenitor types into account.
++      (Validate_Derived_Type_Instance): Enforce the rule of 3.9.3(9) by
++      traversing over the primitives of the formal and actual types to locate
++      any abstract subprograms of the actual type that correspond to a
++      nonabstract subprogram of the formal type's ancestor type(s), and issue
++      an error if such is found.
++      (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation,
++      Instantiate_Package_Body, Instantiate_Subprogram_Body):
++      Remove bogus guard around calls to Inherit_Context.
++      (Reset_Entity): If the entity is the selector of a selected component
++      that denotes a named number, propagate constant-folding to the generic
++      template only if the named number is global to the generic unit.
++      (Set_Instance_Env): Only reset the compilation switches when compiling
++      a predefined or internal unit.
++
++2007-08-14  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch4.adb (Try_Class_Wide_Operation): use base type of first
++      parameter to determine whether operation applies to the prefix.
++      (Complete_Object_Operation): If actual has an access type and
++      controlling formal is not an in_parameter, reject the actual if it is
++      an access_to_constant type.
++      (Try_Primitive_Operation): If the type of the prefix is a formal tagged
++      type, the candidate operations are found in the scope of declaration of
++      the type, because the type has no primitive subprograms.
++      (Analyze_Selected_Component): If prefix is class-wide, and root type is
++      a private extension, only examine visible components before trying to
++      analyze as a prefixed call.
++      Change Entity_List to Type_To_Use, for better readability.
++      (Has_Fixed_Op): Use base type when checking whether the type of an
++      operator has a user-defined multiplication/division
++      (Check_Arithmetic_Pair): Use Ada 2005 rules to remove ambiguities when
++      user-defined operators are available for fixed-point types.
++
++2007-08-14  Thomas Quinot  <quinot@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_cat.ads, sem_cat.adb (Has_Stream_Attribute_Definition): New
++      formal At_Any_Place indicating, when True, that we want to test for
++      availability of the stream attribute at any place (as opposed to the
++      current visibility context only).
++      (Missing_Read_Write_Attributes): A stream attribute is missing for the
++      purpose of enforcing E.2.2(8) only if it is not available at any place.
++      Take into account the Ada2005 pragma Has_Preelaborable_Initialization
++      when checking the legality of an extension aggregate in a preelaborable
++      package. Treat the literal null as a valid default expression in a
++      component declaration for a type with preelaborable initialization.
++      A limited interface is a legal progenitor for the designated type of a
++      remote access to class-wide type.
++
++2007-08-14  Thomas Quinot  <quinot@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch8.ads, sem_ch8.adb (Find_Type, case of a 'Base attribute
++      reference): Use correct entity as denoted entity for the selector of
++      the rewritten node.
++      (Find_Direct_Name): Add comment about Generate_Reference incorrectly
++      setting the Referenced_As_LHS flag for entities that are implicitly
++      dereferenced.
++      (Find_Type): If the type is an internally generated incomplete type,
++      mark the full view as referenced, to prevent spurious warnings.
++      (Find_Selected_Component, Has_Components): Handle properly non-limited
++      views that are themselves incomplete types.
++      Handle interfaces visible through limited-with clauses.
++      (Analyze_Subprogram_Renaming): Disambiguate and set the entity of a
++      subprogram generic actual for which we have generated a renaming.
++      Warn when the renaming introduces a homonym of
++      the renamed entity, and the renamed entity is directly visible.
++
++2007-08-14  Ed Schonberg  <schonberg@adacore.com>
++          Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * sem_res.adb (Resolve_Allocator): Propagate any coextensions that
++      appear in the subtree to the current allocator if it is not a static
++      coextension.
++      (Resolve_Allocator): Perform cleanup if resolution has determined that
++      the allocator is not a coextension.
++      (Resolve): Skip an interpretation hidden by an abstract operator only
++      when the type of the interpretation matches that of the context.
++      (Resolve): When looping through all possible interpretations of a node,
++      do not consider those that are hidden by abstract operators.
++      (Resolve_Actuals): When verifying that an access to class-wide object
++      is an actual  for a controlling formal, ignore anonymous access to
++      subprograms whose return type is an access to class_wide type.
++      (Resolve_Slice): If the prefix of the slice is a selected component
++      whose type depends on discriminants, build its actual subtype before
++      applying range checks on the bounds of the slice.
++      (Valid_Conversion): In an instance or inlined body, compare root types,
++      to prevent anomalies between private and public views.
++      (Resolve): Improve error message for ambiguous fixed multiplication
++      expressions that involve universal_fixed multiplying operations.
++
++2007-08-14  Javier Miranda  <miranda@adacore.com>
++          Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * exp_ch9.adb (Build_Protected_Entry): Propagate the original source
++      location to allow the correct generation of errors in case of
++      restrictions applied to the expanded code.
++      (Expand_Entry_Barrier): Remove all generated renamings for a barrier
++      function if the condition does not reference them.
++      (Expand_Entry_Body_Declarations): Mark the index constant as having a
++      valid value.
++
++2007-08-14  Thomas Quinot  <quinot@adacore.com>
++          Pablo Oliveira  <oliveira@adacore.com>
++
++      * exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating
++      typecode parameters for a union (in a variant record), remove
++      extraneous layer of Any wrapping for member label.
++      (Expand_Receiving_Stubs_Bodies): For an RCI package body that has
++      elabration statements, register the package with the name server
++      at the beginning, not at the end, of the elaboration statements so
++      that they can create remote access to subprogram values that designate
++      remote subprograms from the package.
++
++2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * g-catiio.adb (Image): For the case of %s, use Ada.Calendar.Time
++      values to compute the number of seconds since the Unix Epoc in order to
++      account for Daylight Savings Time. Perform special processing for dates
++      that are earlier than the Unix Epoc to obtain a negative number.
++
++2007-08-14  Emmanuel Briot  <briot@adacore.com>
++
++      * g-comlin.adb (Getopt): Fix handling of "*" switch when not collapsing
++      switches.
++
++2007-08-14  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * gnatlink.adb (Gnatlink): Pass switches to the linker even if the
++      binder-generated file is not in Ada.
++      Pass -mrtp to the linker if it is GCC and --RTS=rtp has been
++      recorded in the ALI file.
++      Pass -fsjlj to the linker if it is GCC and --RTS=sjlj has been recorded.
++
++2007-08-14  Vincent Celier  <celier@adacore.com>
++
++      * gnatls.adb: (Corresponding_Sdep_Entry): Always return a value
++      (Output_Source): Do nothing if parameter is No_Sdep_Id
++
++      * make.adb (Gnatmake): Do not rebuild an archive simply because a
++      shared library it imports has a later time stamp.
++      (Check): Resolve the symbolic links in the path name of the object
++      directory.
++      Check that the ALI file is in the correct object directory
++      Check if a file name does not correspond to the mapping of units
++      to file names.
++      (Display_Version): New procedure
++      (Initialize): Process switches --version and --help
++      Use type Path_Name_Type for path name
++
++2007-08-14  Paul Hilfinger  <hilfinger@adacore.com>
++
++      * impunit.adb: Re-organize System.Random_Numbers and
++      GNAT.Random_Numbers and add to builds.
++
++      * Makefile.rtl: Add s-rannum.ad* and g-rannum.ad*, a-assert*
++
++      * s-rannum.ads, s-rannum.adb, g-rannum.ads, g-rannum.adb: New files.
++
++      * a-assert.ads, a-assert.adb: New files.
++
++2007-08-14  Gary Dismukes  <dismukes@adacore.com>
++
++      * layout.adb (Layout_Type): In the case of access-to-subprogram types,
++      if AAMP_On_Target is True, then the size of the type encompasses two
++      addresses (a static link and a subprogram address), except in the case
++      of library-level access types.
++
++2007-08-14  Vincent Celier  <celier@adacore.com>
++
++      * output.ads, output.adb (Write_Eol): Remove trailing spaces before
++      writing the line.
++      (Write_Eol_Keep_Blanks): New procedure to write a line, including
++      possible trailing spaces.
++      (Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
++
++2007-08-14  Javier Miranda  <miranda@adacore.com>
++
++      * par-ch6.adb (P_Formal_Part): Fix wrong error message associated with
++      null-excluding access types.
++
++2007-08-14  Javier Miranda  <miranda@adacore.com>
++
++      * sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code
++      that is common to Analyze_Protected_Type and Analyze_Task_Type. In case
++      of private types add missing check on matching interfaces in the
++      partial and full declarations.
++      (Analyze_Protected_Type): Code cleanup.
++      (Analyze_Task_Type): Code cleanup.
++
++2007-08-14  Javier Miranda  <miranda@adacore.com>
++
++      * sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on a
++      generated interface thunk.
++
++2007-08-14  Ed Schonberg  <schonberg@adacore.com>
++
++      * s-ficobl.ads: Declare AFCB as a tagged incomplete type, to prevent
++      obsolescent warning on application of 'Class to an incomplete type.
++
++      * s-finroo.ads: Declare Root_Controlled as a tagged incomplete type, to
++      prevent obsolescent warning on application of 'Class to an incomplete
++      type.
++
++2007-08-14  Pascal Obry  <obry@adacore.com>
++
++      * s-fileio.adb (Is_Open): Add check for usability of the underlying
++      file stream.
++
++2007-08-14  Cyrille Comar  <comar@adacore.com>
++
++      * s-finimp.adb (Detach_From_Final_List): make this procedure idempotent
++      since it is potentially used in cases implying double finalization of
++      the same object.
++
++2007-08-14  Jose Ruiz  <ruiz@adacore.com>
++
++      * s-tasini.adb (Get_Stack_Info): Move this function to
++      System.Soft_Links.Tasking because it is common to the full and the
++      restricted run times.
++      (Init_RTS): Do not set the Get_Stack_Info soft link because it is done
++      in SSL.Tasking.Init_Tasking_Soft_Links.
++
++      * s-solita.adb (Get_Stack_Info): Function moved from
++      System.Tasking.Initialization because it is common to the full and the
++      restricted run times.
++      (Init_Tasking_Soft_Links): Set the tasking soft link for Get_Stack_Info.
++
++2007-08-14  Arnaud Charlet  <charlet@adacore.com>
++
++      * s-tpobop.ads, s-tpobop.adb, s-tasren.ads, s-tasren.adb,
++      s-taskin.ads (Requeue_With_Abort): Rename field With_Abort.
++      (PO_Do_Or_Queue, Task_Do_Or_Queue, Requeue_Call): Remove With_Abort
++      parameter.
++
++      * s-tassta.adb (Task_Wrapper): Increased value of the small overflow
++      guard to 12K.
++
++2007-08-14  Gary Dismukes  <dismukes@adacore.com>
++
++      * s-veboop.adb (SU): New named number initialized to
++      System.Storage_Unit.
++      (True_Val): The initialization expression is revised to use SU (=
++      Storage_Unit) rather than assuming 8 for the component size of an
++      unpacked Boolean array.
++
++2007-08-14  Tristan Gingold  <gingold@adacore.com>
++
++      * tracebak.c: Use tb-ivms.c on OpenVMS Itanium.
++
++      * tb-ivms.c: New file.
++
++      * g-trasym-vms-ia64.adb: Fixed for OpenVMS version 8.2
++
++2007-08-14  Geert Bosch  <bosch@adacore.com>
++
++      * i-forbla.ads, i-forbla.adb, a-ngcoar.adb, a-ngcoar.ads, i-forlap.ads,
++      s-gearop.adb, s-gecobl.adb, s-gecobl.ads, s-gerela.adb, s-gerela.ads:
++      Add required linker pragmas for automatically linking with the gnalasup
++      linear algebra support library, and the systems math library.
++      Rename cdot to cdotu and zdot to zdotu.
++      Update header comment to describe purpose of package.
++
++2007-08-14  Thomas Quinot  <quinot@adacore.com>
++
++      * exp_ch7.adb (Find_Final_List): For an anonymous access type that has
++      an explicitly specified Associated_Final_Chain, use that list.
++      (Expand_N_Package_Body): Build dispatch tables of library level tagged
++      types.
++      (Expand_N_Package_Declaration): Build dispatch tables of library level
++      tagged types. Minor code cleanup.
++
++2007-08-14  Vincent Celier  <celier@adacore.com>
++
++      * gnatchop.adb (Terminate_Program): Remove exception and use
++      Types.Terminate_Program instead.
++
++      * osint.ads, osint.adb (Current_Exit_Status): New global variable
++      (Find_Program_Name): Added protection against empty name.
++      (OS_Exit_Through_Exception): New procedure
++
++      * s-os_lib.ads, s-os_lib.adb (OS_Exit): New procedure body
++      (OS_Exit_Default): New procedure that contains the previous
++      implementation of procedure OS_Exit.
++      (Final_Value): Remove obsolete Interix stuff.
++
++2007-08-14  Thomas Quinot  <quinot@adacore.com>
++
++      * g-socket.ads: Reorganize example code so that it also works on
++      Windows XP.
++
++2007-08-14  Tristan Gingold  <gingold@adacore.com>
++
++      * g-trasym.ads: AIX now supports symbolic backtraces.
++
++2007-08-14  Ed Schonberg  <schonberg@adacore.com>
++
++      * lib-load.adb (From_Limited_With_Chain): Always scan the stack of
++      units being loaded to detect circularities. A circularity may be
++      present even if the current chain of pending units to load starts from
++      a limited_with_clause.
++
++      * lib-load.ads: Change profile of Load_Unit to use a with_clause
++      rather than a boolean flag, in order to detect circularities in
++      with_clauses.
++
++      * par-load.adb: Use current with_clause in calls to Load_Unit, rather
++      than propagating the From_Limited_With flag, in order to handle
++      properly circularities involving with_clauses.
++
++2007-08-14  Nicolas Setton  <setton@adacore.com>
++
++      * link.c (FreeBSD): Add "const" keyword where needed, to eliminate
++      warnings.
++
++2007-08-14  Arnaud Charlet  <charlet@adacore.com>
++
++      * Makefile.in: GNATRTL_LINEARALGEBRA_OBJS: New variable holding objects
++      to build for libgnala.
++      libgnat: Add rules to build libgnala.a
++      (LIBGNAT_TARGET_PAIRS for VxWorks): Remove s-osinte-vxworks.adb from
++      target pairs of the VxWorks 6 kernel runtime, use it only for VxWorks 5.
++      Add s-osinte-vxworks-kernel.adb to the target pairs of the
++      kernel run-time lib for VxWorks 6, which would provide a different
++      implementation for Task_Cont and Task_Stop than the VxWorks 5 version.
++      x86-solaris section (EH_MECHANISM): Set to -gcc, as this port is now
++      running ZCX by default.
++      Add g-sttsne-locking to LynxOS version.
++      Remove g-sttsne-vxworks.ads; use g-sttsne-locking.ads instead.
++      On x86/darwin, use a-numaux-x86.ad? and system-darwin-x86.ads.
++
++      * system-darwin-x86.ads: New file.
++
++      * Make-lang.in: Delete files before copying onto them, so if they are
++      read-only, the copy won't fail.
++      Update dependencies
++
++2007-08-14  Pascal Obry  <obry@adacore.com>
++
++      * mdll-fil.adb, * mdll.adb: Implement a more consistent libraries
++      naming scheme.
++
++2007-08-14  Vincent Celier  <celier@adacore.com>
++
++      * mlib-utl.adb (Gcc_Name): Change from constant String to String_Access
++      (Gcc): Initialize Gcc_Name at the first call
++
++2007-08-14  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch7.adb (Analyze_Package_Specification): Do not install private
++      with_clauses of the enclosing unit when analyzing the package
++      specification of a nested instance.
++
++2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * sinfo.ads, sinfo.adb (Is_Coextension, Set_Is_Coextension): Removed.
++      (Is_Dynamic_Coextension, Set_Is_Dynamic_Coextension): New routines.
++      Remove flag Is_Coextension. Add flag Is_Dynamic_Coextension. Update the
++      layout of N_Allocator.
++
++2007-08-14  Thomas Quinot  <quinot@adacore.com>
++
++      * rtsfind.adb (Check_RPC): Add PCS version check.
++
++      * gnatvsn.ads, gnatvsn.adb: Add PCS version.
++      (Gnat_Free_Software): New function.
++
++      * sem_dist.ads, sem_dist.adb (Get_PCS_Version): New subprogram. Returns
++      the PCS_Version value from s-parint, used to check that it is consistent
++      with what exp_dist expects.
++
++      * s-parint.ads (PCS_Version): New entity for checking consistency
++      between exp_dist and PCS.
++
++      * gen-soccon.c: (SO_REUSEPORT): New constant.
++
++2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * a-calfor.adb (Image (Duration; Boolean)): Change type of local
++      variable Sub_Second to Duration in order to accomodate a larger range
++      of arithmetic operations.
++
++2007-08-14  Bob Duff  <duff@adacore.com>
++
++      * g-sttsne-locking.ads: Move comments from spec to body.
++      * g-sttsne-locking.adb: Move comments from spec to body.
++      * g-sttsne-vxworks.ads: Removed.
++      * g-sttsne-vxworks.adb: Removed.
++
++2007-08-11  Ian Lance Taylor  <iant@google.com>
++
++      * misc.c (gnat_get_alias_set): Change return type to
++      alias_set_type.
++
++2007-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
++
++      * decl.c, utils2.c: Fix whitespace in last change.
++
++2007-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
++
++      * decl.c (compare_field_bitpos): Constify.
++      * utils2.c (compare_elmt_bitpos): Likewise.
++
++2007-07-27  Aurelien Jarno  <aurelien@aurel32.net>
++
++      * s-osinte-kfreebsd-gnu.ads ((sigset_t_ptr): Removed, replaced by
++      anonymous access type.
++      (pthread_sigmask): Now take an access sigset_t.
++
++2007-07-05  Joel Sherrill  <joel.sherrill@oarcorp.com>
++
++      * s-osinte-rtems.ads: Correct prototype of pthread_sigmask.
++
++2007-06-21  Eric Botcazou  <ebotcazou@adacore.com>
++
++      PR tree-optimization/25737
++      * misc.c (gnat_post_options): Do not force flag_tree_salias to 0.
++
++2007-06-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>
++
++      * trans.c (Attribute_to_gnu): When subtracting an
++      offset from a pointer, use POINTER_PLUS_EXPR with
++      NEGATE_EXPR instead of MINUS_EXPR.
++      (gnat_to_gnu): Likewise.
++      * utils.c (convert): When converting between
++      thin pointers, use POINTER_PLUS_EXPR and sizetype
++      for the offset.
++      * utils2.c (known_alignment): POINTER_PLUS_EXPR
++      have the same semantics as PLUS_EXPR for alignment.
++      (build_binary_op): Add support for the semantics of
++      POINTER_PLUS_EXPR's operands.
++      When adding an offset to a pointer, use POINTER_PLUS_EXPR.
++
++2007-06-11  Rafael Ávila de Espíndola  <espindola@google.com>
++
++      * trans.c (Attribute_to_gnu): Use signed_or_unsigned_type_for instead
++      of get_signed_or_unsigned_type.
++      * misc.c (LANG_HOOKS_SIGNED_TYPE): Remove.
++
++2007-06-11  Bob Duff  <duff@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++
++      * g-stsifd-sockets.adb (Create): Work around strange behavior of
++      'bind' on windows that causes 'connect' to fail intermittently, by
++      retrying the 'bind'.
++      (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
++
++2007-06-10  Duncan Sands  <baldrick@free.fr>
++
++      * decl.c (gnat_to_gnu_entity): Use pointers to dummy nodes, rather
++      than to void, for the fields when making a new fat pointer type.
++      (gnat_substitute_in_type): Now substitute_in_type.
++      * gigi.h (gnat_substitute_in_type): Likewise.  Adjust recursive calls.
++      * trans.c (gnat_gimplify_expr): Remove COMPONENT_REF kludge.
++      * utils.c (update_pointer_to): Update fat pointers by updating the
++      dummy node pointers used for the fields.
++
++2007-06-06  Thomas Quinot  <quinot@adacore.com>
++          Bob Duff  <duff@adacore.com>
++
++      * g-soccon-freebsd.ads, g-soccon-vxworks.ads:,
++      g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
++      g-soccon-solaris.ads, g-soccon-vms.ads, g-soccon-tru64.ads:  Add new
++      constant Thread_Blocking_IO, always True by default, set False
++      on a per-runtime basis.
++      (Need_Netdb_Buffer): New constant.
++
++      * g-stheme.adb, g-sttsne.ads, g-sttsne-locking.ads,
++      g-sttsne-locking.adb, g-sttsne-vxworks.ads, g-sttsne-vxworks.adb: New
++      files.
++
++      * g-socthi-vxworks.ads, g-socthi-vxworks.adb,
++      g-socthi-vms.ads, g-socthi-vms.adb (Safe_Gethostbyname,
++      Safe_Gethostbyaddr, Safe_Getservbyname, Safe_Getservbyport): Use new
++      child package Task_Safe_NetDB
++      (Host_Error_Messages): Add stub body.
++      (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
++
++      * g-soccon-mingw.ads: Add Windows-specific constants.
++      (Need_Netdb_Buffer): New constant.
++      (GNAT.Sockets.Thin.C_Inet_Addr, Windows version): Remove useless Ada
++      wrapper and import inet_addr(3) from the standard sockets library
++      directly instead.
++      (In_Addr): Add alignment clause.
++      (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++
++      * a-taster.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
++      s-osinte-irix.ads, s-interr-sigaction.adb, s-mastop-irix.adb,
++      s-osinte-hpux-dce.ads, s-osinte-interix.ads, s-osinte-solaris.ads,
++      s-taspri-solaris.ads, s-inmaop-vms.adb, s-interr-vms.adb,
++      s-mastop-vms.adb, s-osinte-vms.ads, s-tpopde-vms.adb,
++      s-osinte-mingw.ads, s-interr-vxworks.adb, i-cstrea-vms.adb,
++      a-diocst.adb, a-direio.adb, a-interr.adb, a-sequio.adb, a-siocst.adb,
++      a-ssicst.adb, a-storio.adb, a-ststio.adb, a-stwima.adb, a-tasatt.adb,
++      a-taside.adb, a-tiocst.adb, a-witeio.adb, a-wtcstr.adb, g-crc32.adb,
++      g-dirope.adb, g-dyntab.adb, g-memdum.adb, g-regexp.adb, g-spipat.adb,
++      g-spitbo.adb, g-string.adb, g-string.ads, g-table.adb, g-thread.adb,
++      i-cobol.adb, i-cpoint.adb, i-cstrea.adb, i-cstrin.adb, i-pacdec.adb,
++      s-addima.adb, s-arit64.adb, s-auxdec.adb, s-auxdec.ads,
++      s-auxdec-vms_64.ads, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
++      s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
++      s-direio.adb, s-fileio.adb, s-finimp.ads, s-geveop.adb, s-imgenu.adb,
++      s-pack03.adb, s-pack05.adb, s-pack06.adb, s-pack07.adb, s-pack09.adb,
++      s-pack10.adb, s-pack11.adb, s-pack12.adb, s-pack13.adb, s-pack14.adb,
++      s-pack15.adb, s-pack17.adb, s-pack18.adb, s-pack19.adb, s-pack20.adb,
++      s-pack21.adb, s-pack22.adb, s-pack23.adb, s-pack24.adb, s-pack25.adb,
++      s-pack26.adb, s-pack27.adb, s-pack28.adb, s-pack29.adb, s-pack30.adb,
++      s-pack31.adb, s-pack33.adb, s-pack34.adb, s-pack35.adb, s-pack36.adb,
++      s-pack37.adb, s-pack38.adb, s-pack39.adb, s-pack40.adb, s-pack41.adb,
++      s-pack42.adb, s-pack43.adb, s-pack44.adb, s-pack45.adb, s-pack46.adb,
++      s-pack47.adb, s-pack48.adb, s-pack49.adb, s-pack50.adb, s-pack51.adb,
++      s-pack52.adb, s-pack53.adb, s-pack54.adb, s-pack55.adb, s-pack56.adb,
++      s-pack57.adb, s-pack58.adb, s-pack59.adb, s-pack60.adb, s-pack61.adb,
++      s-pack62.adb, s-pack63.adb, s-pooloc.adb, s-poosiz.adb, s-scaval.adb,
++      s-sequio.adb, s-shasto.adb, s-stalib.ads, s-stratt.adb, s-strcom.adb,
++      s-taasde.adb, s-tasdeb.adb, s-tasuti.ads, s-tataat.ads, s-tpoben.ads,
++      s-valenu.adb, s-widenu.adb, s-wwdenu.adb, s-addope.adb, a-stzmap.adb,
++      a-ztcstr.adb, a-ztexio.adb, s-osinte-linux-hppa.ads: Replace
++      Unchecked_* by Ada.Unchecked_*
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++
++      * g-string.adb, s-proinf-irix-athread.adb, s-gloloc-mingw.adb,
++      s-tfsetr-default.adb, gnatfind.adb, gnatxref.adb, gprep.adb,
++      g-regexp.adb, g-regexp.ads, g-regpat.ads, g-tasloc.adb, g-tasloc.ads,
++      output.adb, switch-m.ads, tree_in.ads, tree_io.ads, indepsw.ads,
++      g-utf_32.adb, g-utf_32.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb,
++      a-zchuni.ads: Replace GNAT.xxx by System.xxx when appropriate.
++
++      * s-utf_32.adb, s-utf_32.ads, s-os_lib.adb, s-os_lib.ads, s-regexp.adb,
++      s-regexp.ads, s-regpat.adb, s-regpat.ads, s-string.adb, s-string.ads,
++      s-tasloc.adb, s-tasloc.ads: New files.
++
++2007-06-06  Bob Duff  <duff@adacore.com>
++
++      * g-expect-vms.adb:
++      (Send_Signal, Close): Raise Invalid_Process if the process id is invalid.
++      * g-expect.ads, g-expect.adb (Send): Avoid useless copy of the string.
++      (Send_Signal, Close): Raise Invalid_Process if the process id is
++      invalid.
++      (Pattern_Matcher_Access): Is now a general access type to be able to
++      use aliased string.
++
++2007-06-06  Thomas Quinot  <quinot@adacore.com>
++          Arnaud Charlet  <charlet@adacore.com>
++
++      * a-intnam-aix.ads: Adjust comment to account for SIGADAABORT change
++      (SIGEMT is now used instead of SIGTERM on AIX).
++
++      * s-osinte-aix.ads (Linker_Options): Use -pthread instead of -lpthreads.
++      (Time_Slice_Supported): Set to True.
++      Use SIGEMT instead of SIGTERM as SIGADAABORT.
++
++2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * a-calend.ads, a-calend.adb, a-calend-vms.ads, a-calend-vms.adb ("-"
++      (Time, Time)): Use To_Relative_Time rather than manual calculation to
++      express the bounds of Duration as Time. Raise Time_Error when the
++      result is greater or equal to the higher bound of Duration (on the
++      margin case).
++      ("+" (Time, Duration)): Reorder code. Remove the declaration of constant
++      Ada_High_And_Leaps.
++      ("-" (Time, Duration)): Reorder code. Remove the declaration of constant
++      Ada_High_And_Leaps.
++      ("-" (Time, Time)): Reorder code.
++      (All_Leap_Seconds): Removed.
++      (Arithmetic_Operations.Add): Remove sign related kludge.
++      (Arithmetic_Operations.Difference): Control the leaps seconds processing
++      with flag Leap_Support.
++      (Arithmetic_Operations.Subtract): Remove sign related kludge.
++      (Check_Within_Time_Bounds): New procedure.
++      (Clock): Control the leap seconds processing with flag Leap_Support.
++      (Cumulative_Leap_Seconds): Assert that the target supports leap seconds.
++      (Formatting_Operations.Split): Control the leap seconds processing with
++      flag Leap_Support.
++      (Formatting_Operations.Time_Of): Control the leaps seconds processing
++      with flag Leap_Support. Adjust the year, month and day (if applicable)
++      when the value of day seconds designates a new day.
++      (Split): Use parameter associations for better readability. Integrate
++      flag Is_Ada_05.
++      (Time_Of): Use parameter associations for better readability. Integrate
++      flag Is_Ada_05.
++
++      * a-calfor.adb (Split): Use parameter associations for better
++      readability. Integrate flag Is_Ada_05.
++      (Time_Of): Remove flag Leap_Checks. Use parameter associations for
++      better readability. Integrate flag Is_Ada_05.
++
++2007-06-06  Arnaud Charlet  <charlet@adacore.com>
++
++      * s-taprop-vms.adb, s-taprop-hpux-dce.adb, s-taprop-vxworks.adb,
++      s-osprim-posix.adb, s-taprop-posix.adb, s-osprim-vxworks.adb,
++      s-taprop-solaris.adb, s-osprim-solaris.adb, s-taprop-dummy.adb,
++      s-osprim-unix.adb, s-osinte-freebsd.adb, s-osinte-freebsd.ads,
++      s-osinte-lynxos.adb, s-osinte-lynxos.ads, s-taprop-tru64.adb,
++      s-taprop-lynxos.adb, s-taprop-irix.adb, s-osinte-tru64.adb,
++      s-osinte-tru64.ads, s-taprop-linux.adb, s-parame.ads,
++      s-parame-vms-alpha.ads, s-parame-vms-ia64.ads, s-parame-hpux.ads,
++      s-parame-vms-restrict.ads, s-parame-ae653.ads, s-parame-vxworks.ads,
++      s-taprop-mingw.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos-3.adb,
++      s-osprim-mingw.adb (Timed_Delay, Timed_Sleep): Register the base
++      time when entering this routine to detect a backward clock setting
++      (manual setting or DST adjustment), to avoid waiting for a longer delay
++      than needed.
++      (Time_Duration, To_Timeval, struct_timeval): Removed when not relevant.
++      Remove handling of deferred priority change, and replace by setting the
++      task priority directly, as required by AI-188.
++      Update comments.
++      (Max_Task_Image_Length): New constant.
++      Replace Warnings (Off) by Unreferenced pragma, cleaner.
++      (Dynamic_Priority_Support): Removed, no longer needed.
++      (Poll_Base_Priority_Change): Ditto.
++      (Set_Ceiling): Add this procedure to change the ceiling priority
++      associated to a lock. This is a dummy implementation because dynamic
++      priority ceilings are not supported by the underlying system.
++
++      * a-dynpri.adb (Set_Priority): Take into account case where Target is
++      accepting a RV with its priority boosted.
++      Remove handling of deferred priority change, and replace by setting the
++      task priority directly, as required by AI-188.
++
++      * s-taenca.adb (Try_To_Cancel_Entry_Call): Remove special case for
++      Succeeded = True.
++      Remove handling of deferred priority change, and replace by setting the
++      task priority directly, as required by AI-188.
++      (Wait_For_Completion, Wait_For_Call, Timed_Selective_Wait): Change state
++      of Self_Id earlier.
++
++      * s-tasini.ads, s-tasini.adb (Wakeup_Entry_Caller): Relax assertion.
++      (Poll_Base_Priority_Change): Removed.
++      Code clean up: use SSL.Current_Target_Exception.
++
++      * s-tasren.adb (Task_Count): Call Yield to let a chance to other tasks
++      to run as this is a potentially dispatching point.
++      (Call_Synchronous): Use Local_Defer_Abort.
++      (Callable): Relax assertion.
++      (Selective_Wait): Relax assertion in case abort is not allowed.
++      Remove handling of deferred priority change, and replace by setting the
++      task priority directly, as required by AI-188.
++
++      * s-tasuti.adb (Make_Passive): Adjust assertions.
++      Remove handling of deferred priority change, and replace by setting the
++      task priority directly, as required by AI-188.
++
++2007-06-06  Arnaud Charlet  <charlet@adacore.com>
++
++      * system-vxworks-sparcv9.ads, system-solaris-x86.ads,
++      system-irix-o32.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
++      system-lynxos-x86.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
++      system-vxworks-mips.ads, system-vxworks-alpha.ads,
++      system-vxworks-x86.ads, system-linux-ppc.ads, system-mingw.ads,
++      system-vms-zcx.ads, system-darwin-ppc.ads, system-vxworks-ppc.ads,
++      system-interix.ads, system-linux-hppa.ads, system-tru64.ads,
++      system-hpux.ads, system-irix-n32.ads, system-solaris-sparc.ads,
++      system-solaris-sparcv9.ads, system-vms.ads, system.ads,
++      system-vms_64.ads, system-hpux-ia64.ads, system-linux-x86_64.ads,
++      system-linux-ia64.ads: Document mapping between Ada and OS priorities.
++      This patch changes the largest non-binary modulus from 2**31-1 to
++      2**32-1.
++      (Compiler_System_Version): Removed, no longer used.
++      Clean up system files by removing flags only used on a single target.
++      Also remove obsolete flags, only used during bootstrap from system.ads
++      (Address): Add a pragma Preelaborable_Initialization.
++
++      * system-aix.ads:  Ditto.
++      (GCC_ZCX_Support): Set to true.
++      Update priority range on AIX and map Ada priorities to target
++      priorities appropriately for different scheduling policies.
++
++      * ttypes.ads: set largest non-binary modulus from 2**31-1 to 2**32-1
++
++2007-06-06  Vincent Celier  <celier@adacore.com>
++
++      * mlib-tgt-specific.adb, mlib-tgt-specific.ads,
++      mlib-tgt-vms.adb, mlib-tgt-vms.ads: New files.
++
++      * mlib-tgt.adb, mlib-tgt.ads, mlib-tgt-darwin.adb,
++      mlib-tgt-vxworks.adb, mlib-tgt-mingw.adb, mlib-tgt-lynxos.adb,
++      mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb,
++      mlib-tgt-vms-ia64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
++      mlib-tgt-hpux.adb, mlib-tgt-tru64.adb: Make a common body for package
++      MLib.Tgt, containing the default versions of the exported subprograms.
++      For each platform, create a specific version of the body of new child
++      package MLib.Tgt.Specific that contains only the body of subprograms
++      that are different from the default.
++      (Archive_Builder_Append_Options): New function.
++
++2007-06-06  Matthew Gingell  <gingell@adacore.com>
++
++      * s-osinte-aix.adb: Map Ada priorities to target priorities
++      appropriately for different scheduling policies.
++
++2007-06-06  Arnaud Charlet  <charlet@adacore.com>
++
++      * s-osinte-linux.ads (sigset_t): Bump alignment to match more closely
++      its C counterpart.
++      Remove references to Unchecked_Conversion, and use Ada.xxx instead.
++      Replace Unchecked_Conversion by Ada.Unchecked_Conversion.
++
++2007-06-06  Vasiliy Fofanov  <fofanov@adacore.com>
++
++      * s-osprim-vms.ads, s-osprim-vms.adb (Initialize): New procedure.
++      Noop on VMS, added for interface commonality.
++
++2007-06-06  Eric Botcazou  <ebotcazou@adacore.com>
++          Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
++          Olivier Hainque  <hainque@adacore.com>
++
++      * decl.c (gnat_to_gnu_entity) <object>: Manually mark the top of the
++      renamed expression of a full renaming at toplevel.
++      (gnat_to_gnu_entity, case object): If not defining, do not look inside
++      the values the constant is initialized to if it is an N_Allocator.
++      (gnat_to_gnu_entity) <E_Array_Subtype>: Manually mark the top of the
++      TYPE_SIZE_UNIT of inner types after the stride is elaborated.
++      (make_aligning_type): Accept an extra ROOM argument for storage to be
++      made available before the aligned field, and an extra BASE_ALIGN
++      argument for callers to pass the alignment guaranteed to be honored for
++      the whole aligning object. Avoid call to finish_record_type, which only
++      interferes with the sizes we want to set.
++      (gnat_to_gnu_entity) <E_Variable>: Pass the required extra arguments to
++      make_aligning_type for super-aligned objects on stack.
++      (components_to_record): Pass the adjusted size of the type when creating
++      fields in the qualified union for the variant part.
++      (gnat_substitute_in_type): Copy TYPE_USER_ALIGN.
++      (gnat_to_gnu_entity, case E_Signed_Integer_Subtype): Likewise for
++      packed array type.
++      (maybe_pad_type): Set TYPE_USER_ALIGN.
++      (make_aligning_type): Likewise.
++      ALIGN argument is unsigned int.
++      (gnat_to_gnu_entity, case E_Function): Back annotate return mechanism.
++      (gnat_to_gnu_param): Likewise, for parameters.
++      (gnat_to_gnu_entity) <object>: Always instantiate the renaming object
++      if it is constant and stems from a function call.
++      (gnat_to_gnu_entity) <E_Record_Type>: Set packed to -2 if the alignment
++      of the record is specified.  Adjust accordingly.
++      (adjust_packed): New static function.
++      (gnat_to_gnu_field): Use it to adjust the packedness setting.
++      (components_to_record): Likewise.
++      (gnat_to_gnu_entity) <object>: Do not test the renamed expression for
++      side-effects if the object is deemed constant.
++      (gnat_to_gnu_entity) <E_Array_Type>: Create a name for the fat pointer
++      type instead of merely finalizing it.  Tidy.
++      <E_Access_Subprogram_Type>: Retrieve the type from the TYPE_DECL.
++      <E_Access_Type>: Likewise.
++      (defer_debug_incomplete_list): Rename to defer_finalize_list.
++      (defer_debug_level): Delete.
++      (gnat_to_gnu_entity) <debug_deferred>: Likewise
++      <E_Array_Type>: Call rest_of_record_type_compilation on the fat pointer
++      type.
++      <E_Record_Type>: Do not explicitly defer finalizing the type.
++      Adjust for write_record_type_debug_info renaming.
++      <E_Subprogram_Type>: Likewise.
++      Finalize deferred types right after deferred incomplete types are
++      expanded.
++      (rest_of_type_decl_compilation): New global function.
++      (components_to_record): Rename defer_debug parameter to do_not_finalize.
++      (components_to_record): Propagate the packedness to the fields of the
++      qualified union type if there is a variant part.
++      (gnat_to_gnu_entity) <E_Array_Type>: Use new function
++      instead of inline code to adjust the XUT field offsets.
++      (gnat_to_gnu_entity): Adjust for new prototype of finish_record_type.
++      <E_Record_Subtype>: Do not let finish_record_type compute the sizes
++      and write the debug info if the type derives from a discriminated one.
++      (gnat_to_gnu_entity) <E_Array_Type>: Adjust call to create_index_type.
++      <E_Array_Subtype>: Likewise.
++      <E_String_Literal_Subtype>: Likewise.
++      (gnat_to_gnu_entity): Set TYPE_USER_ALIGN on types only if they have
++      an alignment clause.
++      (maybe_pad_type): Update ORIG_SIZE to the minimum required to meet ALIGN
++      before giving warning.
++      (prepend_one_attribute_to): New function, helper to prepend an attribute
++      to an attribute list.
++      (gnat_to_gnu_entity) <E_Procedure>: Use it.
++      (prepend_attributes): Likewise.
++      (gnat_to_gnu_entity) <E_Variable>: Use constants of the proper type.
++      <E_Array_Type>: Declare the padding type for the element type, if any.
++      <E_Array_Subtype>: Likewise.
++      (defer_limited_with): New variable.
++      (Gigi_Equivalent_Type): New function.
++      (gnat_to_gnu_entity): Use it at start and use result throughout.
++      (gnat_to_gnu_entity, case E_Access_Type): Rework to use
++      Gigi_Equivalent_Type, support Limited_With, allow two levels of
++      indirection, precompute if unconstrained array to simplify logic, and
++      use defer_limited_with to defer elaboration of some types from limited
++      with.
++      (finalize_from_with_types): New function.
++
++2007-06-06  Gary Dismukes  <dismukes@adacore.com>
++          Eric Botcazou  <ebotcazou@adacore.com>
++          Tristan Gingold  <gingold@adacore.com>
++          Olivier Hainque  <hainque@adacore.com>
++
++      * trans.c (Identifier_to_gnu): Change test for deferred constant by
++      adding guard that the entity is an E_Constant before testing presence
++      of Full_view (and remove unnecessary test that entity is not a type).
++      For a CONST_DECL used by reference, manually retrieve
++      the DECL_INITIAL.  Do not invoke fold in the other DECL_P cases either.
++      (struct language_function): Move from utils.c to here.
++      (struct parm_attr): New structure.
++      (parm_attr, parm_attr vector, parm_attr GC vector): New types.
++      (f_parm_attr_cache): New macro.
++      (Attribute_to_gnu) <Attr_Length>: When not optimizing, cache the
++      expressions for the 'First, 'Last and 'Length attributes of the
++      unconstrained array IN parameters.
++      (Subprogram_Body_to_gnu): Use gnu_subprog_decl throughout.
++      Allocate the information structure for the function earlier, as well
++      as the language-specific part.
++      If the parameter attributes cache has been populated, evaluate the
++      cached expressions on entry.
++      (takes_address): Add OPERAND_TYPE parameter.  Handle N_Function_Call,
++      N_Procedure_Call_Statement and N_Indexed_Component.
++      (Pragma_to_gnu): Translate inspection_point to an asm statement
++      containaing a comment and a reference to the object (either its address
++      for BLKmode or its value).
++      (Identifier_to_gnu): Use TREE_CONSTANT instead of CONST_DECL to decide
++      to go to DECL_INITIAL. Together with the size constraint relaxation
++      in create_var_decl, enlarges the set of situations in which an
++      identifier may be used as an initializer without implying elaboration
++      code.
++      (Subprogram_Body_to_gnu): Do not fiddle with the debug interface but set
++      DECL_IGNORED_P on the function if Needs_Debug_Info is not set on the
++      node.
++      (maybe_stabilize_reference): Remove lvalues_only parameter.
++      (gnat_stabilize_reference): Adjust for above change.
++      (gnat_to_gnu): Do not set location information on the result
++      if it is a reference.
++      (add_cleanup): Add gnat_node parameter and set the location of the
++      cleanup to it.
++      (Handled_Sequence_Of_Statements_to_gnu): Adjust calls to add_cleanup.
++      (Exception_Handler_to_gnu_zcx): Likewise.
++      (gigi): Remove the cgraph node if the elaboration procedure is empty.
++      (Subprogram_Body_to_gnu): If a stub is attached to the subprogram, emit
++      the former right after the latter.
++      (start_stmt_group): Make global.
++      (end_stmt_group): Likewise.
++      (gnu_constraint_error_label_stack, gnu_storage_error_label_stack): New
++      vars.
++      (gnu_program_error_label_stack): Likewise.
++      (gigi): Initialize them.
++      (call_to_gnu, gnat_to_gnu, emit_check): Add new arg to build_call_raise.
++      (gnat_to_gnu, N_{Push,Pop}_{Constraint,Storage,Program}_Error_Label):
++      New cases.
++      (push_exception_label_stack): New function.
++      (takes_address): New function.
++
++      * utils.c (struct language_function): Move to trans.c from here.
++      (unchecked_convert): Do not wrap up integer constants in
++      VIEW_CONVERT_EXPRs.
++      (create_var_decl_1): Decouple TREE_CONSTANT from CONST_DECL. Prevent
++      the latter for aggregate types, unexpected by later passes, and relax an
++      arbitrary size constraint on the former.
++      (create_field_decl): Use tree_int_cst_equal instead of operand_equal_p
++      to compare the sizes.
++      (convert_vms_descriptor): When converting to a fat pointer type, be
++      prepared for a S descriptor at runtime in spite of a SB specification.
++      (shift_unc_components_for_thin_pointers): New function.
++      (write_record_type_debug_info): For variable-sized fields, cap the
++      alignment of the pointer to the computed alignment.
++      (finish_record_type): Change HAS_REP parameter into REP_LEVEL.
++      If REP_LEVEL is 2, do not compute the sizes.
++      (build_vms_descriptor): Adjust for new prototype of finish_record_type.
++      (build_unc_object_type): Likewise.
++      (declare_debug_type): New function.
++
++      * ada-tree.def: USE_STMT: removed (not emitted anymore).
++
++      * misc.c (gnat_expand_expr): Call to gnat_expand_stmt removed because
++      no statement is expandable anymore.
++      (gnat_init_gcc_eh): Do not initialize the DWARF-2 CFI machinery twice.
++      (gnat_handle_option): Only allow flag_eliminate_debug_types to be set
++      when the user requested it explicitely.
++      (gnat_post_options): By default, set flag_eliminate_unused_debug_types
++      to 0 for Ada.
++      (get_alias_set): Return alias set 0 for a type if
++      TYPE_UNIVERSAL_ALIASING_P is set on its main variant.
++
++      * ada-tree.h: (TYPE_UNIVERSAL_ALIASING_P): New macro.
++      (DECL_FUNCTION_STUB): New accessor macro.
++      (SET_DECL_FUNCTION_STUB): New setter macro.
++
++      * lang.opt (feliminate-unused-debug-types): Intercept this flag for Ada.
++
++      * fe.h (Get_Local_Raise_Call_Entity, Get_RT_Exception_Entity): New
++      declarations.
++
++2007-06-06  Jose Ruiz  <ruiz@adacore.com>
++
++      * s-intman-vxworks.ads, s-intman-vxworks.adb (Abort_Task_Signal):
++      Rename to Abort_Task_Interrupt to be able to keep the same interface
++      as the rest of the targets.
++
++      * s-osinte-vxworks.ads s-osinte-vxworks.adb
++      (To_VxWorks_Priority): Remove explicit "in" mode indicator
++
++      * s-osinte-vxworks6.ads, s-vxwork-arm.ads, system-vxworks-arm.ads:
++      New files.
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++
++      * a-chahan.ads: Remove obsolescent pragmas
++
++      * a-chlat1.ads: Minor reformatting
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++
++      * comperr.adb (Compiler_Abort): New Finalize/Output_Messages interface
++      for Errout
++
++      * errout.adb: New Finalize/Compilation_Errors/Output_Messages
++      implementation
++
++      * errout.ads (Finalize): Changed interface
++      (Output_Messages): New procedure
++      (Compilation_Errors): New Interface
++
++      * prepcomp.ads, prepcomp.adb (Parse_Preprocessing_Data_File): New
++      Finalize/Output_Messages interface for Errout
++      (Prepare_To_Preprocess): New Finalize/Output_Messages interface for
++      Errout.
++
++2007-06-06  Thomas Quinot  <quinot@adacore.com>
++          Olivier Hainque  <hainque@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * a-except.ads, a-except.adb: (Rmsg_28): Fix description for E.4(18)
++      check.
++      (Raise_Current_Excep): Call Debug_Raise_Exception just before
++      propagation starts, to let debuggers know about the event in a reliable
++      fashion.
++      (Local_Raise): Moved to System.Exceptions
++      More convenient to have this as a separate unit
++
++      * s-except.adb, s-except.ads: New files.
++
++      * a-exextr.adb (Unhandled_Exception): Delete - replaced by
++      Debug_Unhandled_Exception in System.Exceptions where it belongs
++      together with a couple of other debug helpers.
++      (Notify_Unhandled_Exception): Use Debug_Unhandled_Exception instead of
++      the former Unhandled_Exception.
++
++      * exp_ch11.ads, exp_ch11.adb: (Possible_Local_Raise): New procedure
++      (Warn_No_Exception_Propagation): New procedure
++      (Warn_If_No_Propagation): Rewritten for new warning generation
++      (Expand_Exception_Handlers): New warning generation
++      (Expand_N_Raise_xxx_Error): Rewritten for new warnings
++      (Add_Exception_Label): Use Special_Exception_Package_Used for test
++      instead of Most_Recent_Exception_Used (accomodates Exception_Traces)
++      (Expand_Local_Exception_Handlers): Unconditionally add extra block wrap
++      even if restriction is set (makes life easier in Check_Returns)
++      (Expand_Local_Exception_Handlers): Follow renamed entity chain when
++      checking exception identities.
++      (Expand_Local_Exception_Handlers): Do not optimize when all others case
++      (Expand_Local_Exception_Handlers): Set Exception_Junk flag on generated
++      block for handler (used by Check_Returns)
++      (Expand_Local_Exception_Handlers): Local_Raise now takes an address
++      (Expand_N_Handled_Sequence_Of_Statements): Properly handle -gnatd.x to
++      remove all exception handlers when optimizing local raise statements.
++      (Find_Local_Handler): Use Get_Renamed_Entity
++      (Expand_N_Handled_Sequence_Of_Statements): If the handled sequence is
++      marked analyzed after expanding exception handlers, do not generate
++      redundant cleanup actions, because they have been constructed already.
++
++2007-06-06  Thomas Quinot  <quinot@adacore.com>
++
++      * a-finali.ads (Ada.Finalization): Add missing pragma Remote_Types. The
++      presence of this categorization pragma is mandated by the language.
++      (Limited_Controlled): Add missing pragma Preelaborable_Initialization
++      for this type.
++
++2007-06-06  Vincent Celier  <celier@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * bcheck.adb, binde.adb, binderr.adb, binderr.ads, butil.adb,
++      butil.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
++      err_vars.ads, exp_tss.adb, exp_tss.ads, fmap.adb, fmap.ads,
++      fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
++      lib-sort.adb, lib-util.adb, lib-util.ads, lib-xref.adb, makeutl.ads,
++      makeutl.adb, nmake.adt, osint.adb, osint.ads, osint-b.adb,
++      par-load.adb, prj-attr.adb, prj-dect.adb, prj-err.adb, prj-makr.adb,
++      prj-part.adb, prj-pp.adb, prj-proc.adb, prj-tree.adb, prj-tree.ads,
++      prj-util.adb, prj-util.ads, scans.adb, scans.ads, sem_ch2.adb,
++      sinput-c.adb, styleg-c.adb, tempdir.adb, tempdir.ads, uname.adb,
++      uname.ads, atree.h, atree.ads, atree.adb, ali-util.ads, ali-util.adb,
++      ali.ads, ali.adb:
++      Move Name_Id, File_Name_Type and Unit_Name_Type from package Types to
++      package Namet. Make File_Name_Type and Unit_Name_Type types derived from
++      Mame_Id. Add new type Path_Name_Type, also derived from Name_Id.
++      Use variables of types File_Name_Type and Unit_Name_Type in error
++      messages.
++      (Get_Name): Add parameter Ignore_Special, and set it reading file name
++      (New_Copy): When debugging the compiler, call New_Node_Debugging_Output
++      here.
++      Define flags Flag217-Flag230 with associated subprograms
++      (Flag_Word5): New record type.
++      (Flag_Word5_Ptr): New access type.
++      (To_Flag_Word5): New unchecked conversion.
++      (To_Flag_Word5_Ptr): Likewise.
++      (Flag216): New function.
++      (Set_Flag216): New procedure.
++
++2007-06-06  Arnaud Charlet  <charlet@adacore.com>
++
++      * a-stzunb.adb, a-stwiun.adb, a-strunb.adb: (Insert): Use 'Length
++      instead of 'Size.
++
++      * a-stwifi.ads, a-stzfix.ads: Minor reformatting
++
++2007-06-06  Javier Miranda  <miranda@adacore.com>
++
++      * a-tags.ads, a-tags.adb (Tag_Size): This constant is now internal to
++      the package.
++      (Object_Specific_Data_Array): This is now internal to the package.
++      (Object_Specific_Data): This is now internal to the package.
++      (Select_Specific_Data_Element): This is now internal to the package.
++      (Select_Specific_Data_Array): This is now internal to the package.
++      (Select_Specific_Data): This is now internal to the package.
++      (Offset_To_Top_Function_Ptr): This is now public.
++      (To_Offset_To_Top_Function_Ptr): Removed.
++      (Storage_Offset_Ptr,To_Storage_Offset_Ptr): These declarations are now
++       local to subprogram Offset_To_Top.
++      (Predefined_DT): Removed.
++      (Typeinfo_Ptr): Removed.
++      (OSD): This function is now internal to this package.
++      (SSD): This function is now internal to this package.
++      (DT): New function that displaces the pointer to the table of primitives
++       to get access to the enclosing wrapper record.
++      (IW_Membership): Code cleanup.
++      (Offset_To_Top): Code cleanup.
++      (Predefined_DT): Removed.
++      (Register_Interface_Tag): Removed.
++      (Set_Interface_Table): Removed.
++      (Set_Offset_Index): Removed.
++      (Set_Offset_To_Top): Code cleanup.
++      (Set_OSD): Removed.
++      (Set_Signature): Removed.
++      (Set_SSD): Removed.
++      (Set_Tagged_Kind): Removed.
++      (Typeinfo_Ptr): Removed.
++      (TSD): Removed.
++      (Displace): Add missing check on null actual.
++
++      * exp_disp.ads, exp_disp.adb
++      (Select_Expansion_Utilities): Removed.
++      (Build_Common_Dispatching_Select_Statements): Moved to exp_atags.
++      (Expand_Dispatching_Call): Update calls to Get_Prim_Op_Address because
++      the interface requires a new parameter.
++      (Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
++      Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Replace
++      calls to subprograms Build_T, Build_S, etc. by the corresponding code.
++      Done to remove package Select_Expansion_Utilities.
++      (Make_DT): New implementation for statically allocated dispatch tables.
++      (Make_Secondary_DT): Moved to the scope of Make_DT.
++      (Register_Primitive): Code cleanup plus incoporate the use of the new
++      function DT_Address_Attribute.
++      (Expand_Interface_Thunk): The profile of this subprogram has been
++      changed to return the Thunk_Id and the corresponding code.
++      (Fill_DT_Entry): Removed. Its functionality is now provided by
++      subprogram Register_Primitive.
++      (Fill_Secondary_DT_Entry): Removed. Its functionality is now provided by
++      subprogram Register_Primitive.
++      (Register_Primitive): New subprogram that incorporates the previous
++      functionalities of Fill_DT_Entry and Fill_Secondary_DT_Entry.
++      (Build_Common_Dispatching_Select_Statements): Remove formal Typ. This
++      was only required to call Make_DT_Access_Action, which is now removed.
++      (Ada_Actions): Removed
++      (Action_Is_Proc): Removed
++      (Action_Nb_Arg): Removed
++      Replace all the calls to Make_DT_Access_Action by direct calls to
++      Make_Procedure_Call_Statement or Make_Function_Call.
++      (Set_DTC_Entity_Value): New subprogram.
++      (Set_All_DT_Position): Add call to new subprogram Set_DTC_Entity_Value.
++      (Expand_Interface_Thunk): Add missing support for primitives that are
++      functions with a controlling result (case in which there is no need
++      to generate the thunk).
++
++      * exp_atag.ads, exp_atag.adb
++      (Build_DT): New subprogram that displaces the pointer to reference the
++      base of the wrapper record.
++      (Build_Typeinfo_Offset): Removed.
++      (RTE_Tag_Node): Removed.
++      (Build_Common_Dispatching_Select_Statements): Moved here from exp_disp
++      (Build_Get_RC_Offset): Removed.
++      (Build_Inherit_Predefined_Prims): Removed.
++      (Build_Inherit_TSD: Removed.
++      (Build_New_TSD): Removed.
++      (Build_Set_External_Tag): Removed.
++      (Build_Set_Predefined_Prim_Op_Address): Add documentation.
++      (Build_Set_Prim_Op_Address): Add documentation.
++      (Build_Set_TSD): Removed.
++
++      * rtsfind.ads, rtsfind.adb
++      (Load_Fail): If load fails and we are not in configurable run-time
++      mode, then raise Unrecoverable_Error.
++      (Text_IO_Kludge): Generate an error message if a run-time library is
++      not available in a given run-time (ie. zfp run-time).
++      (RTE_Record_Component): Add code to check that the component we search
++      for is not found in two records in the given run-time package.
++      (RE_DT_Offset_To_Top_Size, RE_DT_Predef_Prims_Size): Removed
++      (RE_DT_Predef_Prims_Offset): New entity
++      (RE_Static_Offset_To_Top): New entity
++      (RE_HT_Link): New entity.
++      (System_Address_Image): Addition of this run-time package.
++      (RE_Address_Image): New entity.
++      (RE_Abstract_Interface): Removed.
++      (RE_Default_Prim_Op_Count): Removed.
++      (RE_DT_Entry_Size): Removed.
++      (RE_DT_Min_Prologue_Size): Removed.
++      (RE_DT_Prologue_Size): Removed.
++      (RE_Ifaces_Table_Ptr): Removed.
++      (RE_Interface_Data_Ptr): Removed.
++      (RE_Type_Specific_Data): Removed.
++      (RE_Primary_DT): Removed.
++      (RE_Register_Interface_Tag): Removed.
++      (RE_Set_Offset_Index): Removed.
++      (RE_Set_OSD): Removed.
++      (RE_Set_SSD): Removed.
++      (RE_Set_Signature): Removed.
++      (RE_Set_Tagged_Kind): Removed.
++      (RE_Address_Array): New entity.
++      (RE_DT): New entity.
++      (RE_Iface_Tag): New entity.
++      (RE_Interfaces_Table): New entity.
++      (RE_No_Dispatch_Table): New entity.
++      (RE_NDT_Prims_Ptr): New entity.
++      (RE_NDT_TSD): New entity.
++      (RE_Num_Prims): New entity.
++      (RE_Offset_To_Top_Function_Ptr): New entity.
++      (RE_OSD_Table): New entity.
++      (RE_OSD_Num_Prims): New entity.
++      (RE_Predef_Prims): New entity
++      (RE_Predef_Prims_Table_Ptr): New entity.
++      (RE_Primary_DT): New entity.
++      (RE_Signature): New entity.
++      (RE_SSD): New entity.
++      (RE_TSD): New entity.
++      (RE_Type_Specific_Data): New entity.
++      (RE_Tag_Kind): New entity.
++
++2007-06-06  Thomas Quinot  <quinot@adacore.com>
++
++      * a-textio.ads, a-textio.adb (Write): Add explicit size clause for the
++      C imported variable.
++      (Skip_Line): Do not reset Before_LM_PM immediately when Before_LM is set
++      on entry.
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++
++      * a-tienio.adb (Get): Adjust buffer size to accomodate one extra
++      character
++
++2007-06-06  Vincent Celier  <celier@adacore.com>
++
++      * a-tifiio.adb (Put, internal): For negative numbers, check that there
++      is room for at least one digit and the minus sign.
++      (Put.Put_Character): Never put a character outside of the range of
++      string To.
++
++2007-06-06  Olivier Hainque  <hainque@adacore.com>
++          Eric Botcazou  <ebotcazou@adacore.com>
++
++      * utils2.c (build_allocator): Provide the extra arguments to
++      make_aligning_type for super-aligned objects allocated from the default
++      pool. Leave enough room for a pointer before the aligning field, and
++      store the system's allocator return value there.
++      (build_call_alloc_dealloc): When releasing a super-aligned object,
++      retrieve the system's allocator return value from where build_allocator
++      has stored it, just ahead of the adjusted address we are passed.
++      (build_call_raise): Handle properly the generation of line numbers when
++      the node is marked No_Location.
++      (compare_elmt_bitpos): Use tree_int_cst_compare.  Stabilize the sort
++      by using DECL_UID on ties.
++      (build_binary_op) <EQ_EXPR>: Accept fat pointer types with the same
++      main variant.
++      (build_call_raise): Handle converting exception into goto; support new
++      argument KIND.
++      (build_component_ref): Add new arg to build_call_raise.
++
++2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * a-ztflau.adb, a-wtflau.adb, a-tiflau.adb (Load_Real): Do not parse
++      "." in the case of nnn.xxx when nnn terminates with an underscore.
++      Parse the remaining "#" or ":" in the case of nnn#.xxx#
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++
++      * a-tigeau.ads, a-tigeau.adb: (Store_Char): Change Buf to IN OUT
++
++2007-06-06  Arnaud Charlet  <charlet@adacore.com>
++          Vincent Celier  <celier@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * bindgen.adb (Gen_Output_File_Ada): Generate pragma No_Run_Time when
++      needed.
++      (Gen_Output_File_Ada, Gen_Output_File_C): Never use __attribute
++      ((destructor)) for adafinal, even when switch -a is used.
++      Do not issue pragma Linker_Destructor for adafinal when switch -a is
++      used.
++      (Gen_Object_Files_Options): Add formatting of Linker Options, when
++      Output_Linker_Option_List is set. Suppress this formatting when
++      Zero_Formatting is set.
++      Add case for CLI_Target.
++      (System_Restrictions_Used): New flag, used to avoid generating with of
++      System_Restrictions and initialization of the data unless there is
++      some use of System.Restrictions in the partition.
++      (Check_System_Restrictions_Used): New procedure
++
++      * s-stalib.adb: Remove with of System.Restrictions. No longer needed
++      since we only with this unit in the binder file if it is used elsewhere
++      in the partition.
++
++2007-06-06  Vincent Celier  <celier@adacore.com>
++
++      * bindusg.adb: Add line for @<response file>
++      Add lines for new switches -R and -Z
++
++      * gnatbind.adb (Gnatbind): Do not include sources from the GNAT
++      hierarchy in the list of files of the closure when -R is used
++      (Gnatbind): Accept arguments starting with '@' to indicate response
++      files and take the arguments from the response files.
++      If List_Closure is set, display the referenced files
++
++2007-06-06  Javier Miranda  <miranda@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * checks.ads, checks.adb (Apply_Address_Clause_Check): Handle case in
++      which the address-clause is applied to in-mode actuals (allowed by
++      13.1(22)).
++      (Apply_Discriminant_Check): Do not generate a check if the type is
++      constrained by a current instance.
++      (Activate_Division_Check): New procedure
++      (Activate_Overflow_Check): New procedure
++      (Activate_Range_Check): New procedure
++      Call these new Activate procedures instead of setting flags directly
++      (Apply_Array_Size_Check): Removed, no longer needed.
++      Code clean up: remove obsolete code related to GCC 2.
++      (Get_E_Length): Protect against bomb in case scope is standard
++      (Selected_Range_Checks): If the node to be checked is a conversion to
++      an unconstrained array type, and the expression is a slice, use the
++      bounds of the slice to construct the required constraint checks.
++      Improve NOT NULL error messages
++      (Apply_Constraint_Check): If the context is a null-excluding access
++      type, diagnose properly the literal null.
++
++2007-06-06  Pascal Obry  <obry@adacore.com>
++
++      * clean.adb (Clean_Archive): Use untouched casing for the archive name
++      and the corresponding .deps file.
++      (Clean_Interface_Copy_Directory): Use untouched casing for the library
++      src directory. Minor code-clean-up. Use untouched casing for files
++      read into the library src dir.
++      (Clean_Library_Directory): Idem.
++      (Parse_Cmd_Line): Accept new switch -aP
++
++2007-06-06  Javier Miranda  <miranda@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Eric Botcazou  <ebotcazou@adacore.com>
++          Arnaud Charlet  <charlet@adacore.com>
++
++      * einfo.ads, einfo.adb (Available_View): New synthesized attribute
++      applicable to types that have the With_Type flag set. Returns the
++      non-limited view of the type, if available, otherwise the type itself.
++      For class-wide types, there is no direct link in the tree, so we have
++      to retrieve the class-wide type of the non-limited view of the Etype.
++      New attributes Static_Initialization and Static_Elaboration_Desired.
++      Remove the pragma Thread_Body, and the associated flag
++      Is_Thread_Body in entities, and all related code.
++      (Suppress_Value_Tracking_On_Call): New flag
++      E_Exception has Esize and Alignment fields
++      (Universal_Aliasing): New function.
++      (Set_Universal_Aliasing): New procedure.
++      (Write_Entity_Flags): Deal with Universal_Aliasing flag.
++      (Check_Nested_Access): New procedure.
++      (Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures.
++      (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
++      (Related_Interface): New attribute. Present in dispatch table pointer
++      components of records. Set to point to the entity of the corresponding
++      interface type.
++      (Is_By_Reference_Type): Recurse on the full view of an incomplete type.
++      (Original_Access_Type): Remove, not needed.
++      (Root_Type): Handle properly subtypes of class-wide-types.
++      Update comments.
++
++      * sem_ch4.adb (Analyze_Explicit_Dereference): Add support for
++      class-wide types visible through limited-with clauses.
++      (Try_Primitive_Operation): When examining all primitive operations of a
++      tagged type, do not consider subprograms labeled as hidden unless they
++      belong to a private generic type with a tagged parent.
++      (Try_Object_Operation): Extensive rewriting, to handle properly various
++      overloading cases, when several ancestors may have class-wide operations
++      that are possible candidates, and when the overloaded functions return
++      array types and have defaulted parameters so that the call may be
++      interpreted as an indexing.
++      (Analyze_Allocator): Remove Mark_Allocator and its invocation.
++      (Process_Function_Call): use Next, rather than Next_Actual, to analyze
++      successive actuals before analyzing the call itself.
++      (Try_Primitive_Operation): A primitive operation is compatible with the
++      prefix if the prefix has a synchronized type and the type of the formal
++      is its corresponding record, as can be the case when the primitive
++      operation is declared outside of the body of the type.
++      (Traverse_Homonyms): New subprocedure of Try_Class_Wide_Operation, to
++      perform homonym traversal, looking for class-wide operation matches
++      (formerly done in statements of Try_Class_Wide_Operation). Matches on
++      access parameters are now restricted to anonymous access types.
++      (Mark_Allocator): An allocator with a discriminant association parent is
++      a coextension.
++      (Try_One_Prefix_Interpretation): If the type of the object is
++      incomplete, as can be happen when it is a limited view obtained through
++      a limited_with_clause, the selected component is not part of a prefixed
++      call.
++      (Complete_Object_Operation): Diagnose properly an object that is not
++      aliased when the corresponding controlling formal is an access
++      parameter.
++      (Try_Primitive_Operation, Try_Class_Wide_Operation): Diagnose properly
++      ambiguous calls in prefixed notation, where two primitives differ only
++      in that the controlling argument of one is an access parameter.
++
++      * sem_ch6.adb (Has_Single_Return): Add guard in code that determines
++      whether a function that returns an unconstrained type can be inlined.
++      (Process_Formals): Diagnose properly the illegal use of an incomplete
++      type in the profile of an access_to_subprogram declaration.
++      (Check_Synchronized_Overriding): Nothing check for concurrent types, the
++      operations are attached to the corresponding record.
++      (Analyze_Subprogram_Specification): Add variables Formal and Formal_Typ.
++      When processing a primitive of a concurrent type which implements an
++      interface change the type of all controlling formals to that of the
++      corresponding record type.
++      (Check_Synchronized_Overriding): Relax the conditional logic when trying
++      to determine the tagged type to which a primitive belongs.
++      (Check_Conventions): Capture condition to ignore a primitive operation
++      (which is shared between the loop in Check_Conventions and the one in
++      Check_Convention) in a new local function Skip_Check.
++      (Check_Convention): Rename Prim_Op to Second_Prim_Op to avoid possible
++      confusion with Check_Conventions' own Prim_Op local variable.
++      (Create_Extra_Formals): Test for a tagged result type rather than a
++      controlling result when determining whether to add a BIP_Alloc_Form
++      formal and a BIP_Final_List formal to the function.
++      (Check_Conformance); For parameters that are anonymous access types,
++      subtype conformance requires that the not null and the constant
++      indicators must match
++      (Check_Synchronized_Overriding): New parameter Formal_Typ. Add machinery
++      to retrieve the appropriate type when processing a concurrent type
++      declared within a generic. Minor comment reformatting. Change invocation
++      of Overrides_Synchronized_Primitive to Find_Overridden_Synchronized_Pri-
++      mitive.
++      (Analyze_Subprogram_Body): If the return type of a function is an
++      anonymous access to the limited view of a class-wide type, and the
++      non-limited view of the type is available, update the type of the
++      function so that code can be generated.
++      (Process_Formals): In case of access-subtype itype whose designated
++      type is also an itype (situation that happens now with access to
++      subprograms) we mark the access-type itype with the Has_Delayed_Freeze
++      attribute to avoid backend problems.
++      (Check_Return_Subtype_Indication): Replace R_Type with R_Stm_Type in
++      init of R_Stm_Type_Is_Anon_Access. Also check that base types of the
++      anonymous types' designated types are same before testing
++      Subtypes_Statically_Match.
++      (Create_Extra_Formals): Test for a named access parameter that is a
++      controlling formal as an additional condition for adding an
++      accessibility level formal. This can occur in the subp type created for
++      dispatching calls in Expand_Dispatching_Call, and allows calling
++      Create_Extra_Formals from that procedure rather than special-casing the
++      extra formals there.
++      (Create_Extra_Formals): Add BIP_Alloc_Form and BIP_Final_List formals
++      when the function has a controlling result.
++      (Check_Returns): Add much more knowledge of the optimization of local
++      raise statements to gotos, to retain proper warnings in this case.
++      (Check_Statement_Sequence): Ignore N_Push_xxx_Label and N_Pop_xxx_Label
++      nodes when looking for last statement.
++
++      * sem_type.ads, sem_type.adb (Specific_Type): Add support for
++      class-wide types visible through limited with clauses.
++      (Add_One_Interp): If the operands are anonymous access types, the
++      predefined operator on universal_access is immediately visibles
++      (Find_Unique_Type): Handle anonymous access to subprogram types just as
++      other anonymous access types.
++      (Disambiguate): Take into account CIL convention.
++      (Interface_Present_In_Ancestor): Add support for class-wide interfaces.
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++
++      * sinput.ads, sinput.adb, uintp.ads, urealp.adb, stringt.adb,
++      sem_elim.adb, prj-strt.adb, repinfo.ads, repinfo.adb, namet.ads,
++      elists.ads, elists.adb, lib.ads, lib.adb (Unlock): New procedure.
++      Fix lower bound of tables.
++      Add rep clauses.
++
++      * nlists.adb: Ditto.
++      (Prev_Node, Next_Node): Change index type to Int so that it properly
++      covers the range First_Node_Id - 1 up.
++
++2007-06-06  Javier Miranda  <miranda@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Bob Duff  <duff@adacore.com>
++          Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * exp_aggr.ads, exp_aggr.adb:
++      (Build_Record_Aggr_Code): Add missing initialization of secondary tags
++      in extension aggregates.
++      (Flatten): Other conditions being met, an aggregate is static if the
++      low bound given by component associations is different from the low
++      bound of the base index type.
++      (Packed_Array_Aggregate_Handled): If the component type is itself a
++      packed array or record, the front-end must expand into assignments.
++      (Gen_Ctrl_Actions_For_Aggr): In call to Init_Controller, pass False to
++      Init_Pr, instead of Ancestor_Is_Expression.
++      (Gen_Ctrl_Actions_For_Aggr): When processing an aggregate of a
++      coextension chain root, either generate a list controller or use the
++      already existing one.
++      (Static_Array_Aggregate): New procedure to construct a positional
++      aggregate that can be handled by the backend, when all bounds and
++      components are compile-time known constants.
++      (Expand_Record_Aggregate): Force conversion of aggregates of tagged
++      types covering interface types into assignments.
++      (Replace_Type): move to Build_Record_Aggr_Code.
++      (Expand_Record_Aggr_Code): if the target of the aggregate is an
++      interface type, convert to the definite type of the aggregate itself,
++      so that needed components are visible.
++      (Convert_Aggr_In_Object_Decl): If the aggregate has controlled
++      components and the context is an extended return statement do not
++      create a transient block for it, to prevent premature finalization
++      before the return is executed.
++      (Gen_Assign): Do not generate a call to deep adjust routine if the
++      component type is itself an array of controlled (sub)-components
++      initialized with an inner aggregate.
++      (Component_Check): New name for Static_Check. This name is now more
++      appropriate, and documentation is added which was missing.
++      (Component_Check): Add test for bit aligned component value
++      (Component_Not_OK_For_Backend): Renames Has_Delayed_Nested_Aggregate_Or_
++      Tagged_Comps, name is more appropriate given added function below.
++      (Component_Not_OK_For_Backend): Check for bit aligned component ref.
++
++2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * exp_attr.adb (Expand_N_Attribute_Reference): Case Callable and
++      Terminated: Add unchecked type conversion from System.Address to
++      System.Tasking.Task_Id when calling the predefined primitive
++      _disp_get_task_id.
++      Disable new Ada 05 accessibility check for JVM.NET targets, which
++      cannot be implemented in a practical way.
++      (Expand_N_Attribute_Reference: case Attribute_Tag): The use of 'Tag in
++      the sources always references the tag of the actual object. Therefore,
++      if 'Tag is applied in the sources to class-wide interface objects we
++      generate code that displaces "this" to reference the base of the object.
++      (Expand_N_Attribute_Reference, case Size): Return specified size if
++      known to front end.
++      (Expand_N_Attribute_Reference): The expansion of the 'Address attribute
++      has code that displaces the pointer of the object to manage interface
++      types. However this code must not be executed when the prefix is a
++      subprogram. This bug caused the wrong expansion of the internally
++      generated assignment that fills the dispatch table when the primitive
++      is a function returning a class-wide interface type.
++      (Expand_N_Attribute_Reference:Attribute_Valid): Remove incorrect call to
++      Set_Attribute_Name for Name_Unaligned_Valid.
++
++2007-06-06  Ed Schonberg  <schonberg@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case 'Address):
++      If the initialization is the equivalent aggregate of the initialization
++      procedure of the type, do not remove it.
++      (Expand_N_Attribute_Definition_Clause): Exclude access variables
++      initialized to null from having their expression reset to empty and
++      note this exception in the comment.
++
++2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * exp_ch2.adb: Remove "with" and "use" clauses for Namet and Snames.
++      Add "with" and "use" clauses for Sem_Attr.
++      (Expand_Current_Value): Do not replace occurences of attribute
++      references where the prefix must be a simple name.
++
++      * sem_attr.ads, sem_attr.adb: Remove "with" and "use" clauses for
++      Namet. Add new arrays Attribute_Name_Modifies_Prefix and
++      Attribute_Requires_Simple_Name_Prefix.
++      (Name_Modifies_Prefix): Body of new function.
++      (Requires_Simple_Name_Prefix): Body of new function.
++      (Resolve_Attribute, case Access): Improve error message for case of
++      mismatched conventions.
++      (Analyze_Attribute, case 'Tag): The prefix the attribute cannot be of an
++      incomplete type.
++      (Analyze_Attribute, case 'Access): If the type of the prefix is a
++      constrained subtype for a nominal unconstrained type, use its base type
++      to check for conformance with the context.
++      (Resolve_Attribute): Remove test of the access type being associated
++      with a return statement from condition for performing accessibility
++      checks on access attributes, since this case is now captured by
++      Is_Local_Anonymous_Access.
++      (Analyze_Access_Attribute): Set Address_Taken on entity
++      (Analyze_Attribute, case Address): Set Address_Taken on entity
++      (OK_Self_Reference): Traverse tree to locate enclosing aggregate when
++      validating an access attribute whose prefix is a current instance.
++      (Resolve_Attribute): In case of attributes 'Code_Address and 'Address
++      applied to dispatching operations, if freezing is required then we set
++      the attribute Has_Delayed_Freeze in the prefix's entity.
++      (Check_Local_Access): Set flag Suppress_Value_Tracking_On_Call in
++      current scope if access of local subprogram taken
++      (Analyze_Access_Attribute): Check legality of self-reference even if the
++      expression comes from source, as when a single component association in
++      an aggregate has a box association.
++      (Resolve_Attribute, case 'Access): Do not apply accessibility checks to
++      the prefix if it is a protected operation and the attribute is
++      Unrestricted_Access.
++      (Resolve_Attribute, case 'Access): Set the Etype of the attribute
++      reference to the base type of the context, to force a constraint check
++      when the context is an access subtype with an explicit constraint.
++      (Analyze_Attribute, case 'Class): If the prefix is an interface and the
++      node is rewritten as an interface conversion. leave unanalyzed after
++      resolution, to ensure that type checking against the context will take
++      place.
++
++2007-06-06  Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * exp_ch3.adb (Make_Controlling_Function_Wrappers): generate wrapper a
++      wrapper when the full view of the controlling type of an inherited
++      function that dispatches on result implements interfaces.
++      (Expand_N_Object_Declaration): In cases where the type of the
++      declaration is anonymous access, create finalization list for it.
++      (Expand_N_Object_Declaration): Generate a persistent_bss directive only
++      if the object has no explicit initialization, to match description of
++      functionality of pragam Persistent_BSS.
++      (Build_Equivalent_Array_Aggregate, Build_Equivalent_Record_Aggregate):
++      new function to build static aggregates, to replace initialization call
++      when static initialization is desired.
++      (Freeze_Type): Generate a list controller for an access type whenever
++      its designated type has controlled anonymous access discriminants.
++      (Build_Equivalent_Aggregate): New procedure to compute a static
++      aggregate to be used as default initialization for composite types,
++      instead of a generating a call to the initialization procedure for the
++      type.
++      (Build_Initialization_Call): When available, replace a call to the
++      initialization procedure with a copy of the equivalent static aggregate
++      for the type.
++      (Expand_N_Object_Declaration):  Use New_Occurrence_Of in generated
++      declarations for objects of a class-wide interface type, rather than
++      just identifiers, to prevent visibility problems.
++      (Expand_N_Object_Declaration): When expanding the declaration for an
++      object of a class-wide interface type, preserve the homonym chain of
++      the original entity before exchanging it with that of the generated
++      renaming declaration.
++      (Freeze_Enumeration_Type): Don't raise CE if No_Exception_Propagation
++      active, because there is no way to handle the exception.
++      (Freeze_Record_Type): In case of CPP_Class types add a call to Make_DT
++      to do a minimum decoration of the Access_Disp_Table list.
++      (Expand_Record_Controller): Avoid the addition of the controller between
++      the component containing the tag of a secondary dispatch table and its
++      adjacent component that stores the offset to the base of the object.
++      This latter component is only generated when the parent type has
++      discriminants ---documented in Add_Interface_Tag_Components).
++      (Apply_Array_Size_Check): Removed, no longer needed.
++      (Expand_N_Full_Type_Declaration): If the type has anonymous access
++      components, create a Master_Entity for it only if it contains tasks.
++      (Build_Init_Procedure): Suppress the tag assignment compiling under
++      no run-time mode.
++      (Freeze_Record_Type): Remove code associated with creation of dispatch
++      table.
++      (Init_Secondary_Tags): Update type of actuals when generating calls to
++      Ada.Tags.Set_Offset_To_Top
++      (Stream_Operation_OK): Disable use of streams compiling under no
++      run-time mode
++      (Expand_N_Object_Declaration): Don't do Initialize_Scalars initalization
++      if Has_Init_Expression set.
++      (Build_Init_Procedure): Replace call to Fill_DT_Entry by call to
++      Register_Primitive, which provides the same functionality.
++      (Requires_Init_Proc): Return false in case of interface types.
++      (Add_Secondary_Tables): Use the new attribute Related_Interface to
++      cleanup the code.
++      (Predefined_Primitive_Freeze): Do not assume that an internal entity
++      is always associated with a predefined primitive because the internal
++      entities associated with interface types are not predefined primitives.
++      Therefore, the call to Is_Internal is replaced by a call to the
++      function Is_Predefined_Dispatching_Operation.
++      (Make_Eq_If): When generating the list of comparisons for the
++      components of a given variant, omit the controller component that is
++      present if the variant has controlled components.
++
++2007-06-06  Javier Miranda  <miranda@adacore.com>
++          Hristian Kirtchev  <kirtchev@adacore.com>
++          Bob Duff  <duff@adacore.com>
++
++      * exp_ch4.adb (Complete_Coextension_Finalization): Add machinery to
++      handle the creation of finalization lists and calls for nested
++      coextensions when the root of the chains is part of a return statement.
++      (Inside_A_Return_Statement): New function inside Complete_Coextension_
++      Finalization.
++      (Expand_Record_Equality): Skip components that are interface types.
++      (Displace_Allocator_Pointer): Add missing support for interface subtypes
++      (Expand_N_Allocator): Replace invocation of Is_Local_Access_Discriminant
++      with Rewrite_Coextension. Change the condition for detecting coextension
++      root nodes.
++      (Is_Local_Access_Discriminant): Removed.
++      (Rewrite_Coextension): New routine which rewrites a static coextension
++      as a temporary and uses its unrestricted access in the construction of
++      the outer object.
++      (Complete_Coextension_Finalization): New routine. Generate finalization
++      attachment calls to all delayed coextensions.
++      (Expand_N_Allocator): Call Complete_Coextension_Finalization whenever
++      the allocator is not a coextension itself and has delayed coextensions.
++      If the current allocator is controlled, but also a coextension, delay
++      the generation of the finalization attachment call.
++      Rename local variable "Node" to "Nod" in order to avoid confusion with
++      "Elists.Node".
++      (Expand_Allocator_Expression): Call Adjust for initialized allocators of
++      limited types that are not inherently limited. Such an allocator is
++      illegal, but is generated by the expander for a return statement, to
++      copy the result onto the secondary stack. This is the only case where a
++      limited object can be copied. Generate code to displace the pointer
++      to the object if the qualified expression is a class-wide interface
++      object. Such displacement was missing and hence the copy of the object
++      was wrong.
++      (Apply_Accessibility_Check): Handle allocated objects initialized in
++      place.
++      (Displace_Allocator_Pointer): Subsidiary procedure to Expand_N_Allocator
++      and Expand_Allocator_Expression. Allocating class-wide interface objects
++      this routine displaces the pointer to the allocated object to reference
++      the component referencing the corresponding secondary dispatch table.
++      Expand_Allocator_Expression): Add missing support to allocate class-wide
++      interface objects initialized with a qualified expression.
++      (Get_Allocator_Final_List): Test for an anonymous access type that is a
++      function result type, and use the finalization list associated with the
++      function scope in that case (such an anonymous type should not be
++      treated like an access parameter's type).
++
++2007-06-06  Ed Schonberg  <schonberg@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * exp_ch5.adb (Expand_N_Assignment_Statement): For the assignment of a
++      controlled type, use Make_Handler_For_Ctrl_Operation to construct the
++      required exception handler.
++      (Expand_Simple_Function_Return, Expand_N_Return_Statement): Handle
++      properly the case of a function whose return type is a limited
++      class-wide interface type. Modify the code of the accessibility
++      check to handle class-wide interface objects. In this case we need to
++      displace "this" to reference the primary dispatch table to get access
++      to the TSD of the object (to evaluate its accessibility level).
++      (Expand_N_Extended_Return_Statement): Test for a tagged result type
++      rather than a controlling result as one of the conditions for
++      generating tests of the implicit BIP_Alloc_Form formal. The
++      initialization assignment is also handled according to whether the
++      result is tagged instead of controlling.
++      In the case where the init assignment is inserted in the "then" part of
++      the allocation conditional, rewrite the target to be a dereference of
++      the implicit BIP_Object_Access formal.
++      If the returned value is unconstrained and created on the secondary
++      stack, mark the enclosing block and function so that the secondary
++      stack is not reclaimed on return.
++      Treat returns from functions with controlling results similarly to
++      returns from functions with unconstrained result subtypes.
++      If the object returned is unconstrained, and an allocator must be
++      created for it, analyze the allocator once the block for the extended
++      return is installed, to ensure that finalizable components
++      of the expression use the proper finalization list. Guard the call to
++      Move_Final_List with a check that there is something to finalize.
++      (Make_Tag_Ctrl_Assignment): Use "old" handling
++      of controlled type assignment for virtual machines, since new code uses
++      unsupported features (such as direct access to bytes in memory).
++
++2007-06-06  Gary Dismukes  <dismukes@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_ch6.ads, exp_ch6.adb (Expand_Call): When adding an extra
++      accessibility actual, check for the case of an aliased object that has
++      been rewritten as an Access attribute, and assign Prev to Prev_Orig so
++      we fall into processing for the attribute rather than the name of the
++      object.
++      (Expand_Inline_Call): If an actual is a literal, and the corresponding
++      formal has its address taken in the body, create a temporary to capture
++      value.  If the return type is a limited interface, do not treat the
++      return value as Controlled.
++      (Is_In_Place_Function):  If the return type is a limited interface,
++      treat as returning in place. The actual returned object may not always
++      be limited, but the caller has to assume that it is returned in place.
++      (Add_Final_List_Actual_To_Build_In_Place_Call): If the call is the
++      context of an allocator, use the correct finalization chain (that is,
++      the chain belonging to the access type, rather than the chain belonging
++      to the current scope).
++      (Add_Alloc_Form_Actual_To_Build_In_Place_Call): Test for a tagged
++      result type rather than a controlling result as a precondition for
++      adding an allocation form actual to a build-in-place call.
++      (Add_Final_List_Actual_To_Build_In_Place_Call): Ditto.
++      (Freeze_Subprogram): Code cleanup. Remove all the code that register the
++      primitive in the dispatch tables. This work is now done by Make_DT when
++      the type is frozen.
++      (Register_Predefined_DT_Entry): Removed.
++      (Add_Return): If end label is not present, use sloc of last statement
++      for generated return statement in procedure, for better gdb behavior
++      on expanded code.
++      (Add_Access_Actual_To_Build_In_Place_Call): Set parent fields of the
++      object address nodes to ensure proper processing by routines like
++      Insert_After*.
++      (Expand_Call): Fix generation of validity check for parameter
++      (Add_Alloc_Form_Actual_To_Build_In_Place_Call): Return without passing
++      the allocation form parameter if the result subtype is constrained,
++      except when the function has a controlling result.
++      (Add_Final_List_Actual_To_Build_In_Place_Call): Test Controlled_Type
++      rather than Is_Controlled and Has_Controlled_Component, since we want to
++      include class-wide result types in this treatment. Also test for a
++      controlling result, since that also requires passing a finalization
++      list.
++      (Make_Build_In_Place_Call_In_Allocator): Call Add_Alloc_Form_Actual_*
++      even when the result subtype is constrained, to handle calls involving
++      controlling results.
++      (Make_Build_In_Place_Call_In_Anonymous_Context): Add_Alloc_Form_Actual_*
++      is now called even when the result subtype is constrained, to handle
++      calls involving controlling results.
++      (Make_Build_In_Place_Call_In_Assignment): Remove test for Is_Constrained
++      on call to Add_Alloc_Form_Actual_To_Build_In_Place_Call (that procedure
++      now performs the test).
++      (Make_Build_In_Place_Call_In_Object_Declaration):
++      Add_Alloc_Form_Actual_* is now called even when the result subtype is
++      constrained, to handle calls involving controlling results.
++      (Add_Return): Accomodate rewritten pattern from local raise to goto
++      transformation, so that we still recognize an transfer statement
++      and do the right thing here in that case.
++      (Expand_N_Subprogram_Body): Add dummy Push/Pop_xxx_Label nodes at start
++      and end of subprogram code.
++      (Register_Interface_DT_Entry, Register_Predefined_DT_Entry): Add missing
++      support for primitives that are functions (without formals) with a
++      controlling result.
++      (Inherited_From_Formal): If the actual subtype has not generic parent
++      type, it is not an actual for a formal derived type, and there is no
++      operation to inherit from the formal.
++
++2007-06-06  Ed Schonberg  <schonberg@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++
++      * exp_ch7.ads, exp_ch7.adb (Expand_Cleanup_Actions): Set Sloc of
++      inserted cleanup code appropriately for GDB use.
++      (Make_Deep_Proc): Use Make_Handler_For_Ctrl_Operation to create
++      exception handler for Deep_Adjust or Deep_Finalize.
++      (Make_Handler_For_Ctrl_Operation): New subprogram. When runtime entity
++      Raise_From_Controlled_Operation is available, use a call to that
++      subprogram instead of a plain "raise Program_Error" node to raise
++      Program_Error if an exception is propagated from an Adjust or Finalize
++      operation.
++      (Insert_Actions_In_Scope_Around): If the statement to be wrapped
++      appears in the optional statement list of a triggering alternative, the
++      scope actions can be inserted directly there, and not in the list that
++      includes the asynchronous select itself.
++
++2007-06-06  Ed Schonberg  <schonberg@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Hristian Kirtchev  <kirtchev@adacore.com>
++
++      * exp_ch9.ads, exp_ch9.adb (Build_Protected_Entry): Set sloc of
++      generated exception handler appropriately when debugging generated code.
++      Deal properly with No_Exception_Propagation restriction mode.
++      (Expand_N_Abort_Statement): Add an unchecked type conversion from
++      System.Address to System.Tasking.Task_Id when processing the result of
++      the predefined primitive _disp_get_task_id.
++      (Expand_N_Asynchronous_Select): Clarify comment.
++      (Expand_N_Protected_Type_Declaration): Minor code cleanup.
++      (Find_Parameter_Type): New routine inside Type_Conformant_Parameters.
++      (Type_Conformant_Parameters): New parameter Prim_Op_Typ. Code cleanup.
++      (Add_Private_Declarations, Build_Protected_Body): Use proper slocs for
++      privals and for generated call to Complete_Entry_Body, for better gdb
++      behavior.
++      (Copy_Result_Type): Utility to construct a parameter and result profile
++      for protected functions whose return type is an anonymous access to
++      subprogram.
++      (Build_Protected_Sub_Spec and Expand_Access_Protected_Subprogram_Type):
++      call the above.
++      (Build_Task_Activation_Call): Insert Activate_Tasks call at proper
++      point when the local-raise-to-goto transformation has taken place.
++
++2007-06-06  Javier Miranda  <miranda@adacore.com>
++          Nicolas Setton  <setton@adacore.com>
++
++      * exp_dbug.adb (Get_Encoded_Name): Modified to continue providing its
++      functionality when the backend is generating code.
++      Otherwise any serious error
++      reported by the backend calling the frontend routine Error_Msg
++      changes the Compilation_Mode to Check_Semantics, disables the
++      functionality of this routine and causes the generation of
++      spureous additional errors.
++
++      * exp_dbug.ads (Pointers to Unconstrained Arrays): Document the
++      debugging information now generated by the compiler for fat-pointer
++      types.
++      Document the contents of DW_AT_producer in the GNAT Vendor extensions to
++      DWARF2/3.
++      Document GNAT Vendor extensions to DWARF 2/3 and the "-gdwarf+" switch.
++
++2007-06-06  Thomas Quinot  <quinot@adacore.com>
++
++      * exp_dist.ads, exp_dist.adb (Make_Transportable_Check): New subprogram
++      (GARLIC_Support.Build_Subprogram_Receiving_Stubs,
++      PolyORB_Support.Build_Subprogram_Receiving_Stubs):
++      For a remote call to a function with a classwide return type, apply an
++      E.4(18) check to the returned value.
++      (Add_RACW_Primitive_Declarations_And_Bodies): Do not generate stubs for
++      stream attributes of the designated type of an RACW, as they are not
++      dispatching primitive operations.
++
++2007-06-06  Geert Bosch  <bosch@adacore.com>
++
++      * exp_fixd.adb (Integer_Literal): Add optional argument to construct a
++      negative literal
++      (Do_Divide_Fixed_Fixed): Add comments to indicate Frac is always
++      positive
++      (Do_Divide_Fixed_Universal): Handle case of negative Frac.
++      (Do_Multiply_Fixed_Fixed): Add coments to indicate Frac is always
++      positive
++      (Do_Multiply_Fixed_Universal): Handle case of negative Frac.
++
++2007-06-06  Javier Miranda  <miranda@adacore.com>
++
++      * exp_imgv.adb (Expand_Value_Attribute): Disable compilation of this
++      attribute compiling package Ada.Tags under No_Run_Time_Mode.
++
++2007-06-06  Javier Miranda  <miranda@adacore.com>
++
++      * exp_intr.adb (Expand_Unc_Deallocation): Add missing support for
++      deallocation of class-wide interface objects.
++      (Expand_Dispatching_Constructor_Call): Take into account that if the
++      result of the dispatching constructor is an interface type, the
++      function returns a class-wide interface type; otherwise the returned
++      object would be actual. The frontend previously accepted returning
++      interface types because Expand_Interface_Actuals silently performed
++      the management of the returned type "as if" it were a class-wide
++      interface type.
++      (Expand_Dispatching_Constructor_Call): Replace call to
++      Make_DT_Access_Action by direct call to Make_Function_Call.
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_pakd.adb (Expand_Packed_Not): Use RM_Size rather than ESize to
++      compute masking constant, since we now set Esize properly to the
++      underlying size.
++      (Create_Packed_Array_Type): Set proper Esize value adjusted as required
++      to match the alignment.
++      (Create_Packed_Array_Type): Use Short_Short_Unsigned as base type for
++      packed arrays of 8 bits or less.
++
++      * freeze.adb (Freeze_Entity): When freezing the formals of a
++      subprogram, freeze the designated type of a parameter of an access type
++      only if it is an access parameter.
++      Increase size of C convention enumeration object
++      (Freeze_Entity, array type case): Make sure Esize value is properly
++      adjusted for the alignment if it is known.
++      (Freeze_Entity, array type case): When checking bit packed arrays for
++      the size being incorrect, check RM_Size, not Esize.
++      (Freeze_Record_Type): Check for bad discriminated record convention
++      (In_Exp_Body): Return true if the body is generated for a subprogram
++      renaming, either an attribute renaming or a renaming as body.
++      (Check_Itype): If the designated type of an anonymous access component
++      is a non-protected subprogram type, indicate that it is frozen, to
++      prevent out-of-scope freeze node at some subsequent call.
++      (Freeze_Subprogram): On OpenVMS, reject descriptor passing mechanism
++      only if the subprogram is neither imported nor exported, as well as the
++      NCA descriptor class if the subprogram is exported.
++
++2007-06-06  Ed Schonberg  <schonberg@adacore.com>
++          Arnaud Charlet  <charlet@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Remove properly a
++      default initialization on an imported object, when there is no
++      initialization call generated for it.
++      (Expand_Pragma_Assert): Add handling of No_Exception_Propagation
++      restriction
++
++      * snames.h, snames.ads, snames.adb, par-prag.adb: New pragma
++      Static_Elaboration_Desired.
++      Remove pragma Thread_Body.
++      Implement a new pragma No_Body
++      Removes the Explicit_Overriding pragma
++      Remove Optional_Overriding pragma
++      (Prag): Deal with Universal_Aliasing.
++      (Name_CIL, Name_CIL_Constructor, Convention_CIL,
++      Pragma_CIL_Constructor): New names.
++
++      * sem_cat.adb (Validate_Object_Declaration): An initialization that
++      uses the equivalent aggregate of a type must be treated as an implicit
++      initialization.
++      (Get_Categorization): Check a unit for pragma Preelaborate only if it
++      has none of the other categories.
++      (Process_Import_Or_Interface_Pragma): Report an error for an attempt
++      to apply Import to an object renaming declaration.
++
++      * sem_prag.adb (Process_Import_Or_Interface): Warn that a type imported
++      from a C++ class should be declared as limited and that it will be
++      considererd limited.
++      (Analyze_Pragma): Warn that a type specified with pragma CPP_Class
++      should be declared as limited and that it will be considererd limited.
++      (Ada_2005_Pragma): New procedure, used to deal with Ada 2005 pragmas
++      (Analyze_Pragma, case Export): Diagnose export of enumeration literal
++      (Analyze_Pragma): Deal with Universal_Aliasing.
++      (Sig_Flags): Likewise.
++      (Set_Encoded_Interface_Name): Suppress encoding when compiling for AAMP.
++      (Overflow_Checks_Unsuppressed): New flag.
++      (Process_Suppress_Unsuppress): Set Overflow_Checks_Unsuppressed.
++      (Analyze_Pragma [case Pack]): Ignore pragma Pack and post warning in
++      case of JVM or .NET targets, and compiling user code.
++      Add debugging convenience routine rv
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++
++      * exp_strm.adb (Make_Field_Attributes): Avoid _Parent components that
++      are interface type.
++      (Build_Elementary_Input_Call): For floating-point use right type in the
++      absence of strange size or stream size clauses.
++      (Build_Elementary_Write_Call): Same fix
++      (Has_Stream_Standard_Rep): Returns False if Stream_Size attribute
++      set to value that does not match base type size.
++
++2007-06-06  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_util.ads, exp_util.adb (Expand_Subtype_From_Expr): In Ada2005, an
++      object of a limited type can be initialized with a call to a function
++      that returns in place. If the limited type has unknown discriminants,
++      and the underlying type is a constrained composite type, build an actual
++      subtype from the function call, as is done for private types.
++      (Side_Effect_Free): An expression that is the renaming of an object or
++      whose prefix is the renaming of a object, is not side-effect free
++      because it may be assigned through the renaming and its value must be
++      captured in a temporary.
++      (Has_Controlled_Coextensions): New routine.
++      (Expand_Subtype_From_Expr): Do nothing if type is a limited interface,
++      as is done for other limited types.
++      (Non_Limited_Designated_Type): new predicate.
++      (Make_CW_Equivalent_Type): Modified to handle class-wide interface
++      objects.
++      Remove all handling of with_type clauses.
++
++      * par-ch10.adb: Remove all handling of with_type clauses.
++
++      * lib-load.ads, lib-load.adb (Load_Main_Source): Do not get the
++      checksum if the main source could not be parsed.
++      (Loat_Unit): When processing a child unit, determine properly whether
++      the parent unit is a renaming when the parent is itself a child unit.
++      Remove handling of with_type clauses.
++
++      * sinfo.ads, sinfo.adb (Is_Static_Coextension): New function.
++      (Set_Is_Static_Coextension): New procedure.
++      (Has_Local_Raise): New function
++      (Set_Has_Local_Raise): New procedure
++      (Renaming_Exception): New field
++      (Has_Init_Expression): New flag
++      (Delay_Finalize_Attach): Remove because flag is obsolete.
++      (Set_Delay_Finalize_Attach): Remove because flag is obsolete.
++      Remove all handling of with_type clauses.
++      (Exception_Junk): Can now be set in N_Block_Statement
++
++2007-06-06  Vincent Celier  <celier@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * frontend.adb (Frontend): Return immediately if the main source could
++      not be parsed, because of preprocessing errors.
++
++      * gnat1drv.adb (gnat1drv): Handle RE_Not_Available gracefully.
++      (Gnat1drv): Exit with errors if the main source could not be parsed,
++      because of preprocessing errors.
++      (Check_Rep_Info): New procedure
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++
++      * g-hesorg.ads, g-heasor.ads,
++      g-busorg.ads, g-bubsor.ads: Update documentation
++      GNAT.Heap/Bubble_Sort_G is now pure
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++
++      * g-catiio.ads, g-catiio.adb (Image): Check for null picture string
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * g-comlin.ads, g-comlin.adb:
++      Add new warning for renaming of function return objects
++
++      * opt.adb (Tree_Write, Tree_Read): Use proper expressions for size
++      (Tree_Read): Use size of object instead of type'object_size, since the
++      latter is incorrect for packed array types.
++      (Tree_Write): Same fix
++
++      * opt.ads: Add new warning for renaming of function return objects
++      (Generating_Code): New boolean variable used to indicate that the
++      frontend as finished its work and has called the backend to process
++      the tree and generate the object file.
++      (GCC_Version): Is now private
++      (Static_Dispatch_Tables): New constant declaration.
++      (Overflow_Checks_Unsuppressed): New flag.
++      (Process_Suppress_Unsuppress): Set Overflow_Checks_Unsuppressed.
++      (List_Closure): New flag for gnatbind (-R)
++      Zero_Formatting: New flag for gnatbind (-Z)
++      (Special_Exception_Package_Used): New flag.
++      (Warn_On_Unrepped_Components): New flag.
++
++      * sem_ch8.adb (Check_Library_Unit_Renaming): Check that the renamed
++      unit is a compilation unit, rather than relying on its scope, so that
++      Standard can be renamed.
++      (Analyze_Object_Renaming): Add new warning for renaming of function
++      return objects.
++      Also reject attempt to rename function return object in Ada 83 mode.
++      (Attribute_Renaming): In case of tagged types, add the body of the
++      generated function to the freezing actions of the type.
++      (Find_Type): A protected type is visible right after the reserved word
++      "is" is encountered in its type declaration. Set the entity and type
++      rather than emitting an error message.
++      (New_Scope): Properly propagate Discard_Names to inner scopes
++      (Check_Nested_Access): New procedure.
++      (Has_Nested_Access, Set_Has_Nested_Access): New procedures.
++      (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
++
++      * sem_warn.ads, sem_warn.adb: Improvements to infinite loop warning
++      Add new warning for renaming of function return objects
++      (Check_References): Suppress warnings for objects whose type or
++      base type has Warnings suppressed.
++      (Set_Dot_Warning_Switch): Add processing for -gnatw.c/C
++      (Set_Warning_Switch): Include new -gnatwc in -gnatwa
++
++2007-06-06  Vincent Celier  <celier@adacore.com>
++          Emmanuel Briot  <briot@adacore.com>
++          Olivier Hainque  <hainque@adacore.com>
++
++      * g-debpoo.ads, g-debpoo.adb (Free_Physically.Free_Blocks): Use the
++      absolute value of Header.Block_Size when displaying the freed physical
++      memory in traces.
++      (Allocate): Compute Storage_Address using Integer_Address, not
++      Storage_Offset, because the range of Storage_Offset may not be large
++      enough.
++      (Configure): New parameter Low_Level_Traces
++      (Allocate, Deallocation, Free_Physically): Added low-level traces
++      (Configure): new parameter Errors_To_Stdout.
++      (Output_File): new subprogram
++      (Deallocate, Dereference): Send error messages to the proper stream
++      (Print_Pool, Print_Info_Stdout): Make sure the output goes to stdout, as
++      documented. Previous code would send it to the current output file
++      defined in GNAT.IO, which might not be stdout
++      (Is_Valid): Adjust comment to mention that a positive reply means that
++      Header_Of may be used to retrieve the allocation header associated with
++      the subprogram Storage address argument. Return False early if this
++      address argument is misaligned.
++
++2007-06-06  Vincent Celier  <celier@adacore.com>
++
++      * gnatcmd.adb (GNATCmd): Accept switch -aP for commands that accept
++      switch -P
++      (ASIS_Main): New global variable
++      (Get_Closure): New procedure
++      (GNATCmd): Set ASIS_Main when -P and -U with a main is used for gnat
++      check, metric or pretty. Call Get_Closure in this case.
++      (Check_Files): For GNAT LIST, check all sources of all projects when
++      All_Projects is True.
++      (GNATCmd): Accept -U for GNAT LIST
++
++2007-06-06  Vincent Celier  <celier@adacore.com>
++
++      * gnatlink.adb (Gnatlink): Do not specify -static-libgcc when --LINK=
++      has been specified
++      Correct error message when invocation of the linker fails
++      Add explicit size clause for the C imported variables
++      Object_List_File_Supported and Using_GNU_Linker to emphasize that
++      we expect char size.
++      Read target parameters earlier, since this is needed to set
++      Target_VM properly. Also do not use -static/shared-libgcc for non GCC
++      targets.
++
++2007-06-06  Vincent Celier  <celier@adacore.com>
++
++      * gnatls.adb:
++      Add 3 spaces before the default project directory when displaying
++      the project search path.
++      Add new command line switch '-l' to display license information.
++
++2007-06-06  Vasiliy Fofanov  <fofanov@adacore.com>
++
++      * gmem.c: Add support for timestamps on memory operations.
++
++      * memtrack.adb, gnatmem.adb: Add support for timestamps on memory
++      operations (not used currently, just foundation for future
++      enhancements). Add possibility to perform full dump of gmem.out file.
++      (Print_Back_Traces): Declare accesses to root arrays constants since
++      they aren't modified.
++      (Print_Back_Traces): allocate root arrays on the heap rather than stack.
++
++2007-06-06  Vincent Celier  <celier@adacore.com>
++
++      * gnatsym.adb: Update Copyright notice
++      (Parse_Cmd_Line): Accept new switch -D
++      (Gnatsym): In Direct policy (switch -D) copy reference file to symbol
++       file.
++
++      * prj.ads (Policy): New policy Direct
++      (Yes_No_Unknown): New enumeration type
++      (Project_Data): New component Libgnarl_Needed
++
++      * prj-nmsc.adb (Check_For_Source): When recording a source file make
++      use the untouched pathname casing.
++      (Get_Directories): Ensure that the Display_Exec_Directory is using the
++      proper casing on non case-sensitive platforms like Windows.
++      (Get_Unit): Accept file names x__... and x~... (where x = a, g, i or s)
++      on all platforms, as it is not possible to know which one is allowed
++      before processing the project files.
++      (Check_Stand_Alone_Library): Check that Library_Reference_Symbol_File is
++      specified when symbol policy is Direct. Check that when there is a
++      symbol file defined (either by default or with attribute
++      Library_Symbol_File) it is not the same as the reference symbol file.
++      (Check_Stand_Alone_Library): Recognize new symbol policy Direct.
++      (Look_For_Sources): Allow Locally_Removed_Files to be declare in non
++      extending projects.
++      (Record_Ada_Source): Record a source that has been locally removed in an
++      imported project.
++
++      * symbols.ads (Policy): New policy Direct
++
++      * symbols-vms.adb (Initialize): Take new policy Direct in case
++      statement
++
++2007-06-06  Vincent Celier  <celier@adacore.com>
++
++      * g-os_lib.ads, g-os_lib.adb (Normalize_Pathname.Get_Directory):
++      Correct obvious bug (return Dir; instead of return Directory;).
++      (Normalize_Pathname): Use Reference_Dir'Length, not Reference_Dir'Last
++
++2007-06-06  Thomas Quinot  <quinot@adacore.com>
++
++      * g-pehage.adb (Produce): Open output files in Binary mode, so that
++      they have UNIX line endings (LF only) even on Windows, and thus pass
++      all GNAT style checks.
++
++2007-06-06  Emmanuel Briot  <briot@adacore.com>
++
++      * g-regpat.adb (Quote): Fix improper quoting of '.'
++
++2007-06-06  Thomas Quinot  <quinot@adacore.com>
++
++      * g-soccon.ads: Add new constant Thread_Blocking_IO, always True by
++      default, set False on a per-runtime basis.
++      (Need_Netdb_Buffer): New constant.
++
++      * g-socket.ads, g-socket.adb: Import new package
++      GNAT.Sockets.Thin.Task_Safe_NetDB.
++      (Raise_Host_Error): Use Host_Error_Message from platform-specific thin
++      binding to obtain proper message.
++      (Close_Selector): Use GNAT.Sockets.Thin.Signalling_Fds.Close.
++      Replace various occurrences of Arry (Arry'First)'Address with the
++      equivalent Arry'Address (GNAT always follows implementation advice from
++      13.3(14)).
++      (Get_Host_By_Address, Get_Host_By_Name,
++      Get_Service_By_Name, Get_Service_By_Port): Do not use GNAT.Task_Lock;
++      instead, rely on platform-specific task safe netdb operations provided
++      by g-socthi.
++
++      * g-socthi.ads, g-socthi.adb (Initialize): Remove obsolete formal
++      parameter Process_Blocking_IO.
++      (Host_Error_Messages): Add stub body.
++      (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
++      (Safe_Gethostbyname, Safe_Gethostbyaddr, Safe_Getservbyname,
++      Safe_Getservbyport): Move functions into new child package
++      Task_Safe_NetDB.
++      (Nonreentrant_Gethostbyname, Nonreentrant_Gethostbyaddr,
++      Nonreentrant_Getservbyname, Nonreentrant_Getservbyport): New routines.
++      (In_Addr): Add alignment clause.
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++
++      * g-trasym.ads, g-traceb.ads: Update list of supported targets
++      Add note about symbolic traceback
++
++2007-06-06  Pascal Obry  <obry@adacore.com>
++
++      * hostparm.ads (Normalized_CWD): Use the host directory separator
++      instead of the hardcoded forward slash which is not the proper
++      character on Windows for example.
++      (Java_VM): Removed.
++
++2007-06-06  Vincent Celier  <celier@adacore.com>
++          Arnaud Charlet  <charlet@adacore.com>
++
++      * a-clrefi.adb, a-clrefi.ads: New files
++
++      * impunit.adb: Add s-os_lib in the list of user visible units.
++      (Non_Imp_File_Names_95): Add a-clrefi to this list
++      Remove obsolete run-time entries.
++      (Non_Imp_File_Names_05): Add Ada 2005 entries for:
++       "a-exetim" -- Ada.Execution_Time
++       "a-extiti" -- Ada.Execution_Time.Timers
++
++      * mlib-prj.ads, mlib-prj.adb
++      (Build_Library): Use untouched object dir and library dir. At the
++      same time makes sure that the checks are done using the canonical
++      form. Removes hard-coded directory separator and use the proper host
++      one instead.
++      (Process_Project): Do not look in object directory to check if libgnarl
++      is needed for a library, if there is no object directory.
++      (Build_Library): Scan the ALI files to decide if libgnarl is needed for
++      linking.
++      (Build_Library): When invoking gnatbind, use a response file if the
++      total size of the arguments is too large.
++
++      * Makefile.rtl: (g-sttsne): New object file.
++      Add entry for a-clrefi, s-utf_32, System.Exceptions
++
++      * Make-lang.in: Remove bogus dependency of s-memory.o on memtrack.o.
++      (GNAT_ADA_OBJS, GNATBIND_OBJS): Add s-except.o.
++      (GNATBIND_OBJS): Add new objects a-clrefi.o and a-comlin.o
++      Change g-string to s-string, g-os_lib to s-os_lib
++      Change all g-utf_32 references to s-utf_32
++
++2007-06-06  Tristan Gingold  <gingold@adacore.com>
++          Olivier Hainque  <hainque@adacore.com>
++
++      * init.c: Do not adjust IP of an imported VMS exception of ia64.
++      LIB$STOP is called to raise an exception and the IP of the exception
++      is the instruction right after the call.
++      (__gnat_adjust_context_for_raise, AIX): Implement.
++      (__gnat_error_handler, AIX): Accept SIGINFO related arguments and call
++       adjust_context_for_raise before Raise_From_Signal_Hanler.
++      (__gnat_install_handler, AIX): Add SA_SIGINFO to the sa_flags, to ensure
++      siginfo is passed to the handler, necessary to let the zcx propagation
++      engine unwind past it.
++
++2007-06-06  Olivier Hainque  <hainque@adacore.com>
++
++      * initialize.c (__gnat_initialize for vxworks):  Update documentation
++      on the ZCX support, using different sets of crtstuff objects than with
++      GCC 3.4.
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++
++      * layout.ads, layout.adb (Adjust_Esize_Alignment): Move spec to package
++      spec from body
++      (Layout_Type): Fix recomputation of size from alignment.
++
++2007-06-06  Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * sem_ch12.adb (Analyze_Associations): Diagnose use of an others
++      association in an instance.
++      (Copy_Generic_Node): If the node is a string literal, no need to copy
++      its descendants.
++      (Is_Generic_Formal): For a formal subprogram, the declaration is the
++      grandparent of the entity.
++      (Analyze_Formal_Interface_Type): Transform into a full type declaration,
++      to simplify handling of formal interfaces that derive from other formal
++      interfaces.
++      (Instantiate_Subprogram_Body): The defining unit name of the body of
++      the instance should be a defining identifier.
++      (Install_Formal_Packages): make global to the package, for use in
++      instantiations of child units.
++      (Analyze_Package_Instantiation): Do not attempt to set information on an
++      enclosing master of an entry when expansion is disabled.
++      (Instantiate_Type): If the actual is a tagged synchronized type and the
++      generic ancestor is an interface, create a generic actual for the
++      corresponding record.
++      (Analyze_Formal_Derived_Interface_Type): Rewrite as a derived type
++      declaration, to ensure that the interface list is processed correctly.
++      (Inline_Instance_Body): If enclosing scope is an instance body, remove
++      its entities from visibiility as well.
++      (Pre_Analyze_Actuals): if the actual is an allocator with  constraints
++      given with a named association, analyze the expression only, not the
++      discriminant association itself.
++      (Reset_Entity): If the analysis of a selected component is transformed
++      into an expanded name in the prefix of a call with parameters, do not
++      transform the original node into an expanded name, to prevent visibility
++      errors in the case of nested generics.
++      (Check_Private_View): For an array type, check whether the index types
++      may need exchanging.
++
++2007-06-06  Arnaud Charlet  <charlet@adacore.com>
++          Vincent Celier  <celier@adacore.com>
++
++      * lib-writ.adb: Handle Convention_CIL in addition to Convention_Java,
++      since both are separated.
++      Add support for imported CIL packages.
++      Add further special handling of "value_type" for CIL.
++      Add special handling of pragma Import for CIL.
++
++      * make.ads, make.adb: When switch -eS is used, direct all outputs to
++      standard output instead of standard error, except errors.
++      (Absolute_Path): Use untouched casing for the parent directory.
++      (Add_Library_Search_Dir): Use the untouched directory name.
++      (Add_Source_Search_Dir): Idem.
++      (Change_To_Object_Directory): Update output to use proper casing.
++      (Create_Binder_Mapping_File): Use the untouched filename to set
++      ALI_Name.
++      (Gnatmake): Use untouched library and executable directory names.
++      (Insert_Project_Sources): Use untouched filename for spec and body.
++      (Is_In_Object_Directory): Use untouched object directory.
++      (Mark_Directory): Idem.
++      (Collect_Arguments_And_Compile): Ensure that Full_Source_File always
++      contains the non-canonical filename in all cases.
++      (Change_To_Object_Directory): In verbose mode, display the name of the
++      object directory we're changing to.
++      (Compile_Sources): Make sure, when a project file is used, to compile
++      the body of the unit, when there is one, even when only the spec is
++      recorded in an ALI file.
++      (Gcc_Switches, Binder_Switches, Linker_Switches): Tables moved from the
++      spec to the body.
++      (Report_Compilation_Failed): New procedure
++      (Bind, Display_Commands, Compile_Sources, Initialize, Scan_Make_Arg):
++      procedures moved from the spec to the body.
++      (Extract_Failure): Removed, not used
++      Replace explicit raises of exception Bind_Failed and Link_Failed with
++      calls to Make_Failed with the proper message.
++      Replace explicit raises of exception Compilation_Failed with calls to
++      procedure Report_Compilation_Failed.
++      (Initialize): Create mapping files unconditionally when using project
++      files.
++
++      * sem_mech.adb: (Name_CIL, Name_CIL_Constructor, Convention_CIL,
++      Pragma_CIL_Constructor): New names.
++
++      * targparm.ads, targparm.adb
++      (Compiler_System_Version): Removed, no longer used.
++      (Get_Target_Parameters): Relax checks on system.ads validity. Add
++      handling of two new system flags: JVM and CLI.
++
++2007-06-06  Jose Ruiz  <ruiz@adacore.com>
++          Arnaud Charlet  <charlet@adacore.com>
++
++      * Makefile.in (LIBGNAT_TARGET_PAIRS for VxWorks 6): For the RTP run
++      time, use the default s-interr body that provides interrupt support
++      based on signals.
++      (LIBGNAT_TARGET_PAIRS for x86-linux): Use specialized versions of
++      a-exetim.ad{s,b}, a-extiti.ad{s,b}, a-rttiev.ad{s,b}, s-osinte.ad{s,b},
++      g-soccon.ads, and s-taprop.adb for the marte run time.
++      (EXTRA_GNATRTL_TASKING_OBJS for x86-linux): Execution time clocks and
++      timers are supported on marte.
++      (EH_MECHANISM for marte): Do not use ZCX.
++      (THREADSLIB for marte): Use -lmarte.
++      Add mlib-tgt-vms.o to the list of objects for gnatmake for VMS
++      Add mlib-tgt-specific.o to gnatmake objects
++      mlib-tgt-<platforms>.adb is now the body of MLib.Tgt.Specific, no
++      longer of MLib.Tgt.
++      (LIBGNAT_TARGET_PAIRS for vxworks): When building a run time for VxWorks
++      6, either kernel or rtp, use a specialized version of s-osinte.ads.
++
++2007-06-06  Pascal Obry  <obry@adacore.com>
++
++      * mkdir.c (__gnat_mkdir): Add support for UTF-8.
++
++2007-06-06  Vincent Celier  <celier@adacore.com>
++
++      * mlib.ads, mlib.adb (Build_Library): Do not use hard-coded directory
++      separator, use instead the proper host directory separator.
++      (Copy_ALI_Files): Make sure that an already existing ALI file in the
++      ALI copy dir is writable, before doing the copy.
++
++      * mlib-utl.ads, mlib-utl.adb:
++      (Gcc): If length of command line is too long, put the list of object
++      files in a response file, if this is supported by the platform.
++      (Ar): If invocation of the archive builder is allowed to be done in
++      chunks and building it in one shot would go above an OS dependent
++      limit on the number of characters on the command line, build the archive
++      in chunks.
++
++2007-06-06  Vincent Celier  <celier@adacore.com>
++
++      * osinte-c.ads, osint-c.adb (Set_Library_Info_Name): Fail if base name
++      of specified object file is not equal to base name of source.
++
++2007-06-06  Javier Miranda  <miranda@adacore.com>
++          Hristian Kirtchev  <kirtchev@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch3.adb (Process_Full_View): Propagate the CPP_Class attribute to
++      the full type declaration.
++      (Analyze_Component_Declaration): Add local variable E to capture the
++      initialization expression of the declaration. Replace the occurences of
++      Expression (N) with E.
++      (OK_For_Limited_Init_In_05): Allow initialization of class-wide
++      limited interface object with a function call.
++      (Array_Type_Declaration): If the declaration lacks subtype marks for
++      indices, create a simple index list to prevent cascaded errors.
++      (Is_Null_Extension): Ignore internal components created for secondary
++      tags when checking whether a record extension is a null extension.
++      (Check_Abstract_Interfaces): Add missing support for interface subtypes
++      and generic formals.
++      (Derived_Type_Declaration): Add missing support for interface subtypes
++      and generic formals.
++      (Analyze_Object_Declaration): If an initialization expression is
++      present, traverse its subtree and mark all allocators as static
++      coextensions.
++      (Add_Interface_Tag_Component): When looking for components that may be
++      secondary tags, ignore pragmas that can appear within a record
++      declaration.
++      (Check_Abstract_Overriding): an inherited function that dispatches on
++      result does not need to be overriden if the controlling type is a null
++      extension.
++      (Mentions_T): Handle properly a 'class attribute in an anonymous access
++      component declaration, when the prefix is an expanded name.
++      (Inherit_Component): If the derivation is for a private extension,
++      inherited components remain visible and their ekind should not be set
++      to Void.
++      (Find_Type_Of_Object): In the case of an access definition, always set
++      Is_Local_Anonymous_Access. We were previously not marking the anonymous
++      access type of a return object as a local anonymous type.
++      (Make_Index): Use Ambiguous_Character to report ambiguity on a discrete
++      range with character literal bounds.
++      (Constrain_Array): Initialize the Packed_Array_Type field to Empty.
++      (Access_Subprogram_Declaration): Indicate that the type declaration
++      depends on an incomplete type only if the incomplete type is declared
++      in an open scope.
++      (Analyze_Subtype_Declaration): Handle properly subtypes of
++      synchronized types that are tagged, and that may appear as generic
++      actuals.
++      (Access_Subprogram_Declaration): An anonymous access to subprogram can
++      appear as an access discriminant in a private type declaration.
++      (Add_Interface_Tag_Components): Complete decoration of the component
++      containing the tag of a secondary dispatch table and the component
++      containing the offset to the base of the object (this latter component
++      is only generated when the parent type has discriminants --as documented
++      in this routine).
++      (Inherit_Components): Use the new decoration of the tag components to
++      improve the condition that avoids inheriting the components associated
++      with secondary tags of the parent.
++      (Build_Discriminanted_Subtype): Indicate to the backend that the
++      size of record types associated with dispatch tables is known at
++      compile time.
++      (Analyze_Subtype_Declaration): Propagate Is_Interface flag when needed.
++      (Analyze_Interface_Declaration): Change setting of Is_Limited_Interface
++      to include task, protected, and synchronized interfaces as limited
++      interfaces.
++      (Process_Discriminants): Remove the setting of
++      Is_Local_Anonymous_Access on the type of (anonymous) access
++      discriminants of nonlimited types.
++      (Analyze_Interface_Type_Declaration): Complete the decoration of the
++      class-wide entity it is is already present. This situation occurs if
++      the limited-view has been previously built.
++      (Enumeration_Type_Declaration): Initialize properly the Enum_Pos_To_Rep
++      field.
++      (Add_Interface_Tag_Components.Add_Tag): Set the value of the attribute
++      Related_Interface.
++
++2007-06-06  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_aggr.adb (Resolve_Record_Aggregate): Ignore internal components
++      of the type that specify the position of interface tags when the type
++      inherits discriminated array components from the parent type.
++      If a component is initialized with a box, check for the presence of a
++      default expression in its declaration before using its default
++      initialization procedure.
++      (Resolve_Record_Aggregate): If a component is box-initialized, and the
++      component type has a discriminants, create a partial aggregate for it
++      by copying the discriminants of the component subtype.
++      Reject attempt to initialize a discriminant with a box.
++      (Array_Aggr_Subtype): Indicate to the backend that the size of arrays
++      associated with dispatch tables is known at compile time.
++      (Get_Value): If an association in a record aggregate has a box
++      association, and the corresponding record component has a default
++      expression, always copy the default expression, even when the
++      association has a single choice, in order to create a proper
++      association for the expanded aggregate.
++
++2007-06-06  Ed Schonberg  <schonberg@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * par-ch12.adb (P_Generic_Associations): The source position of an
++      Others association is that of the others keyword, not that of the token
++      that follows the box.
++      (P_Formal_Type_Definition): Handle formal access types that carry a
++      not null indicator.
++
++      * par-ch3.adb (P_Known_Discriminant_Part_Opt, P_Component_Items): If
++      multiple identifier are present, save Scan_State before scanning the
++      colon, to ensure that separate trees are constructed for each
++      declaration.
++      (P_Identifier_Declarations): For object declaration, set new flag
++      Has_Init_Expression if initialization expression present.
++      (P_Null_Exclusion): Properly diagnose NOT NULL coming before NULL
++      Improve NOT NULL error messages
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++
++      * par-ch4.adb: (P_Name): Recover from literal used as name
++
++2007-06-06  Vincent Celier  <celier@adacore.com>
++
++      * prep.ads, prep.adb (Expression): New Boolean parameter Complemented,
++      defaulted to False.
++      In the "not" case, recursive call with Complemented set to True.
++      Do not allow "or" or "and" operators when Complemented is True.
++
++2007-06-06  Vincent Celier  <celier@adacore.com>
++
++      * prj.adb (Project_Empty): Gives default value for new component
++      Libgnarl_Needed
++
++      * prj-attr.ads: Minor reformatting
++
++      * prj-env.ads, prj-env.adb (For_All_Object_Dirs): Register object
++      directory using the untouched casing.
++      (For_All_Source_Dirs): Idem.
++
++      * prj-ext.ads, prj-ext.adb (Search_Directories): New table to record
++      directories specified with switches -aP.
++      (Add_Search_Project_Directory): New procedure
++      (Initialize_Project_Path): Put the directories in table
++      Search_Directories in the project search path.
++      (Initialize_Project_Path): For VMS, transform into canonical form the
++      project path.
++
++2007-06-06  Arnaud Charlet  <charlet@adacore.com>
++
++      * restrict.ads, restrict.adb (No_Exception_Handlers_Set): Only return
++      true if configurable run-time or No_Run_Time is set.
++      (Set_Restriction): Avoid setting restriction No_Elaboration_Code when
++      processing an unit which is not the one being compiled.
++
++2007-06-06  Arnaud Charlet  <charlet@adacore.com>
++
++      * s-arit64.adb: Replace System.Pure_Exceptions by Ada 05 syntax.
++      Replace UC by Ada.UC
++
++      * s-bitops.adb: Get rid of System.Pure_Exceptions.
++      Replace UC by Ada.UC
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++
++      * scng.adb: (Check_End_Of_Line): Deal with very long lines
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++
++      * sem.ads, sem.adb (Semantics): Save and restore Global_Discard_Names
++      Remove no longer used nodes.
++
++2007-06-06  Javier Miranda  <miranda@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * sem_ch10.ads, sem_ch10.adb (Analyze_Compilation_Unit): Disable check
++      on obsolescent withed unit in case of limited-withed units.
++      (Analyze_Compilation_Unit): Add guard to code that removed an
++      instantiation from visibility, to prevent compiler aborts when
++      instantiation is abandoned early on.
++      (Install_Limited_Withed_Unit): Recognize a limited-with clause on the
++      current unit being analyzed, and Distinguish local incomplete types
++      from limited views of types declared elsewhere.
++      (Build_Limited_Views.Decorate_Tagged_Type): Add documentation
++      to state that the class-wide entity is shared by the limited-view
++      and the full-view.
++      (Analyze_With_Clause): Improve placement of flag for case of
++      unimplemented unit.
++      (Analyze_With_Clause): Recognize use of GNAT.Exception_Traces in a
++      manner similar to GNAT.Current_Exception. This is a violation of
++      restriction (No_Exception_Propagation), and also inhibits the
++      optimization of local raise to goto.
++      (Analyze_With_Clause): Check for Most_Recent_Exception being with'ed,
++      and if so set Most_Recent_Exception_Used flag in Opt, and also check
++      for violation of restriction No_Exception_Propagation.
++
++2007-06-06  Javier Miranda  <miranda@adacore.com>
++          Hristian Kirtchev  <kirtchev@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * sem_ch11.adb (Analyze_Exception_Handlers): Add barrier to avoid the
++      use of entity Exception_Occurrence if it is not available in the
++      target run-time.
++
++      * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): When
++      concurrent types are declared within an Ada 2005 generic, build their
++      corresponding record types since they are needed for overriding-related
++      semantic checks.
++      (Analyze_Protected_Type): Rearrange and simplify code for testing that a
++      protected type does not implement a task interface or a nonlimited
++      interface.
++      (Analyze_Task_Type): Rearrange and simplify code for testing that a task
++      type does not implement a protected interface or a nonlimited interface.
++      (Single_Task_Declaration, Single_Protected_Declaration): use original
++      entity for variable declaration, to ensure that debugging information
++      is correcty generated.
++      (Analyze_Protected_Type, Analyze_Task_Type): Do not call expander
++      routines if the expander is not active.
++      (Analyze_Task_Body): Mark all handlers to stop optimization of local
++      raise, since special things happen for task exception handlers.
++
++      * sem_disp.adb (Check_Controlling_Formals): Add type retrieval for
++      concurrent types declared within a generic.
++      (Check_Dispatching_Operation): Do not emit warning about late interface
++      operations in the context of an instance.
++      (Check_Dispatching_Call): Remove restriction against calling a
++      dispatching operation with a limited controlling result.
++      (Check_Dispatching_Operation): Replace calls to Fill_DT_Entry and
++      Register_Interface_DT_Entry by calls to Register_Primitive.
++      (Check_Dispatching_Formals): Handle properly a function with a
++      controlling access result.
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++          Arnaud Charlet  <charlet@adacore.com>
++
++      * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Stream_Size):
++      Check for restriction No_Implementation_Attributes if in Ada 95 mode.
++      (Storage_Pool): Do not crash when RE_Stack_Bounded_Pool is not available
++      (Analyze_Attribute_Definition_Clause [External_Tag]): Generate error
++      message when using a VM, since this attribute is not supported.
++      (Analyze_Record_Representation_Clause): Give unrepped component warnings
++
++      * usage.adb: Add new warning for renaming of function return objects
++      Indicate that -gnatwp and -gnatwP concern front-end inlining
++      Add line for -gnatyg
++      Add usage information for -gnatw.c/C
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch5.adb
++      (Find_Var): Do not consider function call in test for infinite loop
++      warning if warnings set off for function entity.
++      (One_Bound): Do not create a temporary for a loop bound if it is a
++      character literal.
++      (Analyze_Assignment): Traverse the right hand side of an assignment and
++      mark all allocators as static coextensions.
++      (Analyze_Assignment): Exempt assignments involving a dispatching call
++      to a function with a controlling access result from the check requiring
++      the target to be class-wide.
++
++2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * sem_res.ads, sem_res.adb (Process_Allocator): Do not propagate the
++      chain of coextensions when an allocator serves as the root of such a
++      chain.
++      (Propagate_Coextensions): Remove the test for the root being an
++      allocator.
++      (Resolve_Allocator): Add condition to ensure that all future decoration
++      occurs on an allocator node. Add processing and cleanup for static
++      coextensions.
++      (Valid_Conversion): If the operand type is the limited view of a
++      class-wide type, use the non-limited view is available to determine
++      legality of operation.
++      (Ambiguous_Character): move to spec, for use elsewhere.
++      (Ambiguous_Character): Handle Wide_Wide_Character in Ada 2005 mode
++      (Resolve_Range): Diagnose properly an ambiguous range whose bounds are
++      character literals.
++      (Resolve_Arithmetic_Op): Call Activate_Division_Check instead of setting
++      Do_Division_Check flag explicitly.
++      (Resolve_Actuals): If the actual is of a synchronized type, and the
++      formal is of the corresponding record type, this is a call to a
++      primitive operation of the type, that is declared outside of the type;
++      the actual must be unchecked-converted to the type of the actual
++      (Resolve_Call): Kill all current values for any subprogram call if
++      flag Suppress_Value_Tracking_On_Call is set.
++      (Resolve_Type_Conversion): Generate error message the the operand
++      or target of interface conversions come from a limited view.
++      (Check_Infinite_Recursion): Ignore generated calls
++      (Check_Allocator_Discrim_Accessibility): New procedure for checking
++      that an expression that constrains an access discriminant in an
++      allocator does not denote an object with a deeper level than the
++      allocator's access type.
++      (Resolve_Allocator): In the case of an allocator initialized by an
++      aggregate of a discriminated type, check that associations for any
++      access discriminants satisfy accessibility requirements by calling
++      Check_Allocator_Discrim_Accessibility.
++      (Resolve_Equality_Op): Handle comparisons of anonymous access to
++      subprogram types in the same fashion as other anonymous access types.
++      (Resolve_Concatenation_Arg): Remove initial character '\' in an error
++      message that is not a continuation message.
++      (Resolve_Type_Conversion): Add missing support for conversion to
++      interface type.
++      (Resolve_Actuals): Introduce a transient scope around the call if an
++      actual is a call to a function returning a limited type, because the
++      resulting value must be finalized after the call.
++      (Resolve_Actuals): If the call was given in prefix notations, check
++      whether an implicit 'Access reference or implicit dereference must be
++      added to make the actual conform to the controlling formal.
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * sem_ch7.adb (Check_Anonymous_Access_Types): Fix error for null body
++      (Derive_Inherited_Private_Subprogram): Code cleanup. In case of explicit
++      overriding of an inherited private subprogram now there is no need to
++      inherit its dispatching slot and reduce the size of the dispatch table.
++      Set_All_DT_Position now ensures that the same slot is now assigned to
++      both entities. This is required to statically build the dispatch table.
++      (Declare_Inherited_Private_Subprograms): Rewriten to avoid the need
++      of calling Set_All_DT_Position to re-evaluate the position of the
++      entries in the dispatch table. Such reevaluation is not desired if
++      the tagged type is already frozen.
++
++2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * sem_util.ads, sem_util.adb (May_Be_Lvalue): A prefix of an attribute
++      reference acts as an lvalue when the attribute name modifies the prefix
++      (Is_Coextension_Root): New routine.
++      (Mark_Static_Coextensions): New routine.
++      (Type_Access_Level): Revise code for checking the level of the
++      anonymous access type of a return object.
++      (Safe_To_Capture_Value): Not safe to capture if Address_Taken
++      (Matches_Prefixed_View_Profile): Remove the no longer necessary
++      retrieval of the corresponding controlling record type.
++      (Find_Overridden_Synchronized_Primitive): Code cleanup. Add handling of
++      concurrent types declared within a generic as well as class wide types.
++      Emit a mode incompatibility error whenever a protected entry or routine
++      override an interface routine whose first parameter is not of mode
++      "out", "in out" or access to variable.
++      (Overrides_Synchronized_Primitive): Rename to
++      Find_Overridden_Synchronized_Primitive.
++      (Collect_Interface_Components): New subprogram that collects all the
++      components of a tagged record containing tags of secondary dispatch
++      tables.
++      (Add_Global_Declaration): New procedure
++      (Abstract_Interface_List): Handle properly the case of a subtype of a
++      private extension.
++      (Type_Access_Level): In the case of a type whose parent scope is a
++      return statement, call Type_Access_Level recursively on the enclosing
++      function's result type to determine the level of the return object's
++      type.
++      (Build_Elaboration_Entity): Build name of elaboration entity from the
++      scope chain of the entity, rather than the unit name of the file name.
++      (Check_Nested_Access): New procedure.
++      (Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures.
++      (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
++      (Get_Renamed_Entity): Utility routine for performing common operation
++      of chasing the Renamed_Entity field of an entity.
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++
++      * sem_elab.adb (Check_A_Call): Specialize elaboration warnings on
++      elaboration model
++      (Check_A_Call): Add check for entry call which was causing blowup
++
++2007-06-06  Olivier Hainque  <hainque@adacore.com>
++
++      * raise-gcc.c (__gnat_eh_personality): Tweak the signature and add
++      special code on ia64-vms to handle major incompatibilities between the
++      GCC unwinding ABI and the VMS Condition Handling Facility, both calling
++      this routine with a very different set of arguments and expectations on
++      the return value.
++
++2007-06-06  Thomas Quinot  <quinot@adacore.com>
++
++      * socket.c (__gnat_close_signalling_fd): New function.
++      (__gnat_safe_gethostbyaddr, __gnat_safe_gethostbyname,
++      __gnat_safe_getservbyname, __gnat_safe_getservbyport):
++      New supporting functions for task safe Netdb operations.
++
++2007-06-06  Thomas Quinot  <quinot@adacore.com>
++          Olivier Hainque  <hainque@adacore.com>
++
++      * a-except-2005.ads, a-except-2005.adb
++      (Raise_From_Controlled_Operation): New procedure in
++      (private part of) Ada.Exceptions (standard runtime version). Used to
++      provide informational exception message when Program_Error is raised as
++      a result of an Adjust or Finalize operation propagating an exception.
++      (Rmsg_28): Fix description for E.4(18) check.
++      (Raise_Current_Excep): Call Debug_Raise_Exception just before
++      propagation starts, to let debuggers know about the event in a reliable
++      fashion.
++      Take the address of E and dereference to make sure it is homed on stack
++      and prevent the stores from being deleted, necessary for proper
++      debugger behavior on "break exception" hits.
++      (Local_Raise): Moved to System.Exceptions
++
++      * s-finimp.adb (Raise_From_Finalize): Code to construct an appropriate
++      exception message from the current occurrence and raise Program_Error
++      has been moved to Ada.Exceptions.Raise_From_Controlled_Operation.
++
++2007-06-06  Jose Ruiz  <ruiz@adacore.com>
++          Arnaud Charlet  <charlet@adacore.com>
++
++      * s-taprob.adb (Unlock): Change the ceiling priority of the underlying
++      lock, if needed.
++
++      * s-taprop.ads (Set_Ceiling): Add this procedure to change the ceiling
++      priority associated to a lock.
++
++      * s-tpoben.adb ([Vulnerable_]Complete_Task, Lock_Entries): Relax
++      assertion to take into account case of no abort restriction.
++      (Initialize_Protection_Entries): Add initialization for the field
++      New_Ceiling associated to the protected object.
++      (Unlock_Entries): Change the ceiling priority of the underlying lock, if
++      needed.
++
++      * s-solita.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
++      since this function needs to be set consistently with Update_Exception.
++
++      * s-tarest.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
++      since this function needs to be set consistently with Update_Exception.
++
++      * s-taskin.ads: Update comments on
++      Interrupt_Server_Blocked_On_Event_Flag.
++      (Unbind_Handler): Fix handling of server_task wakeup
++      (Server_Task): Set self's state so that Unbind_Handler can take
++      appropriate actions.
++      (Common_ATCB): Now use a constant from System.Parameters to determine
++      the max size of the Task_Image field.
++
++      * s-tassta.adb (Task_Wrapper): Now pass the overflow guard to the
++      Initialize_Analyzer function.
++      ([Vulnerable_]Complete_Task, Lock_Entries): Relax assertion to
++      take into account case of no abort restriction.
++      ([Vulnerable_]Complete_Master): Modify assertion.
++
++      * s-tataat.adb (Finalize): Use the nestable versions of
++      Defer/Undefer_Abort.
++
++      * s-tpobop.adb (Protected_Entry_Call): Relax assertion.
++
++      * s-tpobop.ads: Update comments.
++
++      * s-tposen.adb (Protected_Single_Entry_Call): Call Lock_Entry instead
++      of locking the object manually, to avoid inconsistencies between
++      Lock/Unlock_Entry assertions.
++
++      * s-interr.ads, s-interr.adb (Server_Task): Fix race condition when
++      terminating
++      application and System.Parameters.No_Abort is True.
++      Update comments on Interrupt_Server_Blocked_On_Event_Flag.
++      (Unbind_Handler): Fix handling of server_task wakeup
++      (Server_Task): Set self's state so that Unbind_Handler can take
++      appropriate actions.
++
++2007-06-06  Thomas Quinot  <quinot@adacore.com>
++
++      * s-finroo.ads, s-finroo.adb (Read, Write): Use null procedure
++      declarations instead of an explicit null body, for conciseness.
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++
++      * sem_eval.adb (Eval_Relational_Op): nothing to do if an operand is an
++      illegal aggregate and the type is still Any_Composite.
++      (Subtypes_Statically_Match): Fix problem of empty discriminant list
++
++2007-06-06  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_smem.adb (Check_Shared_Var): Check explicitly for as task object,
++      to prevent subsequent expansion.
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++
++      * sinput-l.ads, sinput-l.adb: implement a new pragma No_Body
++
++2007-06-06  Ed Schonberg  <schonberg@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * sprint.ads, sprint.adb (Sprint_Node_Actual): Output aggregate for
++      exceptions.
++      (Write_Itype): Handle case of string literal subtype, which
++      comes up in this context.
++      (Update_Itype): when debugging expanded code, update sloc of itypes
++      associated with defining_identifiers and ranges, for gdb use.
++      (Sprint_Node_Actual): Add static keyword to object or exception
++      declaration output if Is_Statically_Allocated is True.
++      (Sprint_End_Label): Set entity of end marker for a subprogram, package,
++      or task body, so that the tree carries the proper Sloc information for
++      debugging use.
++      (Write_Indent): In Dump_Source_Text mode, ignore implicit label nodes
++
++2007-06-06  Arnaud Charlet  <charlet@adacore.com>
++
++      * s-secsta.adb (Chunk): Ensure this object has a static size known at
++      compile time, to avoid dynamic memory allocation
++      (Elaboration code): Only use dynamic memory allocation when needed.
++
++2007-06-06  Quentin Ochem  <ochem@adacore.com>
++
++      * s-stausa.ads, s-stausa.adb (Initialize_Analyzer): Added parameter
++      "Overflow_Guard".
++      (Stack_Analyzer): Added field "Overflow_Guard"
++      (Task_Result): Added field "Overflow_Guard".
++      (Index_Str): New constant.
++      (Task_Name_Str): New constant.
++      (Actual_Size_Str): New constant.
++      (Pattern_Array_Element_Size): New constant.
++      (Get_Usage_Range): New subprogram.
++      (Output_Result): Added parameter Max_Size_Len and Max_Actual_Use_Len.
++      Now align the output.
++      Added comments.
++      (Initialize): Added value for Overflow_Guard.
++      (Fill_Stack): Use constant Pattern_Array_Elem_Size when relevant.
++      Update the value of the overflow guard according to the actual
++      beginning of the pattern array.
++      (Initialize_Analyzer): Added parameter Overflow_Guard.
++      Take this parameter into accound when computing the max size.
++      (Compute_Result): Use constant Pattern_Array_Elem_Size when relevant.
++      (Report_Result): Removed extra useless procedure.
++      Updated call to Output_Result.
++      Moved full computation of the Task_Result here.
++
++2007-06-06  Thomas Quinot  <quinot@adacore.com>
++
++      * g-soccon-darwin.ads, gen-soccon.c: Add new constant
++      Thread_Blocking_IO, always True by default, set False on a per-runtime
++      basis.
++      Add Windows-specific constants
++      Add new constant Need_Netdb_Buffer.
++      Add new macros to indicate whether getXXXbyYYY is thread safe and, if
++      not, whether to use getXXXbyYYY_r.
++
++      * gsocket.h: Add new constant Need_Netdb_Buffer.
++      Add new macros to indicate whether getXXXbyYYY is thread safe and, if
++      not, whether to use getXXXbyYYY_r.
++
++2007-06-06  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * s-stoele.ads, s-stoele.adb: Move inline_always subprograms earlier
++      than their first call.
++      Add type Dummy_Communication_Block used in the generation of the pre-
++      defined dispatching primitive _disp_asynchronous_select.
++      (Storage_Element): Put Pragma Universal_Aliasing on it.
++
++2007-06-06  Vincent Celier  <celier@adacore.com>
++
++      * a-dirval-vms.adb, a-dirval.ads, a-dirval.adb (Windows): New Boolean
++      function.
++
++      * a-dirval-mingw.adb (Is_Valid_Path_Name): Forbid a path with a drive
++      letter if it is not followed by a '/' or a '\'.
++      (Windows): New Boolean function
++
++      * a-direct.ads, a-direct.adb: Remove unnecessary and misplaced pragma
++      Ada 2005.
++      (Containing_Directory): On Windows, keep at least one '/' or '\' after a
++      drive letter.
++      (Containing_Directory): Raise Use_Error when the directory is a root
++      directory.
++      (Extension): When returning the result, use a conversion to Result_Type,
++      not a qualification.
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++
++      * stylesw.ads, stylesw.adb (Set_GNAT_Style_Check): New procedure
++      (Set_Style_Check_Options): Recognize new -gnatyg style switch
++
++      * switch-c.adb (Scan_Front_End_Switches, case -gnatg): Set
++      Warn_On_Non_Local_Exception to False, to turn off warnings for
++      No_Exception_Propagation in ZFP runtime.
++      (Scan_Front_End_Switches): Fix handling of --RTS switch for non GCC
++      back-ends.
++      (Scan_Front_End_Switches): For 'g', call Set_GNAT_Style_Checks
++
++2007-06-06  Vincent Celier  <celier@adacore.com>
++
++      * switch-b.adb (Scan_Binder_Switches): Add processing for new
++      switches -R and -Z
++
++      * switch-m.adb (Normalize_Compiler_Switches): Do not record switch -E
++      (Scan_Make_Switches): Recognize new switch -aP
++
++2007-06-06  Matthew Gingell  <gingell@adacore.com>
++          Jose Ruiz  <ruiz@adacore.com>
++
++      * s-stchop-vxworks.adb (Set_Stack_Info): Instead of trying to map the
++      VxWorks task descriptor in the Ada run time, call a C subprogram
++      (__gnat_get_stack_info) that extracts the required information.
++
++      * sysdep.c: Back out temporary lynxos workaround.
++      (__gnat_get_stack_info): Add this procedure that passes to the Ada run
++      time the stack information associated to the currently executing task.
++      Only VxWorks systems require this function.
++
++2007-06-06  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * tracebak.c (FRAME_OFFSET): Add parameter FP. On SPARC/Solaris, do not
++      add the stack bias if the offset is computed from a frame address.
++      (__gnat_backtrace): Adjust for above change.
++
++2007-06-06  Thomas Quinot  <quinot@adacore.com>
++
++      * types.h, types.ads: Rename PE_Illegal_CW_Actual_E_4_18 to
++      PE_Non_Transportable_Actual.
++      (By_Descriptor_Last): New constant.
++      (By_Copy_Return): Likewise.
++
++2007-06-06  Vincent Celier  <celier@adacore.com>
++
++      * vms_conv.adb (Process_Argument): Keep arguments starting with '+' as
++      is.
++
++      * vms_data.ads: Add entries for -gnatw.x and -gnatw.X
++      /STYLE_CHECKS=GNAT: Change meaning to -gnatyg
++      /GNAT_INTERNAL: New compiler qualifier corresponding to -gnatg
++      Add missing comment for /OPTIMIZE=SPACE
++      Add entry for OPTIMIZE=SPACE
++      Add new qualifier /ALL_PROJECTS (= -U) for GNAT LIST
++      Add documentation for new qualifiers corresponding to -gnatw.c/.C
++
++2007-06-06  Vincent Celier  <celier@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * xgnatugn.adb: Allow dots to be used in ug_words (-gnatw.c and
++      -gnatw.C)
++
++      * gnat_ugn.texi: Fix ordering of -g switch for gnatmake
++      Document gnatbind switch -a
++      (case Constructions): Document that variables declarations are allowed
++      for previously declared variables.
++      Fix external lib project example
++      -gnatg: Indicate new VMS qualifier /GNAT_INTERNAL
++      Indicate that "#if not X or Y then" is not allowed in input files to
++      gnatprep.
++      Document gnatw.x and gnatw.X warning flags
++      Mention -Winline switch to activate warnings when back-end inlining is
++      ineffective.
++      Add gnatcheck rule descriptions
++      Describe how to use the GNAT driver to call a tool on a closure.
++      Describe how to run project-wide checks or metrics.
++      Document gnatbind's -R option
++      Updated to account for Ada 2005 support
++
++      * gnat_rm.texi (Case Construction): Allow variable declarations for
++      previously declared variables.
++      (Representation Clauses and Pragmas): Lift restriction on alignment
++      clauses for record types.
++      (Ada.Characters.*): Fix typo in reference to A.3.3(27).
++      Document No_Exception_Propagation restriction
++      Document No_Body pragma
++      Updated to account for Ada 2005 support; corrected some typos
++      (Implementation Defined Pragmas): Document pragma Universal_Aliasing.
++
++      * gnat-style.texi: Make it clear that we never use mode IN for
++      procedures or functions
++
++      * ug_words: Add entries for -gnatw.x and -gnatw.X
++      Add entries for -gnatw.c/.C
++
++2007-06-06  Pascal Obry  <obry@adacore.com>
++          Vincent Celier  <celier@adacore.com>
++
++      * makegpr.adb (Add_Archive_Path): Use untouched object and library
++      dirs and library name.
++      (Build_Global_Archive): Idem. Minor code clean-up. Removes duplicate
++      comments.
++      (Build_Library): Idem.
++      (Compile_Individual_Sources): Idem.
++      (Compile_Link_With_Gnatmake): Idem.
++      (Compile_Sources): Idem.
++      (Get_Imported_Directories): Idem.
++      (Link_Executables): Idem. Same change for the executable dir.
++      (Check_Compilation_Needed): C_Source_Path new variable containing
++      the canonical form of Source_Path to check against the source names
++      in the dependency file.
++      (Build_Global_Archive, Compile_Individual_Sources, Compile_Sources): In
++      verbose mode, display the name of the object directory we're changing
++      to.
++      (Saved_Switches): New name of table X_Switches
++      (Scan_Arg): Recognize new switch -aP and save in table Saved_Switches
++      (Usage): New line for switch -aP
++      (Get_Imported_Directories.Add): Make sure that Add_Arg is True before
++      testing if a directory should be added to the search path.
++
++2007-06-06  Javier Miranda  <miranda@adacore.com>
++
++      * a-cidlli.ads, a-cdlili.ads, a-cohama.ads, a-coinve.ads,
++      a-convec.ads (Empty_Vector, Empty_Map, Empty_List): Move this object
++      declaration after freezing point of all its associated tagged types;
++      otherwise such types are frozen too early.
++
++2007-06-06  Robert Dewar  <dewar@adacore.com>
++
++      * a-reatim.adb: Documentation addition
++
++      * g-cgideb.adb: Minor code reorganization
++
++      * tree_io.adb, treepr.adb, cstand.adb, krunch.adb, par.adb,
++      mdll-utl.adb, par-ch5.adb, par-tchk.adb, s-exctab.ads, s-memory.ads,
++      s-osprim.ads, s-restri.ads, s-soflin.ads: Minor reformatting.
++
++      * debug.ads, debug.adb (Get_Debug_Flag_K): Remove unused obsolete
++      function.  Change name New_Scope to Push_Scope
++      (Get_Debug_Flag_K): Remove unused obsolete function.
++
++      * exp_ch8.adb, inline.adb, sem_ch8.ads: Change name New_Scope to
++      Push_Scope.
++
++      * makeusg.adb: Update Copyright notice
++      Add line for switch -aP
++
++      * makeusg.adb: Fix wording of some usage messages
++
++      * s-assert.adb (Raise_Assert_Failure): Add call to
++      Debug_Raise_Assert_Failure.
++
++      * s-unstyp.ads (type Packed_Bytes2): Change alignment to use 'Min
++      (2, Standard'Alignment) for compatibility with AAMP (where alignment
++      is restricted to 1).
++
++      * s-wchjis.adb: Remove use of System.Pure_Exceptions
++
++      * tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): Set the
++      node location to No_Location when we're not debugging the expanded
++      code.
++
++2007-05-22  Alexandre Oliva  <aoliva@redhat.com>
++
++      * misc.c (enumerate_modes): Consider log2_b to always be one.
++
++2007-05-14  Rafael Ávila de Espíndola  <espindola@google.com>
++
++      * misc.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
++
++2007-05-02  Pascal Obry  <obry@adacore.com>
++
++      * gnatchop.adb (Write_Source_Reference_Pragma): Change implementation
++      to use Stream_IO.File_Type. This is needed to make use of the UTF-8
++      encoding support of Stream_IO.
++      (Write_Unit): Idem.
++
++      * adaint.h, adaint.c (__gnat_os_filename): New routine. Returns the
++      filename and corresponding encoding to match the OS requirement.
++      (__gnat_file_exists): Do not call __gnat_stat() on Windows as this
++      routine will fail on specific devices like CON: AUX: ...
++
++      PR ada/29856: Add missing braces
++
++2007-04-22  Andrew Pinski  <andrew_pinski@playstation.sony.com>
++
++      PR ada/31660
++      * ada-tree.h (lang_tree_node): Fix typo in chain_next.
++
++2007-04-21  Jan Hubicka  <jh@suse.cz>
++
++      * misc.c (gnat_expand_body): Don't call target for destructors,
++      avoid redundant check on syntax errors.
++
++2007-04-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>
++
++      * ada-tree.h (lang_tree_node): Use GENERIC_NEXT
++      instead of checking GIMPLE_STMT_P in chain_next.
++
++2007-04-17  Andreas Krebbel  <krebbel1@de.ibm.com>
++
++      PR ada/31576
++      * system-linux-alpha.ads: Disable constant condition warning for the
++      Default_Bit_Order variable.
++      * system-linux-s390.ads: Likewise.
++      * system-linux-s390x.ads: Likewise.
++      * system-linux-sparc.ads: Likewise.
++
++2007-04-06  Javier Miranda  <miranda@adacore.com>
++          Matt Heaney  <heaney@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      a-coprnu.ads, a-cohata.ads, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
++      a-cgarso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads, a-chtgke.ads,
++      a-chtgke.ads, a-coprnu.ads, a-contai.ads, a-chtgke.ads, a-chtgke.adb,
++      a-stwiha.ads, a-strhas.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
++      a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads, a-stzfix.ads,
++      a-stzhas.ads, a-szuzha.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoio.ads,
++      a-ztinio.ads, a-zttest.ads, a-zzunio.ads, a-astaco.ads, a-charac.ads,
++      a-chlat1.ads, ada.ads, a-dynpri.ads, a-flteio.ads, a-fwteio.ads,
++      a-inteio.ads, a-intnam.ads, a-ioexce.ads, a-iwteio.ads, a-lfteio.ads,
++      a-lfwtio.ads, a-liteio.ads, a-liwtio.ads, a-llftio.ads, a-llfwti.ads,
++      a-llitio.ads, a-lliwti.ads, a-ncelfu.ads, a-ngcefu.ads, a-ngelfu.ads,
++      a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads, a-nllcty.ads,
++      a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads, a-nucoty.ads,
++      a-nuelfu.ads, a-numeri.ads, a-sfteio.ads, a-sfwtio.ads, a-siteio.ads,
++      a-siwtio.ads, a-ssitio.ads, a-ssiwti.ads, a-storio.ads, a-strfix.ads,
++      a-string.ads, a-stwifi.ads, a-titest.ads, a-unccon.ads, a-uncdea.ads,
++      a-wtcoio.ads, a-wtinio.ads, a-wttest.ads, calendar.ads, directio.ads,
++      i-c.ads, ioexcept.ads, machcode.ads, sequenio.ads, text_io.ads,
++      unchconv.ads, unchdeal.ads, a-widcha.ads, a-zchara.ads, a-stboha.ads,
++      a-stfiha.ads, a-coteio.ads, a-envvar.ads, a-lcteio.ads, a-llctio.ads,
++      a-scteio.ads, a-swbwha.ads, a-swfwha.ads, a-szbzha.ads, a-szfzha.ads,
++      a-tiboio.ads, a-wwboio.ads, a-zzboio.ads, a-dispat.ads, a-tgdico.ads,
++      expander.adb, g-socket.ads, par-labl.adb, sinput-c.adb, s-tarest.ads,
++      s-stchop.ads, g-expect-vms.adb, s-taprop-lynxos.adb,
++      s-taprop-tru64.adb, s-taprop-irix.adb,
++      s-taprop-hpux-dce.adb, s-traceb-hpux.adb,
++      s-taprop-linux.adb, s-taprop-dummy.adb, s-osprim-unix.adb,
++      s-osprim-solaris.adb, s-taprop-solaris.adb, s-taprop-vms.adb,
++      s-osprim-mingw.adb, s-taprop-mingw.adb, s-osprim-posix.adb,
++      s-taprop-posix.adb, a-exexpr-gcc.adb, a-ststio.adb, a-ststio.ads,
++      a-textio.adb, a-textio.ads, a-tideau.adb, a-tideau.ads, a-witeio.adb,
++      a-witeio.ads, a-wtdeau.adb, a-wtdeau.ads, g-calend.adb, g-calend.ads,
++      g-dirope.adb, g-expect.ads, gnatchop.adb, g-spipat.adb, g-spipat.ads,
++      s-direio.adb, s-direio.ads, s-fatgen.adb, s-fatgen.ads, s-parint.adb,
++      s-sequio.adb, s-sequio.ads, s-taprop.ads, s-valdec.adb, s-valdec.ads,
++      s-valint.adb, s-valint.ads, s-vallld.adb, s-vallld.ads, s-vallli.adb,
++      s-vallli.ads, s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
++      s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads, xref_lib.adb,
++      s-stchop.adb, i-vxwork-x86.ads, a-crbtgo.ads, a-crbtgo.adb,
++      a-coorse.ads, a-coorse.adb, a-cohama.ads, a-cohama.adb, a-ciorse.ads,
++      a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-chtgop.ads, a-chtgop.ads,
++      a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cihase.ads, a-cohase.adb,
++      a-cohase.ads, a-swuwha.ads, a-ciormu.ads, a-coormu.ads, a-rbtgso.ads,
++      a-stunha.ads, a-ciorma.adb, a-coorma.adb, a-ztdeau.adb, a-ztdeau.ads,
++      a-ztexio.adb, a-ztexio.ads: Addition of null-exclusion to anonymous
++      access types.
++      Update documentation.
++      Minor rewording.
++
++2007-04-06  Robert Dewar  <dewar@adacore.com>
++
++      * system-linux-ia64.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
++      system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
++      system-vxworks-sparcv9.ads, system-solaris-x86.ads, system-irix-o32.ads,
++      system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
++      system-linux-x86.ads, system-vxworks-mips.ads, system-interix.ads,
++      system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
++      system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
++      system-vxworks-alpha.ads, system-vms_64.ads, system-darwin-ppc.ads,
++      system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads,
++      system-hpux-ia64.ads, targparm.adb,
++      targparm.ads (Functions_Return_By_DSP_On_Target): Removed
++
++      * system.ads: Move Functions_Return_By_DSP to obsolete section,
++      kept for bootstrap purposes only.
++
++2007-04-06  Arnaud Charlet  <charlet@adacore.com>
++
++      * s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
++      s-osinte-freebsd.ads, s-osinte-aix.ads, s-osinte-darwin.ads,
++      s-taprop-posix.adb (Create_Task): Fix handling of Task_Info.
++      (PTHREAD_SCOPE_PROCESS, PTHREAD_SCOPE_SYSTEM): New constants.
++
++2007-04-06  Robert Dewar  <dewar@adacore.com>
++
++      * a-except.adb, a-except.ads, a-except-2005.ads, a-except-2005.adb
++      (Local_Raise): New dummy procedure called when a raise is converted
++      to a local goto. Used for debugger to detect that the exception
++      is raised.
++
++      * debug.adb: Document new d.g flag (expand local raise statements to
++      gotos even if pragma Restriction (No_Exception_Propagation) is not set)
++
++      * exp_sel.adb: Use Make_Implicit_Exception_Handler
++
++      * exp_ch11.adb (Expand_Exception_Handlers): Use new flag -gnatw.x to
++      suppress warnings for unused handlers.
++      (Warn_If_No_Propagation):  Use new flag -gnatw.x to suppress
++      warnings for raise statements not handled locally.
++      (Get_RT_Exception_Entity): New function
++      (Get_Local_Call_Entity): New function
++      (Find_Local_Handler): New function
++      (Warn_If_No_Propagation): New procedure
++      (Expand_At_End_Handler): Call Make_Implicit_Handler
++      (Expand_Exception_Handlers): Major additions to deal with local handlers
++      (Expand_N_Raise_Constraint_Error, Expand_N_Raise_Program_Error,
++      Expand_N_Raise_Storage_Error, (Expand_N_Raise_Statement): Add handling
++      for local raise
++
++      * exp_ch11.ads (Get_RT_Exception_Entity): New function
++      (Get_Local_Call_Entity): New function
++
++      * gnatbind.adb (Restriction_List): Add No_Exception_Propagation to list
++      of restrictions that the binder will never suggest adding.
++
++      * par-ch11.adb (P_Exception_Handler): Set Local_Raise_Statements field
++      to No_Elist.
++
++      * restrict.adb (Check_Restricted_Unit): GNAT.Current_Exception may not
++      be with'ed in the presence of pragma Restriction
++      (No_Exception_Propagation).
++
++      * sem.adb (Analyze): Add entries for N_Push and N_Pop nodes
++
++      * sem_ch11.adb (Analyze_Exception_Handler): If there is a choice
++      parameter, then the handler is not a suitable target for a local raise,
++      and this is a violation of restriction No_Exception_Propagation.
++      (Analyze_Handled_Statements): Analyze choice parameters in exception
++      handlers before analyzing statement sequence (needed for proper
++      detection of local raise statements).
++      (Analyze_Raise_Statement): Reraise statement is a violation of the
++      No_Exception_Propagation restriction.
++
++      * s-rident.ads: Add new restriction No_Exception_Propagation
++
++      * tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): New
++      function, like Make_Exception_Handler but sets Local_Raise_Statements
++      to No_List.
++      (Add_Unique_Serial_Number): Deal with case where this is called during
++      processing of configuration pragmas.
++
++2007-04-06  Thomas Quinot  <quinot@adacore.com>
++          Pat Rogers  <rogers@adacore.com>
++          Pascal Obry  <obry@adacore.com>
++
++      * g-stsifd-sockets.adb: New file.
++
++      * g-socthi.ads, g-socket.adb, g-socthi-vxworks.adb,
++      g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi-vms.ads,
++      g-socthi-vms.adb: Move signalling
++      fd management to a nested package, so that they can conveniently be
++      moved to a subunit that is shared across Windows, VMS, and VxWorks
++      (Ada implementation) or completed with imported bodies from socket.c
++      (UNIX case).
++      (Read_Signalling_Fd, Write_Signalling_Fd, Create_Signalling_Fds): New
++      subprograms.
++      (Check_Selector): Use Read_Signalling_Fd to read and discard data from
++      the signalling file descriptor.
++      (Abort_Selector): Use Write_Signalling_Fd to write dummy data to the
++      signalling file descriptor.
++      (Create_Selector): Use new C-imported subprogram Create_Signalling_Fds
++      instead of creating a pair of sockets for signalling here.
++
++      * g-socthi.adb: Ditto.
++      Set the runtime process to ignore SIGPIPEs on platforms that support
++      neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality.
++
++      * g-socthi-mingw.adb: Ditto.
++      (WS_Version): Use Windows 2.2.
++      Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API.
++
++      * g-soliop-mingw.ads: Link with ws2_32 for Windows 2.x support.
++      Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API.
++
++      * Makefile.in: New libgnat pair g-stsifd.adb<g-stsifd-sockets.adb.
++      added GNAT byte swapping facility
++      Update FreeBSD THREADSLIB from -lc_r to -lpthread, for FreeBSD 6.
++
++      * g-bytswa.adb, g-bytswa-x86.adb, g-bytswa.ads: New files.
++
++      * socket.c (__gnat_read_signalling_fd, __gnat_write_controlling_fd):
++      New subprograms.
++      (__gnat_create_signalling_fds): New subprogram.
++      Set the runtime process to ignore SIGPIPEs on platforms that support
++      neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality.
++
++2007-04-06  Hristian Kirtchev  <kirtchev@adacore.com>
++          Vincent Celier  <celier@adacore.com>
++
++      * a-calend-vms.ads, a-calend.ads, a-calend.adb, a-calend-vms.adb:
++      New version of Ada.Calendar which supports the new upper bound of Ada
++      time (2399-12-31 86_399.999999999).
++      The following modifications have been made to the package:
++       - New representation of time as count of nanoseconds since the start of
++         Ada time (1901-1-1 0.0).
++       - Target independent Split and Time_Of routines which service both
++         Ada 95 and Ada 2005 code.
++       - Target independent interface to the Ada 2005 children of Calendar.
++       - Integrated leap seconds into Ada 95 and Ada 2005 mode.
++       - Handling of non-leap centenial years.
++       - Updated clock function.
++       - Updated arithmetic and comparison operators.
++
++      * a-caldel.adb (To_Duration): Add call to target independent routine in
++      Ada.Calendar to handle the conversion of time to duration.
++
++      * sysdep.c (__gnat_localtime_tzoff): Test timezone before setting off
++      (UTC Offset).
++      If timezone is obviously incorrect (outside of -14 hours .. 14 hours),
++      set off to 0.
++      (__gnat_localtime_tzoff for Lynx and VxWorks): Even though these
++      targets do not have a natural time zone, GMT is used as a default.
++      (__gnat_get_task_options): New.
++
++      * a-direct.adb (Modification_Time): Add with and use clauses for
++      Ada.Calendar and Ada.
++      Calendar.Formatting. Remove with clause for Ada.Unchecked_Conversion
++      since it is no longer needed.
++      (Duration_To_Time): Removed.
++      (OS_Time_To_Long_Integer): Removed.
++      (Modification_Time): Rewritten to use Ada.Calendar and Ada.Calendar.
++      Formatting Time_Of routines which automatically handle time zones,
++      buffer periods and leap seconds.
++
++      * a-calari.ads, a-calari.adb ("+", "-", Difference): Add calls to
++      target independent routines in Ada.Calendar.
++
++      * a-calfor.ads, a-calfor.adb:
++      Code cleanup and addition of validity checks in various routines.
++      (Day_Of_Week, Split, Time_Of): Add call to target independent routine in
++      Ada.Calendar.
++
++      * a-catizo.ads, a-catizo.adb (UTC_Time_Offset): Add call to target
++      independent routine in Ada.Calendar.
++
++2007-04-06  Olivier Hainque  <hainque@adacore.com>
++
++      * adaint.c:
++      (convert_addresses): Adjust prototype and dummy definition to expect an
++       extra file_name argument.
++
++      * gmem.c (__gnat_convert_addresses): Wrapper to convert_addresses,
++      filling the now expected file_name argument with the appropriate
++      argv[0] expansion.
++      (__gnat_gmem_a2l_initialize, __gnat_gmem_read_next_frame): Use it.
++      (tracebk): Array of void * instead of char *, corresponding to what
++       convert_addresses expects.
++      (exename): New static global, to hold the executable file name to be
++      used in all convert_addresses invocations.
++      (gmem_read_backtrace, __gnat_gmem_symbolic): Account for tracebk type
++      change.
++      (__gnat_gmem_a2l_initialize): Resolve exename.
++      (__gnat_convert_addresses): Use exename as the convert_addresses
++      file_name argument.
++
++      * g-trasym.adb (Symbolic_Traceback): Adjust signature of imported
++      "convert_addresses", now expecting a filename argument. Import the
++      necessary entities to compute the filename to use and pass it to
++      convert_addresses.
++
++2007-04-06  Matt Gingell  <gingell@adacore.com>
++
++      * system-aix.ads: Back out previous change.
++      (Functions_Return_By_DSP): Removed
++
++2007-04-06  Pascal Obry  <obry@adacore.com>
++
++      * s-osprim-mingw.adb (Timed_Delay): Use the right clock (standard one
++      or the monotonic used by Ada.Real_Time) to compute the sleep duration
++      on Windows.
++
++2007-04-06  Jose Ruiz  <ruiz@adacore.com>
++
++      * s-osinte-vxworks.ads, s-osinte-vxworks.adb (VX_FP_TASK): Remove this
++      function. Its value changes in different VxWorks versions, and it is
++      now handled by the function __gnat_get_task_options.
++
++      * s-taprop-vxworks.adb (Create_Task): Call the function
++      __gnat_get_task_options to get the required options for creating a task.
++
++2007-04-06  Pascal Obry  <obry@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++
++      * adaint.c: Replace all occurences of S2WS to S2WSU (Unicode) when
++      dealing with filename.
++      (__gnat_fopen): Call the proper macro (8bits or UTF8) to convert the
++      filename from a standard string to a wide-string depending on the
++      encoding value.
++      (__gnat_freopen): Idem.
++      (__gnat_current_time): New function (wrapper for time(3) standard C
++      function).
++
++      * g-os_lib.ads (Current_Time): New function. Returns the current
++      system time as an OS_Time value.
++
++      * s-osprim.ads (Clock): Add more precise definition of UNIX epoch.
++      (Monotonic_Clock): Same.
++
++2007-04-06  Quentin Ochem  <ochem@adacore.com>
++
++      * ali.ads, ali.adb (Get_Nat): Raise an exception if the file cursor is
++      not on a natural.
++      (Scan_ALI): Cancel the xref line if there has been a reading ALI error.
++
++2007-04-06  Jose Ruiz  <ruiz@adacore.com>
++
++      * a-retide.adb: Add elaboration code to ensure that the tasking run
++      time is initialized when using delay operations even when no task is
++      created.
++
++2007-04-06  Javier Miranda  <miranda@adacore.com>
++
++      * a-tags.ads, a-tags.adb (Object_Specific_Data): Remove
++      component Num_Prim_Ops.
++      (Set_Num_Prim_Ops): Removed.
++      Remove all the assertions because all the routines of this
++      package are inline always.
++      (Get_Offset_Index): Add support to primary dispatch tables.
++      Move the documentation about the dispatch table to a-tags.ads
++      (Set_External_Tag): Removed
++      (Inherit_TSD): Removed.
++      (Interface_Data_Element, Interfaces_Array, Interface_Data): Declarations
++      moved to a-tags.ads
++      (Displace, IW_Membership, Inherit_TSD, Interface_Ancestor_Tags,
++      Register_Interface_Tag, Set_Offset_To_Top): Update all the occurrences
++      of the TSD field "Table" because this field has been renamed to
++      "Ifaces_Table".
++      (Inherit_CPP_DT): Removed.
++      (K_Typeinfo, K_Offset_To_Top, K_Tagged_Kind, K_Signature,
++      Cstring, Tag_Table, Type_Specific_Data, Dispatch_Table): These
++      declarations have been moved to a-tags.ads
++      (Check_Size): Removed.
++      (Expanded_Name): Updated to get access to the new field of TSD
++      containing the address of the expanded name.
++      (Get_Access_Level/Set_Access_Level): Removed.
++      (Get_Predefined_Prim_Op_Address): Removed.
++      (Set_Predefined_Prim_Op_Address): Removed.
++      (Get_Prim_Op_Address/Set_Prim_Op_Address): Removed.
++      (Get_Remotely_Callable/Set_Remotely_Callable): Removed.
++      (Set_Expanded_Name): Removed.
++      (Inherit_DT): Removed.
++      (Inherit_CPP_DT): Removed.
++      (Set_RC_Offset): Removed.
++      (Set_TSD): Removed.
++      (Base_Address): New function that displaces "this" to point to the base
++      of the object (that is, to point to the primary tag of the object).
++
++2007-04-06  Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * exp_ch3.ads, exp_ch3.adb (Analyze_N_Full_Type_Declaration): For an
++      anonymous access component, do not create a master_id if type already
++      has one, as may happen if the type is a subcomponent of a packed array
++      type.
++      (Build_Init_Procedure, Component_Needs_Simple_Initialization,
++      Initialize_Tag): Remove code associated with the old CPP pragmas.
++      CPP_Virtual and CPP_Vtable are no longer supported.
++      (Build_Offset_To_Top_Internal): Add support for concurrent record types
++      (Build_Offset_To_Top_Functions): Add support for concurrent record types
++      (Freeze_Record_Type): Remove call to
++      Init_Predefined_Interface_Primitives.
++      (Init_Secondary_Tags.Initialize_Tag): New subprogram containing all the
++      code required to initialize the tags of the secondary dispatch tables.
++      This leaves the algoritm more clear.
++      (Init_Secondary_Tags): Add support for concurrent record types
++      (Make_Predefined_Primitive_Specs): Code cleanup.
++      (Predefined_Primitive_Bodies): Code cleanup.
++      (Build_Master_Renaming): New local subprogram.
++      (Expand_N_Full_Type_Declaration): Build the master_id associated with
++      anonymous access to task type components.
++      (Expand_N_Subtype_Indication): The bounds of a range constraint in a
++      subtype indication are resolved during analysis, and must not be done
++      here.
++      (Stream_Operation_OK): Check Restriction_Active before RTE_Available.
++
++2007-04-06  Geert Bosch  <bosch@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++          Bob Duff  <duff@adacore.com>
++
++      * exp_ch4.adb (Expand_N_Type_Conversion): Remove special processing
++      for conversion of a Float_Type'Truncation to integer.
++
++      * exp_attr.adb (Is_Inline_Floating_Point_Attribute): New function to
++      check if a node is an attribute that can be handled directly by the
++      back end.
++      (Expand_N_Attribute_Reference): Suppress expansion of floating-point
++      attributes that can be handled directly by the back end.
++      (Expand_N_Attribute_Reference, case 'Access and 'Unchecked_Access):
++      use new predicate Is_Access_Protected_Subprogram_Type.
++      (Expand_N_Attribute_Reference, case 'Write): The reference is legal for
++      and Unchecked_Union if it is generated as part of the default  Output
++      procedure for a type with default discriminants.
++      (Expand_N_Attribute_Reference): Avoid the expansion of dispatching calls
++      if we are compiling under restriction No_Dispatching_Calls.
++      (Constrained): Use Underlying_Type, in case the type is private without
++      discriminants, but the full type has discriminants.
++      (Expand_N_Attribute_Reference): Replace call to Get_Access_Level by
++      call to Build_Get_Access_Level.
++      (Expand_N_Attribute_Reference): The use of 'Address with class-wide
++      interface objects requires a call to the run-time subprogram that
++      returns the base address of the object.
++      (Valid_Conversion): Improve error message on illegal attempt to store
++      an anonymous access to subprogram value into a record component.
++
++      * sem_res.adb (Resolve_Equality_Op): Detect ambiguity for "X'Access =
++      null".
++      (Simplify_Type_Conversion): New procedure that performs simplification
++      of Int_Type (Float_Type'Truncation (X)).
++      (Resolve_Type_Conversion): Call above procedure after resolving operand
++      and before performing checks. This replaces the existing ineffective
++      code in Exp_Ch4.
++      (Set_String_Literal_Subtype): When creating the internal static lower
++      bound subtype for a string literal, use a newly created copy of the
++      subtree representing the lower bound.
++      (Resolve_Call): Exclude build-in-place function calls from transient
++      scope treatment. Update comments to describe this exception.
++      (Resolve_Equality_Op): In case of dispatching call check violation of
++      restriction No_Dispatching_Calls.
++      (Resolve_Call): If the call returns an array, the context imposes the
++      component type of the array, and the function has one non-defaulted
++      parameter, rewrite the call as the indexing of a call with a single
++      parameter, to handle an Ada 2005 syntactic ambiguity for calls written
++      in prefix form.
++      (Resolve_Actuals): If an actual is an allocator for an access parameter,
++      the master of the created object is the innermost enclosing statement.
++      (Remove_Conversions): For a binary operator, check if type of second
++      formal is numeric, to check if an abstract interpretation is present
++      in the case of exponentiation as well.
++
++2007-04-06  Ed Schonberg  <schonberg@adacore.com>
++          Bob Duff  <duff@adacore.com>
++
++      * atree.h, atree.ads, atree.adb (Copy_Node_With_Replacement): When
++      copying a parameter list in a call, set properly the First_Named_Formal
++      and Next_Named_Formal fields in the new list and in the enclosing call.
++      (Watch_Node,New_Node_Breakpoint,New_Node_Debugging_Output): Shorten
++      names, to ease typing in the debugger. Improve comments.
++      (Watch_Node): New variable, intended to be set in the debugger.
++      (New_Node_Breakpoint): New do-nothing procedure to set a breakpoint on,
++      called when the watched node is created.
++      (New_Node_Debugging_Output): Combined version of local procedures
++      New_Node_Debugging_Output and New_Entity_Debugging_Output, now global,
++      with a parameter so that conditional breakpoints like "if Node = 12345"
++      work.
++      (New_Node, New_Entity): Call the global New_Node_Debugging_Output.
++      Add Elist1 function
++
++2007-04-06  Thomas Quinot  <quinot@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * checks.ads, checks.adb (Selected_Range_Checks): No range check is
++      required for a conversion between two access-to-unconstrained-array
++      types.
++      (Expr_Known_Valid): Validity checks do not apply to discriminants, but
++      to discriminant constraints on discriminant objects. This rule must
++      apply as well to discriminants of protected types in private components.
++      (Null_Exclusion_Static_Checks): If No_Initialization is set on an
++      object of a null-excluding access type then don't require the
++      the object declaration to have an expression and don't emit a
++      run-time check.
++
++2007-04-06  Arnaud Charlet  <charlet@adacore.com>
++          Eric Botcazou  <botcazou@adacore.com>
++
++      * gnatvsn.ads, comperr.adb (Get_Gnat_build_Type): Renamed Build_Type
++      and made constant.
++
++      * comperr.ads, comperr.adb (Compiler_Abort): Add third parameter
++      Fallback_Loc. Use it as the sloc info when Current_Error_Node doesn't
++      carry any.
++
++      * fe.h (Compiler_Abort): Add third parameter.
++
++      * misc.c (internal_error_function): Build third argument from current
++      input location and pass it to Compiler_Abort.
++
++2007-04-06  Gary Dismukes  <dismukes@adacore.com>
++
++      * cstand.adb (Create_Standard): When the target's storage unit size is
++      greater than a byte, set Has_Non_Standard_Rep and Has_Pragma_Pack on
++      Standard_String.
++
++2007-04-06  Nicolas Roche  <roche@adacore.com>
++
++      * cstreams.c (__gnat_full_name): Fix issues on VxWorks 6.x for which
++      absolute path can have the following form: device:/a/b. In this case
++      '/' should be inserted between the path and the filename.
++
++2007-04-06  Olivier Hainque  <hainque@adacore.com>
++          Eric Botcazou  <botcazou@adacore.com>
++
++      * decl.c (gnat_to_gnu_entity) <E_Constant>: Associate an external
++      VAR_DECL to a CONST_DECL we make for a public constant when we know the
++      corresponding definition has created the so made visible variable.
++      Handle anonymous access to protected subprogram.
++      (gnat_to_gnu_entity) <E_Variable>: Do not make the underlying type of an
++      object with an address clause volatile.  Re-enable original fix.
++      <E_Subprogram_Type>: Set TYPE_REF_CAN_ALIAS_ALL on the reference type
++      too.
++      (gnat_to_gnu_entity) <E_Class_Wide_Type>: Retrieve the TYPE_DECL
++      associated with either the Equivalent or Root type, instead of the
++      naked type node.
++      (gnat_to_gnu_entity): Manually mark the top of the DECL_FIELD_OFFSET
++      subtree for every field of a global record type.
++      (gnat_to_gnu_entity) <E_Record_Subtype>: If the subtype has
++      discriminants, invoke again variable_size on its newly computed sizes.
++
++2007-04-06  Robert Dewar  <dewar@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Bob Duff  <duff@adacore.com>
++
++      * einfo.ads, einfo.adb: (First_Component_Or_Discriminant): New function
++      (Next_Component_Or_Discriminant): New function and procedure
++      (First_Index, First_Literal, Master_Id,
++      Set_First_Index, Set_First_Literal, Set_Master_Id):
++      Add missing Ekind assertions.
++      (Is_Access_Protected_Subprogram_Type): New predicate.
++      (Has_RACW): New entity flag, set on package entities to indicate that
++      the package contains the declaration of a remote accecss-to-classwide
++      type.
++      (E_Return_Statement): This node type has the Finalization_Chain_Entity
++      attribute, in case the result type has controlled parts.
++      (Requires_Overriding): Add this new flag, because "requires
++      overriding" is subtly different from "is abstract" (see AI-228).
++      (Is_Abstract): Split Is_Abstract flag into Is_Abstract_Subprogram and
++      Is_Abstract_Type. Make sure these are called only when appropriate.
++      (Has_Pragma_Unreferenced_Objects): New flag
++
++      * exp_ch5.adb (Expand_N_Assignment_Statement): If the left-hand side is
++      class-wide, the tag of the right-hand side must be an exact match, not
++      an ancestor of that of the object on left-hand side.
++      (Move_Activation_Chain): New procedure to create the call to
++      System.Tasking.Stages.Move_Activation_Chain.
++      (Expand_N_Extended_Return_Statement): Generate code to call
++      System.Finalization_Implementation.Move_Final_List at the end of a
++      return statement if the function's result type has controlled parts.
++      Move asserts to Build_In_Place_Formal.
++      (Move_Final_List): New function to create the call statement.
++      (Expand_N_Assignment_Statement): In case of assignment to a class-wide
++      tagged type, replace generation of call to the run-time subprogram
++      CW_Membership by call to Build_CW_Membership.
++      (Expand_N_Return_Statement): Replace generation of call to the run-time
++      subprogram Get_Access_Level by call to Build_Get_Access_Level.
++      (Expand_N_Simple_Function_Return): Replace generation of call to the
++      run-time subprogram Get_Access_Level by call to Build_Get_Access_Level.
++
++      * exp_ch6.ads, exp_ch6.adb (Expand_Call): Use new predicate
++      Is_Access_Protected_Subprogram_Type, to handle both named and anonymous
++      access to protected operations.
++      (Add_Task_Actuals_To_Build_In_Place_Call): New procedure to add the
++      master and chain actual parameters to a build-in-place function call
++      involving tasks.
++      (BIP_Formal_Suffix): Add new enumeration literals to complete the case
++      statement.
++      (Make_Build_In_Place_Call_In_Allocator,
++      Make_Build_In_Place_Call_In_Anonymous_Context,
++      Make_Build_In_Place_Call_In_Assignment,
++      Make_Build_In_Place_Call_In_Object_Declaration): Call
++      Add_Task_Actuals_To_Build_In_Place_Call with the appropriate master.
++      (Expand_Inlined_Call): If the subprogram is a null procedure, or a
++      stubbed procedure with a null body, replace the call with a null
++      statement without using the full inlining machinery, for efficiency
++      and to avoid invalid values in source file table entries.
++
++      * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Add support for
++      renamings of calls to build-in-place functions.
++
++      * rtsfind.adb (RTE_Record_Component_Available): New subprogram that
++      provides the functionality of RTE_Available to record components.
++      (RTU_Entity): The function Entity has been renamed to RTU_Entity
++      to avoid undesired overloading.
++      (Entity): New subprogram that returns the entity for the referened
++      unit. If this unit has not been loaded, it returns Empty.
++      (RE_Activation_Chain_Access, RE_Move_Activation_Chain): New entities.
++      Remove no longer used entities.
++      (RE_Finalizable_Ptr_Ptr, RE_Move_Final_List): New entities.
++      (RE_Type_Specific_Data): New entity.
++      (RE_Move_Any_Value): New entity.
++      (RE_TA_A, RE_Get_Any_Type): New entities.
++      (RE_Access_Level, RE_Dispatch_Table, E_Default_Prim_Op_Count,
++       RE_Prims_Ptr, RE_RC_Offset, RE_Remotely_Callable,
++       RE_DT_Typeinfo_Ptr_Size, RE_Cstring_Ptr, RE_DT_Expanded_Name): Added.
++      (Entity): New subprogram that returns the entity for the referened
++      unit. If this unit has not been loaded, it returns Empty.
++      (RTE): Addition of a new formal that extends the search to the scopes
++      of the record types found in the chain of the package.
++
++      * sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Print
++      "abstract subprograms must be visible" message, whether or not the type
++      is an interface; that is, remove the special case for interface types.
++      (Analyze_Function_Return): Remove error message "return of task objects
++      is not yet implemented" because this is now implemented.
++      (Create_Extra_Formals): Add the extra master and activation chain
++      formals in case the result type has tasks.
++      Remove error message "return of limited controlled objects is not yet
++      implemented".
++      (Create_Extra_Formals): Add the extra caller's finalization list formal
++      in case the result type has controlled parts.
++      (Process_Formals): In case of access formal types there is no need
++      to continue with the analysis of the formals if we already notified
++      errors.
++      (Check_Overriding_Indicator): Add code to check overriding of predefined
++      operators.
++      (Create_Extra_Formals): Prevent creation of useless Extra_Constrained
++      flags for formals that do not require them,.
++      (Enter_Overloaded_Entity): Do not give -gnatwh warning message unless
++      hidden entity is use visible or directly visible.
++      (Analyze_Abstract_Subprogram_Declaration,Analyze_Subprogram_Body,
++      Analyze_Subprogram_Declaration,Analyze_Subprogram_Specification,
++      Check_Conventions,Check_Delayed_Subprogram,Make_Inequality_Operator,
++      New_Overloaded_Entity): Split Is_Abstract flag into
++      Is_Abstract_Subprogram and Is_Abstract_Type.
++
++      * s-finimp.ads, s-finimp.adb (Move_Final_List): New procedure to move
++      a return statement's finalization list to the caller's list, used for
++      build-in-place functions with result type with controlled parts.
++      Remove no longer used entities.
++
++      * s-taskin.ads (Activation_Chain): Remove pragma Volatile. It is no
++      longer needed, because the full type is now limited, and therefore a
++      pass-by-reference type.
++      (Foreign_Task_Level): New constant.
++
++      * s-tassta.ads, s-tassta.adb (Move_Activation_Chain): New procedure to
++      move tasks from the activation chain belonging to a return statement to
++      the one passed in by the caller, and update the master to the one
++      passed in by the caller.
++      (Vulnerable_Complete_Master, Check_Unactivated_Tasks): Check the master
++      of unactivated tasks, so we don't kill the ones that are being returned
++      by a build-in-place function.
++      (Create_Task): Ignore AI-280 for foreign threads.
++
++2007-04-06  Ed Schonberg  <schonberg@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++          Bob Duff  <duff@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * errout.adb (Unwind_Internal_Type): Use predicate
++      Is_Access__Protected_Subprogram_Type.
++
++      * freeze.adb (Size_Known): Use First/Next_Component_Or_Discriminant
++      (Freeze_Entity, packed array case): Do not override explicitly set
++      alignment and size clauses.
++      (Freeze_Entity):  An entity declared in an outer scope can be frozen if
++      the enclosing subprogram is a child unit body that acts as a spec.
++      (Freeze_Entity): Use new predicate Is_Access_Protected_Subprogram_Type.
++      (Freeze_Record_Type): New Ada 2005 processing for reverse bit order
++      Remove all code for DSP option
++
++      * layout.adb (Layout_Record_Type): Use First/
++      Next_Component_Or_Discriminant
++      (Layout_Type): Use new predicate Is_Access_Protected_Subprogram_Type,
++      to handle properly the anonymous access case.
++
++      * sem_attr.adb (Build_Access_Object_Type): Use E_Access_Attribute_Type
++      for all access attributes, because overload resolution should work the
++      same for 'Access, 'Unchecked_Access, and 'Unrestricted_Access. This
++      causes the error message for the ambiguous "X'Access = Y'Access" and
++      "X'Unrestricted_Access = Y'Access" and so forth to match.
++      (Resolve_Attribute, case 'Access): Remove use of Original_Access_Type,
++      now that anonymous access to protected operations have their own kind.
++      (Resolve_Attribute): In case of dispatching call check the violation of
++      restriction No_Dispatching_Calls.
++      (Check_Array_Type): Check new -gnatyA array index style option
++
++      * sem_ch3.ads, sem_ch3.adb (Derived_Type_Declaration): Reject an
++      attempt to derive from a synchronized tagged type.
++      (Analyze_Type_Declaration): If there is a incomplete tagged view of the
++      type, inherit the class-wide type already created, because it may
++      already have been used in a self-referential anonymous access component.
++      (Mentions_T): Recognize self-referential anonymous access components
++      that use (a subtype of) the class-wide type of the enclosing type.
++      (Build_Derived_Record_Type): Add earlier setting of Is_Tagged_Type. Pass
++      Derived_Type for Prev formal on call to
++      Check_Anonymous_Access_Components rather than Empty.
++      (Make_Incomplete_Type_Declaration): Add test for case where the type has
++      a record extension in deciding whether to create a class-wide type,
++      rather than just checking Tagged_Present.
++      (Replace_Anonymous_Access_To_Protected_Subprogram): Procedure applies
++      to stand-alone object declarations as well as component declarations.
++      (Array_Type_Declaration): Initialize Packed_Array_Type to Empty, to
++      prevent accidental overwriting when enclosing package appears in
++      a limited_with_clause.
++      (Array_Type_Declaration): If the component type is an anonymous access,
++      the associated_node for the itype is the type declaration itself.
++      (Add_Interface_Tag_Components): Modified to support concurrent
++      types with abstract interfaces.
++      (Check_Abstract_Interfaces): New subprogram that verifies the ARM
++      rules 3.9.4 (15/2), 9.1 (9.d/2) and 9.4 (11.d/2).
++      (Build_Derived_Record_Type): Add call to Analyze_Interface_Declaration
++      to complete the decoration of synchronized interface types. Add also
++      a call to Check_Abstract_Interfaces to verify the ARM rules.
++      (Derive_Interface_Subprograms): Modified to support concurrent types
++      with abstract interfaces.
++      (Analyze_Subtype_Indication): Resolve the range with the given subtype
++      mark, rather than delaying the full resolution depending on context.
++      (Analyze_Component_Declaration,Analyze_Interface_Declaration,
++      Analyze_Object_Declaration,Analyze_Subtype_Declaration,
++      Array_Type_Declaration,Build_Derived_Record_Type,
++      Build_Discriminated_Subtype,Check_Abstract_Overriding,Check_Completion,
++      Derive_Interface_Subprograms,Derive_Subprogram,Make_Class_Wide_Type,
++      Process_Full_View,Record_Type_Declaration): Split Is_Abstract flag into
++      Is_Abstract_Subprogram and Is_Abstract_Type. Make sure these are
++      called only when appropriate.
++      (Copy_And_Swap): Copy Has_Unreferenced_Objects flag from full type
++      to private type.
++      (Analyze_Subtype_Declaration): For an access subtype declaration, create
++      an itype reference for the anonymous designated subtype, to prevent
++      scope anonmalies in gigi.
++      (Build_Itype_Reference): New utility, to simplify construction of such
++      references.
++
++2007-04-06  Vincent Celier  <celier@adacore.com>
++
++      * errutil.adb (Initialize): Initialize warnings table, if all warnings
++      are suppressed, supply an initial dummy entry covering all possible
++      source locations.
++
++      * make.adb (Scan_Make_Arg): Reject options that should start with "--"
++      and start with only one, such as "-RTS=none".
++      (Collect_Arguments): Do not check for sources outside of projects.
++      Do not collect arguments if project is externally built.
++      (Compile_Sources): Do nothing, not even check if the source is up to
++      date, if its project is externally built.
++      (Compile): When compiling a predefined source, add -gnatpg
++      as the second switch, after -c.
++      (Compile_Sources): Allow compilation of Annex J renames without -a
++      (Is_In_Object_Directory): Check if the ALI file is in the object
++      even if there is no project extension.
++      (Create_Binder_Mapping_File): Only put a unit in the mapping file for
++      gnatbind if the ALI file effectively exists.
++      (Initialize): Add the directory where gnatmake is invoked in front of
++      the path if it is invoked from a bin directory, even without directory
++      information, so that the correct GNAT tools will be used when spawned
++      without directory information.
++
++      * makeusg.adb: Change switch -S to -eS
++      Add lines for new switches -we, -wn and -ws
++      Add line for new switch -p
++
++      * prj-proc.adb (Process): Set Success to False when Warning_Mode is
++      Treat_As_Error and there are warnings.
++
++      * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Do not skip
++      -gnatww Change gnatmake switch -S to -eS
++      (Scan_Make_Switches): Code reorganisation. Process separately multi
++      character switches and single character switches.
++      (Scan_Make_Switches): New Boolean out parameter Success. Set Success to
++      False when switch is not recognized by gnatmake.
++      (Scan_Make_Switches): Set Setup_Projects True when -p or
++      --create-missing-dirs is specified.
++
++      * fname.adb (Is_Predefined_File_Name): Return True for annex J
++      renamings Calendar, Machine_Code, Unchecked_Conversion and
++      Unchecked_Deallocation only when Renamings_Included is True.
++
++      * par.adb: Allow library units Calendar, Machine_Code,
++      Unchecked_Conversion and Unchecked_Deallocation to be recompiled even
++      when -gnatg is not specified.
++      (P_Interface_Type_Definition): Remove the formal Is_Synchronized because
++      there is no need to generate always a record_definition_node in case
++      of synchronized interface types.
++      (SIS_Entry_Active): Initialize global variable to False
++      (P_Null_Exclusion): For AI-447: Add parameter Allow_Anonymous_In_95 to
++      indicate cases where AI-447 says "not null" is legal.
++
++      * makeutl.ads, makeutil.adb (Executable_Prefix_Path): New function
++
++      * makegpr.adb (Check_Compilation_Needed): Take into account dependency
++      files with with several lines starting with the object fileb name.
++      (Scan_Arg): Set Setup_Projects True when -p or --create-missing-dirs
++      is specified.
++      (Initialize): Add the directory where gprmake is invoked in front of the
++      path, if it is invoked from a bin directory or with directory
++      information, so that the correct GNAT tools will be used when invoked
++      directly.
++      (Check_Compilation_Needed): Process correctly backslashes on Windows.
++
++      * vms_data.ads: Update switches/qualifiers
++
++2007-04-06  Ed Schonberg  <schonberg@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++
++      * exp_aggr.adb:
++      If the array component is a discriminated record, the array aggregate
++      is non-static even if the component is given by an aggregate with
++      static components.
++      (Expand_Record_Aggregate): Use First/Next_Component_Or_Discriminant
++      (Convert_Aggr_In_Allocator): If the allocator is for an access
++      discriminant and the type is controlled. do not place on a finalization
++      list at this point. The proper list will be determined from the
++      enclosing object.
++      (Build_Record_Aggr_Code): If aggregate has box-initialized components,
++      initialize record controller if needed, before the components, to ensure
++      that they are properly finalized.
++      (Build_Record_Aggr_Code): For the case of an array component that has a
++      corresponding array aggregate in the record aggregate, perform sliding
++      if required.
++
++2007-04-06  Javier Miranda  <miranda@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_ch13.adb (Expand_External_Tag_Definition): Replace call to the
++      run-time subprogram Set_External_Tag by call to Build_Set_External_Tag.
++
++      * exp_ch4.adb (Expand_Allocator_Expression): Don't perform a run-time
++      accessibility on class-wide allocators if the allocator occurs at the
++      same scope level as the allocator's type. The check is guaranteed to
++      succeed in that case, even when the expression originates from a
++      parameter of the containing subprogram.
++      (Expand_N_Op_Eq): Do nothing in case of dispatching call if compiling
++      under No_Dispatching_Calls restriction. During the semantic analysis
++      we already notified such violation.
++      (Tagged_Membership): Constant folding. There is no need to check
++      the tag at run-time if the type of the right operand is non
++      class-wide abstract.
++      Replace call to Is_Ancestor by call to Is_Parent
++      to support concurrent types with interface types.
++      (Expand_N_Allocator): Add an assertion associated with the generation
++      of the master_id.
++      (Expand_N_Slice): Do not enable range check to nodes associated
++      with the frontend expansion of the dispatch table.
++      (Is_Local_Access_Discriminant): Subsidiary function to
++      Expand_N_Allocator.
++      (Tagged_Membership): Replace generation of call to the run-time
++      subprogram CW_Membership by call to Build_CW_Membership.
++      (Expand_Allocator_Expression): Replace generation of call to the
++      run-time subprogram Get_Access_Level by call to Build_Get_Access_Level.
++
++      * exp_disp.ads, exp_disp.adb (Make_DT): Code reorganization to
++      initialize most the TSD components by means of an aggregate.
++      Modify the declaration of the object containing the TSD
++      because we now expand code that has a higher level of abstraction.
++      The TSD has a discriminant containing the Inheritance Depth Level,
++      value that is used in the membership test but also to fix the size
++      of the table of ancestors.
++      (Expand_Interface_Conversion): Insert function body at the closest place
++      to the conversion expression, to prevent access-before-elaboration
++      errors in the backend.
++      Code improved to reduce the size of the dispatch table if
++      compiling under restriction No_Dispatching_Calls plus code cleanup.
++      Code reorganization plus removal of calls to Set_Num_Prim_Ops
++      (Make_Secondary_DT): Remove call to Set_Num_Prim_Ops.
++      (Expand_Dispatching_Call): Minor code reorganization plus addition of
++      code to return immediately if compiling under No_Dispatching_Calls
++      restriction.
++      (Set_All_DT_Position): Remove code associated with the old CPP pragmas.
++      CPP_Virtual and CPP_Vtable are no longer supported.
++      (Expand_Interface_Conversion): Add missing support for interface type
++      derivations.
++      (Expand_Interface_Actuals): Replace calls to Is_Ancestor by calls to
++      Is_Parent to support concurrent types with interfaces.
++      (Init_Predefined_Interface_Primitives): Removed.
++      (Make_Secondary_DT): Modified to support concurrent record types.
++      (Set_All_DT_Position): Modified to support concurrent record types.
++      (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entries associated
++      with Get_External_Tag, Inherit_TSD, Set_External_Tag.
++      (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entry associated
++      with CW_Membership.
++      (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entries associated
++      with Get_Access_Level, Get_Predefined_Prim_Op_Address,
++      Get_Prim_Op_Address Get_RC_Offset, Get_Remotely_Callable, Inherit_DT,
++      Set_Access_Level, Set_Expanded_Name, Set_Predefined_Prim_Op_Address,
++      Set_Prim_Op_Address, Set_RC_Offset, Set_Remotely_Callable, Set_TSD.
++      (Expand_Dispatching_Call): Replace generation of call to the run-time
++      subprograms Get_Predefined_Prim_Op_Address and Get_Prim_Op_Address by
++      calls to Build_Get_Predefined_Prim_Op_Address, and Build_Get_Prim_Op_
++      Address.
++      (Fill_DT_Entry, Fill_Secondary_DT_Entry): Replace generation of call to
++      the run-time subprograms Set_Predefined_Prim_Op_Address and Set_Prim_
++      Op_Address by calls to Build_Set_Predefined_Prim_Op_Address, and
++      Build_Set_Prim_Op_Address.
++      (Get_Remotely_Callable): Subprogram removed.
++      (Init_Predefined_Interface_Primitives): Replace generation of call to
++      the run-time subprograms Inherit_DT by call to Build_Inherit_Predefined_
++      Prims.
++
++      * sem_elab.adb (Set_Elaboration_Constraint): Replace the call to
++      First (Parameter_Associations ()) with the call to First_Actual that
++      returns an actual parameter expression for both named and positional
++      associations.
++
++      * sem_disp.adb (Check_Dispatching_Call): In case of dispatching call
++      check violation of restriction No_Dispatching_Calls.
++      (Check_Controlling_Type): A formal of a tagged incomplete type is a
++      controlling argument.
++
++      * exp_util.ads, exp_util.adb (Type_May_Have_Bit_Aligned_Components): Use
++      First/Next_Component_Or_Discriminant
++      (Insert_Actions): Add entries for new N_Push and N_Pop nodes
++      (Find_Implemented_Interface): Removed. All the calls to this subprogram
++      specify Any_Limited_Interface, and this functionality is already
++      provided by the function Has_Abstract_Interfaces.
++      (Find_Interface, Find_Interface_Tag, Find_Interface_ADT): Modified to
++      support concurrent types implementing interfaces.
++      (Find_Implemented_Interface): Removed. All the calls to this subprogram
++      specify kind Any_Limited_Interface, and this functionality is already
++      provided by the function Has_Abstract_Interfaces.
++      (Remove_Side_Effects): replace Controlled_Type by
++      CW_Or_Controlled_Type whenever the issue is related to
++      using or not the secondary stack.
++
++      * par-ch12.adb (P_Formal_Type_Definition): Update calls to
++      P_Interface_Type_Definition to fulfill the new interface (the formal
++      Is_Synchronized is no longer required).
++
++      * Make-lang.in (GNAT_ADA_OBJS): Addition of exp_atag.o
++      Update dependencies.
++
++      * exp_atag.ads, exp_atag.adb: New file
++
++2007-04-06  Ed Schonberg  <schonberg@adacore.com>
++          Bob Duff  <duff@adacore.com>
++          Cyrille Comar  <comar@adacore.com>
++
++      * exp_ch7.ads, exp_ch7.adb (Find_Final_List): If the access type is
++      anonymous, use finalization list of enclosing dynamic scope.
++      (Expand_N_Package_Declaration): For a library package declaration
++      without a corresponding body, generate RACW subprogram bodies in the
++      spec (just as we do for the task activation call).
++      (Convert_View): Split Is_Abstract flag into Is_Abstract_Subprogram and
++      Is_Abstract_Type. Make sure these are called only when appropriate.
++      Remove all code for DSP option
++      (CW_Or_Controlled_Type): new subprogram.
++
++2007-04-06  Eric Botcazou  <botcazou@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * exp_ch9.ads, exp_ch9.adb (Family_Offset): Add new 'Cap' boolean
++      parameter. If it is set to true, return a result capped according to
++      the global upper bound for the index of an entry family.
++      (Family_Size): Add new 'Cap' boolean parameter. Pass it to Family_Offset
++      (Build_Find_Body_Index): Adjust for above change.
++      (Entry_Index_Expression): Likewise.
++      (Is_Potentially_Large_Family): New function extracted from...
++      (Collect_Entry_Families): ...here. Call it to detect whether the family
++      is potentially large.
++      (Build_Entry_Count_Expression): If the family is potentially large, call
++      Family_Size with 'Cap' set to true.
++      (Expand_N_Protected_Type_Declaration, Expand_N_Protected_Body): Generate
++      a protected version of an operation declared in the private part of
++      a protected object, because they may be invoked through a callback.
++      (Set_Privals): If the type of a private component is an anonymous access
++      type, do not create a new itype for each protected body.
++      If the body of a protected operation creates
++      controlled types (including allocators for class-widetypes), the
++      body of the corresponding protected subprogram must include a
++      finalization list.
++      (Build_Activation_Chain_Entity): Build the chain entity for extended
++      return statements.
++      (Type_Conformant_Parameters): Use common predicate Conforming_Types
++      to determine whether operation overrides an inherited primitive.
++      (Build_Wrapper_Spec): Add code to examine the parents while looking
++      for a possible overriding candidate.
++      (Build_Simple_Entry_Call): Set No_Initialization on the object used to
++      hold an actual parameter value since its initialization is separated
++      from the the declaration. Prevents errors on null-excluding access
++      formals.
++
++2007-04-06  Thomas Quinot  <quinot@adacore.com>
++          Pablo Oliveira  <oliveira@adacore.com>
++
++      * exp_dist.ads, exp_dist.adb (Build_To_Any_Call, Build_From_Any_Call):
++      Do an Unchecked_Conversion to handle the passage from the Underlying
++      Type to the Base Type when calling Build_To_Any_Call and
++      Build_From_Any_Call.
++      (Build_Actual_Object_Declaration): Set Object's Ekind to E_Variable or
++      E_Constant, depending upon Variable formal.
++      (GARLIC_Support.Build_Subprogram_Receiving_Stubs,
++      PolyORB_Support.Build_Subprogram_Receiving_Stubs): For a formal
++      parameter that requires an extra constrained parameter, declare
++      temporary for actual as a variable, not a constant.
++      (Add_RACW_Primitive_Declarations_And_Bodies): Generate bodies only when
++      the unit being compiled is the one that contains the stub type.
++      Change primitive operation name for the RACW associated with a RAS
++      from Call to _Call so it cannot clash with any legal identifier.
++      (PolyORB_Support.Add_RACW_Write_Attribute): Remove unused constant
++      Is_RAS.
++      (Append_RACW_Bodies): New subprogram.
++      (Expand_Receiving_Stubs_Bodies): Pass a 'Stmts' list to
++      Add_Receiving_Stubs_To_Declarations functions.
++      When expanding a package body, this list correspond to the
++      statements in the HSS at the end of the pacakge.
++      When expanding a package spec, this list correspond to the
++      spec declarations.
++      (Add_Receiving_Stubs_To_Declarations): Append the function
++      registering the receiving stubs at the end of the 'Stmts' list.
++      (RCI_Package_Locator): Pass the new Version generic formal when
++      instantiating a RCI_Locator package.
++      (Build_From_Any_Function): To compute the High bound for an
++      unconstrained array actual, we add the Low bound with the length.
++      Thus we must convert the low bound and the length to an appropriate
++      type before doing the sum.
++      (Build_Subprogram_Receiving_Stubs, PolyORB):
++       * Retrieve the extra formals parameters at the
++         end of the parameter stream.
++       * Use Move_Any_Value to write back out parameters
++         after executing the request as it is more efficient
++         than Copy_Any_Value.
++       * Build the any containing Extra Formals with the
++         appropriate typecode.
++      (PolyORB_Support.Helpers.Append_Record_Traversal): Nothing to do for an
++      empty Component_List.
++      (Build_Actual_Object_Declaration): New subprogram. Build and insert into
++      the tree the declaration for an object that serves as actual parameter
++      in server-side stubs.
++      (GARLIC_Support.Build_Subprogram_Receiving_Stubs,
++      PolyORB_Support.Build_Subprogram_Receiving_Stubs):
++      Use Build_Actual_Object_Declaration to prepare the actuals.
++      (Add_Parameter_To_NVList): Set the parameter mode to In for
++      Extra Constrained Parameters.
++      (Build_General_Calling_Stubs): Set the parameter type to boolean for
++      Extra Constrained parameters.
++      (Build_To_Any_Function, Build_From_Any_Function,
++      Built_TypeCode_Function): When Typ is implicit, call the correct
++      function with the first not implicit parent type.
++      (TC_Rec_Add_Process_Element, FA_Rec_Add_Process_Element,
++      (FA_Ary_Add_Process_Element): When Datum is an Any, we cannot infer the
++      typecode from the Etype. Therefore we retrieve the correct typecode
++      with a call to Get_Any_Type.
++      (Copy_Specification): Do controlling formal type substitution based on
++      Is_Controlling_Formal flag, instead of caller-provided object type.
++      (Build_Subprogram_Calling_Stubs): When retrieveing the original spec for
++      a RACW primitive operation, we might get a subprogram declaration for an
++      ancestor of the RACW designated type (not for the designated type
++      itself), in the case where this operation is inherited. In this case we
++      have no easy means of determining the original tagged type for which
++      the primitive was declared, so instead we now rely on
++      Copy_Specification to use the Is_Controlling_Formal flag to determine
++      which formals require type substitution.
++
++2007-04-06  Robert Dewar  <dewar@adacore.com>
++          Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_intr.adb (Expand_Exception_Call): Calls to subprograms in
++      GNAT.Current_Exception are not allowed if pragma Restrictions
++      (No_Exception_Propagation) is set and in any case make the associated
++      handler unsuitable as a target for a local raise statement.
++      (Expand_Dispatching_Constructor_Call): Replace generation of call to the
++      run-time subprogram CW_Membership by call to Build_CW_Membership.
++      (Expand_Dispatching_Constructor_Call): If the dispatching tag is given
++      by a function call, a temporary must be created before expanding the
++      Constructor_Call itself, to prevent out-of-order elaboration in the
++      back-end when stack checking is enabled..
++
++2007-04-06  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_pakd.adb (Expand_Packed_Boolean_Operator): The bounds of the
++      result are the bounds of the left operand, not the right.
++
++2007-04-06  Ed Schonberg  <schonberg@adacore.com>
++
++      * exp_strm.adb
++      (Build_Mutable_Record_Write_Procedure): For an Unchecked_Union type, use
++       discriminant defaults.
++      (Build_Record_Or_Elementary_Output_Procedure): Ditto.
++      (Make_Component_List_Attributes): Ditto.
++
++2007-04-06  Ed Schonberg  <schonberg@adacore.com>
++          Bob Duff  <duff@adacore.com>
++
++      * sem_aggr.adb (Resolve_Record_Aggregate): In semantics-only mode treat
++      an association with a box as providing a value even though the
++      initialization procedure for the type is not available.
++      (Resolve_Record_Aggregate): Check that a choice of an association with a
++      box corresponds to a component of the type.
++      (Resolve_Record_Aggregate): Split Is_Abstract flag into
++      Is_Abstract_Subprogram and Is_Abstract_Type.
++
++      * exp_tss.adb (Base_Init_Proc): Use Is_Type instead of Type_Kind for
++      assert.
++
++      * inline.adb (Add_Inlined_Body): Split Is_Abstract flag into
++      Is_Abstract_Subprogram and Is_Abstract_Type. Make sure these are
++      called only when appropriate.
++
++2007-04-06  Olivier Hainque  <hainque@adacore.com>
++
++      * g-alleve.ads (Low Level Vector type definitions): Map each to the
++      associated vector view instead of all to the unsigned char view.
++
++      * g-altcon.adb (Generic_Conversions): New internal generic package,
++      offering facilities for all the Vector/View conversion routines
++      implemented by this unit.
++      (To_View/To_Vector - all versions): Reimplemented in a systematic
++      manner, using the internal Generic_Conversions facilities.
++
++2007-04-06  Pascal Obry  <obry@adacore.com>
++
++      * g-arrspl.adb (Free) [Element_Access]: New routine to free the source
++      string.
++      (Create): Free the source string before storing the new one.
++
++2007-04-06  Vincent Celier  <celier@adacore.com>
++
++      * g-debpoo.adb (Validity): New package with a complete new
++      implementation of subprograms Is_Valid and Set_Valid.
++      (Is_Valid): Move to local package Validity
++      (Set_Valid): Move to local package Validity
++
++2007-04-06  Arnaud Charlet  <charlet@adacore.com>
++          Pablo Oliveira  <oliveira@adacore.com>
++
++      * g-expect.adb (Get_Command_Output): When expanding the output buffer
++      we must ensure that there is enough place for the new data we are going
++      to copy in.
++
++2007-04-06  Thomas Quinot  <quinot@adacore.com>
++
++      * g-md5.ads, g-md5.adb (Digest): Fix off-by-one error in padding
++      computation.
++
++2007-04-06  Jose Ruiz  <ruiz@adacore.com>
++          Vincent Celier  <celier@adacore.com>
++
++      * gnatcmd.adb (B_Start): Add prefix of binder generated file.
++      (Stack_String): Add this String that contains the name of the Stack
++      package in the project file.
++      (Packages_To_Check_By_Stack): Add this list that contains the packages
++      to be checked by gnatstack, which are the naming and the stack packages.
++      (Check_Files): If no .ci files were specified for gnatstack we add all
++      the .ci files belonging to the projects, including binder generated
++      files.
++      (Non_VMS_Usage): Document that gnatstack accept project file switches.
++      (GNATCmd): Update the B_Start variable if we are in a VMS environment.
++      Add gnatstack to the list of commands that use project file related
++      switches, and get the single attribute Switches from the stack package
++      in a project file when calling gnatstack. Parse the -U flag for
++      processing files belonging to all projects in the project tree.
++      Remove all processing for command Setup
++
++      * prj-attr.adb: Add new package Stack with single attribute Switches
++
++      * vms_conv.ads (Command_Type): Add command Stack.
++      Move to body declarations that are only used in the body: types Item_Id,
++      Translation_Type, Item_Ptr, Item and its subtypes.
++
++      * vms_conv.adb: (Initialize): Add data for new command Stack.
++      Add declarations moved from the spec: types Item_Id, Translation_Type,
++      Item_Ptr, Item and its subtypes.
++      (Cargs_Buffer): New table
++      (Cargs): New Boolean global variable
++      (Process_Buffer): New procedure to create arguments
++      (Place): Put character in table Buffer or Cargs_Buffer depending on the
++       value of Cargs.
++      (Process_Argument): Set Cargs when processing qualifiers for GNAT
++      COMPILE
++      (VMS_Conversion): Call Process_Buffer for table Buffer and, if it is not
++      empty, for table Cargs_Buffer.
++      (Initialize): Remove component Setup in Command_List
++
++2007-04-06  Vincent Celier  <celier@adacore.com>
++
++      * gprep.adb (Process_Files.Process_One_File): Use full file name when
++      issuing pragma Source_Reference.
++
++2007-04-06  Emmanuel Briot  <briot@adacore.com>
++
++      * g-regpat.adb (Parse_Posix_Character_Class): Fix handling of
++      [[:xdigit:]] character class.
++      Also raise an exception when an invalid character class is used.
++
++2007-04-06  Pascal Obry  <obry@adacore.com>
++
++      * i-cstrea.ads: (fopen): Add encoding parameter.
++      (freopen): Idem.
++      Change reference from a-sysdep.c to sysdep.c in comment.
++      Update copyright notice.
++      This set of patch add support for the encoding form parameter.
++
++      * mingw32.h (S2WSU): New macro to convert from a string to a
++      wide-string using the UTF-8 encoding. The S2WS macro supports now only
++      standard 8bits encoding.
++      (WS2SU): As above but converting from wide-sring to string.
++      This is needed as it is necessary to have access to both versions in the
++      runtime for the form parameter encoding support.
++      This set of patch add support for the encoding form parameter.
++      (S2WS): Improve implementation to handle cases where the filename is not
++      UTF-8 encoded. In this case we default to using the current code page
++      for the conversion.
++
++      * s-crtl-vms64.ads, s-crtl.ads (Filename_Encoding): New enumeration
++      type (UTF8, ASCII_8bits). This enumeration has a rep clause to match
++      the constants defined in adaint.h.
++      (fopen): Add encoding parameter.
++      (freopen): Idem.
++
++      * s-ficobl.ads (AFCB): Add Encoding field to record the filename
++      encoding. This is needed for the Reset routine (freopen low level-call).
++
++      * s-fileio.adb (Open): Decode encoding form parameter and set the
++      corresponding encoding value into AFCB structure.
++      (Reset): Pass the encoding value to freopen.
++      (Close): Move the call to Lock_Task to the beginning of the procedure.
++
++2007-04-06  Geert Bosch  <bosch@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * i-fortra.ads: Add Double_Complex type.
++
++      * impunit.adb: (Is_Known_Unit): New function
++      Add Gnat.Byte_Swapping
++      Add GNAT.SHA1
++      Add new Ada 2005 units
++      Ada.Numerics.Generic_Complex_Arrays, Ada.Numerics.Generic_Real_Arrays,
++      Ada.Numerics.Complex_Arrays, Ada.Numerics.Real_Arrays,
++      Ada.Numerics.Long_Complex_Arrays, Ada.Numerics.Long_Long_Complex_Arrays,
++      Ada.Numerics.Long_Long_Real_Arrays and Ada.Numerics.Long_Real_Arrays
++
++      * impunit.ads (Is_Known_Unit): New function
++
++      * a-ngcoar.adb, a-ngcoar.ads, a-ngrear.adb,
++      a-ngrear.ads, a-nlcoar.ads, a-nllcar.ads, a-nllrar.ads, a-nlrear.ads,
++      a-nucoar.ads, a-nurear.ads, g-bytswa.adb, g-bytswa-x86.adb,
++      g-bytswa.ads, g-sha1.adb, g-sha1.ads, i-forbla.ads, i-forlap.ads,
++      s-gearop.adb, s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb,
++      s-gecola.ads, s-gerebl.adb, s-gerebl.ads, s-gerela.adb, s-gerela.ads:
++      New files.
++
++      * Makefile.rtl: Add g-bytswa, g-sha1, a-fzteio and a-izteio
++
++      * a-fzteio.ads, a-izteio.ads: New Ada 2005 run-time units.
++
++2007-04-06  Eric Botcazou  <botcazou@adacore.com>
++          Arnaud Charlet  <charlet@adacore.com>
++
++      * init.c: Reuse PA/HP-UX code for IA-64/HP-UX, except
++      __gnat_adjust_context_for_raise.
++      (__gnat_init_float): on x86 vxworks 5.x and 6.x, we use the same
++      implementation of floating point operations as native x86 targets.
++      So the FPU should be initialized in the same way using finit. Fix
++      floating point operations accuracy issues.
++      (__gnat_install_handler, case FreeBSD): Use proper type for sa_sigaction
++      member in struct sigaction, so as to avoid warning for incompatible
++      pointer types.
++
++2007-04-06 Serguei Rybin  <rybin@adacore.com>
++
++      * lib.ads, lib.adb (Tree_Read): Release the memory occupied by the
++      switches from previously loaded tree
++
++2007-04-06  Thomas Quinot  <quinot@adacore.com>
++
++      * lib-writ.adb (Write_With_Lines): Factor duplicated code between the
++      cases where a given dependency has a body or not.
++      (Write_With_File_Names): New subprogram, common code for the two cases
++      above.
++
++2007-04-06  Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * lib-xref.ads, lib-xref.adb:
++      Modify the loop that collects type references, to include interface
++      types that the type implements. List each of these interfaces when
++      building the entry for the type.
++      (Generate_Definition): Initialize component Def and Typ of new entry
++      in table Xrefs, to avoid to have these components unitialized.
++      (Output_References): Split Is_Abstract flag into
++      Is_Abstract_Subprogram and Is_Abstract_Type.
++      (Generate_Reference): Add barrier to do not generate the warning
++      associated with Ada 2005 entities with entities generated by the
++      expander.
++
++2007-04-06  Robert Dewar  <dewar@adacore.com>
++          Arnaud Charlet  <charlet@adacore.com>
++          Vincent Celier  <celier@adacore.com>
++
++      * gnat_rm.texi, gnat_ugn.texi: Add -gnatyl documentation
++      Update 'Exception Handling Control' chapter which was outdated.
++      Minor fix to documentation of -gnatwq
++      Remove section "Adapting the Run Time to a New C++ Compiler" because
++      it is now obsolete.
++      Add passage on need of -nostart-files in some non-ada-main cases.
++      Document new switch -eS (/STANDARD_OUTPUT_FOR_COMMANDS) for gnatmake
++      Update documentation about Interfacing with C++
++      Add documentation for new gnatmake switch -p
++      Add missing protocol part in URLs.
++      Document -gnatyA
++      Document pragma Compile_Time_Error
++      Add documentation for Object_Size indicating that stand alone
++      objects can have a larger size in some cases.
++      Add node for GNAT.Byte_Swapping, GNAT.SHA1
++      Update reference to the Ravenscar profile.
++      Document pragma Unreferenced_Objects
++
++      * gnat-style.texi: Fix typo
++
++2007-04-06  Vincent Celier  <celier@adacore.com>
++
++      * mlib.adb (Building_Library): Only output "building a library..." in
++      verbose mode
++
++      * mlib-prj.adb (Build_Library): Only output lists of object and ALI
++      files in verbose mode.
++
++      * mlib-utl.adb (Ar): Only output the first object files when not in
++      verbose mode.
++      (Gcc): Do not display all the object files if not in verbose mode, only
++      the first one.
++
++2007-04-06  Robert Dewar  <dewar@adacore.com>
++
++      * namet.ads, namet.adb (wn): Improve this debugging routine. Calling
++      it no longer destroys the contents of Name_Buffer or Name_Len and
++      non-standard and invalid names are handled better.
++      (Get_Decoded_Name_String): Improve performance by using
++      Name_Has_No_Encodings flag in the name table.
++      (Is_Valid_Name): New function to determine whether a Name_Id is valid.
++      Used for debugging printouts.
++
++2007-04-06  Robert Dewar  <dewar@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++          Bob Duff  <duff@adacore.com>
++
++      * par-ch3.adb: (P_Type_Declaration): Set Type_Token_Location
++      (P_Interface_Type_Definition): Remove the formal Is_Synchronized because
++      there is no need to generate always a record_definition_node in case
++      of synchronized interface types.
++      (P_Type_Declaration): Update calls to P_Interface_Type_Definition.
++      (P_Null_Exclusion): For AI-447: Remove warnings about "not null" being
++      illegal in Ada 95, in cases where it is legal. Change the warnings to
++      errors in other cases. Don't give the error unless the "not null"
++      parses properly. Correct the source position at which the error occurs.
++      (P_Known_Discriminant_Part_Opt): Pass Allow_Anonymous_In_95 => True to
++      P_Null_Exclusion, to suppress "not null" warnings.
++      (P_Identifier_Declarations): Code cleanup. Removed unrequired label and
++      associated goto statements.
++
++      * par-endh.adb (Pop_End_Context): Allow more flexibility in placement
++      of END RECORD
++
++      * scans.ads (Type_Token_Location): New flag
++
++      * par-ch6.adb (P_Mode): Check specifically for case of IN ACCESS
++      (P_Formal_Part): Pass Allow_Anonymous_In_95 => True to
++      P_Null_Exclusion, to suppress "not null" warnings.
++
++2007-04-06  Robert Dewar  <dewar@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++          Bob Duff  <duff@adacore.com>
++          Vincent Celier  <celier@adacore.com>
++
++      * par-prag.adb (Prag): Add dummy entry for pragma Compile_Time_Error
++      (Extensions_Allowed): No longer sets Ada_Version
++      Entry for pragma Unreferenced_Objects
++
++      * sem_prag.adb (Analyze_Pragma, case Priority): Force with of
++      system.tasking if pragma priority used in a procedure
++      (Analyze_Pragma, case Warning): Handle dot warning switches
++      (Process_Compile_Time_Warning_Or_Error): New procedure
++      (Analyze_Pragma): Add processing for Compile_Time_Error
++      Add support for extra arguments External_Name and Link_Name.
++      Remove code associated with pragmas CPP_Virtual and CPP_Vtable.
++      (Process_Import_Or_Interface): Add support for the use of pragma Import
++      with tagged types.
++      (Extensions_Allowed): No longer affects Ada_Version
++      (Analyze_Pragma): Split Is_Abstract flag into Is_Abstract_Subprogram and
++      Is_Abstract_Type. Make sure these are called only when appropriate.
++      Add processing for pragma Unreferenced_Objects
++
++      * snames.h, snames.ads, snames.adb: Add entry for pragma
++      Compile_Time_Error
++      Add new standard name Minimum_Binder_Options for new gprmake
++      Add new standard names for gprmake: Archive_Suffix,
++      Library_Auto_Init_Supported, Library_Major_Minor_Id_Supported,
++      Library_Support, Library_Version_Options,
++      Shared_Library_Minimum_Options,
++      Shared_Library_Prefix, Shared_Library_Suffix, Symbolic_Link_Supported.
++      Change Name_Call to Name_uCall so that it cannot clash with a legal
++      subprogram name.
++      Add new standard names Mapping_Spec_Suffix and Mapping_Body_Suffix
++      Append C_Plus_Plus to convention identifiers as synonym for CPP
++      Add new standard names Stack and Builder_Switches
++      Add new standard names: Compiler_Minimum_Options, Global_Config_File,
++      Library_Builder, Local_Config_File, Objects_Path, Objects_Path_File,
++      Run_Path_Option, Toolchain_Version.
++      Entry for pragma Unreferenced_Objects
++
++      * switch-c.adb (Scan_Front_End_Switches): Store correct -gnateD
++      switches, without repetition of "eD". Make sure that last character of
++      -gnatep= switch is not taken as -gnat switch character.
++      Complete rewrite of circuit for handling saving compilation options
++      Occasioned by need to support dot switchs for -gnatw, but cleans up
++      things in general.
++      -gnatX does not affect Ada_Version
++      Include -gnatyA in -gnatg style switches
++
++      * sem_warn.ads, sem_warn.adb (Output_Unreferenced_Messages): Exclude
++      warnings on return objects.
++      (Warn_On_Useless_Assignment): Exclude warnings on return objects
++      (Set_Dot_Warning_Switch): New procedure
++      (Check_References): Add missing case of test for
++      Has_Pragma_Unreferenced_Objects
++      (Output_Unreferenced_Messages): Implement effect of new pragma
++      Unreferenced_Objects, remove special casing of limited controlled
++      variables.
++
++2007-04-06  Vincent Celier  <celier@adacore.com>
++
++      * prj-ext.adb (Initialize_Project_Path): New procedure that initialize
++      the default project path, initially done during elaboration of the
++      package.
++      If the prefix returned by Sdefault is null, get the prefix from a call
++      to Executable_Prefix_Path.
++      (Project_Path): Call Initialize_Project_Path if Current_Project_Path is
++      null.
++
++      * prj-nmsc.adb (Get_Path_Names_And_Record_Sources): Use the non
++      canonical directory name to open the directory from which files are
++      retrieved.
++      (Record_Other_Sources): Idem.
++      (Locate_Directory): Add the possibility to create automatically missing
++      directories when Setup_Projects is True.
++      Call Locate_Directory so that the directory will be created when
++      Setup_Projects is True, for object dir, library dir, library ALI dir,
++      library source copy dir and exec dir.
++
++      * prj-pp.adb (Max_Line_Length): Set to 255 for compatibility with older
++      versions of GNAT.
++
++2007-04-06  Robert Dewar  <dewar@adacore.com>
++
++      * sem_ch13.ads, sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order):
++      Use First/Next_Component_Or_Discriminant
++      (Analyze_Record_Representation_Clause):
++      Use First/Next_Component_Or_Discriminant
++      (Check_Component_Overlap): Use First/Next_Component_Or_Discriminant
++      (Analyze_Attribute_Definition_Clause, case Value_Size): Reject
++      definition if type is unconstrained.
++      (Adjust_Record_For_Reverse_Bit_Order): New procedure
++      (Analyze_Attribute_Definition_Clause): Split Is_Abstract flag into
++      Is_Abstract_Subprogram and Is_Abstract_Type.
++      (Adjust_Record_For_Reverse_Bit_Order): New procedure
++
++      * repinfo.adb (List_Record_Info): Use First/
++      Next_Component_Or_Discriminant.
++
++      * style.ads, styleg-c.adb, styleg-c.ads (Check_Array_Attribute_Index):
++      New procedure.
++
++      * stylesw.ads, stylesw.adb: Recognize new -gnatyA style switch
++      Include -gnatyA in default switches
++
++      * opt.ads: (Warn_On_Non_Local_Exception): New flag
++      (Warn_On_Reverse_Bit_Order): New flag
++      (Extensions_Allowed): Update the documentation.
++      (Warn_On_Questionable_Missing_Parens): Now on by default
++
++      * usage.adb: Add documentation of -gnatw.x/X switches
++      Document new -gnatyA style switch
++      -gnatq warnings are on by default
++
++2007-04-06  Ed Falis  <falis@adacore.com>
++
++      * s-carun8.adb, s-carsi8.adb (Compare_Array_?8): modify so that last
++      full word is no longer compared twice.
++
++2007-04-06  Ed Schonberg  <schonberg@adacore.com>
++
++      * sem_ch10.adb (Install_Limited_Context_Clauses.
++      Expand_Limited_With_Clause): Use a new copy of selector name in the
++      call to Make_With_Clause. This fixes the tree structure for ASIS
++      purposes. Nothing is changed in the compiler behaviour.
++      (Process_Body_Clauses): Handle properly use clauses whose prefix is
++      a package renaming.
++      (Install_Limited_With_Clauses): Do not install non-limited view when it
++      is still incomplete.
++
++2007-04-06  Ed Schonberg  <schonberg@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * sem_ch12.adb (Check_Generic_Actuals): Use first subtype of actual
++      when capturing size information, instead of base type, which for a
++      formal array type will be the unconstrained type.
++      (Analyze_Formal_Object_Declaration): Add check for illegal default
++      expressions for a formal in object of a limited type.
++      (Instantiate_Object): Ditto.
++      (Check_Formal_Package_Instance): Skip entities that are formal objects,
++      because they were defaulted in the formal package and no check applies
++      to them.
++      (Check_Formal_Package_Instance): Extend conformance check to other
++      discrete types beyond Integer.
++      (Process_Default): Copy directly the unmatched formal. A generic copy
++      has already been performed in Analyze_Formal_Package.
++      (Analyze_Associations): If a formal subprogram has no match, check for
++      partial parametrization before looking for a default, to prevent
++      spurious errors.
++      (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation): Do
++      not set the instantiation environment before analyzing the actuals.
++      Fixes regression on 8515-003 with implementation of AI-133.
++      Set_Instance_Env checks whether the generic unit is a predefined
++      unit, in which case the instance must be analyzed with the latest Ada
++      mode. This setting must take place after analysis of the actuals,
++      because the actuals must be analyzed and frozen in the Ada mode extant
++      outside of the current instantiation.
++      (Save_Env, Restore_Env): Preserve and restore the configuration
++      parameters so that predefined units can be compiled in the proper Ada
++      mode.
++      (Analyze_Formal_Object_Declaration,Analyze_Formal_Subprogram,
++      Instantiate_Type): Split Is_Abstract flag into Is_Abstract_Subprogram
++      and Is_Abstract_Type.
++      (Analyze_Formal_Package): For better error recovery, Add exception
++      handler to catch Instantion_Error, which can be raised in
++      Analyze_Associations
++
++2007-04-06  Ed Schonberg  <schonberg@adacore.com>
++          Bob Duff  <duff@adacore.com>
++          Gary Dismukes  <dismukes@adacore.com>
++
++      * sem_ch4.adb (Try_Primitive_Operation): The call is legal if the
++      prefix type is a discriminated subtype of the type of the formal.
++      (Analyze_Allocator): Collect all coextensions regardless of the context.
++      Whether they can be allocated statically is determined in exp_ch4.
++      (Analyze_Selected_Component): If the prefix is a limited view and the
++      non-limited view is available, use the non-limited one.
++      (Operator_Check): For "X'Access = Y'Access" (which is ambiguous, and
++      therefore illegal), suggest a qualified expression rather than a type
++      conversion, because a type conversion would be illegal in this context.
++      (Anayze_Allocator): Trace recursively all nested allocators so that all
++      coextensions are on the corresponding list for the root. Do no mark
++      coextensions if the root allocator is within a declaration for a stack-
++      allocated object, because the access discriminants will be allocated on
++      the stack as well.
++      (Analyze_Call): Remove restriction on calls to limited functions for the
++      cases of generic actuals for formal objects, defaults for formal objects
++      and defaults for record components.
++      (Analyze_Allocator): Before analysis, chain coextensions on the proper
++      element list. Their expansion is delayed until the enclosing allocator
++      is processed and its finalization list constructed.
++      (Try_Primitive_Operation): If the prefix is a concurrent type, looks
++      for an operation with the given name among the primitive operations of
++      the corresponding record type.
++      (Analyze_Selected_Component): If the prefix is a task type that
++      implements an interface, and there is no entry with the given name,
++      check whether there is another primitive operation (e.g. a function)
++      with that name.
++      (Try_Object_Operation, Analyze_One_Call, Try_Indexed_Call): Handle
++      properly the indexing of a function call written in prefix form, where
++      the function returns an array type, and all parameters of the function
++      except the first have defaults.
++      (Analyze_Equality_Op): If this is a call to an implicit inequality, keep
++      the original operands, rather than relocating them, for efficiency and
++      to work properly when an operand is overloaded.
++      (Analyze_Allocator,Operator_Check,Remove_Abstract_Operations): Split
++      Is_Abstract flag into Is_Abstract_Subprogram and Is_Abstract_Type.
++      (Analyze_Selected_Component): If the prefix is a private extension, only
++      scan the visible components, not those of the full view.
++      (Try_Primitive_Operation): If the operation is a procedure, collect all
++      possible interpretations, as for a function, because in the presence of
++      classwide parameters several primitive operations of the type can match
++      the given arguments.
++
++2007-04-06  Ed Schonberg  <schonberg@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * sem_ch5.adb (Analyze_Assignment): Reject a right-hand side that is a
++      tag-indeterminate call to an abstract function, when the left-hand side
++      is not classwide.
++      (Analyze_Loop_Statement): Improve detection of infinite loops
++
++2007-04-06  Ed Schonberg  <schonberg@adacore.com>
++          Thomas Quinot  <quinot@adacore.com>
++
++      * sem_ch7.ads, sem_ch7.adb (Inspect_Deferred_Constant_Completion): Move
++      out of Analyze_Package_Declaration, because processing must be applied
++      to package bodies as well, for deferred constants completed by pragmas.
++      (Analyze_Package_Declaration): When the package declaration being
++      analyzed does not require an explicit body, call Check_Completion.
++      (May_Need_Implicit_Body): An implicit body is required when a package
++      spec contains the declaration of a remote access-to-classwide type.
++      (Analyze_Package_Body): If the package contains RACWs, append the
++      pending subprogram bodies generated by exp_dist at the end of the body.
++      (New_Private_Type,Unit_Requires_Body): Split Is_Abstract flag into
++      Is_Abstract_Subprogram and Is_Abstract_Type.
++      (Preserve_Full_Attributes): The full entity list is not an attribute
++      that must be preserved from full to partial view.
++
++      * sem_dist.adb (Add_RAS_Dereference_TSS):
++      Change primitive name to _Call so it cannot clash with any legal
++      identifier, and be special-cased in Check_Completion.
++      Mark the full view of the designated type for the RACW associated with
++      a RAS as Comes_From_Source to get proper view switching when installing
++      private declarations.
++      Provite a placeholder nested package body along with the nested spec
++      to have a place for Append_RACW_Bodies to generate the calling stubs
++      and stream attributes.
++
++2007-04-06  Ed Schonberg  <schonberg@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * sem_ch8.adb (Has_Components): If the argument is an incomplete type
++      that is a limited view, check the non-limited view if available.
++      (Undefined): Refine error message for missing with of Text_IO
++      (Find_Expanded_Name): Use Is_Known_Unit for more accurate error message
++      to distinguish real missing with cases.
++      Fix format of all missing with messages
++      (Analyze_Subprogram_Renaming): Emit proper error message on illegal
++      renaming as body when renamed entity is abstract.
++
++2007-04-06  Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * sem_type.ads, sem_type.adb (Has_Abstract_Interpretation): Make
++      predicate recursive, to handle complex expressions on literals whose
++      spurious ambiguity comes from the abstract interpretation of some
++      subexpression.
++      (Interface_Present_In_Ancestor): Add support to concurrent record
++      types.
++      (Add_One_Interp,Disambiguate): Split Is_Abstract flag into
++      Is_Abstract_Subprogram and Is_Abstract_Type.
++
++2007-04-06  Ed Schonberg  <schonberg@adacore.com>
++          Javier Miranda  <miranda@adacore.com>
++
++      * sem_util.ads, sem_util.adb (Object_Access_Level): If the object is a
++      dereference of a local object R created as a reference to another
++      object O, use the access level of O.
++      (Matches_Prefixed_View_Profile): Use common predicate Conforming_Types,
++      rather than local Same_Formal_Type, to check whether protected operation
++      overrides an inherited one.
++      (Same_Formal_Type): New predicate, used when matching signatures of
++      overriding synchronized operations, to handle the case when a formal
++      has a type that is a generic actual.
++      (Is_Aliased_View): Replace check on E_Task_Type and E_Protected_Type by
++      predicate Is_Concurrent_Type. This ensures supportin case of subtypes.
++      (Needs_One_Actual): New predicate, for Ada 2005 use, to resolve
++      syntactic ambiguities involving indexing of function calls that return
++      arrays.
++      (Abstract_Interface_List): New subprogram that returns the list of
++      abstract interfaces associated with a concurrent type or a
++      concurrent record type.
++      (Interface_Present_In_Parent): New subprogram used to check if a
++      given type or some of its parents implement a given interface.
++      (Collect_Abstract_Interfaces): Add support for concurrent types
++      with interface types.
++      (Has_Abstract_Interfaces): Add support for concurrent types with
++      interface types.
++      (Is_Parent): New subprogram that determines whether E1 is a parent
++      of E2. For a concurrent type its parent is the first element of its
++      list of interface types; for other types this function provides the
++      same result than Is_Ancestor.
++      (Enclosing_Subprogram): Add test for N_Extended_Return_Statement.
++      (Collect_Synchronized_Interfaces): Removed because the subprogram
++      Collect_Abstract_Interfaces provides this functionality.
++      (Collect_Abstract_Interfaces): Minor update to give support to
++      concurrent types and thus avoid undesired code duplication.
++      (Get_Subprogram_Entity): Handle entry calls.
++      (May_Be_Lvalue): Include actuals that appear as in-out parameters in
++      entry calls.
++      (Enter_Name): Do not give -gnatwh hiding warning for record component
++      entities, they never result in hiding.
++
++2007-04-06  Ed Schonberg  <schonberg@adacore.com>
++          Robert Dewar  <dewar@adacore.com>
++
++      * sinfo.ads, sinfo.adb (Coextensions): New element list for allocators,
++      to chain nested components that are allocators for access discriminants
++      of the enclosing object.
++      Add N_Push and N_Pop nodes
++      New field Exception_Label added
++      (Local_Raise_Statements): New field in N_Exception_Handler_Node
++      (Local_Raise_Not_OK): New flag in N_Exception_Handler_Node
++      (Is_Coextension): New flag for allocators, to mark allocators that
++      correspond to access discriminants of dynamically allocated objects.
++      (N_Block_Statement): Document the fact that the corresponding entity
++      can be an E_Return_Statement.
++      (Is_Coextension): New flag for allocators.
++      Remove all code for DSP option
++
++      * sprint.ads, sprint.adb: Display basic information for class_wide
++      subtypes. Add handling of N_Push and N_Pop nodes
++
++2007-04-06  Arnaud Charlet  <charlet@adacore.com>
++
++      * s-tpobop.adb (Exceptional_Complete_Entry_Body): Undefer abortion
++      before propagating exception.
++
++2007-04-06  Olivier Hainque  <hainque@adacore.com>
++
++      * tracebak.c (PC_ADJUST - ia64): -4 instead of -16, expected to yield
++      an address always within the call instruction from a return address.
++
++2007-04-06  Olivier Hainque  <hainque@adacore.com>
++          Eric Botcazou  <botcazou@adacore.com>
++
++      * trans.c (call_to_gnu) <TYPE_RETURNS_BY_TARGET_PTR_P>: Return an
++      expression with a COMPOUND_EXPR including the call instead of emitting
++      the call directly here.
++      (gnat_to_gnu) <N_Slice>: Do not return a non-constant low bound if the
++      high bound is constant and the slice is empty.  Tidy.
++      (tree_transform, case N_Op_Not): Handle properly the case where the
++      operation applies to a private type whose full view is a modular type.
++      (Case_Statement_To_gnu): If an alternative is an E_Constant with an
++      Address_Clause, use the associated Expression as the GNAT tree
++      representing the choice value to ensure the corresponding GCC tree is
++      of the proper kind.
++      (maybe_stabilize_reference): Stabilize COMPOUND_EXPRs as a whole
++      instead of just the operands, as the base GCC stabilize_reference does.
++      <CALL_EXPR>: New case. Directly stabilize the call if an lvalue is not
++      requested; otherwise fail.
++      (addressable_p) <COMPONENT_REF>: Do not test DECL_NONADDRESSABLE_P.
++
++2007-04-06  Thomas Quinot  <quinot@adacore.com>
++
++      * uintp.ads, uintp.adb (UI_Div_Rem): New subprogram, extending previous
++      implementation of UI_Div.
++      (UI_Div): Reimplement as a call to UI_Div_Rem.
++      (UI_Rem): Take advantage of the fact that UI_Div_Rem provides the
++      remainder, avoiding the cost of a multiplication and a subtraction.
++      (UI_Modular_Inverse): Take advantage of the fact that UI_Div_Rem
++      provides both quotient and remainder in a single computation.
++      (UI_Modular_Exponentiation, UI_Modular_Inverse): New modular arithmetic
++      functions for uint.
++      (UI_Modular_Inverse): Add a note that the behaviour of this subprogram
++      is undefined if the given n is not inversible.
++
++2007-04-06  Olivier Hainque  <hainque@adacore.com>
++
++      * utils2.c (known_alignment): Handle COMPOUND_EXPR, COND_EXPR and
++      BIT_AND_EXPR. Handle also VIEW_CONVERT_EXPR, as the other conversion
++      opcodes.
++
++2007-04-06  Eric Botcazou  <botcazou@adacore.com>
++          Olivier Hainque  <hainque@adacore.com>
++
++      * utils.c (update_pointer_to): Make a copy of the couple of FIELD_DECLs
++      when updating the contents of the old pointer to an unconstrained array.
++      (end_subprog_body): Set error_gnat_node to Empty.
++      (write_record_type_debug_info): Do not be unduly sparing with our bytes.
++      (unchecked_convert): For subtype to base type conversions, require that
++      the source be a subtype if it is an integer type.
++      (builtin_decls): New global, vector of available builtin functions.
++      (gnat_pushdecl): Add global builtin function declaration nodes to the
++      builtin_decls list.
++      (gnat_install_builtins): Adjust comments.
++      (builtin_function): Set DECL_BUILTIN_CLASS and DECL_FUNCTION_CODE before
++      calling gnat_pushdecl, so that it knows when it handed a builtin
++      function declaration node.
++      (builtin_decl_for): Search the builtin_decls list.
++
++2007-04-06  Eric Botcazou  <botcazou@adacore.com>
++
++      * s-stchop-vxworks.adb:
++      (Stack_Check): Raise Storage_Error if the argument has wrapped around.
++
++2007-04-06  Robert Dewar  <dewar@adacore.com>
++          Arnaud Charlet  <charlet@adacore.com>
++
++      * a-diroro.ads: Inserted the pragma Unimplemented_Unit
++
++      * bindgen.adb (Gen_Output_File_Ada): Generate pragma Ada_95 at start
++      of files
++      Add mention of -Sev (set initialize_scalars option from environment
++      variable at run time) in gnatbind usage message.
++
++      * elists.ads, elists.adb: (Append_Unique_Elmt): New procedure
++
++      * fname-uf.ads: Minor comment fix
++
++      * osint.ads: Change pragma Elaborate to Elaborate_All
++
++      * par-load.adb: Add documentation.
++
++      * sem_cat.ads, sem_cat.adb: Minor code reorganization
++
++      * s-parint.ads (RCI_Locator) : Add 'Version' generic formal
++
++      * s-secsta.ads: Extra comments
++
++      * s-soflin.ads: Minor comment fixes
++
++      * s-stratt.ads (Block_Stream_Ops_OK): Removed.
++
++      * s-wchcon.ads: Minor comment addition
++
++      * treepr.adb: Minor change in message
++      (Print_Name,Print_Node): Make these debug printouts more robust: print
++      "no such..." instead of crashing on bad input.
++
++2007-03-30  Rafael Ávila de Espíndola  <espindola@google.com>
++
++      * trans.c (Attribute_to_gnu): Use get_signed_or_unsigned_type
++      instead of gnat_signed_or_unsigned_type.
++      * utils.c (gnat_signed_or_unsigned_type): Remove.
++      * misc.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove
++      * gigi.h (gnat_signed_or_unsigned_type): Remove
++
++2007-03-09  Roger Sayle  <roger@eyesopen.com>
++
++      * cuintp.c (UI_To_gnu): Use fold_buildN calls instead of calling
++      fold with the result of buildN.
++      * decl.c (gnat_to_gnu_entity): Likewise.
++      * trans.c (Attribute_to_gnu, gnat_to_gnu, emit_check): Likewise.
++      * utils.c (finish_record_type, merge_sizes, max_size, convert):
++      Likewise.
++      * utils2.c (gnat_truthvalue_conversion, compare_arrays,
++      nonbinary_modular_operation, build_binary_op, build_unary_op,
++      build_cond_expr): Likewise.
++
++      * utils.c (convert): Use fold_build1 when casting values to void.
++      * utils2.c (gnat_truthvalue_conversion): Use build_int_cst and
++      fold_convert instead of convert when appropriate.
++
++2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
++
++      * Make-lang.in: Add install-pdf target as copied from
++      automake v1.10 rules.
++
++2007-02-28  Andreas Schwab  <schwab@suse.de>
++
++      * Make-lang.in (doc/gnat_ugn_unw.texi): Depend on
++      $(gcc_docdir)/include/gcc-common.texi and gcc-vers.texi.
++      (doc/gnat-style.info): Likewise.
++
++2007-02-26  Brooks Moses  <brooks.moses@codesourcery.com>
++
++      * gnat-style.texi: Standardize title page.
++      * gnat_rm.texi: Likewise.
++      * gnat_ugn.texi: Likewise.
++
++2007-02-25  Mark Mitchell  <mark@codesourcery.com>
++
++      * decl.c (annotate_value): Adjust for refactoring of tree_map
++      hierarchy.
++
++2007-02-24  Mark Mitchell  <mark@codesourcery.com>
++
++      * decl.c (annotate_value): Adjust for refactoring of tree_map
++      hierarchy.
++
++2007-02-21  Ed Schonberg  <schonberg@adacore.com>
++
++      PR ada/18819
++      * sem_ch3.adb (Create_Constrained_Components): for a subtype of an
++      untagged derived type, add hidden components to keep discriminant
++      layout consistent, when a given discriminant of the derived type
++      constraints several discriminants of the parent type.
++
++2007-02-16  Eric Botcazou  <ebotcazou@adacore.com>
++          Sandra Loosemore  <sandra@codesourcery.com>
++
++      * trans.c (call_to_gnu):  Use build_call_list instead of build3 to
++      build the call expression.
++      (gnat_stabilize_reference_1): Handle tcc_vl_exp.
++      * utils.c (max_size) <tcc_exceptional>: Delete.
++      <tcc_vl_exp>: New case.
++      <tcc_expression>: Delete CALL_EXPR subcase.
++      (build_global_cdtor): Use build_call_nary instead of build3.
++      * utils2.c (build_call_1_expr): Likewise.
++      (build_call_2_expr): Likewise.
++      (build_call_0_expr): Likewise.
++      (build_call_alloc_dealloc): Likewise.
++
++2007-02-07  Andreas Krebbel  <krebbel1@de.ibm.com>
++
++      * raise-gcc.c (get_region_description_for, get_call_site_action_for,
++      get_action_description_for): Replace _Unwind_Word with _uleb128_t
++      and _Unwind_SWord with _sleb128_t.
++
++2007-02-06  Paolo Bonzini  <bonzini@gnu.org>
++
++      * Make-lang.in (ada/decl.o): Add gt-ada-decl.h dependency.
++      * decl.c: Include gt-ada-decl.h.
++      (annotate_value_cache): New.
++      (annotate_value): Use it instead of TREE_COMPLEXITY.
++
++2007-02-03  Kazu Hirata  <kazu@codesourcery.com>
++
++      * misc.c, utils2.c: Fix comment typos.
++
++2007-01-24  Roger Sayle  <roger@eyesopen.com>
++
++      * decl.c (gnat_to_gnu_entity): Use TREE_OVERFLOW instead of
++      TREE_CONSTANT_OVERFLOW.
++      (allocatable_size_p, annotate_value): Likewise.
++      * trans.c (gnat_to_gnu): Likewise.
++      * utils.c (unchecked_convert): Likewise.
++      * utils2.c (build_simple_component_ref): Likewise.
++
++2007-01-23  Richard Guenther  <rguenther@suse.de>
++
++      PR bootstrap/30541
++      * Make-lang.in: Replace invocations of gnatmake with $(GNATMAKE).
++      (gnatboot2): Pass staged GNATMAKE instead of STAGE_PREFIX.
++      (gnatboot3): Likewise.
++      (GNATBIND): Do not define.
++      * Makefile.in (GNATBIND): Do not define.
++
++2007-01-08  Richard Guenther  <rguenther@suse.de>
++
++      * cuintp.c (build_cst_from_int): Use built_int_cst_type.
++      * trans.c (gnat_to_gnu): Likewise.
++
++
++\f
++Copyright (C) 2007 Free Software Foundation, Inc.
++
++Copying and distribution of this file, with or without modification,
++are permitted in any medium without royalty provided the copyright
++notice and this notice are preserved.
+Index: gcc/ada/ChangeLog-2008
+===================================================================
+--- gcc/ada/ChangeLog-2008     (.../tags/gcc_4_4_0_release)    (wersja 0)
++++ gcc/ada/ChangeLog-2008     (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -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.
++
++
++\f
++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.
+Index: gcc/fortran/ChangeLog
+===================================================================
+--- gcc/fortran/ChangeLog      (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/fortran/ChangeLog      (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,3 +1,13 @@
++2009-04-22  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
++
++      Backport from mainline:
++      2009-03-30  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
++
++      * f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_HUGE_VAL
++      family of intrinsics instead of BUILT_IN_INF family.
++      * trans-intrinsics.c (gfc_conv_intrinsic_nearest): Use
++      BUILT_IN_HUGE_VAL instead of BUILT_IN_INF.
++
+ 2009-04-21  Release Manager
+       * GCC 4.4.0 released.
+Index: gcc/fortran/f95-lang.c
+===================================================================
+--- gcc/fortran/f95-lang.c     (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/fortran/f95-lang.c     (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -917,12 +917,12 @@
+   gfc_define_builtin ("__builtin_fmodf", mfunc_float[1], 
+                     BUILT_IN_FMODF, "fmodf", true);
+-  gfc_define_builtin ("__builtin_infl", mfunc_longdouble[3], 
+-                    BUILT_IN_INFL, "__builtin_infl", true);
+-  gfc_define_builtin ("__builtin_inf", mfunc_double[3], 
+-                    BUILT_IN_INF, "__builtin_inf", true);
+-  gfc_define_builtin ("__builtin_inff", mfunc_float[3], 
+-                    BUILT_IN_INFF, "__builtin_inff", true);
++  gfc_define_builtin ("__builtin_huge_vall", mfunc_longdouble[3], 
++                    BUILT_IN_HUGE_VALL, "__builtin_huge_vall", true);
++  gfc_define_builtin ("__builtin_huge_val", mfunc_double[3], 
++                    BUILT_IN_HUGE_VAL, "__builtin_huge_val", true);
++  gfc_define_builtin ("__builtin_huge_valf", mfunc_float[3], 
++                    BUILT_IN_HUGE_VALF, "__builtin_huge_valf", true);
+   /* lround{f,,l} and llround{f,,l} */
+   type = tree_cons (NULL_TREE, float_type_node, void_list_node);
+Index: gcc/fortran/trans-intrinsic.c
+===================================================================
+--- gcc/fortran/trans-intrinsic.c      (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/fortran/trans-intrinsic.c      (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -3129,32 +3129,32 @@
+ /* NEAREST (s, dir) is translated into
+-     tmp = copysign (INF, dir);
++     tmp = copysign (HUGE_VAL, dir);
+      return nextafter (s, tmp);
+  */
+ static void
+ gfc_conv_intrinsic_nearest (gfc_se * se, gfc_expr * expr)
+ {
+   tree args[2], type, tmp;
+-  int nextafter, copysign, inf;
++  int nextafter, copysign, huge_val;
+   switch (expr->ts.kind)
+     {
+       case 4:
+       nextafter = BUILT_IN_NEXTAFTERF;
+       copysign = BUILT_IN_COPYSIGNF;
+-      inf = BUILT_IN_INFF;
++      huge_val = BUILT_IN_HUGE_VALF;
+       break;
+       case 8:
+       nextafter = BUILT_IN_NEXTAFTER;
+       copysign = BUILT_IN_COPYSIGN;
+-      inf = BUILT_IN_INF;
++      huge_val = BUILT_IN_HUGE_VAL;
+       break;
+       case 10:
+       case 16:
+       nextafter = BUILT_IN_NEXTAFTERL;
+       copysign = BUILT_IN_COPYSIGNL;
+-      inf = BUILT_IN_INFL;
++      huge_val = BUILT_IN_HUGE_VALL;
+       break;
+       default:
+       gcc_unreachable ();
+@@ -3163,7 +3163,7 @@
+   type = gfc_typenode_for_spec (&expr->ts);
+   gfc_conv_intrinsic_function_args (se, expr, args, 2);
+   tmp = build_call_expr (built_in_decls[copysign], 2,
+-                       build_call_expr (built_in_decls[inf], 0),
++                       build_call_expr (built_in_decls[huge_val], 0),
+                        fold_convert (type, args[1]));
+   se->expr = build_call_expr (built_in_decls[nextafter], 2,
+                             fold_convert (type, args[0]), tmp);
+Index: gcc/ira-lives.c
+===================================================================
+--- gcc/ira-lives.c    (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/ira-lives.c    (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -782,10 +782,11 @@
+                 [ira_class_hard_regs[cl][0]]) >= 0
+             && reg_class_size[cl] <= (unsigned) CLASS_MAX_NREGS (cl, mode))
+           {
+-            /* ??? FREQ */
+-            cost = freq * (in_p
+-                           ? ira_register_move_cost[mode][cover_class][cl]
+-                           : ira_register_move_cost[mode][cl][cover_class]);
++            cost
++              = (freq
++                 * (in_p
++                    ? ira_get_register_move_cost (mode, cover_class, cl)
++                    : ira_get_register_move_cost (mode, cl, cover_class)));
+             ira_allocate_and_set_costs
+               (&ALLOCNO_CONFLICT_HARD_REG_COSTS (operand_a), cover_class, 0);
+             ALLOCNO_CONFLICT_HARD_REG_COSTS (operand_a)
+Index: gcc/BASE-VER
+===================================================================
+--- gcc/BASE-VER       (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/BASE-VER       (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1 +1 @@
+-4.4.0
++4.4.1
+Index: gcc/ira-emit.c
+===================================================================
+--- gcc/ira-emit.c     (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/ira-emit.c     (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -812,7 +812,8 @@
+       }
+       else
+       {
+-        cost = ira_register_move_cost[mode][cover_class][cover_class] * freq;
++        cost = (ira_get_register_move_cost (mode, cover_class, cover_class)
++                * freq);
+         ira_shuffle_cost += cost;
+       }
+       ira_overall_cost += cost;
+Index: gcc/alias.c
+===================================================================
+--- gcc/alias.c        (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/alias.c        (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1438,15 +1438,16 @@
+         return x;
+       return 0;
++    case LO_SUM:
++      /* The standard form is (lo_sum reg sym) so look only at the
++         second operand.  */
++      return find_base_term (XEXP (x, 1));
++
+     case CONST:
+       x = XEXP (x, 0);
+       if (GET_CODE (x) != PLUS && GET_CODE (x) != MINUS)
+       return 0;
+       /* Fall through.  */
+-    case LO_SUM:
+-      /* The standard form is (lo_sum reg sym) so look only at the
+-         second operand.  */
+-      return find_base_term (XEXP (x, 1));
+     case PLUS:
+     case MINUS:
+       {
+Index: gcc/tree-ssa-live.c
+===================================================================
+--- gcc/tree-ssa-live.c        (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/tree-ssa-live.c        (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -595,6 +595,8 @@
+    /* Verfify that only blocks with source location set
+       are entry points to the inlined functions.  */
+      gcc_assert (BLOCK_SOURCE_LOCATION (scope) == UNKNOWN_LOCATION);
++
++   TREE_USED (scope) = !unused;
+    return unused;
+ }
+Index: gcc/po/exgettext
+===================================================================
+--- gcc/po/exgettext   (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/po/exgettext   (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -83,7 +83,7 @@
+ echo "scanning for keywords and %e strings..." >&2
+ ( cd $srcdir
+-  lang_subdirs=`echo */config-lang.in | sed -e 's|config-lang\.in||g'`
++  lang_subdirs=`echo */config-lang.in */*/config-lang.in | sed -e 's|config-lang\.in||g'`
+   { for dir in "" config/ config/*/ $lang_subdirs
+     do  for glob in '*.c' '*.h' '*.def'
+         do  eval echo $dir$glob
+Index: gcc/po/ChangeLog
+===================================================================
+--- gcc/po/ChangeLog   (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/po/ChangeLog   (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,3 +1,12 @@
++2009-04-22  Joseph Myers  <joseph@codesourcery.com>
++
++      * gcc.pot: Regenerate.
++
++2009-04-22  Joseph Myers  <joseph@codesourcery.com>
++
++      * exgettext: Also look for */*/config-lang.in to find language
++      subdirectories.
++
+ 2009-04-21  Release Manager
+       * GCC 4.4.0 released.
+Index: gcc/po/gcc.pot
+===================================================================
+--- gcc/po/gcc.pot     (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/po/gcc.pot     (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -8,7 +8,7 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2009-03-28 07:24+0000\n"
++"POT-Creation-Date: 2009-04-22 16:32+0000\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
+@@ -286,49 +286,49 @@
+ msgid "<command-line>"
+ msgstr ""
+-#: c-typeck.c:2491 c-typeck.c:4961 c-typeck.c:4964 c-typeck.c:4972
+-#: c-typeck.c:5002 c-typeck.c:6388
++#: c-typeck.c:2491 c-typeck.c:4965 c-typeck.c:4968 c-typeck.c:4976
++#: c-typeck.c:5006 c-typeck.c:6392
+ msgid "initializer element is not constant"
+ msgstr ""
+-#: c-typeck.c:4751
++#: c-typeck.c:4755
+ msgid "array initialized from parenthesized string constant"
+ msgstr ""
+-#: c-typeck.c:4813 cp/typeck2.c:757
++#: c-typeck.c:4817 cp/typeck2.c:757
+ #, gcc-internal-format
+ msgid "char-array initialized from wide string"
+ msgstr ""
+-#: c-typeck.c:4821
++#: c-typeck.c:4825
+ msgid "wide character array initialized from non-wide string"
+ msgstr ""
+-#: c-typeck.c:4827
++#: c-typeck.c:4831
+ msgid "wide character array initialized from incompatible wide string"
+ msgstr ""
+-#: c-typeck.c:4845 cp/typeck2.c:785
++#: c-typeck.c:4849 cp/typeck2.c:785
+ #, gcc-internal-format
+ msgid "initializer-string for array of chars is too long"
+ msgstr ""
+-#: c-typeck.c:4851
++#: c-typeck.c:4855
+ msgid "array of inappropriate type initialized from string constant"
+ msgstr ""
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-typeck.c:4918 c-typeck.c:4421 cp/typeck.c:1645
++#: c-typeck.c:4922 c-typeck.c:4425 cp/typeck.c:1645
+ #, gcc-internal-format
+ msgid "invalid use of non-lvalue array"
+ msgstr ""
+-#: c-typeck.c:4944
++#: c-typeck.c:4948
+ msgid "array initialized from non-constant array expression"
+ msgstr ""
+-#: c-typeck.c:5009 c-typeck.c:6393
++#: c-typeck.c:5013 c-typeck.c:6397
+ #, gcc-internal-format
+ msgid "initializer element is not computable at load time"
+ msgstr ""
+@@ -337,108 +337,108 @@
+ #. of VLAs themselves count as VLAs, it does not make
+ #. sense to permit them to be initialized given that
+ #. ordinary VLAs may not be initialized.
+-#: c-typeck.c:5020 c-decl.c:3224 c-decl.c:3239
++#: c-typeck.c:5024 c-decl.c:3224 c-decl.c:3239
+ #, gcc-internal-format
+ msgid "variable-sized object may not be initialized"
+ msgstr ""
+-#: c-typeck.c:5024
++#: c-typeck.c:5028
+ msgid "invalid initializer"
+ msgstr ""
+-#: c-typeck.c:5498
++#: c-typeck.c:5502
+ msgid "extra brace group at end of initializer"
+ msgstr ""
+-#: c-typeck.c:5518
++#: c-typeck.c:5522
+ msgid "missing braces around initializer"
+ msgstr ""
+-#: c-typeck.c:5579
++#: c-typeck.c:5583
+ msgid "braces around scalar initializer"
+ msgstr ""
+-#: c-typeck.c:5636
++#: c-typeck.c:5640
+ msgid "initialization of flexible array member in a nested context"
+ msgstr ""
+-#: c-typeck.c:5639
++#: c-typeck.c:5643
+ msgid "initialization of a flexible array member"
+ msgstr ""
+-#: c-typeck.c:5667
++#: c-typeck.c:5671
+ msgid "missing initializer"
+ msgstr ""
+-#: c-typeck.c:5689
++#: c-typeck.c:5693
+ msgid "empty scalar initializer"
+ msgstr ""
+-#: c-typeck.c:5694
++#: c-typeck.c:5698
+ msgid "extra elements in scalar initializer"
+ msgstr ""
+-#: c-typeck.c:5791 c-typeck.c:5851
++#: c-typeck.c:5795 c-typeck.c:5855
+ msgid "array index in non-array initializer"
+ msgstr ""
+-#: c-typeck.c:5796 c-typeck.c:5904
++#: c-typeck.c:5800 c-typeck.c:5908
+ msgid "field name not in record or union initializer"
+ msgstr ""
+-#: c-typeck.c:5842
++#: c-typeck.c:5846
+ msgid "array index in initializer not of integer type"
+ msgstr ""
+-#: c-typeck.c:5847 c-typeck.c:5849
++#: c-typeck.c:5851 c-typeck.c:5853
+ msgid "nonconstant array index in initializer"
+ msgstr ""
+-#: c-typeck.c:5853 c-typeck.c:5856
++#: c-typeck.c:5857 c-typeck.c:5860
+ msgid "array index in initializer exceeds array bounds"
+ msgstr ""
+-#: c-typeck.c:5867
++#: c-typeck.c:5871
+ msgid "empty index range in initializer"
+ msgstr ""
+-#: c-typeck.c:5876
++#: c-typeck.c:5880
+ msgid "array index range in initializer exceeds array bounds"
+ msgstr ""
+-#: c-typeck.c:5958 c-typeck.c:5984 c-typeck.c:6460
++#: c-typeck.c:5962 c-typeck.c:5988 c-typeck.c:6464
+ msgid "initialized field with side-effects overwritten"
+ msgstr ""
+-#: c-typeck.c:5960 c-typeck.c:5986 c-typeck.c:6462
++#: c-typeck.c:5964 c-typeck.c:5990 c-typeck.c:6466
+ msgid "initialized field overwritten"
+ msgstr ""
+-#: c-typeck.c:6676
++#: c-typeck.c:6680
+ msgid "excess elements in char array initializer"
+ msgstr ""
+-#: c-typeck.c:6683 c-typeck.c:6730
++#: c-typeck.c:6687 c-typeck.c:6734
+ msgid "excess elements in struct initializer"
+ msgstr ""
+-#: c-typeck.c:6745
++#: c-typeck.c:6749
+ msgid "non-static initialization of a flexible array member"
+ msgstr ""
+-#: c-typeck.c:6814
++#: c-typeck.c:6818
+ msgid "excess elements in union initializer"
+ msgstr ""
+-#: c-typeck.c:6902
++#: c-typeck.c:6906
+ msgid "excess elements in array initializer"
+ msgstr ""
+-#: c-typeck.c:6933
++#: c-typeck.c:6937
+ msgid "excess elements in vector initializer"
+ msgstr ""
+-#: c-typeck.c:6958
++#: c-typeck.c:6962
+ msgid "excess elements in scalar initializer"
+ msgstr ""
+@@ -708,13 +708,13 @@
+ #. handle them.
+ #. We can't handle floating point constants;
+ #. PRINT_OPERAND must handle them.
+-#: final.c:3493 vmsdbgout.c:487 config/i386/i386.c:10138
++#: final.c:3493 vmsdbgout.c:487 config/i386/i386.c:10175
+ #: config/pdp11/pdp11.c:1710
+ #, c-format
+ msgid "floating constant misused"
+ msgstr ""
+-#: final.c:3555 vmsdbgout.c:544 config/i386/i386.c:10225
++#: final.c:3555 vmsdbgout.c:544 config/i386/i386.c:10262
+ #: config/pdp11/pdp11.c:1757
+ #, c-format
+ msgid "invalid expression as operand"
+@@ -1811,82 +1811,82 @@
+ msgid "This switch lacks documentation"
+ msgstr ""
+-#: opts.c:1306
++#: opts.c:1268
+ msgid "[enabled]"
+ msgstr ""
+-#: opts.c:1306
++#: opts.c:1268
+ msgid "[disabled]"
+ msgstr ""
+-#: opts.c:1321
++#: opts.c:1283
+ #, c-format
+ msgid " No options with the desired characteristics were found\n"
+ msgstr ""
+-#: opts.c:1330
++#: opts.c:1292
+ #, c-format
+ msgid ""
+ " None found.  Use --help=%s to show *all* the options supported by the %s "
+ "front-end\n"
+ msgstr ""
+-#: opts.c:1336
++#: opts.c:1298
+ #, c-format
+ msgid ""
+ " All options with the desired characteristics have already been displayed\n"
+ msgstr ""
+-#: opts.c:1390
++#: opts.c:1352
+ msgid "The following options are target specific"
+ msgstr ""
+-#: opts.c:1393
++#: opts.c:1355
+ msgid "The following options control compiler warning messages"
+ msgstr ""
+-#: opts.c:1396
++#: opts.c:1358
+ msgid "The following options control optimizations"
+ msgstr ""
+-#: opts.c:1399 opts.c:1438
++#: opts.c:1361 opts.c:1400
+ msgid "The following options are language-independent"
+ msgstr ""
+-#: opts.c:1402
++#: opts.c:1364
+ msgid "The --param option recognizes the following as parameters"
+ msgstr ""
+-#: opts.c:1408
++#: opts.c:1370
+ msgid "The following options are specific to just the language "
+ msgstr ""
+-#: opts.c:1410
++#: opts.c:1372
+ msgid "The following options are supported by the language "
+ msgstr ""
+-#: opts.c:1421
++#: opts.c:1383
+ msgid "The following options are not documented"
+ msgstr ""
+-#: opts.c:1423
++#: opts.c:1385
+ msgid "The following options take separate arguments"
+ msgstr ""
+-#: opts.c:1425
++#: opts.c:1387
+ msgid "The following options take joined arguments"
+ msgstr ""
+-#: opts.c:1436
++#: opts.c:1398
+ msgid "The following options are language-related"
+ msgstr ""
+-#: opts.c:1596
++#: opts.c:1558
+ #, c-format
+ msgid "warning: --help argument %.*s is ambiguous, please be more specific\n"
+ msgstr ""
+-#: opts.c:1604
++#: opts.c:1566
+ #, c-format
+ msgid "warning: unrecognized argument to --help= option: %.*s\n"
+ msgstr ""
+@@ -3078,47 +3078,47 @@
+ msgid "missing operand"
+ msgstr ""
+-#: config/avr/avr.c:1196
++#: config/avr/avr.c:1209
+ #, c-format
+ msgid "address operand requires constraint for X, Y, or Z register"
+ msgstr ""
+-#: config/avr/avr.c:1308
++#: config/avr/avr.c:1321
+ msgid "bad address, not (reg+disp):"
+ msgstr ""
+-#: config/avr/avr.c:1315
++#: config/avr/avr.c:1328
+ msgid "bad address, not post_inc or pre_dec:"
+ msgstr ""
+-#: config/avr/avr.c:1326
++#: config/avr/avr.c:1339
+ msgid "internal compiler error.  Bad address:"
+ msgstr ""
+-#: config/avr/avr.c:1339
++#: config/avr/avr.c:1352
+ msgid "internal compiler error.  Unknown mode:"
+ msgstr ""
+-#: config/avr/avr.c:1934 config/avr/avr.c:2622
++#: config/avr/avr.c:1947 config/avr/avr.c:2635
+ msgid "invalid insn:"
+ msgstr ""
+-#: config/avr/avr.c:1973 config/avr/avr.c:2059 config/avr/avr.c:2108
+-#: config/avr/avr.c:2136 config/avr/avr.c:2231 config/avr/avr.c:2400
+-#: config/avr/avr.c:2661 config/avr/avr.c:2773
++#: config/avr/avr.c:1986 config/avr/avr.c:2072 config/avr/avr.c:2121
++#: config/avr/avr.c:2149 config/avr/avr.c:2244 config/avr/avr.c:2413
++#: config/avr/avr.c:2674 config/avr/avr.c:2786
+ msgid "incorrect insn:"
+ msgstr ""
+-#: config/avr/avr.c:2155 config/avr/avr.c:2316 config/avr/avr.c:2471
+-#: config/avr/avr.c:2839
++#: config/avr/avr.c:2168 config/avr/avr.c:2329 config/avr/avr.c:2484
++#: config/avr/avr.c:2852
+ msgid "unknown move insn:"
+ msgstr ""
+-#: config/avr/avr.c:3069
++#: config/avr/avr.c:3082
+ msgid "bad shift insn:"
+ msgstr ""
+-#: config/avr/avr.c:3185 config/avr/avr.c:3605 config/avr/avr.c:3963
++#: config/avr/avr.c:3198 config/avr/avr.c:3618 config/avr/avr.c:3976
+ msgid "internal compiler error.  Incorrect shift:"
+ msgstr ""
+@@ -3132,7 +3132,7 @@
+ msgid "invalid const_double operand"
+ msgstr ""
+-#: config/cris/cris.c:504 c-typeck.c:4700 c-typeck.c:4716 c-typeck.c:4733
++#: config/cris/cris.c:504 c-typeck.c:4704 c-typeck.c:4720 c-typeck.c:4737
+ #: final.c:3000 final.c:3002 gcc.c:4828 loop-iv.c:2825 loop-iv.c:2834
+ #: rtl-error.c:105 toplev.c:601 tree-ssa-loop-niter.c:1882 cp/typeck.c:4720
+ #: java/expr.c:411
+@@ -3369,51 +3369,51 @@
+ msgid " (frv)"
+ msgstr ""
+-#: config/i386/i386.c:10219
++#: config/i386/i386.c:10256
+ #, c-format
+ msgid "invalid UNSPEC as operand"
+ msgstr ""
+-#: config/i386/i386.c:10944 config/i386/i386.c:10983 config/i386/i386.c:11157
++#: config/i386/i386.c:10981 config/i386/i386.c:11020 config/i386/i386.c:11194
+ #, c-format
+ msgid "operand is not a condition code, invalid operand code 'D'"
+ msgstr ""
+-#: config/i386/i386.c:11008
++#: config/i386/i386.c:11045
+ #, c-format
+ msgid ""
+ "operand is neither a constant nor a condition code, invalid operand code 'C'"
+ msgstr ""
+-#: config/i386/i386.c:11018
++#: config/i386/i386.c:11055
+ #, c-format
+ msgid ""
+ "operand is neither a constant nor a condition code, invalid operand code 'F'"
+ msgstr ""
+-#: config/i386/i386.c:11036
++#: config/i386/i386.c:11073
+ #, c-format
+ msgid ""
+ "operand is neither a constant nor a condition code, invalid operand code 'c'"
+ msgstr ""
+-#: config/i386/i386.c:11046
++#: config/i386/i386.c:11083
+ #, c-format
+ msgid ""
+ "operand is neither a constant nor a condition code, invalid operand code 'f'"
+ msgstr ""
+-#: config/i386/i386.c:11171
++#: config/i386/i386.c:11208
+ #, c-format
+ msgid "invalid operand code '%c'"
+ msgstr ""
+-#: config/i386/i386.c:11220
++#: config/i386/i386.c:11257
+ #, c-format
+ msgid "invalid constraints for operand"
+ msgstr ""
+-#: config/i386/i386.c:18908
++#: config/i386/i386.c:18945
+ msgid "unknown insn mode"
+ msgstr ""
+@@ -3439,15 +3439,15 @@
+ msgid "ia64_print_operand: unknown code"
+ msgstr ""
+-#: config/ia64/ia64.c:10473
++#: config/ia64/ia64.c:10485
+ msgid "invalid conversion from %<__fpreg%>"
+ msgstr ""
+-#: config/ia64/ia64.c:10476
++#: config/ia64/ia64.c:10488
+ msgid "invalid conversion to %<__fpreg%>"
+ msgstr ""
+-#: config/ia64/ia64.c:10489 config/ia64/ia64.c:10500
++#: config/ia64/ia64.c:10501 config/ia64/ia64.c:10512
+ msgid "invalid operation on %<__fpreg%>"
+ msgstr ""
+@@ -3860,11 +3860,11 @@
+ msgid "candidates are:"
+ msgstr ""
+-#: cp/call.c:6824
++#: cp/call.c:6885
+ msgid "candidate 1:"
+ msgstr ""
+-#: cp/call.c:6825
++#: cp/call.c:6886
+ msgid "candidate 2:"
+ msgstr ""
+@@ -5935,33 +5935,33 @@
+ "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
+ msgstr ""
+-#: fortran/expr.c:2956 fortran/resolve.c:6536
++#: fortran/expr.c:2956 fortran/resolve.c:6539
+ #, no-c-format
+ msgid ""
+ "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/"
+ "DBLE/CMPLX"
+ msgstr ""
+-#: fortran/expr.c:2966 fortran/resolve.c:6546
++#: fortran/expr.c:2966 fortran/resolve.c:6549
+ #, no-c-format
+ msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
+ msgstr ""
+-#: fortran/expr.c:2974 fortran/resolve.c:6555
++#: fortran/expr.c:2974 fortran/resolve.c:6558
+ #, no-c-format
+ msgid ""
+ "Arithmetic underflow of bit-wise transferred BOZ at %L. This check can be "
+ "disabled with the option -fno-range-check"
+ msgstr ""
+-#: fortran/expr.c:2978 fortran/resolve.c:6559
++#: fortran/expr.c:2978 fortran/resolve.c:6562
+ #, no-c-format
+ msgid ""
+ "Arithmetic overflow of bit-wise transferred BOZ at %L. This check can be "
+ "disabled with the option -fno-range-check"
+ msgstr ""
+-#: fortran/expr.c:2982 fortran/resolve.c:6563
++#: fortran/expr.c:2982 fortran/resolve.c:6566
+ #, no-c-format
+ msgid ""
+ "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled "
+@@ -6192,12 +6192,12 @@
+ msgid "Second argument of defined assignment at %L must be INTENT(IN)"
+ msgstr ""
+-#: fortran/interface.c:662 fortran/resolve.c:10327
++#: fortran/interface.c:662 fortran/resolve.c:10330
+ #, no-c-format
+ msgid "First argument of operator interface at %L must be INTENT(IN)"
+ msgstr ""
+-#: fortran/interface.c:666 fortran/resolve.c:10339
++#: fortran/interface.c:666 fortran/resolve.c:10342
+ #, no-c-format
+ msgid "Second argument of operator interface at %L must be INTENT(IN)"
+ msgstr ""
+@@ -7106,7 +7106,7 @@
+ msgid "Block label is not appropriate for IF statement at %C"
+ msgstr ""
+-#: fortran/match.c:1570 fortran/primary.c:2881
++#: fortran/match.c:1570 fortran/primary.c:2888
+ #, no-c-format
+ msgid "Cannot assign to a named constant at %C"
+ msgstr ""
+@@ -7713,7 +7713,7 @@
+ msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
+ msgstr ""
+-#: fortran/openmp.c:759 fortran/resolve.c:6445 fortran/resolve.c:6798
++#: fortran/openmp.c:759 fortran/resolve.c:6448 fortran/resolve.c:6801
+ #, no-c-format
+ msgid "IF clause at %L requires a scalar LOGICAL expression"
+ msgstr ""
+@@ -8226,166 +8226,166 @@
+ msgid "Fortran 2003:  CONTAINS block in derived type definition at %C"
+ msgstr ""
+-#: fortran/parse.c:2046
++#: fortran/parse.c:2037
+ #, no-c-format
+ msgid "ENUM declaration at %C has no ENUMERATORS"
+ msgstr ""
+-#: fortran/parse.c:2140
++#: fortran/parse.c:2131
+ #, no-c-format
+ msgid "Unexpected %s statement in INTERFACE block at %C"
+ msgstr ""
+-#: fortran/parse.c:2166
++#: fortran/parse.c:2157
+ #, no-c-format
+ msgid "SUBROUTINE at %C does not belong in a generic function interface"
+ msgstr ""
+-#: fortran/parse.c:2170
++#: fortran/parse.c:2161
+ #, no-c-format
+ msgid "FUNCTION at %C does not belong in a generic subroutine interface"
+ msgstr ""
+-#: fortran/parse.c:2180
++#: fortran/parse.c:2171
+ #, no-c-format
+ msgid ""
+ "Name '%s' of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type"
+ msgstr ""
+-#: fortran/parse.c:2211
++#: fortran/parse.c:2202
+ #, no-c-format
+ msgid "Unexpected %s statement at %C in INTERFACE body"
+ msgstr ""
+-#: fortran/parse.c:2225
++#: fortran/parse.c:2216
+ #, no-c-format
+ msgid ""
+ "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure"
+ msgstr ""
+-#: fortran/parse.c:2411
++#: fortran/parse.c:2402
+ #, no-c-format
+ msgid "%s statement must appear in a MODULE"
+ msgstr ""
+-#: fortran/parse.c:2418
++#: fortran/parse.c:2409
+ #, no-c-format
+ msgid "%s statement at %C follows another accessibility specification"
+ msgstr ""
+-#: fortran/parse.c:2468
++#: fortran/parse.c:2459
+ #, no-c-format
+ msgid "Bad kind expression for function '%s' at %L"
+ msgstr ""
+-#: fortran/parse.c:2472
++#: fortran/parse.c:2463
+ #, no-c-format
+ msgid "The type for function '%s' at %L is not accessible"
+ msgstr ""
+-#: fortran/parse.c:2530
++#: fortran/parse.c:2521
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE"
+ msgstr ""
+-#: fortran/parse.c:2551
++#: fortran/parse.c:2542
+ #, no-c-format
+ msgid "Unexpected %s statement in WHERE block at %C"
+ msgstr ""
+-#: fortran/parse.c:2610
++#: fortran/parse.c:2601
+ #, no-c-format
+ msgid "Unexpected %s statement in FORALL block at %C"
+ msgstr ""
+-#: fortran/parse.c:2661
++#: fortran/parse.c:2652
+ #, no-c-format
+ msgid "ELSE IF statement at %C cannot follow ELSE statement at %L"
+ msgstr ""
+-#: fortran/parse.c:2679
++#: fortran/parse.c:2670
+ #, no-c-format
+ msgid "Duplicate ELSE statements at %L and %C"
+ msgstr ""
+-#: fortran/parse.c:2740
++#: fortran/parse.c:2731
+ #, no-c-format
+ msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
+ msgstr ""
+-#: fortran/parse.c:2798
++#: fortran/parse.c:2789
+ #, no-c-format
+ msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L"
+ msgstr ""
+-#: fortran/parse.c:2832
++#: fortran/parse.c:2823
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is within another block"
+ msgstr ""
+-#: fortran/parse.c:2841
++#: fortran/parse.c:2832
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
+ msgstr ""
+-#: fortran/parse.c:2890
++#: fortran/parse.c:2881
+ #, no-c-format
+ msgid "Statement label in ENDDO at %C doesn't match DO label"
+ msgstr ""
+-#: fortran/parse.c:2906
++#: fortran/parse.c:2897
+ #, no-c-format
+ msgid "named block DO at %L requires matching ENDDO name"
+ msgstr ""
+-#: fortran/parse.c:3165
++#: fortran/parse.c:3156
+ #, no-c-format
+ msgid "Name after !$omp critical and !$omp end critical does not match at %C"
+ msgstr ""
+-#: fortran/parse.c:3221
++#: fortran/parse.c:3212
+ #, no-c-format
+ msgid "%s statement at %C cannot terminate a non-block DO loop"
+ msgstr ""
+-#: fortran/parse.c:3408
++#: fortran/parse.c:3399
+ #, no-c-format
+ msgid "Contained procedure '%s' at %C is already ambiguous"
+ msgstr ""
+-#: fortran/parse.c:3458
++#: fortran/parse.c:3449
+ #, no-c-format
+ msgid "Unexpected %s statement in CONTAINS section at %C"
+ msgstr ""
+-#: fortran/parse.c:3482
++#: fortran/parse.c:3473
+ #, no-c-format
+ msgid ""
+ "Fortran 2008: CONTAINS statement without FUNCTION or SUBROUTINE statement at "
+ "%C"
+ msgstr ""
+-#: fortran/parse.c:3553
++#: fortran/parse.c:3544
+ #, no-c-format
+ msgid "CONTAINS statement at %C is already in a contained program unit"
+ msgstr ""
+-#: fortran/parse.c:3602
++#: fortran/parse.c:3593
+ #, no-c-format
+ msgid "Global name '%s' at %L is already being used as a %s at %L"
+ msgstr ""
+-#: fortran/parse.c:3623
++#: fortran/parse.c:3614
+ #, no-c-format
+ msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
+ msgstr ""
+-#: fortran/parse.c:3649
++#: fortran/parse.c:3640
+ #, no-c-format
+ msgid "Unexpected %s statement in BLOCK DATA at %C"
+ msgstr ""
+-#: fortran/parse.c:3692
++#: fortran/parse.c:3683
+ #, no-c-format
+ msgid "Unexpected %s statement in MODULE at %C"
+ msgstr ""
+@@ -8393,7 +8393,7 @@
+ #. If we see a duplicate main program, shut down.  If the second
+ #. instance is an implied main program, i.e. data decls or executable
+ #. statements, we're in for lots of errors.
+-#: fortran/parse.c:3875
++#: fortran/parse.c:3866
+ #, no-c-format
+ msgid "Two main PROGRAMs at %L and %C"
+ msgstr ""
+@@ -8546,138 +8546,138 @@
+ msgid "Syntax error in COMPLEX constant at %C"
+ msgstr ""
+-#: fortran/primary.c:1476
++#: fortran/primary.c:1483
+ #, no-c-format
+ msgid "Keyword '%s' at %C has already appeared in the current argument list"
+ msgstr ""
+-#: fortran/primary.c:1540
++#: fortran/primary.c:1547
+ #, no-c-format
+ msgid "Extension: argument list function at %C"
+ msgstr ""
+-#: fortran/primary.c:1607
++#: fortran/primary.c:1614
+ #, no-c-format
+ msgid "Expected alternate return label at %C"
+ msgstr ""
+-#: fortran/primary.c:1625
++#: fortran/primary.c:1632
+ #, no-c-format
+ msgid "Missing keyword name in actual argument list at %C"
+ msgstr ""
+-#: fortran/primary.c:1670
++#: fortran/primary.c:1677
+ #, no-c-format
+ msgid "Syntax error in argument list at %C"
+ msgstr ""
+-#: fortran/primary.c:1765
++#: fortran/primary.c:1772
+ #, no-c-format
+ msgid "Expected structure component name at %C"
+ msgstr ""
+-#: fortran/primary.c:1802
++#: fortran/primary.c:1809
+ #, no-c-format
+ msgid "Expected argument list at %C"
+ msgstr ""
+-#: fortran/primary.c:2096
++#: fortran/primary.c:2103
+ #, no-c-format
+ msgid ""
+ "Fortran 2003: Structure constructor with missing optional arguments at %C"
+ msgstr ""
+-#: fortran/primary.c:2104
++#: fortran/primary.c:2111
+ #, no-c-format
+ msgid ""
+ "No initializer for component '%s' given in the structure constructor at %C!"
+ msgstr ""
+-#: fortran/primary.c:2160
++#: fortran/primary.c:2167
+ #, no-c-format
+ msgid "Can't construct ABSTRACT type '%s' at %C"
+ msgstr ""
+-#: fortran/primary.c:2188
++#: fortran/primary.c:2195
+ #, no-c-format
+ msgid "Fortran 2003: Structure constructor with named arguments at %C"
+ msgstr ""
+-#: fortran/primary.c:2203
++#: fortran/primary.c:2210
+ #, no-c-format
+ msgid "Component initializer without name after component named %s at %C!"
+ msgstr ""
+-#: fortran/primary.c:2206
++#: fortran/primary.c:2213
+ #, no-c-format
+ msgid "Too many components in structure constructor at %C!"
+ msgstr ""
+-#: fortran/primary.c:2239
++#: fortran/primary.c:2246
+ #, no-c-format
+ msgid "Component '%s' is initialized twice in the structure constructor at %C!"
+ msgstr ""
+-#: fortran/primary.c:2295
++#: fortran/primary.c:2302
+ #, no-c-format
+ msgid ""
+ "component '%s' at %L has already been set by a parent derived type "
+ "constructor"
+ msgstr ""
+-#: fortran/primary.c:2318
++#: fortran/primary.c:2325
+ #, no-c-format
+ msgid "Syntax error in structure constructor at %C"
+ msgstr ""
+-#: fortran/primary.c:2408
++#: fortran/primary.c:2415
+ #, no-c-format
+ msgid ""
+ "'%s' at %C is the name of a recursive function and so refers to the result "
+ "variable. Use an explicit RESULT variable for direct recursion (12.5.2.1)"
+ msgstr ""
+-#: fortran/primary.c:2529
++#: fortran/primary.c:2536
+ #, no-c-format
+ msgid "Unexpected use of subroutine name '%s' at %C"
+ msgstr ""
+-#: fortran/primary.c:2560
++#: fortran/primary.c:2567
+ #, no-c-format
+ msgid "Statement function '%s' requires argument list at %C"
+ msgstr ""
+-#: fortran/primary.c:2563
++#: fortran/primary.c:2570
+ #, no-c-format
+ msgid "Function '%s' requires an argument list at %C"
+ msgstr ""
+-#: fortran/primary.c:2608
++#: fortran/primary.c:2615
+ #, no-c-format
+ msgid "Missing argument to '%s' at %C"
+ msgstr ""
+-#: fortran/primary.c:2749
++#: fortran/primary.c:2756
+ #, no-c-format
+ msgid "Missing argument list in function '%s' at %C"
+ msgstr ""
+-#: fortran/primary.c:2777
++#: fortran/primary.c:2784
+ #, no-c-format
+ msgid "Symbol at %C is not appropriate for an expression"
+ msgstr ""
+-#: fortran/primary.c:2845
++#: fortran/primary.c:2852
+ #, no-c-format
+ msgid "Assigning to PROTECTED variable at %C"
+ msgstr ""
+-#: fortran/primary.c:2879
++#: fortran/primary.c:2886
+ #, no-c-format
+ msgid "Named constant at %C in an EQUIVALENCE"
+ msgstr ""
+-#: fortran/primary.c:2914
++#: fortran/primary.c:2921
+ #, no-c-format
+ msgid "'%s' at %C is not a variable"
+ msgstr ""
+@@ -8713,7 +8713,7 @@
+ msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
+ msgstr ""
+-#: fortran/resolve.c:188 fortran/resolve.c:1277
++#: fortran/resolve.c:188 fortran/resolve.c:1280
+ #, no-c-format
+ msgid ""
+ "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
+@@ -8850,136 +8850,136 @@
+ "Derived type variable '%s' in COMMON at %L may not have default initializer"
+ msgstr ""
+-#: fortran/resolve.c:745
++#: fortran/resolve.c:748
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
+ msgstr ""
+-#: fortran/resolve.c:749
++#: fortran/resolve.c:752
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is also an intrinsic procedure"
+ msgstr ""
+-#: fortran/resolve.c:753
++#: fortran/resolve.c:756
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
+ msgstr ""
+-#: fortran/resolve.c:758
++#: fortran/resolve.c:761
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
+ msgstr ""
+-#: fortran/resolve.c:820
++#: fortran/resolve.c:823
+ #, no-c-format
+ msgid "Components of structure constructor '%s' at %L are PRIVATE"
+ msgstr ""
+-#: fortran/resolve.c:842
++#: fortran/resolve.c:845
+ #, no-c-format
+ msgid ""
+ "The rank of the element in the derived type constructor at %L does not match "
+ "that of the component (%d/%d)"
+ msgstr ""
+-#: fortran/resolve.c:855
++#: fortran/resolve.c:858
+ #, no-c-format
+ msgid ""
+ "The element in the derived type constructor at %L, for pointer component '%"
+ "s', is %s but should be %s"
+ msgstr ""
+-#: fortran/resolve.c:868
++#: fortran/resolve.c:871
+ #, no-c-format
+ msgid ""
+ "The NULL in the derived type constructor at %L is being applied to component "
+ "'%s', which is neither a POINTER nor ALLOCATABLE"
+ msgstr ""
+-#: fortran/resolve.c:882
++#: fortran/resolve.c:885
+ #, no-c-format
+ msgid ""
+ "The element in the derived type constructor at %L, for pointer component '%"
+ "s' should be a POINTER or a TARGET"
+ msgstr ""
+-#: fortran/resolve.c:1003
++#: fortran/resolve.c:1006
+ #, no-c-format
+ msgid ""
+ "The upper bound in the last dimension must appear in the reference to the "
+ "assumed size array '%s' at %L"
+ msgstr ""
+-#: fortran/resolve.c:1065
++#: fortran/resolve.c:1068
+ #, no-c-format
+ msgid "'%s' at %L is ambiguous"
+ msgstr ""
+-#: fortran/resolve.c:1069
++#: fortran/resolve.c:1072
+ #, no-c-format
+ msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
+ msgstr ""
+-#: fortran/resolve.c:1148
++#: fortran/resolve.c:1151
+ #, no-c-format
+ msgid ""
+ "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively.  "
+ "Declare it RECURSIVE or use -frecursive"
+ msgstr ""
+-#: fortran/resolve.c:1181 fortran/resolve.c:6008 fortran/resolve.c:6763
++#: fortran/resolve.c:1184 fortran/resolve.c:6011 fortran/resolve.c:6766
+ #, no-c-format
+ msgid "Label %d referenced at %L is never defined"
+ msgstr ""
+-#: fortran/resolve.c:1226
++#: fortran/resolve.c:1229
+ #, no-c-format
+ msgid "Statement function '%s' at %L is not allowed as an actual argument"
+ msgstr ""
+-#: fortran/resolve.c:1234
++#: fortran/resolve.c:1237
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
+ msgstr ""
+-#: fortran/resolve.c:1241
++#: fortran/resolve.c:1244
+ #, no-c-format
+ msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
+ msgstr ""
+-#: fortran/resolve.c:1247
++#: fortran/resolve.c:1250
+ #, no-c-format
+ msgid ""
+ "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument "
+ "at %L"
+ msgstr ""
+-#: fortran/resolve.c:1299
++#: fortran/resolve.c:1302
+ #, no-c-format
+ msgid "Symbol '%s' at %L is ambiguous"
+ msgstr ""
+-#: fortran/resolve.c:1350
++#: fortran/resolve.c:1353
+ #, no-c-format
+ msgid "By-value argument at %L is not of numeric type"
+ msgstr ""
+-#: fortran/resolve.c:1357
++#: fortran/resolve.c:1360
+ #, no-c-format
+ msgid "By-value argument at %L cannot be an array or an array section"
+ msgstr ""
+-#: fortran/resolve.c:1371
++#: fortran/resolve.c:1374
+ #, no-c-format
+ msgid "By-value argument at %L is not allowed in this context"
+ msgstr ""
+-#: fortran/resolve.c:1383
++#: fortran/resolve.c:1386
+ #, no-c-format
+ msgid "Passing internal procedure at %L by location not allowed"
+ msgstr ""
+-#: fortran/resolve.c:1508
++#: fortran/resolve.c:1511
+ #, no-c-format
+ msgid ""
+ "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the "
+@@ -8987,572 +8987,572 @@
+ "argument with the same rank (12.4.1.5)"
+ msgstr ""
+-#: fortran/resolve.c:1530
++#: fortran/resolve.c:1533
+ msgid "elemental procedure"
+ msgstr ""
+-#: fortran/resolve.c:1547
++#: fortran/resolve.c:1550
+ #, no-c-format
+ msgid ""
+ "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' "
+ "is a scalar, but another actual argument is an array"
+ msgstr ""
+-#: fortran/resolve.c:1684
++#: fortran/resolve.c:1687
+ #, no-c-format
+ msgid "There is no specific function for the generic '%s' at %L"
+ msgstr ""
+-#: fortran/resolve.c:1693
++#: fortran/resolve.c:1696
+ #, no-c-format
+ msgid ""
+ "Generic function '%s' at %L is not consistent with a specific intrinsic "
+ "interface"
+ msgstr ""
+-#: fortran/resolve.c:1748
++#: fortran/resolve.c:1751
+ #, no-c-format
+ msgid ""
+ "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr ""
+-#: fortran/resolve.c:1794
++#: fortran/resolve.c:1797
+ #, no-c-format
+ msgid "Unable to resolve the specific function '%s' at %L"
+ msgstr ""
+-#: fortran/resolve.c:1850 fortran/resolve.c:10258
++#: fortran/resolve.c:1853 fortran/resolve.c:10261
+ #, no-c-format
+ msgid "Function '%s' at %L has no IMPLICIT type"
+ msgstr ""
+-#: fortran/resolve.c:2059
++#: fortran/resolve.c:2062
+ #, no-c-format
+ msgid "Argument to '%s' at %L is not a variable"
+ msgstr ""
+-#: fortran/resolve.c:2107
++#: fortran/resolve.c:2110
+ #, no-c-format
+ msgid "More actual than formal arguments in '%s' call at %L"
+ msgstr ""
+-#: fortran/resolve.c:2116
++#: fortran/resolve.c:2119
+ #, no-c-format
+ msgid ""
+ "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
+ msgstr ""
+-#: fortran/resolve.c:2139
++#: fortran/resolve.c:2142
+ #, no-c-format
+ msgid ""
+ "Allocatable variable '%s' used as a parameter to '%s' at %L must not be an "
+ "array of zero size"
+ msgstr ""
+-#: fortran/resolve.c:2156
++#: fortran/resolve.c:2159
+ #, no-c-format
+ msgid ""
+ "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' "
+ "because it is not C interoperable"
+ msgstr ""
+-#: fortran/resolve.c:2166
++#: fortran/resolve.c:2169
+ #, no-c-format
+ msgid ""
+ "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' "
+ "because it is not C interoperable"
+ msgstr ""
+-#: fortran/resolve.c:2189 fortran/resolve.c:2226
++#: fortran/resolve.c:2192 fortran/resolve.c:2229
+ #, no-c-format
+ msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1"
+ msgstr ""
+ #. Case 1c, section 15.1.2.5, J3/04-007: an associated
+ #. scalar pointer.
+-#: fortran/resolve.c:2202
++#: fortran/resolve.c:2205
+ #, no-c-format
+ msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
+ msgstr ""
+-#: fortran/resolve.c:2218
++#: fortran/resolve.c:2221
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a scalar"
+ msgstr ""
+ #. TODO: Update this error message to allow for procedure
+ #. pointers once they are implemented.
+-#: fortran/resolve.c:2240
++#: fortran/resolve.c:2243
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a procedure"
+ msgstr ""
+-#: fortran/resolve.c:2248
++#: fortran/resolve.c:2251
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
+ msgstr ""
+-#: fortran/resolve.c:2294
++#: fortran/resolve.c:2297
+ #, no-c-format
+ msgid "Intrinsic subroutine '%s' used as a function at %L"
+ msgstr ""
+-#: fortran/resolve.c:2301
++#: fortran/resolve.c:2304
+ #, no-c-format
+ msgid "'%s' at %L is not a function"
+ msgstr ""
+-#: fortran/resolve.c:2307
++#: fortran/resolve.c:2310
+ #, no-c-format
+ msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L"
+ msgstr ""
+ #. Internal procedures are taken care of in resolve_contained_fntype.
+-#: fortran/resolve.c:2352
++#: fortran/resolve.c:2355
+ #, no-c-format
+ msgid ""
+ "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is "
+ "not a dummy argument"
+ msgstr ""
+-#: fortran/resolve.c:2405
++#: fortran/resolve.c:2408
+ #, no-c-format
+ msgid ""
+ "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE "
+ "construct"
+ msgstr ""
+-#: fortran/resolve.c:2455
++#: fortran/resolve.c:2458
+ #, no-c-format
+ msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
+ msgstr ""
+-#: fortran/resolve.c:2462
++#: fortran/resolve.c:2465
+ #, no-c-format
+ msgid ""
+ "Function reference to '%s' at %L is to a non-PURE procedure within a PURE "
+ "procedure"
+ msgstr ""
+-#: fortran/resolve.c:2478
++#: fortran/resolve.c:2481
+ #, no-c-format
+ msgid ""
+ "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not "
+ "RECURSIVE"
+ msgstr ""
+-#: fortran/resolve.c:2482
++#: fortran/resolve.c:2485
+ #, no-c-format
+ msgid ""
+ "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE"
+ msgstr ""
+-#: fortran/resolve.c:2529
++#: fortran/resolve.c:2532
+ #, no-c-format
+ msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
+ msgstr ""
+-#: fortran/resolve.c:2532
++#: fortran/resolve.c:2535
+ #, no-c-format
+ msgid "Subroutine call to '%s' at %L is not PURE"
+ msgstr ""
+-#: fortran/resolve.c:2595
++#: fortran/resolve.c:2598
+ #, no-c-format
+ msgid "There is no specific subroutine for the generic '%s' at %L"
+ msgstr ""
+-#: fortran/resolve.c:2604
++#: fortran/resolve.c:2607
+ #, no-c-format
+ msgid ""
+ "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine "
+ "interface"
+ msgstr ""
+-#: fortran/resolve.c:2712
++#: fortran/resolve.c:2715
+ #, no-c-format
+ msgid "Missing SHAPE parameter for call to %s at %L"
+ msgstr ""
+-#: fortran/resolve.c:2720
++#: fortran/resolve.c:2723
+ #, no-c-format
+ msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
+ msgstr ""
+-#: fortran/resolve.c:2805
++#: fortran/resolve.c:2808
+ #, no-c-format
+ msgid ""
+ "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr ""
+-#: fortran/resolve.c:2849
++#: fortran/resolve.c:2852
+ #, no-c-format
+ msgid "Unable to resolve the specific subroutine '%s' at %L"
+ msgstr ""
+-#: fortran/resolve.c:2909
++#: fortran/resolve.c:2912
+ #, no-c-format
+ msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
+ msgstr ""
+-#: fortran/resolve.c:2942
++#: fortran/resolve.c:2945
+ #, no-c-format
+ msgid ""
+ "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not "
+ "RECURSIVE"
+ msgstr ""
+-#: fortran/resolve.c:2946
++#: fortran/resolve.c:2949
+ #, no-c-format
+ msgid ""
+ "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE"
+ msgstr ""
+-#: fortran/resolve.c:3020
++#: fortran/resolve.c:3023
+ #, no-c-format
+ msgid "Shapes for operands at %L and %L are not conformable"
+ msgstr ""
+-#: fortran/resolve.c:3071
++#: fortran/resolve.c:3074
+ #, c-format
+ msgid "Invalid context for NULL() pointer at %%L"
+ msgstr ""
+-#: fortran/resolve.c:3087
++#: fortran/resolve.c:3090
+ #, c-format
+ msgid "Operand of unary numeric operator '%s' at %%L is %s"
+ msgstr ""
+-#: fortran/resolve.c:3103
++#: fortran/resolve.c:3106
+ #, c-format
+ msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
+ msgstr ""
+-#: fortran/resolve.c:3118
++#: fortran/resolve.c:3121
+ #, c-format
+ msgid "Operands of string concatenation operator at %%L are %s/%s"
+ msgstr ""
+-#: fortran/resolve.c:3137
++#: fortran/resolve.c:3140
+ #, c-format
+ msgid "Operands of logical operator '%s' at %%L are %s/%s"
+ msgstr ""
+-#: fortran/resolve.c:3151
++#: fortran/resolve.c:3154
+ #, c-format
+ msgid "Operand of .not. operator at %%L is %s"
+ msgstr ""
+-#: fortran/resolve.c:3165
++#: fortran/resolve.c:3168
+ msgid "COMPLEX quantities cannot be compared at %L"
+ msgstr ""
+-#: fortran/resolve.c:3194
++#: fortran/resolve.c:3197
+ #, c-format
+ msgid "Logicals at %%L must be compared with %s instead of %s"
+ msgstr ""
+-#: fortran/resolve.c:3200
++#: fortran/resolve.c:3203
+ #, c-format
+ msgid "Operands of comparison operator '%s' at %%L are %s/%s"
+ msgstr ""
+-#: fortran/resolve.c:3208
++#: fortran/resolve.c:3211
+ #, c-format
+ msgid "Unknown operator '%s' at %%L"
+ msgstr ""
+-#: fortran/resolve.c:3210
++#: fortran/resolve.c:3213
+ #, c-format
+ msgid "Operand of user operator '%s' at %%L is %s"
+ msgstr ""
+-#: fortran/resolve.c:3213
++#: fortran/resolve.c:3216
+ #, c-format
+ msgid "Operands of user operator '%s' at %%L are %s/%s"
+ msgstr ""
+-#: fortran/resolve.c:3299
++#: fortran/resolve.c:3302
+ #, c-format
+ msgid "Inconsistent ranks for operator at %%L and %%L"
+ msgstr ""
+-#: fortran/resolve.c:3496
++#: fortran/resolve.c:3499
+ #, no-c-format
+ msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr ""
+-#: fortran/resolve.c:3504
++#: fortran/resolve.c:3507
+ #, no-c-format
+ msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr ""
+-#: fortran/resolve.c:3523
++#: fortran/resolve.c:3526
+ #, no-c-format
+ msgid "Illegal stride of zero at %L"
+ msgstr ""
+-#: fortran/resolve.c:3540
++#: fortran/resolve.c:3543
+ #, no-c-format
+ msgid ""
+ "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr ""
+-#: fortran/resolve.c:3548
++#: fortran/resolve.c:3551
+ #, no-c-format
+ msgid ""
+ "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr ""
+-#: fortran/resolve.c:3564
++#: fortran/resolve.c:3567
+ #, no-c-format
+ msgid ""
+ "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr ""
+-#: fortran/resolve.c:3573
++#: fortran/resolve.c:3576
+ #, no-c-format
+ msgid ""
+ "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr ""
+-#: fortran/resolve.c:3612
++#: fortran/resolve.c:3615
+ #, no-c-format
+ msgid "Rightmost upper bound of assumed size array section not specified at %L"
+ msgstr ""
+-#: fortran/resolve.c:3622
++#: fortran/resolve.c:3625
+ #, no-c-format
+ msgid "Rank mismatch in array reference at %L (%d/%d)"
+ msgstr ""
+-#: fortran/resolve.c:3650
++#: fortran/resolve.c:3653
+ #, no-c-format
+ msgid "Array index at %L must be scalar"
+ msgstr ""
+-#: fortran/resolve.c:3656
++#: fortran/resolve.c:3659
+ #, no-c-format
+ msgid "Array index at %L must be of INTEGER type, found %s"
+ msgstr ""
+-#: fortran/resolve.c:3662
++#: fortran/resolve.c:3665
+ #, no-c-format
+ msgid "Extension: REAL array index at %L"
+ msgstr ""
+-#: fortran/resolve.c:3692
++#: fortran/resolve.c:3695
+ #, no-c-format
+ msgid "Argument dim at %L must be scalar"
+ msgstr ""
+-#: fortran/resolve.c:3699
++#: fortran/resolve.c:3702
+ #, no-c-format
+ msgid "Argument dim at %L must be of INTEGER type"
+ msgstr ""
+-#: fortran/resolve.c:3820
++#: fortran/resolve.c:3823
+ #, no-c-format
+ msgid "Array index at %L is an array of rank %d"
+ msgstr ""
+-#: fortran/resolve.c:3857
++#: fortran/resolve.c:3860
+ #, no-c-format
+ msgid "Substring start index at %L must be of type INTEGER"
+ msgstr ""
+-#: fortran/resolve.c:3864
++#: fortran/resolve.c:3867
+ #, no-c-format
+ msgid "Substring start index at %L must be scalar"
+ msgstr ""
+-#: fortran/resolve.c:3873
++#: fortran/resolve.c:3876
+ #, no-c-format
+ msgid "Substring start index at %L is less than one"
+ msgstr ""
+-#: fortran/resolve.c:3886
++#: fortran/resolve.c:3889
+ #, no-c-format
+ msgid "Substring end index at %L must be of type INTEGER"
+ msgstr ""
+-#: fortran/resolve.c:3893
++#: fortran/resolve.c:3896
+ #, no-c-format
+ msgid "Substring end index at %L must be scalar"
+ msgstr ""
+-#: fortran/resolve.c:3903
++#: fortran/resolve.c:3906
+ #, no-c-format
+ msgid "Substring end index at %L exceeds the string length"
+ msgstr ""
+-#: fortran/resolve.c:4041
++#: fortran/resolve.c:4044
+ #, no-c-format
+ msgid ""
+ "Component to the right of a part reference with nonzero rank must not have "
+ "the POINTER attribute at %L"
+ msgstr ""
+-#: fortran/resolve.c:4048
++#: fortran/resolve.c:4051
+ #, no-c-format
+ msgid ""
+ "Component to the right of a part reference with nonzero rank must not have "
+ "the ALLOCATABLE attribute at %L"
+ msgstr ""
+-#: fortran/resolve.c:4067
++#: fortran/resolve.c:4070
+ #, no-c-format
+ msgid ""
+ "Two or more part references with nonzero rank must not be specified at %L"
+ msgstr ""
+-#: fortran/resolve.c:4246
++#: fortran/resolve.c:4249
+ #, no-c-format
+ msgid ""
+ "Variable '%s', used in a specification expression, is referenced at %L "
+ "before the ENTRY statement in which it is a parameter"
+ msgstr ""
+-#: fortran/resolve.c:4251
++#: fortran/resolve.c:4254
+ #, no-c-format
+ msgid ""
+ "Variable '%s' is used at %L before the ENTRY statement in which it is a "
+ "parameter"
+ msgstr ""
+-#: fortran/resolve.c:4535
++#: fortran/resolve.c:4538
+ #, no-c-format
+ msgid "Passed-object at %L must be scalar"
+ msgstr ""
+ #. Nothing matching found!
+-#: fortran/resolve.c:4645
++#: fortran/resolve.c:4648
+ #, no-c-format
+ msgid ""
+ "Found no matching specific binding for the call to the GENERIC '%s' at %L"
+ msgstr ""
+-#: fortran/resolve.c:4665
++#: fortran/resolve.c:4668
+ #, no-c-format
+ msgid "'%s' at %L should be a SUBROUTINE"
+ msgstr ""
+-#: fortran/resolve.c:4701
++#: fortran/resolve.c:4704
+ #, no-c-format
+ msgid "'%s' at %L should be a FUNCTION"
+ msgstr ""
+-#: fortran/resolve.c:4837
++#: fortran/resolve.c:4840
+ #, no-c-format
+ msgid "%s at %L must be a scalar"
+ msgstr ""
+-#: fortran/resolve.c:4847
++#: fortran/resolve.c:4850
+ #, no-c-format
+ msgid "Deleted feature: %s at %L must be integer"
+ msgstr ""
+-#: fortran/resolve.c:4851 fortran/resolve.c:4858
++#: fortran/resolve.c:4854 fortran/resolve.c:4861
+ #, no-c-format
+ msgid "%s at %L must be INTEGER"
+ msgstr ""
+-#: fortran/resolve.c:4878
++#: fortran/resolve.c:4881
+ #, no-c-format
+ msgid "Cannot assign to loop variable in PURE procedure at %L"
+ msgstr ""
+-#: fortran/resolve.c:4902
++#: fortran/resolve.c:4905
+ #, no-c-format
+ msgid "Step expression in DO loop at %L cannot be zero"
+ msgstr ""
+-#: fortran/resolve.c:4978
++#: fortran/resolve.c:4981
+ #, no-c-format
+ msgid "FORALL index-name at %L must be a scalar INTEGER"
+ msgstr ""
+-#: fortran/resolve.c:4983
++#: fortran/resolve.c:4986
+ #, no-c-format
+ msgid "FORALL start expression at %L must be a scalar INTEGER"
+ msgstr ""
+-#: fortran/resolve.c:4990
++#: fortran/resolve.c:4993
+ #, no-c-format
+ msgid "FORALL end expression at %L must be a scalar INTEGER"
+ msgstr ""
+-#: fortran/resolve.c:4998
++#: fortran/resolve.c:5001
+ #, no-c-format
+ msgid "FORALL stride expression at %L must be a scalar %s"
+ msgstr ""
+-#: fortran/resolve.c:5003
++#: fortran/resolve.c:5006
+ #, no-c-format
+ msgid "FORALL stride expression at %L cannot be zero"
+ msgstr ""
+-#: fortran/resolve.c:5019
++#: fortran/resolve.c:5022
+ #, no-c-format
+ msgid "FORALL index '%s' may not appear in triplet specification at %L"
+ msgstr ""
+-#: fortran/resolve.c:5099
++#: fortran/resolve.c:5102
+ #, no-c-format
+ msgid ""
+ "Expression in DEALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr ""
+-#: fortran/resolve.c:5106
++#: fortran/resolve.c:5109
+ #, no-c-format
+ msgid "Cannot deallocate INTENT(IN) variable '%s' at %L"
+ msgstr ""
+-#: fortran/resolve.c:5210
++#: fortran/resolve.c:5213
+ #, no-c-format
+ msgid ""
+ "The STAT variable '%s' in an ALLOCATE statement must not be allocated in the "
+ "same statement at %L"
+ msgstr ""
+-#: fortran/resolve.c:5246
++#: fortran/resolve.c:5249
+ #, no-c-format
+ msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr ""
+-#: fortran/resolve.c:5254
++#: fortran/resolve.c:5257
+ #, no-c-format
+ msgid "Cannot allocate INTENT(IN) variable '%s' at %L"
+ msgstr ""
+-#: fortran/resolve.c:5278
++#: fortran/resolve.c:5281
+ #, no-c-format
+ msgid "Array specification required in ALLOCATE statement at %L"
+ msgstr ""
+-#: fortran/resolve.c:5308
++#: fortran/resolve.c:5311
+ #, no-c-format
+ msgid "Bad array specification in ALLOCATE statement at %L"
+ msgstr ""
+-#: fortran/resolve.c:5328
++#: fortran/resolve.c:5331
+ #, no-c-format
+ msgid ""
+ "'%s' must not appear in the array specification at %L in the same ALLOCATE "
+ "statement where it is itself allocated"
+ msgstr ""
+-#: fortran/resolve.c:5351
++#: fortran/resolve.c:5354
+ #, no-c-format
+ msgid "STAT variable '%s' of %s statement at %C cannot be INTENT(IN)"
+ msgstr ""
+-#: fortran/resolve.c:5355
++#: fortran/resolve.c:5358
+ #, no-c-format
+ msgid "Illegal STAT variable in %s statement at %C for a PURE procedure"
+ msgstr ""
+-#: fortran/resolve.c:5360
++#: fortran/resolve.c:5363
+ #, no-c-format
+ msgid "STAT tag in %s statement at %L must be of type INTEGER"
+ msgstr ""
+@@ -9561,99 +9561,99 @@
+ #. element in the list.  Either way, we must
+ #. issue an error and get the next case from P.
+ #. FIXME: Sort P and Q by line number.
+-#: fortran/resolve.c:5523
++#: fortran/resolve.c:5526
+ #, no-c-format
+ msgid "CASE label at %L overlaps with CASE label at %L"
+ msgstr ""
+-#: fortran/resolve.c:5574
++#: fortran/resolve.c:5577
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be of type %s"
+ msgstr ""
+-#: fortran/resolve.c:5585
++#: fortran/resolve.c:5588
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be of kind %d"
+ msgstr ""
+-#: fortran/resolve.c:5597
++#: fortran/resolve.c:5600
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be scalar"
+ msgstr ""
+-#: fortran/resolve.c:5643
++#: fortran/resolve.c:5646
+ #, no-c-format
+ msgid ""
+ "Selection expression in computed GOTO statement at %L must be a scalar "
+ "integer expression"
+ msgstr ""
+-#: fortran/resolve.c:5661
++#: fortran/resolve.c:5664
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L cannot be %s"
+ msgstr ""
+-#: fortran/resolve.c:5670
++#: fortran/resolve.c:5673
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L must be a scalar expression"
+ msgstr ""
+-#: fortran/resolve.c:5735
++#: fortran/resolve.c:5738
+ #, no-c-format
+ msgid ""
+ "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
+ msgstr ""
+-#: fortran/resolve.c:5761
++#: fortran/resolve.c:5764
+ #, no-c-format
+ msgid "Logical range in CASE statement at %L is not allowed"
+ msgstr ""
+-#: fortran/resolve.c:5773
++#: fortran/resolve.c:5776
+ #, no-c-format
+ msgid "constant logical value in CASE statement is repeated at %L"
+ msgstr ""
+-#: fortran/resolve.c:5787
++#: fortran/resolve.c:5790
+ #, no-c-format
+ msgid "Range specification at %L can never be matched"
+ msgstr ""
+-#: fortran/resolve.c:5890
++#: fortran/resolve.c:5893
+ #, no-c-format
+ msgid "Logical SELECT CASE block at %L has more that two cases"
+ msgstr ""
+-#: fortran/resolve.c:5928
++#: fortran/resolve.c:5931
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have POINTER components"
+ msgstr ""
+-#: fortran/resolve.c:5935
++#: fortran/resolve.c:5938
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have ALLOCATABLE components"
+ msgstr ""
+-#: fortran/resolve.c:5942
++#: fortran/resolve.c:5945
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have PRIVATE components"
+ msgstr ""
+-#: fortran/resolve.c:5951
++#: fortran/resolve.c:5954
+ #, no-c-format
+ msgid ""
+ "Data transfer element at %L cannot be a full reference to an assumed-size "
+ "array"
+ msgstr ""
+-#: fortran/resolve.c:6015
++#: fortran/resolve.c:6018
+ #, no-c-format
+ msgid ""
+ "Statement at %L is not a valid branch target statement for the branch "
+ "statement at %L"
+ msgstr ""
+-#: fortran/resolve.c:6024
++#: fortran/resolve.c:6027
+ #, no-c-format
+ msgid "Branch at %L may result in an infinite loop"
+ msgstr ""
+@@ -9661,118 +9661,118 @@
+ #. The label is not in an enclosing block, so illegal.  This was
+ #. allowed in Fortran 66, so we allow it as extension.  No
+ #. further checks are necessary in this case.
+-#: fortran/resolve.c:6037
++#: fortran/resolve.c:6040
+ #, no-c-format
+ msgid "Label at %L is not in the same block as the GOTO statement at %L"
+ msgstr ""
+-#: fortran/resolve.c:6052 fortran/resolve.c:6066
++#: fortran/resolve.c:6055 fortran/resolve.c:6069
+ #, no-c-format
+ msgid "Deleted feature: GOTO at %L jumps to END of construct at %L"
+ msgstr ""
+-#: fortran/resolve.c:6143
++#: fortran/resolve.c:6146
+ #, no-c-format
+ msgid "WHERE mask at %L has inconsistent shape"
+ msgstr ""
+-#: fortran/resolve.c:6159
++#: fortran/resolve.c:6162
+ #, no-c-format
+ msgid "WHERE assignment target at %L has inconsistent shape"
+ msgstr ""
+-#: fortran/resolve.c:6167 fortran/resolve.c:6254
++#: fortran/resolve.c:6170 fortran/resolve.c:6257
+ #, no-c-format
+ msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
+ msgstr ""
+-#: fortran/resolve.c:6177 fortran/resolve.c:6264
++#: fortran/resolve.c:6180 fortran/resolve.c:6267
+ #, no-c-format
+ msgid "Unsupported statement inside WHERE at %L"
+ msgstr ""
+-#: fortran/resolve.c:6208
++#: fortran/resolve.c:6211
+ #, no-c-format
+ msgid "Assignment to a FORALL index variable at %L"
+ msgstr ""
+-#: fortran/resolve.c:6217
++#: fortran/resolve.c:6220
+ #, no-c-format
+ msgid ""
+ "The FORALL with index '%s' is not used on the left side of the assignment at "
+ "%L and so might cause multiple assignment to this object"
+ msgstr ""
+-#: fortran/resolve.c:6386
++#: fortran/resolve.c:6389
+ #, no-c-format
+ msgid "An outer FORALL construct already has an index with this name %L"
+ msgstr ""
+-#: fortran/resolve.c:6453
++#: fortran/resolve.c:6456
+ #, no-c-format
+ msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
+ msgstr ""
+-#: fortran/resolve.c:6515
++#: fortran/resolve.c:6518
+ #, no-c-format
+ msgid "Subroutine '%s' called instead of assignment at %L must be PURE"
+ msgstr ""
+-#: fortran/resolve.c:6588
++#: fortran/resolve.c:6591
+ #, no-c-format
+ msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
+ msgstr ""
+-#: fortran/resolve.c:6613
++#: fortran/resolve.c:6616
+ #, no-c-format
+ msgid "Cannot assign to variable '%s' in PURE procedure at %L"
+ msgstr ""
+-#: fortran/resolve.c:6625
++#: fortran/resolve.c:6628
+ #, no-c-format
+ msgid ""
+ "The impure variable at %L is assigned to a derived type variable with a "
+ "POINTER component in a PURE procedure (12.6)"
+ msgstr ""
+-#: fortran/resolve.c:6731
++#: fortran/resolve.c:6734
+ #, no-c-format
+ msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
+ msgstr ""
+-#: fortran/resolve.c:6734
++#: fortran/resolve.c:6737
+ #, no-c-format
+ msgid "Variable '%s' has not been assigned a target label at %L"
+ msgstr ""
+-#: fortran/resolve.c:6745
++#: fortran/resolve.c:6748
+ #, no-c-format
+ msgid ""
+ "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
+ msgstr ""
+-#: fortran/resolve.c:6771
++#: fortran/resolve.c:6774
+ #, no-c-format
+ msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
+ msgstr ""
+-#: fortran/resolve.c:6786
++#: fortran/resolve.c:6789
+ #, no-c-format
+ msgid "Arithmetic IF statement at %L requires a numeric expression"
+ msgstr ""
+-#: fortran/resolve.c:6832
++#: fortran/resolve.c:6835
+ #, no-c-format
+ msgid ""
+ "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
+ msgstr ""
+-#: fortran/resolve.c:6914
++#: fortran/resolve.c:6917
+ #, no-c-format
+ msgid "FORALL mask clause at %L requires a LOGICAL expression"
+ msgstr ""
+-#: fortran/resolve.c:6986 fortran/resolve.c:7042
++#: fortran/resolve.c:6989 fortran/resolve.c:7045
+ #, no-c-format
+ msgid ""
+ "Binding label '%s' for common block '%s' at %L collides with the global "
+@@ -9780,14 +9780,14 @@
+ msgstr ""
+ #. Common block names match but binding labels do not.
+-#: fortran/resolve.c:7007
++#: fortran/resolve.c:7010
+ #, no-c-format
+ msgid ""
+ "Binding label '%s' for common block '%s' at %L does not match the binding "
+ "label '%s' for common block '%s' at %L"
+ msgstr ""
+-#: fortran/resolve.c:7054
++#: fortran/resolve.c:7057
+ #, no-c-format
+ msgid ""
+ "Binding label '%s' for common block '%s' at %L collides with global entity '%"
+@@ -9795,57 +9795,57 @@
+ msgstr ""
+ #. Make sure global procedures don't collide with anything.
+-#: fortran/resolve.c:7106
++#: fortran/resolve.c:7109
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with the global entity '%s' at %L"
+ msgstr ""
+ #. Make sure procedures in interface bodies don't collide.
+-#: fortran/resolve.c:7119
++#: fortran/resolve.c:7122
+ #, no-c-format
+ msgid ""
+ "Binding label '%s' in interface body at %L collides with the global entity '%"
+ "s' at %L"
+ msgstr ""
+-#: fortran/resolve.c:7132
++#: fortran/resolve.c:7135
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
+ msgstr ""
+-#: fortran/resolve.c:7209
++#: fortran/resolve.c:7212
+ #, no-c-format
+ msgid "CHARACTER variable has zero length at %L"
+ msgstr ""
+-#: fortran/resolve.c:7496
++#: fortran/resolve.c:7499
+ #, no-c-format
+ msgid "Allocatable array '%s' at %L must have a deferred shape"
+ msgstr ""
+-#: fortran/resolve.c:7499
++#: fortran/resolve.c:7502
+ #, no-c-format
+ msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
+ msgstr ""
+-#: fortran/resolve.c:7506
++#: fortran/resolve.c:7509
+ #, no-c-format
+ msgid "Array pointer '%s' at %L must have a deferred shape"
+ msgstr ""
+-#: fortran/resolve.c:7517
++#: fortran/resolve.c:7520
+ #, no-c-format
+ msgid "Array '%s' at %L cannot have a deferred shape"
+ msgstr ""
+-#: fortran/resolve.c:7545
++#: fortran/resolve.c:7548
+ #, no-c-format
+ msgid ""
+ "The type '%s' cannot be host associated at %L because it is blocked by an "
+ "incompatible object of the same name declared at %L"
+ msgstr ""
+-#: fortran/resolve.c:7568
++#: fortran/resolve.c:7571
+ #, no-c-format
+ msgid ""
+ "Object '%s' at %L must have the SAVE attribute for default initialization of "
+@@ -9854,181 +9854,181 @@
+ #. The shape of a main program or module array needs to be
+ #. constant.
+-#: fortran/resolve.c:7615
++#: fortran/resolve.c:7618
+ #, no-c-format
+ msgid "The module or main program array '%s' at %L must have constant shape"
+ msgstr ""
+-#: fortran/resolve.c:7628
++#: fortran/resolve.c:7631
+ #, no-c-format
+ msgid ""
+ "Entity with assumed character length at %L must be a dummy argument or a "
+ "PARAMETER"
+ msgstr ""
+-#: fortran/resolve.c:7647
++#: fortran/resolve.c:7650
+ #, no-c-format
+ msgid "'%s' at %L must have constant character length in this context"
+ msgstr ""
+-#: fortran/resolve.c:7683
++#: fortran/resolve.c:7686
+ #, no-c-format
+ msgid "Allocatable '%s' at %L cannot have an initializer"
+ msgstr ""
+-#: fortran/resolve.c:7686
++#: fortran/resolve.c:7689
+ #, no-c-format
+ msgid "External '%s' at %L cannot have an initializer"
+ msgstr ""
+-#: fortran/resolve.c:7690
++#: fortran/resolve.c:7693
+ #, no-c-format
+ msgid "Dummy '%s' at %L cannot have an initializer"
+ msgstr ""
+-#: fortran/resolve.c:7693
++#: fortran/resolve.c:7696
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L cannot have an initializer"
+ msgstr ""
+-#: fortran/resolve.c:7696
++#: fortran/resolve.c:7699
+ #, no-c-format
+ msgid "Function result '%s' at %L cannot have an initializer"
+ msgstr ""
+-#: fortran/resolve.c:7699
++#: fortran/resolve.c:7702
+ #, no-c-format
+ msgid "Automatic array '%s' at %L cannot have an initializer"
+ msgstr ""
+-#: fortran/resolve.c:7722
++#: fortran/resolve.c:7725
+ #, no-c-format
+ msgid "Although not referenced, '%s' at %L has ambiguous interfaces"
+ msgstr ""
+-#: fortran/resolve.c:7741
++#: fortran/resolve.c:7744
+ #, no-c-format
+ msgid ""
+ "Character-valued statement function '%s' at %L must have constant length"
+ msgstr ""
+-#: fortran/resolve.c:7749
++#: fortran/resolve.c:7752
+ #, no-c-format
+ msgid ""
+ "Automatic character length function '%s' at %L must have an explicit "
+ "interface"
+ msgstr ""
+-#: fortran/resolve.c:7774
++#: fortran/resolve.c:7777
+ #, no-c-format
+ msgid ""
+ "Fortran 2003: '%s' is of a PRIVATE type and cannot be a dummy argument of '%"
+ "s', which is PUBLIC at %L"
+ msgstr ""
+-#: fortran/resolve.c:7797 fortran/resolve.c:7822
++#: fortran/resolve.c:7800 fortran/resolve.c:7825
+ #, no-c-format
+ msgid ""
+ "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy "
+ "arguments of '%s' which is PRIVATE"
+ msgstr ""
+-#: fortran/resolve.c:7840
++#: fortran/resolve.c:7843
+ #, no-c-format
+ msgid "Function '%s' at %L cannot have an initializer"
+ msgstr ""
+-#: fortran/resolve.c:7849
++#: fortran/resolve.c:7852
+ #, no-c-format
+ msgid "External object '%s' at %L may not have an initializer"
+ msgstr ""
+-#: fortran/resolve.c:7857
++#: fortran/resolve.c:7860
+ #, no-c-format
+ msgid "ELEMENTAL function '%s' at %L must have a scalar result"
+ msgstr ""
+-#: fortran/resolve.c:7878
++#: fortran/resolve.c:7881
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
+ msgstr ""
+-#: fortran/resolve.c:7882
++#: fortran/resolve.c:7885
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
+ msgstr ""
+-#: fortran/resolve.c:7886
++#: fortran/resolve.c:7889
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pure"
+ msgstr ""
+-#: fortran/resolve.c:7890
++#: fortran/resolve.c:7893
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
+ msgstr ""
+-#: fortran/resolve.c:7899
++#: fortran/resolve.c:7902
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L is obsolescent in fortran 95"
+ msgstr ""
+-#: fortran/resolve.c:7952
++#: fortran/resolve.c:7955
+ #, no-c-format
+ msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L"
+ msgstr ""
+-#: fortran/resolve.c:7959
++#: fortran/resolve.c:7962
+ #, no-c-format
+ msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
+ msgstr ""
+-#: fortran/resolve.c:8003
++#: fortran/resolve.c:8006
+ #, no-c-format
+ msgid "FINAL procedure '%s' at %L is not a SUBROUTINE"
+ msgstr ""
+-#: fortran/resolve.c:8011
++#: fortran/resolve.c:8014
+ #, no-c-format
+ msgid "FINAL procedure at %L must have exactly one argument"
+ msgstr ""
+-#: fortran/resolve.c:8020
++#: fortran/resolve.c:8023
+ #, no-c-format
+ msgid "Argument of FINAL procedure at %L must be of type '%s'"
+ msgstr ""
+-#: fortran/resolve.c:8028
++#: fortran/resolve.c:8031
+ #, no-c-format
+ msgid "Argument of FINAL procedure at %L must not be a POINTER"
+ msgstr ""
+-#: fortran/resolve.c:8034
++#: fortran/resolve.c:8037
+ #, no-c-format
+ msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
+ msgstr ""
+-#: fortran/resolve.c:8040
++#: fortran/resolve.c:8043
+ #, no-c-format
+ msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
+ msgstr ""
+-#: fortran/resolve.c:8048
++#: fortran/resolve.c:8051
+ #, no-c-format
+ msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
+ msgstr ""
+-#: fortran/resolve.c:8056
++#: fortran/resolve.c:8059
+ #, no-c-format
+ msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
+ msgstr ""
+-#: fortran/resolve.c:8075
++#: fortran/resolve.c:8078
+ #, no-c-format
+ msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'"
+ msgstr ""
+-#: fortran/resolve.c:8108
++#: fortran/resolve.c:8111
+ #, no-c-format
+ msgid ""
+ "Only array FINAL procedures declared for derived type '%s' defined at %L, "
+@@ -10036,302 +10036,302 @@
+ msgstr ""
+ #. TODO:  Remove this error when finalization is finished.
+-#: fortran/resolve.c:8113
++#: fortran/resolve.c:8116
+ #, no-c-format
+ msgid "Finalization at %L is not yet implemented"
+ msgstr ""
+-#: fortran/resolve.c:8139
++#: fortran/resolve.c:8142
+ #, no-c-format
+ msgid "Can't overwrite GENERIC '%s' at %L"
+ msgstr ""
+-#: fortran/resolve.c:8151
++#: fortran/resolve.c:8154
+ #, no-c-format
+ msgid "'%s' at %L overrides a procedure binding declared NON_OVERRIDABLE"
+ msgstr ""
+-#: fortran/resolve.c:8159
++#: fortran/resolve.c:8162
+ #, no-c-format
+ msgid "'%s' at %L overrides a PURE procedure and must also be PURE"
+ msgstr ""
+-#: fortran/resolve.c:8168
++#: fortran/resolve.c:8171
+ #, no-c-format
+ msgid "'%s' at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL"
+ msgstr ""
+-#: fortran/resolve.c:8174
++#: fortran/resolve.c:8177
+ #, no-c-format
+ msgid ""
+ "'%s' at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, "
+ "either"
+ msgstr ""
+-#: fortran/resolve.c:8183
++#: fortran/resolve.c:8186
+ #, no-c-format
+ msgid "'%s' at %L overrides a SUBROUTINE and must also be a SUBROUTINE"
+ msgstr ""
+-#: fortran/resolve.c:8194
++#: fortran/resolve.c:8197
+ #, no-c-format
+ msgid "'%s' at %L overrides a FUNCTION and must also be a FUNCTION"
+ msgstr ""
+-#: fortran/resolve.c:8205
++#: fortran/resolve.c:8208
+ #, no-c-format
+ msgid ""
+ "'%s' at %L and the overridden FUNCTION should have matching result types"
+ msgstr ""
+-#: fortran/resolve.c:8216
++#: fortran/resolve.c:8219
+ #, no-c-format
+ msgid "'%s' at %L overrides a PUBLIC procedure and must not be PRIVATE"
+ msgstr ""
+-#: fortran/resolve.c:8245
++#: fortran/resolve.c:8248
+ #, no-c-format
+ msgid ""
+ "Dummy argument '%s' of '%s' at %L should be named '%s' as to match the "
+ "corresponding argument of the overridden procedure"
+ msgstr ""
+-#: fortran/resolve.c:8258
++#: fortran/resolve.c:8261
+ #, no-c-format
+ msgid ""
+ "Types mismatch for dummy argument '%s' of '%s' %L in in respect to the "
+ "overridden procedure"
+ msgstr ""
+-#: fortran/resolve.c:8268
++#: fortran/resolve.c:8271
+ #, no-c-format
+ msgid ""
+ "'%s' at %L must have the same number of formal arguments as the overridden "
+ "procedure"
+ msgstr ""
+-#: fortran/resolve.c:8277
++#: fortran/resolve.c:8280
+ #, no-c-format
+ msgid "'%s' at %L overrides a NOPASS binding and must also be NOPASS"
+ msgstr ""
+-#: fortran/resolve.c:8288
++#: fortran/resolve.c:8291
+ #, no-c-format
+ msgid "'%s' at %L overrides a binding with PASS and must also be PASS"
+ msgstr ""
+-#: fortran/resolve.c:8295
++#: fortran/resolve.c:8298
+ #, no-c-format
+ msgid ""
+ "Passed-object dummy argument of '%s' at %L must be at the same position as "
+ "the passed-object dummy argument of the overridden procedure"
+ msgstr ""
+-#: fortran/resolve.c:8326
++#: fortran/resolve.c:8329
+ #, no-c-format
+ msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L"
+ msgstr ""
+-#: fortran/resolve.c:8335
++#: fortran/resolve.c:8338
+ #, no-c-format
+ msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous"
+ msgstr ""
+-#: fortran/resolve.c:8404
++#: fortran/resolve.c:8407
+ #, no-c-format
+ msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L"
+ msgstr ""
+-#: fortran/resolve.c:8416
++#: fortran/resolve.c:8419
+ #, no-c-format
+ msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too"
+ msgstr ""
+-#: fortran/resolve.c:8446
++#: fortran/resolve.c:8449
+ #, no-c-format
+ msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name"
+ msgstr ""
+-#: fortran/resolve.c:8504
++#: fortran/resolve.c:8507
+ #, no-c-format
+ msgid ""
+ "'%s' must be a module procedure or an external procedure with an explicit "
+ "interface at %L"
+ msgstr ""
+-#: fortran/resolve.c:8541
++#: fortran/resolve.c:8544
+ #, no-c-format
+ msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'"
+ msgstr ""
+-#: fortran/resolve.c:8555
++#: fortran/resolve.c:8558
+ #, no-c-format
+ msgid "Procedure '%s' with PASS at %L must have at least one argument"
+ msgstr ""
+-#: fortran/resolve.c:8567
++#: fortran/resolve.c:8570
+ #, no-c-format
+ msgid ""
+ "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
+ msgstr ""
+-#: fortran/resolve.c:8573
++#: fortran/resolve.c:8576
+ #, no-c-format
+ msgid ""
+ "Polymorphic entities are not yet implemented, non-polymorphic passed-object "
+ "dummy argument of '%s' at %L accepted"
+ msgstr ""
+-#: fortran/resolve.c:8598
++#: fortran/resolve.c:8601
+ #, no-c-format
+ msgid "Procedure '%s' at %L has the same name as a component of '%s'"
+ msgstr ""
+-#: fortran/resolve.c:8607
++#: fortran/resolve.c:8610
+ #, no-c-format
+ msgid ""
+ "Procedure '%s' at %L has the same name as an inherited component of '%s'"
+ msgstr ""
+-#: fortran/resolve.c:8675
++#: fortran/resolve.c:8678
+ #, no-c-format
+ msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT"
+ msgstr ""
+-#: fortran/resolve.c:8692
++#: fortran/resolve.c:8695
+ #, no-c-format
+ msgid ""
+ "Component '%s' of '%s' at %L has the same name as an inherited type-bound "
+ "procedure"
+ msgstr ""
+-#: fortran/resolve.c:8704
++#: fortran/resolve.c:8707
+ #, no-c-format
+ msgid ""
+ "Character length of component '%s' needs to be a constant specification "
+ "expression at %L"
+ msgstr ""
+-#: fortran/resolve.c:8719
++#: fortran/resolve.c:8722
+ #, no-c-format
+ msgid ""
+ "The component '%s' is a PRIVATE type and cannot be a component of '%s', "
+ "which is PUBLIC at %L"
+ msgstr ""
+-#: fortran/resolve.c:8729
++#: fortran/resolve.c:8732
+ #, no-c-format
+ msgid ""
+ "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE "
+ "attribute"
+ msgstr ""
+-#: fortran/resolve.c:8740
++#: fortran/resolve.c:8743
+ #, no-c-format
+ msgid ""
+ "The pointer component '%s' of '%s' at %L is a type that has not been declared"
+ msgstr ""
+-#: fortran/resolve.c:8768
++#: fortran/resolve.c:8771
+ #, no-c-format
+ msgid "Component '%s' of '%s' at %L must have constant array bounds"
+ msgstr ""
+-#: fortran/resolve.c:8809
++#: fortran/resolve.c:8812
+ #, no-c-format
+ msgid ""
+ "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC "
+ "namelist '%s' at %L"
+ msgstr ""
+-#: fortran/resolve.c:8819
++#: fortran/resolve.c:8822
+ #, no-c-format
+ msgid ""
+ "NAMELIST object '%s' has use-associated PRIVATE components and cannot be "
+ "member of namelist '%s' at %L"
+ msgstr ""
+-#: fortran/resolve.c:8832
++#: fortran/resolve.c:8835
+ #, no-c-format
+ msgid ""
+ "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC "
+ "namelist '%s' at %L"
+ msgstr ""
+-#: fortran/resolve.c:8844
++#: fortran/resolve.c:8847
+ #, no-c-format
+ msgid ""
+ "NAMELIST array object '%s' must not have assumed shape in namelist '%s' at %L"
+ msgstr ""
+-#: fortran/resolve.c:8853
++#: fortran/resolve.c:8856
+ #, no-c-format
+ msgid ""
+ "NAMELIST array object '%s' must have constant shape in namelist '%s' at %L"
+ msgstr ""
+-#: fortran/resolve.c:8865
++#: fortran/resolve.c:8868
+ #, no-c-format
+ msgid ""
+ "NAMELIST object '%s' in namelist '%s' at %L cannot have ALLOCATABLE "
+ "components"
+ msgstr ""
+-#: fortran/resolve.c:8873
++#: fortran/resolve.c:8876
+ #, no-c-format
+ msgid ""
+ "NAMELIST object '%s' in namelist '%s' at %L cannot have POINTER components"
+ msgstr ""
+-#: fortran/resolve.c:8899
++#: fortran/resolve.c:8902
+ #, no-c-format
+ msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
+ msgstr ""
+-#: fortran/resolve.c:8918
++#: fortran/resolve.c:8921
+ #, no-c-format
+ msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
+ msgstr ""
+-#: fortran/resolve.c:8929
++#: fortran/resolve.c:8932
+ #, no-c-format
+ msgid ""
+ "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
+ msgstr ""
+-#: fortran/resolve.c:8940
++#: fortran/resolve.c:8943
+ #, no-c-format
+ msgid "Incompatible derived type in PARAMETER at %L"
+ msgstr ""
+-#: fortran/resolve.c:8999
++#: fortran/resolve.c:9002
+ #, no-c-format
+ msgid ""
+ "Interface '%s', used by procedure '%s' at %L, is declared in a later "
+ "PROCEDURE statement"
+ msgstr ""
+-#: fortran/resolve.c:9047
++#: fortran/resolve.c:9050
+ #, no-c-format
+ msgid "Interface '%s' of procedure '%s' at %L must be explicit"
+ msgstr ""
+-#: fortran/resolve.c:9080
++#: fortran/resolve.c:9083
+ #, no-c-format
+ msgid "Type specified for intrinsic function '%s' at %L is ignored"
+ msgstr ""
+-#: fortran/resolve.c:9087
++#: fortran/resolve.c:9090
+ #, no-c-format
+ msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
+ msgstr ""
+-#: fortran/resolve.c:9094
++#: fortran/resolve.c:9097
+ #, no-c-format
+ msgid "'%s' declared INTRINSIC at %L does not exist"
+ msgstr ""
+-#: fortran/resolve.c:9103
++#: fortran/resolve.c:9106
+ #, no-c-format
+ msgid ""
+ "The intrinsic '%s' declared INTRINSIC at %L is not available in the current "
+@@ -10339,229 +10339,229 @@
+ "intrinsics in order to use it."
+ msgstr ""
+-#: fortran/resolve.c:9147
++#: fortran/resolve.c:9150
+ #, no-c-format
+ msgid "Assumed size array at %L must be a dummy argument"
+ msgstr ""
+-#: fortran/resolve.c:9150
++#: fortran/resolve.c:9153
+ #, no-c-format
+ msgid "Assumed shape array at %L must be a dummy argument"
+ msgstr ""
+-#: fortran/resolve.c:9162
++#: fortran/resolve.c:9165
+ #, no-c-format
+ msgid "Symbol at %L is not a DUMMY variable"
+ msgstr ""
+-#: fortran/resolve.c:9168
++#: fortran/resolve.c:9171
+ #, no-c-format
+ msgid ""
+ "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
+ msgstr ""
+-#: fortran/resolve.c:9178
++#: fortran/resolve.c:9181
+ #, no-c-format
+ msgid ""
+ "Character dummy variable '%s' at %L with VALUE attribute must have constant "
+ "length"
+ msgstr ""
+-#: fortran/resolve.c:9187
++#: fortran/resolve.c:9190
+ #, no-c-format
+ msgid ""
+ "C interoperable character dummy variable '%s' at %L with VALUE attribute "
+ "must have length one"
+ msgstr ""
+-#: fortran/resolve.c:9213
++#: fortran/resolve.c:9216
+ #, no-c-format
+ msgid ""
+ "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block "
+ "nor declared at the module level scope"
+ msgstr ""
+-#: fortran/resolve.c:9266
++#: fortran/resolve.c:9269
+ #, no-c-format
+ msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
+ msgstr ""
+-#: fortran/resolve.c:9307
++#: fortran/resolve.c:9310
+ #, no-c-format
+ msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
+ msgstr ""
+-#: fortran/resolve.c:9326
++#: fortran/resolve.c:9329
+ #, no-c-format
+ msgid ""
+ "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have "
+ "a default initializer"
+ msgstr ""
+-#: fortran/resolve.c:9385
++#: fortran/resolve.c:9388
+ #, no-c-format
+ msgid "Threadprivate at %L isn't SAVEd"
+ msgstr ""
+-#: fortran/resolve.c:9470
++#: fortran/resolve.c:9473
+ #, no-c-format
+ msgid "BLOCK DATA element '%s' at %L must be in COMMON"
+ msgstr ""
+-#: fortran/resolve.c:9476
++#: fortran/resolve.c:9479
+ #, no-c-format
+ msgid "DATA array '%s' at %L must be specified in a previous declaration"
+ msgstr ""
+-#: fortran/resolve.c:9521
++#: fortran/resolve.c:9524
+ #, no-c-format
+ msgid "Nonconstant array section at %L in DATA statement"
+ msgstr ""
+-#: fortran/resolve.c:9534
++#: fortran/resolve.c:9537
+ #, no-c-format
+ msgid "DATA statement at %L has more variables than values"
+ msgstr ""
+-#: fortran/resolve.c:9628
++#: fortran/resolve.c:9631
+ #, no-c-format
+ msgid "iterator start at %L does not simplify"
+ msgstr ""
+-#: fortran/resolve.c:9635
++#: fortran/resolve.c:9638
+ #, no-c-format
+ msgid "iterator end at %L does not simplify"
+ msgstr ""
+-#: fortran/resolve.c:9642
++#: fortran/resolve.c:9645
+ #, no-c-format
+ msgid "iterator step at %L does not simplify"
+ msgstr ""
+-#: fortran/resolve.c:9768
++#: fortran/resolve.c:9771
+ #, no-c-format
+ msgid "DATA statement at %L has more values than variables"
+ msgstr ""
+-#: fortran/resolve.c:9859
++#: fortran/resolve.c:9862
+ #, no-c-format
+ msgid "Label %d at %L defined but not used"
+ msgstr ""
+-#: fortran/resolve.c:9864
++#: fortran/resolve.c:9867
+ #, no-c-format
+ msgid "Label %d at %L defined but cannot be used"
+ msgstr ""
+-#: fortran/resolve.c:9949
++#: fortran/resolve.c:9952
+ #, no-c-format
+ msgid ""
+ "Derived type variable '%s' at %L must have SEQUENCE attribute to be an "
+ "EQUIVALENCE object"
+ msgstr ""
+-#: fortran/resolve.c:9958
++#: fortran/resolve.c:9961
+ #, no-c-format
+ msgid ""
+ "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an "
+ "EQUIVALENCE object"
+ msgstr ""
+-#: fortran/resolve.c:9966
++#: fortran/resolve.c:9969
+ #, no-c-format
+ msgid ""
+ "Derived type variable '%s' at %L with default initialization cannot be in "
+ "EQUIVALENCE with a variable in COMMON"
+ msgstr ""
+-#: fortran/resolve.c:9983
++#: fortran/resolve.c:9986
+ #, no-c-format
+ msgid ""
+ "Derived type variable '%s' at %L with pointer component(s) cannot be an "
+ "EQUIVALENCE object"
+ msgstr ""
+-#: fortran/resolve.c:10088
++#: fortran/resolve.c:10091
+ #, no-c-format
+ msgid "Syntax error in EQUIVALENCE statement at %L"
+ msgstr ""
+-#: fortran/resolve.c:10103
++#: fortran/resolve.c:10106
+ #, no-c-format
+ msgid ""
+ "Either all or none of the objects in the EQUIVALENCE set at %L shall have "
+ "the PROTECTED attribute"
+ msgstr ""
+-#: fortran/resolve.c:10115
++#: fortran/resolve.c:10118
+ #, no-c-format
+ msgid ""
+ "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure "
+ "procedure '%s'"
+ msgstr ""
+-#: fortran/resolve.c:10124
++#: fortran/resolve.c:10127
+ #, no-c-format
+ msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr ""
+-#: fortran/resolve.c:10203
++#: fortran/resolve.c:10206
+ #, no-c-format
+ msgid ""
+ "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
+ msgstr ""
+-#: fortran/resolve.c:10214
++#: fortran/resolve.c:10217
+ #, no-c-format
+ msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr ""
+-#: fortran/resolve.c:10225
++#: fortran/resolve.c:10228
+ #, no-c-format
+ msgid "Substring at %L has length zero"
+ msgstr ""
+-#: fortran/resolve.c:10269
++#: fortran/resolve.c:10272
+ #, no-c-format
+ msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'"
+ msgstr ""
+-#: fortran/resolve.c:10282
++#: fortran/resolve.c:10285
+ #, no-c-format
+ msgid "ENTRY '%s' at %L has no IMPLICIT type"
+ msgstr ""
+-#: fortran/resolve.c:10308
++#: fortran/resolve.c:10311
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must be a FUNCTION"
+ msgstr ""
+-#: fortran/resolve.c:10315
++#: fortran/resolve.c:10318
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L cannot be assumed character length"
+ msgstr ""
+-#: fortran/resolve.c:10321
++#: fortran/resolve.c:10324
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must have at least one argument"
+ msgstr ""
+-#: fortran/resolve.c:10331
++#: fortran/resolve.c:10334
+ #, no-c-format
+ msgid "First argument of operator interface at %L cannot be optional"
+ msgstr ""
+-#: fortran/resolve.c:10343
++#: fortran/resolve.c:10346
+ #, no-c-format
+ msgid "Second argument of operator interface at %L cannot be optional"
+ msgstr ""
+-#: fortran/resolve.c:10347
++#: fortran/resolve.c:10350
+ #, no-c-format
+ msgid "Operator interface at %L must have, at most, two arguments"
+ msgstr ""
+-#: fortran/resolve.c:10401
++#: fortran/resolve.c:10404
+ #, no-c-format
+ msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
+ msgstr ""
+@@ -11367,32 +11367,32 @@
+ msgid "Assigning value other than 0 or 1 to LOGICAL has undefined result at %L"
+ msgstr ""
+-#: fortran/trans-decl.c:2868 fortran/trans-decl.c:3906
++#: fortran/trans-decl.c:2870 fortran/trans-decl.c:3908
+ #, no-c-format
+ msgid "Return value of function '%s' at %L not set"
+ msgstr ""
+-#: fortran/trans-decl.c:3527
++#: fortran/trans-decl.c:3529
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L was declared INTENT(OUT) but was not set"
+ msgstr ""
+-#: fortran/trans-decl.c:3531
++#: fortran/trans-decl.c:3533
+ #, no-c-format
+ msgid "Unused dummy argument '%s' at %L"
+ msgstr ""
+-#: fortran/trans-decl.c:3537
++#: fortran/trans-decl.c:3539
+ #, no-c-format
+ msgid "Unused variable '%s' declared at %L"
+ msgstr ""
+-#: fortran/trans-decl.c:3583
++#: fortran/trans-decl.c:3585
+ #, no-c-format
+ msgid "Unused parameter '%s' declared at %L"
+ msgstr ""
+-#: fortran/trans-decl.c:3597
++#: fortran/trans-decl.c:3599
+ #, no-c-format
+ msgid "Return value '%s' of function '%s' declared at %L not set"
+ msgstr ""
+@@ -11662,7 +11662,7 @@
+ msgid "GCC does not support -C or -CC without -E"
+ msgstr ""
+-#: gcc.c:828 java/jvspec.c:80
++#: gcc.c:828 java/jvspec.c:80 ada/gcc-interface/lang-specs.h:33
+ msgid "-pg and -fomit-frame-pointer are incompatible"
+ msgstr ""
+@@ -11670,46 +11670,50 @@
+ msgid "-E or -x required when input is from standard input"
+ msgstr ""
+-#: config/darwin.h:270
++#: config/darwin.h:274
+ msgid "-current_version only allowed with -dynamiclib"
+ msgstr ""
+-#: config/darwin.h:272
++#: config/darwin.h:276
+ msgid "-install_name only allowed with -dynamiclib"
+ msgstr ""
+-#: config/darwin.h:277
++#: config/darwin.h:281
+ msgid "-bundle not allowed with -dynamiclib"
+ msgstr ""
+-#: config/darwin.h:278
++#: config/darwin.h:282
+ msgid "-bundle_loader not allowed with -dynamiclib"
+ msgstr ""
+-#: config/darwin.h:279
++#: config/darwin.h:283
+ msgid "-client_name not allowed with -dynamiclib"
+ msgstr ""
+-#: config/darwin.h:284
++#: config/darwin.h:288
+ msgid "-force_flat_namespace not allowed with -dynamiclib"
+ msgstr ""
+-#: config/darwin.h:286
++#: config/darwin.h:290
+ msgid "-keep_private_externs not allowed with -dynamiclib"
+ msgstr ""
+-#: config/darwin.h:287
++#: config/darwin.h:291
+ msgid "-private_bundle not allowed with -dynamiclib"
+ msgstr ""
++#: ada/gcc-interface/lang-specs.h:34
++msgid "-c or -S required for Ada"
++msgstr ""
++
+ #: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
+ #: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
+ msgid "does not support multilib"
+ msgstr ""
+-#: config/rs6000/linux64.h:345 config/rs6000/linux64.h:347
+-#: config/rs6000/sysv4.h:902 config/rs6000/sysv4.h:904 config/linux.h:106
+-#: config/linux.h:108 config/alpha/linux-elf.h:33 config/alpha/linux-elf.h:35
++#: config/rs6000/linux64.h:350 config/rs6000/linux64.h:352
++#: config/rs6000/sysv4.h:907 config/rs6000/sysv4.h:909 config/linux.h:111
++#: config/linux.h:113 config/alpha/linux-elf.h:33 config/alpha/linux-elf.h:35
+ msgid "-mglibc and -muclibc used together"
+ msgstr ""
+@@ -16257,1218 +16261,1214 @@
+ msgstr ""
+ #: common.opt:99
+-msgid "Warn on calls to these functions"
++msgid "Treat all warnings as errors"
+ msgstr ""
+ #: common.opt:103
+-msgid "Treat all warnings as errors"
++msgid "Treat specified warning as error"
+ msgstr ""
+ #: common.opt:107
+-msgid "Treat specified warning as error"
++msgid "Print extra (possibly unwanted) warnings"
+ msgstr ""
+ #: common.opt:111
+-msgid "Print extra (possibly unwanted) warnings"
++msgid "Exit on the first error occurred"
+ msgstr ""
+ #: common.opt:115
+-msgid "Exit on the first error occurred"
+-msgstr ""
+-
+-#: common.opt:119
+ msgid ""
+ "-Wframe-larger-than=<number> Warn if a function's stack frame requires more "
+ "than <number> bytes"
+ msgstr ""
+-#: common.opt:123
++#: common.opt:119
+ msgid "Warn when an inlined function cannot be inlined"
+ msgstr ""
+-#: common.opt:130
++#: common.opt:126
+ msgid "Warn if an object is larger than <number> bytes"
+ msgstr ""
+-#: common.opt:134
++#: common.opt:130
+ msgid ""
+ "Warn when a logical operator is suspicously always evaluating to true or "
+ "false"
+ msgstr ""
+-#: common.opt:138
++#: common.opt:134
+ msgid "Warn if the loop cannot be optimized due to nontrivial assumptions."
+ msgstr ""
+-#: common.opt:142
++#: common.opt:138
+ msgid ""
+ "Warn about functions which might be candidates for __attribute__((noreturn))"
+ msgstr ""
+-#: common.opt:146
++#: common.opt:142
+ msgid "Warn about constructs not instrumented by -fmudflap"
+ msgstr ""
+-#: common.opt:150
++#: common.opt:146
+ msgid "Warn about overflow in arithmetic expressions"
+ msgstr ""
+-#: common.opt:154
++#: common.opt:150
+ msgid "Warn when the packed attribute has no effect on struct layout"
+ msgstr ""
+-#: common.opt:158
++#: common.opt:154
+ msgid "Warn when padding is required to align structure members"
+ msgstr ""
+-#: common.opt:162
++#: common.opt:158
+ msgid "Warn when one local variable shadows another"
+ msgstr ""
+-#: common.opt:166
++#: common.opt:162
+ msgid "Warn when not issuing stack smashing protection for some reason"
+ msgstr ""
+-#: common.opt:170 common.opt:174
++#: common.opt:166 common.opt:170
+ msgid "Warn about code which might break strict aliasing rules"
+ msgstr ""
+-#: common.opt:178 common.opt:182
++#: common.opt:174 common.opt:178
+ msgid "Warn about optimizations that assume that signed overflow is undefined"
+ msgstr ""
+-#: common.opt:186
++#: common.opt:182
+ msgid "Warn about enumerated switches, with no default, missing a case"
+ msgstr ""
+-#: common.opt:190
++#: common.opt:186
+ msgid "Warn about enumerated switches missing a \"default:\" statement"
+ msgstr ""
+-#: common.opt:194
++#: common.opt:190
+ msgid "Warn about all enumerated switches missing a specific case"
+ msgstr ""
+-#: common.opt:198
++#: common.opt:194
+ msgid "Do not suppress warnings from system headers"
+ msgstr ""
+-#: common.opt:202
++#: common.opt:198
+ msgid ""
+ "Warn if a comparison is always true or always false due to the limited range "
+ "of the data type"
+ msgstr ""
+-#: common.opt:206
++#: common.opt:202
+ msgid "Warn about uninitialized automatic variables"
+ msgstr ""
+-#: common.opt:210
++#: common.opt:206
+ msgid "Warn about code that will never be executed"
+ msgstr ""
+-#: common.opt:214
++#: common.opt:210
+ msgid "Enable all -Wunused- warnings"
+ msgstr ""
+-#: common.opt:218
++#: common.opt:214
+ msgid "Warn when a function is unused"
+ msgstr ""
+-#: common.opt:222
++#: common.opt:218
+ msgid "Warn when a label is unused"
+ msgstr ""
+-#: common.opt:226
++#: common.opt:222
+ msgid "Warn when a function parameter is unused"
+ msgstr ""
+-#: common.opt:230
++#: common.opt:226
+ msgid "Warn when an expression value is unused"
+ msgstr ""
+-#: common.opt:234
++#: common.opt:230
+ msgid "Warn when a variable is unused"
+ msgstr ""
+-#: common.opt:238
++#: common.opt:234
+ msgid "Warn instead of error in case profiles in -fprofile-use do not match"
+ msgstr ""
+-#: common.opt:242
++#: common.opt:238
+ msgid "Emit declaration information into <file>"
+ msgstr ""
+-#: common.opt:255
++#: common.opt:251
+ msgid "Enable dumps from specific passes of the compiler"
+ msgstr ""
+-#: common.opt:259
++#: common.opt:255
+ msgid "Set the file basename to be used for dumps"
+ msgstr ""
+-#: common.opt:279
++#: common.opt:275
+ msgid "Align the start of functions"
+ msgstr ""
+-#: common.opt:286
++#: common.opt:282
+ msgid "Align labels which are only reached by jumping"
+ msgstr ""
+-#: common.opt:293
++#: common.opt:289
+ msgid "Align all labels"
+ msgstr ""
+-#: common.opt:300
++#: common.opt:296
+ msgid "Align the start of loops"
+ msgstr ""
+-#: common.opt:315
++#: common.opt:311
+ msgid "Specify that arguments may alias each other and globals"
+ msgstr ""
+-#: common.opt:319
++#: common.opt:315
+ msgid "Assume arguments may alias globals but not each other"
+ msgstr ""
+-#: common.opt:323
++#: common.opt:319
+ msgid "Assume arguments alias neither each other nor globals"
+ msgstr ""
+-#: common.opt:327
++#: common.opt:323
+ msgid "Assume arguments alias no other storage"
+ msgstr ""
+-#: common.opt:331
++#: common.opt:327
+ msgid "Generate unwind tables that are exact at each instruction boundary"
+ msgstr ""
+-#: common.opt:335
++#: common.opt:331
+ msgid "Generate auto-inc/dec instructions"
+ msgstr ""
+-#: common.opt:343
++#: common.opt:339
+ msgid "Generate code to check bounds before indexing arrays"
+ msgstr ""
+-#: common.opt:347
++#: common.opt:343
+ msgid "Replace add, compare, branch with branch on count register"
+ msgstr ""
+-#: common.opt:351
++#: common.opt:347
+ msgid "Use profiling information for branch probabilities"
+ msgstr ""
+-#: common.opt:355
++#: common.opt:351
+ msgid ""
+ "Perform branch target load optimization before prologue / epilogue threading"
+ msgstr ""
+-#: common.opt:359
++#: common.opt:355
+ msgid ""
+ "Perform branch target load optimization after prologue / epilogue threading"
+ msgstr ""
+-#: common.opt:363
++#: common.opt:359
+ msgid ""
+ "Restrict target load migration not to re-use registers in any basic block"
+ msgstr ""
+-#: common.opt:367
++#: common.opt:363
+ msgid "Mark <register> as being preserved across functions"
+ msgstr ""
+-#: common.opt:371
++#: common.opt:367
+ msgid "Mark <register> as being corrupted by function calls"
+ msgstr ""
+-#: common.opt:378
++#: common.opt:374
+ msgid "Save registers around function calls"
+ msgstr ""
+-#: common.opt:382
++#: common.opt:378
+ msgid "Compare the results of several data dependence analyzers."
+ msgstr ""
+-#: common.opt:386
++#: common.opt:382
+ msgid "Do not put uninitialized globals in the common section"
+ msgstr ""
+-#: common.opt:390
++#: common.opt:386
+ msgid "Do not perform optimizations increasing noticeably stack usage"
+ msgstr ""
+-#: common.opt:394
++#: common.opt:390
+ msgid "Perform a register copy-propagation optimization pass"
+ msgstr ""
+-#: common.opt:398
++#: common.opt:394
+ msgid "Perform cross-jumping optimization"
+ msgstr ""
+-#: common.opt:402
++#: common.opt:398
+ msgid "When running CSE, follow jumps to their targets"
+ msgstr ""
+-#: common.opt:406
++#: common.opt:402
+ msgid "When running CSE, follow conditional jumps"
+ msgstr ""
+-#: common.opt:410
++#: common.opt:406
+ msgid "Omit range reduction step when performing complex division"
+ msgstr ""
+-#: common.opt:414
++#: common.opt:410
+ msgid "Complex multiplication and division follow Fortran rules"
+ msgstr ""
+-#: common.opt:418
++#: common.opt:414
+ msgid "Place data items into their own section"
+ msgstr ""
+-#: common.opt:422
++#: common.opt:418
+ msgid "List all available debugging counters with their limits and counts."
+ msgstr ""
+-#: common.opt:426
++#: common.opt:422
+ msgid ""
+ "-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...]    Set the debug counter "
+ "limit.   "
+ msgstr ""
+-#: common.opt:430
++#: common.opt:426
+ msgid "Map one directory name to another in debug information"
+ msgstr ""
+-#: common.opt:436
++#: common.opt:432
+ msgid "Defer popping functions args from stack until later"
+ msgstr ""
+-#: common.opt:440
++#: common.opt:436
+ msgid "Attempt to fill delay slots of branch instructions"
+ msgstr ""
+-#: common.opt:444
++#: common.opt:440
+ msgid "Delete useless null pointer checks"
+ msgstr ""
+-#: common.opt:448
++#: common.opt:444
+ msgid ""
+ "How often to emit source location at the beginning of line-wrapped "
+ "diagnostics"
+ msgstr ""
+-#: common.opt:452
++#: common.opt:448
+ msgid ""
+ "Amend appropriate diagnostic messages with the command line option that "
+ "controls them"
+ msgstr ""
+-#: common.opt:456
++#: common.opt:452
+ msgid "Dump various compiler internals to a file"
+ msgstr ""
+-#: common.opt:460
++#: common.opt:456
+ msgid "Suppress output of addresses in debugging dumps"
+ msgstr ""
+-#: common.opt:464
++#: common.opt:460
+ msgid ""
+ "Suppress output of instruction numbers, line number notes and addresses in "
+ "debugging dumps"
+ msgstr ""
+-#: common.opt:468
++#: common.opt:464
+ msgid "Enable CFI tables via GAS assembler directives."
+ msgstr ""
+-#: common.opt:472
++#: common.opt:468
+ msgid "Perform early inlining"
+ msgstr ""
+-#: common.opt:476
++#: common.opt:472
+ msgid "Perform DWARF2 duplicate elimination"
+ msgstr ""
+-#: common.opt:480 common.opt:484
++#: common.opt:476 common.opt:480
+ msgid "Perform unused type elimination in debug info"
+ msgstr ""
+-#: common.opt:488
++#: common.opt:484
+ msgid "Do not suppress C++ class debug information."
+ msgstr ""
+-#: common.opt:492
++#: common.opt:488
+ msgid "Enable exception handling"
+ msgstr ""
+-#: common.opt:496
++#: common.opt:492
+ msgid "Perform a number of minor, expensive optimizations"
+ msgstr ""
+-#: common.opt:503
++#: common.opt:499
+ msgid "Assume no NaNs or infinities are generated"
+ msgstr ""
+-#: common.opt:507
++#: common.opt:503
+ msgid "Mark <register> as being unavailable to the compiler"
+ msgstr ""
+-#: common.opt:511
++#: common.opt:507
+ msgid "Don't allocate floats and doubles in extended-precision registers"
+ msgstr ""
+-#: common.opt:515 common.opt:728 common.opt:949 common.opt:1105
+-#: common.opt:1164 common.opt:1180 common.opt:1240
++#: common.opt:511 common.opt:724 common.opt:945 common.opt:1101
++#: common.opt:1160 common.opt:1176 common.opt:1236
+ msgid "Does nothing.  Preserved for backward compatibility."
+ msgstr ""
+-#: common.opt:519
++#: common.opt:515
+ msgid "Perform a forward propagation pass on RTL"
+ msgstr ""
+-#: common.opt:526
++#: common.opt:522
+ msgid "Allow function addresses to be held in registers"
+ msgstr ""
+-#: common.opt:530
++#: common.opt:526
+ msgid "Place each function into its own section"
+ msgstr ""
+-#: common.opt:534
++#: common.opt:530
+ msgid "Perform global common subexpression elimination"
+ msgstr ""
+-#: common.opt:538
++#: common.opt:534
+ msgid ""
+ "Perform enhanced load motion during global common subexpression elimination"
+ msgstr ""
+-#: common.opt:542
++#: common.opt:538
+ msgid "Perform store motion after global common subexpression elimination"
+ msgstr ""
+-#: common.opt:546
++#: common.opt:542
+ msgid ""
+ "Perform redundant load after store elimination in global common subexpression"
+ msgstr ""
+-#: common.opt:551
++#: common.opt:547
+ msgid ""
+ "Perform global common subexpression elimination after register allocation"
+ msgstr ""
+-#: common.opt:557
++#: common.opt:553
+ msgid "Enable in and out of Graphite representation"
+ msgstr ""
+-#: common.opt:561
++#: common.opt:557
+ msgid "Enable Loop Strip Mining transformation"
+ msgstr ""
+-#: common.opt:565
++#: common.opt:561
+ msgid "Enable Loop Interchange transformation"
+ msgstr ""
+-#: common.opt:569
++#: common.opt:565
+ msgid "Enable Loop Blocking transformation"
+ msgstr ""
+-#: common.opt:574
++#: common.opt:570
+ msgid "Enable Graphite Identity transformation"
+ msgstr ""
+-#: common.opt:578
++#: common.opt:574
+ msgid "Enable guessing of branch probabilities"
+ msgstr ""
+-#: common.opt:586
++#: common.opt:582
+ msgid "Process #ident directives"
+ msgstr ""
+-#: common.opt:590
++#: common.opt:586
+ msgid "Perform conversion of conditional jumps to branchless equivalents"
+ msgstr ""
+-#: common.opt:594
++#: common.opt:590
+ msgid "Perform conversion of conditional jumps to conditional execution"
+ msgstr ""
+-#: common.opt:602
++#: common.opt:598
+ msgid "Do not generate .size directives"
+ msgstr ""
+-#: common.opt:606
++#: common.opt:602
+ msgid "Perform indirect inlining"
+ msgstr ""
+-#: common.opt:615
++#: common.opt:611
+ msgid "Pay attention to the \"inline\" keyword"
+ msgstr ""
+-#: common.opt:619
++#: common.opt:615
+ msgid ""
+ "Integrate simple functions into their callers when code size is known to not "
+ "growth"
+ msgstr ""
+-#: common.opt:623
++#: common.opt:619
+ msgid "Integrate simple functions into their callers"
+ msgstr ""
+-#: common.opt:627
++#: common.opt:623
+ msgid "Integrate functions called once into their callers"
+ msgstr ""
+-#: common.opt:634
++#: common.opt:630
+ msgid "Limit the size of inlined functions to <number>"
+ msgstr ""
+-#: common.opt:638
++#: common.opt:634
+ msgid "Instrument function entry and exit with profiling calls"
+ msgstr ""
+-#: common.opt:642
++#: common.opt:638
+ msgid ""
+ "-finstrument-functions-exclude-function-list=name,...  Do not instrument "
+ "listed functions"
+ msgstr ""
+-#: common.opt:646
++#: common.opt:642
+ msgid ""
+ "-finstrument-functions-exclude-file-list=filename,...  Do not instrument "
+ "functions listed in files"
+ msgstr ""
+-#: common.opt:650
++#: common.opt:646
+ msgid "Perform Interprocedural constant propagation"
+ msgstr ""
+-#: common.opt:654
++#: common.opt:650
+ msgid "Perform cloning to make Interprocedural constant propagation stronger"
+ msgstr ""
+-#: common.opt:658
++#: common.opt:654
+ msgid "Discover pure and const functions"
+ msgstr ""
+-#: common.opt:662
++#: common.opt:658
+ msgid "Perform interprocedural points-to analysis"
+ msgstr ""
+-#: common.opt:666
++#: common.opt:662
+ msgid "Discover readonly and non addressable static variables"
+ msgstr ""
+-#: common.opt:670
++#: common.opt:666
+ msgid "Type based escape and alias analysis"
+ msgstr ""
+-#: common.opt:674
++#: common.opt:670
+ msgid "Perform matrix layout flattening and transposing based"
+ msgstr ""
+-#: common.opt:679
++#: common.opt:675
+ msgid "Perform structure layout optimizations based"
+ msgstr ""
+-#: common.opt:684
++#: common.opt:680
+ msgid "-fira-algorithm=[CB|priority] Set the used IRA algorithm"
+ msgstr ""
+-#: common.opt:688
++#: common.opt:684
+ msgid "-fira-region=[one|all|mixed] Set regions for IRA"
+ msgstr ""
+-#: common.opt:692
++#: common.opt:688
+ msgid "Do optimistic coalescing."
+ msgstr ""
+-#: common.opt:696
++#: common.opt:692
+ msgid "Share slots for saving different hard registers."
+ msgstr ""
+-#: common.opt:700
++#: common.opt:696
+ msgid "Share stack slots for spilled pseudo-registers."
+ msgstr ""
+-#: common.opt:704
++#: common.opt:700
+ msgid "-fira-verbose=<number> Control IRA's level of diagnostic messages."
+ msgstr ""
+-#: common.opt:708
++#: common.opt:704
+ msgid "Optimize induction variables on trees"
+ msgstr ""
+-#: common.opt:712
++#: common.opt:708
+ msgid "Use jump tables for sufficiently large switch statements"
+ msgstr ""
+-#: common.opt:716
++#: common.opt:712
+ msgid "Generate code for functions even if they are fully inlined"
+ msgstr ""
+-#: common.opt:720
++#: common.opt:716
+ msgid "Emit static const variables even if they are not used"
+ msgstr ""
+-#: common.opt:724
++#: common.opt:720
+ msgid "Give external symbols a leading underscore"
+ msgstr ""
+-#: common.opt:732
++#: common.opt:728
+ msgid "Set errno after built-in math functions"
+ msgstr ""
+-#: common.opt:736
++#: common.opt:732
+ msgid "Report on permanent memory allocation"
+ msgstr ""
+-#: common.opt:743
++#: common.opt:739
+ msgid "Attempt to merge identical constants and constant variables"
+ msgstr ""
+-#: common.opt:747
++#: common.opt:743
+ msgid "Attempt to merge identical constants across compilation units"
+ msgstr ""
+-#: common.opt:751
++#: common.opt:747
+ msgid "Attempt to merge identical debug strings across compilation units"
+ msgstr ""
+-#: common.opt:755
++#: common.opt:751
+ msgid ""
+ "Limit diagnostics to <number> characters per line.  0 suppresses line-"
+ "wrapping"
+ msgstr ""
+-#: common.opt:759
++#: common.opt:755
+ msgid "Perform SMS based modulo scheduling before the first scheduling pass"
+ msgstr ""
+-#: common.opt:763
++#: common.opt:759
+ msgid "Perform SMS based modulo scheduling with register moves allowed"
+ msgstr ""
+-#: common.opt:767
++#: common.opt:763
+ msgid "Move loop invariant computations out of loops"
+ msgstr ""
+-#: common.opt:771
++#: common.opt:767
+ msgid "Add mudflap bounds-checking instrumentation for single-threaded program"
+ msgstr ""
+-#: common.opt:775
++#: common.opt:771
+ msgid "Add mudflap bounds-checking instrumentation for multi-threaded program"
+ msgstr ""
+-#: common.opt:779
++#: common.opt:775
+ msgid "Ignore read operations when inserting mudflap instrumentation"
+ msgstr ""
+-#: common.opt:783
++#: common.opt:779
+ msgid "Use the RTL dead code elimination pass"
+ msgstr ""
+-#: common.opt:787
++#: common.opt:783
+ msgid "Use the RTL dead store elimination pass"
+ msgstr ""
+-#: common.opt:791
++#: common.opt:787
+ msgid ""
+ "Enable/Disable the traditional scheduling in loops that already passed "
+ "modulo scheduling"
+ msgstr ""
+-#: common.opt:795
++#: common.opt:791
+ msgid "Support synchronous non-call exceptions"
+ msgstr ""
+-#: common.opt:799
++#: common.opt:795
+ msgid "When possible do not generate stack frames"
+ msgstr ""
+-#: common.opt:803
++#: common.opt:799
+ msgid "Do the full register move optimization pass"
+ msgstr ""
+-#: common.opt:807
++#: common.opt:803
+ msgid "Optimize sibling and tail recursive calls"
+ msgstr ""
+-#: common.opt:811 common.opt:815
++#: common.opt:807 common.opt:811
+ msgid "Report on memory allocation before interprocedural optimization"
+ msgstr ""
+-#: common.opt:819
++#: common.opt:815
+ msgid "Pack structure members together without holes"
+ msgstr ""
+-#: common.opt:823
++#: common.opt:819
+ msgid "Set initial maximum structure member alignment"
+ msgstr ""
+-#: common.opt:827
++#: common.opt:823
+ msgid "Return small aggregates in memory, not registers"
+ msgstr ""
+-#: common.opt:831
++#: common.opt:827
+ msgid "Perform loop peeling"
+ msgstr ""
+-#: common.opt:835
++#: common.opt:831
+ msgid "Enable machine specific peephole optimizations"
+ msgstr ""
+-#: common.opt:839
++#: common.opt:835
+ msgid "Enable an RTL peephole pass before sched2"
+ msgstr ""
+-#: common.opt:843
++#: common.opt:839
+ msgid "Generate position-independent code if possible (large mode)"
+ msgstr ""
+-#: common.opt:847
++#: common.opt:843
+ msgid ""
+ "Generate position-independent code for executables if possible (large mode)"
+ msgstr ""
+-#: common.opt:851
++#: common.opt:847
+ msgid "Generate position-independent code if possible (small mode)"
+ msgstr ""
+-#: common.opt:855
++#: common.opt:851
+ msgid ""
+ "Generate position-independent code for executables if possible (small mode)"
+ msgstr ""
+-#: common.opt:859
++#: common.opt:855
+ msgid "Run predictive commoning optimization."
+ msgstr ""
+-#: common.opt:863
++#: common.opt:859
+ msgid "Generate prefetch instructions, if available, for arrays in loops"
+ msgstr ""
+-#: common.opt:867
++#: common.opt:863
+ msgid "Enable basic program profiling code"
+ msgstr ""
+-#: common.opt:871
++#: common.opt:867
+ msgid "Insert arc-based program profiling code"
+ msgstr ""
+-#: common.opt:875
++#: common.opt:871
+ msgid "Set the top-level directory for storing the profile data."
+ msgstr ""
+-#: common.opt:880
++#: common.opt:876
+ msgid "Enable correction of flow inconsistent profile data input"
+ msgstr ""
+-#: common.opt:884
++#: common.opt:880
+ msgid ""
+ "Enable common options for generating profile info for profile feedback "
+ "directed optimizations"
+ msgstr ""
+-#: common.opt:888
++#: common.opt:884
+ msgid ""
+ "Enable common options for generating profile info for profile feedback "
+ "directed optimizations, and set -fprofile-dir="
+ msgstr ""
+-#: common.opt:892
++#: common.opt:888
+ msgid ""
+ "Enable common options for performing profile feedback directed optimizations"
+ msgstr ""
+-#: common.opt:896
++#: common.opt:892
+ msgid ""
+ "Enable common options for performing profile feedback directed "
+ "optimizations, and set -fprofile-dir="
+ msgstr ""
+-#: common.opt:900
++#: common.opt:896
+ msgid "Insert code to profile values of expressions"
+ msgstr ""
+-#: common.opt:907
++#: common.opt:903
+ msgid "Make compile reproducible using <string>"
+ msgstr ""
+-#: common.opt:917
++#: common.opt:913
+ msgid "Record gcc command line switches in the object file."
+ msgstr ""
+-#: common.opt:921
++#: common.opt:917
+ msgid "Return small aggregates in registers"
+ msgstr ""
+-#: common.opt:925
++#: common.opt:921
+ msgid "Enables a register move optimization"
+ msgstr ""
+-#: common.opt:929
++#: common.opt:925
+ msgid "Perform a register renaming optimization pass"
+ msgstr ""
+-#: common.opt:933
++#: common.opt:929
+ msgid "Reorder basic blocks to improve code placement"
+ msgstr ""
+-#: common.opt:937
++#: common.opt:933
+ msgid "Reorder basic blocks and partition into hot and cold sections"
+ msgstr ""
+-#: common.opt:941
++#: common.opt:937
+ msgid "Reorder functions to improve code placement"
+ msgstr ""
+-#: common.opt:945
++#: common.opt:941
+ msgid "Add a common subexpression elimination pass after loop optimizations"
+ msgstr ""
+-#: common.opt:953
++#: common.opt:949
+ msgid "Disable optimizations that assume default FP rounding behavior"
+ msgstr ""
+-#: common.opt:957
++#: common.opt:953
+ msgid "Enable scheduling across basic blocks"
+ msgstr ""
+-#: common.opt:961
++#: common.opt:957
+ msgid "Allow speculative motion of non-loads"
+ msgstr ""
+-#: common.opt:965
++#: common.opt:961
+ msgid "Allow speculative motion of some loads"
+ msgstr ""
+-#: common.opt:969
++#: common.opt:965
+ msgid "Allow speculative motion of more loads"
+ msgstr ""
+-#: common.opt:973
++#: common.opt:969
+ msgid "Set the verbosity level of the scheduler"
+ msgstr ""
+-#: common.opt:977
++#: common.opt:973
+ msgid "If scheduling post reload, do superblock scheduling"
+ msgstr ""
+-#: common.opt:981
++#: common.opt:977
+ msgid "If scheduling post reload, do trace scheduling"
+ msgstr ""
+-#: common.opt:985
++#: common.opt:981
+ msgid "Reschedule instructions before register allocation"
+ msgstr ""
+-#: common.opt:989
++#: common.opt:985
+ msgid "Reschedule instructions after register allocation"
+ msgstr ""
+-#: common.opt:996
++#: common.opt:992
+ msgid "Schedule instructions using selective scheduling algorithm"
+ msgstr ""
+-#: common.opt:1000
++#: common.opt:996
+ msgid "Run selective scheduling after reload"
+ msgstr ""
+-#: common.opt:1004
++#: common.opt:1000
+ msgid "Perform software pipelining of inner loops during selective scheduling"
+ msgstr ""
+-#: common.opt:1008
++#: common.opt:1004
+ msgid "Perform software pipelining of outer loops during selective scheduling"
+ msgstr ""
+-#: common.opt:1012
++#: common.opt:1008
+ msgid "Reschedule pipelined regions without pipelining"
+ msgstr ""
+-#: common.opt:1018
++#: common.opt:1014
+ msgid "Allow premature scheduling of queued insns"
+ msgstr ""
+-#: common.opt:1022
++#: common.opt:1018
+ msgid "Set number of queued insns that can be prematurely scheduled"
+ msgstr ""
+-#: common.opt:1030 common.opt:1034
++#: common.opt:1026 common.opt:1030
+ msgid ""
+ "Set dependence distance checking in premature scheduling of queued insns"
+ msgstr ""
+-#: common.opt:1038
++#: common.opt:1034
+ msgid "Access data in the same section from shared anchor points"
+ msgstr ""
+-#: common.opt:1042
++#: common.opt:1038
+ msgid "Perform sequence abstraction optimization on RTL"
+ msgstr ""
+-#: common.opt:1046
++#: common.opt:1042
+ msgid "Eliminate redundant sign extensions using LCM."
+ msgstr ""
+-#: common.opt:1050
++#: common.opt:1046
+ msgid "Show column numbers in diagnostics, when available.  Default off"
+ msgstr ""
+-#: common.opt:1054
++#: common.opt:1050
+ msgid "Disable optimizations observable by IEEE signaling NaNs"
+ msgstr ""
+-#: common.opt:1058
++#: common.opt:1054
+ msgid ""
+ "Disable floating point optimizations that ignore the IEEE signedness of zero"
+ msgstr ""
+-#: common.opt:1062
++#: common.opt:1058
+ msgid "Convert floating point constants to single precision constants"
+ msgstr ""
+-#: common.opt:1066
++#: common.opt:1062
+ msgid "Split lifetimes of induction variables when loops are unrolled"
+ msgstr ""
+-#: common.opt:1070
++#: common.opt:1066
+ msgid "Split wide types into independent registers"
+ msgstr ""
+-#: common.opt:1074
++#: common.opt:1070
+ msgid "Apply variable expansion when loops are unrolled"
+ msgstr ""
+-#: common.opt:1078
++#: common.opt:1074
+ msgid "Insert stack checking code into the program"
+ msgstr ""
+-#: common.opt:1082
++#: common.opt:1078
+ msgid ""
+ "Insert stack checking code into the program.  Same as -fstack-check=specific"
+ msgstr ""
+-#: common.opt:1089
++#: common.opt:1085
+ msgid "Trap if the stack goes past <register>"
+ msgstr ""
+-#: common.opt:1093
++#: common.opt:1089
+ msgid "Trap if the stack goes past symbol <name>"
+ msgstr ""
+-#: common.opt:1097
++#: common.opt:1093
+ msgid "Use propolice as a stack protection method"
+ msgstr ""
+-#: common.opt:1101
++#: common.opt:1097
+ msgid "Use a stack protection method for every function"
+ msgstr ""
+-#: common.opt:1113
++#: common.opt:1109
+ msgid "Assume strict aliasing rules apply"
+ msgstr ""
+-#: common.opt:1117
++#: common.opt:1113
+ msgid "Treat signed overflow as undefined"
+ msgstr ""
+-#: common.opt:1121
++#: common.opt:1117
+ msgid "Check for syntax errors, then stop"
+ msgstr ""
+-#: common.opt:1125
++#: common.opt:1121
+ msgid "Create data files needed by \"gcov\""
+ msgstr ""
+-#: common.opt:1129
++#: common.opt:1125
+ msgid "Perform jump threading optimizations"
+ msgstr ""
+-#: common.opt:1133
++#: common.opt:1129
+ msgid "Report the time taken by each compiler pass"
+ msgstr ""
+-#: common.opt:1137
++#: common.opt:1133
+ msgid "Set the default thread-local storage code generation model"
+ msgstr ""
+-#: common.opt:1141
++#: common.opt:1137
+ msgid "Reorder top level functions, variables, and asms"
+ msgstr ""
+-#: common.opt:1145
++#: common.opt:1141
+ msgid "Perform superblock formation via tail duplication"
+ msgstr ""
+-#: common.opt:1152
++#: common.opt:1148
+ msgid "Assume floating-point operations can trap"
+ msgstr ""
+-#: common.opt:1156
++#: common.opt:1152
+ msgid "Trap for signed overflow in addition, subtraction and multiplication"
+ msgstr ""
+-#: common.opt:1160
++#: common.opt:1156
+ msgid "Enable SSA-CCP optimization on trees"
+ msgstr ""
+-#: common.opt:1168
++#: common.opt:1164
+ msgid "Enable loop header copying on trees"
+ msgstr ""
+-#: common.opt:1172
++#: common.opt:1168
+ msgid "Replace SSA temporaries with better names in copies"
+ msgstr ""
+-#: common.opt:1176
++#: common.opt:1172
+ msgid "Enable copy propagation on trees"
+ msgstr ""
+-#: common.opt:1184
++#: common.opt:1180
+ msgid "Transform condition stores into unconditional ones"
+ msgstr ""
+-#: common.opt:1188
++#: common.opt:1184
+ msgid "Perform conversions of switch initializations."
+ msgstr ""
+-#: common.opt:1192
++#: common.opt:1188
+ msgid "Enable SSA dead code elimination optimization on trees"
+ msgstr ""
+-#: common.opt:1196
++#: common.opt:1192
+ msgid "Enable dominator optimizations"
+ msgstr ""
+-#: common.opt:1200
++#: common.opt:1196
+ msgid "Enable dead store elimination"
+ msgstr ""
+-#: common.opt:1204
++#: common.opt:1200
+ msgid "Enable Full Redundancy Elimination (FRE) on trees"
+ msgstr ""
+-#: common.opt:1208
++#: common.opt:1204
+ msgid "Enable loop distribution on trees"
+ msgstr ""
+-#: common.opt:1212
++#: common.opt:1208
+ msgid "Enable loop invariant motion on trees"
+ msgstr ""
+-#: common.opt:1216
++#: common.opt:1212
+ msgid "Enable linear loop transforms on trees"
+ msgstr ""
+-#: common.opt:1220
++#: common.opt:1216
+ msgid "Create canonical induction variables in loops"
+ msgstr ""
+-#: common.opt:1224
++#: common.opt:1220
+ msgid "Enable loop optimizations on tree level"
+ msgstr ""
+-#: common.opt:1228
++#: common.opt:1224
+ msgid "Enable automatic parallelization of loops"
+ msgstr ""
+-#: common.opt:1232
++#: common.opt:1228
+ msgid "Enable SSA-PRE optimization on trees"
+ msgstr ""
+-#: common.opt:1236
++#: common.opt:1232
+ msgid "Enable reassociation on tree level"
+ msgstr ""
+-#: common.opt:1244
++#: common.opt:1240
+ msgid "Enable SSA code sinking on trees"
+ msgstr ""
+-#: common.opt:1248
++#: common.opt:1244
+ msgid "Perform scalar replacement of aggregates"
+ msgstr ""
+-#: common.opt:1252
++#: common.opt:1248
+ msgid "Replace temporary expressions in the SSA->normal pass"
+ msgstr ""
+-#: common.opt:1256
++#: common.opt:1252
+ msgid "Perform live range splitting during the SSA->normal pass"
+ msgstr ""
+-#: common.opt:1260
++#: common.opt:1256
+ msgid "Perform Value Range Propagation on trees"
+ msgstr ""
+-#: common.opt:1264
++#: common.opt:1260
+ msgid "Compile whole compilation unit at a time"
+ msgstr ""
+-#: common.opt:1268
++#: common.opt:1264
+ msgid "Perform loop unrolling when iteration count is known"
+ msgstr ""
+-#: common.opt:1272
++#: common.opt:1268
+ msgid "Perform loop unrolling for all loops"
+ msgstr ""
+-#: common.opt:1279
++#: common.opt:1275
+ msgid "Allow loop optimizations to assume that the loops behave in normal way"
+ msgstr ""
+-#: common.opt:1283
++#: common.opt:1279
+ msgid "Allow optimization for floating-point arithmetic which may change the"
+ msgstr ""
+-#: common.opt:1288
++#: common.opt:1284
+ msgid "Same as -fassociative-math for expressions which include division."
+ msgstr ""
+-#: common.opt:1296
++#: common.opt:1292
+ msgid "Allow math optimizations that may violate IEEE or ISO standards"
+ msgstr ""
+-#: common.opt:1300
++#: common.opt:1296
+ msgid "Perform loop unswitching"
+ msgstr ""
+-#: common.opt:1304
++#: common.opt:1300
+ msgid "Just generate unwind tables for exception handling"
+ msgstr ""
+-#: common.opt:1308
++#: common.opt:1304
+ msgid "Perform variable tracking"
+ msgstr ""
+-#: common.opt:1312
++#: common.opt:1308
+ msgid "Perform variable tracking and also tag variables that are uninitialized"
+ msgstr ""
+-#: common.opt:1316
++#: common.opt:1312
+ msgid "Enable loop vectorization on trees"
+ msgstr ""
+-#: common.opt:1320
++#: common.opt:1316
+ msgid "Enable use of cost model in vectorization"
+ msgstr ""
+-#: common.opt:1324
++#: common.opt:1320
+ msgid "Enable loop versioning when doing loop vectorization on trees"
+ msgstr ""
+-#: common.opt:1328
++#: common.opt:1324
+ msgid "Set the verbosity level of the vectorizer"
+ msgstr ""
+-#: common.opt:1332
++#: common.opt:1328
+ msgid "Enable copy propagation of scalar-evolution information."
+ msgstr ""
+-#: common.opt:1342
++#: common.opt:1338
+ msgid "Add extra commentary to assembler output"
+ msgstr ""
+-#: common.opt:1346
++#: common.opt:1342
+ msgid "Set the default symbol visibility"
+ msgstr ""
+-#: common.opt:1351
++#: common.opt:1347
+ msgid "Use expression value profiles in optimizations"
+ msgstr ""
+-#: common.opt:1355
++#: common.opt:1351
+ msgid "Construct webs and split unrelated uses of single variable"
+ msgstr ""
+-#: common.opt:1359
++#: common.opt:1355
+ msgid "Enable conditional dead code elimination for builtin calls"
+ msgstr ""
+-#: common.opt:1363
++#: common.opt:1359
+ msgid "Perform whole program optimizations"
+ msgstr ""
+-#: common.opt:1367
++#: common.opt:1363
+ msgid "Assume signed arithmetic overflow wraps around"
+ msgstr ""
+-#: common.opt:1371
++#: common.opt:1367
+ msgid "Put zero initialized data in the bss section"
+ msgstr ""
+-#: common.opt:1375
++#: common.opt:1371
+ msgid "Generate debug information in default format"
+ msgstr ""
+-#: common.opt:1379
++#: common.opt:1375
+ msgid "Generate debug information in COFF format"
+ msgstr ""
+-#: common.opt:1383
++#: common.opt:1379
+ msgid "Generate debug information in DWARF v2 format"
+ msgstr ""
+-#: common.opt:1387
++#: common.opt:1383
+ msgid "Generate debug information in default extended format"
+ msgstr ""
+-#: common.opt:1391
++#: common.opt:1387
+ msgid "Generate debug information in STABS format"
+ msgstr ""
+-#: common.opt:1395
++#: common.opt:1391
+ msgid "Generate debug information in extended STABS format"
+ msgstr ""
+-#: common.opt:1399
++#: common.opt:1395
+ msgid "Generate debug information in VMS format"
+ msgstr ""
+-#: common.opt:1403
++#: common.opt:1399
+ msgid "Generate debug information in XCOFF format"
+ msgstr ""
+-#: common.opt:1407
++#: common.opt:1403
+ msgid "Generate debug information in extended XCOFF format"
+ msgstr ""
+-#: common.opt:1411
++#: common.opt:1407
+ msgid "Place output into <file>"
+ msgstr ""
+-#: common.opt:1415
++#: common.opt:1411
+ msgid "Enable function profiling"
+ msgstr ""
+-#: common.opt:1419
++#: common.opt:1415
+ msgid "Issue warnings needed for strict compliance to the standard"
+ msgstr ""
+-#: common.opt:1423
++#: common.opt:1419
+ msgid "Like -pedantic but issue them as errors"
+ msgstr ""
+-#: common.opt:1427
++#: common.opt:1423
+ msgid "Do not display functions compiled or elapsed time"
+ msgstr ""
+-#: common.opt:1431
++#: common.opt:1427
+ msgid "Display the compiler's version"
+ msgstr ""
+-#: common.opt:1435
++#: common.opt:1431
+ msgid "Suppress warnings"
+ msgstr ""
+-#: common.opt:1439
++#: common.opt:1435
+ msgid "Create a shared library"
+ msgstr ""
+-#: common.opt:1443
++#: common.opt:1439
+ msgid "Create a position independent executable"
+ msgstr ""
+@@ -17508,47 +17508,52 @@
+ "branch target register load optimization is not intended to be run twice"
+ msgstr ""
+-#: builtins.c:1039
++#: builtins.c:479
+ #, gcc-internal-format
++msgid "offset outside bounds of constant string"
++msgstr ""
++
++#: builtins.c:1042
++#, gcc-internal-format
+ msgid "second argument to %<__builtin_prefetch%> must be a constant"
+ msgstr ""
+-#: builtins.c:1046
++#: builtins.c:1049
+ #, gcc-internal-format
+ msgid "invalid second argument to %<__builtin_prefetch%>; using zero"
+ msgstr ""
+-#: builtins.c:1054
++#: builtins.c:1057
+ #, gcc-internal-format
+ msgid "third argument to %<__builtin_prefetch%> must be a constant"
+ msgstr ""
+-#: builtins.c:1061
++#: builtins.c:1064
+ #, gcc-internal-format
+ msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
+ msgstr ""
+-#: builtins.c:4665
++#: builtins.c:4668
+ #, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> must be constant"
+ msgstr ""
+-#: builtins.c:4671
++#: builtins.c:4674
+ #, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> out of range"
+ msgstr ""
+-#: builtins.c:4677
++#: builtins.c:4680
+ #, gcc-internal-format
+ msgid "missing argument in %<__builtin_args_info%>"
+ msgstr ""
+-#: builtins.c:4813 gimplify.c:2324
++#: builtins.c:4816 gimplify.c:2324
+ #, gcc-internal-format
+ msgid "too few arguments to function %<va_start%>"
+ msgstr ""
+-#: builtins.c:4971
++#: builtins.c:4974
+ #, gcc-internal-format
+ msgid "first argument to %<va_arg%> not of type %<va_list%>"
+ msgstr ""
+@@ -17556,93 +17561,93 @@
+ #. Unfortunately, this is merely undefined, rather than a constraint
+ #. violation, so we cannot make this an error.  If this call is never
+ #. executed, the program is still strictly conforming.
+-#: builtins.c:4986
++#: builtins.c:4989
+ #, gcc-internal-format
+ msgid "%qT is promoted to %qT when passed through %<...%>"
+ msgstr ""
+-#: builtins.c:4991
++#: builtins.c:4994
+ #, gcc-internal-format
+ msgid "(so you should pass %qT not %qT to %<va_arg%>)"
+ msgstr ""
+ #. We can, however, treat "undefined" any way we please.
+ #. Call abort to encourage the user to fix the program.
+-#: builtins.c:4998 c-typeck.c:2451
++#: builtins.c:5001 c-typeck.c:2451
+ #, gcc-internal-format
+ msgid "if this code is reached, the program will abort"
+ msgstr ""
+-#: builtins.c:5122
++#: builtins.c:5125
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_frame_address%>"
+ msgstr ""
+-#: builtins.c:5124
++#: builtins.c:5127
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_return_address%>"
+ msgstr ""
+-#: builtins.c:5137
++#: builtins.c:5140
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_frame_address%>"
+ msgstr ""
+-#: builtins.c:5139
++#: builtins.c:5142
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_return_address%>"
+ msgstr ""
+-#: builtins.c:5685
++#: builtins.c:5688
+ #, gcc-internal-format
+ msgid "both arguments to %<__builtin___clear_cache%> must be pointers"
+ msgstr ""
+-#: builtins.c:6047 builtins.c:6062
++#: builtins.c:6050 builtins.c:6065
+ #, gcc-internal-format
+ msgid "%qD changed semantics in GCC 4.4"
+ msgstr ""
+ #. All valid uses of __builtin_va_arg_pack () are removed during
+ #. inlining.
+-#: builtins.c:6448 expr.c:8051
++#: builtins.c:6451 expr.c:8051
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
+ msgstr ""
+ #. All valid uses of __builtin_va_arg_pack_len () are removed during
+ #. inlining.
+-#: builtins.c:6454
++#: builtins.c:6457
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack_len ()%>"
+ msgstr ""
+-#: builtins.c:6750
++#: builtins.c:6753
+ #, gcc-internal-format
+ msgid "%<__builtin_longjmp%> second argument must be 1"
+ msgstr ""
+-#: builtins.c:7386
++#: builtins.c:7389
+ #, gcc-internal-format
+ msgid "target format does not support infinity"
+ msgstr ""
+-#: builtins.c:11730
++#: builtins.c:11733
+ #, gcc-internal-format
+ msgid "%<va_start%> used in function with fixed args"
+ msgstr ""
+-#: builtins.c:11738
++#: builtins.c:11741
+ #, gcc-internal-format
+ msgid "wrong number of arguments to function %<va_start%>"
+ msgstr ""
+ #. Evidently an out of date version of <stdarg.h>; can't validate
+ #. va_start's second argument, but can still work as intended.
+-#: builtins.c:11751
++#: builtins.c:11754
+ #, gcc-internal-format
+ msgid "%<__builtin_next_arg%> called without an argument"
+ msgstr ""
+-#: builtins.c:11756
++#: builtins.c:11759
+ #, gcc-internal-format
+ msgid "wrong number of arguments to function %<__builtin_next_arg%>"
+ msgstr ""
+@@ -17652,39 +17657,39 @@
+ #. argument.  We just warn and set the arg to be the last
+ #. argument so that we will get wrong-code because of
+ #. it.
+-#: builtins.c:11783
++#: builtins.c:11786
+ #, gcc-internal-format
+ msgid "second parameter of %<va_start%> not last named argument"
+ msgstr ""
+-#: builtins.c:11793
++#: builtins.c:11796
+ #, gcc-internal-format
+ msgid ""
+ "undefined behaviour when second parameter of %<va_start%> is declared with %"
+ "<register%> storage"
+ msgstr ""
+-#: builtins.c:11908
++#: builtins.c:11911
+ msgid "%Kfirst argument of %D must be a pointer, second integer constant"
+ msgstr ""
+-#: builtins.c:11921
++#: builtins.c:11924
+ msgid "%Klast argument of %D is not integer constant between 0 and 3"
+ msgstr ""
+-#: builtins.c:11966 builtins.c:12131 builtins.c:12190
++#: builtins.c:11969 builtins.c:12134 builtins.c:12193
+ msgid "%Kcall to %D will always overflow destination buffer"
+ msgstr ""
+-#: builtins.c:12121
++#: builtins.c:12124
+ msgid "%Kcall to %D might overflow destination buffer"
+ msgstr ""
+-#: builtins.c:12211
++#: builtins.c:12214
+ msgid "%Kattempt to free a non-heap object %qD"
+ msgstr ""
+-#: builtins.c:12214
++#: builtins.c:12217
+ msgid "%Kattempt to free a non-heap object"
+ msgstr ""
+@@ -17884,704 +17889,701 @@
+ msgid "comparison of unsigned expression < 0 is always false"
+ msgstr ""
+-#: c-common.c:3225
++#: c-common.c:3224
+ #, gcc-internal-format
+ msgid "pointer of type %<void *%> used in arithmetic"
+ msgstr ""
+-#: c-common.c:3231
++#: c-common.c:3230
+ #, gcc-internal-format
+ msgid "pointer to a function used in arithmetic"
+ msgstr ""
+-#: c-common.c:3237
++#: c-common.c:3236
+ #, gcc-internal-format
+ msgid "pointer to member function used in arithmetic"
+ msgstr ""
+-#: c-common.c:3319
++#: c-common.c:3396
+ #, gcc-internal-format
+-msgid "offset %<%wd%> outside bounds of constant string"
+-msgstr ""
+-
+-#: c-common.c:3422
+-#, gcc-internal-format
+ msgid "the address of %qD will always evaluate as %<true%>"
+ msgstr ""
+-#: c-common.c:3498 cp/semantics.c:594 cp/typeck.c:6638
++#: c-common.c:3472 cp/semantics.c:594 cp/typeck.c:6638
+ #, gcc-internal-format
+ msgid "suggest parentheses around assignment used as truth value"
+ msgstr ""
+-#: c-common.c:3577 c-typeck.c:8970
++#: c-common.c:3551 c-typeck.c:8974
+ #, gcc-internal-format
+ msgid "invalid use of %<restrict%>"
+ msgstr ""
+-#: c-common.c:3794
++#: c-common.c:3768
+ #, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a function type"
+ msgstr ""
+-#: c-common.c:3807
++#: c-common.c:3781
+ #, gcc-internal-format
+ msgid "invalid application of %qs to a void type"
+ msgstr ""
+-#: c-common.c:3815
++#: c-common.c:3789
+ #, gcc-internal-format
+ msgid "invalid application of %qs to incomplete type %qT "
+ msgstr ""
+-#: c-common.c:3856
++#: c-common.c:3830
+ #, gcc-internal-format
+ msgid "%<__alignof%> applied to a bit-field"
+ msgstr ""
+-#: c-common.c:4495
++#: c-common.c:4469
+ #, gcc-internal-format
+ msgid "cannot disable built-in function %qs"
+ msgstr ""
+-#: c-common.c:4686
++#: c-common.c:4660
+ #, gcc-internal-format
+ msgid "pointers are not permitted as case values"
+ msgstr ""
+-#: c-common.c:4693
++#: c-common.c:4667
+ #, gcc-internal-format
+ msgid "range expressions in switch statements are non-standard"
+ msgstr ""
+-#: c-common.c:4719
++#: c-common.c:4693
+ #, gcc-internal-format
+ msgid "empty range specified"
+ msgstr ""
+-#: c-common.c:4779
++#: c-common.c:4753
+ #, gcc-internal-format
+ msgid "duplicate (or overlapping) case value"
+ msgstr ""
+-#: c-common.c:4780
++#: c-common.c:4754
+ #, gcc-internal-format
+ msgid "%Jthis is the first entry overlapping that value"
+ msgstr ""
+-#: c-common.c:4784
++#: c-common.c:4758
+ #, gcc-internal-format
+ msgid "duplicate case value"
+ msgstr ""
+-#: c-common.c:4785
++#: c-common.c:4759
+ #, gcc-internal-format
+ msgid "%Jpreviously used here"
+ msgstr ""
+-#: c-common.c:4789
++#: c-common.c:4763
+ #, gcc-internal-format
+ msgid "multiple default labels in one switch"
+ msgstr ""
+-#: c-common.c:4790
++#: c-common.c:4764
+ #, gcc-internal-format
+ msgid "%Jthis is the first default label"
+ msgstr ""
+-#: c-common.c:4841
++#: c-common.c:4815
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type"
+ msgstr ""
+-#: c-common.c:4845
++#: c-common.c:4819
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type %qT"
+ msgstr ""
+-#: c-common.c:4904
++#: c-common.c:4878
+ #, gcc-internal-format
+ msgid "%Hswitch missing default case"
+ msgstr ""
+-#: c-common.c:4975
++#: c-common.c:4949
+ #, gcc-internal-format
+ msgid "%Henumeration value %qE not handled in switch"
+ msgstr ""
+-#: c-common.c:5010
++#: c-common.c:4984
+ #, gcc-internal-format
+ msgid "taking the address of a label is non-standard"
+ msgstr ""
+-#: c-common.c:5166
++#: c-common.c:5140
+ #, gcc-internal-format
+ msgid "%qE attribute ignored for field of type %qT"
+ msgstr ""
+-#: c-common.c:5177 c-common.c:5196 c-common.c:5214 c-common.c:5241
+-#: c-common.c:5268 c-common.c:5294 c-common.c:5313 c-common.c:5337
+-#: c-common.c:5360 c-common.c:5383 c-common.c:5404 c-common.c:5425
+-#: c-common.c:5449 c-common.c:5475 c-common.c:5512 c-common.c:5539
+-#: c-common.c:5582 c-common.c:5666 c-common.c:5696 c-common.c:5715
+-#: c-common.c:6050 c-common.c:6066 c-common.c:6114 c-common.c:6137
+-#: c-common.c:6201 c-common.c:6329 c-common.c:6395 c-common.c:6439
+-#: c-common.c:6485 c-common.c:6555 c-common.c:6579 c-common.c:6865
+-#: c-common.c:6888 c-common.c:6927 c-common.c:7016 c-common.c:7156
++#: c-common.c:5151 c-common.c:5170 c-common.c:5188 c-common.c:5215
++#: c-common.c:5242 c-common.c:5268 c-common.c:5287 c-common.c:5311
++#: c-common.c:5334 c-common.c:5357 c-common.c:5378 c-common.c:5399
++#: c-common.c:5423 c-common.c:5449 c-common.c:5486 c-common.c:5513
++#: c-common.c:5556 c-common.c:5640 c-common.c:5670 c-common.c:5689
++#: c-common.c:6024 c-common.c:6040 c-common.c:6088 c-common.c:6111
++#: c-common.c:6175 c-common.c:6303 c-common.c:6369 c-common.c:6413
++#: c-common.c:6459 c-common.c:6529 c-common.c:6553 c-common.c:6839
++#: c-common.c:6862 c-common.c:6901 c-common.c:6990 c-common.c:7130
++#: ada/gcc-interface/utils.c:5186 ada/gcc-interface/utils.c:5359
++#: ada/gcc-interface/utils.c:5378
+ #, gcc-internal-format
+ msgid "%qE attribute ignored"
+ msgstr ""
+-#: c-common.c:5259 c-common.c:5285
++#: c-common.c:5233 c-common.c:5259
+ #, gcc-internal-format
+ msgid "%qE attribute conflicts with attribute %s"
+ msgstr ""
+-#: c-common.c:5506
++#: c-common.c:5480
+ #, gcc-internal-format
+ msgid "%qE attribute have effect only on public objects"
+ msgstr ""
+-#: c-common.c:5603
++#: c-common.c:5577
+ #, gcc-internal-format
+ msgid "destructor priorities are not supported"
+ msgstr ""
+-#: c-common.c:5605
++#: c-common.c:5579
+ #, gcc-internal-format
+ msgid "constructor priorities are not supported"
+ msgstr ""
+-#: c-common.c:5622
++#: c-common.c:5596
+ #, gcc-internal-format
+ msgid "destructor priorities from 0 to %d are reserved for the implementation"
+ msgstr ""
+-#: c-common.c:5627
++#: c-common.c:5601
+ #, gcc-internal-format
+ msgid "constructor priorities from 0 to %d are reserved for the implementation"
+ msgstr ""
+-#: c-common.c:5635
++#: c-common.c:5609
+ #, gcc-internal-format
+ msgid "destructor priorities must be integers from 0 to %d inclusive"
+ msgstr ""
+-#: c-common.c:5638
++#: c-common.c:5612
+ #, gcc-internal-format
+ msgid "constructor priorities must be integers from 0 to %d inclusive"
+ msgstr ""
+-#: c-common.c:5759
++#: c-common.c:5733
+ #, gcc-internal-format
+ msgid "unknown machine mode %qs"
+ msgstr ""
+-#: c-common.c:5788
++#: c-common.c:5762
+ #, gcc-internal-format
+ msgid "specifying vector types with __attribute__ ((mode)) is deprecated"
+ msgstr ""
+-#: c-common.c:5791
++#: c-common.c:5765
+ #, gcc-internal-format
+ msgid "use __attribute__ ((vector_size)) instead"
+ msgstr ""
+-#: c-common.c:5800
++#: c-common.c:5774
+ #, gcc-internal-format
+ msgid "unable to emulate %qs"
+ msgstr ""
+-#: c-common.c:5810
++#: c-common.c:5784
+ #, gcc-internal-format
+ msgid "invalid pointer mode %qs"
+ msgstr ""
+-#: c-common.c:5827
++#: c-common.c:5801
+ #, gcc-internal-format
+ msgid "signness of type and machine mode %qs don't match"
+ msgstr ""
+-#: c-common.c:5838
++#: c-common.c:5812
+ #, gcc-internal-format
+ msgid "no data type for mode %qs"
+ msgstr ""
+-#: c-common.c:5848
++#: c-common.c:5822
+ #, gcc-internal-format
+ msgid "cannot use mode %qs for enumeral types"
+ msgstr ""
+-#: c-common.c:5875
++#: c-common.c:5849
+ #, gcc-internal-format
+ msgid "mode %qs applied to inappropriate type"
+ msgstr ""
+-#: c-common.c:5906
++#: c-common.c:5880
+ #, gcc-internal-format
+ msgid "%Jsection attribute cannot be specified for local variables"
+ msgstr ""
+-#: c-common.c:5917 config/bfin/bfin.c:5329 config/bfin/bfin.c:5380
++#: c-common.c:5891 config/bfin/bfin.c:5329 config/bfin/bfin.c:5380
+ #, gcc-internal-format
+ msgid "section of %q+D conflicts with previous declaration"
+ msgstr ""
+-#: c-common.c:5925
++#: c-common.c:5899
+ #, gcc-internal-format
+ msgid "section of %q+D cannot be overridden"
+ msgstr ""
+-#: c-common.c:5933
++#: c-common.c:5907
+ #, gcc-internal-format
+ msgid "section attribute not allowed for %q+D"
+ msgstr ""
+-#: c-common.c:5939
++#: c-common.c:5913
+ #, gcc-internal-format
+ msgid "%Jsection attributes are not supported for this target"
+ msgstr ""
+-#: c-common.c:5971
++#: c-common.c:5945
+ #, gcc-internal-format
+ msgid "requested alignment is not a constant"
+ msgstr ""
+-#: c-common.c:5976
++#: c-common.c:5950
+ #, gcc-internal-format
+ msgid "requested alignment is not a power of 2"
+ msgstr ""
+-#: c-common.c:5981
++#: c-common.c:5955
+ #, gcc-internal-format
+ msgid "requested alignment is too large"
+ msgstr ""
+-#: c-common.c:6007
++#: c-common.c:5981
+ #, gcc-internal-format
+ msgid "alignment may not be specified for %q+D"
+ msgstr ""
+-#: c-common.c:6014
++#: c-common.c:5988
+ #, gcc-internal-format
+ msgid ""
+ "alignment for %q+D was previously specified as %d and may not be decreased"
+ msgstr ""
+-#: c-common.c:6018
++#: c-common.c:5992
+ #, gcc-internal-format
+ msgid "alignment for %q+D must be at least %d"
+ msgstr ""
+-#: c-common.c:6043
++#: c-common.c:6017
+ #, gcc-internal-format
+ msgid "inline function %q+D cannot be declared weak"
+ msgstr ""
+-#: c-common.c:6077
++#: c-common.c:6051
+ #, gcc-internal-format
+ msgid "%q+D defined both normally and as an alias"
+ msgstr ""
+-#: c-common.c:6093
++#: c-common.c:6067
+ #, gcc-internal-format
+ msgid "alias argument not a string"
+ msgstr ""
+-#: c-common.c:6158
++#: c-common.c:6132
+ #, gcc-internal-format
+ msgid "%Jweakref attribute must appear before alias attribute"
+ msgstr ""
+-#: c-common.c:6188
++#: c-common.c:6162
+ #, gcc-internal-format
+ msgid "%qE attribute ignored on non-class types"
+ msgstr ""
+-#: c-common.c:6194
++#: c-common.c:6168
+ #, gcc-internal-format
+ msgid "%qE attribute ignored because %qT is already defined"
+ msgstr ""
+-#: c-common.c:6207
++#: c-common.c:6181
+ #, gcc-internal-format
+ msgid "visibility argument not a string"
+ msgstr ""
+-#: c-common.c:6219
++#: c-common.c:6193
+ #, gcc-internal-format
+ msgid "%qE attribute ignored on types"
+ msgstr ""
+-#: c-common.c:6235
++#: c-common.c:6209
+ #, gcc-internal-format
+ msgid ""
+ "visibility argument must be one of \"default\", \"hidden\", \"protected\" or "
+ "\"internal\""
+ msgstr ""
+-#: c-common.c:6246
++#: c-common.c:6220
+ #, gcc-internal-format
+ msgid "%qD redeclared with different visibility"
+ msgstr ""
+-#: c-common.c:6249 c-common.c:6253
++#: c-common.c:6223 c-common.c:6227
+ #, gcc-internal-format
+ msgid "%qD was declared %qs which implies default visibility"
+ msgstr ""
+-#: c-common.c:6337
++#: c-common.c:6311
+ #, gcc-internal-format
+ msgid "tls_model argument not a string"
+ msgstr ""
+-#: c-common.c:6350
++#: c-common.c:6324
+ #, gcc-internal-format
+ msgid ""
+ "tls_model argument must be one of \"local-exec\", \"initial-exec\", \"local-"
+ "dynamic\" or \"global-dynamic\""
+ msgstr ""
+-#: c-common.c:6369 c-common.c:6459
++#: c-common.c:6343 c-common.c:6433
+ #, gcc-internal-format
+ msgid "%J%qE attribute applies only to functions"
+ msgstr ""
+-#: c-common.c:6374 c-common.c:6464
++#: c-common.c:6348 c-common.c:6438
+ #, gcc-internal-format
+ msgid "%Jcan%'t set %qE attribute after definition"
+ msgstr ""
+-#: c-common.c:6420
++#: c-common.c:6394
+ #, gcc-internal-format
+ msgid "alloc_size parameter outside range"
+ msgstr ""
+-#: c-common.c:6553
++#: c-common.c:6527
+ #, gcc-internal-format
+ msgid "%qE attribute ignored for %qE"
+ msgstr ""
+-#: c-common.c:6613
++#: c-common.c:6587
+ #, gcc-internal-format
+ msgid "invalid vector type for attribute %qE"
+ msgstr ""
+-#: c-common.c:6619
++#: c-common.c:6593
+ #, gcc-internal-format
+ msgid "vector size not an integral multiple of component size"
+ msgstr ""
+-#: c-common.c:6625
++#: c-common.c:6599
+ #, gcc-internal-format
+ msgid "zero vector size"
+ msgstr ""
+-#: c-common.c:6633
++#: c-common.c:6607
+ #, gcc-internal-format
+ msgid "number of components of the vector not a power of two"
+ msgstr ""
+-#: c-common.c:6661
++#: c-common.c:6635 ada/gcc-interface/utils.c:5237
+ #, gcc-internal-format
+ msgid "nonnull attribute without arguments on a non-prototype"
+ msgstr ""
+-#: c-common.c:6676
++#: c-common.c:6650 ada/gcc-interface/utils.c:5252
+ #, gcc-internal-format
+ msgid "nonnull argument has invalid operand number (argument %lu)"
+ msgstr ""
+-#: c-common.c:6695
++#: c-common.c:6669 ada/gcc-interface/utils.c:5271
+ #, gcc-internal-format
+ msgid ""
+ "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
+ msgstr ""
+-#: c-common.c:6703
++#: c-common.c:6677 ada/gcc-interface/utils.c:5279
+ #, gcc-internal-format
+ msgid ""
+ "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
+ msgstr ""
+-#: c-common.c:6779
++#: c-common.c:6753
+ #, gcc-internal-format
+ msgid "not enough variable arguments to fit a sentinel"
+ msgstr ""
+-#: c-common.c:6793
++#: c-common.c:6767
+ #, gcc-internal-format
+ msgid "missing sentinel in function call"
+ msgstr ""
+-#: c-common.c:6834
++#: c-common.c:6808
+ #, gcc-internal-format
+ msgid "null argument where non-null required (argument %lu)"
+ msgstr ""
+-#: c-common.c:6899
++#: c-common.c:6873
+ #, gcc-internal-format
+ msgid "cleanup argument not an identifier"
+ msgstr ""
+-#: c-common.c:6906
++#: c-common.c:6880
+ #, gcc-internal-format
+ msgid "cleanup argument not a function"
+ msgstr ""
+-#: c-common.c:6945
++#: c-common.c:6919 ada/gcc-interface/utils.c:5301
+ #, gcc-internal-format
+ msgid "%qE attribute requires prototypes with named arguments"
+ msgstr ""
+-#: c-common.c:6956
++#: c-common.c:6930 ada/gcc-interface/utils.c:5312
+ #, gcc-internal-format
+ msgid "%qE attribute only applies to variadic functions"
+ msgstr ""
+-#: c-common.c:6968
++#: c-common.c:6942 ada/gcc-interface/utils.c:5323
+ #, gcc-internal-format
+ msgid "requested position is not an integer constant"
+ msgstr ""
+-#: c-common.c:6976
++#: c-common.c:6950 ada/gcc-interface/utils.c:5330
+ #, gcc-internal-format
+ msgid "requested position is less than zero"
+ msgstr ""
+-#: c-common.c:7100
++#: c-common.c:7074
+ #, gcc-internal-format
+ msgid "Bad option %s to optimize attribute."
+ msgstr ""
+-#: c-common.c:7103
++#: c-common.c:7077
+ #, gcc-internal-format
+ msgid "Bad option %s to pragma attribute"
+ msgstr ""
+-#: c-common.c:7296
++#: c-common.c:7270
+ #, gcc-internal-format
+ msgid "not enough arguments to function %qE"
+ msgstr ""
+-#: c-common.c:7301 c-typeck.c:2558
++#: c-common.c:7275 c-typeck.c:2558
+ #, gcc-internal-format
+ msgid "too many arguments to function %qE"
+ msgstr ""
+-#: c-common.c:7331 c-common.c:7377
++#: c-common.c:7305 c-common.c:7351
+ #, gcc-internal-format
+ msgid "non-floating-point argument in call to function %qE"
+ msgstr ""
+-#: c-common.c:7354
++#: c-common.c:7328
+ #, gcc-internal-format
+ msgid "non-floating-point arguments in call to function %qE"
+ msgstr ""
+-#: c-common.c:7370
++#: c-common.c:7344
+ #, gcc-internal-format
+ msgid "non-const integer argument %u in call to function %qE"
+ msgstr ""
+-#: c-common.c:7596
++#: c-common.c:7570
+ #, gcc-internal-format
+ msgid ""
+ "%Hignoring return value of %qD, declared with attribute warn_unused_result"
+ msgstr ""
+-#: c-common.c:7600
++#: c-common.c:7574
+ #, gcc-internal-format
+ msgid ""
+ "%Hignoring return value of function declared with attribute "
+ "warn_unused_result"
+ msgstr ""
+-#: c-common.c:7654
++#: c-common.c:7628
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to static data member %qD"
+ msgstr ""
+-#: c-common.c:7659
++#: c-common.c:7633
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> when %<operator[]%> is overloaded"
+ msgstr ""
+-#: c-common.c:7680 cp/typeck.c:4685
++#: c-common.c:7654 cp/typeck.c:4685
+ #, gcc-internal-format
+ msgid "attempt to take address of bit-field structure member %qD"
+ msgstr ""
+-#: c-common.c:7733
++#: c-common.c:7707
+ #, gcc-internal-format
+ msgid "lvalue required as left operand of assignment"
+ msgstr ""
+-#: c-common.c:7736
++#: c-common.c:7710
+ #, gcc-internal-format
+ msgid "lvalue required as increment operand"
+ msgstr ""
+-#: c-common.c:7739
++#: c-common.c:7713
+ #, gcc-internal-format
+ msgid "lvalue required as decrement operand"
+ msgstr ""
+-#: c-common.c:7742
++#: c-common.c:7716
+ #, gcc-internal-format
+ msgid "lvalue required as unary %<&%> operand"
+ msgstr ""
+-#: c-common.c:7745
++#: c-common.c:7719
+ #, gcc-internal-format
+ msgid "lvalue required in asm statement"
+ msgstr ""
+-#: c-common.c:7874
++#: c-common.c:7848
+ #, gcc-internal-format
+ msgid "size of array is too large"
+ msgstr ""
+-#: c-common.c:7910 c-common.c:7959 c-typeck.c:2748
++#: c-common.c:7884 c-common.c:7933 c-typeck.c:2748
+ #, gcc-internal-format
+ msgid "too few arguments to function %qE"
+ msgstr ""
+-#: c-common.c:7927 c-typeck.c:4461
++#: c-common.c:7901 c-typeck.c:4465
+ #, gcc-internal-format
+ msgid "incompatible type for argument %d of %qE"
+ msgstr ""
+-#: c-common.c:8119
++#: c-common.c:8093
+ #, gcc-internal-format
+ msgid "array subscript has type %<char%>"
+ msgstr ""
+-#: c-common.c:8154
++#: c-common.c:8128
+ #, gcc-internal-format
+ msgid "suggest parentheses around %<+%> inside %<<<%>"
+ msgstr ""
+-#: c-common.c:8157
++#: c-common.c:8131
+ #, gcc-internal-format
+ msgid "suggest parentheses around %<-%> inside %<<<%>"
+ msgstr ""
+-#: c-common.c:8163
++#: c-common.c:8137
+ #, gcc-internal-format
+ msgid "suggest parentheses around %<+%> inside %<>>%>"
+ msgstr ""
+-#: c-common.c:8166
++#: c-common.c:8140
+ #, gcc-internal-format
+ msgid "suggest parentheses around %<-%> inside %<>>%>"
+ msgstr ""
+-#: c-common.c:8172
++#: c-common.c:8146
+ #, gcc-internal-format
+ msgid "suggest parentheses around %<&&%> within %<||%>"
+ msgstr ""
+-#: c-common.c:8181
++#: c-common.c:8155
+ #, gcc-internal-format
+ msgid "suggest parentheses around arithmetic in operand of %<|%>"
+ msgstr ""
+-#: c-common.c:8186
++#: c-common.c:8160
+ #, gcc-internal-format
+ msgid "suggest parentheses around comparison in operand of %<|%>"
+ msgstr ""
+-#: c-common.c:8190
++#: c-common.c:8164
+ #, gcc-internal-format
+ msgid ""
+ "suggest parentheses around operand of %<!%> or change %<|%> to %<||%> or %<!%"
+ "> to %<~%>"
+ msgstr ""
+-#: c-common.c:8200
++#: c-common.c:8174
+ #, gcc-internal-format
+ msgid "suggest parentheses around arithmetic in operand of %<^%>"
+ msgstr ""
+-#: c-common.c:8205
++#: c-common.c:8179
+ #, gcc-internal-format
+ msgid "suggest parentheses around comparison in operand of %<^%>"
+ msgstr ""
+-#: c-common.c:8211
++#: c-common.c:8185
+ #, gcc-internal-format
+ msgid "suggest parentheses around %<+%> in operand of %<&%>"
+ msgstr ""
+-#: c-common.c:8214
++#: c-common.c:8188
+ #, gcc-internal-format
+ msgid "suggest parentheses around %<-%> in operand of %<&%>"
+ msgstr ""
+-#: c-common.c:8219
++#: c-common.c:8193
+ #, gcc-internal-format
+ msgid "suggest parentheses around comparison in operand of %<&%>"
+ msgstr ""
+-#: c-common.c:8223
++#: c-common.c:8197
+ #, gcc-internal-format
+ msgid ""
+ "suggest parentheses around operand of %<!%> or change %<&%> to %<&&%> or %<!%"
+ "> to %<~%>"
+ msgstr ""
+-#: c-common.c:8231
++#: c-common.c:8205
+ #, gcc-internal-format
+ msgid "suggest parentheses around comparison in operand of %<==%>"
+ msgstr ""
+-#: c-common.c:8237
++#: c-common.c:8211
+ #, gcc-internal-format
+ msgid "suggest parentheses around comparison in operand of %<!=%>"
+ msgstr ""
+-#: c-common.c:8248
++#: c-common.c:8222
+ #, gcc-internal-format
+ msgid "comparisons like %<X<=Y<=Z%> do not have their mathematical meaning"
+ msgstr ""
+-#: c-common.c:8263
++#: c-common.c:8237
+ #, gcc-internal-format
+ msgid "label %q+D defined but not used"
+ msgstr ""
+-#: c-common.c:8265
++#: c-common.c:8239
+ #, gcc-internal-format
+ msgid "label %q+D declared but not defined"
+ msgstr ""
+-#: c-common.c:8285
++#: c-common.c:8259
+ #, gcc-internal-format
+ msgid "division by zero"
+ msgstr ""
+-#: c-common.c:8317
++#: c-common.c:8291
+ #, gcc-internal-format
+ msgid "comparison between types %qT and %qT"
+ msgstr ""
+-#: c-common.c:8368
++#: c-common.c:8342
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned integer expressions"
+ msgstr ""
+-#: c-common.c:8419
++#: c-common.c:8393
+ #, gcc-internal-format
+ msgid "promoted ~unsigned is always non-zero"
+ msgstr ""
+-#: c-common.c:8422
++#: c-common.c:8396
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with constant"
+ msgstr ""
+-#: c-common.c:8432
++#: c-common.c:8406
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with unsigned"
+ msgstr ""
+@@ -18591,7 +18593,7 @@
+ #. an unprototyped function, it is compile-time undefined;
+ #. making it a constraint in that case was rejected in
+ #. DR#252.
+-#: c-convert.c:95 c-typeck.c:1796 c-typeck.c:4096 cp/typeck.c:1619
++#: c-convert.c:95 c-typeck.c:1796 c-typeck.c:4100 cp/typeck.c:1619
+ #: cp/typeck.c:5936 cp/typeck.c:6546 fortran/convert.c:88
+ #, gcc-internal-format
+ msgid "void value not ignored as it ought to be"
+@@ -18831,8 +18833,8 @@
+ msgid "declaration of %q+D shadows a previous local"
+ msgstr ""
+-#: c-decl.c:1972 cp/name-lookup.c:1041 cp/name-lookup.c:1072
+-#: cp/name-lookup.c:1080
++#: c-decl.c:1972 cp/name-lookup.c:1043 cp/name-lookup.c:1074
++#: cp/name-lookup.c:1082
+ #, gcc-internal-format
+ msgid "%Jshadowed declaration is here"
+ msgstr ""
+@@ -19015,7 +19017,7 @@
+ msgid "variable %qD has initializer but incomplete type"
+ msgstr ""
+-#: c-decl.c:3319 c-decl.c:6138 cp/decl.c:4114 cp/decl.c:11484
++#: c-decl.c:3319 c-decl.c:6138 cp/decl.c:4117 cp/decl.c:11498
+ #, gcc-internal-format
+ msgid "inline function %q+D given attribute noinline"
+ msgstr ""
+@@ -19135,7 +19137,7 @@
+ msgid "variable length array %qs is used"
+ msgstr ""
+-#: c-decl.c:3932 cp/decl.c:7274
++#: c-decl.c:3932 cp/decl.c:7277
+ #, gcc-internal-format
+ msgid "variable length array is used"
+ msgstr ""
+@@ -19190,22 +19192,22 @@
+ msgid "storage class specified for structure field %qs"
+ msgstr ""
+-#: c-decl.c:4150 cp/decl.c:8169
++#: c-decl.c:4150 cp/decl.c:8175
+ #, gcc-internal-format
+ msgid "storage class specified for parameter %qs"
+ msgstr ""
+-#: c-decl.c:4153 cp/decl.c:8171
++#: c-decl.c:4153 cp/decl.c:8177
+ #, gcc-internal-format
+ msgid "storage class specified for typename"
+ msgstr ""
+-#: c-decl.c:4170 cp/decl.c:9450
++#: c-decl.c:4170 cp/decl.c:9464
+ #, gcc-internal-format
+ msgid "%qs initialized and declared %<extern%>"
+ msgstr ""
+-#: c-decl.c:4173 cp/decl.c:9454
++#: c-decl.c:4173 cp/decl.c:9468
+ #, gcc-internal-format
+ msgid "%qs has both %<extern%> and initializer"
+ msgstr ""
+@@ -19220,12 +19222,12 @@
+ msgid "file-scope declaration of %qs specifies %<register%>"
+ msgstr ""
+-#: c-decl.c:4186 cp/decl.c:8182
++#: c-decl.c:4186 cp/decl.c:8188
+ #, gcc-internal-format
+ msgid "nested function %qs declared %<extern%>"
+ msgstr ""
+-#: c-decl.c:4189 cp/decl.c:8192
++#: c-decl.c:4189 cp/decl.c:8198
+ #, gcc-internal-format
+ msgid "function-scope %qs implicitly auto and declared %<__thread%>"
+ msgstr ""
+@@ -19268,7 +19270,7 @@
+ msgid "size of array %qs is negative"
+ msgstr ""
+-#: c-decl.c:4382 c-decl.c:4655 cp/decl.c:8694
++#: c-decl.c:4382 c-decl.c:4655 cp/decl.c:8706
+ #, gcc-internal-format
+ msgid "size of array %qs is too large"
+ msgstr ""
+@@ -19289,12 +19291,12 @@
+ msgid "array type has incomplete element type"
+ msgstr ""
+-#: c-decl.c:4526 cp/decl.c:8288
++#: c-decl.c:4526 cp/decl.c:8294
+ #, gcc-internal-format
+ msgid "%qs declared as function returning a function"
+ msgstr ""
+-#: c-decl.c:4531 cp/decl.c:8293
++#: c-decl.c:4531 cp/decl.c:8299
+ #, gcc-internal-format
+ msgid "%qs declared as function returning an array"
+ msgstr ""
+@@ -19304,7 +19306,7 @@
+ msgid "function definition has qualified void return type"
+ msgstr ""
+-#: c-decl.c:4557 cp/decl.c:8277
++#: c-decl.c:4557 cp/decl.c:8283
+ #, gcc-internal-format
+ msgid "type qualifiers ignored on function return type"
+ msgstr ""
+@@ -19585,7 +19587,7 @@
+ msgid "%q+D was used with no prototype before its definition"
+ msgstr ""
+-#: c-decl.c:6254 cp/decl.c:11625
++#: c-decl.c:6254 cp/decl.c:11639
+ #, gcc-internal-format
+ msgid "no previous declaration for %q+D"
+ msgstr ""
+@@ -19700,7 +19702,7 @@
+ msgid "argument %qD doesn%'t match prototype"
+ msgstr ""
+-#: c-decl.c:6782 cp/decl.c:12329
++#: c-decl.c:6782 cp/decl.c:12343
+ #, gcc-internal-format
+ msgid "no return statement in function returning non-void"
+ msgstr ""
+@@ -20074,7 +20076,7 @@
+ msgid "ISO C does not support decimal floating point"
+ msgstr ""
+-#: c-decl.c:7613 c-decl.c:7792 c-parser.c:5101
++#: c-decl.c:7613 c-decl.c:7792 c-parser.c:5107
+ #, gcc-internal-format
+ msgid "fixed-point types not supported for this target"
+ msgstr ""
+@@ -20762,12 +20764,12 @@
+ msgid "ISO C forbids an empty translation unit"
+ msgstr ""
+-#: c-parser.c:1056 c-parser.c:6109
++#: c-parser.c:1056 c-parser.c:6113
+ #, gcc-internal-format
+ msgid "ISO C does not allow extra %<;%> outside of a function"
+ msgstr ""
+-#: c-parser.c:1158 c-parser.c:6667
++#: c-parser.c:1158 c-parser.c:6671
+ #, gcc-internal-format
+ msgid "expected declaration specifiers"
+ msgstr ""
+@@ -20796,16 +20798,16 @@
+ msgstr ""
+ #: c-parser.c:1641 c-parser.c:2454 c-parser.c:3094 c-parser.c:3352
+-#: c-parser.c:4286 c-parser.c:4886 c-parser.c:5308 c-parser.c:5329
+-#: c-parser.c:5446 c-parser.c:5598 c-parser.c:5615 c-parser.c:5751
+-#: c-parser.c:5763 c-parser.c:5788 c-parser.c:5922 c-parser.c:5951
+-#: c-parser.c:5959 c-parser.c:5987 c-parser.c:6001 c-parser.c:6217
+-#: c-parser.c:6316 c-parser.c:6837 c-parser.c:7538
++#: c-parser.c:4292 c-parser.c:4892 c-parser.c:5314 c-parser.c:5335
++#: c-parser.c:5452 c-parser.c:5602 c-parser.c:5619 c-parser.c:5755
++#: c-parser.c:5767 c-parser.c:5792 c-parser.c:5926 c-parser.c:5955
++#: c-parser.c:5963 c-parser.c:5991 c-parser.c:6005 c-parser.c:6221
++#: c-parser.c:6320 c-parser.c:6841 c-parser.c:7542
+ #, gcc-internal-format
+ msgid "expected identifier"
+ msgstr ""
+-#: c-parser.c:1674 cp/parser.c:11972
++#: c-parser.c:1674 cp/parser.c:11977
+ #, gcc-internal-format
+ msgid "comma at end of enumerator list"
+ msgstr ""
+@@ -20815,7 +20817,7 @@
+ msgid "expected %<,%> or %<}%>"
+ msgstr ""
+-#: c-parser.c:1694 c-parser.c:1877 c-parser.c:6076
++#: c-parser.c:1694 c-parser.c:1877 c-parser.c:6080
+ #, gcc-internal-format
+ msgid "expected %<{%>"
+ msgstr ""
+@@ -20830,7 +20832,7 @@
+ msgid "expected class name"
+ msgstr ""
+-#: c-parser.c:1831 c-parser.c:5855
++#: c-parser.c:1831 c-parser.c:5859
+ #, gcc-internal-format
+ msgid "extra semicolon in struct or union specified"
+ msgstr ""
+@@ -20890,7 +20892,7 @@
+ msgid "wide string literal in %<asm%>"
+ msgstr ""
+-#: c-parser.c:2689 c-parser.c:6722
++#: c-parser.c:2689 c-parser.c:6726
+ #, gcc-internal-format
+ msgid "expected string literal"
+ msgstr ""
+@@ -20980,12 +20982,12 @@
+ msgid "expected statement"
+ msgstr ""
+-#: c-parser.c:3872 cp/parser.c:7296
++#: c-parser.c:3872 cp/parser.c:7301
+ #, gcc-internal-format
+ msgid "suggest braces around empty body in an %<if%> statement"
+ msgstr ""
+-#: c-parser.c:3898 cp/parser.c:7317
++#: c-parser.c:3898 cp/parser.c:7322
+ #, gcc-internal-format
+ msgid "suggest braces around empty body in an %<else%> statement"
+ msgstr ""
+@@ -21000,199 +21002,199 @@
+ msgid "%E qualifier ignored on asm"
+ msgstr ""
+-#: c-parser.c:4459
++#: c-parser.c:4465
+ #, gcc-internal-format
+ msgid "ISO C forbids omitting the middle term of a ?: expression"
+ msgstr ""
+-#: c-parser.c:4855
++#: c-parser.c:4861
+ #, gcc-internal-format
+ msgid "traditional C rejects the unary plus operator"
+ msgstr ""
+-#: c-parser.c:4972
++#: c-parser.c:4978
+ #, gcc-internal-format
+ msgid "%<sizeof%> applied to a bit-field"
+ msgstr ""
+-#: c-parser.c:5131 c-parser.c:5488 c-parser.c:5510
++#: c-parser.c:5137 c-parser.c:5494 c-parser.c:5516
+ #, gcc-internal-format
+ msgid "expected expression"
+ msgstr ""
+-#: c-parser.c:5158
++#: c-parser.c:5164
+ #, gcc-internal-format
+ msgid "braced-group within expression allowed only inside a function"
+ msgstr ""
+-#: c-parser.c:5172
++#: c-parser.c:5178
+ #, gcc-internal-format
+ msgid "ISO C forbids braced-groups within expressions"
+ msgstr ""
+-#: c-parser.c:5370
++#: c-parser.c:5376
+ #, gcc-internal-format
+ msgid "first argument to %<__builtin_choose_expr%> not a constant"
+ msgstr ""
+-#: c-parser.c:5539
++#: c-parser.c:5545
+ #, gcc-internal-format
+ msgid "compound literal has variable size"
+ msgstr ""
+-#: c-parser.c:5547
++#: c-parser.c:5553
+ #, gcc-internal-format
+ msgid "ISO C90 forbids compound literals"
+ msgstr ""
+-#: c-parser.c:6072
++#: c-parser.c:6076
+ #, gcc-internal-format
+ msgid "extra semicolon in method definition specified"
+ msgstr ""
+-#: c-parser.c:6616
++#: c-parser.c:6620
+ #, gcc-internal-format
+ msgid "%<#pragma omp barrier%> may only be used in compound statements"
+ msgstr ""
+-#: c-parser.c:6627
++#: c-parser.c:6631
+ #, gcc-internal-format
+ msgid "%<#pragma omp flush%> may only be used in compound statements"
+ msgstr ""
+-#: c-parser.c:6638
++#: c-parser.c:6642
+ #, gcc-internal-format
+ msgid "%<#pragma omp taskwait%> may only be used in compound statements"
+ msgstr ""
+-#: c-parser.c:6651
++#: c-parser.c:6655
+ #, gcc-internal-format
+ msgid ""
+ "%<#pragma omp section%> may only be used in %<#pragma omp sections%> "
+ "construct"
+ msgstr ""
+-#: c-parser.c:6657
++#: c-parser.c:6661
+ #, gcc-internal-format
+ msgid "%<#pragma GCC pch_preprocess%> must be first"
+ msgstr ""
+-#: c-parser.c:6815
++#: c-parser.c:6819
+ #, gcc-internal-format
+ msgid "too many %qs clauses"
+ msgstr ""
+-#: c-parser.c:6911
++#: c-parser.c:6915
+ #, gcc-internal-format
+ msgid "collapse argument needs positive constant integer expression"
+ msgstr ""
+-#: c-parser.c:6976
++#: c-parser.c:6980
+ #, gcc-internal-format
+ msgid "expected %<none%> or %<shared%>"
+ msgstr ""
+-#: c-parser.c:7019
++#: c-parser.c:7023
+ #, gcc-internal-format
+ msgid "expected %<(%>"
+ msgstr ""
+-#: c-parser.c:7063 c-parser.c:7247
++#: c-parser.c:7067 c-parser.c:7251
+ #, gcc-internal-format
+ msgid "expected integer expression"
+ msgstr ""
+-#: c-parser.c:7073
++#: c-parser.c:7077
+ #, gcc-internal-format
+ msgid "%<num_threads%> value must be positive"
+ msgstr ""
+-#: c-parser.c:7153
++#: c-parser.c:7157
+ #, gcc-internal-format
+ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
+ msgstr ""
+-#: c-parser.c:7238
++#: c-parser.c:7242
+ #, gcc-internal-format
+ msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr ""
+-#: c-parser.c:7242
++#: c-parser.c:7246
+ #, gcc-internal-format
+ msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
+ msgstr ""
+-#: c-parser.c:7260
++#: c-parser.c:7264
+ #, gcc-internal-format
+ msgid "invalid schedule kind"
+ msgstr ""
+-#: c-parser.c:7378
++#: c-parser.c:7382
+ #, gcc-internal-format
+ msgid "expected %<#pragma omp%> clause"
+ msgstr ""
+-#: c-parser.c:7387
++#: c-parser.c:7391
+ #, gcc-internal-format
+ msgid "%qs is not valid for %qs"
+ msgstr ""
+-#: c-parser.c:7488
++#: c-parser.c:7492
+ #, gcc-internal-format
+ msgid "invalid operator for %<#pragma omp atomic%>"
+ msgstr ""
+-#: c-parser.c:7541 c-parser.c:7561
++#: c-parser.c:7545 c-parser.c:7565
+ #, gcc-internal-format
+ msgid "expected %<(%> or end of line"
+ msgstr ""
+-#: c-parser.c:7593
++#: c-parser.c:7597
+ #, gcc-internal-format
+ msgid "for statement expected"
+ msgstr ""
+-#: c-parser.c:7643
++#: c-parser.c:7647
+ #, gcc-internal-format
+ msgid "expected iteration declaration or initialization"
+ msgstr ""
+-#: c-parser.c:7722
++#: c-parser.c:7726
+ #, gcc-internal-format
+ msgid "not enough perfectly nested loops"
+ msgstr ""
+-#: c-parser.c:7770
++#: c-parser.c:7774
+ #, gcc-internal-format
+ msgid "collapsed loops not perfectly nested"
+ msgstr ""
+-#: c-parser.c:7807 cp/pt.c:10533
++#: c-parser.c:7811 cp/pt.c:10534
+ #, gcc-internal-format
+ msgid "iteration variable %qD should not be firstprivate"
+ msgstr ""
+-#: c-parser.c:7957
++#: c-parser.c:7961
+ #, gcc-internal-format
+ msgid "expected %<#pragma omp section%> or %<}%>"
+ msgstr ""
+-#: c-parser.c:8227
++#: c-parser.c:8231
+ #, gcc-internal-format
+ msgid "%qD is not a variable"
+ msgstr ""
+-#: c-parser.c:8229 cp/semantics.c:3802
++#: c-parser.c:8233 cp/semantics.c:3804
+ #, gcc-internal-format
+ msgid "%qE declared %<threadprivate%> after first use"
+ msgstr ""
+-#: c-parser.c:8231 cp/semantics.c:3804
++#: c-parser.c:8235 cp/semantics.c:3806
+ #, gcc-internal-format
+ msgid "automatic variable %qE cannot be %<threadprivate%>"
+ msgstr ""
+-#: c-parser.c:8235 cp/semantics.c:3806
++#: c-parser.c:8239 cp/semantics.c:3808
+ #, gcc-internal-format
+ msgid "%<threadprivate%> %qE has incomplete type"
+ msgstr ""
+@@ -21930,109 +21932,109 @@
+ msgid "address of register variable %qD requested"
+ msgstr ""
+-#: c-typeck.c:3462
++#: c-typeck.c:3463
+ #, gcc-internal-format
+ msgid "non-lvalue array in conditional expression"
+ msgstr ""
+-#: c-typeck.c:3510
++#: c-typeck.c:3513
+ #, gcc-internal-format
+ msgid "signed and unsigned type in conditional expression"
+ msgstr ""
+-#: c-typeck.c:3518
++#: c-typeck.c:3521
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr with only one void side"
+ msgstr ""
+-#: c-typeck.c:3533 c-typeck.c:3542
++#: c-typeck.c:3536 c-typeck.c:3545
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
+ msgstr ""
+-#: c-typeck.c:3550
++#: c-typeck.c:3554
+ #, gcc-internal-format
+ msgid "pointer type mismatch in conditional expression"
+ msgstr ""
+-#: c-typeck.c:3558 c-typeck.c:3569
++#: c-typeck.c:3562 c-typeck.c:3573
+ #, gcc-internal-format
+ msgid "pointer/integer type mismatch in conditional expression"
+ msgstr ""
+-#: c-typeck.c:3583
++#: c-typeck.c:3587
+ #, gcc-internal-format
+ msgid "type mismatch in conditional expression"
+ msgstr ""
+-#: c-typeck.c:3624
++#: c-typeck.c:3628
+ #, gcc-internal-format
+ msgid "left-hand operand of comma expression has no effect"
+ msgstr ""
+-#: c-typeck.c:3661
++#: c-typeck.c:3665
+ #, gcc-internal-format
+ msgid "cast specifies array type"
+ msgstr ""
+-#: c-typeck.c:3667
++#: c-typeck.c:3671
+ #, gcc-internal-format
+ msgid "cast specifies function type"
+ msgstr ""
+-#: c-typeck.c:3683
++#: c-typeck.c:3687
+ #, gcc-internal-format
+ msgid "ISO C forbids casting nonscalar to the same type"
+ msgstr ""
+-#: c-typeck.c:3700
++#: c-typeck.c:3704
+ #, gcc-internal-format
+ msgid "ISO C forbids casts to union type"
+ msgstr ""
+-#: c-typeck.c:3707
++#: c-typeck.c:3711
+ #, gcc-internal-format
+ msgid "cast to union type from type not present in union"
+ msgstr ""
+-#: c-typeck.c:3753
++#: c-typeck.c:3757
+ #, gcc-internal-format
+ msgid "cast adds new qualifiers to function type"
+ msgstr ""
+ #. There are qualifiers present in IN_OTYPE that are not
+ #. present in IN_TYPE.
+-#: c-typeck.c:3758
++#: c-typeck.c:3762
+ #, gcc-internal-format
+ msgid "cast discards qualifiers from pointer target type"
+ msgstr ""
+-#: c-typeck.c:3774
++#: c-typeck.c:3778
+ #, gcc-internal-format
+ msgid "cast increases required alignment of target type"
+ msgstr ""
+-#: c-typeck.c:3785
++#: c-typeck.c:3789
+ #, gcc-internal-format
+ msgid "cast from pointer to integer of different size"
+ msgstr ""
+-#: c-typeck.c:3789
++#: c-typeck.c:3793
+ #, gcc-internal-format
+ msgid "cast from function call of type %qT to non-matching type %qT"
+ msgstr ""
+-#: c-typeck.c:3797
++#: c-typeck.c:3801
+ #, gcc-internal-format
+ msgid "cast to pointer from integer of different size"
+ msgstr ""
+-#: c-typeck.c:3811
++#: c-typeck.c:3815
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of function pointer to object pointer type"
+ msgstr ""
+-#: c-typeck.c:3820
++#: c-typeck.c:3824
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of object pointer to function pointer type"
+ msgstr ""
+@@ -22040,458 +22042,458 @@
+ #. This macro is used to emit diagnostics to ensure that all format
+ #. strings are complete sentences, visible to gettext and checked at
+ #. compile time.
+-#: c-typeck.c:4031 c-typeck.c:4464
++#: c-typeck.c:4035 c-typeck.c:4468
+ #, gcc-internal-format
+ msgid "expected %qT but argument is of type %qT"
+ msgstr ""
+-#: c-typeck.c:4110
++#: c-typeck.c:4114
+ #, gcc-internal-format
+ msgid "cannot pass rvalue to reference parameter"
+ msgstr ""
+-#: c-typeck.c:4224 c-typeck.c:4393
++#: c-typeck.c:4228 c-typeck.c:4397
+ #, gcc-internal-format
+ msgid ""
+ "passing argument %d of %qE makes qualified function pointer from unqualified"
+ msgstr ""
+-#: c-typeck.c:4227 c-typeck.c:4396
++#: c-typeck.c:4231 c-typeck.c:4400
+ #, gcc-internal-format
+ msgid "assignment makes qualified function pointer from unqualified"
+ msgstr ""
+-#: c-typeck.c:4230 c-typeck.c:4398
++#: c-typeck.c:4234 c-typeck.c:4402
+ #, gcc-internal-format
+ msgid "initialization makes qualified function pointer from unqualified"
+ msgstr ""
+-#: c-typeck.c:4233 c-typeck.c:4400
++#: c-typeck.c:4237 c-typeck.c:4404
+ #, gcc-internal-format
+ msgid "return makes qualified function pointer from unqualified"
+ msgstr ""
+-#: c-typeck.c:4238 c-typeck.c:4358
++#: c-typeck.c:4242 c-typeck.c:4362
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE discards qualifiers from pointer target type"
+ msgstr ""
+-#: c-typeck.c:4240 c-typeck.c:4360
++#: c-typeck.c:4244 c-typeck.c:4364
+ #, gcc-internal-format
+ msgid "assignment discards qualifiers from pointer target type"
+ msgstr ""
+-#: c-typeck.c:4242 c-typeck.c:4362
++#: c-typeck.c:4246 c-typeck.c:4366
+ #, gcc-internal-format
+ msgid "initialization discards qualifiers from pointer target type"
+ msgstr ""
+-#: c-typeck.c:4244 c-typeck.c:4364
++#: c-typeck.c:4248 c-typeck.c:4368
+ #, gcc-internal-format
+ msgid "return discards qualifiers from pointer target type"
+ msgstr ""
+-#: c-typeck.c:4252
++#: c-typeck.c:4256
+ #, gcc-internal-format
+ msgid "ISO C prohibits argument conversion to union type"
+ msgstr ""
+-#: c-typeck.c:4285
++#: c-typeck.c:4289
+ #, gcc-internal-format
+ msgid "request for implicit conversion from %qT to %qT not permitted in C++"
+ msgstr ""
+-#: c-typeck.c:4297
++#: c-typeck.c:4301
+ #, gcc-internal-format
+ msgid "argument %d of %qE might be a candidate for a format attribute"
+ msgstr ""
+-#: c-typeck.c:4303
++#: c-typeck.c:4307
+ #, gcc-internal-format
+ msgid "assignment left-hand side might be a candidate for a format attribute"
+ msgstr ""
+-#: c-typeck.c:4308
++#: c-typeck.c:4312
+ #, gcc-internal-format
+ msgid ""
+ "initialization left-hand side might be a candidate for a format attribute"
+ msgstr ""
+-#: c-typeck.c:4313
++#: c-typeck.c:4317
+ #, gcc-internal-format
+ msgid "return type might be a candidate for a format attribute"
+ msgstr ""
+-#: c-typeck.c:4337
++#: c-typeck.c:4341
+ #, gcc-internal-format
+ msgid ""
+ "ISO C forbids passing argument %d of %qE between function pointer and %<void "
+ "*%>"
+ msgstr ""
+-#: c-typeck.c:4340
++#: c-typeck.c:4344
+ #, gcc-internal-format
+ msgid "ISO C forbids assignment between function pointer and %<void *%>"
+ msgstr ""
+-#: c-typeck.c:4342
++#: c-typeck.c:4346
+ #, gcc-internal-format
+ msgid "ISO C forbids initialization between function pointer and %<void *%>"
+ msgstr ""
+-#: c-typeck.c:4344
++#: c-typeck.c:4348
+ #, gcc-internal-format
+ msgid "ISO C forbids return between function pointer and %<void *%>"
+ msgstr ""
+-#: c-typeck.c:4375
++#: c-typeck.c:4379
+ #, gcc-internal-format
+ msgid "pointer targets in passing argument %d of %qE differ in signedness"
+ msgstr ""
+-#: c-typeck.c:4377
++#: c-typeck.c:4381
+ #, gcc-internal-format
+ msgid "pointer targets in assignment differ in signedness"
+ msgstr ""
+-#: c-typeck.c:4379
++#: c-typeck.c:4383
+ #, gcc-internal-format
+ msgid "pointer targets in initialization differ in signedness"
+ msgstr ""
+-#: c-typeck.c:4381
++#: c-typeck.c:4385
+ #, gcc-internal-format
+ msgid "pointer targets in return differ in signedness"
+ msgstr ""
+-#: c-typeck.c:4408
++#: c-typeck.c:4412
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE from incompatible pointer type"
+ msgstr ""
+-#: c-typeck.c:4410
++#: c-typeck.c:4414
+ #, gcc-internal-format
+ msgid "assignment from incompatible pointer type"
+ msgstr ""
+-#: c-typeck.c:4411
++#: c-typeck.c:4415
+ #, gcc-internal-format
+ msgid "initialization from incompatible pointer type"
+ msgstr ""
+-#: c-typeck.c:4413
++#: c-typeck.c:4417
+ #, gcc-internal-format
+ msgid "return from incompatible pointer type"
+ msgstr ""
+-#: c-typeck.c:4431
++#: c-typeck.c:4435
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes pointer from integer without a cast"
+ msgstr ""
+-#: c-typeck.c:4433
++#: c-typeck.c:4437
+ #, gcc-internal-format
+ msgid "assignment makes pointer from integer without a cast"
+ msgstr ""
+-#: c-typeck.c:4435
++#: c-typeck.c:4439
+ #, gcc-internal-format
+ msgid "initialization makes pointer from integer without a cast"
+ msgstr ""
+-#: c-typeck.c:4437
++#: c-typeck.c:4441
+ #, gcc-internal-format
+ msgid "return makes pointer from integer without a cast"
+ msgstr ""
+-#: c-typeck.c:4445
++#: c-typeck.c:4449
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes integer from pointer without a cast"
+ msgstr ""
+-#: c-typeck.c:4447
++#: c-typeck.c:4451
+ #, gcc-internal-format
+ msgid "assignment makes integer from pointer without a cast"
+ msgstr ""
+-#: c-typeck.c:4449
++#: c-typeck.c:4453
+ #, gcc-internal-format
+ msgid "initialization makes integer from pointer without a cast"
+ msgstr ""
+-#: c-typeck.c:4451
++#: c-typeck.c:4455
+ #, gcc-internal-format
+ msgid "return makes integer from pointer without a cast"
+ msgstr ""
+-#: c-typeck.c:4467
++#: c-typeck.c:4471
+ #, gcc-internal-format
+ msgid "incompatible types when assigning to type %qT from type %qT"
+ msgstr ""
+-#: c-typeck.c:4471
++#: c-typeck.c:4475
+ #, gcc-internal-format
+ msgid "incompatible types when initializing type %qT using type %qT"
+ msgstr ""
+-#: c-typeck.c:4475
++#: c-typeck.c:4479
+ #, gcc-internal-format
+ msgid "incompatible types when returning type %qT but %qT was expected"
+ msgstr ""
+-#: c-typeck.c:4532
++#: c-typeck.c:4536
+ #, gcc-internal-format
+ msgid "traditional C rejects automatic aggregate initialization"
+ msgstr ""
+-#: c-typeck.c:4703 c-typeck.c:4719 c-typeck.c:4736
++#: c-typeck.c:4707 c-typeck.c:4723 c-typeck.c:4740
+ #, gcc-internal-format
+ msgid "(near initialization for %qs)"
+ msgstr ""
+-#: c-typeck.c:5291 cp/decl.c:5158
++#: c-typeck.c:5295 cp/decl.c:5161
+ #, gcc-internal-format
+ msgid "opaque vector types cannot be initialized"
+ msgstr ""
+-#: c-typeck.c:5916
++#: c-typeck.c:5920
+ #, gcc-internal-format
+ msgid "unknown field %qE specified in initializer"
+ msgstr ""
+-#: c-typeck.c:6836
++#: c-typeck.c:6840
+ #, gcc-internal-format
+ msgid "traditional C rejects initialization of unions"
+ msgstr ""
+-#: c-typeck.c:7147
++#: c-typeck.c:7151
+ #, gcc-internal-format
+ msgid "jump into statement expression"
+ msgstr ""
+-#: c-typeck.c:7153
++#: c-typeck.c:7157
+ #, gcc-internal-format
+ msgid "jump into scope of identifier with variably modified type"
+ msgstr ""
+-#: c-typeck.c:7189
++#: c-typeck.c:7193
+ #, gcc-internal-format
+ msgid "ISO C forbids %<goto *expr;%>"
+ msgstr ""
+-#: c-typeck.c:7204 cp/typeck.c:6820
++#: c-typeck.c:7208 cp/typeck.c:6820
+ #, gcc-internal-format
+ msgid "function declared %<noreturn%> has a %<return%> statement"
+ msgstr ""
+-#: c-typeck.c:7213
++#: c-typeck.c:7217
+ #, gcc-internal-format
+ msgid "%<return%> with no value, in function returning non-void"
+ msgstr ""
+-#: c-typeck.c:7223
++#: c-typeck.c:7227
+ #, gcc-internal-format
+ msgid "%<return%> with a value, in function returning void"
+ msgstr ""
+-#: c-typeck.c:7225
++#: c-typeck.c:7229
+ #, gcc-internal-format
+ msgid "ISO C forbids %<return%> with expression, in function returning void"
+ msgstr ""
+-#: c-typeck.c:7284
++#: c-typeck.c:7288
+ #, gcc-internal-format
+ msgid "function returns address of local variable"
+ msgstr ""
+-#: c-typeck.c:7359 cp/semantics.c:952
++#: c-typeck.c:7363 cp/semantics.c:952
+ #, gcc-internal-format
+ msgid "switch quantity not an integer"
+ msgstr ""
+-#: c-typeck.c:7371
++#: c-typeck.c:7375
+ #, gcc-internal-format
+ msgid "%<long%> switch expression not converted to %<int%> in ISO C"
+ msgstr ""
+-#: c-typeck.c:7414
++#: c-typeck.c:7418
+ #, gcc-internal-format
+ msgid ""
+ "case label in statement expression not containing enclosing switch statement"
+ msgstr ""
+-#: c-typeck.c:7417
++#: c-typeck.c:7421
+ #, gcc-internal-format
+ msgid ""
+ "%<default%> label in statement expression not containing enclosing switch "
+ "statement"
+ msgstr ""
+-#: c-typeck.c:7423
++#: c-typeck.c:7427
+ #, gcc-internal-format
+ msgid ""
+ "case label in scope of identifier with variably modified type not containing "
+ "enclosing switch statement"
+ msgstr ""
+-#: c-typeck.c:7426
++#: c-typeck.c:7430
+ #, gcc-internal-format
+ msgid ""
+ "%<default%> label in scope of identifier with variably modified type not "
+ "containing enclosing switch statement"
+ msgstr ""
+-#: c-typeck.c:7430
++#: c-typeck.c:7434
+ #, gcc-internal-format
+ msgid "case label not within a switch statement"
+ msgstr ""
+-#: c-typeck.c:7432
++#: c-typeck.c:7436
+ #, gcc-internal-format
+ msgid "%<default%> label not within a switch statement"
+ msgstr ""
+-#: c-typeck.c:7509
++#: c-typeck.c:7513
+ #, gcc-internal-format
+ msgid "%Hsuggest explicit braces to avoid ambiguous %<else%>"
+ msgstr ""
+-#: c-typeck.c:7618 cp/cp-gimplify.c:92
++#: c-typeck.c:7622 cp/cp-gimplify.c:92
+ #, gcc-internal-format
+ msgid "break statement not within loop or switch"
+ msgstr ""
+-#: c-typeck.c:7620
++#: c-typeck.c:7624
+ #, gcc-internal-format
+ msgid "continue statement not within a loop"
+ msgstr ""
+-#: c-typeck.c:7625
++#: c-typeck.c:7629
+ #, gcc-internal-format
+ msgid "break statement used with OpenMP for loop"
+ msgstr ""
+-#: c-typeck.c:7651
++#: c-typeck.c:7655
+ #, gcc-internal-format
+ msgid "%Hstatement with no effect"
+ msgstr ""
+-#: c-typeck.c:7673
++#: c-typeck.c:7677
+ #, gcc-internal-format
+ msgid "expression statement has incomplete type"
+ msgstr ""
+-#: c-typeck.c:8245 cp/typeck.c:3506
++#: c-typeck.c:8249 cp/typeck.c:3506
+ #, gcc-internal-format
+ msgid "right shift count is negative"
+ msgstr ""
+-#: c-typeck.c:8252 cp/typeck.c:3512
++#: c-typeck.c:8256 cp/typeck.c:3512
+ #, gcc-internal-format
+ msgid "right shift count >= width of type"
+ msgstr ""
+-#: c-typeck.c:8274 cp/typeck.c:3533
++#: c-typeck.c:8278 cp/typeck.c:3533
+ #, gcc-internal-format
+ msgid "left shift count is negative"
+ msgstr ""
+-#: c-typeck.c:8277 cp/typeck.c:3538
++#: c-typeck.c:8281 cp/typeck.c:3538
+ #, gcc-internal-format
+ msgid "left shift count >= width of type"
+ msgstr ""
+-#: c-typeck.c:8296 cp/typeck.c:3584
++#: c-typeck.c:8300 cp/typeck.c:3584
+ #, gcc-internal-format
+ msgid "comparing floating point with == or != is unsafe"
+ msgstr ""
+-#: c-typeck.c:8320 c-typeck.c:8327
++#: c-typeck.c:8324 c-typeck.c:8331
+ #, gcc-internal-format
+ msgid "ISO C forbids comparison of %<void *%> with function pointer"
+ msgstr ""
+-#: c-typeck.c:8334 c-typeck.c:8396
++#: c-typeck.c:8338 c-typeck.c:8400
+ #, gcc-internal-format
+ msgid "comparison of distinct pointer types lacks a cast"
+ msgstr ""
+-#: c-typeck.c:8344 c-typeck.c:8353 cp/typeck.c:3607 cp/typeck.c:3619
++#: c-typeck.c:8348 c-typeck.c:8357 cp/typeck.c:3607 cp/typeck.c:3619
+ #, gcc-internal-format
+ msgid "the address of %qD will never be NULL"
+ msgstr ""
+-#: c-typeck.c:8360 c-typeck.c:8365 c-typeck.c:8418 c-typeck.c:8423
++#: c-typeck.c:8364 c-typeck.c:8369 c-typeck.c:8422 c-typeck.c:8427
+ #, gcc-internal-format
+ msgid "comparison between pointer and integer"
+ msgstr ""
+-#: c-typeck.c:8387
++#: c-typeck.c:8391
+ #, gcc-internal-format
+ msgid "comparison of complete and incomplete pointers"
+ msgstr ""
+-#: c-typeck.c:8389
++#: c-typeck.c:8393
+ #, gcc-internal-format
+ msgid "ISO C forbids ordered comparisons of pointers to functions"
+ msgstr ""
+-#: c-typeck.c:8404 c-typeck.c:8407 c-typeck.c:8413
++#: c-typeck.c:8408 c-typeck.c:8411 c-typeck.c:8417
+ #, gcc-internal-format
+ msgid "ordered comparison of pointer with integer zero"
+ msgstr ""
+-#: c-typeck.c:8591
++#: c-typeck.c:8595
+ #, gcc-internal-format
+ msgid "used array that cannot be converted to pointer where scalar is required"
+ msgstr ""
+-#: c-typeck.c:8595
++#: c-typeck.c:8599
+ #, gcc-internal-format
+ msgid "used struct type value where scalar is required"
+ msgstr ""
+-#: c-typeck.c:8599
++#: c-typeck.c:8603
+ #, gcc-internal-format
+ msgid "used union type value where scalar is required"
+ msgstr ""
+-#: c-typeck.c:8735 cp/semantics.c:3685
++#: c-typeck.c:8739 cp/semantics.c:3687
+ #, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction%>"
+ msgstr ""
+-#: c-typeck.c:8769 cp/semantics.c:3698
++#: c-typeck.c:8773 cp/semantics.c:3700
+ #, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction(%s)%>"
+ msgstr ""
+-#: c-typeck.c:8785 cp/semantics.c:3708
++#: c-typeck.c:8789 cp/semantics.c:3710
+ #, gcc-internal-format
+ msgid "%qE must be %<threadprivate%> for %<copyin%>"
+ msgstr ""
+-#: c-typeck.c:8794 cp/semantics.c:3505
++#: c-typeck.c:8798 cp/semantics.c:3507
+ #, gcc-internal-format
+ msgid "%qE is not a variable in clause %qs"
+ msgstr ""
+-#: c-typeck.c:8801 c-typeck.c:8821 c-typeck.c:8841
++#: c-typeck.c:8805 c-typeck.c:8825 c-typeck.c:8845
+ #, gcc-internal-format
+ msgid "%qE appears more than once in data clauses"
+ msgstr ""
+-#: c-typeck.c:8815 cp/semantics.c:3528
++#: c-typeck.c:8819 cp/semantics.c:3530
+ #, gcc-internal-format
+ msgid "%qE is not a variable in clause %<firstprivate%>"
+ msgstr ""
+-#: c-typeck.c:8835 cp/semantics.c:3550
++#: c-typeck.c:8839 cp/semantics.c:3552
+ #, gcc-internal-format
+ msgid "%qE is not a variable in clause %<lastprivate%>"
+ msgstr ""
+-#: c-typeck.c:8895 cp/semantics.c:3749
++#: c-typeck.c:8899 cp/semantics.c:3751
+ #, gcc-internal-format
+ msgid "%qE is predetermined %qs for %qs"
+ msgstr ""
+@@ -23629,18 +23631,18 @@
+ "critical region may not be nested inside a critical region with the same name"
+ msgstr ""
+-#: omp-low.c:6629 cp/decl.c:2680
++#: omp-low.c:6682 cp/decl.c:2680
+ #, gcc-internal-format
+ msgid "invalid exit from OpenMP structured block"
+ msgstr ""
+-#: omp-low.c:6631 omp-low.c:6636
++#: omp-low.c:6684 omp-low.c:6689
+ #, gcc-internal-format
+ msgid "invalid entry to OpenMP structured block"
+ msgstr ""
+ #. Otherwise, be vague and lazy, but efficient.
+-#: omp-low.c:6639
++#: omp-low.c:6692
+ #, gcc-internal-format
+ msgid "invalid branch to/from an OpenMP structured block"
+ msgstr ""
+@@ -23663,142 +23665,137 @@
+ msgstr ""
+ #. Eventually this should become a hard error IMO.
+-#: opts.c:448
++#: opts.c:442
+ #, gcc-internal-format
+ msgid "command line option \"%s\" is valid for %s but not for %s"
+ msgstr ""
+-#: opts.c:479 opts.c:807
++#: opts.c:473 opts.c:769
+ #, gcc-internal-format
+ msgid "unrecognized command line option \"%s\""
+ msgstr ""
+-#: opts.c:540
++#: opts.c:534
+ #, gcc-internal-format
+ msgid "command line option %qs is not supported by this configuration"
+ msgstr ""
+-#: opts.c:593
++#: opts.c:587
+ #, gcc-internal-format
+ msgid "missing argument to \"%s\""
+ msgstr ""
+-#: opts.c:603
++#: opts.c:597
+ #, gcc-internal-format
+ msgid "argument to \"%s\" should be a non-negative integer"
+ msgstr ""
+-#: opts.c:769
++#: opts.c:993
+ #, gcc-internal-format
+-msgid "disallowed call to %qs"
+-msgstr ""
+-
+-#: opts.c:1031
+-#, gcc-internal-format
+ msgid "Section anchors must be disabled when unit-at-a-time is disabled."
+ msgstr ""
+-#: opts.c:1035
++#: opts.c:997
+ #, gcc-internal-format
+ msgid "Toplevel reorder must be disabled when unit-at-a-time is disabled."
+ msgstr ""
+-#: opts.c:1050
++#: opts.c:1012
+ #, gcc-internal-format
+ msgid "section anchors must be disabled when toplevel reorder is disabled"
+ msgstr ""
+-#: opts.c:1080
++#: opts.c:1042
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work with exceptions"
+ msgstr ""
+-#: opts.c:1091
++#: opts.c:1053
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not support unwind info"
+ msgstr ""
+-#: opts.c:1105
++#: opts.c:1067
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work on this architecture"
+ msgstr ""
+-#: opts.c:1119
++#: opts.c:1081
+ #, gcc-internal-format
+ msgid "-fira-algorithm=CB does not work on this architecture"
+ msgstr ""
+-#: opts.c:1428
++#: opts.c:1390
+ #, gcc-internal-format
+ msgid "unrecognized include_flags 0x%x passed to print_specific_help"
+ msgstr ""
+-#: opts.c:1809
++#: opts.c:1765
+ #, gcc-internal-format
+ msgid "structure alignment must be a small power of two, not %d"
+ msgstr ""
+-#: opts.c:1896
++#: opts.c:1852
+ #, gcc-internal-format
+ msgid "unrecognized visibility value \"%s\""
+ msgstr ""
+-#: opts.c:1954
++#: opts.c:1910
+ #, gcc-internal-format
+ msgid "unknown stack check parameter \"%s\""
+ msgstr ""
+-#: opts.c:1980
++#: opts.c:1936
+ #, gcc-internal-format
+ msgid "unrecognized register name \"%s\""
+ msgstr ""
+-#: opts.c:2004
++#: opts.c:1960
+ #, gcc-internal-format
+ msgid "unknown tls-model \"%s\""
+ msgstr ""
+-#: opts.c:2013
++#: opts.c:1969
+ #, gcc-internal-format
+ msgid "unknown ira algorithm \"%s\""
+ msgstr ""
+-#: opts.c:2024
++#: opts.c:1980
+ #, gcc-internal-format
+ msgid "unknown ira region \"%s\""
+ msgstr ""
+-#: opts.c:2127
++#: opts.c:2083
+ #, gcc-internal-format
+ msgid "%s: --param arguments should be of the form NAME=VALUE"
+ msgstr ""
+-#: opts.c:2132
++#: opts.c:2088
+ #, gcc-internal-format
+ msgid "invalid --param value %qs"
+ msgstr ""
+-#: opts.c:2250
++#: opts.c:2206
+ #, gcc-internal-format
+ msgid "target system does not support debug output"
+ msgstr ""
+-#: opts.c:2257
++#: opts.c:2213
+ #, gcc-internal-format
+ msgid "debug format \"%s\" conflicts with prior selection"
+ msgstr ""
+-#: opts.c:2273
++#: opts.c:2229
+ #, gcc-internal-format
+ msgid "unrecognised debug output level \"%s\""
+ msgstr ""
+-#: opts.c:2275
++#: opts.c:2231
+ #, gcc-internal-format
+ msgid "debug output level %s is too high"
+ msgstr ""
+-#: opts.c:2357
++#: opts.c:2313
+ #, gcc-internal-format
+ msgid "-Werror=%s: No option -%s"
+ msgstr ""
+@@ -25319,9 +25316,9 @@
+ msgstr ""
+ #: tree.c:4076 tree.c:4088 tree.c:4098 config/darwin.c:1437
+-#: config/arm/arm.c:3294 config/arm/arm.c:3322 config/avr/avr.c:4791
++#: config/arm/arm.c:3294 config/arm/arm.c:3322 config/avr/avr.c:4804
+ #: config/h8300/h8300.c:5283 config/h8300/h8300.c:5307 config/i386/i386.c:4179
+-#: config/i386/i386.c:26410 config/ia64/ia64.c:621
++#: config/i386/i386.c:26447 config/ia64/ia64.c:621
+ #: config/m68hc11/m68hc11.c:1118 config/rs6000/rs6000.c:20739
+ #: config/sh/symbian.c:408 config/sh/symbian.c:415
+ #, gcc-internal-format
+@@ -25768,7 +25765,7 @@
+ #. coalesced sections.  Weak aliases (or any other kind of aliases) are
+ #. not supported.  Weak symbols that aren't visible outside the .s file
+ #. are not supported.
+-#: config/darwin.h:452
++#: config/darwin.h:456
+ #, gcc-internal-format
+ msgid "alias definitions not supported in Mach-O; ignored"
+ msgstr ""
+@@ -26020,9 +26017,9 @@
+ msgid "unable to use '%s' for PIC register"
+ msgstr ""
+-#: config/arm/arm.c:3262 config/arm/arm.c:3280 config/avr/avr.c:4811
+-#: config/avr/avr.c:4827 config/bfin/bfin.c:5228 config/h8300/h8300.c:5259
+-#: config/i386/i386.c:4141 config/i386/i386.c:26355
++#: config/arm/arm.c:3262 config/arm/arm.c:3280 config/avr/avr.c:4824
++#: config/avr/avr.c:4840 config/bfin/bfin.c:5228 config/h8300/h8300.c:5259
++#: config/i386/i386.c:4141 config/i386/i386.c:26392
+ #: config/m68hc11/m68hc11.c:1155 config/m68k/m68k.c:783
+ #: config/mcore/mcore.c:3034 config/mips/mips.c:1223 config/mips/mips.c:1225
+ #: config/rs6000/rs6000.c:20665 config/sh/sh.c:8129 config/sh/sh.c:8147
+@@ -26079,27 +26076,42 @@
+ msgid "static variable %q+D is marked dllimport"
+ msgstr ""
+-#: config/avr/avr.c:4613
++#: config/avr/avr.c:399
+ #, gcc-internal-format
++msgid "the -mno-tablejump switch is deprecated"
++msgstr ""
++
++#: config/avr/avr.c:400
++#, gcc-internal-format
++msgid "GCC 4.4 is the last release with this switch"
++msgstr ""
++
++#: config/avr/avr.c:401
++#, gcc-internal-format
++msgid "use the -fno-jump-tables switch instead"
++msgstr ""
++
++#: config/avr/avr.c:4626
++#, gcc-internal-format
+ msgid "%qs appears to be a misspelled interrupt handler"
+ msgstr ""
+-#: config/avr/avr.c:4622
++#: config/avr/avr.c:4635
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled signal handler"
+ msgstr ""
+-#: config/avr/avr.c:4784
++#: config/avr/avr.c:4797
+ #, gcc-internal-format
+ msgid "only initialized variables can be placed into program memory area"
+ msgstr ""
+-#: config/avr/avr.c:4918
++#: config/avr/avr.c:4931
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in the .noinit section"
+ msgstr ""
+-#: config/avr/avr.c:4932
++#: config/avr/avr.c:4945
+ #, gcc-internal-format
+ msgid "MCU %qs supported for assembler only"
+ msgstr ""
+@@ -26649,127 +26661,139 @@
+ msgid "AVX vector argument without AVX enabled changes the ABI"
+ msgstr ""
+-#: config/i386/i386.c:5039
++#: config/i386/i386.c:4942
+ #, gcc-internal-format
++msgid ""
++"The ABI of passing struct with a flexible array member has changed in GCC 4.4"
++msgstr ""
++
++#: config/i386/i386.c:5061
++#, gcc-internal-format
+ msgid "The ABI of passing union with long double has changed in GCC 4.4"
+ msgstr ""
+-#: config/i386/i386.c:5284
++#: config/i386/i386.c:5176
+ #, gcc-internal-format
++msgid ""
++"The ABI of passing structure with complex float member has changed in GCC 4.4"
++msgstr ""
++
++#: config/i386/i386.c:5321
++#, gcc-internal-format
+ msgid "SSE register return with SSE disabled"
+ msgstr ""
+-#: config/i386/i386.c:5290
++#: config/i386/i386.c:5327
+ #, gcc-internal-format
+ msgid "SSE register argument with SSE disabled"
+ msgstr ""
+-#: config/i386/i386.c:5306
++#: config/i386/i386.c:5343
+ #, gcc-internal-format
+ msgid "x87 register return with x87 disabled"
+ msgstr ""
+-#: config/i386/i386.c:5672
++#: config/i386/i386.c:5709
+ #, gcc-internal-format
+ msgid "SSE vector argument without SSE enabled changes the ABI"
+ msgstr ""
+-#: config/i386/i386.c:5709
++#: config/i386/i386.c:5746
+ #, gcc-internal-format
+ msgid "MMX vector argument without MMX enabled changes the ABI"
+ msgstr ""
+-#: config/i386/i386.c:6310
++#: config/i386/i386.c:6347
+ #, gcc-internal-format
+ msgid "SSE vector return without SSE enabled changes the ABI"
+ msgstr ""
+-#: config/i386/i386.c:6320
++#: config/i386/i386.c:6357
+ #, gcc-internal-format
+ msgid "MMX vector return without MMX enabled changes the ABI"
+ msgstr ""
+-#: config/i386/i386.c:10587
++#: config/i386/i386.c:10624
+ #, gcc-internal-format
+ msgid "extended registers have no high halves"
+ msgstr ""
+-#: config/i386/i386.c:10602
++#: config/i386/i386.c:10639
+ #, gcc-internal-format
+ msgid "unsupported operand size for extended register"
+ msgstr ""
+-#: config/i386/i386.c:23572
++#: config/i386/i386.c:23609
+ #, gcc-internal-format
+ msgid "last argument must be an immediate"
+ msgstr ""
+-#: config/i386/i386.c:23865
++#: config/i386/i386.c:23902
+ #, gcc-internal-format
+ msgid "the fifth argument must be a 8-bit immediate"
+ msgstr ""
+-#: config/i386/i386.c:23960
++#: config/i386/i386.c:23997
+ #, gcc-internal-format
+ msgid "the third argument must be a 8-bit immediate"
+ msgstr ""
+-#: config/i386/i386.c:24300
++#: config/i386/i386.c:24337
+ #, gcc-internal-format
+ msgid "the last argument must be a 4-bit immediate"
+ msgstr ""
+-#: config/i386/i386.c:24305
++#: config/i386/i386.c:24342
+ #, gcc-internal-format
+ msgid "the last argument must be a 2-bit immediate"
+ msgstr ""
+-#: config/i386/i386.c:24314
++#: config/i386/i386.c:24351
+ #, gcc-internal-format
+ msgid "the last argument must be a 1-bit immediate"
+ msgstr ""
+-#: config/i386/i386.c:24323
++#: config/i386/i386.c:24360
+ #, gcc-internal-format
+ msgid "the last argument must be a 5-bit immediate"
+ msgstr ""
+-#: config/i386/i386.c:24332
++#: config/i386/i386.c:24369
+ #, gcc-internal-format
+ msgid "the next to last argument must be an 8-bit immediate"
+ msgstr ""
+-#: config/i386/i386.c:24336 config/i386/i386.c:24514
++#: config/i386/i386.c:24373 config/i386/i386.c:24551
+ #, gcc-internal-format
+ msgid "the last argument must be an 8-bit immediate"
+ msgstr ""
+-#: config/i386/i386.c:24572 config/rs6000/rs6000.c:8540
++#: config/i386/i386.c:24609 config/rs6000/rs6000.c:8540
+ #, gcc-internal-format
+ msgid "selector must be an integer constant in the range 0..%wi"
+ msgstr ""
+-#: config/i386/i386.c:24715
++#: config/i386/i386.c:24752
+ #, gcc-internal-format
+ msgid "%qE needs unknown isa option"
+ msgstr ""
+-#: config/i386/i386.c:24719
++#: config/i386/i386.c:24756
+ #, gcc-internal-format
+ msgid "%qE needs isa option %s"
+ msgstr ""
+-#: config/i386/i386.c:26362
++#: config/i386/i386.c:26399
+ #, gcc-internal-format
+ msgid "%qs attribute only available for 64-bit"
+ msgstr ""
+-#: config/i386/i386.c:26373 config/i386/i386.c:26382
++#: config/i386/i386.c:26410 config/i386/i386.c:26419
+ #, gcc-internal-format
+ msgid "ms_abi and sysv_abi attributes are not compatible"
+ msgstr ""
+-#: config/i386/i386.c:26420 config/rs6000/rs6000.c:20748
++#: config/i386/i386.c:26457 config/rs6000/rs6000.c:20748
+ #, gcc-internal-format
+ msgid "%qs incompatible attribute ignored"
+ msgstr ""
+@@ -26857,22 +26881,32 @@
+ msgid "%s-%s is an empty range"
+ msgstr ""
+-#: config/ia64/ia64.c:5223
++#: config/ia64/ia64.c:5225
+ #, gcc-internal-format
+ msgid "bad value %<%s%> for -mtls-size= switch"
+ msgstr ""
+-#: config/ia64/ia64.c:5251
++#: config/ia64/ia64.c:5254
+ #, gcc-internal-format
++msgid "value %<%s%> for -mtune= switch is deprecated"
++msgstr ""
++
++#: config/ia64/ia64.c:5256
++#, gcc-internal-format
++msgid "GCC 4.4 is the last release with Itanium1 tuning support"
++msgstr ""
++
++#: config/ia64/ia64.c:5263
++#, gcc-internal-format
+ msgid "bad value %<%s%> for -mtune= switch"
+ msgstr ""
+-#: config/ia64/ia64.c:5270
++#: config/ia64/ia64.c:5282
+ #, gcc-internal-format
+ msgid "not yet implemented: latency-optimized inline square root"
+ msgstr ""
+-#: config/ia64/ia64.c:10535
++#: config/ia64/ia64.c:10547
+ #, gcc-internal-format
+ msgid "version attribute is not a string"
+ msgstr ""
+@@ -27373,37 +27407,37 @@
+ msgid "junk at end of #pragma longcall"
+ msgstr ""
+-#: config/rs6000/rs6000-c.c:2989
++#: config/rs6000/rs6000-c.c:3001
+ #, gcc-internal-format
+ msgid "%s only accepts %d arguments"
+ msgstr ""
+-#: config/rs6000/rs6000-c.c:2994
++#: config/rs6000/rs6000-c.c:3006
+ #, gcc-internal-format
+ msgid "%s only accepts 1 argument"
+ msgstr ""
+-#: config/rs6000/rs6000-c.c:2999 config/rs6000/rs6000-c.c:3006
++#: config/rs6000/rs6000-c.c:3011 config/rs6000/rs6000-c.c:3018
+ #, gcc-internal-format
+ msgid "%s only accepts 2 arguments"
+ msgstr ""
+-#: config/rs6000/rs6000-c.c:3067
++#: config/rs6000/rs6000-c.c:3079
+ #, gcc-internal-format
+ msgid "vec_extract only accepts 2 arguments"
+ msgstr ""
+-#: config/rs6000/rs6000-c.c:3124
++#: config/rs6000/rs6000-c.c:3136
+ #, gcc-internal-format
+ msgid "vec_insert only accepts 3 arguments"
+ msgstr ""
+-#: config/rs6000/rs6000-c.c:3206
++#: config/rs6000/rs6000-c.c:3218
+ #, gcc-internal-format
+ msgid "passing arg %d of %qE discards qualifiers frompointer target type"
+ msgstr ""
+-#: config/rs6000/rs6000-c.c:3249
++#: config/rs6000/rs6000-c.c:3261
+ #, gcc-internal-format
+ msgid "invalid parameter combination for AltiVec intrinsic"
+ msgstr ""
+@@ -27714,7 +27748,7 @@
+ msgid "-m64 not supported in this configuration"
+ msgstr ""
+-#: config/rs6000/linux64.h:108
++#: config/rs6000/linux64.h:113
+ #, gcc-internal-format
+ msgid "-m64 requires a PowerPC64 cpu"
+ msgstr ""
+@@ -27731,7 +27765,7 @@
+ #. Number of bytes into the frame return addresses can be found.  See
+ #. rs6000_stack_info in rs6000.c for more information on how the different
+ #. abi's store the return address.
+-#: config/rs6000/rs6000.h:1643
++#: config/rs6000/rs6000.h:1648
+ #, gcc-internal-format
+ msgid "RETURN_ADDRESS_OFFSET not supported"
+ msgstr ""
+@@ -27744,57 +27778,57 @@
+ #.
+ #. The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
+ #. get control.
+-#: config/rs6000/sysv4.h:129
++#: config/rs6000/sysv4.h:134
+ #, gcc-internal-format
+ msgid "bad value for -mcall-%s"
+ msgstr ""
+-#: config/rs6000/sysv4.h:145
++#: config/rs6000/sysv4.h:150
+ #, gcc-internal-format
+ msgid "bad value for -msdata=%s"
+ msgstr ""
+-#: config/rs6000/sysv4.h:162
++#: config/rs6000/sysv4.h:167
+ #, gcc-internal-format
+ msgid "-mrelocatable and -msdata=%s are incompatible"
+ msgstr ""
+-#: config/rs6000/sysv4.h:171
++#: config/rs6000/sysv4.h:176
+ #, gcc-internal-format
+ msgid "-f%s and -msdata=%s are incompatible"
+ msgstr ""
+-#: config/rs6000/sysv4.h:180
++#: config/rs6000/sysv4.h:185
+ #, gcc-internal-format
+ msgid "-msdata=%s and -mcall-%s are incompatible"
+ msgstr ""
+-#: config/rs6000/sysv4.h:189
++#: config/rs6000/sysv4.h:194
+ #, gcc-internal-format
+ msgid "-mrelocatable and -mno-minimal-toc are incompatible"
+ msgstr ""
+-#: config/rs6000/sysv4.h:195
++#: config/rs6000/sysv4.h:200
+ #, gcc-internal-format
+ msgid "-mrelocatable and -mcall-%s are incompatible"
+ msgstr ""
+-#: config/rs6000/sysv4.h:202
++#: config/rs6000/sysv4.h:207
+ #, gcc-internal-format
+ msgid "-fPIC and -mcall-%s are incompatible"
+ msgstr ""
+-#: config/rs6000/sysv4.h:209
++#: config/rs6000/sysv4.h:214
+ #, gcc-internal-format
+ msgid "-mcall-aixdesc must be big endian"
+ msgstr ""
+-#: config/rs6000/sysv4.h:214
++#: config/rs6000/sysv4.h:219
+ #, gcc-internal-format
+ msgid "-msecure-plt not supported by your assembler"
+ msgstr ""
+-#: config/rs6000/sysv4.h:232
++#: config/rs6000/sysv4.h:237
+ #, gcc-internal-format
+ msgid "-m%s not supported in this configuration"
+ msgstr ""
+@@ -27966,7 +28000,7 @@
+ msgid "%s %q+D %s after being referenced with dllimport linkage"
+ msgstr ""
+-#: config/sh/symbian.c:891 cp/tree.c:2843
++#: config/sh/symbian.c:891 cp/tree.c:2842
+ #, gcc-internal-format
+ msgid "lang_* check: failed in %s, at %s:%d"
+ msgstr ""
+@@ -28493,76 +28527,91 @@
+ msgid "%qT is not an accessible base of %qT"
+ msgstr ""
+-#: cp/call.c:5522
++#: cp/call.c:5538
+ #, gcc-internal-format
+ msgid "could not find class$ field in java interface type %qT"
+ msgstr ""
+-#: cp/call.c:5765
++#: cp/call.c:5781
+ #, gcc-internal-format
+ msgid "call to non-function %qD"
+ msgstr ""
+-#: cp/call.c:5904
++#: cp/call.c:5920
+ #, gcc-internal-format
+ msgid "no matching function for call to %<%T::%s(%A)%#V%>"
+ msgstr ""
+-#: cp/call.c:5925
++#: cp/call.c:5941
+ #, gcc-internal-format
+ msgid "call of overloaded %<%s(%A)%> is ambiguous"
+ msgstr ""
+-#: cp/call.c:5954
++#: cp/call.c:5970
+ #, gcc-internal-format
+ msgid "cannot call member function %qD without object"
+ msgstr ""
+-#: cp/call.c:6642
++#: cp/call.c:6658
+ #, gcc-internal-format
+ msgid "passing %qT chooses %qT over %qT"
+ msgstr ""
+-#: cp/call.c:6644 cp/name-lookup.c:4468 cp/name-lookup.c:4913
++#: cp/call.c:6660 cp/name-lookup.c:4469 cp/name-lookup.c:4914
+ #, gcc-internal-format
+ msgid "  in call to %qD"
+ msgstr ""
+-#: cp/call.c:6701
++#: cp/call.c:6717
+ #, gcc-internal-format
+ msgid "choosing %qD over %qD"
+ msgstr ""
+-#: cp/call.c:6702
++#: cp/call.c:6718
+ #, gcc-internal-format
+ msgid "  for conversion from %qT to %qT"
+ msgstr ""
+-#: cp/call.c:6705
++#: cp/call.c:6721
+ #, gcc-internal-format
+ msgid "  because conversion sequence for the argument is better"
+ msgstr ""
+-#: cp/call.c:6821
++#: cp/call.c:6839
+ #, gcc-internal-format
++msgid "default argument mismatch in overload resolution"
++msgstr ""
++
++#: cp/call.c:6842
++#, gcc-internal-format
++msgid " candidate 1: %q+#F"
++msgstr ""
++
++#: cp/call.c:6844
++#, gcc-internal-format
++msgid " candidate 2: %q+#F"
++msgstr ""
++
++#: cp/call.c:6882
++#, gcc-internal-format
+ msgid ""
+ "ISO C++ says that these are ambiguous, even though the worst conversion for "
+ "the first is better than the worst conversion for the second:"
+ msgstr ""
+-#: cp/call.c:6965
++#: cp/call.c:7026
+ #, gcc-internal-format
+ msgid "could not convert %qE to %qT"
+ msgstr ""
+-#: cp/call.c:7171
++#: cp/call.c:7232
+ #, gcc-internal-format
+ msgid ""
+ "invalid initialization of non-const reference of type %qT from a temporary "
+ "of type %qT"
+ msgstr ""
+-#: cp/call.c:7175
++#: cp/call.c:7236
+ #, gcc-internal-format
+ msgid ""
+ "invalid initialization of reference of type %qT from expression of type %qT"
+@@ -28903,27 +28952,27 @@
+ msgid "no matches converting function %qD to type %q#T"
+ msgstr ""
+-#: cp/class.c:6161
++#: cp/class.c:6168
+ #, gcc-internal-format
+ msgid "converting overloaded function %qD to type %q#T is ambiguous"
+ msgstr ""
+-#: cp/class.c:6187
++#: cp/class.c:6195
+ #, gcc-internal-format
+ msgid "assuming pointer to member %qD"
+ msgstr ""
+-#: cp/class.c:6190
++#: cp/class.c:6198
+ #, gcc-internal-format
+ msgid "(a pointer to member can only be formed with %<&%E%>)"
+ msgstr ""
+-#: cp/class.c:6252 cp/class.c:6286
++#: cp/class.c:6260 cp/class.c:6294
+ #, gcc-internal-format
+ msgid "not enough type information"
+ msgstr ""
+-#: cp/class.c:6269
++#: cp/class.c:6277
+ #, gcc-internal-format
+ msgid "argument of type %qT does not match %qT"
+ msgstr ""
+@@ -28933,12 +28982,12 @@
+ #. A name N used in a class S shall refer to the same declaration
+ #. in its context and when re-evaluated in the completed scope of
+ #. S.
+-#: cp/class.c:6587 cp/decl.c:1193 cp/name-lookup.c:526
++#: cp/class.c:6595 cp/decl.c:1193 cp/name-lookup.c:526
+ #, gcc-internal-format
+ msgid "declaration of %q#D"
+ msgstr ""
+-#: cp/class.c:6588
++#: cp/class.c:6596
+ #, gcc-internal-format
+ msgid "changes meaning of %qD from %q+#D"
+ msgstr ""
+@@ -29473,117 +29522,117 @@
+ msgid "attribute for %q+#T must follow the %qs keyword"
+ msgstr ""
+-#: cp/decl.c:3980
++#: cp/decl.c:3983
+ #, gcc-internal-format
+ msgid "ignoring attributes applied to class type %qT outside of definition"
+ msgstr ""
+ #. A template type parameter or other dependent type.
+-#: cp/decl.c:3984
++#: cp/decl.c:3987
+ #, gcc-internal-format
+ msgid ""
+ "ignoring attributes applied to dependent type %qT without an associated "
+ "declaration"
+ msgstr ""
+-#: cp/decl.c:4060
++#: cp/decl.c:4063
+ #, gcc-internal-format
+ msgid "typedef %qD is initialized (use decltype instead)"
+ msgstr ""
+-#: cp/decl.c:4078
++#: cp/decl.c:4081
+ #, gcc-internal-format
+ msgid "declaration of %q#D has %<extern%> and is initialized"
+ msgstr ""
+-#: cp/decl.c:4103
++#: cp/decl.c:4106
+ #, gcc-internal-format
+ msgid "definition of %q#D is marked %<dllimport%>"
+ msgstr ""
+-#: cp/decl.c:4122
++#: cp/decl.c:4125
+ #, gcc-internal-format
+ msgid "%q#D is not a static member of %q#T"
+ msgstr ""
+-#: cp/decl.c:4128
++#: cp/decl.c:4131
+ #, gcc-internal-format
+ msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>"
+ msgstr ""
+-#: cp/decl.c:4137
++#: cp/decl.c:4140
+ #, gcc-internal-format
+ msgid ""
+ "template header not allowed in member definition of explicitly specialized "
+ "class"
+ msgstr ""
+-#: cp/decl.c:4145
++#: cp/decl.c:4148
+ #, gcc-internal-format
+ msgid "duplicate initialization of %qD"
+ msgstr ""
+-#: cp/decl.c:4184
++#: cp/decl.c:4187
+ #, gcc-internal-format
+ msgid "declaration of %q#D outside of class is not definition"
+ msgstr ""
+-#: cp/decl.c:4279
++#: cp/decl.c:4282
+ #, gcc-internal-format
+ msgid "variable %q#D has initializer but incomplete type"
+ msgstr ""
+-#: cp/decl.c:4285 cp/decl.c:5033
++#: cp/decl.c:4288 cp/decl.c:5036
+ #, gcc-internal-format
+ msgid "elements of array %q#D have incomplete type"
+ msgstr ""
+-#: cp/decl.c:4292 cp/decl.c:5529
++#: cp/decl.c:4295 cp/decl.c:5532
+ #, gcc-internal-format
+ msgid "declaration of %q#D has no initializer"
+ msgstr ""
+-#: cp/decl.c:4294
++#: cp/decl.c:4297
+ #, gcc-internal-format
+ msgid "aggregate %q#D has incomplete type and cannot be defined"
+ msgstr ""
+-#: cp/decl.c:4330
++#: cp/decl.c:4333
+ #, gcc-internal-format
+ msgid "%qD declared as reference but not initialized"
+ msgstr ""
+-#: cp/decl.c:4336
++#: cp/decl.c:4339
+ #, gcc-internal-format
+ msgid "ISO C++ forbids use of initializer list to initialize reference %qD"
+ msgstr ""
+-#: cp/decl.c:4362
++#: cp/decl.c:4365
+ #, gcc-internal-format
+ msgid "cannot initialize %qT from %qT"
+ msgstr ""
+-#: cp/decl.c:4423
++#: cp/decl.c:4426
+ #, gcc-internal-format
+ msgid "name used in a GNU-style designated initializer for an array"
+ msgstr ""
+-#: cp/decl.c:4428
++#: cp/decl.c:4431
+ #, gcc-internal-format
+ msgid "name %qD used in a GNU-style designated initializer for an array"
+ msgstr ""
+-#: cp/decl.c:4478
++#: cp/decl.c:4481
+ #, gcc-internal-format
+ msgid "initializer fails to determine size of %qD"
+ msgstr ""
+-#: cp/decl.c:4485
++#: cp/decl.c:4488
+ #, gcc-internal-format
+ msgid "array size missing in %qD"
+ msgstr ""
+-#: cp/decl.c:4497
++#: cp/decl.c:4500
+ #, gcc-internal-format
+ msgid "zero-size array %qD"
+ msgstr ""
+@@ -29591,273 +29640,273 @@
+ #. An automatic variable with an incomplete type: that is an error.
+ #. Don't talk about array types here, since we took care of that
+ #. message in grokdeclarator.
+-#: cp/decl.c:4540
++#: cp/decl.c:4543
+ #, gcc-internal-format
+ msgid "storage size of %qD isn't known"
+ msgstr ""
+-#: cp/decl.c:4563
++#: cp/decl.c:4566
+ #, gcc-internal-format
+ msgid "storage size of %qD isn't constant"
+ msgstr ""
+-#: cp/decl.c:4614
++#: cp/decl.c:4617
+ #, gcc-internal-format
+ msgid ""
+ "sorry: semantics of inline function static data %q+#D are wrong (you'll wind "
+ "up with multiple copies)"
+ msgstr ""
+-#: cp/decl.c:4617
++#: cp/decl.c:4620
+ #, gcc-internal-format
+ msgid "%J  you can work around this by removing the initializer"
+ msgstr ""
+-#: cp/decl.c:4644
++#: cp/decl.c:4647
+ #, gcc-internal-format
+ msgid "uninitialized const %qD"
+ msgstr ""
+-#: cp/decl.c:4756
++#: cp/decl.c:4759
+ #, gcc-internal-format
+ msgid "invalid type %qT as initializer for a vector of type %qT"
+ msgstr ""
+-#: cp/decl.c:4798
++#: cp/decl.c:4801
+ #, gcc-internal-format
+ msgid "initializer for %qT must be brace-enclosed"
+ msgstr ""
+-#: cp/decl.c:4816
++#: cp/decl.c:4819
+ #, gcc-internal-format
+ msgid "%qT has no non-static data member named %qD"
+ msgstr ""
+-#: cp/decl.c:4872
++#: cp/decl.c:4875
+ #, gcc-internal-format
+ msgid "braces around scalar initializer for type %qT"
+ msgstr ""
+-#: cp/decl.c:4958
++#: cp/decl.c:4961
+ #, gcc-internal-format
+ msgid "missing braces around initializer for %qT"
+ msgstr ""
+-#: cp/decl.c:5015 cp/typeck2.c:1087 cp/typeck2.c:1110 cp/typeck2.c:1153
++#: cp/decl.c:5018 cp/typeck2.c:1087 cp/typeck2.c:1110 cp/typeck2.c:1153
+ #, gcc-internal-format
+ msgid "too many initializers for %qT"
+ msgstr ""
+-#: cp/decl.c:5035
++#: cp/decl.c:5038
+ #, gcc-internal-format
+ msgid "elements of array %q#T have incomplete type"
+ msgstr ""
+-#: cp/decl.c:5044
++#: cp/decl.c:5047
+ #, gcc-internal-format
+ msgid "variable-sized object %qD may not be initialized"
+ msgstr ""
+-#: cp/decl.c:5046
++#: cp/decl.c:5049
+ #, gcc-internal-format
+ msgid "variable-sized compound literal"
+ msgstr ""
+-#: cp/decl.c:5100
++#: cp/decl.c:5103
+ #, gcc-internal-format
+ msgid "%qD has incomplete type"
+ msgstr ""
+-#: cp/decl.c:5120
++#: cp/decl.c:5123
+ #, gcc-internal-format
+ msgid "scalar object %qD requires one element in initializer"
+ msgstr ""
+-#: cp/decl.c:5151
++#: cp/decl.c:5154
+ #, gcc-internal-format
+ msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>"
+ msgstr ""
+-#: cp/decl.c:5183
++#: cp/decl.c:5186
+ #, gcc-internal-format
+ msgid "array %qD initialized by parenthesized string literal %qE"
+ msgstr ""
+-#: cp/decl.c:5197
++#: cp/decl.c:5200
+ #, gcc-internal-format
+ msgid "structure %qD with uninitialized const members"
+ msgstr ""
+-#: cp/decl.c:5199
++#: cp/decl.c:5202
+ #, gcc-internal-format
+ msgid "structure %qD with uninitialized reference members"
+ msgstr ""
+-#: cp/decl.c:5496
++#: cp/decl.c:5499
+ #, gcc-internal-format
+ msgid "assignment (not initialization) in declaration"
+ msgstr ""
+-#: cp/decl.c:5555 cp/decl2.c:850
++#: cp/decl.c:5558 cp/decl2.c:850
+ #, gcc-internal-format
+ msgid "%qD cannot be defaulted"
+ msgstr ""
+-#: cp/decl.c:5631
++#: cp/decl.c:5634
+ #, gcc-internal-format
+ msgid "shadowing previous type declaration of %q#D"
+ msgstr ""
+-#: cp/decl.c:5661
++#: cp/decl.c:5664
+ #, gcc-internal-format
+ msgid "%qD cannot be thread-local because it has non-POD type %qT"
+ msgstr ""
+-#: cp/decl.c:5693
++#: cp/decl.c:5696
+ #, gcc-internal-format
+ msgid "Java object %qD not allocated with %<new%>"
+ msgstr ""
+-#: cp/decl.c:5710
++#: cp/decl.c:5713
+ #, gcc-internal-format
+ msgid "%qD is thread-local and so cannot be dynamically initialized"
+ msgstr ""
+-#: cp/decl.c:5728
++#: cp/decl.c:5731
+ #, gcc-internal-format
+ msgid ""
+ "%qD cannot be initialized by a non-constant expression when being declared"
+ msgstr ""
+-#: cp/decl.c:5768
++#: cp/decl.c:5771
+ #, gcc-internal-format
+ msgid "non-static data member %qD has Java class type"
+ msgstr ""
+-#: cp/decl.c:5832
++#: cp/decl.c:5835
+ #, gcc-internal-format
+ msgid "function %q#D is initialized like a variable"
+ msgstr ""
+-#: cp/decl.c:6420
++#: cp/decl.c:6423
+ #, gcc-internal-format
+ msgid "destructor for alien class %qT cannot be a member"
+ msgstr ""
+-#: cp/decl.c:6422
++#: cp/decl.c:6425
+ #, gcc-internal-format
+ msgid "constructor for alien class %qT cannot be a member"
+ msgstr ""
+-#: cp/decl.c:6443
++#: cp/decl.c:6446
+ #, gcc-internal-format
+ msgid "%qD declared as a %<virtual%> %s"
+ msgstr ""
+-#: cp/decl.c:6445
++#: cp/decl.c:6448
+ #, gcc-internal-format
+ msgid "%qD declared as an %<inline%> %s"
+ msgstr ""
+-#: cp/decl.c:6447
++#: cp/decl.c:6450
+ #, gcc-internal-format
+ msgid ""
+ "%<const%> and %<volatile%> function specifiers on %qD invalid in %s "
+ "declaration"
+ msgstr ""
+-#: cp/decl.c:6451
++#: cp/decl.c:6454
+ #, gcc-internal-format
+ msgid "%q+D declared as a friend"
+ msgstr ""
+-#: cp/decl.c:6457
++#: cp/decl.c:6460
+ #, gcc-internal-format
+ msgid "%q+D declared with an exception specification"
+ msgstr ""
+-#: cp/decl.c:6491
++#: cp/decl.c:6494
+ #, gcc-internal-format
+ msgid "definition of %qD is not in namespace enclosing %qT"
+ msgstr ""
+-#: cp/decl.c:6611
++#: cp/decl.c:6614
+ #, gcc-internal-format
+ msgid "defining explicit specialization %qD in friend declaration"
+ msgstr ""
+ #. Something like `template <class T> friend void f<T>()'.
+-#: cp/decl.c:6621
++#: cp/decl.c:6624
+ #, gcc-internal-format
+ msgid "invalid use of template-id %qD in declaration of primary template"
+ msgstr ""
+-#: cp/decl.c:6651
++#: cp/decl.c:6654
+ #, gcc-internal-format
+ msgid ""
+ "default arguments are not allowed in declaration of friend template "
+ "specialization %qD"
+ msgstr ""
+-#: cp/decl.c:6659
++#: cp/decl.c:6662
+ #, gcc-internal-format
+ msgid ""
+ "%<inline%> is not allowed in declaration of friend template specialization %"
+ "qD"
+ msgstr ""
+-#: cp/decl.c:6702
++#: cp/decl.c:6705
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be a template"
+ msgstr ""
+-#: cp/decl.c:6704
++#: cp/decl.c:6707
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be inline"
+ msgstr ""
+-#: cp/decl.c:6706
++#: cp/decl.c:6709
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be static"
+ msgstr ""
+-#: cp/decl.c:6734
++#: cp/decl.c:6737
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses anonymous type"
+ msgstr ""
+-#: cp/decl.c:6737 cp/decl.c:7013
++#: cp/decl.c:6740 cp/decl.c:7016
+ #, gcc-internal-format
+ msgid ""
+ "%q+#D does not refer to the unqualified type, so it is not used for linkage"
+ msgstr ""
+-#: cp/decl.c:6743
++#: cp/decl.c:6746
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses local type %qT"
+ msgstr ""
+-#: cp/decl.c:6762
++#: cp/decl.c:6765
+ #, gcc-internal-format
+ msgid "static member function %qD cannot have cv-qualifier"
+ msgstr ""
+-#: cp/decl.c:6763
++#: cp/decl.c:6766
+ #, gcc-internal-format
+ msgid "non-member function %qD cannot have cv-qualifier"
+ msgstr ""
+-#: cp/decl.c:6811
++#: cp/decl.c:6814
+ #, gcc-internal-format
+ msgid "%<::main%> must return %<int%>"
+ msgstr ""
+-#: cp/decl.c:6851
++#: cp/decl.c:6854
+ #, gcc-internal-format
+ msgid "definition of implicitly-declared %qD"
+ msgstr ""
+-#: cp/decl.c:6868 cp/decl2.c:685
++#: cp/decl.c:6871 cp/decl2.c:685
+ #, gcc-internal-format
+ msgid "no %q#D member function declared in class %qT"
+ msgstr ""
+@@ -29866,589 +29915,594 @@
+ #. no linkage can only be used to declare extern "C"
+ #. entities.  Since it's not always an error in the
+ #. ISO C++ 90 Standard, we only issue a warning.
+-#: cp/decl.c:7010
++#: cp/decl.c:7013
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses anonymous type"
+ msgstr ""
+-#: cp/decl.c:7019
++#: cp/decl.c:7022
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses local type %qT"
+ msgstr ""
+-#: cp/decl.c:7142
++#: cp/decl.c:7145
+ #, gcc-internal-format
+ msgid ""
+ "invalid in-class initialization of static data member of non-integral type %"
+ "qT"
+ msgstr ""
+-#: cp/decl.c:7152
++#: cp/decl.c:7155
+ #, gcc-internal-format
+ msgid "ISO C++ forbids in-class initialization of non-const static member %qD"
+ msgstr ""
+-#: cp/decl.c:7156
++#: cp/decl.c:7159
+ #, gcc-internal-format
+ msgid ""
+ "ISO C++ forbids initialization of member constant %qD of non-integral type %"
+ "qT"
+ msgstr ""
+-#: cp/decl.c:7181
++#: cp/decl.c:7184
+ #, gcc-internal-format
+ msgid "size of array %qD has non-integral type %qT"
+ msgstr ""
+-#: cp/decl.c:7183
++#: cp/decl.c:7186
+ #, gcc-internal-format
+ msgid "size of array has non-integral type %qT"
+ msgstr ""
+-#: cp/decl.c:7235
++#: cp/decl.c:7238
+ #, gcc-internal-format
+ msgid "size of array %qD is negative"
+ msgstr ""
+-#: cp/decl.c:7237
++#: cp/decl.c:7240
+ #, gcc-internal-format
+ msgid "size of array is negative"
+ msgstr ""
+-#: cp/decl.c:7245
++#: cp/decl.c:7248
+ #, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array %qD"
+ msgstr ""
+-#: cp/decl.c:7247
++#: cp/decl.c:7250
+ #, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array"
+ msgstr ""
+-#: cp/decl.c:7254
++#: cp/decl.c:7257
+ #, gcc-internal-format
+ msgid "size of array %qD is not an integral constant-expression"
+ msgstr ""
+-#: cp/decl.c:7257
++#: cp/decl.c:7260
+ #, gcc-internal-format
+ msgid "size of array is not an integral constant-expression"
+ msgstr ""
+-#: cp/decl.c:7263
++#: cp/decl.c:7266
+ #, gcc-internal-format
+ msgid "ISO C++ forbids variable length array %qD"
+ msgstr ""
+-#: cp/decl.c:7265
++#: cp/decl.c:7268
+ #, gcc-internal-format
+ msgid "ISO C++ forbids variable length array"
+ msgstr ""
+-#: cp/decl.c:7271
++#: cp/decl.c:7274
+ #, gcc-internal-format
+ msgid "variable length array %qD is used"
+ msgstr ""
+-#: cp/decl.c:7307
++#: cp/decl.c:7310
+ #, gcc-internal-format
+ msgid "overflow in array dimension"
+ msgstr ""
+-#: cp/decl.c:7388
++#: cp/decl.c:7391
+ #, gcc-internal-format
+ msgid "declaration of %qD as %s"
+ msgstr ""
+-#: cp/decl.c:7390
++#: cp/decl.c:7393
+ #, gcc-internal-format
+ msgid "creating %s"
+ msgstr ""
+-#: cp/decl.c:7402
++#: cp/decl.c:7405
+ #, gcc-internal-format
+ msgid ""
+ "declaration of %qD as multidimensional array must have bounds for all "
+ "dimensions except the first"
+ msgstr ""
+-#: cp/decl.c:7406
++#: cp/decl.c:7409
+ #, gcc-internal-format
+ msgid ""
+ "multidimensional array must have bounds for all dimensions except the first"
+ msgstr ""
+-#: cp/decl.c:7441
++#: cp/decl.c:7444
+ #, gcc-internal-format
+ msgid "return type specification for constructor invalid"
+ msgstr ""
+-#: cp/decl.c:7451
++#: cp/decl.c:7454
+ #, gcc-internal-format
+ msgid "return type specification for destructor invalid"
+ msgstr ""
+-#: cp/decl.c:7464
++#: cp/decl.c:7467
+ #, gcc-internal-format
+ msgid "return type specified for %<operator %T%>"
+ msgstr ""
+-#: cp/decl.c:7486
++#: cp/decl.c:7489
+ #, gcc-internal-format
+ msgid "unnamed variable or field declared void"
+ msgstr ""
+-#: cp/decl.c:7490
++#: cp/decl.c:7493
+ #, gcc-internal-format
+ msgid "variable or field %qE declared void"
+ msgstr ""
+-#: cp/decl.c:7493
++#: cp/decl.c:7496
+ #, gcc-internal-format
+ msgid "variable or field declared void"
+ msgstr ""
+-#: cp/decl.c:7663
++#: cp/decl.c:7669
+ #, gcc-internal-format
+ msgid "invalid use of qualified-name %<::%D%>"
+ msgstr ""
+-#: cp/decl.c:7666
++#: cp/decl.c:7672
+ #, gcc-internal-format
+ msgid "invalid use of qualified-name %<%T::%D%>"
+ msgstr ""
+-#: cp/decl.c:7669
++#: cp/decl.c:7675
+ #, gcc-internal-format
+ msgid "invalid use of qualified-name %<%D::%D%>"
+ msgstr ""
+-#: cp/decl.c:7681
++#: cp/decl.c:7687
+ #, gcc-internal-format
+ msgid "type %qT is not derived from type %qT"
+ msgstr ""
+-#: cp/decl.c:7697 cp/decl.c:7789 cp/decl.c:8979
++#: cp/decl.c:7703 cp/decl.c:7795 cp/decl.c:8993
+ #, gcc-internal-format
+ msgid "declaration of %qD as non-function"
+ msgstr ""
+-#: cp/decl.c:7703
++#: cp/decl.c:7709
+ #, gcc-internal-format
+ msgid "declaration of %qD as non-member"
+ msgstr ""
+-#: cp/decl.c:7734
++#: cp/decl.c:7740
+ #, gcc-internal-format
+ msgid "declarator-id missing; using reserved word %qD"
+ msgstr ""
+-#: cp/decl.c:7781
++#: cp/decl.c:7787
+ #, gcc-internal-format
+ msgid "function definition does not declare parameters"
+ msgstr ""
+-#: cp/decl.c:7823
++#: cp/decl.c:7829
+ #, gcc-internal-format
+ msgid "two or more data types in declaration of %qs"
+ msgstr ""
+-#: cp/decl.c:7829
++#: cp/decl.c:7835
+ #, gcc-internal-format
+ msgid "conflicting specifiers in declaration of %qs"
+ msgstr ""
+-#: cp/decl.c:7900 cp/decl.c:7903 cp/decl.c:7906
++#: cp/decl.c:7906 cp/decl.c:7909 cp/decl.c:7912
+ #, gcc-internal-format
+ msgid "ISO C++ forbids declaration of %qs with no type"
+ msgstr ""
+-#: cp/decl.c:7931 cp/decl.c:7949
++#: cp/decl.c:7937 cp/decl.c:7955
+ #, gcc-internal-format
+ msgid "%<signed%> or %<unsigned%> invalid for %qs"
+ msgstr ""
+-#: cp/decl.c:7933
++#: cp/decl.c:7939
+ #, gcc-internal-format
+ msgid "%<signed%> and %<unsigned%> specified together for %qs"
+ msgstr ""
+-#: cp/decl.c:7935
++#: cp/decl.c:7941
+ #, gcc-internal-format
+ msgid "%<long long%> invalid for %qs"
+ msgstr ""
+-#: cp/decl.c:7937
++#: cp/decl.c:7943
+ #, gcc-internal-format
+ msgid "%<long%> invalid for %qs"
+ msgstr ""
+-#: cp/decl.c:7939
++#: cp/decl.c:7945
+ #, gcc-internal-format
+ msgid "%<short%> invalid for %qs"
+ msgstr ""
+-#: cp/decl.c:7941
++#: cp/decl.c:7947
+ #, gcc-internal-format
+ msgid "%<long%> or %<short%> invalid for %qs"
+ msgstr ""
+-#: cp/decl.c:7943
++#: cp/decl.c:7949
+ #, gcc-internal-format
+ msgid "%<long%> or %<short%> specified with char for %qs"
+ msgstr ""
+-#: cp/decl.c:7945
++#: cp/decl.c:7951
+ #, gcc-internal-format
+ msgid "%<long%> and %<short%> specified together for %qs"
+ msgstr ""
+-#: cp/decl.c:7951
++#: cp/decl.c:7957
+ #, gcc-internal-format
+ msgid "%<short%> or %<long%> invalid for %qs"
+ msgstr ""
+-#: cp/decl.c:7959
++#: cp/decl.c:7965
+ #, gcc-internal-format
+ msgid "long, short, signed or unsigned used invalidly for %qs"
+ msgstr ""
+-#: cp/decl.c:8023
++#: cp/decl.c:8029
+ #, gcc-internal-format
+ msgid "complex invalid for %qs"
+ msgstr ""
+-#: cp/decl.c:8052
++#: cp/decl.c:8058
+ #, gcc-internal-format
+ msgid "qualifiers are not allowed on declaration of %<operator %T%>"
+ msgstr ""
+-#: cp/decl.c:8065 cp/typeck.c:7252
++#: cp/decl.c:8071 cp/typeck.c:7255
+ #, gcc-internal-format
+ msgid "ignoring %qV qualifiers added to function type %qT"
+ msgstr ""
+-#: cp/decl.c:8088
++#: cp/decl.c:8094
+ #, gcc-internal-format
+ msgid "member %qD cannot be declared both virtual and static"
+ msgstr ""
+-#: cp/decl.c:8096
++#: cp/decl.c:8102
+ #, gcc-internal-format
+ msgid "%<%T::%D%> is not a valid declarator"
+ msgstr ""
+-#: cp/decl.c:8105
++#: cp/decl.c:8111
+ #, gcc-internal-format
+ msgid "typedef declaration invalid in parameter declaration"
+ msgstr ""
+-#: cp/decl.c:8111
++#: cp/decl.c:8117
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in parameter declarations"
+ msgstr ""
+-#: cp/decl.c:8115
++#: cp/decl.c:8121
+ #, gcc-internal-format
+ msgid "parameter declared %<auto%>"
+ msgstr ""
+-#: cp/decl.c:8124
++#: cp/decl.c:8130
+ #, gcc-internal-format
+ msgid "%<virtual%> outside class declaration"
+ msgstr ""
+-#: cp/decl.c:8142
++#: cp/decl.c:8148
+ #, gcc-internal-format
+ msgid "multiple storage classes in declaration of %qs"
+ msgstr ""
+-#: cp/decl.c:8165
++#: cp/decl.c:8171
+ #, gcc-internal-format
+ msgid "storage class specified for %qs"
+ msgstr ""
+-#: cp/decl.c:8186
++#: cp/decl.c:8192
+ #, gcc-internal-format
+ msgid "top-level declaration of %qs specifies %<auto%>"
+ msgstr ""
+-#: cp/decl.c:8199
++#: cp/decl.c:8205
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in friend function declarations"
+ msgstr ""
+-#: cp/decl.c:8314
++#: cp/decl.c:8320
+ #, gcc-internal-format
+ msgid "%qs function uses %<auto%> type specifier without late return type"
+ msgstr ""
+-#: cp/decl.c:8320
++#: cp/decl.c:8326
+ #, gcc-internal-format
+ msgid ""
+ "%qs function with late return type has %qT as its type rather than plain %"
+ "<auto%>"
+ msgstr ""
+-#: cp/decl.c:8328
++#: cp/decl.c:8334
+ #, gcc-internal-format
+ msgid ""
+ "%qs function with late return type not declared with %<auto%> type specifier"
+ msgstr ""
+-#: cp/decl.c:8361
++#: cp/decl.c:8367
+ #, gcc-internal-format
+ msgid "destructor cannot be static member function"
+ msgstr ""
+-#: cp/decl.c:8366
++#: cp/decl.c:8372
+ #, gcc-internal-format
+ msgid "destructors may not be cv-qualified"
+ msgstr ""
+-#: cp/decl.c:8384
++#: cp/decl.c:8390
+ #, gcc-internal-format
+ msgid "constructors cannot be declared virtual"
+ msgstr ""
+-#: cp/decl.c:8397
++#: cp/decl.c:8403
+ #, gcc-internal-format
+ msgid "can't initialize friend function %qs"
+ msgstr ""
+ #. Cannot be both friend and virtual.
+-#: cp/decl.c:8401
++#: cp/decl.c:8407
+ #, gcc-internal-format
+ msgid "virtual functions cannot be friends"
+ msgstr ""
+-#: cp/decl.c:8405
++#: cp/decl.c:8411
+ #, gcc-internal-format
+ msgid "friend declaration not in class definition"
+ msgstr ""
+-#: cp/decl.c:8407
++#: cp/decl.c:8413
+ #, gcc-internal-format
+ msgid "can't define friend function %qs in a local class definition"
+ msgstr ""
+-#: cp/decl.c:8420
++#: cp/decl.c:8426
+ #, gcc-internal-format
+ msgid "destructors may not have parameters"
+ msgstr ""
+-#: cp/decl.c:8439
++#: cp/decl.c:8445
+ #, gcc-internal-format
+ msgid "cannot declare pointer to %q#T"
+ msgstr ""
+-#: cp/decl.c:8452 cp/decl.c:8459
++#: cp/decl.c:8458 cp/decl.c:8465
+ #, gcc-internal-format
+ msgid "cannot declare reference to %q#T"
+ msgstr ""
+-#: cp/decl.c:8461
++#: cp/decl.c:8467
+ #, gcc-internal-format
+ msgid "cannot declare pointer to %q#T member"
+ msgstr ""
+-#: cp/decl.c:8512
++#: cp/decl.c:8487
+ #, gcc-internal-format
++msgid "cannot declare %s to qualified function type %qT"
++msgstr ""
++
++#: cp/decl.c:8524
++#, gcc-internal-format
+ msgid ""
+ "cannot declare reference to %q#T, which is not a typedef or a template type "
+ "argument"
+ msgstr ""
+-#: cp/decl.c:8556
++#: cp/decl.c:8568
+ #, gcc-internal-format
+ msgid "template-id %qD used as a declarator"
+ msgstr ""
+-#: cp/decl.c:8607
++#: cp/decl.c:8619
+ #, gcc-internal-format
+ msgid "member functions are implicitly friends of their class"
+ msgstr ""
+-#: cp/decl.c:8612
++#: cp/decl.c:8624
+ #, gcc-internal-format
+ msgid "extra qualification %<%T::%> on member %qs"
+ msgstr ""
+-#: cp/decl.c:8644
++#: cp/decl.c:8656
+ #, gcc-internal-format
+ msgid "cannot define member function %<%T::%s%> within %<%T%>"
+ msgstr ""
+-#: cp/decl.c:8661
++#: cp/decl.c:8673
+ #, gcc-internal-format
+ msgid "cannot declare member %<%T::%s%> within %qT"
+ msgstr ""
+-#: cp/decl.c:8684
++#: cp/decl.c:8696
+ #, gcc-internal-format
+ msgid "non-parameter %qs cannot be a parameter pack"
+ msgstr ""
+-#: cp/decl.c:8705
++#: cp/decl.c:8717
+ #, gcc-internal-format
+ msgid "data member may not have variably modified type %qT"
+ msgstr ""
+-#: cp/decl.c:8707
++#: cp/decl.c:8719
+ #, gcc-internal-format
+ msgid "parameter may not have variably modified type %qT"
+ msgstr ""
+ #. [dcl.fct.spec] The explicit specifier shall only be used in
+ #. declarations of constructors within a class definition.
+-#: cp/decl.c:8715
++#: cp/decl.c:8727
+ #, gcc-internal-format
+ msgid "only declarations of constructors can be %<explicit%>"
+ msgstr ""
+-#: cp/decl.c:8723
++#: cp/decl.c:8735
+ #, gcc-internal-format
+ msgid "non-member %qs cannot be declared %<mutable%>"
+ msgstr ""
+-#: cp/decl.c:8728
++#: cp/decl.c:8740
+ #, gcc-internal-format
+ msgid "non-object member %qs cannot be declared %<mutable%>"
+ msgstr ""
+-#: cp/decl.c:8734
++#: cp/decl.c:8746
+ #, gcc-internal-format
+ msgid "function %qs cannot be declared %<mutable%>"
+ msgstr ""
+-#: cp/decl.c:8739
++#: cp/decl.c:8751
+ #, gcc-internal-format
+ msgid "static %qs cannot be declared %<mutable%>"
+ msgstr ""
+-#: cp/decl.c:8744
++#: cp/decl.c:8756
+ #, gcc-internal-format
+ msgid "const %qs cannot be declared %<mutable%>"
+ msgstr ""
+-#: cp/decl.c:8781
++#: cp/decl.c:8793
+ #, gcc-internal-format
+ msgid "%Jtypedef name may not be a nested-name-specifier"
+ msgstr ""
+-#: cp/decl.c:8799
++#: cp/decl.c:8811
+ #, gcc-internal-format
+ msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
+ msgstr ""
+-#: cp/decl.c:8883
++#: cp/decl.c:8895
+ #, gcc-internal-format
+ msgid ""
+ "qualified function types cannot be used to declare static member functions"
+ msgstr ""
+-#: cp/decl.c:8885
++#: cp/decl.c:8897
+ #, gcc-internal-format
+ msgid "qualified function types cannot be used to declare free functions"
+ msgstr ""
+-#: cp/decl.c:8911
++#: cp/decl.c:8923
+ #, gcc-internal-format
+ msgid "type qualifiers specified for friend class declaration"
+ msgstr ""
+-#: cp/decl.c:8916
++#: cp/decl.c:8928
+ #, gcc-internal-format
+ msgid "%<inline%> specified for friend class declaration"
+ msgstr ""
+-#: cp/decl.c:8924
++#: cp/decl.c:8936
+ #, gcc-internal-format
+ msgid "template parameters cannot be friends"
+ msgstr ""
+-#: cp/decl.c:8926
++#: cp/decl.c:8938
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
+ msgstr ""
+-#: cp/decl.c:8930
++#: cp/decl.c:8942
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
+ msgstr ""
+-#: cp/decl.c:8943
++#: cp/decl.c:8955
+ #, gcc-internal-format
+ msgid "trying to make class %qT a friend of global scope"
+ msgstr ""
+-#: cp/decl.c:8954
++#: cp/decl.c:8973
+ #, gcc-internal-format
+ msgid "invalid qualifiers on non-member function type"
+ msgstr ""
+-#: cp/decl.c:8969
++#: cp/decl.c:8983
+ #, gcc-internal-format
+ msgid "abstract declarator %qT used as declaration"
+ msgstr ""
+-#: cp/decl.c:8998
++#: cp/decl.c:9012
+ #, gcc-internal-format
+ msgid "cannot use %<::%> in parameter declaration"
+ msgstr ""
+ #. Something like struct S { int N::j; };
+-#: cp/decl.c:9044
++#: cp/decl.c:9058
+ #, gcc-internal-format
+ msgid "invalid use of %<::%>"
+ msgstr ""
+-#: cp/decl.c:9059
++#: cp/decl.c:9073
+ #, gcc-internal-format
+ msgid "can't make %qD into a method -- not in a class"
+ msgstr ""
+-#: cp/decl.c:9068
++#: cp/decl.c:9082
+ #, gcc-internal-format
+ msgid "function %qD declared virtual inside a union"
+ msgstr ""
+-#: cp/decl.c:9077
++#: cp/decl.c:9091
+ #, gcc-internal-format
+ msgid "%qD cannot be declared virtual, since it is always static"
+ msgstr ""
+-#: cp/decl.c:9095
++#: cp/decl.c:9109
+ #, gcc-internal-format
+ msgid "expected qualified name in friend declaration for destructor %qD"
+ msgstr ""
+-#: cp/decl.c:9102
++#: cp/decl.c:9116
+ #, gcc-internal-format
+ msgid "declaration of %qD as member of %qT"
+ msgstr ""
+-#: cp/decl.c:9109
++#: cp/decl.c:9123
+ #, gcc-internal-format
+ msgid "expected qualified name in friend declaration for constructor %qD"
+ msgstr ""
+-#: cp/decl.c:9172
++#: cp/decl.c:9186
+ #, gcc-internal-format
+ msgid "field %qD has incomplete type"
+ msgstr ""
+-#: cp/decl.c:9174
++#: cp/decl.c:9188
+ #, gcc-internal-format
+ msgid "name %qT has incomplete type"
+ msgstr ""
+-#: cp/decl.c:9183
++#: cp/decl.c:9197
+ #, gcc-internal-format
+ msgid "  in instantiation of template %qT"
+ msgstr ""
+-#: cp/decl.c:9192
++#: cp/decl.c:9206
+ #, gcc-internal-format
+ msgid "%qE is neither function nor member function; cannot be declared friend"
+ msgstr ""
+@@ -30465,117 +30519,117 @@
+ #. the rest of the compiler does not correctly
+ #. handle the initialization unless the member is
+ #. static so we make it static below.
+-#: cp/decl.c:9244
++#: cp/decl.c:9258
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization of member %qD"
+ msgstr ""
+-#: cp/decl.c:9246
++#: cp/decl.c:9260
+ #, gcc-internal-format
+ msgid "making %qD static"
+ msgstr ""
+-#: cp/decl.c:9311
++#: cp/decl.c:9325
+ #, gcc-internal-format
+ msgid "storage class %<auto%> invalid for function %qs"
+ msgstr ""
+-#: cp/decl.c:9313
++#: cp/decl.c:9327
+ #, gcc-internal-format
+ msgid "storage class %<register%> invalid for function %qs"
+ msgstr ""
+-#: cp/decl.c:9315
++#: cp/decl.c:9329
+ #, gcc-internal-format
+ msgid "storage class %<__thread%> invalid for function %qs"
+ msgstr ""
+-#: cp/decl.c:9327
++#: cp/decl.c:9341
+ #, gcc-internal-format
+ msgid ""
+ "%<static%> specified invalid for function %qs declared out of global scope"
+ msgstr ""
+-#: cp/decl.c:9331
++#: cp/decl.c:9345
+ #, gcc-internal-format
+ msgid ""
+ "%<inline%> specifier invalid for function %qs declared out of global scope"
+ msgstr ""
+-#: cp/decl.c:9338
++#: cp/decl.c:9352
+ #, gcc-internal-format
+ msgid "%q#T is not a class or a namespace"
+ msgstr ""
+-#: cp/decl.c:9346
++#: cp/decl.c:9360
+ #, gcc-internal-format
+ msgid "virtual non-class function %qs"
+ msgstr ""
+-#: cp/decl.c:9353
++#: cp/decl.c:9367
+ #, gcc-internal-format
+ msgid "%qs defined in a non-class scope"
+ msgstr ""
+-#: cp/decl.c:9386
++#: cp/decl.c:9400
+ #, gcc-internal-format
+ msgid "cannot declare member function %qD to have static linkage"
+ msgstr ""
+ #. FIXME need arm citation
+-#: cp/decl.c:9393
++#: cp/decl.c:9407
+ #, gcc-internal-format
+ msgid "cannot declare static function inside another function"
+ msgstr ""
+-#: cp/decl.c:9423
++#: cp/decl.c:9437
+ #, gcc-internal-format
+ msgid ""
+ "%<static%> may not be used when defining (as opposed to declaring) a static "
+ "data member"
+ msgstr ""
+-#: cp/decl.c:9430
++#: cp/decl.c:9444
+ #, gcc-internal-format
+ msgid "static member %qD declared %<register%>"
+ msgstr ""
+-#: cp/decl.c:9436
++#: cp/decl.c:9450
+ #, gcc-internal-format
+ msgid "cannot explicitly declare member %q#D to have extern linkage"
+ msgstr ""
+-#: cp/decl.c:9580
++#: cp/decl.c:9594
+ #, gcc-internal-format
+ msgid "default argument for %q#D has type %qT"
+ msgstr ""
+-#: cp/decl.c:9583
++#: cp/decl.c:9597
+ #, gcc-internal-format
+ msgid "default argument for parameter of type %qT has type %qT"
+ msgstr ""
+-#: cp/decl.c:9599
++#: cp/decl.c:9613
+ #, gcc-internal-format
+ msgid "default argument %qE uses local variable %qD"
+ msgstr ""
+-#: cp/decl.c:9682
++#: cp/decl.c:9696
+ #, gcc-internal-format
+ msgid "parameter %qD has Java class type"
+ msgstr ""
+-#: cp/decl.c:9702
++#: cp/decl.c:9716
+ #, gcc-internal-format
+ msgid "parameter %qD invalidly declared method type"
+ msgstr ""
+-#: cp/decl.c:9726
++#: cp/decl.c:9740
+ #, gcc-internal-format
+ msgid "parameter %qD includes %s to array of unknown bound %qT"
+ msgstr ""
+-#: cp/decl.c:9741
++#: cp/decl.c:9755
+ #, gcc-internal-format
+ msgid "parameter packs must be at the end of the parameter list"
+ msgstr ""
+@@ -30595,139 +30649,139 @@
+ #. or implicitly defined), there's no need to worry about their
+ #. existence.  Theoretically, they should never even be
+ #. instantiated, but that's hard to forestall.
+-#: cp/decl.c:9964
++#: cp/decl.c:9978
+ #, gcc-internal-format
+ msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
+ msgstr ""
+-#: cp/decl.c:10086
++#: cp/decl.c:10100
+ #, gcc-internal-format
+ msgid "%qD may not be declared within a namespace"
+ msgstr ""
+-#: cp/decl.c:10091
++#: cp/decl.c:10105
+ #, gcc-internal-format
+ msgid "%qD may not be declared as static"
+ msgstr ""
+-#: cp/decl.c:10117
++#: cp/decl.c:10131
+ #, gcc-internal-format
+ msgid "%qD must be a nonstatic member function"
+ msgstr ""
+-#: cp/decl.c:10126
++#: cp/decl.c:10140
+ #, gcc-internal-format
+ msgid ""
+ "%qD must be either a non-static member function or a non-member function"
+ msgstr ""
+-#: cp/decl.c:10148
++#: cp/decl.c:10162
+ #, gcc-internal-format
+ msgid "%qD must have an argument of class or enumerated type"
+ msgstr ""
+-#: cp/decl.c:10189
++#: cp/decl.c:10203
+ #, gcc-internal-format
+ msgid "conversion to %s%s will never use a type conversion operator"
+ msgstr ""
+ #. 13.4.0.3
+-#: cp/decl.c:10197
++#: cp/decl.c:10211
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits overloading operator ?:"
+ msgstr ""
+-#: cp/decl.c:10202
++#: cp/decl.c:10216
+ #, gcc-internal-format
+ msgid "%qD must not have variable number of arguments"
+ msgstr ""
+-#: cp/decl.c:10253
++#: cp/decl.c:10267
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its argument"
+ msgstr ""
+-#: cp/decl.c:10256
++#: cp/decl.c:10270
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its second argument"
+ msgstr ""
+-#: cp/decl.c:10264
++#: cp/decl.c:10278
+ #, gcc-internal-format
+ msgid "%qD must take either zero or one argument"
+ msgstr ""
+-#: cp/decl.c:10266
++#: cp/decl.c:10280
+ #, gcc-internal-format
+ msgid "%qD must take either one or two arguments"
+ msgstr ""
+-#: cp/decl.c:10288
++#: cp/decl.c:10302
+ #, gcc-internal-format
+ msgid "prefix %qD should return %qT"
+ msgstr ""
+-#: cp/decl.c:10294
++#: cp/decl.c:10308
+ #, gcc-internal-format
+ msgid "postfix %qD should return %qT"
+ msgstr ""
+-#: cp/decl.c:10303
++#: cp/decl.c:10317
+ #, gcc-internal-format
+ msgid "%qD must take %<void%>"
+ msgstr ""
+-#: cp/decl.c:10305 cp/decl.c:10314
++#: cp/decl.c:10319 cp/decl.c:10328
+ #, gcc-internal-format
+ msgid "%qD must take exactly one argument"
+ msgstr ""
+-#: cp/decl.c:10316
++#: cp/decl.c:10330
+ #, gcc-internal-format
+ msgid "%qD must take exactly two arguments"
+ msgstr ""
+-#: cp/decl.c:10325
++#: cp/decl.c:10339
+ #, gcc-internal-format
+ msgid "user-defined %qD always evaluates both arguments"
+ msgstr ""
+-#: cp/decl.c:10339
++#: cp/decl.c:10353
+ #, gcc-internal-format
+ msgid "%qD should return by value"
+ msgstr ""
+-#: cp/decl.c:10350 cp/decl.c:10355
++#: cp/decl.c:10364 cp/decl.c:10369
+ #, gcc-internal-format
+ msgid "%qD cannot have default arguments"
+ msgstr ""
+-#: cp/decl.c:10413
++#: cp/decl.c:10427
+ #, gcc-internal-format
+ msgid "using template type parameter %qT after %qs"
+ msgstr ""
+-#: cp/decl.c:10428
++#: cp/decl.c:10442
+ #, gcc-internal-format
+ msgid "using typedef-name %qD after %qs"
+ msgstr ""
+-#: cp/decl.c:10429
++#: cp/decl.c:10443
+ #, gcc-internal-format
+ msgid "%q+D has a previous declaration here"
+ msgstr ""
+-#: cp/decl.c:10437
++#: cp/decl.c:10451
+ #, gcc-internal-format
+ msgid "%qT referred to as %qs"
+ msgstr ""
+-#: cp/decl.c:10438 cp/decl.c:10445
++#: cp/decl.c:10452 cp/decl.c:10459
+ #, gcc-internal-format
+ msgid "%q+T has a previous declaration here"
+ msgstr ""
+-#: cp/decl.c:10444
++#: cp/decl.c:10458
+ #, gcc-internal-format
+ msgid "%qT referred to as enum"
+ msgstr ""
+@@ -30739,77 +30793,77 @@
+ #. void f(class C);           // No template header here
+ #.
+ #. then the required template argument is missing.
+-#: cp/decl.c:10459
++#: cp/decl.c:10473
+ #, gcc-internal-format
+ msgid "template argument required for %<%s %T%>"
+ msgstr ""
+-#: cp/decl.c:10507 cp/name-lookup.c:2800
++#: cp/decl.c:10521 cp/name-lookup.c:2802
+ #, gcc-internal-format
+ msgid "%qD has the same name as the class in which it is declared"
+ msgstr ""
+-#: cp/decl.c:10537 cp/name-lookup.c:2308
++#: cp/decl.c:10551 cp/name-lookup.c:2310
+ #, gcc-internal-format
+ msgid "reference to %qD is ambiguous"
+ msgstr ""
+-#: cp/decl.c:10651
++#: cp/decl.c:10665
+ #, gcc-internal-format
+ msgid "use of enum %q#D without previous declaration"
+ msgstr ""
+-#: cp/decl.c:10672
++#: cp/decl.c:10686
+ #, gcc-internal-format
+ msgid "redeclaration of %qT as a non-template"
+ msgstr ""
+-#: cp/decl.c:10673
++#: cp/decl.c:10687
+ #, gcc-internal-format
+ msgid "previous declaration %q+D"
+ msgstr ""
+-#: cp/decl.c:10784
++#: cp/decl.c:10798
+ #, gcc-internal-format
+ msgid "derived union %qT invalid"
+ msgstr ""
+-#: cp/decl.c:10793
++#: cp/decl.c:10807
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have multiple bases"
+ msgstr ""
+-#: cp/decl.c:10804
++#: cp/decl.c:10818
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have virtual bases"
+ msgstr ""
+-#: cp/decl.c:10824
++#: cp/decl.c:10838
+ #, gcc-internal-format
+ msgid "base type %qT fails to be a struct or class type"
+ msgstr ""
+-#: cp/decl.c:10857
++#: cp/decl.c:10871
+ #, gcc-internal-format
+ msgid "recursive type %qT undefined"
+ msgstr ""
+-#: cp/decl.c:10859
++#: cp/decl.c:10873
+ #, gcc-internal-format
+ msgid "duplicate base type %qT invalid"
+ msgstr ""
+-#: cp/decl.c:10943
++#: cp/decl.c:10957
+ #, gcc-internal-format
+ msgid "multiple definition of %q#T"
+ msgstr ""
+-#: cp/decl.c:10944
++#: cp/decl.c:10958
+ #, gcc-internal-format
+ msgid "%Jprevious definition here"
+ msgstr ""
+-#: cp/decl.c:10991
++#: cp/decl.c:11005
+ #, gcc-internal-format
+ msgid "underlying type %<%T%> of %<%T%> must be an integral type"
+ msgstr ""
+@@ -30818,62 +30872,62 @@
+ #.
+ #. IF no integral type can represent all the enumerator values, the
+ #. enumeration is ill-formed.
+-#: cp/decl.c:11123
++#: cp/decl.c:11137
+ #, gcc-internal-format
+ msgid "no integral type can represent all of the enumerator values for %qT"
+ msgstr ""
+-#: cp/decl.c:11254
++#: cp/decl.c:11268
+ #, gcc-internal-format
+ msgid "enumerator value for %qD is not an integer constant"
+ msgstr ""
+-#: cp/decl.c:11286
++#: cp/decl.c:11300
+ #, gcc-internal-format
+ msgid "overflow in enumeration values at %qD"
+ msgstr ""
+-#: cp/decl.c:11306
++#: cp/decl.c:11320
+ #, gcc-internal-format
+ msgid "enumerator value %E is too large for underlying type %<%T%>"
+ msgstr ""
+-#: cp/decl.c:11403
++#: cp/decl.c:11417
+ #, gcc-internal-format
+ msgid "return type %q#T is incomplete"
+ msgstr ""
+-#: cp/decl.c:11405
++#: cp/decl.c:11419
+ #, gcc-internal-format
+ msgid "return type has Java class type %q#T"
+ msgstr ""
+-#: cp/decl.c:11530 cp/typeck.c:6939
++#: cp/decl.c:11544 cp/typeck.c:6939
+ #, gcc-internal-format
+ msgid "%<operator=%> should return a reference to %<*this%>"
+ msgstr ""
+-#: cp/decl.c:11845
++#: cp/decl.c:11859
+ #, gcc-internal-format
+ msgid "invalid function declaration"
+ msgstr ""
+-#: cp/decl.c:11929
++#: cp/decl.c:11943
+ #, gcc-internal-format
+ msgid "parameter %qD declared void"
+ msgstr ""
+-#: cp/decl.c:12430
++#: cp/decl.c:12444
+ #, gcc-internal-format
+ msgid "invalid member function declaration"
+ msgstr ""
+-#: cp/decl.c:12445
++#: cp/decl.c:12459
+ #, gcc-internal-format
+ msgid "%qD is already defined in class %qT"
+ msgstr ""
+-#: cp/decl.c:12692
++#: cp/decl.c:12706
+ #, gcc-internal-format
+ msgid "static member function %q#D declared with type qualifiers"
+ msgstr ""
+@@ -31093,7 +31147,7 @@
+ #. We really want to suppress this warning in system headers,
+ #. because libstdc++ uses variadic templates even when we aren't
+ #. in C++0x mode.
+-#: cp/error.c:2710
++#: cp/error.c:2711
+ #, gcc-internal-format
+ msgid "%s only available with -std=c++0x or -std=gnu++0x"
+ msgstr ""
+@@ -31361,7 +31415,7 @@
+ msgid "bad array initializer"
+ msgstr ""
+-#: cp/init.c:1441 cp/semantics.c:2496
++#: cp/init.c:1441 cp/semantics.c:2503
+ #, gcc-internal-format
+ msgid "%qT is not a class type"
+ msgstr ""
+@@ -31547,22 +31601,22 @@
+ msgid "mangling unknown fixed point type"
+ msgstr ""
+-#: cp/mangle.c:2338
++#: cp/mangle.c:2332
+ #, gcc-internal-format
+ msgid "mangling %C"
+ msgstr ""
+-#: cp/mangle.c:2375
++#: cp/mangle.c:2387
+ #, gcc-internal-format
+ msgid "mangling new-expression"
+ msgstr ""
+-#: cp/mangle.c:2395
++#: cp/mangle.c:2407
+ #, gcc-internal-format
+ msgid "omitted middle operand to %<?:%> operand cannot be mangled"
+ msgstr ""
+-#: cp/mangle.c:2710
++#: cp/mangle.c:2722
+ #, gcc-internal-format
+ msgid "the mangled name of %qD will change in a future version of GCC"
+ msgstr ""
+@@ -31645,220 +31699,220 @@
+ msgid "global declaration %q+#D"
+ msgstr ""
+-#: cp/name-lookup.c:1030 cp/name-lookup.c:1040
++#: cp/name-lookup.c:1035 cp/name-lookup.c:1042
+ #, gcc-internal-format
+ msgid "declaration of %q#D shadows a parameter"
+ msgstr ""
+ #. Location of previous decl is not useful in this case.
+-#: cp/name-lookup.c:1065
++#: cp/name-lookup.c:1067
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a member of 'this'"
+ msgstr ""
+-#: cp/name-lookup.c:1071
++#: cp/name-lookup.c:1073
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a previous local"
+ msgstr ""
+-#: cp/name-lookup.c:1078
++#: cp/name-lookup.c:1080
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a global declaration"
+ msgstr ""
+-#: cp/name-lookup.c:1201
++#: cp/name-lookup.c:1203
+ #, gcc-internal-format
+ msgid "name lookup of %qD changed"
+ msgstr ""
+-#: cp/name-lookup.c:1202
++#: cp/name-lookup.c:1204
+ #, gcc-internal-format
+ msgid "  matches this %q+D under ISO standard rules"
+ msgstr ""
+-#: cp/name-lookup.c:1204
++#: cp/name-lookup.c:1206
+ #, gcc-internal-format
+ msgid "  matches this %q+D under old rules"
+ msgstr ""
+-#: cp/name-lookup.c:1222 cp/name-lookup.c:1230
++#: cp/name-lookup.c:1224 cp/name-lookup.c:1232
+ #, gcc-internal-format
+ msgid "name lookup of %qD changed for ISO %<for%> scoping"
+ msgstr ""
+-#: cp/name-lookup.c:1224
++#: cp/name-lookup.c:1226
+ #, gcc-internal-format
+ msgid "  cannot use obsolete binding at %q+D because it has a destructor"
+ msgstr ""
+-#: cp/name-lookup.c:1233
++#: cp/name-lookup.c:1235
+ #, gcc-internal-format
+ msgid "  using obsolete binding at %q+D"
+ msgstr ""
+-#: cp/name-lookup.c:1239 cp/parser.c:10154
++#: cp/name-lookup.c:1241 cp/parser.c:10159
+ #, gcc-internal-format
+ msgid "(if you use %<-fpermissive%> G++ will accept your code)"
+ msgstr ""
+-#: cp/name-lookup.c:1295
++#: cp/name-lookup.c:1297
+ #, gcc-internal-format
+ msgid "%s %s(%E) %p %d\n"
+ msgstr ""
+-#: cp/name-lookup.c:1298
++#: cp/name-lookup.c:1300
+ #, gcc-internal-format
+ msgid "%s %s %p %d\n"
+ msgstr ""
+-#: cp/name-lookup.c:1426
++#: cp/name-lookup.c:1428
+ #, gcc-internal-format
+ msgid "XXX is_class_level != (current_scope == class_scope)\n"
+ msgstr ""
+-#: cp/name-lookup.c:2021
++#: cp/name-lookup.c:2023
+ #, gcc-internal-format
+ msgid "%q#D hides constructor for %q#T"
+ msgstr ""
+-#: cp/name-lookup.c:2038
++#: cp/name-lookup.c:2040
+ #, gcc-internal-format
+ msgid "%q#D conflicts with previous using declaration %q#D"
+ msgstr ""
+-#: cp/name-lookup.c:2061
++#: cp/name-lookup.c:2063
+ #, gcc-internal-format
+ msgid "previous non-function declaration %q+#D"
+ msgstr ""
+-#: cp/name-lookup.c:2062
++#: cp/name-lookup.c:2064
+ #, gcc-internal-format
+ msgid "conflicts with function declaration %q#D"
+ msgstr ""
+ #. It's a nested name with template parameter dependent scope.
+ #. This can only be using-declaration for class member.
+-#: cp/name-lookup.c:2140 cp/name-lookup.c:2165
++#: cp/name-lookup.c:2142 cp/name-lookup.c:2167
+ #, gcc-internal-format
+ msgid "%qT is not a namespace"
+ msgstr ""
+ #. 7.3.3/5
+ #. A using-declaration shall not name a template-id.
+-#: cp/name-lookup.c:2150
++#: cp/name-lookup.c:2152
+ #, gcc-internal-format
+ msgid "a using-declaration cannot specify a template-id.  Try %<using %D%>"
+ msgstr ""
+-#: cp/name-lookup.c:2157
++#: cp/name-lookup.c:2159
+ #, gcc-internal-format
+ msgid "namespace %qD not allowed in using-declaration"
+ msgstr ""
+-#: cp/name-lookup.c:2193
++#: cp/name-lookup.c:2195
+ #, gcc-internal-format
+ msgid "%qD not declared"
+ msgstr ""
+-#: cp/name-lookup.c:2229 cp/name-lookup.c:2266 cp/name-lookup.c:2300
+-#: cp/name-lookup.c:2315
++#: cp/name-lookup.c:2231 cp/name-lookup.c:2268 cp/name-lookup.c:2302
++#: cp/name-lookup.c:2317
+ #, gcc-internal-format
+ msgid "%qD is already declared in this scope"
+ msgstr ""
+-#: cp/name-lookup.c:2919
++#: cp/name-lookup.c:2921
+ #, gcc-internal-format
+ msgid "using-declaration for non-member at class scope"
+ msgstr ""
+-#: cp/name-lookup.c:2926
++#: cp/name-lookup.c:2928
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names destructor"
+ msgstr ""
+-#: cp/name-lookup.c:2931
++#: cp/name-lookup.c:2933
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names constructor"
+ msgstr ""
+-#: cp/name-lookup.c:2936
++#: cp/name-lookup.c:2938
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names constructor in %qT"
+ msgstr ""
+-#: cp/name-lookup.c:2986
++#: cp/name-lookup.c:2988
+ #, gcc-internal-format
+ msgid "no members matching %<%T::%D%> in %q#T"
+ msgstr ""
+-#: cp/name-lookup.c:3054
++#: cp/name-lookup.c:3056
+ #, gcc-internal-format
+ msgid "declaration of %qD not in a namespace surrounding %qD"
+ msgstr ""
+-#: cp/name-lookup.c:3062
++#: cp/name-lookup.c:3064
+ #, gcc-internal-format
+ msgid "explicit qualification in declaration of %qD"
+ msgstr ""
+-#: cp/name-lookup.c:3105
++#: cp/name-lookup.c:3107
+ #, gcc-internal-format
+ msgid "%qD should have been declared inside %qD"
+ msgstr ""
+-#: cp/name-lookup.c:3150
++#: cp/name-lookup.c:3152
+ #, gcc-internal-format
+ msgid "%qD attribute requires a single NTBS argument"
+ msgstr ""
+-#: cp/name-lookup.c:3157
++#: cp/name-lookup.c:3159
+ #, gcc-internal-format
+ msgid ""
+ "%qD attribute is meaningless since members of the anonymous namespace get "
+ "local symbols"
+ msgstr ""
+-#: cp/name-lookup.c:3166 cp/name-lookup.c:3536
++#: cp/name-lookup.c:3168 cp/name-lookup.c:3538
+ #, gcc-internal-format
+ msgid "%qD attribute directive ignored"
+ msgstr ""
+-#: cp/name-lookup.c:3211
++#: cp/name-lookup.c:3213
+ #, gcc-internal-format
+ msgid "namespace alias %qD not allowed here, assuming %qD"
+ msgstr ""
+-#: cp/name-lookup.c:3524
++#: cp/name-lookup.c:3526
+ #, gcc-internal-format
+ msgid "strong using only meaningful at namespace scope"
+ msgstr ""
+-#: cp/name-lookup.c:3528
++#: cp/name-lookup.c:3530
+ #, gcc-internal-format
+ msgid "current namespace %qD does not enclose strongly used namespace %qD"
+ msgstr ""
+-#: cp/name-lookup.c:4466
++#: cp/name-lookup.c:4467
+ #, gcc-internal-format
+ msgid "%q+D is not a function,"
+ msgstr ""
+-#: cp/name-lookup.c:4467
++#: cp/name-lookup.c:4468
+ #, gcc-internal-format
+ msgid "  conflict with %q+D"
+ msgstr ""
+-#: cp/name-lookup.c:4912
++#: cp/name-lookup.c:4913
+ #, gcc-internal-format
+ msgid "argument dependent lookup finds %q+D"
+ msgstr ""
+-#: cp/name-lookup.c:5353
++#: cp/name-lookup.c:5354
+ #, gcc-internal-format
+ msgid "XXX entering pop_everything ()\n"
+ msgstr ""
+-#: cp/name-lookup.c:5362
++#: cp/name-lookup.c:5363
+ #, gcc-internal-format
+ msgid "XXX leaving pop_everything ()\n"
+ msgstr ""
+@@ -31868,334 +31922,334 @@
+ msgid "identifier %<%s%> will become a keyword in C++0x"
+ msgstr ""
+-#: cp/parser.c:2080
++#: cp/parser.c:2084
+ #, gcc-internal-format
+ msgid "%H%<#pragma%> is not allowed here"
+ msgstr ""
+-#: cp/parser.c:2111
++#: cp/parser.c:2115
+ #, gcc-internal-format
+ msgid "%H%<%E::%E%> has not been declared"
+ msgstr ""
+-#: cp/parser.c:2114
++#: cp/parser.c:2118
+ #, gcc-internal-format
+ msgid "%H%<::%E%> has not been declared"
+ msgstr ""
+-#: cp/parser.c:2117
++#: cp/parser.c:2121
+ #, gcc-internal-format
+ msgid "%Hrequest for member %qE in non-class type %qT"
+ msgstr ""
+-#: cp/parser.c:2120
++#: cp/parser.c:2124
+ #, gcc-internal-format
+ msgid "%H%<%T::%E%> has not been declared"
+ msgstr ""
+-#: cp/parser.c:2123
++#: cp/parser.c:2127
+ #, gcc-internal-format
+ msgid "%H%qE has not been declared"
+ msgstr ""
+-#: cp/parser.c:2126
++#: cp/parser.c:2130
+ #, gcc-internal-format
+ msgid "%H%<%E::%E%> %s"
+ msgstr ""
+-#: cp/parser.c:2128
++#: cp/parser.c:2132
+ #, gcc-internal-format
+ msgid "%H%<::%E%> %s"
+ msgstr ""
+-#: cp/parser.c:2130
++#: cp/parser.c:2134
+ #, gcc-internal-format
+ msgid "%H%qE %s"
+ msgstr ""
+-#: cp/parser.c:2165
++#: cp/parser.c:2169
+ #, gcc-internal-format
+ msgid "%H%<long long long%> is too long for GCC"
+ msgstr ""
+-#: cp/parser.c:2169
++#: cp/parser.c:2173
+ #, gcc-internal-format
+ msgid "ISO C++ 1998 does not support %<long long%>"
+ msgstr ""
+-#: cp/parser.c:2189
++#: cp/parser.c:2193
+ #, gcc-internal-format
+ msgid "%Hduplicate %qs"
+ msgstr ""
+-#: cp/parser.c:2233
++#: cp/parser.c:2237
+ #, gcc-internal-format
+ msgid "%Hnew types may not be defined in a return type"
+ msgstr ""
+-#: cp/parser.c:2235
++#: cp/parser.c:2239
+ #, gcc-internal-format
+ msgid "(perhaps a semicolon is missing after the definition of %qT)"
+ msgstr ""
+-#: cp/parser.c:2255
++#: cp/parser.c:2259
+ #, gcc-internal-format
+ msgid "%H%qT is not a template"
+ msgstr ""
+-#: cp/parser.c:2257
++#: cp/parser.c:2261
+ #, gcc-internal-format
+ msgid "%H%qE is not a template"
+ msgstr ""
+-#: cp/parser.c:2259
++#: cp/parser.c:2263
+ #, gcc-internal-format
+ msgid "%Hinvalid template-id"
+ msgstr ""
+-#: cp/parser.c:2321
++#: cp/parser.c:2325
+ #, gcc-internal-format
+ msgid "%Hinvalid use of template-name %qE without an argument list"
+ msgstr ""
+-#: cp/parser.c:2324
++#: cp/parser.c:2328
+ #, gcc-internal-format
+ msgid "%Hinvalid use of destructor %qD as a type"
+ msgstr ""
+ #. Something like 'unsigned A a;'
+-#: cp/parser.c:2327
++#: cp/parser.c:2331
+ #, gcc-internal-format
+ msgid "%Hinvalid combination of multiple type-specifiers"
+ msgstr ""
+ #. Issue an error message.
+-#: cp/parser.c:2332
++#: cp/parser.c:2336
+ #, gcc-internal-format
+ msgid "%H%qE does not name a type"
+ msgstr ""
+-#: cp/parser.c:2365
++#: cp/parser.c:2369
+ #, gcc-internal-format
+ msgid "(perhaps %<typename %T::%E%> was intended)"
+ msgstr ""
+-#: cp/parser.c:2380
++#: cp/parser.c:2384
+ #, gcc-internal-format
+ msgid "%H%qE in namespace %qE does not name a type"
+ msgstr ""
+-#: cp/parser.c:2383
++#: cp/parser.c:2387
+ #, gcc-internal-format
+ msgid "%H%qE in class %qT does not name a type"
+ msgstr ""
+-#: cp/parser.c:2945
++#: cp/parser.c:2951
+ #, gcc-internal-format
+ msgid "%Hunsupported non-standard concatenation of string literals"
+ msgstr ""
+-#: cp/parser.c:3148
++#: cp/parser.c:3154
+ #, gcc-internal-format
+ msgid "%Hfixed-point types not supported in C++"
+ msgstr ""
+-#: cp/parser.c:3229
++#: cp/parser.c:3235
+ #, gcc-internal-format
+ msgid "ISO C++ forbids braced-groups within expressions"
+ msgstr ""
+-#: cp/parser.c:3240
++#: cp/parser.c:3246
+ #, gcc-internal-format
+ msgid ""
+ "%Hstatement-expressions are not allowed outside functions nor in template-"
+ "argument lists"
+ msgstr ""
+-#: cp/parser.c:3299
++#: cp/parser.c:3305
+ #, gcc-internal-format
+ msgid "%H%<this%> may not be used in this context"
+ msgstr ""
+-#: cp/parser.c:3508
++#: cp/parser.c:3514
+ #, gcc-internal-format
+ msgid "%Hlocal variable %qD may not appear in this context"
+ msgstr ""
+-#: cp/parser.c:3808
++#: cp/parser.c:3814
+ #, gcc-internal-format
+ msgid "%Hscope %qT before %<~%> is not a class-name"
+ msgstr ""
+-#: cp/parser.c:3922
++#: cp/parser.c:3928
+ #, gcc-internal-format
+ msgid "%Hdeclaration of %<~%T%> as member of %qT"
+ msgstr ""
+-#: cp/parser.c:3936
++#: cp/parser.c:3942
+ #, gcc-internal-format
+ msgid "%Htypedef-name %qD used as destructor declarator"
+ msgstr ""
+-#: cp/parser.c:4150
++#: cp/parser.c:4156
+ #, gcc-internal-format
+ msgid "%H%qD used without template parameters"
+ msgstr ""
+-#: cp/parser.c:4154 cp/parser.c:14857 cp/parser.c:17154
++#: cp/parser.c:4160 cp/parser.c:14878 cp/parser.c:17175
+ #, gcc-internal-format
+ msgid "%Hreference to %qD is ambiguous"
+ msgstr ""
+-#: cp/parser.c:4200 cp/pt.c:5659
++#: cp/parser.c:4206 cp/pt.c:5659
+ #, gcc-internal-format
+ msgid "%qT is not a template"
+ msgstr ""
+ #. Warn the user that a compound literal is not
+ #. allowed in standard C++.
+-#: cp/parser.c:4624
++#: cp/parser.c:4630
+ #, gcc-internal-format
+ msgid "ISO C++ forbids compound-literals"
+ msgstr ""
+-#: cp/parser.c:4998
++#: cp/parser.c:5003
+ #, gcc-internal-format
+ msgid "%H%qE does not have class type"
+ msgstr ""
+-#: cp/parser.c:5082
++#: cp/parser.c:5087
+ #, gcc-internal-format
+ msgid "%Hinvalid use of %qD"
+ msgstr ""
+-#: cp/parser.c:5661
++#: cp/parser.c:5666
+ #, gcc-internal-format
+ msgid "%Harray bound forbidden after parenthesized type-id"
+ msgstr ""
+-#: cp/parser.c:5664
++#: cp/parser.c:5669
+ #, gcc-internal-format
+ msgid "try removing the parentheses around the type-id"
+ msgstr ""
+-#: cp/parser.c:5857
++#: cp/parser.c:5862
+ #, gcc-internal-format
+ msgid "%Hexpression in new-declarator must have integral or enumeration type"
+ msgstr ""
+-#: cp/parser.c:6113
++#: cp/parser.c:6118
+ #, gcc-internal-format
+ msgid "use of old-style cast"
+ msgstr ""
+-#: cp/parser.c:6244
++#: cp/parser.c:6249
+ #, gcc-internal-format
+ msgid "%H%<>>%> operator will be treated as two right angle brackets in C++0x"
+ msgstr ""
+-#: cp/parser.c:6247
++#: cp/parser.c:6252
+ #, gcc-internal-format
+ msgid "suggest parentheses around %<>>%> expression"
+ msgstr ""
+-#: cp/parser.c:7084
++#: cp/parser.c:7089
+ #, gcc-internal-format
+ msgid "%Hcase label %qE not within a switch statement"
+ msgstr ""
+-#: cp/parser.c:7096
++#: cp/parser.c:7101
+ #, gcc-internal-format
+ msgid "%Hcase label not within a switch statement"
+ msgstr ""
+-#: cp/parser.c:7214
++#: cp/parser.c:7219
+ #, gcc-internal-format
+ msgid "%H%<else%> without a previous %<if%>"
+ msgstr ""
+-#: cp/parser.c:7693
++#: cp/parser.c:7698
+ #, gcc-internal-format
+ msgid "%Hbreak statement not within loop or switch"
+ msgstr ""
+-#: cp/parser.c:7701 cp/parser.c:7721
++#: cp/parser.c:7706 cp/parser.c:7726
+ #, gcc-internal-format
+ msgid "%Hinvalid exit from OpenMP structured block"
+ msgstr ""
+-#: cp/parser.c:7704
++#: cp/parser.c:7709
+ #, gcc-internal-format
+ msgid "%Hbreak statement used with OpenMP for loop"
+ msgstr ""
+-#: cp/parser.c:7714
++#: cp/parser.c:7719
+ #, gcc-internal-format
+ msgid "%Hcontinue statement not within a loop"
+ msgstr ""
+ #. Issue a warning about this use of a GNU extension.
+-#: cp/parser.c:7757
++#: cp/parser.c:7762
+ #, gcc-internal-format
+ msgid "ISO C++ forbids computed gotos"
+ msgstr ""
+-#: cp/parser.c:7901 cp/parser.c:15736
++#: cp/parser.c:7906 cp/parser.c:15757
+ #, gcc-internal-format
+ msgid "extra %<;%>"
+ msgstr ""
+-#: cp/parser.c:8122
++#: cp/parser.c:8127
+ #, gcc-internal-format
+ msgid "%H%<__label__%> not at the beginning of a block"
+ msgstr ""
+-#: cp/parser.c:8259
++#: cp/parser.c:8264
+ #, gcc-internal-format
+ msgid "%Hmixing declarations and function-definitions is forbidden"
+ msgstr ""
+-#: cp/parser.c:8399
++#: cp/parser.c:8404
+ #, gcc-internal-format
+ msgid "%H%<friend%> used outside of class"
+ msgstr ""
+-#: cp/parser.c:8455
++#: cp/parser.c:8460
+ #, gcc-internal-format
+ msgid "%H%<auto%> will change meaning in C++0x; please remove it"
+ msgstr ""
+-#: cp/parser.c:8574
++#: cp/parser.c:8579
+ #, gcc-internal-format
+ msgid "%Hclass definition may not be declared a friend"
+ msgstr ""
+-#: cp/parser.c:8644 cp/parser.c:16058
++#: cp/parser.c:8649 cp/parser.c:16079
+ #, gcc-internal-format
+ msgid "%Htemplates may not be %<virtual%>"
+ msgstr ""
+-#: cp/parser.c:9047
++#: cp/parser.c:9052
+ #, gcc-internal-format
+ msgid "invalid use of %<auto%> in conversion operator"
+ msgstr ""
+-#: cp/parser.c:9131
++#: cp/parser.c:9136
+ #, gcc-internal-format
+ msgid "%Honly constructors take base initializers"
+ msgstr ""
+-#: cp/parser.c:9153
++#: cp/parser.c:9158
+ #, gcc-internal-format
+ msgid "%Hcannot expand initializer for member %<%D%>"
+ msgstr ""
+-#: cp/parser.c:9208
++#: cp/parser.c:9213
+ #, gcc-internal-format
+ msgid "anachronistic old-style base class initializer"
+ msgstr ""
+-#: cp/parser.c:9268
++#: cp/parser.c:9273
+ #, gcc-internal-format
+ msgid ""
+ "%Hkeyword %<typename%> not allowed in this context (a qualified member "
+@@ -32203,92 +32257,92 @@
+ msgstr ""
+ #. Warn that we do not support `export'.
+-#: cp/parser.c:9614
++#: cp/parser.c:9619
+ #, gcc-internal-format
+ msgid "keyword %<export%> not implemented, and will be ignored"
+ msgstr ""
+-#: cp/parser.c:9796 cp/parser.c:9894 cp/parser.c:10000
++#: cp/parser.c:9801 cp/parser.c:9899 cp/parser.c:10005
+ #, gcc-internal-format
+ msgid "%Htemplate parameter pack %qD cannot have a default argument"
+ msgstr ""
+-#: cp/parser.c:9799
++#: cp/parser.c:9804
+ #, gcc-internal-format
+ msgid "%Htemplate parameter pack cannot have a default argument"
+ msgstr ""
+-#: cp/parser.c:9897 cp/parser.c:10004
++#: cp/parser.c:9902 cp/parser.c:10009
+ #, gcc-internal-format
+ msgid "%Htemplate parameter packs cannot have default arguments"
+ msgstr ""
+-#: cp/parser.c:10146
++#: cp/parser.c:10151
+ #, gcc-internal-format
+ msgid "%<<::%> cannot begin a template-argument list"
+ msgstr ""
+-#: cp/parser.c:10150
++#: cp/parser.c:10155
+ #, gcc-internal-format
+ msgid ""
+ "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> "
+ "and %<::%>"
+ msgstr ""
+-#: cp/parser.c:10228
++#: cp/parser.c:10233
+ #, gcc-internal-format
+ msgid "%Hparse error in template argument list"
+ msgstr ""
+ #. Explain what went wrong.
+-#: cp/parser.c:10343
++#: cp/parser.c:10348
+ #, gcc-internal-format
+ msgid "%Hnon-template %qD used as template"
+ msgstr ""
+-#: cp/parser.c:10345
++#: cp/parser.c:10350
+ #, gcc-internal-format
+ msgid "use %<%T::template %D%> to indicate that it is a template"
+ msgstr ""
+-#: cp/parser.c:10882
++#: cp/parser.c:10887
+ #, gcc-internal-format
+ msgid "%Htemplate specialization with C linkage"
+ msgstr ""
+-#: cp/parser.c:11527
++#: cp/parser.c:11532
+ #, gcc-internal-format
+ msgid "using %<typename%> outside of template"
+ msgstr ""
+-#: cp/parser.c:11695
++#: cp/parser.c:11700
+ #, gcc-internal-format
+ msgid "declaration %qD does not declare anything"
+ msgstr ""
+-#: cp/parser.c:11780
++#: cp/parser.c:11785
+ #, gcc-internal-format
+ msgid "attributes ignored on uninstantiated type"
+ msgstr ""
+-#: cp/parser.c:11784
++#: cp/parser.c:11789
+ #, gcc-internal-format
+ msgid "attributes ignored on template instantiation"
+ msgstr ""
+-#: cp/parser.c:11789
++#: cp/parser.c:11794
+ #, gcc-internal-format
+ msgid ""
+ "attributes ignored on elaborated-type-specifier that is not a forward "
+ "declaration"
+ msgstr ""
+-#: cp/parser.c:12067
++#: cp/parser.c:12077
+ #, gcc-internal-format
+ msgid "%H%qD is not a namespace-name"
+ msgstr ""
+-#: cp/parser.c:12194
++#: cp/parser.c:12204
+ #, gcc-internal-format
+ msgid "%H%<namespace%> definition is not allowed here"
+ msgstr ""
+@@ -32296,166 +32350,166 @@
+ #. [namespace.udecl]
+ #.
+ #. A using declaration shall not name a template-id.
+-#: cp/parser.c:12334
++#: cp/parser.c:12344
+ #, gcc-internal-format
+ msgid "%Ha template-id may not appear in a using-declaration"
+ msgstr ""
+-#: cp/parser.c:12711
++#: cp/parser.c:12721
+ #, gcc-internal-format
+ msgid "%Han asm-specification is not allowed on a function-definition"
+ msgstr ""
+-#: cp/parser.c:12715
++#: cp/parser.c:12725
+ #, gcc-internal-format
+ msgid "%Hattributes are not allowed on a function-definition"
+ msgstr ""
+-#: cp/parser.c:12868
++#: cp/parser.c:12878
+ #, gcc-internal-format
+ msgid "%Hinitializer provided for function"
+ msgstr ""
+-#: cp/parser.c:12890
++#: cp/parser.c:12900
+ #, gcc-internal-format
+ msgid "attributes after parenthesized initializer ignored"
+ msgstr ""
+-#: cp/parser.c:13295
++#: cp/parser.c:13305
+ #, gcc-internal-format
+ msgid "%Harray bound is not an integer constant"
+ msgstr ""
+-#: cp/parser.c:13407
++#: cp/parser.c:13417
+ #, gcc-internal-format
+ msgid "%H%<%T::%E%> is not a type"
+ msgstr ""
+-#: cp/parser.c:13434
++#: cp/parser.c:13444
+ #, gcc-internal-format
+ msgid "%Hinvalid use of constructor as a template"
+ msgstr ""
+-#: cp/parser.c:13436
++#: cp/parser.c:13446
+ #, gcc-internal-format
+ msgid ""
+ "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified "
+ "name"
+ msgstr ""
+-#: cp/parser.c:13609
++#: cp/parser.c:13619
+ #, gcc-internal-format
+ msgid "%H%qD is a namespace"
+ msgstr ""
+-#: cp/parser.c:13684
++#: cp/parser.c:13694
+ #, gcc-internal-format
+ msgid "%Hduplicate cv-qualifier"
+ msgstr ""
+-#: cp/parser.c:13796
++#: cp/parser.c:13806
+ #, gcc-internal-format
+ msgid "invalid use of %<auto%>"
+ msgstr ""
+-#: cp/parser.c:14370
++#: cp/parser.c:14391
+ #, gcc-internal-format
+ msgid "%Hfile ends in default argument"
+ msgstr ""
+-#: cp/parser.c:14416
++#: cp/parser.c:14437
+ #, gcc-internal-format
+ msgid "deprecated use of default argument for parameter of non-function"
+ msgstr ""
+-#: cp/parser.c:14419
++#: cp/parser.c:14440
+ #, gcc-internal-format
+ msgid "%Hdefault arguments are only permitted for function parameters"
+ msgstr ""
+-#: cp/parser.c:14437
++#: cp/parser.c:14458
+ #, gcc-internal-format
+ msgid "%H%sparameter pack %qD cannot have a default argument"
+ msgstr ""
+-#: cp/parser.c:14441
++#: cp/parser.c:14462
+ #, gcc-internal-format
+ msgid "%H%sparameter pack cannot have a default argument"
+ msgstr ""
+-#: cp/parser.c:14704
++#: cp/parser.c:14725
+ #, gcc-internal-format
+ msgid "ISO C++ does not allow designated initializers"
+ msgstr ""
+-#: cp/parser.c:15329
++#: cp/parser.c:15350
+ #, gcc-internal-format
+ msgid "%Hinvalid class name in declaration of %qD"
+ msgstr ""
+-#: cp/parser.c:15342
++#: cp/parser.c:15363
+ #, gcc-internal-format
+ msgid "%Hdeclaration of %qD in namespace %qD which does not enclose %qD"
+ msgstr ""
+-#: cp/parser.c:15347
++#: cp/parser.c:15368
+ #, gcc-internal-format
+ msgid "%Hdeclaration of %qD in %qD which does not enclose %qD"
+ msgstr ""
+-#: cp/parser.c:15361
++#: cp/parser.c:15382
+ #, gcc-internal-format
+ msgid "%Hextra qualification not allowed"
+ msgstr ""
+-#: cp/parser.c:15373
++#: cp/parser.c:15394
+ #, gcc-internal-format
+ msgid "%Han explicit specialization must be preceded by %<template <>%>"
+ msgstr ""
+-#: cp/parser.c:15402
++#: cp/parser.c:15423
+ #, gcc-internal-format
+ msgid "%Hfunction template %qD redeclared as a class template"
+ msgstr ""
+-#: cp/parser.c:15484
++#: cp/parser.c:15505
+ #, gcc-internal-format
+ msgid "%Hredefinition of %q#T"
+ msgstr ""
+-#: cp/parser.c:15486
++#: cp/parser.c:15507
+ #, gcc-internal-format
+ msgid "%Hprevious definition of %q+#T"
+ msgstr ""
+-#: cp/parser.c:15754
++#: cp/parser.c:15775
+ #, gcc-internal-format
+ msgid "%Ha class-key must be used when declaring a friend"
+ msgstr ""
+-#: cp/parser.c:15769
++#: cp/parser.c:15790
+ #, gcc-internal-format
+ msgid "%Hfriend declaration does not name a class or function"
+ msgstr ""
+-#: cp/parser.c:15949
++#: cp/parser.c:15970
+ #, gcc-internal-format
+ msgid "%Hpure-specifier on function-definition"
+ msgstr ""
+-#: cp/parser.c:16262
++#: cp/parser.c:16283
+ #, gcc-internal-format
+ msgid "%Hkeyword %<typename%> not allowed outside of templates"
+ msgstr ""
+-#: cp/parser.c:16265
++#: cp/parser.c:16286
+ #, gcc-internal-format
+ msgid ""
+ "%Hkeyword %<typename%> not allowed in this context (the base class is "
+ "implicitly a type)"
+ msgstr ""
+-#: cp/parser.c:17332
++#: cp/parser.c:17353
+ #, gcc-internal-format
+ msgid "%Htoo few template-parameter-lists"
+ msgstr ""
+@@ -32464,13 +32518,13 @@
+ #. something like:
+ #.
+ #. template <class T> template <class U> void S::f();
+-#: cp/parser.c:17347
++#: cp/parser.c:17368
+ #, gcc-internal-format
+ msgid "%Htoo many template-parameter-lists"
+ msgstr ""
+ #. Issue an error message.
+-#: cp/parser.c:17621
++#: cp/parser.c:17642
+ #, gcc-internal-format
+ msgid "%Hnamed return values are no longer supported"
+ msgstr ""
+@@ -32478,169 +32532,169 @@
+ #. 14.5.2.2 [temp.mem]
+ #.
+ #. A local class shall not have member templates.
+-#: cp/parser.c:17696
++#: cp/parser.c:17717
+ #, gcc-internal-format
+ msgid "%Hinvalid declaration of member template in local class"
+ msgstr ""
+-#: cp/parser.c:17706
++#: cp/parser.c:17727
+ #, gcc-internal-format
+ msgid "%Htemplate with C linkage"
+ msgstr ""
+-#: cp/parser.c:17853
++#: cp/parser.c:17874
+ #, gcc-internal-format
+ msgid "%Htemplate declaration of %qs"
+ msgstr ""
+-#: cp/parser.c:17917
++#: cp/parser.c:17938
+ #, gcc-internal-format
+ msgid "%Hexplicit template specialization cannot have a storage class"
+ msgstr ""
+-#: cp/parser.c:18135
++#: cp/parser.c:18156
+ #, gcc-internal-format
+ msgid "%H%<>>%> should be %<> >%> within a nested template argument list"
+ msgstr ""
+-#: cp/parser.c:18148
++#: cp/parser.c:18169
+ #, gcc-internal-format
+ msgid "%Hspurious %<>>%>, use %<>%> to terminate a template argument list"
+ msgstr ""
+-#: cp/parser.c:18482
++#: cp/parser.c:18503
+ #, gcc-internal-format
+ msgid "%Hinvalid use of %qD in linkage specification"
+ msgstr ""
+-#: cp/parser.c:18495
++#: cp/parser.c:18516
+ #, gcc-internal-format
+ msgid "%H%<__thread%> before %qD"
+ msgstr ""
+-#: cp/parser.c:18816
++#: cp/parser.c:18837
+ #, gcc-internal-format
+ msgid "%qs tag used in naming %q#T"
+ msgstr ""
+-#: cp/parser.c:18837
++#: cp/parser.c:18858
+ #, gcc-internal-format
+ msgid "%H%qD redeclared with different access"
+ msgstr ""
+-#: cp/parser.c:18855
++#: cp/parser.c:18876
+ #, gcc-internal-format
+ msgid "%H%<template%> (as a disambiguator) is only allowed within templates"
+ msgstr ""
+-#: cp/parser.c:19121 cp/parser.c:20048 cp/parser.c:20180
++#: cp/parser.c:19142 cp/parser.c:20069 cp/parser.c:20201
+ #, gcc-internal-format
+ msgid "%Hmisplaced %<@%D%> Objective-C++ construct"
+ msgstr ""
+-#: cp/parser.c:19265
++#: cp/parser.c:19286
+ #, gcc-internal-format
+ msgid "%H%<@encode%> must specify a type as an argument"
+ msgstr ""
+-#: cp/parser.c:19581
++#: cp/parser.c:19602
+ #, gcc-internal-format
+ msgid "%Hinvalid Objective-C++ selector name"
+ msgstr ""
+-#: cp/parser.c:19912
++#: cp/parser.c:19933
+ #, gcc-internal-format
+ msgid "%Hidentifier expected after %<@protocol%>"
+ msgstr ""
+-#: cp/parser.c:20273
++#: cp/parser.c:20294
+ #, gcc-internal-format
+ msgid "%Htoo many %qs clauses"
+ msgstr ""
+-#: cp/parser.c:20387
++#: cp/parser.c:20408
+ #, gcc-internal-format
+ msgid "%Hcollapse argument needs positive constant integer expression"
+ msgstr ""
+-#: cp/parser.c:20676
++#: cp/parser.c:20697
+ #, gcc-internal-format
+ msgid "%Hschedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr ""
+-#: cp/parser.c:20679
++#: cp/parser.c:20700
+ #, gcc-internal-format
+ msgid "%Hschedule %<auto%> does not take a %<chunk_size%> parameter"
+ msgstr ""
+-#: cp/parser.c:20827
++#: cp/parser.c:20848
+ #, gcc-internal-format
+ msgid "%H%qs is not valid for %qs"
+ msgstr ""
+-#: cp/parser.c:21250
++#: cp/parser.c:21271
+ #, gcc-internal-format
+ msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
+ msgstr ""
+-#: cp/parser.c:21375 cp/parser.c:21413
++#: cp/parser.c:21396 cp/parser.c:21434
+ #, gcc-internal-format
+ msgid "%Hiteration variable %qD should not be firstprivate"
+ msgstr ""
+-#: cp/parser.c:21417
++#: cp/parser.c:21438
+ #, gcc-internal-format
+ msgid "%Hiteration variable %qD should not be reduction"
+ msgstr ""
+-#: cp/parser.c:21484
++#: cp/parser.c:21505
+ #, gcc-internal-format
+ msgid "%Hnot enough collapsed for loops"
+ msgstr ""
+-#: cp/parser.c:21530
++#: cp/parser.c:21551
+ #, gcc-internal-format
+ msgid "%Hcollapsed loops not perfectly nested"
+ msgstr ""
+-#: cp/parser.c:21941
++#: cp/parser.c:21962
+ #, gcc-internal-format
+ msgid "%Hjunk at end of %<#pragma GCC pch_preprocess%>"
+ msgstr ""
+-#: cp/parser.c:21945
++#: cp/parser.c:21966
+ #, gcc-internal-format
+ msgid "%Hexpected string literal"
+ msgstr ""
+-#: cp/parser.c:21978
++#: cp/parser.c:21999
+ #, gcc-internal-format
+ msgid "%H%<#pragma GCC pch_preprocess%> must be first"
+ msgstr ""
+-#: cp/parser.c:21989
++#: cp/parser.c:22010
+ #, gcc-internal-format
+ msgid "%H%<#pragma omp barrier%> may only be used in compound statements"
+ msgstr ""
+-#: cp/parser.c:22004
++#: cp/parser.c:22025
+ #, gcc-internal-format
+ msgid "%H%<#pragma omp flush%> may only be used in compound statements"
+ msgstr ""
+-#: cp/parser.c:22019
++#: cp/parser.c:22040
+ #, gcc-internal-format
+ msgid "%H%<#pragma omp taskwait%> may only be used in compound statements"
+ msgstr ""
+-#: cp/parser.c:22047
++#: cp/parser.c:22068
+ #, gcc-internal-format
+ msgid ""
+ "%H%<#pragma omp section%> may only be used in %<#pragma omp sections%> "
+ "construct"
+ msgstr ""
+-#: cp/parser.c:22105
++#: cp/parser.c:22126
+ #, gcc-internal-format
+ msgid "inter-module optimizations not implemented for C++"
+ msgstr ""
+@@ -33172,24 +33226,24 @@
+ msgid "for template declaration %q+D"
+ msgstr ""
+-#: cp/pt.c:6375
++#: cp/pt.c:6376
+ #, gcc-internal-format
+ msgid ""
+ "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN "
+ "to increase the maximum) instantiating %qD"
+ msgstr ""
+-#: cp/pt.c:7572
++#: cp/pt.c:7573
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%T%>"
+ msgstr ""
+-#: cp/pt.c:7576
++#: cp/pt.c:7577
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%E%>"
+ msgstr ""
+-#: cp/pt.c:8548
++#: cp/pt.c:8549
+ #, gcc-internal-format
+ msgid "instantiation of %q+D as type %qT"
+ msgstr ""
+@@ -33207,241 +33261,241 @@
+ #.
+ #. is an attempt to declare a variable with function
+ #. type.
+-#: cp/pt.c:8688
++#: cp/pt.c:8689
+ #, gcc-internal-format
+ msgid "variable %qD has function type"
+ msgstr ""
+-#: cp/pt.c:8835
++#: cp/pt.c:8836
+ #, gcc-internal-format
+ msgid "invalid parameter type %qT"
+ msgstr ""
+-#: cp/pt.c:8837
++#: cp/pt.c:8838
+ #, gcc-internal-format
+ msgid "in declaration %q+D"
+ msgstr ""
+-#: cp/pt.c:8914
++#: cp/pt.c:8915
+ #, gcc-internal-format
+ msgid "function returning an array"
+ msgstr ""
+-#: cp/pt.c:8916
++#: cp/pt.c:8917
+ #, gcc-internal-format
+ msgid "function returning a function"
+ msgstr ""
+-#: cp/pt.c:8943
++#: cp/pt.c:8944
+ #, gcc-internal-format
+ msgid "creating pointer to member function of non-class type %qT"
+ msgstr ""
+-#: cp/pt.c:9164
++#: cp/pt.c:9165
+ #, gcc-internal-format
+ msgid "array bound is not an integer constant"
+ msgstr ""
+-#: cp/pt.c:9184
++#: cp/pt.c:9185
+ #, gcc-internal-format
+ msgid "creating array with negative size (%qE)"
+ msgstr ""
+-#: cp/pt.c:9433
++#: cp/pt.c:9434
+ #, gcc-internal-format
+ msgid "forming reference to void"
+ msgstr ""
+-#: cp/pt.c:9435
++#: cp/pt.c:9436
+ #, gcc-internal-format
+ msgid "forming %s to reference type %qT"
+ msgstr ""
+-#: cp/pt.c:9486
++#: cp/pt.c:9487
+ #, gcc-internal-format
+ msgid "creating pointer to member of non-class type %qT"
+ msgstr ""
+-#: cp/pt.c:9492
++#: cp/pt.c:9493
+ #, gcc-internal-format
+ msgid "creating pointer to member reference type %qT"
+ msgstr ""
+-#: cp/pt.c:9498
++#: cp/pt.c:9499
+ #, gcc-internal-format
+ msgid "creating pointer to member of type void"
+ msgstr ""
+-#: cp/pt.c:9565
++#: cp/pt.c:9566
+ #, gcc-internal-format
+ msgid "creating array of %qT"
+ msgstr ""
+-#: cp/pt.c:9571
++#: cp/pt.c:9572
+ #, gcc-internal-format
+ msgid "creating array of %qT, which is an abstract class type"
+ msgstr ""
+-#: cp/pt.c:9622
++#: cp/pt.c:9623
+ #, gcc-internal-format
+ msgid "%qT is not a class, struct, or union type"
+ msgstr ""
+-#: cp/pt.c:9657
++#: cp/pt.c:9658
+ #, gcc-internal-format
+ msgid "%qT resolves to %qT, which is not an enumeration type"
+ msgstr ""
+-#: cp/pt.c:9660
++#: cp/pt.c:9661
+ #, gcc-internal-format
+ msgid "%qT resolves to %qT, which is is not a class type"
+ msgstr ""
+-#: cp/pt.c:9766
++#: cp/pt.c:9767
+ #, gcc-internal-format
+ msgid "use of %qs in template"
+ msgstr ""
+-#: cp/pt.c:9903
++#: cp/pt.c:9904
+ #, gcc-internal-format
+ msgid ""
+ "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
+ msgstr ""
+-#: cp/pt.c:9905
++#: cp/pt.c:9906
+ #, gcc-internal-format
+ msgid "say %<typename %E%> if a type is meant"
+ msgstr ""
+-#: cp/pt.c:10047
++#: cp/pt.c:10048
+ #, gcc-internal-format
+ msgid "using invalid field %qD"
+ msgstr ""
+-#: cp/pt.c:10377 cp/pt.c:11040
++#: cp/pt.c:10378 cp/pt.c:11041
+ #, gcc-internal-format
+ msgid "invalid use of pack expansion expression"
+ msgstr ""
+-#: cp/pt.c:10381 cp/pt.c:11044
++#: cp/pt.c:10382 cp/pt.c:11045
+ #, gcc-internal-format
+ msgid "use %<...%> to expand argument pack"
+ msgstr ""
+-#: cp/pt.c:10536
++#: cp/pt.c:10537
+ #, gcc-internal-format
+ msgid "iteration variable %qD should not be reduction"
+ msgstr ""
+-#: cp/pt.c:11204
++#: cp/pt.c:11205
+ #, gcc-internal-format
+ msgid ""
+ "a cast to a type other than an integral or enumeration type cannot appear in "
+ "a constant-expression"
+ msgstr ""
+-#: cp/pt.c:11671
++#: cp/pt.c:11673
+ #, gcc-internal-format
+ msgid "%qT is not a class or namespace"
+ msgstr ""
+-#: cp/pt.c:11674
++#: cp/pt.c:11676
+ #, gcc-internal-format
+ msgid "%qD is not a class or namespace"
+ msgstr ""
+-#: cp/pt.c:11894
++#: cp/pt.c:11896
+ #, gcc-internal-format
+ msgid "%qT is/uses anonymous type"
+ msgstr ""
+-#: cp/pt.c:11896
++#: cp/pt.c:11898
+ #, gcc-internal-format
+ msgid "template argument for %qD uses local type %qT"
+ msgstr ""
+-#: cp/pt.c:11906
++#: cp/pt.c:11908
+ #, gcc-internal-format
+ msgid "%qT is a variably modified type"
+ msgstr ""
+-#: cp/pt.c:11917
++#: cp/pt.c:11919
+ #, gcc-internal-format
+ msgid "integral expression %qE is not constant"
+ msgstr ""
+-#: cp/pt.c:11935
++#: cp/pt.c:11937
+ #, gcc-internal-format
+ msgid "  trying to instantiate %qD"
+ msgstr ""
+-#: cp/pt.c:14723
++#: cp/pt.c:14754
+ #, gcc-internal-format
+ msgid "ambiguous class template instantiation for %q#T"
+ msgstr ""
+-#: cp/pt.c:14726
++#: cp/pt.c:14757
+ #, gcc-internal-format
+ msgid "%s %+#T"
+ msgstr ""
+-#: cp/pt.c:14749 cp/pt.c:14832
++#: cp/pt.c:14780 cp/pt.c:14863
+ #, gcc-internal-format
+ msgid "explicit instantiation of non-template %q#D"
+ msgstr ""
+-#: cp/pt.c:14764
++#: cp/pt.c:14795
+ #, gcc-internal-format
+ msgid "%qD is not a static data member of a class template"
+ msgstr ""
+-#: cp/pt.c:14770 cp/pt.c:14827
++#: cp/pt.c:14801 cp/pt.c:14858
+ #, gcc-internal-format
+ msgid "no matching template for %qD found"
+ msgstr ""
+-#: cp/pt.c:14775
++#: cp/pt.c:14806
+ #, gcc-internal-format
+ msgid ""
+ "type %qT for explicit instantiation %qD does not match declared type %qT"
+ msgstr ""
+-#: cp/pt.c:14783
++#: cp/pt.c:14814
+ #, gcc-internal-format
+ msgid "explicit instantiation of %q#D"
+ msgstr ""
+-#: cp/pt.c:14819
++#: cp/pt.c:14850
+ #, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#D"
+ msgstr ""
+-#: cp/pt.c:14842 cp/pt.c:14934
++#: cp/pt.c:14873 cp/pt.c:14965
+ #, gcc-internal-format
+ msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
+ msgstr ""
+-#: cp/pt.c:14847 cp/pt.c:14951
++#: cp/pt.c:14878 cp/pt.c:14982
+ #, gcc-internal-format
+ msgid "storage class %qD applied to template instantiation"
+ msgstr ""
+-#: cp/pt.c:14912
++#: cp/pt.c:14943
+ #, gcc-internal-format
+ msgid "explicit instantiation of non-template type %qT"
+ msgstr ""
+-#: cp/pt.c:14921
++#: cp/pt.c:14952
+ #, gcc-internal-format
+ msgid "explicit instantiation of %q#T before definition of template"
+ msgstr ""
+-#: cp/pt.c:14939
++#: cp/pt.c:14970
+ #, gcc-internal-format
+ msgid "ISO C++ forbids the use of %qE on explicit instantiations"
+ msgstr ""
+-#: cp/pt.c:14985
++#: cp/pt.c:15016
+ #, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#T"
+ msgstr ""
+@@ -33453,12 +33507,12 @@
+ #. member function or static data member of a class template
+ #. shall be present in every translation unit in which it is
+ #. explicitly instantiated.
+-#: cp/pt.c:15435
++#: cp/pt.c:15466
+ #, gcc-internal-format
+ msgid "explicit instantiation of %qD but no definition available"
+ msgstr ""
+-#: cp/pt.c:15601
++#: cp/pt.c:15632
+ #, gcc-internal-format
+ msgid ""
+ "template instantiation depth exceeds maximum of %d instantiating %q+D, "
+@@ -33466,19 +33520,19 @@
+ "the maximum)"
+ msgstr ""
+-#: cp/pt.c:15956
++#: cp/pt.c:15987
+ #, gcc-internal-format
+ msgid "%q#T is not a valid type for a template constant parameter"
+ msgstr ""
+-#: cp/pt.c:16932
++#: cp/pt.c:16977
+ #, gcc-internal-format
+ msgid ""
+ "deducing auto from brace-enclosed initializer list requires #include "
+ "<initializer_list>"
+ msgstr ""
+-#: cp/pt.c:16973
++#: cp/pt.c:17018
+ #, gcc-internal-format
+ msgid "unable to deduce %qT from %qE"
+ msgstr ""
+@@ -33617,338 +33671,338 @@
+ msgid "__label__ declarations are only allowed in function scopes"
+ msgstr ""
+-#: cp/semantics.c:1429
++#: cp/semantics.c:1439
+ #, gcc-internal-format
+ msgid "invalid use of member %q+D in static member function"
+ msgstr ""
+-#: cp/semantics.c:1431
++#: cp/semantics.c:1441
+ #, gcc-internal-format
+ msgid "invalid use of non-static data member %q+D"
+ msgstr ""
+-#: cp/semantics.c:1432 cp/semantics.c:1471
++#: cp/semantics.c:1442 cp/semantics.c:1484
+ #, gcc-internal-format
+ msgid "from this location"
+ msgstr ""
+-#: cp/semantics.c:1470
++#: cp/semantics.c:1483
+ #, gcc-internal-format
+ msgid "object missing in reference to %q+D"
+ msgstr ""
+-#: cp/semantics.c:1964
++#: cp/semantics.c:1973
+ #, gcc-internal-format
+ msgid "arguments to destructor are not allowed"
+ msgstr ""
+-#: cp/semantics.c:2016
++#: cp/semantics.c:2023
+ #, gcc-internal-format
+ msgid "%<this%> is unavailable for static member functions"
+ msgstr ""
+-#: cp/semantics.c:2022
++#: cp/semantics.c:2029
+ #, gcc-internal-format
+ msgid "invalid use of %<this%> in non-member function"
+ msgstr ""
+-#: cp/semantics.c:2024
++#: cp/semantics.c:2031
+ #, gcc-internal-format
+ msgid "invalid use of %<this%> at top level"
+ msgstr ""
+-#: cp/semantics.c:2048
++#: cp/semantics.c:2055
+ #, gcc-internal-format
+ msgid "invalid qualifying scope in pseudo-destructor name"
+ msgstr ""
+-#: cp/semantics.c:2053 cp/typeck.c:2130
++#: cp/semantics.c:2060 cp/typeck.c:2130
+ #, gcc-internal-format
+ msgid "qualified type %qT does not match destructor name ~%qT"
+ msgstr ""
+-#: cp/semantics.c:2075
++#: cp/semantics.c:2082
+ #, gcc-internal-format
+ msgid "%qE is not of type %qT"
+ msgstr ""
+-#: cp/semantics.c:2119
++#: cp/semantics.c:2126
+ #, gcc-internal-format
+ msgid "compound literal of non-object type %qT"
+ msgstr ""
+-#: cp/semantics.c:2203
++#: cp/semantics.c:2210
+ #, gcc-internal-format
+ msgid "template type parameters must use the keyword %<class%> or %<typename%>"
+ msgstr ""
+-#: cp/semantics.c:2244
++#: cp/semantics.c:2251
+ #, gcc-internal-format
+ msgid ""
+ "invalid use of type %qT as a default value for a template template-parameter"
+ msgstr ""
+-#: cp/semantics.c:2247
++#: cp/semantics.c:2254
+ #, gcc-internal-format
+ msgid "invalid default argument for a template template parameter"
+ msgstr ""
+-#: cp/semantics.c:2264
++#: cp/semantics.c:2271
+ #, gcc-internal-format
+ msgid "definition of %q#T inside template parameter list"
+ msgstr ""
+-#: cp/semantics.c:2275
++#: cp/semantics.c:2282
+ #, gcc-internal-format
+ msgid "invalid definition of qualified type %qT"
+ msgstr ""
+-#: cp/semantics.c:2491
++#: cp/semantics.c:2498
+ #, gcc-internal-format
+ msgid "invalid base-class specification"
+ msgstr ""
+-#: cp/semantics.c:2503
++#: cp/semantics.c:2510
+ #, gcc-internal-format
+ msgid "base class %qT has cv qualifiers"
+ msgstr ""
+-#: cp/semantics.c:2528
++#: cp/semantics.c:2535
+ #, gcc-internal-format
+ msgid "%Hincomplete type %qT used in nested name specifier"
+ msgstr ""
+-#: cp/semantics.c:2532
++#: cp/semantics.c:2539
+ #, gcc-internal-format
+ msgid "%Hreference to %<%T::%D%> is ambiguous"
+ msgstr ""
+-#: cp/semantics.c:2536
++#: cp/semantics.c:2543
+ #, gcc-internal-format
+ msgid "%H%qD is not a member of %qT"
+ msgstr ""
+-#: cp/semantics.c:2539
++#: cp/semantics.c:2546
+ #, gcc-internal-format
+ msgid "%H%qD is not a member of %qD"
+ msgstr ""
+-#: cp/semantics.c:2541
++#: cp/semantics.c:2548
+ #, gcc-internal-format
+ msgid "%H%<::%D%> has not been declared"
+ msgstr ""
+-#: cp/semantics.c:2682
++#: cp/semantics.c:2689
+ #, gcc-internal-format
+ msgid "use of %<auto%> variable from containing function"
+ msgstr ""
+-#: cp/semantics.c:2684
++#: cp/semantics.c:2691
+ #, gcc-internal-format
+ msgid "  %q+#D declared here"
+ msgstr ""
+-#: cp/semantics.c:2722
++#: cp/semantics.c:2729
+ #, gcc-internal-format
+ msgid ""
+ "template parameter %qD of type %qT is not allowed in an integral constant "
+ "expression because it is not of integral or enumeration type"
+ msgstr ""
+-#: cp/semantics.c:2891
++#: cp/semantics.c:2893
+ #, gcc-internal-format
+ msgid "%qD cannot appear in a constant-expression"
+ msgstr ""
+-#: cp/semantics.c:2899
++#: cp/semantics.c:2901
+ #, gcc-internal-format
+ msgid "use of namespace %qD as expression"
+ msgstr ""
+-#: cp/semantics.c:2904
++#: cp/semantics.c:2906
+ #, gcc-internal-format
+ msgid "use of class template %qT as expression"
+ msgstr ""
+ #. Ambiguous reference to base members.
+-#: cp/semantics.c:2910
++#: cp/semantics.c:2912
+ #, gcc-internal-format
+ msgid "request for member %qD is ambiguous in multiple inheritance lattice"
+ msgstr ""
+-#: cp/semantics.c:3032 cp/semantics.c:4762
++#: cp/semantics.c:3034 cp/semantics.c:4764
+ #, gcc-internal-format
+ msgid "type of %qE is unknown"
+ msgstr ""
+-#: cp/semantics.c:3047
++#: cp/semantics.c:3049
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
+ msgstr ""
+-#: cp/semantics.c:3058
++#: cp/semantics.c:3060
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to member function %qD"
+ msgstr ""
+-#: cp/semantics.c:3503
++#: cp/semantics.c:3505
+ #, gcc-internal-format
+ msgid "%qD is not a variable in clause %qs"
+ msgstr ""
+-#: cp/semantics.c:3512 cp/semantics.c:3534 cp/semantics.c:3556
++#: cp/semantics.c:3514 cp/semantics.c:3536 cp/semantics.c:3558
+ #, gcc-internal-format
+ msgid "%qD appears more than once in data clauses"
+ msgstr ""
+-#: cp/semantics.c:3526
++#: cp/semantics.c:3528
+ #, gcc-internal-format
+ msgid "%qD is not a variable in clause %<firstprivate%>"
+ msgstr ""
+-#: cp/semantics.c:3548
++#: cp/semantics.c:3550
+ #, gcc-internal-format
+ msgid "%qD is not a variable in clause %<lastprivate%>"
+ msgstr ""
+-#: cp/semantics.c:3578
++#: cp/semantics.c:3580
+ #, gcc-internal-format
+ msgid "num_threads expression must be integral"
+ msgstr ""
+-#: cp/semantics.c:3592
++#: cp/semantics.c:3594
+ #, gcc-internal-format
+ msgid "schedule chunk size expression must be integral"
+ msgstr ""
+-#: cp/semantics.c:3724
++#: cp/semantics.c:3726
+ #, gcc-internal-format
+ msgid "%qE has reference type for %qs"
+ msgstr ""
+-#: cp/semantics.c:3795
++#: cp/semantics.c:3797
+ #, gcc-internal-format
+ msgid "%<threadprivate%> %qD is not file, namespace or block scope variable"
+ msgstr ""
+-#: cp/semantics.c:3809
++#: cp/semantics.c:3811
+ #, gcc-internal-format
+ msgid "%<threadprivate%> %qE directive not in %qT definition"
+ msgstr ""
+-#: cp/semantics.c:3944
++#: cp/semantics.c:3946
+ #, gcc-internal-format
+ msgid "%Hinvalid controlling predicate"
+ msgstr ""
+-#: cp/semantics.c:3954
++#: cp/semantics.c:3956
+ #, gcc-internal-format
+ msgid "%Hdifference between %qE and %qD does not have integer type"
+ msgstr ""
+-#: cp/semantics.c:4049
++#: cp/semantics.c:4051
+ #, gcc-internal-format
+ msgid "%Hinvalid increment expression"
+ msgstr ""
+-#: cp/semantics.c:4175 cp/semantics.c:4246
++#: cp/semantics.c:4177 cp/semantics.c:4248
+ #, gcc-internal-format
+ msgid "%Hexpected iteration declaration or initialization"
+ msgstr ""
+-#: cp/semantics.c:4186
++#: cp/semantics.c:4188
+ #, gcc-internal-format
+ msgid "%Hmissing controlling predicate"
+ msgstr ""
+-#: cp/semantics.c:4192
++#: cp/semantics.c:4194
+ #, gcc-internal-format
+ msgid "%Hmissing increment expression"
+ msgstr ""
+-#: cp/semantics.c:4272
++#: cp/semantics.c:4274
+ #, gcc-internal-format
+ msgid "%Hinvalid type for iteration variable %qE"
+ msgstr ""
+ #. Report the error.
+-#: cp/semantics.c:4474
++#: cp/semantics.c:4476
+ #, gcc-internal-format
+ msgid "static assertion failed: %E"
+ msgstr ""
+-#: cp/semantics.c:4476
++#: cp/semantics.c:4478
+ #, gcc-internal-format
+ msgid "non-constant condition for static assertion"
+ msgstr ""
+-#: cp/semantics.c:4568 cp/semantics.c:4685
++#: cp/semantics.c:4570 cp/semantics.c:4687
+ #, gcc-internal-format
+ msgid "argument to decltype must be an expression"
+ msgstr ""
+-#: cp/semantics.c:4635
++#: cp/semantics.c:4637
+ #, gcc-internal-format
+ msgid "%qE refers to a set of overloaded functions"
+ msgstr ""
+-#: cp/semantics.c:4718
++#: cp/semantics.c:4720
+ #, gcc-internal-format
+ msgid "unable to determine the declared type of expression %<%E%>"
+ msgstr ""
+-#: cp/semantics.c:4949
++#: cp/semantics.c:4951
+ #, gcc-internal-format
+ msgid "__is_convertible_to"
+ msgstr ""
+-#: cp/semantics.c:4988 cp/semantics.c:4998
++#: cp/semantics.c:4990 cp/semantics.c:5000
+ #, gcc-internal-format
+ msgid "incomplete type %qT not allowed"
+ msgstr ""
+-#: cp/tree.c:881
++#: cp/tree.c:880
+ #, gcc-internal-format
+ msgid "%qV qualifiers cannot be applied to %qT"
+ msgstr ""
+-#: cp/tree.c:2215
++#: cp/tree.c:2214
+ #, gcc-internal-format
+ msgid "%qE attribute can only be applied to Java class definitions"
+ msgstr ""
+-#: cp/tree.c:2244
++#: cp/tree.c:2243
+ #, gcc-internal-format
+ msgid "%qE attribute can only be applied to class definitions"
+ msgstr ""
+-#: cp/tree.c:2250
++#: cp/tree.c:2249
+ #, gcc-internal-format
+ msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
+ msgstr ""
+-#: cp/tree.c:2274
++#: cp/tree.c:2273
+ #, gcc-internal-format
+ msgid "requested init_priority is not an integer constant"
+ msgstr ""
+-#: cp/tree.c:2295
++#: cp/tree.c:2294
+ #, gcc-internal-format
+ msgid ""
+ "can only use %qE attribute on file-scope definitions of objects of class type"
+ msgstr ""
+-#: cp/tree.c:2303
++#: cp/tree.c:2302
+ #, gcc-internal-format
+ msgid "requested init_priority is out of range"
+ msgstr ""
+-#: cp/tree.c:2313
++#: cp/tree.c:2312
+ #, gcc-internal-format
+ msgid "requested init_priority is reserved for internal use"
+ msgstr ""
+-#: cp/tree.c:2324
++#: cp/tree.c:2323
+ #, gcc-internal-format
+ msgid "%qE attribute is not supported on this platform"
+ msgstr ""
+@@ -34814,12 +34868,12 @@
+ msgid "gfc_conv_constant_to_tree(): invalid type: %s"
+ msgstr ""
+-#: fortran/trans-decl.c:1026
++#: fortran/trans-decl.c:1028
+ #, gcc-internal-format
+ msgid "intrinsic variable which isn't a procedure"
+ msgstr ""
+-#: fortran/trans-decl.c:3165
++#: fortran/trans-decl.c:3167
+ #, gcc-internal-format
+ msgid "backend decl for module variable %s already exists"
+ msgstr ""
+@@ -35540,3 +35594,13 @@
+ #, gcc-internal-format
+ msgid "local declaration of %qs hides instance variable"
+ msgstr ""
++
++#: ada/gcc-interface/misc.c:221
++#, gcc-internal-format
++msgid "missing argument to \"-%s\""
++msgstr ""
++
++#: ada/gcc-interface/misc.c:279
++#, gcc-internal-format
++msgid "%<-gnat%> misspelled as %<-gant%>"
++msgstr ""
+Index: gcc/ira-costs.c
+===================================================================
+--- gcc/ira-costs.c    (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/ira-costs.c    (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -138,9 +138,6 @@
+   sri.extra_cost = 0;
+   secondary_class = targetm.secondary_reload (to_p, x, rclass, mode, &sri);
+-  if (ira_register_move_cost[mode] == NULL)
+-    ira_init_register_move_cost (mode);
+-
+   if (secondary_class != NO_REGS)
+     {
+       if (!move_cost[mode])
+@@ -294,19 +291,17 @@
+                    needs to do a copy, which is one insn.  */
+                 struct costs *pp = this_op_costs[i];
+-                if (ira_register_move_cost[mode] == NULL)
+-                  ira_init_register_move_cost (mode);
+-
+                 for (k = 0; k < cost_classes_num; k++)
+                   {
+                     rclass = cost_classes[k];
+                     pp->cost[k]
+-                      = ((recog_data.operand_type[i] != OP_OUT
+-                          ? ira_may_move_in_cost[mode][rclass]
+-                            [classes[i]] * frequency : 0)
+-                         + (recog_data.operand_type[i] != OP_IN
+-                            ? ira_may_move_out_cost[mode][classes[i]]
+-                              [rclass] * frequency : 0));
++                      = (((recog_data.operand_type[i] != OP_OUT
++                           ? ira_get_may_move_cost (mode, rclass,
++                                                    classes[i], true) : 0)
++                          + (recog_data.operand_type[i] != OP_IN
++                             ? ira_get_may_move_cost (mode, classes[i],
++                                                      rclass, false) : 0))
++                         * frequency);
+                   }
+                 /* If the alternative actually allows memory, make
+@@ -342,8 +337,9 @@
+                                : 0));
+                     else if (ira_reg_class_intersect
+                              [pref_class][classes[i]] == NO_REGS)
+-                      alt_cost += (ira_register_move_cost
+-                                   [mode][pref_class][classes[i]]);
++                      alt_cost += ira_get_register_move_cost (mode,
++                                                              pref_class,
++                                                              classes[i]);
+                   }
+                 if (REGNO (ops[i]) != REGNO (ops[j])
+                     && ! find_reg_note (insn, REG_DEAD, op))
+@@ -540,19 +536,17 @@
+               {
+                 struct costs *pp = this_op_costs[i];
+-                if (ira_register_move_cost[mode] == NULL)
+-                  ira_init_register_move_cost (mode);
+-
+                 for (k = 0; k < cost_classes_num; k++)
+                   {
+                     rclass = cost_classes[k];
+                     pp->cost[k]
+-                      = ((recog_data.operand_type[i] != OP_OUT
+-                          ? ira_may_move_in_cost[mode][rclass]
+-                            [classes[i]] * frequency : 0)
+-                         + (recog_data.operand_type[i] != OP_IN
+-                            ? ira_may_move_out_cost[mode][classes[i]]
+-                              [rclass] * frequency : 0));
++                      = (((recog_data.operand_type[i] != OP_OUT
++                           ? ira_get_may_move_cost (mode, rclass,
++                                                    classes[i], true) : 0)
++                          + (recog_data.operand_type[i] != OP_IN
++                             ? ira_get_may_move_cost (mode, classes[i],
++                                                      rclass, false) : 0))
++                         * frequency);
+                   }
+                 /* If the alternative actually allows memory, make
+@@ -587,8 +581,9 @@
+                                : 0));
+                     else if (ira_reg_class_intersect[pref_class][classes[i]]
+                              == NO_REGS)
+-                      alt_cost += (ira_register_move_cost
+-                                   [mode][pref_class][classes[i]]);
++                      alt_cost += ira_get_register_move_cost (mode,
++                                                              pref_class,
++                                                              classes[i]);
+                   }
+               }
+           }
+@@ -901,13 +896,11 @@
+                              ALLOCNO_NUM (ira_curr_regno_allocno_map
+                                           [REGNO (x)]));
+       pp->mem_cost += (ira_memory_move_cost[Pmode][rclass][1] * scale) / 2;
+-      if (ira_register_move_cost[Pmode] == NULL)
+-        ira_init_register_move_cost (Pmode);
+       for (k = 0; k < cost_classes_num; k++)
+         {
+           i = cost_classes[k];
+           pp->cost[k]
+-            += (ira_may_move_in_cost[Pmode][i][rclass] * scale) / 2;
++            += (ira_get_may_move_cost (Pmode, i, rclass, true) * scale) / 2;
+         }
+       }
+       break;
+@@ -1425,8 +1418,9 @@
+       continue;
+       mode = ALLOCNO_MODE (a);
+       hard_reg_class = REGNO_REG_CLASS (hard_regno);
+-      cost = (to_p ? ira_register_move_cost[mode][hard_reg_class][rclass]
+-            : ira_register_move_cost[mode][rclass][hard_reg_class]) * freq;
++      cost
++      = (to_p ? ira_get_register_move_cost (mode, hard_reg_class, rclass)
++         : ira_get_register_move_cost (mode, rclass, hard_reg_class)) * freq;
+       ira_allocate_and_set_costs (&ALLOCNO_HARD_REG_COSTS (a), rclass,
+                                 ALLOCNO_COVER_CLASS_COST (a));
+       ira_allocate_and_set_costs (&ALLOCNO_CONFLICT_HARD_REG_COSTS (a),
+@@ -1579,9 +1573,6 @@
+ void
+ ira_costs (void)
+ {
+-  ira_allocno_t a;
+-  ira_allocno_iterator ai;
+-
+   allocno_costs = (struct costs *) ira_allocate (max_struct_costs_size
+                                              * ira_allocnos_num);
+   total_costs = (struct costs *) ira_allocate (max_struct_costs_size
+@@ -1594,12 +1585,6 @@
+                                      * max_reg_num ());
+   find_allocno_class_costs ();
+   setup_allocno_cover_class_and_costs ();
+-  /* Because we could process operands only as subregs, check mode of
+-     the registers themselves too.  */
+-  FOR_EACH_ALLOCNO (a, ai)
+-    if (ira_register_move_cost[ALLOCNO_MODE (a)] == NULL
+-      && have_regs_of_mode[ALLOCNO_MODE (a)])
+-      ira_init_register_move_cost (ALLOCNO_MODE (a));
+   ira_free (common_classes);
+   ira_free (allocno_pref_buffer);
+   ira_free (total_costs);
+Index: gcc/config/spu/spu-builtins.h
+===================================================================
+--- gcc/config/spu/spu-builtins.h      (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/config/spu/spu-builtins.h      (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,119 +0,0 @@
+-/* Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+-
+-   This file is free software; you can redistribute it and/or modify it under
+-   the terms of the GNU General Public License as published by the Free
+-   Software Foundation; either version 3 of the License, or (at your option) 
+-   any later version.
+-
+-   This file is distributed in the hope that it will be useful, but WITHOUT
+-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+-   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+-   for more details.
+-
+-   You should have received a copy of the GNU General Public License
+-   along with GCC; see the file COPYING3.  If not see
+-   <http://www.gnu.org/licenses/>.  */
+-\f
+-/* built-ins */
+-
+-enum spu_builtin_type_index
+-{
+-  SPU_BTI_END_OF_PARAMS,
+-
+-  /* We create new type nodes for these. */
+-  SPU_BTI_V16QI,
+-  SPU_BTI_V8HI,
+-  SPU_BTI_V4SI,
+-  SPU_BTI_V2DI,
+-  SPU_BTI_V4SF,
+-  SPU_BTI_V2DF,
+-  SPU_BTI_UV16QI,
+-  SPU_BTI_UV8HI,
+-  SPU_BTI_UV4SI,
+-  SPU_BTI_UV2DI,
+-
+-  /* A 16-byte type. (Implemented with V16QI_type_node) */
+-  SPU_BTI_QUADWORD,
+-
+-  /* These all correspond to intSI_type_node */
+-  SPU_BTI_7,
+-  SPU_BTI_S7,
+-  SPU_BTI_U7,
+-  SPU_BTI_S10,
+-  SPU_BTI_S10_4,
+-  SPU_BTI_U14,
+-  SPU_BTI_16,
+-  SPU_BTI_S16,
+-  SPU_BTI_S16_2,
+-  SPU_BTI_U16,
+-  SPU_BTI_U16_2,
+-  SPU_BTI_U18,
+-
+-  /* These correspond to the standard types */
+-  SPU_BTI_INTQI, 
+-  SPU_BTI_INTHI, 
+-  SPU_BTI_INTSI, 
+-  SPU_BTI_INTDI, 
+-
+-  SPU_BTI_UINTQI,
+-  SPU_BTI_UINTHI,
+-  SPU_BTI_UINTSI,
+-  SPU_BTI_UINTDI,
+-
+-  SPU_BTI_FLOAT, 
+-  SPU_BTI_DOUBLE,
+-
+-  SPU_BTI_VOID,   
+-  SPU_BTI_PTR,   
+-
+-  SPU_BTI_MAX
+-};
+-
+-#define V16QI_type_node               (spu_builtin_types[SPU_BTI_V16QI])
+-#define V8HI_type_node                (spu_builtin_types[SPU_BTI_V8HI])
+-#define V4SI_type_node                (spu_builtin_types[SPU_BTI_V4SI])
+-#define V2DI_type_node                (spu_builtin_types[SPU_BTI_V2DI])
+-#define V4SF_type_node                (spu_builtin_types[SPU_BTI_V4SF])
+-#define V2DF_type_node                (spu_builtin_types[SPU_BTI_V2DF])
+-#define unsigned_V16QI_type_node      (spu_builtin_types[SPU_BTI_UV16QI])
+-#define unsigned_V8HI_type_node       (spu_builtin_types[SPU_BTI_UV8HI])
+-#define unsigned_V4SI_type_node       (spu_builtin_types[SPU_BTI_UV4SI])
+-#define unsigned_V2DI_type_node       (spu_builtin_types[SPU_BTI_UV2DI])
+-
+-extern GTY(()) tree spu_builtin_types[SPU_BTI_MAX];
+-
+-/* Some builtins require special handling.  This enum differentiates. */
+-enum spu_builtin_type {
+-    B_INSN,
+-    B_JUMP,
+-    B_BISLED,
+-    B_CALL,
+-    B_HINT,
+-    B_OVERLOAD, 
+-    B_INTERNAL
+-};
+-
+-typedef enum {
+-#define DEF_BUILTIN(fcode, icode, name, type, params) fcode,
+-#include "spu-builtins.def"
+-#undef DEF_BUILTIN
+-   NUM_SPU_BUILTINS
+-} spu_function_code;
+-
+-struct spu_builtin_description {
+-    spu_function_code fcode;
+-    enum insn_code icode;
+-    const char *name;
+-    enum spu_builtin_type type;
+-
+-    /* The first element of parm is always the return type.  The rest
+-     * are a zero terminated list of parameters. */
+-    int parm[5];
+-
+-    tree fndecl;
+-};
+-
+-extern GTY(()) struct spu_builtin_description spu_builtins[];
+-
+-
+-
+Index: gcc/config/spu/spu.c
+===================================================================
+--- gcc/config/spu/spu.c       (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/config/spu/spu.c       (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -52,13 +52,79 @@
+ #include "machmode.h"
+ #include "gimple.h"
+ #include "tm-constrs.h"
+-#include "spu-builtins.h"
+ #include "ddg.h"
+ #include "sbitmap.h"
+ #include "timevar.h"
+ #include "df.h"
+ /* Builtin types, data and prototypes. */
++
++enum spu_builtin_type_index
++{
++  SPU_BTI_END_OF_PARAMS,
++
++  /* We create new type nodes for these. */
++  SPU_BTI_V16QI,
++  SPU_BTI_V8HI,
++  SPU_BTI_V4SI,
++  SPU_BTI_V2DI,
++  SPU_BTI_V4SF,
++  SPU_BTI_V2DF,
++  SPU_BTI_UV16QI,
++  SPU_BTI_UV8HI,
++  SPU_BTI_UV4SI,
++  SPU_BTI_UV2DI,
++
++  /* A 16-byte type. (Implemented with V16QI_type_node) */
++  SPU_BTI_QUADWORD,
++
++  /* These all correspond to intSI_type_node */
++  SPU_BTI_7,
++  SPU_BTI_S7,
++  SPU_BTI_U7,
++  SPU_BTI_S10,
++  SPU_BTI_S10_4,
++  SPU_BTI_U14,
++  SPU_BTI_16,
++  SPU_BTI_S16,
++  SPU_BTI_S16_2,
++  SPU_BTI_U16,
++  SPU_BTI_U16_2,
++  SPU_BTI_U18,
++
++  /* These correspond to the standard types */
++  SPU_BTI_INTQI, 
++  SPU_BTI_INTHI, 
++  SPU_BTI_INTSI, 
++  SPU_BTI_INTDI, 
++
++  SPU_BTI_UINTQI,
++  SPU_BTI_UINTHI,
++  SPU_BTI_UINTSI,
++  SPU_BTI_UINTDI,
++
++  SPU_BTI_FLOAT, 
++  SPU_BTI_DOUBLE,
++
++  SPU_BTI_VOID,   
++  SPU_BTI_PTR,   
++
++  SPU_BTI_MAX
++};
++
++#define V16QI_type_node               (spu_builtin_types[SPU_BTI_V16QI])
++#define V8HI_type_node                (spu_builtin_types[SPU_BTI_V8HI])
++#define V4SI_type_node                (spu_builtin_types[SPU_BTI_V4SI])
++#define V2DI_type_node                (spu_builtin_types[SPU_BTI_V2DI])
++#define V4SF_type_node                (spu_builtin_types[SPU_BTI_V4SF])
++#define V2DF_type_node                (spu_builtin_types[SPU_BTI_V2DF])
++#define unsigned_V16QI_type_node      (spu_builtin_types[SPU_BTI_UV16QI])
++#define unsigned_V8HI_type_node       (spu_builtin_types[SPU_BTI_UV8HI])
++#define unsigned_V4SI_type_node       (spu_builtin_types[SPU_BTI_UV4SI])
++#define unsigned_V2DI_type_node       (spu_builtin_types[SPU_BTI_UV2DI])
++
++static GTY(()) tree spu_builtin_types[SPU_BTI_MAX];
++
+ struct spu_builtin_range
+ {
+   int low, high;
+@@ -202,8 +268,6 @@
+ static enum machine_mode
+ spu_libgcc_shift_count_mode (void);
+-/* Built in types.  */
+-tree spu_builtin_types[SPU_BTI_MAX];
\f
+ /*  TARGET overrides.  */
+@@ -5067,6 +5131,16 @@
\f
+ /* Create the built-in types and functions */
++enum spu_function_code
++{
++#define DEF_BUILTIN(fcode, icode, name, type, params) fcode,
++#include "spu-builtins.def"
++#undef DEF_BUILTIN
++   NUM_SPU_BUILTINS
++};
++
++extern GTY(()) struct spu_builtin_description spu_builtins[NUM_SPU_BUILTINS];
++
+ struct spu_builtin_description spu_builtins[] = {
+ #define DEF_BUILTIN(fcode, icode, name, type, params) \
+   {fcode, icode, name, type, params, NULL_TREE},
+@@ -6298,3 +6372,5 @@
+   return default_section_type_flags (decl, name, reloc);
+ }
++#include "gt-spu.h"
++
+Index: gcc/config/spu/spu.h
+===================================================================
+--- gcc/config/spu/spu.h       (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/config/spu/spu.h       (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -622,3 +622,33 @@
+ extern GTY(()) rtx spu_compare_op0;
+ extern GTY(()) rtx spu_compare_op1;
++
++/* Builtins.  */
++
++enum spu_builtin_type
++{
++  B_INSN,
++  B_JUMP,
++  B_BISLED,
++  B_CALL,
++  B_HINT,
++  B_OVERLOAD,
++  B_INTERNAL
++};
++
++struct spu_builtin_description GTY(())
++{
++  int fcode;
++  int icode;
++  const char *name;
++  enum spu_builtin_type type;
++
++  /* The first element of parm is always the return type.  The rest
++     are a zero terminated list of parameters.  */
++  int parm[5];
++
++  tree fndecl;
++};
++
++extern struct spu_builtin_description spu_builtins[];
++
+Index: gcc/config/spu/spu-c.c
+===================================================================
+--- gcc/config/spu/spu-c.c     (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/config/spu/spu-c.c     (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -32,7 +32,6 @@
+ #include "insn-codes.h"
+ #include "recog.h"
+ #include "optabs.h"
+-#include "spu-builtins.h"
\f
+ /* Keep the vector keywords handy for fast comparisons.  */
+@@ -101,8 +100,7 @@
+ #define SCALAR_TYPE_P(t) (INTEGRAL_TYPE_P (t) \
+                         || SCALAR_FLOAT_TYPE_P (t) \
+                         || POINTER_TYPE_P (t))
+-  spu_function_code new_fcode, fcode =
+-    DECL_FUNCTION_CODE (fndecl) - END_BUILTINS;
++  int new_fcode, fcode = DECL_FUNCTION_CODE (fndecl) - END_BUILTINS;
+   struct spu_builtin_description *desc;
+   tree match = NULL_TREE;
+@@ -122,8 +120,15 @@
+       tree decl = spu_builtins[new_fcode].fndecl;
+       tree params = TYPE_ARG_TYPES (TREE_TYPE (decl));
+       tree arg, param;
++      bool all_scalar;
+       int p;
++      /* Check whether all parameters are scalar.  */
++      all_scalar = true;
++      for (param = params; param != void_list_node; param = TREE_CHAIN (param))
++      if (!SCALAR_TYPE_P (TREE_VALUE (param)))
++        all_scalar = false;
++
+       for (param = params, arg = fnargs, p = 0;
+          param != void_list_node;
+          param = TREE_CHAIN (param), arg = TREE_CHAIN (arg), p++)
+@@ -155,10 +160,7 @@
+            parameter. */
+         if ((!SCALAR_TYPE_P (param_type)
+              || !SCALAR_TYPE_P (arg_type)
+-             || ((fcode == SPU_SPLATS || fcode == SPU_PROMOTE
+-                  || fcode == SPU_HCMPEQ || fcode == SPU_HCMPGT
+-                  || fcode == SPU_MASKB || fcode == SPU_MASKH
+-                  || fcode == SPU_MASKW) && p == 0))
++             || (all_scalar && p == 0))
+             && !comptypes (TYPE_MAIN_VARIANT (param_type),
+                            TYPE_MAIN_VARIANT (arg_type)))
+           break;
+Index: gcc/config/spu/t-spu-elf
+===================================================================
+--- gcc/config/spu/t-spu-elf   (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/config/spu/t-spu-elf   (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -85,13 +85,10 @@
+   output.h $(BASIC_BLOCK_H) $(INTEGRATE_H) toplev.h $(GGC_H) $(HASHTAB_H) \
+   $(TM_P_H) $(TARGET_H) $(TARGET_DEF_H) langhooks.h reload.h cfglayout.h \
+   $(srcdir)/config/spu/spu-protos.h \
+-  $(srcdir)/config/spu/spu-builtins.h \
+   $(srcdir)/config/spu/spu-builtins.def 
+ spu-c.o: $(srcdir)/config/spu/spu-c.c \
+     $(srcdir)/config/spu/spu-protos.h \
+-    $(srcdir)/config/spu/spu-builtins.h \
+-    $(srcdir)/config/spu/spu-builtins.def \
+     $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(CPPLIB_H) \
+     $(TM_P_H) c-pragma.h errors.h coretypes.h $(TM_H) insn-codes.h
+       $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/spu/spu-c.c
+Index: gcc/config/arm/arm.h
+===================================================================
+--- gcc/config/arm/arm.h       (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ gcc/config/arm/arm.h       (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -2244,8 +2244,10 @@
+ #define GO_IF_MODE_DEPENDENT_ADDRESS(ADDR, LABEL)     \
+   if (TARGET_32BIT)                                   \
+     ARM_GO_IF_MODE_DEPENDENT_ADDRESS (ADDR, LABEL)
+-\f
++/* Define this for compatibility reasons. */
++#define HANDLE_PRAGMA_PACK_PUSH_POP
++
+ /* Specify the machine mode that this machine uses
+    for the index in the tablejump instruction.  */
+ #define CASE_VECTOR_MODE Pmode
+Index: libstdc++-v3/include/bits/locale_facets.tcc
+===================================================================
+--- libstdc++-v3/include/bits/locale_facets.tcc        (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ libstdc++-v3/include/bits/locale_facets.tcc        (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -379,8 +379,7 @@
+       if (!__testeof)
+         {
+           __c = *__beg;
+-          if (__gnu_cxx::__numeric_traits<_ValueT>::__is_signed)
+-            __negative = __c == __lit[__num_base::_S_iminus];
++          __negative = __c == __lit[__num_base::_S_iminus];
+           if ((__negative || __c == __lit[__num_base::_S_iplus])
+               && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
+               && !(__c == __lc->_M_decimal_point))
+@@ -449,7 +448,8 @@
+         __found_grouping.reserve(32);
+       bool __testfail = false;
+       bool __testoverflow = false;
+-      const __unsigned_type __max = __negative
++      const __unsigned_type __max =
++        (__negative && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed)
+         ? -__gnu_cxx::__numeric_traits<_ValueT>::__min
+         : __gnu_cxx::__numeric_traits<_ValueT>::__max;
+       const __unsigned_type __smax = __max / __base;
+@@ -552,7 +552,8 @@
+         }
+       else if (__testoverflow)
+         {
+-          if (__negative)
++          if (__negative
++              && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed)
+             __v = __gnu_cxx::__numeric_traits<_ValueT>::__min;
+           else
+             __v = __gnu_cxx::__numeric_traits<_ValueT>::__max;
+Index: libstdc++-v3/ChangeLog
+===================================================================
+--- libstdc++-v3/ChangeLog     (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ libstdc++-v3/ChangeLog     (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,3 +1,12 @@
++2009-04-21  Paolo Carlini  <paolo.carlini@oracle.com>
++
++      PR libstdc++/39802
++      * include/bits/locale_facets.tcc (num_get<>::_M_extract_int
++      (_InIter, _InIter, ios_base&, ios_base::iostate&, _ValueT&)):
++      Always accept negative values, for unsigned types too.
++      * testsuite/22_locale/num_get/get/char/39802.cc: New.
++      * testsuite/22_locale/num_get/get/wchar_t/39802.cc: Likewise.
++
+ 2009-04-21  Release Manager
+       * GCC 4.4.0 released.
+Index: libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/39802.cc
+===================================================================
+--- libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/39802.cc      (.../tags/gcc_4_4_0_release)    (wersja 0)
++++ libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/39802.cc      (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -0,0 +1,77 @@
++// Copyright (C) 2009 Free Software Foundation
++//
++// This file is part of the GNU ISO C++ Library.  This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING3.  If not see
++// <http://www.gnu.org/licenses/>.
++
++// 22.2.2.1.1  num_get members
++
++#include <locale>
++#include <sstream>
++#include <limits>
++#include <testsuite_hooks.h>
++
++// libstdc++/39802
++void test01()
++{
++  using namespace std;
++  typedef istreambuf_iterator<wchar_t> iterator_type;
++  
++  bool test __attribute__((unused)) = true;
++
++  wstringstream ss;
++  const num_get<wchar_t>& ng = use_facet<num_get<wchar_t> >(ss.getloc()); 
++  ios_base::iostate err;
++  iterator_type end;
++  const wstring empty;
++
++  unsigned long ul0 = 1;
++  const unsigned long ul1 = numeric_limits<unsigned long>::max();
++
++  ss << L"-0";
++  err = ios_base::goodbit;
++  end = ng.get(ss.rdbuf(), 0, ss, err, ul0);
++  VERIFY( err == ios_base::eofbit );
++  VERIFY( ul0 == 0 );
++
++  ss.clear();
++  ss.str(empty);
++  ss << L"-1";
++  err = ios_base::goodbit;
++  end = ng.get(ss.rdbuf(), 0, ss, err, ul0);
++  VERIFY( err == ios_base::eofbit );
++  VERIFY( ul0 == ul1 );
++
++  ss.clear();
++  ss.str(empty);
++  ss << L'-' << ul1;
++  err = ios_base::goodbit;
++  end = ng.get(ss.rdbuf(), 0, ss, err, ul0);
++  VERIFY( err == ios_base::eofbit );
++  VERIFY( ul0 == 1 );
++
++  ss.clear();
++  ss.str(empty);
++  ss << L'-' << ul1 << L'0';
++  err = ios_base::goodbit;
++  end = ng.get(ss.rdbuf(), 0, ss, err, ul0);
++  VERIFY( err == (ios_base::eofbit | ios_base::failbit) );
++  VERIFY( ul0 == ul1 );
++}
++
++int main()
++{
++  test01();
++  return 0;
++}
+Index: libstdc++-v3/testsuite/22_locale/num_get/get/char/39802.cc
+===================================================================
+--- libstdc++-v3/testsuite/22_locale/num_get/get/char/39802.cc (.../tags/gcc_4_4_0_release)    (wersja 0)
++++ libstdc++-v3/testsuite/22_locale/num_get/get/char/39802.cc (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -0,0 +1,77 @@
++// Copyright (C) 2009 Free Software Foundation
++//
++// This file is part of the GNU ISO C++ Library.  This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING3.  If not see
++// <http://www.gnu.org/licenses/>.
++
++// 22.2.2.1.1  num_get members
++
++#include <locale>
++#include <sstream>
++#include <limits>
++#include <testsuite_hooks.h>
++
++// libstdc++/39802
++void test01()
++{
++  using namespace std;
++  typedef istreambuf_iterator<char> iterator_type;
++  
++  bool test __attribute__((unused)) = true;
++
++  stringstream ss;
++  const num_get<char>& ng = use_facet<num_get<char> >(ss.getloc()); 
++  ios_base::iostate err;
++  iterator_type end;
++  const string empty;
++
++  unsigned long ul0 = 1;
++  const unsigned long ul1 = numeric_limits<unsigned long>::max();
++
++  ss << "-0";
++  err = ios_base::goodbit;
++  end = ng.get(ss.rdbuf(), 0, ss, err, ul0);
++  VERIFY( err == ios_base::eofbit );
++  VERIFY( ul0 == 0 );
++
++  ss.clear();
++  ss.str(empty);
++  ss << "-1";
++  err = ios_base::goodbit;
++  end = ng.get(ss.rdbuf(), 0, ss, err, ul0);
++  VERIFY( err == ios_base::eofbit );
++  VERIFY( ul0 == ul1 );
++
++  ss.clear();
++  ss.str(empty);
++  ss << '-' << ul1;
++  err = ios_base::goodbit;
++  end = ng.get(ss.rdbuf(), 0, ss, err, ul0);
++  VERIFY( err == ios_base::eofbit );
++  VERIFY( ul0 == 1 );
++
++  ss.clear();
++  ss.str(empty);
++  ss << '-' << ul1 << '0';
++  err = ios_base::goodbit;
++  end = ng.get(ss.rdbuf(), 0, ss, err, ul0);
++  VERIFY( err == (ios_base::eofbit | ios_base::failbit) );
++  VERIFY( ul0 == ul1 );
++}
++
++int main()
++{
++  test01();
++  return 0;
++}
+Index: libjava/Makefile.in
+===================================================================
+--- libjava/Makefile.in        (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ libjava/Makefile.in        (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -12425,6 +12425,8 @@
+ @CREATE_JAVA_HOME_TRUE@       RELATIVE=$$(relative $(DESTDIR)$(bindir) $(DESTDIR)$(SDK_BIN_DIR)); \
+ @CREATE_JAVA_HOME_TRUE@       ln -sf $$RELATIVE/`echo gij | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
+ @CREATE_JAVA_HOME_TRUE@         $(DESTDIR)$(SDK_BIN_DIR)/java; \
++@CREATE_JAVA_HOME_TRUE@       ln -sf $$RELATIVE/`echo gcj | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
++@CREATE_JAVA_HOME_TRUE@         $(DESTDIR)$(SDK_BIN_DIR)/javac; \
+ @CREATE_JAVA_HOME_TRUE@       ln -sf $$RELATIVE/`echo gjar | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
+ @CREATE_JAVA_HOME_TRUE@         $(DESTDIR)$(SDK_BIN_DIR)/jar; \
+ @CREATE_JAVA_HOME_TRUE@       ln -sf $$RELATIVE/`echo gjdoc | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
+Index: libjava/ChangeLog
+===================================================================
+--- libjava/ChangeLog  (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ libjava/ChangeLog  (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,3 +1,8 @@
++2009-04-23  Matthias Klose  <doko@ubuntu.com>
++
++      * Makefile.am (install-data-local): Fix symlinks to header files.
++      * Makefile.in: Regenerate.
++
+ 2009-04-21  Release Manager
+       * GCC 4.4.0 released.
+Index: libjava/Makefile.am
+===================================================================
+--- libjava/Makefile.am        (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ libjava/Makefile.am        (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -578,6 +578,8 @@
+       RELATIVE=$$(relative $(DESTDIR)$(bindir) $(DESTDIR)$(SDK_BIN_DIR)); \
+       ln -sf $$RELATIVE/`echo gij | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
+         $(DESTDIR)$(SDK_BIN_DIR)/java; \
++      ln -sf $$RELATIVE/`echo gcj | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
++        $(DESTDIR)$(SDK_BIN_DIR)/javac; \
+       ln -sf $$RELATIVE/`echo gjar | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
+         $(DESTDIR)$(SDK_BIN_DIR)/jar; \
+       ln -sf $$RELATIVE/`echo gjdoc | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
+Index: libcpp/po/ChangeLog
+===================================================================
+--- libcpp/po/ChangeLog        (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ libcpp/po/ChangeLog        (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -1,3 +1,7 @@
++2009-04-22  Joseph Myers  <joseph@codesourcery.com>
++
++      * cpplib.pot: Regenerate.
++
+ 2009-04-21  Release Manager
+       * GCC 4.4.0 released.
+Index: libcpp/po/cpplib.pot
+===================================================================
+--- libcpp/po/cpplib.pot       (.../tags/gcc_4_4_0_release)    (wersja 146715)
++++ libcpp/po/cpplib.pot       (.../branches/gcc-4_4-branch)   (wersja 146715)
+@@ -8,7 +8,7 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2009-03-28 07:24+0000\n"
++"POT-Creation-Date: 2009-04-22 16:32+0000\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
+@@ -74,7 +74,7 @@
+ msgstr ""
+ #: charset.c:1039
+-#: lex.c:485
++#: lex.c:486
+ msgid "'$' in identifier or number"
+ msgstr ""
+@@ -398,8 +398,8 @@
+ msgstr ""
+ #: directives-only.c:222
+-#: lex.c:1148
+-#: traditional.c:162
++#: lex.c:1149
++#: traditional.c:163
+ msgid "unterminated comment"
+ msgstr ""
+@@ -424,203 +424,203 @@
+ msgid "%s: %s"
+ msgstr ""
+-#: expr.c:262
++#: expr.c:261
+ msgid "too many decimal points in number"
+ msgstr ""
+-#: expr.c:291
+-#: expr.c:366
++#: expr.c:290
++#: expr.c:365
+ msgid "fixed-point constants are a GCC extension"
+ msgstr ""
+-#: expr.c:304
++#: expr.c:303
+ #, c-format
+ msgid "invalid digit \"%c\" in binary constant"
+ msgstr ""
+-#: expr.c:306
++#: expr.c:305
+ #, c-format
+ msgid "invalid digit \"%c\" in octal constant"
+ msgstr ""
+-#: expr.c:314
++#: expr.c:313
+ msgid "invalid prefix \"0b\" for floating constant"
+ msgstr ""
+-#: expr.c:320
++#: expr.c:319
+ msgid "use of C99 hexadecimal floating constant"
+ msgstr ""
+-#: expr.c:329
++#: expr.c:328
+ msgid "exponent has no digits"
+ msgstr ""
+-#: expr.c:336
++#: expr.c:335
+ msgid "hexadecimal floating constants require an exponent"
+ msgstr ""
+-#: expr.c:342
++#: expr.c:341
+ #, c-format
+ msgid "invalid suffix \"%.*s\" on floating constant"
+ msgstr ""
+-#: expr.c:352
+-#: expr.c:394
++#: expr.c:351
++#: expr.c:393
+ #, c-format
+ msgid "traditional C rejects the \"%.*s\" suffix"
+ msgstr ""
+-#: expr.c:359
++#: expr.c:358
+ #, c-format
+ msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
+ msgstr ""
+-#: expr.c:370
++#: expr.c:369
+ msgid "decimal float constants are a GCC extension"
+ msgstr ""
+-#: expr.c:380
++#: expr.c:379
+ #, c-format
+ msgid "invalid suffix \"%.*s\" on integer constant"
+ msgstr ""
+-#: expr.c:402
++#: expr.c:401
+ msgid "use of C99 long long integer constant"
+ msgstr ""
+-#: expr.c:410
++#: expr.c:409
+ msgid "imaginary constants are a GCC extension"
+ msgstr ""
+-#: expr.c:413
++#: expr.c:412
+ msgid "binary constants are a GCC extension"
+ msgstr ""
+-#: expr.c:506
++#: expr.c:505
+ msgid "integer constant is too large for its type"
+ msgstr ""
+-#: expr.c:518
++#: expr.c:517
+ msgid "integer constant is so large that it is unsigned"
+ msgstr ""
+-#: expr.c:613
++#: expr.c:612
+ msgid "missing ')' after \"defined\""
+ msgstr ""
+-#: expr.c:620
++#: expr.c:619
+ msgid "operator \"defined\" requires an identifier"
+ msgstr ""
+-#: expr.c:628
++#: expr.c:627
+ #, c-format
+ msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
+ msgstr ""
+-#: expr.c:638
++#: expr.c:637
+ msgid "this use of \"defined\" may not be portable"
+ msgstr ""
+-#: expr.c:691
++#: expr.c:690
+ msgid "floating constant in preprocessor expression"
+ msgstr ""
+-#: expr.c:697
++#: expr.c:696
+ msgid "imaginary number in preprocessor expression"
+ msgstr ""
+-#: expr.c:744
++#: expr.c:743
+ #, c-format
+ msgid "\"%s\" is not defined"
+ msgstr ""
+-#: expr.c:756
++#: expr.c:755
+ msgid "assertions are a GCC extension"
+ msgstr ""
+-#: expr.c:759
++#: expr.c:758
+ msgid "assertions are a deprecated extension"
+ msgstr ""
+-#: expr.c:892
+-#: expr.c:921
++#: expr.c:891
++#: expr.c:920
+ #, c-format
+ msgid "missing binary operator before token \"%s\""
+ msgstr ""
+-#: expr.c:912
++#: expr.c:911
+ #, c-format
+ msgid "token \"%s\" is not valid in preprocessor expressions"
+ msgstr ""
+-#: expr.c:929
++#: expr.c:928
+ msgid "missing expression between '(' and ')'"
+ msgstr ""
+-#: expr.c:932
++#: expr.c:931
+ #, c-format
+ msgid "%s with no expression"
+ msgstr ""
+-#: expr.c:935
++#: expr.c:934
+ #, c-format
+ msgid "operator '%s' has no right operand"
+ msgstr ""
+-#: expr.c:940
++#: expr.c:939
+ #, c-format
+ msgid "operator '%s' has no left operand"
+ msgstr ""
+-#: expr.c:966
++#: expr.c:965
+ msgid " ':' without preceding '?'"
+ msgstr ""
+-#: expr.c:994
++#: expr.c:993
+ #, c-format
+ msgid "unbalanced stack in %s"
+ msgstr ""
+-#: expr.c:1014
++#: expr.c:1013
+ #, c-format
+ msgid "impossible operator '%u'"
+ msgstr ""
+-#: expr.c:1115
++#: expr.c:1114
+ msgid "missing ')' in expression"
+ msgstr ""
+-#: expr.c:1144
++#: expr.c:1143
+ msgid "'?' without following ':'"
+ msgstr ""
+-#: expr.c:1154
++#: expr.c:1153
+ msgid "integer overflow in preprocessor expression"
+ msgstr ""
+-#: expr.c:1159
++#: expr.c:1158
+ msgid "missing '(' in expression"
+ msgstr ""
+-#: expr.c:1191
++#: expr.c:1190
+ #, c-format
+ msgid "the left operand of \"%s\" changes sign when promoted"
+ msgstr ""
+-#: expr.c:1196
++#: expr.c:1195
+ #, c-format
+ msgid "the right operand of \"%s\" changes sign when promoted"
+ msgstr ""
+-#: expr.c:1455
++#: expr.c:1454
+ msgid "traditional C rejects the unary plus operator"
+ msgstr ""
+-#: expr.c:1538
++#: expr.c:1537
+ msgid "comma operator in operand of #if"
+ msgstr ""
+-#: expr.c:1670
++#: expr.c:1669
+ msgid "division by zero in #if"
+ msgstr ""
+@@ -660,116 +660,116 @@
+ msgid "Multiple include guards may be useful for:\n"
+ msgstr ""
+-#: init.c:451
++#: init.c:452
+ msgid "cppchar_t must be an unsigned type"
+ msgstr ""
+-#: init.c:455
++#: init.c:456
+ #, c-format
+ msgid ""
+ "preprocessor arithmetic has maximum precision of %lu bits; target requires %"
+ "lu bits"
+ msgstr ""
+-#: init.c:462
++#: init.c:463
+ msgid "CPP arithmetic must be at least as precise as a target int"
+ msgstr ""
+-#: init.c:465
++#: init.c:466
+ msgid "target char is less than 8 bits wide"
+ msgstr ""
+-#: init.c:469
++#: init.c:470
+ msgid "target wchar_t is narrower than target char"
+ msgstr ""
+-#: init.c:473
++#: init.c:474
+ msgid "target int is narrower than target char"
+ msgstr ""
+-#: init.c:478
++#: init.c:479
+ msgid "CPP half-integer narrower than CPP character"
+ msgstr ""
+-#: init.c:482
++#: init.c:483
+ #, c-format
+ msgid ""
+ "CPP on this host cannot handle wide character constants over %lu bits, but "
+ "the target requires %lu bits"
+ msgstr ""
+-#: lex.c:284
++#: lex.c:285
+ msgid "backslash and newline separated by space"
+ msgstr ""
+-#: lex.c:289
++#: lex.c:290
+ msgid "backslash-newline at end of file"
+ msgstr ""
+-#: lex.c:304
++#: lex.c:305
+ #, c-format
+ msgid "trigraph ??%c converted to %c"
+ msgstr ""
+-#: lex.c:311
++#: lex.c:312
+ #, c-format
+ msgid "trigraph ??%c ignored, use -trigraphs to enable"
+ msgstr ""
+-#: lex.c:357
++#: lex.c:358
+ msgid "\"/*\" within comment"
+ msgstr ""
+-#: lex.c:415
++#: lex.c:416
+ #, c-format
+ msgid "%s in preprocessing directive"
+ msgstr ""
+-#: lex.c:424
++#: lex.c:425
+ msgid "null character(s) ignored"
+ msgstr ""
+-#: lex.c:461
++#: lex.c:462
+ #, c-format
+ msgid "`%.*s' is not in NFKC"
+ msgstr ""
+-#: lex.c:464
++#: lex.c:465
+ #, c-format
+ msgid "`%.*s' is not in NFC"
+ msgstr ""
+-#: lex.c:552
++#: lex.c:553
+ #, c-format
+ msgid "attempt to use poisoned \"%s\""
+ msgstr ""
+-#: lex.c:560
++#: lex.c:561
+ msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
+ msgstr ""
+-#: lex.c:674
++#: lex.c:675
+ msgid "null character(s) preserved in literal"
+ msgstr ""
+-#: lex.c:677
++#: lex.c:678
+ #, c-format
+ msgid "missing terminating %c character"
+ msgstr ""
+-#: lex.c:1159
++#: lex.c:1160
+ msgid "C++ style comments are not allowed in ISO C90"
+ msgstr ""
+-#: lex.c:1161
++#: lex.c:1162
+ msgid "(this will be reported only once per input file)"
+ msgstr ""
+-#: lex.c:1166
++#: lex.c:1167
+ msgid "multi-line comment"
+ msgstr ""
+-#: lex.c:1480
++#: lex.c:1481
+ #, c-format
+ msgid "unspellable token %s"
+ msgstr ""
+@@ -833,7 +833,7 @@
+ msgstr ""
+ #: macro.c:731
+-#: traditional.c:680
++#: traditional.c:681
+ #, c-format
+ msgid "unterminated argument list invoking macro \"%s\""
+ msgstr ""
+@@ -850,67 +850,67 @@
+ "C90 and ISO C++98"
+ msgstr ""
+-#: macro.c:1453
++#: macro.c:1479
+ #, c-format
+ msgid "duplicate macro parameter \"%s\""
+ msgstr ""
+-#: macro.c:1499
++#: macro.c:1525
+ #, c-format
+ msgid "\"%s\" may not appear in macro parameter list"
+ msgstr ""
+-#: macro.c:1507
++#: macro.c:1533
+ msgid "macro parameters must be comma-separated"
+ msgstr ""
+-#: macro.c:1524
++#: macro.c:1550
+ msgid "parameter name missing"
+ msgstr ""
+-#: macro.c:1541
++#: macro.c:1567
+ msgid "anonymous variadic macros were introduced in C99"
+ msgstr ""
+-#: macro.c:1546
++#: macro.c:1572
+ msgid "ISO C does not permit named variadic macros"
+ msgstr ""
+-#: macro.c:1555
++#: macro.c:1581
+ msgid "missing ')' in macro parameter list"
+ msgstr ""
+-#: macro.c:1604
++#: macro.c:1630
+ msgid "'##' cannot appear at either end of a macro expansion"
+ msgstr ""
+-#: macro.c:1638
++#: macro.c:1664
+ msgid "ISO C99 requires whitespace after the macro name"
+ msgstr ""
+-#: macro.c:1662
++#: macro.c:1688
+ msgid "missing whitespace after the macro name"
+ msgstr ""
+-#: macro.c:1692
++#: macro.c:1718
+ msgid "'#' is not followed by a macro parameter"
+ msgstr ""
+-#: macro.c:1811
++#: macro.c:1837
+ #, c-format
+ msgid "\"%s\" redefined"
+ msgstr ""
+-#: macro.c:1816
++#: macro.c:1842
+ msgid "this is the location of the previous definition"
+ msgstr ""
+-#: macro.c:1877
++#: macro.c:1903
+ #, c-format
+ msgid "macro argument \"%s\" would be stringified in traditional C"
+ msgstr ""
+-#: macro.c:1900
++#: macro.c:1926
+ #, c-format
+ msgid "invalid hash type %d in cpp_macro_definition"
+ msgstr ""
+@@ -954,11 +954,11 @@
+ msgid "while reading precompiled header"
+ msgstr ""
+-#: traditional.c:750
++#: traditional.c:751
+ #, c-format
+ msgid "detected recursion whilst expanding macro \"%s\""
+ msgstr ""
+-#: traditional.c:968
++#: traditional.c:969
+ msgid "syntax error in macro parameter list"
+ msgstr ""
This page took 6.544741 seconds and 4 git commands to generate.