[PATCH/ob] Fix TYPE_DECLARED_CLASS thinko

Message ID 20210324204838.122963-1-keiths@redhat.com
State New
Headers show
Series
  • [PATCH/ob] Fix TYPE_DECLARED_CLASS thinko
Related show

Commit Message

Lancelot SIX via Gdb-patches March 24, 2021, 8:48 p.m.
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.
---
 gdb/ChangeLog                     | 6 ++++++
 gdb/compile/compile-cplus-types.c | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

-- 
2.29.2

Patch

diff --git a/gdb/compile/compile-cplus-types.c b/gdb/compile/compile-cplus-types.c
index d666ac3a83e..ef5fbcf133a 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