diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2025-10-15 20:10:34 +0100 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2025-10-16 14:59:42 +0100 |
commit | 08b2c542e4d0c223f50e46692bccf0c2ebbe3454 (patch) | |
tree | 827ef04317cd36b892221621bd25b72ab08340a2 /libgomp/testsuite/libgomp.c/declare-variant-4-gfx10-3-generic.c | |
parent | dfb7e97dd214f7d8ca0fa970d81ad5ba805aaa8d (diff) | |
download | gcc-master.zip gcc-master.tar.gz gcc-master.tar.bz2 |
With this change stacktrace entries always output the frame address, and
source file information no longer results in " at :0", e.g.
16# myfunc(int) at /tmp/bt.cc:48 [0x4008b7]
17# main at /tmp/bt.cc:61 [0x40091a]
18# __libc_start_call_main [0x7efc3d6d3574]
19# __libc_start_main@GLIBC_2.2.5 [0x7efc3d6d3627]
20# _start [0x400684]
This replaces the previous output:
16# myfunc(int) at /tmp/bt.cc:48
17# main at /tmp/bt.cc:61
18# __libc_start_call_main at :0
19# __libc_start_main@GLIBC_2.2.5 at :0
20# _start at :0
A change that is not visible in the examples above is that for a
non-empty stacktrace_entry, we now print "<unknown>" for the function
name if description() returns an empty string. For an empty (e.g.
default constructed) stacktrace_entry the entire string representation
is now "<unknown>" instead of an empty string.
Instead of printing "<unknown>" for the function name, we could set that
string in the stacktrace_entry::_Info object, so that description()
returns "<unknown>" and then operator<< wouldn't need to handle an empty
description() string. However, returning an empty string from that
function seems simpler for users to detect, rather than having to parse
"<unknown>".
We could also choose a different string for an empty stacktrace_entry,
maybe "<none>" or "<invalid>", but "<unknown>" seems good.
libstdc++-v3/ChangeLog:
* include/std/stacktrace
(operator<<(ostream&, const stacktrace_entry&)): Improve output
when description() or source_file() returns an empty string,
or the stacktrace_entry is invalid. Append frame address to
output.
(operator<<(ostream&, const basic_stacktrace<A>&)): Use the
size_type of the correct specialization.
Reviewed-by: Tomasz KamiĆski <tkaminsk@redhat.com>
Reviewed-by: Nathan Myers <nmyers@redhat.com>
Diffstat (limited to 'libgomp/testsuite/libgomp.c/declare-variant-4-gfx10-3-generic.c')
0 files changed, 0 insertions, 0 deletions