<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/103019>103019</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Clang does not recognize(use) constexpr features
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          socketpair
      </td>
    </tr>
</table>

<pre>
    ```cpp
#include <algorithm>
#include <array>
#include <string_view>

using namespace std;

int main1() {
    constexpr array<string_view, 2> x{{"name1", "name2"}};
    constexpr auto f1 = find(x.cbegin(), x.cend(), "name1") - x.cbegin();
    constexpr auto f2 = find(x.cbegin(), x.cend(), "name2") - x.cbegin();

    return f1 + f2;
}

int main2() {
    array<string_view, 2> x{{"name1", "name2"}};
    auto f1 = find(x.cbegin(), x.cend(), "name1") - x.cbegin();
    auto f2 = find(x.cbegin(), x.cend(), "name2") - x.cbegin();

    return f1 + f2;
}
```

`-std=c++23 -O3 -Wall -Wextra`

https://godbolt.org/z/vxsMEcWx9

As you can see, gcc is smarter.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMlMGOozgQhp-muJQSmTIJcODQ6XRuqz32cWVMhXjX2Mg2WbqffkQ6o3S3MjPSaEYayQKVqv76yj_YKkbTO-YGNjvY7DM1pZMPTfT6P06jMiFrfffSwFa8LT2OIPYgHoCkcdpOHSPIR2V7H0w6DSCf7uZDUC_fyMUUjOv_ORv-_1ZxeU7RuB6dGjiOSjPG1IHcva8wLuGgjMuBKqAaobymERG1dzHxPAa84j-g6BEJ5BPOi6bcAdECyoFoSV1DWsJyvyx5v_OUPB5zBLnHo3EdUDWvdcu9cW8jLc3mteZL6hp_YNW4wk-S76Hop1D0I9QNGDhNwV32RDs80q2k3N-znu5Z_6sN_-02_znmfj1p76WwFavLz7_XQDugHUlc_S1x9aysxdUzzymoT5pTSmME-QB0ADr0vmu9TWsfeqDDK9DhPMe_nvTzXL8XPUR88RNq5TAyL3vstUYTMQ4qJA7rrGtkV8taZdzkJcmN3BZ1kZ2aUgm1IalFXsj2KEVdbkrZHamsqdClPGamIUGFqHIpKlHlxVpQxUJWlDPV7VYQFIIHZeza2vOwDJqZGCduciFFXmdWtWzj5Z4i0la5frF9s89CswhW7dRHKIQ1McVbi2SS5eZxKcfOc0TnEwbWvnfmlYGqKfLy7W7H7MgqTYFjNgXbfDLRpNPUrrUfgA4L4vpajcH_yzoBHS4jR6DDdepzQ18CAAD__x0Kgz8">