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

            Bug ID: 115511
           Summary: ICE on ambigous overload for _Float32
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dv at vollmann dot ch
  Target Milestone: ---
            Target: avr

Created attachment 58445
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=58445&action=edit
Output from -freport-bug

On AVR for the default model float and double both are 32 bit.
When calling with a _Float32, I get an internal compiler error with this
program:

void f1(float x);
void f1(double x);

void f2(_Float32 x)
{
    f1(x);
}

I don't know the rules for _Float32 (this is an extremly stripped version of
the cmath header), but the program is probably ill-formed.
But still an error message would be nicer than an ICE ;-)

I used the AVR target, but this may be a problem on other targets where float
and double are the same size.

Reply via email to