Support rvalue reference type in parser
authorArtemiy Volkov <artemiyv@acm.org>
Mon, 20 Mar 2017 20:47:43 +0000 (13:47 -0700)
committerKeith Seitz <keiths@redhat.com>
Mon, 20 Mar 2017 20:47:43 +0000 (13:47 -0700)
commit53cc15f5fe1f5e2358994d4f60f1c2aa9115004d
tree311f5e38f845699047db919a1addd12411f4b014
parenta65cfae5f8b268158c23a862e7a996d15bbcef0e
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.
gdb/ChangeLog
gdb/c-exp.y
gdb/parse.c
gdb/parser-defs.h