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

            Bug ID: 111242
           Summary: Out of bounds pointer arithmetic not caught in
                    constexpr
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: llvm at rifkin dot dev
  Target Milestone: ---

The following UB is not caught by gcc:

#include <vector>

constexpr auto tester() {
  std::vector<int> v = {1, 2, 3};
  auto p = &v[v.size() + 1];
  return &v[0] == p;
}

static_assert(!tester());


https://godbolt.org/z/Y3ofcb1b1

Reply via email to