summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/dotest.py
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2018-05-07 21:07:10 +0000
committerEric Fiselier <eric@efcs.ca>2018-05-07 21:07:10 +0000
commit0683c0e68d31d18f6e4fedb270317844a4912882 (patch)
tree1e6f3b6ff82d931d904dd7f6e54648849d965b99 /lldb/packages/Python/lldbsuite/test/dotest.py
parentf53d9abd7e1b5581d83ae1572829535ff1d6e183 (diff)
downloadbcm5719-llvm-0683c0e68d31d18f6e4fedb270317844a4912882.tar.gz
bcm5719-llvm-0683c0e68d31d18f6e4fedb270317844a4912882.zip
[C++2a] Implement operator<=> CodeGen and ExprConstant
Summary: This patch tackles long hanging fruit for the builtin operator<=> expressions. It is currently needs some cleanup before landing, but I want to get some initial feedback. The main changes are: * Lookup, build, and store the required standard library types and expressions in `ASTContext`. By storing them in ASTContext we don't need to store (and duplicate) the required expressions in the BinaryOperator AST nodes. * Implement [expr.spaceship] checking, including diagnosing narrowing conversions. * Implement `ExprConstant` for builtin spaceship operators. * Implement builitin operator<=> support in `CodeGenAgg`. Initially I emitted the required comparisons using `ScalarExprEmitter::VisitBinaryOperator`, but this caused the operand expressions to be emitted once for every required cmp. * Implement [builtin.over] with modifications to support the intent of P0946R0. See the note on `BuiltinOperatorOverloadBuilder::addThreeWayArithmeticOverloads` for more information about the workaround. Reviewers: rsmith, aaron.ballman, majnemer, rnk, compnerd, rjmccall Reviewed By: rjmccall Subscribers: rjmccall, rsmith, aaron.ballman, junbuml, mgorny, cfe-commits Differential Revision: https://reviews.llvm.org/D45476 llvm-svn: 331677
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/dotest.py')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud