aboutsummaryrefslogtreecommitdiff
path: root/lib/libcxx/src/string.cpp
diff options
context:
space:
mode:
authorAlex Rønne Petersen <alex@alexrp.com>2025-03-06 18:40:21 +0100
committerAlex Rønne Petersen <alex@alexrp.com>2025-04-04 06:08:10 +0200
commit7415739e36cf16574b754dda5ce03c0026b6907c (patch)
treee5a46f37de3cff3df28c4f4c441e1763ee9e7dea /lib/libcxx/src/string.cpp
parent82b9d9c0f6adf471543b160e15eaeb2a14c722cb (diff)
downloadzig-7415739e36cf16574b754dda5ce03c0026b6907c.tar.gz
zig-7415739e36cf16574b754dda5ce03c0026b6907c.zip
Sema: Prevent tail calls of std.builtin.returnError().
LLVM 20 started tail-calling it in some of our test cases, resulting in: error: AndMyCarIsOutOfGas /home/alexrp/Source/ziglang/zig-llvm20/repro.zig:2:5: 0x103ef9d in main (repro) return error.TheSkyIsFalling; ^ /home/alexrp/Source/ziglang/zig-llvm20/repro.zig:6:5: 0x103efa5 in main (repro) return error.AndMyCarIsOutOfGas; ^ /home/alexrp/Source/ziglang/zig-llvm20/lib/std/start.zig:656:37: 0x103ee83 in posixCallMainAndExit (repro) const result = root.main() catch |err| { ^ instead of the expected: error: AndMyCarIsOutOfGas /home/alexrp/Source/ziglang/zig-llvm20/repro.zig:2:5: 0x103f00d in main (repro) return error.TheSkyIsFalling; ^ /home/alexrp/Source/ziglang/zig-llvm20/repro.zig:6:5: 0x103f015 in main (repro) return error.AndMyCarIsOutOfGas; ^ /home/alexrp/Source/ziglang/zig-llvm20/repro.zig:11:9: 0x103f01d in main (repro) try bar(); ^
Diffstat (limited to 'lib/libcxx/src/string.cpp')
0 files changed, 0 insertions, 0 deletions