While reading the compiler output of

    make check-target-libstdc++-v3

for buggy code, e.g. cmp_equal(1.0, 1.0), the error message
was very short, and I saw no hint that neither of the two
template arguments weren't integers. Essentially, the trace
was:

  1. my faulty line
  2. required from here
  3. static_assert(false)

On regular builds with g++ the error message mentions the
static_assert(__is_standard_integer), and is much less
cryptic. Please ignore if this is intended behaviour.

Tested on x86_64 with:

    make check-target-libstdc++-v3

(in a no PCH build).

Luc Grosheintz (1):
  libstdc++: Improve diagnostic message for `cmp_*` and `in_range`.

 libstdc++-v3/include/std/utility | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

-- 
2.49.0

Reply via email to