[all-commits] [llvm/llvm-project] 0ec1e9: Resolve exception specifications after marking the...
Richard Smith via All-commits
all-commits at lists.llvm.org
Sun Dec 15 22:10:55 PST 2019
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 0ec1e99001291b894de4cd8d7ecc2a283d9a3bfc
https://github.com/llvm/llvm-project/commit/0ec1e99001291b894de4cd8d7ecc2a283d9a3bfc
Author: Richard Smith <richard at metafoo.co.uk>
Date: 2019-12-15 (Sun, 15 Dec 2019)
Changed paths:
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
Resolve exception specifications after marking the corresponding
function as referenced, not before.
No functionality change intended. This is groundwork for computing the
exception specification of a defaulted comparison, for which we'd like
to use the implicit body where possible.
Commit: fbf60b7dbeb0f66b45037925c384859f2f161504
https://github.com/llvm/llvm-project/commit/fbf60b7dbeb0f66b45037925c384859f2f161504
Author: Richard Smith <richard at metafoo.co.uk>
Date: 2019-12-15 (Sun, 15 Dec 2019)
Changed paths:
M clang/include/clang/AST/Stmt.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/Stmt.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/test/SemaCXX/cxx0x-noexcept-expression.cpp
Log Message:
-----------
Properly compute whether statement expressions can throw, rather than
conservatively assuming they always can.
Also fix cases where we would not consider the computation of a VLA type
when determining whether an expression can throw. We don't yet properly
determine whether a VLA can throw, but no longer incorrectly claim it
can never throw.
Commit: 4a4e90a823882399fe22374629f79f1edd123d01
https://github.com/llvm/llvm-project/commit/4a4e90a823882399fe22374629f79f1edd123d01
Author: Richard Smith <richard at metafoo.co.uk>
Date: 2019-12-15 (Sun, 15 Dec 2019)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/test/CXX/class/class.compare/class.compare.default/p3.cpp
M clang/test/CXX/class/class.compare/class.compare.default/p4.cpp
A clang/test/CXX/except/except.spec/p11-2a.cpp
Log Message:
-----------
[c++20] Compute exception specifications for defaulted comparisons.
This requires us to essentially fully form the body of the defaulted
comparison, but from an unevaluated context. Naively this would require
generating the function definition twice; instead, we ensure that the
function body is implicitly defined before performing the check, and
walk the actual body where possible.
Compare: https://github.com/llvm/llvm-project/compare/f036f1cc85de...4a4e90a82388
More information about the All-commits
mailing list