diff options
author | Simon Tatham <simon.tatham@arm.com> | 2019-12-10 10:34:40 +0000 |
---|---|---|
committer | Simon Tatham <simon.tatham@arm.com> | 2019-12-10 11:09:40 +0000 |
commit | 0e894edee18f74ae66598f2121d8bfb909f6288e (patch) | |
tree | 7f45e08a128d9e220311a9c7bab623925f93fdbc /lldb/source/Commands/CommandObjectGUI.cpp | |
parent | 1b9a608c8440b655c15378f3f7a13180281e2613 (diff) | |
download | llvm-0e894edee18f74ae66598f2121d8bfb909f6288e.zip llvm-0e894edee18f74ae66598f2121d8bfb909f6288e.tar.gz llvm-0e894edee18f74ae66598f2121d8bfb909f6288e.tar.bz2 |
[TableGen] Permit dag operators to be unset.
This is not a new semantic feature. The syntax `(? 1, 2, 3)` was
disallowed by the parser in a dag //expression//, but there were
already ways to sneak a `?` into the operator field of a dag
//value//, e.g. by initializing it from a class template parameter
which is then set to `?` by the instantiating `def`.
This patch makes `?` in the operator slot syntactically legal, so it's
now easy to construct dags with an unset operator. Also, the semantics
of `!con` are relaxed so that it will allow a combination of set and
unset operator fields in the dag nodes it's concatenating, with the
restriction that all the operators that are //not// unset still have
to agree with each other.
Reviewers: hfinkel, nhaehnle
Reviewed By: hfinkel, nhaehnle
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71195
Diffstat (limited to 'lldb/source/Commands/CommandObjectGUI.cpp')
0 files changed, 0 insertions, 0 deletions