In gcc.dg/Wconversion-real.c we see this:

  vdouble = 3.1L; /* { dg-warning "conversion" "" { target large_long_double } 
} */

It turns out check_effective_target_large_long_double is NEVER called.
You can change it to some bogus string:

  fdouble (3.1L); /* { dg-warning "conversion" "" { target dj_wins } } */

and the test still passes - no complaints about a missing "dj_wins"
like you'd get with the dg-require-effective-target command.  Have we
been silently ignoring those warnings for *every* target all along?

I ask because I'm adding some new check-effectives, and reversed the
sense of the check to make sure it was doing its job, and found that
it wasn't.

Reply via email to