diff options
author | Keith Seitz <keiths@redhat.com> | 2021-03-24 13:41:14 -0700 |
---|---|---|
committer | Keith Seitz <keiths@redhat.com> | 2021-03-24 13:44:17 -0700 |
commit | 68f115f8c088bafd7d60b1245867ee8f42ccfcef (patch) | |
tree | 42230e8dca50c73f8dda501648cdee0720f706fb | |
parent | 41c0087ba5f1e88395be42ae33c3f7b9b2dd6745 (diff) | |
download | gdb-68f115f8c088bafd7d60b1245867ee8f42ccfcef.zip gdb-68f115f8c088bafd7d60b1245867ee8f42ccfcef.tar.gz gdb-68f115f8c088bafd7d60b1245867ee8f42ccfcef.tar.bz2 |
Fix TYPE_DECLARED_CLASS thinko
Simon pointed out an error that I made in
compile_cplus_conver_struct_or_union in my original C++ compile submission:
if (type->code () == TYPE_CODE_STRUCT)
{
const char *what = TYPE_DECLARED_CLASS (type) ? "struct" : "class";
resuld = instance->plugin ().build_decl
(what, name.get (), (GCC_CP_SYMBOL_CLASS | nested_access
| (TYPE_DECLARED_CLASS (type)
? GCC_CP_FLAG_CLASS_NOFLAG
: GCC_CP_FLAG_CLASS_IS_STRUCT)),
0, nullptr, 0, filename, line);
}
Notice that WHAT will contain "struct" for TYPE_DECLARED_CLASS. Whoops.
Fortunately this first parameter of build_decl is only used for
debugging.
gdb/ChangeLog
2021-03-24 Keith Seitz <keiths@redhat.com>
* compile/compile-cplus-types.c
(compile_cplus_convert_struct_or_union): Fix TYPE_DECLARED_CLASS
thinko.
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/compile/compile-cplus-types.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 7b867f0..bd86966 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2021-03-24 Keith Seitz <keiths@redhat.com> + + * compile/compile-cplus-types.c + (compile_cplus_convert_struct_or_union): Fix TYPE_DECLARED_CLASS + thinko. + 2021-03-24 Simon Marchi <simon.marchi@polymtl.ca> * gdbarch.sh (gdbarch_data_registry): Make static. diff --git a/gdb/compile/compile-cplus-types.c b/gdb/compile/compile-cplus-types.c index d666ac3..ef5fbcf 100644 --- a/gdb/compile/compile-cplus-types.c +++ b/gdb/compile/compile-cplus-types.c @@ -828,7 +828,7 @@ compile_cplus_convert_struct_or_union (compile_cplus_instance *instance, gcc_decl resuld; if (type->code () == TYPE_CODE_STRUCT) { - const char *what = TYPE_DECLARED_CLASS (type) ? "struct" : "class"; + const char *what = TYPE_DECLARED_CLASS (type) ? "class" : "struct"; resuld = instance->plugin ().build_decl (what, name.get (), (GCC_CP_SYMBOL_CLASS | nested_access |