[PATCH] D140828: [WIP][C++] Implement "Deducing this" (P0847R7)

Corentin Jabot via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Jan 1 15:22:38 PST 2023


cor3ntin created this revision.
Herald added subscribers: steakhal, martong.
Herald added a reviewer: shafik.
Herald added a reviewer: NoQ.
Herald added a project: All.
cor3ntin requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

This patch implements P0847R7 (partially),
CWG2561 and CWG2653.

The patch is mostly feature complete
(except for explicit parameters in coroutines and mangling),
but obviously it's lacking in tests.

I'm hoping for early fedback and hopefully 
finding an agreement on mangling.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D140828

Files:
  clang/include/clang/AST/ASTLambda.h
  clang/include/clang/AST/Decl.h
  clang/include/clang/AST/DeclCXX.h
  clang/include/clang/AST/Expr.h
  clang/include/clang/AST/Stmt.h
  clang/include/clang/Basic/DiagnosticSemaKinds.td
  clang/include/clang/Sema/Sema.h
  clang/lib/AST/ASTImporter.cpp
  clang/lib/AST/ASTStructuralEquivalence.cpp
  clang/lib/AST/ComputeDependence.cpp
  clang/lib/AST/Decl.cpp
  clang/lib/AST/DeclCXX.cpp
  clang/lib/AST/DeclPrinter.cpp
  clang/lib/AST/Expr.cpp
  clang/lib/AST/ExprClassification.cpp
  clang/lib/AST/ExprConstant.cpp
  clang/lib/AST/Interp/ByteCodeEmitter.cpp
  clang/lib/AST/TextNodeDumper.cpp
  clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
  clang/lib/Analysis/ThreadSafetyCommon.cpp
  clang/lib/CodeGen/CGCall.cpp
  clang/lib/CodeGen/CGClass.cpp
  clang/lib/CodeGen/CGDebugInfo.cpp
  clang/lib/CodeGen/CGExpr.cpp
  clang/lib/CodeGen/CGExprCXX.cpp
  clang/lib/CodeGen/CodeGenFunction.cpp
  clang/lib/CodeGen/CodeGenFunction.h
  clang/lib/Parse/ParseDecl.cpp
  clang/lib/Parse/ParseTentative.cpp
  clang/lib/Sema/SemaChecking.cpp
  clang/lib/Sema/SemaDecl.cpp
  clang/lib/Sema/SemaDeclCXX.cpp
  clang/lib/Sema/SemaExpr.cpp
  clang/lib/Sema/SemaExprCXX.cpp
  clang/lib/Sema/SemaExprMember.cpp
  clang/lib/Sema/SemaExprObjC.cpp
  clang/lib/Sema/SemaInit.cpp
  clang/lib/Sema/SemaLambda.cpp
  clang/lib/Sema/SemaOverload.cpp
  clang/lib/Sema/SemaTemplate.cpp
  clang/lib/Sema/SemaTemplateDeduction.cpp
  clang/lib/Sema/SemaTemplateInstantiate.cpp
  clang/lib/Serialization/ASTReaderDecl.cpp
  clang/lib/Serialization/ASTWriterDecl.cpp
  clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
  clang/lib/StaticAnalyzer/Core/LoopWidening.cpp
  clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
  clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/dcl.fct.def.default/p1.cpp
  clang/test/CXX/drs/dr25xx.cpp
  clang/test/CXX/drs/dr26xx.cpp
  clang/test/CXX/over/over.load/p2-0x.cpp
  clang/test/CXX/special/class.copy/p20.cpp
  clang/test/CXX/special/class.copy/p25-0x.cpp
  clang/test/CodeGenCXX/cxx2b-deducing-this.cpp
  clang/test/SemaCXX/cxx2b-deducing-this-constexpr.cpp
  clang/test/SemaCXX/cxx2b-deducing-this.cpp
  clang/www/cxx_dr_status.html

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D140828.485823.patch
Type: text/x-patch
Size: 218735 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230101/478eb42f/attachment-0001.bin>


More information about the cfe-commits mailing list