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.