aboutsummaryrefslogtreecommitdiff
path: root/absl/debugging/internal/demangle.cc
diff options
context:
space:
mode:
authorChris Mihelich <cmihelic@google.com>2024-06-06 07:30:13 -0700
committerCopybara-Service <copybara-worker@google.com>2024-06-06 07:31:13 -0700
commite7a5d7ace011100f6495cb681c1276371f9a693a (patch)
tree64f1fa8860feebcf35cbb5a0280523dc1fa939bb /absl/debugging/internal/demangle.cc
parent54e1f14c6f9b1a764ffdf8c1aea7e823f95f3d01 (diff)
downloadabseil-e7a5d7ace011100f6495cb681c1276371f9a693a.tar.gz
abseil-e7a5d7ace011100f6495cb681c1276371f9a693a.tar.bz2
abseil-e7a5d7ace011100f6495cb681c1276371f9a693a.zip
Demangle array new-expressions, [gs] na ....
PiperOrigin-RevId: 640891321 Change-Id: I2bc0f6b907d8af88446375409fb523158ae0e001
Diffstat (limited to 'absl/debugging/internal/demangle.cc')
-rw-r--r--absl/debugging/internal/demangle.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/absl/debugging/internal/demangle.cc b/absl/debugging/internal/demangle.cc
index 761bde13..efaaf68d 100644
--- a/absl/debugging/internal/demangle.cc
+++ b/absl/debugging/internal/demangle.cc
@@ -1996,6 +1996,8 @@ static bool ParseBracedExpression(State *state) {
// ::= il <braced-expression>* E
// ::= [gs] nw <expression>* _ <type> E
// ::= [gs] nw <expression>* _ <type> <initializer>
+// ::= [gs] na <expression>* _ <type> E
+// ::= [gs] na <expression>* _ <type> <initializer>
// ::= dc <type> <expression>
// ::= sc <type> <expression>
// ::= cc <type> <expression>
@@ -2093,8 +2095,10 @@ static bool ParseExpression(State *state) {
// <expression> ::= [gs] nw <expression>* _ <type> E
// ::= [gs] nw <expression>* _ <type> <initializer>
+ // ::= [gs] na <expression>* _ <type> E
+ // ::= [gs] na <expression>* _ <type> <initializer>
if (Optional(ParseTwoCharToken(state, "gs")) &&
- ParseTwoCharToken(state, "nw") &&
+ (ParseTwoCharToken(state, "nw") || ParseTwoCharToken(state, "na")) &&
ZeroOrMore(ParseExpression, state) && ParseOneCharToken(state, '_') &&
ParseType(state) &&
(ParseOneCharToken(state, 'E') || ParseInitializer(state))) {