aboutsummaryrefslogtreecommitdiff
path: root/gdb/parser-defs.h
diff options
context:
space:
mode:
authorArtemiy Volkov <artemiyv@acm.org>2017-03-20 13:47:43 -0700
committerKeith Seitz <keiths@redhat.com>2017-03-20 13:47:43 -0700
commit53cc15f5fe1f5e2358994d4f60f1c2aa9115004d (patch)
tree311f5e38f845699047db919a1addd12411f4b014 /gdb/parser-defs.h
parenta65cfae5f8b268158c23a862e7a996d15bbcef0e (diff)
downloadgdb-53cc15f5fe1f5e2358994d4f60f1c2aa9115004d.zip
gdb-53cc15f5fe1f5e2358994d4f60f1c2aa9115004d.tar.gz
gdb-53cc15f5fe1f5e2358994d4f60f1c2aa9115004d.tar.bz2
Support rvalue reference type in parser
This patch implements correct parsing of C++11 rvalue reference typenames. This is done in full similarity to the handling of regular references by adding a '&&' token handling in c-exp.y, defining an rvalue reference type piece, and implementing a follow type derivation in follow_types(). gdb/ChangeLog PR gdb/14441 * c-exp.y (ptr_operator): Handle the '&&' token in the typename. * parse.c (insert_type): Change assert statement. (follow_types): Handle rvalue reference types. * parser-defs.h (enum type_pieces) <tp_rvalue_reference>: New constant.
Diffstat (limited to 'gdb/parser-defs.h')
-rw-r--r--gdb/parser-defs.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gdb/parser-defs.h b/gdb/parser-defs.h
index 23757d9..0913580 100644
--- a/gdb/parser-defs.h
+++ b/gdb/parser-defs.h
@@ -127,6 +127,7 @@ enum type_pieces
tp_end = -1,
tp_pointer,
tp_reference,
+ tp_rvalue_reference,
tp_array,
tp_function,
tp_function_with_arguments,