Fix error in file_and_directory patch
authorTom Tromey <tromey@adacore.com>
Wed, 8 Dec 2021 19:52:34 +0000 (12:52 -0700)
committerTom Tromey <tromey@adacore.com>
Wed, 8 Dec 2021 20:02:44 +0000 (13:02 -0700)
In my earlier C++-ization patch for file_and_directory, I introduced
an error:

-  if (strcmp (fnd.name, "<unknown>") != 0)
+  if (fnd.is_unknown ())

This change inverted the sense of the test, which causes failures with
.debug_names.

This patch fixes the bug.  Regression tested on x86-64 Fedora 34.  I
also tested it using the AdaCore internal test suite, with
.debug_names -- this was failing before, and now it works.

gdb/dwarf2/read.c

index f2d7da7de52d46fbc34bb9985c8434a29e2350ce..dd2134b3c63000e14ba51ed42d549754bf43ed39 100644 (file)
@@ -3008,7 +3008,7 @@ dw2_get_file_names_reader (const struct die_reader_specs *reader,
   file_and_directory &fnd = find_file_and_directory (comp_unit_die, cu);
 
   int offset = 0;
-  if (fnd.is_unknown ())
+  if (!fnd.is_unknown ())
     ++offset;
   else if (lh == nullptr)
     return;