diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2024-05-22 18:10:39 +0200 |
---|---|---|
committer | Eric Botcazou <ebotcazou@adacore.com> | 2024-05-22 18:13:54 +0200 |
commit | f14ef5cfd4c1ba1d34afda9174935e40d3c0a3ce (patch) | |
tree | f7cb294a29c89489b458686df0e452c84cd86484 /gcc/cp | |
parent | a3b16e73a2d5b2d4d20ef6f2fd164cea633bbec8 (diff) | |
download | gcc-f14ef5cfd4c1ba1d34afda9174935e40d3c0a3ce.zip gcc-f14ef5cfd4c1ba1d34afda9174935e40d3c0a3ce.tar.gz gcc-f14ef5cfd4c1ba1d34afda9174935e40d3c0a3ce.tar.bz2 |
Fix internal error in seh_cfa_offset with -O2 -fno-omit-frame-pointer
The problem directly comes from the -ffold-mem-offsets pass messing up with
the prologue and the frame-related instructions, which is a no-no with SEH,
so the fix simply disconnects the pass in these circumstances.
gcc/
PR rtl-optimization/115038
* fold-mem-offsets.cc (fold_offsets): Return 0 if the defining
instruction of the register is frame related.
gcc/testsuite/
* g++.dg/opt/fmo1.C: New test.
Diffstat (limited to 'gcc/cp')
0 files changed, 0 insertions, 0 deletions