https://gcc.gnu.org/g:748f32e8ee0a21c807ecfd2372f298b538585693
commit r16-6852-g748f32e8ee0a21c807ecfd2372f298b538585693 Author: Mohammad-Reza Nabipoor <[email protected]> Date: Sat Jan 17 03:36:47 2026 +0100 a68: handle TImode in a68_type_for_{mode,size} Signed-off-by: Mohammad-Reza Nabipoor <[email protected]> gcc/algol68/ChangeLog PR algol68/123007 * a68-lang.cc (a68_type_for_mode): Handle TImode. (a68_type_for_size): Handle unsigned_intTI_type_node. Diff: --- gcc/algol68/a68-lang.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gcc/algol68/a68-lang.cc b/gcc/algol68/a68-lang.cc index c8e0a5767af5..482ae39d25c7 100644 --- a/gcc/algol68/a68-lang.cc +++ b/gcc/algol68/a68-lang.cc @@ -263,6 +263,9 @@ a68_option_lang_mask (void) static tree a68_type_for_mode (enum machine_mode mode, int unsignedp) { + if (mode == TImode) + return unsignedp ? unsigned_intTI_type_node : intTI_type_node; + if (mode == QImode) return unsignedp ? a68_short_short_bits_type :a68_short_short_int_type; @@ -319,6 +322,11 @@ a68_type_for_size (unsigned int bits, int unsignedp) { if (unsignedp) { + /* Handle TImode as a special case because it is used by some backends + (e.g. ARM) even though it is not available for normal use. */ + if (bits == TYPE_PRECISION (unsigned_intTI_type_node)) + return unsigned_intTI_type_node; + if (bits <= TYPE_PRECISION (a68_short_short_bits_type)) return a68_short_short_bits_type; if (bits <= TYPE_PRECISION (a68_short_bits_type))
