[PATCH] D27007: Remove C++ default arg side table for MS ABI ctor closures

Reid Kleckner via cfe-commits cfe-commits at lists.llvm.org
Tue Nov 22 15:32:17 PST 2016


rnk created this revision.
rnk added reviewers: thakis, rsmith, majnemer.
rnk added a subscriber: cfe-commits.

We don't need a side table in ASTContext to hold CXXDefaultArgExprs. The
important part of building the CXXDefaultArgExprs was to ODR use the
default argument expressions, not to make AST nodes. Refactor the code
to only check the default argument, and remove the side table in
ASTContext which wasn't being serialized.

Fixes PR31121


https://reviews.llvm.org/D27007

Files:
  include/clang/AST/ASTContext.h
  include/clang/Sema/Sema.h
  lib/AST/ASTContext.cpp
  lib/AST/CXXABI.h
  lib/AST/ItaniumCXXABI.cpp
  lib/AST/MicrosoftCXXABI.cpp
  lib/CodeGen/MicrosoftCXXABI.cpp
  lib/Sema/SemaDeclCXX.cpp
  lib/Sema/SemaExpr.cpp
  lib/Sema/SemaExprCXX.cpp
  test/SemaCXX/default-arg-closures.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27007.78965.patch
Type: text/x-patch
Size: 13613 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20161122/fbdf9b9d/attachment.bin>


More information about the cfe-commits mailing list