aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorFrançois Dumont <fdumont@gcc.gnu.org>2021-05-09 21:56:15 +0200
committerFrançois Dumont <fdumont@gcc.gnu.org>2021-05-26 21:50:17 +0200
commita42220f0164eeb11b5e1ab87ce5b8f448141ba60 (patch)
tree63f6dd5ea15a5331a7933efe4b2e240e5f3e93d5 /gcc
parentaf66d0af87cf36d923d4663935a2b7a682753a24 (diff)
downloadgcc-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