Landing: 1b722d3b41f1

Project / Subsystem

gcc / algol68

Date

2026-07-20

Author

chris hermansen

Commit

1b722d3b41f1699b3d60db6747e234412b314e02

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
algol68
patch_id
commit_hash
1b722d3b41f1699b3d60db6747e234412b314e02
source_type
github
headline
algol68: New 'whole' procedure implementation from Revised Report
tldr
Replaces the old 'whole' procedure with a more robust and efficient version based on the Algol68 Revised Report.
author
chris hermansen
outcome
committed
performance_win
true
breaking_change
false
series_id
series_parts
[]
tags
  • algol68
  • compiler bug
  • integer conversion
discussion_id_link
bugzilla_pr
date
2026-07-20T00:00:00.000Z

GCC’s Algol68 compiler has a new implementation for the whole procedure, based on the Revised Report. This version addresses a critical bug in the previous implementation where it failed for negative values closest to the minimum integer, due to an incorrect application of the ABS operator on two’s complement systems. The new implementation avoids ABS and processes numbers left-to-right, using string concatenation or length determination for efficiency, and is immune to the overflow issue with ABS(minimum_integer).