vla: enable sizeof operator to work with variable length arrays
authorSanimir Agovic <sanimir.agovic@intel.com>
Wed, 9 Oct 2013 14:28:22 +0000 (15:28 +0100)
committerJoel Brobecker <brobecker@adacore.com>
Mon, 14 Apr 2014 16:11:48 +0000 (09:11 -0700)
commit4ad88275f81a586e32e86351cc415a97d58ef448
tree0dfd1e5cb7622596da1bee79b7148cedcff66fe6
parent80180f796d366d230822c07a15aa68971abf9d77
vla: enable sizeof operator to work with variable length arrays

In C99 the sizeof operator computes the size of a variable length array
at runtime (6.5.3.4 The sizeof operator). This patch reflects the semantic
change in the debugger.

We now are able to get the size of a vla:

1| void foo (size_t n) {
2|   int vla[n];
3| }

(gdb) p sizeof(vla)

yields N * sizeof(int).

gdb/ChangeLog:

* eval.c (evaluate_subexp_for_sizeof) <OP_VAR_VALUE>: If the type
passed to sizeof is dynamic evaluate the argument to compute the length.
gdb/ChangeLog
gdb/eval.c
This page took 0.039806 seconds and 4 git commands to generate.