Add rvalue reference tests and docs

This patch adds tests for the initial rvalue reference support patchset.  All
of the new tests are practically mirrored regular references tests and, except
for the demangler ones, are introduced in new files, which are set to be
compiled with -std=gnu++11.  Tested are printing of rvalue reference types and
values, rvalue reference parameters in function overloading, demangling of
function names containing rvalue reference parameters, casts to rvalue
reference types, application of the sizeof operator to rvalue reference types
and values, and support for rvalue references within the gdb python module.

gdb/ChnageLog

	PR gdb/14441
	* NEWS: Mention support for rvalue references in GDB and python.
	* doc/gdb.texinfo (C Plus Plus Expressions): Mention that GDB
	supports both lvalue and rvalue references.

gdb/testsuite/ChangeLog

	PR gdb/14441
	* gdb.cp/demangle.exp: Add rvalue reference tests.
	* gdb.cp/rvalue-ref-casts.cc: New file.
	* gdb.cp/rvalue-ref-casts.exp: New file.
	* gdb.cp/rvalue-ref-overload.cc: New file.
	* gdb.cp/rvalue-ref-overload.exp: New file.
	* gdb.cp/rvalue-ref-params.cc: New file.
	* gdb.cp/rvalue-ref-params.exp: New file.
	* gdb.cp/rvalue-ref-sizeof.cc: New file.
	* gdb.cp/rvalue-ref-sizeof.exp: New file.
	* gdb.cp/rvalue-ref-types.cc: New file.
	* gdb.cp/rvalue-ref-types.exp: New file.
	* gdb.python/py-rvalue-ref-value-cc.cc: New file.
	* gdb.python/py-rvalue-ref-value-cc.exp: New file.
This commit is contained in:
Artemiy Volkov
2017-03-20 13:47:59 -07:00
committed by Keith Seitz
parent 15c0a2a930
commit c0f55cc689
17 changed files with 972 additions and 4 deletions

View File

@@ -14827,9 +14827,9 @@ see @ref{Completion, ,Command Completion}.
@cindex reference declarations
@item
@value{GDBN} understands variables declared as C@t{++} references; you can use
them in expressions just as you do in C@t{++} source---they are automatically
dereferenced.
@value{GDBN} understands variables declared as C@t{++} lvalue or rvalue
references; you can use them in expressions just as you do in C@t{++}
source---they are automatically dereferenced.
In the parameter list shown when @value{GDBN} displays a frame, the values of
reference variables are not displayed (unlike other variables); this