Jose E. Marchesi
8943e8a7d2
a68: top-level misc files
...
This commit updates a few administrative files in the top-level
directory.
The MAINTAINERS file is updated with new entries for the Algol 68
front-end and the libga68 run-time library.
SECURITY.txt is updated to add libga68 to the list of the other
run-time libraries.
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
ChangeLog
* MAINTAINERS: Add Algol 68 subsystems.
* SECURITY.txt: add libga68 to list of libraries.
2025-11-30 01:52:24 +01:00
Jose E. Marchesi
8fae61cddc
a68: testsuite: mcgt tests
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/testsuite/ChangeLog
* algol68/compile/mcgt-1.3b.a68: New file.
* algol68/compile/mcgt-7.1.3a-bis.a68: Likewise.
* algol68/compile/mcgt-7.1.3a.a68: Likewise.
* algol68/execute/mcgt/execute.exp: Likewise.
* algol68/execute/mcgt/mcgt-1.3a.a68: Likewise.
* algol68/execute/mcgt/mcgt-1.3c.a68: Likewise.
* algol68/execute/mcgt/mcgt-2.2.1a.a68: Likewise.
* algol68/execute/mcgt/mcgt-2.2.2a.a68: Likewise.
* algol68/execute/mcgt/mcgt-2.2.3a.a68: Likewise.
* algol68/execute/mcgt/mcgt-2.3a.a68: Likewise.
* algol68/execute/mcgt/mcgt-2.3b.a68: Likewise.
* algol68/execute/mcgt/mcgt-2.3c.a68: Likewise.
* algol68/execute/mcgt/mcgt-2.3e.a68: Likewise.
* algol68/execute/mcgt/mcgt-2.4.2a.a68: Likewise.
* algol68/execute/mcgt/mcgt-2.4.2b.a68: Likewise.
* algol68/execute/mcgt/mcgt-2.4.2c.a68: Likewise.
* algol68/execute/mcgt/mcgt-2.4.3a.a68: Likewise.
* algol68/execute/mcgt/mcgt-2.6a.a68: Likewise.
* algol68/execute/mcgt/mcgt-2.6b.a68: Likewise.
* algol68/execute/mcgt/mcgt-2.7d.a68: Likewise.
* algol68/execute/mcgt/mcgt-2.7e.a68: Likewise.
* algol68/execute/mcgt/mcgt-2.8a.a68: Likewise.
* algol68/execute/mcgt/mcgt-2.8b.a68: Likewise.
* algol68/execute/mcgt/mcgt-2.9.1a.a68: Likewise.
* algol68/execute/mcgt/mcgt-3.5.1a.a68: Likewise.
* algol68/execute/mcgt/mcgt-3.5d.a68: Likewise.
* algol68/execute/mcgt/mcgt-3.7.2a.a68: Likewise.
* algol68/execute/mcgt/mcgt-3.8.2a.a68: Likewise.
* algol68/execute/mcgt/mcgt-3.9.1b.a68: Likewise.
* algol68/execute/mcgt/mcgt-4.1.2a.a68: Likewise.
* algol68/execute/mcgt/mcgt-4.1.3a.a68: Likewise.
* algol68/execute/mcgt/mcgt-4.1.6a.a68: Likewise.
* algol68/execute/mcgt/mcgt-4.1.6b.a68: Likewise.
* algol68/execute/mcgt/mcgt-4.1.6c.a68: Likewise.
* algol68/execute/mcgt/mcgt-4.2.6a.a68: Likewise.
* algol68/execute/mcgt/mcgt-4.2.6b.a68: Likewise.
* algol68/execute/mcgt/mcgt-4.2.6d.a68: Likewise.
* algol68/execute/mcgt/mcgt-4.3.1a.a68: Likewise.
* algol68/execute/mcgt/mcgt-4.3.1b.a68: Likewise.
* algol68/execute/mcgt/mcgt-4.3.2a.a68: Likewise.
* algol68/execute/mcgt/mcgt-5.1.2a.a68: Likewise.
* algol68/execute/mcgt/mcgt-5.1.3a.a68: Likewise.
* algol68/execute/mcgt/mcgt-5.1.3c.a68: Likewise.
* algol68/execute/mcgt/mcgt-5.1.5a.a68: Likewise.
* algol68/execute/mcgt/mcgt-6.2.2a.a68: Likewise.
* algol68/execute/mcgt/mcgt-6.2.2b.a68: Likewise.
* algol68/execute/mcgt/mcgt-6.2.2c.a68: Likewise.
* algol68/execute/mcgt/mcgt-7.1.1a.a68: Likewise.
* algol68/execute/mcgt/mcgt-7.1.1b.a68: Likewise.
* algol68/execute/mcgt/mcgt-7.1.3a.a68: Likewise.
* algol68/execute/mcgt/mcgt-7.3.2a.a68: Likewise.
* algol68/execute/mcgt/mcgt-7.3.6a.a68: Likewise.
* algol68/execute/mcgt/mcgt-7.3.6b.a68: Likewise.
* algol68/execute/mcgt/mcgt-7.5.3a.a68: Likewise.
2025-11-30 01:52:24 +01:00
Jose E. Marchesi
55e2804be0
a68: testsuite: revised MC Algol 68 test set
...
We cannot distribute the MC Test Set with GCC as of now, due to not
clear distribution terms of the stuff. Until this gets clarified with
the CWI (then Mathematical Centrum) a README.mcts file explains how to
manually fetch and install the test set.
gcc/testsuite/ChangeLog
* algol68/README.mcts: New file.
2025-11-30 01:52:23 +01:00
Jose E. Marchesi
623d5a03bd
a68: testsuite: compilation tests
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/testsuite/ChangeLog
* algol68/compile/a68includes/goodbye-supper.a68
* algol68/compile/a68includes/goodbye.a68: Likewise.
* algol68/compile/a68includes/hello-supper.a68: Likewise.
* algol68/compile/a68includes/hello.a68: Likewise.
* algol68/compile/actual-bounds-expected-1.a68: Likewise.
* algol68/compile/actual-bounds-expected-2.a68: Likewise.
* algol68/compile/actual-bounds-expected-3.a68: Likewise.
* algol68/compile/balancing-1.a68: Likewise.
* algol68/compile/bold-nestable-comment-1.a68: Likewise.
* algol68/compile/bold-taggle-1.a68: Likewise.
* algol68/compile/brief-nestable-comment-1.a68: Likewise.
* algol68/compile/brief-nestable-comment-2.a68: Likewise.
* algol68/compile/char-break-1.a68: Likewise.
* algol68/compile/compile.exp: Likewise.
* algol68/compile/conditional-clause-1.a68: Likewise.
* algol68/compile/error-bold-taggle-1.a68: Likewise.
* algol68/compile/error-coercion-1.a68: Likewise.
* algol68/compile/error-coercion-2.a68: Likewise.
* algol68/compile/error-coercion-flex-1.a68: Likewise.
* algol68/compile/error-conformance-clause-1.a68: Likewise.
* algol68/compile/error-contraction-1.a68: Likewise.
* algol68/compile/error-contraction-2.a68: Likewise.
* algol68/compile/error-incestuous-union-1.a68: Likewise.
* algol68/compile/error-label-after-decl-1.a68: Likewise.
* algol68/compile/error-nestable-comments-1.a68: Likewise.
* algol68/compile/error-nested-comment-1.a68: Likewise.
* algol68/compile/error-no-bounds-allowed-1.a68: Likewise.
* algol68/compile/error-string-break-1.a68: Likewise.
* algol68/compile/error-string-break-2.a68: Likewise.
* algol68/compile/error-string-break-3.a68: Likewise.
* algol68/compile/error-string-break-4.a68: Likewise.
* algol68/compile/error-string-break-5.a68: Likewise.
* algol68/compile/error-string-break-6.a68: Likewise.
* algol68/compile/error-string-break-7.a68: Likewise.
* algol68/compile/error-supper-1.a68: Likewise.
* algol68/compile/error-supper-2.a68: Likewise.
* algol68/compile/error-supper-3.a68: Likewise.
* algol68/compile/error-supper-4.a68: Likewise.
* algol68/compile/error-supper-5.a68: Likewise.
* algol68/compile/error-supper-6.a68: Likewise.
* algol68/compile/error-underscore-in-mode-1.a68: Likewise.
* algol68/compile/error-underscore-in-tag-1.a68: Likewise.
* algol68/compile/error-upper-1.a68: Likewise.
* algol68/compile/error-widening-1.a68: Likewise.
* algol68/compile/error-widening-2.a68: Likewise.
* algol68/compile/error-widening-3.a68: Likewise.
* algol68/compile/error-widening-4.a68: Likewise.
* algol68/compile/error-widening-5.a68: Likewise.
* algol68/compile/error-widening-6.a68: Likewise.
* algol68/compile/error-widening-7.a68: Likewise.
* algol68/compile/error-widening-8.a68: Likewise.
* algol68/compile/error-widening-9.a68: Likewise.
* algol68/compile/hidden-operators-1.a68: Likewise.
* algol68/compile/implicit-widening-1.a68: Likewise.
* algol68/compile/include-supper.a68: Likewise.
* algol68/compile/include.a68: Likewise.
* algol68/compile/labeled-unit-1.a68: Likewise.
* algol68/compile/nested-comment-1.a68: Likewise.
* algol68/compile/nested-comment-2.a68: Likewise.
* algol68/compile/operators-firmly-related.a68: Likewise.
* algol68/compile/recursive-modes-1.a68: Likewise.
* algol68/compile/recursive-modes-2.a68: Likewise.
* algol68/compile/serial-clause-jump-1.a68: Likewise.
* algol68/compile/snobol.a68: Likewise.
* algol68/compile/supper-1.a68: Likewise.
* algol68/compile/supper-10.a68: Likewise.
* algol68/compile/supper-11.a68: Likewise.
* algol68/compile/supper-12.a68: Likewise.
* algol68/compile/supper-13.a68: Likewise.
* algol68/compile/supper-2.a68: Likewise.
* algol68/compile/supper-3.a68: Likewise.
* algol68/compile/supper-4.a68: Likewise.
* algol68/compile/supper-5.a68: Likewise.
* algol68/compile/supper-6.a68: Likewise.
* algol68/compile/supper-7.a68: Likewise.
* algol68/compile/supper-8.a68: Likewise.
* algol68/compile/supper-9.a68: Likewise.
* algol68/compile/uniting-1.a68: Likewise.
* algol68/compile/upper-1.a68: Likewise.
* algol68/compile/warning-scope-1.a68: Likewise.
* algol68/compile/warning-scope-2.a68: Likewise.
* algol68/compile/warning-scope-3.a68: Likewise.
* algol68/compile/warning-scope-4.a68: Likewise.
* algol68/compile/warning-scope-5.a68: Likewise.
* algol68/compile/warning-scope-6.a68: Likewise.
* algol68/compile/warning-scope-7.a68: Likewise.
* algol68/compile/warning-voiding-1.a68: Likewise.
* algol68/compile/warning-voiding-2.a68: Likewise.
2025-11-30 01:52:23 +01:00
Jose E. Marchesi
f34e1dcb98
a68: testsuite: execution tests 2/2
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/testsuite/ChangeLog
* algol68/execute/loop-7.a68: New file.
* algol68/execute/loop-8.a68: Likewise.
* algol68/execute/loop-9.a68: Likewise.
* algol68/execute/loop-overflow-underflow.a68: Likewise.
* algol68/execute/lt-int-1.a68: Likewise.
* algol68/execute/lt-string-stride-1.a68: Likewise.
* algol68/execute/lwb-1.a68: Likewise.
* algol68/execute/minus-int-1.a68: Likewise.
* algol68/execute/minusab-1.a68: Likewise.
* algol68/execute/minusab-2.a68: Likewise.
* algol68/execute/minusab-3.a68: Likewise.
* algol68/execute/minusab-4.a68: Likewise.
* algol68/execute/mod-int-1.a68: Likewise.
* algol68/execute/modab-1.a68: Likewise.
* algol68/execute/modab-2.a68: Likewise.
* algol68/execute/mode-indication-1.a68: Likewise.
* algol68/execute/mult-char-1.a68: Likewise.
* algol68/execute/mult-int-1.a68: Likewise.
* algol68/execute/mult-string-1.a68: Likewise.
* algol68/execute/mult-string-2.a68: Likewise.
* algol68/execute/mult-string-3.a68: Likewise.
* algol68/execute/mult-string-4.a68: Likewise.
* algol68/execute/multab-1.a68: Likewise.
* algol68/execute/multab-2.a68: Likewise.
* algol68/execute/multab-3.a68: Likewise.
* algol68/execute/mutual-recursion-1.a68: Likewise.
* algol68/execute/ne-bits-1.a68: Likewise.
* algol68/execute/ne-char-char-1.a68: Likewise.
* algol68/execute/ne-int-1.a68: Likewise.
* algol68/execute/ne-string-1.a68: Likewise.
* algol68/execute/neg-int-1.a68: Likewise.
* algol68/execute/not-bits-1.a68: Likewise.
* algol68/execute/odd-1.a68: Likewise.
* algol68/execute/op-1.a68: Likewise.
* algol68/execute/op-2.a68: Likewise.
* algol68/execute/op-3.a68: Likewise.
* algol68/execute/operator-declaration-1.a68: Likewise.
* algol68/execute/or-bits-1.a68: Likewise.
* algol68/execute/orf-1.a68: Likewise.
* algol68/execute/over-int-1.a68: Likewise.
* algol68/execute/overab-1.a68: Likewise.
* algol68/execute/overab-2.a68: Likewise.
* algol68/execute/particular-program-1.a68: Likewise.
* algol68/execute/plus-char-1.a68: Likewise.
* algol68/execute/plus-int-1.a68: Likewise.
* algol68/execute/plus-string-1.a68: Likewise.
* algol68/execute/plus-string-2.a68: Likewise.
* algol68/execute/plus-string-stride-1.a68: Likewise.
* algol68/execute/plusab-1.a68: Likewise.
* algol68/execute/plusab-2.a68: Likewise.
* algol68/execute/plusab-3.a68: Likewise.
* algol68/execute/plusab-4.a68: Likewise.
* algol68/execute/plusab-string-1.a68: Likewise.
* algol68/execute/plusto-char-1.a68: Likewise.
* algol68/execute/plusto-string-1.a68: Likewise.
* algol68/execute/posix-argc-argv-1.a68: Likewise.
* algol68/execute/posix-fopen-1.a68: Likewise.
* algol68/execute/posix-fputc-fputs-1.a68: Likewise.
* algol68/execute/posix-getenv-1.a68: Likewise.
* algol68/execute/posix-perror-1.a68: Likewise.
* algol68/execute/posix-putchar-1.a68: Likewise.
* algol68/execute/posix-stdinouterr-1.a68: Likewise.
* algol68/execute/posix-strerror-1.a68: Likewise.
* algol68/execute/posix-stride-1.a68: Likewise.
* algol68/execute/pow-int-1.a68: Likewise.
* algol68/execute/pow-real-1.a68: Likewise.
* algol68/execute/proc-1.a68: Likewise.
* algol68/execute/proc-10.a68: Likewise.
* algol68/execute/proc-12.a68: Likewise.
* algol68/execute/proc-13.a68: Likewise.
* algol68/execute/proc-14.a68: Likewise.
* algol68/execute/proc-15.a68: Likewise.
* algol68/execute/proc-16.a68: Likewise.
* algol68/execute/proc-17.a68: Likewise.
* algol68/execute/proc-18.a68: Likewise.
* algol68/execute/proc-19.a68: Likewise.
* algol68/execute/proc-2.a68: Likewise.
* algol68/execute/proc-20.a68: Likewise.
* algol68/execute/proc-21.a68: Likewise.
* algol68/execute/proc-22.a68: Likewise.
* algol68/execute/proc-23.a68: Likewise.
* algol68/execute/proc-25.a68: Likewise.
* algol68/execute/proc-26.a68: Likewise.
* algol68/execute/proc-27.a68: Likewise.
* algol68/execute/proc-28.a68: Likewise.
* algol68/execute/proc-29.a68: Likewise.
* algol68/execute/proc-3.a68: Likewise.
* algol68/execute/proc-4.a68: Likewise.
* algol68/execute/proc-5.a68: Likewise.
* algol68/execute/proc-6.a68: Likewise.
* algol68/execute/proc-7.a68: Likewise.
* algol68/execute/proc-8.a68: Likewise.
* algol68/execute/procedured-goto-1.a68: Likewise.
* algol68/execute/quine.a68: Likewise.
* algol68/execute/random-1.a68: Likewise.
* algol68/execute/re-im-1.a68: Likewise.
* algol68/execute/rela-string-1.a68: Likewise.
* algol68/execute/repr-1.a68: Likewise.
* algol68/execute/round-1.a68: Likewise.
* algol68/execute/row-display-1.a68: Likewise.
* algol68/execute/row-display-2.a68: Likewise.
* algol68/execute/row-display-3.a68: Likewise.
* algol68/execute/row-display-4.a68: Likewise.
* algol68/execute/row-display-5.a68: Likewise.
* algol68/execute/rowing-1.a68: Likewise.
* algol68/execute/rowing-10.a68: Likewise.
* algol68/execute/rowing-11.a68: Likewise.
* algol68/execute/rowing-12.a68: Likewise.
* algol68/execute/rowing-13.a68: Likewise.
* algol68/execute/rowing-2.a68: Likewise.
* algol68/execute/rowing-3.a68: Likewise.
* algol68/execute/rowing-4.a68: Likewise.
* algol68/execute/rowing-5.a68: Likewise.
* algol68/execute/rowing-6.a68: Likewise.
* algol68/execute/rowing-7.a68: Likewise.
* algol68/execute/rowing-8.a68: Likewise.
* algol68/execute/rowing-9.a68: Likewise.
* algol68/execute/selection-1.a68: Likewise.
* algol68/execute/selection-2.a68: Likewise.
* algol68/execute/selection-3.a68: Likewise.
* algol68/execute/selection-4.a68: Likewise.
* algol68/execute/selection-5.a68: Likewise.
* algol68/execute/selection-multiple-1.a68: Likewise.
* algol68/execute/selection-multiple-2.a68: Likewise.
* algol68/execute/serial-clause-1.a68: Likewise.
* algol68/execute/serial-clause-10.a68: Likewise.
* algol68/execute/serial-clause-2.a68: Likewise.
* algol68/execute/serial-clause-3.a68: Likewise.
* algol68/execute/serial-clause-4.a68: Likewise.
* algol68/execute/serial-clause-5.a68: Likewise.
* algol68/execute/serial-clause-6.a68: Likewise.
* algol68/execute/serial-clause-7.a68: Likewise.
* algol68/execute/serial-clause-8.a68: Likewise.
* algol68/execute/serial-clause-9.a68: Likewise.
* algol68/execute/serial-dsa-1.a68: Likewise.
* algol68/execute/serial-dsa-2.a68: Likewise.
* algol68/execute/serial-dsa-3.a68: Likewise.
* algol68/execute/serial-dsa-4.a68: Likewise.
* algol68/execute/serial-dsa-5.a68: Likewise.
* algol68/execute/serial-dsa-6.a68: Likewise.
* algol68/execute/sign-int-1.a68: Likewise.
* algol68/execute/sign-real-1.a68: Likewise.
* algol68/execute/sin-1.a68: Likewise.
* algol68/execute/skip-1.a68: Likewise.
* algol68/execute/skip-2.a68: Likewise.
* algol68/execute/skip-struct-1.a68: Likewise.
* algol68/execute/slice-indexing-1.a68: Likewise.
* algol68/execute/slice-indexing-2.a68: Likewise.
* algol68/execute/slice-indexing-3.a68: Likewise.
* algol68/execute/slice-indexing-4.a68: Likewise.
* algol68/execute/slice-indexing-5.a68: Likewise.
* algol68/execute/slice-indexing-6.a68: Likewise.
* algol68/execute/slice-indexing-7.a68: Likewise.
* algol68/execute/sqrt-1.a68: Likewise.
* algol68/execute/string-1.a68: Likewise.
* algol68/execute/string-2.a68: Likewise.
* algol68/execute/string-4.a68: Likewise.
* algol68/execute/string-break-1.a68: Likewise.
* algol68/execute/struct-self-1.a68: Likewise.
* algol68/execute/struct-self-2.a68: Likewise.
* algol68/execute/struct-self-3.a68: Likewise.
* algol68/execute/structure-display-1.a68: Likewise.
* algol68/execute/structure-display-2.a68: Likewise.
* algol68/execute/structure-display-3.a68: Likewise.
* algol68/execute/structure-display-4.a68: Likewise.
* algol68/execute/structure-display-5.a68: Likewise.
* algol68/execute/tan-1.a68: Likewise.
* algol68/execute/timesab-string-1.a68: Likewise.
* algol68/execute/trimmer-1.a68: Likewise.
* algol68/execute/trimmer-10.a68: Likewise.
* algol68/execute/trimmer-2.a68: Likewise.
* algol68/execute/trimmer-3.a68: Likewise.
* algol68/execute/trimmer-4.a68: Likewise.
* algol68/execute/trimmer-5.a68: Likewise.
* algol68/execute/trimmer-6.a68: Likewise.
* algol68/execute/trimmer-7.a68: Likewise.
* algol68/execute/trimmer-8.a68: Likewise.
* algol68/execute/trimmer-9.a68: Likewise.
* algol68/execute/trimmer-matrix-1.a68: Likewise.
* algol68/execute/trimmer-matrix-2.a68: Likewise.
* algol68/execute/trimmer-matrix-3.a68: Likewise.
* algol68/execute/trimmer-matrix-4.a68: Likewise.
* algol68/execute/trimmer-matrix-5.a68: Likewise.
* algol68/execute/trimmer-matrix-6.a68: Likewise.
* algol68/execute/trimmer-name-1.a68: Likewise.
* algol68/execute/undefined-1.a68: Likewise.
* algol68/execute/undefined-2.a68: Likewise.
* algol68/execute/undefined-3.a68: Likewise.
* algol68/execute/undefined-4.a68: Likewise.
* algol68/execute/undefined-5.a68: Likewise.
* algol68/execute/uniting-1.a68: Likewise.
* algol68/execute/uniting-2.a68: Likewise.
* algol68/execute/uniting-3.a68: Likewise.
* algol68/execute/uniting-4.a68: Likewise.
* algol68/execute/up-down-bits-1.a68: Likewise.
* algol68/execute/upb-1.a68: Likewise.
* algol68/execute/vacuum-1.a68: Likewise.
* algol68/execute/variable-declaration-1.a68: Likewise.
* algol68/execute/variable-declaration-2.a68: Likewise.
* algol68/execute/variable-declaration-3.a68: Likewise.
* algol68/execute/variable-declaration-4.a68: Likewise.
* algol68/execute/variable-declaration-5.a68: Likewise.
* algol68/execute/variable-declaration-6.a68: Likewise.
* algol68/execute/variable-declaration-heap-1.a68: Likewise.
* algol68/execute/variable-declaration-heap-2.a68: Likewise.
* algol68/execute/variable-declaration-multiple-1.a68: Likewise.
* algol68/execute/variable-declaration-multiple-2.a68: Likewise.
* algol68/execute/variable-declaration-multiple-3.a68: Likewise.
* algol68/execute/variable-declaration-multiple-4.a68: Likewise.
* algol68/execute/variable-declaration-multiple-5.a68: Likewise.
* algol68/execute/variable-declaration-multiple-6.a68: Likewise.
* algol68/execute/variable-declaration-multiple-7.a68: Likewise.
* algol68/execute/variable-declaration-multiple-8.a68: Likewise.
* algol68/execute/variable-declaration-multiple-9.a68: Likewise.
* algol68/execute/voiding-1.a68: Likewise.
* algol68/execute/widening-1.a68: Likewise.
* algol68/execute/widening-2.a68: Likewise.
* algol68/execute/widening-bits-1.a68: Likewise.
* algol68/execute/widening-bits-2.a68: Likewise.
* algol68/execute/widening-bits-3.a68: Likewise.
* algol68/execute/xor-bits-1.a68: Likewise.
* algol68/execute/environment-enquiries-8.a68: Likewise.
2025-11-30 01:52:22 +01:00
Jose E. Marchesi
e39070324a
a68: testsuite: execution tests 1/2
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/testsuite/ChangeLog
* algol68/execute/abs-bits-1.a68: New file.
* algol68/execute/abs-bool-1.a68: Likewise.
* algol68/execute/abs-char-1.a68: Likewise.
* algol68/execute/abs-int-1.a68: Likewise.
* algol68/execute/abs-int-negative-1.a68: Likewise.
* algol68/execute/abs-int-negative-gnu-1.a68: Likewise.
* algol68/execute/acos-1.a68: Likewise.
* algol68/execute/affirm-int-1.a68: Likewise.
* algol68/execute/and-bits-1.a68: Likewise.
* algol68/execute/andf-1.a68: Likewise.
* algol68/execute/ascription-1.a68: Likewise.
* algol68/execute/asin-1.a68: Likewise.
* algol68/execute/assert-1.a68: Likewise.
* algol68/execute/assignation-char-1.a68: Likewise.
* algol68/execute/assignation-int-1.a68: Likewise.
* algol68/execute/assignation-int-2.a68: Likewise.
* algol68/execute/assignation-int-3.a68: Likewise.
* algol68/execute/assignation-int-4.a68: Likewise.
* algol68/execute/assignation-int-5.a68: Likewise.
* algol68/execute/assignation-multiple-1.a68: Likewise.
* algol68/execute/assignation-multiple-2.a68: Likewise.
* algol68/execute/assignation-struct-1.a68: Likewise.
* algol68/execute/assignation-struct-2.a68: Likewise.
* algol68/execute/atan-1.a68: Likewise.
* algol68/execute/balancing-1.a68: Likewise.
* algol68/execute/balancing-rows-1.a68: Likewise.
* algol68/execute/bin-1.a68: Likewise.
* algol68/execute/bin-negative-1.a68: Likewise.
* algol68/execute/bin-negative-gnu-1.a68: Likewise.
* algol68/execute/boolops-1.a68: Likewise.
* algol68/execute/call-1.a68: Likewise.
* algol68/execute/call-2.a68: Likewise.
* algol68/execute/case-clause-1.a68: Likewise.
* algol68/execute/case-clause-2.a68: Likewise.
* algol68/execute/case-clause-3.a68: Likewise.
* algol68/execute/case-clause-4.a68: Likewise.
* algol68/execute/closed-clause-1.a68: Likewise.
* algol68/execute/closed-clause-2.a68: Likewise.
* algol68/execute/collateral-clause-1.a68: Likewise.
* algol68/execute/collateral-clause-2.a68: Likewise.
* algol68/execute/collateral-clause-3.a68: Likewise.
* algol68/execute/collateral-clause-4.a68: Likewise.
* algol68/execute/collateral-clause-5.a68: Likewise.
* algol68/execute/collateral-clause-6.a68: Likewise.
* algol68/execute/completer-1.a68: Likewise.
* algol68/execute/completer-10.a68: Likewise.
* algol68/execute/completer-2.a68: Likewise.
* algol68/execute/completer-3.a68: Likewise.
* algol68/execute/completer-4.a68: Likewise.
* algol68/execute/completer-5.a68: Likewise.
* algol68/execute/completer-6.a68: Likewise.
* algol68/execute/completer-7.a68: Likewise.
* algol68/execute/completer-8.a68: Likewise.
* algol68/execute/completer-9.a68: Likewise.
* algol68/execute/cond-clause-1.a68: Likewise.
* algol68/execute/cond-clause-2.a68: Likewise.
* algol68/execute/cond-clause-3.a68: Likewise.
* algol68/execute/cond-clause-4.a68: Likewise.
* algol68/execute/cond-clause-5.a68: Likewise.
* algol68/execute/cond-clause-6.a68: Likewise.
* algol68/execute/cond-clause-7.a68: Likewise.
* algol68/execute/cond-clause-8.a68: Likewise.
* algol68/execute/cond-clause-9.a68: Likewise.
* algol68/execute/conformity-clause-1.a68: Likewise.
* algol68/execute/conformity-clause-2.a68: Likewise.
* algol68/execute/conformity-clause-3.a68: Likewise.
* algol68/execute/conformity-clause-4.a68: Likewise.
* algol68/execute/conformity-clause-5.a68: Likewise.
* algol68/execute/conformity-clause-6.a68: Likewise.
* algol68/execute/conformity-clause-7.a68: Likewise.
* algol68/execute/conformity-clause-8.a68: Likewise.
* algol68/execute/conformity-clause-9.a68: Likewise.
* algol68/execute/conj-1.a68: Likewise.
* algol68/execute/cos-1.a68: Likewise.
* algol68/execute/declarer-1.a68: Likewise.
* algol68/execute/declarer-2.a68: Likewise.
* algol68/execute/deprocedure-1.a68: Likewise.
* algol68/execute/deprocedure-2.a68: Likewise.
* algol68/execute/deref-1.a68: Likewise.
* algol68/execute/deref-2.a68: Likewise.
* algol68/execute/deref-3.a68: Likewise.
* algol68/execute/deref-4.a68: Likewise.
* algol68/execute/deref-5.a68: Likewise.
* algol68/execute/deref-6.a68: Likewise.
* algol68/execute/deref-7.a68: Likewise.
* algol68/execute/deref-8.a68: Likewise.
* algol68/execute/div-int-1.a68: Likewise.
* algol68/execute/divab-real-1.a68: Likewise.
* algol68/execute/elem-bits-1.a68: Likewise.
* algol68/execute/elems-1.a68: Likewise.
* algol68/execute/elems-2.a68: Likewise.
* algol68/execute/entier-1.a68: Likewise.
* algol68/execute/environment-enquiries-1.a68: Likewise.
* algol68/execute/environment-enquiries-2.a68: Likewise.
* algol68/execute/environment-enquiries-3.a68: Likewise.
* algol68/execute/environment-enquiries-4.a68: Likewise.
* algol68/execute/environment-enquiries-5.a68: Likewise.
* algol68/execute/environment-enquiries-6.a68: Likewise.
* algol68/execute/environment-enquiries-7.a68: Likewise.
* algol68/execute/environment-enquiries-8.a68: Likewise.
* algol68/execute/eq-bits-1.a68: Likewise.
* algol68/execute/eq-char-char-1.a68: Likewise.
* algol68/execute/eq-int-1.a68: Likewise.
* algol68/execute/eq-string-1.a68: Likewise.
* algol68/execute/eq-string-stride-1.a68: Likewise.
* algol68/execute/execute.exp: Likewise.
* algol68/execute/factorial-1.a68: Likewise.
* algol68/execute/flat-assignation-1.a68: Likewise.
* algol68/execute/flat-assignation-2.a68: Likewise.
* algol68/execute/flex-1.a68: Likewise.
* algol68/execute/flex-2.a68: Likewise.
* algol68/execute/flex-3.a68: Likewise.
* algol68/execute/flex-4.a68: Likewise.
* algol68/execute/flex-5.a68: Likewise.
* algol68/execute/formula-1.a68: Likewise.
* algol68/execute/formula-2.a68: Likewise.
* algol68/execute/fsize-1.a68: Likewise.
* algol68/execute/ge-int-1.a68: Likewise.
* algol68/execute/ge-string-stride-1.a68: Likewise.
* algol68/execute/gen-flex-1.a68: Likewise.
* algol68/execute/gen-heap-1.a68: Likewise.
* algol68/execute/gen-heap-2.a68: Likewise.
* algol68/execute/gen-heap-3.a68: Likewise.
* algol68/execute/gen-heap-bool-1.a68: Likewise.
* algol68/execute/gen-heap-int-1.a68: Likewise.
* algol68/execute/gen-heap-real-1.a68: Likewise.
* algol68/execute/gen-heap-struct-1.a68: Likewise.
* algol68/execute/gen-heap-struct-2.a68: Likewise.
* algol68/execute/gen-heap-struct-3.a68: Likewise.
* algol68/execute/gen-loc-1.a68: Likewise.
* algol68/execute/gen-loc-2.a68: Likewise.
* algol68/execute/gen-loc-3.a68: Likewise.
* algol68/execute/gen-loc-4.a68: Likewise.
* algol68/execute/gen-multiple-1.a68: Likewise.
* algol68/execute/gen-union-1.a68: Likewise.
* algol68/execute/gen-union-2.a68: Likewise.
* algol68/execute/gen-union-3.a68: Likewise.
* algol68/execute/goto-1.a68: Likewise.
* algol68/execute/goto-2.a68: Likewise.
* algol68/execute/goto-3.a68: Likewise.
* algol68/execute/goto-4.a68: Likewise.
* algol68/execute/goto-5.a68: Likewise.
* algol68/execute/gt-int-1.a68: Likewise.
* algol68/execute/gt-string-stride-1.a68: Likewise.
* algol68/execute/i-1.a68: Likewise.
* algol68/execute/i-2.a68: Likewise.
* algol68/execute/identification-1.a68: Likewise.
* algol68/execute/identification-2.a68: Likewise.
* algol68/execute/identity-declaration-1.a68: Likewise.
* algol68/execute/identity-declaration-2.a68: Likewise.
* algol68/execute/identity-declaration-3.a68: Likewise.
* algol68/execute/identity-declaration-4.a68: Likewise.
* algol68/execute/identity-declaration-5.a68: Likewise.
* algol68/execute/identity-declaration-multiple-1.a68: Likewise.
* algol68/execute/identity-declaration-multiple-2.a68: Likewise.
* algol68/execute/identity-declaration-multiple-3.a68: Likewise.
* algol68/execute/identity-declaration-multiple-5.a68: Likewise.
* algol68/execute/identity-declaration-multiple-empty-1.a68: Likewise.
* algol68/execute/identity-declaration-multiple-empty-2.a68: Likewise.
* algol68/execute/identity-declaration-multiple-empty-3.a68: Likewise.
* algol68/execute/identity-declaration-multiple-empty-4.a68: Likewise.
* algol68/execute/identity-declaration-struct-1.a68: Likewise.
* algol68/execute/infinity-1.a68: Likewise.
* algol68/execute/le-ge-bits-1.a68: Likewise.
* algol68/execute/le-int-1.a68: Likewise.
* algol68/execute/le-string-stride-1.a68: Likewise.
* algol68/execute/leng-shorten-bits-1.a68: Likewise.
* algol68/execute/leng-shorten-ints-1.a68: Likewise.
* algol68/execute/leng-shorten-reals-1.a68: Likewise.
* algol68/execute/lengths-shorths-1.a68: Likewise.
* algol68/execute/lisp-1.a68: Likewise.
* algol68/execute/lisp-2.a68: Likewise.
* algol68/execute/ln-1.a68: Likewise.
* algol68/execute/log-1.a68: Likewise.
* algol68/execute/loop-1.a68: Likewise.
* algol68/execute/loop-10.a68: Likewise.
* algol68/execute/loop-11.a68: Likewise.
* algol68/execute/loop-12.a68: Likewise.
* algol68/execute/loop-13.a68: Likewise.
* algol68/execute/loop-14.a68: Likewise.
* algol68/execute/loop-2.a68: Likewise.
* algol68/execute/loop-3.a68: Likewise.
* algol68/execute/loop-4.a68: Likewise.
* algol68/execute/loop-5.a68: Likewise.
* algol68/execute/loop-6.a68: Likewise.
2025-11-30 01:52:21 +01:00
Jose E. Marchesi
de13ec46e3
a68: testsuite: infrastructure
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/testsuite/ChangeLog
* lib/algol68-dg.exp: New file.
* lib/algol68-torture.exp: Likewise.
* lib/algol68.exp: Likewise.
2025-11-30 01:52:21 +01:00
Jose E. Marchesi
4aa120ce5e
a68: libga68: build system (generated files)
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
ChangeLog
* libga68/config.h.in: Regenerate.
* libga68/configure: Likewise.
* libga68/Makefile.in: Likewise.
* libga68/aclocal.m4: Likewise.
2025-11-30 01:52:20 +01:00
Jose E. Marchesi
18518d2843
a68: libga68: build system
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
ChangeLog
* libga68/Makefile.am: New file.
* libga68/configure.ac: Likewise.
* libga68/Makefile.in: Generate.
* libga68/aclocal.m4: Likewise.
2025-11-30 01:52:20 +01:00
Jose E. Marchesi
b67e045af7
a68: libga68: sources, spec and misc files
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
ChangeLog
* libga68/README: New file.
* libga68/ga68-alloc.c: Likewise.
* libga68/ga68-error.c: Likewise.
* libga68/ga68-posix.c: Likewise.
* libga68/ga68-standenv.c: Likewise.
* libga68/ga68-unistr.c: Likewise.
* libga68/ga68.h: Likewise.
* libga68/libga68.c: Likewise.
* libga68/libga68.spec.in: Likewise.
2025-11-30 01:52:19 +01:00
Jose E. Marchesi
1150e6de75
a68: low: modes
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/ChangeLog
* algol68/a68-low-moids.cc: New file.
2025-11-30 01:52:19 +01:00
Jose E. Marchesi
85811069bf
a68: low: units and coercions
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/ChangeLog
* algol68/a68-low-coercions.cc: New file.
* algol68/a68-low-generator.cc: Likewise.
* algol68/a68-low-units.cc: Likewise.
2025-11-30 01:52:19 +01:00
Jose E. Marchesi
dc2759b1a9
a68: low: ranges
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/ChangeLog
* algol68/a68-low-ranges.cc: New file.
2025-11-30 01:52:18 +01:00
Jose E. Marchesi
a520f14594
a68: low: builtins
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/ChangeLog
* algol68/a68-low-builtins.cc: New file.
2025-11-30 01:52:18 +01:00
Jose E. Marchesi
28b80fb762
a68: low: runtime
...
Libcalls for operations implemented in the run-time environment.
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/ChangeLog
* algol68/a68-low-runtime.cc: New file.
* algol68/a68-low-runtime.def: Likewise.
2025-11-30 01:52:17 +01:00
Jose E. Marchesi
f3051813b8
a68: low: clauses and declarations
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/ChangeLog
* algol68/a68-low-clauses.cc: New file.
* algol68/a68-low-decls.cc: Likewise.
2025-11-30 01:52:16 +01:00
Jose E. Marchesi
d27b9ed9c7
a68: low: standard prelude
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/ChangeLog
* algol68/a68-low-posix.cc: New file.
* algol68/a68-low-prelude.cc: Likewise.
2025-11-30 01:52:16 +01:00
Jose E. Marchesi
0defb7f15e
a68: low: stowed values
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/ChangeLog
* algol68/a68-low-multiples.cc: New file.
* algol68/a68-low-structs.cc: Likewise.
* algol68/a68-low-unions.cc: Likewise.
2025-11-30 01:52:16 +01:00
Jose E. Marchesi
466a286c33
a68: low: plain values
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/ChangeLog
* algol68/a68-low-bits.cc: New file.
* algol68/a68-low-bools.cc: Likewise.
* algol68/a68-low-chars.cc: Likewise.
* algol68/a68-low-complex.cc: Likewise.
* algol68/a68-low-ints.cc: Likewise.
* algol68/a68-low-procs.cc: Likewise.
* algol68/a68-low-reals.cc: Likewise.
* algol68/a68-low-refs.cc: Likewise.
* algol68/a68-low-strings.cc: Likewise.
2025-11-30 01:52:15 +01:00
Jose E. Marchesi
bb9c6fecc4
a68: low: lowering entry point and misc handlers
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/ChangeLog
* algol68/a68-low.cc: New file.
* algol68/a68-low-misc.cc: Likewise.
2025-11-30 01:52:14 +01:00
Jose E. Marchesi
1730426b8a
a68: parser: pragmats infrastructure
...
This patch adds the infrastructure for adding handlers for pragmats,
along with some intial support for the "access Module" pragmat.
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/ChangeLog
* algol68/a68-parser-pragmat.cc: New file.
2025-11-30 01:52:14 +01:00
Jose E. Marchesi
803189d932
a68: parser: dynamic stack usage in serial clauses
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/ChangeLog
* algol68/a68-parser-serial-dsa.cc: New file.
2025-11-30 01:52:13 +01:00
Jose E. Marchesi
ef7c6104e5
a68: parser: extraction of tags from phrases
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
Co-authored-by: Marcel van der Veer <algol68g@xs4all.nl >
2025-11-30 01:52:12 +01:00
Jose E. Marchesi
b95636bf3e
a68: parser: debug facilities
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/ChangeLog
* algol68/a68-parser-debug.cc: New file.
2025-11-30 01:52:12 +01:00
Jose E. Marchesi
9b33d117f8
a68: parser: static scope checker
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
Co-authored-by: Marcel van der Veer <algol68g@xs4all.nl >
2025-11-30 01:52:12 +01:00
Jose E. Marchesi
95b025f3a1
a68: parser: symbol table management
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
Co-authored-by: Marcel van der Veer <algol68g@xs4all.nl >
2025-11-30 01:52:11 +01:00
Jose E. Marchesi
942dff65c0
a68: parser: parsing of modes
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
Co-authored-by: Marcel van der Veer <algol68g@xs4all.nl >
2025-11-30 01:52:11 +01:00
Jose E. Marchesi
9c7a056adb
a68: parser: standard prelude definitions
...
Definitions of standard identifiers, procedures and modes.
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
Co-authored-by: Marcel van der Veer <algol68g@xs4all.nl >
2025-11-30 01:52:10 +01:00
Jose E. Marchesi
6fe1583fbf
a68: parser: syntax check for declarers
...
Thi pass checks the syntax of formal, actual and virtual declarers.
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
Co-authored-by: Marcel van der Veer <algol68g@xs4all.nl >
2025-11-30 01:52:10 +01:00
Jose E. Marchesi
4928aa83e1
a68: parser: bottom-up parser
...
Bottom-up parser for the Algol 68 front-end.
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
Co-authored-by: Marcel van der Veer <algol68g@xs4all.nl >
2025-11-30 01:52:10 +01:00
Jose E. Marchesi
96820d1c46
a68: parser: parenthesis checker
...
This pass makes sure all brackets (parenthesis) are matched in the
source program.
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
Co-authored-by: Marcel van der Veer <algol68g@xs4all.nl >
2025-11-30 01:52:09 +01:00
Jose E. Marchesi
0c5facd729
a68: parser: top-down parser
...
Top-down parser for the Algol 68 front-end.
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
Co-authored-by: Marcel van der Veer <algol68g@xs4all.nl >
2025-11-30 01:52:09 +01:00
Jose E. Marchesi
ef6b8bebb7
a68: parser: keyword tables management
...
This commit adds code to manage the table of keywords (bold words) in
the Algol 68 front-end.
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
Co-authored-by: Marcel van der Veer <algol68g@xs4all.nl >
2025-11-30 01:52:08 +01:00
Jose E. Marchesi
c08d036dd9
a68: parser: scanner
...
Lexer for the Algol 68 front-end.
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
Co-authored-by: Marcel van der Veer <algol68g@xs4all.nl >
2025-11-30 01:52:08 +01:00
Jose E. Marchesi
539d0c1300
a68: parser: AST nodes attributes/types
...
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/ChangeLog
* algol68/a68-parser-attrs.def: New file.
2025-11-30 01:52:07 +01:00
Jose E. Marchesi
bffb702400
a68: parser: entry point
...
This commit adds the parsing support code and the entry point to the
parser.
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
Co-authored-by: Marcel van der Veer <algol68g@xs4all.nl >
2025-11-30 01:52:06 +01:00
Jose E. Marchesi
4e61dc5749
a68: modules imports
...
This patch adds support for importing module interfaces, read from
object files, shared objects, archives or stand-alone files.
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/ChangeLog
* algol68/a68-imports.cc: New file.
2025-11-30 01:52:06 +01:00
Jose E. Marchesi
51b5a394d9
a68: modules exports
...
This commit adds the code that handles the exports information for the
module definitions in prelude packets. The exports info is generated
in a section in the output object file.
A precise description of the binary format in which the exports are
encoded is expressed in an included GNU poke pickle ga68-exports.pk.
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/ChangeLog
* algol68/a68-exports.cc: New file.
* algol68/ga68-exports.pk: Likewise.
2025-11-30 01:52:06 +01:00
Jose E. Marchesi
54d11abf26
a68: front-end diagnostics
...
This commit adds the diagnostics infrastructure for the Algol 68
front-end.
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
Co-authored-by: Marcel van der Veer <algol68g@xs4all.nl >
gcc/ChangeLog
* algol68/a68-diagnostics.cc: New file.
2025-11-30 01:52:05 +01:00
Jose E. Marchesi
c92ad59aa2
a68: unicode support routines
...
This commit adds several utility functions to deal with Unicode
strings.
These functions have been adapted from the libunistring gnulib module.
gcc/ChangeLog
* algol68/a68-unistr.c: New file.
2025-11-30 01:52:05 +01:00
Jose E. Marchesi
58c3f0fb3d
a68: a681 compiler proper
...
This commit adds the language hooks and the target hooks for the Algol
68 front-end, which implement the a681 compiler proper.
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/ChangeLog
* algol68/a68-lang.cc: New file.
2025-11-30 01:52:05 +01:00
Jose E. Marchesi
df160b3add
a68: ga68 compiler driver
...
This commit adds the main sources for the ga68 compiler driver.
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/ChangeLog:
* algol68/a68spec.cc: New file.
* algol68/lang-specs.h: Likewise.
2025-11-30 01:52:04 +01:00
Jose E. Marchesi
9ed1b0e964
a68: gcc/algol68 misc files
...
README contains a description of the front-end, and brief instructions
for developers.
At the moment the front-end doesn't define any custom tree node, as of
yet. gcc/algol68/a68-tree.def is a placeholder where to have these
node codes.
a68-types.h and a68.h are the main header files used by the front-end.
Together they provide data definitions and prototypes of functions
defined in the .cc files.
ga68.vw contains a revised-report like formal description of the
language implemented by this compiler. This includes GNU extensions.
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org >
gcc/ChangeLog
* algol68/README: New file.
* algol68/a68-tree.def: Likewise.
* algol68/a68-types.h: Likewise.
* algol68/a68.h: Likewise.
* algol68/ga68.vw: Likewise.
2025-11-30 01:52:04 +01:00
GCC Administrator
5d70604b74
Daily bump.
2025-11-30 00:16:27 +00:00
Nathaniel Shead
858f300727
c++: Support template block-scope OpenMP user-defined reductions in modules [PR119864]
...
There were two issues preventing OpenMP reductions of UDTs from working
in modules.
Firstly, we were failing a number of checking asserts in the streaming
logic because the declaration is a DECL_LOCAL_DECL_P but was not
correctly added to the BLOCK of the function template. This is because
cp_parser_omp_declare_reduction only called pushdecl when
!processing_template_decl; correcting this fixed this issue.
The second issue is that modules saw this as a function definition and
so attempted to call allocate_struct_function on it, which crashes.
Given that these reduction functions don't really behave like real
function definitions in any other way, I think the cleanest solution is
to just skip all the function definition post-processing in modules;
this seems to work to get the test functioning correctly, from what I
can see.
PR c++/119864
gcc/cp/ChangeLog:
* module.cc (trees_in::read_function_def): Don't call
post_process on OpenMP UDT reductions.
* parser.cc (cp_parser_omp_declare_reduction): Call push_decl
for block_scope, even when processing_template_decl.
gcc/testsuite/ChangeLog:
* g++.dg/modules/omp-4_a.C: New test.
* g++.dg/modules/omp-4_b.C: New test.
Signed-off-by: Nathaniel Shead <nathanieloshead@gmail.com >
Reviewed-by: Jakub Jelinek <jakub@redhat.com >
Reviewed-by: Jason Merrill <jason@redhat.com >
2025-11-30 11:01:09 +11:00
Eczbek
ef4cd115ef
c++: Allow lambda expressions in template type parameters [PR116952]
...
PR c++/116952
gcc/cp/ChangeLog:
* parser.cc (cp_parser_lambda_expression): Revert
r11-8166-ge1666ebd9ad31d change prohibiting lambda in non-type
parameter.
gcc/testsuite/ChangeLog:
* g++.dg/cpp2a/lambda-uneval14.C: Revise incorrect test.
* g++.dg/cpp2a/lambda-uneval29.C: New test.
Co-authored-by: Jason Merrill <jason@redhat.com >
2025-11-29 23:06:05 +05:30
Jakub Jelinek
54480d16b6
c++: Limit P2795R5 handling of jumps across vacuous inits to !processing_template_decl [PR122758]
...
The extra handling of jumps across vacuous inits for -std=c++26
or -ftrivial-auto-var-init={zero,pattern} added for P2795R5 is undesirable
when processing_template_decl, because it creates labels without DECL_NAME
and GOTO_EXPRs to those and those can't be tsubsted.
I was afraid the pop_labels and check_goto_1 and check_previous_goto_1
handling might not happen again during instantiation, but clearly it does
happen fully (and has to, because whether some declaration has vacuous
initialization or not can't be decided in some cases when parsing the
template, if dependent types are involved).
So, this patch just restricts the P2795R5 PR114457 r16-4212 changes
to !processing_template_decl and adds 2 copies of the erroneous2.C testcase,
one changing the function into a function template where nothing is
dependent and another one where most of the declarations are dependent.
2025-11-29 Jakub Jelinek <jakub@redhat.com >
PR c++/122758
* decl.cc (pop_labels): Don't call adjust_backward_gotos if
processing_template_decl.
(decl_instrument_init_bypass_p): Always return false if
processing_template_decl.
(check_goto_1): Don't push anything to direct_goto vector
if processing_template_decl.
* g++.dg/cpp26/erroneous5.C: New test.
* g++.dg/cpp26/erroneous6.C: New test.
2025-11-29 17:37:58 +01:00
Richard Biener
55049da531
Bump libgo SONAME
...
The following bumps the libgo SONAME to prevent PR119098 from re-appearing
for GCC 15/16.
For PR go/122802
2025-11-29 12:28:38 +01:00
Richard Biener
bd098c34be
Bump libgcobol SONAME
...
This bumps the libgcobol SONAME for GCC 16 since compared to GCC 15
there are removed symbols and key data structures have changed.
PR cobol/122803
libgcobol/
* configure.ac (LIBGCOBOL_VERSION): Bump to 2:0:0.
* configure: Re-generate.
2025-11-29 12:28:21 +01:00
Sandra Loosemore
82d852b23e
doc: make regenerate-opt-urls
...
gcc/ChangeLog
* common.opt.urls: Regenerated.
* config/aarch64/aarch64.opt.urls: Regenerated.
* config/alpha/alpha.opt.urls: Regenerated.
* config/arm/arm.opt.urls: Regenerated.
* config/avr/avr.opt.urls: Regenerated.
* config/bpf/bpf.opt.urls: Regenerated.
* config/c6x/c6x.opt.urls: Regenerated.
* config/cris/cris.opt.urls: Regenerated.
* config/cris/elf.opt.urls: Regenerated.
* config/csky/csky.opt.urls: Regenerated.
* config/darwin.opt.urls: Regenerated.
* config/epiphany/epiphany.opt.urls: Regenerated.
* config/frv/frv.opt.urls: Regenerated.
* config/ft32/ft32.opt.urls: Regenerated.
* config/gcn/gcn.opt.urls: Regenerated.
* config/i386/i386.opt.urls: Regenerated.
* config/ia64/ia64.opt.urls: Regenerated.
* config/loongarch/loongarch.opt.urls: Regenerated.
* config/m68k/m68k.opt.urls: Regenerated.
* config/microblaze/microblaze.opt.urls: Regenerated.
* config/mips/mips.opt.urls: Regenerated.
* config/mmix/mmix.opt.urls: Regenerated.
* config/or1k/or1k.opt.urls: Regenerated.
* config/pa/pa.opt.urls: Regenerated.
* config/pdp11/pdp11.opt.urls: Regenerated.
* config/rs6000/rs6000.opt.urls: Regenerated.
* config/s390/s390.opt.urls: Regenerated.
* config/sparc/sparc.opt.urls: Regenerated.
* config/v850/v850.opt.urls: Regenerated.
* config/vax/vax.opt.urls: Regenerated.
* config/visium/visium.opt.urls: Regenerated.
2025-11-29 03:27:11 +00:00