Files
Pietro Monteiro f2cdddef40 a68: Add exit function to POSIX prelude
Add the procedure `posixexit'.

gcc/algol68/ChangeLog:

	* a68-low-posix.cc (a68_posix_setexitstatus): Delete function.
	(a68_posix_exit): New function.
	* a68-low-prelude.cc (a68_lower_setexitstatus): Delete function.
	(a68_lower_posixexit): New function.
	* a68-low-runtime.def (SET_EXIT_STATUS): Delete definition.
	(POSIX_EXIT): Add definition for posixexit.
	* a68-parser-prelude.cc (posix_prelude): Remove setexitstatus
	identifier from and add posixexit identifier to standenv.
	* a68.h (a68_posix_setexitstatus): Delete prototype.
	(a68_lower_setexitstatus): Likewise.
	(a68_posix_exit): New prototype.
	(a68_lower_posixexit): Likewise.
	* ga68.texi:

libga68/ChangeLog:

	* ga68-posix.c (_libga68_posixexit): New function.
	* ga68.h (_libga68_posixexit): New prototype.
	(_libga68_set_exit_status): Delete prototype.
	* ga68.map: Remove _libga68_set_exit_status from and add
	_libga68_posixexit to the global map.
	* libga68.c: include <stdlib.h>.
	(_libga68_set_exit_status): Delete function.
	(main): Return EXIT_SUCCESS.

gcc/testsuite/ChangeLog:

	* algol68/execute/posix-exit-1.a68: New test.

Signed-off-by: Pietro Monteiro <pietro@sociotechnical.xyz>
2026-01-10 00:26:49 -05:00
..
2026-01-02 09:56:11 +01:00

The mcts testsuite is not distributed along with GCC due to unclear
distribution terms of its contents, which have to be clarified with
the CWI.

In the meanwhile, you can find the testset at:

  https://git.sr.ht/~jemarch/a68-mcts

In order to install them in the GCC sources, just copy the file and
two directories to the testsuite/algol68 directory, like:

  $ git clone https://git.sr.ht/~jemarch/a68-mcts
  $ cd a68-mcts
  $ cp README.mcts  /path/to/gcc/gcc/testsuite/algol68/
  $ cp -r compile/* /path/to/gcc/gcc/testsuite/algol68/compile/
  $ cp -r execute/* /path/to/gcc/gcc/testsuite/algol68/execute/

Then make check-algol68 will include the evil MCTS as well.