diff options
| author | Alex Rønne Petersen <alex@alexrp.com> | 2025-03-06 18:40:21 +0100 |
|---|---|---|
| committer | Alex Rønne Petersen <alex@alexrp.com> | 2025-04-04 06:08:10 +0200 |
| commit | 7415739e36cf16574b754dda5ce03c0026b6907c (patch) | |
| tree | e5a46f37de3cff3df28c4f4c441e1763ee9e7dea /lib/libcxx/src/valarray.cpp | |
| parent | 82b9d9c0f6adf471543b160e15eaeb2a14c722cb (diff) | |
| download | zig-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/valarray.cpp')
0 files changed, 0 insertions, 0 deletions
