diff options
| author | Simon Tatham <simon.tatham@arm.com> | 2020-02-07 14:59:00 +0000 |
|---|---|---|
| committer | Simon Tatham <simon.tatham@arm.com> | 2020-02-07 15:11:42 +0000 |
| commit | 5c6b1a6dfdb428a347a25527a4aebba72cd42a3a (patch) | |
| tree | a2f11e3aa84592eac82c3c1ae76b30b03db634bb /lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp | |
| parent | 3b198518ad540f789f45490e896565d4f0862c16 (diff) | |
[TableGen] Fix spurious type error in bit assignment.
Summary:
The following example gives the error message "expected value of type
'bits<32>', got 'bit'" on the assignment.
class Instruction { bits<32> encoding; }
def foo: Instruction { let encoding{10} = !eq(0, 1); }
But there's nothing wrong with this code: 'bit' is a perfectly good
type for the RHS of an assignment to a //single bit// of an
instruction encoding.
The problem is that `ParseBodyItem` is accidentally type-checking the
RHS against the full type of the `encoding` field, without adjusting
it in the case where we're only assigning to a subset of the bits. The
fix is trivial.
Reviewers: nhaehnle, hfinkel
Reviewed By: hfinkel
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D74220
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp')
0 files changed, 0 insertions, 0 deletions
