https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103617

--- Comment #5 from Andrew Macleod <amacleod at redhat dot com> ---
Well, I don't know :-(

It looks like the temporary variable PP uses deosn't work right for references?

263       r.set_undefined ();
(gdb) n
266       if ((idx = tracer.header ("range_of_stmt (")))
(gdb) pp s
w9.0_1 = w9;
(gdb) pp r
Attempt to take address of value not located in memory.
(gdb) p $debug_arg
$9 = {m_num_ranges = 0 '\000', m_max_ranges = 255 '\377', m_kind =
VR_UNDEFINED, m_base = 0x7fffffffbbd0}
(gdb) p $debug_arg.dump(stderr)
Attempt to take address of value not located in memory.
(gdb) p $debug_arg.m_num_ranges
$10 = 0 '\000'


It looks like it can't create a 'this' pointer by taking the address of the
object..    

Is this even suppose to work?  It doesn't seem to work for wide_ints either:


(gdb) call r.set_varying (name->typed.type)
(gdb) p r.dump(stderr)
int VARYING$11 = void
(gdb) set $test = r.lower_bound(0)
(gdb) p $test
$13 = {<wide_int_storage> = {val = {-2147483648, 25376563, 140737332737664,
140737488324960, 140737488312144, 15963520, 140737488312240, 64771920,
140737488312152}, len = 1, precision = 32}, 
  static is_sign_extended = true}
(gdb) p ::debug ($test)
Attempt to take address of value not located in memory.

Reply via email to