[all-commits] [llvm/llvm-project] 1e628d: [libc++] Do not enable P1951 before C++23, since i...

Louis Dionne via All-commits all-commits at lists.llvm.org
Mon Sep 27 14:07:01 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1e628d0c1405ad6fd1a8036cdef19692dbf8ac4b
      https://github.com/llvm/llvm-project/commit/1e628d0c1405ad6fd1a8036cdef19692dbf8ac4b
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2021-09-27 (Mon, 27 Sep 2021)

  Changed paths:
    M libcxx/include/__utility/pair.h
    M libcxx/test/std/utilities/utility/pairs/pairs.pair/U_V.pass.cpp
    A libcxx/test/std/utilities/utility/pairs/pairs.pair/ctor.brace-init.P1951.pass.cpp

  Log Message:
  -----------
  [libc++] Do not enable P1951 before C++23, since it's a breaking change

In reaction to the issues raised by Richard in https://llvm.org/D109066,
this commit does not apply P1951 as a DR in previous standard modes,
since it breaks valid code.

I do believe it should be applied as a DR, however ideally we'd get some
sort of statement from the Committee to this effect (and all implementations
would behave consistently). In the meantime, only implement P1951 starting
with C++23 -- we can always come back and apply it as a DR if that's what
the Committee says.

Differential Revision: https://reviews.llvm.org/D110347




More information about the All-commits mailing list