Compiler Bug Causes Compiler Bug: How a 12-Year-Old G++ Bug Took Down Solidity
Compilers aren't supposed to crash — especially not when compiling perfectly valid code like this: // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.25; contract A { function a () public pure returns ( uint256 ) { return 1 ** 2 ; } } Yet running Solidity's compiler (solc) on this file on a standard Ubuntu 22.04 system (G++ 11.4, Boost 1.74) causes an immediate segmentation fault. At first, this seemed absurd. The code just returns 1 to the power of 2 — no memory tricks, unsafe casti