On Mon, Sep 08, 2025 at 08:19:39AM +0200, Matthias Kretz wrote: > Andrew Pinski [Friday, 5 September 2025, 22:50:30 CEST]: > > On Fri, Sep 5, 2025 at 4:06 AM Matthias Kretz <m.kr...@gsi.de> wrote: > > > diff --git a/gcc/testsuite/g++.dg/pr121801_float16_cst_mangling.C b/gcc/ > > > testsuite/g++.dg/pr121801_float16_cst_mangling.C > > > new file mode 100644 > > > index 00000000000..030822ff1c8 > > > --- /dev/null > > > +++ b/gcc/testsuite/g++.dg/pr121801_float16_cst_mangling.C > > > @@ -0,0 +1,12 @@ > > > +// PR c++/121801 > > > +// { dg-do compile { target c++20 } } > > > > Since you are using _Float16 and not all target supports _Float16, > > this should also use float16 as the target marker so: > > // { dg-do compile { target {c++20 && float16 } } } > > Thanks. I assume doing this ^ is enough so that I don't have to any of what > Jakub wrote? (dg-add-options float16, #ifdef __FLT16_MANT_DIG__, and { target > float16 } on dg-final)
No. dg-add-options float16 is still needed. E.g. ia32 is a float16 target, but _Float16 isn't supported unless -msse2 is added to the options (which dg-add-options float16 does). The #ifdef and target on dg-final is not. Jakub