diff options
author | François Dumont <fdumont@gcc.gnu.org> | 2021-05-09 21:56:15 +0200 |
---|---|---|
committer | François Dumont <fdumont@gcc.gnu.org> | 2021-05-26 21:50:17 +0200 |
commit | a42220f0164eeb11b5e1ab87ce5b8f448141ba60 (patch) | |
tree | 63f6dd5ea15a5331a7933efe4b2e240e5f3e93d5 /gcc | |
parent | af66d0af87cf36d923d4663935a2b7a682753a24 (diff) | |
download | gcc-a42220f0164eeb11b5e1ab87ce5b8f448141ba60.zip gcc-a42220f0164eeb11b5e1ab87ce5b8f448141ba60.tar.gz gcc-a42220f0164eeb11b5e1ab87ce5b8f448141ba60.tar.bz2 |
libstdc++: [_GLIBCXX_DEBUG] Enhance rendering of assert message
Avoid building an intermediate buffer to print to stderr, push directly to stderr.
libstdc++-v3/ChangeLog:
* include/debug/formatter.h
(_Error_formatter::_Parameter::_Named): New.
(_Error_formatter::_Parameter::_Type): Inherit latter.
(_Error_formatter::_Parameter::_M_integer): Likewise.
(_Error_formatter::_Parameter::_M_string): Likewise.
* src/c++11/debug.cc: Include <cstring>.
(_Print_func_t): New.
(print_raw(PrintContext&, const char*, ptrdiff_t)): New.
(print_word): Use '%.*s' format in fprintf to render only expected number of chars.
(pretty_print(PrintContext&, const char*, _Print_func_t)): New.
(print_type): Rename in...
(print_type_info): ...this. Use pretty_print.
(print_address, print_integer): New.
(print_named_name, print_iterator_constness, print_iterator_state): New.
(print_iterator_seq_type): New.
(print_named_field, print_type_field, print_instance_field, print_iterator_field): New.
(print_field): Use latters.
(print_quoted_named_name, print_type_type, print_type, print_instance): New.
(print_string(PrintContext&, const char*, const _Parameter*, size_t)):
Change signature to...
(print_string(PrintContext&, const char*, ptrdiff_t, const _Parameter*, size_t)):
...this and adapt. Remove intermediate buffer to render input string.
(print_string(PrintContext&, const char*, ptrdiff_t)): New.
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions