[PATCH] D45476: [C++2a] Implement operator<=> CodeGen and ExprConstant
Eric Fiselier via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Apr 13 20:53:54 PDT 2018
EricWF updated this revision to Diff 142506.
EricWF added a comment.
Implement the lookup and building of comparison category types/values in `ASTContext` instead of `Sema`. When Sema checks a comparison category type, it performs full lookup, whereas `ASTContext` does not. Should `Sema` depend on `ASTContext` for performing lookup?
This change also moves `ComparisonCategories.h` from trafficking in `DeclRefExpr`s, using `VarDecl` instead. For now `ExprConstant` and `CGExprAgg` build dummy `DeclRefExpr`s for ease of evaluation. But I plan to fix this shortly, once I figure out how to do it.
https://reviews.llvm.org/D45476
Files:
include/clang/AST/ASTContext.h
include/clang/AST/ComparisonCategories.h
include/clang/Basic/DiagnosticSemaKinds.td
include/clang/Sema/Overload.h
include/clang/Sema/Sema.h
lib/AST/ASTContext.cpp
lib/AST/CMakeLists.txt
lib/AST/ComparisonCategories.cpp
lib/AST/ExprConstant.cpp
lib/CodeGen/CGExprAgg.cpp
lib/Sema/SemaDeclCXX.cpp
lib/Sema/SemaExpr.cpp
lib/Sema/SemaOverload.cpp
test/CodeGenCXX/Inputs/std-compare.h
test/CodeGenCXX/cxx2a-compare.cpp
test/PCH/Inputs/std-compare.h
test/PCH/cxx2a-compare.cpp
test/SemaCXX/Inputs/std-compare.h
test/SemaCXX/compare-cxx2a.cpp
test/SemaCXX/constant-expression-cxx2a.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45476.142506.patch
Type: text/x-patch
Size: 146769 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180414/ec156abc/attachment-0001.bin>
More information about the cfe-commits
mailing list