diff options
author | Simon Marchi <simon.marchi@efficios.com> | 2023-01-31 10:57:20 -0500 |
---|---|---|
committer | Simon Marchi <simon.marchi@efficios.com> | 2023-01-31 12:36:46 -0500 |
commit | d7789889b1839c3c0f64c6738b0d8517ccead049 (patch) | |
tree | 8b3f227cfb4a51ad30a8480c958c826ebf0d0a27 /gdbsupport | |
parent | 95cbab2bebf7e810eded3e16ae7e82b13f4d2493 (diff) | |
download | gdb-d7789889b1839c3c0f64c6738b0d8517ccead049.zip gdb-d7789889b1839c3c0f64c6738b0d8517ccead049.tar.gz gdb-d7789889b1839c3c0f64c6738b0d8517ccead049.tar.bz2 |
gdbsupport: allow passing nullptr to checked_static_cast
Both static_cast and dynamic_cast handle nullptr (they return nullptr),
so I think checked_static_cast should too. This will allow doing a null
check after a checked_static_cast:
cooked_index_vector *table
= (gdb::checked_static_cast<cooked_index_vector *>
(per_bfd->index_table.get ()));
if (table != nullptr)
return;
Change-Id: If5c3134e63696f8e417c87b5f3901240c9f7ea97
Diffstat (limited to 'gdbsupport')
-rw-r--r-- | gdbsupport/gdb-checked-static-cast.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gdbsupport/gdb-checked-static-cast.h b/gdbsupport/gdb-checked-static-cast.h index cc29873..bc75244 100644 --- a/gdbsupport/gdb-checked-static-cast.h +++ b/gdbsupport/gdb-checked-static-cast.h @@ -54,6 +54,9 @@ checked_static_cast (V *v) "types must be related"); #ifdef DEVELOPMENT + if (v == nullptr) + return nullptr; + T result = dynamic_cast<T> (v); gdb_assert (result != nullptr); #else |