Allow lazy 'zero' value
authorTom Tromey <tromey@adacore.com>
Mon, 13 Sep 2021 18:31:20 +0000 (12:31 -0600)
committerTom Tromey <tromey@adacore.com>
Tue, 5 Oct 2021 18:34:55 +0000 (12:34 -0600)
commit3e44c3049fc23f5ba894b346b7defdfba66b076e
tree5486581f3787291c83ff78c0506f63dce9711136
parenta519e8ffe2b0f008deaef1517562090d9eaadccc
Allow lazy 'zero' value

This changes value_zero to create a lazy value.  In many cases,
value_zero is called in expression evaluation to wrap a type in a
non-eval context.  It seems senseless to allocate a buffer in these
cases.

A new 'is_zero' flag is added so we can preserve the existing
assertions in value_fetch_lazy.

A subsequent patch will add a test where creating a zero value would
fail, due to the variable size check.  However, the contents of this
value are never needed, and so creating a lazy value avoids the error
case.
gdb/valops.c
gdb/value.c