--- /dev/null
+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 ""