]> git.ipfire.org Git - thirdparty/gcc.git/commit
ada: Split the unit System.Case_Utilities into two parts.
authorSteve Baird <baird@adacore.com>
Mon, 21 Apr 2025 22:28:39 +0000 (15:28 -0700)
committerMarc Poulhiès <dkm@gcc.gnu.org>
Tue, 1 Jul 2025 08:29:43 +0000 (10:29 +0200)
commitd089300efc6e8d949176424e5bd2f0be3067cfed
tree0e387718e436e5a761cae0fb3ae5747178e831f4
parentd84ca1055dd1fe9c66d43151516f45344711015c
ada: Split the unit System.Case_Utilities into two parts.

The package System.Case_Utilities provides some subprograms that do not make
use of the secondary stack and some that do. When compiling in a context
where no secondary stack support is provided, this makes the entire package
unusable (and similarly for any other package that withs this package).
Split the package into two packages named Case_Utilities_NSS and Case_Utilities
(NSS is for "no secondary stack"). The first package declares the
subprograms that do not need secondary stack support. The second package
declares the remaining subprograms, as well as renamings of everything declared
in the first part. A client that continues to reference Case_Utilities is
largely unaffected by this change. But if we change a client to reference
Case_Utilities_NSS instead, that removes an obstacle that would otherwise
prevent using that client unit in a no-secondary-stack-support environment.
We then make that change to the body of package System.Val_Util.

gcc/ada/ChangeLog:

* Makefile.rtl: Add entry for new unit's object file.
* libgnat/s-casuti.adb: Remove bodies of subprograms that were moved
to the new unit.
* libgnat/s-casuti.ads: Replace (with renamings) declarations for
subprograms that moved to the new unit.
* libgnat/s-cautns.adb: Body for new unit (a new source file).
* libgnat/s-cautns.ads: Spec for new unit (a new source file).
* libgnat/s-valuti.adb: Use the new unit instead of the old one.
* gcc-interface/Make-lang.in: Add entries for new unit's object file.
* gcc-interface/Makefile.in: Likewise.
gcc/ada/Makefile.rtl
gcc/ada/gcc-interface/Make-lang.in
gcc/ada/gcc-interface/Makefile.in
gcc/ada/libgnat/s-casuti.adb
gcc/ada/libgnat/s-casuti.ads
gcc/ada/libgnat/s-cautns.adb [new file with mode: 0644]
gcc/ada/libgnat/s-cautns.ads [new file with mode: 0644]
gcc/ada/libgnat/s-valuti.adb