https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115038

            Bug ID: 115038
           Summary: ICE in seh_cfa_offset since 14.1.0
           Product: gcc
           Version: 14.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: reiter.christoph at gmail dot com
  Target Milestone: ---

Downstream issue: https://github.com/msys2/MINGW-packages/issues/20861

The following code using GCC 14.1.0 on Windows targeting x86_64-w64-mingw32:

```
// gcc -c -fno-omit-frame-pointer -O2 repro.cpp
template <typename a> void b(a, a);
template <typename a> void c(a, a, float);
float d;
void e() {
  float f;
  c(f, f, d);
  b(0.0f, f);
}
```

results in

```
repro.cpp: In function 'void e()':
repro.cpp:8:1: internal compiler error: in seh_cfa_offset, at
config/i386/winnt.cc:1137
    8 | }
      | ^
```

* Replacing "-O2" with "-O1" fixes the issue
* Removing "-fno-omit-frame-pointer" fixes the issue
* Downgrading to GCC 13.2.0 fixes the issue

If there is any other information I can provide, let me know.

Reply via email to