[all-commits] [llvm/llvm-project] fdc41e: [libc++] Implement LWG1203

Louis Dionne via All-commits all-commits at lists.llvm.org
Tue Sep 22 14:15:57 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: fdc41e11f9687a50c97e2a59663bf2d541ff5489
      https://github.com/llvm/llvm-project/commit/fdc41e11f9687a50c97e2a59663bf2d541ff5489
  Author: Louis Dionne <ldionne at apple.com>
  Date:   2020-09-22 (Tue, 22 Sep 2020)

  Changed paths:
    M libcxx/include/istream
    M libcxx/include/ostream
    A libcxx/test/std/input.output/iostream.format/input.streams/istream.rvalue/not_istreamable.verify.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.rvalue/rvalue.pass.cpp
    R libcxx/test/std/input.output/iostream.format/output.streams/ostream.rvalue/CharT_pointer.pass.cpp
    A libcxx/test/std/input.output/iostream.format/output.streams/ostream.rvalue/not_ostreamable.verify.cpp
    A libcxx/test/std/input.output/iostream.format/output.streams/ostream.rvalue/rvalue.pass.cpp
    M libcxx/www/cxx2a_status.html

  Log Message:
  -----------
  [libc++] Implement LWG1203

Libc++ had an issue where nonsensical code like

  decltype(std::stringstream{} << std::vector<int>{});

would compile, as long as you kept the expression inside decltype in
an unevaluated operand. This turned out to be that we didn't implement
LWG1203, which clarifies what we should do in that case.

rdar://58769296




More information about the All-commits mailing list