aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Lex/ModuleMap.cpp
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@acm.org>2022-01-27 13:23:16 -0800
committerNathan Sidwell <nathan@acm.org>2022-03-01 04:44:56 -0800
commit7f89fa32e8e9251b0b780009c340bc0d8f4d2e88 (patch)
tree8a8f587d65eaefd41e1f29a3089dba0e21185f2f /clang/lib/Lex/ModuleMap.cpp
parentf570da28e6b573c55ef467575a545fa78af6ac10 (diff)
downloadllvm-7f89fa32e8e9251b0b780009c340bc0d8f4d2e88.zip
llvm-7f89fa32e8e9251b0b780009c340bc0d8f4d2e88.tar.gz
llvm-7f89fa32e8e9251b0b780009c340bc0d8f4d2e88.tar.bz2
[demangler][NFC] Tabularize operator name parsing
We need to parse operator names in 3 places -- expressions, names & fold expressions. Currently we have 3 separate pieces to do this, and a FIXME. The operator name and expression parsing are implemented as handwritten two-character nested switches, the fold expression is a sequence of string comparisons. This adds a new OperatorInfo class to encode the operator info (encoding, kind, name), and has a table that it can binary search. From that each of the above 3 uses are altered to use the new scheme. Existing tests cover parsing operator encodings. Reviewed By: ChuanqiXu Differential Revision: https://reviews.llvm.org/D119467
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
0 files changed, 0 insertions, 0 deletions