-Index: configure
-===================================================================
---- configure (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ configure (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -272,7 +272,7 @@
- PACKAGE_BUGREPORT=
-
- ac_unique_file="move-if-change"
--ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS TOPLEVEL_CONFIGURE_ARGUMENTS build build_cpu build_vendor build_os build_noncanonical host_noncanonical target_noncanonical host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN LN_S build_libsubdir build_subdir host_subdir target_subdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE do_compare gmplibs gmpinc ppllibs pplinc clooglibs clooginc stage1_languages SYSROOT_CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET RPATH_ENVVAR GCC_SHLIB_SUBDIR tooldir build_tooldir CONFIGURE_GDB_TK GDB_TK INSTALL_GDB_TK build_configargs build_configdirs host_configargs configdirs target_configargs AR_FOR_BUILD AS_FOR_BUILD CC_FOR_BUILD CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CXX_FOR_BUILD DLLTOOL_FOR_BUILD GCJ_FOR_BUILD GFORTRAN_FOR_BUILD LDFLAGS_FOR_BUILD LD_FOR_BUILD NM_FOR_BUILD RANLIB_FOR_BUILD WINDMC_FOR_BUILD WINDRES_FOR_BUILD config_shell YACC BISON M4 LEX FLEX MAKEINFO EXPECT RUNTEST AR AS DLLTOOL LD LIPO NM RANLIB STRIP WINDRES WINDMC OBJCOPY OBJDUMP CC_FOR_TARGET CXX_FOR_TARGET GCC_FOR_TARGET GCJ_FOR_TARGET GFORTRAN_FOR_TARGET AR_FOR_TARGET AS_FOR_TARGET DLLTOOL_FOR_TARGET LD_FOR_TARGET LIPO_FOR_TARGET NM_FOR_TARGET OBJDUMP_FOR_TARGET RANLIB_FOR_TARGET STRIP_FOR_TARGET WINDRES_FOR_TARGET WINDMC_FOR_TARGET RAW_CXX_FOR_TARGET FLAGS_FOR_TARGET COMPILER_AS_FOR_TARGET COMPILER_LD_FOR_TARGET COMPILER_NM_FOR_TARGET MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT stage1_cflags stage1_checking stage2_werror_flag datarootdir docdir pdfdir htmldir LIBOBJS LTLIBOBJS'
-+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS TOPLEVEL_CONFIGURE_ARGUMENTS build build_cpu build_vendor build_os build_noncanonical host_noncanonical target_noncanonical host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN LN_S build_libsubdir build_subdir host_subdir target_subdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE do_compare gmplibs gmpinc extra_mpfr_configure_flags ppllibs pplinc clooglibs clooginc stage1_languages SYSROOT_CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET RPATH_ENVVAR GCC_SHLIB_SUBDIR tooldir build_tooldir CONFIGURE_GDB_TK GDB_TK INSTALL_GDB_TK build_configargs build_configdirs host_configargs configdirs target_configargs AR_FOR_BUILD AS_FOR_BUILD CC_FOR_BUILD CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CXX_FOR_BUILD DLLTOOL_FOR_BUILD GCJ_FOR_BUILD GFORTRAN_FOR_BUILD LDFLAGS_FOR_BUILD LD_FOR_BUILD NM_FOR_BUILD RANLIB_FOR_BUILD WINDMC_FOR_BUILD WINDRES_FOR_BUILD config_shell YACC BISON M4 LEX FLEX MAKEINFO EXPECT RUNTEST AR AS DLLTOOL LD LIPO NM RANLIB STRIP WINDRES WINDMC OBJCOPY OBJDUMP CC_FOR_TARGET CXX_FOR_TARGET GCC_FOR_TARGET GCJ_FOR_TARGET GFORTRAN_FOR_TARGET AR_FOR_TARGET AS_FOR_TARGET DLLTOOL_FOR_TARGET LD_FOR_TARGET LIPO_FOR_TARGET NM_FOR_TARGET OBJDUMP_FOR_TARGET RANLIB_FOR_TARGET STRIP_FOR_TARGET WINDRES_FOR_TARGET WINDMC_FOR_TARGET RAW_CXX_FOR_TARGET FLAGS_FOR_TARGET COMPILER_AS_FOR_TARGET COMPILER_LD_FOR_TARGET COMPILER_NM_FOR_TARGET MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT stage1_cflags stage1_checking stage2_werror_flag datarootdir docdir pdfdir htmldir LIBOBJS LTLIBOBJS'
- ac_subst_files='serialization_dependencies host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag'
- ac_pwd=`pwd`
-
-@@ -4596,6 +4596,7 @@
- if test "x$with_gmp$with_gmp_include$with_gmp_lib" = x && test -d ${srcdir}/gmp; then
- gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/.libs -L$$r/$(HOST_SUBDIR)/gmp/_libs '"$gmplibs"
- gmpinc='-I$$r/$(HOST_SUBDIR)/gmp -I$$s/gmp '"$gmpinc"
-+ extra_mpfr_configure_flags='--with-gmp-build=$$r/$(HOST_SUBDIR)/gmp'
- # Do not test the gmp version. Assume that it is sufficient, since
- # it is in the source tree, and the library has not been built yet
- # but it would be included on the link line in the version check below
-@@ -4810,6 +4811,7 @@
-
-
-
-+
- # Allow host libstdc++ to be specified for static linking with PPL.
-
- # Check whether --with-host-libstdcxx or --without-host-libstdcxx was given.
-@@ -13251,6 +13253,7 @@
- s,@do_compare@,$do_compare,;t t
- s,@gmplibs@,$gmplibs,;t t
- s,@gmpinc@,$gmpinc,;t t
-+s,@extra_mpfr_configure_flags@,$extra_mpfr_configure_flags,;t t
- s,@ppllibs@,$ppllibs,;t t
- s,@pplinc@,$pplinc,;t t
- s,@clooglibs@,$clooglibs,;t t
-Index: Makefile.in
-===================================================================
---- Makefile.in (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ Makefile.in (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -17068,7 +17068,7 @@
- libsrcdir="$$s/mpfr"; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
-- --target=none-${host_vendor}-${host_os} $${srcdiroption} --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp \
-+ --target=none-${host_vendor}-${host_os} $${srcdiroption} --disable-shared @extra_mpfr_configure_flags@ \
- || exit 1
- @endif mpfr
-
-@@ -17101,7 +17101,7 @@
- $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
- --target=none-${host_vendor}-${host_os} $${srcdiroption} \
- \
-- --disable-intermodule $(STAGE1_CHECKING) --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
-+ --disable-intermodule $(STAGE1_CHECKING) --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" --disable-shared @extra_mpfr_configure_flags@
- @endif mpfr-bootstrap
-
- .PHONY: configure-stage2-mpfr maybe-configure-stage2-mpfr
-@@ -17132,7 +17132,7 @@
- $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
- --target=none-${host_vendor}-${host_os} $${srcdiroption} \
- --with-build-libsubdir=$(HOST_SUBDIR) \
-- @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
-+ @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@
- @endif mpfr-bootstrap
-
- .PHONY: configure-stageb2g0-mpfr maybe-configure-stageb2g0-mpfr
-@@ -17163,7 +17163,7 @@
- $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
- --target=none-${host_vendor}-${host_os} $${srcdiroption} \
- --with-build-libsubdir=$(HOST_SUBDIR) \
-- @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
-+ @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@
- @endif mpfr-bootstrap
-
- .PHONY: configure-stage3-mpfr maybe-configure-stage3-mpfr
-@@ -17194,7 +17194,7 @@
- $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
- --target=none-${host_vendor}-${host_os} $${srcdiroption} \
- --with-build-libsubdir=$(HOST_SUBDIR) \
-- @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
-+ @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@
- @endif mpfr-bootstrap
-
- .PHONY: configure-stageb3g2-mpfr maybe-configure-stageb3g2-mpfr
-@@ -17225,7 +17225,7 @@
- $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
- --target=none-${host_vendor}-${host_os} $${srcdiroption} \
- --with-build-libsubdir=$(HOST_SUBDIR) \
-- @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
-+ @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@
- @endif mpfr-bootstrap
-
- .PHONY: configure-stage4-mpfr maybe-configure-stage4-mpfr
-@@ -17256,7 +17256,7 @@
- $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
- --target=none-${host_vendor}-${host_os} $${srcdiroption} \
- --with-build-libsubdir=$(HOST_SUBDIR) \
-- @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
-+ @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@
- @endif mpfr-bootstrap
-
- .PHONY: configure-stageprofile-mpfr maybe-configure-stageprofile-mpfr
-@@ -17287,7 +17287,7 @@
- $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
- --target=none-${host_vendor}-${host_os} $${srcdiroption} \
- --with-build-libsubdir=$(HOST_SUBDIR) \
-- @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
-+ @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@
- @endif mpfr-bootstrap
-
- .PHONY: configure-stagefeedback-mpfr maybe-configure-stagefeedback-mpfr
-@@ -17318,7 +17318,7 @@
- $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
- --target=none-${host_vendor}-${host_os} $${srcdiroption} \
- --with-build-libsubdir=$(HOST_SUBDIR) \
-- @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
-+ @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@
- @endif mpfr-bootstrap
-
-
-Index: libgomp/team.c
-===================================================================
---- libgomp/team.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libgomp/team.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -125,6 +125,7 @@
- while (local_fn);
- }
-
-+ gomp_sem_destroy (&thr->release);
- return NULL;
- }
-
-@@ -201,6 +202,7 @@
- struct gomp_thread_pool *pool
- = (struct gomp_thread_pool *) thread_pool;
- gomp_barrier_wait_last (&pool->threads_dock);
-+ gomp_sem_destroy (&gomp_thread ()->release);
- pthread_exit (NULL);
- }
-
Index: libgomp/ChangeLog
===================================================================
---- libgomp/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libgomp/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,3 +1,9 @@
-+2009-05-20 Jakub Jelinek <jakub@redhat.com>
+--- libgomp/ChangeLog (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ libgomp/ChangeLog (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1,3 +1,8 @@
++2012-03-22 Jakub Jelinek <jakub@redhat.com>
+
-+ PR libgomp/40174
-+ * team.c (gomp_thread_start): Destroy thr->release semaphore.
-+ (gomp_free_pool_helper): Likewise.
++ PR middle-end/52547
++ * testsuite/libgomp.c/pr52547.c: New test.
+
- 2009-04-21 Release Manager
+ 2012-03-22 Release Manager
- * GCC 4.4.0 released.
-Index: gcc/fwprop.c
+ * GCC 4.7.0 released.
+Index: libgomp/testsuite/libgomp.c/pr52547.c
===================================================================
---- gcc/fwprop.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/fwprop.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,5 +1,5 @@
- /* RTL-based forward propagation pass for GNU compiler.
-- Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-+ Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Paolo Bonzini and Steven Bosscher.
-
- This file is part of GCC.
-@@ -852,6 +852,80 @@
- return false;
- }
-
-+/* Try to replace USE with SRC (defined in DEF_INSN) in __asm. */
-+
-+static bool
-+forward_propagate_asm (df_ref use, rtx def_insn, rtx def_set, rtx reg)
-+{
-+ rtx use_insn = DF_REF_INSN (use), src, use_pat, asm_operands, new_rtx, *loc;
-+ int speed_p, i;
-+ df_ref *use_vec;
-+
-+ gcc_assert ((DF_REF_FLAGS (use) & DF_REF_IN_NOTE) == 0);
-+
-+ src = SET_SRC (def_set);
-+ use_pat = PATTERN (use_insn);
+--- libgomp/testsuite/libgomp.c/pr52547.c (.../tags/gcc_4_7_0_release) (wersja 0)
++++ libgomp/testsuite/libgomp.c/pr52547.c (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -0,0 +1,36 @@
++/* PR middle-end/52547 */
++/* { dg-do run } */
+
-+ /* In __asm don't replace if src might need more registers than
-+ reg, as that could increase register pressure on the __asm. */
-+ use_vec = DF_INSN_USES (def_insn);
-+ if (use_vec[0] && use_vec[1])
-+ return false;
++extern void abort (void);
+
-+ speed_p = optimize_bb_for_speed_p (BLOCK_FOR_INSN (use_insn));
-+ asm_operands = NULL_RTX;
-+ switch (GET_CODE (use_pat))
-+ {
-+ case ASM_OPERANDS:
-+ asm_operands = use_pat;
-+ break;
-+ case SET:
-+ if (MEM_P (SET_DEST (use_pat)))
-+ {
-+ loc = &SET_DEST (use_pat);
-+ new_rtx = propagate_rtx (*loc, GET_MODE (*loc), reg, src, speed_p);
-+ if (new_rtx)
-+ validate_unshare_change (use_insn, loc, new_rtx, true);
-+ }
-+ asm_operands = SET_SRC (use_pat);
-+ break;
-+ case PARALLEL:
-+ for (i = 0; i < XVECLEN (use_pat, 0); i++)
-+ if (GET_CODE (XVECEXP (use_pat, 0, i)) == SET)
-+ {
-+ if (MEM_P (SET_DEST (XVECEXP (use_pat, 0, i))))
-+ {
-+ loc = &SET_DEST (XVECEXP (use_pat, 0, i));
-+ new_rtx = propagate_rtx (*loc, GET_MODE (*loc), reg,
-+ src, speed_p);
-+ if (new_rtx)
-+ validate_unshare_change (use_insn, loc, new_rtx, true);
-+ }
-+ asm_operands = SET_SRC (XVECEXP (use_pat, 0, i));
-+ }
-+ else if (GET_CODE (XVECEXP (use_pat, 0, i)) == ASM_OPERANDS)
-+ asm_operands = XVECEXP (use_pat, 0, i);
-+ break;
-+ default:
-+ gcc_unreachable ();
-+ }
++__attribute__((noinline, noclone)) int
++baz (int *x, int (*fn) (int *))
++{
++ return fn (x);
++}
+
-+ gcc_assert (asm_operands && GET_CODE (asm_operands) == ASM_OPERANDS);
-+ for (i = 0; i < ASM_OPERANDS_INPUT_LENGTH (asm_operands); i++)
++__attribute__((noinline, noclone)) int
++foo (int x, int *y)
++{
++ int i, e = 0;
++#pragma omp parallel for reduction(|:e)
++ for (i = 0; i < x; ++i)
+ {
-+ loc = &ASM_OPERANDS_INPUT (asm_operands, i);
-+ new_rtx = propagate_rtx (*loc, GET_MODE (*loc), reg, src, speed_p);
-+ if (new_rtx)
-+ validate_unshare_change (use_insn, loc, new_rtx, true);
++ __label__ lab;
++ int bar (int *z) { return z - y; }
++ if (baz (&y[i], bar) != i)
++ e |= 1;
+ }
-+
-+ if (num_changes_pending () == 0 || !apply_change_group ())
-+ return false;
-+
-+ num_changes++;
-+ return true;
++ return e;
+}
+
- /* Try to replace USE with SRC (defined in DEF_INSN) and simplify the
- result. */
-
-@@ -863,12 +937,16 @@
- rtx src, reg, new_rtx, *loc;
- bool set_reg_equal;
- enum machine_mode mode;
-+ int asm_use = -1;
-
-- if (!use_set)
-+ if (INSN_CODE (use_insn) < 0)
-+ asm_use = asm_noperands (PATTERN (use_insn));
-+
-+ if (!use_set && asm_use < 0)
- return false;
-
- /* Do not propagate into PC, CC0, etc. */
-- if (GET_MODE (SET_DEST (use_set)) == VOIDmode)
-+ if (use_set && GET_MODE (SET_DEST (use_set)) == VOIDmode)
- return false;
-
- /* If def and use are subreg, check if they match. */
-@@ -900,7 +978,7 @@
- if (MEM_P (src) && MEM_READONLY_P (src))
- {
- rtx x = avoid_constant_pool_reference (src);
-- if (x != src)
-+ if (x != src && use_set)
- {
- rtx note = find_reg_note (use_insn, REG_EQUAL, NULL_RTX);
- rtx old_rtx = note ? XEXP (note, 0) : SET_SRC (use_set);
-@@ -911,6 +989,9 @@
- return false;
- }
-
-+ if (asm_use >= 0)
-+ return forward_propagate_asm (use, def_insn, def_set, reg);
-+
- /* Else try simplifying. */
-
- if (DF_REF_TYPE (use) == DF_REF_REG_MEM_STORE)
-Index: gcc/doc/extend.texi
-===================================================================
---- gcc/doc/extend.texi (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/doc/extend.texi (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -8304,6 +8304,7 @@
- @item unsigned int __builtin_ia32_crc32si (unsigned int, unsigned int)
- Generates the @code{crc32l} machine instruction.
- @item unsigned long long __builtin_ia32_crc32di (unsigned long long, unsigned long long)
-+Generates the @code{crc32q} machine instruction.
- @end table
-
- The following built-in functions are changed to generate new SSE4.2
-Index: gcc/doc/passes.texi
-===================================================================
---- gcc/doc/passes.texi (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/doc/passes.texi (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -21,7 +21,7 @@
- * Parsing pass:: The language front end turns text into bits.
- * Gimplification pass:: The bits are turned into something we can optimize.
- * Pass manager:: Sequencing the optimization passes.
--* Tree-SSA passes:: Optimizations on a high-level representation.
-+* Tree SSA passes:: Optimizations on a high-level representation.
- * RTL passes:: Optimizations on a low-level representation.
- @end menu
-
-@@ -94,8 +94,8 @@
- should be passed to @code{cgraph_finalize_function}.
-
- TODO: I know rest_of_compilation currently has all sorts of
--rtl-generation semantics. I plan to move all code generation
--bits (both tree and rtl) to compile_function. Should we hide
-+RTL generation semantics. I plan to move all code generation
-+bits (both Tree and RTL) to compile_function. Should we hide
- cgraph from the front ends and move back to rest_of_compilation
- as the official interface? Possibly we should rename all three
- interfaces such that the names match in some meaningful way and
-@@ -172,12 +172,12 @@
-
- TODO: describe the global variables set up by the pass manager,
- and a brief description of how a new pass should use it.
--I need to look at what info rtl passes use first@enddots{}
-+I need to look at what info RTL passes use first@enddots{}
-
--@node Tree-SSA passes
--@section Tree-SSA passes
-+@node Tree SSA passes
-+@section Tree SSA passes
-
--The following briefly describes the tree optimization passes that are
-+The following briefly describes the Tree optimization passes that are
- run after gimplification and what source files they are located in.
-
- @itemize @bullet
-@@ -401,7 +401,7 @@
- The optimizations performed by this pass are:
-
- Loop invariant motion. This pass moves only invariants that
--would be hard to handle on rtl level (function calls, operations that expand to
-+would be hard to handle on RTL level (function calls, operations that expand to
- nontrivial sequences of insns). With @option{-funswitch-loops} it also moves
- operands of conditions that are invariant out of the loop, so that we can use
- just trivial invariantness analysis in loop unswitching. The pass also includes
-@@ -422,8 +422,8 @@
- out of the loops. To achieve this, a duplicate of the loop is created for
- each possible outcome of conditional jump(s). The pass is implemented in
- @file{tree-ssa-loop-unswitch.c}. This pass should eventually replace the
--rtl-level loop unswitching in @file{loop-unswitch.c}, but currently
--the rtl-level pass is not completely redundant yet due to deficiencies
-+RTL level loop unswitching in @file{loop-unswitch.c}, but currently
-+the RTL level pass is not completely redundant yet due to deficiencies
- in tree level alias analysis.
-
- The optimizations also use various utility functions contained in
-@@ -651,8 +651,8 @@
- @node RTL passes
- @section RTL passes
-
--The following briefly describes the rtl generation and optimization
--passes that are run after tree optimization.
-+The following briefly describes the RTL generation and optimization
-+passes that are run after the Tree optimization passes.
-
- @itemize @bullet
- @item RTL generation
-@@ -679,15 +679,15 @@
- and @code{gencodes}, tell this pass which standard names are available
- for use and which patterns correspond to them.
-
--@item Generate exception handling landing pads
-+@item Generation of exception landing pads
-
- This pass generates the glue that handles communication between the
- exception handling library routines and the exception handlers within
- the function. Entry points in the function that are invoked by the
- exception handling library are called @dfn{landing pads}. The code
--for this pass is located within @file{except.c}.
-+for this pass is located in @file{except.c}.
-
--@item Cleanup control flow graph
-+@item Control flow graph cleanup
-
- This pass removes unreachable code, simplifies jumps to next, jumps to
- jump, jumps across jumps, etc. The pass is run multiple times.
-@@ -702,16 +702,16 @@
- variables that come from a single definition, and
- seeing if the result can be simplified. It performs copy propagation
- and addressing mode selection. The pass is run twice, with values
--being propagated into loops only on the second run. It is located in
--@file{fwprop.c}.
-+being propagated into loops only on the second run. The code is
-+located in @file{fwprop.c}.
-
- @item Common subexpression elimination
-
- This pass removes redundant computation within basic blocks, and
- optimizes addressing modes based on cost. The pass is run twice.
--The source is located in @file{cse.c}.
-+The code for this pass is located in @file{cse.c}.
-
--@item Global common subexpression elimination.
-+@item Global common subexpression elimination
-
- This pass performs two
- different types of GCSE depending on whether you are optimizing for
-@@ -755,46 +755,37 @@
- assignments with arithmetic, boolean value producing comparison
- instructions, and conditional move instructions. In the very last
- invocation after reload, it will generate predicated instructions
--when supported by the target. The pass is located in @file{ifcvt.c}.
-+when supported by the target. The code is located in @file{ifcvt.c}.
-
- @item Web construction
-
- This pass splits independent uses of each pseudo-register. This can
- improve effect of the other transformation, such as CSE or register
--allocation. Its source files are @file{web.c}.
-+allocation. The code for this pass is located in @file{web.c}.
-
--@item Life analysis
--
--This pass computes which pseudo-registers are live at each point in
--the program, and makes the first instruction that uses a value point
--at the instruction that computed the value. It then deletes
--computations whose results are never used, and combines memory
--references with add or subtract instructions to make autoincrement or
--autodecrement addressing. The pass is located in @file{flow.c}.
--
- @item Instruction combination
-
- This pass attempts to combine groups of two or three instructions that
- are related by data flow into single instructions. It combines the
- RTL expressions for the instructions by substitution, simplifies the
- result using algebra, and then attempts to match the result against
--the machine description. The pass is located in @file{combine.c}.
-+the machine description. The code is located in @file{combine.c}.
-
- @item Register movement
-
- This pass looks for cases where matching constraints would force an
- instruction to need a reload, and this reload would be a
- register-to-register move. It then attempts to change the registers
--used by the instruction to avoid the move instruction.
--The pass is located in @file{regmove.c}.
-+used by the instruction to avoid the move instruction. The code is
-+located in @file{regmove.c}.
-
--@item Optimize mode switching
-+@item Mode switching optimization
-
- This pass looks for instructions that require the processor to be in a
- specific ``mode'' and minimizes the number of mode changes required to
- satisfy all users. What these modes are, and what they apply to are
--completely target-specific.
--The source is located in @file{mode-switching.c}.
-+completely target-specific. The code for this pass is located in
-+@file{mode-switching.c}.
-
- @cindex modulo scheduling
- @cindex sms, swing, software pipelining
-@@ -802,8 +793,8 @@
-
- This pass looks at innermost loops and reorders their instructions
- by overlapping different iterations. Modulo scheduling is performed
--immediately before instruction scheduling.
--The pass is located in (@file{modulo-sched.c}).
-+immediately before instruction scheduling. The code for this pass is
-+located in @file{modulo-sched.c}.
-
- @item Instruction scheduling
-
-@@ -813,7 +804,7 @@
- It re-orders instructions within a basic block to try to separate the
- definition and use of items that otherwise would cause pipeline
- stalls. This pass is performed twice, before and after register
--allocation. The pass is located in @file{haifa-sched.c},
-+allocation. The code for this pass is located in @file{haifa-sched.c},
- @file{sched-deps.c}, @file{sched-ebb.c}, @file{sched-rgn.c} and
- @file{sched-vis.c}.
-
-@@ -884,13 +875,13 @@
- position in code and generates notes describing the variable locations
- to RTL code. The location lists are then generated according to these
- notes to debug information if the debugging information format supports
--location lists.
-+location lists. The code is located in @file{var-tracking.c}.
-
- @item Delayed branch scheduling
-
- This optional pass attempts to find instructions that can go into the
--delay slots of other instructions, usually jumps and calls. The
--source file name is @file{reorg.c}.
-+delay slots of other instructions, usually jumps and calls. The code
-+for this pass is located in @file{reorg.c}.
-
- @item Branch shortening
-
-@@ -899,13 +890,14 @@
- In this pass, the compiler figures out what how far each instruction
- will be from each other instruction, and therefore whether the usual
- instructions, or the longer sequences, must be used for each branch.
-+The code for this pass is located in @file{final.c}.
-
- @item Register-to-stack conversion
-
- Conversion from usage of some hard registers to usage of a register
- stack may be done at this point. Currently, this is supported only
--for the floating-point registers of the Intel 80387 coprocessor. The
--source file name is @file{reg-stack.c}.
-+for the floating-point registers of the Intel 80387 coprocessor. The
-+code for this pass is located in @file{reg-stack.c}.
-
- @item Final
-
-Index: gcc/doc/gccint.texi
-===================================================================
---- gcc/doc/gccint.texi (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/doc/gccint.texi (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -109,10 +109,10 @@
- * Options:: Option specification files.
- * Passes:: Order of passes, what they do, and what each file is for.
- * Trees:: The source representation used by the C and C++ front ends.
--* RTL:: The intermediate representation that most passes work on.
- * GENERIC:: Language-independent representation generated by Front Ends
- * GIMPLE:: Tuple representation used by Tree SSA optimizers
- * Tree SSA:: Analysis and optimization of GIMPLE
-+* RTL:: Machine-dependent low-level intermediate representation.
- * Control Flow:: Maintaining and manipulating the control flow graph.
- * Loop Analysis and Representation:: Analysis and representation of loops
- * Machine Desc:: How to write machine description instruction patterns.
-Index: gcc/doc/md.texi
-===================================================================
---- gcc/doc/md.texi (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/doc/md.texi (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -5111,8 +5111,6 @@
- Operand 0 is the memory on which the atomic operation is performed.
- Operand 1 is the second operand to the binary operator.
-
--The ``nand'' operation is @code{~op0 & op1}.
--
- This pattern must issue any memory barrier instructions such that all
- memory operations before the atomic operation occur before the atomic
- operation and all memory operations after the atomic operation occur
-Index: gcc/doc/rtl.texi
-===================================================================
---- gcc/doc/rtl.texi (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/doc/rtl.texi (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -10,10 +10,10 @@
- @cindex representation of RTL
- @cindex Register Transfer Language (RTL)
-
--Most of the work of the compiler is done on an intermediate representation
--called register transfer language. In this language, the instructions to be
--output are described, pretty much one by one, in an algebraic form that
--describes what the instruction does.
-+The last part of the compiler work is done on a low-level intermediate
-+representation called Register Transfer Language. In this language, the
-+instructions to be output are described, pretty much one by one, in an
-+algebraic form that describes what the instruction does.
-
- RTL is inspired by Lisp lists. It has both an internal form, made up of
- structures that point at other structures, and a textual form that is used
-Index: gcc/ira-conflicts.c
-===================================================================
---- gcc/ira-conflicts.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/ira-conflicts.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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
-@@ -806,7 +806,7 @@
- if ((! flag_caller_saves && ALLOCNO_CALLS_CROSSED_NUM (a) != 0)
- /* For debugging purposes don't put user defined variables in
- callee-clobbered registers. */
-- || (optimize <= 1
-+ || (optimize == 0
- && (attrs = REG_ATTRS (regno_reg_rtx [ALLOCNO_REGNO (a)])) != NULL
- && (decl = attrs->decl) != NULL
- && VAR_OR_FUNCTION_DECL_P (decl)
-Index: gcc/tree-ssa-loop-niter.c
++int
++main ()
++{
++ int a[100], i;
++ for (i = 0; i < 100; i++)
++ a[i] = i;
++ if (foo (100, a))
++ abort ();
++ return 0;
++}
+Index: libstdc++-v3/include/Makefile.in
===================================================================
---- gcc/tree-ssa-loop-niter.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/tree-ssa-loop-niter.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -534,7 +534,7 @@
- }
-
- /* Derives the upper bound BND on the number of executions of loop with exit
-- condition S * i <> C, assuming that the loop is not infinite. If
-+ condition S * i <> C, assuming that this exit is taken. If
- NO_OVERFLOW is true, then the control variable of the loop does not
- overflow. If NO_OVERFLOW is true or BNDS.below >= 0, then BNDS.up
- contains the upper bound on the value of C. */
-@@ -574,7 +574,7 @@
-
- /* Determines number of iterations of loop whose ending condition
- is IV <> FINAL. TYPE is the type of the iv. The number of
-- iterations is stored to NITER. NEVER_INFINITE is true if
-+ iterations is stored to NITER. EXIT_MUST_BE_TAKEN is true if
- we know that the exit must be taken eventually, i.e., that the IV
- ever reaches the value FINAL (we derived this earlier, and possibly set
- NITER->assumptions to make sure this is the case). BNDS contains the
-@@ -582,7 +582,7 @@
-
- static bool
- number_of_iterations_ne (tree type, affine_iv *iv, tree final,
-- struct tree_niter_desc *niter, bool never_infinite,
-+ struct tree_niter_desc *niter, bool exit_must_be_taken,
- bounds *bnds)
- {
- tree niter_type = unsigned_type_for (type);
-@@ -639,9 +639,9 @@
- build_int_cst (niter_type, 1), bits);
- s = fold_binary_to_constant (RSHIFT_EXPR, niter_type, s, bits);
-
-- if (!never_infinite)
-+ if (!exit_must_be_taken)
- {
-- /* If we cannot assume that the loop is not infinite, record the
-+ /* If we cannot assume that the exit is taken eventually, record the
- assumptions for divisibility of c. */
- assumption = fold_build2 (FLOOR_MOD_EXPR, niter_type, c, d);
- assumption = fold_build2 (EQ_EXPR, boolean_type_node,
-@@ -664,20 +664,21 @@
- of the final value does not overflow are recorded in NITER. If we
- find the final value, we adjust DELTA and return TRUE. Otherwise
- we return false. BNDS bounds the value of IV1->base - IV0->base,
-- and will be updated by the same amount as DELTA. */
-+ and will be updated by the same amount as DELTA. EXIT_MUST_BE_TAKEN is
-+ true if we know that the exit must be taken eventually. */
+--- libstdc++-v3/include/Makefile.in (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ libstdc++-v3/include/Makefile.in (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1497,7 +1497,7 @@
+ sed -e "s,define __GLIBCXX__,define __GLIBCXX__ $$date," \
+ -e "s,define _GLIBCXX_INLINE_VERSION, define _GLIBCXX_INLINE_VERSION $$ns_version," \
+ -e "s,define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY, define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY $$visibility," \
+- -e "s,define _GLIBCXX_EXTERN_TEMPLATE, define _GLIBCXX_EXTERN_TEMPLATE $$externtemplate," \
++ -e "s,define _GLIBCXX_EXTERN_TEMPLATE$$, define _GLIBCXX_EXTERN_TEMPLATE $$externtemplate," \
+ -e "$$ldbl_compat" \
+ < ${glibcxx_srcdir}/include/bits/c++config > $@ ;\
+ sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \
+Index: libstdc++-v3/include/debug/safe_iterator.h
+===================================================================
+--- libstdc++-v3/include/debug/safe_iterator.h (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ libstdc++-v3/include/debug/safe_iterator.h (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1,6 +1,6 @@
+ // Safe iterator implementation -*- C++ -*-
- static bool
- number_of_iterations_lt_to_ne (tree type, affine_iv *iv0, affine_iv *iv1,
- struct tree_niter_desc *niter,
- tree *delta, tree step,
-- bounds *bnds)
-+ bool exit_must_be_taken, bounds *bnds)
- {
- tree niter_type = TREE_TYPE (step);
- tree mod = fold_build2 (FLOOR_MOD_EXPR, niter_type, *delta, step);
- tree tmod;
- mpz_t mmod;
- tree assumption = boolean_true_node, bound, noloop;
-- bool ret = false;
-+ bool ret = false, fv_comp_no_overflow;
- tree type1 = type;
- if (POINTER_TYPE_P (type))
- type1 = sizetype;
-@@ -692,17 +693,31 @@
- mpz_set_double_int (mmod, tree_to_double_int (mod), true);
- mpz_neg (mmod, mmod);
+-// Copyright (C) 2003, 2004, 2005, 2006, 2009, 2010, 2011
++// Copyright (C) 2003, 2004, 2005, 2006, 2009, 2010, 2011, 2012
+ // Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library. This library is free
+@@ -169,7 +169,25 @@
+ ._M_iterator(__x, "other"));
+ }
-+ /* If the induction variable does not overflow and the exit is taken,
-+ then the computation of the final value does not overflow. This is
-+ also obviously the case if the new final value is equal to the
-+ current one. Finally, we postulate this for pointer type variables,
-+ as the code cannot rely on the object to that the pointer points being
-+ placed at the end of the address space (and more pragmatically,
-+ TYPE_{MIN,MAX}_VALUE is not defined for pointers). */
-+ if (integer_zerop (mod) || POINTER_TYPE_P (type))
-+ fv_comp_no_overflow = true;
-+ else if (!exit_must_be_taken)
-+ fv_comp_no_overflow = false;
-+ else
-+ fv_comp_no_overflow =
-+ (iv0->no_overflow && integer_nonzerop (iv0->step))
-+ || (iv1->no_overflow && integer_nonzerop (iv1->step));
++#ifdef __GXX_EXPERIMENTAL_CXX0X__
+ /**
++ * @brief Move construction.
++ * @post __x is singular and unattached
++ */
++ _Safe_iterator(_Safe_iterator&& __x) : _M_current()
++ {
++ _GLIBCXX_DEBUG_VERIFY(!__x._M_singular()
++ || __x._M_current == _Iterator(),
++ _M_message(__msg_init_copy_singular)
++ ._M_iterator(*this, "this")
++ ._M_iterator(__x, "other"));
++ std::swap(_M_current, __x._M_current);
++ this->_M_attach(__x._M_sequence);
++ __x._M_detach();
++ }
++#endif
+
- if (integer_nonzerop (iv0->step))
- {
- /* The final value of the iv is iv1->base + MOD, assuming that this
- computation does not overflow, and that
- iv0->base <= iv1->base + MOD. */
-- if (!iv0->no_overflow && !integer_zerop (mod))
-+ if (!fv_comp_no_overflow)
- {
- bound = fold_build2 (MINUS_EXPR, type1,
- TYPE_MAX_VALUE (type1), tmod);
-- if (POINTER_TYPE_P (type))
-- bound = fold_convert (type, bound);
- assumption = fold_build2 (LE_EXPR, boolean_type_node,
- iv1->base, bound);
- if (integer_zerop (assumption))
-@@ -726,12 +741,10 @@
- /* The final value of the iv is iv0->base - MOD, assuming that this
- computation does not overflow, and that
- iv0->base - MOD <= iv1->base. */
-- if (!iv1->no_overflow && !integer_zerop (mod))
-+ if (!fv_comp_no_overflow)
- {
- bound = fold_build2 (PLUS_EXPR, type1,
- TYPE_MIN_VALUE (type1), tmod);
-- if (POINTER_TYPE_P (type))
-- bound = fold_convert (type, bound);
- assumption = fold_build2 (GE_EXPR, boolean_type_node,
- iv0->base, bound);
- if (integer_zerop (assumption))
-@@ -969,13 +982,13 @@
- /* Determines number of iterations of loop whose ending condition
- is IV0 < IV1. TYPE is the type of the iv. The number of
- iterations is stored to NITER. BNDS bounds the difference
-- IV1->base - IV0->base. */
-+ IV1->base - IV0->base. EXIT_MUST_BE_TAKEN is true if we know
-+ that the exit must be taken eventually. */
-
- static bool
- number_of_iterations_lt (tree type, affine_iv *iv0, affine_iv *iv1,
- struct tree_niter_desc *niter,
-- bool never_infinite ATTRIBUTE_UNUSED,
-- bounds *bnds)
-+ bool exit_must_be_taken, bounds *bnds)
- {
- tree niter_type = unsigned_type_for (type);
- tree delta, step, s;
-@@ -1034,7 +1047,7 @@
- transform the condition to != comparison. In particular, this will be
- the case if DELTA is constant. */
- if (number_of_iterations_lt_to_ne (type, iv0, iv1, niter, &delta, step,
-- bnds))
-+ exit_must_be_taken, bnds))
- {
- affine_iv zps;
-
-@@ -1076,14 +1089,14 @@
-
- /* Determines number of iterations of loop whose ending condition
- is IV0 <= IV1. TYPE is the type of the iv. The number of
-- iterations is stored to NITER. NEVER_INFINITE is true if
-+ iterations is stored to NITER. EXIT_MUST_BE_TAKEN is true if
- we know that this condition must eventually become false (we derived this
- earlier, and possibly set NITER->assumptions to make sure this
- is the case). BNDS bounds the difference IV1->base - IV0->base. */
-
- static bool
- number_of_iterations_le (tree type, affine_iv *iv0, affine_iv *iv1,
-- struct tree_niter_desc *niter, bool never_infinite,
-+ struct tree_niter_desc *niter, bool exit_must_be_taken,
- bounds *bnds)
- {
- tree assumption;
-@@ -1094,9 +1107,13 @@
- /* Say that IV0 is the control variable. Then IV0 <= IV1 iff
- IV0 < IV1 + 1, assuming that IV1 is not equal to the greatest
- value of the type. This we must know anyway, since if it is
-- equal to this value, the loop rolls forever. */
-+ equal to this value, the loop rolls forever. We do not check
-+ this condition for pointer type ivs, as the code cannot rely on
-+ the object to that the pointer points being placed at the end of
-+ the address space (and more pragmatically, TYPE_{MIN,MAX}_VALUE is
-+ not defined for pointers). */
-
-- if (!never_infinite)
-+ if (!exit_must_be_taken && !POINTER_TYPE_P (type))
- {
- if (integer_nonzerop (iv0->step))
- assumption = fold_build2 (NE_EXPR, boolean_type_node,
-@@ -1131,7 +1148,8 @@
-
- bounds_add (bnds, double_int_one, type1);
-
-- return number_of_iterations_lt (type, iv0, iv1, niter, never_infinite, bnds);
-+ return number_of_iterations_lt (type, iv0, iv1, niter, exit_must_be_taken,
-+ bnds);
- }
-
- /* Dumps description of affine induction variable IV to FILE. */
-@@ -1177,7 +1195,7 @@
- affine_iv *iv1, struct tree_niter_desc *niter,
- bool only_exit)
- {
-- bool never_infinite, ret;
-+ bool exit_must_be_taken = false, ret;
- bounds bnds;
-
- /* The meaning of these assumptions is this:
-@@ -1202,42 +1220,27 @@
- code = swap_tree_comparison (code);
- }
-
-- if (!only_exit)
-- {
-- /* If this is not the only possible exit from the loop, the information
-- that the induction variables cannot overflow as derived from
-- signedness analysis cannot be relied upon. We use them e.g. in the
-- following way: given loop for (i = 0; i <= n; i++), if i is
-- signed, it cannot overflow, thus this loop is equivalent to
-- for (i = 0; i < n + 1; i++); however, if n == MAX, but the loop
-- is exited in some other way before i overflows, this transformation
-- is incorrect (the new loop exits immediately). */
-- iv0->no_overflow = false;
-- iv1->no_overflow = false;
-- }
--
- if (POINTER_TYPE_P (type))
- {
- /* Comparison of pointers is undefined unless both iv0 and iv1 point
- to the same object. If they do, the control variable cannot wrap
- (as wrap around the bounds of memory will never return a pointer
- that would be guaranteed to point to the same object, even if we
-- avoid undefined behavior by casting to size_t and back). The
-- restrictions on pointer arithmetics and comparisons of pointers
-- ensure that using the no-overflow assumptions is correct in this
-- case even if ONLY_EXIT is false. */
-+ avoid undefined behavior by casting to size_t and back). */
- iv0->no_overflow = true;
- iv1->no_overflow = true;
- }
-
-- /* If the control induction variable does not overflow, the loop obviously
-- cannot be infinite. */
-- if (!integer_zerop (iv0->step) && iv0->no_overflow)
-- never_infinite = true;
-- else if (!integer_zerop (iv1->step) && iv1->no_overflow)
-- never_infinite = true;
-- else
-- never_infinite = false;
-+ /* If the control induction variable does not overflow and the only exit
-+ from the loop is the one that we analyze, we know it must be taken
-+ eventually. */
-+ if (only_exit)
-+ {
-+ if (!integer_zerop (iv0->step) && iv0->no_overflow)
-+ exit_must_be_taken = true;
-+ else if (!integer_zerop (iv1->step) && iv1->no_overflow)
-+ exit_must_be_taken = true;
-+ }
-
- /* We can handle the case when neither of the sides of the comparison is
- invariant, provided that the test is NE_EXPR. This rarely occurs in
-@@ -1308,16 +1311,16 @@
- case NE_EXPR:
- gcc_assert (integer_zerop (iv1->step));
- ret = number_of_iterations_ne (type, iv0, iv1->base, niter,
-- never_infinite, &bnds);
-+ exit_must_be_taken, &bnds);
- break;
-
- case LT_EXPR:
-- ret = number_of_iterations_lt (type, iv0, iv1, niter, never_infinite,
-+ ret = number_of_iterations_lt (type, iv0, iv1, niter, exit_must_be_taken,
- &bnds);
- break;
-
- case LE_EXPR:
-- ret = number_of_iterations_le (type, iv0, iv1, niter, never_infinite,
-+ ret = number_of_iterations_le (type, iv0, iv1, niter, exit_must_be_taken,
- &bnds);
- break;
-
-Index: gcc/DATESTAMP
-===================================================================
---- gcc/DATESTAMP (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/DATESTAMP (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1 +1 @@
--20090421
-+20090628
-Index: gcc/tree.c
-===================================================================
---- gcc/tree.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/tree.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -9078,32 +9078,12 @@
- location_t
- tree_nonartificial_location (tree exp)
- {
-- tree block = TREE_BLOCK (exp);
-+ location_t *loc = block_nonartificial_location (TREE_BLOCK (exp));
-
-- while (block
-- && TREE_CODE (block) == BLOCK
-- && BLOCK_ABSTRACT_ORIGIN (block))
-- {
-- tree ao = BLOCK_ABSTRACT_ORIGIN (block);
--
-- do
-- {
-- if (TREE_CODE (ao) == FUNCTION_DECL
-- && DECL_DECLARED_INLINE_P (ao)
-- && lookup_attribute ("artificial", DECL_ATTRIBUTES (ao)))
-- return BLOCK_SOURCE_LOCATION (block);
-- else if (TREE_CODE (ao) == BLOCK
-- && BLOCK_SUPERCONTEXT (ao) != ao)
-- ao = BLOCK_SUPERCONTEXT (ao);
-- else
-- break;
-- }
-- while (ao);
--
-- block = BLOCK_SUPERCONTEXT (block);
-- }
--
-- return EXPR_LOCATION (exp);
-+ if (loc)
-+ return *loc;
-+ else
-+ return EXPR_LOCATION (exp);
- }
-
-
-Index: gcc/tree.h
-===================================================================
---- gcc/tree.h (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/tree.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -5088,7 +5088,7 @@
-
- /* Generate a new label for the CFI info to refer to. */
-
--extern char *dwarf2out_cfi_label (void);
-+extern char *dwarf2out_cfi_label (bool);
-
- /* Entry point to update the canonical frame address (CFA). */
-
-@@ -5256,6 +5256,9 @@
-
- void init_inline_once (void);
++ /**
+ * @brief Converting constructor from a mutable iterator to a
+ * constant iterator.
+ */
+@@ -208,7 +226,28 @@
+ return *this;
+ }
-+/* In ipa-reference.c. Used for parsing attributes of asm code. */
-+extern GTY(()) tree memory_identifier_string;
++#ifdef __GXX_EXPERIMENTAL_CXX0X__
+ /**
++ * @brief Move assignment.
++ * @post __x is singular and unattached
++ */
++ _Safe_iterator&
++ operator=(_Safe_iterator&& __x)
++ {
++ _GLIBCXX_DEBUG_VERIFY(!__x._M_singular()
++ || __x._M_current == _Iterator(),
++ _M_message(__msg_copy_singular)
++ ._M_iterator(*this, "this")
++ ._M_iterator(__x, "other"));
++ _M_current = __x._M_current;
++ _M_attach(__x._M_sequence);
++ __x._M_detach();
++ __x._M_current = _Iterator();
++ return *this;
++ }
++#endif
+
- /* Compute the number of operands in an expression node NODE. For
- tcc_vl_exp nodes like CALL_EXPRs, this is stored in the node itself,
- otherwise it is looked up from the node's code. */
-Index: gcc/tree-scalar-evolution.c
-===================================================================
---- gcc/tree-scalar-evolution.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/tree-scalar-evolution.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1320,11 +1320,7 @@
-
- *evolution_of_loop = evolution_of_branch;
-
-- /* If the phi node is just a copy, do not increase the limit. */
- n = gimple_phi_num_args (condition_phi);
-- if (n > 1)
-- limit++;
--
- for (i = 1; i < n; i++)
- {
- /* Quickly give up when the evolution of one of the branches is
-@@ -1332,10 +1328,12 @@
- if (*evolution_of_loop == chrec_dont_know)
- return t_true;
-
-+ /* Increase the limit by the PHI argument number to avoid exponential
-+ time and memory complexity. */
- res = follow_ssa_edge_in_condition_phi_branch (i, loop, condition_phi,
- halting_phi,
- &evolution_of_branch,
-- init, limit);
-+ init, limit + i);
- if (res == t_false || res == t_dont_know)
- return res;
-
-Index: gcc/builtins.c
-===================================================================
---- gcc/builtins.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/builtins.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -4176,7 +4176,7 @@
-
- arg1_rtx = get_memory_rtx (arg1, len);
- arg2_rtx = get_memory_rtx (arg2, len);
-- arg3_rtx = expand_normal (len);
-+ arg3_rtx = expand_normal (fold_convert (sizetype, len));
++ /**
+ * @brief Iterator dereference.
+ * @pre iterator is dereferenceable
+ */
+@@ -422,7 +461,9 @@
+ /// Is this iterator equal to the sequence's before_begin() iterator if
+ /// any?
+ bool _M_is_before_begin() const
+- { return _BeforeBeginHelper<_Sequence>::_M_Is(base(), _M_get_sequence()); }
++ {
++ return _BeforeBeginHelper<_Sequence>::_M_Is(base(), _M_get_sequence());
++ }
+ };
- /* Set MEM_SIZE as appropriate. */
- if (GET_CODE (arg3_rtx) == CONST_INT)
-Index: gcc/fold-const.c
+ template<typename _IteratorL, typename _IteratorR, typename _Sequence>
+Index: libstdc++-v3/include/std/array
===================================================================
---- gcc/fold-const.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/fold-const.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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;
+--- libstdc++-v3/include/std/array (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ libstdc++-v3/include/std/array (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1,6 +1,7 @@
+ // <array> -*- C++ -*-
- 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;
-@@ -11360,6 +11363,8 @@
- if (prec < HOST_BITS_PER_WIDE_INT
- || newmask == ~(unsigned HOST_WIDE_INT) 0)
- {
-+ tree newmaskt;
-+
- if (shift_type != TREE_TYPE (arg0))
- {
- tem = fold_build2 (TREE_CODE (arg0), shift_type,
-@@ -11370,9 +11375,9 @@
- }
- else
- tem = op0;
-- return fold_build2 (BIT_AND_EXPR, type, tem,
-- build_int_cst_type (TREE_TYPE (op1),
-- newmask));
-+ newmaskt = build_int_cst_type (TREE_TYPE (op1), newmask);
-+ if (!tree_int_cst_equal (newmaskt, arg1))
-+ return fold_build2 (BIT_AND_EXPR, type, tem, newmaskt);
- }
- }
- }
-@@ -11861,7 +11866,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/objc/objc-act.c
-===================================================================
---- gcc/objc/objc-act.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/objc/objc-act.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -6201,7 +6201,7 @@
+-// Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
++// Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012
++// Free Software Foundation, Inc.
+ //
+ // 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
+@@ -174,8 +175,9 @@
+ const_reference
+ at(size_type __n) const
+ {
+- return __n < _Nm ?
+- _M_instance[__n] : __throw_out_of_range(__N("array::at"));
++ if (__n >= _Nm)
++ std::__throw_out_of_range(__N("array::at"));
++ return _M_instance[__n];
+ }
#endif
- tree method_params = NULL_TREE;
-- if (TREE_CODE (receiver) == ERROR_MARK)
-+ if (TREE_CODE (receiver) == ERROR_MARK || TREE_CODE (args) == ERROR_MARK)
- return error_mark_node;
-
- /* Obtain the full selector name. */
-Index: gcc/objc/ChangeLog
-===================================================================
---- gcc/objc/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/objc/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,3 +1,10 @@
-+2009-06-22 Steven Bosscher <steven@gcc.gnu.org>
-+ Matthias Klose <doko@ubuntu.com>
-+
-+ PR objc/28050
-+ * objc-act.c (objc_build_message_args): Return if ARGS is the
-+ error_mark_node.
-+
- 2009-04-21 Release Manager
-
- * GCC 4.4.0 released.
-Index: gcc/toplev.c
-===================================================================
---- gcc/toplev.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/toplev.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1128,10 +1128,14 @@
- indent, __VERSION__);
-
- /* We need to stringify the GMP macro values. Ugh, gmp_version has
-- two string formats, "i.j.k" and "i.j" when k is zero. */
-+ two string formats, "i.j.k" and "i.j" when k is zero. As of
-+ gmp-4.3.0, GMP always uses the 3 number format. */
- #define GCC_GMP_STRINGIFY_VERSION3(X) #X
- #define GCC_GMP_STRINGIFY_VERSION2(X) GCC_GMP_STRINGIFY_VERSION3(X)
--#if __GNU_MP_VERSION_PATCHLEVEL == 0
-+#define GCC_GMP_VERSION_NUM(X,Y,Z) (((X) << 16L) | ((Y) << 8) | (Z))
-+#define GCC_GMP_VERSION \
-+ GCC_GMP_VERSION_NUM(__GNU_MP_VERSION, __GNU_MP_VERSION_MINOR, __GNU_MP_VERSION_PATCHLEVEL)
-+#if GCC_GMP_VERSION < GCC_GMP_VERSION_NUM(4,3,0) && __GNU_MP_VERSION_PATCHLEVEL == 0
- #define GCC_GMP_STRINGIFY_VERSION GCC_GMP_STRINGIFY_VERSION2(__GNU_MP_VERSION) "." \
- GCC_GMP_STRINGIFY_VERSION2(__GNU_MP_VERSION_MINOR)
- #else
-Index: gcc/tree-chrec.c
-===================================================================
---- gcc/tree-chrec.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/tree-chrec.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -220,16 +220,16 @@
- /* "a*c". */
- t0 = chrec_fold_multiply (type, CHREC_LEFT (poly0), CHREC_LEFT (poly1));
-
-- /* "a*d + b*c + b*d". */
-+ /* "a*d + b*c". */
- t1 = chrec_fold_multiply (type, CHREC_LEFT (poly0), CHREC_RIGHT (poly1));
- t1 = chrec_fold_plus (type, t1, chrec_fold_multiply (type,
- CHREC_RIGHT (poly0),
- CHREC_LEFT (poly1)));
-- t1 = chrec_fold_plus (type, t1, chrec_fold_multiply (type,
-- CHREC_RIGHT (poly0),
-- CHREC_RIGHT (poly1)));
-+ /* "b*d". */
-+ t2 = chrec_fold_multiply (type, CHREC_RIGHT (poly0), CHREC_RIGHT (poly1));
-+ /* "a*d + b*c + b*d". */
-+ t1 = chrec_fold_plus (type, t1, t2);
- /* "2*b*d". */
-- t2 = chrec_fold_multiply (type, CHREC_RIGHT (poly0), CHREC_RIGHT (poly1));
- t2 = chrec_fold_multiply (type, SCALAR_FLOAT_TYPE_P (type)
- ? build_real (type, dconst2)
- : build_int_cst (type, 2), t2);
-Index: gcc/tree-chrec.h
+Index: libstdc++-v3/include/bits/forward_list.h
===================================================================
---- gcc/tree-chrec.h (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/tree-chrec.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -132,7 +132,8 @@
- || right == chrec_dont_know)
- return chrec_dont_know;
-
-- if (no_evolution_in_loop_p (left, loop_num, &val) && !val)
-+ if (!no_evolution_in_loop_p (left, loop_num, &val)
-+ || !val)
- return chrec_dont_know;
+--- libstdc++-v3/include/bits/forward_list.h (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ libstdc++-v3/include/bits/forward_list.h (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1,6 +1,6 @@
+ // <forward_list.h> -*- C++ -*-
- /* Pointer types should occur only on the left hand side, i.e. in
-Index: gcc/DEV-PHASE
-===================================================================
---- gcc/DEV-PHASE (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/DEV-PHASE (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1 @@
-+prerelease
-Index: gcc/tree-ssa-sccvn.c
+-// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
++// Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+ //
+ // 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
+@@ -606,8 +606,8 @@
+ * in the range [@a __first,@a __last).
+ *
+ * Note that the assignment completely changes the %forward_list and
+- * that the resulting %forward_list's size is the same as the number
+- * of elements assigned. Old data may be lost.
++ * that the number of elements of the resulting %forward_list's is the
++ * same as the number of elements assigned. Old data is lost.
+ */
+ template<typename _InputIterator>
+ void
+@@ -622,10 +622,10 @@
+ * @param __n Number of elements to be assigned.
+ * @param __val Value to be assigned.
+ *
+- * This function fills a %forward_list with @a __n copies of the given
+- * value. Note that the assignment completely changes the
+- * %forward_list and that the resulting %forward_list's size is the
+- * same as the number of elements assigned. Old data may be lost.
++ * This function fills a %forward_list with @a __n copies of the
++ * given value. Note that the assignment completely changes the
++ * %forward_list, and that the resulting %forward_list has __n
++ * elements. Old data is lost.
+ */
+ void
+ assign(size_type __n, const _Tp& __val)
+@@ -744,7 +744,7 @@
+ { return this->_M_impl._M_head._M_next == 0; }
+
+ /**
+- * Returns the largest possible size of %forward_list.
++ * Returns the largest possible number of elements of %forward_list.
+ */
+ size_type
+ max_size() const noexcept
+@@ -997,9 +997,9 @@
+ *
+ * This function will %resize the %forward_list to the specified
+ * number of elements. If the number is smaller than the
+- * %forward_list's current size the %forward_list is truncated,
+- * otherwise the %forward_list is extended and the new elements
+- * are default constructed.
++ * %forward_list's current number of elements the %forward_list
++ * is truncated, otherwise the %forward_list is extended and the
++ * new elements are default constructed.
+ */
+ void
+ resize(size_type __sz);
+@@ -1012,9 +1012,9 @@
+ *
+ * This function will %resize the %forward_list to the specified
+ * number of elements. If the number is smaller than the
+- * %forward_list's current size the %forward_list is truncated,
+- * otherwise the %forward_list is extended and new elements are
+- * populated with given data.
++ * %forward_list's current number of elements the %forward_list
++ * is truncated, otherwise the %forward_list is extended and new
++ * elements are populated with given data.
+ */
+ void
+ resize(size_type __sz, const value_type& __val);
+@@ -1240,11 +1240,11 @@
+ * @brief Forward list equality comparison.
+ * @param __lx A %forward_list
+ * @param __ly A %forward_list of the same type as @a __lx.
+- * @return True iff the size and elements of the forward lists are equal.
++ * @return True iff the elements of the forward lists are equal.
+ *
+- * This is an equivalence relation. It is linear in the size of the
+- * forward lists. Deques are considered equivalent if corresponding
+- * elements compare equal.
++ * This is an equivalence relation. It is linear in the number of
++ * elements of the forward lists. Deques are considered equivalent
++ * if corresponding elements compare equal.
+ */
+ template<typename _Tp, typename _Alloc>
+ bool
+@@ -1257,8 +1257,9 @@
+ * @param __ly A %forward_list of the same type as @a __lx.
+ * @return True iff @a __lx is lexicographically less than @a __ly.
+ *
+- * This is a total ordering relation. It is linear in the size of the
+- * forward lists. The elements must be comparable with @c <.
++ * This is a total ordering relation. It is linear in the number of
++ * elements of the forward lists. The elements must be comparable
++ * with @c <.
+ *
+ * See std::lexicographical_compare() for how the determination is made.
+ */
+Index: libstdc++-v3/include/Makefile.am
===================================================================
---- gcc/tree-ssa-sccvn.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/tree-ssa-sccvn.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1293,7 +1293,7 @@
- *vnresult = NULL;
- vno1.opcode = gimple_assign_rhs_code (stmt);
- vno1.length = gimple_num_ops (stmt) - 1;
-- vno1.type = TREE_TYPE (gimple_assign_lhs (stmt));
-+ vno1.type = gimple_expr_type (stmt);
- for (i = 0; i < vno1.length; ++i)
- vno1.op[i] = gimple_op (stmt, i + 1);
- if (vno1.opcode == REALPART_EXPR
-@@ -1401,7 +1401,7 @@
- vno1->value_id = VN_INFO (result)->value_id;
- vno1->opcode = gimple_assign_rhs_code (stmt);
- vno1->length = length;
-- vno1->type = TREE_TYPE (gimple_assign_lhs (stmt));
-+ vno1->type = gimple_expr_type (stmt);
- for (i = 0; i < vno1->length; ++i)
- vno1->op[i] = gimple_op (stmt, i + 1);
- if (vno1->opcode == REALPART_EXPR
-@@ -2142,7 +2142,7 @@
- fold_defer_overflow_warnings ();
-
- result = fold_binary (gimple_assign_rhs_code (stmt),
-- TREE_TYPE (gimple_get_lhs (stmt)), op0, op1);
-+ gimple_expr_type (stmt), op0, op1);
- if (result)
- STRIP_USELESS_TYPE_CONVERSION (result);
-
-Index: gcc/ChangeLog
+--- libstdc++-v3/include/Makefile.am (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ libstdc++-v3/include/Makefile.am (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1,7 +1,7 @@
+ ## Makefile for the include subdirectory of the GNU C++ Standard library.
+ ##
+ ## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+-## 2011
++## 2011, 2012
+ ## Free Software Foundation, Inc.
+ ##
+ ## This file is part of the libstdc++ version 3 distribution.
+@@ -1105,7 +1105,7 @@
+ sed -e "s,define __GLIBCXX__,define __GLIBCXX__ $$date," \
+ -e "s,define _GLIBCXX_INLINE_VERSION, define _GLIBCXX_INLINE_VERSION $$ns_version," \
+ -e "s,define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY, define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY $$visibility," \
+- -e "s,define _GLIBCXX_EXTERN_TEMPLATE, define _GLIBCXX_EXTERN_TEMPLATE $$externtemplate," \
++ -e "s,define _GLIBCXX_EXTERN_TEMPLATE$$, define _GLIBCXX_EXTERN_TEMPLATE $$externtemplate," \
+ -e "$$ldbl_compat" \
+ < ${glibcxx_srcdir}/include/bits/c++config > $@ ;\
+ sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \
+Index: libstdc++-v3/ChangeLog
===================================================================
---- gcc/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,3 +1,478 @@
-+2009-06-28 Uros Bizjak <ubizjak@gmail.com>
-+
-+ PR tree-optimization/40550
-+ * tree-vect-generic.c (expand_vector_operations_1): Compute in
-+ vector_compute_type only when the size of vector_compute_type is
-+ less than the size of type.
-+
-+2009-06-27 Kai Tietz <kai.tietz@onevision.com>
-+
-+ Merged from trunk rev/148061
-+ 2009-06-01 Jakub Jelinek <jakub@redhat.com>
-+ PR other/40024
-+ * emutls.c (__emutls_get_address): Change arr->size to mean number
-+ of allocated arr->data entries instead of # of slots + 1.
-+
-+2009-06-22 Steven Bosscher <steven@gcc.gnu.org>
-+ Matthias Klose <doko@ubuntu.com>
-+
-+ PR objc/28050
-+ * c-parser.c (c_parser_objc_message_args): Return error_mark_node
-+ instead of NULL if a parser error occurs.
-+
-+2009-06-18 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-06-18 H.J. Lu <hongjiu.lu@intel.com>
+--- libstdc++-v3/ChangeLog (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ libstdc++-v3/ChangeLog (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1,3 +1,30 @@
++2012-03-23 David S. Miller <davem@davemloft.net>
+
-+ PR target/40470
-+ * config/i386/i386.h (CLASS_LIKELY_SPILLED_P): Add SSE_FIRST_REG.
++ * config/abi/post/sparc-linux-gnu/baseline_symbols.txt: Update.
+
-+2009-06-17 Richard Guenther <rguenther@suse.de>
++2012-03-23 Paolo Carlini <paolo.carlini@oracle.com>
+
-+ PR middle-end/40460
-+ * tree-chrec.h (build_polynomial_chrec): If we cannot determine
-+ if there is no evolution of left in the loop bail out.
-+ * tree-chrec.c (chrec_fold_multiply_poly_poly): CSE one
-+ chrec_fold_multiply.
++ * include/bits/forward_list.h: Fix comments.
+
-+2009-06-17 Richard Guenther <rguenther@suse.de>
++2012-03-23 Paweł Sikora <pawel.sikora@agmk.net>
+
-+ PR middle-end/40389
-+ * tree-ssa-operands.c (parse_ssa_operands): Add NRV results
-+ to the addresses taken bitmap.
++ PR libstdc++/52540
++ * include/Makefile.am (c++config.h): Fix sed rule to not break
++ the _GLIBCXX_EXTERN_TEMPLATE redefinition.
++ * include/Makefile.in: Regenerate.
+
-+2009-06-16 Jakub Jelinek <jakub@redhat.com>
++2012-03-22 Jonathan Wakely <jwakely.gcc@gmail.com>
+
-+ PR middle-end/40446
-+ * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: Don't
-+ use gen_lowpart if op0 has complex mode.
++ PR libstdc++/52433
++ * include/debug/safe_iterator.h (_Safe_iterator): Add move
++ constructor and move assignment operator.
++ * testsuite/23_containers/vector/debug/52433.cc: New.
+
-+2009-06-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
++2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
+
-+ * config/s390/s390.md ("bswap<mode>2"): Only available on z900.
++ * include/std/array (array<>::at(size_type) const): Fix version
++ for undefined __EXCEPTIONS.
+
-+2009-06-11 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-06-10 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ * doc/extend.texi: Add description for __builtin_ia32_crc32di.
-+
-+2009-06-05 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR middle-end/40340
-+ * tree-ssa-live.c (remove_unused_scope_block_p): Don't prune
-+ inlined_function_outer_scope_p blocks for artificial inlines
-+ even at -g0/-g1.
-+ * tree.c (tree_nonartificial_location): Rewrite using
-+ block_nonartificial_location.
-+
-+2009-06-03 Jakub Jelinek <jakub@redhat.com>
-+
-+ * dwarf2out.c (output_cfi_directive): Pass 1 instead of
-+ 0 to second argument of DWARF2_FRAME_REG_OUT macros.
-+
-+2009-06-02 Kaz Kojima <kkojima@gcc.gnu.org>
-+
-+ Backport from mainline:
-+ 2009-05-31 Kaz Kojima <kkojima@gcc.gnu.org>
-+
-+ * config/sh/sh.md (ashldi3_std): New define_expand.
-+ (ashldi3): Use it.
-+
-+2009-06-02 Jakub Jelinek <jakub@redhat.com>
-+
-+ * dwarf2out.c (dwarf2out_cfi_label): Add FORCE argument, if true,
-+ force output of the label even for dwarf2out_do_cfi_asm.
-+ (add_fde_cfi): If -g2 and above and cfi might change CFA,
-+ force creation of CFI label and chain DW_CFA_set_loc jumping to it
-+ for convert_cfa_to_fb_loc_list. Adjust other dwarf2out_cfi_label
-+ caller.
-+ (dwarf2out_stack_adjust, dwarf2out_frame_debug): Adjust
-+ dwarf2out_cfi_label callers.
-+ * tree.h (dwarf2out_cfi_label): Adjust prototype.
-+ * config/arm/arm.c (thumb_pushpop, thumb1_output_function_prologue):
-+ Adjust dwarf2out_cfi_label callers.
-+ * config/vax/vax.c (vax_output_function_prologue): Likewise.
-+
-+2009-05-29 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR middle-end/40291
-+ * builtins.c (expand_builtin_memcmp): Convert len to sizetype
-+ before expansion.
-+
-+ PR target/40017
-+ * config/rs6000/rs6000-c.c (_Bool_keyword): New variable.
-+ (altivec_categorize_keyword, init_vector_keywords,
-+ rs6000_cpu_cpp_builtins): Define _Bool as conditional macro
-+ similar to bool.
-+
-+2009-05-28 Alexandre Oliva <aoliva@redhat.com>
-+
-+ * tree-inline.c (remap_decls): Enable nonlocalized variables
-+ when not optimizing.
-+
-+2009-05-28 Alexandre Oliva <aoliva@redhat.com>
-+
-+ * tree-ssa-live.c (remove_unused_locals): Skip when not optimizing.
-+ Simplify other tests involving optimize.
-+
-+2009-05-27 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-05-27 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ PR target/40266
-+ * config/i386/driver-i386.c (host_detect_local_cpu): Support
-+ AVX, SSE4, AES, PCLMUL and POPCNT.
-+
-+2009-05-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-+
-+ PR bootstrap/40027
-+ * config/i386/i386.c (USE_HIDDEN_LINKONCE): Only define if missing.
-+ * config/i386/sol2.h [!TARGET_GNU_LD] (USE_HIDDEN_LINKONCE): Define.
-+
-+2009-05-24 Kaz Kojima <kkojima@gcc.gnu.org>
-+
-+ * gcc/config/sh/sh.c (sh_set_return_address): Mark store of
-+ return address with a USE.
-+
-+2009-05-23 Eric Botcazou <ebotcazou@adacore.com>
-+
-+ * doc/passes.texi: Standardize spelling of RTL, Tree and Tree SSA.
-+ Remove outdated reference to flow.c and fix nits.
-+ * doc/gccint.texi: Tweak RTL description.
-+ * doc/rtl.texi: Likewise.
-+
-+2009-05-22 Zdenek Dvorak <ook@ucw.cz>
-+
-+ PR tree-optimization/40087
-+ * tree-ssa-loop-niter.c (number_of_iterations_ne_max,
-+ number_of_iterations_ne): Rename never_infinite argument.
-+ (number_of_iterations_lt_to_ne, number_of_iterations_lt,
-+ number_of_iterations_le): Handle pointer-type ivs when
-+ exit_must_be_taken is false.
-+ (number_of_iterations_cond): Do not always assume that
-+ exit_must_be_taken if the control variable is a pointer.
-+
-+2009-05-22 Vladimir Makarov <vmakarov@redhat.com>
-+
-+ PR target/39856
-+ * reg-stack.c (subst_stack_regs_pat): Remove gcc_assert for note
-+ for clobber.
-+
-+2009-05-21 Kaz Kojima <kkojima@gcc.gnu.org>
-+
-+ PR rtl-optimization/40105
-+ Backport from mainline:
-+
-+ 2009-04-29 Eric Botcazou <ebotcazou@adacore.com>
-+ Steven Bosscher <steven@gcc.gnu.org>
-+
-+ * Makefile.in (cfgrtl.o): Add $(INSN_ATTR_H).
-+ * cfgrtl.c: Include insn-attr.h.
-+ (rest_of_pass_free_cfg): New function.
-+ (pass_free_cfg): Use rest_of_pass_free_cfg as execute function.
-+
-+ 2009-04-27 Richard Sandiford <rdsandiford@googlemail.com>
-+ Eric Botcazou <ebotcazou@adacore.com>
-+
-+ * resource.c (find_basic_block): Use BLOCK_FOR_INSN to look up
-+ a label's basic block.
-+ (mark_target_live_regs): Tidy and rework obsolete comments.
-+ Change back DF problem to LIVE. If a label starts a basic block,
-+ assume that all registers that used to be live then still are.
-+ (init_resource_info): If a label starts a basic block, set its
-+ BLOCK_FOR_INSN accordingly.
-+ (free_resource_info): Undo the setting of BLOCK_FOR_INSN.
-+
-+2009-05-21 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR target/39942
-+ * config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Don't emit second
-+ .p2align 3 if MAX_SKIP is smaller than 7.
-+ * config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
-+
-+2009-05-20 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR middle-end/40204
-+ * fold-const.c (fold_binary) <case BIT_AND_EXPR>: Avoid infinite
-+ recursion if build_int_cst_type returns the same INTEGER_CST as
-+ arg1.
-+
-+2009-05-19 Richard Guenther <rguenther@suse.de>
-+
-+ * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Do
-+ not falsely claim to have propagated into all uses.
-+
-+2009-05-18 Dodji Seketeli <dodji@redhat.com>
-+
-+ PR debug/40109
-+ * dwarf2out.c (gen_type_die_with_usage): Generate the DIE as a
-+ child of the containing namespace's DIE.
-+
-+2009-05-18 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/39999
-+ * gimple.h (gimple_expr_type): Use the expression type looking
-+ through useless conversions.
-+ * tree-ssa-sccvn.c (vn_nary_op_lookup_stmt): Use gimple_expr_type.
-+ (vn_nary_op_insert_stmt): Likewise.
-+ (simplify_binary_expression): Likewise.
-+
-+2009-05-16 Richard Earnshaw <rearnsha@arm.com>
-+
-+ PR target/40153
-+ * arm.md (cstoresi_nltu_thumb1): Use a neg of ltu as the pattern name
-+ implies.
-+
-+2009-05-14 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-05-14 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ PR middle-end/40147
-+ * ipa-utils.h (memory_identifier_string): Moved to ...
-+ * tree.h (memory_identifier_string): Here. Add GTY(()).
-+
-+2009-05-14 Ben Elliston <bje@au.ibm.com>
-+
-+ Backport from mainline:
-+ 2009-05-14 Jakub Jelinek <jakub@redhat.com>
-+ Ben Elliston <bje@au.ibm.com>
-+
-+ PR middle-end/40035
-+ * dse.c (check_mem_read_rtx): Guard against width == -1.
-+
-+2009-05-13 Uros Bizjak <ubizjak@gmail.com>
-+
-+ PR target/37179
-+ * config/i386/driver-i386.c (processor_signatures): New enum.
-+ (SIG_GEODE): Move from vendor_signatures to processor_signatures.
-+ (host_detect_local_cpu): For SIG_AMD vendor, check for SIG_GEODE
-+ processor signature to detect geode processor.
-+
-+2009-05-12 Jakub Jelinek <jakub@redhat.com>
-+
-+ Backport from mainline:
-+ 2009-05-05 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR middle-end/39666
-+ * gimplify.c (gimplify_switch_expr): If case labels cover the whole
-+ range of the type, but default label is missing, add it with one
-+ of the existing labels instead of adding a new label for it.
-+
-+2009-05-11 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-05-11 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ * tree-vect-analyze.c (vect_analyze_group_access): Use
-+ HOST_WIDE_INT for gap.
-+
-+2009-05-11 Ira Rosen <irar@il.ibm.com>
-+
-+ PR tree-optimization/40074
-+ * tree-vect-analyze.c (vect_analyze_group_access): Take gaps into
-+ account in group size and step comparison.
-+
-+2009-05-08 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/40062
-+ * tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi):
-+ Avoid exponential behavior.
-+
-+2009-05-07 Janis Johnson <janis187@us.ibm.com>
-+
-+ PR middle-end/39986
-+ * dfp.c (encode_decimal32, decode_decimal32, encode_decimal64,
-+ decode_decimal64, encode_decimal128, decode_decimal128): Avoid
-+ 32-bit memcpy into long.
-+
-+2009-05-07 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR middle-end/40057
-+ * dojump.c (prefer_and_bit_test): Use immed_double_const instead of
-+ GEN_INT for 1 << bitnum.
-+ (do_jump) <case BIT_AND_EXPR>: Use build_int_cst_wide_type instead of
-+ build_int_cst_type.
-+
-+2009-05-07 Uros Bizjak <ubizjak@gmail.com>
-+
-+ * doc/md.texi (Standard Pattern Names For Generation) [sync_nand]:
-+ Remove wrong description of "nand" operation.
-+
-+2009-05-06 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-05-06 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ * config/i386/i386.md (*avx_<code><mode>3_finite): Replace
-+ ssemodesuffixf2c with avxmodesuffixf2c.
-+
-+2009-05-06 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/40022
-+ * tree-ssa-phiprop.c (phivn_valid_p): Fix tuplification error.
-+
-+2009-05-04 DJ Delorie <dj@redhat.com>
-+
-+ * config/m32c/m32c.c (m32c_override_options): Disable -fivopts for
-+ -mcpu=m32c until ivopts supports sizeof(ptr) != sizeof(size_t).
-+ (m32c_legitimize_reload_address): Work around reload bug until
-+ reload supports sizeof(ptr) != sizeof(size_t).
-+
-+2009-05-03 Uros Bizjak <ubizjak@gmail.com>
-+
-+ Backport from mainline:
-+ 2009-04-28 Uros Bizjak <ubizjak@gmail.com>
-+
-+ PR rtl-optimization/39914
-+ * ira-conflicts.c (ira_build_conflicts): Prohibit call used
-+ registers for allocnos created from user-defined variables only
-+ when not optimizing.
-+
-+2009-04-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-+
-+ * toplev.c (print_version): Update GMP version string calculation.
-+
-+2009-04-28 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-04-27 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ PR target/39903
-+ * config/i386/i386.c (construct_container): Don't call
-+ gen_reg_or_parallel with BLKmode on X86_64_SSE_CLASS,
-+ X86_64_SSESF_CLASS and X86_64_SSEDF_CLASS.
-+
-+2009-04-27 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR rtl-optimization/39794
-+ * alias.c (canon_true_dependence): Add x_addr argument.
-+ * rtl.h (canon_true_dependence): Adjust prototype.
-+ * cse.c (check_dependence): Adjust canon_true_dependence callers.
-+ * cselib.c (cselib_invalidate_mem): Likewise.
-+ * gcse.c (compute_transp): Likewise.
-+ * dse.c (scan_reads_nospill): Likewise.
-+ (record_store, check_mem_read_rtx): Likewise. For non-const-or-frame
-+ addresses pass base->val_rtx as mem_addr, for const-or-frame addresses
-+ canon_base_addr of the group, plus optional offset.
-+ (struct group_info): Rename canon_base_mem to
-+ canon_base_addr.
-+ (get_group_info): Set canon_base_addr to canon_rtx of base, not
-+ canon_rtx of base_mem.
-+
-+2009-04-26 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR inline-asm/39543
-+ * fwprop.c (forward_propagate_asm): New function.
-+ (forward_propagate_and_simplify): Propagate also into __asm, if it
-+ doesn't increase the number of referenced registers.
-+
-+ PR c/39889
-+ * stmt.c (warn_if_unused_value): Look through NON_LVALUE_EXPR.
+ 2012-03-22 Release Manager
+
+ * GCC 4.7.0 released.
+Index: libstdc++-v3/testsuite/23_containers/vector/debug/52433.cc
+===================================================================
+--- libstdc++-v3/testsuite/23_containers/vector/debug/52433.cc (.../tags/gcc_4_7_0_release) (wersja 0)
++++ libstdc++-v3/testsuite/23_containers/vector/debug/52433.cc (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -0,0 +1,43 @@
++// Copyright (C) 2012 Free Software Foundation, Inc.
++//
++// 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/>.
++//
++// { dg-require-debug-mode "" }
++// { dg-options "-std=gnu++0x" }
++// { dg-do compile }
+
-+2009-04-24 Andreas Krebbel <krebbel1@de.ibm.com>
++// PR libstdc++/52433
+
-+ * config/s390/constraints.md ('I', 'J'): Fix condition.
++#include <vector>
+
-+2009-04-24 Paolo Bonzini <bonzini@gnu.org>
++struct X
++{
++ std::vector<int>::iterator i;
+
-+ 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.
++ X() = default;
++ X(const X&) = default;
++ X(X&&) = default;
++ X& operator=(const X&) = default;
++ X& operator=(X&&) = default;
++};
+
-+2009-04-23 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
++X test01()
++{
++ X x;
++ x = X();
++ return x;
++}
++
+Index: libstdc++-v3/config/abi/post/sparc-linux-gnu/baseline_symbols.txt
+===================================================================
+--- libstdc++-v3/config/abi/post/sparc-linux-gnu/baseline_symbols.txt (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ libstdc++-v3/config/abi/post/sparc-linux-gnu/baseline_symbols.txt (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -43,6 +43,10 @@
+ FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
+ FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
+ FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
++FUNC:_ZN11__gnu_debug25_Safe_local_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4.17
++FUNC:_ZN11__gnu_debug25_Safe_local_iterator_base9_M_detachEv@@GLIBCXX_3.4.17
++FUNC:_ZN11__gnu_debug30_Safe_unordered_container_base13_M_detach_allEv@@GLIBCXX_3.4.17
++FUNC:_ZN11__gnu_debug30_Safe_unordered_container_base7_M_swapERS0_@@GLIBCXX_3.4.17
+ FUNC:_ZN14__gnu_parallel9_Settings3getEv@@GLIBCXX_3.4.10
+ FUNC:_ZN14__gnu_parallel9_Settings3setERS0_@@GLIBCXX_3.4.10
+ FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
+@@ -877,6 +881,7 @@
+ FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4
++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_S_compareEjj@@GLIBCXX_3.4.16
+ FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4
+ FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4
+ FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4
+@@ -961,6 +966,7 @@
+ FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@@GLIBCXX_3.4
+ FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@@GLIBCXX_3.4
+ FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@@GLIBCXX_3.4
++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE8pop_backEv@@GLIBCXX_3.4.17
+ FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@@GLIBCXX_3.4.5
+ FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@GLIBCXX_3.4
+ FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj@@GLIBCXX_3.4
+@@ -1116,6 +1122,7 @@
+ FUNC:_ZNSolsEt@@GLIBCXX_3.4
+ FUNC:_ZNSolsEx@@GLIBCXX_3.4
+ FUNC:_ZNSolsEy@@GLIBCXX_3.4
++FUNC:_ZNSs10_S_compareEjj@@GLIBCXX_3.4.16
+ FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4
+ FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4
+ FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4
+@@ -1200,6 +1207,7 @@
+ FUNC:_ZNSs7replaceEjjRKSsjj@@GLIBCXX_3.4
+ FUNC:_ZNSs7replaceEjjjc@@GLIBCXX_3.4
+ FUNC:_ZNSs7reserveEj@@GLIBCXX_3.4
++FUNC:_ZNSs8pop_backEv@@GLIBCXX_3.4.17
+ FUNC:_ZNSs9_M_assignEPcjc@@GLIBCXX_3.4.5
+ FUNC:_ZNSs9_M_assignEPcjc@GLIBCXX_3.4
+ FUNC:_ZNSs9_M_mutateEjjj@@GLIBCXX_3.4
+@@ -1433,6 +1441,9 @@
+ FUNC:_ZNSt13__future_base12_Result_baseD0Ev@@GLIBCXX_3.4.15
+ FUNC:_ZNSt13__future_base12_Result_baseD1Ev@@GLIBCXX_3.4.15
+ FUNC:_ZNSt13__future_base12_Result_baseD2Ev@@GLIBCXX_3.4.15
++FUNC:_ZNSt13__future_base19_Async_state_commonD0Ev@@GLIBCXX_3.4.17
++FUNC:_ZNSt13__future_base19_Async_state_commonD1Ev@@GLIBCXX_3.4.17
++FUNC:_ZNSt13__future_base19_Async_state_commonD2Ev@@GLIBCXX_3.4.17
+ FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCXX_3.4
+@@ -1741,6 +1752,8 @@
+ FUNC:_ZNSt15__exception_ptrneERKNS_13exception_ptrES2_@@CXXABI_1.3.3
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_gbumpEi@@GLIBCXX_3.4.16
++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_pbumpEi@@GLIBCXX_3.4.16
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
+@@ -1780,6 +1793,8 @@
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_gbumpEi@@GLIBCXX_3.4.16
++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_pbumpEi@@GLIBCXX_3.4.16
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
+@@ -1824,6 +1839,7 @@
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS4_x@@GLIBCXX_3.4.16
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.6
+@@ -1841,6 +1857,7 @@
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS4_x@@GLIBCXX_3.4.16
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.6
+@@ -2145,6 +2162,7 @@
+ FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
+ FUNC:_ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEE@@GLIBCXX_3.4.11
++FUNC:_ZNSt6thread20hardware_concurrencyEv@@GLIBCXX_3.4.17
+ FUNC:_ZNSt6thread4joinEv@@GLIBCXX_3.4.11
+ FUNC:_ZNSt6thread6detachEv@@GLIBCXX_3.4.11
+ FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structj@@GLIBCXX_3.4
+@@ -2640,14 +2658,17 @@
+ FUNC:_ZnwjRKSt9nothrow_t@@GLIBCXX_3.4
+ FUNC:__atomic_flag_for_address@@GLIBCXX_3.4.11
+ FUNC:__atomic_flag_wait_explicit@@GLIBCXX_3.4.11
++FUNC:__cxa_allocate_dependent_exception@@CXXABI_1.3.6
+ FUNC:__cxa_allocate_exception@@CXXABI_1.3
+ FUNC:__cxa_bad_cast@@CXXABI_1.3
+ FUNC:__cxa_bad_typeid@@CXXABI_1.3
+ FUNC:__cxa_begin_catch@@CXXABI_1.3
+ FUNC:__cxa_call_unexpected@@CXXABI_1.3
+ FUNC:__cxa_current_exception_type@@CXXABI_1.3
++FUNC:__cxa_deleted_virtual@@CXXABI_1.3.6
+ FUNC:__cxa_demangle@@CXXABI_1.3
+ FUNC:__cxa_end_catch@@CXXABI_1.3
++FUNC:__cxa_free_dependent_exception@@CXXABI_1.3.6
+ FUNC:__cxa_free_exception@@CXXABI_1.3
+ FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1
+ FUNC:__cxa_get_globals@@CXXABI_1.3
+@@ -2658,6 +2679,7 @@
+ FUNC:__cxa_pure_virtual@@CXXABI_1.3
+ FUNC:__cxa_rethrow@@CXXABI_1.3
+ FUNC:__cxa_throw@@CXXABI_1.3
++FUNC:__cxa_tm_cleanup@@CXXABI_TM_1
+ FUNC:__cxa_vec_cctor@@CXXABI_1.3
+ FUNC:__cxa_vec_cleanup@@CXXABI_1.3
+ FUNC:__cxa_vec_ctor@@CXXABI_1.3
+@@ -2701,7 +2723,9 @@
+ OBJECT:0:CXXABI_1.3.3
+ OBJECT:0:CXXABI_1.3.4
+ OBJECT:0:CXXABI_1.3.5
++OBJECT:0:CXXABI_1.3.6
+ OBJECT:0:CXXABI_LDBL_1.3
++OBJECT:0:CXXABI_TM_1
+ OBJECT:0:GLIBCXX_3.4
+ OBJECT:0:GLIBCXX_3.4.1
+ OBJECT:0:GLIBCXX_3.4.10
+@@ -2710,6 +2734,8 @@
+ OBJECT:0:GLIBCXX_3.4.13
+ OBJECT:0:GLIBCXX_3.4.14
+ OBJECT:0:GLIBCXX_3.4.15
++OBJECT:0:GLIBCXX_3.4.16
++OBJECT:0:GLIBCXX_3.4.17
+ OBJECT:0:GLIBCXX_3.4.2
+ OBJECT:0:GLIBCXX_3.4.3
+ OBJECT:0:GLIBCXX_3.4.4
+@@ -2737,6 +2763,7 @@
+ OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+ OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+ OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
++OBJECT:12:_ZTINSt13__future_base19_Async_state_commonE@@GLIBCXX_3.4.17
+ OBJECT:12:_ZTINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
+ OBJECT:12:_ZTINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
+ OBJECT:12:_ZTINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
+@@ -3245,6 +3272,7 @@
+ OBJECT:20:_ZTSSt15underflow_error@@GLIBCXX_3.4
+ OBJECT:20:_ZTVNSt13__future_base11_State_baseE@@GLIBCXX_3.4.15
+ OBJECT:20:_ZTVNSt13__future_base12_Result_baseE@@GLIBCXX_3.4.15
++OBJECT:20:_ZTVNSt13__future_base19_Async_state_commonE@@GLIBCXX_3.4.17
+ OBJECT:20:_ZTVNSt8ios_base7failureE@@GLIBCXX_3.4
+ OBJECT:20:_ZTVSt10bad_typeid@@GLIBCXX_3.4
+ OBJECT:20:_ZTVSt10lock_error@@GLIBCXX_3.4.11
+@@ -3437,6 +3465,7 @@
+ OBJECT:40:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+ OBJECT:40:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+ OBJECT:40:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
++OBJECT:41:_ZTSNSt13__future_base19_Async_state_commonE@@GLIBCXX_3.4.17
+ OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+ OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
+ OBJECT:44:_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
+Index: libiberty/ChangeLog
+===================================================================
+--- libiberty/ChangeLog (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ libiberty/ChangeLog (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1,3 +1,8 @@
++2012-03-22 Jason Merrill <jason@redhat.com>
++
++ * cp-demangle.c (cplus_demangle_operators): Add li.
++ (d_unqualified_name): Handle it specially.
++
+ 2012-03-22 Release Manager
+
+ * GCC 4.7.0 released.
+Index: libiberty/testsuite/demangle-expected
+===================================================================
+--- libiberty/testsuite/demangle-expected (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ libiberty/testsuite/demangle-expected (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -4073,6 +4073,8 @@
+ _Z2f1IiEDTnw_T_ilEES0_
+ decltype (new int{}) f1<int>(int)
+ --format=gnu-v3
++_Zli2_wPKc
++operator"" _w(char const*)
+ _Z1fIiEDTnw_Dapifp_EET_
+ decltype (new auto({parm#1})) f<int>(int)
+ --format=gnu-v3
+Index: libiberty/cp-demangle.c
+===================================================================
+--- libiberty/cp-demangle.c (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ libiberty/cp-demangle.c (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1419,7 +1419,12 @@
+
+ ret = d_operator_name (di);
+ if (ret != NULL && ret->type == DEMANGLE_COMPONENT_OPERATOR)
+- di->expansion += sizeof "operator" + ret->u.s_operator.op->len - 2;
++ {
++ di->expansion += sizeof "operator" + ret->u.s_operator.op->len - 2;
++ if (!strcmp (ret->u.s_operator.op->code, "li"))
++ ret = d_make_comp (di, DEMANGLE_COMPONENT_UNARY, ret,
++ d_source_name (di));
++ }
+ return ret;
+ }
+ else if (peek == 'C' || peek == 'D')
+@@ -1596,6 +1601,7 @@
+ { "ix", NL ("[]"), 2 },
+ { "lS", NL ("<<="), 2 },
+ { "le", NL ("<="), 2 },
++ { "li", NL ("operator\"\" "), 1 },
+ { "ls", NL ("<<"), 2 },
+ { "lt", NL ("<"), 2 },
+ { "mI", NL ("-="), 2 },
+Index: libgcc/ChangeLog
+===================================================================
+--- libgcc/ChangeLog (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ libgcc/ChangeLog (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1,3 +1,30 @@
++2012-03-22 Georg-Johann Lay <avr@gjlay.de>
++
++ Backport from 2012-03-07 mainline r185033.
++
++ PR target/52507
++ * config/avr/lib1funcs.S (__movmemx_hi): Fix loop label in RAM-part.
++
++ Backport from 2012-03-07 mainline r185031.
++
++ PR target/52505
++ * config/avr/lib1funcs.S (__xload_1): Don't read unintentionally
++ from RAM.
++
++ Backport from 2012-03-07 mainline r185030.
++
++ PR target/52461
++ PR target/52508
++ * config/avr/lib1funcs.S (__do_copy_data): Clear RAMPZ after usage
++ if RAMPZ affects reading from RAM.
++ (__tablejump_elpm__): Ditto.
++ (.xload): Ditto.
++ (__movmemx_hi): Ditto.
++ (__do_global_ctors): Right condition for RAMPZ usage is "have ELPM".
++ (__do_global_dtors): Ditto.
++ (__xload_1, __xload_2, __xload_3, __xload_4): Ditto.
++ (__movmemx_hi): Ditto.
++
+ 2012-03-22 Release Manager
+
+ * GCC 4.7.0 released.
+Index: libgcc/config/avr/lib1funcs.S
+===================================================================
+--- libgcc/config/avr/lib1funcs.S (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ libgcc/config/avr/lib1funcs.S (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1893,6 +1893,10 @@
+ cpc r27, r17
+ brne .L__do_copy_data_loop
+ #endif /* !defined(__AVR_HAVE_ELPMX__) && !defined(__AVR_HAVE_ELPM__) */
++#if defined (__AVR_HAVE_ELPM__) && defined (__AVR_HAVE_RAMPD__)
++ ;; Reset RAMPZ to 0 so that EBI devices don't read garbage from RAM
++ out __RAMPZ__, __zero_reg__
++#endif /* ELPM && RAMPD */
+ ENDF __do_copy_data
+ #endif /* L_copy_data */
+
+@@ -1920,7 +1924,7 @@
+ #ifdef L_ctors
+ .section .init6,"ax",@progbits
+ DEFUN __do_global_ctors
+-#if defined(__AVR_HAVE_RAMPZ__)
++#if defined(__AVR_HAVE_ELPM__)
+ ldi r17, hi8(__ctors_start)
+ ldi r28, lo8(__ctors_end)
+ ldi r29, hi8(__ctors_end)
+@@ -1953,14 +1957,14 @@
+ cpi r28, lo8(__ctors_start)
+ cpc r29, r17
+ brne .L__do_global_ctors_loop
+-#endif /* defined(__AVR_HAVE_RAMPZ__) */
++#endif /* defined(__AVR_HAVE_ELPM__) */
+ ENDF __do_global_ctors
+ #endif /* L_ctors */
+
+ #ifdef L_dtors
+ .section .fini6,"ax",@progbits
+ DEFUN __do_global_dtors
+-#if defined(__AVR_HAVE_RAMPZ__)
++#if defined(__AVR_HAVE_ELPM__)
+ ldi r17, hi8(__dtors_end)
+ ldi r28, lo8(__dtors_start)
+ ldi r29, hi8(__dtors_start)
+@@ -1993,7 +1997,7 @@
+ cpi r28, lo8(__dtors_end)
+ cpc r29, r17
+ brne .L__do_global_dtors_loop
+-#endif /* defined(__AVR_HAVE_RAMPZ__) */
++#endif /* defined(__AVR_HAVE_ELPM__) */
+ ENDF __do_global_dtors
+ #endif /* L_dtors */
+
+@@ -2001,18 +2005,21 @@
+
+ #ifdef L_tablejump_elpm
+ DEFUN __tablejump_elpm__
+-#if defined (__AVR_HAVE_ELPM__)
+-#if defined (__AVR_HAVE_LPMX__)
++#if defined (__AVR_HAVE_ELPMX__)
+ elpm __tmp_reg__, Z+
+ elpm r31, Z
+ mov r30, __tmp_reg__
++#if defined (__AVR_HAVE_RAMPD__)
++ ;; Reset RAMPZ to 0 so that EBI devices don't read garbage from RAM
++ out __RAMPZ__, __zero_reg__
++#endif /* RAMPD */
+ #if defined (__AVR_HAVE_EIJMP_EICALL__)
+ eijmp
+ #else
+ ijmp
+ #endif
+
+-#else
++#elif defined (__AVR_HAVE_ELPM__)
+ elpm
+ adiw r30, 1
+ push r0
+@@ -2024,7 +2031,6 @@
+ #endif
+ ret
+ #endif
+-#endif /* defined (__AVR_HAVE_ELPM__) */
+ ENDF __tablejump_elpm__
+ #endif /* defined (L_tablejump_elpm) */
+
+@@ -2114,11 +2120,18 @@
+ adiw r30, 1
+ .endif
+ #endif
++#if defined (__AVR_HAVE_ELPM__) && defined (__AVR_HAVE_RAMPD__)
++.if \dest == D0+\n-1
++ ;; Reset RAMPZ to 0 so that EBI devices don't read garbage from RAM
++ out __RAMPZ__, __zero_reg__
++.endif
++#endif
+ .endm ; .xload
+
+ #if defined (L_xload_1)
+ DEFUN __xload_1
+-#if defined (__AVR_HAVE_LPMX__) && !defined (__AVR_HAVE_RAMPZ__)
++#if defined (__AVR_HAVE_LPMX__) && !defined (__AVR_HAVE_ELPM__)
++ sbrc HHI8, 7
+ ld D0, Z
+ sbrs HHI8, 7
+ lpm D0, Z
+@@ -2126,14 +2139,14 @@
+ #else
+ sbrc HHI8, 7
+ rjmp 1f
+-#if defined (__AVR_HAVE_RAMPZ__)
++#if defined (__AVR_HAVE_ELPM__)
+ out __RAMPZ__, HHI8
+-#endif /* __AVR_HAVE_RAMPZ__ */
++#endif /* __AVR_HAVE_ELPM__ */
+ .xload D0, 1
+ ret
+ 1: ld D0, Z
+ ret
+-#endif /* LPMx && ! RAMPZ */
++#endif /* LPMx && ! ELPM */
+ ENDF __xload_1
+ #endif /* L_xload_1 */
+
+@@ -2141,9 +2154,9 @@
+ DEFUN __xload_2
+ sbrc HHI8, 7
+ rjmp 1f
+-#if defined (__AVR_HAVE_RAMPZ__)
++#if defined (__AVR_HAVE_ELPM__)
+ out __RAMPZ__, HHI8
+-#endif /* __AVR_HAVE_RAMPZ__ */
++#endif /* __AVR_HAVE_ELPM__ */
+ .xload D0, 2
+ .xload D1, 2
+ ret
+@@ -2157,9 +2170,9 @@
+ DEFUN __xload_3
+ sbrc HHI8, 7
+ rjmp 1f
+-#if defined (__AVR_HAVE_RAMPZ__)
++#if defined (__AVR_HAVE_ELPM__)
+ out __RAMPZ__, HHI8
+-#endif /* __AVR_HAVE_RAMPZ__ */
++#endif /* __AVR_HAVE_ELPM__ */
+ .xload D0, 3
+ .xload D1, 3
+ .xload D2, 3
+@@ -2175,9 +2188,9 @@
+ DEFUN __xload_4
+ sbrc HHI8, 7
+ rjmp 1f
+-#if defined (__AVR_HAVE_RAMPZ__)
++#if defined (__AVR_HAVE_ELPM__)
+ out __RAMPZ__, HHI8
+-#endif /* __AVR_HAVE_RAMPZ__ */
++#endif /* __AVR_HAVE_ELPM__ */
+ .xload D0, 4
+ .xload D1, 4
+ .xload D2, 4
+@@ -2219,7 +2232,7 @@
+
+ ;; Read from Flash
+
+-#if defined (__AVR_HAVE_RAMPZ__)
++#if defined (__AVR_HAVE_ELPM__)
+ out __RAMPZ__, HHI8
+ #endif
+
+@@ -2243,6 +2256,10 @@
+ st X+, r0
+ sbiw LOOP, 1
+ brne 0b
++#if defined (__AVR_HAVE_ELPM__) && defined (__AVR_HAVE_RAMPD__)
++ ;; Reset RAMPZ to 0 so that EBI devices don't read garbage from RAM
++ out __RAMPZ__, __zero_reg__
++#endif /* ELPM && RAMPD */
+ ret
+
+ ;; Read from RAM
+@@ -2252,7 +2269,7 @@
+ ;; and store that Byte to RAM Destination
+ st X+, r0
+ sbiw LOOP, 1
+- brne 0b
++ brne 1b
+ ret
+ ENDF __movmemx_hi
+
+Index: gcc/c-family/ChangeLog
+===================================================================
+--- gcc/c-family/ChangeLog (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/c-family/ChangeLog (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1,3 +1,8 @@
++2012-03-23 William Bader <williambader@hotmail.com>
++
++ PR c/52682
++ * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
++
+ 2012-03-22 Release Manager
+
+ * GCC 4.7.0 released.
+Index: gcc/c-family/c-lex.c
+===================================================================
+--- gcc/c-family/c-lex.c (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/c-family/c-lex.c (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -342,6 +342,8 @@
+
+ if (flags & CPP_N_USERDEF)
+ {
++ char *str;
++ tree literal;
+ tree suffix_id = get_identifier (suffix);
+ int len = tok->val.str.len - strlen (suffix);
+ /* If this is going to be used as a C string to pass to a
+@@ -350,9 +352,9 @@
+ (const char *) tok->val.str.text);
+ TREE_TYPE (num_string) = char_array_type_node;
+ num_string = fix_string_type (num_string);
+- char *str = CONST_CAST (char *, TREE_STRING_POINTER (num_string));
++ str = CONST_CAST (char *, TREE_STRING_POINTER (num_string));
+ str[len] = '\0';
+- tree literal = build_userdef_literal (suffix_id, *value,
++ literal = build_userdef_literal (suffix_id, *value,
+ num_string);
+ *value = literal;
+ }
+Index: gcc/DATESTAMP
+===================================================================
+--- gcc/DATESTAMP (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/DATESTAMP (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1 +1 @@
+-20120322
++20120323
+Index: gcc/DEV-PHASE
+===================================================================
+--- gcc/DEV-PHASE (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/DEV-PHASE (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -0,0 +1 @@
++prerelease
+Index: gcc/ChangeLog
+===================================================================
+--- gcc/ChangeLog (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/ChangeLog (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1,3 +1,173 @@
++2012-03-23 Michael Meissner <meissner@linux.vnet.ibm.com>
++
++ Backported from mainline
++ 2012-03-06 Michael Meissner <meissner@linux.vnet.ibm.com>
++
++ PR target/50310
++ * config/rs6000/vector.md (vector_uneq<mode>): Add support for
++ UNEQ, LTGT, ORDERED, and UNORDERED IEEE vector comparisons.
++ (vector_ltgt<mode>): Likewise.
++ (vector_ordered<mode>): Likewise.
++ (vector_unordered<mode>): Likewise.
++ * config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner): Likewise.
++
++2012-03-23 Joern Rennecke <joern.rennecke@embecosm.com>
++
++ * config/epiphany/epiphany.c (epiphany_function_value_regno_p):
++ Make static.
++
++2012-03-22 Kaz Kojima <kkojima@gcc.gnu.org>
++
++ Backported from mainline
++ 2012-03-02 Kaz Kojima <kkojima@gcc.gnu.org>
++
++ PR target/48596
++ PR target/48806
++ * config/sh/sh.c (sh_register_move_cost): Increase cost between
++ GENERAL_REGS and FP_REGS for SImode.
++
++2012-03-22 Jakub Jelinek <jakub@redhat.com>
++
++ PR middle-end/52547
++ * tree-nested.c (convert_tramp_reference_stmt): Call declare_vars
++ on any new_local_var_chain vars declared during recursing on
++ GIMPLE_OMP_PARALLEL or GIMPLE_OMP_TASK body.
++
++2012-03-22 Georg-Johann Lay <avr@gjlay.de>
++
++ Backport from 2012-03-22 mainline r185692.
++
++ PR target/52496
++ * config/avr/avr.md (unspec): Remove UNSPEC_MEMORY_BARRIER.
++ (unspecv): Add UNSPECV_MEMORY_BARRIER.
++ (cli_sei): Use unspec_volatile instead of unspec for memory barrier.
++ (delay_cycles_1, delay_cycles_2): Ditto.
++ (delay_cycles_3, delay_cycles_4): Ditto.
++ (nopv, *nopv): Ditto.
++ (sleep, *sleep): Ditto.
++ (wdr, *wdr): Ditto.
+
-+ * config/spu/spu-builtins.h: Delete file.
++ Backport from 2012-03-21 mainline r185605.
+
-+ * 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.
++ PR rtl-optimization/52543
++ PR target/52461
++ * config/avr/avr-protos.h (avr_load_lpm): New prototype.
++ * config/avr/avr.c (avr_mode_dependent_address_p): New function.
++ (TARGET_MODE_DEPENDENT_ADDRESS_P): New define.
++ (avr_load_libgcc_p): Restrict to __flash loads.
++ (avr_out_lpm): Only handle 1-byte loads from __flash.
++ (avr_load_lpm): New function.
++ (avr_find_unused_d_reg): Remove.
++ (avr_out_lpm_no_lpmx): Remove.
++ (adjust_insn_length): Handle ADJUST_LEN_LOAD_LPM.
++ * config/avr/avr.md (unspec): Add UNSPEC_LPM.
++ (load_<mode>_libgcc): Use UNSPEC_LPM instead of MEM.
++ (load_<mode>, load_<mode>_clobber): New insns.
++ (mov<mode>): For multi-byte move from non-generic
++ 16-bit address spaces: Expand to load_<mode> resp.
++ load_<mode>_clobber.
++ (load<mode>_libgcc): Remove expander.
++ (split-lpmx): Remove split.
+
-+ * 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".
++ Backport from 2012-03-13 mainline r185329.
+
-+ * 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.
++ PR target/52488
++ * config/avr/avr.c (avr_prologue_setup_frame): Cut down stack
++ offset (size) to a value the insns can deal with.
++ (expand_epilogue): Ditto.
+
-+ * config/spu/t-spu-elf (spu.o, spu-c.o): Update dependencies.
++ Backport from 2012-03-12 mainline r185256.
+
-+2009-04-22 Jing Yu <jingyu@google.com>
++ PR target/52499
++ * config/avr/avr.c (avr_mode_code_base_reg_class): Change return
++ type from reg_class_t to enum reg_class.
++ * config/avr/avr-protos.h (avr_mode_code_base_reg_class): Ditto.
+
-+ PR testsuite/39781
-+ * config/arm/arm.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
++ Backport from 2012-03-12 mainline r185253.
+
-+2009-04-22 Eric Botcazou <ebotcazou@adacore.com>
++ PR target/52148
++ * config/avr/avr.c (avr_out_movmem): Fix typo in output template
++ for the case ADDR_SPACE_FLASH and AVR_HAVE_LPMX introduced in
++ r184615 from 2012-02-28.
+
-+ 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.
++ Backport from 2012-03-08 mainline r185105.
+
-+2009-04-22 Jakub Jelinek <jakub@redhat.com>
++ * config/avr/avr.md (*addhi3, addhi3_clobber): Add "w" alternative
++ for constants in [-63,63].
+
-+ * alias.c (find_base_term): Move around LO_SUM case, so that
-+ CONST falls through into PLUS/MINUS handling.
++ Backport from 2012-03-08 mainline r185100.
+
-+ PR c/39855
-+ * fold-const.c (fold_binary) <case LSHIFT_EXPR>: When optimizing
-+ into 0, use omit_one_operand.
++ PR target/52496
++ * config/avr/avr.c (avr_mem_clobber): New static function.
++ (avr_expand_delay_cycles): Add memory clobber operand to
++ delay_cycles_1, delay_cycles_2, delay_cycles_3, delay_cycles_4.
++ * config/avr/avr.md (unspec): Add UNSPEC_MEMORY_BARRIER.
++ (enable_interrupt, disable_interrupt): New expander.
++ (nopv, sleep, wdr): New expanders.
++ (delay_cycles_1): Add memory clobber.
++ (delay_cycles_2): Add memory clobber.
++ (delay_cycles_3): Add memory clobber.
++ (delay_cycles_4): Add memory clobber.
++ (cli_sei): New insn from former "enable_interrupt",
++ "disable_interrupt" with memory clobber.
++ (*wdt): New insn from former "wdt" with memory clobber.
++ (*nopv): Similar, but for "nopv".
++ (*sleep): Similar, but for "sleep".
+
-+2009-04-22 Vladimir Makarov <vmakarov@redhat.com>
++ Backport from 2012-03-07 mainline r185043.
+
-+ 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.
++ PR target/52484
++ * config/avr/avr.md (xload<mode>_A): Add R22... to register footprint.
++
++ Backport from 2012-03-07 mainline r185032.
+
-+ * ira-conflicts.c (process_regs_for_copy): Use function
-+ ira_get_register_move_cost instead of global
-+ ira_register_move_cost.
++ PR target/52506
++ * gcc/config/avr/avr.c (expand_epilogue): Fix order of restoration
++ to: RAMPZ, RAMPY, RAMPX, RAMPD.
++ (expand_prologue): Only clear RAMPZ if it has effect on RAM-read.
+
-+ * ira-color.c (update_copy_costs, calculate_allocno_spill_cost,
-+ color_pass, move_spill_restore, update_curr_costs): Ditto.
++ Backport from 2012-03-07 mainline r185031.
++
++ PR target/52505
++ * config/avr/avr.c (avr_out_xload): Don't read unintentionally
++ from RAM.
++ * config/avr/avr.md (xload_8): Adjust insn length.
+
-+ * ira-lives.c (process_single_reg_class_operands): Ditto.
++ Backport from 2012-03-07 mainline r185030.
++
++ PR target/52461
++ * gcc/config/avr/avr.c (avr_out_lpm): Clear RAMPZ after usage
++ if RAMPZ affects reading from RAM.
++
++ Backport from 2012-03-05 mainline r184919.
++
++ * config/avr/avr.md (*umaddqihi4.2): New insn-and-split.
++
++2012-03-22 Georg-Johann Lay <avr@gjlay.de>
+
-+ * ira-emit.c (emit_move_list): Ditto.
++ Backport from mainline r185259.
+
-+ * 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.
++ PR other/52545
++ * output.h (SECTION_EXCLUDE, SECTION_MACH_DEP): Don't use
++ SECTION_MACH_DEP reserved bits for SECTION_EXCLUDE.
++
++2012-03-22 Jakub Jelinek <jakub@redhat.com>
+
-+2009-04-22 Richard Guenther <rguenther@suse.de>
++ Backported from mainline
++ 2012-03-13 Jakub Jelinek <jakub@redhat.com>
++
++ PR c/52577
++ * c-parser.c (c_parser_postfix_expression)
++ <case RID_BUILTIN_SHUFFLE>: Call mark_exp_read on argument values.
+
-+ PR tree-optimization/39824
-+ * tree-ssa-ccp.c (fold_const_aggregate_ref): For INDIRECT_REFs
-+ make sure the types are compatible.
++ * config/i386/smmintrin.h: Avoid /* within a comment.
++ * config/i386/nmmintrin.h: Likewise.
+
-+2009-04-21 Jakub Jelinek <jakub@redhat.com>
++2012-03-22 Richard Guenther <rguenther@suse.de>
+
-+ * BASE-VER: Set to 4.4.1.
++ * BASE-VER: Set to 4.7.1.
+ * DEV-PHASE: Set to prerelease.
+
- 2009-04-21 Release Manager
+ 2012-03-22 Release Manager
- * GCC 4.4.0 released.
-Index: gcc/testsuite/gcc.c-torture/execute/pr40022.c
+ * GCC 4.7.0 released.
+Index: gcc/testsuite/gcc.target/avr/torture/addr-space-1-0.c
===================================================================
---- gcc/testsuite/gcc.c-torture/execute/pr40022.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/execute/pr40022.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,51 @@
-+extern void abort (void);
-+
-+struct A
-+{
-+ struct A *a;
-+};
-+
-+struct B
-+{
-+ struct A *b;
-+};
-+
-+__attribute__((noinline))
-+struct A *
-+foo (struct A *x)
-+{
-+ asm volatile ("" : : "g" (x) : "memory");
-+ return x;
-+}
+--- gcc/testsuite/gcc.target/avr/torture/addr-space-1-0.c (.../tags/gcc_4_7_0_release) (wersja 0)
++++ gcc/testsuite/gcc.target/avr/torture/addr-space-1-0.c (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -0,0 +1,6 @@
++/* { dg-options "-std=gnu99" } */
++/* { dg-do run } */
+
-+__attribute__((noinline))
-+void
-+bar (struct B *w, struct A *x, struct A *y, struct A *z)
-+{
-+ struct A **c;
-+ c = &w->b;
-+ *c = foo (x);
-+ while (*c)
-+ c = &(*c)->a;
-+ *c = foo (y);
-+ while (*c)
-+ c = &(*c)->a;
-+ *c = foo (z);
-+}
++#define __as __flash
+
-+struct B d;
-+struct A e, f, g;
++#include "addr-space-1.h"
+Index: gcc/testsuite/gcc.target/avr/torture/addr-space-1-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/avr/torture/addr-space-1-1.c (.../tags/gcc_4_7_0_release) (wersja 0)
++++ gcc/testsuite/gcc.target/avr/torture/addr-space-1-1.c (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -0,0 +1,6 @@
++/* { dg-options "-std=gnu99 -Tavr51-flash1.x" } */
++/* { dg-do run } */
+
-+int
-+main (void)
-+{
-+ f.a = &g;
-+ bar (&d, &e, &f, 0);
-+ if (d.b == 0
-+ || d.b->a == 0
-+ || d.b->a->a == 0
-+ || d.b->a->a->a != 0)
-+ abort ();
-+ return 0;
-+}
++#define __as __flash1
+
-Index: gcc/testsuite/gcc.c-torture/execute/pr40404.c
++#include "addr-space-1.h"
+Index: gcc/testsuite/gcc.target/avr/torture/addr-space-2-0.c
===================================================================
---- gcc/testsuite/gcc.c-torture/execute/pr40404.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/execute/pr40404.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,12 @@
-+extern void abort (void);
-+struct S {
-+ unsigned int ui17 : 17;
-+} s;
-+int main()
-+{
-+ s.ui17 = 0x1ffff;
-+ if (s.ui17 >= 0xfffffffeu)
-+ abort ();
-+ return 0;
-+}
+--- gcc/testsuite/gcc.target/avr/torture/addr-space-2-0.c (.../tags/gcc_4_7_0_release) (wersja 0)
++++ gcc/testsuite/gcc.target/avr/torture/addr-space-2-0.c (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -0,0 +1,6 @@
++/* { dg-options "-std=gnu99" } */
++/* { dg-do run } */
++
++#define __as __flash
+
-Index: gcc/testsuite/gcc.c-torture/execute/pr40057.c
++#include "addr-space-2.h"
+Index: gcc/testsuite/gcc.target/avr/torture/addr-space-2-1.c
===================================================================
---- gcc/testsuite/gcc.c-torture/execute/pr40057.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/execute/pr40057.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,37 @@
-+/* PR middle-end/40057 */
+--- gcc/testsuite/gcc.target/avr/torture/addr-space-2-1.c (.../tags/gcc_4_7_0_release) (wersja 0)
++++ gcc/testsuite/gcc.target/avr/torture/addr-space-2-1.c (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -0,0 +1,6 @@
++/* { dg-options "-std=gnu99 -Tavr51-flash1.x" } */
++/* { dg-do run } */
+
-+extern void abort (void);
++#define __as __flash1
+
-+__attribute__((noinline)) int
-+foo (unsigned long long x)
-+{
-+ unsigned long long y = (x >> 31ULL) & 1ULL;
-+ if (y == 0ULL)
-+ return 0;
-+ return -1;
-+}
++#include "addr-space-2.h"
+Index: gcc/testsuite/gcc.target/avr/torture/addr-space-1-x.c
+===================================================================
+--- gcc/testsuite/gcc.target/avr/torture/addr-space-1-x.c (.../tags/gcc_4_7_0_release) (wersja 0)
++++ gcc/testsuite/gcc.target/avr/torture/addr-space-1-x.c (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -0,0 +1,6 @@
++/* { dg-options "-std=gnu99" } */
++/* { dg-do run } */
+
-+__attribute__((noinline)) int
-+bar (long long x)
-+{
-+ long long y = (x >> 31LL) & 1LL;
-+ if (y == 0LL)
-+ return 0;
-+ return -1;
-+}
++#define __as __memx
+
-+int
-+main (void)
-+{
-+ if (sizeof (long long) != 8)
-+ return 0;
-+ if (foo (0x1682a9aaaULL))
-+ abort ();
-+ if (!foo (0x1882a9aaaULL))
-+ abort ();
-+ if (bar (0x1682a9aaaLL))
-+ abort ();
-+ if (!bar (0x1882a9aaaLL))
-+ abort ();
-+ return 0;
-+}
-Index: gcc/testsuite/gcc.c-torture/compile/pr39983.c
++#include "addr-space-1.h"
+Index: gcc/testsuite/gcc.target/avr/torture/addr-space-1.h
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr39983.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr39983.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,17 @@
-+typedef struct {
-+ int *p;
-+} *A;
-+
-+extern const int a[1];
-+extern const int b[1];
+--- gcc/testsuite/gcc.target/avr/torture/addr-space-1.h (.../tags/gcc_4_7_0_release) (wersja 0)
++++ gcc/testsuite/gcc.target/avr/torture/addr-space-1.h (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -0,0 +1,83 @@
++#include <stdlib.h>
++#include <string.h>
+
-+void foo()
++typedef struct
+{
-+ A x;
-+ A y;
-+ static const int * const c[] = { b };
++ char i1;
++ short i2;
++ long i4;
++ long long i8;
++ char str[2][10];
++} a_t;
+
-+ x->p = (int*)c[0];
-+ y->p = (int*)a;
-+}
++const __as a_t A =
++ {
++ 12, 345, 678910, 1234567891011ll,
++ {
++ "xxx..xxx",
++ "yyy..yyy"
++ }
++ };
+
-Index: gcc/testsuite/gcc.c-torture/compile/pr34334.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr34334.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.c-torture/compile/pr34334.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,4 +1,4 @@
--typedef unsigned int size_t;
-+__extension__ typedef __SIZE_TYPE__ size_t;
- __extension__ typedef long long int __quad_t;
- __extension__ typedef unsigned int __mode_t;
- __extension__ typedef __quad_t __off64_t;
-Index: gcc/testsuite/gcc.c-torture/compile/pr40023.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr40023.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr40023.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,11 @@
-+typedef __builtin_va_list va_list;
-+typedef struct {
-+ va_list ap;
-+} ScanfState;
-+void
-+GetInt(ScanfState *state, long llval)
-+{
-+ *__builtin_va_arg(state->ap,long *) = llval;
-+ __builtin_va_end(state->ap);
-+}
++const __as volatile a_t V =
++ {
++ 12+1, 345+1, 678910+1, 1234567891011ll+1,
++ {
++ "XXX..XXX",
++ "YYY..YYY"
++ }
++ };
+
-Index: gcc/testsuite/gcc.c-torture/compile/20060202-1.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/20060202-1.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.c-torture/compile/20060202-1.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,4 +1,4 @@
--typedef unsigned int size_t;
-+typedef __SIZE_TYPE__ size_t;
- typedef const struct objc_selector
- {
- void *sel_id;
-Index: gcc/testsuite/gcc.c-torture/compile/20030405-1.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/20030405-1.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.c-torture/compile/20030405-1.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -6,7 +6,7 @@
- and when the PHI node at the end of the while() is visited the first
- time, CCP will try to assign it a value of UNDEFINED, but the default
- value for *str is a constant. */
--typedef unsigned int size_t;
-+typedef __SIZE_TYPE__ size_t;
- size_t strlength (const char * const);
- char foo();
-
-Index: gcc/testsuite/gcc.c-torture/compile/20010328-1.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/20010328-1.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.c-torture/compile/20010328-1.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,4 +1,4 @@
--typedef unsigned int size_t;
-+typedef __SIZE_TYPE__ size_t;
- typedef unsigned int __u_int;
- typedef unsigned long __u_long;
-
-Index: gcc/testsuite/gcc.c-torture/compile/pr34688.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr34688.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.c-torture/compile/pr34688.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,4 +1,4 @@
--typedef unsigned int size_t;
-+typedef __SIZE_TYPE__ size_t;
- typedef struct {
- }
- HashTable;
-Index: gcc/testsuite/gcc.c-torture/compile/pr40204.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr40204.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr40204.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,14 @@
-+/* PR middle-end/40204 */
++a_t A2;
++volatile a_t V2;
+
-+struct S
++int main (void)
+{
-+ unsigned int a : 4;
-+ unsigned int b : 28;
-+} s;
-+char c;
++ if (A.i1 != 12
++ || A.i1 != V.i1 -1)
++ abort();
+
-+void
-+f (void)
-+{
-+ s.a = (c >> 4) & ~(1 << 4);
-+}
-Index: gcc/testsuite/gcc.c-torture/compile/pr33382.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr33382.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.c-torture/compile/pr33382.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,4 +1,4 @@
--typedef unsigned int size_t;
-+typedef __SIZE_TYPE__ size_t;
- typedef struct {
- int disable;
- char *searchconfig[];
-Index: gcc/testsuite/gcc.c-torture/compile/980329-1.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/980329-1.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.c-torture/compile/980329-1.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,4 +1,4 @@
--typedef unsigned long int size_t;
-+typedef __SIZE_TYPE__ size_t;
- struct re_pattern_buffer
- {
- unsigned char *buffer;
-Index: gcc/testsuite/gcc.c-torture/compile/pr40026.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr40026.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr40026.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,15 @@
-+typedef struct {
-+ unsigned long bits;
-+} S;
-+struct T {
-+ S span;
-+ int flags;
-+};
++ if (A.i2 != 345
++ || A.i2 != V.i2 -1)
++ abort();
+
-+struct T f(int x)
-+{
-+ return (struct T) {
-+ .span = (S) { 0UL },
-+ .flags = (x ? 256 : 0),
-+ };
-+}
-Index: gcc/testsuite/gcc.c-torture/compile/pr40035.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr40035.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr40035.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,20 @@
-+typedef __SIZE_TYPE__ size_t;
-+void *memmove (void *dest, const void *src, size_t count);
-+size_t strlen (const char *s);
++ if (A.i4 != 678910
++ || A.i4 != V.i4 -1)
++ abort();
+
-+int
-+foo (char *param, char *val)
-+{
-+ if (val)
-+ {
-+ if (val == param + strlen (param) + 1)
-+ val[-1] = '=';
-+ else if (val == param + strlen (param) + 2)
-+ {
-+ val[-2] = '=';
-+ memmove (val - 1, val, strlen (val) + 1);
-+ val--;
-+ }
-+ }
-+ return 0;
-+}
-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 149030)
-@@ -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/pr40233.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr40233.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr40233.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,10 @@
-+typedef int aligned __attribute__((aligned(64)));
-+struct Frame {
-+ aligned i;
-+};
-+
-+void foo(struct Frame *p)
-+{
-+ aligned *q = &p->i;
-+ *q = 0;
-+}
-Index: gcc/testsuite/gcc.c-torture/compile/pr40080.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr40080.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr40080.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,44 @@
-+extern void *ff(void*,int);
-+
-+struct lpgl { struct lpgl *next; };
-+struct lpgd { struct lpgl *first; };
-+
-+typedef int (*xfn)( );
-+static void xDP_IF_EnumGroupsInGroup ( void *a, int b, xfn fn)
-+{
-+ struct lpgd *lpGData;
-+ struct lpgl *lpGList;
-+
-+ if( ( lpGData = ff( a, b ) ) == ((void *)0) )
-+ return;
-+
-+ if( lpGData->first == ((void *)0) )
-+ return;
-+ lpGList = lpGData->first;
-+
-+ for( ;; ) {
-+ if( !(*fn)( ) )
-+ return;
-+ if( lpGList->next == ((void *)0) )
-+ break;
-+ lpGList = lpGList->next;
-+ }
-+ return;
-+}
-+
-+
-+static int
-+xcbDeletePlayerFromAllGroups() {
-+ xDP_IF_EnumGroupsInGroup(0, 0, 0);
-+ return 1;
-+}
-+
-+void xDP_IF_EnumGroups( xfn fn) {
-+ xDP_IF_EnumGroupsInGroup( 0, 0, fn);
-+}
-+
-+static void xDP_IF_DestroyPlayer () {
-+ xDP_IF_EnumGroups( xcbDeletePlayerFromAllGroups);
-+}
-+
-+void* foo=xDP_IF_DestroyPlayer;
-Index: gcc/testsuite/gcc.c-torture/compile/pr32584.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr32584.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.c-torture/compile/pr32584.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,5 +1,8 @@
--typedef long unsigned int size_t;
--typedef long int __ssize_t;
-+typedef __SIZE_TYPE__ size_t;
-+/* Kludge */
-+#define unsigned
-+typedef __SIZE_TYPE__ __ssize_t;
-+#undef unsigned
- typedef struct
- {
- } __mbstate_t;
-Index: gcc/testsuite/gcc.c-torture/compile/20090519-1.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/20090519-1.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/20090519-1.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,11 @@
-+typedef struct { int licensed; } __pmPDUInfo;
-+void __pmDecodeXtendError (int *);
-+void do_handshake(void)
-+{
-+ __pmPDUInfo *pduinfo;
-+ int challenge;
-+ __pmDecodeXtendError(&challenge);
-+ pduinfo = (__pmPDUInfo *)&challenge;
-+ *pduinfo = *pduinfo;
-+}
-+
-Index: gcc/testsuite/gcc.c-torture/compile/pr39999.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr39999.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr39999.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,18 @@
-+void foo(void *);
-+void
-+MMAPGCD (int *A1, int *A2)
-+{
-+ int *t;
-+
-+ do
-+ {
-+ t = A1;
-+ A1 = A2;
-+ A2 = t;
-+ }
-+ while (A2[-1]);
-+
-+ foo (A1-1);
-+ foo (A2-1);
-+}
-+
-Index: gcc/testsuite/gcc.c-torture/compile/pr39941.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr39941.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr39941.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,12 @@
-+typedef void (*entry_func) (void) __attribute__ ((noreturn));
-+extern entry_func entry_addr;
-+static void bsd_boot_entry (void)
-+{
-+ stop ();
-+}
-+void bsd_boot (void)
-+{
-+ entry_addr = (entry_func) bsd_boot_entry;
-+ (*entry_addr) ();
-+}
-+
-Index: gcc/testsuite/gcc.c-torture/compile/pr37669.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr37669.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.c-torture/compile/pr37669.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,6 +1,6 @@
- /* This testcase used to fail because a miscompiled execute_fold_all_builtins. */
-
--typedef long unsigned int size_t;
-+typedef __SIZE_TYPE__ size_t;
- extern __inline __attribute__ ((__always_inline__)) int __attribute__
- ((__nothrow__)) snprintf (char *__restrict __s, size_t __n, __const char
- *__restrict __fmt, ...) {
-Index: gcc/testsuite/gcc.c-torture/compile/pr40252.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr40252.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr40252.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,6 @@
-+typedef unsigned int uint32_t;
-+static void IP(uint32_t v[2])
-+{
-+ v[0] = ((v[0] << 1) | ((v[0] >> 31) & 1L)) & 0xffffffffL;
-+}
-+
-Index: gcc/testsuite/gcc.c-torture/compile/20030320-1.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/20030320-1.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.c-torture/compile/20030320-1.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -2,7 +2,7 @@
- conditional returns without updating dominance info.
- Extracted from glibc's dl-load.c. */
-
--typedef unsigned long size_t;
-+typedef __SIZE_TYPE__ size_t;
-
- static size_t
- is_dst (const char *start, const char *name, const char *str,
-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 149030)
-@@ -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/gcc.c-torture/compile/20000211-1.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/20000211-1.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.c-torture/compile/20000211-1.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,4 +1,4 @@
--typedef long unsigned int size_t;
-+typedef __SIZE_TYPE__ size_t;
- typedef unsigned char Bufbyte;
- typedef int Bytecount;
- typedef int Charcount;
-Index: gcc/testsuite/gcc.c-torture/compile/20080613-1.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/20080613-1.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.c-torture/compile/20080613-1.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,7 +1,7 @@
- /* PR middle-end/36520 */
- /* Testcase by Richard Guenther <rguenth@gcc.gnu.org> */
-
--typedef long unsigned int size_t;
-+typedef __SIZE_TYPE__ size_t;
- typedef unsigned short int sa_family_t;
- struct cmsghdr {
- size_t cmsg_len;
-Index: gcc/testsuite/gcc.c-torture/compile/980816-1.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/980816-1.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.c-torture/compile/980816-1.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,4 +1,4 @@
--typedef unsigned int size_t;
-+typedef __SIZE_TYPE__ size_t;
- typedef void *XtPointer;
-
- typedef struct _WidgetRec *Widget;
-Index: gcc/testsuite/gcc.c-torture/compile/20030902-1.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/20030902-1.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.c-torture/compile/20030902-1.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,4 +1,4 @@
--typedef unsigned int size_t;
-+typedef __SIZE_TYPE__ size_t;
- typedef unsigned long int reg_syntax_t;
- struct re_pattern_buffer
- {
-Index: gcc/testsuite/gcc.c-torture/compile/pr39937.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr39937.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr39937.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,12 @@
-+int foo (__const char *__restrict __s);
-+static void
-+read_anisou(char line[])
-+{
-+ foo (line+1);
-+}
-+void
-+read_pdbfile(void)
-+{
-+ char line[4096];
-+ read_anisou (line);
-+}
-Index: gcc/testsuite/gcc.c-torture/compile/pr35043.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr35043.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.c-torture/compile/pr35043.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,4 +1,4 @@
--typedef long unsigned int size_t;
-+typedef __SIZE_TYPE__ size_t;
- typedef struct {
- long double dat[2];
- } gsl_complex_long_double;
-Index: gcc/testsuite/gcc.c-torture/compile/pr40291.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr40291.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr40291.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,7 @@
-+/* PR middle-end/40291 */
-+
-+int
-+foo (void *x, char *y, unsigned long long z)
-+{
-+ return memcmp (x, y, z);
-+}
-Index: gcc/testsuite/gcc.c-torture/compile/920428-2.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/920428-2.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.c-torture/compile/920428-2.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -41,7 +41,7 @@
- short _flag;
- char _file;
- } _iob[];
--typedef unsigned long size_t;
-+typedef __SIZE_TYPE__ size_t;
- typedef char *va_list;
- struct _iobuf *fopen(const char *filename, const char *type);
- struct _iobuf *freopen(const char *filename, const char *type, struct _iobuf *stream);
-Index: gcc/testsuite/gcc.c-torture/compile/pr33173.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr33173.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.c-torture/compile/pr33173.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,4 +1,4 @@
--typedef long unsigned int size_t;
-+typedef __SIZE_TYPE__ size_t;
- typedef struct
- {
- }
-Index: gcc/testsuite/gcc.target/powerpc/altivec-30.c
-===================================================================
---- gcc/testsuite/gcc.target/powerpc/altivec-30.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/powerpc/altivec-30.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,32 @@
-+/* { dg-do compile { target powerpc*-*-* } } */
-+/* { dg-require-effective-target powerpc_altivec_ok } */
-+/* { dg-options "-maltivec" } */
-+
-+#include <stdbool.h>
-+#include <altivec.h>
-+
-+#define f0(type) void x0##type (vector bool type x) { }
-+f0 (int)
-+
-+#define f1(v, type) void x1##type (v bool type x) { }
-+f1 (vector, int)
-+
-+#define f2(b, type) void x2##type (vector b type x) { }
-+f2 (bool, int)
-+
-+#define f3(v, b, type) void x3##type (v b type x) { }
-+f3 (vector, bool, int)
-+
-+#define f4(v, b, type) void x4##type (v type b x) { }
-+f4 (vector, bool, int)
-+
-+#define B bool
-+#define I int
-+#define BI bool int
-+#define VBI vector bool int
-+
-+vector bool int a;
-+vector B int b;
-+vector B I c;
-+vector BI d;
-+VBI e;
-Index: gcc/testsuite/gcc.target/powerpc/altivec-31.c
-===================================================================
---- gcc/testsuite/gcc.target/powerpc/altivec-31.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/powerpc/altivec-31.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,29 @@
-+/* { dg-do compile { target powerpc*-*-* } } */
-+/* { dg-require-effective-target powerpc_altivec_ok } */
-+/* { dg-options "-maltivec" } */
-+
-+#define f0(type) void x0##type (vector _Bool type x) { }
-+f0 (int)
-+
-+#define f1(v, type) void x1##type (v _Bool type x) { }
-+f1 (vector, int)
-+
-+#define f2(b, type) void x2##type (vector b type x) { }
-+f2 (_Bool, int)
-+
-+#define f3(v, b, type) void x3##type (v b type x) { }
-+f3 (vector, _Bool, int)
-+
-+#define f4(v, b, type) void x4##type (v type b x) { }
-+f4 (vector, _Bool, int)
-+
-+#define B _Bool
-+#define I int
-+#define BI _Bool int
-+#define VBI vector _Bool int
-+
-+vector _Bool int a;
-+vector B int b;
-+vector B I c;
-+vector BI d;
-+VBI e;
-Index: gcc/testsuite/gcc.target/powerpc/altivec-types-1.c
-===================================================================
---- gcc/testsuite/gcc.target/powerpc/altivec-types-1.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.target/powerpc/altivec-types-1.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -24,6 +24,7 @@
- __vector signed vsj;
- __vector __bool vbj;
- __vector float vf;
-+__vector _Bool vb;
-
- /* These should be rejected as invalid AltiVec types. */
-
-@@ -37,7 +38,6 @@
- __vector __bool long long int vblli; /* { dg-error "AltiVec types" "" } */
- __vector double vd1; /* { dg-error "AltiVec types" "" } */
- __vector long double vld; /* { dg-error "AltiVec types" "" } */
--__vector _Bool vb; /* { dg-error "AltiVec types" "" } */
- __vector _Complex float vcf; /* { dg-error "AltiVec types" "" } */
- __vector _Complex double vcd; /* { dg-error "AltiVec types" "" } */
- __vector _Complex long double vcld; /* { dg-error "AltiVec types" "" } */
-Index: gcc/testsuite/gcc.target/i386/pr39543-1.c
-===================================================================
---- gcc/testsuite/gcc.target/i386/pr39543-1.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/pr39543-1.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,52 @@
-+/* PR inline-asm/39543 */
-+/* { dg-do compile } */
-+/* { dg-options "-O3 -fomit-frame-pointer" } */
-+
-+float __attribute__ ((aligned (16))) s0[128];
-+const float s1 = 0.707;
-+float s2[8] __attribute__ ((aligned (16)));
-+float s3[8] __attribute__ ((aligned (16)));
-+float s4[16] __attribute__ ((aligned (16)));
-+float s5[16] __attribute__ ((aligned (16)));
-+
-+void
-+foo (int k, float *x, float *y, const float *d, const float *z)
-+{
-+ float *a, *b, *c, *e;
-+
-+ a = x + 2 * k;
-+ b = a + 2 * k;
-+ c = b + 2 * k;
-+ e = y + 2 * k;
-+ __asm__ volatile (""
-+ : "=m" (x[0]), "=m" (b[0]), "=m" (a[0]), "=m" (c[0])
-+ : "m" (y[0]), "m" (y[k * 2]), "m" (x[0]), "m" (a[0])
-+ : "memory");
-+ for (;;)
-+ {
-+ __asm__ volatile (""
-+ :
-+ : "m" (y[2]), "m" (d[2]), "m" (e[2]), "m" (z[2])
-+ : "memory");
-+ if (!--k)
-+ break;
-+ }
-+ __asm__ volatile (""
-+ : "=m" (x[2]), "=m" (x[10]), "=m" (x[6]), "=m" (x[14])
-+ : "m" (y[2]), "m" (y[6]), "m" (x[2]), "m" (x[6]),
-+ "m" (y[18]), "m" (s1)
-+ : "memory");
-+}
-+
-+void
-+bar (float *a)
-+{
-+ foo (4, a, a + 16, s2, s3);
-+ foo (8, a, a + 32, s4, s5);
-+}
-+
-+void
-+baz (void)
-+{
-+ bar (s0);
-+}
-Index: gcc/testsuite/gcc.target/i386/pr39543-3.c
-===================================================================
---- gcc/testsuite/gcc.target/i386/pr39543-3.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/pr39543-3.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,42 @@
-+/* PR inline-asm/39543 */
-+/* { dg-do compile } */
-+/* { dg-options "-O2" } */
-+
-+int s[128];
-+
-+void
-+f1 (void)
-+{
-+ int i;
-+ asm volatile ("# %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17"
-+ : "=r" (i)
-+ : "m" (s[0]), "m" (s[2]), "m" (s[4]), "m" (s[6]), "m" (s[8]),
-+ "m" (s[10]), "m" (s[12]), "m" (s[14]), "m" (s[16]), "m" (s[18]),
-+ "m" (s[20]), "m" (s[22]), "m" (s[24]), "m" (s[26]), "m" (s[28]),
-+ "m" (s[30]), "m" (s[32]));
-+ asm volatile ("# %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17"
-+ : "=r" (i)
-+ : "m" (s[0]), "m" (s[2]), "m" (s[4]), "m" (s[6]), "m" (s[8]),
-+ "m" (s[10]), "m" (s[12]), "m" (s[14]), "m" (s[16]), "m" (s[18]),
-+ "m" (s[20]), "m" (s[22]), "m" (s[24]), "m" (s[26]), "m" (s[28]),
-+ "m" (s[30]), "m" (s[32]));
-+}
-+
-+void
-+f2 (int *q)
-+{
-+ int i;
-+ int *p = q + 32;
-+ asm volatile ("# %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17"
-+ : "=r" (i)
-+ : "m" (p[0]), "m" (p[2]), "m" (p[4]), "m" (p[6]), "m" (p[8]),
-+ "m" (p[10]), "m" (p[12]), "m" (p[14]), "m" (p[16]), "m" (p[18]),
-+ "m" (p[20]), "m" (p[22]), "m" (p[24]), "m" (p[26]), "m" (p[28]),
-+ "m" (p[30]), "m" (p[32]));
-+ asm volatile ("# %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17"
-+ : "=r" (i)
-+ : "m" (p[0]), "m" (p[2]), "m" (p[4]), "m" (p[6]), "m" (p[8]),
-+ "m" (p[10]), "m" (p[12]), "m" (p[14]), "m" (p[16]), "m" (p[18]),
-+ "m" (p[20]), "m" (p[22]), "m" (p[24]), "m" (p[26]), "m" (p[28]),
-+ "m" (p[30]), "m" (p[32]));
-+}
-Index: gcc/testsuite/gcc.target/i386/pr39543-2.c
-===================================================================
---- gcc/testsuite/gcc.target/i386/pr39543-2.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/pr39543-2.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,52 @@
-+/* PR inline-asm/39543 */
-+/* { dg-do compile } */
-+/* { dg-options "-O3" } */
-+/* { dg-skip-if "" { ilp32 && { ! nonpic } } { "*" } { "" } } */
-+
-+float __attribute__ ((aligned (16))) s0[128];
-+const float s1 = 0.707;
-+float s2[8] __attribute__ ((aligned (16)));
-+float s3[8] __attribute__ ((aligned (16)));
-+float s4[16] __attribute__ ((aligned (16)));
-+float s5[16] __attribute__ ((aligned (16)));
-+
-+void
-+foo (int k, float *x, float *y, const float *d, const float *z)
-+{
-+ float *a, *b, *c, *e;
-+
-+ a = x + 2 * k;
-+ b = a + 2 * k;
-+ c = b + 2 * k;
-+ e = y + 2 * k;
-+ __asm__ volatile (""
-+ : "=m" (x[0]), "=m" (b[0]), "=m" (a[0]), "=m" (c[0])
-+ : "m" (y[0]), "m" (y[k * 2]), "m" (x[0]), "m" (a[0])
-+ : "memory");
-+ for (;;)
-+ {
-+ __asm__ volatile (""
-+ :
-+ : "m" (y[2]), "m" (d[2]), "m" (e[2]), "m" (z[2])
-+ : "memory");
-+ if (!--k)
-+ break;
-+ }
-+ __asm__ volatile (""
-+ : "=m" (x[2]), "=m" (x[10]), "=m" (x[6]), "=m" (x[14])
-+ : "m" (y[2]), "m" (y[6]), "m" (x[2]), "m" (x[6]), "m" (s1)
-+ : "memory");
-+}
-+
-+void
-+bar (float *a)
-+{
-+ foo (4, a, a + 16, s2, s3);
-+ foo (8, a, a + 32, s4, s5);
-+}
-+
-+void
-+baz (void)
-+{
-+ bar (s0);
-+}
-Index: gcc/testsuite/gcc.target/x86_64/abi/asm-support.S
-===================================================================
---- gcc/testsuite/gcc.target/x86_64/abi/asm-support.S (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.target/x86_64/abi/asm-support.S (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -49,7 +49,9 @@
- .type snapshot_ret, @function
- snapshot_ret:
- movq %rdi, rdi(%rip)
-+ subq $8, %rsp
- call *callthis(%rip)
-+ addq $8, %rsp
- movq %rax, rax(%rip)
- movq %rdx, rdx(%rip)
- movdqu %xmm0, xmm_regs+0(%rip)
-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 149030)
-@@ -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 149030)
-@@ -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/pr39666-1.c
-===================================================================
---- gcc/testsuite/gcc.dg/pr39666-1.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr39666-1.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,22 @@
-+/* PR middle-end/39666 */
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -Wuninitialized" } */
-+
-+int
-+foo (int i)
-+{
-+ int j;
-+ switch (i)
-+ {
-+ case -__INT_MAX__ - 1 ... -1:
-+ j = 6;
-+ break;
-+ case 0:
-+ j = 5;
-+ break;
-+ case 1 ... __INT_MAX__:
-+ j = 4;
-+ break;
-+ }
-+ return j;
-+}
-Index: gcc/testsuite/gcc.dg/pr40172-2.c
-===================================================================
---- gcc/testsuite/gcc.dg/pr40172-2.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr40172-2.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,16 @@
-+/* PR middle-end/40172 */
-+/* { dg-do compile } */
-+/* { dg-options "-Wall -W -Werror" } */
-+
-+extern int xxx;
-+
-+#define XXX xxx
-+
-+int
-+test (void)
-+{
-+ if (!XXX && xxx)
-+ return 4;
-+ else
-+ return 0;
-+}
-Index: gcc/testsuite/gcc.dg/pr39565.c
-===================================================================
---- gcc/testsuite/gcc.dg/pr39565.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr39565.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,48 @@
-+/* PR39565: Static variable leaves undefined symbol in object file.
-+ Variables codestrs_4 and codestrs_8 should not be undefined,
-+ when this program is compiled at -O2. As a basic sanity test,
-+ verify that this program compiles into an executable and runs. */
-+
-+/* { dg-do run } */
-+/* { dg-options "-O2" } */
-+
-+extern void abort (void);
-+extern void exit (int);
-+extern int strcmp (const char *, const char *);
-+
-+static const union codestrs_t_4 {
-+ struct {
-+ char str_2[sizeof ("Illegal opcode")];
-+ };
-+ char str[0];
-+} codestrs_4 = { {"Illegal opcode"} };
-+
-+static const union codestrs_t_8 {
-+ struct {
-+ char str_12[sizeof ("Integer divide by zero")];
-+ };
-+ char str[0];
-+} codestrs_8 = { {"Integer divide by zero"} };
-+
-+const char *
-+psiginfo (int pinfo)
-+{
-+ const char *base = ((void *)0);
-+
-+ switch (pinfo)
-+ {
-+ case 4: base = codestrs_4.str; break;
-+ case 8: base = codestrs_8.str; break;
-+ }
-+ return base;
-+}
-+
-+int
-+main (void)
-+{
-+ if (strcmp (psiginfo (4), codestrs_4.str))
-+ abort ();
-+ if (strcmp (psiginfo (8), codestrs_8.str))
-+ abort ();
-+ exit (0);
-+}
-Index: gcc/testsuite/gcc.dg/pr40340.h
-===================================================================
---- gcc/testsuite/gcc.dg/pr40340.h (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr40340.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,31 @@
-+#pragma GCC system_header
-+typedef __SIZE_TYPE__ size_t;
-+extern void *memset (void *s, int c, size_t n)
-+ __attribute__ ((nothrow, nonnull (1)));
-+extern inline
-+__attribute__ ((always_inline, artificial, gnu_inline, nothrow))
-+void *
-+memset (void *dest, int ch, size_t len)
-+{
-+ return __builtin___memset_chk (dest, ch, len,
-+ __builtin_object_size (dest, 0));
-+}
-+
-+#ifdef TEST2
-+static void
-+__attribute__ ((noinline))
-+test2 (void)
-+{
-+ char buf[4];
-+ memset (buf, 0, 6);
-+}
-+#endif
-+
-+#ifdef TEST3
-+static inline void
-+__attribute__ ((always_inline))
-+test3 (char *p)
-+{
-+ memset (p, 0, 6);
-+}
-+#endif
-Index: gcc/testsuite/gcc.dg/pr40340-1.c
-===================================================================
---- gcc/testsuite/gcc.dg/pr40340-1.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr40340-1.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,24 @@
-+/* PR middle-end/40340 */
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -Wall -Wno-system-headers" } */
-+
-+#include "pr40340.h"
-+
-+static inline
-+__attribute__ ((always_inline))
-+void
-+test (char *p)
-+{
-+ memset (p, 0, 6);
-+}
-+
-+int
-+main (void)
-+{
-+ char buf[4];
-+ test (buf);
-+ return 0;
-+}
-+
-+/* { dg-warning "will always overflow destination buffer" "" { target *-*-* } 10 } */
-+/* { dg-message "file included" "In file included" { target *-*-* } 0 } */
-Index: gcc/testsuite/gcc.dg/pr40340-3.c
-===================================================================
---- gcc/testsuite/gcc.dg/pr40340-3.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr40340-3.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,15 @@
-+/* PR middle-end/40340 */
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -Wall -Wno-system-headers" } */
-+
-+#define TEST2
-+#include "pr40340.h"
-+
-+int
-+main (void)
-+{
-+ test2 ();
-+ return 0;
-+}
-+
-+/* { dg-bogus "will always overflow destination buffer" "" { target *-*-* } 10 } */
-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 149030)
-@@ -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/pr40470-4.c
-===================================================================
---- gcc/testsuite/gcc.dg/torture/pr40470-4.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr40470-4.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,29 @@
-+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
-+/* { dg-options "-msse4" } */
-+#include <nmmintrin.h>
-+__m128i load (char *);
-+char *
-+foo (const unsigned char *s1, const unsigned char *s2,
-+ int bmsk, __m128i frag2)
-+{
-+ int len = 0;
-+ char *p1 = (char *) s1;
-+ char *p2 = (char *) s2;
-+ __m128i frag1, fruc1, fruc2, mask1, mask2;
-+ int cmp_c, cmp_s;
-+ if( !p2[0]) return (char *) s1;
-+ if( !p1[0] ) return NULL;
-+ if( p2[1]) frag2 = load (p2);
-+ frag1 = load (p1);
-+ fruc1 = _mm_loadu_si128 ((__m128i *) s1);
-+ fruc2 = _mm_loadu_si128 ((__m128i *) s2);
-+ mask1 = _mm_cmpistrm(fruc1, frag2, 0x44);
-+ mask2 = _mm_cmpistrm(fruc2, frag1, 0x14);
-+ frag2 = _mm_blendv_epi8(frag2, mask1, mask2);
-+ frag1 = _mm_blendv_epi8(frag1, mask2, mask1);
-+ cmp_c = _mm_cmpistrc(frag2, frag1, 0x0c);
-+ cmp_s = _mm_cmpistrs(frag2, frag1, 0x0c);
-+ if( cmp_s & cmp_c )
-+ __asm("bsfl %[bmsk], %[len]" : [len] "=r" (len) : [bmsk] "r" (bmsk) );
-+ return p2 + len;
-+}
-Index: gcc/testsuite/gcc.dg/torture/pr39903-1.c
-===================================================================
---- gcc/testsuite/gcc.dg/torture/pr39903-1.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr39903-1.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,24 @@
-+/* PR target/39903 */
-+/* { dg-do run } */
-+/* { dg-options "-Wno-psabi" } */
-+
-+struct X {
-+ double d;
-+ double b[];
-+};
-+
-+struct X __attribute__((noinline))
-+foo (double d)
-+{
-+ struct X x;
-+ x.d = d;
-+ return x;
-+}
-+extern void abort (void);
-+int main()
-+{
-+ struct X x = foo(3.0);
-+ if (x.d != 3.0)
-+ abort ();
-+ return 0;
-+}
-Index: gcc/testsuite/gcc.dg/torture/pr40328.c
-===================================================================
---- gcc/testsuite/gcc.dg/torture/pr40328.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr40328.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,11 @@
-+/* { dg-do compile } */
-+/* { dg-options "-fno-tree-sra" } */
-+
-+_Complex float foo(void)
-+{
-+ _Complex float a[64] = {};
-+ _Complex float x;
-+ x = a[1];
-+ return x;
-+}
-+
-Index: gcc/testsuite/gcc.dg/torture/pr40470-1.c
-===================================================================
---- gcc/testsuite/gcc.dg/torture/pr40470-1.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr40470-1.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,22 @@
-+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
-+/* { dg-options "-msse4" } */
-+#include <nmmintrin.h>
-+__m128i load (char *);
-+char *
-+foo (char *p1, char *p2,
-+ int bmsk, __m128i mask1, __m128i mask2)
-+{
-+ int len = 0;
-+ __m128i frag1, frag2;
-+ int cmp_s;
-+ if( !p2[0]) return p1;
-+ if( !p1[0] ) return NULL;
-+ frag2 = load (p2);
-+ frag1 = load (p1);
-+ frag2 = _mm_blendv_epi8(frag2, mask2, mask1);
-+ frag1 = _mm_blendv_epi8(frag1, mask2, mask1);
-+ cmp_s = _mm_cmpistrs(frag2, frag1, 0x0c);
-+ if( cmp_s )
-+ __asm("bsfl %[bmsk], %[len]" : [len] "=r" (len) : [bmsk] "r" (bmsk) );
-+ return p1 + len;
-+}
-Index: gcc/testsuite/gcc.dg/torture/pr39903-2.c
-===================================================================
---- gcc/testsuite/gcc.dg/torture/pr39903-2.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr39903-2.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,24 @@
-+/* PR target/39903 */
-+/* { dg-do run } */
-+/* { dg-options "-Wno-psabi" } */
-+
-+struct X {
-+ float d;
-+ float b[];
-+};
-+
-+struct X __attribute__((noinline))
-+foo (float d)
-+{
-+ struct X x;
-+ x.d = d;
-+ return x;
-+}
-+extern void abort (void);
-+int main()
-+{
-+ struct X x = foo(3.0);
-+ if (x.d != 3.0)
-+ abort ();
-+ return 0;
-+}
-Index: gcc/testsuite/gcc.dg/torture/pr40470-2.c
-===================================================================
---- gcc/testsuite/gcc.dg/torture/pr40470-2.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr40470-2.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,27 @@
-+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
-+/* { dg-options "-msse4" } */
-+#include <nmmintrin.h>
-+__m128i load (char *);
-+char *
-+foo (const unsigned char *s1, const unsigned char *s2,
-+ int bmsk, __m128i frag2)
-+{
-+ int len = 0;
-+ char *p1 = (char *) s1;
-+ char *p2 = (char *) s2;
-+ __m128i frag1, fruc, mask;
-+ int cmp_c, cmp_s;
-+ if( !p2[0]) return (char *) s1;
-+ if( !p1[0] ) return NULL;
-+ if( p2[1]) frag2 = load (p2);
-+ frag1 = load (p1);
-+ fruc = _mm_loadu_si128 ((__m128i *) s1);
-+ mask = _mm_cmpistrm(fruc, frag2, 0x44);
-+ frag2 = _mm_blendv_epi8(frag2, mask, mask);
-+ frag1 = _mm_blendv_epi8(frag1, mask, mask);
-+ cmp_c = _mm_cmpistrc(frag2, frag1, 0x0c);
-+ cmp_s = _mm_cmpistrs(frag2, frag1, 0x0c);
-+ if( cmp_s & cmp_c )
-+ __asm("bsfl %[bmsk], %[len]" : [len] "=r" (len) : [bmsk] "r" (bmsk) );
-+ return p2 + len;
-+}
-Index: gcc/testsuite/gcc.dg/torture/pr40470-3.c
-===================================================================
---- gcc/testsuite/gcc.dg/torture/pr40470-3.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr40470-3.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,22 @@
-+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
-+/* { dg-options "-msse4" } */
-+#include <nmmintrin.h>
-+__m128i load (char *);
-+char *
-+foo (char *p1, char *p2,
-+ int bmsk, __m128i mask1, __m128i mask2)
-+{
-+ int len = 0;
-+ __m128i frag1, frag2;
-+ int cmp_s;
-+ if( !p2[0]) return p1;
-+ if( !p1[0] ) return NULL;
-+ frag2 = load (p2);
-+ frag1 = load (p1);
-+ frag2 = _mm_blendv_epi8(frag2, mask2, mask1);
-+ frag1 = _mm_blendv_epi8(frag1, mask1, mask2);
-+ cmp_s = _mm_cmpistrs(frag2, frag1, 0x0c);
-+ if( cmp_s )
-+ __asm("bsfl %[bmsk], %[len]" : [len] "=r" (len) : [bmsk] "r" (bmsk) );
-+ return p1 + len;
-+}
-Index: gcc/testsuite/gcc.dg/torture/pr39204.c
-===================================================================
---- gcc/testsuite/gcc.dg/torture/pr39204.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.dg/torture/pr39204.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,7 +1,7 @@
- /* { dg-do compile } */
- /* { dg-options "-w" } */
-
--typedef unsigned int size_t;
-+__extension__ typedef __SIZE_TYPE__ size_t;
- typedef unsigned char __u_char;
- typedef unsigned short int __u_short;
- typedef unsigned int __u_int;
-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 149030)
-@@ -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/pr40340-5.c
-===================================================================
---- gcc/testsuite/gcc.dg/pr40340-5.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr40340-5.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,17 @@
-+/* PR middle-end/40340 */
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -Wall -Wsystem-headers -g" } */
-+
-+#define TEST3
-+#include "pr40340.h"
-+
-+int
-+main (void)
-+{
-+ char buf[4];
-+ test3 (buf);
-+ return 0;
-+}
-+
-+/* { dg-warning "will always overflow destination buffer" "" { target *-*-* } 10 } */
-+/* { dg-message "file included" "In file included" { target *-*-* } 0 } */
-Index: gcc/testsuite/gcc.dg/pr39794.c
-===================================================================
---- gcc/testsuite/gcc.dg/pr39794.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr39794.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,33 @@
-+/* PR rtl-optimization/39794 */
-+/* { dg-do run } */
-+/* { dg-options "-O2 -funroll-loops" } */
-+
-+extern void abort ();
-+
-+void
-+foo (int *a, int n)
-+{
-+ int i;
-+ for (i = 0; i < n; i++)
-+ {
-+ a[i] *= 2;
-+ a[i + 1] = a[i - 1] + a[i - 2];
-+ }
-+}
-+
-+int a[16];
-+int ref[16] = { 0, 1, 4, 2, 10, 12, 24, 44,
-+ 72, 136, 232, 416, 736, 1296, 2304, 2032 };
-+
-+int
-+main ()
-+{
-+ int i;
-+ for (i = 0; i < 16; i++)
-+ a[i] = i;
-+ foo (a + 2, 16 - 3);
-+ for (i = 0; i < 16; i++)
-+ if (ref[i] != a[i])
-+ abort ();
-+ return 0;
-+}
-Index: gcc/testsuite/gcc.dg/tree-ssa/pr36908.c
-===================================================================
---- gcc/testsuite/gcc.dg/tree-ssa/pr36908.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.dg/tree-ssa/pr36908.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -2,7 +2,7 @@
- /* { dg-options "-O2 -ftree-loop-distribution" } */
- #define NULL ((void *)0)
-
--typedef unsigned int size_t;
-+__extension__ typedef __SIZE_TYPE__ size_t;
- extern void *foo(size_t nelem, size_t elsize);
- extern void bar (char*, ...);
-
-Index: gcc/testsuite/gcc.dg/tree-ssa/pr38250.c
-===================================================================
---- gcc/testsuite/gcc.dg/tree-ssa/pr38250.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.dg/tree-ssa/pr38250.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,7 +1,7 @@
- /* { dg-do compile } */
- /* { dg-options "-O2 -ftree-loop-distribution" } */
-
--typedef long unsigned int size_t;
-+__extension__ typedef __SIZE_TYPE__ size_t;
- typedef struct {
- long dat[2];
- } gsl_complex_long_double;
-Index: gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-10.c
-===================================================================
---- gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-10.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-10.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,7 +1,7 @@
- /* { dg-do compile } */
- /* { dg-options "-O -w -fdump-tree-dse-vops" } */
-
--typedef unsigned int size_t;
-+__extension__ typedef __SIZE_TYPE__ size_t;
- typedef struct _IO_FILE FILE;
- typedef struct
- {
-Index: gcc/testsuite/gcc.dg/tree-ssa/pr40087.c
-===================================================================
---- gcc/testsuite/gcc.dg/tree-ssa/pr40087.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/tree-ssa/pr40087.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,30 @@
-+/* { dg-do run } */
-+/* { dg-options "-O1 " } */
-+
-+extern void abort (void);
-+
-+static void __attribute__((always_inline))
-+reverse(int *first, int *last)
-+{
-+ if (first == last--)
-+ return;
-+ while (first != last)
-+ {
-+ int t = *first;
-+ *first = *last;
-+ *last = t;
-+ if (++first == last--)
-+ break;
-+ }
-+}
-+
-+int main()
-+{
-+ int seq[] = { 1, 2, 3, 4, 5, 6, 7, 8 };
-+
-+ reverse(seq, seq + 8);
-+ if (seq[3] != 5 || seq[4] != 4)
-+ abort ();
-+
-+ return 0;
-+}
-Index: gcc/testsuite/gcc.dg/tree-ssa/20041122-1.c
-===================================================================
---- gcc/testsuite/gcc.dg/tree-ssa/20041122-1.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.dg/tree-ssa/20041122-1.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -2,7 +2,7 @@
- /* { dg-options "-O1 -fdump-tree-dom2" } */
-
-
--typedef unsigned int size_t;
-+__extension__ typedef __SIZE_TYPE__ size_t;
- extern void *xmalloc (size_t) __attribute__ ((__malloc__));
- struct edge_def
- {
-Index: gcc/testsuite/gcc.dg/tls/opt-2.c
-===================================================================
---- gcc/testsuite/gcc.dg/tls/opt-2.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.dg/tls/opt-2.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -6,6 +6,7 @@
- /* { dg-options "-O2 -ftls-model=initial-exec" } */
- /* { dg-options "-O2 -ftls-model=initial-exec -march=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
- /* { dg-require-effective-target tls_native } */
-+/* { dg-require-effective-target tls_runtime } */
-
- __thread int thr;
-
-Index: gcc/testsuite/gcc.dg/tls/alias-1.c
-===================================================================
---- gcc/testsuite/gcc.dg/tls/alias-1.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.dg/tls/alias-1.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,7 +1,7 @@
- /* { dg-do link } */
- /* { dg-require-alias "" } */
- /* { dg-require-visibility "" } */
--/* { dg-require-effective-target tls } */
-+/* { dg-require-effective-target tls_runtime } */
- /* Test that encode_section_info handles the change from externally
- defined to locally defined (via hidden). Extracted from glibc. */
-
-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 149030)
-@@ -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/gcc.dg/Wunused-value-3.c
-===================================================================
---- gcc/testsuite/gcc.dg/Wunused-value-3.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/Wunused-value-3.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,9 @@
-+/* PR c/39889 */
-+/* { dg-do compile } */
-+/* { dg-options "-Wunused-value" } */
-+
-+int x;
-+int foo (void)
-+{
-+ return (1 ? x = 0 : (void) 0), 0; /* { dg-bogus "value computed is not used" } */
-+}
-Index: gcc/testsuite/gcc.dg/pr40172-1.c
-===================================================================
---- gcc/testsuite/gcc.dg/pr40172-1.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr40172-1.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,31 @@
-+/* PR middle-end/40172 */
-+/* { dg-do compile } */
-+/* { dg-options "-Wall -W -Werror -Wlogical-op" } */
-+
-+struct rtx_def;
-+typedef struct rtx_def *rtx;
-+
-+extern int foo;
-+extern int bar;
-+extern int xxx;
-+
-+int
-+test (void)
-+{
-+ if (((rtx) 0 != (rtx) 0) && xxx ? foo : bar)
-+ return 1;
-+ else if ((foo & 0) && xxx)
-+ return 2;
-+ else if (foo & 0)
-+ return 3;
-+ else if (0 && xxx)
-+ return 4;
-+ else if (0)
-+ return 5;
-+ if (((int) 0 != (int) 0) && bar ? foo : xxx)
-+ return 6;
-+ else if (0 != 0 && foo ? xxx : bar)
-+ return 7;
-+ else
-+ return 0;
-+}
-Index: gcc/testsuite/gcc.dg/pr39666-2.c
-===================================================================
---- gcc/testsuite/gcc.dg/pr39666-2.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr39666-2.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,22 @@
-+/* PR middle-end/39666 */
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -Wuninitialized" } */
-+
-+int
-+foo (int i)
-+{
-+ int j; /* { dg-warning "may be used uninitialized" } */
-+ switch (i)
-+ {
-+ case -__INT_MAX__ - 1 ... -1:
-+ j = 6;
-+ break;
-+ case 0:
-+ j = 5;
-+ break;
-+ case 2 ... __INT_MAX__:
-+ j = 4;
-+ break;
-+ }
-+ return j;
-+}
-Index: gcc/testsuite/gcc.dg/vmx/3a-05.c
-===================================================================
---- gcc/testsuite/gcc.dg/vmx/3a-05.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.dg/vmx/3a-05.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -14,9 +14,13 @@
-
- static void test()
- {
-- check(vec_all_eq(f(((vector float){2,3,5,7}),
-+ check(vec_all_gt(f(((vector float){2,3,5,7}),
- ((vector float){11,13,17,19}),
- ((vector float){23,29,31,37})),
-- ((vector float){16.9092026, 18.7693329, -2.8233242, -92.9472198})),
-- "f");
-+ ((vector float){16.90, 18.76, -2.83, -92.95}))
-+ && vec_all_lt(f(((vector float){2,3,5,7}),
-+ ((vector float){11,13,17,19}),
-+ ((vector float){23,29,31,37})),
-+ ((vector float){16.91, 18.77, -2.82, -92.94})),
-+ "f");
- }
-Index: gcc/testsuite/gcc.dg/vmx/3a-04m.c
-===================================================================
---- gcc/testsuite/gcc.dg/vmx/3a-04m.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.dg/vmx/3a-04m.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -10,9 +10,13 @@
-
- static void test()
- {
-- check(vec_all_eq(f(((vector float){2,3,5,7}),
-+ check(vec_all_gt(f(((vector float){2,3,5,7}),
- ((vector float){11,13,17,19}),
- ((vector float){23,29,31,37})),
-- ((vector float){23.1818085, 29.2307587, 32.2940826, 128.368393})),
-+ ((vector float){23.18, 29.23, 32.29, 128.36}))
-+ && vec_all_lt(f(((vector float){2,3,5,7}),
-+ ((vector float){11,13,17,19}),
-+ ((vector float){23,29,31,37})),
-+ ((vector float){23.19, 29.24, 32.30, 128.37})),
- "f");
- }
-Index: gcc/testsuite/gcc.dg/vmx/3a-04.c
-===================================================================
---- gcc/testsuite/gcc.dg/vmx/3a-04.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.dg/vmx/3a-04.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -10,9 +10,13 @@
-
- static void test()
- {
-- check(vec_all_eq(f(((vector float){2,3,5,7}),
-+ check(vec_all_gt(f(((vector float){2,3,5,7}),
- ((vector float){11,13,17,19}),
- ((vector float){23,29,31,37})),
-- ((vector float){23.1818085, 29.2307587, 32.2940826, 128.368393})),
-+ ((vector float){23.18, 29.23, 32.29, 128.36}))
-+ && vec_all_lt(f(((vector float){2,3,5,7}),
-+ ((vector float){11,13,17,19}),
-+ ((vector float){23,29,31,37})),
-+ ((vector float){23.19, 29.24, 32.30, 128.37})),
- "f");
- }
-Index: gcc/testsuite/gcc.dg/pr40172-3.c
-===================================================================
---- gcc/testsuite/gcc.dg/pr40172-3.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr40172-3.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,16 @@
-+/* PR middle-end/40172 */
-+/* { dg-do compile */
-+/* { dg-options "-Wall -W -Werror -Wlogical-op" } */
-+
-+extern int xxx;
-+
-+#define XXX xxx
-+
-+int
-+test (void)
-+{
-+ if (!XXX && xxx)
-+ return 4;
-+ else
-+ return 0;
-+}
-Index: gcc/testsuite/gcc.dg/prefetch-loop-arrays-1.c
-===================================================================
---- gcc/testsuite/gcc.dg/prefetch-loop-arrays-1.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.dg/prefetch-loop-arrays-1.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -3,7 +3,7 @@
- /* { dg-options "-O2 -fprefetch-loop-arrays -w" } */
- /* { dg-options "-O2 -fprefetch-loop-arrays -march=i686 -msse -w" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
-
--typedef unsigned long size_t;
-+__extension__ typedef __SIZE_TYPE__ size_t;
-
- struct re_pattern_buffer
- {
-Index: gcc/testsuite/gcc.dg/pr40340-2.c
-===================================================================
---- gcc/testsuite/gcc.dg/pr40340-2.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr40340-2.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,16 @@
-+/* PR middle-end/40340 */
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -Wall -Wno-system-headers" } */
-+
-+#include "pr40340.h"
-+
-+int
-+main (void)
-+{
-+ char buf[4];
-+ memset (buf, 0, 6);
-+ return 0;
-+}
-+
-+/* { dg-warning "will always overflow destination buffer" "" { target *-*-* } 10 } */
-+/* { dg-message "file included" "In file included" { target *-*-* } 0 } */
-Index: gcc/testsuite/gcc.dg/dfp/pr39986.c
-===================================================================
---- gcc/testsuite/gcc.dg/dfp/pr39986.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/dfp/pr39986.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,31 @@
-+/* { dg-do compile } */
-+/* { dg-options "-std=gnu99" } */
-+
-+/* Check that the compiler generates the correct decimal float constants. */
-+
-+_Decimal32 a = 100.223df;
-+_Decimal32 b = -2.3df;
-+_Decimal64 c = 3.4e-4dd;
-+_Decimal64 d = -4.500dd;
-+_Decimal128 e = 5678901234567.89e+200dl;
-+_Decimal128 f = -678901.234e-6dl;
-+
-+/* The first value is DPD, the second is BID. The order differs depending
-+ on whether the target is big-endian or little-endian. */
-+
-+/* { dg-final { scan-assembler ".long\t(572653859|822183807)\n" } } */
-+
-+/* { dg-final { scan-assembler ".long\t(-1572863965|-1308622825)\n" } } */
-+
-+/* { dg-final { scan-assembler ".long\t(52|34)\n" } } */
-+/* { dg-final { scan-assembler ".long\t(572784640|824180736)\n" } } */
-+
-+/* { dg-final { scan-assembler ".long\t(4736|4500)\n" } } */
-+/* { dg-final { scan-assembler ".long\t(-1574174720|-1319108608)\n" } } */
-+
-+/* { dg-final { scan-assembler ".long\t(-1975952433|957645077)\n" } } */
-+/* { dg-final { scan-assembler ".long\t(190215|132222)\n" } } */
-+/* { dg-final { scan-assembler ".long\t(574193664|835452928)\n" } } */
-+
-+/* { dg-final { scan-assembler ".long\t(931280180|678901234)\n" } } */
-+/* { dg-final { scan-assembler ".long\t(-1576681472|-1339162624)\n" } } */
-Index: gcc/testsuite/gcc.dg/pr33667.c
-===================================================================
---- gcc/testsuite/gcc.dg/pr33667.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.dg/pr33667.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,7 +1,7 @@
- /* { dg-do compile } */
- /* { dg-options "-O2" } */
-
--typedef unsigned int size_t;
-+__extension__ typedef __SIZE_TYPE__ size_t;
- typedef unsigned char uint8_t;
- typedef unsigned short int uint16_t;
- typedef unsigned long long int uint64_t;
-Index: gcc/testsuite/gcc.dg/pr40550.c
-===================================================================
---- gcc/testsuite/gcc.dg/pr40550.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr40550.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,34 @@
-+/* { dg-do run } */
-+/* { dg-options "-msse" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
-+
-+#ifdef __i386__
-+#include "cpuid.h"
-+#endif
-+
-+typedef float v2sf __attribute__ ((vector_size (2 * sizeof(float))));
-+
-+static void test (void)
-+{
-+ v2sf a = {1.0, 0.0};
-+ v2sf b = {0.0, 1.0};
-+ v2sf d;
-+ d = a + b;
-+}
-+
-+int main ()
-+{
-+
-+#ifdef __i386__
-+ unsigned int eax, ebx, ecx, edx;
-+
-+ if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx))
-+ return 0;
-+
-+ if (!(edx & bit_SSE))
-+ return 0;
-+#endif
-+
-+ test ();
-+
-+ return 0;
-+}
-Index: gcc/testsuite/gcc.dg/20050629-1.c
-===================================================================
---- gcc/testsuite/gcc.dg/20050629-1.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gcc.dg/20050629-1.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -5,7 +5,7 @@
- contains many warnings, but it exposes a copy propagation bug that
- is somewhat difficult to reproduce otherwise. */
-
--typedef long unsigned int size_t;
-+__extension__ typedef __SIZE_TYPE__ size_t;
- extern void fancy_abort (const char *, int, const char *) __attribute__ ((__noreturn__));
- typedef union tree_node *tree;
- enum tree_code {
-Index: gcc/testsuite/gcc.dg/pr40340-4.c
-===================================================================
---- gcc/testsuite/gcc.dg/pr40340-4.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr40340-4.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,16 @@
-+/* PR middle-end/40340 */
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -Wall -Wno-system-headers -g" } */
-+
-+#define TEST3
-+#include "pr40340.h"
-+
-+int
-+main (void)
-+{
-+ char buf[4];
-+ test3 (buf);
-+ return 0;
-+}
-+
-+/* { dg-bogus "will always overflow destination buffer" "" { target *-*-* } 10 } */
-Index: gcc/testsuite/gcc.dg/vect/pr40074.c
-===================================================================
---- gcc/testsuite/gcc.dg/vect/pr40074.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/vect/pr40074.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,54 @@
-+/* { dg-require-effective-target vect_int } */
-+
-+#include <stdarg.h>
-+#include "tree-vect.h"
-+
-+#define N 16
-+
-+typedef struct {
-+ int a;
-+ int b;
-+ int c;
-+ int d;
-+} s;
-+
-+
-+s arr[N] = {{7,0,1,5}, {7,2,3,5}, {7,4,5,5}, {7,6,7,5}, {7,8,9,5}, {7,10,11,5}, {7,12,13,5}, {7,14,15,5}, {7,16,17,5}, {7,18,19,5}, {7,20,21,5}, {7,22,23,5}, {7,24,25,5}, {7,26,27,5}, {7,28,29,5}, {7,30,31,5}};
-+
-+__attribute__ ((noinline)) int
-+main1 ()
-+{
-+ s *p = arr, *q = arr + 1;
-+ int res[N];
-+ int i;
-+
-+ for (i = 0; i < N-1; i++)
-+ {
-+ res[i] = p->b + p->d + q->b;
-+ p++;
-+ q++;
-+ }
-+
-+ /* check results: */
-+ for (i = 0; i < N-1; i++)
-+ {
-+ if (res[i] != arr[i].b + arr[i].d + arr[i+1].b)
-+ abort ();
-+ }
-+
-+ return 0;
-+}
-+
-+int main (void)
-+{
-+ int i;
-+
-+ check_vect ();
-+
-+ main1 ();
-+
-+ return 0;
-+}
-+
-+/* { dg-final { cleanup-tree-dump "vect" } } */
-+
-Index: gcc/testsuite/gcc.dg/vect/pr40254.c
-===================================================================
---- gcc/testsuite/gcc.dg/vect/pr40254.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/vect/pr40254.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,39 @@
-+#include <stdlib.h>
-+#include <stdarg.h>
-+#include "tree-vect.h"
-+
-+struct s
-+{
-+ int *x;
-+ int x1;
-+ int x2;
-+ int x3;
-+ int *y;
-+};
-+
-+struct s arr[64] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
-+
-+__attribute__ ((noinline)) void
-+foo (int i, int *in_x, int *in_y)
-+{
-+ arr[i].x = in_x;
-+ arr[i].y = in_y;
-+}
-+
-+int
-+main (void)
-+{
-+ int a, b;
-+
-+ check_vect ();
-+
-+ foo (5, &a, &b);
-+
-+ if (arr[5].x != &a || arr[5].y != &b)
-+ abort ();
-+
-+ return 0;
-+}
-+
-+/* { dg-final { cleanup-tree-dump "vect" } } */
-+
-Index: gcc/testsuite/gcc.dg/vect/pr40238.c
-===================================================================
---- gcc/testsuite/gcc.dg/vect/pr40238.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/vect/pr40238.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,35 @@
-+/* { dg-do compile } */
-+
-+extern int xdo_rb_ctr_row( int *pos_code);
-+
-+int xgp_ahd_interpolate (int tile)
-+{
-+ int p[4];
-+
-+ switch (tile) {
-+ default:
-+ case 0:
-+ case 1:
-+ p[0] = 0; p[1] = 1; p[2] = 2; p[3] = 3;
-+ break;
-+ case 2:
-+ case 3:
-+ p[0] = 1; p[1] = 0; p[2] = 3; p[3] = 2;
-+ break;
-+ case 4:
-+ case 5:
-+ p[0] = 3; p[1] = 2; p[2] = 1; p[3] = 0;
-+ break;
-+ case 6:
-+ case 7:
-+ p[0] = 2; p[1] = 3; p[2] = 0; p[3] = 1;
-+ break;
-+ }
-+
-+ xdo_rb_ctr_row(p);
-+ xdo_rb_ctr_row(p);
-+ return 0;
-+}
-+
-+/* { dg-final { cleanup-tree-dump "vect" } } */
-+
-Index: gcc/testsuite/ChangeLog
-===================================================================
---- gcc/testsuite/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,3 +1,630 @@
-+2009-06-28 Uros Bizjak <ubizjak@gmail.com>
-+
-+ PR tree-optimization/40550
-+ * gcc.dg/pr40550.c: New test.
-+
-+2009-06-24 Jason Merrill <jason@redhat.com>
-+
-+ PR c++/40342
-+ * g++.dg/template/overload10.C: New.
-+
-+2009-06-22 Matthias Klose <doko@ubuntu.com>
-+
-+ PR objc/28050
-+ * pr28050.m: New testcase.
-+
-+2009-06-22 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-06-22 Martin Jambor <mjambor@suse.cz>
-+
-+ PR tree-optimization/40492
-+ * g++.dg/torture/pr40492.C: New test.
-+
-+2009-06-20 Paul Thomas <pault@gcc.gnu.org>
-+
-+ PR fortran/39800
-+ * gfortran.dg/private_type_13.f90: New test.
-+ * gfortran.dg/private_type_2.f90: Add option -std=f95.
-+
-+2009-06-20 Paul Thomas <pault@gcc.gnu.org>
-+
-+ PR fortran/40402
-+ * gfortran.dg/data_value_1.f90: New test.
-+
-+2009-06-18 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-06-18 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ PR target/40470
-+ * gcc.dg/torture/pr40470-1.c: New.
-+ * gcc.dg/torture/pr40470-2.c: Likewise.
-+ * gcc.dg/torture/pr40470-3.c: Likewise.
-+ * gcc.dg/torture/pr40470-4.c: Likewise.
-+
-+2009-06-17 Richard Guenther <rguenther@suse.de>
-+
-+ PR middle-end/40404
-+ * gcc.c-torture/execute/pr40404.c: New testcase.
-+
-+2009-06-17 Richard Guenther <rguenther@suse.de>
-+
-+ PR middle-end/40460
-+ * g++.dg/torture/pr40460.C: New testcase.
-+
-+2009-06-17 Richard Guenther <rguenther@suse.de>
-+
-+ PR middle-end/40389
-+ * g++.dg/torture/pr40389.C: New testcase.
-+
-+2009-06-16 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR middle-end/40446
-+ * g++.dg/other/pr40446.C: New test.
-+
-+2009-06-14 Richard Guenther <rguenther@suse.de>
-+
-+ Backport from mainline
-+ 2009-05-18 Richard Guenther <rguenther@suse.de>
-+
-+ PR fortran/40168
-+ * gfortran.dg/array_memset_2.f90: Adjust.
-+
-+2009-06-09 Jason Merrill <jason@redhat.com>
-+
-+ * g++.dg/cpp0x/defaulted10.C: New.
-+
-+2009-06-08 Jason Merrill <jason@redhat.com>
-+
-+ * g++.dg/cpp0x/auto15.C: New.
-+
-+2009-06-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-+
-+ PR libfortran/40334
-+ * gfortran.dg/backspace_11.f90: New test.
-+
-+2009-06-08 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR c++/40373
-+ * g++.dg/template/dtor7.C: New test.
-+
-+ PR c++/40370
-+ PR c++/40372
-+ * g++.dg/template/error41.C: New test.
-+ * g++.dg/template/error42.C: New test.
-+
-+2009-06-07 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-06-03 Richard Guenther <rguenther@suse.de>
-+
-+ PR middle-end/40328
-+ * gcc.dg/torture/pr40328.c: New testcase.
-+
-+2009-06-07 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-06-07 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ PR middle-end/32950
-+ * g++.dg/torture/pr32950.C: New.
-+
-+2009-06-05 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR middle-end/40340
-+ * gcc.dg/pr40340-1.c: New test.
-+ * gcc.dg/pr40340-2.c: New test.
-+ * gcc.dg/pr40340-3.c: New test.
-+ * gcc.dg/pr40340-4.c: New test.
-+ * gcc.dg/pr40340-5.c: New test.
-+ * gcc.dg/pr40340.h: New file.
-+
-+2009-06-04 Steven G. Kargl <kargl@gcc.gnu.org>
-+
-+ PR fortran/39893
-+ * gfortran.dg/assumed_charlen_dummy.f90: New Test.
-+
-+2009-06-04 Richard Guenther <rguenther@suse.de>
-+
-+ PR c++/39371
-+ * g++.dg/torture/pr40335.C: New testcase.
-+
-+2009-06-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-+
-+ PR fortran/40019
-+ * gfortran.dg/leadz_trailz_1.f90: New test.
-+ * gfortran.dg/leadz_trailz_2.f90: New test.
-+
-+2009-06-02 Jason Merrill <jason@redhat.com>
-+
-+ * g++.dg/cpp0x/initlist13.C: Remove expected error.
-+ * g++.dg/cpp0x/initlist18.C: New.
-+ * g++.dg/cpp0x/initlist19.C: New.
-+
-+ * g++.dg/cpp0x/auto14.C: New.
-+
-+2009-05-30 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ * g++.dg/template/typedef19.C: XFAIL.
-+ * g++.dg/template/typedef20.C: Likewise.
-+
-+2009-05-30 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+
-+ 2009-05-28 Dodji Seketeli <dodji@redhat.com>
-+
-+ PR c++/39754
-+ * g++.dg/template/canon-type-1.C: New test.
-+ * g++.dg/template/canon-type-2.C: Likewise.
-+ * g++.dg/template/canon-type-3.C: Likewise.
-+ * g++.dg/template/canon-type-4.C: Likewise.
-+ * g++.dg/template/canon-type-5.C: Likewise.
-+ * g++.dg/template/canon-type-6.C: Likewise.
-+ * g++.dg/template/canon-type-7.C: Likewise.
-+
-+ 2009-05-28 Ira Rosen <irar@il.ibm.com>
-+
-+ PR tree-optimization/40254
-+ * gcc.dg/vect/pr40254.c: New test.
-+
-+ 2009-05-26 Richard Guenther <rguenther@suse.de>
-+
-+ PR middle-end/40252
-+ * gcc.c-torture/compile/pr40252.c: New testcase.
-+
-+ 2009-05-26 Dodji Seketeli <dodji@redhat.com>
-+
-+ PR c++/40007
-+ * g++.dg/template/typedef18.C: New test.
-+ * g++.dg/template/typedef19.C: Likewise.
-+ * g++.dg/template/typedef20.C: Likewise.
-+
-+ 2009-05-25 Ira Rosen <irar@il.ibm.com>
-+
-+ PR tree-optimization/40238
-+ * gcc.dg/vect/pr40238.c: New test.
-+
-+ 2009-05-24 Richard Guenther <rguenther@suse.de>
-+
-+ PR middle-end/40233
-+ * gcc.c-torture/compile/pr40233.c: New testcase.
-+
-+2009-05-29 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR middle-end/40291
-+ * gcc.c-torture/compile/pr40291.c: New test.
-+
-+ PR target/40017
-+ * gcc.target/powerpc/altivec-types-1.c: Don't expect error for
-+ __vector _Bool.
-+ * gcc.target/powerpc/altivec-30.c: New test.
-+ * gcc.target/powerpc/altivec-31.c: New test.
-+
-+2009-05-27 Jason Merrill <jason@redhat.com>
-+
-+ * g++.dg/cpp0x/initlist15.C: New.
-+ * g++.dg/cpp0x/initlist16.C: New.
-+ * g++.dg/cpp0x/initlist17.C: New.
-+
-+2009-05-28 Kai Tietz <kai.tietz@onevision.com>
-+
-+ * g++.dg/ext/packed6.C (size_t): Use __extension__ and
-+ __SIZE_TYPE__.
-+ * g++.dg/opt/memcpy1.C (size_t): Likewise.
-+ * g++.dg/pr37742.C (size_t): Likewise.
-+ * g++.dg/torture/pr34850.C (size_t): Likewise.
-+ * g++.dg/torture/20070621-1.C (ptrdiff_t): Use __extension__ and
-+ _PTRDIFF_TYPE__.
-+ * g++.dg/torture/pr34222.C (ptrdiff_t): Likewise.
-+ * g++.dg/tree-ssa/pr22444.C (ptrdiff_t): Likewise.
-+ (size_t): Use __extension__ and __SIZE_TYPE__.
-+ * gcc.c-torture/compile/20000211-1.c (size_t): Typedef size_t via
-+ __SIZE_TYPE__.
-+ * gcc.c-torture/compile/20010328-1.c (size_t): Likewise,
-+ * gcc.c-torture/compile/20030320-1.c (size_t): Likewise,
-+ * gcc.c-torture/compile/20030405-1.c (size_t): Likewise,
-+ * gcc.c-torture/compile/20030902-1.c (size_t): Likewise,
-+ * gcc.c-torture/compile/20060202-1.c (size_t): Likewise,
-+ * gcc.c-torture/compile/20080613-1.c (size_t): Likewise,
-+ * gcc.c-torture/compile/920428-2.c (size_t): Likewise,
-+ * gcc.c-torture/compile/980329-1.c (size_t): Likewise,
-+ * gcc.c-torture/compile/980816-1.c (size_t): Likewise,
-+ * gcc.c-torture/compile/pr32584.c (size_t): Likewise,
-+ * (__ssize_t): Likewise.
-+ * gcc.c-torture/compile/pr33173.c (size_t): Likewise,
-+ * gcc.c-torture/compile/pr33382.c (size_t): Likewise,
-+ * gcc.c-torture/compile/pr34334.c (size_t): Likewise,
-+ * gcc.c-torture/compile/pr34688.c (size_t): Likewise,
-+ * gcc.c-torture/compile/pr35043.c (size_t): Likewise,
-+ * gcc.c-torture/compile/pr37669.c (size_t): Likewise,
-+ * gcc.dg/20050629-1.c (size_t): Typedef size_t via __SIZE_TYPE__.
-+ * gcc.dg/pr33667.c (size_t): Likewise.
-+ * gcc.dg/prefetch-loop-arrays-1.c (size_t): Likewise.
-+ * gcc.dg/torture/pr39204.c (size_t): Likewise.
-+ * gcc.dg/tree-ssa/20041122-1.c (size_t): Likewise.
-+ * gcc.dg/tree-ssa/pr36908.c (size_t): Likewise.
-+ * gcc.dg/tree-ssa/pr38250.c (size_t): Likewise.
-+ * gcc.dg/tree-ssa/ssa-dse-10.c (size_t): Likewise.
-+
-+2009-05-27 Kai TIetz <kai.tietz@onevision.com>
-+
-+ * g++.old-deja/g++.brendan/array1.C (array): Use __SIZE_TYPE__
-+ cast instead of assuming 0ul.
-+ * g++.old-deja/g++.brendan/crash64.C (size_t): Define it via
-+ __SIZE_TYPE__.
-+ (_type_desc): Make first argument const.
-+ * g++.old-deja/g++.jason/new3.C (dg-options): Add -Wno-long-long.
-+
-+2009-05-25 Jason Merrill <jason@redhat.com>
-+
-+ PR c++/38064
-+ * g++.dg/cpp0x/enum3.C: New test.
-+
-+2009-05-22 Zdenek Dvorak <ook@ucw.cz>
-+
-+ PR tree-optimization/40087
-+ * gcc.dg/tree-ssa/pr40087.c: New test.
-+
-+2009-05-20 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR middle-end/40204
-+ * gcc.c-torture/compile/pr40204.c: New test.
-+
-+2009-05-19 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-05-19 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ PR c/40172
-+ * gcc.dg/pr40172-1.c: New.
-+ * gcc.dg/pr40172-2.c: Likewise.
-+ * gcc.dg/pr40172-3.c: Likewise.
-+
-+2009-05-19 Richard Guenther <rguenther@suse.de>
-+
-+ * gcc.c-torture/compile/20090519-1.c: New testcase.
-+
-+2009-05-18 Dodji Seketeli <dodji@redhat.com>
-+
-+ PR debug/40109
-+ * g++.dg/debug/dwarf2/nested-1.C: New test.
-+
-+2009-05-18 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-05-18 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ PR testsuite/39907
-+ * gcc.target/x86_64/abi/asm-support.S (snapshot_ret): Preserve
-+ stack alignment.
-+
-+2009-05-18 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/39999
-+ * gcc.c-torture/compile/pr39999.c: New testcase.
-+
-+2009-05-17 Jason Merrill <jason@redhat.com>
-+
-+ PR c++/40139
-+ * g++.dg/template/dtor6.C: New.
-+
-+2009-05-16 David Billinghurst <billingd@gcc.gnu.org>
-+
-+ * gfortran.dg/default_format_denormal_1.f90: XFAIL on cygwin.
-+ * gfortran.dg/default_format_1.f90: Revert change of 2009-05-12
-+
-+2009-05-14 Ben Elliston <bje@au.ibm.com>
-+
-+ Backport from mainline:
-+ 2009-05-14 Ben Elliston <bje@au.ibm.com>
-+
-+ PR middle-end/40035
-+ * gcc.c-torture/compile/pr40035.c: New test.
-+
-+2009-05-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-+
-+ * gcc.target/i386/pr39543-2.c: Skip if ilp32 && pic.
-+
-+2009-05-12 Jakub Jelinek <jakub@redhat.com>
-+
-+ Backport from mainline:
-+ 2009-05-05 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR middle-end/39666
-+ * gcc.dg/pr39666-1.c: New test.
-+ * gcc.dg/pr39666-2.c: Likewise.
-+ * g++.dg/warn/Wuninitialized-4.C: Likewise.
-+ * g++.dg/warn/Wuninitialized-5.C: Likewise.
-+ * gfortran.dg/pr39666-1.f90: Likewise.
-+ * gfortran.dg/pr39666-2.f90: Likewise.
-+
-+2009-05-12 David Billinghurst <billingd@gcc.gnu.org>
-+
-+ * gfortran.dg/default_format_1.f90: XFAIL on cygwin.
-+
-+2009-05-12 David Billinghurst <billingd@gcc.gnu.org>
-+
-+ * lib/target-supports.exp (check_profiling_available): Return
-+ false for -p on *-*-cygwin* targets.
-+
-+2009-05-11 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-05-11 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ PR middle-end/40080
-+ * gcc.c-torture/compile/pr40080.c: New.
-+
-+ 2009-05-11 Paolo Bonzini <bonzini@gnu.org>
-+
-+ * gcc.c-torture/compile/pr40026.c: New testcase.
-+
-+ 2009-05-09 Jan Hubicka <jh@suse.cz>
-+
-+ PR middle-end/40043
-+ * g++.dg/eh/nested-try.C: New test.
-+
-+2009-05-11 Ira Rosen <irar@il.ibm.com>
-+
-+ PR tree-optimization/40074
-+ * gcc.dg/vect/pr40074.c: New test.
-+
-+2009-05-10 Paul Thomas <pault@gcc.gnu.org>
-+
-+ Backport from mainline:
-+ PR fortran/40018
-+ * gfortran.dg/array_constructor_31.f90: New test.
-+
-+2009-05-10 Paul Thomas <pault@gcc.gnu.org>
-+
-+ Backport from mainline:
-+ PR fortran/38863
-+ * gfortran.dg/dependency_24.f90: New test.
-+
-+2009-05-10 Paul Thomas <pault@gcc.gnu.org>
-+
-+ Backport from mainline:
-+ PR fortran/39879
-+ * gfortran.dg/alloc_comp_assign_10.f90: New test.
-+
-+2009-04-10 David Billinghurst <billingd@gcc.gnu.org>
-+
-+ PR fortran/38956
-+ * gfortran.dg/chmod_1.f90: Don't run on *-*-cygwin*.
-+ * gfortran.dg/chmod_2.f90: Likewise.
-+ * gfortran.dg/chmod_3.f90: Likewise.
-+ * gfortran.dg/open_errors.f90: Likewise.
-+
-+2009-05-07 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR middle-end/40057
-+ * gcc.c-torture/execute/pr40057.c: New test.
-+
-+2009-05-06 Dodji Seketeli <dodji@redhat.com>
-+
-+ PR c++/17395
-+ * g++.dg/template/call7.C: New test.
-+
-+2009-05-06 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-05-06 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ PR middle-end/40021
-+ * gfortran.fortran-torture/execute/pr40021.f: New.
-+
-+ 2009-05-05 Richard Guenther <rguenther@suse.de>
-+
-+ PR middle-end/40023
-+ * gcc.c-torture/compile/pr40023.c: New testcase.
-+
-+ 2009-05-03 Richard Guenther <rguenther@suse.de>
-+
-+ PR c/39983
-+ * gcc.c-torture/compile/pr39983.c: New testcase.
-+
-+2009-05-06 Janis Johnson <janis187@us.ibm.com>
-+
-+ * gcc.dg/dfp/pr39986.c: New test.
-+
-+2009-05-06 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/40022
-+ * gcc.c-torture/execute/pr40022.c: New testcase.
-+
-+2009-05-05 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR c++/40013
-+ * g++.dg/ext/vla7.C: New test.
-+
-+2009-04-30 Janis Johnson <janis187@us.ibm.com>
-+
-+ PR testsuite/39776
-+ * g++.dg/ext/altivec-15.C: Remove dg-error for messages that are
-+ no longer issued.
-+
-+2009-04-29 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-04-29 Richard Guenther <rguenther@suse.de>
-+
-+ PR middle-end/39937
-+ * gcc.c-torture/compile/pr39937.c: New testcase.
-+
-+2009-04-29 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-04-29 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/39941
-+ * gcc.c-torture/compile/pr39941.c: New testcase.
-+
-+ 2009-04-29 Anmol P. Paralkar <anmol@freescale.com>
-+
-+ PR target/39565
-+ * gcc.dg/pr39565.c: New testcase.
-+
-+ 2009-04-28 Richard Guenther <rguenther@suse.de>
-+
-+ PR middle-end/39937
-+ * gfortran.fortran-torture/compile/pr39937.f: New testcase.
-+
-+2009-04-28 Jing Yu <jingyu@google.com>
-+
-+ Backport from mainline:
-+ 2009-04-28 Jing Yu <jingyu@google.com>
-+
-+ PR testsuite/39790
-+ * lib/target-supports.exp (check_effective_target_tls): Remove
-+ comment of caching.
-+ (check_effective_target_tls_native): Likewise.
-+ (check_effective_target_tls_runtime): Likewise.
-+ * gcc.dg/tls/alias-1.c (dg-require-effective-target): Change target
-+ tls to tls_runtime.
-+ * gcc.dg/tls/opt-2.c: Add dg-require-effective-target tls_runtime.
-+
-+2009-04-28 Michael Meissner <meissner@linux.vnet.ibm.com>
-+
-+ Backport from mainline:
-+ PR testsuite/39769
-+ * gcc.dg/vmx/3a-04.c (test): Don't rely on floating point equality
-+ for testing the results of estimate instructions.
-+ * gcc.dg/vmx/3a-04m.c (test): Ditto.
-+ * gcc.dg/vmx/3a-05.c (test): Ditto.
-+
-+2009-04-28 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-04-27 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ PR target/39903
-+ * gcc.dg/torture/pr39903-1.c: New.
-+ * gcc.dg/torture/pr39903-2.c: Likewise.
-+
-+2009-04-27 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR rtl-optimization/39794
-+ * gcc.dg/pr39794.c: New test.
-+
-+2009-04-26 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR inline-asm/39543
-+ * gcc.target/i386/pr39543-1.c: New test.
-+ * gcc.target/i386/pr39543-2.c: New test.
-+ * gcc.target/i386/pr39543-3.c: New test.
-+
-+ PR c/39889
-+ * gcc.dg/Wunused-value-3.c: New test.
-+
-+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.
-@@ -192,7 +819,7 @@
-
- 2009-04-06 Laurent GUERBY <laurent@guerby.net>
-
-- * lib/gnat.exp: Handle multilib.
-+ * lib/gnat.exp: Handle multilib.
-
- 2009-04-06 Jason Merrill <jason@redhat.com>
-
-Index: gcc/testsuite/g++.old-deja/g++.brendan/array1.C
-===================================================================
---- gcc/testsuite/g++.old-deja/g++.brendan/array1.C (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/g++.old-deja/g++.brendan/array1.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -3,5 +3,5 @@
- // GROUPS passed array-bindings
-
- extern "C" int printf (const char *, ...);
--char array[~(~0ul>>1)|~(0ul>>3)]; // { dg-error "" } overflow in array dimension.*
-+char array[~(~((__SIZE_TYPE__)0ul)>>1)|~(((__SIZE_TYPE__)0ul)>>3)]; // { dg-error "" } overflow in array dimension.*
- int main () { printf ("PASS\n"); return 0; }
-Index: gcc/testsuite/g++.old-deja/g++.brendan/crash64.C
-===================================================================
---- gcc/testsuite/g++.old-deja/g++.brendan/crash64.C (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/g++.old-deja/g++.brendan/crash64.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,6 +1,6 @@
- // { dg-do assemble }
- // GROUPS passed old-abort
--typedef long unsigned int size_t;
-+typedef __SIZE_TYPE__ size_t;
- typedef void (*RF_Ptr)(void *);
-
- struct _im_pers_mem_spec {
-@@ -9,7 +9,7 @@
- };
-
- struct _type_desc {
-- _type_desc(char *, int , RF_Ptr , int , int ,...);
-+ _type_desc(const char *, int , RF_Ptr , int , int ,...);
- };
-
- struct metatype { int base_list; };
-Index: gcc/testsuite/g++.old-deja/g++.jason/new3.C
-===================================================================
---- gcc/testsuite/g++.old-deja/g++.jason/new3.C (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/g++.old-deja/g++.jason/new3.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,5 +1,5 @@
- // { dg-do run }
--// { dg-options "-fcheck-new -pedantic" }
-+// { dg-options "-fcheck-new -pedantic -Wno-long-long" }
- // PRMS Id: 6037
-
- extern "C" void * malloc (__SIZE_TYPE__);
-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 149030)
-@@ -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 149030)
-+++ gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_nearest.x (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/gfortran.fortran-torture/execute/nan_inf_fmt.x (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_set_exponent.x (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,2 +1,6 @@
-+if [istarget "spu-*-*"] {
-+ # No denormal support on SPU.
-+ return 1
-+}
- add-ieee-options
- return 0
-Index: gcc/testsuite/gfortran.fortran-torture/execute/pr40021.f
-===================================================================
---- gcc/testsuite/gfortran.fortran-torture/execute/pr40021.f (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.fortran-torture/execute/pr40021.f (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,40 @@
-+C Derived from lapack
-+ PROGRAM test
-+ DOUBLE PRECISION DA
-+ INTEGER I, N
-+ DOUBLE PRECISION DX(9),DY(9)
-+
-+ EXTERNAL DAXPY
-+ N=5
-+ DA=1.0
-+ DATA DX/-2, -1, -3, -4, 1, 2, 10, 15, 14/
-+ DATA DY/0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0/
-+ CALL DAXPY (N,DA,DX,DY)
-+ DO 10 I = 1, N
-+ if (DX(I).ne.DY(I)) call abort
-+10 CONTINUE
-+ STOP
-+ END
-+
-+ SUBROUTINE DAXPY(N,DA,DX,DY)
-+ DOUBLE PRECISION DA
-+ INTEGER N
-+ DOUBLE PRECISION DX(*),DY(*)
-+ INTEGER I,IX,IY,M,MP1
-+ INTRINSIC MOD
-+ IF (N.LE.0) RETURN
-+ 20 M = MOD(N,4)
-+ IF (M.EQ.0) GO TO 40
-+ DO 30 I = 1,M
-+ DY(I) = DY(I) + DA*DX(I)
-+ 30 CONTINUE
-+ IF (N.LT.4) RETURN
-+ 40 MP1 = M + 1
-+ DO 50 I = MP1,N,4
-+ DY(I) = DY(I) + DA*DX(I)
-+ DY(I+1) = DY(I+1) + DA*DX(I+1)
-+ DY(I+2) = DY(I+2) + DA*DX(I+2)
-+ DY(I+3) = DY(I+3) + DA*DX(I+3)
-+ 50 CONTINUE
-+ RETURN
-+ END
-Index: gcc/testsuite/gfortran.fortran-torture/compile/pr39937.f
-===================================================================
---- gcc/testsuite/gfortran.fortran-torture/compile/pr39937.f (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.fortran-torture/compile/pr39937.f (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,28 @@
-+ SUBROUTINE DTREVC( SIDE, HOWMNY, SELECT, N, T, LDT, VL, LDVL, VR,
-+ $ LDVR, MM, M, WORK, INFO )
-+ DOUBLE PRECISION T( LDT, * ), VL( LDVL, * ), VR( LDVR, * ),
-+ $ WORK( * )
-+ DOUBLE PRECISION X( 2, 2 )
-+ CALL DLALN2( .FALSE., 1, 1, SMIN, ONE, T( J, J ),
-+ $ ZERO, X, 2, SCALE, XNORM, IERR )
-+ CALL DSCAL( KI, SCALE, WORK( 1+N ), 1 )
-+ DO 90 J = KI - 2, 1, -1
-+ IF( J.GT.JNXT )
-+ $ GO TO 90
-+ JNXT = J - 1
-+ IF( J.GT.1 ) THEN
-+ IF( T( J, J-1 ).NE.ZERO ) THEN
-+ IF( WORK( J ).GT.BIGNUM / XNORM ) THEN
-+ X( 1, 1 ) = X( 1, 1 ) / XNORM
-+ END IF
-+ END IF
-+ CALL DLALN2( .FALSE., 2, 2, SMIN, ONE,
-+ $ T( J-1, J-1 ), LDT, ONE, ONE,
-+ $ XNORM, IERR )
-+ CALL DAXPY( J-2, -X( 1, 1 ), T( 1, J-1 ), 1,
-+ $ WORK( 1+N ), 1 )
-+ CALL DAXPY( J-2, -X( 2, 2 ), T( 1, J ), 1,
-+ $ WORK( 1+N2 ), 1 )
-+ END IF
-+ 90 CONTINUE
-+ END
-Index: gcc/testsuite/g++.dg/other/pr40446.C
-===================================================================
---- gcc/testsuite/g++.dg/other/pr40446.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/other/pr40446.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,46 @@
-+// PR middle-end/40446
-+// { dg-do run { target i?86-*-* x86_64-*-* } }
-+// { dg-options "-O1 -msse2" }
-+
-+#include <emmintrin.h>
-+#include "cpuid.h"
-+
-+extern "C" void abort ();
-+
-+struct S
-+{
-+ S (double r, double i) { __real__ s = r; __imag__ s = i; }
-+ __complex__ double s;
-+};
-+
-+__m128d
-+foo ()
-+{
-+ S c (0, 1);
-+ return _mm_load_pd ((double *) &c);
-+}
-+
-+static void
-+__attribute__((noinline))
-+sse2_test ()
-+{
-+ union { __m128d vec; double val[2]; } u;
-+ u.vec = foo ();
-+ if (u.val[0] != 0 || u.val[1] != 1)
-+ abort ();
-+}
-+
-+int
-+main ()
-+{
-+ unsigned int eax, ebx, ecx, edx;
-+
-+ if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx))
-+ return 0;
-+
-+ /* Run SSE2 test only if host has SSE2 support. */
-+ if (edx & bit_SSE2)
-+ sse2_test ();
-+
-+ return 0;
-+}
-Index: gcc/testsuite/g++.dg/tree-ssa/pr22444.C
-===================================================================
---- gcc/testsuite/g++.dg/tree-ssa/pr22444.C (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/g++.dg/tree-ssa/pr22444.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -4,8 +4,8 @@
- // with the subvars leading to the subvars not being renamed when they should
- // { dg-do compile }
- // { dg-options "-O2" }
--typedef int ptrdiff_t;
--typedef unsigned int size_t;
-+__extension__ typedef __PTRDIFF_TYPE__ ptrdiff_t;
-+__extension__ typedef __SIZE_TYPE__ size_t;
- namespace std
- {
- template<class _T1, class _T2> struct pair
-Index: gcc/testsuite/g++.dg/debug/dwarf2/nested-1.C
-===================================================================
---- gcc/testsuite/g++.dg/debug/dwarf2/nested-1.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/debug/dwarf2/nested-1.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,29 @@
-+// Contributed by Dodji Seketeli <dodji@redhat.com>
-+// Origin PR debug/40109
-+// { dg-do compile }
-+// { dg-options "-g -dA -O0" }
-+
-+namespace A
-+{
-+
-+ class B
-+ {
-+ };
-+ typedef A::B AB;
-+};
-+
-+int
-+main()
-+{
-+ A::AB ab;
-+ return 0;
-+}
-+
-+// { dg-final { scan-assembler "DW_TAG_typedef" } }
-+//
-+// What we want to do here is to be sure that the DIE of A::AB is generated
-+// as a child of the DIE of the namespace A declaration.
-+// So this test won't catch a regression on this fix yet. To write a proper
-+// test for this fix, we would need a dwarf reader written in tcl,
-+// or something along those lines.
-+
-Index: gcc/testsuite/g++.dg/ext/packed6.C
-===================================================================
---- gcc/testsuite/g++.dg/ext/packed6.C (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/g++.dg/ext/packed6.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,7 +1,7 @@
- // PR c++/15209
- // { dg-options "-w" }
-
--typedef unsigned int size_t;
-+__extension__ typedef __SIZE_TYPE__ size_t;
- typedef unsigned char uint8_t;
- typedef unsigned short int uint16_t;
-
-Index: gcc/testsuite/g++.dg/ext/altivec-15.C
-===================================================================
---- gcc/testsuite/g++.dg/ext/altivec-15.C (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/g++.dg/ext/altivec-15.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -2,12 +2,15 @@
- /* { dg-require-effective-target powerpc_altivec_ok } */
- /* { dg-options "-maltivec" } */
-
-+/* This test was added for an internal compiler error. The number and
-+ content of error messages is irrelevant. */
-+
- struct SubData
- {
- inline const Float Clamp(Float f, Float f0, Float f1) // { dg-error "" }
- }
- inline const void SinCos(Float angle, Float& sine, Float& cosine) // { dg-error "" }
- {
-- C0 = __builtin_vec_splat(_simdCosEstCoefficients, 0); // { dg-error "" }
-- C1 = __builtin_vec_splat(_simdCosEstCoefficients, 1); // { dg-error "" }
-+ C0 = __builtin_vec_splat(_simdCosEstCoefficients, 0);
-+ C1 = __builtin_vec_splat(_simdCosEstCoefficients, 1);
-
-Index: gcc/testsuite/g++.dg/ext/vla7.C
-===================================================================
---- gcc/testsuite/g++.dg/ext/vla7.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/ext/vla7.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,30 @@
-+// PR c++/40013
-+// { dg-options "" }
-+
-+template <class T>
-+struct A
-+{
-+ struct B
-+ {
-+ struct
-+ {
-+ int fn () { return 0; }
-+ } b;
-+ };
-+ void test ();
-+};
-+
-+template <class T>
-+void
-+A <T>::test ()
-+{
-+ B a;
-+ int vla[a.b.fn ()];
-+}
-+
-+int
-+main ()
-+{
-+ A <char> a;
-+ a.test ();
-+}
-Index: gcc/testsuite/g++.dg/opt/memcpy1.C
-===================================================================
---- gcc/testsuite/g++.dg/opt/memcpy1.C (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/g++.dg/opt/memcpy1.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -6,7 +6,7 @@
-
- typedef unsigned char uint8_t;
- typedef uint8_t uint8;
--typedef long unsigned int size_t;
-+__extension__ typedef __SIZE_TYPE__ size_t;
- class csVector2
- {
- public:float x;
-Index: gcc/testsuite/g++.dg/warn/Wuninitialized-5.C
-===================================================================
---- gcc/testsuite/g++.dg/warn/Wuninitialized-5.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/warn/Wuninitialized-5.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,22 @@
-+// PR middle-end/39666
-+// { dg-do compile }
-+// { dg-options "-O2 -Wuninitialized" }
-+
-+int
-+foo (int i)
-+{
-+ int j; // { dg-warning "may be used uninitialized" }
-+ switch (i)
-+ {
-+ case -__INT_MAX__ - 1 ... -1:
-+ j = 6;
-+ break;
-+ case 0:
-+ j = 5;
-+ break;
-+ case 2 ... __INT_MAX__:
-+ j = 4;
-+ break;
-+ }
-+ return j;
-+}
-Index: gcc/testsuite/g++.dg/warn/Wuninitialized-4.C
-===================================================================
---- gcc/testsuite/g++.dg/warn/Wuninitialized-4.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/warn/Wuninitialized-4.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,22 @@
-+// PR middle-end/39666
-+// { dg-do compile }
-+// { dg-options "-O2 -Wuninitialized" }
-+
-+int
-+foo (int i)
-+{
-+ int j;
-+ switch (i)
-+ {
-+ case -__INT_MAX__ - 1 ... -1:
-+ j = 6;
-+ break;
-+ case 0:
-+ j = 5;
-+ break;
-+ case 1 ... __INT_MAX__:
-+ j = 4;
-+ break;
-+ }
-+ return j;
-+}
-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 149030)
-@@ -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 149030)
-@@ -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/g++.dg/cpp0x/initlist13.C
-===================================================================
---- gcc/testsuite/g++.dg/cpp0x/initlist13.C (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/g++.dg/cpp0x/initlist13.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -2,4 +2,7 @@
- // { dg-do compile }
- // { dg-options "-std=gnu++0x" }
-
--__complex__ int i ({0}); // { dg-error "cannot convert" }
-+#include <complex>
-+
-+__complex__ int i ({0});
-+std::complex<int> i2 ({0});
-Index: gcc/testsuite/g++.dg/cpp0x/auto14.C
-===================================================================
---- gcc/testsuite/g++.dg/cpp0x/auto14.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/auto14.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,29 @@
-+// PR c++/40306, c++/40307
-+// { dg-options "-std=c++0x" }
-+// { dg-do run }
-+
-+template< typename T >
-+struct test {
-+ test run() {
-+ auto tmp = *this;
-+ return tmp;
-+ }
-+ test run_pass() {
-+ test tmp( *this );
-+ return tmp;
-+ }
-+
-+ test run_fail() {
-+ auto tmp( *this );
-+ return tmp;
-+ }
-+};
-+
-+int main()
-+{
-+ test<int> x;
-+ x.run();
-+ x.run_pass();
-+ x.run_fail();
-+ return 0;
-+}
-Index: gcc/testsuite/g++.dg/cpp0x/auto15.C
-===================================================================
---- gcc/testsuite/g++.dg/cpp0x/auto15.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/auto15.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,13 @@
-+// { dg-options "-std=c++0x" }
-+
-+template< typename Fn > struct function;
-+
-+template< typename Result, typename ... ArgTypes >
-+struct function< auto (ArgTypes...)->Result > {
-+};
-+
-+int main()
-+{
-+ function< auto(double)->int > y;
-+ return 0;
-+}
-Index: gcc/testsuite/g++.dg/cpp0x/enum3.C
-===================================================================
---- gcc/testsuite/g++.dg/cpp0x/enum3.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/enum3.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,17 @@
-+// PR c++/38064
-+// { dg-options "-std=c++0x" }
-+// { dg-do run }
-+
-+enum class E { elem };
-+
-+template <class T>
-+void f (T t);
-+
-+bool f (bool b) { return b; }
-+
-+int main()
-+{
-+ E e = E::elem;
-+ if (!f (e == E::elem))
-+ return 1;
-+}
-Index: gcc/testsuite/g++.dg/cpp0x/initlist15.C
-===================================================================
---- gcc/testsuite/g++.dg/cpp0x/initlist15.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/initlist15.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,17 @@
-+// { dg-options "-std=c++0x" }
-+
-+#include <vector>
-+#include <typeinfo>
-+
-+using namespace std;
-+
-+template< typename ... ArgTypes >
-+void test( ArgTypes ... args ) {
-+ vector<type_info*> x = { &typeid(ArgTypes)... }; // { dg-error "" }
-+}
-+
-+int main()
-+{
-+ test( 1, 3.14f, 2.78 );
-+ return 0;
-+}
-Index: gcc/testsuite/g++.dg/cpp0x/initlist16.C
-===================================================================
---- gcc/testsuite/g++.dg/cpp0x/initlist16.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/initlist16.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,12 @@
-+// { dg-options "-std=c++0x" }
-+// { dg-do run }
-+
-+extern "C" void abort();
-+
-+void f(int i) { if (i != 42) abort(); }
-+
-+int main()
-+{
-+ f({42});
-+ return {0};
-+}
-Index: gcc/testsuite/g++.dg/cpp0x/initlist17.C
-===================================================================
---- gcc/testsuite/g++.dg/cpp0x/initlist17.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/initlist17.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,9 @@
-+// { dg-options "-std=c++0x" }
-+
-+void f(int i);
-+
-+int main()
-+{
-+ f({42.0}); // { dg-error "narrowing" }
-+ return {1.0}; // { dg-error "narrowing" }
-+}
-Index: gcc/testsuite/g++.dg/cpp0x/initlist18.C
-===================================================================
---- gcc/testsuite/g++.dg/cpp0x/initlist18.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/initlist18.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,19 @@
-+// PR c++/40308, 40311
-+// { dg-do run }
-+// { dg-options "-std=c++0x" }
-+
-+template< typename T >
-+struct test {
-+ test() : data{} {}
-+
-+ T data;
-+};
-+
-+int main()
-+{
-+ test<int> x;
-+ test<int*> y;
-+ int * a = new int{};
-+ int * b = new int{5};
-+ return 0;
-+}
-Index: gcc/testsuite/g++.dg/cpp0x/defaulted10.C
-===================================================================
---- gcc/testsuite/g++.dg/cpp0x/defaulted10.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/defaulted10.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,14 @@
-+// PR c++/40381
-+// { dg-options "-std=gnu++0x" }
-+
-+struct A
-+{
-+ template<typename T> void foo(T) = delete; // { dg-error "previously|deleted" }
-+};
-+
-+template<typename T> void A::foo(T) {} // { dg-error "redefinition" }
-+
-+void bar()
-+{
-+ A().foo(0); // { dg-error "used" }
-+}
-Index: gcc/testsuite/g++.dg/cpp0x/initlist19.C
-===================================================================
---- gcc/testsuite/g++.dg/cpp0x/initlist19.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/initlist19.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,8 @@
-+// { dg-options "-std=c++0x" }
-+
-+void f(double);
-+int main()
-+{
-+ f({{1}}); // { dg-error "too many braces" }
-+ // { dg-error "" "" { target *-*-* } 6 } allow other errors, too
-+}
-Index: gcc/testsuite/g++.dg/eh/nested-try.C
-===================================================================
---- gcc/testsuite/g++.dg/eh/nested-try.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/eh/nested-try.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,25 @@
-+// { dg-do compile }
-+// Nested try statements shadowing each other was crashing in EH edge redirection.
-+// PR middle-end/40043
-+struct A
-+{
-+ ~A();
-+ void foo();
-+};
-+
-+void bar()
-+{
-+ A a;
-+
-+ try
-+ {
-+ A b;
-+
-+ try
-+ {
-+ b.foo();
-+ }
-+ catch (int) {}
-+ }
-+ catch (int) {}
-+}
-Index: gcc/testsuite/g++.dg/torture/pr40460.C
-===================================================================
---- gcc/testsuite/g++.dg/torture/pr40460.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/torture/pr40460.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,9 @@
-+/* { dg-do compile } */
-+
-+void bar(int);
-+void foo(void)
-+{
-+ for (int i = 0; i<1; ++i)
-+ bar (i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i);
-+}
-+
-Index: gcc/testsuite/g++.dg/torture/pr40389.C
-===================================================================
---- gcc/testsuite/g++.dg/torture/pr40389.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/torture/pr40389.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,84 @@
-+/* { dg-do run } */
-+
-+template <typename V> struct S
-+{
-+ V *f, *l;
-+ __attribute__ ((noinline)) S (void) { f = 0, l = 0; }
-+ void foo (V *x)
-+ {
-+ if (x->p != 0)
-+ x->p->n = x->n;
-+ else
-+ f = x->n;
-+ if (x->n != 0)
-+ x->n->p = x->p;
-+ else
-+ l = x->p;
-+ }
-+ __attribute__ ((noinline)) void bar (V *x)
-+ {
-+ x->n = 0;
-+ x->p = l;
-+ if (l != 0)
-+ l->n = x;
-+ else
-+ f = x;
-+ l = x;
-+ }
-+};
-+
-+struct H;
-+
-+struct A
-+{
-+ S <H> k;
-+};
-+
-+struct H
-+{
-+ A *a;
-+ H *p, *n;
-+ __attribute__ ((noinline)) H (void) { p = 0, n = 0, a = 0; }
-+ __attribute__ ((noinline)) H (A *b) : a (b)
-+ {
-+ p = 0;
-+ n = 0;
-+ if (a != 0)
-+ a->k.bar (this);
-+ }
-+ __attribute__ ((noinline)) H (const H &h) : a (h.a)
-+ {
-+ p = 0;
-+ n = 0;
-+ if (a != 0)
-+ a->k.bar (this);
-+ }
-+ ~H (void) { if (a != 0) a->k.foo (this); }
-+ H &operator= (const H &o)
-+ {
-+ if (a != 0 || &o == this)
-+ __builtin_abort ();
-+ a = o.a;
-+ if (a != 0)
-+ a->k.bar (this);
-+ return *this;
-+ }
-+};
-+
-+__attribute__ ((noinline))
-+H baz (void)
-+{
-+ return H (new A);
-+}
-+
-+H g;
-+
-+int
-+main (void)
-+{
-+ g = baz ();
-+ if (g.a->k.f != &g)
-+ __builtin_abort ();
-+ return 0;
-+}
-+
-Index: gcc/testsuite/g++.dg/torture/pr40335.C
-===================================================================
---- gcc/testsuite/g++.dg/torture/pr40335.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/torture/pr40335.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,16 @@
-+/* { dg-do run } */
-+
-+extern "C" void abort (void);
-+int
-+main (void)
-+{
-+ int i = -1;
-+ switch ((signed char) i)
-+ {
-+ case 255: /* { dg-bogus "exceeds maximum value" "" { xfail *-*-* } } */
-+ abort ();
-+ default:
-+ break;
-+ }
-+}
-+
-Index: gcc/testsuite/g++.dg/torture/pr32950.C
-===================================================================
---- gcc/testsuite/g++.dg/torture/pr32950.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/torture/pr32950.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,19 @@
-+/* { dg-do compile } */
-+
-+struct A
-+{
-+ __complex__ double c;
-+};
-+
-+struct B
-+{
-+ A a;
-+ B(A x) : a(x) {}
-+ void foo();
-+};
-+
-+void bar()
-+{
-+ B b = A();
-+ B(b).foo();
-+}
-Index: gcc/testsuite/g++.dg/torture/pr40492.C
-===================================================================
---- gcc/testsuite/g++.dg/torture/pr40492.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/torture/pr40492.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,26 @@
-+typedef unsigned short ushort;
-+class QChar {
-+public:
-+ QChar( const QChar& c );
-+ ushort ucs;
-+};
-+inline QChar::QChar( const QChar& c ) : ucs( c.ucs ) { };
-+class QString { };
-+class KoAutoFormat {
-+public:
-+ struct TypographicQuotes { QChar begin, end; };
-+ TypographicQuotes getConfigTypographicDoubleQuotes() const {
-+ return m_typographicDoubleQuotes;
-+ }
-+ TypographicQuotes m_typographicDoubleQuotes;
-+};
-+class KoAutoFormatDia {
-+ QChar oDoubleBegin, oDoubleEnd;
-+ KoAutoFormat * m_docAutoFormat;
-+ bool noSignal;
-+ void changeAutoformatLanguage(void);
-+};
-+void KoAutoFormatDia::changeAutoformatLanguage(void)
-+{
-+ oDoubleEnd= m_docAutoFormat->getConfigTypographicDoubleQuotes().end;
-+}
-Index: gcc/testsuite/g++.dg/torture/20070621-1.C
-===================================================================
---- gcc/testsuite/g++.dg/torture/20070621-1.C (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/g++.dg/torture/20070621-1.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -6,7 +6,7 @@
-
- */
-
--typedef long int ptrdiff_t;
-+__extension__ typedef __PTRDIFF_TYPE__ ptrdiff_t;
- namespace std __attribute__ ((__visibility__ ("default"))) {
- template<typename, typename> struct __are_same {
- enum {
-Index: gcc/testsuite/g++.dg/torture/pr34222.C
-===================================================================
---- gcc/testsuite/g++.dg/torture/pr34222.C (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/g++.dg/torture/pr34222.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -3,7 +3,7 @@
- namespace std __attribute__ ((__visibility__ ("default"))) {
- template<class _CharT> struct char_traits;
- }
--typedef long int ptrdiff_t;
-+__extension__ typedef __PTRDIFF_TYPE__ ptrdiff_t;
- namespace std __attribute__ ((__visibility__ ("default"))) {
- typedef ptrdiff_t streamsize;
- template<typename _CharT, typename _Traits = char_traits<_CharT> > class basic_ifstream;
-Index: gcc/testsuite/g++.dg/torture/pr34850.C
-===================================================================
---- gcc/testsuite/g++.dg/torture/pr34850.C (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/g++.dg/torture/pr34850.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -5,7 +5,7 @@
- typedef unsigned int uint32_t;
- typedef uint8_t byte;
- typedef uint32_t u32bit;
--typedef unsigned int size_t;
-+__extension__ typedef __SIZE_TYPE__ size_t;
- extern "C" {
- extern void __warn_memset_zero_len (void) __attribute__((__warning__ ("")));
- extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__))
-Index: gcc/testsuite/g++.dg/pr37742.C
-===================================================================
---- gcc/testsuite/g++.dg/pr37742.C (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/g++.dg/pr37742.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
-
--typedef long unsigned int size_t;
-+__extension__ typedef __SIZE_TYPE__ size_t;
- void* __valarray_get_memory(size_t __n);
- int*__restrict__
- __valarray_get_storage(size_t __n)
-Index: gcc/testsuite/g++.dg/template/overload10.C
-===================================================================
---- gcc/testsuite/g++.dg/template/overload10.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/overload10.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,6 @@
-+// PR c++40342
-+
-+template <typename T1, typename T2> int f(T1 *, const T2 *); // { dg-error "" }
-+template <typename T1, typename T2> int f(const T1 *, T2 *); // { dg-error "" }
-+
-+int (*p)(const int *, const int *) = f; // { dg-error "ambiguous" }
-Index: gcc/testsuite/g++.dg/template/typedef18.C
-===================================================================
---- gcc/testsuite/g++.dg/template/typedef18.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/typedef18.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,24 @@
-+// Contributed by Dodji Seketeli <dodji@redhat.com>
-+// Origin PR c++/40007
-+// { dg-do compile }
-+
-+template<typename T>
-+struct x
-+{
-+ protected:
-+ typedef int type;
-+};
-+
-+template<typename T>
-+struct y : public x<T>
-+{
-+ typename x<T>::type z;
-+};
-+
-+template<>
-+struct y<void> : public x<void>
-+{
-+ typedef x<void>::type z;
-+};
-+
-+template class y<int>;
-Index: gcc/testsuite/g++.dg/template/typedef19.C
-===================================================================
---- gcc/testsuite/g++.dg/template/typedef19.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/typedef19.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,21 @@
-+// Contributed by Dodji Seketeli <dodji@redhat.com>
-+// Origin PR c++/40007
-+// { dg-do compile }
-+
-+class A
-+{
-+ typedef int mytype; // { dg-error "'typedef int A::mytype' is private" "" { xfail *-*-* } }
-+};
-+
-+template <class T>
-+class B : public A
-+{
-+};
-+
-+template<class T>
-+class B<T*> : public A
-+{ // { dg-error "within this context" "" { xfail *-*-* } }
-+ mytype mem;
-+};
-+
-+B<int*> b;
-Index: gcc/testsuite/g++.dg/template/error41.C
-===================================================================
---- gcc/testsuite/g++.dg/template/error41.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/error41.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,12 @@
-+// PR c++/40370
-+// { dg-do compile }
-+
-+struct A
-+{
-+ static int i;
-+};
-+
-+template <int> struct B
-+{
-+ int x[A::i]; // { dg-error "array bound is not an integer constant" }
-+};
-Index: gcc/testsuite/g++.dg/template/error42.C
-===================================================================
---- gcc/testsuite/g++.dg/template/error42.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/error42.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,20 @@
-+// PR c++/40372
-+// { dg-do compile }
-+
-+template <int> struct A
-+{
-+ int i; // { dg-error "invalid use of non-static data member" }
-+ friend void foo ()
-+ {
-+ int x[i]; // { dg-error "from this location" }
-+ }
-+};
-+
-+struct B
-+{
-+ int j; // { dg-error "invalid use of non-static data member" }
-+ friend int bar ()
-+ {
-+ return j; // { dg-error "from this location" }
-+ }
-+};
-Index: gcc/testsuite/g++.dg/template/canon-type-1.C
-===================================================================
---- gcc/testsuite/g++.dg/template/canon-type-1.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/canon-type-1.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,18 @@
-+// Contributed by Dodji Seketeli <dodji@redhat.com>
-+// Origin PR c++/39754
-+// { dg-do "compile" }
-+
-+template < typename > struct A ;
-+template < typename T , typename = A < T > > struct B { } ;
-+template < class W , class > struct D
-+{
-+ typedef W X ;
-+ A<X*> a ;
-+};
-+
-+template < class Y > struct E
-+{
-+ B<Y*> b ;
-+} ;
-+E<int> e ;
-+
-Index: gcc/testsuite/g++.dg/template/canon-type-2.C
-===================================================================
---- gcc/testsuite/g++.dg/template/canon-type-2.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/canon-type-2.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,18 @@
-+// Contributed by Dodji Seketeli <dodji@redhat.com>
-+// Origin PR c++/39754
-+// { dg-do "compile" }
-+
-+template < typename > struct A ;
-+template < typename T , typename = A < T > > struct B { } ;
-+template < class W , class > struct D
-+{
-+ typedef W X ;
-+ A< X()> a ;
-+};
-+
-+template < class Y > struct E
-+{
-+ B< Y()> b ;
-+};
-+E<int> e ;
-+
-Index: gcc/testsuite/g++.dg/template/canon-type-3.C
-===================================================================
---- gcc/testsuite/g++.dg/template/canon-type-3.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/canon-type-3.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,20 @@
-+// Contributed by Dodji Seketeli <dodji@redhat.com>
-+// Origin PR c++/39754
-+// { dg-do "compile" }
-+
-+template<typename> struct A ;
-+template<typename T , typename = A<T> > struct B { } ;
-+template<class W , class > struct D
-+{
-+ typedef W X ;
-+ typedef X (FP) ();
-+ A<FP&> a ;
-+} ;
-+
-+template < class Y > struct E
-+{
-+ typedef Y (FP) ();
-+ B<FP&> b ;
-+} ;
-+E < int > e ;
-+
-Index: gcc/testsuite/g++.dg/template/canon-type-4.C
-===================================================================
---- gcc/testsuite/g++.dg/template/canon-type-4.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/canon-type-4.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,22 @@
-+// Contributed by Dodji Seketeli <dodji@redhat.com>
-+// Origin PR c++/39754
-+// { dg-do "compile" }
-+
-+template<typename> struct A ;
-+template<typename T ,typename = A<T> > struct B { } ;
-+
-+template<class W, class>
-+struct D
-+{
-+ typedef W X;
-+ A<X[2]> a;
-+} ;
-+
-+template<class Y>
-+struct E
-+{
-+ B<Y[2]> b;
-+};
-+
-+E < int > e;
-+
-Index: gcc/testsuite/g++.dg/template/canon-type-5.C
-===================================================================
---- gcc/testsuite/g++.dg/template/canon-type-5.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/canon-type-5.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,22 @@
-+// Contributed by Dodji Seketeli <dodji@redhat.com>
-+// Origin PR c++/39754
-+// { dg-do "compile" }
-+
-+struct Foo {};
-+template<typename> struct A ;
-+template<typename T ,typename = A<T> > struct B { } ;
-+
-+template<class W, class>
-+struct D
-+{
-+ typedef W X ;
-+ A<X Foo::*> a ;
-+} ;
-+
-+template<class Y>
-+struct E
-+{
-+ B<Y Foo::*> b ;
-+} ;
-+E < int > e ;
-+
-Index: gcc/testsuite/g++.dg/template/canon-type-6.C
-===================================================================
---- gcc/testsuite/g++.dg/template/canon-type-6.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/canon-type-6.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,22 @@
-+// Contributed by Dodji Seketeli <dodji@redhat.com>
-+// Origin PR c++/39754
-+// { dg-do "compile" }
-+
-+struct Foo {};
-+template<typename> struct A ;
-+template<typename T ,typename = A<T> > struct B { } ;
-+
-+template<class W, class>
-+struct D
-+{
-+ typedef W X;
-+ A<void (Foo::*) (X)> a;
-+} ;
-+
-+template<class Y>
-+struct E
-+{
-+ B<void (Foo::*) (Y)> b;
-+};
-+E < int > e ;
-+
-Index: gcc/testsuite/g++.dg/template/typedef20.C
-===================================================================
---- gcc/testsuite/g++.dg/template/typedef20.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/typedef20.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,27 @@
-+// Contributed by Dodji Seketeli <dodji@redhat.com>
-+// Origin PR c++/40007
-+// { dg-do compile }
-+
-+class x
-+{
-+ typedef int privtype; // { dg-error "is private" "" { xfail *-*-* } }
-+
-+protected:
-+ typedef int type;
-+};
-+
-+template<typename T>
-+struct y : public x
-+{
-+ typename x::type z;
-+};
-+
-+template<typename T>
-+struct y<T*> : public x
-+{ // { dg-error "within this context" "" { xfail *-*-* } }
-+ typedef x::type good;
-+ typedef x::privtype bad;
-+};
-+
-+template class y<int>;
-+template class y<int*>;
-Index: gcc/testsuite/g++.dg/template/canon-type-7.C
-===================================================================
---- gcc/testsuite/g++.dg/template/canon-type-7.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/canon-type-7.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,21 @@
-+// Contributed by Dodji Seketeli <dodji@redhat.com>
-+// Origin PR c++/39754
-+// { dg-do "compile" }
-+
-+struct Foo {};
-+template<typename> struct A ;
-+template<typename T ,typename = A<T> > struct B { } ;
-+
-+template<class W, class>
-+struct D
-+{
-+ typedef W X;
-+ A<X (Foo::*) (X)> a ;
-+};
-+
-+template<class Y>
-+struct E
-+{
-+ B<Y (Foo::*) (Y)> b ;
-+};
-+E<int> e ;
-Index: gcc/testsuite/g++.dg/template/call7.C
-===================================================================
---- gcc/testsuite/g++.dg/template/call7.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/call7.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,19 @@
-+// Contributed by Dodji Seketeli <dodji@redhat.com>
-+// Origin: PR c++/17395
-+// { dg-do "compile" }
-+
-+template<int> struct X { };
-+
-+void fu(int a, X<sizeof(a)>) { }
-+
-+template<class T>
-+void bhar(T a, X<sizeof(a)>) { }
-+
-+int
-+main()
-+{
-+ int x;
-+ X<sizeof(int)> y;
-+ fu(x, y);
-+ bhar(x, y);
-+}
-Index: gcc/testsuite/g++.dg/template/dtor6.C
-===================================================================
---- gcc/testsuite/g++.dg/template/dtor6.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/dtor6.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,10 @@
-+// PR c++/40139
-+
-+template<int> struct A
-+{
-+ static int i;
-+};
-+
-+template<int N> int A<N>::i = { A::~A }; // { dg-error "" }
-+
-+template class A<0>;
-Index: gcc/testsuite/g++.dg/template/dtor7.C
-===================================================================
---- gcc/testsuite/g++.dg/template/dtor7.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/dtor7.C (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,24 @@
-+// PR c++/40373
-+// { dg-compile }
-+
-+struct A; // { dg-bogus "candidates are" "" { xfail *-*-* } }
-+namespace
-+{
-+ struct A; // { dg-bogus "struct" "" { xfail *-*-* } }
-+}
-+
-+struct B {};
-+
-+template <typename T> void
-+foo (T t)
-+{
-+ t.~A (); // { dg-error "does not match destructor name" }
-+}
-+
-+void
-+bar ()
-+{
-+ foo (B ()); // { dg-bogus "instantiated from here" "" { xfail *-*-* } }
-+}
-+
-+// { dg-bogus "is ambiguous" "" { xfail *-*-* } 15 }
-Index: gcc/testsuite/lib/gcc-dg.exp
-===================================================================
---- gcc/testsuite/lib/gcc-dg.exp (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/lib/gcc-dg.exp (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/lib/gcc-defs.exp (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/lib/gfortran.exp (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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/lib/target-supports.exp
-===================================================================
---- gcc/testsuite/lib/target-supports.exp (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/lib/target-supports.exp (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -466,6 +466,11 @@
- return 0
- }
-
-+ # cygwin does not support -p.
-+ if { [istarget *-*-cygwin*] && [lindex $test_what 1] == "-p" } {
-+ return 0
-+ }
-+
- # uClibc does not have gcrt1.o.
- if { [check_effective_target_uclibc]
- && ([lindex $test_what 1] == "-p"
-@@ -544,8 +549,6 @@
- }
-
- # Return 1 if thread local storage (TLS) is supported, 0 otherwise.
--#
--# This won't change for different subtargets so cache the result.
-
- proc check_effective_target_tls {} {
- return [check_no_compiler_messages tls assembly {
-@@ -556,8 +559,6 @@
- }
-
- # Return 1 if *native* thread local storage (TLS) is supported, 0 otherwise.
--#
--# This won't change for different subtargets so cache the result.
-
- proc check_effective_target_tls_native {} {
- # VxWorks uses emulated TLS machinery, but with non-standard helper
-@@ -575,8 +576,6 @@
- }
-
- # Return 1 if TLS executables can run correctly, 0 otherwise.
--#
--# This won't change for different subtargets so cache the result.
-
- proc check_effective_target_tls_runtime {} {
- return [check_runtime tls_runtime {
-Index: gcc/testsuite/objc.dg/pr28050.m
-===================================================================
---- gcc/testsuite/objc.dg/pr28050.m (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/objc.dg/pr28050.m (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,2 @@
-+/* { dg-do compile } */
-+int i = [0]; /* { dg-error "expected .:. before .\\]. token" } */
-Index: gcc/testsuite/gfortran.dg/data_value_1.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/data_value_1.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/data_value_1.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,14 @@
-+! { dg-do compile }
-+! Test the fix for PR40402, in which it was not detected that X
-+! is not a constant and so the DATA statement did not have
-+! a constant value expression.
-+!
-+! Contributed by Philippe Marguinaud <philippe.marguinaud@meteo.fr>
-+!
-+ TYPE POINT
-+ REAL :: X
-+ ENDTYPE
-+ TYPE(POINT) :: P
-+ DATA P / POINT(1.+X) / ! { dg-error "non-constant DATA value" }
-+ print *, p
-+ END
-Index: gcc/testsuite/gfortran.dg/pr39666-1.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/pr39666-1.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/pr39666-1.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,14 @@
-+! PR middle-end/39666
-+! { dg-do compile }
-+! { dg-options "-O2 -Wuninitialized" }
-+
-+FUNCTION f(n)
-+ INTEGER, INTENT(in) :: n
-+ REAL :: f
-+
-+ SELECT CASE (n)
-+ CASE (:-1); f = -1.0
-+ CASE (0); f = 0.0
-+ CASE (1:); f = 1.0
-+ END SELECT
-+END FUNCTION
-Index: gcc/testsuite/gfortran.dg/nearest_1.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/nearest_1.f90 (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gfortran.dg/nearest_1.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/gfortran.dg/nearest_3.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/gfortran.dg/namelist_42.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/gfortran.dg/module_nan.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/gfortran.dg/nan_2.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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/array_memset_2.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/array_memset_2.f90 (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gfortran.dg/array_memset_2.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -20,8 +20,8 @@
- data c /2*1.0/
-
- a(1,:) = 0. ! This can't be optimized to a memset.
-- b(1,:) = 0. ! This is optimized to memset.
-- c = 0. ! This is optimized to memset.
-+ b(1,:) = 0. ! This is optimized to = {}.
-+ c = 0. ! This is optimized to = {}.
- d(:,1) = 0. ! This can't be otimized to a memset.
- call bar(e)
-
-@@ -33,6 +33,6 @@
-
- end program
-
--! { dg-final { scan-tree-dump-times "memset" 2 "original" } }
-+! { dg-final { scan-tree-dump-times "= {}" 2 "original" } }
- ! { dg-final { cleanup-tree-dump "original" } }
- ! { dg-final { cleanup-modules "foo" } }
-Index: gcc/testsuite/gfortran.dg/init_flag_3.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/init_flag_3.f90 (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gfortran.dg/init_flag_3.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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/dependency_24.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/dependency_24.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/dependency_24.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,82 @@
-+! { dg-do run }
-+! Check the fix for PR38863 comment #1, where defined assignment
-+! to derived types was not treating components correctly that were
-+! not set explicitly.
-+!
-+! Contributed by Mikael Morin <mikael@gcc.gnu.org>
-+!
-+module m
-+ type t
-+ integer :: i,j
-+ end type t
-+ type ti
-+ integer :: i,j = 99
-+ end type ti
-+ interface assignment (=)
-+ module procedure i_to_t, i_to_ti
-+ end interface
-+contains
-+ elemental subroutine i_to_ti (p, q)
-+ type(ti), intent(out) :: p
-+ integer, intent(in) :: q
-+ p%i = q
-+ end subroutine
-+ elemental subroutine i_to_t (p, q)
-+ type(t), intent(out) :: p
-+ integer, intent(in) :: q
-+ p%i = q
-+ end subroutine
-+end module
-+
-+ use m
-+ call test_t ! Check original problem
-+ call test_ti ! Default initializers were treated wrongly
-+contains
-+ subroutine test_t
-+ type(t), target :: a(3)
-+ type(t), target :: b(3)
-+ type(t), dimension(:), pointer :: p
-+ logical :: l(3)
-+
-+ a%i = 1
-+ a%j = [101, 102, 103]
-+ b%i = 3
-+ b%j = 4
-+
-+ p => b
-+ l = .true.
-+
-+ where (l)
-+ a = p%i ! Comment #1 of PR38863 concerned WHERE assignment
-+ end where
-+ if (any (a%j .ne. [101, 102, 103])) call abort
-+
-+ a = p%i ! Ordinary assignment was wrong too.
-+ if (any (a%j .ne. [101, 102, 103])) call abort
-+ end subroutine
-+
-+ subroutine test_ti
-+ type(ti), target :: a(3)
-+ type(ti), target :: b(3)
-+ type(ti), dimension(:), pointer :: p
-+ logical :: l(3)
-+
-+ a%i = 1
-+ a%j = [101, 102, 103]
-+ b%i = 3
-+ b%j = 4
-+
-+ p => b
-+ l = .true.
-+
-+ where (l)
-+ a = p%i
-+ end where
-+ if (any (a%j .ne. 99)) call abort
-+
-+ a = p%i
-+ if (any (a%j .ne. 99)) call abort
-+ end subroutine
-+end
-+! { dg-final { cleanup-modules "m" } }
-+
-Index: gcc/testsuite/gfortran.dg/isnan_1.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/isnan_1.f90 (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gfortran.dg/isnan_1.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/gfortran.dg/nan_4.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/gfortran.dg/chmod_2.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,5 +1,6 @@
--! { dg-do run { target { ! *-*-mingw* } } }
-+! { dg-do run { target { ! { *-*-mingw* *-*-cygwin* spu-*-* } } } }
- ! { dg-options "-std=gnu" }
-+! See PR38956. Test fails on cygwin when user has Administrator rights
- implicit none
- character(len=*), parameter :: n = "foobar_file"
- integer :: i
-Index: gcc/testsuite/gfortran.dg/default_format_1.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/default_format_1.f90 (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gfortran.dg/default_format_1.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/gfortran.dg/int_conv_2.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/gfortran.dg/open_errors.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,6 +1,7 @@
--! { dg-do run { target { ! *-*-mingw* } } }
-+! { dg-do run { target { ! { *-*-mingw* *-*-cygwin* spu-*-* } } } }
- ! PR30005 Enhanced error messages for OPEN
- ! Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
-+! See PR38956. Test fails on cygwin when user has Administrator rights
- character(60) :: msg
- character(25) :: n = "temptestfile"
- logical :: there
-Index: gcc/testsuite/gfortran.dg/alloc_comp_assign_10.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/alloc_comp_assign_10.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/alloc_comp_assign_10.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,61 @@
-+! { dg-do run }
-+!
-+! Test the fix for PR39879, in which gfc gagged on the double
-+! defined assignment where the rhs had a default initialiser.
-+!
-+! Contributed by David Sagan <david.sagan@gmail.com>
-+!
-+module test_struct
-+ interface assignment (=)
-+ module procedure tao_lat_equal_tao_lat
-+ end interface
-+ type bunch_params_struct
-+ integer n_live_particle
-+ end type
-+ type tao_lattice_struct
-+ type (bunch_params_struct), allocatable :: bunch_params(:)
-+ type (bunch_params_struct), allocatable :: bunch_params2(:)
-+ end type
-+ type tao_universe_struct
-+ type (tao_lattice_struct), pointer :: model, design
-+ character(200), pointer :: descrip => NULL()
-+ end type
-+ type tao_super_universe_struct
-+ type (tao_universe_struct), allocatable :: u(:)
-+ end type
-+ type (tao_super_universe_struct), save, target :: s
-+ contains
-+ subroutine tao_lat_equal_tao_lat (lat1, lat2)
-+ implicit none
-+ type (tao_lattice_struct), intent(inout) :: lat1
-+ type (tao_lattice_struct), intent(in) :: lat2
-+ if (allocated(lat2%bunch_params)) then
-+ lat1%bunch_params = lat2%bunch_params
-+ end if
-+ if (allocated(lat2%bunch_params2)) then
-+ lat1%bunch_params2 = lat2%bunch_params2
-+ end if
-+ end subroutine
-+end module
-+
-+program tao_program
-+ use test_struct
-+ implicit none
-+ type (tao_universe_struct), pointer :: u
-+ integer n, i
-+ allocate (s%u(1))
-+ u => s%u(1)
-+ allocate (u%design, u%model)
-+ n = 112
-+ allocate (u%model%bunch_params(0:n), u%design%bunch_params(0:n))
-+ u%design%bunch_params%n_live_particle = [(i, i = 0, n)]
-+ u%model = u%design
-+ u%model = u%design ! The double assignment was the cause of the ICE
-+ if (.not. allocated (u%model%bunch_params)) call abort
-+ if (any (u%model%bunch_params%n_live_particle .ne. [(i, i = 0, n)])) call abort
-+ Deallocate (u%model%bunch_params, u%design%bunch_params)
-+ deallocate (u%design, u%model)
-+ deallocate (s%u)
-+end program
-+
-+! { dg-final { cleanup-modules "test_struct" } }
-Index: gcc/testsuite/gfortran.dg/scalar_mask_2.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/scalar_mask_2.f90 (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gfortran.dg/scalar_mask_2.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/gfortran.dg/stat_2.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/gfortran.dg/pr20257.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/gfortran.dg/default_format_denormal_1.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,4 +1,4 @@
--! { dg-do run { xfail alpha*-*-* *-*-darwin[89]* *-*-freebsd* *-*-mingw* } }
-+! { dg-do run { xfail alpha*-*-* *-*-darwin[89]* *-*-freebsd* *-*-mingw* *-*-cygwin* spu-*-* } }
- ! Test XFAILed on these platforms because the system's printf() lacks
- ! proper support for denormals.
- !
-Index: gcc/testsuite/gfortran.dg/leadz_trailz_2.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/leadz_trailz_2.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/leadz_trailz_2.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,36 @@
-+! { dg-do run }
-+! { dg-require-effective-target fortran_large_int }
-+
-+ integer(kind=16) :: i16
-+
-+ i16 = -1
-+ if (leadz(i16) /= 0) call abort
-+ if (trailz(i16) /= 0) call abort
-+ if (leadz(-1_16) /= 0) call abort
-+ if (trailz(-1_16) /= 0) call abort
-+
-+ i16 = -64
-+ if (leadz(i16) /= 0) call abort
-+ if (trailz(i16) /= 6) call abort
-+ if (leadz(-64_16) /= 0) call abort
-+ if (trailz(-64_16) /= 6) call abort
-+
-+ i16 = -108
-+ if (leadz(i16) /= 0) call abort
-+ if (trailz(i16) /= 2) call abort
-+ if (leadz(-108_16) /= 0) call abort
-+ if (trailz(-108_16) /= 2) call abort
-+
-+ i16 = 1
-+ if (leadz(i16) /= bit_size(i16) - 1) call abort
-+ if (trailz(i16) /= 0) call abort
-+ if (leadz(1_16) /= bit_size(1_16) - 1) call abort
-+ if (trailz(1_16) /= 0) call abort
-+
-+ i16 = 64
-+ if (leadz(i16) /= 121) call abort
-+ if (trailz(i16) /= 6) call abort
-+ if (leadz(64_16) /= 121) call abort
-+ if (trailz(64_16) /= 6) call abort
-+
-+end
-Index: gcc/testsuite/gfortran.dg/pr39666-2.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/pr39666-2.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/pr39666-2.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,14 @@
-+! PR middle-end/39666
-+! { dg-do compile }
-+! { dg-options "-O2 -Wuninitialized" }
-+
-+FUNCTION f(n) ! { dg-warning "may be used uninitialized" }
-+ INTEGER, INTENT(in) :: n
-+ REAL :: f
-+
-+ SELECT CASE (n)
-+ CASE (:-1); f = -1.0
-+ CASE (0); f = 0.0
-+ CASE (2:); f = 1.0
-+ END SELECT
-+END FUNCTION
-Index: gcc/testsuite/gfortran.dg/private_type_2.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/private_type_2.f90 (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gfortran.dg/private_type_2.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,8 +1,11 @@
- ! { dg-do compile }
-+! { dg-options "-std=f95" }
- ! PR16404 test 6 - If a component of a derived type is of a type declared to
- ! be private, either the derived type definition must contain the PRIVATE
- ! statement, or the derived type must be private.
- ! Modified on 20051105 to test PR24534.
-+! Modified on 20090419 to use -std=f95, since F2003 allows public types
-+! with private components.
- !
- ! Contributed by Joost VandeVondele <jv244@cam.ac.uk>
- MODULE TEST
-Index: gcc/testsuite/gfortran.dg/assumed_charlen_dummy.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/assumed_charlen_dummy.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/assumed_charlen_dummy.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,10 @@
-+! { dg-do compile }
-+! Test the fix for PR fortran/39893.
-+! Original testcase provided by Deji Akingunola.
-+! Reduced testcase provided by Dominique d'Humieres.
-+!
-+ SUBROUTINE XAUTOGET()
-+ CHARACTER*(*) DICBA ! { dg-error "Entity with assumed character" }
-+ DATA DICBA /"CLIP" /
-+ RETURN
-+ END
-Index: gcc/testsuite/gfortran.dg/nan_1.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/nan_1.f90 (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gfortran.dg/nan_1.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/gfortran.dg/gamma_5.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/gfortran.dg/namelist_43.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/gfortran.dg/transfer_simplify_1.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/gfortran.dg/nan_3.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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/array_constructor_31.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/array_constructor_31.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/array_constructor_31.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,10 @@
-+! { dg-do compile }
-+! Test the fix for pr40018 in which the elements in the array
-+! constructor would be of default type and this would cause an
-+! ICE in the backend because of the type mistmatch with 'i'.
-+!
-+! Contributed by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-+!
-+ integer(kind=8) :: i
-+ write(*,*) [(i, i = 1, 10)]
-+ end
-Index: gcc/testsuite/gfortran.dg/backspace_11.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/backspace_11.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/backspace_11.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,24 @@
-+! { dg-do run }
-+! PR 40334 backspace regression
-+program backspace_11
-+ implicit none
-+ character(len=5) :: str
-+ open(10, access='sequential', status='scratch')
-+ write(10,'(A)')'HELLO'
-+ rewind(10)
-+
-+ do
-+ read(10,'(A)',end=1) str
-+ enddo
-+1 backspace 10
-+ !the file pointer is now at EOF
-+
-+ read(10,*,end=2) str
-+ call abort
-+2 backspace 10
-+ !the file pointer is now at EOF
-+
-+ read(10,'(A)',end=3) str
-+ call abort
-+3 continue
-+end program backspace_11
-Index: gcc/testsuite/gfortran.dg/chmod_1.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/chmod_1.f90 (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gfortran.dg/chmod_1.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,5 +1,6 @@
--! { dg-do run { target { ! *-*-mingw* } } }
-+! { dg-do run { target { ! { *-*-mingw* *-*-cygwin* spu-*-* } } } }
- ! { dg-options "-std=gnu" }
-+! See PR38956. Test fails on cygwin when user has Administrator rights
- implicit none
- character(len=*), parameter :: n = "foobar_file"
- integer :: i
-Index: gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90
-===================================================================
---- gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90 (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/gfortran.dg/elemental_subroutine_1.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/gfortran.dg/isnan_2.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/gfortran.dg/chmod_3.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,5 +1,6 @@
--! { dg-do run { target { ! *-*-mingw* } } }
-+! { dg-do run { target { ! { *-*-mingw* *-*-cygwin* spu-*-* } } } }
- ! { dg-options "-std=gnu -fdefault-integer-8" }
-+! See PR38956. Test fails on cygwin when user has Administrator rights
- implicit none
- character(len=*), parameter :: n = "foobar_file"
- integer :: i
-Index: gcc/testsuite/gfortran.dg/integer_exponentiation_5.F90
-===================================================================
---- gcc/testsuite/gfortran.dg/integer_exponentiation_5.F90 (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gfortran.dg/integer_exponentiation_5.F90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/gfortran.dg/stat_1.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/testsuite/gfortran.dg/real_const_3.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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/private_type_13.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/private_type_13.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/private_type_13.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,32 @@
-+! { dg-do compile }
-+! Test fix for F95 part of PR39800, in which the host association of the type 't1'
-+! generated an error.
-+!
-+! Reported to clf by Alexei Matveev <Alexei Matveev@gmail.com> and reported by
-+! Tobias Burnus <burnus@gcc.gnu.org>
-+!
-+module m
-+ implicit none
-+ private
-+
-+ type :: t1
-+ integer :: i
-+ end type
-+
-+ type :: t2
-+ type(t1) :: j
-+ end type
-+
-+ contains
-+
-+ subroutine sub()
-+ implicit none
-+
-+ type :: t3
-+ type(t1) :: j
-+ end type
-+
-+ end subroutine
-+
-+end module
-+! { dg-final { cleanup-modules "m" } }
-Index: gcc/testsuite/gfortran.dg/leadz_trailz_1.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/leadz_trailz_1.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/leadz_trailz_1.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,133 @@
-+! { dg-do run }
-+
-+ integer(kind=1) :: i1
-+ integer(kind=2) :: i2
-+ integer(kind=4) :: i4
-+ integer(kind=8) :: i8
-+
-+ i1 = -1
-+ i2 = -1
-+ i4 = -1
-+ i8 = -1
-+
-+ if (leadz(i1) /= 0) call abort
-+ if (leadz(i2) /= 0) call abort
-+ if (leadz(i4) /= 0) call abort
-+ if (leadz(i8) /= 0) call abort
-+
-+ if (trailz(i1) /= 0) call abort
-+ if (trailz(i2) /= 0) call abort
-+ if (trailz(i4) /= 0) call abort
-+ if (trailz(i8) /= 0) call abort
-+
-+ if (leadz(-1_1) /= 0) call abort
-+ if (leadz(-1_2) /= 0) call abort
-+ if (leadz(-1_4) /= 0) call abort
-+ if (leadz(-1_8) /= 0) call abort
-+
-+ if (trailz(-1_1) /= 0) call abort
-+ if (trailz(-1_2) /= 0) call abort
-+ if (trailz(-1_4) /= 0) call abort
-+ if (trailz(-1_8) /= 0) call abort
-+
-+ i1 = -64
-+ i2 = -64
-+ i4 = -64
-+ i8 = -64
-+
-+ if (leadz(i1) /= 0) call abort
-+ if (leadz(i2) /= 0) call abort
-+ if (leadz(i4) /= 0) call abort
-+ if (leadz(i8) /= 0) call abort
-+
-+ if (trailz(i1) /= 6) call abort
-+ if (trailz(i2) /= 6) call abort
-+ if (trailz(i4) /= 6) call abort
-+ if (trailz(i8) /= 6) call abort
-+
-+ if (leadz(-64_1) /= 0) call abort
-+ if (leadz(-64_2) /= 0) call abort
-+ if (leadz(-64_4) /= 0) call abort
-+ if (leadz(-64_8) /= 0) call abort
-+
-+ if (trailz(-64_1) /= 6) call abort
-+ if (trailz(-64_2) /= 6) call abort
-+ if (trailz(-64_4) /= 6) call abort
-+ if (trailz(-64_8) /= 6) call abort
-+
-+ i1 = -108
-+ i2 = -108
-+ i4 = -108
-+ i8 = -108
-+
-+ if (leadz(i1) /= 0) call abort
-+ if (leadz(i2) /= 0) call abort
-+ if (leadz(i4) /= 0) call abort
-+ if (leadz(i8) /= 0) call abort
-+
-+ if (trailz(i1) /= 2) call abort
-+ if (trailz(i2) /= 2) call abort
-+ if (trailz(i4) /= 2) call abort
-+ if (trailz(i8) /= 2) call abort
-+
-+ if (leadz(-108_1) /= 0) call abort
-+ if (leadz(-108_2) /= 0) call abort
-+ if (leadz(-108_4) /= 0) call abort
-+ if (leadz(-108_8) /= 0) call abort
-+
-+ if (trailz(-108_1) /= 2) call abort
-+ if (trailz(-108_2) /= 2) call abort
-+ if (trailz(-108_4) /= 2) call abort
-+ if (trailz(-108_8) /= 2) call abort
-+
-+ i1 = 1
-+ i2 = 1
-+ i4 = 1
-+ i8 = 1
-+
-+ if (leadz(i1) /= bit_size(i1) - 1) call abort
-+ if (leadz(i2) /= bit_size(i2) - 1) call abort
-+ if (leadz(i4) /= bit_size(i4) - 1) call abort
-+ if (leadz(i8) /= bit_size(i8) - 1) call abort
-+
-+ if (trailz(i1) /= 0) call abort
-+ if (trailz(i2) /= 0) call abort
-+ if (trailz(i4) /= 0) call abort
-+ if (trailz(i8) /= 0) call abort
-+
-+ if (leadz(1_1) /= bit_size(1_1) - 1) call abort
-+ if (leadz(1_2) /= bit_size(1_2) - 1) call abort
-+ if (leadz(1_4) /= bit_size(1_4) - 1) call abort
-+ if (leadz(1_8) /= bit_size(1_8) - 1) call abort
-+
-+ if (trailz(1_1) /= 0) call abort
-+ if (trailz(1_2) /= 0) call abort
-+ if (trailz(1_4) /= 0) call abort
-+ if (trailz(1_8) /= 0) call abort
-+
-+ i1 = 64
-+ i2 = 64
-+ i4 = 64
-+ i8 = 64
-+
-+ if (leadz(i1) /= 1) call abort
-+ if (leadz(i2) /= 9) call abort
-+ if (leadz(i4) /= 25) call abort
-+ if (leadz(i8) /= 57) call abort
-+
-+ if (trailz(i1) /= 6) call abort
-+ if (trailz(i2) /= 6) call abort
-+ if (trailz(i4) /= 6) call abort
-+ if (trailz(i8) /= 6) call abort
-+
-+ if (leadz(64_1) /= 1) call abort
-+ if (leadz(64_2) /= 9) call abort
-+ if (leadz(64_4) /= 25) call abort
-+ if (leadz(64_8) /= 57) call abort
-+
-+ if (trailz(64_1) /= 6) call abort
-+ if (trailz(64_2) /= 6) call abort
-+ if (trailz(64_4) /= 6) call abort
-+ if (trailz(64_8) /= 6) call abort
-+
-+end
-Index: gcc/testsuite/gfortran.dg/vect/pr39318.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/vect/pr39318.f90 (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/testsuite/gfortran.dg/vect/pr39318.f90 (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/cp/typeck.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -260,6 +260,19 @@
- enum tree_code code2 = TREE_CODE (t2);
- tree attributes;
-
-+ /* In what follows, we slightly generalize the rules given in [expr] so
-+ as to deal with `long long' and `complex'. First, merge the
-+ attributes. */
-+ attributes = (*targetm.merge_type_attributes) (t1, t2);
-+
-+ if (SCOPED_ENUM_P (t1) || SCOPED_ENUM_P (t2))
-+ {
-+ if (TYPE_MAIN_VARIANT (t1) == TYPE_MAIN_VARIANT (t2))
-+ return build_type_attribute_variant (t1, attributes);
-+ else
-+ return NULL_TREE;
-+ }
-+
- /* FIXME: Attributes. */
- gcc_assert (ARITHMETIC_TYPE_P (t1)
- || TREE_CODE (t1) == VECTOR_TYPE
-@@ -268,11 +281,6 @@
- || TREE_CODE (t2) == VECTOR_TYPE
- || UNSCOPED_ENUM_P (t2));
-
-- /* In what follows, we slightly generalize the rules given in [expr] so
-- as to deal with `long long' and `complex'. First, merge the
-- attributes. */
-- attributes = (*targetm.merge_type_attributes) (t1, t2);
--
- /* If one type is complex, form the common type of the non-complex
- components, then make that complex. Use T1 or T2 if it is the
- required type. */
-@@ -1508,7 +1516,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");
-@@ -2437,6 +2445,10 @@
-
- if (processing_template_decl)
- {
-+ /* Retain the type if we know the operand is a pointer so that
-+ describable_type doesn't make auto deduction break. */
-+ if (TREE_TYPE (expr) && POINTER_TYPE_P (TREE_TYPE (expr)))
-+ return build_min (INDIRECT_REF, TREE_TYPE (TREE_TYPE (expr)), expr);
- if (type_dependent_expression_p (expr))
- return build_min_nt (INDIRECT_REF, expr);
- expr = build_non_dependent_expr (expr);
-@@ -3589,9 +3601,9 @@
-
- build_type = boolean_type_node;
- if ((code0 == INTEGER_TYPE || code0 == REAL_TYPE
-- || code0 == COMPLEX_TYPE)
-+ || code0 == COMPLEX_TYPE || code0 == ENUMERAL_TYPE)
- && (code1 == INTEGER_TYPE || code1 == REAL_TYPE
-- || code1 == COMPLEX_TYPE))
-+ || code1 == COMPLEX_TYPE || code1 == ENUMERAL_TYPE))
- short_compare = 1;
- else if ((code0 == POINTER_TYPE && code1 == POINTER_TYPE)
- || (TYPE_PTRMEM_P (type0) && TYPE_PTRMEM_P (type1)))
-@@ -3863,9 +3875,10 @@
- break;
- }
-
-- if (((code0 == INTEGER_TYPE || code0 == REAL_TYPE || code0 == COMPLEX_TYPE)
-+ if (((code0 == INTEGER_TYPE || code0 == REAL_TYPE || code0 == COMPLEX_TYPE
-+ || code0 == ENUMERAL_TYPE)
- && (code1 == INTEGER_TYPE || code1 == REAL_TYPE
-- || code1 == COMPLEX_TYPE)))
-+ || code1 == COMPLEX_TYPE || code1 == ENUMERAL_TYPE)))
- arithmetic_types_p = 1;
- else
- {
-@@ -5967,8 +5980,11 @@
-
- if (modifycode == INIT_EXPR)
- {
-- if (TREE_CODE (rhs) == CONSTRUCTOR)
-+ if (BRACE_ENCLOSED_INITIALIZER_P (rhs))
-+ /* Do the default thing. */;
-+ else if (TREE_CODE (rhs) == CONSTRUCTOR)
- {
-+ /* Compound literal. */
- if (! same_type_p (TREE_TYPE (rhs), lhstype))
- /* Call convert to generate an error; see PR 11063. */
- rhs = convert (lhstype, rhs);
-Index: gcc/cp/class.c
-===================================================================
---- gcc/cp/class.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/cp/class.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -6158,7 +6158,7 @@
-
- fn = TREE_PURPOSE (matches);
- for (match = TREE_CHAIN (matches); match; match = TREE_CHAIN (match))
-- if (!decls_match (fn, TREE_PURPOSE (matches)))
-+ if (!decls_match (fn, TREE_PURPOSE (match)))
- break;
-
- if (match)
-Index: gcc/cp/decl.c
-===================================================================
---- gcc/cp/decl.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/cp/decl.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -929,6 +929,17 @@
- tree p1 = TYPE_ARG_TYPES (f1);
- tree p2 = TYPE_ARG_TYPES (f2);
-
-+ /* Specializations of different templates are different functions
-+ even if they have the same type. */
-+ tree t1 = (DECL_USE_TEMPLATE (newdecl)
-+ ? DECL_TI_TEMPLATE (newdecl)
-+ : NULL_TREE);
-+ tree t2 = (DECL_USE_TEMPLATE (olddecl)
-+ ? DECL_TI_TEMPLATE (olddecl)
-+ : NULL_TREE);
-+ if (t1 != t2)
-+ return 0;
-+
- if (CP_DECL_CONTEXT (newdecl) != CP_DECL_CONTEXT (olddecl)
- && ! (DECL_EXTERN_C_P (newdecl)
- && DECL_EXTERN_C_P (olddecl)))
-@@ -5533,7 +5544,9 @@
- TREE_TYPE (decl) = error_mark_node;
- return;
- }
-- else if (describable_type (init))
-+ if (TREE_CODE (init) == TREE_LIST)
-+ init = build_x_compound_expr_from_list (init, "initializer");
-+ if (describable_type (init))
- {
- type = TREE_TYPE (decl) = do_auto_deduction (type, init, auto_node);
- if (type == error_mark_node)
-Index: gcc/cp/call.c
-===================================================================
---- gcc/cp/call.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/cp/call.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -240,7 +240,7 @@
- return false;
- }
-
-- if (!name)
-+ if (!name || name == error_mark_node)
- return false;
- return same_type_p (TYPE_MAIN_VARIANT (basetype), TYPE_MAIN_VARIANT (name));
- }
-@@ -1384,10 +1384,38 @@
- if (conv)
- return conv;
-
-- if (is_std_init_list (to) && expr
-- && BRACE_ENCLOSED_INITIALIZER_P (expr))
-- return build_list_conv (to, expr, flags);
-+ if (expr && BRACE_ENCLOSED_INITIALIZER_P (expr))
-+ {
-+ if (is_std_init_list (to))
-+ return build_list_conv (to, expr, flags);
-
-+ /* Allow conversion from an initializer-list with one element to a
-+ scalar type. */
-+ if (SCALAR_TYPE_P (to))
-+ {
-+ int nelts = CONSTRUCTOR_NELTS (expr);
-+ tree elt;
-+
-+ if (nelts == 0)
-+ elt = integer_zero_node;
-+ else if (nelts == 1)
-+ elt = CONSTRUCTOR_ELT (expr, 0)->value;
-+ else
-+ elt = error_mark_node;
-+
-+ conv = implicit_conversion (to, TREE_TYPE (elt), elt,
-+ c_cast_p, flags);
-+ if (conv)
-+ {
-+ conv->check_narrowing = true;
-+ if (BRACE_ENCLOSED_INITIALIZER_P (elt))
-+ /* Too many levels of braces, i.e. '{{1}}'. */
-+ conv->bad_p = true;
-+ return conv;
-+ }
-+ }
-+ }
-+
- if (expr != NULL_TREE
- && (MAYBE_CLASS_TYPE_P (from)
- || MAYBE_CLASS_TYPE_P (to))
-@@ -4069,8 +4097,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;
-@@ -4517,12 +4557,21 @@
-
- if (convs->bad_p
- && convs->kind != ck_user
-+ && convs->kind != ck_list
- && convs->kind != ck_ambig
- && convs->kind != ck_ref_bind
- && convs->kind != ck_rvalue
- && convs->kind != ck_base)
- {
- conversion *t = convs;
-+
-+ /* Give a helpful error if this is bad because of excess braces. */
-+ if (BRACE_ENCLOSED_INITIALIZER_P (expr)
-+ && SCALAR_TYPE_P (totype)
-+ && CONSTRUCTOR_NELTS (expr) > 0
-+ && BRACE_ENCLOSED_INITIALIZER_P (CONSTRUCTOR_ELT (expr, 0)->value))
-+ permerror (input_location, "too many braces around initializer for %qT", totype);
-+
- for (; t; t = convs->u.next)
- {
- if (t->kind == ck_user || !t->bad_p)
-@@ -4596,6 +4645,17 @@
- return expr;
- }
- case ck_identity:
-+ if (BRACE_ENCLOSED_INITIALIZER_P (expr))
-+ {
-+ int nelts = CONSTRUCTOR_NELTS (expr);
-+ if (nelts == 0)
-+ expr = integer_zero_node;
-+ else if (nelts == 1)
-+ expr = CONSTRUCTOR_ELT (expr, 0)->value;
-+ else
-+ gcc_unreachable ();
-+ }
-+
- if (type_unknown_p (expr))
- expr = instantiate_type (totype, expr, complain);
- /* Convert a constant to its underlying value, unless we are
-Index: gcc/cp/cvt.c
-===================================================================
---- gcc/cp/cvt.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/cp/cvt.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/cp/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,3 +1,99 @@
-+2009-06-24 Jason Merrill <jason@redhat.com>
-+
-+ PR c++/40342
-+ * decl.c (decls_match): Check DECL_TI_TEMPLATE too.
-+ * class.c (resolve_address_of_overloaded_function): Fix typo.
-+
-+2009-06-09 Jason Merrill <jason@redhat.com>
-+
-+ PR c++/40381
-+ * decl2.c (mark_used): Return after complaining about deleted fn.
-+
-+2009-06-08 Jason Merrill <jason@redhat.com>
-+
-+ * parser.c (cp_parser_type_id_1): 'auto' type is ok with a
-+ late-specified return type.
-+
-+2009-06-08 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR c++/40373
-+ * call.c (check_dtor_name): Return false even if
-+ get_type_value (name) is error_mark_node.
-+
-+ PR c++/40370
-+ PR c++/40372
-+ * parser.c (cp_parser_direct_declarator): Don't set TREE_SIDE_EFFECTS
-+ on error_mark_node. Check for VLAs outside of function context
-+ before check whether to wrap bounds into a NOP_EXPR with
-+ TREE_SIDE_EFFECTS.
-+
-+2009-06-02 Jason Merrill <jason@redhat.com>
-+
-+ PR c++/40308
-+ PR c++/40311
-+ * typeck.c (cp_build_modify_expr): Always pass init-lists to the
-+ conversion code.
-+ * call.c (implicit_conversion): Allow init-list conversion to scalar
-+ during direct-initialization, too. Mark the conversion bad if it
-+ has too many levels of braces.
-+ (convert_like_real): And give a helpful error.
-+
-+ PR c++/40306
-+ PR c++/40307
-+ * decl.c (cp_finish_decl): Handle auto deduction from ().
-+ * typeck.c (build_x_indirect_ref): Handle dereferencing an operand
-+ with dependent type that is known to be a pointer.
-+
-+2009-05-27 Jason Merrill <jason@redhat.com>
-+
-+ * call.c (implicit_conversion): Handle conversion from
-+ initializer-list to scalar.
-+ (convert_like_real): Likewise. Avoid crashing on list
-+ initialization with bad conversions.
-+
-+2009-05-22 Jason Merrill <jason@redhat.com>
-+
-+ PR c++/38064
-+ * typeck.c (cp_build_binary_op): Allow ENUMERAL_TYPE in
-+ arithmetic comparisons.
-+ (cp_common_type): Handle scoped enums.
-+
-+2009-05-16 Jason Merrill <jason@redhat.com>
-+
-+ PR c++/40139
-+ * semantics.c (finish_id_expression): Fix logic.
-+
-+2009-05-06 Dodji Seketeli <dodji@redhat.com>
-+
-+ PR c++/17395
-+ * pt.c (tsubst_copy) <case PARM_DECL>: We don't want to tsubst the
-+ whole list of PARM_DECLs, just the current one.
-+
-+2009-05-05 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR c++/40013
-+ * pt.c (tsubst): If magic NOP_EXPR with side-effects has no type,
-+ set it from its operand's type after tsubst_expr.
-+
-+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 149030)
-+++ gcc/cp/pt.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -9144,6 +9144,14 @@
-
- max = tsubst_expr (omax, args, complain, in_decl,
- /*integral_constant_expression_p=*/false);
-+
-+ /* Fix up type of the magic NOP_EXPR with TREE_SIDE_EFFECTS if
-+ needed. */
-+ if (TREE_CODE (max) == NOP_EXPR
-+ && TREE_SIDE_EFFECTS (omax)
-+ && !TREE_TYPE (max))
-+ TREE_TYPE (max) = TREE_TYPE (TREE_OPERAND (max, 0));
-+
- max = fold_decl_constant_value (max);
-
- /* If we're in a partial instantiation, preserve the magic NOP_EXPR
-@@ -9974,11 +9982,15 @@
-
- if (r == NULL)
- {
-+ tree c;
- /* This can happen for a parameter name used later in a function
- declaration (such as in a late-specified return type). Just
- make a dummy decl, since it's only used for its type. */
- gcc_assert (skip_evaluation);
-- r = tsubst_decl (t, args, complain);
-+ /* We copy T because want to tsubst the PARM_DECL only,
-+ not the following PARM_DECLs that are chained to T. */
-+ c = copy_node (t);
-+ r = tsubst_decl (c, args, complain);
- /* Give it the template pattern as its context; its true context
- hasn't been instantiated yet and this is good enough for
- mangling. */
-@@ -13532,6 +13544,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/semantics.c
-===================================================================
---- gcc/cp/semantics.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/cp/semantics.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -2838,16 +2838,16 @@
- done, address_p,
- template_p,
- template_arg_p);
-- else if (dependent_scope_p (scope))
-- decl = build_qualified_name (/*type=*/NULL_TREE,
-- scope,
-- id_expression,
-- template_p);
-- else if (DECL_P (decl))
-- decl = build_qualified_name (TREE_TYPE (decl),
-- scope,
-- id_expression,
-- template_p);
-+ else
-+ {
-+ tree type = NULL_TREE;
-+ if (DECL_P (decl) && !dependent_scope_p (scope))
-+ type = TREE_TYPE (decl);
-+ decl = build_qualified_name (type,
-+ scope,
-+ id_expression,
-+ template_p);
-+ }
- }
- if (TREE_TYPE (decl))
- decl = convert_from_reference (decl);
-Index: gcc/cp/decl2.c
-===================================================================
---- gcc/cp/decl2.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/cp/decl2.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -3809,6 +3809,7 @@
- {
- error ("deleted function %q+D", decl);
- error ("used here");
-+ return;
- }
- /* If we don't need a value, then we don't need to synthesize DECL. */
- if (skip_evaluation)
-Index: gcc/cp/parser.c
-===================================================================
---- gcc/cp/parser.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/cp/parser.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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);
-
-@@ -13290,13 +13296,6 @@
- &non_constant_p);
- if (!non_constant_p)
- bounds = fold_non_dependent_expr (bounds);
-- else if (processing_template_decl)
-- {
-- /* Remember this wasn't a constant-expression. */
-- bounds = build_nop (TREE_TYPE (bounds), bounds);
-- TREE_SIDE_EFFECTS (bounds) = 1;
-- }
--
- /* Normally, the array bound must be an integral constant
- expression. However, as an extension, we allow VLAs
- in function scopes. */
-@@ -13306,6 +13305,12 @@
- &token->location);
- bounds = error_mark_node;
- }
-+ else if (processing_template_decl && !error_operand_p (bounds))
-+ {
-+ /* Remember this wasn't a constant-expression. */
-+ bounds = build_nop (TREE_TYPE (bounds), bounds);
-+ TREE_SIDE_EFFECTS (bounds) = 1;
-+ }
- }
- else
- bounds = NULL_TREE;
-@@ -13803,8 +13808,17 @@
- if (type_specifier_seq.type
- && type_uses_auto (type_specifier_seq.type))
- {
-- error ("invalid use of %<auto%>");
-- return error_mark_node;
-+ /* A type-id with type 'auto' is only ok if the abstract declarator
-+ is a function declarator with a late-specified return type. */
-+ if (abstract_declarator
-+ && abstract_declarator->kind == cdk_function
-+ && abstract_declarator->u.function.late_return_type)
-+ /* OK */;
-+ else
-+ {
-+ error ("invalid use of %<auto%>");
-+ return error_mark_node;
-+ }
- }
-
- return groktypename (&type_specifier_seq, abstract_declarator,
-Index: gcc/tree-ssa-ccp.c
-===================================================================
---- gcc/tree-ssa-ccp.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/tree-ssa-ccp.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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/dojump.c
-===================================================================
---- gcc/dojump.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/dojump.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -141,7 +141,8 @@
- }
-
- /* Fill in the integers. */
-- XEXP (and_test, 1) = GEN_INT ((unsigned HOST_WIDE_INT) 1 << bitnum);
-+ XEXP (and_test, 1)
-+ = immed_double_const ((unsigned HOST_WIDE_INT) 1 << bitnum, 0, mode);
- XEXP (XEXP (shift_test, 0), 1) = GEN_INT (bitnum);
-
- return (rtx_cost (and_test, IF_THEN_ELSE, optimize_insn_for_speed_p ())
-@@ -475,10 +476,10 @@
- && prefer_and_bit_test (TYPE_MODE (argtype),
- TREE_INT_CST_LOW (shift)))
- {
-- HOST_WIDE_INT mask = (HOST_WIDE_INT) 1
-- << TREE_INT_CST_LOW (shift);
-+ unsigned HOST_WIDE_INT mask
-+ = (unsigned HOST_WIDE_INT) 1 << TREE_INT_CST_LOW (shift);
- do_jump (build2 (BIT_AND_EXPR, argtype, arg,
-- build_int_cst_type (argtype, mask)),
-+ build_int_cst_wide_type (argtype, mask, 0)),
- clr_label, set_label);
- break;
- }
-Index: gcc/dbxout.c
-===================================================================
---- gcc/dbxout.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/dbxout.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/ira-int.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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/cse.c
-===================================================================
---- gcc/cse.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/cse.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,6 +1,6 @@
- /* Common subexpression elimination for GNU compiler.
- Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998
-- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
- Free Software Foundation, Inc.
-
- This file is part of GCC.
-@@ -1658,7 +1658,7 @@
- {
- struct check_dependence_data *d = (struct check_dependence_data *) data;
- if (*x && MEM_P (*x))
-- return canon_true_dependence (d->exp, d->mode, d->addr, *x,
-+ return canon_true_dependence (d->exp, d->mode, d->addr, *x, NULL_RTX,
- cse_rtx_varies_p);
- else
- return 0;
-Index: gcc/ira-color.c
-===================================================================
---- gcc/ira-color.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/ira-color.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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/ipa-utils.h
-===================================================================
---- gcc/ipa-utils.h (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/ipa-utils.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -23,9 +23,6 @@
- #include "tree.h"
- #include "cgraph.h"
-
--/* Used for parsing attributes of asm code. */
--extern tree memory_identifier_string;
--
- struct ipa_dfs_info {
- int dfn_number;
- int low_link;
-Index: gcc/dwarf2out.c
-===================================================================
---- gcc/dwarf2out.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/dwarf2out.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -694,14 +694,15 @@
- *p = cfi;
- }
-
--/* Generate a new label for the CFI info to refer to. */
-+/* Generate a new label for the CFI info to refer to. FORCE is true
-+ if a label needs to be output even when using .cfi_* directives. */
-
- char *
--dwarf2out_cfi_label (void)
-+dwarf2out_cfi_label (bool force)
- {
- static char label[20];
-
-- if (dwarf2out_do_cfi_asm ())
-+ if (!force && dwarf2out_do_cfi_asm ())
- {
- /* In this case, we will be emitting the asm directive instead of
- the label, so just return a placeholder to keep the rest of the
-@@ -729,11 +730,59 @@
- {
- if (label)
- {
-+ dw_fde_ref fde = current_fde ();
-+
-+ gcc_assert (fde != NULL);
-+
-+ /* We still have to add the cfi to the list so that
-+ lookup_cfa works later on. When -g2 and above we
-+ even need to force emitting of CFI labels and
-+ add to list a DW_CFA_set_loc for convert_cfa_to_fb_loc_list
-+ purposes. */
-+ switch (cfi->dw_cfi_opc)
-+ {
-+ case DW_CFA_def_cfa_offset:
-+ case DW_CFA_def_cfa_offset_sf:
-+ case DW_CFA_def_cfa_register:
-+ case DW_CFA_def_cfa:
-+ case DW_CFA_def_cfa_sf:
-+ case DW_CFA_def_cfa_expression:
-+ case DW_CFA_restore_state:
-+ if (write_symbols != DWARF2_DEBUG
-+ && write_symbols != VMS_AND_DWARF2_DEBUG)
-+ break;
-+ if (debug_info_level <= DINFO_LEVEL_TERSE)
-+ break;
-+
-+ if (*label == 0 || strcmp (label, "<do not output>") == 0)
-+ label = dwarf2out_cfi_label (true);
-+
-+ if (fde->dw_fde_current_label == NULL
-+ || strcmp (label, fde->dw_fde_current_label) != 0)
-+ {
-+ dw_cfi_ref xcfi;
-+
-+ label = xstrdup (label);
-+
-+ /* Set the location counter to the new label. */
-+ xcfi = new_cfi ();
-+ /* It doesn't metter whether DW_CFA_set_loc
-+ or DW_CFA_advance_loc4 is added here, those aren't
-+ emitted into assembly, only looked up by
-+ convert_cfa_to_fb_loc_list. */
-+ xcfi->dw_cfi_opc = DW_CFA_set_loc;
-+ xcfi->dw_cfi_oprnd1.dw_cfi_addr = label;
-+ add_cfi (&fde->dw_fde_cfi, xcfi);
-+ fde->dw_fde_current_label = label;
-+ }
-+ break;
-+ default:
-+ break;
-+ }
-+
- output_cfi_directive (cfi);
-
-- /* We still have to add the cfi to the list so that
-- lookup_cfa works later on. */
-- list_head = ¤t_fde ()->dw_fde_cfi;
-+ list_head = &fde->dw_fde_cfi;
- }
- /* ??? If this is a CFI for the CIE, we don't emit. This
- assumes that the standard CIE contents that the assembler
-@@ -748,7 +797,7 @@
- gcc_assert (fde != NULL);
-
- if (*label == 0)
-- label = dwarf2out_cfi_label ();
-+ label = dwarf2out_cfi_label (false);
-
- if (fde->dw_fde_current_label == NULL
- || strcmp (label, fde->dw_fde_current_label) != 0)
-@@ -1464,7 +1513,7 @@
- if (offset == 0)
- return;
-
-- label = dwarf2out_cfi_label ();
-+ label = dwarf2out_cfi_label (false);
- dwarf2out_args_size_adjust (offset, label);
- }
-
-@@ -2417,7 +2466,7 @@
- return;
- }
-
-- label = dwarf2out_cfi_label ();
-+ label = dwarf2out_cfi_label (false);
- src = find_reg_note (insn, REG_FRAME_RELATED_EXPR, NULL_RTX);
- if (src)
- insn = XEXP (src, 0);
-@@ -2731,42 +2780,42 @@
- case DW_CFA_offset:
- case DW_CFA_offset_extended:
- case DW_CFA_offset_extended_sf:
-- r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 0);
-+ r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 1);
- fprintf (asm_out_file, "\t.cfi_offset %lu, "HOST_WIDE_INT_PRINT_DEC"\n",
- r, cfi->dw_cfi_oprnd2.dw_cfi_offset);
- break;
-
- case DW_CFA_restore:
- case DW_CFA_restore_extended:
-- r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 0);
-+ r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 1);
- fprintf (asm_out_file, "\t.cfi_restore %lu\n", r);
- break;
-
- case DW_CFA_undefined:
-- r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 0);
-+ r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 1);
- fprintf (asm_out_file, "\t.cfi_undefined %lu\n", r);
- break;
-
- case DW_CFA_same_value:
-- r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 0);
-+ r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 1);
- fprintf (asm_out_file, "\t.cfi_same_value %lu\n", r);
- break;
-
- case DW_CFA_def_cfa:
- case DW_CFA_def_cfa_sf:
-- r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 0);
-+ r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 1);
- fprintf (asm_out_file, "\t.cfi_def_cfa %lu, "HOST_WIDE_INT_PRINT_DEC"\n",
- r, cfi->dw_cfi_oprnd2.dw_cfi_offset);
- break;
-
- case DW_CFA_def_cfa_register:
-- r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 0);
-+ r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 1);
- fprintf (asm_out_file, "\t.cfi_def_cfa_register %lu\n", r);
- break;
-
- case DW_CFA_register:
-- r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 0);
-- r2 = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd2.dw_cfi_reg_num, 0);
-+ r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 1);
-+ r2 = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd2.dw_cfi_reg_num, 1);
- fprintf (asm_out_file, "\t.cfi_register %lu, %lu\n", r, r2);
- break;
-
-@@ -14646,6 +14695,12 @@
- /* Prevent broken recursion; we can't hand off to the same type. */
- gcc_assert (DECL_ORIGINAL_TYPE (TYPE_NAME (type)) != type);
-
-+ /* Use the DIE of the containing namespace as the parent DIE of
-+ the type description DIE we want to generate. */
-+ if (DECL_CONTEXT (TYPE_NAME (type))
-+ && TREE_CODE (DECL_CONTEXT (TYPE_NAME (type))) == NAMESPACE_DECL)
-+ context_die = lookup_decl_die (DECL_CONTEXT (TYPE_NAME (type)));
-+
- TREE_ASM_WRITTEN (type) = 1;
- gen_decl_die (TYPE_NAME (type), NULL, context_die);
- return;
-Index: gcc/expr.c
-===================================================================
---- gcc/expr.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/expr.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -8257,7 +8257,8 @@
- /* If neither mode is BLKmode, and both modes are the same size
- then we can use gen_lowpart. */
- else if (mode != BLKmode && GET_MODE (op0) != BLKmode
-- && GET_MODE_SIZE (mode) == GET_MODE_SIZE (GET_MODE (op0)))
-+ && GET_MODE_SIZE (mode) == GET_MODE_SIZE (GET_MODE (op0))
-+ && !COMPLEX_MODE_P (GET_MODE (op0)))
- {
- if (GET_CODE (op0) == SUBREG)
- op0 = force_reg (GET_MODE (op0), op0);
-Index: gcc/ada/system-aix64.ads
-===================================================================
---- gcc/ada/system-aix64.ads (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/ada/system-aix64.ads (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,155 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME COMPONENTS --
-+-- --
-+-- S Y S T E M --
-+-- --
-+-- S p e c --
-+-- (PPC/AIX64 Version) --
-+-- --
-+-- Copyright (C) 2009, Free Software Foundation, Inc. --
-+-- --
-+-- This specification is derived from the Ada Reference Manual for use with --
-+-- GNAT. The copyright notice above, and the license provisions that follow --
-+-- apply solely to the contents of the part following the private keyword. --
-+-- --
-+-- 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- --
-+-- ware Foundation; either version 3, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-+-- or FITNESS FOR A PARTICULAR PURPOSE. --
-+-- --
-+-- As a special exception under Section 7 of GPL version 3, you are granted --
-+-- additional permissions described in the GCC Runtime Library Exception, --
-+-- version 3.1, as published by the Free Software Foundation. --
-+-- --
-+-- You should have received a copy of the GNU General Public License and --
-+-- a copy of the GCC Runtime Library Exception along with this program; --
-+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-+-- <http://www.gnu.org/licenses/>. --
-+-- --
-+-- GNAT was originally developed by the GNAT team at New York University. --
-+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-+-- --
-+------------------------------------------------------------------------------
-+
-+package System is
-+ pragma Pure;
-+ -- Note that we take advantage of the implementation permission to make
-+ -- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-+ -- 2005, this is Pure in any case (AI-362).
-+
-+ type Name is (SYSTEM_NAME_GNAT);
-+ System_Name : constant Name := SYSTEM_NAME_GNAT;
-+
-+ -- System-Dependent Named Numbers
-+
-+ Min_Int : constant := Long_Long_Integer'First;
-+ Max_Int : constant := Long_Long_Integer'Last;
-+
-+ Max_Binary_Modulus : constant := 2 ** Long_Long_Integer'Size;
-+ Max_Nonbinary_Modulus : constant := 2 ** Integer'Size - 1;
-+
-+ Max_Base_Digits : constant := Long_Long_Float'Digits;
-+ Max_Digits : constant := Long_Long_Float'Digits;
-+
-+ Max_Mantissa : constant := 63;
-+ Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
-+
-+ Tick : constant := 0.01;
-+
-+ -- Storage-related Declarations
-+
-+ type Address is private;
-+ pragma Preelaborable_Initialization (Address);
-+ Null_Address : constant Address;
-+
-+ Storage_Unit : constant := 8;
-+ Word_Size : constant := 64;
-+ Memory_Size : constant := 2 ** 64;
-+
-+ -- Address comparison
-+
-+ function "<" (Left, Right : Address) return Boolean;
-+ function "<=" (Left, Right : Address) return Boolean;
-+ function ">" (Left, Right : Address) return Boolean;
-+ function ">=" (Left, Right : Address) return Boolean;
-+ function "=" (Left, Right : Address) return Boolean;
-+
-+ pragma Import (Intrinsic, "<");
-+ pragma Import (Intrinsic, "<=");
-+ pragma Import (Intrinsic, ">");
-+ pragma Import (Intrinsic, ">=");
-+ pragma Import (Intrinsic, "=");
-+
-+ -- Other System-Dependent Declarations
-+
-+ type Bit_Order is (High_Order_First, Low_Order_First);
-+ Default_Bit_Order : constant Bit_Order := High_Order_First;
-+ pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning
-+
-+ -- Priority-related Declarations (RM D.1)
-+
-+ -- 0 .. 126 corresponds to the system priority range 1 .. 127.
-+ --
-+ -- If the scheduling policy is SCHED_FIFO or SCHED_RR the runtime makes use
-+ -- of the entire range provided by the system.
-+ --
-+ -- If the scheduling policy is SCHED_OTHER the only valid system priority
-+ -- is 1 and that is the only value ever passed to the system, regardless of
-+ -- how priorities are set by user programs.
-+
-+ Max_Priority : constant Positive := 125;
-+ Max_Interrupt_Priority : constant Positive := 126;
-+
-+ subtype Any_Priority is Integer range 0 .. 126;
-+ subtype Priority is Any_Priority range 0 .. 125;
-+ subtype Interrupt_Priority is Any_Priority range 126 .. 126;
-+
-+ Default_Priority : constant Priority :=
-+ (Priority'First + Priority'Last) / 2;
-+
-+private
-+
-+ type Address is mod Memory_Size;
-+ Null_Address : constant Address := 0;
-+
-+ --------------------------------------
-+ -- System Implementation Parameters --
-+ --------------------------------------
-+
-+ -- These parameters provide information about the target that is used
-+ -- by the compiler. They are in the private part of System, where they
-+ -- can be accessed using the special circuitry in the Targparm unit
-+ -- whose source should be consulted for more detailed descriptions
-+ -- of the individual switch values.
-+
-+ Backend_Divide_Checks : constant Boolean := False;
-+ Backend_Overflow_Checks : constant Boolean := True;
-+ Command_Line_Args : constant Boolean := True;
-+ Configurable_Run_Time : constant Boolean := False;
-+ Denorm : constant Boolean := True;
-+ Duration_32_Bits : constant Boolean := False;
-+ Exit_Status_Supported : constant Boolean := True;
-+ Fractional_Fixed_Ops : constant Boolean := False;
-+ Frontend_Layout : constant Boolean := False;
-+ Machine_Overflows : constant Boolean := False;
-+ Machine_Rounds : constant Boolean := True;
-+ Preallocated_Stacks : constant Boolean := False;
-+ Signed_Zeros : constant Boolean := True;
-+ Stack_Check_Default : constant Boolean := False;
-+ Stack_Check_Probes : constant Boolean := True;
-+ Stack_Check_Limits : constant Boolean := False;
-+ Support_64_Bit_Divides : constant Boolean := True;
-+ Support_Aggregates : constant Boolean := True;
-+ Support_Composite_Assign : constant Boolean := True;
-+ Support_Composite_Compare : constant Boolean := True;
-+ Support_Long_Shifts : constant Boolean := True;
-+ Always_Compatible_Rep : constant Boolean := True;
-+ Suppress_Standard_Library : constant Boolean := False;
-+ Use_Ada_Main_Program_Name : constant Boolean := False;
-+ ZCX_By_Default : constant Boolean := False;
-+ GCC_ZCX_Support : constant Boolean := True; -- Post GCC 4 only
-+
-+end System;
-Index: gcc/ada/ChangeLog
-===================================================================
---- gcc/ada/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/ada/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,3 +1,20 @@
-+2009-06-18 Olivier Hainque <hainque@adacore.com>
-+
-+ * system-aix64.ads: New file.
-+ * gcc-interface/Makefile.in (aix LIBGNAT_TARGET_PAIRS): Use the
-+ 64bit system.ads for ppc64 multilib variants.
-+
-+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 +1266,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 149030)
-+++ gcc/ada/gcc-interface/utils.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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/Makefile.in
-===================================================================
---- gcc/ada/gcc-interface/Makefile.in (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/ada/gcc-interface/Makefile.in (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1103,7 +1103,7 @@
- endif
-
- ifeq ($(strip $(filter-out ibm aix%,$(manu) $(osys))),)
-- LIBGNAT_TARGET_PAIRS = \
-+ LIBGNAT_TARGET_PAIRS_COMMON = \
- a-intnam.ads<a-intnam-aix.ads \
- s-inmaop.adb<s-inmaop-posix.adb \
- s-intman.adb<s-intman-posix.adb \
-@@ -1112,9 +1112,25 @@
- s-osprim.adb<s-osprim-posix.adb \
- s-taprop.adb<s-taprop-posix.adb \
- s-taspri.ads<s-taspri-posix.ads \
-- s-tpopsp.adb<s-tpopsp-posix.adb \
-+ s-tpopsp.adb<s-tpopsp-posix.adb
-+
-+ LIBGNAT_TARGET_PAIRS_32 = \
- system.ads<system-aix.ads
-
-+ LIBGNAT_TARGET_PAIRS_64 = \
-+ system.ads<system-aix64.ads
-+
-+ ifeq ($(findstring ppc64, \
-+ $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) \
-+ -print-multi-os-directory)), \
-+ ppc64)
-+ LIBGNAT_TARGET_PAIRS = \
-+ $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64)
-+ else
-+ LIBGNAT_TARGET_PAIRS = \
-+ $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_32)
-+ endif
-+
- THREADSLIB = -lpthreads
- PREFIX_OBJS=$(PREFIX_REAL_OBJS)
-
-Index: gcc/ada/gcc-interface/utils2.c
-===================================================================
---- gcc/ada/gcc-interface/utils2.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/ada/gcc-interface/utils2.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-@@ -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 149030)
-@@ -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 149030)
-@@ -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 149030)
-@@ -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 149030)
-@@ -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 149030)
-@@ -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 149030)
-@@ -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 149030)
-@@ -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/dse.c
-===================================================================
---- gcc/dse.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/dse.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -223,7 +223,7 @@
- /* This canonized mem. */
- rtx mem;
-
-- /* The result of get_addr on mem. */
-+ /* Canonized MEM address for use by canon_true_dependence. */
- rtx mem_addr;
-
- /* If this is non-zero, it is the alias set of a spill location. */
-@@ -476,8 +476,8 @@
- do read dependency. */
- rtx base_mem;
-
-- /* Canonized version of base_mem, most likely the same thing. */
-- rtx canon_base_mem;
-+ /* Canonized version of base_mem's address. */
-+ rtx canon_base_addr;
-
- /* These two sets of two bitmaps are used to keep track of how many
- stores are actually referencing that position from this base. We
-@@ -705,7 +705,7 @@
- gi->rtx_base = base;
- gi->id = rtx_group_next_id++;
- gi->base_mem = gen_rtx_MEM (QImode, base);
-- gi->canon_base_mem = canon_rtx (gi->base_mem);
-+ gi->canon_base_addr = canon_rtx (base);
- gi->store1_n = BITMAP_ALLOC (NULL);
- gi->store1_p = BITMAP_ALLOC (NULL);
- gi->store2_n = BITMAP_ALLOC (NULL);
-@@ -1286,7 +1286,7 @@
- static int
- record_store (rtx body, bb_info_t bb_info)
- {
-- rtx mem, rhs, const_rhs;
-+ rtx mem, rhs, const_rhs, mem_addr;
- HOST_WIDE_INT offset = 0;
- HOST_WIDE_INT width = 0;
- alias_set_type spill_alias_set;
-@@ -1456,6 +1456,23 @@
- ptr = active_local_stores;
- last = NULL;
- redundant_reason = NULL;
-+ mem = canon_rtx (mem);
-+ /* For alias_set != 0 canon_true_dependence should be never called. */
-+ if (spill_alias_set)
-+ mem_addr = NULL_RTX;
-+ else
-+ {
-+ if (group_id < 0)
-+ mem_addr = base->val_rtx;
-+ else
-+ {
-+ group_info_t group
-+ = VEC_index (group_info_t, rtx_group_vec, group_id);
-+ mem_addr = group->canon_base_addr;
-+ }
-+ if (offset)
-+ mem_addr = plus_constant (mem_addr, offset);
-+ }
-
- while (ptr)
- {
-@@ -1547,13 +1564,13 @@
- if (canon_true_dependence (s_info->mem,
- GET_MODE (s_info->mem),
- s_info->mem_addr,
-- mem, rtx_varies_p))
-+ mem, mem_addr, rtx_varies_p))
- {
- s_info->rhs = NULL;
- s_info->const_rhs = NULL;
- }
- }
--
-+
- /* An insn can be deleted if every position of every one of
- its s_infos is zero. */
- if (any_positions_needed_p (s_info)
-@@ -1580,9 +1597,9 @@
- /* Finish filling in the store_info. */
- store_info->next = insn_info->store_rec;
- insn_info->store_rec = store_info;
-- store_info->mem = canon_rtx (mem);
-+ store_info->mem = mem;
- store_info->alias_set = spill_alias_set;
-- store_info->mem_addr = get_addr (XEXP (mem, 0));
-+ store_info->mem_addr = mem_addr;
- store_info->cse_base = base;
- if (width > HOST_BITS_PER_WIDE_INT)
- {
-@@ -2006,7 +2023,7 @@
- static int
- check_mem_read_rtx (rtx *loc, void *data)
- {
-- rtx mem = *loc;
-+ rtx mem = *loc, mem_addr;
- bb_info_t bb_info;
- insn_info_t insn_info;
- HOST_WIDE_INT offset = 0;
-@@ -2058,6 +2075,22 @@
- read_info->end = offset + width;
- read_info->next = insn_info->read_rec;
- insn_info->read_rec = read_info;
-+ /* For alias_set != 0 canon_true_dependence should be never called. */
-+ if (spill_alias_set)
-+ mem_addr = NULL_RTX;
-+ else
-+ {
-+ if (group_id < 0)
-+ mem_addr = base->val_rtx;
-+ else
-+ {
-+ group_info_t group
-+ = VEC_index (group_info_t, rtx_group_vec, group_id);
-+ mem_addr = group->canon_base_addr;
-+ }
-+ if (offset)
-+ mem_addr = plus_constant (mem_addr, offset);
-+ }
-
- /* We ignore the clobbers in store_info. The is mildly aggressive,
- but there really should not be a clobber followed by a read. */
-@@ -2128,7 +2161,7 @@
- = canon_true_dependence (store_info->mem,
- GET_MODE (store_info->mem),
- store_info->mem_addr,
-- mem, rtx_varies_p);
-+ mem, mem_addr, rtx_varies_p);
-
- else if (group_id == store_info->group_id)
- {
-@@ -2139,7 +2172,7 @@
- = canon_true_dependence (store_info->mem,
- GET_MODE (store_info->mem),
- store_info->mem_addr,
-- mem, rtx_varies_p);
-+ mem, mem_addr, rtx_varies_p);
-
- /* If this read is just reading back something that we just
- stored, rewrite the read. */
-@@ -2212,6 +2245,7 @@
- if (store_info->rhs
- && store_info->group_id == -1
- && store_info->cse_base == base
-+ && width != -1
- && offset >= store_info->begin
- && offset + width <= store_info->end
- && all_positions_needed_p (store_info,
-@@ -2224,7 +2258,7 @@
- remove = canon_true_dependence (store_info->mem,
- GET_MODE (store_info->mem),
- store_info->mem_addr,
-- mem, rtx_varies_p);
-+ mem, mem_addr, rtx_varies_p);
-
- if (remove)
- {
-@@ -3066,8 +3100,9 @@
- if ((read_info->group_id < 0)
- && canon_true_dependence (group->base_mem,
- QImode,
-- group->canon_base_mem,
-- read_info->mem, rtx_varies_p))
-+ group->canon_base_addr,
-+ read_info->mem, NULL_RTX,
-+ rtx_varies_p))
- {
- if (kill)
- bitmap_ior_into (kill, group->group_kill);
-Index: gcc/fortran/trans-expr.c
-===================================================================
---- gcc/fortran/trans-expr.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/fortran/trans-expr.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1526,48 +1526,6 @@
- }
-
-
--/* Translate the call for an elemental subroutine call used in an operator
-- assignment. This is a simplified version of gfc_conv_function_call. */
--
--tree
--gfc_conv_operator_assign (gfc_se *lse, gfc_se *rse, gfc_symbol *sym)
--{
-- tree args;
-- tree tmp;
-- gfc_se se;
-- stmtblock_t block;
--
-- /* Only elemental subroutines with two arguments. */
-- gcc_assert (sym->attr.elemental && sym->attr.subroutine);
-- gcc_assert (sym->formal->next->next == NULL);
--
-- gfc_init_block (&block);
--
-- gfc_add_block_to_block (&block, &lse->pre);
-- gfc_add_block_to_block (&block, &rse->pre);
--
-- /* Build the argument list for the call, including hidden string lengths. */
-- args = gfc_chainon_list (NULL_TREE, build_fold_addr_expr (lse->expr));
-- args = gfc_chainon_list (args, build_fold_addr_expr (rse->expr));
-- if (lse->string_length != NULL_TREE)
-- args = gfc_chainon_list (args, lse->string_length);
-- if (rse->string_length != NULL_TREE)
-- args = gfc_chainon_list (args, rse->string_length);
--
-- /* Build the function call. */
-- gfc_init_se (&se, NULL);
-- gfc_conv_function_val (&se, sym);
-- tmp = TREE_TYPE (TREE_TYPE (TREE_TYPE (se.expr)));
-- tmp = build_call_list (tmp, se.expr, args);
-- gfc_add_expr_to_block (&block, tmp);
--
-- gfc_add_block_to_block (&block, &lse->post);
-- gfc_add_block_to_block (&block, &rse->post);
--
-- return gfc_finish_block (&block);
--}
--
--
- /* Initialize MAPPING. */
-
- void
-@@ -2782,7 +2740,18 @@
- break;
- }
-
-+ if (e->expr_type == EXPR_OP
-+ && e->value.op.op == INTRINSIC_PARENTHESES
-+ && e->value.op.op1->expr_type == EXPR_VARIABLE)
-+ {
-+ tree local_tmp;
-+ local_tmp = gfc_evaluate_now (tmp, &se->pre);
-+ local_tmp = gfc_copy_alloc_comp (e->ts.derived, local_tmp, tmp, parm_rank);
-+ gfc_add_expr_to_block (&se->post, local_tmp);
-+ }
-+
- tmp = gfc_deallocate_alloc_comp (e->ts.derived, tmp, parm_rank);
-+
- gfc_add_expr_to_block (&se->post, tmp);
- }
-
-@@ -4430,11 +4399,14 @@
- len = fold_build2 (MULT_EXPR, gfc_array_index_type, len,
- fold_convert (gfc_array_index_type, tmp));
-
-- /* Convert arguments to the correct types. */
-+ /* If we are zeroing a local array avoid taking its address by emitting
-+ a = {} instead. */
- if (!POINTER_TYPE_P (TREE_TYPE (dest)))
-- dest = gfc_build_addr_expr (pvoid_type_node, dest);
-- else
-- dest = fold_convert (pvoid_type_node, dest);
-+ return build2 (MODIFY_EXPR, void_type_node,
-+ dest, build_constructor (TREE_TYPE (dest), NULL));
-+
-+ /* Convert arguments to the correct types. */
-+ dest = fold_convert (pvoid_type_node, dest);
- len = fold_convert (size_type_node, len);
-
- /* Construct call to __builtin_memset. */
-Index: gcc/fortran/trans-array.c
-===================================================================
---- gcc/fortran/trans-array.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/fortran/trans-array.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1246,10 +1246,11 @@
- gfc_init_se (&se, NULL);
- gfc_conv_constant (&se, p->expr);
-
-+ if (c->expr->ts.type != BT_CHARACTER)
-+ se.expr = fold_convert (type, se.expr);
- /* For constant character array constructors we build
- an array of pointers. */
-- if (p->expr->ts.type == BT_CHARACTER
-- && POINTER_TYPE_P (type))
-+ else if (POINTER_TYPE_P (type))
- se.expr = gfc_build_addr_expr
- (gfc_get_pchar_type (p->expr->ts.kind),
- se.expr);
-@@ -1618,7 +1619,9 @@
- {
- gfc_init_se (&se, NULL);
- gfc_conv_constant (&se, c->expr);
-- if (c->expr->ts.type == BT_CHARACTER && POINTER_TYPE_P (type))
-+ if (c->expr->ts.type != BT_CHARACTER)
-+ se.expr = fold_convert (type, se.expr);
-+ else if (POINTER_TYPE_P (type))
- se.expr = gfc_build_addr_expr (gfc_get_pchar_type (c->expr->ts.kind),
- se.expr);
- list = tree_cons (build_int_cst (gfc_array_index_type, nelem),
-Index: gcc/fortran/ChangeLog
-===================================================================
---- gcc/fortran/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/fortran/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,3 +1,99 @@
-+2009-06-20 Paul Thomas <pault@gcc.gnu.org>
-+
-+ PR fortran/39800
-+ * resolve.c (is_sym_host_assoc): New function.
-+ (resolve_fl_derived): Call it when checking PRIVATE components
-+ of PUBLIC derived types. Change gfc_error to a gfc_notify_std
-+ with std=f2003.
-+ (resolve_fl_namelist): Call it twice to check for host
-+ association.
-+
-+2009-06-20 Paul Thomas <pault@gcc.gnu.org>
-+
-+ PR fortran/40402
-+ * resolve.c (next_data_value): It is an error if the value is
-+ not constant.
-+
-+2009-06-14 Richard Guenther <rguenther@suse.de>
-+
-+ Backport from mainline
-+ 2009-05-18 Richard Guenther <rguenther@suse.de>
-+
-+ PR fortran/40168
-+ * trans-expr.c (gfc_trans_zero_assign): For local array
-+ destinations use an assignment from an empty constructor.
-+
-+2009-06-04 Steven G. Kargl <kargl@gcc.gnu.org>
-+
-+ PR fortran/39893
-+ fortran/data.c (gfc_assign_data_value): If the lvalue is an
-+ assumed character length entity in a data statement, then
-+ return FAILURE to prevent segmentation fault.
-+
-+2009-06-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-+
-+ PR fortran/40019
-+ * trans-types.c (gfc_build_uint_type): Make nonstatic.
-+ * trans.h (gfor_fndecl_clz128, gfor_fndecl_ctz128): New prototypes.
-+ * trans-types.h (gfc_build_uint_type): Add prototype.
-+ * trans-decl.c (gfc_build_intrinsic_function_decls): Build
-+ gfor_fndecl_clz128 and gfor_fndecl_ctz128.
-+ * trans-intrinsic.c (gfc_conv_intrinsic_leadz,
-+ gfc_conv_intrinsic_trailz): Call the right builtins or library
-+ functions, and cast arguments to unsigned types first.
-+ * simplify.c (gfc_simplify_leadz): Deal with negative arguments.
-+
-+2009-05-22 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-+
-+ PR fortran/40195
-+ * module.c (read_md5_from_module_file): Close file before returning.
-+
-+2009-05-10 Paul Thomas <pault@gcc.gnu.org>
-+
-+ Backport from mainline:
-+ PR fortran/40018
-+ * trans-array.c (gfc_trans_array_constructor_value): Fold
-+ convert numeric constants.
-+ (gfc_build_constant_array_constructor): The same.
-+
-+2009-05-10 Paul Thomas <pault@gcc.gnu.org>
-+
-+ Backport from mainline:
-+ PR fortran/38863
-+ * trans-expr.c (gfc_conv_operator_assign): Remove function.
-+ * trans.h : Remove prototype for gfc_conv_operator_assign.
-+ * trans-stmt.c (gfc_conv_elemental_dependencies): Initialize
-+ derivde types with intent(out).
-+ (gfc_trans_call): Add mask, count1 and invert arguments. Add
-+ code to use mask for WHERE assignments.
-+ (gfc_trans_forall_1): Use new arguments for gfc_trans_call.
-+ (gfc_trans_where_assign): The gfc_symbol argument is replaced
-+ by the corresponding code. If this has a resolved_sym, then
-+ gfc_trans_call is called. The call to gfc_conv_operator_assign
-+ is removed.
-+ (gfc_trans_where_2): Change the last argument in the call to
-+ gfc_trans_where_assign.
-+ * trans-stmt.h : Modify prototype for gfc_trans_call.
-+ * trans.c (gfc_trans_code): Use new args for gfc_trans_call.
-+
-+2009-05-10 Paul Thomas <pault@gcc.gnu.org>
-+
-+ Backport from mainline:
-+ PR fortran/39879
-+ * trans_expr.c (gfc_conv_procedure_call): Deep copy a derived
-+ type parentheses argument if it is a variable with allocatable
-+ components.
-+
-+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/data.c
-===================================================================
---- gcc/fortran/data.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/fortran/data.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -416,7 +416,11 @@
- }
-
- if (ref || last_ts->type == BT_CHARACTER)
-- expr = create_character_intializer (init, last_ts, ref, rvalue);
-+ {
-+ if (lvalue->ts.cl->length == NULL && !(ref && ref->u.ss.length != NULL))
-+ return FAILURE;
-+ expr = create_character_intializer (init, last_ts, ref, rvalue);
-+ }
- else
- {
- /* Overwriting an existing initializer is non-standard but usually only
-Index: gcc/fortran/trans-stmt.c
-===================================================================
---- gcc/fortran/trans-stmt.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/fortran/trans-stmt.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -270,9 +270,11 @@
- gfc_conv_expr_descriptor (&parmse, e, gfc_walk_expr (e));
- gfc_add_block_to_block (&se->pre, &parmse.pre);
-
-- /* If we've got INTENT(INOUT), initialize the array temporary with
-- a copy of the values. */
-- if (fsym->attr.intent == INTENT_INOUT)
-+ /* If we've got INTENT(INOUT) or a derived type with INTENT(OUT),
-+ initialize the array temporary with a copy of the values. */
-+ if (fsym->attr.intent == INTENT_INOUT
-+ || (fsym->ts.type ==BT_DERIVED
-+ && fsym->attr.intent == INTENT_OUT))
- initial = parmse.expr;
- else
- initial = NULL_TREE;
-@@ -332,12 +334,16 @@
- /* Translate the CALL statement. Builds a call to an F95 subroutine. */
-
- tree
--gfc_trans_call (gfc_code * code, bool dependency_check)
-+gfc_trans_call (gfc_code * code, bool dependency_check,
-+ tree mask, tree count1, bool invert)
- {
- gfc_se se;
- gfc_ss * ss;
- int has_alternate_specifier;
- gfc_dep_check check_variable;
-+ tree index = NULL_TREE;
-+ tree maskexpr = NULL_TREE;
-+ tree tmp;
-
- /* A CALL starts a new block because the actual arguments may have to
- be evaluated first. */
-@@ -429,11 +435,32 @@
- gfc_start_scalarized_body (&loop, &body);
- gfc_init_block (&block);
-
-+ if (mask && count1)
-+ {
-+ /* Form the mask expression according to the mask. */
-+ index = count1;
-+ maskexpr = gfc_build_array_ref (mask, index, NULL);
-+ if (invert)
-+ maskexpr = fold_build1 (TRUTH_NOT_EXPR, TREE_TYPE (maskexpr),
-+ maskexpr);
-+ }
-+
- /* Add the subroutine call to the block. */
-- gfc_conv_function_call (&loopse, code->resolved_sym, code->ext.actual,
-- NULL_TREE);
-- gfc_add_expr_to_block (&loopse.pre, loopse.expr);
-+ gfc_conv_function_call (&loopse, code->resolved_sym,
-+ code->ext.actual, NULL_TREE);
-
-+ if (mask && count1)
-+ {
-+ tmp = build3_v (COND_EXPR, maskexpr, loopse.expr,
-+ build_empty_stmt ());
-+ gfc_add_expr_to_block (&loopse.pre, tmp);
-+ tmp = fold_build2 (PLUS_EXPR, gfc_array_index_type,
-+ count1, gfc_index_one_node);
-+ gfc_add_modify (&loopse.pre, count1, tmp);
-+ }
-+ else
-+ gfc_add_expr_to_block (&loopse.pre, loopse.expr);
-+
- gfc_add_block_to_block (&block, &loopse.pre);
- gfc_add_block_to_block (&block, &loopse.post);
-
-@@ -2981,7 +3008,7 @@
- /* Explicit subroutine calls are prevented by the frontend but interface
- assignments can legitimately produce them. */
- case EXEC_ASSIGN_CALL:
-- assign = gfc_trans_call (c, true);
-+ assign = gfc_trans_call (c, true, NULL_TREE, NULL_TREE, false);
- tmp = gfc_trans_nested_forall_loop (nested_forall_info, assign, 1);
- gfc_add_expr_to_block (&block, tmp);
- break;
-@@ -3176,7 +3203,7 @@
- gfc_trans_where_assign (gfc_expr *expr1, gfc_expr *expr2,
- tree mask, bool invert,
- tree count1, tree count2,
-- gfc_symbol *sym)
-+ gfc_code *cnext)
- {
- gfc_se lse;
- gfc_se rse;
-@@ -3190,6 +3217,10 @@
- stmtblock_t body;
- tree index, maskexpr;
-
-+ /* A defined assignment. */
-+ if (cnext && cnext->resolved_sym)
-+ return gfc_trans_call (cnext, true, mask, count1, invert);
-+
- #if 0
- /* TODO: handle this special case.
- Special case a single function returning an array. */
-@@ -3291,11 +3322,8 @@
- maskexpr = fold_build1 (TRUTH_NOT_EXPR, TREE_TYPE (maskexpr), maskexpr);
-
- /* Use the scalar assignment as is. */
-- if (sym == NULL)
-- tmp = gfc_trans_scalar_assign (&lse, &rse, expr1->ts,
-- loop.temp_ss != NULL, false);
-- else
-- tmp = gfc_conv_operator_assign (&lse, &rse, sym);
-+ tmp = gfc_trans_scalar_assign (&lse, &rse, expr1->ts,
-+ loop.temp_ss != NULL, false);
-
- tmp = build3_v (COND_EXPR, maskexpr, tmp, build_empty_stmt ());
-
-@@ -3562,7 +3590,7 @@
- tmp = gfc_trans_where_assign (expr1, expr2,
- cmask, invert,
- count1, count2,
-- cnext->resolved_sym);
-+ cnext);
-
- tmp = gfc_trans_nested_forall_loop (nested_forall_info,
- tmp, 1);
-@@ -3580,7 +3608,7 @@
- tmp = gfc_trans_where_assign (expr1, expr2,
- cmask, invert,
- count1, count2,
-- cnext->resolved_sym);
-+ cnext);
- gfc_add_expr_to_block (block, tmp);
-
- }
-Index: gcc/fortran/trans-stmt.h
-===================================================================
---- gcc/fortran/trans-stmt.h (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/fortran/trans-stmt.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -39,7 +39,7 @@
- tree gfc_trans_entry (gfc_code *);
- tree gfc_trans_pause (gfc_code *);
- tree gfc_trans_stop (gfc_code *);
--tree gfc_trans_call (gfc_code *, bool);
-+tree gfc_trans_call (gfc_code *, bool, tree, tree, bool);
- tree gfc_trans_return (gfc_code *);
- tree gfc_trans_if (gfc_code *);
- tree gfc_trans_arithmetic_if (gfc_code *);
-Index: gcc/fortran/module.c
-===================================================================
---- gcc/fortran/module.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/fortran/module.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -4738,7 +4738,7 @@
- if ((file = fopen (filename, "r")) == NULL)
- return -1;
-
-- /* Read two lines. */
-+ /* Read the first line. */
- if (fgets (buf, sizeof (buf) - 1, file) == NULL)
- {
- fclose (file);
-@@ -4748,8 +4748,12 @@
- /* The file also needs to be overwritten if the version number changed. */
- n = strlen ("GFORTRAN module version '" MOD_VERSION "' created");
- if (strncmp (buf, "GFORTRAN module version '" MOD_VERSION "' created", n) != 0)
-- return -1;
-+ {
-+ fclose (file);
-+ return -1;
-+ }
-
-+ /* Read a second line. */
- if (fgets (buf, sizeof (buf) - 1, file) == NULL)
- {
- fclose (file);
-Index: gcc/fortran/trans.c
-===================================================================
---- gcc/fortran/trans.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/fortran/trans.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1109,12 +1109,14 @@
- if (code->resolved_isym
- && code->resolved_isym->id == GFC_ISYM_MVBITS)
- is_mvbits = true;
-- res = gfc_trans_call (code, is_mvbits);
-+ res = gfc_trans_call (code, is_mvbits, NULL_TREE,
-+ NULL_TREE, false);
- }
- break;
-
- case EXEC_ASSIGN_CALL:
-- res = gfc_trans_call (code, true);
-+ res = gfc_trans_call (code, true, NULL_TREE,
-+ NULL_TREE, false);
- break;
-
- case EXEC_RETURN:
-Index: gcc/fortran/trans-types.c
-===================================================================
---- gcc/fortran/trans-types.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/fortran/trans-types.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -595,7 +595,7 @@
- return make_signed_type (mode_precision);
- }
-
--static tree
-+tree
- gfc_build_uint_type (int size)
- {
- if (size == CHAR_TYPE_SIZE)
-Index: gcc/fortran/trans.h
-===================================================================
---- gcc/fortran/trans.h (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/fortran/trans.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -310,9 +310,6 @@
- /* Does an intrinsic map directly to an external library call. */
- int gfc_is_intrinsic_libcall (gfc_expr *);
-
--/* Used to call the elemental subroutines used in operator assignments. */
--tree gfc_conv_operator_assign (gfc_se *, gfc_se *, gfc_symbol *);
--
- /* Also used to CALL subroutines. */
- int gfc_conv_function_call (gfc_se *, gfc_symbol *, gfc_actual_arglist *,
- tree);
-@@ -594,6 +591,8 @@
- extern GTY(()) tree gfor_fndecl_size0;
- extern GTY(()) tree gfor_fndecl_size1;
- extern GTY(()) tree gfor_fndecl_iargc;
-+extern GTY(()) tree gfor_fndecl_clz128;
-+extern GTY(()) tree gfor_fndecl_ctz128;
-
- /* Implemented in Fortran. */
- extern GTY(()) tree gfor_fndecl_sc_kind;
-Index: gcc/fortran/trans-types.h
-===================================================================
---- gcc/fortran/trans-types.h (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/fortran/trans-types.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -68,6 +68,7 @@
-
- tree gfc_type_for_size (unsigned, int);
- tree gfc_type_for_mode (enum machine_mode, int);
-+tree gfc_build_uint_type (int);
-
- tree gfc_get_element_type (tree);
- tree gfc_get_array_type_bounds (tree, int, tree *, tree *, int,
-Index: gcc/fortran/resolve.c
-===================================================================
---- gcc/fortran/resolve.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/fortran/resolve.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -82,7 +82,19 @@
- return formal_arg_flag;
- }
-
-+/* Is the symbol host associated? */
-+static bool
-+is_sym_host_assoc (gfc_symbol *sym, gfc_namespace *ns)
-+{
-+ for (ns = ns->parent; ns; ns = ns->parent)
-+ {
-+ if (sym->ns == ns)
-+ return true;
-+ }
-
-+ return false;
-+}
-+
- /* Ensure a typespec used is valid; for instance, TYPE(t) is invalid if t is
- an ABSTRACT derived-type. If where is not NULL, an error message with that
- locus is printed, optionally using name. */
-@@ -8715,13 +8727,15 @@
- if (c->ts.type == BT_DERIVED
- && sym->component_access != ACCESS_PRIVATE
- && gfc_check_access (sym->attr.access, sym->ns->default_access)
-+ && !is_sym_host_assoc (c->ts.derived, sym->ns)
- && !c->ts.derived->attr.use_assoc
- && !gfc_check_access (c->ts.derived->attr.access,
- c->ts.derived->ns->default_access))
- {
-- gfc_error ("The component '%s' is a PRIVATE type and cannot be "
-- "a component of '%s', which is PUBLIC at %L",
-- c->name, sym->name, &sym->declared_at);
-+ gfc_notify_std (GFC_STD_F2003, "Fortran 2003: the component '%s' "
-+ "is a PRIVATE type and cannot be a component of "
-+ "'%s', which is PUBLIC at %L", c->name,
-+ sym->name, &sym->declared_at);
- return FAILURE;
- }
-
-@@ -8803,9 +8817,7 @@
- for (nl = sym->namelist; nl; nl = nl->next)
- {
- if (!nl->sym->attr.use_assoc
-- && !(sym->ns->parent == nl->sym->ns)
-- && !(sym->ns->parent
-- && sym->ns->parent->parent == nl->sym->ns)
-+ && !is_sym_host_assoc (nl->sym, sym->ns)
- && !gfc_check_access(nl->sym->attr.access,
- nl->sym->ns->default_access))
- {
-@@ -8827,7 +8839,7 @@
-
- /* Types with private components that are defined in the same module. */
- if (nl->sym->ts.type == BT_DERIVED
-- && !(sym->ns->parent == nl->sym->ts.derived->ns)
-+ && !is_sym_host_assoc (nl->sym->ts.derived, sym->ns)
- && !gfc_check_access (nl->sym->ts.derived->attr.private_comp
- ? ACCESS_PRIVATE : ACCESS_UNKNOWN,
- nl->sym->ns->default_access))
-@@ -9430,9 +9442,12 @@
- static gfc_try
- next_data_value (void)
- {
--
- while (mpz_cmp_ui (values.left, 0) == 0)
- {
-+ if (!gfc_is_constant_expr (values.vnode->expr))
-+ gfc_error ("non-constant DATA value at %L",
-+ &values.vnode->expr->where);
-+
- if (values.vnode->next == NULL)
- return FAILURE;
-
-Index: gcc/fortran/f95-lang.c
-===================================================================
---- gcc/fortran/f95-lang.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/fortran/f95-lang.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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-decl.c
-===================================================================
---- gcc/fortran/trans-decl.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/fortran/trans-decl.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -141,6 +141,8 @@
- tree gfor_fndecl_size0;
- tree gfor_fndecl_size1;
- tree gfor_fndecl_iargc;
-+tree gfor_fndecl_clz128;
-+tree gfor_fndecl_ctz128;
-
- /* Intrinsic functions implemented in Fortran. */
- tree gfor_fndecl_sc_kind;
-@@ -2488,6 +2490,19 @@
- gfc_build_library_function_decl (get_identifier (PREFIX ("iargc")),
- gfc_int4_type_node,
- 0);
-+
-+ if (gfc_type_for_size (128, true))
-+ {
-+ tree uint128 = gfc_type_for_size (128, true);
-+
-+ gfor_fndecl_clz128 =
-+ gfc_build_library_function_decl (get_identifier (PREFIX ("clz128")),
-+ integer_type_node, 1, uint128);
-+
-+ gfor_fndecl_ctz128 =
-+ gfc_build_library_function_decl (get_identifier (PREFIX ("ctz128")),
-+ integer_type_node, 1, uint128);
-+ }
- }
-
-
-Index: gcc/fortran/trans-intrinsic.c
-===================================================================
---- gcc/fortran/trans-intrinsic.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/fortran/trans-intrinsic.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -2707,53 +2707,51 @@
- tree leadz;
- tree bit_size;
- tree tmp;
-- int arg_kind;
-- int i, n, s;
-+ tree func;
-+ int s, argsize;
-
- gfc_conv_intrinsic_function_args (se, expr, &arg, 1);
-+ argsize = TYPE_PRECISION (TREE_TYPE (arg));
-
- /* Which variant of __builtin_clz* should we call? */
-- arg_kind = expr->value.function.actual->expr->ts.kind;
-- i = gfc_validate_kind (BT_INTEGER, arg_kind, false);
-- switch (arg_kind)
-+ if (argsize <= INT_TYPE_SIZE)
- {
-- case 1:
-- case 2:
-- case 4:
-- arg_type = unsigned_type_node;
-- n = BUILT_IN_CLZ;
-- break;
--
-- case 8:
-- arg_type = long_unsigned_type_node;
-- n = BUILT_IN_CLZL;
-- break;
--
-- case 16:
-- arg_type = long_long_unsigned_type_node;
-- n = BUILT_IN_CLZLL;
-- break;
--
-- default:
-- gcc_unreachable ();
-+ arg_type = unsigned_type_node;
-+ func = built_in_decls[BUILT_IN_CLZ];
- }
-+ else if (argsize <= LONG_TYPE_SIZE)
-+ {
-+ arg_type = long_unsigned_type_node;
-+ func = built_in_decls[BUILT_IN_CLZL];
-+ }
-+ else if (argsize <= LONG_LONG_TYPE_SIZE)
-+ {
-+ arg_type = long_long_unsigned_type_node;
-+ func = built_in_decls[BUILT_IN_CLZLL];
-+ }
-+ else
-+ {
-+ gcc_assert (argsize == 128);
-+ arg_type = gfc_build_uint_type (argsize);
-+ func = gfor_fndecl_clz128;
-+ }
-
-- /* Convert the actual argument to the proper argument type for the built-in
-+ /* Convert the actual argument twice: first, to the unsigned type of the
-+ same size; then, to the proper argument type for the built-in
- function. But the return type is of the default INTEGER kind. */
-+ arg = fold_convert (gfc_build_uint_type (argsize), arg);
- arg = fold_convert (arg_type, arg);
- result_type = gfc_get_int_type (gfc_default_integer_kind);
-
- /* Compute LEADZ for the case i .ne. 0. */
-- s = TYPE_PRECISION (arg_type) - gfc_integer_kinds[i].bit_size;
-- tmp = fold_convert (result_type, build_call_expr (built_in_decls[n], 1, arg));
-+ s = TYPE_PRECISION (arg_type) - argsize;
-+ tmp = fold_convert (result_type, build_call_expr (func, 1, arg));
- leadz = fold_build2 (MINUS_EXPR, result_type,
- tmp, build_int_cst (result_type, s));
-
- /* Build BIT_SIZE. */
-- bit_size = build_int_cst (result_type, gfc_integer_kinds[i].bit_size);
-+ bit_size = build_int_cst (result_type, argsize);
-
-- /* ??? For some combinations of targets and integer kinds, the condition
-- can be avoided if CLZ_DEFINED_VALUE_AT_ZERO is used. Later. */
- cond = fold_build2 (EQ_EXPR, boolean_type_node,
- arg, build_int_cst (arg_type, 0));
- se->expr = fold_build3 (COND_EXPR, result_type, cond, bit_size, leadz);
-@@ -2774,50 +2772,48 @@
- tree result_type;
- tree trailz;
- tree bit_size;
-- int arg_kind;
-- int i, n;
-+ tree func;
-+ int argsize;
-
- gfc_conv_intrinsic_function_args (se, expr, &arg, 1);
-+ argsize = TYPE_PRECISION (TREE_TYPE (arg));
-
-- /* Which variant of __builtin_clz* should we call? */
-- arg_kind = expr->value.function.actual->expr->ts.kind;
-- i = gfc_validate_kind (BT_INTEGER, arg_kind, false);
-- switch (expr->ts.kind)
-+ /* Which variant of __builtin_ctz* should we call? */
-+ if (argsize <= INT_TYPE_SIZE)
- {
-- case 1:
-- case 2:
-- case 4:
-- arg_type = unsigned_type_node;
-- n = BUILT_IN_CTZ;
-- break;
--
-- case 8:
-- arg_type = long_unsigned_type_node;
-- n = BUILT_IN_CTZL;
-- break;
--
-- case 16:
-- arg_type = long_long_unsigned_type_node;
-- n = BUILT_IN_CTZLL;
-- break;
--
-- default:
-- gcc_unreachable ();
-+ arg_type = unsigned_type_node;
-+ func = built_in_decls[BUILT_IN_CTZ];
- }
-+ else if (argsize <= LONG_TYPE_SIZE)
-+ {
-+ arg_type = long_unsigned_type_node;
-+ func = built_in_decls[BUILT_IN_CTZL];
-+ }
-+ else if (argsize <= LONG_LONG_TYPE_SIZE)
-+ {
-+ arg_type = long_long_unsigned_type_node;
-+ func = built_in_decls[BUILT_IN_CTZLL];
-+ }
-+ else
-+ {
-+ gcc_assert (argsize == 128);
-+ arg_type = gfc_build_uint_type (argsize);
-+ func = gfor_fndecl_ctz128;
-+ }
-
-- /* Convert the actual argument to the proper argument type for the built-in
-+ /* Convert the actual argument twice: first, to the unsigned type of the
-+ same size; then, to the proper argument type for the built-in
- function. But the return type is of the default INTEGER kind. */
-+ arg = fold_convert (gfc_build_uint_type (argsize), arg);
- arg = fold_convert (arg_type, arg);
- result_type = gfc_get_int_type (gfc_default_integer_kind);
-
- /* Compute TRAILZ for the case i .ne. 0. */
-- trailz = fold_convert (result_type, build_call_expr (built_in_decls[n], 1, arg));
-+ trailz = fold_convert (result_type, build_call_expr (func, 1, arg));
-
- /* Build BIT_SIZE. */
-- bit_size = build_int_cst (result_type, gfc_integer_kinds[i].bit_size);
-+ bit_size = build_int_cst (result_type, argsize);
-
-- /* ??? For some combinations of targets and integer kinds, the condition
-- can be avoided if CTZ_DEFINED_VALUE_AT_ZERO is used. Later. */
- cond = fold_build2 (EQ_EXPR, boolean_type_node,
- arg, build_int_cst (arg_type, 0));
- se->expr = fold_build3 (COND_EXPR, result_type, cond, bit_size, trailz);
-@@ -3129,32 +3125,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 +3159,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/fortran/simplify.c
-===================================================================
---- gcc/fortran/simplify.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/fortran/simplify.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -2410,10 +2410,13 @@
- bs = gfc_integer_kinds[i].bit_size;
- if (mpz_cmp_si (e->value.integer, 0) == 0)
- lz = bs;
-+ else if (mpz_cmp_si (e->value.integer, 0) < 0)
-+ lz = 0;
- else
- lz = bs - mpz_sizeinbase (e->value.integer, 2);
-
-- result = gfc_constant_result (BT_INTEGER, gfc_default_integer_kind, &e->where);
-+ result = gfc_constant_result (BT_INTEGER, gfc_default_integer_kind,
-+ &e->where);
- mpz_set_ui (result->value.integer, lz);
-
- return result;
-Index: gcc/ira-lives.c
-===================================================================
---- gcc/ira-lives.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/ira-lives.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/BASE-VER (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1 +1 @@
--4.4.0
-+4.4.1
-Index: gcc/ira-emit.c
-===================================================================
---- gcc/ira-emit.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/ira-emit.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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/gcse.c
-===================================================================
---- gcc/gcse.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/gcse.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,7 +1,7 @@
- /* Global common subexpression elimination/Partial redundancy elimination
- and global constant/copy propagation for GNU compiler.
- Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-- 2006, 2007, 2008 Free Software Foundation, Inc.
-+ 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
-
- This file is part of GCC.
-
-@@ -2516,7 +2516,7 @@
- dest_addr = XEXP (list_entry, 0);
-
- if (canon_true_dependence (dest, GET_MODE (dest), dest_addr,
-- x, rtx_addr_varies_p))
-+ x, NULL_RTX, rtx_addr_varies_p))
- {
- if (set_p)
- SET_BIT (bmap[bb_index], indx);
-Index: gcc/alias.c
-===================================================================
---- gcc/alias.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/alias.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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:
- {
-@@ -2250,14 +2251,13 @@
- Variant of true_dependence which assumes MEM has already been
- canonicalized (hence we no longer do that here).
- The mem_addr argument has been added, since true_dependence computed
-- this value prior to canonicalizing. */
-+ this value prior to canonicalizing.
-+ If x_addr is non-NULL, it is used in preference of XEXP (x, 0). */
-
- int
- canon_true_dependence (const_rtx mem, enum machine_mode mem_mode, rtx mem_addr,
-- const_rtx x, bool (*varies) (const_rtx, bool))
-+ const_rtx x, rtx x_addr, bool (*varies) (const_rtx, bool))
- {
-- rtx x_addr;
--
- if (MEM_VOLATILE_P (x) && MEM_VOLATILE_P (mem))
- return 1;
-
-@@ -2283,7 +2283,8 @@
- if (nonoverlapping_memrefs_p (x, mem))
- return 0;
-
-- x_addr = get_addr (XEXP (x, 0));
-+ if (! x_addr)
-+ x_addr = get_addr (XEXP (x, 0));
-
- if (! base_alias_check (x_addr, mem_addr, GET_MODE (x), mem_mode))
- return 0;
-Index: gcc/tree-vect-analyze.c
-===================================================================
---- gcc/tree-vect-analyze.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/tree-vect-analyze.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -2187,7 +2187,7 @@
- tree next_step;
- tree prev_init = DR_INIT (data_ref);
- gimple prev = stmt;
-- HOST_WIDE_INT diff, count_in_bytes;
-+ HOST_WIDE_INT diff, count_in_bytes, gaps = 0;
-
- while (next)
- {
-@@ -2249,6 +2249,8 @@
- fprintf (vect_dump, "interleaved store with gaps");
- return false;
- }
-+
-+ gaps += diff - 1;
- }
-
- /* Store the gap from the previous member of the group. If there is no
-@@ -2265,8 +2267,9 @@
- the type to get COUNT_IN_BYTES. */
- count_in_bytes = type_size * count;
-
-- /* Check that the size of the interleaving is not greater than STEP. */
-- if (dr_step < count_in_bytes)
-+ /* Check that the size of the interleaving (including gaps) is not greater
-+ than STEP. */
-+ if (dr_step && dr_step < count_in_bytes + gaps * type_size)
- {
- if (vect_print_dump_info (REPORT_DETAILS))
- {
-Index: gcc/gimplify.c
-===================================================================
---- gcc/gimplify.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/gimplify.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1628,21 +1628,64 @@
- }
- len = i;
-
-+ if (!VEC_empty (tree, labels))
-+ sort_case_labels (labels);
-+
- if (!default_case)
- {
-- gimple new_default;
-+ tree type = TREE_TYPE (switch_expr);
-
- /* If the switch has no default label, add one, so that we jump
-- around the switch body. */
-- default_case = build3 (CASE_LABEL_EXPR, void_type_node, NULL_TREE,
-- NULL_TREE, create_artificial_label ());
-- new_default = gimple_build_label (CASE_LABEL (default_case));
-- gimplify_seq_add_stmt (&switch_body_seq, new_default);
-+ around the switch body. If the labels already cover the whole
-+ range of type, add the default label pointing to one of the
-+ existing labels. */
-+ if (type == void_type_node)
-+ type = TREE_TYPE (SWITCH_COND (switch_expr));
-+ if (len
-+ && INTEGRAL_TYPE_P (type)
-+ && TYPE_MIN_VALUE (type)
-+ && TYPE_MAX_VALUE (type)
-+ && tree_int_cst_equal (CASE_LOW (VEC_index (tree, labels, 0)),
-+ TYPE_MIN_VALUE (type)))
-+ {
-+ tree low, high = CASE_HIGH (VEC_index (tree, labels, len - 1));
-+ if (!high)
-+ high = CASE_LOW (VEC_index (tree, labels, len - 1));
-+ if (tree_int_cst_equal (high, TYPE_MAX_VALUE (type)))
-+ {
-+ for (i = 1; i < len; i++)
-+ {
-+ high = CASE_LOW (VEC_index (tree, labels, i));
-+ low = CASE_HIGH (VEC_index (tree, labels, i - 1));
-+ if (!low)
-+ low = CASE_LOW (VEC_index (tree, labels, i - 1));
-+ if ((TREE_INT_CST_LOW (low) + 1
-+ != TREE_INT_CST_LOW (high))
-+ || (TREE_INT_CST_HIGH (low)
-+ + (TREE_INT_CST_LOW (high) == 0)
-+ != TREE_INT_CST_HIGH (high)))
-+ break;
-+ }
-+ if (i == len)
-+ default_case = build3 (CASE_LABEL_EXPR, void_type_node,
-+ NULL_TREE, NULL_TREE,
-+ CASE_LABEL (VEC_index (tree,
-+ labels, 0)));
-+ }
-+ }
-+
-+ if (!default_case)
-+ {
-+ gimple new_default;
-+
-+ default_case = build3 (CASE_LABEL_EXPR, void_type_node,
-+ NULL_TREE, NULL_TREE,
-+ create_artificial_label ());
-+ new_default = gimple_build_label (CASE_LABEL (default_case));
-+ gimplify_seq_add_stmt (&switch_body_seq, new_default);
-+ }
- }
-
-- if (!VEC_empty (tree, labels))
-- sort_case_labels (labels);
--
- gimple_switch = gimple_build_switch_vec (SWITCH_COND (switch_expr),
- default_case, labels);
- gimplify_seq_add_stmt (pre_p, gimple_switch);
-Index: gcc/cselib.c
-===================================================================
---- gcc/cselib.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/cselib.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,6 +1,6 @@
- /* Common subexpression elimination library for GNU compiler.
- Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-- 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008
-+ 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009
- Free Software Foundation, Inc.
-
- This file is part of GCC.
-@@ -1483,7 +1483,7 @@
- }
- if (num_mems < PARAM_VALUE (PARAM_MAX_CSELIB_MEMORY_LOCATIONS)
- && ! canon_true_dependence (mem_rtx, GET_MODE (mem_rtx), mem_addr,
-- x, cselib_rtx_varies_p))
-+ x, NULL_RTX, cselib_rtx_varies_p))
- {
- has_mem = true;
- num_mems++;
-Index: gcc/tree-ssa-live.c
-===================================================================
---- gcc/tree-ssa-live.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/tree-ssa-live.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -582,7 +582,25 @@
- /* For terse debug info we can eliminate info on unused variables. */
- else if (debug_info_level == DINFO_LEVEL_NONE
- || debug_info_level == DINFO_LEVEL_TERSE)
-- ;
-+ {
-+ /* Even for -g0/-g1 don't prune outer scopes from artificial
-+ functions, otherwise diagnostics using tree_nonartificial_location
-+ will not be emitted properly. */
-+ if (inlined_function_outer_scope_p (scope))
-+ {
-+ tree ao = scope;
-+
-+ while (ao
-+ && TREE_CODE (ao) == BLOCK
-+ && BLOCK_ABSTRACT_ORIGIN (ao) != ao)
-+ ao = BLOCK_ABSTRACT_ORIGIN (ao);
-+ if (ao
-+ && TREE_CODE (ao) == FUNCTION_DECL
-+ && DECL_DECLARED_INLINE_P (ao)
-+ && lookup_attribute ("artificial", DECL_ATTRIBUTES (ao)))
-+ unused = false;
-+ }
-+ }
- else if (BLOCK_VARS (scope) || BLOCK_NUM_NONLOCALIZED_VARS (scope))
- unused = false;
- /* See if this block is important for representation of inlined function.
-@@ -595,6 +613,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;
- }
-
-@@ -678,6 +698,12 @@
- var_ann_t ann;
- bitmap global_unused_vars = NULL;
-
-+ /* Removing declarations from lexical blocks when not optimizing is
-+ not only a waste of time, it actually causes differences in stack
-+ layout. */
-+ if (!optimize)
-+ return;
-+
- mark_scope_block_unused (DECL_INITIAL (current_function_decl));
-
- /* Assume all locals are unused. */
-@@ -740,8 +766,7 @@
-
- if (TREE_CODE (var) != FUNCTION_DECL
- && (!(ann = var_ann (var))
-- || !ann->used)
-- && (optimize || DECL_ARTIFICIAL (var)))
-+ || !ann->used))
- {
- if (is_global_var (var))
- {
-@@ -802,8 +827,7 @@
- && TREE_CODE (t) != RESULT_DECL
- && !(ann = var_ann (t))->used
- && !ann->symbol_mem_tag
-- && !TREE_ADDRESSABLE (t)
-- && (optimize || DECL_ARTIFICIAL (t)))
-+ && !TREE_ADDRESSABLE (t))
- remove_referenced_var (t);
- remove_unused_scope_block_p (DECL_INITIAL (current_function_decl));
- if (dump_file && (dump_flags & TDF_DETAILS))
-Index: gcc/po/exgettext
-===================================================================
---- gcc/po/exgettext (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/po/exgettext (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/po/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/po/gcc.pot (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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/tree-ssa-forwprop.c
-===================================================================
---- gcc/tree-ssa-forwprop.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/tree-ssa-forwprop.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -683,6 +683,7 @@
- tree *rhsp, *lhsp;
- gimple use_stmt = gsi_stmt (*use_stmt_gsi);
- enum tree_code rhs_code;
-+ bool res = true;
-
- gcc_assert (TREE_CODE (def_rhs) == ADDR_EXPR);
-
-@@ -726,19 +727,26 @@
- /* Now see if the LHS node is an INDIRECT_REF using NAME. If so,
- propagate the ADDR_EXPR into the use of NAME and fold the result. */
- if (TREE_CODE (lhs) == INDIRECT_REF
-- && TREE_OPERAND (lhs, 0) == name
-- && may_propagate_address_into_dereference (def_rhs, lhs)
-- && (lhsp != gimple_assign_lhs_ptr (use_stmt)
-- || useless_type_conversion_p (TREE_TYPE (TREE_OPERAND (def_rhs, 0)),
-- TREE_TYPE (rhs))))
-+ && TREE_OPERAND (lhs, 0) == name)
- {
-- *lhsp = unshare_expr (TREE_OPERAND (def_rhs, 0));
-- fold_stmt_inplace (use_stmt);
-- tidy_after_forward_propagate_addr (use_stmt);
-+ if (may_propagate_address_into_dereference (def_rhs, lhs)
-+ && (lhsp != gimple_assign_lhs_ptr (use_stmt)
-+ || useless_type_conversion_p
-+ (TREE_TYPE (TREE_OPERAND (def_rhs, 0)), TREE_TYPE (rhs))))
-+ {
-+ *lhsp = unshare_expr (TREE_OPERAND (def_rhs, 0));
-+ fold_stmt_inplace (use_stmt);
-+ tidy_after_forward_propagate_addr (use_stmt);
-
-- /* Continue propagating into the RHS if this was not the only use. */
-- if (single_use_p)
-- return true;
-+ /* Continue propagating into the RHS if this was not the only use. */
-+ if (single_use_p)
-+ return true;
-+ }
-+ else
-+ /* We can have a struct assignment dereferencing our name twice.
-+ Note that we didn't propagate into the lhs to not falsely
-+ claim we did when propagating into the rhs. */
-+ res = false;
- }
-
- /* Strip away any outer COMPONENT_REF, ARRAY_REF or ADDR_EXPR
-@@ -758,7 +766,7 @@
- *rhsp = unshare_expr (TREE_OPERAND (def_rhs, 0));
- fold_stmt_inplace (use_stmt);
- tidy_after_forward_propagate_addr (use_stmt);
-- return true;
-+ return res;
- }
-
- /* Now see if the RHS node is an INDIRECT_REF using NAME. If so,
-@@ -789,7 +797,7 @@
- true, GSI_NEW_STMT);
- gimple_assign_set_rhs1 (use_stmt, new_rhs);
- tidy_after_forward_propagate_addr (use_stmt);
-- return true;
-+ return res;
- }
- /* If the defining rhs comes from an indirect reference, then do not
- convert into a VIEW_CONVERT_EXPR. */
-@@ -803,7 +811,7 @@
- *rhsp = new_rhs;
- fold_stmt_inplace (use_stmt);
- tidy_after_forward_propagate_addr (use_stmt);
-- return true;
-+ return res;
- }
- }
-
-Index: gcc/ira-costs.c
-===================================================================
---- gcc/ira-costs.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/ira-costs.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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/rtl.h
-===================================================================
---- gcc/rtl.h (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/rtl.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -2282,7 +2282,7 @@
- extern int true_dependence (const_rtx, enum machine_mode, const_rtx, bool (*)(const_rtx, bool));
- extern rtx get_addr (rtx);
- extern int canon_true_dependence (const_rtx, enum machine_mode, rtx, const_rtx,
-- bool (*)(const_rtx, bool));
-+ rtx, bool (*)(const_rtx, bool));
- extern int read_dependence (const_rtx, const_rtx);
- extern int anti_dependence (const_rtx, const_rtx);
- extern int output_dependence (const_rtx, const_rtx);
-Index: gcc/tree-inline.c
-===================================================================
---- gcc/tree-inline.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/tree-inline.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -501,7 +501,7 @@
- && (var_ann (old_var) || !gimple_in_ssa_p (cfun)))
- cfun->local_decls = tree_cons (NULL_TREE, old_var,
- cfun->local_decls);
-- if (debug_info_level > DINFO_LEVEL_TERSE
-+ if ((!optimize || debug_info_level > DINFO_LEVEL_TERSE)
- && !DECL_IGNORED_P (old_var)
- && nonlocalized_list)
- VEC_safe_push (tree, gc, *nonlocalized_list, origin_var);
-@@ -519,7 +519,7 @@
- ;
- else if (!new_var)
- {
-- if (debug_info_level > DINFO_LEVEL_TERSE
-+ if ((!optimize || debug_info_level > DINFO_LEVEL_TERSE)
- && !DECL_IGNORED_P (old_var)
- && nonlocalized_list)
- VEC_safe_push (tree, gc, *nonlocalized_list, origin_var);
-Index: gcc/tree-ssa-phiprop.c
-===================================================================
---- gcc/tree-ssa-phiprop.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/tree-ssa-phiprop.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -119,8 +119,7 @@
- FOR_EACH_IMM_USE_STMT (use_stmt, ui2, vuse)
- {
- /* If BB does not dominate a VDEF, the value is invalid. */
-- if (((is_gimple_assign (use_stmt)
-- && !ZERO_SSA_OPERANDS (use_stmt, SSA_OP_VDEF))
-+ if ((!ZERO_SSA_OPERANDS (use_stmt, SSA_OP_VDEF)
- || gimple_code (use_stmt) == GIMPLE_PHI)
- && !dominated_by_p (CDI_DOMINATORS, gimple_bb (use_stmt), bb))
- {
-Index: gcc/resource.c
-===================================================================
---- gcc/resource.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/resource.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -135,8 +135,6 @@
- static int
- find_basic_block (rtx insn, int search_limit)
- {
-- basic_block bb;
--
- /* Scan backwards to the previous BARRIER. Then see if we can find a
- label that starts a basic block. Return the basic block number. */
- for (insn = prev_nonnote_insn (insn);
-@@ -157,11 +155,8 @@
- for (insn = next_nonnote_insn (insn);
- insn && LABEL_P (insn);
- insn = next_nonnote_insn (insn))
-- {
-- FOR_EACH_BB (bb)
-- if (insn == BB_HEAD (bb))
-- return bb->index;
-- }
-+ if (BLOCK_FOR_INSN (insn))
-+ return BLOCK_FOR_INSN (insn)->index;
-
- return -1;
- }
-@@ -848,13 +843,12 @@
- (with no intervening active insns) to see if any of them start a basic
- block. If we hit the start of the function first, we use block 0.
-
-- Once we have found a basic block and a corresponding first insns, we can
-- accurately compute the live status from basic_block_live_regs and
-- reg_renumber. (By starting at a label following a BARRIER, we are immune
-- to actions taken by reload and jump.) Then we scan all insns between
-- that point and our target. For each CLOBBER (or for call-clobbered regs
-- when we pass a CALL_INSN), mark the appropriate registers are dead. For
-- a SET, mark them as live.
-+ Once we have found a basic block and a corresponding first insn, we can
-+ accurately compute the live status (by starting at a label following a
-+ BARRIER, we are immune to actions taken by reload and jump.) Then we
-+ scan all insns between that point and our target. For each CLOBBER (or
-+ for call-clobbered regs when we pass a CALL_INSN), mark the appropriate
-+ registers are dead. For a SET, mark them as live.
-
- We have to be careful when using REG_DEAD notes because they are not
- updated by such things as find_equiv_reg. So keep track of registers
-@@ -954,13 +948,10 @@
- TARGET. Otherwise, we must assume everything is live. */
- if (b != -1)
- {
-- regset regs_live = DF_LR_IN (BASIC_BLOCK (b));
-+ regset regs_live = df_get_live_in (BASIC_BLOCK (b));
- rtx start_insn, stop_insn;
-
-- /* Compute hard regs live at start of block -- this is the real hard regs
-- marked live, plus live pseudo regs that have been renumbered to
-- hard regs. */
--
-+ /* Compute hard regs live at start of block. */
- REG_SET_TO_HARD_REG_SET (current_live_regs, regs_live);
-
- /* Get starting and ending insn, handling the case where each might
-@@ -1046,10 +1037,24 @@
-
- else if (LABEL_P (real_insn))
- {
-+ basic_block bb;
-+
- /* A label clobbers the pending dead registers since neither
- reload nor jump will propagate a value across a label. */
- AND_COMPL_HARD_REG_SET (current_live_regs, pending_dead_regs);
- CLEAR_HARD_REG_SET (pending_dead_regs);
-+
-+ /* We must conservatively assume that all registers that used
-+ to be live here still are. The fallthrough edge may have
-+ left a live register uninitialized. */
-+ bb = BLOCK_FOR_INSN (real_insn);
-+ if (bb)
-+ {
-+ HARD_REG_SET extra_live;
-+
-+ REG_SET_TO_HARD_REG_SET (extra_live, df_get_live_in (bb));
-+ IOR_HARD_REG_SET (current_live_regs, extra_live);
-+ }
- }
-
- /* The beginning of the epilogue corresponds to the end of the
-@@ -1121,6 +1126,7 @@
- init_resource_info (rtx epilogue_insn)
- {
- int i;
-+ basic_block bb;
-
- /* Indicate what resources are required to be valid at the end of the current
- function. The condition code never is and memory always is. If the
-@@ -1189,6 +1195,11 @@
- /* Allocate and initialize the tables used by mark_target_live_regs. */
- target_hash_table = XCNEWVEC (struct target_info *, TARGET_HASH_PRIME);
- bb_ticks = XCNEWVEC (int, last_basic_block);
-+
-+ /* Set the BLOCK_FOR_INSN of each label that starts a basic block. */
-+ FOR_EACH_BB (bb)
-+ if (LABEL_P (BB_HEAD (bb)))
-+ BLOCK_FOR_INSN (BB_HEAD (bb)) = bb;
- }
- \f
- /* Free up the resources allocated to mark_target_live_regs (). This
-@@ -1197,6 +1208,8 @@
- void
- free_resource_info (void)
- {
-+ basic_block bb;
-+
- if (target_hash_table != NULL)
- {
- int i;
-@@ -1222,6 +1235,10 @@
- free (bb_ticks);
- bb_ticks = NULL;
- }
-+
-+ FOR_EACH_BB (bb)
-+ if (LABEL_P (BB_HEAD (bb)))
-+ BLOCK_FOR_INSN (BB_HEAD (bb)) = NULL;
- }
- \f
- /* Clear any hashed information that we have stored for INSN. */
-Index: gcc/tree-vect-generic.c
-===================================================================
---- gcc/tree-vect-generic.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/tree-vect-generic.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -481,8 +481,10 @@
- tree vector_compute_type
- = type_for_widest_vector_mode (TYPE_MODE (TREE_TYPE (type)), op,
- TYPE_SATURATING (TREE_TYPE (type)));
-- if (vector_compute_type != NULL_TREE)
-- compute_type = vector_compute_type;
-+ if (vector_compute_type != NULL_TREE
-+ && (TYPE_VECTOR_SUBPARTS (vector_compute_type)
-+ < TYPE_VECTOR_SUBPARTS (compute_type)))
-+ compute_type = vector_compute_type;
- }
-
- /* If we are breaking a BLKmode vector into smaller pieces,
-Index: gcc/emutls.c
-===================================================================
---- gcc/emutls.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/emutls.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -155,23 +155,23 @@
- if (__builtin_expect (arr == NULL, 0))
- {
- pointer size = offset + 32;
-- arr = calloc (size, sizeof (void *));
-+ arr = calloc (size + 1, sizeof (void *));
- if (arr == NULL)
- abort ();
- arr->size = size;
- __gthread_setspecific (emutls_key, (void *) arr);
- }
-- else if (__builtin_expect (offset >= arr->size, 0))
-+ else if (__builtin_expect (offset > arr->size, 0))
- {
- pointer orig_size = arr->size;
- pointer size = orig_size * 2;
-- if (offset >= size)
-+ if (offset > size)
- size = offset + 32;
-- arr = realloc (arr, size * sizeof (void *));
-+ arr = realloc (arr, (size + 1) * sizeof (void *));
- if (arr == NULL)
- abort ();
- arr->size = size;
-- memset (arr->data + orig_size - 1, 0,
-+ memset (arr->data + orig_size, 0,
- (size - orig_size) * sizeof (void *));
- __gthread_setspecific (emutls_key, (void *) arr);
- }
-Index: gcc/reg-stack.c
-===================================================================
---- gcc/reg-stack.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/reg-stack.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1371,21 +1371,23 @@
-
- if (pat != PATTERN (insn))
- {
-- /* The fix_truncdi_1 pattern wants to be able to allocate
-- its own scratch register. It does this by clobbering
-- an fp reg so that it is assured of an empty reg-stack
-- register. If the register is live, kill it now.
-- Remove the DEAD/UNUSED note so we don't try to kill it
-- later too. */
-+ /* The fix_truncdi_1 pattern wants to be able to
-+ allocate its own scratch register. It does this by
-+ clobbering an fp reg so that it is assured of an
-+ empty reg-stack register. If the register is live,
-+ kill it now. Remove the DEAD/UNUSED note so we
-+ don't try to kill it later too.
-
-+ In reality the UNUSED note can be absent in some
-+ complicated cases when the register is reused for
-+ partially set variable. */
-+
- if (note)
- emit_pop_insn (insn, regstack, *dest, EMIT_BEFORE);
- else
-- {
-- note = find_reg_note (insn, REG_UNUSED, *dest);
-- gcc_assert (note);
-- }
-- remove_note (insn, note);
-+ note = find_reg_note (insn, REG_UNUSED, *dest);
-+ if (note)
-+ remove_note (insn, note);
- replace_reg (dest, FIRST_STACK_REG + 1);
- }
- else
-Index: gcc/Makefile.in
-===================================================================
---- gcc/Makefile.in (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/Makefile.in (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -2785,7 +2785,8 @@
- value-prof.h $(TREE_INLINE_H) $(TARGET_H)
- cfgrtl.o : cfgrtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
- $(FLAGS_H) insn-config.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h \
-- output.h $(TOPLEV_H) $(FUNCTION_H) except.h $(TM_P_H) insn-config.h $(EXPR_H) \
-+ output.h $(TOPLEV_H) $(FUNCTION_H) except.h $(TM_P_H) $(INSN_ATTR_H) \
-+ insn-config.h $(EXPR_H) \
- $(CFGLAYOUT_H) $(CFGLOOP_H) $(OBSTACK_H) $(TARGET_H) $(TREE_H) \
- tree-pass.h $(DF_H) $(GGC_H)
- cfganal.o : cfganal.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
-Index: gcc/gimple.h
-===================================================================
---- gcc/gimple.h (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/gimple.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1394,36 +1394,7 @@
- return (gimple_has_ops (g)) ? (bool) g->gsbase.modified : false;
- }
-
--/* Return the type of the main expression computed by STMT. Return
-- void_type_node if the statement computes nothing. */
-
--static inline tree
--gimple_expr_type (const_gimple stmt)
--{
-- enum gimple_code code = gimple_code (stmt);
--
-- if (code == GIMPLE_ASSIGN || code == GIMPLE_CALL)
-- {
-- tree type = TREE_TYPE (gimple_get_lhs (stmt));
-- /* Integral sub-types are never the type of the expression,
-- but they still can be the type of the result as the base
-- type (in which expressions are computed) is trivially
-- convertible to one of its sub-types. So always return
-- the base type here. */
-- if (INTEGRAL_TYPE_P (type)
-- && TREE_TYPE (type)
-- /* But only if they are trivially convertible. */
-- && useless_type_conversion_p (type, TREE_TYPE (type)))
-- type = TREE_TYPE (type);
-- return type;
-- }
-- else if (code == GIMPLE_COND)
-- return boolean_type_node;
-- else
-- return void_type_node;
--}
--
--
- /* Return the tree code for the expression computed by STMT. This is
- only valid for GIMPLE_COND, GIMPLE_CALL and GIMPLE_ASSIGN. For
- GIMPLE_CALL, return CALL_EXPR as the expression code for
-@@ -4285,6 +4256,55 @@
- }
-
-
-+/* Return the type of the main expression computed by STMT. Return
-+ void_type_node if the statement computes nothing. */
-+
-+static inline tree
-+gimple_expr_type (const_gimple stmt)
-+{
-+ enum gimple_code code = gimple_code (stmt);
-+
-+ if (code == GIMPLE_ASSIGN || code == GIMPLE_CALL)
-+ {
-+ tree type;
-+ /* In general we want to pass out a type that can be substituted
-+ for both the RHS and the LHS types if there is a possibly
-+ useless conversion involved. That means returning the
-+ original RHS type as far as we can reconstruct it. */
-+ if (code == GIMPLE_CALL)
-+ type = gimple_call_return_type (stmt);
-+ else
-+ switch (gimple_assign_rhs_code (stmt))
-+ {
-+ case POINTER_PLUS_EXPR:
-+ type = TREE_TYPE (gimple_assign_rhs1 (stmt));
-+ break;
-+
-+ default:
-+ /* As fallback use the type of the LHS. */
-+ type = TREE_TYPE (gimple_get_lhs (stmt));
-+ break;
-+ }
-+
-+ /* Integral sub-types are never the type of the expression,
-+ but they still can be the type of the result as the base
-+ type (in which expressions are computed) is trivially
-+ convertible to one of its sub-types. So always return
-+ the base type here. */
-+ if (INTEGRAL_TYPE_P (type)
-+ && TREE_TYPE (type)
-+ /* But only if they are trivially convertible. */
-+ && useless_type_conversion_p (type, TREE_TYPE (type)))
-+ type = TREE_TYPE (type);
-+ return type;
-+ }
-+ else if (code == GIMPLE_COND)
-+ return boolean_type_node;
-+ else
-+ return void_type_node;
-+}
-+
-+
- /* Return a new iterator pointing to GIMPLE_SEQ's first statement. */
-
- static inline gimple_stmt_iterator
-Index: gcc/c-parser.c
-===================================================================
---- gcc/c-parser.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/c-parser.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -6564,7 +6564,7 @@
- {
- tree keywordexpr;
- if (!c_parser_require (parser, CPP_COLON, "expected %<:%>"))
-- return list;
-+ return error_mark_node;
- keywordexpr = c_parser_objc_keywordexpr (parser);
- list = chainon (list, build_tree_list (sel, keywordexpr));
- sel = c_parser_objc_selector (parser);
-Index: gcc/config/s390/s390.md
-===================================================================
---- gcc/config/s390/s390.md (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/config/s390/s390.md (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -8750,7 +8750,7 @@
- (define_insn "bswap<mode>2"
- [(set (match_operand:GPR 0 "register_operand" "=d, d")
- (bswap:GPR (match_operand:GPR 1 "nonimmediate_operand" " d,RT")))]
-- ""
-+ "TARGET_CPU_ZARCH"
- "@
- lrv<g>r\t%0,%1
- lrv<g>\t%0,%1"
-Index: gcc/config/s390/constraints.md
-===================================================================
---- gcc/config/s390/constraints.md (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/config/s390/constraints.md (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -129,13 +129,13 @@
- (define_constraint "I"
- "An 8-bit constant (0..255)"
- (and (match_code "const_int")
-- (match_test "(unsigned int) ival <= 255")))
-+ (match_test "(unsigned HOST_WIDE_INT) ival <= 255")))
-
-
- (define_constraint "J"
- "A 12-bit constant (0..4095)"
- (and (match_code "const_int")
-- (match_test "(unsigned int) ival <= 4095")))
-+ (match_test "(unsigned HOST_WIDE_INT) ival <= 4095")))
-
-
- (define_constraint "K"
-Index: gcc/config/m32c/m32c.c
-===================================================================
---- gcc/config/m32c/m32c.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/config/m32c/m32c.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -417,6 +417,9 @@
- }
- else
- target_memregs = 16;
-+
-+ if (TARGET_A24)
-+ flag_ivopts = 0;
- }
-
- /* Defining data structures for per-function information */
-@@ -2043,6 +2046,31 @@
- return 1;
- }
-
-+ /* If we see an RTX like (subreg:PSI (reg:SI ...)) we need to reload
-+ the subreg. We need to check for PLUS and non-PLUS cases. */
-+
-+ if (GET_CODE (*x) == SUBREG
-+ && GET_MODE (XEXP (*x, 0)) == SImode)
-+ {
-+ if (type == RELOAD_OTHER)
-+ type = RELOAD_FOR_OTHER_ADDRESS;
-+ push_reload (*x, NULL_RTX, x, NULL,
-+ A_REGS, Pmode, VOIDmode, 0, 0, opnum,
-+ type);
-+ return 1;
-+ }
-+ if (GET_CODE (*x) == PLUS
-+ && GET_CODE (XEXP (*x, 0)) == SUBREG
-+ && GET_MODE (XEXP (XEXP (*x, 0), 0)) == SImode)
-+ {
-+ if (type == RELOAD_OTHER)
-+ type = RELOAD_FOR_OTHER_ADDRESS;
-+ push_reload (XEXP (*x, 0), NULL_RTX, &(XEXP (*x, 0)), NULL,
-+ A_REGS, Pmode, VOIDmode, 0, 0, opnum,
-+ type);
-+ return 1;
-+ }
-+
- return 0;
- }
-
-Index: gcc/config/spu/spu-builtins.h
-===================================================================
---- gcc/config/spu/spu-builtins.h (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/config/spu/spu-builtins.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/config/spu/spu.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/config/spu/spu.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/config/spu/spu-c.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 149030)
-+++ gcc/config/spu/t-spu-elf (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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/i386/i386.h
-===================================================================
---- gcc/config/i386/i386.h (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/config/i386/i386.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1475,6 +1475,7 @@
- || ((CLASS) == AD_REGS) \
- || ((CLASS) == SIREG) \
- || ((CLASS) == DIREG) \
-+ || ((CLASS) == SSE_FIRST_REG) \
- || ((CLASS) == FP_TOP_REG) \
- || ((CLASS) == FP_SECOND_REG))
-
-Index: gcc/config/i386/linux.h
-===================================================================
---- gcc/config/i386/linux.h (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/config/i386/linux.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -153,7 +153,9 @@
- fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
- /* Make sure that we have at least 8 byte alignment if > 8 byte \
- alignment is preferred. */ \
-- if ((LOG) > 3 && (1 << (LOG)) > ((MAX_SKIP) + 1)) \
-+ if ((LOG) > 3 \
-+ && (1 << (LOG)) > ((MAX_SKIP) + 1) \
-+ && (MAX_SKIP) >= 7) \
- fprintf ((FILE), "\t.p2align 3\n"); \
- } \
- } \
-Index: gcc/config/i386/sol2.h
-===================================================================
---- gcc/config/i386/sol2.h (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/config/i386/sol2.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,6 +1,6 @@
- /* Target definitions for GCC for Intel 80386 running Solaris 2
- Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-- 2004, 2007, 2008 Free Software Foundation, Inc.
-+ 2004, 2007, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Fred Fish (fnf@cygnus.com).
-
- This file is part of GCC.
-@@ -112,3 +112,9 @@
- /* We do not need NT_VERSION notes. */
- #undef X86_FILE_START_VERSION_DIRECTIVE
- #define X86_FILE_START_VERSION_DIRECTIVE false
-+
-+/* Only recent versions of Solaris 11 ld properly support hidden .gnu.linkonce
-+ sections, so don't use them. */
-+#ifndef TARGET_GNU_LD
-+#define USE_HIDDEN_LINKONCE 0
-+#endif
-Index: gcc/config/i386/x86-64.h
-===================================================================
---- gcc/config/i386/x86-64.h (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/config/i386/x86-64.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -74,7 +74,9 @@
- fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
- /* Make sure that we have at least 8 byte alignment if > 8 byte \
- alignment is preferred. */ \
-- if ((LOG) > 3 && (1 << (LOG)) > ((MAX_SKIP) + 1)) \
-+ if ((LOG) > 3 \
-+ && (1 << (LOG)) > ((MAX_SKIP) + 1) \
-+ && (MAX_SKIP) >= 7) \
- fprintf ((FILE), "\t.p2align 3\n"); \
- } \
- } \
-Index: gcc/config/i386/sse.md
-===================================================================
---- gcc/config/i386/sse.md (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/config/i386/sse.md (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -978,7 +978,7 @@
- (match_operand:AVXMODEF2P 2 "nonimmediate_operand" "xm")))]
- "AVX_VEC_FLOAT_MODE_P (<MODE>mode) && flag_finite_math_only
- && ix86_binary_operator_ok (<CODE>, <MODE>mode, operands)"
-- "v<maxminfprefix>p<ssemodesuffixf2c>\t{%2, %1, %0|%0, %1, %2}"
-+ "v<maxminfprefix>p<avxmodesuffixf2c>\t{%2, %1, %0|%0, %1, %2}"
- [(set_attr "type" "sseadd")
- (set_attr "prefix" "vex")
- (set_attr "mode" "<MODE>")])
-Index: gcc/config/i386/driver-i386.c
-===================================================================
---- gcc/config/i386/driver-i386.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/config/i386/driver-i386.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -336,7 +336,11 @@
- enum vendor_signatures
- {
- SIG_INTEL = 0x756e6547 /* Genu */,
-- SIG_AMD = 0x68747541 /* Auth */,
-+ SIG_AMD = 0x68747541 /* Auth */
-+};
-+
-+enum processor_signatures
-+{
- SIG_GEODE = 0x646f6547 /* Geod */
- };
-
-@@ -374,6 +378,9 @@
- /* Extended features */
- unsigned int has_lahf_lm = 0, has_sse4a = 0;
- unsigned int has_longmode = 0, has_3dnowp = 0, has_3dnow = 0;
-+ unsigned int has_sse4_1 = 0, has_sse4_2 = 0;
-+ unsigned int has_popcnt = 0, has_aes = 0, has_avx = 0;
-+ unsigned int has_pclmul = 0;
-
- bool arch;
-
-@@ -397,7 +404,13 @@
-
- has_sse3 = ecx & bit_SSE3;
- has_ssse3 = ecx & bit_SSSE3;
-+ has_sse4_1 = ecx & bit_SSE4_1;
-+ has_sse4_2 = ecx & bit_SSE4_2;
-+ has_avx = ecx & bit_AVX;
- has_cmpxchg16b = ecx & bit_CMPXCHG16B;
-+ has_popcnt = ecx & bit_POPCNT;
-+ has_aes = ecx & bit_AES;
-+ has_pclmul = ecx & bit_PCLMUL;
-
- has_cmpxchg8b = edx & bit_CMPXCHG8B;
- has_cmov = edx & bit_CMOV;
-@@ -433,19 +446,27 @@
-
- if (vendor == SIG_AMD)
- {
-- processor = PROCESSOR_PENTIUM;
-+ unsigned int name;
-
-- if (has_mmx)
-+ /* Detect geode processor by its processor signature. */
-+ if (ext_level > 0x80000001)
-+ __cpuid (0x80000002, name, ebx, ecx, edx);
-+ else
-+ name = 0;
-+
-+ if (name == SIG_GEODE)
-+ processor = PROCESSOR_GEODE;
-+ else if (has_sse4a)
-+ processor = PROCESSOR_AMDFAM10;
-+ else if (has_sse2 || has_longmode)
-+ processor = PROCESSOR_K8;
-+ else if (has_3dnowp)
-+ processor = PROCESSOR_ATHLON;
-+ else if (has_mmx)
- processor = PROCESSOR_K6;
-- if (has_3dnowp)
-- processor = PROCESSOR_ATHLON;
-- if (has_sse2 || has_longmode)
-- processor = PROCESSOR_K8;
-- if (has_sse4a)
-- processor = PROCESSOR_AMDFAM10;
-+ else
-+ processor = PROCESSOR_PENTIUM;
- }
-- else if (vendor == SIG_GEODE)
-- processor = PROCESSOR_GEODE;
- else
- {
- switch (family)
-@@ -576,6 +597,18 @@
- options = concat (options, "-mcx16 ", NULL);
- if (has_lahf_lm)
- options = concat (options, "-msahf ", NULL);
-+ if (has_aes)
-+ options = concat (options, "-maes ", NULL);
-+ if (has_pclmul)
-+ options = concat (options, "-mpclmul ", NULL);
-+ if (has_popcnt)
-+ options = concat (options, "-mpopcnt ", NULL);
-+ if (has_avx)
-+ options = concat (options, "-mavx ", NULL);
-+ else if (has_sse4_2)
-+ options = concat (options, "-msse4.2 ", NULL);
-+ else if (has_sse4_1)
-+ options = concat (options, "-msse4.1 ", NULL);
- }
-
- done:
-Index: gcc/config/i386/i386.c
-===================================================================
---- gcc/config/i386/i386.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/config/i386/i386.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -5357,7 +5357,10 @@
- case X86_64_SSE_CLASS:
- case X86_64_SSESF_CLASS:
- case X86_64_SSEDF_CLASS:
-- return gen_reg_or_parallel (mode, orig_mode, SSE_REGNO (sse_regno));
-+ if (mode != BLKmode)
-+ return gen_reg_or_parallel (mode, orig_mode,
-+ SSE_REGNO (sse_regno));
-+ break;
- case X86_64_X87_CLASS:
- case X86_64_COMPLEX_X87_CLASS:
- return gen_rtx_REG (mode, FIRST_STACK_REG);
-@@ -7301,10 +7304,12 @@
- cfun->machine->accesses_prev_frame = 1;
- }
- \f
--#if (defined(HAVE_GAS_HIDDEN) && (SUPPORTS_ONE_ONLY - 0)) || TARGET_MACHO
--# define USE_HIDDEN_LINKONCE 1
--#else
--# define USE_HIDDEN_LINKONCE 0
-+#ifndef USE_HIDDEN_LINKONCE
-+# if (defined(HAVE_GAS_HIDDEN) && (SUPPORTS_ONE_ONLY - 0)) || TARGET_MACHO
-+# define USE_HIDDEN_LINKONCE 1
-+# else
-+# define USE_HIDDEN_LINKONCE 0
-+# endif
- #endif
-
- static int pic_labels_used;
-Index: gcc/config/sh/sh.c
-===================================================================
---- gcc/config/sh/sh.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/config/sh/sh.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -6908,6 +6908,8 @@
-
- tmp = gen_frame_mem (Pmode, tmp);
- emit_insn (GEN_MOV (tmp, ra));
-+ /* Tell this store isn't dead. */
-+ emit_use (tmp);
- }
-
- /* Clear variables at function end. */
-Index: gcc/config/sh/sh.md
-===================================================================
---- gcc/config/sh/sh.md (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/config/sh/sh.md (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -3999,6 +3999,34 @@
- [(set_attr "length" "4")
- (set_attr "type" "arith")])
-
-+;; Expander for DImode shift left with SImode operations.
-+
-+(define_expand "ashldi3_std"
-+ [(set (match_operand:DI 0 "arith_reg_dest" "=r")
-+ (ashift:DI (match_operand:DI 1 "arith_reg_operand" "r")
-+ (match_operand:DI 2 "const_int_operand" "n")))]
-+ "TARGET_SH1 && INTVAL (operands[2]) < 32"
-+ "
-+{
-+ int low_word = (TARGET_LITTLE_ENDIAN ? 0 : 1);
-+ int high_word = (TARGET_LITTLE_ENDIAN ? 1 : 0);
-+ rtx low_src = operand_subword (operands[1], low_word, 0, DImode);
-+ rtx high_src = operand_subword (operands[1], high_word, 0, DImode);
-+ rtx dst = gen_reg_rtx (DImode);
-+ rtx low_dst = operand_subword (dst, low_word, 1, DImode);
-+ rtx high_dst = operand_subword (dst, high_word, 1, DImode);
-+ rtx tmp0, tmp1;
-+
-+ tmp0 = gen_reg_rtx (SImode);
-+ tmp1 = gen_reg_rtx (SImode);
-+ emit_insn (gen_lshrsi3 (tmp0, low_src, GEN_INT (32 - INTVAL (operands[2]))));
-+ emit_insn (gen_ashlsi3 (low_dst, low_src, operands[2]));
-+ emit_insn (gen_ashlsi3 (tmp1, high_src, operands[2]));
-+ emit_insn (gen_iorsi3 (high_dst, tmp0, tmp1));
-+ emit_move_insn (operands[0], dst);
-+ DONE;
-+}")
-+
- (define_insn "ashldi3_media"
- [(set (match_operand:DI 0 "arith_reg_dest" "=r,r")
- (ashift:DI (match_operand:DI 1 "arith_reg_operand" "r,r")
-@@ -4031,8 +4059,19 @@
- emit_insn (gen_ashldi3_media (operands[0], operands[1], operands[2]));
- DONE;
- }
-- if (GET_CODE (operands[2]) != CONST_INT
-- || INTVAL (operands[2]) != 1)
-+ if (GET_CODE (operands[2]) == CONST_INT
-+ && INTVAL (operands[2]) == 1)
-+ {
-+ emit_insn (gen_ashldi3_k (operands[0], operands[1]));
-+ DONE;
-+ }
-+ else if (GET_CODE (operands[2]) == CONST_INT
-+ && INTVAL (operands[2]) < 32)
-+ {
-+ emit_insn (gen_ashldi3_std (operands[0], operands[1], operands[2]));
-+ DONE;
-+ }
-+ else
- FAIL;
- }")
-
-Index: gcc/config/rs6000/rs6000-c.c
-===================================================================
---- gcc/config/rs6000/rs6000-c.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/config/rs6000/rs6000-c.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -91,6 +91,7 @@
- static GTY(()) tree pixel_keyword;
- static GTY(()) tree __bool_keyword;
- static GTY(()) tree bool_keyword;
-+static GTY(()) tree _Bool_keyword;
-
- /* Preserved across calls. */
- static tree expand_bool_pixel;
-@@ -111,6 +112,9 @@
- if (ident == C_CPP_HASHNODE (bool_keyword))
- return C_CPP_HASHNODE (__bool_keyword);
-
-+ if (ident == C_CPP_HASHNODE (_Bool_keyword))
-+ return C_CPP_HASHNODE (__bool_keyword);
-+
- return ident;
- }
-
-@@ -141,6 +145,9 @@
-
- bool_keyword = get_identifier ("bool");
- C_CPP_HASHNODE (bool_keyword)->flags |= NODE_CONDITIONAL;
-+
-+ _Bool_keyword = get_identifier ("_Bool");
-+ C_CPP_HASHNODE (_Bool_keyword)->flags |= NODE_CONDITIONAL;
- }
-
- /* Called to decide whether a conditional macro should be expanded.
-@@ -295,6 +302,7 @@
- builtin_define ("vector=vector");
- builtin_define ("pixel=pixel");
- builtin_define ("bool=bool");
-+ builtin_define ("_Bool=_Bool");
- init_vector_keywords ();
-
- /* Enable context-sensitive macros. */
-Index: gcc/config/arm/arm.c
-===================================================================
---- gcc/config/arm/arm.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/config/arm/arm.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -16883,7 +16883,7 @@
-
- if (push && pushed_words && dwarf2out_do_frame ())
- {
-- char *l = dwarf2out_cfi_label ();
-+ char *l = dwarf2out_cfi_label (false);
- int pushed_mask = real_regs;
-
- *cfa_offset += pushed_words * 4;
-@@ -17781,7 +17781,7 @@
- the stack pointer. */
- if (dwarf2out_do_frame ())
- {
-- char *l = dwarf2out_cfi_label ();
-+ char *l = dwarf2out_cfi_label (false);
-
- cfa_offset = cfa_offset + crtl->args.pretend_args_size;
- dwarf2out_def_cfa (l, SP_REGNUM, cfa_offset);
-@@ -17830,7 +17830,7 @@
-
- if (dwarf2out_do_frame ())
- {
-- char *l = dwarf2out_cfi_label ();
-+ char *l = dwarf2out_cfi_label (false);
-
- cfa_offset = cfa_offset + 16;
- dwarf2out_def_cfa (l, SP_REGNUM, cfa_offset);
-Index: gcc/config/arm/arm.h
-===================================================================
---- gcc/config/arm/arm.h (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/config/arm/arm.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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: gcc/config/arm/arm.md
-===================================================================
---- gcc/config/arm/arm.md (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/config/arm/arm.md (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -8214,7 +8214,7 @@
-
- (define_insn "cstoresi_nltu_thumb1"
- [(set (match_operand:SI 0 "s_register_operand" "=l,l")
-- (neg:SI (gtu:SI (match_operand:SI 1 "s_register_operand" "l,*h")
-+ (neg:SI (ltu:SI (match_operand:SI 1 "s_register_operand" "l,*h")
- (match_operand:SI 2 "thumb1_cmp_operand" "lI*h,*r"))))]
- "TARGET_THUMB1"
- "cmp\\t%1, %2\;sbc\\t%0, %0, %0"
-Index: gcc/config/vax/vax.c
-===================================================================
---- gcc/config/vax/vax.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/config/vax/vax.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -122,7 +122,7 @@
-
- if (dwarf2out_do_frame ())
- {
-- const char *label = dwarf2out_cfi_label ();
-+ const char *label = dwarf2out_cfi_label (false);
- int offset = 0;
-
- for (regno = FIRST_PSEUDO_REGISTER-1; regno >= 0; --regno)
-Index: gcc/dfp.c
-===================================================================
---- gcc/dfp.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/dfp.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,5 +1,5 @@
- /* Decimal floating point support.
-- Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-+ Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
-
- This file is part of GCC.
-
-@@ -132,6 +132,7 @@
- decNumber dn;
- decimal32 d32;
- decContext set;
-+ int32_t image;
-
- decContextDefault (&set, DEC_INIT_DECIMAL128);
- set.traps = 0;
-@@ -139,7 +140,8 @@
- decimal_to_decnumber (r, &dn);
- decimal32FromNumber (&d32, &dn, &set);
-
-- buf[0] = *(uint32_t *) d32.bytes;
-+ memcpy (&image, d32.bytes, sizeof (int32_t));
-+ buf[0] = image;
- }
-
- /* Decode an IEEE 754 decimal32 type into a real. */
-@@ -151,11 +153,13 @@
- decNumber dn;
- decimal32 d32;
- decContext set;
-+ int32_t image;
-
- decContextDefault (&set, DEC_INIT_DECIMAL128);
- set.traps = 0;
-
-- *((uint32_t *) d32.bytes) = (uint32_t) buf[0];
-+ image = buf[0];
-+ memcpy (&d32.bytes, &image, sizeof (int32_t));
-
- decimal32ToNumber (&d32, &dn);
- decimal_from_decnumber (r, &dn, &set);
-@@ -170,6 +174,7 @@
- decNumber dn;
- decimal64 d64;
- decContext set;
-+ int32_t image;
-
- decContextDefault (&set, DEC_INIT_DECIMAL128);
- set.traps = 0;
-@@ -179,13 +184,17 @@
-
- if (WORDS_BIGENDIAN == FLOAT_WORDS_BIG_ENDIAN)
- {
-- buf[0] = *(uint32_t *) &d64.bytes[0];
-- buf[1] = *(uint32_t *) &d64.bytes[4];
-+ memcpy (&image, &d64.bytes[0], sizeof (int32_t));
-+ buf[0] = image;
-+ memcpy (&image, &d64.bytes[4], sizeof (int32_t));
-+ buf[1] = image;
- }
- else
- {
-- buf[0] = *(uint32_t *) &d64.bytes[4];
-- buf[1] = *(uint32_t *) &d64.bytes[0];
-+ memcpy (&image, &d64.bytes[4], sizeof (int32_t));
-+ buf[0] = image;
-+ memcpy (&image, &d64.bytes[0], sizeof (int32_t));
-+ buf[1] = image;
- }
- }
-
-@@ -198,19 +207,24 @@
- decNumber dn;
- decimal64 d64;
- decContext set;
-+ int32_t image;
-
- decContextDefault (&set, DEC_INIT_DECIMAL128);
- set.traps = 0;
-
- if (WORDS_BIGENDIAN == FLOAT_WORDS_BIG_ENDIAN)
- {
-- *((uint32_t *) &d64.bytes[0]) = (uint32_t) buf[0];
-- *((uint32_t *) &d64.bytes[4]) = (uint32_t) buf[1];
-+ image = buf[0];
-+ memcpy (&d64.bytes[0], &image, sizeof (int32_t));
-+ image = buf[1];
-+ memcpy (&d64.bytes[4], &image, sizeof (int32_t));
- }
- else
- {
-- *((uint32_t *) &d64.bytes[0]) = (uint32_t) buf[1];
-- *((uint32_t *) &d64.bytes[4]) = (uint32_t) buf[0];
-+ image = buf[1];
-+ memcpy (&d64.bytes[0], &image, sizeof (int32_t));
-+ image = buf[0];
-+ memcpy (&d64.bytes[4], &image, sizeof (int32_t));
- }
-
- decimal64ToNumber (&d64, &dn);
-@@ -226,6 +240,7 @@
- decNumber dn;
- decContext set;
- decimal128 d128;
-+ int32_t image;
-
- decContextDefault (&set, DEC_INIT_DECIMAL128);
- set.traps = 0;
-@@ -235,17 +250,25 @@
-
- if (WORDS_BIGENDIAN == FLOAT_WORDS_BIG_ENDIAN)
- {
-- buf[0] = *(uint32_t *) &d128.bytes[0];
-- buf[1] = *(uint32_t *) &d128.bytes[4];
-- buf[2] = *(uint32_t *) &d128.bytes[8];
-- buf[3] = *(uint32_t *) &d128.bytes[12];
-+ memcpy (&image, &d128.bytes[0], sizeof (int32_t));
-+ buf[0] = image;
-+ memcpy (&image, &d128.bytes[4], sizeof (int32_t));
-+ buf[1] = image;
-+ memcpy (&image, &d128.bytes[8], sizeof (int32_t));
-+ buf[2] = image;
-+ memcpy (&image, &d128.bytes[12], sizeof (int32_t));
-+ buf[3] = image;
- }
- else
- {
-- buf[0] = *(uint32_t *) &d128.bytes[12];
-- buf[1] = *(uint32_t *) &d128.bytes[8];
-- buf[2] = *(uint32_t *) &d128.bytes[4];
-- buf[3] = *(uint32_t *) &d128.bytes[0];
-+ memcpy (&image, &d128.bytes[12], sizeof (int32_t));
-+ buf[0] = image;
-+ memcpy (&image, &d128.bytes[8], sizeof (int32_t));
-+ buf[1] = image;
-+ memcpy (&image, &d128.bytes[4], sizeof (int32_t));
-+ buf[2] = image;
-+ memcpy (&image, &d128.bytes[0], sizeof (int32_t));
-+ buf[3] = image;
- }
- }
-
-@@ -258,23 +281,32 @@
- decNumber dn;
- decimal128 d128;
- decContext set;
-+ int32_t image;
-
- decContextDefault (&set, DEC_INIT_DECIMAL128);
- set.traps = 0;
-
- if (WORDS_BIGENDIAN == FLOAT_WORDS_BIG_ENDIAN)
- {
-- *((uint32_t *) &d128.bytes[0]) = (uint32_t) buf[0];
-- *((uint32_t *) &d128.bytes[4]) = (uint32_t) buf[1];
-- *((uint32_t *) &d128.bytes[8]) = (uint32_t) buf[2];
-- *((uint32_t *) &d128.bytes[12]) = (uint32_t) buf[3];
-+ image = buf[0];
-+ memcpy (&d128.bytes[0], &image, sizeof (int32_t));
-+ image = buf[1];
-+ memcpy (&d128.bytes[4], &image, sizeof (int32_t));
-+ image = buf[2];
-+ memcpy (&d128.bytes[8], &image, sizeof (int32_t));
-+ image = buf[3];
-+ memcpy (&d128.bytes[12], &image, sizeof (int32_t));
- }
- else
- {
-- *((uint32_t *) &d128.bytes[0]) = (uint32_t) buf[3];
-- *((uint32_t *) &d128.bytes[4]) = (uint32_t) buf[2];
-- *((uint32_t *) &d128.bytes[8]) = (uint32_t) buf[1];
-- *((uint32_t *) &d128.bytes[12]) = (uint32_t) buf[0];
-+ image = buf[3];
-+ memcpy (&d128.bytes[0], &image, sizeof (int32_t));
-+ image = buf[2];
-+ memcpy (&d128.bytes[4], &image, sizeof (int32_t));
-+ image = buf[1];
-+ memcpy (&d128.bytes[8], &image, sizeof (int32_t));
-+ image = buf[0];
-+ memcpy (&d128.bytes[12], &image, sizeof (int32_t));
- }
-
- decimal128ToNumber (&d128, &dn);
-Index: gcc/cfgrtl.c
-===================================================================
---- gcc/cfgrtl.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/cfgrtl.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -53,6 +53,7 @@
- #include "toplev.h"
- #include "tm_p.h"
- #include "obstack.h"
-+#include "insn-attr.h"
- #include "insn-config.h"
- #include "cfglayout.h"
- #include "expr.h"
-@@ -427,13 +428,27 @@
- return 0;
- }
-
-+static unsigned int
-+rest_of_pass_free_cfg (void)
-+{
-+#ifdef DELAY_SLOTS
-+ /* The resource.c machinery uses DF but the CFG isn't guaranteed to be
-+ valid at that point so it would be too late to call df_analyze. */
-+ if (optimize > 0 && flag_delayed_branch)
-+ df_analyze ();
-+#endif
-+
-+ free_bb_for_insn ();
-+ return 0;
-+}
-+
- struct rtl_opt_pass pass_free_cfg =
- {
- {
- RTL_PASS,
- NULL, /* name */
- NULL, /* gate */
-- free_bb_for_insn, /* execute */
-+ rest_of_pass_free_cfg, /* execute */
- NULL, /* sub */
- NULL, /* next */
- 0, /* static_pass_number */
-Index: gcc/stmt.c
-===================================================================
---- gcc/stmt.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/stmt.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1418,6 +1418,7 @@
- goto restart;
-
- case SAVE_EXPR:
-+ case NON_LVALUE_EXPR:
- exp = TREE_OPERAND (exp, 0);
- goto restart;
-
-Index: gcc/tree-ssa-operands.c
-===================================================================
---- gcc/tree-ssa-operands.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gcc/tree-ssa-operands.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -2099,6 +2099,13 @@
- /* Add call-clobbered operands, if needed. */
- if (code == GIMPLE_CALL)
- maybe_add_call_clobbered_vops (stmt);
-+
-+ /* Make sure the return value is addressable in case of NRV. */
-+ if (code == GIMPLE_CALL
-+ && gimple_call_lhs (stmt) != NULL_TREE
-+ && gimple_call_return_slot_opt_p (stmt)
-+ && TREE_ADDRESSABLE (TREE_TYPE (gimple_call_lhs (stmt))))
-+ gimple_add_to_addresses_taken (stmt, gimple_call_lhs (stmt));
- }
- }
-
-
-Zmiany atrybutów dla: gcc
-___________________________________________________________________
-Dodane: svn:mergeinfo
- Połączono zmiany /trunk/gcc:r148910
-
-Index: libstdc++-v3/configure
-===================================================================
---- libstdc++-v3/configure (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/configure (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1567,7 +1567,7 @@
- ### am handles this now? ORIGINAL_LD_FOR_MULTILIBS=$LD
-
- # For libtool versioning info, format is CURRENT:REVISION:AGE
--libtool_VERSION=6:11:0
-+libtool_VERSION=6:12:0
-
-
- # Find the rest of the source tree framework.
-Index: libstdc++-v3/include/ext/memory
-===================================================================
---- libstdc++-v3/include/ext/memory (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/include/ext/memory (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -102,9 +102,9 @@
- template<typename _InputIter, typename _Size, typename _ForwardIter>
- inline pair<_InputIter, _ForwardIter>
- __uninitialized_copy_n(_InputIter __first, _Size __count,
-- _ForwardIter __result)
-- { return __uninitialized_copy_n(__first, __count, __result,
-- __iterator_category(__first)); }
-+ _ForwardIter __result)
-+ { return __gnu_cxx::__uninitialized_copy_n(__first, __count, __result,
-+ __iterator_category(__first)); }
-
- /**
- * @brief Copies the range [first,last) into result.
-@@ -120,8 +120,8 @@
- inline pair<_InputIter, _ForwardIter>
- uninitialized_copy_n(_InputIter __first, _Size __count,
- _ForwardIter __result)
-- { return __uninitialized_copy_n(__first, __count, __result,
-- __iterator_category(__first)); }
-+ { return __gnu_cxx::__uninitialized_copy_n(__first, __count, __result,
-+ __iterator_category(__first)); }
-
-
- // An alternative version of uninitialized_copy_n that constructs
-@@ -154,7 +154,7 @@
- _ForwardIter __result,
- std::allocator<_Tp>)
- {
-- return uninitialized_copy_n(__first, __count, __result);
-+ return __gnu_cxx::uninitialized_copy_n(__first, __count, __result);
- }
-
- /**
-Index: libstdc++-v3/include/bits/locale_facets.tcc
-===================================================================
---- libstdc++-v3/include/bits/locale_facets.tcc (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/include/bits/locale_facets.tcc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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/include/bits/atomic_0.h
-===================================================================
---- libstdc++-v3/include/bits/atomic_0.h (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/include/bits/atomic_0.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -119,17 +119,17 @@
- void
- store(void* __v, memory_order __m = memory_order_seq_cst) volatile
- {
-- __glibcxx_assert(__m == memory_order_acquire);
-- __glibcxx_assert(__m == memory_order_acq_rel);
-- __glibcxx_assert(__m == memory_order_consume);
-+ __glibcxx_assert(__m != memory_order_acquire);
-+ __glibcxx_assert(__m != memory_order_acq_rel);
-+ __glibcxx_assert(__m != memory_order_consume);
- _ATOMIC_STORE_(this, __v, __m);
- }
-
- void*
- load(memory_order __m = memory_order_seq_cst) const volatile
- {
-- __glibcxx_assert(__m == memory_order_release);
-- __glibcxx_assert(__m == memory_order_acq_rel);
-+ __glibcxx_assert(__m != memory_order_release);
-+ __glibcxx_assert(__m != memory_order_acq_rel);
- return _ATOMIC_LOAD_(this, __m);
- }
-
-@@ -141,8 +141,8 @@
- compare_exchange_weak(void*& __v1, void* __v2, memory_order __m1,
- memory_order __m2) volatile
- {
-- __glibcxx_assert(__m2 == memory_order_release);
-- __glibcxx_assert(__m2 == memory_order_acq_rel);
-+ __glibcxx_assert(__m2 != memory_order_release);
-+ __glibcxx_assert(__m2 != memory_order_acq_rel);
- __glibcxx_assert(__m2 <= __m1);
- return _ATOMIC_CMPEXCHNG_(this, &__v1, __v2, __m1);
- }
-@@ -159,8 +159,8 @@
- compare_exchange_strong(void*& __v1, void* __v2, memory_order __m1,
- memory_order __m2) volatile
- {
-- __glibcxx_assert(__m2 == memory_order_release);
-- __glibcxx_assert(__m2 == memory_order_acq_rel);
-+ __glibcxx_assert(__m2 != memory_order_release);
-+ __glibcxx_assert(__m2 != memory_order_acq_rel);
- __glibcxx_assert(__m2 <= __m1);
- return _ATOMIC_CMPEXCHNG_(this, &__v1, __v2, __m1);
- }
-@@ -310,17 +310,17 @@
- store(__integral_type __i,
- memory_order __m = memory_order_seq_cst) volatile
- {
-- __glibcxx_assert(__m == memory_order_acquire);
-- __glibcxx_assert(__m == memory_order_acq_rel);
-- __glibcxx_assert(__m == memory_order_consume);
-+ __glibcxx_assert(__m != memory_order_acquire);
-+ __glibcxx_assert(__m != memory_order_acq_rel);
-+ __glibcxx_assert(__m != memory_order_consume);
- _ATOMIC_STORE_(this, __i, __m);
- }
-
- __integral_type
- load(memory_order __m = memory_order_seq_cst) const volatile
- {
-- __glibcxx_assert(__m == memory_order_release);
-- __glibcxx_assert(__m == memory_order_acq_rel);
-+ __glibcxx_assert(__m != memory_order_release);
-+ __glibcxx_assert(__m != memory_order_acq_rel);
- return _ATOMIC_LOAD_(this, __m);
- }
-
-@@ -333,8 +333,8 @@
- compare_exchange_weak(__integral_type& __i1, __integral_type __i2,
- memory_order __m1, memory_order __m2) volatile
- {
-- __glibcxx_assert(__m2 == memory_order_release);
-- __glibcxx_assert(__m2 == memory_order_acq_rel);
-+ __glibcxx_assert(__m2 != memory_order_release);
-+ __glibcxx_assert(__m2 != memory_order_acq_rel);
- __glibcxx_assert(__m2 <= __m1);
- return _ATOMIC_CMPEXCHNG_(this, &__i1, __i2, __m1);
- }
-@@ -351,8 +351,8 @@
- compare_exchange_strong(__integral_type& __i1, __integral_type __i2,
- memory_order __m1, memory_order __m2) volatile
- {
-- __glibcxx_assert(__m2 == memory_order_release);
-- __glibcxx_assert(__m2 == memory_order_acq_rel);
-+ __glibcxx_assert(__m2 != memory_order_release);
-+ __glibcxx_assert(__m2 != memory_order_acq_rel);
- __glibcxx_assert(__m2 <= __m1);
- return _ATOMIC_CMPEXCHNG_(this, &__i1, __i2, __m1);
- }
-Index: libstdc++-v3/include/bits/atomic_2.h
-===================================================================
---- libstdc++-v3/include/bits/atomic_2.h (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/include/bits/atomic_2.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -65,6 +65,10 @@
- void
- clear(memory_order __m = memory_order_seq_cst) volatile
- {
-+ __glibcxx_assert(__m != memory_order_consume);
-+ __glibcxx_assert(__m != memory_order_acquire);
-+ __glibcxx_assert(__m != memory_order_acq_rel);
-+
- __sync_lock_release(&_M_i);
- if (__m != memory_order_acquire && __m != memory_order_acq_rel)
- __sync_synchronize();
-@@ -93,9 +97,9 @@
- void
- store(void* __v, memory_order __m = memory_order_seq_cst) volatile
- {
-- __glibcxx_assert(__m == memory_order_acquire);
-- __glibcxx_assert(__m == memory_order_acq_rel);
-- __glibcxx_assert(__m == memory_order_consume);
-+ __glibcxx_assert(__m != memory_order_acquire);
-+ __glibcxx_assert(__m != memory_order_acq_rel);
-+ __glibcxx_assert(__m != memory_order_consume);
-
- if (__m == memory_order_relaxed)
- _M_i = __v;
-@@ -111,8 +115,8 @@
- void*
- load(memory_order __m = memory_order_seq_cst) const volatile
- {
-- __glibcxx_assert(__m == memory_order_release);
-- __glibcxx_assert(__m == memory_order_acq_rel);
-+ __glibcxx_assert(__m != memory_order_release);
-+ __glibcxx_assert(__m != memory_order_acq_rel);
-
- __sync_synchronize();
- void* __ret = _M_i;
-@@ -144,8 +148,8 @@
- compare_exchange_strong(void*& __v1, void* __v2, memory_order __m1,
- memory_order __m2) volatile
- {
-- __glibcxx_assert(__m2 == memory_order_release);
-- __glibcxx_assert(__m2 == memory_order_acq_rel);
-+ __glibcxx_assert(__m2 != memory_order_release);
-+ __glibcxx_assert(__m2 != memory_order_acq_rel);
- __glibcxx_assert(__m2 <= __m1);
-
- void* __v1o = __v1;
-@@ -284,9 +288,9 @@
- store(__integral_type __i,
- memory_order __m = memory_order_seq_cst) volatile
- {
-- __glibcxx_assert(__m == memory_order_acquire);
-- __glibcxx_assert(__m == memory_order_acq_rel);
-- __glibcxx_assert(__m == memory_order_consume);
-+ __glibcxx_assert(__m != memory_order_acquire);
-+ __glibcxx_assert(__m != memory_order_acq_rel);
-+ __glibcxx_assert(__m != memory_order_consume);
-
- if (__m == memory_order_relaxed)
- _M_i = __i;
-@@ -302,8 +306,8 @@
- __integral_type
- load(memory_order __m = memory_order_seq_cst) const volatile
- {
-- __glibcxx_assert(__m == memory_order_release);
-- __glibcxx_assert(__m == memory_order_acq_rel);
-+ __glibcxx_assert(__m != memory_order_release);
-+ __glibcxx_assert(__m != memory_order_acq_rel);
-
- __sync_synchronize();
- __integral_type __ret = _M_i;
-@@ -336,8 +340,8 @@
- compare_exchange_strong(__integral_type& __i1, __integral_type __i2,
- memory_order __m1, memory_order __m2) volatile
- {
-- __glibcxx_assert(__m2 == memory_order_release);
-- __glibcxx_assert(__m2 == memory_order_acq_rel);
-+ __glibcxx_assert(__m2 != memory_order_release);
-+ __glibcxx_assert(__m2 != memory_order_acq_rel);
- __glibcxx_assert(__m2 <= __m1);
-
- __integral_type __i1o = __i1;
-Index: libstdc++-v3/include/bits/stl_construct.h
-===================================================================
---- libstdc++-v3/include/bits/stl_construct.h (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/include/bits/stl_construct.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -82,6 +82,26 @@
- _Destroy(_Tp* __pointer)
- { __pointer->~_Tp(); }
-
-+ template<bool>
-+ struct _Destroy_aux
-+ {
-+ template<typename _ForwardIterator>
-+ static void
-+ __destroy(_ForwardIterator __first, _ForwardIterator __last)
-+ {
-+ for (; __first != __last; ++__first)
-+ std::_Destroy(&*__first);
-+ }
-+ };
-+
-+ template<>
-+ struct _Destroy_aux<true>
-+ {
-+ template<typename _ForwardIterator>
-+ static void
-+ __destroy(_ForwardIterator, _ForwardIterator) { }
-+ };
-+
- /**
- * Destroy a range of objects. If the value_type of the object has
- * a trivial destructor, the compiler should optimize all of this
-@@ -93,9 +113,8 @@
- {
- typedef typename iterator_traits<_ForwardIterator>::value_type
- _Value_type;
-- if (!__has_trivial_destructor(_Value_type))
-- for (; __first != __last; ++__first)
-- std::_Destroy(&*__first);
-+ std::_Destroy_aux<__has_trivial_destructor(_Value_type)>::
-+ __destroy(__first, __last);
- }
-
- /**
-Index: libstdc++-v3/include/Makefile.in
-===================================================================
---- libstdc++-v3/include/Makefile.in (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/include/Makefile.in (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1096,7 +1096,7 @@
- pch_output_anchors = \
- ${pch1_output_anchor} ${pch2_output_anchor} ${pch3_output_anchor}
-
--PCHFLAGS = -Winvalid-pch -x c++-header $(CXXFLAGS)
-+PCHFLAGS = -x c++-header $(CXXFLAGS)
- @GLIBCXX_BUILD_PCH_FALSE@pch_build =
- @GLIBCXX_BUILD_PCH_TRUE@pch_build = ${pch_output}
-
-Index: libstdc++-v3/include/Makefile.am
-===================================================================
---- libstdc++-v3/include/Makefile.am (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/include/Makefile.am (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -850,7 +850,7 @@
- ${pch1_output_builddir} ${pch2_output_builddir} ${pch3_output_builddir}
- pch_output_anchors = \
- ${pch1_output_anchor} ${pch2_output_anchor} ${pch3_output_anchor}
--PCHFLAGS=-Winvalid-pch -x c++-header $(CXXFLAGS)
-+PCHFLAGS=-x c++-header $(CXXFLAGS)
- if GLIBCXX_BUILD_PCH
- pch_build = ${pch_output}
- else
-Index: libstdc++-v3/include/std/system_error
-===================================================================
---- libstdc++-v3/include/std/system_error (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/include/std/system_error (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -51,10 +51,6 @@
- template<typename _Tp>
- struct is_error_code_enum : public false_type { };
-
-- template<>
-- struct is_error_code_enum<errc>
-- : public true_type { };
--
- /// is_error_condition_enum
- template<typename _Tp>
- struct is_error_condition_enum : public false_type { };
-@@ -108,12 +104,14 @@
- const error_category& system_category();
- const error_category& generic_category();
-
-+ error_code make_error_code(errc);
-+
- /// error_code
- // Implementation-specific error identification
- struct error_code
- {
- error_code()
-- : _M_value(0), _M_cat(&system_category()) { }
-+ : _M_value(0), _M_cat(&system_category()) { }
-
- error_code(int __v, const error_category& __cat)
- : _M_value(__v), _M_cat(&__cat) { }
-@@ -121,8 +119,7 @@
- template<typename _ErrorCodeEnum>
- error_code(_ErrorCodeEnum __e,
- typename enable_if<is_error_code_enum<_ErrorCodeEnum>::value>::type* = 0)
-- : _M_value(static_cast<int>(__e)), _M_cat(&generic_category())
-- { }
-+ { *this = make_error_code(__e); }
-
- void
- assign(int __v, const error_category& __cat)
-@@ -140,10 +137,7 @@
- typename enable_if<is_error_code_enum<_ErrorCodeEnum>::value,
- error_code&>::type
- operator=(_ErrorCodeEnum __e)
-- {
-- assign(static_cast<int>(__e), generic_category());
-- return *this;
-- }
-+ { return *this = make_error_code(__e); }
-
- int
- value() const { return _M_value; }
-@@ -192,12 +186,14 @@
- operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
- { return (__os << __e.category().name() << ':' << __e.value()); }
-
-+ error_condition make_error_condition(errc);
-
- /// error_condition
- // Portable error identification
- struct error_condition
- {
-- error_condition() : _M_value(0), _M_cat(&generic_category()) { }
-+ error_condition()
-+ : _M_value(0), _M_cat(&generic_category()) { }
-
- error_condition(int __v, const error_category& __cat)
- : _M_value(__v), _M_cat(&__cat) { }
-@@ -206,7 +202,7 @@
- error_condition(_ErrorConditionEnum __e,
- typename enable_if<is_error_condition_enum
- <_ErrorConditionEnum>::value>::type* = 0)
-- : _M_value(static_cast<int>(__e)), _M_cat(&generic_category()) { }
-+ { *this = make_error_condition(__e); }
-
- void
- assign(int __v, const error_category& __cat)
-@@ -220,10 +216,7 @@
- typename enable_if<is_error_condition_enum
- <_ErrorConditionEnum>::value, error_condition&>::type
- operator=(_ErrorConditionEnum __e)
-- {
-- assign(static_cast<int>(__e), generic_category());
-- return *this;
-- }
-+ { return *this = make_error_condition(__e); }
-
- void
- clear()
-Index: libstdc++-v3/include/std/thread
-===================================================================
---- libstdc++-v3/include/std/thread (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/include/std/thread (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -135,7 +135,7 @@
- ~thread()
- {
- if (joinable())
-- detach();
-+ std::terminate();
- }
-
- thread& operator=(const thread&) = delete;
-@@ -143,7 +143,7 @@
- thread& operator=(thread&& __t)
- {
- if (joinable())
-- detach();
-+ std::terminate();
- swap(__t);
- return *this;
- }
-Index: libstdc++-v3/include/std/mutex
-===================================================================
---- libstdc++-v3/include/std/mutex (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/include/std/mutex (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -729,8 +729,11 @@
- #else
- extern function<void()> __once_functor;
-
-- extern unique_lock<mutex>&
-- __get_once_functor_lock();
-+ extern void
-+ __set_once_functor_lock_ptr(unique_lock<mutex>*);
-+
-+ extern mutex&
-+ __get_once_mutex();
- #endif
-
- extern "C" void __once_proxy();
-@@ -745,16 +748,16 @@
- __once_callable = &__bound_functor;
- __once_call = &__once_call_impl<decltype(__bound_functor)>;
- #else
-- unique_lock<mutex>& __functor_lock = __get_once_functor_lock();
-- __functor_lock.lock();
-+ unique_lock<mutex> __functor_lock(__get_once_mutex());
- __once_functor = bind(__f, __args...);
-+ __set_once_functor_lock_ptr(&__functor_lock);
- #endif
-
- int __e = __gthread_once(&(__once._M_once), &__once_proxy);
-
- #ifndef _GLIBCXX_HAVE_TLS
- if (__functor_lock)
-- __functor_lock.unlock();
-+ __set_once_functor_lock_ptr(0);
- #endif
-
- if (__e)
-Index: libstdc++-v3/include/parallel/algo.h
-===================================================================
---- libstdc++-v3/include/parallel/algo.h (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/include/parallel/algo.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -149,8 +149,8 @@
-
- if (_GLIBCXX_PARALLEL_CONDITION(true))
- {
-- binder2nd<__gnu_parallel::equal_to<value_type, T> >
-- comp(__gnu_parallel::equal_to<value_type, T>(), val);
-+ binder2nd<__gnu_parallel::equal_to<value_type, const T&> >
-+ comp(__gnu_parallel::equal_to<value_type, const T&>(), val);
- return __gnu_parallel::find_template(begin, end, begin, comp,
- __gnu_parallel::
- find_if_selector()).first;
-Index: libstdc++-v3/src/math_stubs_long_double.cc
-===================================================================
---- libstdc++-v3/src/math_stubs_long_double.cc (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/src/math_stubs_long_double.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -70,6 +70,14 @@
- }
- #endif
-
-+#ifndef _GLIBCXX_HAVE_CEILL
-+ long double
-+ ceill(long double x)
-+ {
-+ return ceil((double) x);
-+ }
-+#endif
-+
- #ifndef _GLIBCXX_HAVE_COSL
- long double
- cosl(long double x)
-Index: libstdc++-v3/src/mutex.cc
-===================================================================
---- libstdc++-v3/src/mutex.cc (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/src/mutex.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -28,11 +28,11 @@
- #ifndef _GLIBCXX_HAVE_TLS
- namespace
- {
-- std::mutex&
-- get_once_mutex()
-+ inline std::unique_lock<std::mutex>*&
-+ __get_once_functor_lock_ptr()
- {
-- static std::mutex once_mutex;
-- return once_mutex;
-+ static std::unique_lock<std::mutex>* __once_functor_lock_ptr = 0;
-+ return __once_functor_lock_ptr;
- }
- }
- #endif
-@@ -55,10 +55,25 @@
- template class function<void()>;
- function<void()> __once_functor;
-
-+ mutex&
-+ __get_once_mutex()
-+ {
-+ static mutex once_mutex;
-+ return once_mutex;
-+ }
-+
-+ // code linked against ABI 3.4.12 and later uses this
-+ void
-+ __set_once_functor_lock_ptr(unique_lock<mutex>* __ptr)
-+ {
-+ __get_once_functor_lock_ptr() = __ptr;
-+ }
-+
-+ // unsafe - retained for compatibility with ABI 3.4.11
- unique_lock<mutex>&
- __get_once_functor_lock()
- {
-- static unique_lock<mutex> once_functor_lock(get_once_mutex(), defer_lock);
-+ static unique_lock<mutex> once_functor_lock(__get_once_mutex(), defer_lock);
- return once_functor_lock;
- }
- #endif
-@@ -69,7 +84,14 @@
- {
- #ifndef _GLIBCXX_HAVE_TLS
- function<void()> __once_call = std::move(__once_functor);
-- __get_once_functor_lock().unlock();
-+ if (unique_lock<mutex>* __lock = __get_once_functor_lock_ptr())
-+ {
-+ // caller is using new ABI and provided lock ptr
-+ __get_once_functor_lock_ptr() = 0;
-+ __lock->unlock();
-+ }
-+ else
-+ __get_once_functor_lock().unlock(); // global lock
- #endif
- __once_call();
- }
-Index: libstdc++-v3/scripts/run_doxygen
-===================================================================
---- libstdc++-v3/scripts/run_doxygen (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/scripts/run_doxygen (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,7 +1,8 @@
- #!/bin/bash
-
- # Runs doxygen and massages the output files.
--# Copyright (C) 2001, 2002, 2003, 2004, 2008 Free Software Foundation, Inc.
-+# Copyright (C) 2001, 2002, 2003, 2004, 2008, 2009
-+# Free Software Foundation, Inc.
- #
- # Synopsis: run_doxygen --mode=[html|man|xml] --host_alias=<alias> \
- # v3srcdir v3builddir
-@@ -225,11 +226,9 @@
-
- # man pages are for functions/types/other entities, not source files
- # directly. who the heck would type "man foo.h" anyhow?
--#find . -name "[a-z]*" -a ! -name "std_*" -print | xargs rm
-+find . -name "[a-z]*" -a ! -name "std_*" -print | xargs rm
- rm -f *.h.3 *.hpp.3 *config* *.cc.3 *.tcc.3 *_t.3
--rm ext_*.3
--rm tr1_*.3
--rm debug_*.3
-+#rm ext_*.3 tr1_*.3 debug_*.3
-
- # this is used to examine what we would have deleted, for debugging
- #mkdir trash
-@@ -254,19 +253,19 @@
- # Some of the pages for generated modules have text that confuses certain
- # implementations of man(1), e.g., Linux's. We need to have another top-level
- # *roff tag to /stop/ the .SH NAME entry.
--#problematic=`egrep --files-without-match '^\.SH SYNOPSIS' [A-Z]*.3`
--
-+problematic=`egrep --files-without-match '^\.SH SYNOPSIS' [A-Z]*.3`
- #problematic='Containers.3 Sequences.3 Assoc_containers.3 Iterator_types.3'
--#for f in $problematic; do
--# sed '/^\.SH NAME/{
--#n
--#a\
--#\
--#.SH SYNOPSIS
--# }' $f > TEMP
--# mv TEMP $f
--#done
-
-+for f in $problematic; do
-+ sed '/^\.SH NAME/{
-+n
-+a\
-+\
-+.SH SYNOPSIS
-+ }' $f > TEMP
-+ mv TEMP $f
-+done
-+
- # Also, break this (generated) line up. It's ugly as sin.
- problematic=`grep -l '[^^]Definition at line' *.3`
- for f in $problematic; do
-@@ -320,8 +319,11 @@
- newname=`echo $f | sed 's/^__atomic2_/std::__atomic2::/'`
- mv $f $newname
- done
-+for f in __cxxabiv1_*; do
-+ newname=`echo $f | sed 's/^__cxxabiv1_/abi::/'`
-+ mv $f $newname
-+done
-
--
- # Generic removal bits, where there are things in the generated man
- # pages that need to be killed.
- for f in *_libstdc__-v3_*; do
-Index: libstdc++-v3/scripts/create_testsuite_files
-===================================================================
---- libstdc++-v3/scripts/create_testsuite_files (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/scripts/create_testsuite_files (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -32,7 +32,7 @@
- # This is the ugly version of "everything but the current directory". It's
- # what has to happen when find(1) doesn't support -mindepth, or -xtype.
- dlist=`echo [0-9][0-9]*`
--dlist="$dlist abi backward ext performance thread tr1"
-+dlist="$dlist abi backward ext performance tr1"
- find $dlist "(" -type f -o -type l ")" -name "*.cc" -print > $tmp.01
- find $dlist "(" -type f -o -type l ")" -name "*.c" -print > $tmp.02
- cat $tmp.01 $tmp.02 | sort > $tmp.1
-Index: libstdc++-v3/libsupc++/eh_ptr.cc
-===================================================================
---- libstdc++-v3/libsupc++/eh_ptr.cc (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/libsupc++/eh_ptr.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -26,6 +26,8 @@
-
- #ifdef _GLIBCXX_ATOMIC_BUILTINS_4
-
-+#define _GLIBCXX_EH_PTR_COMPAT
-+
- #include <exception>
- #include <exception_ptr.h>
- #include "unwind-cxx.h"
-@@ -127,6 +129,7 @@
- }
-
-
-+// Retained for compatibility with CXXABI_1.3.
- bool
- std::__exception_ptr::exception_ptr::operator!() const throw()
- {
-@@ -134,6 +137,7 @@
- }
-
-
-+// Retained for compatibility with CXXABI_1.3.
- std::__exception_ptr::exception_ptr::operator __safe_bool() const throw()
- {
- return _M_exception_object ? &exception_ptr::_M_safe_bool_dummy : 0;
-@@ -235,4 +239,6 @@
- std::terminate ();
- }
-
-+#undef _GLIBCXX_EH_PTR_COMPAT
-+
- #endif
-Index: libstdc++-v3/libsupc++/exception_ptr.h
-===================================================================
---- libstdc++-v3/libsupc++/exception_ptr.h (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/libsupc++/exception_ptr.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -121,7 +121,7 @@
- exception_ptr&
- operator=(exception_ptr&& __o) throw()
- {
-- exception_ptr(__o).swap(*this);
-+ exception_ptr(static_cast<exception_ptr&&>(__o)).swap(*this);
- return *this;
- }
- #endif
-@@ -131,18 +131,11 @@
- void
- swap(exception_ptr&) throw();
-
--#ifdef __GXX_EXPERIMENTAL_CXX0X__
-- void
-- swap(exception_ptr &&__o) throw()
-- {
-- void *__tmp = _M_exception_object;
-- _M_exception_object = __o._M_exception_object;
-- __o._M_exception_object = __tmp;
-- }
--#endif
--
-+#ifdef _GLIBCXX_EH_PTR_COMPAT
-+ // Retained for compatibility with CXXABI_1.3.
- bool operator!() const throw();
- operator __safe_bool() const throw();
-+#endif
-
- friend bool
- operator==(const exception_ptr&, const exception_ptr&) throw();
-Index: libstdc++-v3/ChangeLog
-===================================================================
---- libstdc++-v3/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,3 +1,189 @@
-+2009-06-24 Jonathan Wakely <jwakely.gcc@gmail.com>
-+
-+ PR libstdc++/40297
-+ * include/bits/atomic_0.h: Reverse debug assertions.
-+ * include/bits/atomic_2.h: Likewise.
-+
-+2009-06-20 Paolo Carlini <paolo.carlini@oracle.com>
-+
-+ * Revert last Change.
-+
-+2009-06-20 Paolo Carlini <paolo.carlini@oracle.com>
-+
-+ PR libstdc++/40497
-+ * include/bits/stl_iterator_base_funcs.h (next, prev): Fix the
-+ signature per the current C++1x draft (N2857).
-+ * testsuite/24_iterators/operations/40497.cc: Add.
-+
-+2009-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
-+
-+ * libsupc++/exception_ptr.h (exception_ptr::swap(exception_ptr&&)):
-+ Remove.
-+ (exception_ptr::operator=(exception_ptr&&)): Cast source to
-+ rvalue-reference so that move constructor is called.
-+ * testsuite/18_support/exception_ptr/move.cc: New.
-+
-+2009-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
-+
-+ * include/std/thread (~thread(), operator=(thread&&)): Call terminate
-+ if joinable.
-+
-+2009-06-03 Paolo Carlini <paolo.carlini@oracle.com>
-+
-+ PR libstdc++/40296
-+ * libsupc++/exception_ptr.h (exception_ptr::operator!,
-+ exception_ptr::operator __safe_bool): Only declare when
-+ _GLIBCXX_EH_PTR_COMPAT is undefined.
-+ * libsupc++/eh_ptr.cc: Define _GLIBCXX_EH_PTR_COMPAT before including
-+ exception_ptr.
-+ * testsuite/18_support/exception_ptr/40296.cc: New.
-+ * testsuite/18_support/exception_ptr/current_exception.cc: Adjust.
-+
-+2009-06-03 Paolo Carlini <paolo.carlini@oracle.com>
-+
-+ PR libstdc++/40299
-+ * include/ext/memory: Fully qualify calls with __gnu_cxx.
-+ * testsuite/ext/rope/40299.cc: New.
-+
-+2009-05-21 David Billinghurst <billingd@gcc.gnu.org>
-+
-+ Backport from mainline:
-+ PR libstdc++/36211
-+ * testsuite/lib/libstdc++.exp(v3_target_compile): Add
-+ cxxldflags to additional_flags rather than cxx_final.
-+
-+2009-05-18 Paolo Carlini <paolo.carlini@oracle.com>
-+
-+ PR libstdc++/40192
-+ * include/bits/stl_construct.h (struct _Destroy_aux): Add.
-+ (_Destroy(_ForwardIterator, _ForwardIterator)): Use the latter.
-+ * testsuite/23_containers/vector/40192.cc: New.
-+
-+2009-05-13 Ben Elliston <bje@au.ibm.com>
-+
-+ Backport from mainline:
-+ * include/Makefile.am (PCHFLAGS): Remove -Winvalid-pch.
-+ * include/Makefile.in: Likewise.
-+
-+2009-05-12 Johannes Singler <singler@ira.uka.de>
-+
-+ PR libstdc++/39546
-+ * include/parallel/algo.h (find_switch):
-+ Parametrize binder2nd with const T& instead of T.
-+ * testsuite/25_algorithms/find/39546.cc: new test case
-+
-+2009-05-07 Paolo Carlini <paolo.carlini@oracle.com>
-+
-+ * configure.ac: Bump libtool_VERSION to 6:12:0.
-+ * configure: Regenerate.
-+
-+2009-05-07 Matthias Klose <doko@ubuntu.com>
-+
-+ PR libstdc++/40038
-+ * src/math_stubs_long_double.cc: Add ceill.
-+
-+2009-05-06 Paolo Carlini <paolo.carlini@oracle.com>
-+
-+ Revert:
-+ 2009-05-03 Paolo Carlini <paolo.carlini@oracle.com>
-+
-+ * acinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): Do link tests when
-+ possible.
-+ * configure: Regenerate.
-+
-+2009-05-05 Jonathan Wakely <jwakely.gcc@gmail.com>
-+
-+ PR libstdc++/39909
-+ * include/std/mutex (__get_once_functor_lock, __get_once_mutex,
-+ __set_once_functor_lock_ptr): Replace global lock object with local
-+ locks on global mutex.
-+ * src/mutex.cc (__get_once_functor_lock, __get_once_mutex,
-+ __set_once_functor_lock_ptr): Likewise, keeping old function to
-+ preserve ABI.
-+ (__once_proxy): Use pointer to local lock if set, global lock
-+ otherwise.
-+ * config/abi/pre/gnu.ver: Add new symbols to new ABI version.
-+ * testsuite/util/testsuite_abi.cc: Add GLIBCX_3.4.12 version.
-+ * testsuite/30_threads/call_once/39909.cc: New.
-+
-+2009-05-05 Paolo Carlini <paolo.carlini@oracle.com>
-+
-+ * acinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): Do link tests when
-+ possible.
-+ * configure: Regenerate.
-+
-+2009-04-30 Jonathan Wakely <jwakely.gcc@gmail.com>
-+
-+ * scripts/create_testsuite_files: Remove thread directory.
-+
-+2009-04-29 Benjamin Kosnik <bkoz@redhat.com>
-+
-+ * xml/authors.xml: Add space.
-+ * xml/faq.xml: Update links.
-+ * xml/manual/intro.xml: Same.
-+ * xml/manual/abi.xml: Update.
-+ * xml/manual/appendix_contributing.xml: Fix typo.
-+ * xml/manual/status_cxxtr1.xml: Update links.
-+ * xml/manual/status_cxx1998.xml: Same.
-+ * xml/manual/status_cxx200x.xml: Same.
-+
-+2009-04-28 Benjamin Kosnik <bkoz@redhat.com>
-+
-+ PR libstdc++/39868
-+ * scripts/run_doxygen: Uncomment removal of includes.
-+ (problematic): Rewrite __cxxabiv1 namespace to abi.
-+
-+2009-04-28 Paolo Carlini <paolo.carlini@oracle.com>
-+
-+ PR libstdc++/39880
-+ PR libstdc++/39881
-+ PR libstdc++/39882
-+ * include/std/system_error (is_error_code_enum<errc>): Remove.
-+ (error_condition<>::error_condition(_ErrorCodeEnum,)
-+ error_condition<>::operator=(_ErrorCodeEnum)): Use make_error_condition.
-+ (error_code<>::error_code(_ErrorCodeEnum,),
-+ error_code<>::operator=(_ErrorCodeEnum)): Use make_error_code.
-+ * testsuite/19_diagnostics/system_error/39880.cc: New.
-+ * testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
-+ Likewise.
-+ * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
-+ * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
-+ * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
-+ * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
-+ Adjust.
-+ * testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
-+ Likewise.
-+ * testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
-+ * testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
-+ * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
-+ * testsuite/19_diagnostics/error_code/operators/not_equal.cc:
-+ Likewise.
-+ * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
-+ * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
-+ * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
-+ * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
-+
-+2009-04-26 Paolo Carlini <paolo.carlini@oracle.com>
-+
-+ Revert the last commit.
-+
-+2009-04-25 Jonathan Wakely <jwakely.gcc@gmail.com>
-+
-+ * include/std/mutex (__get_once_functor_lock, __get_once_mutex):
-+ Replace global lock object with local locks on global mutex.
-+ * src/mutex.cc: Likewise.
-+ * config/abi/pre/gnu.ver: Adjust.
-+ * testsuite/30_threads/call_once/call_once2.cc: New.
-+
-+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/25_algorithms/find/39546.cc
-===================================================================
---- libstdc++-v3/testsuite/25_algorithms/find/39546.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/25_algorithms/find/39546.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,43 @@
-+// Copyright (C) 2009 Free Software Foundation, Inc.
-+//
-+// 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/>.
-+
-+// 25.3.1 algorithms, find()
-+
-+#include <vector>
-+#include <string>
-+#include <algorithm>
-+#include <testsuite_hooks.h>
-+
-+// libstdc++/39546
-+void
-+test01()
-+{
-+ bool test __attribute__((unused)) = true;
-+
-+ std::vector<std::string> dict;
-+ dict.push_back("one");
-+ dict.push_back("two");
-+ dict.push_back("three");
-+
-+ VERIFY( std::find(dict.begin(), dict.end(), "two") == dict.begin() + 1 );
-+}
-+
-+int
-+main()
-+{
-+ test01();
-+}
-Index: libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc
-===================================================================
---- libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,6 +1,6 @@
- // { dg-options "-std=gnu++0x" }
-
--// Copyright (C) 2007, 2009 Free Software Foundation
-+// Copyright (C) 2007, 2008, 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
-@@ -32,7 +32,7 @@
-
- wchar_t buf[64];
- error_code e1;
-- error_code e2(errc::bad_address);
-+ error_code e2(make_error_code(errc::bad_address));
- wstring s, s1, s2;
-
- {
-Index: libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc
-===================================================================
---- libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -32,7 +32,7 @@
-
- char buf[64];
- error_code e1;
-- error_code e2(errc::bad_address);
-+ error_code e2(make_error_code(errc::bad_address));
- string s, s1, s2;
-
- {
-Index: libstdc++-v3/testsuite/19_diagnostics/error_condition/modifiers/39881.cc
-===================================================================
---- libstdc++-v3/testsuite/19_diagnostics/error_condition/modifiers/39881.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/19_diagnostics/error_condition/modifiers/39881.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,61 @@
-+// { dg-options "-std=gnu++0x" }
-+
-+// Copyright (C) 2009 Free Software Foundation, Inc.
-+//
-+// 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/>.
-+
-+#include <system_error>
-+#include <testsuite_hooks.h>
-+
-+enum my_errc { my_err = 0 };
-+
-+class my_error_category_impl
-+: public std::error_category
-+{
-+public:
-+ const char* name() const { return ""; }
-+ std::string message(int) const { return ""; }
-+} my_error_category_instance;
-+
-+std::error_condition
-+make_error_condition(my_errc e)
-+{
-+ return std::error_condition(static_cast<int>(e),
-+ my_error_category_instance);
-+}
-+
-+namespace std
-+{
-+ template<>
-+ struct is_error_condition_enum<my_errc>
-+ : public true_type { };
-+}
-+
-+// libstdc++/39881
-+void test01()
-+{
-+ bool test __attribute__((unused)) = true;
-+
-+ std::error_condition ec2;
-+ ec2 = my_err;
-+ VERIFY( ec2 == make_error_condition(my_err) );
-+}
-+
-+int main()
-+{
-+ test01();
-+ return 0;
-+}
-Index: libstdc++-v3/testsuite/19_diagnostics/error_condition/cons/39881.cc
-===================================================================
---- libstdc++-v3/testsuite/19_diagnostics/error_condition/cons/39881.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/19_diagnostics/error_condition/cons/39881.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,60 @@
-+// { dg-options "-std=gnu++0x" }
-+
-+// Copyright (C) 2009 Free Software Foundation, Inc.
-+//
-+// 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/>.
-+
-+#include <system_error>
-+#include <testsuite_hooks.h>
-+
-+enum my_errc { my_err = 0 };
-+
-+class my_error_category_impl
-+: public std::error_category
-+{
-+public:
-+ const char* name() const { return ""; }
-+ std::string message(int) const { return ""; }
-+} my_error_category_instance;
-+
-+std::error_condition
-+make_error_condition(my_errc e)
-+{
-+ return std::error_condition(static_cast<int>(e),
-+ my_error_category_instance);
-+}
-+
-+namespace std
-+{
-+ template<>
-+ struct is_error_condition_enum<my_errc>
-+ : public true_type { };
-+}
-+
-+// libstdc++/39881
-+void test01()
-+{
-+ bool test __attribute__((unused)) = true;
-+
-+ std::error_condition ec1(my_err);
-+ VERIFY( ec1 == make_error_condition(my_err) );
-+}
-+
-+int main()
-+{
-+ test01();
-+ return 0;
-+}
-Index: libstdc++-v3/testsuite/19_diagnostics/error_code/modifiers/39882.cc
-===================================================================
---- libstdc++-v3/testsuite/19_diagnostics/error_code/modifiers/39882.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/19_diagnostics/error_code/modifiers/39882.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,61 @@
-+// { dg-options "-std=gnu++0x" }
-+
-+// Copyright (C) 2009 Free Software Foundation, Inc.
-+//
-+// 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/>.
-+
-+#include <system_error>
-+#include <testsuite_hooks.h>
-+
-+enum my_errc { my_err = 0 };
-+
-+class my_error_category_impl
-+: public std::error_category
-+{
-+public:
-+ const char* name() const { return ""; }
-+ std::string message(int) const { return ""; }
-+} my_error_category_instance;
-+
-+std::error_code
-+make_error_code(my_errc e)
-+{
-+ return std::error_code(static_cast<int>(e),
-+ my_error_category_instance);
-+}
-+
-+namespace std
-+{
-+ template<>
-+ struct is_error_code_enum<my_errc>
-+ : public true_type {};
-+}
-+
-+// libstdc++/39882
-+void test01()
-+{
-+ bool test __attribute__((unused)) = true;
-+
-+ std::error_code ec2;
-+ ec2 = my_err;
-+ VERIFY( ec2 == make_error_code(my_err) );
-+}
-+
-+int main()
-+{
-+ test01();
-+ return 0;
-+}
-Index: libstdc++-v3/testsuite/19_diagnostics/error_code/cons/39882.cc
-===================================================================
---- libstdc++-v3/testsuite/19_diagnostics/error_code/cons/39882.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/19_diagnostics/error_code/cons/39882.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,60 @@
-+// { dg-options "-std=gnu++0x" }
-+
-+// Copyright (C) 2009 Free Software Foundation, Inc.
-+//
-+// 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/>.
-+
-+#include <system_error>
-+#include <testsuite_hooks.h>
-+
-+enum my_errc { my_err = 0 };
-+
-+class my_error_category_impl
-+: public std::error_category
-+{
-+public:
-+ const char* name() const { return ""; }
-+ std::string message(int) const { return ""; }
-+} my_error_category_instance;
-+
-+std::error_code
-+make_error_code(my_errc e)
-+{
-+ return std::error_code(static_cast<int>(e),
-+ my_error_category_instance);
-+}
-+
-+namespace std
-+{
-+ template<>
-+ struct is_error_code_enum<my_errc>
-+ : public true_type {};
-+}
-+
-+// libstdc++/39882
-+void test01()
-+{
-+ bool test __attribute__((unused)) = true;
-+
-+ std::error_code ec1(my_err);
-+ VERIFY( ec1 == make_error_code(my_err) );
-+}
-+
-+int main()
-+{
-+ test01();
-+ return 0;
-+}
-Index: libstdc++-v3/testsuite/19_diagnostics/error_code/cons/1.cc
-===================================================================
---- libstdc++-v3/testsuite/19_diagnostics/error_code/cons/1.cc (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/testsuite/19_diagnostics/error_code/cons/1.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -37,7 +37,7 @@
- VERIFY( e2.category() == cat );
-
- // 3
-- std::error_code e3(std::errc::operation_not_supported);
-+ std::error_code e3(std::make_error_code(std::errc::operation_not_supported));
- VERIFY( e3.value() == int(std::errc::operation_not_supported) );
- VERIFY( e3.category() == std::generic_category() );
-
-Index: libstdc++-v3/testsuite/19_diagnostics/error_code/operators/bool.cc
-===================================================================
---- libstdc++-v3/testsuite/19_diagnostics/error_code/operators/bool.cc (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/testsuite/19_diagnostics/error_code/operators/bool.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -34,7 +34,7 @@
- }
-
- // 2
-- std::error_code e2(std::errc::operation_not_supported);
-+ std::error_code e2(std::make_error_code(std::errc::operation_not_supported));
- if (e2)
- {
- VERIFY( true );
-Index: libstdc++-v3/testsuite/19_diagnostics/error_code/operators/equal.cc
-===================================================================
---- libstdc++-v3/testsuite/19_diagnostics/error_code/operators/equal.cc (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/testsuite/19_diagnostics/error_code/operators/equal.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -27,7 +27,7 @@
- bool test __attribute__((unused)) = true;
-
- std::error_code e1;
-- std::error_code e2(std::errc::operation_not_supported);
-+ std::error_code e2(std::make_error_code(std::errc::operation_not_supported));
-
- VERIFY( e1 == e1 );
- VERIFY( !(e1 == e2) );
-Index: libstdc++-v3/testsuite/19_diagnostics/error_code/operators/not_equal.cc
-===================================================================
---- libstdc++-v3/testsuite/19_diagnostics/error_code/operators/not_equal.cc (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/testsuite/19_diagnostics/error_code/operators/not_equal.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -27,7 +27,7 @@
- bool test __attribute__((unused)) = true;
-
- std::error_code e1;
-- std::error_code e2(std::errc::operation_not_supported);
-+ std::error_code e2(std::make_error_code(std::errc::operation_not_supported));
-
- VERIFY( !(e1 != e1) );
- VERIFY( e1 != e2 );
-Index: libstdc++-v3/testsuite/19_diagnostics/error_category/cons/copy_neg.cc
-===================================================================
---- libstdc++-v3/testsuite/19_diagnostics/error_category/cons/copy_neg.cc (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/testsuite/19_diagnostics/error_category/cons/copy_neg.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -32,7 +32,7 @@
- return 0;
- }
-
--// { dg-error "deleted function" "" { target *-*-* } 76 }
-+// { dg-error "deleted function" "" { target *-*-* } 72 }
- // { dg-error "used here" "" { target *-*-* } 31 }
- // { dg-error "first required here" "" { target *-*-* } 30 }
- // { dg-excess-errors "copy constructor" }
-Index: libstdc++-v3/testsuite/19_diagnostics/system_error/39880.cc
-===================================================================
---- libstdc++-v3/testsuite/19_diagnostics/system_error/39880.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/19_diagnostics/system_error/39880.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,29 @@
-+// { dg-options "-std=gnu++0x" }
-+// { dg-do compile }
-+
-+// Copyright (C) 2009 Free Software Foundation, Inc.
-+//
-+// 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/>.
-+
-+#include <system_error>
-+
-+// libstdc++/39880
-+void test01()
-+{
-+ std::error_code ec;
-+ if (ec == std::errc::not_supported)
-+ { }
-+}
-Index: libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc
-===================================================================
---- libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -26,7 +26,8 @@
- {
- bool test __attribute__((unused)) = true;
- const std::string s("too late: boulangerie out of pain au raisin");
-- const std::error_code e(std::errc::operation_not_supported);
-+ const std::error_code
-+ e(std::make_error_code(std::errc::operation_not_supported));
-
- // 1
- {
-Index: libstdc++-v3/testsuite/19_diagnostics/system_error/what-4.cc
-===================================================================
---- libstdc++-v3/testsuite/19_diagnostics/system_error/what-4.cc (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/testsuite/19_diagnostics/system_error/what-4.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -31,7 +31,8 @@
- bool test __attribute__((unused)) = true;
- std::string s("after nine thirty, this request cannot be met");
-
-- std::system_error obj = std::system_error(std::errc::invalid_argument, s);
-+ std::system_error obj =
-+ std::system_error(std::make_error_code(std::errc::invalid_argument), s);
- std::string s1(obj.what());
- std::string s2(obj.what());
- VERIFY( s1 == s2 );
-Index: libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc
-===================================================================
---- libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -31,7 +31,7 @@
- using namespace std;
-
- exception_ptr ep = current_exception();
-- VERIFY( !ep );
-+ VERIFY( ep == 0 );
- }
-
- void test02()
-@@ -43,7 +43,7 @@
- throw 0;
- } catch(...) {
- exception_ptr ep = current_exception();
-- VERIFY( ep );
-+ VERIFY( ep != 0 );
- }
- }
-
-@@ -56,7 +56,7 @@
- throw exception();
- } catch(std::exception&) {
- exception_ptr ep = current_exception();
-- VERIFY( ep );
-+ VERIFY( ep != 0 );
- }
- }
-
-Index: libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc
-===================================================================
---- libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,30 @@
-+// { dg-do compile }
-+// { dg-options "-std=gnu++0x" }
-+// { dg-require-atomic-builtins "" }
-+
-+// Copyright (C) 2009 Free Software Foundation, Inc.
-+//
-+// 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/>.
-+
-+#include <exception>
-+
-+// libstdc++/40296
-+bool test01()
-+{
-+ std::exception_ptr p;
-+
-+ return (p == 0);
-+}
-Index: libstdc++-v3/testsuite/18_support/exception_ptr/move.cc
-===================================================================
---- libstdc++-v3/testsuite/18_support/exception_ptr/move.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/18_support/exception_ptr/move.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,45 @@
-+// { dg-options "-std=gnu++0x" }
-+// { dg-require-atomic-builtins "" }
-+
-+// Copyright (C) 2009 Free Software Foundation, Inc.
-+//
-+// 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/>.
-+
-+#include <exception>
-+#include <utility>
-+#include <testsuite_hooks.h>
-+
-+// Verify move construction and assignment are efficient and do not copy.
-+// This behaviour is a GNU extension provided for efficiency.
-+void test01()
-+{
-+ bool test = true;
-+
-+ std::exception_ptr p1 = std::copy_exception(test);
-+ std::exception_ptr p2 = std::move(p1);
-+ VERIFY( p1 == 0 );
-+ VERIFY( !(p2 == 0) );
-+
-+ p1 = std::move(p2);
-+ VERIFY( !(p1 == 0) );
-+ VERIFY( p2 == 0 );
-+}
-+
-+int main()
-+{
-+ test01();
-+ return 0;
-+}
-Index: libstdc++-v3/testsuite/30_threads/call_once/39909.cc
-===================================================================
---- libstdc++-v3/testsuite/30_threads/call_once/39909.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/30_threads/call_once/39909.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,56 @@
-+// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
-+// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
-+// { dg-require-cstdint "" }
-+// { dg-require-gthreads "" }
-+
-+// Copyright (C) 2009 Free Software Foundation, Inc.
-+//
-+// 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/>.
-+
-+
-+#include <mutex>
-+#include <thread>
-+#include <testsuite_hooks.h>
-+
-+std::once_flag flag;
-+int value = 0;
-+
-+struct Inc { void operator()() const { ++value; } };
-+
-+struct Func
-+{
-+ void operator()() const
-+ {
-+ Inc inc;
-+ for (int i = 0; i < 10000; ++i)
-+ std::call_once(flag, inc);
-+ }
-+};
-+
-+int main()
-+{
-+ Func f;
-+ std::thread t1(f);
-+ std::thread t2(f);
-+ std::thread t3(f);
-+ t1.join();
-+ t2.join();
-+ t3.join();
-+ VERIFY( value == 1 );
-+ return 0;
-+}
-Index: libstdc++-v3/testsuite/30_threads/unique_lock/locking/2.cc
-===================================================================
---- libstdc++-v3/testsuite/30_threads/unique_lock/locking/2.cc (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/testsuite/30_threads/unique_lock/locking/2.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -44,7 +44,8 @@
- }
- catch (const std::system_error& ex)
- {
-- VERIFY( ex.code() == std::error_code(std::errc::operation_not_permitted) );
-+ VERIFY( ex.code() == std::make_error_code
-+ (std::errc::operation_not_permitted) );
- }
- catch (...)
- {
-@@ -80,8 +81,8 @@
- }
- catch (const std::system_error& ex)
- {
-- VERIFY( ex.code() == std::error_code(
-- std::errc::resource_deadlock_would_occur) );
-+ VERIFY( ex.code() == std::make_error_code
-+ (std::errc::resource_deadlock_would_occur) );
- }
- catch (...)
- {
-Index: libstdc++-v3/testsuite/ext/rope/40299.cc
-===================================================================
---- libstdc++-v3/testsuite/ext/rope/40299.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/ext/rope/40299.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,27 @@
-+// { dg-options "-std=gnu++0x" }
-+// { dg-do compile }
-+
-+// Copyright (C) 2009 Free Software Foundation, Inc.
-+//
-+// 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/>.
-+
-+#include <ext/rope>
-+
-+// libstdc++/40299
-+void test01()
-+{
-+ __gnu_cxx::crope asdf;
-+}
-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 149030)
-@@ -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 149030)
-@@ -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: libstdc++-v3/testsuite/lib/libstdc++.exp
-===================================================================
---- libstdc++-v3/testsuite/lib/libstdc++.exp (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/testsuite/lib/libstdc++.exp (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -402,8 +402,7 @@
- # Flag setting based on type argument.
- if { $type == "executable" } {
- # Link the support objects into executables.
-- set cxx_final [concat $cxx_final $cxxldflags]
-- lappend options "additional_flags=./libtestc++.a"
-+ lappend options "additional_flags=./libtestc++.a $cxxldflags"
- } else {
- if { $type == "sharedlib" } {
- # Don't link in anything.
-Index: libstdc++-v3/testsuite/23_containers/vector/40192.cc
-===================================================================
---- libstdc++-v3/testsuite/23_containers/vector/40192.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/23_containers/vector/40192.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,28 @@
-+// Copyright (C) 2009 Free Software Foundation, Inc.
-+//
-+// 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/>.
-+
-+// { dg-do compile }
-+
-+// libstdc++/40192
-+
-+#include <vector>
-+
-+void test01()
-+{
-+ typedef float float4[4];
-+ std::vector<float4> vals;
-+}
-Index: libstdc++-v3/testsuite/util/testsuite_abi.cc
-===================================================================
---- libstdc++-v3/testsuite/util/testsuite_abi.cc (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/testsuite/util/testsuite_abi.cc (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -183,6 +183,7 @@
- known_versions.push_back("GLIBCXX_3.4.9");
- known_versions.push_back("GLIBCXX_3.4.10");
- known_versions.push_back("GLIBCXX_3.4.11");
-+ known_versions.push_back("GLIBCXX_3.4.12");
- known_versions.push_back("GLIBCXX_LDBL_3.4");
- known_versions.push_back("GLIBCXX_LDBL_3.4.7");
- known_versions.push_back("GLIBCXX_LDBL_3.4.10");
-Index: libstdc++-v3/configure.ac
-===================================================================
---- libstdc++-v3/configure.ac (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/configure.ac (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -12,7 +12,7 @@
- ### am handles this now? ORIGINAL_LD_FOR_MULTILIBS=$LD
-
- # For libtool versioning info, format is CURRENT:REVISION:AGE
--libtool_VERSION=6:11:0
-+libtool_VERSION=6:12:0
- AC_SUBST(libtool_VERSION)
-
- # Find the rest of the source tree framework.
-Index: libstdc++-v3/config/abi/pre/gnu.ver
-===================================================================
---- libstdc++-v3/config/abi/pre/gnu.ver (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/config/abi/pre/gnu.ver (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -958,6 +958,14 @@
-
- } GLIBCXX_3.4.10;
-
-+GLIBCXX_3.4.12 {
-+
-+ # mutex
-+ _ZSt27__set_once_functor_lock_ptrPSt11unique_lockISt5mutexE;
-+ _ZSt16__get_once_mutexv;
-+
-+} GLIBCXX_3.4.11;
-+
- # Symbols in the support library (libsupc++) have their own tag.
- CXXABI_1.3 {
-
-Index: libstdc++-v3/doc/xml/authors.xml
-===================================================================
---- libstdc++-v3/doc/xml/authors.xml (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/doc/xml/authors.xml (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -21,6 +21,16 @@
- -->
-
- <author>
-+ <firstname></firstname>
-+ <surname></surname>
-+
-+ <authorblurb>
-+ <para>
-+ </para>
-+ </authorblurb>
-+ </author>
-+
-+ <author>
- <firstname>Paolo</firstname>
- <surname>Carlini</surname>
-
-Index: libstdc++-v3/doc/xml/faq.xml
-===================================================================
---- libstdc++-v3/doc/xml/faq.xml (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/doc/xml/faq.xml (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -692,9 +692,9 @@
- </para>
- <para>
- Long answer: See the implementation status pages for
-- <link linkend="manual.intro.status.standard.1998">C++98</link>,
-- <link linkend="manual.intro.status.standard.tr1">TR1</link>, and
-- <link linkend="manual.intro.status.standard.200x">C++0x</link>.
-+ <link linkend="status.iso.1998">C++98</link>,
-+ <link linkend="status.iso.tr1">TR1</link>, and
-+ <link linkend="status.iso.200x">C++0x</link>.
- </para>
- </answer>
- </qandaentry>
-@@ -1123,7 +1123,7 @@
- </para>
- <para>
- The implementation status of TR1 in libstdc++ can be tracked <link
-- linkend="manual.intro.status.standard.tr1">on the TR1 status
-+ linkend="status.iso.tr1">on the TR1 status
- page</link>.
- </para>
- </answer>
-Index: libstdc++-v3/doc/xml/manual/intro.xml
-===================================================================
---- libstdc++-v3/doc/xml/manual/intro.xml (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/doc/xml/manual/intro.xml (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -27,7 +27,7 @@
- <title>Status</title>
-
- <!-- Section 01 : Implementation Status -->
-- <sect1 id="manual.intro.status.standard" xreflabel="Status">
-+ <sect1 id="manual.intro.status.iso" xreflabel="Status">
- <title>Implementation Status</title>
-
- <!-- Section 01.1 : Status C++ 1998 -->
-Index: libstdc++-v3/doc/xml/manual/abi.xml
-===================================================================
---- libstdc++-v3/doc/xml/manual/abi.xml (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/doc/xml/manual/abi.xml (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -207,6 +207,7 @@
- <listitem><para>gcc-4.1.0: GCC_4.1.0</para></listitem>
- <listitem><para>gcc-4.2.0: GCC_4.2.0</para></listitem>
- <listitem><para>gcc-4.3.0: GCC_4.3.0</para></listitem>
-+ <listitem><para>gcc-4.4.0: GCC_4.4.0</para></listitem>
- </itemizedlist>
- </listitem>
-
-@@ -264,6 +265,8 @@
- <listitem><para>gcc-4.3.0: libstdc++.so.6.0.10</para></listitem>
- <listitem><para>gcc-4.3.1: libstdc++.so.6.0.10</para></listitem>
- <listitem><para>gcc-4.3.2: libstdc++.so.6.0.10</para></listitem>
-+ <listitem><para>gcc-4.3.3: libstdc++.so.6.0.10</para></listitem>
-+ <listitem><para>gcc-4.4.0: libstdc++.so.6.0.11</para></listitem>
- </itemizedlist>
- <para>
- Note 1: Error should be libstdc++.so.3.0.3.
-@@ -320,6 +323,7 @@
- <listitem><para>gcc-4.1.1: GLIBCXX_3.4.8</para></listitem>
- <listitem><para>gcc-4.2.0: GLIBCXX_3.4.9</para></listitem>
- <listitem><para>gcc-4.3.0: GLIBCXX_3.4.10, CXXABI_1.3.2</para></listitem>
-+ <listitem><para>gcc-4.4.0: GLIBCXX_3.4.11, CXXABI_1.3.3</para></listitem>
- </itemizedlist>
- </listitem>
-
-@@ -426,6 +430,8 @@
- <listitem><para>gcc-4.3.0: 20080306</para></listitem>
- <listitem><para>gcc-4.3.1: 20080606</para></listitem>
- <listitem><para>gcc-4.3.2: 20080827</para></listitem>
-+ <listitem><para>gcc-4.3.3: 20090124</para></listitem>
-+ <listitem><para>gcc-4.4.0: 20090421</para></listitem>
- </itemizedlist>
- <para></para>
- </listitem>
-@@ -524,7 +530,8 @@
- <listitem><para>gcc-4.2.4: include/c++/4.2.4</para></listitem>
- <listitem><para>gcc-4.3.0: include/c++/4.3.0</para></listitem>
- <listitem><para>gcc-4.3.1: include/c++/4.3.1</para></listitem>
-- <listitem><para>gcc-4.3.2: include/c++/4.3.2</para></listitem>
-+ <listitem><para>gcc-4.3.3: include/c++/4.3.3</para></listitem>
-+ <listitem><para>gcc-4.4.0: include/c++/4.4.0</para></listitem>
- </itemizedlist>
- <para></para>
- </listitem>
-Index: libstdc++-v3/doc/xml/manual/status_cxxtr1.xml
-===================================================================
---- libstdc++-v3/doc/xml/manual/status_cxxtr1.xml (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/doc/xml/manual/status_cxxtr1.xml (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,4 +1,4 @@
--<sect2 id="manual.intro.status.standard.tr1" xreflabel="Status C++ TR1">
-+<sect2 id="status.iso.tr1" xreflabel="Status C++ TR1">
- <?dbhtml filename="status_iso_cxxtr1.html"?>
-
- <sect2info>
-Index: libstdc++-v3/doc/xml/manual/status_cxx1998.xml
-===================================================================
---- libstdc++-v3/doc/xml/manual/status_cxx1998.xml (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/doc/xml/manual/status_cxx1998.xml (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,4 +1,4 @@
--<sect2 id="manual.intro.status.standard.1998" xreflabel="ISO C++ 1998">
-+<sect2 id="status.iso.1998" xreflabel="ISO C++ 1998">
- <?dbhtml filename="status_iso_cxx1998.html"?>
-
- <sect2info>
-@@ -14,7 +14,7 @@
-
- <title>C++ 1998/2003</title>
-
--<sect3 id="standard.1998.status" xreflabel="Implementation Status">
-+<sect3 id="iso.1998.status" xreflabel="Implementation Status">
- <title>Implementation Status</title>
-
- <para>
-@@ -1032,7 +1032,7 @@
- </table>
- </sect3>
-
--<sect3 id="standard.1998.specific" xreflabel="Implementation Specific">
-+<sect3 id="iso.1998.specific" xreflabel="Implementation Specific">
- <title>Implementation Specific Behavior</title>
-
- <para>
-Index: libstdc++-v3/doc/xml/manual/appendix_contributing.xml
-===================================================================
---- libstdc++-v3/doc/xml/manual/appendix_contributing.xml (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/doc/xml/manual/appendix_contributing.xml (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1102,7 +1102,7 @@
- For validating the XML document, you'll need
- something like <command>xmllint</command> and access to the
- DocBook DTD. These are provided
-- by a vendor package like <filename>lixml2</filename>.
-+ by a vendor package like <filename>libxml2</filename>.
- </para>
-
- <para>
-Index: libstdc++-v3/doc/xml/manual/status_cxx200x.xml
-===================================================================
---- libstdc++-v3/doc/xml/manual/status_cxx200x.xml (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libstdc++-v3/doc/xml/manual/status_cxx200x.xml (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,4 +1,4 @@
--<sect2 id="manual.intro.status.standard.200x" xreflabel="Status C++ 200x">
-+<sect2 id="status.iso.200x" xreflabel="Status C++ 200x">
- <?dbhtml filename="status_iso_cxx200x.html"?>
-
- <sect2info>
-Index: configure.ac
-===================================================================
---- configure.ac (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ configure.ac (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1250,6 +1250,7 @@
- if test "x$with_gmp$with_gmp_include$with_gmp_lib" = x && test -d ${srcdir}/gmp; then
- gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/.libs -L$$r/$(HOST_SUBDIR)/gmp/_libs '"$gmplibs"
- gmpinc='-I$$r/$(HOST_SUBDIR)/gmp -I$$s/gmp '"$gmpinc"
-+ extra_mpfr_configure_flags='--with-gmp-build=$$r/$(HOST_SUBDIR)/gmp'
- # Do not test the gmp version. Assume that it is sufficient, since
- # it is in the source tree, and the library has not been built yet
- # but it would be included on the link line in the version check below
-@@ -1314,6 +1315,7 @@
- # Flags needed for both GMP and/or MPFR
- AC_SUBST(gmplibs)
- AC_SUBST(gmpinc)
-+AC_SUBST(extra_mpfr_configure_flags)
-
- # Allow host libstdc++ to be specified for static linking with PPL.
- AC_ARG_WITH(host-libstdcxx, [ --with-host-libstdcxx=L Use linker arguments L to link with libstdc++
-Index: libgfortran/Makefile.in
-===================================================================
---- libgfortran/Makefile.in (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libgfortran/Makefile.in (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -416,9 +416,9 @@
- io/size_from_kind.c io/transfer.c io/unit.c io/unix.c \
- io/write.c io/fbuf.c intrinsics/associated.c \
- intrinsics/abort.c intrinsics/access.c intrinsics/args.c \
-- intrinsics/c99_functions.c intrinsics/chdir.c \
-- intrinsics/chmod.c intrinsics/clock.c intrinsics/cpu_time.c \
-- intrinsics/cshift0.c intrinsics/ctime.c \
-+ intrinsics/bit_intrinsics.c intrinsics/c99_functions.c \
-+ intrinsics/chdir.c intrinsics/chmod.c intrinsics/clock.c \
-+ intrinsics/cpu_time.c intrinsics/cshift0.c intrinsics/ctime.c \
- intrinsics/date_and_time.c intrinsics/dtime.c intrinsics/env.c \
- intrinsics/eoshift0.c intrinsics/eoshift2.c \
- intrinsics/erfc_scaled.c intrinsics/etime.c intrinsics/exit.c \
-@@ -711,9 +711,9 @@
- intrinsics.lo list_read.lo lock.lo open.lo read.lo \
- size_from_kind.lo transfer.lo unit.lo unix.lo write.lo fbuf.lo
- am__objects_36 = associated.lo abort.lo access.lo args.lo \
-- c99_functions.lo chdir.lo chmod.lo clock.lo cpu_time.lo \
-- cshift0.lo ctime.lo date_and_time.lo dtime.lo env.lo \
-- eoshift0.lo eoshift2.lo erfc_scaled.lo etime.lo exit.lo \
-+ bit_intrinsics.lo c99_functions.lo chdir.lo chmod.lo clock.lo \
-+ cpu_time.lo cshift0.lo ctime.lo date_and_time.lo dtime.lo \
-+ env.lo eoshift0.lo eoshift2.lo erfc_scaled.lo etime.lo exit.lo \
- fnum.lo gerror.lo getcwd.lo getlog.lo getXid.lo hostnm.lo \
- ierrno.lo ishftc.lo iso_c_generated_procs.lo iso_c_binding.lo \
- kill.lo link.lo malloc.lo mvbits.lo move_alloc.lo \
-@@ -987,6 +987,7 @@
- intrinsics/abort.c \
- intrinsics/access.c \
- intrinsics/args.c \
-+intrinsics/bit_intrinsics.c \
- intrinsics/c99_functions.c \
- intrinsics/chdir.c \
- intrinsics/chmod.c \
-@@ -1801,6 +1802,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/args.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/associated.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/backtrace.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bit_intrinsics.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c99_functions.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chdir.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod.Plo@am__quote@
-@@ -5319,6 +5321,13 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o args.lo `test -f 'intrinsics/args.c' || echo '$(srcdir)/'`intrinsics/args.c
-
-+bit_intrinsics.lo: intrinsics/bit_intrinsics.c
-+@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT bit_intrinsics.lo -MD -MP -MF "$(DEPDIR)/bit_intrinsics.Tpo" -c -o bit_intrinsics.lo `test -f 'intrinsics/bit_intrinsics.c' || echo '$(srcdir)/'`intrinsics/bit_intrinsics.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/bit_intrinsics.Tpo" "$(DEPDIR)/bit_intrinsics.Plo"; else rm -f "$(DEPDIR)/bit_intrinsics.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/bit_intrinsics.c' object='bit_intrinsics.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o bit_intrinsics.lo `test -f 'intrinsics/bit_intrinsics.c' || echo '$(srcdir)/'`intrinsics/bit_intrinsics.c
-+
- c99_functions.lo: intrinsics/c99_functions.c
- @am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT c99_functions.lo -MD -MP -MF "$(DEPDIR)/c99_functions.Tpo" -c -o c99_functions.lo `test -f 'intrinsics/c99_functions.c' || echo '$(srcdir)/'`intrinsics/c99_functions.c; \
- @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/c99_functions.Tpo" "$(DEPDIR)/c99_functions.Plo"; else rm -f "$(DEPDIR)/c99_functions.Tpo"; exit 1; fi
-Index: libgfortran/runtime/backtrace.c
-===================================================================
---- libgfortran/runtime/backtrace.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libgfortran/runtime/backtrace.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -147,7 +147,7 @@
-
- /* Write the list of addresses in hexadecimal format. */
- for (i = 0; i < depth; i++)
-- addr[i] = xtoa ((GFC_UINTEGER_LARGEST) (intptr_t) trace[i], addr_buf[i],
-+ addr[i] = gfc_xtoa ((GFC_UINTEGER_LARGEST) (intptr_t) trace[i], addr_buf[i],
- sizeof (addr_buf[i]));
-
- /* Don't output an error message if something goes wrong, we'll simply
-Index: libgfortran/runtime/error.c
-===================================================================
---- libgfortran/runtime/error.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libgfortran/runtime/error.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -112,48 +112,11 @@
- * Other error returns are reserved for the STOP statement with a numeric code.
- */
-
--/* gfc_itoa()-- Integer to decimal conversion. */
-+/* gfc_xtoa()-- Integer to hexadecimal conversion. */
-
- const char *
--gfc_itoa (GFC_INTEGER_LARGEST n, char *buffer, size_t len)
-+gfc_xtoa (GFC_UINTEGER_LARGEST n, char *buffer, size_t len)
- {
-- int negative;
-- char *p;
-- GFC_UINTEGER_LARGEST t;
--
-- assert (len >= GFC_ITOA_BUF_SIZE);
--
-- if (n == 0)
-- return "0";
--
-- negative = 0;
-- t = n;
-- if (n < 0)
-- {
-- negative = 1;
-- t = -n; /*must use unsigned to protect from overflow*/
-- }
--
-- p = buffer + GFC_ITOA_BUF_SIZE - 1;
-- *p = '\0';
--
-- while (t != 0)
-- {
-- *--p = '0' + (t % 10);
-- t /= 10;
-- }
--
-- if (negative)
-- *--p = '-';
-- return p;
--}
--
--
--/* xtoa()-- Integer to hexadecimal conversion. */
--
--const char *
--xtoa (GFC_UINTEGER_LARGEST n, char *buffer, size_t len)
--{
- int digit;
- char *p;
-
-Index: libgfortran/intrinsics/bit_intrinsics.c
-===================================================================
---- libgfortran/intrinsics/bit_intrinsics.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libgfortran/intrinsics/bit_intrinsics.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,138 @@
-+/* Implementation of the bit intrinsics not implemented as GCC builtins.
-+ Copyright (C) 2009 Free Software Foundation, Inc.
-+
-+This file is part of the GNU Fortran runtime library (libgfortran).
-+
-+Libgfortran 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.
-+
-+Libgfortran 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.
-+
-+Under Section 7 of GPL version 3, you are granted additional
-+permissions described in the GCC Runtime Library Exception, version
-+3.1, as published by the Free Software Foundation.
-+
-+You should have received a copy of the GNU General Public License and
-+a copy of the GCC Runtime Library Exception along with this program;
-+see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-+<http://www.gnu.org/licenses/>. */
-+
-+#include "libgfortran.h"
-+
-+
-+#ifdef HAVE_GFC_INTEGER_16
-+extern int clz128 (GFC_INTEGER_16);
-+export_proto(clz128);
-+
-+int
-+clz128 (GFC_INTEGER_16 x)
-+{
-+ int res = 127;
-+
-+ // We can't write 0xFFFFFFFFFFFFFFFF0000000000000000, so we work around it
-+ if (x & ((__uint128_t) 0xFFFFFFFFFFFFFFFF << 64))
-+ {
-+ res -= 64;
-+ x >>= 64;
-+ }
-+
-+ if (x & 0xFFFFFFFF00000000)
-+ {
-+ res -= 32;
-+ x >>= 32;
-+ }
-+
-+ if (x & 0xFFFF0000)
-+ {
-+ res -= 16;
-+ x >>= 16;
-+ }
-+
-+ if (x & 0xFF00)
-+ {
-+ res -= 8;
-+ x >>= 8;
-+ }
-+
-+ if (x & 0xF0)
-+ {
-+ res -= 4;
-+ x >>= 4;
-+ }
-+
-+ if (x & 0xC)
-+ {
-+ res -= 2;
-+ x >>= 2;
-+ }
-+
-+ if (x & 0x2)
-+ {
-+ res -= 1;
-+ x >>= 1;
-+ }
-+
-+ return res;
-+}
-+#endif
-+
-+
-+#ifdef HAVE_GFC_INTEGER_16
-+extern int ctz128 (GFC_INTEGER_16);
-+export_proto(ctz128);
-+
-+int
-+ctz128 (GFC_INTEGER_16 x)
-+{
-+ int res = 0;
-+
-+ if ((x & 0xFFFFFFFFFFFFFFFF) == 0)
-+ {
-+ res += 64;
-+ x >>= 64;
-+ }
-+
-+ if ((x & 0xFFFFFFFF) == 0)
-+ {
-+ res += 32;
-+ x >>= 32;
-+ }
-+
-+ if ((x & 0xFFFF) == 0)
-+ {
-+ res += 16;
-+ x >>= 16;
-+ }
-+
-+ if ((x & 0xFF) == 0)
-+ {
-+ res += 8;
-+ x >>= 8;
-+ }
-+
-+ if ((x & 0xF) == 0)
-+ {
-+ res += 4;
-+ x >>= 4;
-+ }
-+
-+ if ((x & 0x3) == 0)
-+ {
-+ res += 2;
-+ x >>= 2;
-+ }
-+
-+ if ((x & 0x1) == 0)
-+ {
-+ res += 1;
-+ x >>= 1;
-+ }
-+
-+ return res;
-+}
-+#endif
-Index: libgfortran/ChangeLog
-===================================================================
---- libgfortran/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libgfortran/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,3 +1,359 @@
-+2009-06-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-+
-+ PR libfortran/40330
-+ * io/io.h: Revert format caching.
-+ * io/unit.c: Likewise.
-+ * io/transfer.c: Likewise.
-+ * io/format.c: Likewise.
-+
-+2009-06-09 Janne Blomqvist <jb@gcc.gnu.org>
-+
-+ PR libfortran/40330
-+ * io/format.c (free_format_hash_table): Also free and nullify hash
-+ key.
-+ (save_parsed_format): Copy string rather than pointer copy.
-+
-+2009-06-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-+
-+ PR libfortran/40334
-+ * io/list_read.c (list_formatted_read_scalar): Set the end file
-+ conditions after a return from EOF error.
-+
-+2009-06-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-+
-+ PR fortran/40019
-+ * intrinsics/bit_intrinsics.c: New file.
-+ * gfortran.map (GFORTRAN_1.2): New list.
-+ * Makefile.am: Add intrinsics/bit_intrinsics.c.
-+ * Makefile.in: Regenerate.
-+
-+2009-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-+
-+ Backport from mainline:
-+ PR libfortran/37754
-+ * io/write_float.def: Simplify format calculation.
-+
-+2009-05-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-+
-+ Backport from mainline:
-+ PR fortran/22423
-+ * io/transfer.c (read_block_direct): Avoid warning.
-+
-+2009-05-23 Janne Blomqvist <jb@gcc.gnu.org>
-+
-+ Backport from mainline:
-+ PR libfortran/39667
-+ * io/file_pos.c (st_rewind): Don't truncate or flush.
-+ * io/intrinsics.c (fgetc): Flush if switching mode.
-+ (fputc): Likewise.
-+
-+2009-05-23 Janne Blomqvist <jb@gcc.gnu.org>
-+
-+ Backport from mainline:
-+ PR libfortran/39782
-+ * io/transfer.c (data_transfer_init): Don't flush before seek.
-+
-+2009-05-23 Janne Blomqvist <jb@gcc.gnu.org>
-+
-+ Backport from mainline:
-+ * io/io.h (is_preconnected): Remove prototype.
-+ * io/unix.c (is_preconnected): Remove function.
-+
-+2009-05-23 Janne Blomqvist <jb@gcc.gnu.org>
-+
-+ Backport from mainline:
-+ PR libfortran/38668
-+ * io/transfer.c (finalize_transfer): Don't flush for advance='no'.
-+
-+2009-05-23 Danny Smith <dannysmith@clear.net.nz>
-+
-+ Backport from mainline:
-+ * io/write.c (itoa) : Rename back to gfc_itoa.
-+ (write_i): Adjust call to write_decimal.
-+ (write_integer): Use gfc_itoa.
-+
-+2009-05-23 Janne Blomqvist <jb@gcc.gnu.org>
-+
-+ Backport from mainline:
-+ * io/io.h (move_pos_offset): Remove prototype.
-+ * io/transfer.c (formatted_transfer_scalar_read): Use sseek
-+ instead of move_pos_offset.
-+ * io/unix.c (move_pos_offset): Remove.
-+
-+2009-05-23 Janne Blomqvist <jb@gcc.gnu.org>
-+
-+ Backport from mainline:
-+ PR libfortran/39665 libfortran/39702 libfortran/39709
-+ * io/io.h (st_parameter_dt): Revert aligned attribute from u.p.value.
-+ * io/list_read.c (read_complex): Read directly into user pointer.
-+ (read_real): Likewise.
-+ (list_formatted_read_scalar): Update read_complex and read_real calls.
-+ (nml_read_obj): Read directly into user pointer.
-+
-+2009-05-23 Janne Blomqvist <jb@gcc.gnu.org>
-+
-+ Backport from mainline:
-+ PR libfortran/39665
-+ * io/io.h (st_parameter_dt): Add aligned attribute to u.p.value.
-+ * io/read.c (convert_real): Add note about alignment requirements.
-+
-+2009-05-23 Janne Blomqvist <jb@gcc.gnu.org>
-+
-+ Backport from mainline:
-+ * io/open.c (already_open): Test for POSIX close return value.
-+ * io/unit.c (close_unit_1): Likewise.
-+ * io/unix.c (raw_close): Return 0 for success for preconnected units.
-+
-+2009-05-23 Janne Blomqvist <jb@gcc.gnu.org>
-+
-+ Backport from mainline:
-+ * runtime/error.c (gfc_itoa): Move to io/write.c
-+ (xtoa): Rename to gfc_xtoa.
-+ * runtime/backtrace.c (show_backtrace): Call gfc_xtoa.
-+ * libgfortran.h (gfc_itoa): Remove prototype.
-+ (xtoa): Rename prototype to gfc_xtoa.
-+ * io/list_read.c (nml_read_obj): Use size_t for string length.
-+ * io/transfer.c (read_block_direct): Change nbytes arg from
-+ pointer to value.
-+ (unformatted_read): Minor cleanup, call read_block_directly properly.
-+ (skip_record): Use ssize_t.
-+ (next_record_w_unf): Avoid stell() call by calling sseek with SEEK_CUR.
-+ (iolength_transfer): Make sure to multiply before cast.
-+ * io/intrinsics.c (fgetc): Remove unnecessary variable.
-+ * io/format.c (format_hash): Use gfc_charlen_type.
-+ * io/write.c (itoa): Move from runtime/error.c:gfc_itoa, rename,
-+ make static.
-+ (write_i): Call with pointer to itoa.
-+ (write_z): Call with pointer to gfc_xtoa.
-+ (write_integer): Pointer to itoa.
-+ (nml_write_obj): Type cleanup, don't call strlen in loop.
-+
-+2009-05-23 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ PR libgfortran/39664
-+ * io/unix.c (raw_close): Don't close STDOUT_FILENO,
-+ STDERR_FILENO nor STDIN_FILENO.
-+
-+2009-05-23 David Edelsohn <edelsohn@gnu.org>
-+
-+ Backport from mainline:
-+ * io/io.h (struct stream): Rename truncate to trunc.
-+ (struncate): Same.
-+ * io/unix.c (raw_init): Rename truncate to trunc.
-+ (buf_init): Same.
-+ (open_internal): Same.
-+
-+2009-05-23 Daniel Kraft <d@domob.eu>
-+
-+ Backport from mainline:
-+ PR fortran/38654
-+ * io/read.c (read_f): Reworked to speed up floating point parsing.
-+ (convert_real): Use pointer-casting instead of memcpy and temporaries.
-+
-+2009-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-+
-+ Backport from mainline:
-+ PR libfortran/37754
-+ * io/io.h (format_hash_entry): New structure for hash table.
-+ (format_hash_table): The hash table itself.
-+ (free_format_data): Revise function prototype.
-+ (free_format_hash_table, init_format_hash,
-+ free_format_hash): New function prototypes.
-+ * io/unit.c (close_unit_1): Use free_format_hash_table.
-+ * io/transfer.c (st_read_done, st_write_done): Free format data if
-+ internal unit.
-+ * io/format.c (free_format_hash_table): New function that frees any
-+ memory allocated previously for cached format data.
-+ (reset_node): New static helper function to reset the format counters
-+ for a format node.
-+ (reset_fnode_counters): New static function recursively calls reset_node
-+ to traverse the fnode tree.
-+ (format_hash): New simple hash function based on XOR, probabalistic,
-+ tosses collisions.
-+ (save_parsed_format): New static function to save the parsed format
-+ data to use again.
-+ (find_parsed_format): New static function searches the hash table
-+ looking for a match.
-+ (free_format_data): Revised to accept pointer to format data rather than
-+ the dtp pointer so that the function can be used in more places.
-+ (format_lex): Editorial.
-+ (parse_format_list): Set flag used to determine of format data hashing
-+ is to be used. Internal units are not persistent enough for this.
-+ (revert): Move to ne location in file.
-+ (parse_format): Use new functions to look for previously parsed
-+ format strings and use them rather than re-parse. If not found, saves
-+ the parsed format data for later use.
-+
-+2009-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-+
-+ Backport from mainline:
-+ PR libfortran/37754
-+ * io/transfer.c (formatted_transfer_scalar): Remove this function by
-+ factoring it into two new functions, one for read and one for write,
-+ eliminating all the conditionals for read or write mode.
-+ (formatted transfer_scalar_read): New function.
-+ (formatted transfer_scalar_write): New function.
-+ (formatted_transfer): Use new functions.
-+
-+2009-05-23 Janne Blomqvist <jb@gcc.gnu.org>
-+
-+ Backport from mainline:
-+ PR libfortran/25561 libfortran/37754
-+ * io/io.h (struct stream): Define new stream interface function
-+ pointers, and inline functions for accessing it.
-+ (struct fbuf): Use int instead of size_t, remove flushed element.
-+ (mem_alloc_w): New prototype.
-+ (mem_alloc_r): New prototype.
-+ (stream_at_bof): Remove prototype.
-+ (stream_at_eof): Remove prototype.
-+ (file_position): Remove prototype.
-+ (flush): Remove prototype.
-+ (stream_offset): Remove prototype.
-+ (unit_truncate): New prototype.
-+ (read_block_form): Change to return pointer, int* argument.
-+ (hit_eof): New prototype.
-+ (fbuf_init): Change prototype.
-+ (fbuf_reset): Change prototype.
-+ (fbuf_alloc): Change prototype.
-+ (fbuf_flush): Change prototype.
-+ (fbuf_seek): Change prototype.
-+ (fbuf_read): New prototype.
-+ (fbuf_getc_refill): New prototype.
-+ (fbuf_getc): New inline function.
-+ * io/fbuf.c (fbuf_init): Use int, get rid of flushed.
-+ (fbuf_debug): New function.
-+ (fbuf_reset): Flush, and return position offset.
-+ (fbuf_alloc): Simplify, don't flush, just realloc.
-+ (fbuf_flush): Make usable for read mode, salvage remaining bytes.
-+ (fbuf_seek): New whence argument.
-+ (fbuf_read): New function.
-+ (fbuf_getc_refill): New function.
-+ * io/file_pos.c (formatted_backspace): Use new stream interface.
-+ (unformatted_backspace): Likewise.
-+ (st_backspace): Make sure format buffer is reset, use new stream
-+ interface, use unit_truncate.
-+ (st_endfile): Likewise.
-+ (st_rewind): Likewise.
-+ * io/intrinsics.c: Use new stream interface.
-+ * io/list_read.c (push_char): Don't use u.p.scratch, use realloc
-+ to resize.
-+ (free_saved): Don't check u.p.scratch.
-+ (next_char): Use new stream interface, use fbuf_getc() for external files.
-+ (finish_list_read): flush format buffer.
-+ (nml_query): Update to use modified interface:s
-+ * io/open.c (test_endfile): Use new stream interface.
-+ (edit_modes): Likewise.
-+ (new_unit): Likewise, set bytes_left to 1 for stream files.
-+ * io/read.c (read_l): Use new read_block_form interface.
-+ (read_utf8): Likewise.
-+ (read_utf8_char1): Likewise.
-+ (read_default_char1): Likewise.
-+ (read_utf8_char4): Likewise.
-+ (read_default_char4): Likewise.
-+ (read_a): Likewise.
-+ (read_a_char4): Likewise.
-+ (read_decimal): Likewise.
-+ (read_radix): Likewise.
-+ (read_f): Likewise.
-+ * io/transfer.c (read_sf): Use fbuf_read and mem_alloc_r, remove
-+ usage of u.p.line_buffer.
-+ (read_block_form): Update interface to return pointer, use
-+ fbuf_read for direct access.
-+ (read_block_direct): Update to new stream interface.
-+ (write_block): Use mem_alloc_w for internal I/O.
-+ (write_buf): Update to new stream interface.
-+ (formatted_transfer_scalar): Don't use u.p.line_buffer, use
-+ fbuf_seek for external files.
-+ (us_read): Update to new stream interface.
-+ (us_write): Likewise.
-+ (data_transfer_init): Always check if we switch modes and flush.
-+ (skip_record): Use new stream interface, fix comparison.
-+ (next_record_r): Check for and reset u.p.at_eof, use new stream
-+ interface, use fbuf_getc for spacing.
-+ (write_us_marker): Update to new stream interface, don't inline.
-+ (next_record_w_unf): Likewise.
-+ (sset): New function.
-+ (next_record_w): Use new stream interface, use fbuf for printing
-+ newline.
-+ (next_record): Use new stream interface.
-+ (finalize_transfer): Remove sfree call, use new stream interface.
-+ (st_iolength_done): Don't use u.p.scratch.
-+ (st_read): Don't check for end of file.
-+ (st_read_done): Don't use u.p.scratch, use unit_truncate.
-+ (hit_eof): New function.
-+ * io/unit.c (init_units): Always init fbuf for formatted units.
-+ (update_position): Use new stream interface.
-+ (unit_truncate): New function.
-+ (finish_last_advance_record): Use fbuf to print newline.
-+ * io/unix.c: Remove unused SSIZE_MAX macro.
-+ (BUFFER_SIZE): Make static const variable rather than macro.
-+ (struct unix_stream): Remove dirty_offset, len, method,
-+ small_buffer. Order elements by decreasing size.
-+ (struct int_stream): Remove.
-+ (move_pos_offset): Remove usage of dirty_offset.
-+ (reset_stream): Remove.
-+ (do_read): Rename to raw_read, update to match new stream
-+ interface.
-+ (do_write): Rename to raw_write, update to new stream interface.
-+ (raw_seek): New function.
-+ (raw_tell): New function.
-+ (raw_truncate): New function.
-+ (raw_close): New function.
-+ (raw_flush): New function.
-+ (raw_init): New function.
-+ (fd_alloc): Remove.
-+ (fd_alloc_r_at): Remove.
-+ (fd_alloc_w_at): Remove.
-+ (fd_sfree): Remove.
-+ (fd_seek): Remove.
-+ (fd_truncate): Remove.
-+ (fd_sset): Remove.
-+ (fd_read): Remove.
-+ (fd_write): Remove.
-+ (fd_close): Remove.
-+ (fd_open): Remove.
-+ (fd_flush): Rename to buf_flush, update to new stream interface
-+ and unix_stream.
-+ (buf_read): New function.
-+ (buf_write): New function.
-+ (buf_seek): New function.
-+ (buf_tell): New function.
-+ (buf_truncate): New function.
-+ (buf_close): New function.
-+ (buf_init): New function.
-+ (mem_alloc_r_at): Rename to mem_alloc_r, change prototype.
-+ (mem_alloc_w_at): Rename to mem_alloc_w, change prototype.
-+ (mem_read): Change to match new stream interface.
-+ (mem_write): Likewise.
-+ (mem_seek): Likewise.
-+ (mem_tell): Likewise.
-+ (mem_truncate): Likewise.
-+ (mem_close): Likewise.
-+ (mem_flush): New function.
-+ (mem_sfree): Remove.
-+ (empty_internal_buffer): Cast to correct type.
-+ (open_internal): Use correct type, init function pointers.
-+ (fd_to_stream): Test whether to open file as buffered or raw.
-+ (output_stream): Remove mode set.
-+ (error_stream): Likewise.
-+ (flush_all_units_1): Use new stream interface.
-+ (flush_all_units): Likewise.
-+ (stream_at_bof): Remove.
-+ (stream_at_eof): Remove.
-+ (file_position): Remove.
-+ (file_length): Update logic to use stream interface.
-+ (flush): Remove.
-+ (stream_offset): Remove.
-+ * io/write.c (write_utf8_char4): Use int instead of size_t.
-+ (write_x): Extra safety check.
-+ (namelist_write_newline): Use new stream interface.
-+
-+2009-05-16 Janne Blomqvist <jb@gcc.gnu.org>
-+
-+ PR libfortran/39782
-+ * io/transfer.c (finalize_transfer): Remove extra flush.
-+
- 2009-04-21 Release Manager
-
- * GCC 4.4.0 released.
-Index: libgfortran/gfortran.map
-===================================================================
---- libgfortran/gfortran.map (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libgfortran/gfortran.map (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1090,6 +1090,13 @@
- _gfortran_unpack1_char4;
- } GFORTRAN_1.0;
-
-+
-+GFORTRAN_1.2 {
-+ global:
-+ _gfortran_clz128;
-+ _gfortran_ctz128;
-+} GFORTRAN_1.1;
-+
- F2C_1.0 {
- global:
- _gfortran_f2c_specific__abs_c4;
-Index: libgfortran/libgfortran.h
-===================================================================
---- libgfortran/libgfortran.h (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libgfortran/libgfortran.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -631,12 +631,9 @@
- extern void sys_exit (int) __attribute__ ((noreturn));
- internal_proto(sys_exit);
-
--extern const char *gfc_itoa (GFC_INTEGER_LARGEST, char *, size_t);
--internal_proto(gfc_itoa);
-+extern const char *gfc_xtoa (GFC_UINTEGER_LARGEST, char *, size_t);
-+internal_proto(gfc_xtoa);
-
--extern const char *xtoa (GFC_UINTEGER_LARGEST, char *, size_t);
--internal_proto(xtoa);
--
- extern void os_error (const char *) __attribute__ ((noreturn));
- iexport_proto(os_error);
-
-Index: libgfortran/io/file_pos.c
-===================================================================
---- libgfortran/io/file_pos.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libgfortran/io/file_pos.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -41,17 +41,17 @@
- {
- gfc_offset base;
- char p[READ_CHUNK];
-- size_t n;
-+ ssize_t n;
-
-- base = file_position (u->s) - 1;
-+ base = stell (u->s) - 1;
-
- do
- {
- n = (base < READ_CHUNK) ? base : READ_CHUNK;
- base -= n;
-- if (sseek (u->s, base) == FAILURE)
-+ if (sseek (u->s, base, SEEK_SET) < 0)
- goto io_error;
-- if (sread (u->s, p, &n) != 0)
-+ if (sread (u->s, p, n) != n)
- goto io_error;
-
- /* We have moved backwards from the current position, it should
-@@ -76,7 +76,7 @@
-
- /* base is the new pointer. Seek to it exactly. */
- done:
-- if (sseek (u->s, base) == FAILURE)
-+ if (sseek (u->s, base, SEEK_SET) < 0)
- goto io_error;
- u->last_record--;
- u->endfile = NO_ENDFILE;
-@@ -95,10 +95,10 @@
- static void
- unformatted_backspace (st_parameter_filepos *fpp, gfc_unit *u)
- {
-- gfc_offset m, new;
-+ gfc_offset m, slen;
- GFC_INTEGER_4 m4;
- GFC_INTEGER_8 m8;
-- size_t length;
-+ ssize_t length;
- int continued;
- char p[sizeof (GFC_INTEGER_8)];
-
-@@ -109,9 +109,10 @@
-
- do
- {
-- if (sseek (u->s, file_position (u->s) - length) == FAILURE)
-+ slen = - (gfc_offset) length;
-+ if (sseek (u->s, slen, SEEK_CUR) < 0)
- goto io_error;
-- if (sread (u->s, p, &length) != 0)
-+ if (sread (u->s, p, length) != length)
- goto io_error;
-
- /* Only GFC_CONVERT_NATIVE and GFC_CONVERT_SWAP are valid here. */
-@@ -159,10 +160,7 @@
- if (continued)
- m = -m;
-
-- if ((new = file_position (u->s) - m - 2*length) < 0)
-- new = 0;
--
-- if (sseek (u->s, new) == FAILURE)
-+ if (sseek (u->s, -m -2 * length, SEEK_CUR) < 0)
- goto io_error;
- } while (continued);
-
-@@ -201,15 +199,21 @@
- goto done;
- }
-
-- if (u->flags.access == ACCESS_STREAM && u->flags.form == FORM_UNFORMATTED)
-- {
-- generate_error (&fpp->common, LIBERROR_OPTION_CONFLICT,
-- "Cannot BACKSPACE an unformatted stream file");
-- goto done;
-- }
-+ if (u->flags.access == ACCESS_STREAM && u->flags.form == FORM_UNFORMATTED)
-+ {
-+ generate_error (&fpp->common, LIBERROR_OPTION_CONFLICT,
-+ "Cannot BACKSPACE an unformatted stream file");
-+ goto done;
-+ }
-
-- /* Make sure format buffer is flushed. */
-- fbuf_flush (u, 1);
-+ /* Make sure format buffer is flushed and reset. */
-+ if (u->flags.form == FORM_FORMATTED)
-+ {
-+ int pos = fbuf_reset (u);
-+ if (pos != 0)
-+ sseek (u->s, pos, SEEK_CUR);
-+ }
-+
-
- /* Check for special cases involving the ENDFILE record first. */
-
-@@ -217,11 +221,11 @@
- {
- u->endfile = AT_ENDFILE;
- u->flags.position = POSITION_APPEND;
-- flush (u->s);
-+ sflush (u->s);
- }
- else
- {
-- if (file_position (u->s) == 0)
-+ if (stell (u->s) == 0)
- {
- u->flags.position = POSITION_REWIND;
- goto done; /* Common special case */
-@@ -238,8 +242,7 @@
-
- u->previous_nonadvancing_write = 0;
-
-- flush (u->s);
-- struncate (u->s);
-+ unit_truncate (u, stell (u->s), &fpp->common);
- u->mode = READING;
- }
-
-@@ -248,7 +251,7 @@
- else
- unformatted_backspace (fpp, u);
-
-- update_position (u);
-+ u->flags.position = POSITION_UNSPECIFIED;
- u->endfile = NO_ENDFILE;
- u->current_record = 0;
- u->bytes_left = 0;
-@@ -300,10 +303,10 @@
- next_record (&dtp, 1);
- }
-
-- flush (u->s);
-- struncate (u->s);
-+ unit_truncate (u, stell (u->s), &fpp->common);
- u->endfile = AFTER_ENDFILE;
-- update_position (u);
-+ if (0 == stell (u->s))
-+ u->flags.position = POSITION_REWIND;
- done:
- unlock_unit (u);
- }
-@@ -338,18 +341,11 @@
-
- u->previous_nonadvancing_write = 0;
-
-- /* Flush the buffers. If we have been writing to the file, the last
-- written record is the last record in the file, so truncate the
-- file now. Reset to read mode so two consecutive rewind
-- statements do not delete the file contents. */
-- flush (u->s);
-- if (u->mode == WRITING && u->flags.access != ACCESS_STREAM)
-- struncate (u->s);
-+ fbuf_reset (u);
-
-- u->mode = READING;
- u->last_record = 0;
-
-- if (file_position (u->s) != 0 && sseek (u->s, 0) == FAILURE)
-+ if (sseek (u->s, 0, SEEK_SET) < 0)
- generate_error (&fpp->common, LIBERROR_OS, NULL);
-
- /* Handle special files like /dev/null differently. */
-@@ -361,7 +357,7 @@
- else
- {
- /* Set this for compatibilty with g77 for /dev/null. */
-- if (file_length (u->s) == 0 && file_position (u->s) == 0)
-+ if (file_length (u->s) == 0 && stell (u->s) == 0)
- u->endfile = AT_ENDFILE;
- /* Future refinements on special files can go here. */
- }
-@@ -392,7 +388,11 @@
- u = find_unit (fpp->common.unit);
- if (u != NULL)
- {
-- flush (u->s);
-+ /* Make sure format buffer is flushed. */
-+ if (u->flags.form == FORM_FORMATTED)
-+ fbuf_flush (u, u->mode);
-+
-+ sflush (u->s);
- unlock_unit (u);
- }
- else
-Index: libgfortran/io/open.c
-===================================================================
---- libgfortran/io/open.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libgfortran/io/open.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -150,7 +150,7 @@
- static void
- test_endfile (gfc_unit * u)
- {
-- if (u->endfile == NO_ENDFILE && file_length (u->s) == file_position (u->s))
-+ if (u->endfile == NO_ENDFILE && file_length (u->s) == stell (u->s))
- u->endfile = AT_ENDFILE;
- }
-
-@@ -266,7 +266,7 @@
- break;
-
- case POSITION_REWIND:
-- if (sseek (u->s, 0) == FAILURE)
-+ if (sseek (u->s, 0, SEEK_SET) != 0)
- goto seek_error;
-
- u->current_record = 0;
-@@ -276,7 +276,7 @@
- break;
-
- case POSITION_APPEND:
-- if (sseek (u->s, file_length (u->s)) == FAILURE)
-+ if (sseek (u->s, 0, SEEK_END) < 0)
- goto seek_error;
-
- if (flags->access != ACCESS_STREAM)
-@@ -552,7 +552,7 @@
-
- if (flags->position == POSITION_APPEND)
- {
-- if (sseek (u->s, file_length (u->s)) == FAILURE)
-+ if (sseek (u->s, 0, SEEK_END) < 0)
- generate_error (&opp->common, LIBERROR_OS, NULL);
- u->endfile = AT_ENDFILE;
- }
-@@ -606,7 +606,8 @@
- {
- u->maxrec = max_offset;
- u->recl = 1;
-- u->strm_pos = file_position (u->s) + 1;
-+ u->bytes_left = 1;
-+ u->strm_pos = stell (u->s) + 1;
- }
-
- memmove (u->file, opp->file, opp->file_len);
-@@ -622,7 +623,7 @@
- if (flags->status == STATUS_SCRATCH && opp->file != NULL)
- free_mem (opp->file);
-
-- if (flags->form == FORM_FORMATTED && (flags->action != ACTION_READ))
-+ if (flags->form == FORM_FORMATTED)
- {
- if ((opp->common.flags & IOPARM_OPEN_HAS_RECL_IN))
- fbuf_init (u, u->recl);
-@@ -676,7 +677,7 @@
- }
- #endif
-
-- if (sclose (u->s) == FAILURE)
-+ if (sclose (u->s) == -1)
- {
- unlock_unit (u);
- generate_error (&opp->common, LIBERROR_OS,
-Index: libgfortran/io/list_read.c
-===================================================================
---- libgfortran/io/list_read.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libgfortran/io/list_read.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -28,6 +28,7 @@
-
- #include "io.h"
- #include <string.h>
-+#include <stdlib.h>
- #include <ctype.h>
-
-
-@@ -74,9 +75,8 @@
-
- if (dtp->u.p.saved_string == NULL)
- {
-- if (dtp->u.p.scratch == NULL)
-- dtp->u.p.scratch = get_mem (SCRATCH_SIZE);
-- dtp->u.p.saved_string = dtp->u.p.scratch;
-+ dtp->u.p.saved_string = get_mem (SCRATCH_SIZE);
-+ // memset below should be commented out.
- memset (dtp->u.p.saved_string, 0, SCRATCH_SIZE);
- dtp->u.p.saved_length = SCRATCH_SIZE;
- dtp->u.p.saved_used = 0;
-@@ -85,15 +85,15 @@
- if (dtp->u.p.saved_used >= dtp->u.p.saved_length)
- {
- dtp->u.p.saved_length = 2 * dtp->u.p.saved_length;
-- new = get_mem (2 * dtp->u.p.saved_length);
-+ new = realloc (dtp->u.p.saved_string, dtp->u.p.saved_length);
-+ if (new == NULL)
-+ generate_error (&dtp->common, LIBERROR_OS, NULL);
-+ dtp->u.p.saved_string = new;
-+
-+ // Also this should not be necessary.
-+ memset (new + dtp->u.p.saved_used, 0,
-+ dtp->u.p.saved_length - dtp->u.p.saved_used);
-
-- memset (new, 0, 2 * dtp->u.p.saved_length);
--
-- memcpy (new, dtp->u.p.saved_string, dtp->u.p.saved_used);
-- if (dtp->u.p.saved_string != dtp->u.p.scratch)
-- free_mem (dtp->u.p.saved_string);
--
-- dtp->u.p.saved_string = new;
- }
-
- dtp->u.p.saved_string[dtp->u.p.saved_used++] = c;
-@@ -108,8 +108,7 @@
- if (dtp->u.p.saved_string == NULL)
- return;
-
-- if (dtp->u.p.saved_string != dtp->u.p.scratch)
-- free_mem (dtp->u.p.saved_string);
-+ free_mem (dtp->u.p.saved_string);
-
- dtp->u.p.saved_string = NULL;
- dtp->u.p.saved_used = 0;
-@@ -135,9 +134,10 @@
- static char
- next_char (st_parameter_dt *dtp)
- {
-- size_t length;
-+ ssize_t length;
- gfc_offset record;
- char c;
-+ int cc;
-
- if (dtp->u.p.last_char != '\0')
- {
-@@ -189,7 +189,7 @@
- }
-
- record *= dtp->u.p.current_unit->recl;
-- if (sseek (dtp->u.p.current_unit->s, record) == FAILURE)
-+ if (sseek (dtp->u.p.current_unit->s, record, SEEK_SET) < 0)
- longjmp (*dtp->u.p.eof_jump, 1);
-
- dtp->u.p.current_unit->bytes_left = dtp->u.p.current_unit->recl;
-@@ -199,19 +199,15 @@
-
- /* Get the next character and handle end-of-record conditions. */
-
-- length = 1;
--
-- if (sread (dtp->u.p.current_unit->s, &c, &length) != 0)
-+ if (is_internal_unit (dtp))
- {
-- generate_error (&dtp->common, LIBERROR_OS, NULL);
-- return '\0';
-- }
-+ length = sread (dtp->u.p.current_unit->s, &c, 1);
-+ if (length < 0)
-+ {
-+ generate_error (&dtp->common, LIBERROR_OS, NULL);
-+ return '\0';
-+ }
-
-- if (is_stream_io (dtp) && length == 1)
-- dtp->u.p.current_unit->strm_pos++;
--
-- if (is_internal_unit (dtp))
-- {
- if (is_array_io (dtp))
- {
- /* Check whether we hit EOF. */
-@@ -235,13 +231,20 @@
- }
- else
- {
-- if (length == 0)
-+ cc = fbuf_getc (dtp->u.p.current_unit);
-+
-+ if (cc == EOF)
- {
- if (dtp->u.p.current_unit->endfile == AT_ENDFILE)
- longjmp (*dtp->u.p.eof_jump, 1);
- dtp->u.p.current_unit->endfile = AT_ENDFILE;
- c = '\n';
- }
-+ else
-+ c = (char) cc;
-+ if (is_stream_io (dtp) && cc != EOF)
-+ dtp->u.p.current_unit->strm_pos++;
-+
- }
- done:
- dtp->u.p.at_eol = (c == '\n' || c == '\r');
-@@ -1216,7 +1219,7 @@
- what it is right away. */
-
- static void
--read_complex (st_parameter_dt *dtp, int kind, size_t size)
-+read_complex (st_parameter_dt *dtp, void * dest, int kind, size_t size)
- {
- char message[100];
- char c;
-@@ -1240,7 +1243,7 @@
- }
-
- eat_spaces (dtp);
-- if (parse_real (dtp, dtp->u.p.value, kind))
-+ if (parse_real (dtp, dest, kind))
- return;
-
- eol_1:
-@@ -1263,7 +1266,7 @@
- else
- unget_char (dtp, c);
-
-- if (parse_real (dtp, dtp->u.p.value + size / 2, kind))
-+ if (parse_real (dtp, dest + size / 2, kind))
- return;
-
- eat_spaces (dtp);
-@@ -1297,7 +1300,7 @@
- /* Parse a real number with a possible repeat count. */
-
- static void
--read_real (st_parameter_dt *dtp, int length)
-+read_real (st_parameter_dt *dtp, void * dest, int length)
- {
- char c, message[100];
- int seen_dp;
-@@ -1510,7 +1513,7 @@
- unget_char (dtp, c);
- eat_separator (dtp);
- push_char (dtp, '\0');
-- if (convert_real (dtp, dtp->u.p.value, dtp->u.p.saved_string, length))
-+ if (convert_real (dtp, dest, dtp->u.p.saved_string, length))
- return;
-
- free_saved (dtp);
-@@ -1684,6 +1687,11 @@
- if (setjmp (eof_jump))
- {
- generate_error (&dtp->common, LIBERROR_END, NULL);
-+ if (!is_internal_unit (dtp))
-+ {
-+ dtp->u.p.current_unit->endfile = AFTER_ENDFILE;
-+ dtp->u.p.current_unit->current_record = 0;
-+ }
- goto cleanup;
- }
-
-@@ -1693,7 +1701,7 @@
- dtp->u.p.input_complete = 0;
- dtp->u.p.repeat_count = 1;
- dtp->u.p.at_eol = 0;
--
-+
- c = eat_spaces (dtp);
- if (is_separator (c))
- {
-@@ -1721,6 +1729,9 @@
- return;
- goto set_value;
- }
-+
-+ if (dtp->u.p.input_complete)
-+ goto cleanup;
-
- if (dtp->u.p.input_complete)
- goto cleanup;
-@@ -1751,10 +1762,16 @@
- read_character (dtp, kind);
- break;
- case BT_REAL:
-- read_real (dtp, kind);
-+ read_real (dtp, p, kind);
-+ /* Copy value back to temporary if needed. */
-+ if (dtp->u.p.repeat_count > 0)
-+ memcpy (dtp->u.p.value, p, kind);
- break;
- case BT_COMPLEX:
-- read_complex (dtp, kind, size);
-+ read_complex (dtp, p, kind, size);
-+ /* Copy value back to temporary if needed. */
-+ if (dtp->u.p.repeat_count > 0)
-+ memcpy (dtp->u.p.value, p, size);
- break;
- default:
- internal_error (&dtp->common, "Bad type for list read");
-@@ -1770,8 +1787,12 @@
- switch (dtp->u.p.saved_type)
- {
- case BT_COMPLEX:
-+ case BT_REAL:
-+ if (dtp->u.p.repeat_count > 0)
-+ memcpy (p, dtp->u.p.value, size);
-+ break;
-+
- case BT_INTEGER:
-- case BT_REAL:
- case BT_LOGICAL:
- memcpy (p, dtp->u.p.value, size);
- break;
-@@ -1848,6 +1869,8 @@
-
- free_saved (dtp);
-
-+ fbuf_flush (dtp->u.p.current_unit, dtp->u.p.mode);
-+
- if (dtp->u.p.at_eol)
- {
- dtp->u.p.at_eol = 0;
-@@ -2256,8 +2279,8 @@
-
- /* Flush the stream to force immediate output. */
-
-- fbuf_flush (dtp->u.p.current_unit, 1);
-- flush (dtp->u.p.current_unit->s);
-+ fbuf_flush (dtp->u.p.current_unit, WRITING);
-+ sflush (dtp->u.p.current_unit->s);
- unlock_unit (dtp->u.p.current_unit);
- }
-
-@@ -2292,7 +2315,7 @@
- int dim;
- index_type dlen;
- index_type m;
-- index_type obj_name_len;
-+ size_t obj_name_len;
- void * pdata;
-
- /* This object not touched in name parsing. */
-@@ -2371,12 +2394,17 @@
- break;
-
- case GFC_DTYPE_REAL:
-- read_real (dtp, len);
-- break;
-+ /* Need to copy data back from the real location to the temp in order
-+ to handle nml reads into arrays. */
-+ read_real (dtp, pdata, len);
-+ memcpy (dtp->u.p.value, pdata, dlen);
-+ break;
-
- case GFC_DTYPE_COMPLEX:
-- read_complex (dtp, len, dlen);
-- break;
-+ /* Same as for REAL, copy back to temp. */
-+ read_complex (dtp, pdata, len, dlen);
-+ memcpy (dtp->u.p.value, pdata, dlen);
-+ break;
-
- case GFC_DTYPE_DERIVED:
- obj_name_len = strlen (nl->var_name) + 1;
-@@ -2898,7 +2926,7 @@
- st_printf ("%s\n", nml_err_msg);
- if (u != NULL)
- {
-- flush (u->s);
-+ sflush (u->s);
- unlock_unit (u);
- }
- }
-Index: libgfortran/io/read.c
-===================================================================
---- libgfortran/io/read.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libgfortran/io/read.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -28,6 +28,7 @@
- #include <errno.h>
- #include <ctype.h>
- #include <stdlib.h>
-+#include <assert.h>
-
- typedef unsigned char uchar;
-
-@@ -125,8 +126,10 @@
-
- /* convert_real()-- Convert a character representation of a floating
- * point number to the machine number. Returns nonzero if there is a
-- * range problem during conversion. TODO: handle not-a-numbers and
-- * infinities. */
-+ * range problem during conversion. Note: many architectures
-+ * (e.g. IA-64, HP-PA) require that the storage pointed to by the dest
-+ * argument is properly aligned for the type in question. TODO:
-+ * handle not-a-numbers and infinities. */
-
- int
- convert_real (st_parameter_dt *dtp, void *dest, const char *buffer, int length)
-@@ -136,38 +139,30 @@
- switch (length)
- {
- case 4:
-- {
-- GFC_REAL_4 tmp =
-+ *((GFC_REAL_4*) dest) =
- #if defined(HAVE_STRTOF)
-- strtof (buffer, NULL);
-+ strtof (buffer, NULL);
- #else
-- (GFC_REAL_4) strtod (buffer, NULL);
-+ (GFC_REAL_4) strtod (buffer, NULL);
- #endif
-- memcpy (dest, (void *) &tmp, length);
-- }
- break;
-+
- case 8:
-- {
-- GFC_REAL_8 tmp = strtod (buffer, NULL);
-- memcpy (dest, (void *) &tmp, length);
-- }
-+ *((GFC_REAL_8*) dest) = strtod (buffer, NULL);
- break;
-+
- #if defined(HAVE_GFC_REAL_10) && defined (HAVE_STRTOLD)
- case 10:
-- {
-- GFC_REAL_10 tmp = strtold (buffer, NULL);
-- memcpy (dest, (void *) &tmp, length);
-- }
-+ *((GFC_REAL_10*) dest) = strtold (buffer, NULL);
- break;
- #endif
-+
- #if defined(HAVE_GFC_REAL_16) && defined (HAVE_STRTOLD)
- case 16:
-- {
-- GFC_REAL_16 tmp = strtold (buffer, NULL);
-- memcpy (dest, (void *) &tmp, length);
-- }
-+ *((GFC_REAL_16*) dest) = strtold (buffer, NULL);
- break;
- #endif
-+
- default:
- internal_error (&dtp->common, "Unsupported real kind during IO");
- }
-@@ -190,13 +185,13 @@
- read_l (st_parameter_dt *dtp, const fnode *f, char *dest, int length)
- {
- char *p;
-- size_t w;
-+ int w;
-
- w = f->u.w;
-
-- p = gfc_alloca (w);
-+ p = read_block_form (dtp, &w);
-
-- if (read_block_form (dtp, p, &w) == FAILURE)
-+ if (p == NULL)
- return;
-
- while (*p == ' ')
-@@ -233,28 +228,26 @@
- }
-
-
--static inline gfc_char4_t
--read_utf8 (st_parameter_dt *dtp, size_t *nbytes)
-+static gfc_char4_t
-+read_utf8 (st_parameter_dt *dtp, int *nbytes)
- {
- static const uchar masks[6] = { 0x7F, 0x1F, 0x0F, 0x07, 0x02, 0x01 };
- static const uchar patns[6] = { 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC };
-- static uchar buffer[6];
-- size_t i, nb, nread;
-+ int i, nb, nread;
- gfc_char4_t c;
-- int status;
- char *s;
-
- *nbytes = 1;
-- s = (char *) &buffer[0];
-- status = read_block_form (dtp, s, nbytes);
-- if (status == FAILURE)
-+
-+ s = read_block_form (dtp, nbytes);
-+ if (s == NULL)
- return 0;
-
- /* If this is a short read, just return. */
- if (*nbytes == 0)
- return 0;
-
-- c = buffer[0];
-+ c = (uchar) s[0];
- if (c < 0x80)
- return c;
-
-@@ -269,9 +262,8 @@
- c = (c & masks[nb-1]);
- nread = nb - 1;
-
-- s = (char *) &buffer[1];
-- status = read_block_form (dtp, s, &nread);
-- if (status == FAILURE)
-+ s = read_block_form (dtp, &nread);
-+ if (s == NULL)
- return 0;
- /* Decode the bytes read. */
- for (i = 1; i < nb; i++)
-@@ -304,14 +296,14 @@
-
-
- static void
--read_utf8_char1 (st_parameter_dt *dtp, char *p, int len, size_t width)
-+read_utf8_char1 (st_parameter_dt *dtp, char *p, int len, int width)
- {
- gfc_char4_t c;
- char *dest;
-- size_t nbytes;
-+ int nbytes;
- int i, j;
-
-- len = ((int) width < len) ? len : (int) width;
-+ len = (width < len) ? len : width;
-
- dest = (char *) p;
-
-@@ -334,21 +326,19 @@
- }
-
- static void
--read_default_char1 (st_parameter_dt *dtp, char *p, int len, size_t width)
-+read_default_char1 (st_parameter_dt *dtp, char *p, int len, int width)
- {
- char *s;
-- int m, n, status;
-+ int m, n;
-
-- s = gfc_alloca (width);
--
-- status = read_block_form (dtp, s, &width);
-+ s = read_block_form (dtp, &width);
-
-- if (status == FAILURE)
-+ if (s == NULL)
- return;
-- if (width > (size_t) len)
-+ if (width > len)
- s += (width - len);
-
-- m = ((int) width > len) ? len : (int) width;
-+ m = (width > len) ? len : width;
- memcpy (p, s, m);
-
- n = len - width;
-@@ -358,13 +348,13 @@
-
-
- static void
--read_utf8_char4 (st_parameter_dt *dtp, void *p, int len, size_t width)
-+read_utf8_char4 (st_parameter_dt *dtp, void *p, int len, int width)
- {
- gfc_char4_t *dest;
-- size_t nbytes;
-+ int nbytes;
- int i, j;
-
-- len = ((int) width < len) ? len : (int) width;
-+ len = (width < len) ? len : width;
-
- dest = (gfc_char4_t *) p;
-
-@@ -386,19 +376,17 @@
-
-
- static void
--read_default_char4 (st_parameter_dt *dtp, char *p, int len, size_t width)
-+read_default_char4 (st_parameter_dt *dtp, char *p, int len, int width)
- {
- char *s;
- gfc_char4_t *dest;
-- int m, n, status;
-+ int m, n;
-
-- s = gfc_alloca (width);
--
-- status = read_block_form (dtp, s, &width);
-+ s = read_block_form (dtp, &width);
-
-- if (status == FAILURE)
-+ if (s == NULL)
- return;
-- if (width > (size_t) len)
-+ if (width > len)
- s += (width - len);
-
- m = ((int) width > len) ? len : (int) width;
-@@ -420,7 +408,7 @@
- read_a (st_parameter_dt *dtp, const fnode *f, char *p, int length)
- {
- int wi;
-- size_t w;
-+ int w;
-
- wi = f->u.w;
- if (wi == -1) /* '(A)' edit descriptor */
-@@ -446,13 +434,11 @@
- void
- read_a_char4 (st_parameter_dt *dtp, const fnode *f, char *p, int length)
- {
-- int wi;
-- size_t w;
-+ int w;
-
-- wi = f->u.w;
-- if (wi == -1) /* '(A)' edit descriptor */
-- wi = length;
-- w = wi;
-+ w = f->u.w;
-+ if (w == -1) /* '(A)' edit descriptor */
-+ w = length;
-
- /* Read in w characters, treating comma as not a separator. */
- dtp->u.p.sf_read_comma = 0;
-@@ -527,18 +513,15 @@
- GFC_UINTEGER_LARGEST value, maxv, maxv_10;
- GFC_INTEGER_LARGEST v;
- int w, negative;
-- size_t wu;
- char c, *p;
-
-- wu = f->u.w;
-+ w = f->u.w;
-
-- p = gfc_alloca (wu);
-+ p = read_block_form (dtp, &w);
-
-- if (read_block_form (dtp, p, &wu) == FAILURE)
-+ if (p == NULL)
- return;
-
-- w = wu;
--
- p = eat_leading_spaces (&w, p);
- if (w == 0)
- {
-@@ -631,17 +614,14 @@
- GFC_INTEGER_LARGEST v;
- int w, negative;
- char c, *p;
-- size_t wu;
-
-- wu = f->u.w;
-+ w = f->u.w;
-
-- p = gfc_alloca (wu);
-+ p = read_block_form (dtp, &w);
-
-- if (read_block_form (dtp, p, &wu) == FAILURE)
-+ if (p == NULL)
- return;
-
-- w = wu;
--
- p = eat_leading_spaces (&w, p);
- if (w == 0)
- {
-@@ -778,75 +758,83 @@
- void
- read_f (st_parameter_dt *dtp, const fnode *f, char *dest, int length)
- {
-- size_t wu;
- int w, seen_dp, exponent;
-- int exponent_sign, val_sign;
-- int ndigits;
-- int edigits;
-- int i;
-- char *p, *buffer;
-- char *digits;
-- char scratch[SCRATCH_SIZE];
-+ int exponent_sign;
-+ const char *p;
-+ char *buffer;
-+ char *out;
-+ int seen_int_digit; /* Seen a digit before the decimal point? */
-+ int seen_dec_digit; /* Seen a digit after the decimal point? */
-
-- val_sign = 1;
- seen_dp = 0;
-- wu = f->u.w;
-+ seen_int_digit = 0;
-+ seen_dec_digit = 0;
-+ exponent_sign = 1;
-+ exponent = 0;
-+ w = f->u.w;
-
-- p = gfc_alloca (wu);
--
-- if (read_block_form (dtp, p, &wu) == FAILURE)
-+ /* Read in the next block. */
-+ p = read_block_form (dtp, &w);
-+ if (p == NULL)
- return;
--
-- w = wu;
--
-- p = eat_leading_spaces (&w, p);
-+ p = eat_leading_spaces (&w, (char*) p);
- if (w == 0)
- goto zero;
-
-- /* Optional sign */
-+ /* In this buffer we're going to re-format the number cleanly to be parsed
-+ by convert_real in the end; this assures we're using strtod from the
-+ C library for parsing and thus probably get the best accuracy possible.
-+ This process may add a '+0.0' in front of the number as well as change the
-+ exponent because of an implicit decimal point or the like. Thus allocating
-+ strlen ("+0.0e-1000") == 10 characters plus one for NUL more than the
-+ original buffer had should be enough. */
-+ buffer = gfc_alloca (w + 11);
-+ out = buffer;
-
-+ /* Optional sign */
- if (*p == '-' || *p == '+')
- {
- if (*p == '-')
-- val_sign = -1;
-- p++;
-- w--;
-+ *(out++) = '-';
-+ ++p;
-+ --w;
- }
-
-- exponent_sign = 1;
-- p = eat_leading_spaces (&w, p);
-+ p = eat_leading_spaces (&w, (char*) p);
- if (w == 0)
- goto zero;
-
-- /* A digit, a '.' or a exponent character ('e', 'E', 'd' or 'D')
-- is required at this point */
--
-- if (!isdigit (*p) && *p != '.' && *p != ',' && *p != 'd' && *p != 'D'
-- && *p != 'e' && *p != 'E')
-- goto bad_float;
--
-- /* Remember the position of the first digit. */
-- digits = p;
-- ndigits = 0;
--
-- /* Scan through the string to find the exponent. */
-+ /* Process the mantissa string. */
- while (w > 0)
- {
- switch (*p)
- {
- case ',':
-- if (dtp->u.p.current_unit->decimal_status == DECIMAL_COMMA
-- && *p == ',')
-- *p = '.';
-- else
-+ if (dtp->u.p.current_unit->decimal_status != DECIMAL_COMMA)
- goto bad_float;
-- /* Fall through */
-+ /* Fall through. */
- case '.':
- if (seen_dp)
- goto bad_float;
-+ if (!seen_int_digit)
-+ *(out++) = '0';
-+ *(out++) = '.';
- seen_dp = 1;
-- /* Fall through */
-+ break;
-
-+ case ' ':
-+ if (dtp->u.p.blank_status == BLANK_ZERO)
-+ {
-+ *(out++) = '0';
-+ goto found_digit;
-+ }
-+ else if (dtp->u.p.blank_status == BLANK_NULL)
-+ break;
-+ else
-+ /* TODO: Should we check instead that there are only trailing
-+ blanks here, as is done below for exponents? */
-+ goto done;
-+ /* Fall through. */
- case '0':
- case '1':
- case '2':
-@@ -857,207 +845,173 @@
- case '7':
- case '8':
- case '9':
-- case ' ':
-- ndigits++;
-- p++;
-- w--;
-+ *(out++) = *p;
-+found_digit:
-+ if (!seen_dp)
-+ seen_int_digit = 1;
-+ else
-+ seen_dec_digit = 1;
- break;
-
- case '-':
-- exponent_sign = -1;
-- /* Fall through */
--
- case '+':
-- p++;
-- w--;
-- goto exp2;
-+ goto exponent;
-
-- case 'd':
- case 'e':
-- case 'D':
- case 'E':
-- p++;
-- w--;
-- goto exp1;
-+ case 'd':
-+ case 'D':
-+ ++p;
-+ --w;
-+ goto exponent;
-
- default:
- goto bad_float;
- }
-- }
-
-- /* No exponent has been seen, so we use the current scale factor */
-- exponent = -dtp->u.p.scale_factor;
-+ ++p;
-+ --w;
-+ }
-+
-+ /* No exponent has been seen, so we use the current scale factor. */
-+ exponent = - dtp->u.p.scale_factor;
- goto done;
-
-- bad_float:
-- generate_error (&dtp->common, LIBERROR_READ_VALUE,
-- "Bad value during floating point read");
-- next_record (dtp, 1);
-- return;
--
-- /* The value read is zero */
-- zero:
-- switch (length)
-+ /* At this point the start of an exponent has been found. */
-+exponent:
-+ p = eat_leading_spaces (&w, (char*) p);
-+ if (*p == '-' || *p == '+')
- {
-- case 4:
-- *((GFC_REAL_4 *) dest) = 0;
-- break;
--
-- case 8:
-- *((GFC_REAL_8 *) dest) = 0;
-- break;
--
--#ifdef HAVE_GFC_REAL_10
-- case 10:
-- *((GFC_REAL_10 *) dest) = 0;
-- break;
--#endif
--
--#ifdef HAVE_GFC_REAL_16
-- case 16:
-- *((GFC_REAL_16 *) dest) = 0;
-- break;
--#endif
--
-- default:
-- internal_error (&dtp->common, "Unsupported real kind during IO");
-+ if (*p == '-')
-+ exponent_sign = -1;
-+ ++p;
-+ --w;
- }
-- return;
-
-- /* At this point the start of an exponent has been found */
-- exp1:
-- while (w > 0 && *p == ' ')
-- {
-- w--;
-- p++;
-- }
-+ /* At this point a digit string is required. We calculate the value
-+ of the exponent in order to take account of the scale factor and
-+ the d parameter before explict conversion takes place. */
-
-- switch (*p)
-- {
-- case '-':
-- exponent_sign = -1;
-- /* Fall through */
--
-- case '+':
-- p++;
-- w--;
-- break;
-- }
--
- if (w == 0)
- goto bad_float;
-
-- /* At this point a digit string is required. We calculate the value
-- of the exponent in order to take account of the scale factor and
-- the d parameter before explict conversion takes place. */
-- exp2:
-- /* Normal processing of exponent */
-- exponent = 0;
- if (dtp->u.p.blank_status == BLANK_UNSPECIFIED)
- {
- while (w > 0 && isdigit (*p))
-- {
-- exponent = 10 * exponent + *p - '0';
-- p++;
-- w--;
-- }
--
-- /* Only allow trailing blanks */
--
-+ {
-+ exponent *= 10;
-+ exponent += *p - '0';
-+ ++p;
-+ --w;
-+ }
-+
-+ /* Only allow trailing blanks. */
- while (w > 0)
-- {
-- if (*p != ' ')
-+ {
-+ if (*p != ' ')
- goto bad_float;
-- p++;
-- w--;
-- }
-+ ++p;
-+ --w;
-+ }
- }
-- else /* BZ or BN status is enabled */
-+ else /* BZ or BN status is enabled. */
- {
- while (w > 0)
-- {
-- if (*p == ' ')
-- {
-- if (dtp->u.p.blank_status == BLANK_ZERO) *p = '0';
-- if (dtp->u.p.blank_status == BLANK_NULL)
-- {
-- p++;
-- w--;
-- continue;
-- }
-- }
-- else if (!isdigit (*p))
-- goto bad_float;
-+ {
-+ if (*p == ' ')
-+ {
-+ if (dtp->u.p.blank_status == BLANK_ZERO)
-+ exponent *= 10;
-+ else
-+ assert (dtp->u.p.blank_status == BLANK_NULL);
-+ }
-+ else if (!isdigit (*p))
-+ goto bad_float;
-+ else
-+ {
-+ exponent *= 10;
-+ exponent += *p - '0';
-+ }
-
-- exponent = 10 * exponent + *p - '0';
-- p++;
-- w--;
-- }
-+ ++p;
-+ --w;
-+ }
- }
-
-- exponent = exponent * exponent_sign;
-+ exponent *= exponent_sign;
-
-- done:
-+done:
- /* Use the precision specified in the format if no decimal point has been
- seen. */
- if (!seen_dp)
- exponent -= f->u.real.d;
-
-- if (exponent > 0)
-- {
-- edigits = 2;
-- i = exponent;
-- }
-- else
-- {
-- edigits = 3;
-- i = -exponent;
-- }
-+ /* Output a trailing '0' after decimal point if not yet found. */
-+ if (seen_dp && !seen_dec_digit)
-+ *(out++) = '0';
-
-- while (i >= 10)
-+ /* Print out the exponent to finish the reformatted number. Maximum 4
-+ digits for the exponent. */
-+ if (exponent != 0)
- {
-- i /= 10;
-- edigits++;
-- }
-+ int dig;
-
-- i = ndigits + edigits + 1;
-- if (val_sign < 0)
-- i++;
-+ *(out++) = 'e';
-+ if (exponent < 0)
-+ {
-+ *(out++) = '-';
-+ exponent = - exponent;
-+ }
-
-- if (i < SCRATCH_SIZE)
-- buffer = scratch;
-- else
-- buffer = get_mem (i);
--
-- /* Reformat the string into a temporary buffer. As we're using atof it's
-- easiest to just leave the decimal point in place. */
-- p = buffer;
-- if (val_sign < 0)
-- *(p++) = '-';
-- for (; ndigits > 0; ndigits--)
-- {
-- if (*digits == ' ')
-- {
-- if (dtp->u.p.blank_status == BLANK_ZERO) *digits = '0';
-- if (dtp->u.p.blank_status == BLANK_NULL)
-- {
-- digits++;
-- continue;
-- }
-- }
-- *p = *digits;
-- p++;
-- digits++;
-+ assert (exponent < 10000);
-+ for (dig = 3; dig >= 0; --dig)
-+ {
-+ out[dig] = (char) ('0' + exponent % 10);
-+ exponent /= 10;
-+ }
-+ out += 4;
- }
-- *(p++) = 'e';
-- sprintf (p, "%d", exponent);
-+ *(out++) = '\0';
-
- /* Do the actual conversion. */
- convert_real (dtp, dest, buffer, length);
-
-- if (buffer != scratch)
-- free_mem (buffer);
-+ return;
-
-+ /* The value read is zero. */
-+zero:
-+ switch (length)
-+ {
-+ case 4:
-+ *((GFC_REAL_4 *) dest) = 0.0;
-+ break;
-+
-+ case 8:
-+ *((GFC_REAL_8 *) dest) = 0.0;
-+ break;
-+
-+#ifdef HAVE_GFC_REAL_10
-+ case 10:
-+ *((GFC_REAL_10 *) dest) = 0.0;
-+ break;
-+#endif
-+
-+#ifdef HAVE_GFC_REAL_16
-+ case 16:
-+ *((GFC_REAL_16 *) dest) = 0.0;
-+ break;
-+#endif
-+
-+ default:
-+ internal_error (&dtp->common, "Unsupported real kind during IO");
-+ }
-+ return;
-+
-+bad_float:
-+ generate_error (&dtp->common, LIBERROR_READ_VALUE,
-+ "Bad value during floating point read");
-+ next_record (dtp, 1);
-+ return;
- }
-
-
-Index: libgfortran/io/io.h
-===================================================================
---- libgfortran/io/io.h (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libgfortran/io/io.h (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -46,35 +46,61 @@
-
- typedef struct stream
- {
-- char *(*alloc_w_at) (struct stream *, int *);
-- try (*sfree) (struct stream *);
-- try (*close) (struct stream *);
-- try (*seek) (struct stream *, gfc_offset);
-- try (*trunc) (struct stream *);
-- int (*read) (struct stream *, void *, size_t *);
-- int (*write) (struct stream *, const void *, size_t *);
-- try (*set) (struct stream *, int, size_t);
-+ ssize_t (*read) (struct stream *, void *, ssize_t);
-+ ssize_t (*write) (struct stream *, const void *, ssize_t);
-+ off_t (*seek) (struct stream *, off_t, int);
-+ off_t (*tell) (struct stream *);
-+ /* Avoid keyword truncate due to AIX namespace collision. */
-+ int (*trunc) (struct stream *, off_t);
-+ int (*flush) (struct stream *);
-+ int (*close) (struct stream *);
- }
- stream;
-
--typedef enum
--{ SYNC_BUFFERED, SYNC_UNBUFFERED, ASYNC }
--io_mode;
-+/* Inline functions for doing file I/O given a stream. */
-+static inline ssize_t
-+sread (stream * s, void * buf, ssize_t nbyte)
-+{
-+ return s->read (s, buf, nbyte);
-+}
-
--/* Macros for doing file I/O given a stream. */
-+static inline ssize_t
-+swrite (stream * s, const void * buf, ssize_t nbyte)
-+{
-+ return s->write (s, buf, nbyte);
-+}
-
--#define sfree(s) ((s)->sfree)(s)
--#define sclose(s) ((s)->close)(s)
-+static inline off_t
-+sseek (stream * s, off_t offset, int whence)
-+{
-+ return s->seek (s, offset, whence);
-+}
-
--#define salloc_w(s, len) ((s)->alloc_w_at)(s, len)
-+static inline off_t
-+stell (stream * s)
-+{
-+ return s->tell (s);
-+}
-
--#define sseek(s, pos) ((s)->seek)(s, pos)
--#define struncate(s) ((s)->trunc)(s)
--#define sread(s, buf, nbytes) ((s)->read)(s, buf, nbytes)
--#define swrite(s, buf, nbytes) ((s)->write)(s, buf, nbytes)
-+static inline int
-+struncate (stream * s, off_t length)
-+{
-+ return s->trunc (s, length);
-+}
-
--#define sset(s, c, n) ((s)->set)(s, c, n)
-+static inline int
-+sflush (stream * s)
-+{
-+ return s->flush (s);
-+}
-
-+static inline int
-+sclose (stream * s)
-+{
-+ return s->close (s);
-+}
-+
-+
- /* Macros for testing what kinds of I/O we are doing. */
-
- #define is_array_io(dtp) ((dtp)->internal_unit_desc)
-@@ -124,7 +150,6 @@
-
- typedef struct namelist_type
- {
--
- /* Object type, stored as GFC_DTYPE_xxxx. */
- bt type;
-
-@@ -461,9 +486,9 @@
- /* A flag used to identify when a non-standard expanded namelist read
- has occurred. */
- int expanded_read;
-- /* Storage area for values except for strings. Must be large
-- enough to hold a complex value (two reals) of the largest
-- kind. */
-+ /* Storage area for values except for strings. Must be
-+ large enough to hold a complex value (two reals) of the
-+ largest kind. */
- char value[32];
- GFC_IO_INT size_used;
- } p;
-@@ -535,10 +560,9 @@
- typedef struct fbuf
- {
- char *buf; /* Start of buffer. */
-- size_t len; /* Length of buffer. */
-- size_t act; /* Active bytes in buffer. */
-- size_t flushed; /* Flushed bytes from beginning of buffer. */
-- size_t pos; /* Current position in buffer. */
-+ int len; /* Length of buffer. */
-+ int act; /* Active bytes in buffer. */
-+ int pos; /* Current position in buffer. */
- }
- fbuf;
-
-@@ -596,7 +620,7 @@
-
- int file_len;
- char *file;
--
-+
- /* Formatting buffer. */
- struct fbuf *fbuf;
- }
-@@ -668,9 +692,6 @@
-
- /* unix.c */
-
--extern int move_pos_offset (stream *, int);
--internal_proto(move_pos_offset);
--
- extern int compare_files (stream *, stream *);
- internal_proto(compare_files);
-
-@@ -680,6 +701,12 @@
- extern stream *open_internal (char *, int, gfc_offset);
- internal_proto(open_internal);
-
-+extern char * mem_alloc_w (stream *, int *);
-+internal_proto(mem_alloc_w);
-+
-+extern char * mem_alloc_r (stream *, int *);
-+internal_proto(mem_alloc_w);
-+
- extern stream *input_stream (void);
- internal_proto(input_stream);
-
-@@ -695,12 +722,6 @@
- extern gfc_unit *find_file (const char *file, gfc_charlen_type file_len);
- internal_proto(find_file);
-
--extern int stream_at_bof (stream *);
--internal_proto(stream_at_bof);
--
--extern int stream_at_eof (stream *);
--internal_proto(stream_at_eof);
--
- extern int delete_file (gfc_unit *);
- internal_proto(delete_file);
-
-@@ -731,36 +752,24 @@
- extern gfc_offset file_length (stream *);
- internal_proto(file_length);
-
--extern gfc_offset file_position (stream *);
--internal_proto(file_position);
--
- extern int is_seekable (stream *);
- internal_proto(is_seekable);
-
- extern int is_special (stream *);
- internal_proto(is_special);
-
--extern int is_preconnected (stream *);
--internal_proto(is_preconnected);
--
- extern void flush_if_preconnected (stream *);
- internal_proto(flush_if_preconnected);
-
- extern void empty_internal_buffer(stream *);
- internal_proto(empty_internal_buffer);
-
--extern try flush (stream *);
--internal_proto(flush);
--
- extern int stream_isatty (stream *);
- internal_proto(stream_isatty);
-
- extern char * stream_ttyname (stream *);
- internal_proto(stream_ttyname);
-
--extern gfc_offset stream_offset (stream *s);
--internal_proto(stream_offset);
--
- extern int unpack_filename (char *, const char *, int);
- internal_proto(unpack_filename);
-
-@@ -804,6 +813,9 @@
- extern void finish_last_advance_record (gfc_unit *u);
- internal_proto (finish_last_advance_record);
-
-+extern int unit_truncate (gfc_unit *, gfc_offset, st_parameter_common *);
-+internal_proto (unit_truncate);
-+
- /* open.c */
-
- extern gfc_unit *new_unit (st_parameter_open *, gfc_unit *, unit_flags *);
-@@ -833,7 +845,7 @@
- extern const char *type_name (bt);
- internal_proto(type_name);
-
--extern try read_block_form (st_parameter_dt *, void *, size_t *);
-+extern void * read_block_form (st_parameter_dt *, int *);
- internal_proto(read_block_form);
-
- extern char *read_sf (st_parameter_dt *, int *, int);
-@@ -859,6 +871,9 @@
- extern void st_wait (st_parameter_wait *);
- export_proto(st_wait);
-
-+extern void hit_eof (st_parameter_dt *);
-+internal_proto(hit_eof);
-+
- /* read.c */
-
- extern void set_integer (void *, GFC_INTEGER_LARGEST, int);
-@@ -965,24 +980,39 @@
- internal_proto(size_from_complex_kind);
-
- /* fbuf.c */
--extern void fbuf_init (gfc_unit *, size_t);
-+extern void fbuf_init (gfc_unit *, int);
- internal_proto(fbuf_init);
-
- extern void fbuf_destroy (gfc_unit *);
- internal_proto(fbuf_destroy);
-
--extern void fbuf_reset (gfc_unit *);
-+extern int fbuf_reset (gfc_unit *);
- internal_proto(fbuf_reset);
-
--extern char * fbuf_alloc (gfc_unit *, size_t);
-+extern char * fbuf_alloc (gfc_unit *, int);
- internal_proto(fbuf_alloc);
-
--extern int fbuf_flush (gfc_unit *, int);
-+extern int fbuf_flush (gfc_unit *, unit_mode);
- internal_proto(fbuf_flush);
-
--extern int fbuf_seek (gfc_unit *, gfc_offset);
-+extern int fbuf_seek (gfc_unit *, int, int);
- internal_proto(fbuf_seek);
-
-+extern char * fbuf_read (gfc_unit *, int *);
-+internal_proto(fbuf_read);
-+
-+/* Never call this function, only use fbuf_getc(). */
-+extern int fbuf_getc_refill (gfc_unit *);
-+internal_proto(fbuf_getc_refill);
-+
-+static inline int
-+fbuf_getc (gfc_unit * u)
-+{
-+ if (u->fbuf->pos < u->fbuf->act)
-+ return (unsigned char) u->fbuf->buf[u->fbuf->pos++];
-+ return fbuf_getc_refill (u);
-+}
-+
- /* lock.c */
- extern void free_ionml (st_parameter_dt *);
- internal_proto(free_ionml);
-Index: libgfortran/io/unit.c
-===================================================================
---- libgfortran/io/unit.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libgfortran/io/unit.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -535,6 +535,8 @@
- u->file_len = strlen (stdin_name);
- u->file = get_mem (u->file_len);
- memmove (u->file, stdin_name, u->file_len);
-+
-+ fbuf_init (u, 0);
-
- __gthread_mutex_unlock (&u->lock);
- }
-@@ -619,7 +621,7 @@
- if (u->previous_nonadvancing_write)
- finish_last_advance_record (u);
-
-- rc = (u->s == NULL) ? 0 : sclose (u->s) == FAILURE;
-+ rc = (u->s == NULL) ? 0 : sclose (u->s) == -1;
-
- u->closed = 1;
- if (!locked)
-@@ -635,7 +637,7 @@
- free_mem (u->file);
- u->file = NULL;
- u->file_len = 0;
--
-+
- fbuf_destroy (u);
-
- if (!locked)
-@@ -692,15 +694,62 @@
- void
- update_position (gfc_unit *u)
- {
-- if (file_position (u->s) == 0)
-+ if (stell (u->s) == 0)
- u->flags.position = POSITION_REWIND;
-- else if (file_length (u->s) == file_position (u->s))
-+ else if (file_length (u->s) == stell (u->s))
- u->flags.position = POSITION_APPEND;
- else
- u->flags.position = POSITION_ASIS;
- }
-
-
-+/* High level interface to truncate a file safely, i.e. flush format
-+ buffers, check that it's a regular file, and generate error if that
-+ occurs. Just like POSIX ftruncate, returns 0 on success, -1 on
-+ failure. */
-+
-+int
-+unit_truncate (gfc_unit * u, gfc_offset pos, st_parameter_common * common)
-+{
-+ int ret;
-+
-+ /* Make sure format buffer is flushed. */
-+ if (u->flags.form == FORM_FORMATTED)
-+ {
-+ if (u->mode == READING)
-+ pos += fbuf_reset (u);
-+ else
-+ fbuf_flush (u, u->mode);
-+ }
-+
-+ /* Don't try to truncate a special file, just pretend that it
-+ succeeds. */
-+ if (is_special (u->s) || !is_seekable (u->s))
-+ {
-+ sflush (u->s);
-+ return 0;
-+ }
-+
-+ /* struncate() should flush the stream buffer if necessary, so don't
-+ bother calling sflush() here. */
-+ ret = struncate (u->s, pos);
-+
-+ if (ret != 0)
-+ {
-+ generate_error (common, LIBERROR_OS, NULL);
-+ u->endfile = NO_ENDFILE;
-+ u->flags.position = POSITION_ASIS;
-+ }
-+ else
-+ {
-+ u->endfile = AT_ENDFILE;
-+ u->flags.position = POSITION_APPEND;
-+ }
-+
-+ return ret;
-+}
-+
-+
- /* filename_from_unit()-- If the unit_number exists, return a pointer to the
- name of the associated file, otherwise return the empty string. The caller
- must free memory allocated for the filename string. */
-@@ -741,23 +790,25 @@
- {
-
- if (u->saved_pos > 0)
-- fbuf_seek (u, u->saved_pos);
--
-- fbuf_flush (u, 1);
-+ fbuf_seek (u, u->saved_pos, SEEK_CUR);
-
- if (!(u->unit_number == options.stdout_unit
- || u->unit_number == options.stderr_unit))
- {
-- size_t len;
--
-- const char crlf[] = "\r\n";
- #ifdef HAVE_CRLF
-- len = 2;
-+ const int len = 2;
- #else
-- len = 1;
-+ const int len = 1;
- #endif
-- if (swrite (u->s, &crlf[2-len], &len) != 0)
-+ char *p = fbuf_alloc (u, len);
-+ if (!p)
- os_error ("Completing record after ADVANCE_NO failed");
-+#ifdef HAVE_CRLF
-+ *(p++) = '\r';
-+#endif
-+ *p = '\n';
- }
-+
-+ fbuf_flush (u, u->mode);
- }
-
-Index: libgfortran/io/fbuf.c
-===================================================================
---- libgfortran/io/fbuf.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libgfortran/io/fbuf.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -28,8 +28,11 @@
- #include <stdlib.h>
-
-
-+//#define FBUF_DEBUG
-+
-+
- void
--fbuf_init (gfc_unit * u, size_t len)
-+fbuf_init (gfc_unit * u, int len)
- {
- if (len == 0)
- len = 512; /* Default size. */
-@@ -37,18 +40,11 @@
- u->fbuf = get_mem (sizeof (fbuf));
- u->fbuf->buf = get_mem (len);
- u->fbuf->len = len;
-- u->fbuf->act = u->fbuf->flushed = u->fbuf->pos = 0;
-+ u->fbuf->act = u->fbuf->pos = 0;
- }
-
-
- void
--fbuf_reset (gfc_unit * u)
--{
-- u->fbuf->act = u->fbuf->flushed = u->fbuf->pos = 0;
--}
--
--
--void
- fbuf_destroy (gfc_unit * u)
- {
- if (u->fbuf == NULL)
-@@ -56,58 +52,79 @@
- if (u->fbuf->buf)
- free_mem (u->fbuf->buf);
- free_mem (u->fbuf);
-+ u->fbuf = NULL;
- }
-
-
-+static void
-+#ifdef FBUF_DEBUG
-+fbuf_debug (gfc_unit * u, const char * format, ...)
-+{
-+ va_list args;
-+ va_start(args, format);
-+ vfprintf(stderr, format, args);
-+ va_end(args);
-+ fprintf (stderr, "fbuf_debug pos: %d, act: %d, buf: ''",
-+ u->fbuf->pos, u->fbuf->act);
-+ for (int ii = 0; ii < u->fbuf->act; ii++)
-+ {
-+ putc (u->fbuf->buf[ii], stderr);
-+ }
-+ fprintf (stderr, "''\n");
-+}
-+#else
-+fbuf_debug (gfc_unit * u __attribute__ ((unused)),
-+ const char * format __attribute__ ((unused)),
-+ ...) {}
-+#endif
-+
-+
-+
-+/* You should probably call this before doing a physical seek on the
-+ underlying device. Returns how much the physical position was
-+ modified. */
-+
-+int
-+fbuf_reset (gfc_unit * u)
-+{
-+ int seekval = 0;
-+
-+ if (!u->fbuf)
-+ return 0;
-+
-+ fbuf_debug (u, "fbuf_reset: ");
-+ fbuf_flush (u, u->mode);
-+ /* If we read past the current position, seek the underlying device
-+ back. */
-+ if (u->mode == READING && u->fbuf->act > u->fbuf->pos)
-+ {
-+ seekval = - (u->fbuf->act - u->fbuf->pos);
-+ fbuf_debug (u, "fbuf_reset seekval %d, ", seekval);
-+ }
-+ u->fbuf->act = u->fbuf->pos = 0;
-+ return seekval;
-+}
-+
-+
- /* Return a pointer to the current position in the buffer, and increase
- the pointer by len. Makes sure that the buffer is big enough,
-- reallocating if necessary. If the buffer is not big enough, there are
-- three cases to consider:
-- 1. If we haven't flushed anything, realloc
-- 2. If we have flushed enough that by discarding the flushed bytes
-- the request fits into the buffer, do that.
-- 3. Else allocate a new buffer, memcpy unflushed active bytes from old
-- buffer. */
-+ reallocating if necessary. */
-
- char *
--fbuf_alloc (gfc_unit * u, size_t len)
-+fbuf_alloc (gfc_unit * u, int len)
- {
-- size_t newlen;
-+ int newlen;
- char *dest;
-+ fbuf_debug (u, "fbuf_alloc len %d, ", len);
- if (u->fbuf->pos + len > u->fbuf->len)
- {
-- if (u->fbuf->flushed == 0)
-- {
-- /* Round up to nearest multiple of the current buffer length. */
-- newlen = ((u->fbuf->pos + len) / u->fbuf->len + 1) * u->fbuf->len;
-- dest = realloc (u->fbuf->buf, newlen);
-- if (dest == NULL)
-- return NULL;
-- u->fbuf->buf = dest;
-- u->fbuf->len = newlen;
-- }
-- else if (u->fbuf->act - u->fbuf->flushed + len < u->fbuf->len)
-- {
-- memmove (u->fbuf->buf, u->fbuf->buf + u->fbuf->flushed,
-- u->fbuf->act - u->fbuf->flushed);
-- u->fbuf->act -= u->fbuf->flushed;
-- u->fbuf->pos -= u->fbuf->flushed;
-- u->fbuf->flushed = 0;
-- }
-- else
-- {
-- /* Most general case, flushed != 0, request doesn't fit. */
-- newlen = ((u->fbuf->pos - u->fbuf->flushed + len)
-- / u->fbuf->len + 1) * u->fbuf->len;
-- dest = get_mem (newlen);
-- memcpy (dest, u->fbuf->buf + u->fbuf->flushed,
-- u->fbuf->act - u->fbuf->flushed);
-- u->fbuf->act -= u->fbuf->flushed;
-- u->fbuf->pos -= u->fbuf->flushed;
-- u->fbuf->flushed = 0;
-- u->fbuf->buf = dest;
-- u->fbuf->len = newlen;
-- }
-+ /* Round up to nearest multiple of the current buffer length. */
-+ newlen = ((u->fbuf->pos + len) / u->fbuf->len + 1) * u->fbuf->len;
-+ dest = realloc (u->fbuf->buf, newlen);
-+ if (dest == NULL)
-+ return NULL;
-+ u->fbuf->buf = dest;
-+ u->fbuf->len = newlen;
- }
-
- dest = u->fbuf->buf + u->fbuf->pos;
-@@ -118,42 +135,134 @@
- }
-
-
-+/* mode argument is WRITING for write mode and READING for read
-+ mode. Return value is 0 for success, -1 on failure. */
-
--
- int
--fbuf_flush (gfc_unit * u, int record_done)
-+fbuf_flush (gfc_unit * u, unit_mode mode)
- {
-- int status;
-- size_t nbytes;
-+ int nwritten;
-
- if (!u->fbuf)
- return 0;
-- if (u->fbuf->act - u->fbuf->flushed != 0)
-+
-+ fbuf_debug (u, "fbuf_flush with mode %d: ", mode);
-+
-+ if (mode == WRITING)
- {
-- if (record_done)
-- nbytes = u->fbuf->act - u->fbuf->flushed;
-- else
-- nbytes = u->fbuf->pos - u->fbuf->flushed;
-- status = swrite (u->s, u->fbuf->buf + u->fbuf->flushed, &nbytes);
-- u->fbuf->flushed += nbytes;
-+ if (u->fbuf->pos > 0)
-+ {
-+ nwritten = swrite (u->s, u->fbuf->buf, u->fbuf->pos);
-+ if (nwritten < 0)
-+ return -1;
-+ }
- }
-- else
-- status = 0;
-- if (record_done)
-- fbuf_reset (u);
-- return status;
-+ /* Salvage remaining bytes for both reading and writing. This
-+ happens with the combination of advance='no' and T edit
-+ descriptors leaving the final position somewhere not at the end
-+ of the record. For reading, this also happens if we sread() past
-+ the record boundary. */
-+ if (u->fbuf->act > u->fbuf->pos && u->fbuf->pos > 0)
-+ memmove (u->fbuf->buf, u->fbuf->buf + u->fbuf->pos,
-+ u->fbuf->act - u->fbuf->pos);
-+
-+ u->fbuf->act -= u->fbuf->pos;
-+ u->fbuf->pos = 0;
-+
-+ return 0;
- }
-
-
- int
--fbuf_seek (gfc_unit * u, gfc_offset off)
-+fbuf_seek (gfc_unit * u, int off, int whence)
- {
-- gfc_offset pos = u->fbuf->pos + off;
-- /* Moving to the left past the flushed marked would imply moving past
-- the left tab limit, which is never allowed. So return error if
-- that is attempted. */
-- if (pos < (gfc_offset) u->fbuf->flushed)
-+ if (!u->fbuf)
- return -1;
-- u->fbuf->pos = pos;
-- return 0;
-+
-+ switch (whence)
-+ {
-+ case SEEK_SET:
-+ break;
-+ case SEEK_CUR:
-+ off += u->fbuf->pos;
-+ break;
-+ case SEEK_END:
-+ off += u->fbuf->act;
-+ break;
-+ default:
-+ return -1;
-+ }
-+
-+ fbuf_debug (u, "fbuf_seek, off %d ", off);
-+ /* The start of the buffer is always equal to the left tab
-+ limit. Moving to the left past the buffer is illegal in C and
-+ would also imply moving past the left tab limit, which is never
-+ allowed in Fortran. Similarly, seeking past the end of the buffer
-+ is not possible, in that case the user must make sure to allocate
-+ space with fbuf_alloc(). So return error if that is
-+ attempted. */
-+ if (off < 0 || off > u->fbuf->act)
-+ return -1;
-+ u->fbuf->pos = off;
-+ return off;
- }
-+
-+
-+/* Fill the buffer with bytes for reading. Returns a pointer to start
-+ reading from. If we hit EOF, returns a short read count. If any
-+ other error occurs, return NULL. After reading, the caller is
-+ expected to call fbuf_seek to update the position with the number
-+ of bytes actually processed. */
-+
-+char *
-+fbuf_read (gfc_unit * u, int * len)
-+{
-+ char *ptr;
-+ int oldact, oldpos;
-+ int readlen = 0;
-+
-+ fbuf_debug (u, "fbuf_read, len %d: ", *len);
-+ oldact = u->fbuf->act;
-+ oldpos = u->fbuf->pos;
-+ ptr = fbuf_alloc (u, *len);
-+ u->fbuf->pos = oldpos;
-+ if (oldpos + *len > oldact)
-+ {
-+ fbuf_debug (u, "reading %d bytes starting at %d ",
-+ oldpos + *len - oldact, oldact);
-+ readlen = sread (u->s, u->fbuf->buf + oldact, oldpos + *len - oldact);
-+ if (readlen < 0)
-+ return NULL;
-+ *len = oldact - oldpos + readlen;
-+ }
-+ u->fbuf->act = oldact + readlen;
-+ fbuf_debug (u, "fbuf_read done: ");
-+ return ptr;
-+}
-+
-+
-+/* When the fbuf_getc() inline function runs out of buffer space, it
-+ calls this function to fill the buffer with bytes for
-+ reading. Never call this function directly. */
-+
-+int
-+fbuf_getc_refill (gfc_unit * u)
-+{
-+ int nread;
-+ char *p;
-+
-+ fbuf_debug (u, "fbuf_getc_refill ");
-+
-+ /* Read 80 bytes (average line length?). This is a compromise
-+ between not needing to call the read() syscall all the time and
-+ not having to memmove unnecessary stuff when switching to the
-+ next record. */
-+ nread = 80;
-+
-+ p = fbuf_read (u, &nread);
-+
-+ if (p && nread > 0)
-+ return (unsigned char) u->fbuf->buf[u->fbuf->pos++];
-+ else
-+ return EOF;
-+}
-Index: libgfortran/io/unix.c
-===================================================================
---- libgfortran/io/unix.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libgfortran/io/unix.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -89,10 +89,6 @@
-
- #endif
-
--#ifndef SSIZE_MAX
--#define SSIZE_MAX SHRT_MAX
--#endif
--
- #ifndef PATH_MAX
- #define PATH_MAX 1024
- #endif
-@@ -124,130 +120,32 @@
- #endif
-
-
--/* Unix stream I/O module */
-+/* Unix and internal stream I/O module */
-
--#define BUFFER_SIZE 8192
-+static const int BUFFER_SIZE = 8192;
-
- typedef struct
- {
- stream st;
-
-- int fd;
- gfc_offset buffer_offset; /* File offset of the start of the buffer */
- gfc_offset physical_offset; /* Current physical file offset */
- gfc_offset logical_offset; /* Current logical file offset */
-- gfc_offset dirty_offset; /* Start of modified bytes in buffer */
- gfc_offset file_length; /* Length of the file, -1 if not seekable. */
-
-- int len; /* Physical length of the current buffer */
-+ char *buffer; /* Pointer to the buffer. */
-+ int fd; /* The POSIX file descriptor. */
-+
- int active; /* Length of valid bytes in the buffer */
-
- int prot;
-- int ndirty; /* Dirty bytes starting at dirty_offset */
-+ int ndirty; /* Dirty bytes starting at buffer_offset */
-
- int special_file; /* =1 if the fd refers to a special file */
--
-- io_mode method; /* Method of stream I/O being used */
--
-- char *buffer;
-- char small_buffer[BUFFER_SIZE];
- }
- unix_stream;
-
-
--/* Stream structure for internal files. Fields must be kept in sync
-- with unix_stream above, except for the buffer. For internal files
-- we point the buffer pointer directly at the destination memory. */
--
--typedef struct
--{
-- stream st;
--
-- int fd;
-- gfc_offset buffer_offset; /* File offset of the start of the buffer */
-- gfc_offset physical_offset; /* Current physical file offset */
-- gfc_offset logical_offset; /* Current logical file offset */
-- gfc_offset dirty_offset; /* Start of modified bytes in buffer */
-- gfc_offset file_length; /* Length of the file, -1 if not seekable. */
--
-- int len; /* Physical length of the current buffer */
-- int active; /* Length of valid bytes in the buffer */
--
-- int prot;
-- int ndirty; /* Dirty bytes starting at dirty_offset */
--
-- int special_file; /* =1 if the fd refers to a special file */
--
-- io_mode method; /* Method of stream I/O being used */
--
-- char *buffer;
--}
--int_stream;
--
--/* This implementation of stream I/O is based on the paper:
-- *
-- * "Exploiting the advantages of mapped files for stream I/O",
-- * O. Krieger, M. Stumm and R. Umrau, "Proceedings of the 1992 Winter
-- * USENIX conference", p. 27-42.
-- *
-- * It differs in a number of ways from the version described in the
-- * paper. First of all, threads are not an issue during I/O and we
-- * also don't have to worry about having multiple regions, since
-- * fortran's I/O model only allows you to be one place at a time.
-- *
-- * On the other hand, we have to be able to writing at the end of a
-- * stream, read from the start of a stream or read and write blocks of
-- * bytes from an arbitrary position. After opening a file, a pointer
-- * to a stream structure is returned, which is used to handle file
-- * accesses until the file is closed.
-- *
-- * salloc_at_r(stream, len, where)-- Given a stream pointer, return a
-- * pointer to a block of memory that mirror the file at position
-- * 'where' that is 'len' bytes long. The len integer is updated to
-- * reflect how many bytes were actually read. The only reason for a
-- * short read is end of file. The file pointer is updated. The
-- * pointer is valid until the next call to salloc_*.
-- *
-- * salloc_at_w(stream, len, where)-- Given the stream pointer, returns
-- * a pointer to a block of memory that is updated to reflect the state
-- * of the file. The length of the buffer is always equal to that
-- * requested. The buffer must be completely set by the caller. When
-- * data has been written, the sfree() function must be called to
-- * indicate that the caller is done writing data to the buffer. This
-- * may or may not cause a physical write.
-- *
-- * Short forms of these are salloc_r() and salloc_w() which drop the
-- * 'where' parameter and use the current file pointer. */
--
--
--/*move_pos_offset()-- Move the record pointer right or left
-- *relative to current position */
--
--int
--move_pos_offset (stream* st, int pos_off)
--{
-- unix_stream * str = (unix_stream*)st;
-- if (pos_off < 0)
-- {
-- str->logical_offset += pos_off;
--
-- if (str->dirty_offset + str->ndirty > str->logical_offset)
-- {
-- if (str->ndirty + pos_off > 0)
-- str->ndirty += pos_off;
-- else
-- {
-- str->dirty_offset += pos_off + pos_off;
-- str->ndirty = 0;
-- }
-- }
--
-- return pos_off;
-- }
-- return 0;
--}
--
--
- /* fix_fd()-- Given a file descriptor, make sure it is not one of the
- * standard descriptors, returning a non-standard descriptor. If the
- * user specifies that system errors should go to standard output,
-@@ -292,18 +190,7 @@
- return fd;
- }
-
--int
--is_preconnected (stream * s)
--{
-- int fd;
-
-- fd = ((unix_stream *) s)->fd;
-- if (fd == STDIN_FILENO || fd == STDOUT_FILENO || fd == STDERR_FILENO)
-- return 1;
-- else
-- return 0;
--}
--
- /* If the stream corresponds to a preconnected unit, we flush the
- corresponding C stream. This is bugware for mixed C-Fortran codes
- where the C code doesn't flush I/O before returning. */
-@@ -322,580 +209,335 @@
- }
-
-
--/* Reset a stream after reading/writing. Assumes that the buffers have
-- been flushed. */
-+/* get_oserror()-- Get the most recent operating system error. For
-+ * unix, this is errno. */
-
--inline static void
--reset_stream (unix_stream * s, size_t bytes_rw)
-+const char *
-+get_oserror (void)
- {
-- s->physical_offset += bytes_rw;
-- s->logical_offset = s->physical_offset;
-- if (s->file_length != -1 && s->physical_offset > s->file_length)
-- s->file_length = s->physical_offset;
-+ return strerror (errno);
- }
-
-
--/* Read bytes into a buffer, allowing for short reads. If the nbytes
-- * argument is less on return than on entry, it is because we've hit
-- * the end of file. */
-+/********************************************************************
-+Raw I/O functions (read, write, seek, tell, truncate, close).
-
-+These functions wrap the basic POSIX I/O syscalls. Any deviation in
-+semantics is a bug, except the following: write restarts in case
-+of being interrupted by a signal, and as the first argument the
-+functions take the unix_stream struct rather than an integer file
-+descriptor. Also, for POSIX read() and write() a nbyte argument larger
-+than SSIZE_MAX is undefined; here the type of nbyte is ssize_t rather
-+than size_t as for POSIX read/write.
-+*********************************************************************/
-+
- static int
--do_read (unix_stream * s, void * buf, size_t * nbytes)
-+raw_flush (unix_stream * s __attribute__ ((unused)))
- {
-- ssize_t trans;
-- size_t bytes_left;
-- char *buf_st;
-- int status;
-+ return 0;
-+}
-
-- status = 0;
-- bytes_left = *nbytes;
-- buf_st = (char *) buf;
--
-- /* We must read in a loop since some systems don't restart system
-- calls in case of a signal. */
-- while (bytes_left > 0)
-- {
-- /* Requests between SSIZE_MAX and SIZE_MAX are undefined by SUSv3,
-- so we must read in chunks smaller than SSIZE_MAX. */
-- trans = (bytes_left < SSIZE_MAX) ? bytes_left : SSIZE_MAX;
-- trans = read (s->fd, buf_st, trans);
-- if (trans < 0)
-- {
-- if (errno == EINTR)
-- continue;
-- else
-- {
-- status = errno;
-- break;
-- }
-- }
-- else if (trans == 0) /* We hit EOF. */
-- break;
-- buf_st += trans;
-- bytes_left -= trans;
-- }
--
-- *nbytes -= bytes_left;
-- return status;
-+static ssize_t
-+raw_read (unix_stream * s, void * buf, ssize_t nbyte)
-+{
-+ /* For read we can't do I/O in a loop like raw_write does, because
-+ that will break applications that wait for interactive I/O. */
-+ return read (s->fd, buf, nbyte);
- }
-
--
--/* Write a buffer to a stream, allowing for short writes. */
--
--static int
--do_write (unix_stream * s, const void * buf, size_t * nbytes)
-+static ssize_t
-+raw_write (unix_stream * s, const void * buf, ssize_t nbyte)
- {
-- ssize_t trans;
-- size_t bytes_left;
-+ ssize_t trans, bytes_left;
- char *buf_st;
-- int status;
-
-- status = 0;
-- bytes_left = *nbytes;
-+ bytes_left = nbyte;
- buf_st = (char *) buf;
-
- /* We must write in a loop since some systems don't restart system
- calls in case of a signal. */
- while (bytes_left > 0)
- {
-- /* Requests between SSIZE_MAX and SIZE_MAX are undefined by SUSv3,
-- so we must write in chunks smaller than SSIZE_MAX. */
-- trans = (bytes_left < SSIZE_MAX) ? bytes_left : SSIZE_MAX;
-- trans = write (s->fd, buf_st, trans);
-+ trans = write (s->fd, buf_st, bytes_left);
- if (trans < 0)
- {
- if (errno == EINTR)
- continue;
- else
-- {
-- status = errno;
-- break;
-- }
-+ return trans;
- }
- buf_st += trans;
- bytes_left -= trans;
- }
-
-- *nbytes -= bytes_left;
-- return status;
-+ return nbyte - bytes_left;
- }
-
-+static off_t
-+raw_seek (unix_stream * s, off_t offset, int whence)
-+{
-+ return lseek (s->fd, offset, whence);
-+}
-
--/* get_oserror()-- Get the most recent operating system error. For
-- * unix, this is errno. */
-+static off_t
-+raw_tell (unix_stream * s)
-+{
-+ return lseek (s->fd, 0, SEEK_CUR);
-+}
-
--const char *
--get_oserror (void)
-+static int
-+raw_truncate (unix_stream * s, off_t length)
- {
-- return strerror (errno);
-+#ifdef HAVE_FTRUNCATE
-+ return ftruncate (s->fd, length);
-+#elif defined HAVE_CHSIZE
-+ return chsize (s->fd, length);
-+#else
-+ runtime_error ("required ftruncate or chsize support not present");
-+ return -1;
-+#endif
- }
-
-+static int
-+raw_close (unix_stream * s)
-+{
-+ int retval;
-+
-+ if (s->fd != STDOUT_FILENO
-+ && s->fd != STDERR_FILENO
-+ && s->fd != STDIN_FILENO)
-+ retval = close (s->fd);
-+ else
-+ retval = 0;
-+ free_mem (s);
-+ return retval;
-+}
-
--/*********************************************************************
-- File descriptor stream functions
--*********************************************************************/
-+static int
-+raw_init (unix_stream * s)
-+{
-+ s->st.read = (void *) raw_read;
-+ s->st.write = (void *) raw_write;
-+ s->st.seek = (void *) raw_seek;
-+ s->st.tell = (void *) raw_tell;
-+ s->st.trunc = (void *) raw_truncate;
-+ s->st.close = (void *) raw_close;
-+ s->st.flush = (void *) raw_flush;
-
-+ s->buffer = NULL;
-+ return 0;
-+}
-
--/* fd_flush()-- Write bytes that need to be written */
-
--static try
--fd_flush (unix_stream * s)
-+/*********************************************************************
-+Buffered I/O functions. These functions have the same semantics as the
-+raw I/O functions above, except that they are buffered in order to
-+improve performance. The buffer must be flushed when switching from
-+reading to writing and vice versa.
-+*********************************************************************/
-+
-+static int
-+buf_flush (unix_stream * s)
- {
-- size_t writelen;
-+ int writelen;
-
-+ /* Flushing in read mode means discarding read bytes. */
-+ s->active = 0;
-+
- if (s->ndirty == 0)
-- return SUCCESS;
-+ return 0;
-
-- if (s->file_length != -1 && s->physical_offset != s->dirty_offset &&
-- lseek (s->fd, s->dirty_offset, SEEK_SET) < 0)
-- return FAILURE;
-+ if (s->file_length != -1 && s->physical_offset != s->buffer_offset
-+ && lseek (s->fd, s->buffer_offset, SEEK_SET) < 0)
-+ return -1;
-
-- writelen = s->ndirty;
-- if (do_write (s, s->buffer + (s->dirty_offset - s->buffer_offset),
-- &writelen) != 0)
-- return FAILURE;
-+ writelen = raw_write (s, s->buffer, s->ndirty);
-
-- s->physical_offset = s->dirty_offset + writelen;
-+ s->physical_offset = s->buffer_offset + writelen;
-
-- /* don't increment file_length if the file is non-seekable */
-+ /* Don't increment file_length if the file is non-seekable. */
- if (s->file_length != -1 && s->physical_offset > s->file_length)
-- s->file_length = s->physical_offset;
-+ s->file_length = s->physical_offset;
-
- s->ndirty -= writelen;
- if (s->ndirty != 0)
-- return FAILURE;
-+ return -1;
-
-- return SUCCESS;
-+ return 0;
- }
-
--
--/* fd_alloc()-- Arrange a buffer such that the salloc() request can be
-- * satisfied. This subroutine gets the buffer ready for whatever is
-- * to come next. */
--
--static void
--fd_alloc (unix_stream * s, gfc_offset where,
-- int *len __attribute__ ((unused)))
-+static ssize_t
-+buf_read (unix_stream * s, void * buf, ssize_t nbyte)
- {
-- char *new_buffer;
-- int n, read_len;
-+ if (s->active == 0)
-+ s->buffer_offset = s->logical_offset;
-
-- if (*len <= BUFFER_SIZE)
-- {
-- new_buffer = s->small_buffer;
-- read_len = BUFFER_SIZE;
-- }
-+ /* Is the data we want in the buffer? */
-+ if (s->logical_offset + nbyte <= s->buffer_offset + s->active
-+ && s->buffer_offset <= s->logical_offset)
-+ memcpy (buf, s->buffer + (s->logical_offset - s->buffer_offset), nbyte);
- else
- {
-- new_buffer = get_mem (*len);
-- read_len = *len;
-+ /* First copy the active bytes if applicable, then read the rest
-+ either directly or filling the buffer. */
-+ char *p;
-+ int nread = 0;
-+ ssize_t to_read, did_read;
-+ gfc_offset new_logical;
-+
-+ p = (char *) buf;
-+ if (s->logical_offset >= s->buffer_offset
-+ && s->buffer_offset + s->active >= s->logical_offset)
-+ {
-+ nread = s->active - (s->logical_offset - s->buffer_offset);
-+ memcpy (buf, s->buffer + (s->logical_offset - s->buffer_offset),
-+ nread);
-+ p += nread;
-+ }
-+ /* At this point we consider all bytes in the buffer discarded. */
-+ to_read = nbyte - nread;
-+ new_logical = s->logical_offset + nread;
-+ if (s->file_length != -1 && s->physical_offset != new_logical
-+ && lseek (s->fd, new_logical, SEEK_SET) < 0)
-+ return -1;
-+ s->buffer_offset = s->physical_offset = new_logical;
-+ if (to_read <= BUFFER_SIZE/2)
-+ {
-+ did_read = raw_read (s, s->buffer, BUFFER_SIZE);
-+ s->physical_offset += did_read;
-+ s->active = did_read;
-+ did_read = (did_read > to_read) ? to_read : did_read;
-+ memcpy (p, s->buffer, did_read);
-+ }
-+ else
-+ {
-+ did_read = raw_read (s, p, to_read);
-+ s->physical_offset += did_read;
-+ s->active = 0;
-+ }
-+ nbyte = did_read + nread;
- }
--
-- /* Salvage bytes currently within the buffer. This is important for
-- * devices that cannot seek. */
--
-- if (s->buffer != NULL && s->buffer_offset <= where &&
-- where <= s->buffer_offset + s->active)
-- {
--
-- n = s->active - (where - s->buffer_offset);
-- memmove (new_buffer, s->buffer + (where - s->buffer_offset), n);
--
-- s->active = n;
-- }
-- else
-- { /* new buffer starts off empty */
-- s->active = 0;
-- }
--
-- s->buffer_offset = where;
--
-- /* free the old buffer if necessary */
--
-- if (s->buffer != NULL && s->buffer != s->small_buffer)
-- free_mem (s->buffer);
--
-- s->buffer = new_buffer;
-- s->len = read_len;
-+ s->logical_offset += nbyte;
-+ return nbyte;
- }
-
--
--/* fd_alloc_r_at()-- Allocate a stream buffer for reading. Either
-- * we've already buffered the data or we need to load it. Returns
-- * NULL on I/O error. */
--
--static char *
--fd_alloc_r_at (unix_stream * s, int *len)
-+static ssize_t
-+buf_write (unix_stream * s, const void * buf, ssize_t nbyte)
- {
-- gfc_offset m;
-- gfc_offset where = s->logical_offset;
-+ if (s->ndirty == 0)
-+ s->buffer_offset = s->logical_offset;
-
-- if (s->buffer != NULL && s->buffer_offset <= where &&
-- where + *len <= s->buffer_offset + s->active)
-+ /* Does the data fit into the buffer? As a special case, if the
-+ buffer is empty and the request is bigger than BUFFER_SIZE/2,
-+ write directly. This avoids the case where the buffer would have
-+ to be flushed at every write. */
-+ if (!(s->ndirty == 0 && nbyte > BUFFER_SIZE/2)
-+ && s->logical_offset + nbyte <= s->buffer_offset + BUFFER_SIZE
-+ && s->buffer_offset <= s->logical_offset
-+ && s->buffer_offset + s->ndirty >= s->logical_offset)
- {
--
-- /* Return a position within the current buffer */
--
-- s->logical_offset = where + *len;
-- return s->buffer + where - s->buffer_offset;
-+ memcpy (s->buffer + (s->logical_offset - s->buffer_offset), buf, nbyte);
-+ int nd = (s->logical_offset - s->buffer_offset) + nbyte;
-+ if (nd > s->ndirty)
-+ s->ndirty = nd;
- }
--
-- fd_alloc (s, where, len);
--
-- m = where + s->active;
--
-- if (s->physical_offset != m && lseek (s->fd, m, SEEK_SET) < 0)
-- return NULL;
--
-- /* do_read() hangs on read from terminals for *BSD-systems. Only
-- use read() in that case. */
--
-- if (s->special_file)
-- {
-- ssize_t n;
--
-- n = read (s->fd, s->buffer + s->active, s->len - s->active);
-- if (n < 0)
-- return NULL;
--
-- s->physical_offset = m + n;
-- s->active += n;
-- }
- else
- {
-- size_t n;
--
-- n = s->len - s->active;
-- if (do_read (s, s->buffer + s->active, &n) != 0)
-- return NULL;
--
-- s->physical_offset = m + n;
-- s->active += n;
-+ /* Flush, and either fill the buffer with the new data, or if
-+ the request is bigger than the buffer size, write directly
-+ bypassing the buffer. */
-+ buf_flush (s);
-+ if (nbyte <= BUFFER_SIZE/2)
-+ {
-+ memcpy (s->buffer, buf, nbyte);
-+ s->buffer_offset = s->logical_offset;
-+ s->ndirty += nbyte;
-+ }
-+ else
-+ {
-+ if (s->file_length != -1 && s->physical_offset != s->logical_offset
-+ && lseek (s->fd, s->logical_offset, SEEK_SET) < 0)
-+ return -1;
-+ nbyte = raw_write (s, buf, nbyte);
-+ s->physical_offset += nbyte;
-+ }
- }
--
-- if (s->active < *len)
-- *len = s->active; /* Bytes actually available */
--
-- s->logical_offset = where + *len;
--
-- return s->buffer;
--}
--
--
--/* fd_alloc_w_at()-- Allocate a stream buffer for writing. Either
-- * we've already buffered the data or we need to load it. */
--
--static char *
--fd_alloc_w_at (unix_stream * s, int *len)
--{
-- gfc_offset n;
-- gfc_offset where = s->logical_offset;
--
-- if (s->buffer == NULL || s->buffer_offset > where ||
-- where + *len > s->buffer_offset + s->len)
-- {
--
-- if (fd_flush (s) == FAILURE)
-- return NULL;
-- fd_alloc (s, where, len);
-- }
--
-- /* Return a position within the current buffer */
-- if (s->ndirty == 0
-- || where > s->dirty_offset + s->ndirty
-- || s->dirty_offset > where + *len)
-- { /* Discontiguous blocks, start with a clean buffer. */
-- /* Flush the buffer. */
-- if (s->ndirty != 0)
-- fd_flush (s);
-- s->dirty_offset = where;
-- s->ndirty = *len;
-- }
-- else
-- {
-- gfc_offset start; /* Merge with the existing data. */
-- if (where < s->dirty_offset)
-- start = where;
-- else
-- start = s->dirty_offset;
-- if (where + *len > s->dirty_offset + s->ndirty)
-- s->ndirty = where + *len - start;
-- else
-- s->ndirty = s->dirty_offset + s->ndirty - start;
-- s->dirty_offset = start;
-- }
--
-- s->logical_offset = where + *len;
--
-+ s->logical_offset += nbyte;
- /* Don't increment file_length if the file is non-seekable. */
--
- if (s->file_length != -1 && s->logical_offset > s->file_length)
-- s->file_length = s->logical_offset;
--
-- n = s->logical_offset - s->buffer_offset;
-- if (n > s->active)
-- s->active = n;
--
-- return s->buffer + where - s->buffer_offset;
-+ s->file_length = s->logical_offset;
-+ return nbyte;
- }
-
--
--static try
--fd_sfree (unix_stream * s)
-+static off_t
-+buf_seek (unix_stream * s, off_t offset, int whence)
- {
-- if (s->ndirty != 0 &&
-- (s->buffer != s->small_buffer || options.all_unbuffered ||
-- s->method == SYNC_UNBUFFERED))
-- return fd_flush (s);
--
-- return SUCCESS;
--}
--
--
--static try
--fd_seek (unix_stream * s, gfc_offset offset)
--{
--
-- if (s->file_length == -1)
-- return SUCCESS;
--
-- if (s->physical_offset == offset) /* Are we lucky and avoid syscall? */
-+ switch (whence)
- {
-- s->logical_offset = offset;
-- return SUCCESS;
-+ case SEEK_SET:
-+ break;
-+ case SEEK_CUR:
-+ offset += s->logical_offset;
-+ break;
-+ case SEEK_END:
-+ offset += s->file_length;
-+ break;
-+ default:
-+ return -1;
- }
--
-- if (lseek (s->fd, offset, SEEK_SET) >= 0)
-+ if (offset < 0)
- {
-- s->physical_offset = s->logical_offset = offset;
-- s->active = 0;
-- return SUCCESS;
-+ errno = EINVAL;
-+ return -1;
- }
--
-- return FAILURE;
-+ s->logical_offset = offset;
-+ return offset;
- }
-
--
--/* truncate_file()-- Given a unit, truncate the file at the current
-- * position. Sets the physical location to the new end of the file.
-- * Returns nonzero on error. */
--
--static try
--fd_truncate (unix_stream * s)
-+static off_t
-+buf_tell (unix_stream * s)
- {
-- /* Non-seekable files, like terminals and fifo's fail the lseek so just
-- return success, there is nothing to truncate. If its not a pipe there
-- is a real problem. */
-- if (lseek (s->fd, s->logical_offset, SEEK_SET) == -1)
-- {
-- if (errno == ESPIPE)
-- return SUCCESS;
-- else
-- return FAILURE;
-- }
--
-- /* Using ftruncate on a seekable special file (like /dev/null)
-- is undefined, so we treat it as if the ftruncate succeeded. */
-- if (!s->special_file
-- && (
--#ifdef HAVE_FTRUNCATE
-- ftruncate (s->fd, s->logical_offset) != 0
--#elif defined HAVE_CHSIZE
-- chsize (s->fd, s->logical_offset) != 0
--#else
-- /* If we have neither, always fail and exit, noisily. */
-- runtime_error ("required ftruncate or chsize support not present"), 1
--#endif
-- ))
-- {
-- /* The truncation failed and we need to handle this gracefully.
-- The file length remains the same, but the file-descriptor
-- offset needs adjustment per the successful lseek above.
-- (Similarly, the contents of the buffer isn't valid anymore.)
-- A ftruncate call does not affect the physical (file-descriptor)
-- offset, according to the ftruncate manual, so neither should a
-- failed call. */
-- s->physical_offset = s->logical_offset;
-- s->active = 0;
-- return FAILURE;
-- }
--
-- s->physical_offset = s->file_length = s->logical_offset;
-- s->active = 0;
-- return SUCCESS;
-+ return s->logical_offset;
- }
-
--
--/* Similar to memset(), but operating on a stream instead of a string.
-- Takes care of not using too much memory. */
--
--static try
--fd_sset (unix_stream * s, int c, size_t n)
-+static int
-+buf_truncate (unix_stream * s, off_t length)
- {
-- size_t bytes_left;
-- int trans;
-- void *p;
-+ int r;
-
-- bytes_left = n;
--
-- while (bytes_left > 0)
-- {
-- /* memset() in chunks of BUFFER_SIZE. */
-- trans = (bytes_left < BUFFER_SIZE) ? bytes_left : BUFFER_SIZE;
--
-- p = fd_alloc_w_at (s, &trans);
-- if (p)
-- memset (p, c, trans);
-- else
-- return FAILURE;
--
-- bytes_left -= trans;
-- }
--
-- return SUCCESS;
-+ if (buf_flush (s) != 0)
-+ return -1;
-+ r = raw_truncate (s, length);
-+ if (r == 0)
-+ s->file_length = length;
-+ return r;
- }
-
--
--/* Stream read function. Avoids using a buffer for big reads. The
-- interface is like POSIX read(), but the nbytes argument is a
-- pointer; on return it contains the number of bytes written. The
-- function return value is the status indicator (0 for success). */
--
- static int
--fd_read (unix_stream * s, void * buf, size_t * nbytes)
-+buf_close (unix_stream * s)
- {
-- void *p;
-- int tmp, status;
--
-- if (*nbytes < BUFFER_SIZE && s->method == SYNC_BUFFERED)
-- {
-- tmp = *nbytes;
-- p = fd_alloc_r_at (s, &tmp);
-- if (p)
-- {
-- *nbytes = tmp;
-- memcpy (buf, p, *nbytes);
-- return 0;
-- }
-- else
-- {
-- *nbytes = 0;
-- return errno;
-- }
-- }
--
-- /* If the request is bigger than BUFFER_SIZE we flush the buffers
-- and read directly. */
-- if (fd_flush (s) == FAILURE)
-- {
-- *nbytes = 0;
-- return errno;
-- }
--
-- if (is_seekable ((stream *) s) && fd_seek (s, s->logical_offset) == FAILURE)
-- {
-- *nbytes = 0;
-- return errno;
-- }
--
-- status = do_read (s, buf, nbytes);
-- reset_stream (s, *nbytes);
-- return status;
-+ if (buf_flush (s) != 0)
-+ return -1;
-+ free_mem (s->buffer);
-+ return raw_close (s);
- }
-
--
--/* Stream write function. Avoids using a buffer for big writes. The
-- interface is like POSIX write(), but the nbytes argument is a
-- pointer; on return it contains the number of bytes written. The
-- function return value is the status indicator (0 for success). */
--
- static int
--fd_write (unix_stream * s, const void * buf, size_t * nbytes)
-+buf_init (unix_stream * s)
- {
-- void *p;
-- int tmp, status;
-+ s->st.read = (void *) buf_read;
-+ s->st.write = (void *) buf_write;
-+ s->st.seek = (void *) buf_seek;
-+ s->st.tell = (void *) buf_tell;
-+ s->st.trunc = (void *) buf_truncate;
-+ s->st.close = (void *) buf_close;
-+ s->st.flush = (void *) buf_flush;
-
-- if (*nbytes < BUFFER_SIZE && s->method == SYNC_BUFFERED)
-- {
-- tmp = *nbytes;
-- p = fd_alloc_w_at (s, &tmp);
-- if (p)
-- {
-- *nbytes = tmp;
-- memcpy (p, buf, *nbytes);
-- return 0;
-- }
-- else
-- {
-- *nbytes = 0;
-- return errno;
-- }
-- }
--
-- /* If the request is bigger than BUFFER_SIZE we flush the buffers
-- and write directly. */
-- if (fd_flush (s) == FAILURE)
-- {
-- *nbytes = 0;
-- return errno;
-- }
--
-- if (is_seekable ((stream *) s) && fd_seek (s, s->logical_offset) == FAILURE)
-- {
-- *nbytes = 0;
-- return errno;
-- }
--
-- status = do_write (s, buf, nbytes);
-- reset_stream (s, *nbytes);
-- return status;
-+ s->buffer = get_mem (BUFFER_SIZE);
-+ return 0;
- }
-
-
--static try
--fd_close (unix_stream * s)
--{
-- if (fd_flush (s) == FAILURE)
-- return FAILURE;
--
-- if (s->buffer != NULL && s->buffer != s->small_buffer)
-- free_mem (s->buffer);
--
-- if (s->fd != STDOUT_FILENO && s->fd != STDERR_FILENO && s->fd != STDIN_FILENO)
-- {
-- if (close (s->fd) < 0)
-- return FAILURE;
-- }
--
-- free_mem (s);
--
-- return SUCCESS;
--}
--
--
--static void
--fd_open (unix_stream * s)
--{
-- if (isatty (s->fd))
-- s->method = SYNC_UNBUFFERED;
-- else
-- s->method = SYNC_BUFFERED;
--
-- s->st.alloc_w_at = (void *) fd_alloc_w_at;
-- s->st.sfree = (void *) fd_sfree;
-- s->st.close = (void *) fd_close;
-- s->st.seek = (void *) fd_seek;
-- s->st.trunc = (void *) fd_truncate;
-- s->st.read = (void *) fd_read;
-- s->st.write = (void *) fd_write;
-- s->st.set = (void *) fd_sset;
--
-- s->buffer = NULL;
--}
--
--
--
--
- /*********************************************************************
- memory stream functions - These are used for internal files
-
-@@ -907,33 +549,33 @@
- *********************************************************************/
-
-
--static char *
--mem_alloc_r_at (int_stream * s, int *len)
-+char *
-+mem_alloc_r (stream * strm, int * len)
- {
-+ unix_stream * s = (unix_stream *) strm;
- gfc_offset n;
- gfc_offset where = s->logical_offset;
-
- if (where < s->buffer_offset || where > s->buffer_offset + s->active)
- return NULL;
-
-- s->logical_offset = where + *len;
--
- n = s->buffer_offset + s->active - where;
- if (*len > n)
- *len = n;
-
-+ s->logical_offset = where + *len;
-+
- return s->buffer + (where - s->buffer_offset);
- }
-
-
--static char *
--mem_alloc_w_at (int_stream * s, int *len)
-+char *
-+mem_alloc_w (stream * strm, int * len)
- {
-+ unix_stream * s = (unix_stream *) strm;
- gfc_offset m;
- gfc_offset where = s->logical_offset;
-
-- assert (*len >= 0); /* Negative values not allowed. */
--
- m = where + *len;
-
- if (where < s->buffer_offset)
-@@ -950,25 +592,20 @@
-
- /* Stream read function for internal units. */
-
--static int
--mem_read (int_stream * s, void * buf, size_t * nbytes)
-+static ssize_t
-+mem_read (stream * s, void * buf, ssize_t nbytes)
- {
- void *p;
-- int tmp;
-+ int nb = nbytes;
-
-- tmp = *nbytes;
-- p = mem_alloc_r_at (s, &tmp);
-+ p = mem_alloc_r (s, &nb);
- if (p)
- {
-- *nbytes = tmp;
-- memcpy (buf, p, *nbytes);
-- return 0;
-+ memcpy (buf, p, nb);
-+ return (ssize_t) nb;
- }
- else
-- {
-- *nbytes = 0;
-- return 0;
-- }
-+ return 0;
- }
-
-
-@@ -976,86 +613,92 @@
- at the moment, as all internal IO is formatted and the formatted IO
- routines use mem_alloc_w_at. */
-
--static int
--mem_write (int_stream * s, const void * buf, size_t * nbytes)
-+static ssize_t
-+mem_write (stream * s, const void * buf, ssize_t nbytes)
- {
- void *p;
-- int tmp;
-+ int nb = nbytes;
-
-- tmp = *nbytes;
-- p = mem_alloc_w_at (s, &tmp);
-+ p = mem_alloc_w (s, &nb);
- if (p)
- {
-- *nbytes = tmp;
-- memcpy (p, buf, *nbytes);
-- return 0;
-+ memcpy (p, buf, nb);
-+ return (ssize_t) nb;
- }
- else
-- {
-- *nbytes = 0;
-- return 0;
-- }
-+ return 0;
- }
-
-
--static int
--mem_seek (int_stream * s, gfc_offset offset)
-+static off_t
-+mem_seek (stream * strm, off_t offset, int whence)
- {
-+ unix_stream * s = (unix_stream *) strm;
-+ switch (whence)
-+ {
-+ case SEEK_SET:
-+ break;
-+ case SEEK_CUR:
-+ offset += s->logical_offset;
-+ break;
-+ case SEEK_END:
-+ offset += s->file_length;
-+ break;
-+ default:
-+ return -1;
-+ }
-+
-+ /* Note that for internal array I/O it's actually possible to have a
-+ negative offset, so don't check for that. */
- if (offset > s->file_length)
- {
-- errno = ESPIPE;
-- return FAILURE;
-+ errno = EINVAL;
-+ return -1;
- }
-
- s->logical_offset = offset;
-- return SUCCESS;
-+
-+ /* Returning < 0 is the error indicator for sseek(), so return 0 if
-+ offset is negative. Thus if the return value is 0, the caller
-+ has to use stell() to get the real value of logical_offset. */
-+ if (offset >= 0)
-+ return offset;
-+ return 0;
- }
-
-
--static try
--mem_set (int_stream * s, int c, size_t n)
-+static off_t
-+mem_tell (stream * s)
- {
-- void *p;
-- int len;
-+ return ((unix_stream *)s)->logical_offset;
-+}
-
-- len = n;
--
-- p = mem_alloc_w_at (s, &len);
-- if (p)
-- {
-- memset (p, c, len);
-- return SUCCESS;
-- }
-- else
-- return FAILURE;
-+
-+static int
-+mem_truncate (unix_stream * s __attribute__ ((unused)),
-+ off_t length __attribute__ ((unused)))
-+{
-+ return 0;
- }
-
-
- static int
--mem_truncate (int_stream * s __attribute__ ((unused)))
-+mem_flush (unix_stream * s __attribute__ ((unused)))
- {
-- return SUCCESS;
-+ return 0;
- }
-
-
--static try
--mem_close (int_stream * s)
-+static int
-+mem_close (unix_stream * s)
- {
- if (s != NULL)
- free_mem (s);
-
-- return SUCCESS;
-+ return 0;
- }
-
-
--static try
--mem_sfree (int_stream * s __attribute__ ((unused)))
--{
-- return SUCCESS;
--}
--
--
--
- /*********************************************************************
- Public functions -- A reimplementation of this module needs to
- define functional equivalents of the following.
-@@ -1066,7 +709,7 @@
- void
- empty_internal_buffer(stream *strm)
- {
-- int_stream * s = (int_stream *) strm;
-+ unix_stream * s = (unix_stream *) strm;
- memset(s->buffer, ' ', s->file_length);
- }
-
-@@ -1075,10 +718,10 @@
- stream *
- open_internal (char *base, int length, gfc_offset offset)
- {
-- int_stream *s;
-+ unix_stream *s;
-
-- s = get_mem (sizeof (int_stream));
-- memset (s, '\0', sizeof (int_stream));
-+ s = get_mem (sizeof (unix_stream));
-+ memset (s, '\0', sizeof (unix_stream));
-
- s->buffer = base;
- s->buffer_offset = offset;
-@@ -1086,14 +729,13 @@
- s->logical_offset = 0;
- s->active = s->file_length = length;
-
-- s->st.alloc_w_at = (void *) mem_alloc_w_at;
-- s->st.sfree = (void *) mem_sfree;
- s->st.close = (void *) mem_close;
- s->st.seek = (void *) mem_seek;
-+ s->st.tell = (void *) mem_tell;
- s->st.trunc = (void *) mem_truncate;
- s->st.read = (void *) mem_read;
- s->st.write = (void *) mem_write;
-- s->st.set = (void *) mem_set;
-+ s->st.flush = (void *) mem_flush;
-
- return (stream *) s;
- }
-@@ -1128,7 +770,14 @@
-
- s->special_file = !S_ISREG (statbuf.st_mode);
-
-- fd_open (s);
-+ if (isatty (s->fd) || options.all_unbuffered
-+ ||(options.unbuffered_preconnected &&
-+ (s->fd == STDIN_FILENO
-+ || s->fd == STDOUT_FILENO
-+ || s->fd == STDERR_FILENO)))
-+ raw_init (s);
-+ else
-+ buf_init (s);
-
- return (stream *) s;
- }
-@@ -1412,8 +1061,6 @@
- #endif
-
- s = fd_to_stream (STDOUT_FILENO, PROT_WRITE);
-- if (options.unbuffered_preconnected)
-- ((unix_stream *) s)->method = SYNC_UNBUFFERED;
- return s;
- }
-
-@@ -1431,8 +1078,6 @@
- #endif
-
- s = fd_to_stream (STDERR_FILENO, PROT_WRITE);
-- if (options.unbuffered_preconnected)
-- ((unix_stream *) s)->method = SYNC_UNBUFFERED;
- return s;
- }
-
-@@ -1663,7 +1308,7 @@
- if (__gthread_mutex_trylock (&u->lock))
- return u;
- if (u->s)
-- flush (u->s);
-+ sflush (u->s);
- __gthread_mutex_unlock (&u->lock);
- }
- u = u->right;
-@@ -1693,7 +1338,7 @@
-
- if (u->closed == 0)
- {
-- flush (u->s);
-+ sflush (u->s);
- __gthread_mutex_lock (&unit_lock);
- __gthread_mutex_unlock (&u->lock);
- (void) predec_waiting_locked (u);
-@@ -1710,40 +1355,6 @@
- }
-
-
--/* stream_at_bof()-- Returns nonzero if the stream is at the beginning
-- * of the file. */
--
--int
--stream_at_bof (stream * s)
--{
-- unix_stream *us;
--
-- if (!is_seekable (s))
-- return 0;
--
-- us = (unix_stream *) s;
--
-- return us->logical_offset == 0;
--}
--
--
--/* stream_at_eof()-- Returns nonzero if the stream is at the end
-- * of the file. */
--
--int
--stream_at_eof (stream * s)
--{
-- unix_stream *us;
--
-- if (!is_seekable (s))
-- return 0;
--
-- us = (unix_stream *) s;
--
-- return us->logical_offset == us->dirty_offset;
--}
--
--
- /* delete_file()-- Given a unit structure, delete the file associated
- * with the unit. Returns nonzero if something went wrong. */
-
-@@ -1949,19 +1560,18 @@
- gfc_offset
- file_length (stream * s)
- {
-- return ((unix_stream *) s)->file_length;
-+ off_t curr, end;
-+ if (!is_seekable (s))
-+ return -1;
-+ curr = stell (s);
-+ if (curr == -1)
-+ return curr;
-+ end = sseek (s, 0, SEEK_END);
-+ sseek (s, curr, SEEK_SET);
-+ return end;
- }
-
-
--/* file_position()-- Return the current position of the file */
--
--gfc_offset
--file_position (stream *s)
--{
-- return ((unix_stream *) s)->logical_offset;
--}
--
--
- /* is_seekable()-- Return nonzero if the stream is seekable, zero if
- * it is not */
-
-@@ -1983,12 +1593,6 @@
- }
-
-
--try
--flush (stream *s)
--{
-- return fd_flush( (unix_stream *) s);
--}
--
- int
- stream_isatty (stream *s)
- {
-@@ -2005,13 +1609,7 @@
- #endif
- }
-
--gfc_offset
--stream_offset (stream *s)
--{
-- return (((unix_stream *) s)->logical_offset);
--}
-
--
- /* How files are stored: This is an operating-system specific issue,
- and therefore belongs here. There are three cases to consider.
-
-Index: libgfortran/io/transfer.c
-===================================================================
---- libgfortran/io/transfer.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libgfortran/io/transfer.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -32,6 +32,7 @@
- #include <string.h>
- #include <assert.h>
- #include <stdlib.h>
-+#include <errno.h>
-
-
- /* Calling conventions: Data transfer statements are unlike other
-@@ -178,61 +179,59 @@
- heap. Hopefully this won't happen very often. */
-
- char *
--read_sf (st_parameter_dt *dtp, int *length, int no_error)
-+read_sf (st_parameter_dt *dtp, int * length, int no_error)
- {
-+ static char *empty_string[0];
- char *base, *p, q;
-- int n, crlf;
-- gfc_offset pos;
-- size_t readlen;
-+ int n, lorig, memread, seen_comma;
-
-- if (*length > SCRATCH_SIZE)
-- dtp->u.p.line_buffer = get_mem (*length);
-- p = base = dtp->u.p.line_buffer;
-+ /* If we hit EOF previously with the no_error flag set (i.e. X, T,
-+ TR edit descriptors), and we now try to read again, this time
-+ without setting no_error. */
-+ if (!no_error && dtp->u.p.at_eof)
-+ {
-+ *length = 0;
-+ hit_eof (dtp);
-+ return NULL;
-+ }
-
- /* If we have seen an eor previously, return a length of 0. The
- caller is responsible for correctly padding the input field. */
- if (dtp->u.p.sf_seen_eor)
- {
- *length = 0;
-- return base;
-+ /* Just return something that isn't a NULL pointer, otherwise the
-+ caller thinks an error occured. */
-+ return (char*) empty_string;
- }
-
- if (is_internal_unit (dtp))
- {
-- readlen = *length;
-- if (unlikely (sread (dtp->u.p.current_unit->s, p, &readlen) != 0
-- || readlen < (size_t) *length))
-+ memread = *length;
-+ base = mem_alloc_r (dtp->u.p.current_unit->s, length);
-+ if (unlikely (memread > *length))
- {
-- generate_error (&dtp->common, LIBERROR_END, NULL);
-+ hit_eof (dtp);
- return NULL;
- }
--
-+ n = *length;
- goto done;
- }
-
-- readlen = 1;
-- n = 0;
-+ n = seen_comma = 0;
-
-- do
-+ /* Read data into format buffer and scan through it. */
-+ lorig = *length;
-+ base = p = fbuf_read (dtp->u.p.current_unit, length);
-+ if (base == NULL)
-+ return NULL;
-+
-+ while (n < *length)
- {
-- if (unlikely (sread (dtp->u.p.current_unit->s, &q, &readlen) != 0))
-- {
-- generate_error (&dtp->common, LIBERROR_END, NULL);
-- return NULL;
-- }
-+ q = *p;
-
-- /* If we have a line without a terminating \n, drop through to
-- EOR below. */
-- if (readlen < 1 && n == 0)
-+ if (q == '\n' || q == '\r')
- {
-- if (likely (no_error))
-- break;
-- generate_error (&dtp->common, LIBERROR_END, NULL);
-- return NULL;
-- }
--
-- if (readlen < 1 || q == '\n' || q == '\r')
-- {
- /* Unexpected end of line. */
-
- /* If we see an EOR during non-advancing I/O, we need to skip
-@@ -240,23 +239,14 @@
- if (dtp->u.p.advance_status == ADVANCE_NO || dtp->u.p.seen_dollar)
- dtp->u.p.eor_condition = 1;
-
-- crlf = 0;
- /* If we encounter a CR, it might be a CRLF. */
- if (q == '\r') /* Probably a CRLF */
- {
-- readlen = 1;
-- pos = stream_offset (dtp->u.p.current_unit->s);
-- if (unlikely (sread (dtp->u.p.current_unit->s, &q, &readlen)
-- != 0))
-- {
-- generate_error (&dtp->common, LIBERROR_END, NULL);
-- return NULL;
-- }
-- if (q != '\n' && readlen == 1) /* Not a CRLF after all. */
-- sseek (dtp->u.p.current_unit->s, pos);
-- else
-- crlf = 1;
-+ if (n < *length && *(p + 1) == '\n')
-+ dtp->u.p.sf_seen_eor = 2;
- }
-+ else
-+ dtp->u.p.sf_seen_eor = 1;
-
- /* Without padding, terminate the I/O statement without assigning
- the value. With padding, the value still needs to be assigned,
-@@ -270,7 +260,6 @@
- }
-
- *length = n;
-- dtp->u.p.sf_seen_eor = (crlf ? 2 : 1);
- break;
- }
- /* Short circuit the read if a comma is found during numeric input.
-@@ -279,6 +268,7 @@
- if (q == ',')
- if (dtp->u.p.sf_read_comma == 1)
- {
-+ seen_comma = 1;
- notify_std (&dtp->common, GFC_STD_GNU,
- "Comma in formatted numeric read.");
- *length = n;
-@@ -286,16 +276,31 @@
- }
-
- n++;
-- *p++ = q;
-- dtp->u.p.sf_seen_eor = 0;
-+ p++;
-+ }
-+
-+ fbuf_seek (dtp->u.p.current_unit, n + dtp->u.p.sf_seen_eor + seen_comma,
-+ SEEK_CUR);
-+
-+ /* A short read implies we hit EOF, unless we hit EOR, a comma, or
-+ some other stuff. Set the relevant flags. */
-+ if (lorig > *length && !dtp->u.p.sf_seen_eor && !seen_comma)
-+ {
-+ if (no_error)
-+ dtp->u.p.at_eof = 1;
-+ else
-+ {
-+ hit_eof (dtp);
-+ return NULL;
-+ }
- }
-- while (n < *length);
-
- done:
-- dtp->u.p.current_unit->bytes_left -= *length;
-
-+ dtp->u.p.current_unit->bytes_left -= n;
-+
- if ((dtp->common.flags & IOPARM_DT_HAS_SIZE) != 0)
-- dtp->u.p.size_used += (GFC_IO_INT) *length;
-+ dtp->u.p.size_used += (GFC_IO_INT) n;
-
- return base;
- }
-@@ -311,12 +316,11 @@
- opened with PAD=YES. The caller must assume tailing spaces for
- short reads. */
-
--try
--read_block_form (st_parameter_dt *dtp, void *buf, size_t *nbytes)
-+void *
-+read_block_form (st_parameter_dt *dtp, int * nbytes)
- {
- char *source;
-- size_t nread;
-- int nb;
-+ int norig;
-
- if (!is_stream_io (dtp))
- {
-@@ -333,15 +337,14 @@
- {
- /* Not enough data left. */
- generate_error (&dtp->common, LIBERROR_EOR, NULL);
-- return FAILURE;
-+ return NULL;
- }
- }
-
- if (unlikely (dtp->u.p.current_unit->bytes_left == 0))
- {
-- dtp->u.p.current_unit->endfile = AT_ENDFILE;
-- generate_error (&dtp->common, LIBERROR_END, NULL);
-- return FAILURE;
-+ hit_eof (dtp);
-+ return NULL;
- }
-
- *nbytes = dtp->u.p.current_unit->bytes_left;
-@@ -352,42 +355,36 @@
- (dtp->u.p.current_unit->flags.access == ACCESS_SEQUENTIAL ||
- dtp->u.p.current_unit->flags.access == ACCESS_STREAM))
- {
-- nb = *nbytes;
-- source = read_sf (dtp, &nb, 0);
-- *nbytes = nb;
-+ source = read_sf (dtp, nbytes, 0);
- dtp->u.p.current_unit->strm_pos +=
- (gfc_offset) (*nbytes + dtp->u.p.sf_seen_eor);
-- if (source == NULL)
-- return FAILURE;
-- memcpy (buf, source, *nbytes);
-- return SUCCESS;
-+ return source;
- }
-+
-+ /* If we reach here, we can assume it's direct access. */
-+
- dtp->u.p.current_unit->bytes_left -= (gfc_offset) *nbytes;
-
-- nread = *nbytes;
-- if (unlikely (sread (dtp->u.p.current_unit->s, buf, &nread) != 0))
-- {
-- generate_error (&dtp->common, LIBERROR_OS, NULL);
-- return FAILURE;
-- }
-+ norig = *nbytes;
-+ source = fbuf_read (dtp->u.p.current_unit, nbytes);
-+ fbuf_seek (dtp->u.p.current_unit, *nbytes, SEEK_CUR);
-
- if ((dtp->common.flags & IOPARM_DT_HAS_SIZE) != 0)
-- dtp->u.p.size_used += (GFC_IO_INT) nread;
-+ dtp->u.p.size_used += (GFC_IO_INT) *nbytes;
-
-- if (nread != *nbytes)
-- { /* Short read, this shouldn't happen. */
-- if (likely (dtp->u.p.current_unit->pad_status == PAD_YES))
-- *nbytes = nread;
-- else
-+ if (norig != *nbytes)
-+ {
-+ /* Short read, this shouldn't happen. */
-+ if (!dtp->u.p.current_unit->pad_status == PAD_YES)
- {
- generate_error (&dtp->common, LIBERROR_EOR, NULL);
- source = NULL;
- }
- }
-
-- dtp->u.p.current_unit->strm_pos += (gfc_offset) nread;
-+ dtp->u.p.current_unit->strm_pos += (gfc_offset) *nbytes;
-
-- return SUCCESS;
-+ return source;
- }
-
-
-@@ -395,20 +392,19 @@
- unformatted files. */
-
- static void
--read_block_direct (st_parameter_dt *dtp, void *buf, size_t *nbytes)
-+read_block_direct (st_parameter_dt *dtp, void *buf, size_t nbytes)
- {
-- size_t to_read_record;
-- size_t have_read_record;
-- size_t to_read_subrecord;
-- size_t have_read_subrecord;
-+ ssize_t to_read_record;
-+ ssize_t have_read_record;
-+ ssize_t to_read_subrecord;
-+ ssize_t have_read_subrecord;
- int short_record;
-
- if (is_stream_io (dtp))
- {
-- to_read_record = *nbytes;
-- have_read_record = to_read_record;
-- if (unlikely (sread (dtp->u.p.current_unit->s, buf, &have_read_record)
-- != 0))
-+ have_read_record = sread (dtp->u.p.current_unit->s, buf,
-+ nbytes);
-+ if (unlikely (have_read_record < 0))
- {
- generate_error (&dtp->common, LIBERROR_OS, NULL);
- return;
-@@ -416,52 +412,48 @@
-
- dtp->u.p.current_unit->strm_pos += (gfc_offset) have_read_record;
-
-- if (unlikely (to_read_record != have_read_record))
-+ if (unlikely ((ssize_t) nbytes != have_read_record))
- {
- /* Short read, e.g. if we hit EOF. For stream files,
- we have to set the end-of-file condition. */
-- generate_error (&dtp->common, LIBERROR_END, NULL);
-- return;
-+ hit_eof (dtp);
- }
- return;
- }
-
- if (dtp->u.p.current_unit->flags.access == ACCESS_DIRECT)
- {
-- if (dtp->u.p.current_unit->bytes_left < (gfc_offset) *nbytes)
-+ if (dtp->u.p.current_unit->bytes_left < (gfc_offset) nbytes)
- {
- short_record = 1;
-- to_read_record = (size_t) dtp->u.p.current_unit->bytes_left;
-- *nbytes = to_read_record;
-+ to_read_record = dtp->u.p.current_unit->bytes_left;
-+ nbytes = to_read_record;
- }
--
- else
- {
- short_record = 0;
-- to_read_record = *nbytes;
-+ to_read_record = nbytes;
- }
-
- dtp->u.p.current_unit->bytes_left -= to_read_record;
-
-- if (unlikely (sread (dtp->u.p.current_unit->s, buf, &to_read_record)
-- != 0))
-+ to_read_record = sread (dtp->u.p.current_unit->s, buf, to_read_record);
-+ if (unlikely (to_read_record < 0))
- {
- generate_error (&dtp->common, LIBERROR_OS, NULL);
- return;
- }
-
-- if (to_read_record != *nbytes)
-+ if (to_read_record != (ssize_t) nbytes)
- {
- /* Short read, e.g. if we hit EOF. Apparently, we read
- more than was written to the last record. */
-- *nbytes = to_read_record;
- return;
- }
-
- if (unlikely (short_record))
- {
- generate_error (&dtp->common, LIBERROR_SHORT_RECORD, NULL);
-- return;
- }
- return;
- }
-@@ -470,23 +462,17 @@
- until the request has been fulfilled or the record has run out
- of continuation subrecords. */
-
-- if (unlikely (dtp->u.p.current_unit->endfile == AT_ENDFILE))
-- {
-- generate_error (&dtp->common, LIBERROR_END, NULL);
-- return;
-- }
--
- /* Check whether we exceed the total record length. */
-
- if (dtp->u.p.current_unit->flags.has_recl
-- && (*nbytes > (size_t) dtp->u.p.current_unit->bytes_left))
-+ && ((gfc_offset) nbytes > dtp->u.p.current_unit->bytes_left))
- {
-- to_read_record = (size_t) dtp->u.p.current_unit->bytes_left;
-+ to_read_record = dtp->u.p.current_unit->bytes_left;
- short_record = 1;
- }
- else
- {
-- to_read_record = *nbytes;
-+ to_read_record = nbytes;
- short_record = 0;
- }
- have_read_record = 0;
-@@ -496,7 +482,7 @@
- if (dtp->u.p.current_unit->bytes_left_subrecord
- < (gfc_offset) to_read_record)
- {
-- to_read_subrecord = (size_t) dtp->u.p.current_unit->bytes_left_subrecord;
-+ to_read_subrecord = dtp->u.p.current_unit->bytes_left_subrecord;
- to_read_record -= to_read_subrecord;
- }
- else
-@@ -507,9 +493,9 @@
-
- dtp->u.p.current_unit->bytes_left_subrecord -= to_read_subrecord;
-
-- have_read_subrecord = to_read_subrecord;
-- if (unlikely (sread (dtp->u.p.current_unit->s, buf + have_read_record,
-- &have_read_subrecord) != 0))
-+ have_read_subrecord = sread (dtp->u.p.current_unit->s,
-+ buf + have_read_record, to_read_subrecord);
-+ if (unlikely (have_read_subrecord) < 0)
- {
- generate_error (&dtp->common, LIBERROR_OS, NULL);
- return;
-@@ -524,7 +510,6 @@
- structure has been corrupted, or the trailing record
- marker would still be present. */
-
-- *nbytes = have_read_record;
- generate_error (&dtp->common, LIBERROR_CORRUPT_FILE, NULL);
- return;
- }
-@@ -598,7 +583,7 @@
-
- if (is_internal_unit (dtp))
- {
-- dest = salloc_w (dtp->u.p.current_unit->s, &length);
-+ dest = mem_alloc_w (dtp->u.p.current_unit->s, &length);
-
- if (dest == NULL)
- {
-@@ -636,20 +621,22 @@
- write_buf (st_parameter_dt *dtp, void *buf, size_t nbytes)
- {
-
-- size_t have_written, to_write_subrecord;
-+ ssize_t have_written;
-+ ssize_t to_write_subrecord;
- int short_record;
-
- /* Stream I/O. */
-
- if (is_stream_io (dtp))
- {
-- if (unlikely (swrite (dtp->u.p.current_unit->s, buf, &nbytes) != 0))
-+ have_written = swrite (dtp->u.p.current_unit->s, buf, nbytes);
-+ if (unlikely (have_written < 0))
- {
- generate_error (&dtp->common, LIBERROR_OS, NULL);
- return FAILURE;
- }
-
-- dtp->u.p.current_unit->strm_pos += (gfc_offset) nbytes;
-+ dtp->u.p.current_unit->strm_pos += (gfc_offset) have_written;
-
- return SUCCESS;
- }
-@@ -667,14 +654,15 @@
- if (buf == NULL && nbytes == 0)
- return SUCCESS;
-
-- if (unlikely (swrite (dtp->u.p.current_unit->s, buf, &nbytes) != 0))
-+ have_written = swrite (dtp->u.p.current_unit->s, buf, nbytes);
-+ if (unlikely (have_written < 0))
- {
- generate_error (&dtp->common, LIBERROR_OS, NULL);
- return FAILURE;
- }
-
-- dtp->u.p.current_unit->strm_pos += (gfc_offset) nbytes;
-- dtp->u.p.current_unit->bytes_left -= (gfc_offset) nbytes;
-+ dtp->u.p.current_unit->strm_pos += (gfc_offset) have_written;
-+ dtp->u.p.current_unit->bytes_left -= (gfc_offset) have_written;
-
- return SUCCESS;
- }
-@@ -704,8 +692,9 @@
- dtp->u.p.current_unit->bytes_left_subrecord -=
- (gfc_offset) to_write_subrecord;
-
-- if (unlikely (swrite (dtp->u.p.current_unit->s, buf + have_written,
-- &to_write_subrecord) != 0))
-+ to_write_subrecord = swrite (dtp->u.p.current_unit->s,
-+ buf + have_written, to_write_subrecord);
-+ if (unlikely (to_write_subrecord < 0))
- {
- generate_error (&dtp->common, LIBERROR_OS, NULL);
- return FAILURE;
-@@ -737,20 +726,18 @@
- unformatted_read (st_parameter_dt *dtp, bt type,
- void *dest, int kind, size_t size, size_t nelems)
- {
-- size_t i, sz;
--
- if (likely (dtp->u.p.current_unit->flags.convert == GFC_CONVERT_NATIVE)
- || kind == 1)
- {
-- sz = size * nelems;
- if (type == BT_CHARACTER)
-- sz *= GFC_SIZE_OF_CHAR_KIND(kind);
-- read_block_direct (dtp, dest, &sz);
-+ size *= GFC_SIZE_OF_CHAR_KIND(kind);
-+ read_block_direct (dtp, dest, size * nelems);
- }
- else
- {
- char buffer[16];
- char *p;
-+ size_t i;
-
- p = dest;
-
-@@ -773,7 +760,7 @@
-
- for (i = 0; i < nelems; i++)
- {
-- read_block_direct (dtp, buffer, &size);
-+ read_block_direct (dtp, buffer, size);
- reverse_memcpy (p, buffer, size);
- p += size;
- }
-@@ -915,19 +902,18 @@
- }
-
-
--/* This subroutine is the main loop for a formatted data transfer
-+/* This function is in the main loop for a formatted data transfer
- statement. It would be natural to implement this as a coroutine
- with the user program, but C makes that awkward. We loop,
- processing format elements. When we actually have to transfer
- data instead of just setting flags, we return control to the user
-- program which calls a subroutine that supplies the address and type
-+ program which calls a function that supplies the address and type
- of the next element, then comes back here to process it. */
-
- static void
--formatted_transfer_scalar (st_parameter_dt *dtp, bt type, void *p, int kind,
-- size_t size)
-+formatted_transfer_scalar_read (st_parameter_dt *dtp, bt type, void *p, int kind,
-+ size_t size)
- {
-- char scratch[SCRATCH_SIZE];
- int pos, bytes_used;
- const fnode *f;
- format_token t;
-@@ -954,8 +940,348 @@
- dtp->u.p.sf_read_comma =
- dtp->u.p.current_unit->decimal_status == DECIMAL_COMMA ? 0 : 1;
-
-- dtp->u.p.line_buffer = scratch;
-+ for (;;)
-+ {
-+ /* If reversion has occurred and there is another real data item,
-+ then we have to move to the next record. */
-+ if (dtp->u.p.reversion_flag && n > 0)
-+ {
-+ dtp->u.p.reversion_flag = 0;
-+ next_record (dtp, 0);
-+ }
-
-+ consume_data_flag = 1;
-+ if ((dtp->common.flags & IOPARM_LIBRETURN_MASK) != IOPARM_LIBRETURN_OK)
-+ break;
-+
-+ f = next_format (dtp);
-+ if (f == NULL)
-+ {
-+ /* No data descriptors left. */
-+ if (unlikely (n > 0))
-+ generate_error (&dtp->common, LIBERROR_FORMAT,
-+ "Insufficient data descriptors in format after reversion");
-+ return;
-+ }
-+
-+ t = f->format;
-+
-+ bytes_used = (int)(dtp->u.p.current_unit->recl
-+ - dtp->u.p.current_unit->bytes_left);
-+
-+ if (is_stream_io(dtp))
-+ bytes_used = 0;
-+
-+ switch (t)
-+ {
-+ case FMT_I:
-+ if (n == 0)
-+ goto need_read_data;
-+ if (require_type (dtp, BT_INTEGER, type, f))
-+ return;
-+ read_decimal (dtp, f, p, kind);
-+ break;
-+
-+ case FMT_B:
-+ if (n == 0)
-+ goto need_read_data;
-+ if (compile_options.allow_std < GFC_STD_GNU
-+ && require_type (dtp, BT_INTEGER, type, f))
-+ return;
-+ read_radix (dtp, f, p, kind, 2);
-+ break;
-+
-+ case FMT_O:
-+ if (n == 0)
-+ goto need_read_data;
-+ if (compile_options.allow_std < GFC_STD_GNU
-+ && require_type (dtp, BT_INTEGER, type, f))
-+ return;
-+ read_radix (dtp, f, p, kind, 8);
-+ break;
-+
-+ case FMT_Z:
-+ if (n == 0)
-+ goto need_read_data;
-+ if (compile_options.allow_std < GFC_STD_GNU
-+ && require_type (dtp, BT_INTEGER, type, f))
-+ return;
-+ read_radix (dtp, f, p, kind, 16);
-+ break;
-+
-+ case FMT_A:
-+ if (n == 0)
-+ goto need_read_data;
-+
-+ /* It is possible to have FMT_A with something not BT_CHARACTER such
-+ as when writing out hollerith strings, so check both type
-+ and kind before calling wide character routines. */
-+ if (type == BT_CHARACTER && kind == 4)
-+ read_a_char4 (dtp, f, p, size);
-+ else
-+ read_a (dtp, f, p, size);
-+ break;
-+
-+ case FMT_L:
-+ if (n == 0)
-+ goto need_read_data;
-+ read_l (dtp, f, p, kind);
-+ break;
-+
-+ case FMT_D:
-+ if (n == 0)
-+ goto need_read_data;
-+ if (require_type (dtp, BT_REAL, type, f))
-+ return;
-+ read_f (dtp, f, p, kind);
-+ break;
-+
-+ case FMT_E:
-+ if (n == 0)
-+ goto need_read_data;
-+ if (require_type (dtp, BT_REAL, type, f))
-+ return;
-+ read_f (dtp, f, p, kind);
-+ break;
-+
-+ case FMT_EN:
-+ if (n == 0)
-+ goto need_read_data;
-+ if (require_type (dtp, BT_REAL, type, f))
-+ return;
-+ read_f (dtp, f, p, kind);
-+ break;
-+
-+ case FMT_ES:
-+ if (n == 0)
-+ goto need_read_data;
-+ if (require_type (dtp, BT_REAL, type, f))
-+ return;
-+ read_f (dtp, f, p, kind);
-+ break;
-+
-+ case FMT_F:
-+ if (n == 0)
-+ goto need_read_data;
-+ if (require_type (dtp, BT_REAL, type, f))
-+ return;
-+ read_f (dtp, f, p, kind);
-+ break;
-+
-+ case FMT_G:
-+ if (n == 0)
-+ goto need_read_data;
-+ switch (type)
-+ {
-+ case BT_INTEGER:
-+ read_decimal (dtp, f, p, kind);
-+ break;
-+ case BT_LOGICAL:
-+ read_l (dtp, f, p, kind);
-+ break;
-+ case BT_CHARACTER:
-+ if (kind == 4)
-+ read_a_char4 (dtp, f, p, size);
-+ else
-+ read_a (dtp, f, p, size);
-+ break;
-+ case BT_REAL:
-+ read_f (dtp, f, p, kind);
-+ break;
-+ default:
-+ internal_error (&dtp->common, "formatted_transfer(): Bad type");
-+ }
-+ break;
-+
-+ case FMT_STRING:
-+ consume_data_flag = 0;
-+ format_error (dtp, f, "Constant string in input format");
-+ return;
-+
-+ /* Format codes that don't transfer data. */
-+ case FMT_X:
-+ case FMT_TR:
-+ consume_data_flag = 0;
-+ dtp->u.p.skips += f->u.n;
-+ pos = bytes_used + dtp->u.p.skips - 1;
-+ dtp->u.p.pending_spaces = pos - dtp->u.p.max_pos + 1;
-+ read_x (dtp, f->u.n);
-+ break;
-+
-+ case FMT_TL:
-+ case FMT_T:
-+ consume_data_flag = 0;
-+
-+ if (f->format == FMT_TL)
-+ {
-+ /* Handle the special case when no bytes have been used yet.
-+ Cannot go below zero. */
-+ if (bytes_used == 0)
-+ {
-+ dtp->u.p.pending_spaces -= f->u.n;
-+ dtp->u.p.skips -= f->u.n;
-+ dtp->u.p.skips = dtp->u.p.skips < 0 ? 0 : dtp->u.p.skips;
-+ }
-+
-+ pos = bytes_used - f->u.n;
-+ }
-+ else /* FMT_T */
-+ pos = f->u.n - 1;
-+
-+ /* Standard 10.6.1.1: excessive left tabbing is reset to the
-+ left tab limit. We do not check if the position has gone
-+ beyond the end of record because a subsequent tab could
-+ bring us back again. */
-+ pos = pos < 0 ? 0 : pos;
-+
-+ dtp->u.p.skips = dtp->u.p.skips + pos - bytes_used;
-+ dtp->u.p.pending_spaces = dtp->u.p.pending_spaces
-+ + pos - dtp->u.p.max_pos;
-+ dtp->u.p.pending_spaces = dtp->u.p.pending_spaces < 0
-+ ? 0 : dtp->u.p.pending_spaces;
-+ if (dtp->u.p.skips == 0)
-+ break;
-+
-+ /* Adjust everything for end-of-record condition */
-+ if (dtp->u.p.sf_seen_eor && !is_internal_unit (dtp))
-+ {
-+ dtp->u.p.current_unit->bytes_left -= dtp->u.p.sf_seen_eor;
-+ dtp->u.p.skips -= dtp->u.p.sf_seen_eor;
-+ bytes_used = pos;
-+ dtp->u.p.sf_seen_eor = 0;
-+ }
-+ if (dtp->u.p.skips < 0)
-+ {
-+ if (is_internal_unit (dtp))
-+ sseek (dtp->u.p.current_unit->s, dtp->u.p.skips, SEEK_CUR);
-+ else
-+ fbuf_seek (dtp->u.p.current_unit, dtp->u.p.skips, SEEK_CUR);
-+ dtp->u.p.current_unit->bytes_left -= (gfc_offset) dtp->u.p.skips;
-+ dtp->u.p.skips = dtp->u.p.pending_spaces = 0;
-+ }
-+ else
-+ read_x (dtp, dtp->u.p.skips);
-+ break;
-+
-+ case FMT_S:
-+ consume_data_flag = 0;
-+ dtp->u.p.sign_status = SIGN_S;
-+ break;
-+
-+ case FMT_SS:
-+ consume_data_flag = 0;
-+ dtp->u.p.sign_status = SIGN_SS;
-+ break;
-+
-+ case FMT_SP:
-+ consume_data_flag = 0;
-+ dtp->u.p.sign_status = SIGN_SP;
-+ break;
-+
-+ case FMT_BN:
-+ consume_data_flag = 0 ;
-+ dtp->u.p.blank_status = BLANK_NULL;
-+ break;
-+
-+ case FMT_BZ:
-+ consume_data_flag = 0;
-+ dtp->u.p.blank_status = BLANK_ZERO;
-+ break;
-+
-+ case FMT_DC:
-+ consume_data_flag = 0;
-+ dtp->u.p.current_unit->decimal_status = DECIMAL_COMMA;
-+ break;
-+
-+ case FMT_DP:
-+ consume_data_flag = 0;
-+ dtp->u.p.current_unit->decimal_status = DECIMAL_POINT;
-+ break;
-+
-+ case FMT_P:
-+ consume_data_flag = 0;
-+ dtp->u.p.scale_factor = f->u.k;
-+ break;
-+
-+ case FMT_DOLLAR:
-+ consume_data_flag = 0;
-+ dtp->u.p.seen_dollar = 1;
-+ break;
-+
-+ case FMT_SLASH:
-+ consume_data_flag = 0;
-+ dtp->u.p.skips = dtp->u.p.pending_spaces = 0;
-+ next_record (dtp, 0);
-+ break;
-+
-+ case FMT_COLON:
-+ /* A colon descriptor causes us to exit this loop (in
-+ particular preventing another / descriptor from being
-+ processed) unless there is another data item to be
-+ transferred. */
-+ consume_data_flag = 0;
-+ if (n == 0)
-+ return;
-+ break;
-+
-+ default:
-+ internal_error (&dtp->common, "Bad format node");
-+ }
-+
-+ /* Adjust the item count and data pointer. */
-+
-+ if ((consume_data_flag > 0) && (n > 0))
-+ {
-+ n--;
-+ p = ((char *) p) + size;
-+ }
-+
-+ dtp->u.p.skips = 0;
-+
-+ pos = (int)(dtp->u.p.current_unit->recl - dtp->u.p.current_unit->bytes_left);
-+ dtp->u.p.max_pos = (dtp->u.p.max_pos > pos) ? dtp->u.p.max_pos : pos;
-+ }
-+
-+ return;
-+
-+ /* Come here when we need a data descriptor but don't have one. We
-+ push the current format node back onto the input, then return and
-+ let the user program call us back with the data. */
-+ need_read_data:
-+ unget_format (dtp, f);
-+}
-+
-+
-+static void
-+formatted_transfer_scalar_write (st_parameter_dt *dtp, bt type, void *p, int kind,
-+ size_t size)
-+{
-+ int pos, bytes_used;
-+ const fnode *f;
-+ format_token t;
-+ int n;
-+ int consume_data_flag;
-+
-+ /* Change a complex data item into a pair of reals. */
-+
-+ n = (p == NULL) ? 0 : ((type != BT_COMPLEX) ? 1 : 2);
-+ if (type == BT_COMPLEX)
-+ {
-+ type = BT_REAL;
-+ size /= 2;
-+ }
-+
-+ /* If there's an EOR condition, we simulate finalizing the transfer
-+ by doing nothing. */
-+ if (dtp->u.p.eor_condition)
-+ return;
-+
-+ /* Set this flag so that commas in reads cause the read to complete before
-+ the entire field has been read. The next read field will start right after
-+ the comma in the stream. (Set to 0 for character reads). */
-+ dtp->u.p.sf_read_comma =
-+ dtp->u.p.current_unit->decimal_status == DECIMAL_COMMA ? 0 : 1;
-+
- for (;;)
- {
- /* If reversion has occurred and there is another real data item,
-@@ -1003,9 +1329,9 @@
- if (dtp->u.p.skips < 0)
- {
- if (is_internal_unit (dtp))
-- move_pos_offset (dtp->u.p.current_unit->s, dtp->u.p.skips);
-+ sseek (dtp->u.p.current_unit->s, dtp->u.p.skips, SEEK_CUR);
- else
-- fbuf_seek (dtp->u.p.current_unit, dtp->u.p.skips);
-+ fbuf_seek (dtp->u.p.current_unit, dtp->u.p.skips, SEEK_CUR);
- dtp->u.p.current_unit->bytes_left -= (gfc_offset) dtp->u.p.skips;
- }
- dtp->u.p.skips = dtp->u.p.pending_spaces = 0;
-@@ -1024,57 +1350,34 @@
- goto need_data;
- if (require_type (dtp, BT_INTEGER, type, f))
- return;
--
-- if (dtp->u.p.mode == READING)
-- read_decimal (dtp, f, p, kind);
-- else
-- write_i (dtp, f, p, kind);
--
-+ write_i (dtp, f, p, kind);
- break;
-
- case FMT_B:
- if (n == 0)
- goto need_data;
--
- if (compile_options.allow_std < GFC_STD_GNU
- && require_type (dtp, BT_INTEGER, type, f))
- return;
--
-- if (dtp->u.p.mode == READING)
-- read_radix (dtp, f, p, kind, 2);
-- else
-- write_b (dtp, f, p, kind);
--
-+ write_b (dtp, f, p, kind);
- break;
-
- case FMT_O:
- if (n == 0)
- goto need_data;
--
- if (compile_options.allow_std < GFC_STD_GNU
- && require_type (dtp, BT_INTEGER, type, f))
- return;
--
-- if (dtp->u.p.mode == READING)
-- read_radix (dtp, f, p, kind, 8);
-- else
-- write_o (dtp, f, p, kind);
--
-+ write_o (dtp, f, p, kind);
- break;
-
- case FMT_Z:
- if (n == 0)
- goto need_data;
--
- if (compile_options.allow_std < GFC_STD_GNU
- && require_type (dtp, BT_INTEGER, type, f))
- return;
--
-- if (dtp->u.p.mode == READING)
-- read_radix (dtp, f, p, kind, 16);
-- else
-- write_z (dtp, f, p, kind);
--
-+ write_z (dtp, f, p, kind);
- break;
-
- case FMT_A:
-@@ -1084,31 +1387,16 @@
- /* It is possible to have FMT_A with something not BT_CHARACTER such
- as when writing out hollerith strings, so check both type
- and kind before calling wide character routines. */
-- if (dtp->u.p.mode == READING)
-- {
-- if (type == BT_CHARACTER && kind == 4)
-- read_a_char4 (dtp, f, p, size);
-- else
-- read_a (dtp, f, p, size);
-- }
-+ if (type == BT_CHARACTER && kind == 4)
-+ write_a_char4 (dtp, f, p, size);
- else
-- {
-- if (type == BT_CHARACTER && kind == 4)
-- write_a_char4 (dtp, f, p, size);
-- else
-- write_a (dtp, f, p, size);
-- }
-+ write_a (dtp, f, p, size);
- break;
-
- case FMT_L:
- if (n == 0)
- goto need_data;
--
-- if (dtp->u.p.mode == READING)
-- read_l (dtp, f, p, kind);
-- else
-- write_l (dtp, f, p, kind);
--
-+ write_l (dtp, f, p, kind);
- break;
-
- case FMT_D:
-@@ -1116,12 +1404,7 @@
- goto need_data;
- if (require_type (dtp, BT_REAL, type, f))
- return;
--
-- if (dtp->u.p.mode == READING)
-- read_f (dtp, f, p, kind);
-- else
-- write_d (dtp, f, p, kind);
--
-+ write_d (dtp, f, p, kind);
- break;
-
- case FMT_E:
-@@ -1129,11 +1412,7 @@
- goto need_data;
- if (require_type (dtp, BT_REAL, type, f))
- return;
--
-- if (dtp->u.p.mode == READING)
-- read_f (dtp, f, p, kind);
-- else
-- write_e (dtp, f, p, kind);
-+ write_e (dtp, f, p, kind);
- break;
-
- case FMT_EN:
-@@ -1141,12 +1420,7 @@
- goto need_data;
- if (require_type (dtp, BT_REAL, type, f))
- return;
--
-- if (dtp->u.p.mode == READING)
-- read_f (dtp, f, p, kind);
-- else
-- write_en (dtp, f, p, kind);
--
-+ write_en (dtp, f, p, kind);
- break;
-
- case FMT_ES:
-@@ -1154,12 +1428,7 @@
- goto need_data;
- if (require_type (dtp, BT_REAL, type, f))
- return;
--
-- if (dtp->u.p.mode == READING)
-- read_f (dtp, f, p, kind);
-- else
-- write_es (dtp, f, p, kind);
--
-+ write_es (dtp, f, p, kind);
- break;
-
- case FMT_F:
-@@ -1167,42 +1436,15 @@
- goto need_data;
- if (require_type (dtp, BT_REAL, type, f))
- return;
--
-- if (dtp->u.p.mode == READING)
-- read_f (dtp, f, p, kind);
-- else
-- write_f (dtp, f, p, kind);
--
-+ write_f (dtp, f, p, kind);
- break;
-
- case FMT_G:
- if (n == 0)
- goto need_data;
-- if (dtp->u.p.mode == READING)
-- switch (type)
-- {
-+ switch (type)
-+ {
- case BT_INTEGER:
-- read_decimal (dtp, f, p, kind);
-- break;
-- case BT_LOGICAL:
-- read_l (dtp, f, p, kind);
-- break;
-- case BT_CHARACTER:
-- if (kind == 4)
-- read_a_char4 (dtp, f, p, size);
-- else
-- read_a (dtp, f, p, size);
-- break;
-- case BT_REAL:
-- read_f (dtp, f, p, kind);
-- break;
-- default:
-- goto bad_type;
-- }
-- else
-- switch (type)
-- {
-- case BT_INTEGER:
- write_i (dtp, f, p, kind);
- break;
- case BT_LOGICAL:
-@@ -1216,25 +1458,18 @@
- break;
- case BT_REAL:
- if (f->u.real.w == 0)
-- write_real_g0 (dtp, p, kind, f->u.real.d);
-+ write_real_g0 (dtp, p, kind, f->u.real.d);
- else
- write_d (dtp, f, p, kind);
- break;
- default:
-- bad_type:
- internal_error (&dtp->common,
- "formatted_transfer(): Bad type");
-- }
--
-+ }
- break;
-
- case FMT_STRING:
- consume_data_flag = 0;
-- if (dtp->u.p.mode == READING)
-- {
-- format_error (dtp, f, "Constant string in input format");
-- return;
-- }
- write_constant_string (dtp, f);
- break;
-
-@@ -1246,21 +1481,15 @@
- dtp->u.p.skips += f->u.n;
- pos = bytes_used + dtp->u.p.skips - 1;
- dtp->u.p.pending_spaces = pos - dtp->u.p.max_pos + 1;
--
- /* Writes occur just before the switch on f->format, above, so
- that trailing blanks are suppressed, unless we are doing a
- non-advancing write in which case we want to output the blanks
- now. */
-- if (dtp->u.p.mode == WRITING
-- && dtp->u.p.advance_status == ADVANCE_NO)
-+ if (dtp->u.p.advance_status == ADVANCE_NO)
- {
- write_x (dtp, dtp->u.p.skips, dtp->u.p.pending_spaces);
- dtp->u.p.skips = dtp->u.p.pending_spaces = 0;
- }
--
-- if (dtp->u.p.mode == READING)
-- read_x (dtp, f->u.n);
--
- break;
-
- case FMT_TL:
-@@ -1282,12 +1511,7 @@
- pos = bytes_used - f->u.n;
- }
- else /* FMT_T */
-- {
-- if (dtp->u.p.mode == READING)
-- pos = f->u.n - 1;
-- else
-- pos = f->u.n - dtp->u.p.pending_spaces - 1;
-- }
-+ pos = f->u.n - dtp->u.p.pending_spaces - 1;
-
- /* Standard 10.6.1.1: excessive left tabbing is reset to the
- left tab limit. We do not check if the position has gone
-@@ -1300,43 +1524,6 @@
- + pos - dtp->u.p.max_pos;
- dtp->u.p.pending_spaces = dtp->u.p.pending_spaces < 0
- ? 0 : dtp->u.p.pending_spaces;
--
-- if (dtp->u.p.skips == 0)
-- break;
--
-- /* Writes occur just before the switch on f->format, above, so that
-- trailing blanks are suppressed. */
-- if (dtp->u.p.mode == READING)
-- {
-- /* Adjust everything for end-of-record condition */
-- if (dtp->u.p.sf_seen_eor && !is_internal_unit (dtp))
-- {
-- if (dtp->u.p.sf_seen_eor == 2)
-- {
-- /* The EOR was a CRLF (two bytes wide). */
-- dtp->u.p.current_unit->bytes_left -= 2;
-- dtp->u.p.skips -= 2;
-- }
-- else
-- {
-- /* The EOR marker was only one byte wide. */
-- dtp->u.p.current_unit->bytes_left--;
-- dtp->u.p.skips--;
-- }
-- bytes_used = pos;
-- dtp->u.p.sf_seen_eor = 0;
-- }
-- if (dtp->u.p.skips < 0)
-- {
-- move_pos_offset (dtp->u.p.current_unit->s, dtp->u.p.skips);
-- dtp->u.p.current_unit->bytes_left
-- -= (gfc_offset) dtp->u.p.skips;
-- dtp->u.p.skips = dtp->u.p.pending_spaces = 0;
-- }
-- else
-- read_x (dtp, dtp->u.p.skips);
-- }
--
- break;
-
- case FMT_S:
-@@ -1404,30 +1591,16 @@
- internal_error (&dtp->common, "Bad format node");
- }
-
-- /* Free a buffer that we had to allocate during a sequential
-- formatted read of a block that was larger than the static
-- buffer. */
-+ /* Adjust the item count and data pointer. */
-
-- if (dtp->u.p.line_buffer != scratch)
-+ if ((consume_data_flag > 0) && (n > 0))
- {
-- free_mem (dtp->u.p.line_buffer);
-- dtp->u.p.line_buffer = scratch;
-+ n--;
-+ p = ((char *) p) + size;
- }
-
-- /* Adjust the item count and data pointer. */
--
-- if ((consume_data_flag > 0) && (n > 0))
-- {
-- n--;
-- p = ((char *) p) + size;
-- }
--
-- if (dtp->u.p.mode == READING)
-- dtp->u.p.skips = 0;
--
- pos = (int)(dtp->u.p.current_unit->recl - dtp->u.p.current_unit->bytes_left);
- dtp->u.p.max_pos = (dtp->u.p.max_pos > pos) ? dtp->u.p.max_pos : pos;
--
- }
-
- return;
-@@ -1439,6 +1612,7 @@
- unget_format (dtp, f);
- }
-
-+
- static void
- formatted_transfer (st_parameter_dt *dtp, bt type, void *p, int kind,
- size_t size, size_t nelems)
-@@ -1449,16 +1623,27 @@
- tmp = (char *) p;
- size_t stride = type == BT_CHARACTER ?
- size * GFC_SIZE_OF_CHAR_KIND(kind) : size;
-- /* Big loop over all the elements. */
-- for (elem = 0; elem < nelems; elem++)
-+ if (dtp->u.p.mode == READING)
- {
-- dtp->u.p.item_count++;
-- formatted_transfer_scalar (dtp, type, tmp + stride*elem, kind, size);
-+ /* Big loop over all the elements. */
-+ for (elem = 0; elem < nelems; elem++)
-+ {
-+ dtp->u.p.item_count++;
-+ formatted_transfer_scalar_read (dtp, type, tmp + stride*elem, kind, size);
-+ }
- }
-+ else
-+ {
-+ /* Big loop over all the elements. */
-+ for (elem = 0; elem < nelems; elem++)
-+ {
-+ dtp->u.p.item_count++;
-+ formatted_transfer_scalar_write (dtp, type, tmp + stride*elem, kind, size);
-+ }
-+ }
- }
-
-
--
- /* Data transfer entry points. The type of the data entity is
- implicit in the subroutine call. This prevents us from having to
- share a common enum with the compiler. */
-@@ -1652,34 +1837,28 @@
- static void
- us_read (st_parameter_dt *dtp, int continued)
- {
-- size_t n, nr;
-+ ssize_t n, nr;
- GFC_INTEGER_4 i4;
- GFC_INTEGER_8 i8;
- gfc_offset i;
-
-- if (dtp->u.p.current_unit->endfile == AT_ENDFILE)
-- return;
--
- if (compile_options.record_marker == 0)
- n = sizeof (GFC_INTEGER_4);
- else
- n = compile_options.record_marker;
-
-- nr = n;
--
-- if (unlikely (sread (dtp->u.p.current_unit->s, &i, &n) != 0))
-+ nr = sread (dtp->u.p.current_unit->s, &i, n);
-+ if (unlikely (nr < 0))
- {
- generate_error (&dtp->common, LIBERROR_BAD_US, NULL);
- return;
- }
--
-- if (n == 0)
-+ else if (nr == 0)
- {
-- dtp->u.p.current_unit->endfile = AT_ENDFILE;
-+ hit_eof (dtp);
- return; /* end of file */
- }
--
-- if (unlikely (n != nr))
-+ else if (unlikely (n != nr))
- {
- generate_error (&dtp->common, LIBERROR_BAD_US, NULL);
- return;
-@@ -1745,7 +1924,7 @@
- static void
- us_write (st_parameter_dt *dtp, int continued)
- {
-- size_t nbytes;
-+ ssize_t nbytes;
- gfc_offset dummy;
-
- dummy = 0;
-@@ -1755,7 +1934,7 @@
- else
- nbytes = compile_options.record_marker ;
-
-- if (swrite (dtp->u.p.current_unit->s, &dummy, &nbytes) != 0)
-+ if (swrite (dtp->u.p.current_unit->s, &dummy, nbytes) != nbytes)
- generate_error (&dtp->common, LIBERROR_OS, NULL);
-
- /* For sequential unformatted, if RECL= was not specified in the OPEN
-@@ -1957,7 +2136,7 @@
- return;
- }
-
-- /* Check the record number. */
-+ /* Check the record or position number. */
-
- if (dtp->u.p.current_unit->flags.access == ACCESS_DIRECT
- && (cf & IOPARM_DT_HAS_REC) == 0)
-@@ -2106,65 +2285,70 @@
-
- if (dtp->u.p.current_unit->pad_status == PAD_UNSPECIFIED)
- dtp->u.p.current_unit->pad_status = dtp->u.p.current_unit->flags.pad;
--
-+
-+ /* Check to see if we might be reading what we wrote before */
-+
-+ if (dtp->u.p.mode != dtp->u.p.current_unit->mode
-+ && !is_internal_unit (dtp))
-+ {
-+ int pos = fbuf_reset (dtp->u.p.current_unit);
-+ if (pos != 0)
-+ sseek (dtp->u.p.current_unit->s, pos, SEEK_CUR);
-+ sflush(dtp->u.p.current_unit->s);
-+ }
-+
- /* Check the POS= specifier: that it is in range and that it is used with a
- unit that has been connected for STREAM access. F2003 9.5.1.10. */
-
- if (((cf & IOPARM_DT_HAS_POS) != 0))
- {
- if (is_stream_io (dtp))
-- {
--
-- if (dtp->pos <= 0)
-- {
-- generate_error (&dtp->common, LIBERROR_BAD_OPTION,
-- "POS=specifier must be positive");
-- return;
-- }
--
-- if (dtp->pos >= dtp->u.p.current_unit->maxrec)
-- {
-- generate_error (&dtp->common, LIBERROR_BAD_OPTION,
-- "POS=specifier too large");
-- return;
-- }
--
-- dtp->rec = dtp->pos;
--
-- if (dtp->u.p.mode == READING)
-- {
-- /* Required for compatibility between 4.3 and 4.4 runtime. Check
-- to see if we might be reading what we wrote before */
-- if (dtp->u.p.current_unit->mode == WRITING)
-- {
-- fbuf_flush (dtp->u.p.current_unit, 1);
-- flush(dtp->u.p.current_unit->s);
-- }
--
-- if (dtp->pos < file_length (dtp->u.p.current_unit->s))
-- dtp->u.p.current_unit->endfile = NO_ENDFILE;
-- }
--
-- if (dtp->pos != dtp->u.p.current_unit->strm_pos)
-- {
-- fbuf_flush (dtp->u.p.current_unit, 1);
-- flush (dtp->u.p.current_unit->s);
-- if (sseek (dtp->u.p.current_unit->s, dtp->pos - 1) == FAILURE)
-- {
-- generate_error (&dtp->common, LIBERROR_OS, NULL);
-- return;
-- }
-- dtp->u.p.current_unit->strm_pos = dtp->pos;
-- }
-- }
-+ {
-+
-+ if (dtp->pos <= 0)
-+ {
-+ generate_error (&dtp->common, LIBERROR_BAD_OPTION,
-+ "POS=specifier must be positive");
-+ return;
-+ }
-+
-+ if (dtp->pos >= dtp->u.p.current_unit->maxrec)
-+ {
-+ generate_error (&dtp->common, LIBERROR_BAD_OPTION,
-+ "POS=specifier too large");
-+ return;
-+ }
-+
-+ dtp->rec = dtp->pos;
-+
-+ if (dtp->u.p.mode == READING)
-+ {
-+ /* Reset the endfile flag; if we hit EOF during reading
-+ we'll set the flag and generate an error at that point
-+ rather than worrying about it here. */
-+ dtp->u.p.current_unit->endfile = NO_ENDFILE;
-+ }
-+
-+ if (dtp->pos != dtp->u.p.current_unit->strm_pos)
-+ {
-+ fbuf_flush (dtp->u.p.current_unit, dtp->u.p.mode);
-+ if (sseek (dtp->u.p.current_unit->s, dtp->pos - 1, SEEK_SET) < 0)
-+ {
-+ generate_error (&dtp->common, LIBERROR_OS, NULL);
-+ return;
-+ }
-+ dtp->u.p.current_unit->strm_pos = dtp->pos;
-+ }
-+ }
- else
-- {
-- generate_error (&dtp->common, LIBERROR_BAD_OPTION,
-- "POS=specifier not allowed, "
-- "Try OPEN with ACCESS='stream'");
-- return;
-- }
-+ {
-+ generate_error (&dtp->common, LIBERROR_BAD_OPTION,
-+ "POS=specifier not allowed, "
-+ "Try OPEN with ACCESS='stream'");
-+ return;
-+ }
- }
-+
-
- /* Sanity checks on the record number. */
- if ((cf & IOPARM_DT_HAS_REC) != 0)
-@@ -2183,15 +2367,10 @@
- return;
- }
-
-- /* Check to see if we might be reading what we wrote before */
-+ /* Make sure format buffer is reset. */
-+ if (dtp->u.p.current_unit->flags.form == FORM_FORMATTED)
-+ fbuf_reset (dtp->u.p.current_unit);
-
-- if (dtp->u.p.mode == READING
-- && dtp->u.p.current_unit->mode == WRITING
-- && !is_internal_unit (dtp))
-- {
-- fbuf_flush (dtp->u.p.current_unit, 1);
-- flush(dtp->u.p.current_unit->s);
-- }
-
- /* Check whether the record exists to be read. Only
- a partial record needs to exist. */
-@@ -2206,37 +2385,28 @@
-
- /* Position the file. */
- if (sseek (dtp->u.p.current_unit->s, (gfc_offset) (dtp->rec - 1)
-- * dtp->u.p.current_unit->recl) == FAILURE)
-- {
-- generate_error (&dtp->common, LIBERROR_OS, NULL);
-- return;
-- }
-+ * dtp->u.p.current_unit->recl, SEEK_SET) < 0)
-+ {
-+ generate_error (&dtp->common, LIBERROR_OS, NULL);
-+ return;
-+ }
-
- /* TODO: This is required to maintain compatibility between
-- 4.3 and 4.4 runtime. Remove when ABI changes from 4.3 */
-+ 4.3 and 4.4 runtime. Remove when ABI changes from 4.3 */
-
- if (is_stream_io (dtp))
-- dtp->u.p.current_unit->strm_pos = dtp->rec;
--
-+ dtp->u.p.current_unit->strm_pos = dtp->rec;
-+
- /* TODO: Un-comment this code when ABI changes from 4.3.
- if (dtp->u.p.current_unit->flags.access == ACCESS_STREAM)
-- {
-- generate_error (&dtp->common, LIBERROR_OPTION_CONFLICT,
-- "Record number not allowed for stream access "
-- "data transfer");
-- return;
-- } */
--
-+ {
-+ generate_error (&dtp->common, LIBERROR_OPTION_CONFLICT,
-+ "Record number not allowed for stream access "
-+ "data transfer");
-+ return;
-+ } */
- }
-
-- /* Overwriting an existing sequential file ?
-- it is always safe to truncate the file on the first write */
-- if (dtp->u.p.mode == WRITING
-- && dtp->u.p.current_unit->flags.access == ACCESS_SEQUENTIAL
-- && dtp->u.p.current_unit->last_record == 0
-- && !is_preconnected(dtp->u.p.current_unit->s))
-- struncate(dtp->u.p.current_unit->s);
--
- /* Bugware for badly written mixed C-Fortran I/O. */
- flush_if_preconnected(dtp->u.p.current_unit->s);
-
-@@ -2387,11 +2557,10 @@
- position. */
-
- static void
--skip_record (st_parameter_dt *dtp, size_t bytes)
-+skip_record (st_parameter_dt *dtp, ssize_t bytes)
- {
-- gfc_offset new;
-- size_t rlength;
-- static const size_t MAX_READ = 4096;
-+ ssize_t rlength, readb;
-+ static const ssize_t MAX_READ = 4096;
- char p[MAX_READ];
-
- dtp->u.p.current_unit->bytes_left_subrecord += bytes;
-@@ -2400,12 +2569,10 @@
-
- if (is_seekable (dtp->u.p.current_unit->s))
- {
-- new = file_position (dtp->u.p.current_unit->s)
-- + dtp->u.p.current_unit->bytes_left_subrecord;
--
- /* Direct access files do not generate END conditions,
- only I/O errors. */
-- if (sseek (dtp->u.p.current_unit->s, new) == FAILURE)
-+ if (sseek (dtp->u.p.current_unit->s,
-+ dtp->u.p.current_unit->bytes_left_subrecord, SEEK_CUR) < 0)
- generate_error (&dtp->common, LIBERROR_OS, NULL);
- }
- else
-@@ -2413,16 +2580,17 @@
- while (dtp->u.p.current_unit->bytes_left_subrecord > 0)
- {
- rlength =
-- (MAX_READ > (size_t) dtp->u.p.current_unit->bytes_left_subrecord) ?
-- MAX_READ : (size_t) dtp->u.p.current_unit->bytes_left_subrecord;
-+ (MAX_READ < dtp->u.p.current_unit->bytes_left_subrecord) ?
-+ MAX_READ : dtp->u.p.current_unit->bytes_left_subrecord;
-
-- if (sread (dtp->u.p.current_unit->s, p, &rlength) != 0)
-+ readb = sread (dtp->u.p.current_unit->s, p, rlength);
-+ if (readb < 0)
- {
- generate_error (&dtp->common, LIBERROR_OS, NULL);
- return;
- }
-
-- dtp->u.p.current_unit->bytes_left_subrecord -= rlength;
-+ dtp->u.p.current_unit->bytes_left_subrecord -= readb;
- }
- }
-
-@@ -2470,8 +2638,8 @@
- {
- gfc_offset record;
- int bytes_left;
-- size_t length;
- char p;
-+ int cc;
-
- switch (current_mode (dtp))
- {
-@@ -2491,11 +2659,12 @@
-
- case FORMATTED_STREAM:
- case FORMATTED_SEQUENTIAL:
-- length = 1;
-- /* sf_read has already terminated input because of an '\n' */
-- if (dtp->u.p.sf_seen_eor)
-+ /* read_sf has already terminated input because of an '\n', or
-+ we have hit EOF. */
-+ if (dtp->u.p.sf_seen_eor || dtp->u.p.at_eof)
- {
- dtp->u.p.sf_seen_eor = 0;
-+ dtp->u.p.at_eof = 0;
- break;
- }
-
-@@ -2510,7 +2679,7 @@
-
- /* Now seek to this record. */
- record = record * dtp->u.p.current_unit->recl;
-- if (sseek (dtp->u.p.current_unit->s, record) == FAILURE)
-+ if (sseek (dtp->u.p.current_unit->s, record, SEEK_SET) < 0)
- {
- generate_error (&dtp->common, LIBERROR_INTERNAL_UNIT, NULL);
- break;
-@@ -2522,10 +2691,9 @@
- bytes_left = (int) dtp->u.p.current_unit->bytes_left;
- bytes_left = min_off (bytes_left,
- file_length (dtp->u.p.current_unit->s)
-- - file_position (dtp->u.p.current_unit->s));
-+ - stell (dtp->u.p.current_unit->s));
- if (sseek (dtp->u.p.current_unit->s,
-- file_position (dtp->u.p.current_unit->s)
-- + bytes_left) == FAILURE)
-+ bytes_left, SEEK_CUR) < 0)
- {
- generate_error (&dtp->common, LIBERROR_INTERNAL_UNIT, NULL);
- break;
-@@ -2535,42 +2703,37 @@
- }
- break;
- }
-- else do
-+ else
- {
-- if (sread (dtp->u.p.current_unit->s, &p, &length) != 0)
-+ do
- {
-- generate_error (&dtp->common, LIBERROR_OS, NULL);
-- break;
-+ errno = 0;
-+ cc = fbuf_getc (dtp->u.p.current_unit);
-+ if (cc == EOF)
-+ {
-+ if (errno != 0)
-+ generate_error (&dtp->common, LIBERROR_OS, NULL);
-+ else
-+ hit_eof (dtp);
-+ break;
-+ }
-+
-+ if (is_stream_io (dtp))
-+ dtp->u.p.current_unit->strm_pos++;
-+
-+ p = (char) cc;
- }
--
-- if (length == 0)
-- {
-- dtp->u.p.current_unit->endfile = AT_ENDFILE;
-- break;
-- }
--
-- if (is_stream_io (dtp))
-- dtp->u.p.current_unit->strm_pos++;
-+ while (p != '\n');
- }
-- while (p != '\n');
--
- break;
- }
--
-- if (dtp->u.p.current_unit->flags.access == ACCESS_SEQUENTIAL
-- && !dtp->u.p.namelist_mode
-- && dtp->u.p.current_unit->endfile == NO_ENDFILE
-- && (file_length (dtp->u.p.current_unit->s) ==
-- file_position (dtp->u.p.current_unit->s)))
-- dtp->u.p.current_unit->endfile = AT_ENDFILE;
--
- }
-
-
- /* Small utility function to write a record marker, taking care of
- byte swapping and of choosing the correct size. */
-
--inline static int
-+static int
- write_us_marker (st_parameter_dt *dtp, const gfc_offset buf)
- {
- size_t len;
-@@ -2590,12 +2753,12 @@
- {
- case sizeof (GFC_INTEGER_4):
- buf4 = buf;
-- return swrite (dtp->u.p.current_unit->s, &buf4, &len);
-+ return swrite (dtp->u.p.current_unit->s, &buf4, len);
- break;
-
- case sizeof (GFC_INTEGER_8):
- buf8 = buf;
-- return swrite (dtp->u.p.current_unit->s, &buf8, &len);
-+ return swrite (dtp->u.p.current_unit->s, &buf8, len);
- break;
-
- default:
-@@ -2610,13 +2773,13 @@
- case sizeof (GFC_INTEGER_4):
- buf4 = buf;
- reverse_memcpy (p, &buf4, sizeof (GFC_INTEGER_4));
-- return swrite (dtp->u.p.current_unit->s, p, &len);
-+ return swrite (dtp->u.p.current_unit->s, p, len);
- break;
-
- case sizeof (GFC_INTEGER_8):
- buf8 = buf;
- reverse_memcpy (p, &buf8, sizeof (GFC_INTEGER_8));
-- return swrite (dtp->u.p.current_unit->s, p, &len);
-+ return swrite (dtp->u.p.current_unit->s, p, len);
- break;
-
- default:
-@@ -2633,13 +2796,11 @@
- static void
- next_record_w_unf (st_parameter_dt *dtp, int next_subrecord)
- {
-- gfc_offset c, m, m_write;
-- size_t record_marker;
-+ gfc_offset m, m_write, record_marker;
-
- /* Bytes written. */
- m = dtp->u.p.current_unit->recl_subrecord
- - dtp->u.p.current_unit->bytes_left_subrecord;
-- c = file_position (dtp->u.p.current_unit->s);
-
- /* Write the length tail. If we finish a record containing
- subrecords, we write out the negative length. */
-@@ -2649,7 +2810,7 @@
- else
- m_write = m;
-
-- if (unlikely (write_us_marker (dtp, m_write) != 0))
-+ if (unlikely (write_us_marker (dtp, m_write) < 0))
- goto io_error;
-
- if (compile_options.record_marker == 0)
-@@ -2660,8 +2821,8 @@
- /* Seek to the head and overwrite the bogus length with the real
- length. */
-
-- if (unlikely (sseek (dtp->u.p.current_unit->s, c - m - record_marker)
-- == FAILURE))
-+ if (unlikely (sseek (dtp->u.p.current_unit->s, - m - 2 * record_marker,
-+ SEEK_CUR) < 0))
- goto io_error;
-
- if (next_subrecord)
-@@ -2669,13 +2830,13 @@
- else
- m_write = m;
-
-- if (unlikely (write_us_marker (dtp, m_write) != 0))
-+ if (unlikely (write_us_marker (dtp, m_write) < 0))
- goto io_error;
-
- /* Seek past the end of the current record. */
-
-- if (unlikely (sseek (dtp->u.p.current_unit->s, c + record_marker)
-- == FAILURE))
-+ if (unlikely (sseek (dtp->u.p.current_unit->s, m + record_marker,
-+ SEEK_CUR) < 0))
- goto io_error;
-
- return;
-@@ -2686,6 +2847,35 @@
-
- }
-
-+
-+/* Utility function like memset() but operating on streams. Return
-+ value is same as for POSIX write(). */
-+
-+static ssize_t
-+sset (stream * s, int c, ssize_t nbyte)
-+{
-+ static const int WRITE_CHUNK = 256;
-+ char p[WRITE_CHUNK];
-+ ssize_t bytes_left, trans;
-+
-+ if (nbyte < WRITE_CHUNK)
-+ memset (p, c, nbyte);
-+ else
-+ memset (p, c, WRITE_CHUNK);
-+
-+ bytes_left = nbyte;
-+ while (bytes_left > 0)
-+ {
-+ trans = (bytes_left < WRITE_CHUNK) ? bytes_left : WRITE_CHUNK;
-+ trans = swrite (s, p, trans);
-+ if (trans < 0)
-+ return trans;
-+ bytes_left -= trans;
-+ }
-+
-+ return nbyte - bytes_left;
-+}
++ if (A.i8 != 1234567891011ll
++ || A.i8 != V.i8 -1)
++ abort();
+
- /* Position to the next record in write mode. */
-
- static void
-@@ -2694,9 +2884,6 @@
- gfc_offset m, record, max_pos;
- int length;
-
-- /* Flush and reset the format buffer. */
-- fbuf_flush (dtp->u.p.current_unit, 1);
--
- /* Zero counters for X- and T-editing. */
- max_pos = dtp->u.p.max_pos;
- dtp->u.p.max_pos = dtp->u.p.skips = dtp->u.p.pending_spaces = 0;
-@@ -2711,8 +2898,11 @@
- if (dtp->u.p.current_unit->bytes_left == 0)
- break;
-
-+ fbuf_seek (dtp->u.p.current_unit, 0, SEEK_END);
-+ fbuf_flush (dtp->u.p.current_unit, WRITING);
- if (sset (dtp->u.p.current_unit->s, ' ',
-- dtp->u.p.current_unit->bytes_left) == FAILURE)
-+ dtp->u.p.current_unit->bytes_left)
-+ != dtp->u.p.current_unit->bytes_left)
- goto io_error;
-
- break;
-@@ -2721,7 +2911,7 @@
- if (dtp->u.p.current_unit->bytes_left > 0)
- {
- length = (int) dtp->u.p.current_unit->bytes_left;
-- if (sset (dtp->u.p.current_unit->s, 0, length) == FAILURE)
-+ if (sset (dtp->u.p.current_unit->s, 0, length) != length)
- goto io_error;
- }
- break;
-@@ -2752,8 +2942,7 @@
- {
- length = (int) (max_pos - m);
- if (sseek (dtp->u.p.current_unit->s,
-- file_position (dtp->u.p.current_unit->s)
-- + length) == FAILURE)
-+ length, SEEK_CUR) < 0)
- {
- generate_error (&dtp->common, LIBERROR_INTERNAL_UNIT, NULL);
- return;
-@@ -2761,7 +2950,7 @@
- length = (int) (dtp->u.p.current_unit->recl - max_pos);
- }
-
-- if (sset (dtp->u.p.current_unit->s, ' ', length) == FAILURE)
-+ if (sset (dtp->u.p.current_unit->s, ' ', length) != length)
- {
- generate_error (&dtp->common, LIBERROR_END, NULL);
- return;
-@@ -2777,7 +2966,7 @@
- /* Now seek to this record */
- record = record * dtp->u.p.current_unit->recl;
-
-- if (sseek (dtp->u.p.current_unit->s, record) == FAILURE)
-+ if (sseek (dtp->u.p.current_unit->s, record, SEEK_SET) < 0)
- {
- generate_error (&dtp->common, LIBERROR_INTERNAL_UNIT, NULL);
- return;
-@@ -2800,8 +2989,7 @@
- {
- length = (int) (max_pos - m);
- if (sseek (dtp->u.p.current_unit->s,
-- file_position (dtp->u.p.current_unit->s)
-- + length) == FAILURE)
-+ length, SEEK_CUR) < 0)
- {
- generate_error (&dtp->common, LIBERROR_INTERNAL_UNIT, NULL);
- return;
-@@ -2812,7 +3000,7 @@
- length = (int) dtp->u.p.current_unit->bytes_left;
- }
-
-- if (sset (dtp->u.p.current_unit->s, ' ', length) == FAILURE)
-+ if (sset (dtp->u.p.current_unit->s, ' ', length) != length)
- {
- generate_error (&dtp->common, LIBERROR_END, NULL);
- return;
-@@ -2821,23 +3009,27 @@
- }
- else
- {
-- size_t len;
-- const char crlf[] = "\r\n";
--
- #ifdef HAVE_CRLF
-- len = 2;
-+ const int len = 2;
- #else
-- len = 1;
-+ const int len = 1;
- #endif
-- if (swrite (dtp->u.p.current_unit->s, &crlf[2-len], &len) != 0)
-- goto io_error;
--
-+ fbuf_seek (dtp->u.p.current_unit, 0, SEEK_END);
-+ char * p = fbuf_alloc (dtp->u.p.current_unit, len);
-+ if (!p)
-+ goto io_error;
-+#ifdef HAVE_CRLF
-+ *(p++) = '\r';
-+#endif
-+ *p = '\n';
- if (is_stream_io (dtp))
- {
- dtp->u.p.current_unit->strm_pos += len;
- if (dtp->u.p.current_unit->strm_pos
- < file_length (dtp->u.p.current_unit->s))
-- struncate (dtp->u.p.current_unit->s);
-+ unit_truncate (dtp->u.p.current_unit,
-+ dtp->u.p.current_unit->strm_pos - 1,
-+ &dtp->common);
- }
- }
-
-@@ -2875,7 +3067,7 @@
- dtp->u.p.current_unit->current_record = 0;
- if (dtp->u.p.current_unit->flags.access == ACCESS_DIRECT)
- {
-- fp = file_position (dtp->u.p.current_unit->s);
-+ fp = stell (dtp->u.p.current_unit->s);
- /* Calculate next record, rounding up partial records. */
- dtp->u.p.current_unit->last_record =
- (fp + dtp->u.p.current_unit->recl - 1) /
-@@ -2887,6 +3079,8 @@
-
- if (!done)
- pre_position (dtp);
-+
-+ fbuf_flush (dtp->u.p.current_unit, dtp->u.p.mode);
- }
-
-
-@@ -2935,7 +3129,6 @@
- if ((cf & IOPARM_DT_LIST_FORMAT) != 0 && dtp->u.p.mode == READING)
- {
- finish_list_read (dtp);
-- sfree (dtp->u.p.current_unit->s);
- return;
- }
-
-@@ -2949,12 +3142,6 @@
- && dtp->u.p.advance_status != ADVANCE_NO)
- next_record (dtp, 1);
-
-- if (dtp->u.p.current_unit->flags.form == FORM_UNFORMATTED
-- && file_position (dtp->u.p.current_unit->s) >= dtp->rec)
-- {
-- flush (dtp->u.p.current_unit->s);
-- sfree (dtp->u.p.current_unit->s);
-- }
- return;
- }
-
-@@ -2962,9 +3149,8 @@
-
- if (!is_internal_unit (dtp) && dtp->u.p.seen_dollar)
- {
-+ fbuf_flush (dtp->u.p.current_unit, dtp->u.p.mode);
- dtp->u.p.seen_dollar = 0;
-- fbuf_flush (dtp->u.p.current_unit, 1);
-- sfree (dtp->u.p.current_unit->s);
- return;
- }
-
-@@ -2976,15 +3162,16 @@
- - dtp->u.p.current_unit->bytes_left);
- dtp->u.p.current_unit->saved_pos =
- dtp->u.p.max_pos > 0 ? dtp->u.p.max_pos - bytes_written : 0;
-- fbuf_flush (dtp->u.p.current_unit, 0);
-- flush (dtp->u.p.current_unit->s);
-+ fbuf_flush (dtp->u.p.current_unit, dtp->u.p.mode);
- return;
- }
-+ else if (dtp->u.p.current_unit->flags.form == FORM_FORMATTED
-+ && dtp->u.p.mode == WRITING && !is_internal_unit (dtp))
-+ fbuf_seek (dtp->u.p.current_unit, 0, SEEK_END);
-
- dtp->u.p.current_unit->saved_pos = 0;
-
- next_record (dtp, 1);
-- sfree (dtp->u.p.current_unit->s);
- }
-
- /* Transfer function for IOLENGTH. It doesn't actually do any
-@@ -2997,7 +3184,7 @@
- size_t size, size_t nelems)
- {
- if ((dtp->common.flags & IOPARM_DT_HAS_IOLENGTH) != 0)
-- *dtp->iolength += (GFC_IO_INT) size * nelems;
-+ *dtp->iolength += (GFC_IO_INT) (size * nelems);
- }
-
-
-@@ -3041,8 +3228,6 @@
- st_iolength_done (st_parameter_dt *dtp __attribute__((unused)))
- {
- free_ionml (dtp);
-- if (dtp->u.p.scratch != NULL)
-- free_mem (dtp->u.p.scratch);
- library_end ();
- }
-
-@@ -3058,29 +3243,6 @@
- library_start (&dtp->common);
-
- data_transfer_init (dtp, 1);
--
-- /* Handle complications dealing with the endfile record. */
--
-- if (dtp->u.p.current_unit->flags.access == ACCESS_SEQUENTIAL)
-- switch (dtp->u.p.current_unit->endfile)
-- {
-- case NO_ENDFILE:
-- break;
--
-- case AT_ENDFILE:
-- if (!is_internal_unit (dtp))
-- {
-- generate_error (&dtp->common, LIBERROR_END, NULL);
-- dtp->u.p.current_unit->endfile = AFTER_ENDFILE;
-- dtp->u.p.current_unit->current_record = 0;
-- }
-- break;
--
-- case AFTER_ENDFILE:
-- generate_error (&dtp->common, LIBERROR_ENDFILE, NULL);
-- dtp->u.p.current_unit->current_record = 0;
-- break;
-- }
- }
-
- extern void st_read_done (st_parameter_dt *);
-@@ -3092,8 +3254,6 @@
- finalize_transfer (dtp);
- free_format_data (dtp);
- free_ionml (dtp);
-- if (dtp->u.p.scratch != NULL)
-- free_mem (dtp->u.p.scratch);
- if (dtp->u.p.current_unit != NULL)
- unlock_unit (dtp->u.p.current_unit);
-
-@@ -3136,19 +3296,15 @@
- case NO_ENDFILE:
- /* Get rid of whatever is after this record. */
- if (!is_internal_unit (dtp))
-- {
-- flush (dtp->u.p.current_unit->s);
-- if (struncate (dtp->u.p.current_unit->s) == FAILURE)
-- generate_error (&dtp->common, LIBERROR_OS, NULL);
-- }
-+ unit_truncate (dtp->u.p.current_unit,
-+ stell (dtp->u.p.current_unit->s),
-+ &dtp->common);
- dtp->u.p.current_unit->endfile = AT_ENDFILE;
- break;
- }
-
- free_format_data (dtp);
- free_ionml (dtp);
-- if (dtp->u.p.scratch != NULL)
-- free_mem (dtp->u.p.scratch);
- if (dtp->u.p.current_unit != NULL)
- unlock_unit (dtp->u.p.current_unit);
-
-@@ -3262,3 +3418,46 @@
- for (i=0; i<n; i++)
- *(d++) = *(s--);
- }
-+
-+
-+/* Once upon a time, a poor innocent Fortran program was reading a
-+ file, when suddenly it hit the end-of-file (EOF). Unfortunately
-+ the OS doesn't tell whether we're at the EOF or whether we already
-+ went past it. Luckily our hero, libgfortran, keeps track of this.
-+ Call this function when you detect an EOF condition. See Section
-+ 9.10.2 in F2003. */
-+
-+void
-+hit_eof (st_parameter_dt * dtp)
-+{
-+ dtp->u.p.current_unit->flags.position = POSITION_APPEND;
-+
-+ if (dtp->u.p.current_unit->flags.access == ACCESS_SEQUENTIAL)
-+ switch (dtp->u.p.current_unit->endfile)
-+ {
-+ case NO_ENDFILE:
-+ case AT_ENDFILE:
-+ generate_error (&dtp->common, LIBERROR_END, NULL);
-+ if (!is_internal_unit (dtp))
-+ {
-+ dtp->u.p.current_unit->endfile = AFTER_ENDFILE;
-+ dtp->u.p.current_unit->current_record = 0;
-+ }
-+ else
-+ dtp->u.p.current_unit->endfile = AT_ENDFILE;
-+ break;
-+
-+ case AFTER_ENDFILE:
-+ generate_error (&dtp->common, LIBERROR_ENDFILE, NULL);
-+ dtp->u.p.current_unit->current_record = 0;
-+ break;
-+ }
-+ else
-+ {
-+ /* Non-sequential files don't have an ENDFILE record, so we
-+ can't be at AFTER_ENDFILE. */
-+ dtp->u.p.current_unit->endfile = AT_ENDFILE;
-+ generate_error (&dtp->common, LIBERROR_END, NULL);
-+ dtp->u.p.current_unit->current_record = 0;
-+ }
-+}
-Index: libgfortran/io/intrinsics.c
-===================================================================
---- libgfortran/io/intrinsics.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libgfortran/io/intrinsics.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -41,21 +41,26 @@
- PREFIX(fgetc) (const int * unit, char * c, gfc_charlen_type c_len)
- {
- int ret;
-- size_t s;
- gfc_unit * u = find_unit (*unit);
-
- if (u == NULL)
- return -1;
-
-- s = 1;
-+ fbuf_reset (u);
-+ if (u->mode == WRITING)
-+ {
-+ sflush (u->s);
-+ u->mode = READING;
-+ }
-+
- memset (c, ' ', c_len);
-- ret = sread (u->s, c, &s);
-+ ret = sread (u->s, c, 1);
- unlock_unit (u);
-
-- if (ret != 0)
-+ if (ret < 0)
- return ret;
-
-- if (s != 1)
-+ if (ret != 1)
- return -1;
- else
- return 0;
-@@ -114,17 +119,24 @@
- PREFIX(fputc) (const int * unit, char * c,
- gfc_charlen_type c_len __attribute__((unused)))
- {
-- size_t s;
-- int ret;
-+ ssize_t s;
- gfc_unit * u = find_unit (*unit);
-
- if (u == NULL)
- return -1;
-
-- s = 1;
-- ret = swrite (u->s, c, &s);
-+ fbuf_reset (u);
-+ if (u->mode == READING)
-+ {
-+ sflush (u->s);
-+ u->mode = WRITING;
-+ }
-+
-+ s = swrite (u->s, c, 1);
- unlock_unit (u);
-- return ret;
-+ if (s < 0)
-+ return -1;
-+ return 0;
- }
-
-
-@@ -191,7 +203,7 @@
- us = find_unit (*unit);
- if (us != NULL)
- {
-- flush (us->s);
-+ sflush (us->s);
- unlock_unit (us);
- }
- }
-@@ -214,7 +226,7 @@
- us = find_unit (*unit);
- if (us != NULL)
- {
-- flush (us->s);
-+ sflush (us->s);
- unlock_unit (us);
- }
- }
-@@ -229,22 +241,17 @@
- fseek_sub (int * unit, GFC_IO_INT * offset, int * whence, int * status)
- {
- gfc_unit * u = find_unit (*unit);
-- try result = FAILURE;
-+ ssize_t result = -1;
-
- if (u != NULL && is_seekable(u->s))
- {
-- if (*whence == 0)
-- result = sseek(u->s, *offset); /* SEEK_SET */
-- else if (*whence == 1)
-- result = sseek(u->s, file_position(u->s) + *offset); /* SEEK_CUR */
-- else if (*whence == 2)
-- result = sseek(u->s, file_length(u->s) + *offset); /* SEEK_END */
-+ result = sseek(u->s, *offset, *whence);
-
- unlock_unit (u);
- }
-
- if (status)
-- *status = (result == FAILURE ? -1 : 0);
-+ *status = (result < 0 ? -1 : 0);
- }
-
-
-@@ -261,7 +268,7 @@
- size_t ret;
- if (u == NULL)
- return ((size_t) -1);
-- ret = (size_t) stream_offset (u->s);
-+ ret = (size_t) stell (u->s);
- unlock_unit (u);
- return ret;
- }
-@@ -277,7 +284,7 @@
- *offset = -1; \
- else \
- { \
-- *offset = stream_offset (u->s); \
-+ *offset = stell (u->s); \
- unlock_unit (u); \
- } \
- }
-Index: libgfortran/io/format.c
-===================================================================
---- libgfortran/io/format.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libgfortran/io/format.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -58,7 +58,7 @@
- static const fnode colon_node = { FMT_COLON, 0, NULL, NULL, {{ 0, 0, 0 }}, 0,
- NULL };
-
--/* Error messages */
-+/* Error messages. */
-
- static const char posint_required[] = "Positive width required in format",
- period_required[] = "Period required in format",
-@@ -85,7 +85,8 @@
- return -1;
-
- fmt->format_string_len--;
-- fmt->error_element = c = toupper (*fmt->format_string++);
-+ c = toupper (*fmt->format_string++);
-+ fmt->error_element = c;
- }
- while ((c == ' ' || c == '\t') && !literal);
-
-@@ -179,6 +180,14 @@
-
- switch (c)
- {
-+ case '(':
-+ token = FMT_LPAREN;
-+ break;
-+
-+ case ')':
-+ token = FMT_RPAREN;
-+ break;
-+
- case '-':
- negative_flag = 1;
- /* Fall Through */
-@@ -271,14 +280,6 @@
-
- break;
-
-- case '(':
-- token = FMT_LPAREN;
-- break;
--
-- case ')':
-- token = FMT_RPAREN;
-- break;
--
- case 'X':
- token = FMT_X;
- break;
-@@ -994,6 +995,33 @@
- }
-
-
-+/* revert()-- Do reversion of the format. Control reverts to the left
-+ * parenthesis that matches the rightmost right parenthesis. From our
-+ * tree structure, we are looking for the rightmost parenthesis node
-+ * at the second level, the first level always being a single
-+ * parenthesis node. If this node doesn't exit, we use the top
-+ * level. */
++ A2 = A;
++ V2 = V;
+
-+static void
-+revert (st_parameter_dt *dtp)
-+{
-+ fnode *f, *r;
-+ format_data *fmt = dtp->u.p.fmt;
++ if (A2.i1 != 12
++ || A2.i1 != V2.i1 -1)
++ abort();
+
-+ dtp->u.p.reversion_flag = 1;
++ if (A2.i2 != 345
++ || A2.i2 != V2.i2 -1)
++ abort();
+
-+ r = NULL;
++ if (A2.i4 != 678910
++ || A2.i4 != V2.i4 -1)
++ abort();
+
-+ for (f = fmt->array.array[0].u.child; f; f = f->next)
-+ if (f->format == FMT_LPAREN)
-+ r = f;
++ if (A2.i8 != 1234567891011ll
++ || A2.i8 != V2.i8 -1)
++ abort();
+
-+ /* If r is NULL because no node was found, the whole tree will be used */
++ if (strcmp (A2.str[0], "xxx..xxx"))
++ abort();
++ if (strcmp (A2.str[1], "yyy..yyy"))
++ abort();
+
-+ fmt->array.array[0].current = r;
-+ fmt->array.array[0].count = 0;
++ if (strcmp ((const char*) V2.str[0], "XXX..XXX"))
++ abort();
++ if (strcmp ((const char*) V2.str[1], "YYY..YYY"))
++ abort();
++
++ exit (0);
++ return 0;
+}
+Index: gcc/testsuite/gcc.target/avr/torture/addr-space-2-x.c
+===================================================================
+--- gcc/testsuite/gcc.target/avr/torture/addr-space-2-x.c (.../tags/gcc_4_7_0_release) (wersja 0)
++++ gcc/testsuite/gcc.target/avr/torture/addr-space-2-x.c (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -0,0 +1,9 @@
++/* { dg-options "-std=gnu99 -Wa,--no-warn" } */
++/* { dg-do run } */
+
- /* parse_format()-- Parse a format string. */
-
- void
-@@ -1036,34 +1064,6 @@
- }
-
-
--/* revert()-- Do reversion of the format. Control reverts to the left
-- * parenthesis that matches the rightmost right parenthesis. From our
-- * tree structure, we are looking for the rightmost parenthesis node
-- * at the second level, the first level always being a single
-- * parenthesis node. If this node doesn't exit, we use the top
-- * level. */
--
--static void
--revert (st_parameter_dt *dtp)
--{
-- fnode *f, *r;
-- format_data *fmt = dtp->u.p.fmt;
--
-- dtp->u.p.reversion_flag = 1;
--
-- r = NULL;
--
-- for (f = fmt->array.array[0].u.child; f; f = f->next)
-- if (f->format == FMT_LPAREN)
-- r = f;
--
-- /* If r is NULL because no node was found, the whole tree will be used */
--
-- fmt->array.array[0].current = r;
-- fmt->array.array[0].count = 0;
--}
--
--
- /* next_format0()-- Get the next format node without worrying about
- * reversion. Returns NULL when we hit the end of the list.
- * Parenthesis nodes are incremented after the list has been
-Index: libgfortran/io/write.c
++/* --no-warn because: "assembling 24-bit address needs binutils extension"
++ see binutils PR13503. */
++
++#define __as __memx
++
++#include "addr-space-2.h"
+Index: gcc/testsuite/gcc.target/avr/torture/addr-space-2.h
===================================================================
---- libgfortran/io/write.c (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libgfortran/io/write.c (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -108,7 +108,7 @@
- gfc_char4_t c;
- static const uchar masks[6] = { 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC };
- static const uchar limits[6] = { 0x80, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE };
-- size_t nbytes;
-+ int nbytes;
- uchar buf[6], d, *q;
-
- /* Take care of preceding blanks. */
-@@ -597,7 +597,7 @@
- n = -n;
- nsign = sign == S_NONE ? 0 : 1;
-
-- /* conv calls gfc_itoa which sets the negative sign needed
-+ /* conv calls itoa which sets the negative sign needed
- by write_integer. The sign '+' or '-' is set below based on sign
- calculated above, so we just point past the sign in the string
- before proceeding to avoid double signs in corner cases.
-@@ -707,6 +707,48 @@
- }
-
-
-+/* gfc_itoa()-- Integer to decimal conversion.
-+ The itoa function is a widespread non-standard extension to standard
-+ C, often declared in <stdlib.h>. Even though the itoa defined here
-+ is a static function we take care not to conflict with any prior
-+ non-static declaration. Hence the 'gfc_' prefix, which is normally
-+ reserved for functions with external linkage. */
+--- gcc/testsuite/gcc.target/avr/torture/addr-space-2.h (.../tags/gcc_4_7_0_release) (wersja 0)
++++ gcc/testsuite/gcc.target/avr/torture/addr-space-2.h (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -0,0 +1,106 @@
++extern void exit (int);
++extern void abort (void);
+
-+static const char *
-+gfc_itoa (GFC_INTEGER_LARGEST n, char *buffer, size_t len)
++typedef struct T
+{
-+ int negative;
-+ char *p;
-+ GFC_UINTEGER_LARGEST t;
++ char val;
++ const __as struct T *l, *r;
++} tree;
+
-+ assert (len >= GFC_ITOA_BUF_SIZE);
++/*
++ abcd
++ / \
++ ab cd
++ / \ / \
++ a b c d
++*/
+
-+ if (n == 0)
-+ return "0";
++const __as tree a = { 'a', 0, 0 };
++const __as tree b = { 'b', 0, 0 };
++const __as tree c = { 'c', 0, 0 };
++const __as tree d = { 'd', 0, 0 };
+
-+ negative = 0;
-+ t = n;
-+ if (n < 0)
-+ {
-+ negative = 1;
-+ t = -n; /*must use unsigned to protect from overflow*/
-+ }
++const __as tree ab = { 'A', &a, &b };
++const __as tree cd = { 'C', &c, &d };
+
-+ p = buffer + GFC_ITOA_BUF_SIZE - 1;
-+ *p = '\0';
++const __as tree abcd = { '*', &ab, &cd };
+
-+ while (t != 0)
-+ {
-+ *--p = '0' + (t % 10);
-+ t /= 10;
-+ }
++static void
++test1 (void)
++{
++ if (abcd.val != '*')
++ abort();
+
-+ if (negative)
-+ *--p = '-';
-+ return p;
++ if (abcd.l->val != 'A')
++ abort();
++ if (abcd.r->val != 'C')
++ abort();
++
++ if (abcd.l->l->val != 'a')
++ abort();
++ if (abcd.l->r->val != 'b')
++ abort();
++ if (abcd.r->l->val != 'c')
++ abort();
++ if (abcd.r->r->val != 'd')
++ abort();
+}
+
++static void
++test2 (const __as tree *t)
++{
++ if (t->val != '*')
++ abort();
+
- void
- write_i (st_parameter_dt *dtp, const fnode *f, const char *p, int len)
- {
-@@ -730,7 +772,7 @@
- void
- write_z (st_parameter_dt *dtp, const fnode *f, const char *p, int len)
- {
-- write_int (dtp, f, p, len, xtoa);
-+ write_int (dtp, f, p, len, gfc_xtoa);
- }
-
-
-@@ -779,8 +821,7 @@
- p = write_block (dtp, len);
- if (p == NULL)
- return;
--
-- if (nspaces > 0)
-+ if (nspaces > 0 && len - nspaces >= 0)
- memset (&p[len - nspaces], ' ', nspaces);
- }
-
-@@ -1168,7 +1209,7 @@
- /* Now seek to this record */
- record = record * dtp->u.p.current_unit->recl;
-
-- if (sseek (dtp->u.p.current_unit->s, record) == FAILURE)
-+ if (sseek (dtp->u.p.current_unit->s, record, SEEK_SET) < 0)
- {
- generate_error (&dtp->common, LIBERROR_INTERNAL_UNIT, NULL);
- return;
-@@ -1189,13 +1230,13 @@
- int rep_ctr;
- int num;
- int nml_carry;
-- index_type len;
-+ int len;
- index_type obj_size;
- index_type nelem;
-- index_type dim_i;
-- index_type clen;
-+ size_t dim_i;
-+ size_t clen;
- index_type elem_ctr;
-- index_type obj_name_len;
-+ size_t obj_name_len;
- void * p ;
- char cup;
- char * obj_name;
-@@ -1225,14 +1266,16 @@
- len = 0;
- if (base)
- {
-- len =strlen (base->var_name);
-- for (dim_i = 0; dim_i < (index_type) strlen (base_name); dim_i++)
-+ len = strlen (base->var_name);
-+ base_name_len = strlen (base_name);
-+ for (dim_i = 0; dim_i < base_name_len; dim_i++)
- {
- cup = toupper (base_name[dim_i]);
- write_character (dtp, &cup, 1, 1);
- }
- }
-- for (dim_i =len; dim_i < (index_type) strlen (obj->var_name); dim_i++)
-+ clen = strlen (obj->var_name);
-+ for (dim_i = len; dim_i < clen; dim_i++)
- {
- cup = toupper (obj->var_name[dim_i]);
- write_character (dtp, &cup, 1, 1);
-@@ -1271,7 +1314,7 @@
- /* Set the index vector and count the number of elements. */
-
- nelem = 1;
-- for (dim_i=0; dim_i < obj->var_rank; dim_i++)
-+ for (dim_i = 0; dim_i < (size_t) obj->var_rank; dim_i++)
- {
- obj->ls[dim_i].idx = obj->dim[dim_i].lbound;
- nelem = nelem * (obj->dim[dim_i].ubound + 1 - obj->dim[dim_i].lbound);
-@@ -1374,7 +1417,7 @@
- /* Append the qualifier. */
-
- tot_len = base_name_len + clen;
-- for (dim_i = 0; dim_i < obj->var_rank; dim_i++)
-+ for (dim_i = 0; dim_i < (size_t) obj->var_rank; dim_i++)
- {
- if (!dim_i)
- {
-@@ -1383,7 +1426,7 @@
- }
- sprintf (ext_name + tot_len, "%d", (int) obj->ls[dim_i].idx);
- tot_len += strlen (ext_name + tot_len);
-- ext_name[tot_len] = (dim_i == obj->var_rank - 1) ? ')' : ',';
-+ ext_name[tot_len] = ((int) dim_i == obj->var_rank - 1) ? ')' : ',';
- tot_len++;
- }
-
-@@ -1437,11 +1480,11 @@
- obj_loop:
-
- nml_carry = 1;
-- for (dim_i = 0; nml_carry && (dim_i < obj->var_rank); dim_i++)
-+ for (dim_i = 0; nml_carry && (dim_i < (size_t) obj->var_rank); dim_i++)
- {
- obj->ls[dim_i].idx += nml_carry ;
- nml_carry = 0;
-- if (obj->ls[dim_i].idx > (ssize_t)obj->dim[dim_i].ubound)
-+ if (obj->ls[dim_i].idx > (index_type) obj->dim[dim_i].ubound)
- {
- obj->ls[dim_i].idx = obj->dim[dim_i].lbound;
- nml_carry = 1;
-Index: libgfortran/io/write_float.def
-===================================================================
---- libgfortran/io/write_float.def (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libgfortran/io/write_float.def (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -603,7 +603,7 @@
- int d = f->u.real.d;\
- int w = f->u.real.w;\
- fnode *newf;\
-- GFC_REAL_ ## x exp_d;\
-+ GFC_REAL_ ## x rexp_d;\
- int low, high, mid;\
- int ubound, lbound;\
- char *p;\
-@@ -612,8 +612,8 @@
- save_scale_factor = dtp->u.p.scale_factor;\
- newf = (fnode *) get_mem (sizeof (fnode));\
- \
-- exp_d = calculate_exp_ ## x (d);\
-- if ((m > 0.0 && m < 0.1 - 0.05 / exp_d) || (m >= exp_d - 0.5 ) ||\
-+ rexp_d = calculate_exp_ ## x (-d);\
-+ if ((m > 0.0 && m < 0.1 - 0.05 * rexp_d) || (rexp_d * (m + 0.5) >= 1.0) ||\
- ((m == 0.0) && !(compile_options.allow_std & GFC_STD_F2003)))\
- { \
- newf->format = FMT_E;\
-@@ -635,8 +635,7 @@
- GFC_REAL_ ## x temp;\
- mid = (low + high) / 2;\
- \
-- temp = (calculate_exp_ ## x (mid) - \
-- 5 * calculate_exp_ ## x (mid - d - 1)) / 10;\
-+ temp = (calculate_exp_ ## x (mid - 1) * (1 - 0.5 * rexp_d));\
- \
- if (m < temp)\
- { \
-Index: libgfortran/Makefile.am
++ if (t->l->val != 'A')
++ abort();
++ if (t->r->val != 'C')
++ abort();
++
++ if (t->l->l->val != 'a')
++ abort();
++ if (t->l->r->val != 'b')
++ abort();
++ if (t->r->l->val != 'c')
++ abort();
++ if (t->r->r->val != 'd')
++ abort();
++}
++
++static void
++test3 (const __as tree *pt)
++{
++ tree t = *pt;
++
++ if (t.val != '*')
++ abort();
++
++ if (t.l->val != 'A')
++ abort();
++ if (t.r->val != 'C')
++ abort();
++
++ if (t.l->l->val != 'a')
++ abort();
++ if (t.l->r->val != 'b')
++ abort();
++ if (t.r->l->val != 'c')
++ abort();
++ if (t.r->r->val != 'd')
++ abort();
++}
++
++int main (void)
++{
++ const __as tree *t = &abcd;
++ test1();
++ test2 (&abcd);
++ test3 (&abcd);
++
++ __asm ("" : "+r" (t));
++ test2 (t);
++ test3 (t);
++
++ exit (0);
++ return 0;
++}
+Index: gcc/testsuite/gcc.target/avr/torture/addr-space-1-g.c
===================================================================
---- libgfortran/Makefile.am (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libgfortran/Makefile.am (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -58,6 +58,7 @@
- intrinsics/abort.c \
- intrinsics/access.c \
- intrinsics/args.c \
-+intrinsics/bit_intrinsics.c \
- intrinsics/c99_functions.c \
- intrinsics/chdir.c \
- intrinsics/chmod.c \
-Index: Makefile.def
+--- gcc/testsuite/gcc.target/avr/torture/addr-space-1-g.c (.../tags/gcc_4_7_0_release) (wersja 0)
++++ gcc/testsuite/gcc.target/avr/torture/addr-space-1-g.c (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -0,0 +1,6 @@
++/* { dg-options "-std=gnu99" } */
++/* { dg-do run } */
++
++#define __as
++
++#include "addr-space-1.h"
+Index: gcc/testsuite/gcc.target/avr/torture/addr-space-2-g.c
===================================================================
---- Makefile.def (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ Makefile.def (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -65,7 +65,7 @@
- host="none-${host_vendor}-${host_os}";
- target="none-${host_vendor}-${host_os}"; };
- host_modules= { module= mpfr; lib_path=.libs; bootstrap=true;
-- extra_configure_flags='--disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp';
-+ extra_configure_flags='--disable-shared @extra_mpfr_configure_flags@';
- no_install= true;
- host="none-${host_vendor}-${host_os}";
- target="none-${host_vendor}-${host_os}"; };
-Index: ChangeLog
+--- gcc/testsuite/gcc.target/avr/torture/addr-space-2-g.c (.../tags/gcc_4_7_0_release) (wersja 0)
++++ gcc/testsuite/gcc.target/avr/torture/addr-space-2-g.c (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -0,0 +1,6 @@
++/* { dg-options "-std=gnu99" } */
++/* { dg-do run } */
++
++#define __as
++
++#include "addr-space-2.h"
+Index: gcc/testsuite/gcc.target/avr/progmem.h
+===================================================================
+--- gcc/testsuite/gcc.target/avr/progmem.h (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/testsuite/gcc.target/avr/progmem.h (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -5,6 +5,7 @@
+ static const char __c[] PROGMEM = (s); \
+ &__c[0];}))
+
++#ifdef __AVR_HAVE_LPMX__
+ #define pgm_read_char(addr) \
+ (__extension__({ \
+ unsigned int __addr16 = (unsigned int)(addr); \
+@@ -12,3 +13,13 @@
+ __asm__ ("lpm %0, %a1" \
+ : "=r" (__result) : "z" (__addr16)); \
+ __result; }))
++#else
++#define pgm_read_char(addr) \
++ (__extension__({ \
++ unsigned int __addr16 = (unsigned int)(addr); \
++ char __result; \
++ __asm__ ("lpm" "\n\t" \
++ "mov %0, r0" \
++ : "=r" (__result) : "z" (__addr16)); \
++ __result; }))
++#endif
+Index: gcc/testsuite/gfortran.dg/intrinsic_8.f90
===================================================================
---- ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ ChangeLog (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,3 +1,11 @@
-+2009-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+--- gcc/testsuite/gfortran.dg/intrinsic_8.f90 (.../tags/gcc_4_7_0_release) (wersja 0)
++++ gcc/testsuite/gfortran.dg/intrinsic_8.f90 (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -0,0 +1,23 @@
++! { dg-do compile }
++!
++! PR fortran/52452
++!
++! Contributed by Roger Ferrer Ibanez
++!
++PROGRAM test_etime
++ IMPLICIT NONE
++ INTRINSIC :: etime
++ REAL(4) :: tarray(1:2)
++ REAL(4) :: result
++
++ CALL etime(tarray, result)
++END PROGRAM test_etime
++
++subroutine test_etime2
++ IMPLICIT NONE
++ INTRINSIC :: etime
++ REAL(4) :: tarray(1:2)
++ REAL(4) :: result
++
++ result = etime(tarray)
++END subroutine test_etime2
+Index: gcc/testsuite/gcc.dg/Wunused-var-3.c
+===================================================================
+--- gcc/testsuite/gcc.dg/Wunused-var-3.c (.../tags/gcc_4_7_0_release) (wersja 0)
++++ gcc/testsuite/gcc.dg/Wunused-var-3.c (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -0,0 +1,34 @@
++/* PR c/52577 */
++/* { dg-do compile } */
++/* { dg-options "-Wunused" } */
+
-+ PR bootstrap/39739
-+ * configure.ac (extra_mpfr_configure_flags): Set and AC_SUBST.
-+ * Makefile.def (module=mpfr): Use extra_mpfr_configure_flags.
++typedef int V __attribute__((vector_size (sizeof (int) * 4)));
+
-+ * configure, Makefile.in: Regenerate.
++void
++f1 (V *p)
++{
++ V mask = { 1, 2, 3, 0 };
++ *p = __builtin_shuffle (*p, mask);
++}
+
- 2009-04-21 Release Manager
-
- * GCC 4.4.0 released.
-Index: contrib/ChangeLog
++void
++f2 (V *p, V *q)
++{
++ V mask = { 1, 2, 3, 0 };
++ *p = __builtin_shuffle (*p, *q, mask);
++}
++
++void
++f3 (V *p, V *mask)
++{
++ V a = { 1, 2, 3, 0 };
++ *p = __builtin_shuffle (a, *mask);
++}
++
++void
++f4 (V *p, V *mask)
++{
++ V a = { 1, 2, 3, 0 };
++ V b = { 2, 3, 4, 1 };
++ *p = __builtin_shuffle (a, b, *mask);
++}
+Index: gcc/testsuite/ChangeLog
===================================================================
---- contrib/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ contrib/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,3 +1,17 @@
-+2009-06-20 Gerald Pfeifer <gerald@pfeifer.com>
+--- gcc/testsuite/ChangeLog (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/testsuite/ChangeLog (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1,3 +1,60 @@
++2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
+
-+ * test_summary: Only include LAST_UPDATED if it exists.
-+ Complete copyright years.
++ PR c++/52487
++ * g++.dg/cpp0x/lambda/lambda-ice7.C: New.
+
-+2009-04-27 Jakub Jelinek <jakub@redhat.com>
++2012-03-22 Tobias Burnus <burnus@net-b.de>
+
-+ PR testsuite/39807
-+ * dg-extract-results.sh: Close open files and use >> instead of >
-+ to decrease number of concurrently open files from awk. Avoid
-+ = at the beginning of a regexp and redirect to a file determined
-+ by curfile variable rather than concatenated strings to workaround
-+ Solaris nawk bug.
++ PR fortran/52452
++ * gfortran.dg/intrinsic_8.f90: New.
+
- 2009-04-21 Release Manager
-
- * GCC 4.4.0 released.
-Index: contrib/test_summary
-===================================================================
---- contrib/test_summary (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ contrib/test_summary (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,6 +1,7 @@
- #! /bin/sh
-
--# (C) 1998, 1999, 2000, 2002 Free Software Foundation
-+# (C) 1998, 1999, 2000, 2002, 2003, 2004, 2007, 2009
-+# Free Software Foundation
- # Originally by Alexandre Oliva <oliva@dcc.unicamp.br>
-
- # This script is Free Software, and it can be copied, distributed and
-@@ -106,9 +107,11 @@
- sub(/^s,@TOPLEVEL_CONFIGURE_ARGUMENTS@,/, "", configflags);
- srcdir = configflags;
- sub(/\/configure .*/, "", srcdir);
-- printf "LAST_UPDATED: ";
-- system("tail -1 " srcdir "/LAST_UPDATED");
-- print "";
-+ if ( system("test -f " srcdir "/LAST_UPDATED") == 0 ) {
-+ printf "LAST_UPDATED: ";
-+ system("tail -1 " srcdir "/LAST_UPDATED");
-+ print "";
-+ }
-
- sub(/^[^ ]*\/configure */, " ", configflags);
- sub(/,;t t $/, " ", configflags);
-Index: contrib/dg-extract-results.sh
-===================================================================
---- contrib/dg-extract-results.sh (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ contrib/dg-extract-results.sh (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -6,7 +6,7 @@
- # The resulting file can be used with test result comparison scripts for
- # results from tests that were run in parallel. See usage() below.
-
--# Copyright (C) 2008 Free Software Foundation
-+# Copyright (C) 2008, 2009 Free Software Foundation
- # Contributed by Janis Johnson <janis187@us.ibm.com>
- #
- # This file is part of GCC.
-@@ -148,26 +148,28 @@
- ACATS_AWK=${TMP}/acats.awk
- cat <<EOF > $ACATS_AWK
- BEGIN {
-- print_prologue=1; chapter=""; insummary=0
-+ print_prologue=1; curfile=""; insummary=0
- passcnt=0; failcnt=0; unsupcnt=0; failures=""
- }
--/=== acats configuration ===/ {
-+/^[ \t]*=== acats configuration ===/ {
- insummary=0
- if (print_prologue) print
- next
- }
--/=== acats tests ===/ {
-+/^[ \t]*=== acats tests ===/ {
- if (print_prologue) print
- print_prologue=0
- next
- }
- /^Running chapter / {
-- chapter=\$3
-- print > "${TMP}/chapter-"chapter
-+ if (curfile) close (curfile)
-+ curfile="${TMP}/chapter-"\$3
-+ print >> curfile
- next
- }
--/=== acats Summary ===/ {
-- chapter=""
-+/^[ \t]*=== acats Summary ===/ {
-+ if (curfile) close (curfile)
-+ curfile=""
- insummary=1
- next
- }
-@@ -182,7 +184,7 @@
- }
- {
- if (print_prologue) { print; next }
-- if (chapter) print > "${TMP}/chapter-"chapter
-+ if (curfile) print >> curfile
- }
- END {
- system ("cat ${TMP}/chapter-*")
-@@ -194,6 +196,7 @@
- }
- EOF
-
-+ rm -f ${TMP}/chapter-*
- $AWK -f $ACATS_AWK $SUM_FILES
- exit 0
- fi
-@@ -270,6 +273,7 @@
- expfileno=1
- cnt=0
- print_using=0
-+ need_close=0
- }
- /^EXPFILE: / {
- expfiles[expfileno] = \$2
-@@ -287,8 +291,10 @@
- /^Running / {
- print_using=0
- if (variant == curvar) {
-+ if (need_close) close(curfile)
- curfile="${TMP}/list"expfilesr[\$2]
- expfileseen[\$2]=expfileseen[\$2] + 1
-+ need_close=0
- testname="00"
- next
- }
-@@ -303,11 +309,12 @@
- /^$/ { if ("$MODE" == "sum") next }
- { if (variant == curvar && curfile) {
- if ("$MODE" == "sum") {
-- printf "%s %08d|", testname, cnt > curfile
-+ printf "%s %08d|", testname, cnt >> curfile
- cnt = cnt + 1
- }
- filewritten[curfile]=1
-- print > curfile
-+ need_close=1
-+ print >> curfile
- } else
- next
- }
-Index: libjava/Makefile.in
-===================================================================
---- libjava/Makefile.in (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libjava/Makefile.in (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -72,6 +72,7 @@
- $(top_srcdir)/contrib/aot-compile-rpm.in \
- $(top_srcdir)/contrib/aot-compile.in \
- $(top_srcdir)/contrib/aotcompile.py.in \
-+ $(top_srcdir)/contrib/generate-cacerts.pl.in \
- $(top_srcdir)/contrib/rebuild-gcj-db.in \
- $(top_srcdir)/scripts/jar.in COPYING ChangeLog NEWS THANKS
- @MAINTAINER_MODE_TRUE@@NATIVE_TRUE@am__append_19 = gen-from-JIS
-@@ -111,9 +112,10 @@
- $(top_builddir)/gcj/libgcj-config.h
- CONFIG_CLEAN_FILES = libgcj.pc libgcj.spec libgcj-test.spec \
- contrib/aotcompile.py contrib/aot-compile \
-- contrib/aot-compile-rpm contrib/rebuild-gcj-db scripts/jar \
-- java/io/natFile.cc java/lang/natConcreteProcess.cc \
-- java/net/natVMInetAddress.cc java/net/natVMNetworkInterface.cc \
-+ contrib/aot-compile-rpm contrib/generate-cacerts.pl \
-+ contrib/rebuild-gcj-db scripts/jar java/io/natFile.cc \
-+ java/lang/natConcreteProcess.cc java/net/natVMInetAddress.cc \
-+ java/net/natVMNetworkInterface.cc \
- gnu/java/net/natPlainSocketImpl.cc \
- gnu/java/net/natPlainDatagramSocketImpl.cc \
- gnu/java/nio/natVMPipe.cc gnu/java/nio/natVMSelector.cc \
-@@ -1028,8 +1030,17 @@
- $(libgcj_la_LIBADD) $(am__append_18)
- libgcj_la_LINK = $(LIBLINK)
- EXTRA_libgcj_la_SOURCES = java/lang/Object.java
++2012-03-22 Jakub Jelinek <jakub@redhat.com>
+
-+# We compile libgcj_tools with -findirect-dispatch so that they can
-+# depend on external classes: in particular, gjdoc uses antlr. In
-+# addition, -fno-bootstrap-classes ensures that the tools are loaded
-+# by the system class loader rather than the bootstrap class loader:
-+# only core library classes should be loaded by the bootstrap loader.
- libgcj_tools_la_SOURCES = classpath/tools/tools.zip
--libgcj_tools_la_GCJFLAGS = $(AM_GCJFLAGS) -findirect-dispatch -fno-indirect-classes -fsource-filename=$(here)/classpath/tools/all-classes.lst
-+libgcj_tools_la_GCJFLAGS = $(AM_GCJFLAGS) -findirect-dispatch \
-+ -fno-bootstrap-classes -fno-indirect-classes \
-+ -fsource-filename=$(here)/classpath/tools/all-classes.lst
++ PR c++/52671
++ * g++.dg/ext/attrib44.C: New test.
+
- libgcj_tools_la_LDFLAGS = -rpath $(toolexeclibdir) \
- -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
- $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS)
-@@ -8686,6 +8697,8 @@
- cd $(top_builddir) && $(SHELL) ./config.status $@
- contrib/aot-compile-rpm: $(top_builddir)/config.status $(top_srcdir)/contrib/aot-compile-rpm.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-+contrib/generate-cacerts.pl: $(top_builddir)/config.status $(top_srcdir)/contrib/generate-cacerts.pl.in
-+ cd $(top_builddir) && $(SHELL) ./config.status $@
- contrib/rebuild-gcj-db: $(top_builddir)/config.status $(top_srcdir)/contrib/rebuild-gcj-db.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
- scripts/jar: $(top_builddir)/config.status $(top_srcdir)/scripts/jar.in
-@@ -12514,7 +12527,7 @@
- @CREATE_JAVA_HOME_TRUE@ ln -sf $$RELATIVE/libgcj-tools-$(gcc_version).jar \
- @CREATE_JAVA_HOME_TRUE@ $(DESTDIR)$(SDK_LIB_DIR)/tools.jar; \
- @CREATE_JAVA_HOME_TRUE@ for headername in jawt jni; do \
--@CREATE_JAVA_HOME_TRUE@ DIRECTORY=$$(dirname $$($(DESTDIR)$(bindir)/gcj \
-+@CREATE_JAVA_HOME_TRUE@ DIRECTORY=$$(dirname $$($(DESTDIR)$(bindir)/`echo gcj | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
- @CREATE_JAVA_HOME_TRUE@ -print-file-name=include/$$headername.h)); \
- @CREATE_JAVA_HOME_TRUE@ RELATIVE=$$(relative $$DIRECTORY \
- @CREATE_JAVA_HOME_TRUE@ $(DESTDIR)$(SDK_INCLUDE_DIR)); \
-@@ -12522,7 +12535,7 @@
- @CREATE_JAVA_HOME_TRUE@ $(DESTDIR)$(SDK_INCLUDE_DIR)/$$headername.h; \
- @CREATE_JAVA_HOME_TRUE@ done; \
- @CREATE_JAVA_HOME_TRUE@ for headername in jawt_md jni_md; do \
--@CREATE_JAVA_HOME_TRUE@ DIRECTORY=$$(dirname $$($(DESTDIR)$(bindir)/gcj \
-+@CREATE_JAVA_HOME_TRUE@ DIRECTORY=$$(dirname $$($(DESTDIR)$(bindir)/`echo gcj | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
- @CREATE_JAVA_HOME_TRUE@ -print-file-name=include/$$headername.h)); \
- @CREATE_JAVA_HOME_TRUE@ RELATIVE=$$(relative $$DIRECTORY \
- @CREATE_JAVA_HOME_TRUE@ $(DESTDIR)$(SDK_INCLUDE_DIR)/linux); \
-Index: libjava/configure.ac
-===================================================================
---- libjava/configure.ac (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libjava/configure.ac (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -834,6 +834,8 @@
- AC_CONFIG_LINKS(gnu/java/nio/channels/natFileChannelImpl.cc:gnu/java/nio/channels/natFileChannel${FILE-${PLATFORM}}.cc)
-
- # Likewise for natVMSecureRandom.cc
-+test -d gnu/java/security || mkdir gnu/java/security
-+test -d gnu/java/security/jce || mkdir gnu/java/security/jce
- test -d gnu/java/security/jce/prng || mkdir gnu/java/security/jce/prng
- AC_CONFIG_LINKS(gnu/java/security/jce/prng/natVMSecureRandom.cc:gnu/java/security/jce/prng/natVMSecureRandom${FILE-${PLATFORM}}.cc)
-
-@@ -1921,6 +1923,7 @@
- contrib/aotcompile.py
- contrib/aot-compile
- contrib/aot-compile-rpm
-+contrib/generate-cacerts.pl
- contrib/rebuild-gcj-db
- ])
-
-Index: libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java
-===================================================================
---- libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1825,16 +1825,7 @@
- public String getGjdocVersion()
- {
- if (null == gjdocVersion) {
-- try {
-- Properties versionProperties = new Properties();
-- versionProperties.load(getClass().getResourceAsStream("version.properties"));
-- gjdocVersion = versionProperties.getProperty("gjdoc.version");
-- }
-- catch (IOException ignore) {
-- }
-- if (null == gjdocVersion) {
-- gjdocVersion = "unknown";
-- }
-+ gjdocVersion = gnu.classpath.Configuration.CLASSPATH_VERSION;
- }
- return gjdocVersion;
- }
-Index: libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java
-===================================================================
---- libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -3736,20 +3736,7 @@
- protected String getDocletVersion()
- {
- if (null == docletVersion) {
-- try {
-- Properties versionProperties = new Properties();
-- InputStream in = getClass().getResourceAsStream("/version.properties");
-- if (in == null) {
-- in = new FileInputStream("src/resources/version.properties");
-- }
-- versionProperties.load(in);
-- docletVersion = versionProperties.getProperty("gjdoc.version");
-- }
-- catch (IOException ignore) {
-- }
-- if (null == docletVersion) {
-- docletVersion = "unknown";
-- }
-+ docletVersion = gnu.classpath.Configuration.CLASSPATH_VERSION;
- }
- return docletVersion;
- }
-Index: libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class
-===================================================================
-Nie można wyświetlić: plik binarny.
-svn:mime-type = application/octet-stream
-Index: libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.class
-===================================================================
-Nie można wyświetlić: plik binarny.
-svn:mime-type = application/octet-stream
-Index: libjava/classpath/ChangeLog.gcj
-===================================================================
---- libjava/classpath/ChangeLog.gcj (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libjava/classpath/ChangeLog.gcj (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,3 +1,13 @@
-+2009-06-16 Matthias Klose <doko@ubuntu.com>
++2012-03-22 Jason Merrill <jason@redhat.com>
+
-+ * tools/gnu/classpath/tools/gjdoc/Main.java (getGjdocVersion): Use
-+ gnu.classpath.Configuration.CLASSPATH_VERSION as version number.
-+ * tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java
-+ (getDocletVersion): Likewise.
-+ * tools/classes/gnu/classpath/tools/gjdoc/Main*.class: Regenerate.
-+ * tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet*.class:
-+ Regenerate.
++ * g++.dg/torture/pr52582.C: New.
+
- 2009-03-16 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac: Detect xulrunner-1.9.
-Index: libjava/ChangeLog
-===================================================================
---- libjava/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libjava/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,3 +1,28 @@
-+2009-05-11 Matthias Klose <doko@ubuntu.com>
++2012-03-22 Georg-Johann Lay <avr@gjlay.de>
++
++ Backport from 2012-03-20 mainline r185583.
++
++ * gcc.target/avr/progmem.h (pgm_read_char): Define depending on
++ __AVR_HAVE_LPMX__
++
++ Backport from 2012-03-20 mainline r185570.
+
-+ * Makefile.am (install-data-local): Fix symlinks to header files.
-+ Don't create a symlink for javac.
-+ * Makefile.in: Regenerate.
++ PR target/49868
++ * gcc.target/avr/torture/addr-space-2.h: New file.
++ * gcc.target/avr/torture/addr-space-2-g.h: New test.
++ * gcc.target/avr/torture/addr-space-2-0.h: New test.
++ * gcc.target/avr/torture/addr-space-2-1.h: New test.
++ * gcc.target/avr/torture/addr-space-2-x.h: New test.
+
-+2009-04-28 Andrew Haley <aph@redhat.com>
++ Backport from 2012-03-12 mainline r185255.
+
-+ PR libgcj/39899
-+ * Makefile.am (libgcj_tools_la_LDFLAGS): Add
-+ -fno-bootstrap-classes to libgcj_tools_la_GCJFLAGS.
-+ * Makefile.in: Regenerate.
++ PR target/49868
++ * gcc.target/avr/torture/addr-space-1.h: New file.
++ * gcc.target/avr/torture/addr-space-g.h: New test.
++ * gcc.target/avr/torture/addr-space-0.h: New test.
++ * gcc.target/avr/torture/addr-space-1.h: New test.
++ * gcc.target/avr/torture/addr-space-x.h: New test.
+
-+2009-04-26 Matthias Klose <doko@ubuntu.com>
++2012-03-22 Jakub Jelinek <jakub@redhat.com>
+
-+ * contrib/aot-compile.in: Print diagnostics for malformed or invalid
-+ class files.
-+ * contrib/generate-cacerts.pl.in: New.
-+ * configure.ac (AC_CONFIG_FILES): Add generate-cacerts.pl.
++ Backported from mainline
++ 2012-03-14 Jakub Jelinek <jakub@redhat.com>
+
-+2009-04-24 Matthias Klose <doko@ubuntu.com>
++ PR c++/52521
++ * g++.dg/cpp0x/udlit-args2.C: New test.
+
-+ * configure.ac: Create missing directory gnu/java/security/jce/prng.
-+ * configure: Regenerate.
++ 2012-03-13 Jakub Jelinek <jakub@redhat.com>
+
- 2009-04-21 Release Manager
++ PR c/52577
++ * gcc.dg/Wunused-var-3.c: New test.
++
+ 2012-03-22 Release Manager
- * GCC 4.4.0 released.
-Index: libjava/contrib/aotcompile.py.in
+ * GCC 4.7.0 released.
+Index: gcc/testsuite/g++.dg/ext/attrib44.C
===================================================================
---- libjava/contrib/aotcompile.py.in (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libjava/contrib/aotcompile.py.in (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -177,11 +177,14 @@
-
- def __init__(self, path):
- self.path, self.classes, self.blocks = path, {}, None
-+ self.classnames = {}
-
-- def addClass(self, bytes):
-+ def addClass(self, bytes, name):
- """Subclasses call this from their __init__ method for
- every class they find."""
-- self.classes[md5.new(bytes).digest()] = bytes
-+ digest = md5.new(bytes).digest()
-+ self.classes[digest] = bytes
-+ self.classnames[digest] = name
-
- def __makeBlocks(self):
- """Split self.classes into chunks that can be compiled to
-@@ -200,7 +203,12 @@
- if the job is subsetted."""
- names = {}
- for hash, bytes in self.classes.items():
-- name = classname(bytes)
-+ try:
-+ name = classname(bytes)
-+ except:
-+ warn("job %s: class %s malformed or not a valid class file" \
-+ % (self.path, self.classnames[hash]))
-+ raise
- if not names.has_key(name):
- names[name] = []
- names[name].append(hash)
-@@ -302,7 +310,7 @@
- if bytes.startswith(ZIPMAGIC):
- self._walk(zipfile.ZipFile(StringIO.StringIO(bytes)))
- elif bytes.startswith(CLASSMAGIC):
-- self.addClass(bytes)
-+ self.addClass(bytes, name)
-
- class DirJob(Job):
- """A Job whose origin was a directory of classfiles."""
-@@ -319,7 +327,7 @@
- fp = open(path, "r")
- magic = fp.read(4)
- if magic == CLASSMAGIC:
-- self.addClass(magic + fp.read())
-+ self.addClass(magic + fp.read(), name)
-
- def weed_jobs(jobs):
- """Remove any jarfiles that are completely contained within
-Index: libjava/contrib/generate-cacerts.pl.in
+--- gcc/testsuite/g++.dg/ext/attrib44.C (.../tags/gcc_4_7_0_release) (wersja 0)
++++ gcc/testsuite/g++.dg/ext/attrib44.C (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -0,0 +1,4 @@
++// PR c++/52671
++// { dg-do compile }
++__attribute__ ((deprecated)) enum E { E0 }; // { dg-warning "attribute ignored in declaration of" }
++// { dg-message "must follow the" "" { target *-*-* } 3 }
+Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice7.C
===================================================================
---- libjava/contrib/generate-cacerts.pl.in (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libjava/contrib/generate-cacerts.pl.in (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -0,0 +1,106 @@
-+#!/usr/bin/perl
-+
-+# Copyright (C) 2007, 2009 Free Software Foundation
-+#
-+# This program 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 2 of the License, or
-+# (at your option) any later version.
-+#
-+# This program 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.
-+
-+# generate-cacerts.pl generates a gkeytool keystore named 'cacerts'
-+# from OpenSSL's certificate bundle.
+--- gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice7.C (.../tags/gcc_4_7_0_release) (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice7.C (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -0,0 +1,9 @@
++// PR c++/52487
++// { dg-options "-std=c++0x" }
+
-+# First extract each of OpenSSL's bundled certificates into its own
-+# aliased filename.
-+chomp($file=@ARGV[0]);
-+$file = "/etc/pki/tls/cert.pem" unless $file ne "";
-+open(CERTS, $file);
-+@certs = <CERTS>;
-+close(CERTS);
++struct A; // { dg-error "forward declaration" }
+
-+$pem_file_number = 0;
-+$writing_cert = 0;
-+foreach $cert (@certs)
++void foo(A& a)
+{
-+ if ($cert eq "-----BEGIN CERTIFICATE-----\n")
-+ {
-+ if ($writing_cert != 0)
-+ {
-+ die "$file is malformed.";
-+ }
-+ $pem_file_number++;
-+ # Numbering each file guarantees that cert aliases will be
-+ # unique.
-+ $pem_file_name = "$pem_file_number$cert_alias.pem";
-+ $writing_cert = 1;
-+ open(PEM, ">$pem_file_name");
-+ print PEM $cert;
-+ }
-+ elsif ($cert eq "-----END CERTIFICATE-----\n")
-+ {
-+ $writing_cert = 0;
-+ print PEM $cert;
-+ close(PEM);
-+ }
-+ elsif ($cert =~ /Issuer: /)
-+ {
-+ # Generate an alias using the OU and CN attributes of the
-+ # Issuer field if both are present, otherwise use only the CN
-+ # attribute. The Issuer field must have either the OU or the
-+ # CN attribute.
-+ $_ = $cert;
-+ if ($cert =~ /OU=/)
-+ {
-+ s/Issuer:.*?OU=//;
-+ # Remove other occurrences of OU=.
-+ s/OU=.*CN=//;
-+ # Remove CN= if there were not other occurrences of OU=.
-+ s/CN=//;
-+ }
-+ elsif ($cert =~ /CN=/)
-+ {
-+ s/Issuer:.*CN=//;
-+ }
-+ s/\W//g;
-+ tr/A-Z/a-z/;
-+ $cert_alias = $_
-+ }
-+ else
-+ {
-+ if ($writing_cert == 1)
-+ {
-+ print PEM $cert;
-+ }
-+ }
++ [=](){a;}; // { dg-error "invalid use of incomplete type" }
+}
+Index: gcc/testsuite/g++.dg/cpp0x/udlit-args2.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/udlit-args2.C (.../tags/gcc_4_7_0_release) (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/udlit-args2.C (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -0,0 +1,15 @@
++// PR c++/52521
++// { dg-do compile }
++// { dg-options -std=c++11 }
+
-+# Check that the correct number of .pem files were produced.
-+@pem_files = <*.pem>;
-+if (@pem_files != $pem_file_number)
-+{
-+ die "Number of .pem files produced does not match".
-+ " number of certs read from $file.";
-+}
++#include <cstddef>
++
++int operator "" _a (const char *);
++int operator "" _a (const char *, std::size_t);
++int a = 123_a;
++int a2 = "abc"_a;
++
++int operator "" _b (const char *, std::size_t);
++int operator "" _b (const char *);
++int b = 123_b;
++int b2 = "abc"_b;
+Index: gcc/testsuite/g++.dg/torture/pr52582.C
+===================================================================
+--- gcc/testsuite/g++.dg/torture/pr52582.C (.../tags/gcc_4_7_0_release) (wersja 0)
++++ gcc/testsuite/g++.dg/torture/pr52582.C (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -0,0 +1,23 @@
++// PR c++/52582
+
-+# Now store each cert in the 'cacerts' file using gkeytool.
-+$certs_written_count = 0;
-+foreach $pem_file (@pem_files)
++inline void *operator new (__SIZE_TYPE__, void *p) throw ()
+{
-+ system "yes | gkeytool@gcc_suffix@ -import -alias `basename $pem_file .pem`".
-+ " -keystore cacerts -storepass '' -file $pem_file".
-+ " 2>&1 >/dev/null";
-+ unlink($pem_file);
-+ $certs_written_count++;
++ return p;
+}
-+
-+# Check that the correct number of certs were added to the keystore.
-+if ($certs_written_count != $pem_file_number)
++struct B
++{
++ virtual ~B ();
++ B ();
++};
++struct A : B
++{
++ A () : B () {}
++ virtual void bar ();
++};
++void
++foo ()
+{
-+ die "Number of certs added to keystore does not match".
-+ " number of certs read from $file.";
++ char a[64];
++ B *b = new (&a) A ();
++ b->~B ();
+}
-Index: libjava/configure
+Index: gcc/cp/class.c
===================================================================
---- libjava/configure (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libjava/configure (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -19141,6 +19141,8 @@
-
-
- # Likewise for natVMSecureRandom.cc
-+test -d gnu/java/security || mkdir gnu/java/security
-+test -d gnu/java/security/jce || mkdir gnu/java/security/jce
- test -d gnu/java/security/jce/prng || mkdir gnu/java/security/jce/prng
- ac_config_links="$ac_config_links gnu/java/security/jce/prng/natVMSecureRandom.cc:gnu/java/security/jce/prng/natVMSecureRandom${FILE-${PLATFORM}}.cc"
+--- gcc/cp/class.c (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/cp/class.c (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -3145,8 +3145,9 @@
+ CLASSTYPE_NON_AGGREGATE (t) = 1;
-@@ -28310,7 +28312,7 @@
+ /* If at least one non-static data member is non-literal, the whole
+- class becomes non-literal. */
+- if (!literal_type_p (type))
++ class becomes non-literal. Note: if the type is incomplete we
++ will complain later on. */
++ if (COMPLETE_TYPE_P (type) && !literal_type_p (type))
+ CLASSTYPE_LITERAL_P (t) = false;
- fi
-
-- ac_config_files="$ac_config_files Makefile libgcj.pc libgcj.spec libgcj-test.spec gcj/Makefile include/Makefile testsuite/Makefile contrib/aotcompile.py contrib/aot-compile contrib/aot-compile-rpm contrib/rebuild-gcj-db"
-+ ac_config_files="$ac_config_files Makefile libgcj.pc libgcj.spec libgcj-test.spec gcj/Makefile include/Makefile testsuite/Makefile contrib/aotcompile.py contrib/aot-compile contrib/aot-compile-rpm contrib/generate-cacerts.pl contrib/rebuild-gcj-db"
-
-
- if test ${multilib} = yes; then
-@@ -29560,6 +29562,7 @@
- "contrib/aotcompile.py" ) CONFIG_FILES="$CONFIG_FILES contrib/aotcompile.py" ;;
- "contrib/aot-compile" ) CONFIG_FILES="$CONFIG_FILES contrib/aot-compile" ;;
- "contrib/aot-compile-rpm" ) CONFIG_FILES="$CONFIG_FILES contrib/aot-compile-rpm" ;;
-+ "contrib/generate-cacerts.pl" ) CONFIG_FILES="$CONFIG_FILES contrib/generate-cacerts.pl" ;;
- "contrib/rebuild-gcj-db" ) CONFIG_FILES="$CONFIG_FILES contrib/rebuild-gcj-db" ;;
- "scripts/jar" ) CONFIG_FILES="$CONFIG_FILES scripts/jar" ;;
- "include/platform.h" ) CONFIG_LINKS="$CONFIG_LINKS include/platform.h:include/$PLATFORMH" ;;
-Index: libjava/Makefile.am
+ /* A standard-layout class is a class that:
+Index: gcc/cp/decl.c
===================================================================
---- libjava/Makefile.am (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libjava/Makefile.am (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -305,8 +305,15 @@
- ## compiled.
- EXTRA_libgcj_la_SOURCES = java/lang/Object.java
-
-+# We compile libgcj_tools with -findirect-dispatch so that they can
-+# depend on external classes: in particular, gjdoc uses antlr. In
-+# addition, -fno-bootstrap-classes ensures that the tools are loaded
-+# by the system class loader rather than the bootstrap class loader:
-+# only core library classes should be loaded by the bootstrap loader.
- libgcj_tools_la_SOURCES = classpath/tools/tools.zip
--libgcj_tools_la_GCJFLAGS = $(AM_GCJFLAGS) -findirect-dispatch -fno-indirect-classes -fsource-filename=$(here)/classpath/tools/all-classes.lst
-+libgcj_tools_la_GCJFLAGS = $(AM_GCJFLAGS) -findirect-dispatch \
-+ -fno-bootstrap-classes -fno-indirect-classes \
-+ -fsource-filename=$(here)/classpath/tools/all-classes.lst
- libgcj_tools_la_LDFLAGS = -rpath $(toolexeclibdir) \
- -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
- $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS)
-@@ -667,7 +674,7 @@
- ln -sf $$RELATIVE/libgcj-tools-$(gcc_version).jar \
- $(DESTDIR)$(SDK_LIB_DIR)/tools.jar; \
- for headername in jawt jni; do \
-- DIRECTORY=$$(dirname $$($(DESTDIR)$(bindir)/gcj \
-+ DIRECTORY=$$(dirname $$($(DESTDIR)$(bindir)/`echo gcj | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
- -print-file-name=include/$$headername.h)); \
- RELATIVE=$$(relative $$DIRECTORY \
- $(DESTDIR)$(SDK_INCLUDE_DIR)); \
-@@ -675,7 +682,7 @@
- $(DESTDIR)$(SDK_INCLUDE_DIR)/$$headername.h; \
- done; \
- for headername in jawt_md jni_md; do \
-- DIRECTORY=$$(dirname $$($(DESTDIR)$(bindir)/gcj \
-+ DIRECTORY=$$(dirname $$($(DESTDIR)$(bindir)/`echo gcj | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
- -print-file-name=include/$$headername.h)); \
- RELATIVE=$$(relative $$DIRECTORY \
- $(DESTDIR)$(SDK_INCLUDE_DIR)/linux); \
-Index: libcpp/po/ChangeLog
+--- gcc/cp/decl.c (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/cp/decl.c (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -4219,7 +4219,8 @@
+ if (declspecs->attributes)
+ {
+ location_t loc = input_location;
+- if (!CLASSTYPE_TEMPLATE_INSTANTIATION (declared_type))
++ if (!CLASS_TYPE_P (declared_type)
++ || !CLASSTYPE_TEMPLATE_INSTANTIATION (declared_type))
+ /* For a non-template class, use the name location; for a template
+ class (an explicit instantiation), use the current location. */
+ input_location = location_of (declared_type);
+Index: gcc/cp/method.c
+===================================================================
+--- gcc/cp/method.c (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/cp/method.c (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1590,6 +1590,7 @@
+ DECL_DELETED_FN (fn) = deleted_p;
+ DECL_DECLARED_CONSTEXPR_P (fn) = constexpr_p;
+ }
++ DECL_EXTERNAL (fn) = true;
+ DECL_NOT_REALLY_EXTERN (fn) = 1;
+ DECL_DECLARED_INLINE_P (fn) = 1;
+ gcc_assert (!TREE_USED (fn));
+Index: gcc/cp/ChangeLog
===================================================================
---- libcpp/po/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libcpp/po/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,3 +1,7 @@
-+2009-04-22 Joseph Myers <joseph@codesourcery.com>
+--- gcc/cp/ChangeLog (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/cp/ChangeLog (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1,3 +1,30 @@
++2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
++
++ PR c++/52487
++ * class.c (check_field_decls): Call literal_type_p only
++ on complete types.
++
++2012-03-22 Jakub Jelinek <jakub@redhat.com>
++
++ PR c++/52671
++ * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
++ on CLASS_TYPE_P types.
++
++2012-03-22 Jason Merrill <jason@redhat.com>
++
++ PR c++/52582
++ * method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
++
++2012-03-22 Jakub Jelinek <jakub@redhat.com>
+
-+ * cpplib.pot: Regenerate.
++ Backported from mainline
++ 2012-03-14 Jakub Jelinek <jakub@redhat.com>
+
- 2009-04-21 Release Manager
++ PR c++/52521
++ * parser.c (lookup_literal_operator): Return fn only if
++ processed all arguments from args vector and argtypes is
++ void_list_node.
++
+ 2012-03-22 Release Manager
- * GCC 4.4.0 released.
-Index: libcpp/po/cpplib.pot
+ * GCC 4.7.0 released.
+Index: gcc/cp/parser.c
===================================================================
---- libcpp/po/cpplib.pot (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ libcpp/po/cpplib.pot (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -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 ""
+--- gcc/cp/parser.c (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/cp/parser.c (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1,6 +1,6 @@
+ /* C++ Parser.
+ Copyright (C) 2000, 2001, 2002, 2003, 2004,
+- 2005, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
++ 2005, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+ Written by Mark Mitchell <mark@codesourcery.com>.
+
+ This file is part of GCC.
+@@ -3581,7 +3581,13 @@
+ TREE_TYPE (tparm))))
+ found = false;
+ }
+- if (found)
++ if (found
++ && ix == VEC_length (tree, args)
++ /* May be this should be sufficient_parms_p instead,
++ depending on how exactly should user-defined literals
++ work in presence of default arguments on the literal
++ operator parameters. */
++ && argtypes == void_list_node)
+ return fn;
+ }
+ }
+Index: gcc/fortran/ChangeLog
+===================================================================
+--- gcc/fortran/ChangeLog (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/fortran/ChangeLog (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1,3 +1,9 @@
++2012-03-22 Tobias Burnus <burnus@net-b.de>
++
++ PR fortran/52452
++ * resolve.c (resolve_intrinsic): Don't search for a
++ function if we know that it is a subroutine.
++
+ 2012-03-22 Release Manager
--#: expr.c:1115
-+#: expr.c:1114
- msgid "missing ')' in expression"
- msgstr ""
+ * GCC 4.7.0 released.
+Index: gcc/fortran/resolve.c
+===================================================================
+--- gcc/fortran/resolve.c (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/fortran/resolve.c (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1496,7 +1496,7 @@
--#: expr.c:1144
-+#: expr.c:1143
- msgid "'?' without following ':'"
- msgstr ""
+ if (sym->intmod_sym_id)
+ isym = gfc_intrinsic_function_by_id ((gfc_isym_id) sym->intmod_sym_id);
+- else
++ else if (!sym->attr.subroutine)
+ isym = gfc_find_function (sym->name);
--#: expr.c:1154
-+#: expr.c:1153
- msgid "integer overflow in preprocessor expression"
- msgstr ""
+ if (isym)
+Index: gcc/BASE-VER
+===================================================================
+--- gcc/BASE-VER (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/BASE-VER (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1 +1 @@
+-4.7.0
++4.7.1
+Index: gcc/tree-nested.c
+===================================================================
+--- gcc/tree-nested.c (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/tree-nested.c (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1954,6 +1954,7 @@
+ convert_tramp_reference_stmt (gimple_stmt_iterator *gsi, bool *handled_ops_p,
+ struct walk_stmt_info *wi)
+ {
++ struct nesting_info *info = (struct nesting_info *) wi->info;
+ gimple stmt = gsi_stmt (*gsi);
+
+ switch (gimple_code (stmt))
+@@ -1966,16 +1967,33 @@
+ for (i = 0; i < nargs; i++)
+ walk_tree (gimple_call_arg_ptr (stmt, i), convert_tramp_reference_op,
+ wi, NULL);
++ break;
++ }
--#: expr.c:1159
-+#: expr.c:1158
- msgid "missing '(' in expression"
- msgstr ""
+- *handled_ops_p = true;
+- return NULL_TREE;
++ case GIMPLE_OMP_PARALLEL:
++ case GIMPLE_OMP_TASK:
++ {
++ tree save_local_var_chain;
++ walk_gimple_op (stmt, convert_tramp_reference_op, wi);
++ save_local_var_chain = info->new_local_var_chain;
++ info->new_local_var_chain = NULL;
++ walk_body (convert_tramp_reference_stmt, convert_tramp_reference_op,
++ info, gimple_omp_body (stmt));
++ if (info->new_local_var_chain)
++ declare_vars (info->new_local_var_chain,
++ gimple_seq_first_stmt (gimple_omp_body (stmt)),
++ false);
++ info->new_local_var_chain = save_local_var_chain;
+ }
++ break;
--#: expr.c:1191
-+#: expr.c:1190
- #, c-format
- msgid "the left operand of \"%s\" changes sign when promoted"
- msgstr ""
+ default:
++ *handled_ops_p = false;
++ return NULL_TREE;
+ break;
+ }
--#: expr.c:1196
-+#: expr.c:1195
- #, c-format
- msgid "the right operand of \"%s\" changes sign when promoted"
- msgstr ""
+- *handled_ops_p = false;
++ *handled_ops_p = true;
+ return NULL_TREE;
+ }
--#: expr.c:1455
-+#: expr.c:1454
- msgid "traditional C rejects the unary plus operator"
- msgstr ""
+Index: gcc/output.h
+===================================================================
+--- gcc/output.h (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/output.h (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -446,8 +446,8 @@
+ #define SECTION_STYLE_MASK 0x600000 /* bits used for SECTION_STYLE */
+ #define SECTION_COMMON 0x800000 /* contains common data */
+ #define SECTION_RELRO 0x1000000 /* data is readonly after relocation processing */
+-#define SECTION_MACH_DEP 0x2000000 /* subsequent bits reserved for target */
+-#define SECTION_EXCLUDE 0x4000000 /* discarded by the linker */
++#define SECTION_EXCLUDE 0x2000000 /* discarded by the linker */
++#define SECTION_MACH_DEP 0x4000000 /* subsequent bits reserved for target */
--#: expr.c:1538
-+#: expr.c:1537
- msgid "comma operator in operand of #if"
- msgstr ""
+ /* This SECTION_STYLE is used for unnamed sections that we can switch
+ to using a special assembler directive. */
+Index: gcc/c-parser.c
+===================================================================
+--- gcc/c-parser.c (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/c-parser.c (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1,7 +1,7 @@
+ /* Parser for C and Objective-C.
+ Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
+- Free Software Foundation, Inc.
++ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011,
++ 2012 Free Software Foundation, Inc.
+
+ Parser actions based on the old Bison parser; structure somewhat
+ influenced by and fragments based on the C++ parser.
+@@ -6647,6 +6647,8 @@
+ case RID_BUILTIN_SHUFFLE:
+ {
+ VEC(c_expr_t,gc) *cexpr_list;
++ unsigned int i;
++ c_expr_t *p;
--#: expr.c:1670
-+#: expr.c:1669
- msgid "division by zero in #if"
- msgstr ""
+ c_parser_consume_token (parser);
+ if (!c_parser_get_builtin_args (parser,
+@@ -6657,6 +6659,9 @@
+ break;
+ }
-@@ -660,116 +660,116 @@
- msgid "Multiple include guards may be useful for:\n"
- msgstr ""
++ FOR_EACH_VEC_ELT (c_expr_t, cexpr_list, i, p)
++ mark_exp_read (p->value);
++
+ if (VEC_length (c_expr_t, cexpr_list) == 2)
+ expr.value =
+ c_build_vec_perm_expr
+Index: gcc/config/i386/nmmintrin.h
+===================================================================
+--- gcc/config/i386/nmmintrin.h (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/config/i386/nmmintrin.h (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2007, 2009 Free Software Foundation, Inc.
++/* Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc.
--#: init.c:451
-+#: init.c:452
- msgid "cppchar_t must be an unsigned type"
- msgstr ""
+ This file is part of GCC.
--#: init.c:455
-+#: init.c:456
- #, c-format
- msgid ""
- "preprocessor arithmetic has maximum precision of %lu bits; target requires %"
- "lu bits"
- msgstr ""
+@@ -19,7 +19,7 @@
+ You should have received a copy of the GNU General Public License and
+ a copy of the GCC Runtime Library Exception along with this program;
+ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+- <http://www.gnu.org/licenses/>.
++ <http://www.gnu.org/licenses/>. */
--#: init.c:462
-+#: init.c:463
- msgid "CPP arithmetic must be at least as precise as a target int"
- msgstr ""
+ /* Implemented from the specification included in the Intel C++ Compiler
+ User Guide and Reference, version 10.0. */
+Index: gcc/config/i386/smmintrin.h
+===================================================================
+--- gcc/config/i386/smmintrin.h (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/config/i386/smmintrin.h (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
++/* Copyright (C) 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
--#: init.c:465
-+#: init.c:466
- msgid "target char is less than 8 bits wide"
- msgstr ""
+ This file is part of GCC.
--#: init.c:469
-+#: init.c:470
- msgid "target wchar_t is narrower than target char"
- msgstr ""
+@@ -19,9 +19,8 @@
+ You should have received a copy of the GNU General Public License and
+ a copy of the GCC Runtime Library Exception along with this program;
+ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+- <http://www.gnu.org/licenses/>.
++ <http://www.gnu.org/licenses/>. */
--#: init.c:473
-+#: init.c:474
- msgid "target int is narrower than target char"
- msgstr ""
+-
+ /* Implemented from the specification included in the Intel C++ Compiler
+ User Guide and Reference, version 10.0. */
--#: init.c:478
-+#: init.c:479
- msgid "CPP half-integer narrower than CPP character"
- msgstr ""
+Index: gcc/config/sh/sh.c
+===================================================================
+--- gcc/config/sh/sh.c (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/config/sh/sh.c (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1,6 +1,6 @@
+ /* Output routines for GCC for Renesas / SuperH SH.
+ Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+- 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
++ 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+ Free Software Foundation, Inc.
+ Contributed by Steve Chamberlain (sac@cygnus.com).
+ Improved by Jim Wilson (wilson@cygnus.com).
+@@ -11497,9 +11497,16 @@
+ && REGCLASS_HAS_GENERAL_REG (srcclass))
+ || (REGCLASS_HAS_GENERAL_REG (dstclass)
+ && REGCLASS_HAS_FP_REG (srcclass)))
+- return ((TARGET_SHMEDIA ? 4 : TARGET_FMOVD ? 8 : 12)
+- * ((GET_MODE_SIZE (mode) + 7) / 8U));
++ {
++ /* Discourage trying to use fp regs for a pointer. This also
++ discourages fp regs with SImode because Pmode is an alias
++ of SImode on this target. See PR target/48596. */
++ int addend = (mode == Pmode) ? 40 : 0;
+
++ return (((TARGET_SHMEDIA ? 4 : TARGET_FMOVD ? 8 : 12) + addend)
++ * ((GET_MODE_SIZE (mode) + 7) / 8U));
++ }
++
+ if ((dstclass == FPUL_REGS
+ && REGCLASS_HAS_GENERAL_REG (srcclass))
+ || (srcclass == FPUL_REGS
+Index: gcc/config/avr/avr.md
+===================================================================
+--- gcc/config/avr/avr.md (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/config/avr/avr.md (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -63,6 +63,7 @@
+ [UNSPEC_STRLEN
+ UNSPEC_MOVMEM
+ UNSPEC_INDEX_JMP
++ UNSPEC_LPM
+ UNSPEC_FMUL
+ UNSPEC_FMULS
+ UNSPEC_FMULSU
+@@ -77,6 +78,7 @@
+ UNSPECV_WRITE_SP
+ UNSPECV_GOTO_RECEIVER
+ UNSPECV_ENABLE_IRQS
++ UNSPECV_MEMORY_BARRIER
+ UNSPECV_NOP
+ UNSPECV_SLEEP
+ UNSPECV_WDR
+@@ -139,7 +141,7 @@
+ "out_bitop, out_plus, out_plus_noclobber, plus64, addto_sp,
+ tsthi, tstpsi, tstsi, compare, compare64, call,
+ mov8, mov16, mov24, mov32, reload_in16, reload_in24, reload_in32,
+- xload, movmem,
++ xload, movmem, load_lpm,
+ ashlqi, ashrqi, lshrqi,
+ ashlhi, ashrhi, lshrhi,
+ ashlsi, ashrsi, lshrsi,
+@@ -363,36 +365,63 @@
+ ;;========================================================================
+ ;; Move stuff around
+
+-(define_expand "load<mode>_libgcc"
+- [(set (match_dup 3)
+- (match_dup 2))
+- (set (reg:MOVMODE 22)
+- (match_operand:MOVMODE 1 "memory_operand" ""))
+- (set (match_operand:MOVMODE 0 "register_operand" "")
+- (reg:MOVMODE 22))]
+- "avr_load_libgcc_p (operands[1])"
+- {
+- operands[3] = gen_rtx_REG (HImode, REG_Z);
+- operands[2] = force_operand (XEXP (operands[1], 0), NULL_RTX);
+- operands[1] = replace_equiv_address (operands[1], operands[3]);
+- set_mem_addr_space (operands[1], ADDR_SPACE_FLASH);
+- })
+-
++;; Represent a load from __flash that needs libgcc support as UNSPEC.
++;; This is legal because we read from non-changing memory.
++;; For rationale see the FIXME below.
++
++;; "load_psi_libgcc"
++;; "load_si_libgcc"
++;; "load_sf_libgcc"
+ (define_insn "load_<mode>_libgcc"
+ [(set (reg:MOVMODE 22)
+- (match_operand:MOVMODE 0 "memory_operand" "m,m"))]
+- "avr_load_libgcc_p (operands[0])
+- && REG_P (XEXP (operands[0], 0))
+- && REG_Z == REGNO (XEXP (operands[0], 0))"
++ (unspec:MOVMODE [(reg:HI REG_Z)]
++ UNSPEC_LPM))]
++ ""
+ {
+- operands[0] = GEN_INT (GET_MODE_SIZE (<MODE>mode));
+- return "%~call __load_%0";
++ rtx n_bytes = GEN_INT (GET_MODE_SIZE (<MODE>mode));
++ output_asm_insn ("%~call __load_%0", &n_bytes);
++ return "";
+ }
+- [(set_attr "length" "1,2")
+- (set_attr "isa" "rjmp,jmp")
++ [(set_attr "type" "xcall")
+ (set_attr "cc" "clobber")])
+
+
++;; Similar for inline reads from flash. We use UNSPEC instead
++;; of MEM for the same reason as above: PR52543.
++;; $1 contains the memory segment.
++
++(define_insn "load_<mode>"
++ [(set (match_operand:MOVMODE 0 "register_operand" "=r")
++ (unspec:MOVMODE [(reg:HI REG_Z)
++ (match_operand:QI 1 "reg_or_0_operand" "rL")]
++ UNSPEC_LPM))]
++ "(CONST_INT_P (operands[1]) && AVR_HAVE_LPMX)
++ || (REG_P (operands[1]) && AVR_HAVE_ELPMX)"
++ {
++ return avr_load_lpm (insn, operands, NULL);
++ }
++ [(set_attr "adjust_len" "load_lpm")
++ (set_attr "cc" "clobber")])
++
++
++;; Similar to above for the complementary situation when there is no [E]LPMx.
++;; Clobber Z in that case.
++
++(define_insn "load_<mode>_clobber"
++ [(set (match_operand:MOVMODE 0 "register_operand" "=r")
++ (unspec:MOVMODE [(reg:HI REG_Z)
++ (match_operand:QI 1 "reg_or_0_operand" "rL")]
++ UNSPEC_LPM))
++ (clobber (reg:HI REG_Z))]
++ "!((CONST_INT_P (operands[1]) && AVR_HAVE_LPMX)
++ || (REG_P (operands[1]) && AVR_HAVE_ELPMX))"
++ {
++ return avr_load_lpm (insn, operands, NULL);
++ }
++ [(set_attr "adjust_len" "load_lpm")
++ (set_attr "cc" "clobber")])
++
++
+ (define_insn_and_split "xload8_A"
+ [(set (match_operand:QI 0 "register_operand" "=r")
+ (match_operand:QI 1 "memory_operand" "m"))
+@@ -418,9 +447,15 @@
+ DONE;
+ })
+
++;; "xloadqi_A"
++;; "xloadhi_A"
++;; "xloadpsi_A"
++;; "xloadsi_A"
++;; "xloadsf_A"
+ (define_insn_and_split "xload<mode>_A"
+ [(set (match_operand:MOVMODE 0 "register_operand" "=r")
+ (match_operand:MOVMODE 1 "memory_operand" "m"))
++ (clobber (reg:MOVMODE 22))
+ (clobber (reg:QI 21))
+ (clobber (reg:HI REG_Z))]
+ "can_create_pseudo_p()
+@@ -461,7 +496,7 @@
+ {
+ return avr_out_xload (insn, operands, NULL);
+ }
+- [(set_attr "length" "3,4")
++ [(set_attr "length" "4,4")
+ (set_attr "adjust_len" "*,xload")
+ (set_attr "isa" "lpmx,lpm")
+ (set_attr "cc" "none")])
+@@ -532,12 +567,55 @@
+ DONE;
+ }
--#: 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 ""
++ /* For old devices without LPMx, prefer __flash loads per libcall. */
++
+ if (avr_load_libgcc_p (src))
+ {
+- /* For the small devices, do loads per libgcc call. */
+- emit_insn (gen_load<mode>_libgcc (dest, src));
++ emit_move_insn (gen_rtx_REG (Pmode, REG_Z),
++ force_reg (Pmode, XEXP (src, 0)));
++
++ emit_insn (gen_load_<mode>_libgcc ());
++ emit_move_insn (dest, gen_rtx_REG (<MODE>mode, 22));
+ DONE;
+ }
++
++ /* ; FIXME: Hack around PR rtl-optimization/52543.
++ ; lower-subreg.c splits loads from the 16-bit address spaces which
++ ; causes code bloat because each load need his setting of RAMPZ.
++ ; Moreover, the split will happen in such a way that the loads don't
++ ; take advantage of POST_INC addressing. Thus, we use UNSPEC to
++ ; represent these loads instead. Notice that this is legitimate
++ ; because the memory content does not change: Loads from the same
++ ; address will yield the same value.
++ ; POST_INC addressing would make the addresses mode_dependent and could
++ ; work around that PR, too. However, notice that it is *not* legitimate
++ ; to expand to POST_INC at expand time: The following passes assert
++ ; that pre-/post-modify addressing is introduced by .auto_inc_dec and
++ ; does not exist before that pass. */
++
++ if (avr_mem_flash_p (src)
++ && (GET_MODE_SIZE (<MODE>mode) > 1
++ || MEM_ADDR_SPACE (src) != ADDR_SPACE_FLASH))
++ {
++ rtx xsegment = GEN_INT (avr_addrspace[MEM_ADDR_SPACE (src)].segment);
++ if (!AVR_HAVE_ELPM)
++ xsegment = const0_rtx;
++ if (xsegment != const0_rtx)
++ xsegment = force_reg (QImode, xsegment);
++
++ emit_move_insn (gen_rtx_REG (Pmode, REG_Z),
++ force_reg (Pmode, XEXP (src, 0)));
++
++ if ((CONST_INT_P (xsegment) && AVR_HAVE_LPMX)
++ || (REG_P (xsegment) && AVR_HAVE_ELPMX))
++ emit_insn (gen_load_<mode> (dest, xsegment));
++ else
++ emit_insn (gen_load_<mode>_clobber (dest, xsegment));
++ DONE;
++ }
++
++ /* ; The only address-space for which we use plain MEM and reload
++ ; machinery are 1-byte loads from __flash. */
+ })
+
+ ;;========================================================================
+@@ -677,40 +755,6 @@
+ operands[5] = gen_rtx_REG (HImode, REGNO (operands[3]));
+ })
+
+-;; For LPM loads from AS1 we split
+-;; R = *Z
+-;; to
+-;; R = *Z++
+-;; Z = Z - sizeof (R)
+-;;
+-;; so that the second instruction can be optimized out.
+-
+-(define_split ; "split-lpmx"
+- [(set (match_operand:HISI 0 "register_operand" "")
+- (match_operand:HISI 1 "memory_operand" ""))]
+- "reload_completed
+- && AVR_HAVE_LPMX"
+- [(set (match_dup 0)
+- (match_dup 2))
+- (set (match_dup 3)
+- (plus:HI (match_dup 3)
+- (match_dup 4)))]
+- {
+- rtx addr = XEXP (operands[1], 0);
+-
+- if (!avr_mem_flash_p (operands[1])
+- || !REG_P (addr)
+- || reg_overlap_mentioned_p (addr, operands[0]))
+- {
+- FAIL;
+- }
+-
+- operands[2] = replace_equiv_address (operands[1],
+- gen_rtx_POST_INC (Pmode, addr));
+- operands[3] = addr;
+- operands[4] = gen_int_mode (-GET_MODE_SIZE (<MODE>mode), HImode);
+- })
+-
+ ;;==========================================================================
+ ;; xpointer move (24 bit)
+
+@@ -1081,15 +1125,16 @@
+ (set_attr "adjust_len" "addto_sp")])
+
+ (define_insn "*addhi3"
+- [(set (match_operand:HI 0 "register_operand" "=r,d,d")
+- (plus:HI (match_operand:HI 1 "register_operand" "%0,0,0")
+- (match_operand:HI 2 "nonmemory_operand" "r,s,n")))]
++ [(set (match_operand:HI 0 "register_operand" "=r,d,!w,d")
++ (plus:HI (match_operand:HI 1 "register_operand" "%0,0,0 ,0")
++ (match_operand:HI 2 "nonmemory_operand" "r,s,IJ,n")))]
+ ""
+ {
+ static const char * const asm_code[] =
+ {
+ "add %A0,%A2\;adc %B0,%B2",
+ "subi %A0,lo8(-(%2))\;sbci %B0,hi8(-(%2))",
++ "",
+ ""
+ };
--#: lex.c:284
-+#: lex.c:285
- msgid "backslash and newline separated by space"
- msgstr ""
+@@ -1098,9 +1143,9 @@
--#: lex.c:289
-+#: lex.c:290
- msgid "backslash-newline at end of file"
- msgstr ""
+ return avr_out_plus_noclobber (operands, NULL, NULL);
+ }
+- [(set_attr "length" "2,2,2")
+- (set_attr "adjust_len" "*,*,out_plus_noclobber")
+- (set_attr "cc" "set_n,set_czn,out_plus_noclobber")])
++ [(set_attr "length" "2,2,2,2")
++ (set_attr "adjust_len" "*,*,out_plus_noclobber,out_plus_noclobber")
++ (set_attr "cc" "set_n,set_czn,out_plus_noclobber,out_plus_noclobber")])
+
+ ;; Adding a constant to NO_LD_REGS might have lead to a reload of
+ ;; that constant to LD_REGS. We don't add a scratch to *addhi3
+@@ -1138,10 +1183,10 @@
+ (clobber (match_dup 2))])])
+
+ (define_insn "addhi3_clobber"
+- [(set (match_operand:HI 0 "register_operand" "=d,l")
+- (plus:HI (match_operand:HI 1 "register_operand" "%0,0")
+- (match_operand:HI 2 "const_int_operand" "n,n")))
+- (clobber (match_scratch:QI 3 "=X,&d"))]
++ [(set (match_operand:HI 0 "register_operand" "=!w,d,r")
++ (plus:HI (match_operand:HI 1 "register_operand" "%0,0,0")
++ (match_operand:HI 2 "const_int_operand" "IJ,n,n")))
++ (clobber (match_scratch:QI 3 "=X,X,&d"))]
+ ""
+ {
+ gcc_assert (REGNO (operands[0]) == REGNO (operands[1]));
+@@ -1692,6 +1737,29 @@
+
+ ;; Handle small constants
+
++;; Special case of a += 2*b as frequently seen with accesses to int arrays.
++;; This is shorter, faster than MUL and has lower register pressure.
++
++(define_insn_and_split "*umaddqihi4.2"
++ [(set (match_operand:HI 0 "register_operand" "=r")
++ (plus:HI (mult:HI (zero_extend:HI (match_operand:QI 1 "register_operand" "r"))
++ (const_int 2))
++ (match_operand:HI 2 "register_operand" "r")))]
++ "!reload_completed
++ && !reg_overlap_mentioned_p (operands[0], operands[1])"
++ { gcc_unreachable(); }
++ "&& 1"
++ [(set (match_dup 0)
++ (match_dup 2))
++ ; *addhi3_zero_extend
++ (set (match_dup 0)
++ (plus:HI (zero_extend:HI (match_dup 1))
++ (match_dup 0)))
++ ; *addhi3_zero_extend
++ (set (match_dup 0)
++ (plus:HI (zero_extend:HI (match_dup 1))
++ (match_dup 0)))])
++
+ ;; "umaddqihi4.uconst"
+ ;; "maddqihi4.sconst"
+ (define_insn_and_split "*<extend_u>maddqihi4.<extend_su>const"
+@@ -5198,18 +5266,36 @@
+ (set_attr "length" "1")])
+
+ ;; Enable Interrupts
+-(define_insn "enable_interrupt"
+- [(unspec_volatile [(const_int 1)] UNSPECV_ENABLE_IRQS)]
++(define_expand "enable_interrupt"
++ [(clobber (const_int 0))]
+ ""
+- "sei"
+- [(set_attr "length" "1")
+- (set_attr "cc" "none")])
++ {
++ rtx mem = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode));
++ MEM_VOLATILE_P (mem) = 1;
++ emit_insn (gen_cli_sei (const1_rtx, mem));
++ DONE;
++ })
+
+ ;; Disable Interrupts
+-(define_insn "disable_interrupt"
+- [(unspec_volatile [(const_int 0)] UNSPECV_ENABLE_IRQS)]
++(define_expand "disable_interrupt"
++ [(clobber (const_int 0))]
+ ""
+- "cli"
++ {
++ rtx mem = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode));
++ MEM_VOLATILE_P (mem) = 1;
++ emit_insn (gen_cli_sei (const0_rtx, mem));
++ DONE;
++ })
++
++(define_insn "cli_sei"
++ [(unspec_volatile [(match_operand:QI 0 "const_int_operand" "L,P")]
++ UNSPECV_ENABLE_IRQS)
++ (set (match_operand:BLK 1 "" "")
++ (unspec_volatile:BLK [(match_dup 1)] UNSPECV_MEMORY_BARRIER))]
++ ""
++ "@
++ cli
++ sei"
+ [(set_attr "length" "1")
+ (set_attr "cc" "none")])
+
+@@ -5316,10 +5402,12 @@
+ [(unspec_volatile [(match_operand:QI 0 "const_int_operand" "n")
+ (const_int 1)]
+ UNSPECV_DELAY_CYCLES)
+- (clobber (match_scratch:QI 1 "=&d"))]
++ (set (match_operand:BLK 1 "" "")
++ (unspec_volatile:BLK [(match_dup 1)] UNSPECV_MEMORY_BARRIER))
++ (clobber (match_scratch:QI 2 "=&d"))]
+ ""
+- "ldi %1,lo8(%0)
+- 1: dec %1
++ "ldi %2,lo8(%0)
++ 1: dec %2
+ brne 1b"
+ [(set_attr "length" "3")
+ (set_attr "cc" "clobber")])
+@@ -5328,11 +5416,13 @@
+ [(unspec_volatile [(match_operand:HI 0 "const_int_operand" "n")
+ (const_int 2)]
+ UNSPECV_DELAY_CYCLES)
+- (clobber (match_scratch:HI 1 "=&w"))]
++ (set (match_operand:BLK 1 "" "")
++ (unspec_volatile:BLK [(match_dup 1)] UNSPECV_MEMORY_BARRIER))
++ (clobber (match_scratch:HI 2 "=&w"))]
+ ""
+- "ldi %A1,lo8(%0)
+- ldi %B1,hi8(%0)
+- 1: sbiw %A1,1
++ "ldi %A2,lo8(%0)
++ ldi %B2,hi8(%0)
++ 1: sbiw %A2,1
+ brne 1b"
+ [(set_attr "length" "4")
+ (set_attr "cc" "clobber")])
+@@ -5341,16 +5431,18 @@
+ [(unspec_volatile [(match_operand:SI 0 "const_int_operand" "n")
+ (const_int 3)]
+ UNSPECV_DELAY_CYCLES)
+- (clobber (match_scratch:QI 1 "=&d"))
++ (set (match_operand:BLK 1 "" "")
++ (unspec_volatile:BLK [(match_dup 1)] UNSPECV_MEMORY_BARRIER))
+ (clobber (match_scratch:QI 2 "=&d"))
+- (clobber (match_scratch:QI 3 "=&d"))]
++ (clobber (match_scratch:QI 3 "=&d"))
++ (clobber (match_scratch:QI 4 "=&d"))]
+ ""
+- "ldi %1,lo8(%0)
+- ldi %2,hi8(%0)
+- ldi %3,hlo8(%0)
+- 1: subi %1,1
+- sbci %2,0
++ "ldi %2,lo8(%0)
++ ldi %3,hi8(%0)
++ ldi %4,hlo8(%0)
++ 1: subi %2,1
+ sbci %3,0
++ sbci %4,0
+ brne 1b"
+ [(set_attr "length" "7")
+ (set_attr "cc" "clobber")])
+@@ -5359,19 +5451,21 @@
+ [(unspec_volatile [(match_operand:SI 0 "const_int_operand" "n")
+ (const_int 4)]
+ UNSPECV_DELAY_CYCLES)
+- (clobber (match_scratch:QI 1 "=&d"))
++ (set (match_operand:BLK 1 "" "")
++ (unspec_volatile:BLK [(match_dup 1)] UNSPECV_MEMORY_BARRIER))
+ (clobber (match_scratch:QI 2 "=&d"))
+ (clobber (match_scratch:QI 3 "=&d"))
+- (clobber (match_scratch:QI 4 "=&d"))]
++ (clobber (match_scratch:QI 4 "=&d"))
++ (clobber (match_scratch:QI 5 "=&d"))]
+ ""
+- "ldi %1,lo8(%0)
+- ldi %2,hi8(%0)
+- ldi %3,hlo8(%0)
+- ldi %4,hhi8(%0)
+- 1: subi %1,1
+- sbci %2,0
++ "ldi %2,lo8(%0)
++ ldi %3,hi8(%0)
++ ldi %4,hlo8(%0)
++ ldi %5,hhi8(%0)
++ 1: subi %2,1
+ sbci %3,0
+ sbci %4,0
++ sbci %5,0
+ brne 1b"
+ [(set_attr "length" "9")
+ (set_attr "cc" "clobber")])
+@@ -5757,9 +5851,23 @@
+ ;; CPU instructions
+
+ ;; NOP taking 1 or 2 Ticks
+-(define_insn "nopv"
++(define_expand "nopv"
++ [(parallel [(unspec_volatile [(match_operand:SI 0 "const_int_operand" "")]
++ UNSPECV_NOP)
++ (set (match_dup 1)
++ (unspec_volatile:BLK [(match_dup 1)]
++ UNSPECV_MEMORY_BARRIER))])]
++ ""
++ {
++ operands[1] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode));
++ MEM_VOLATILE_P (operands[1]) = 1;
++ })
++
++(define_insn "*nopv"
+ [(unspec_volatile [(match_operand:SI 0 "const_int_operand" "P,K")]
+- UNSPECV_NOP)]
++ UNSPECV_NOP)
++ (set (match_operand:BLK 1 "" "")
++ (unspec_volatile:BLK [(match_dup 1)] UNSPECV_MEMORY_BARRIER))]
+ ""
+ "@
+ nop
+@@ -5768,17 +5876,43 @@
+ (set_attr "cc" "none")])
+
+ ;; SLEEP
+-(define_insn "sleep"
+- [(unspec_volatile [(const_int 0)] UNSPECV_SLEEP)]
++(define_expand "sleep"
++ [(parallel [(unspec_volatile [(const_int 0)] UNSPECV_SLEEP)
++ (set (match_dup 0)
++ (unspec_volatile:BLK [(match_dup 0)]
++ UNSPECV_MEMORY_BARRIER))])]
+ ""
++ {
++ operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode));
++ MEM_VOLATILE_P (operands[0]) = 1;
++ })
++
++(define_insn "*sleep"
++ [(unspec_volatile [(const_int 0)] UNSPECV_SLEEP)
++ (set (match_operand:BLK 0 "" "")
++ (unspec_volatile:BLK [(match_dup 0)] UNSPECV_MEMORY_BARRIER))]
++ ""
+ "sleep"
+ [(set_attr "length" "1")
+ (set_attr "cc" "none")])
+
+ ;; WDR
+-(define_insn "wdr"
+- [(unspec_volatile [(const_int 0)] UNSPECV_WDR)]
++(define_expand "wdr"
++ [(parallel [(unspec_volatile [(const_int 0)] UNSPECV_WDR)
++ (set (match_dup 0)
++ (unspec_volatile:BLK [(match_dup 0)]
++ UNSPECV_MEMORY_BARRIER))])]
+ ""
++ {
++ operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode));
++ MEM_VOLATILE_P (operands[0]) = 1;
++ })
++
++(define_insn "*wdr"
++ [(unspec_volatile [(const_int 0)] UNSPECV_WDR)
++ (set (match_operand:BLK 0 "" "")
++ (unspec_volatile:BLK [(match_dup 0)] UNSPECV_MEMORY_BARRIER))]
++ ""
+ "wdr"
+ [(set_attr "length" "1")
+ (set_attr "cc" "none")])
+Index: gcc/config/avr/avr-protos.h
+===================================================================
+--- gcc/config/avr/avr-protos.h (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/config/avr/avr-protos.h (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -75,6 +75,8 @@
+ extern const char *avr_out_ashrpsi3 (rtx, rtx*, int*);
+ extern const char *avr_out_lshrpsi3 (rtx, rtx*, int*);
+
++extern const char* avr_load_lpm (rtx, rtx*, int*);
++
+ extern bool avr_rotate_bytes (rtx operands[]);
+
+ extern void expand_prologue (void);
+@@ -115,7 +117,7 @@
+ extern RTX_CODE avr_normalize_condition (RTX_CODE condition);
+ extern void out_shift_with_cnt (const char *templ, rtx insn,
+ rtx operands[], int *len, int t_len);
+-extern reg_class_t avr_mode_code_base_reg_class (enum machine_mode, addr_space_t, RTX_CODE, RTX_CODE);
++extern enum reg_class avr_mode_code_base_reg_class (enum machine_mode, addr_space_t, RTX_CODE, RTX_CODE);
+ extern bool avr_regno_mode_code_ok_for_base_p (int, enum machine_mode, addr_space_t, RTX_CODE, RTX_CODE);
+ extern rtx avr_incoming_return_addr_rtx (void);
+ extern rtx avr_legitimize_reload_address (rtx*, enum machine_mode, int, int, int, int, rtx (*)(rtx,int));
+Index: gcc/config/avr/avr.c
+===================================================================
+--- gcc/config/avr/avr.c (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/config/avr/avr.c (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -827,7 +827,11 @@
+ bool isr_p = cfun->machine->is_interrupt || cfun->machine->is_signal;
+ int live_seq = sequent_regs_live ();
+
++ HOST_WIDE_INT size_max
++ = (HOST_WIDE_INT) GET_MODE_MASK (AVR_HAVE_8BIT_SP ? QImode : Pmode);
++
+ bool minimize = (TARGET_CALL_PROLOGUES
++ && size < size_max
+ && live_seq
+ && !isr_p
+ && !cfun->machine->is_OS_task
+@@ -933,6 +937,7 @@
+ leaf function and thus X has already been saved. */
+
+ int irq_state = -1;
++ HOST_WIDE_INT size_cfa = size;
+ rtx fp_plus_insns, fp, my_fp;
+
+ gcc_assert (frame_pointer_needed
+@@ -951,6 +956,27 @@
+ my_fp = all_regs_rtx[FRAME_POINTER_REGNUM];
+ }
--#: lex.c:304
-+#: lex.c:305
- #, c-format
- msgid "trigraph ??%c converted to %c"
- msgstr ""
++ /* Cut down size and avoid size = 0 so that we don't run
++ into ICE like PR52488 in the remainder. */
++
++ if (size > size_max)
++ {
++ /* Don't error so that insane code from newlib still compiles
++ and does not break building newlib. As PR51345 is implemented
++ now, there are multilib variants with -mtiny-stack.
++
++ If user wants sanity checks he can use -Wstack-usage=
++ or similar options.
++
++ For CFA we emit the original, non-saturated size so that
++ the generic machinery is aware of the real stack usage and
++ will print the above diagnostic as expected. */
++
++ size = size_max;
++ }
++
++ size = trunc_int_for_mode (size, GET_MODE (my_fp));
++
+ /************ Method 1: Adjust frame pointer ************/
+
+ start_sequence ();
+@@ -975,7 +1001,7 @@
+ RTX_FRAME_RELATED_P (insn) = 1;
+ add_reg_note (insn, REG_CFA_ADJUST_CFA,
+ gen_rtx_SET (VOIDmode, fp,
+- plus_constant (fp, -size)));
++ plus_constant (fp, -size_cfa)));
+ }
+
+ /* Copy to stack pointer. Note that since we've already
+@@ -1003,7 +1029,7 @@
+ add_reg_note (insn, REG_CFA_ADJUST_CFA,
+ gen_rtx_SET (VOIDmode, stack_pointer_rtx,
+ plus_constant (stack_pointer_rtx,
+- -size)));
++ -size_cfa)));
+ }
+
+ fp_plus_insns = get_insns ();
+@@ -1026,7 +1052,7 @@
+ add_reg_note (insn, REG_CFA_ADJUST_CFA,
+ gen_rtx_SET (VOIDmode, stack_pointer_rtx,
+ plus_constant (stack_pointer_rtx,
+- -size)));
++ -size_cfa)));
+ if (frame_pointer_needed)
+ {
+ insn = emit_move_insn (fp, stack_pointer_rtx);
+@@ -1048,7 +1074,7 @@
+ emit_insn (fp_plus_insns);
+ }
--#: lex.c:311
-+#: lex.c:312
- #, c-format
- msgid "trigraph ??%c ignored, use -trigraphs to enable"
- msgstr ""
+- cfun->machine->stack_usage += size;
++ cfun->machine->stack_usage += size_cfa;
+ } /* !minimize && size != 0 */
+ } /* !minimize */
+ }
+@@ -1123,11 +1149,11 @@
+ emit_push_sfr (rampy_rtx, false /* frame-related */, true /* clr */);
+ }
--#: lex.c:357
-+#: lex.c:358
- msgid "\"/*\" within comment"
- msgstr ""
+- if (AVR_HAVE_RAMPZ
++ if (AVR_HAVE_RAMPZ
+ && TEST_HARD_REG_BIT (set, REG_Z)
+ && TEST_HARD_REG_BIT (set, REG_Z + 1))
+ {
+- emit_push_sfr (rampz_rtx, false /* frame-related */, true /* clr */);
++ emit_push_sfr (rampz_rtx, false /* frame-related */, AVR_HAVE_RAMPD);
+ }
+ } /* is_interrupt is_signal */
+
+@@ -1261,6 +1287,7 @@
+ int irq_state = -1;
+ rtx fp, my_fp;
+ rtx fp_plus_insns;
++ HOST_WIDE_INT size_max;
+
+ gcc_assert (frame_pointer_needed
+ || !isr_p
+@@ -1277,6 +1304,13 @@
+
+ my_fp = all_regs_rtx[FRAME_POINTER_REGNUM];
+ }
++
++ /* For rationale see comment in prologue generation. */
++
++ size_max = (HOST_WIDE_INT) GET_MODE_MASK (GET_MODE (my_fp));
++ if (size > size_max)
++ size = size_max;
++ size = trunc_int_for_mode (size, GET_MODE (my_fp));
+
+ /********** Method 1: Adjust fp register **********/
+
+@@ -1347,12 +1381,12 @@
+ /* Restore RAMPZ/Y/X/D using tmp_reg as scratch.
+ The conditions to restore them must be tha same as in prologue. */
+
+- if (AVR_HAVE_RAMPX
+- && TEST_HARD_REG_BIT (set, REG_X)
+- && TEST_HARD_REG_BIT (set, REG_X + 1))
++ if (AVR_HAVE_RAMPZ
++ && TEST_HARD_REG_BIT (set, REG_Z)
++ && TEST_HARD_REG_BIT (set, REG_Z + 1))
+ {
+ emit_pop_byte (TMP_REGNO);
+- emit_move_insn (rampx_rtx, tmp_reg_rtx);
++ emit_move_insn (rampz_rtx, tmp_reg_rtx);
+ }
--#: lex.c:415
-+#: lex.c:416
- #, c-format
- msgid "%s in preprocessing directive"
- msgstr ""
+ if (AVR_HAVE_RAMPY
+@@ -1364,12 +1398,12 @@
+ emit_move_insn (rampy_rtx, tmp_reg_rtx);
+ }
--#: lex.c:424
-+#: lex.c:425
- msgid "null character(s) ignored"
- msgstr ""
+- if (AVR_HAVE_RAMPZ
+- && TEST_HARD_REG_BIT (set, REG_Z)
+- && TEST_HARD_REG_BIT (set, REG_Z + 1))
++ if (AVR_HAVE_RAMPX
++ && TEST_HARD_REG_BIT (set, REG_X)
++ && TEST_HARD_REG_BIT (set, REG_X + 1))
+ {
+ emit_pop_byte (TMP_REGNO);
+- emit_move_insn (rampz_rtx, tmp_reg_rtx);
++ emit_move_insn (rampx_rtx, tmp_reg_rtx);
+ }
--#: lex.c:461
-+#: lex.c:462
- #, c-format
- msgid "`%.*s' is not in NFKC"
- msgstr ""
+ if (AVR_HAVE_RAMPD)
+@@ -1423,6 +1457,22 @@
+ }
--#: 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 ""
++/* Implement `TARGET_MODE_DEPENDENT_ADDRESS_P'. */
++
++/* FIXME: PSImode addresses are not mode-dependent in themselves.
++ This hook just serves to hack around PR rtl-optimization/52543 by
++ claiming that PSImode addresses (which are used for the 24-bit
++ address space __memx) were mode-dependent so that lower-subreg.s
++ will skip these addresses. See also the similar FIXME comment along
++ with mov<mode> expanders in avr.md. */
++
++static bool
++avr_mode_dependent_address_p (const_rtx addr)
++{
++ return GET_MODE (addr) != Pmode;
++}
++
++
+ /* Helper function for `avr_legitimate_address_p'. */
--#: lex.c:560
-+#: lex.c:561
- msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
- msgstr ""
+ static inline bool
+@@ -2435,7 +2485,8 @@
+
+ return (n_bytes > 2
+ && !AVR_HAVE_LPMX
+- && avr_mem_flash_p (op));
++ && MEM_P (op)
++ && MEM_ADDR_SPACE (op) == ADDR_SPACE_FLASH);
+ }
--#: lex.c:674
-+#: lex.c:675
- msgid "null character(s) preserved in literal"
- msgstr ""
+ /* Return true if a value of mode MODE is read by __xload_* function. */
+@@ -2450,155 +2501,6 @@
+ }
--#: 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 ""
+-/* Find an unused d-register to be used as scratch in INSN.
+- EXCLUDE is either NULL_RTX or some register. In the case where EXCLUDE
+- is a register, skip all possible return values that overlap EXCLUDE.
+- The policy for the returned register is similar to that of
+- `reg_unused_after', i.e. the returned register may overlap the SET_DEST
+- of INSN.
+-
+- Return a QImode d-register or NULL_RTX if nothing found. */
+-
+-static rtx
+-avr_find_unused_d_reg (rtx insn, rtx exclude)
+-{
+- int regno;
+- bool isr_p = (interrupt_function_p (current_function_decl)
+- || signal_function_p (current_function_decl));
+-
+- for (regno = 16; regno < 32; regno++)
+- {
+- rtx reg = all_regs_rtx[regno];
+-
+- if ((exclude
+- && reg_overlap_mentioned_p (exclude, reg))
+- || fixed_regs[regno])
+- {
+- continue;
+- }
+-
+- /* Try non-live register */
+-
+- if (!df_regs_ever_live_p (regno)
+- && (TREE_THIS_VOLATILE (current_function_decl)
+- || cfun->machine->is_OS_task
+- || cfun->machine->is_OS_main
+- || (!isr_p && call_used_regs[regno])))
+- {
+- return reg;
+- }
+-
+- /* Any live register can be used if it is unused after.
+- Prologue/epilogue will care for it as needed. */
+-
+- if (df_regs_ever_live_p (regno)
+- && reg_unused_after (insn, reg))
+- {
+- return reg;
+- }
+- }
+-
+- return NULL_RTX;
+-}
+-
+-
+-/* Helper function for the next function in the case where only restricted
+- version of LPM instruction is available. */
+-
+-static const char*
+-avr_out_lpm_no_lpmx (rtx insn, rtx *xop, int *plen)
+-{
+- rtx dest = xop[0];
+- rtx addr = xop[1];
+- int n_bytes = GET_MODE_SIZE (GET_MODE (dest));
+- int regno_dest;
+-
+- regno_dest = REGNO (dest);
+-
+- /* The implicit target register of LPM. */
+- xop[3] = lpm_reg_rtx;
+-
+- switch (GET_CODE (addr))
+- {
+- default:
+- gcc_unreachable();
+-
+- case REG:
+-
+- gcc_assert (REG_Z == REGNO (addr));
+-
+- switch (n_bytes)
+- {
+- default:
+- gcc_unreachable();
+-
+- case 1:
+- avr_asm_len ("%4lpm", xop, plen, 1);
+-
+- if (regno_dest != LPM_REGNO)
+- avr_asm_len ("mov %0,%3", xop, plen, 1);
+-
+- return "";
+-
+- case 2:
+- if (REGNO (dest) == REG_Z)
+- return avr_asm_len ("%4lpm" CR_TAB
+- "push %3" CR_TAB
+- "adiw %2,1" CR_TAB
+- "%4lpm" CR_TAB
+- "mov %B0,%3" CR_TAB
+- "pop %A0", xop, plen, 6);
+-
+- avr_asm_len ("%4lpm" CR_TAB
+- "mov %A0,%3" CR_TAB
+- "adiw %2,1" CR_TAB
+- "%4lpm" CR_TAB
+- "mov %B0,%3", xop, plen, 5);
+-
+- if (!reg_unused_after (insn, addr))
+- avr_asm_len ("sbiw %2,1", xop, plen, 1);
+-
+- break; /* 2 */
+- }
+-
+- break; /* REG */
+-
+- case POST_INC:
+-
+- gcc_assert (REG_Z == REGNO (XEXP (addr, 0))
+- && n_bytes <= 4);
+-
+- if (regno_dest == LPM_REGNO)
+- avr_asm_len ("%4lpm" CR_TAB
+- "adiw %2,1", xop, plen, 2);
+- else
+- avr_asm_len ("%4lpm" CR_TAB
+- "mov %A0,%3" CR_TAB
+- "adiw %2,1", xop, plen, 3);
+-
+- if (n_bytes >= 2)
+- avr_asm_len ("%4lpm" CR_TAB
+- "mov %B0,%3" CR_TAB
+- "adiw %2,1", xop, plen, 3);
+-
+- if (n_bytes >= 3)
+- avr_asm_len ("%4lpm" CR_TAB
+- "mov %C0,%3" CR_TAB
+- "adiw %2,1", xop, plen, 3);
+-
+- if (n_bytes >= 4)
+- avr_asm_len ("%4lpm" CR_TAB
+- "mov %D0,%3" CR_TAB
+- "adiw %2,1", xop, plen, 3);
+-
+- break; /* POST_INC */
+-
+- } /* switch CODE (addr) */
+-
+- return "";
+-}
+-
+-
+ /* If PLEN == NULL: Ouput instructions to load a value from a memory location
+ OP[1] in AS1 to register OP[0].
+ If PLEN != 0 set *PLEN to the length in words of the instruction sequence.
+@@ -2607,13 +2509,11 @@
+ static const char*
+ avr_out_lpm (rtx insn, rtx *op, int *plen)
+ {
+- rtx xop[6];
++ rtx xop[3];
+ rtx dest = op[0];
+ rtx src = SET_SRC (single_set (insn));
+ rtx addr;
+ int n_bytes = GET_MODE_SIZE (GET_MODE (dest));
+- int regno_dest;
+- int segment;
+ RTX_CODE code;
+ addr_space_t as = MEM_ADDR_SPACE (src);
+
+@@ -2634,135 +2534,126 @@
+ gcc_assert (REG_P (dest));
+ gcc_assert (REG == code || POST_INC == code);
+
++ /* Only 1-byte moves from __flash are representes as open coded
++ mov insns. All other loads from flash are not handled here but
++ by some UNSPEC instead, see respective FIXME in machine description. */
++
++ gcc_assert (as == ADDR_SPACE_FLASH);
++ gcc_assert (n_bytes == 1);
++
+ xop[0] = dest;
+- xop[1] = addr;
+- xop[2] = lpm_addr_reg_rtx;
+- xop[4] = xstring_empty;
+- xop[5] = tmp_reg_rtx;
++ xop[1] = lpm_addr_reg_rtx;
++ xop[2] = lpm_reg_rtx;
--#: lex.c:1161
-+#: lex.c:1162
- msgid "(this will be reported only once per input file)"
- msgstr ""
+- regno_dest = REGNO (dest);
+-
+- segment = avr_addrspace[as].segment;
+-
+- /* Set RAMPZ as needed. */
+-
+- if (segment)
++ switch (code)
+ {
+- xop[4] = GEN_INT (segment);
+-
+- if (xop[3] = avr_find_unused_d_reg (insn, lpm_addr_reg_rtx),
+- xop[3])
+- {
+- avr_asm_len ("ldi %3,%4" CR_TAB
+- "out __RAMPZ__,%3", xop, plen, 2);
+- }
+- else if (segment == 1)
+- {
+- avr_asm_len ("clr %5" CR_TAB
+- "inc %5" CR_TAB
+- "out __RAMPZ__,%5", xop, plen, 3);
+- }
+- else
+- {
+- avr_asm_len ("mov %5,%2" CR_TAB
+- "ldi %2,%4" CR_TAB
+- "out __RAMPZ__,%2" CR_TAB
+- "mov %2,%5", xop, plen, 4);
+- }
+-
+- xop[4] = xstring_e;
+-
+- if (!AVR_HAVE_ELPMX)
+- return avr_out_lpm_no_lpmx (insn, xop, plen);
+- }
+- else if (!AVR_HAVE_LPMX)
+- {
+- return avr_out_lpm_no_lpmx (insn, xop, plen);
+- }
+-
+- /* We have [E]LPMX: Output reading from Flash the comfortable way. */
+-
+- switch (GET_CODE (addr))
+- {
+ default:
+ gcc_unreachable();
--#: lex.c:1166
-+#: lex.c:1167
- msgid "multi-line comment"
- msgstr ""
+ case REG:
--#: lex.c:1480
-+#: lex.c:1481
- #, c-format
- msgid "unspellable token %s"
- msgstr ""
-@@ -833,7 +833,7 @@
- msgstr ""
+ gcc_assert (REG_Z == REGNO (addr));
++
++ return AVR_HAVE_LPMX
++ ? avr_asm_len ("lpm %0,%a1", xop, plen, 1)
++ : avr_asm_len ("lpm" CR_TAB
++ "mov %0,%2", xop, plen, 2);
++
++ case POST_INC:
++
++ gcc_assert (REG_Z == REGNO (XEXP (addr, 0)));
- #: 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 ""
+- switch (n_bytes)
+- {
+- default:
+- gcc_unreachable();
++ return AVR_HAVE_LPMX
++ ? avr_asm_len ("lpm %0,%a1+", xop, plen, 1)
++ : avr_asm_len ("lpm" CR_TAB
++ "adiw %1, 1" CR_TAB
++ "mov %0,%2", xop, plen, 3);
++ }
+
+- case 1:
+- return avr_asm_len ("%4lpm %0,%a2", xop, plen, 1);
++ return "";
++}
+
+- case 2:
+- if (REGNO (dest) == REG_Z)
+- return avr_asm_len ("%4lpm %5,%a2+" CR_TAB
+- "%4lpm %B0,%a2" CR_TAB
+- "mov %A0,%5", xop, plen, 3);
+- else
+- {
+- avr_asm_len ("%4lpm %A0,%a2+" CR_TAB
+- "%4lpm %B0,%a2", xop, plen, 2);
+-
+- if (!reg_unused_after (insn, addr))
+- avr_asm_len ("sbiw %2,1", xop, plen, 1);
+- }
+-
+- break; /* 2 */
+
+- case 3:
++/* If PLEN == NULL: Ouput instructions to load $0 with a value from
++ flash address $1:Z. If $1 = 0 we can use LPM to read, otherwise
++ use ELPM.
++ If PLEN != 0 set *PLEN to the length in words of the instruction sequence.
++ Return "". */
+
+- avr_asm_len ("%4lpm %A0,%a2+" CR_TAB
+- "%4lpm %B0,%a2+" CR_TAB
+- "%4lpm %C0,%a2", xop, plen, 3);
+-
+- if (!reg_unused_after (insn, addr))
+- avr_asm_len ("sbiw %2,2", xop, plen, 1);
+-
+- break; /* 3 */
++const char*
++avr_load_lpm (rtx insn, rtx *op, int *plen)
++{
++ rtx xop[4];
++ int n, n_bytes = GET_MODE_SIZE (GET_MODE (op[0]));
++ rtx xsegment = op[1];
++ bool clobber_z = PARALLEL == GET_CODE (PATTERN (insn));
++ bool r30_in_tmp = false;
++
++ if (plen)
++ *plen = 0;
++
++ xop[1] = lpm_addr_reg_rtx;
++ xop[2] = lpm_reg_rtx;
++ xop[3] = xstring_empty;
++
++ /* Set RAMPZ as needed. */
++
++ if (REG_P (xsegment))
++ {
++ avr_asm_len ("out __RAMPZ__,%0", &xsegment, plen, 1);
++ xop[3] = xstring_e;
++ }
++
++ /* Load the individual bytes from LSB to MSB. */
++
++ for (n = 0; n < n_bytes; n++)
++ {
++ xop[0] = all_regs_rtx[REGNO (op[0]) + n];
+
+- case 4:
+-
+- avr_asm_len ("%4lpm %A0,%a2+" CR_TAB
+- "%4lpm %B0,%a2+", xop, plen, 2);
+-
+- if (REGNO (dest) == REG_Z - 2)
+- return avr_asm_len ("%4lpm %5,%a2+" CR_TAB
+- "%4lpm %C0,%a2" CR_TAB
+- "mov %D0,%5", xop, plen, 3);
+- else
++ if ((CONST_INT_P (xsegment) && AVR_HAVE_LPMX)
++ || (REG_P (xsegment) && AVR_HAVE_ELPMX))
++ {
++ if (n == n_bytes-1)
++ avr_asm_len ("%3lpm %0,%a1", xop, plen, 1);
++ else if (REGNO (xop[0]) == REG_Z)
+ {
+- avr_asm_len ("%4lpm %C0,%a2+" CR_TAB
+- "%4lpm %D0,%a2", xop, plen, 2);
+-
+- if (!reg_unused_after (insn, addr))
+- avr_asm_len ("sbiw %2,3", xop, plen, 1);
++ avr_asm_len ("%3lpm %2,%a1+", xop, plen, 1);
++ r30_in_tmp = true;
+ }
++ else
++ avr_asm_len ("%3lpm %0,%a1+", xop, plen, 1);
++ }
++ else
++ {
++ gcc_assert (clobber_z);
++
++ avr_asm_len ("%3lpm" CR_TAB
++ "mov %0,%2", xop, plen, 2);
--#: macro.c:1453
-+#: macro.c:1479
- #, c-format
- msgid "duplicate macro parameter \"%s\""
- msgstr ""
+- break; /* 4 */
+- } /* n_bytes */
++ if (n != n_bytes-1)
++ avr_asm_len ("adiw %1,1", xop, plen, 1);
++ }
++ }
++
++ if (r30_in_tmp)
++ avr_asm_len ("mov %1,%2", xop, plen, 1);
++
++ if (!clobber_z
++ && n_bytes > 1
++ && !reg_unused_after (insn, lpm_addr_reg_rtx)
++ && !reg_overlap_mentioned_p (op[0], lpm_addr_reg_rtx))
++ {
++ xop[2] = GEN_INT (n_bytes-1);
++ avr_asm_len ("sbiw %1,%2", xop, plen, 1);
++ }
++
++ if (REG_P (xsegment) && AVR_HAVE_RAMPD)
++ {
++ /* Reset RAMPZ to 0 so that EBI devices don't read garbage from RAM */
+
+- break; /* REG */
++ avr_asm_len ("out __RAMPZ__,__zero_reg__", xop, plen, 1);
++ }
--#: macro.c:1499
-+#: macro.c:1525
- #, c-format
- msgid "\"%s\" may not appear in macro parameter list"
- msgstr ""
+- case POST_INC:
+-
+- gcc_assert (REG_Z == REGNO (XEXP (addr, 0))
+- && n_bytes <= 4);
+-
+- avr_asm_len ("%4lpm %A0,%a2+", xop, plen, 1);
+- if (n_bytes >= 2) avr_asm_len ("%4lpm %B0,%a2+", xop, plen, 1);
+- if (n_bytes >= 3) avr_asm_len ("%4lpm %C0,%a2+", xop, plen, 1);
+- if (n_bytes >= 4) avr_asm_len ("%4lpm %D0,%a2+", xop, plen, 1);
+-
+- break; /* POST_INC */
+-
+- } /* switch CODE (addr) */
+-
+ return "";
+ }
--#: macro.c:1507
-+#: macro.c:1533
- msgid "macro parameters must be comma-separated"
- msgstr ""
+@@ -2782,8 +2673,9 @@
+ if (plen)
+ *plen = 0;
--#: macro.c:1524
-+#: macro.c:1550
- msgid "parameter name missing"
- msgstr ""
+- avr_asm_len ("ld %3,%a2" CR_TAB
+- "sbrs %1,7", xop, plen, 2);
++ avr_asm_len ("sbrc %1,7" CR_TAB
++ "ld %3,%a2" CR_TAB
++ "sbrs %1,7", xop, plen, 3);
--#: macro.c:1541
-+#: macro.c:1567
- msgid "anonymous variadic macros were introduced in C99"
- msgstr ""
+ avr_asm_len (AVR_HAVE_LPMX ? "lpm %3,%a2" : "lpm", xop, plen, 1);
--#: macro.c:1546
-+#: macro.c:1572
- msgid "ISO C does not permit named variadic macros"
- msgstr ""
+@@ -2794,13 +2686,11 @@
+ }
--#: 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 ""
+-const char *
+-output_movqi (rtx insn, rtx operands[], int *l)
++const char*
++output_movqi (rtx insn, rtx operands[], int *real_l)
+ {
+- int dummy;
+ rtx dest = operands[0];
+ rtx src = operands[1];
+- int *real_l = l;
+
+ if (avr_mem_flash_p (src)
+ || avr_mem_flash_p (dest))
+@@ -2808,10 +2698,8 @@
+ return avr_out_lpm (insn, operands, real_l);
+ }
--#: macro.c:1638
-+#: macro.c:1664
- msgid "ISO C99 requires whitespace after the macro name"
- msgstr ""
+- if (!l)
+- l = &dummy;
+-
+- *l = 1;
++ if (real_l)
++ *real_l = 1;
+
+ if (register_operand (dest, QImode))
+ {
+@@ -2829,10 +2717,10 @@
+ output_reload_in_const (operands, NULL_RTX, real_l, false);
+ return "";
+ }
+- else if (GET_CODE (src) == MEM)
++ else if (MEM_P (src))
+ return out_movqi_r_mr (insn, operands, real_l); /* mov r,m */
+ }
+- else if (GET_CODE (dest) == MEM)
++ else if (MEM_P (dest))
+ {
+ rtx xop[2];
--#: macro.c:1662
-+#: macro.c:1688
- msgid "missing whitespace after the macro name"
- msgstr ""
+@@ -6533,6 +6421,7 @@
+ case ADJUST_LEN_MOV32: output_movsisf (insn, op, &len); break;
+ case ADJUST_LEN_MOVMEM: avr_out_movmem (insn, op, &len); break;
+ case ADJUST_LEN_XLOAD: avr_out_xload (insn, op, &len); break;
++ case ADJUST_LEN_LOAD_LPM: avr_load_lpm (insn, op, &len); break;
--#: macro.c:1692
-+#: macro.c:1718
- msgid "'#' is not followed by a macro parameter"
- msgstr ""
+ case ADJUST_LEN_TSTHI: avr_out_tsthi (insn, op, &len); break;
+ case ADJUST_LEN_TSTPSI: avr_out_tstpsi (insn, op, &len); break;
+@@ -8975,7 +8864,7 @@
--#: macro.c:1811
-+#: macro.c:1837
- #, c-format
- msgid "\"%s\" redefined"
- msgstr ""
+ /* Implement `MODE_CODE_BASE_REG_CLASS'. */
--#: macro.c:1816
-+#: macro.c:1842
- msgid "this is the location of the previous definition"
- msgstr ""
+-reg_class_t
++enum reg_class
+ avr_mode_code_base_reg_class (enum machine_mode mode ATTRIBUTE_UNUSED,
+ addr_space_t as, RTX_CODE outer_code,
+ RTX_CODE index_code ATTRIBUTE_UNUSED)
+@@ -9568,7 +9457,8 @@
+ static bool
+ avr_reg_ok_for_pgm_addr (rtx reg, bool strict)
+ {
+- gcc_assert (REG_P (reg));
++ if (!REG_P (reg))
++ return false;
--#: macro.c:1877
-+#: macro.c:1903
- #, c-format
- msgid "macro argument \"%s\" would be stringified in traditional C"
- msgstr ""
+ if (strict)
+ {
+@@ -9916,7 +9806,7 @@
+ case ADDR_SPACE_FLASH:
--#: 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 ""
+ if (AVR_HAVE_LPMX)
+- avr_asm_len ("lpm %2,%Z+", xop, plen, 1);
++ avr_asm_len ("lpm %2,Z+", xop, plen, 1);
+ else
+ avr_asm_len ("lpm" CR_TAB
+ "adiw r30,1", xop, plen, 2);
+@@ -9965,6 +9855,14 @@
+ \f
+ /* Helper for __builtin_avr_delay_cycles */
--#: traditional.c:750
-+#: traditional.c:751
- #, c-format
- msgid "detected recursion whilst expanding macro \"%s\""
- msgstr ""
++static rtx
++avr_mem_clobber (void)
++{
++ rtx mem = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode));
++ MEM_VOLATILE_P (mem) = 1;
++ return mem;
++}
++
+ static void
+ avr_expand_delay_cycles (rtx operands0)
+ {
+@@ -9976,7 +9874,8 @@
+ {
+ loop_count = ((cycles - 9) / 6) + 1;
+ cycles_used = ((loop_count - 1) * 6) + 9;
+- emit_insn (gen_delay_cycles_4 (gen_int_mode (loop_count, SImode)));
++ emit_insn (gen_delay_cycles_4 (gen_int_mode (loop_count, SImode),
++ avr_mem_clobber()));
+ cycles -= cycles_used;
+ }
+
+@@ -9986,7 +9885,8 @@
+ if (loop_count > 0xFFFFFF)
+ loop_count = 0xFFFFFF;
+ cycles_used = ((loop_count - 1) * 5) + 7;
+- emit_insn (gen_delay_cycles_3 (gen_int_mode (loop_count, SImode)));
++ emit_insn (gen_delay_cycles_3 (gen_int_mode (loop_count, SImode),
++ avr_mem_clobber()));
+ cycles -= cycles_used;
+ }
+
+@@ -9996,7 +9896,8 @@
+ if (loop_count > 0xFFFF)
+ loop_count = 0xFFFF;
+ cycles_used = ((loop_count - 1) * 4) + 5;
+- emit_insn (gen_delay_cycles_2 (gen_int_mode (loop_count, HImode)));
++ emit_insn (gen_delay_cycles_2 (gen_int_mode (loop_count, HImode),
++ avr_mem_clobber()));
+ cycles -= cycles_used;
+ }
+
+@@ -10006,7 +9907,8 @@
+ if (loop_count > 255)
+ loop_count = 255;
+ cycles_used = loop_count * 3;
+- emit_insn (gen_delay_cycles_1 (gen_int_mode (loop_count, QImode)));
++ emit_insn (gen_delay_cycles_1 (gen_int_mode (loop_count, QImode),
++ avr_mem_clobber()));
+ cycles -= cycles_used;
+ }
+
+@@ -11007,6 +10909,9 @@
+ #undef TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS
+ #define TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS avr_addr_space_legitimize_address
--#: traditional.c:968
-+#: traditional.c:969
- msgid "syntax error in macro parameter list"
- msgstr ""
-Index: gnattools/Makefile.in
++#undef TARGET_MODE_DEPENDENT_ADDRESS_P
++#define TARGET_MODE_DEPENDENT_ADDRESS_P avr_mode_dependent_address_p
++
+ #undef TARGET_PRINT_OPERAND
+ #define TARGET_PRINT_OPERAND avr_print_operand
+ #undef TARGET_PRINT_OPERAND_ADDRESS
+Index: gcc/config/epiphany/epiphany.c
===================================================================
---- gnattools/Makefile.in (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gnattools/Makefile.in (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -164,7 +164,7 @@
- -(cd $(GCC_DIR)/ada/tools; $(LN_S) ../sdefault.adb .)
- -$(foreach PAIR,$(TOOLS_TARGET_PAIRS), \
- rm -f $(GCC_DIR)/ada/tools/$(word 1,$(subst <, ,$(PAIR)));\
-- $(LN_S) $(fsrcdir)/$(word 2,$(subst <, ,$(PAIR))) \
-+ $(LN_S) $(fsrcdir)/ada/$(word 2,$(subst <, ,$(PAIR))) \
- $(GCC_DIR)/ada/tools/$(word 1,$(subst <, ,$(PAIR)));)
- touch $(GCC_DIR)/stamp-tools
+--- gcc/config/epiphany/epiphany.c (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/config/epiphany/epiphany.c (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1417,7 +1417,7 @@
+ return gen_rtx_REG (mode, 0);
+ }
-Index: gnattools/ChangeLog
-===================================================================
---- gnattools/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149030)
-+++ gnattools/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149030)
-@@ -1,3 +1,9 @@
-+2009-05-18 Bechir Zalila <bechir.zalila@gmail.com>
+-bool
++static bool
+ epiphany_function_value_regno_p (const unsigned int regno ATTRIBUTE_UNUSED)
+ {
+ return regno == 0;
+Index: gcc/config/rs6000/vector.md
+===================================================================
+--- gcc/config/rs6000/vector.md (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/config/rs6000/vector.md (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -516,6 +516,94 @@
+ "VECTOR_UNIT_ALTIVEC_P (<MODE>mode)"
+ "")
+
++(define_insn_and_split "*vector_uneq<mode>"
++ [(set (match_operand:VEC_F 0 "vfloat_operand" "")
++ (uneq:VEC_F (match_operand:VEC_F 1 "vfloat_operand" "")
++ (match_operand:VEC_F 2 "vfloat_operand" "")))]
++ "VECTOR_UNIT_ALTIVEC_OR_VSX_P (<MODE>mode)"
++ "#"
++ ""
++ [(set (match_dup 3)
++ (gt:VEC_F (match_dup 1)
++ (match_dup 2)))
++ (set (match_dup 4)
++ (gt:VEC_F (match_dup 2)
++ (match_dup 1)))
++ (set (match_dup 0)
++ (not:VEC_F (ior:VEC_F (match_dup 3)
++ (match_dup 4))))]
++ "
++{
++ operands[3] = gen_reg_rtx (<MODE>mode);
++ operands[4] = gen_reg_rtx (<MODE>mode);
++}")
++
++(define_insn_and_split "*vector_ltgt<mode>"
++ [(set (match_operand:VEC_F 0 "vfloat_operand" "")
++ (ltgt:VEC_F (match_operand:VEC_F 1 "vfloat_operand" "")
++ (match_operand:VEC_F 2 "vfloat_operand" "")))]
++ "VECTOR_UNIT_ALTIVEC_OR_VSX_P (<MODE>mode)"
++ "#"
++ ""
++ [(set (match_dup 3)
++ (gt:VEC_F (match_dup 1)
++ (match_dup 2)))
++ (set (match_dup 4)
++ (gt:VEC_F (match_dup 2)
++ (match_dup 1)))
++ (set (match_dup 0)
++ (ior:VEC_F (match_dup 3)
++ (match_dup 4)))]
++ "
++{
++ operands[3] = gen_reg_rtx (<MODE>mode);
++ operands[4] = gen_reg_rtx (<MODE>mode);
++}")
++
++(define_insn_and_split "*vector_ordered<mode>"
++ [(set (match_operand:VEC_F 0 "vfloat_operand" "")
++ (ordered:VEC_F (match_operand:VEC_F 1 "vfloat_operand" "")
++ (match_operand:VEC_F 2 "vfloat_operand" "")))]
++ "VECTOR_UNIT_ALTIVEC_OR_VSX_P (<MODE>mode)"
++ "#"
++ ""
++ [(set (match_dup 3)
++ (ge:VEC_F (match_dup 1)
++ (match_dup 2)))
++ (set (match_dup 4)
++ (ge:VEC_F (match_dup 2)
++ (match_dup 1)))
++ (set (match_dup 0)
++ (ior:VEC_F (match_dup 3)
++ (match_dup 4)))]
++ "
++{
++ operands[3] = gen_reg_rtx (<MODE>mode);
++ operands[4] = gen_reg_rtx (<MODE>mode);
++}")
++
++(define_insn_and_split "*vector_unordered<mode>"
++ [(set (match_operand:VEC_F 0 "vfloat_operand" "")
++ (unordered:VEC_F (match_operand:VEC_F 1 "vfloat_operand" "")
++ (match_operand:VEC_F 2 "vfloat_operand" "")))]
++ "VECTOR_UNIT_ALTIVEC_OR_VSX_P (<MODE>mode)"
++ "#"
++ ""
++ [(set (match_dup 3)
++ (ge:VEC_F (match_dup 1)
++ (match_dup 2)))
++ (set (match_dup 4)
++ (ge:VEC_F (match_dup 2)
++ (match_dup 1)))
++ (set (match_dup 0)
++ (not:VEC_F (ior:VEC_F (match_dup 3)
++ (match_dup 4))))]
++ "
++{
++ operands[3] = gen_reg_rtx (<MODE>mode);
++ operands[4] = gen_reg_rtx (<MODE>mode);
++}")
++
+ ;; Note the arguments for __builtin_altivec_vsel are op2, op1, mask
+ ;; which is in the reverse order that we want
+ (define_expand "vector_select_<mode>"
+Index: gcc/config/rs6000/rs6000.c
+===================================================================
+--- gcc/config/rs6000/rs6000.c (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ gcc/config/rs6000/rs6000.c (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -16137,6 +16137,10 @@
+ case EQ:
+ case GT:
+ case GTU:
++ case ORDERED:
++ case UNORDERED:
++ case UNEQ:
++ case LTGT:
+ mask = gen_reg_rtx (mode);
+ emit_insn (gen_rtx_SET (VOIDmode,
+ mask,
+Index: libgo/go/syscall/syscall_unix.go
+===================================================================
+--- libgo/go/syscall/syscall_unix.go (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ libgo/go/syscall/syscall_unix.go (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -31,6 +31,7 @@
+ // expects a 32-bit one.
+ func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) {
+ Entersyscall()
++ SetErrno(0)
+ var r uintptr
+ if unsafe.Sizeof(r) == 4 {
+ r1 := c_syscall32(int32(trap), int32(a1), int32(a2), int32(a3), 0, 0, 0)
+@@ -46,6 +47,7 @@
+
+ func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) {
+ Entersyscall()
++ SetErrno(0)
+ var r uintptr
+ if unsafe.Sizeof(r) == 4 {
+ r1 := c_syscall32(int32(trap), int32(a1), int32(a2), int32(a3),
+@@ -63,6 +65,7 @@
+
+ func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) {
+ var r uintptr
++ SetErrno(0)
+ if unsafe.Sizeof(r) == 4 {
+ r1 := c_syscall32(int32(trap), int32(a1), int32(a2), int32(a3), 0, 0, 0)
+ r = uintptr(r1)
+@@ -76,6 +79,7 @@
+
+ func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) {
+ var r uintptr
++ SetErrno(0)
+ if unsafe.Sizeof(r) == 4 {
+ r1 := c_syscall32(int32(trap), int32(a1), int32(a2), int32(a3),
+ int32(a4), int32(a5), int32(a6))
+Index: libffi/src/powerpc/aix.S
+===================================================================
+--- libffi/src/powerpc/aix.S (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ libffi/src/powerpc/aix.S (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1,5 +1,5 @@
+ /* -----------------------------------------------------------------------
+- aix.S - Copyright (c) 2002,2009 Free Software Foundation, Inc.
++ aix.S - Copyright (c) 2002, 2009 Free Software Foundation, Inc.
+ based on darwin.S by John Hornkvist
+
+ PowerPC Assembly glue.
+@@ -79,6 +79,8 @@
+ .set f20,20
+ .set f21,21
+
++ .extern .ffi_prep_args
++
+ #define LIBFFI_ASM
+ #include <fficonfig.h>
+ #include <ffi.h>
+@@ -125,6 +127,7 @@
+ /* Call ffi_prep_args. */
+ mr r4, r1
+ bl .ffi_prep_args
++ nop
+
+ /* Now do the call. */
+ ld r0, 0(r29)
+@@ -226,6 +229,7 @@
+ /* Call ffi_prep_args. */
+ mr r4, r1
+ bl .ffi_prep_args
++ nop
+
+ /* Now do the call. */
+ lwz r0, 0(r29)
+Index: libffi/src/powerpc/aix_closure.S
+===================================================================
+--- libffi/src/powerpc/aix_closure.S (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ libffi/src/powerpc/aix_closure.S (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -79,6 +79,8 @@
+ .set f20,20
+ .set f21,21
+
++ .extern .ffi_closure_helper_DARWIN
++
+ #define LIBFFI_ASM
+ #define JUMPTARGET(name) name
+ #define L(x) x
+@@ -165,6 +167,7 @@
+
+ /* look up the proper starting point in table */
+ /* by using return type as offset */
++ lhz r3, 10(r3) /* load type from return type */
+ ld r4, LC..60(2) /* get address of jump table */
+ sldi r3, r3, 4 /* now multiply return type by 16 */
+ ld r0, 240+16(r1) /* load return address */
+@@ -337,8 +340,9 @@
+
+ /* look up the proper starting point in table */
+ /* by using return type as offset */
++ lhz r3, 6(r3) /* load type from return type */
+ lwz r4, LC..60(2) /* get address of jump table */
+- slwi r3, r3, 4 /* now multiply return type by 4 */
++ slwi r3, r3, 4 /* now multiply return type by 16 */
+ lwz r0, 176+8(r1) /* load return address */
+ add r3, r3, r4 /* add contents of table to table address */
+ mtctr r3
+Index: libffi/ChangeLog
+===================================================================
+--- libffi/ChangeLog (.../tags/gcc_4_7_0_release) (wersja 185750)
++++ libffi/ChangeLog (.../branches/gcc-4_7-branch) (wersja 185750)
+@@ -1,3 +1,17 @@
++2012-03-22 David Edelsohn <dje.gcc@gmail.com>
++
++ Backport from mainline:
++ 2012-03-09 David Edelsohn <dje.gcc@gmail.com>
++
++ * src/powerpc/aix_closure.S (ffi_closure_ASM): Adjust for Darwin64
++ change to return value of ffi_closure_helper_DARWIN and load type
++ from return type.
+
-+ PR ada/40166
-+ * Makefile.in (TOOLS_TARGET_PAIRS): Use the correct path to the
-+ target specific sources.
++ From Tom Honermann <tom.honermann@oracle.com>:
++ * src/powerpc/aix.S: Declare .ffi_prep_args. Insert nops after
++ branch instructions.
++ * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
+
- 2009-04-21 Release Manager
+ 2012-03-22 Release Manager
- * GCC 4.4.0 released.
+ * GCC 4.7.0 released.