[PATCH] D39284: [c++2a] Decomposed _condition_

Zhihao Yuan via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Oct 25 04:35:13 PDT 2017


lichray created this revision.

This feature was discussed but not yet proposed.  It allows a structured binding to appear as a //condition//

  if (auto [ok, val] = f(...))

So the user can save an extra //condition// if the statement can query the value to-be-decomposed instead.  Formally, it makes the value of the underlying object of the structured binding declaration also the value of a //condition// that is an initialized declaration.

Considering its logicality which is entirely evident from its trivial implementation, I think it might be acceptable to land it as an extension for now before I write the paper.


https://reviews.llvm.org/D39284

Files:
  include/clang/Sema/DeclSpec.h
  lib/Parse/ParseExprCXX.cpp
  lib/Sema/SemaDeclCXX.cpp
  test/Parser/cxx2a-decomposition.cpp
  test/SemaCXX/cxx2a-decomposition.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D39284.120227.patch
Type: text/x-patch
Size: 5872 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20171025/441e32ea/attachment-0001.bin>


More information about the cfe-commits mailing list