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

Giuseppe D'Angelo <dangelog at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dangelog at gmail dot com

--- Comment #5 from Giuseppe D'Angelo <dangelog at gmail dot com> ---
Here's an even simpler testcase, rejected by GCC but accepted by Clang (with
libstdc++):

https://gcc.godbolt.org/z/63Wss3Ej8

#include <string>

constexpr void f(std::initializer_list<std::string>) {}
constexpr bool test()
{
    f({"x"});
    return true;
}

static_assert(test());



I've been trying to minimize the testcase by removing clutter from
basic_string: https://gcc.godbolt.org/z/haxvvr1YK

The fun part is that if one deletes the copy constructor (which is actually
never called) the code is accepted by GCC. That's what makes me think this is a
compiler bug.

Reply via email to