Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [patch] Fix crash on reading gcc HEAD Fortran module
@ 2008-09-01 13:02 Jan Kratochvil
  2008-09-01 15:30 ` Daniel Jacobowitz
  0 siblings, 1 reply; 4+ messages in thread
From: Jan Kratochvil @ 2008-09-01 13:02 UTC (permalink / raw)
  To: gdb-patches

[-- Attachment #1: Type: text/plain, Size: 407 bytes --]

Hi,

with the current gcc snapshot this testcase
MODULE m
  integer :: varx
END MODULE m
USE m, a=>varx
end

crashes gdb HEAD on `break 2' with:
dwarf2read.c:2766: internal-error: process_die: Assertion `die->child == NULL' failed.
A problem internal to GDB has been detected,

While it still cannot reach the imported variables it at least no longer
crashes now.  Notified by Tobias Burnus.


Regards,
Jan

[-- Attachment #2: gdb-cvs-module-import.patch --]
[-- Type: text/plain, Size: 864 bytes --]

2008-09-01  Jan Kratochvil  <jan.kratochvil@redhat.com>

	Stay compatible after the GCC PR fortran/29635 fix.
	* dwarf2read.c (process_die <DW_TAG_imported_module>): Accept (ignored)
	child DIEs.  Only COMPLAINT for non-Fortran languages.

--- gdb/dwarf2read.c	29 Aug 2008 17:06:05 -0000	1.278
+++ gdb/dwarf2read.c	1 Sep 2008 12:56:19 -0000
@@ -2763,7 +2763,10 @@ process_die (struct die_info *die, struc
 	 Fortran case, so we'll have to replace this gdb_assert if
 	 Fortran compilers start generating that info.  */
       processing_has_namespace_info = 1;
-      gdb_assert (die->child == NULL);
+      if (cu->language != language_fortran && die->child == NULL)
+	complaint (&symfile_complaints,
+		   _("%s at offset %d has unexpected children"),
+		   dwarf_tag_name (die->tag), die->offset);
       break;
     default:
       new_symbol (die, NULL, cu);

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-09-01 22:18 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-09-01 13:02 [patch] Fix crash on reading gcc HEAD Fortran module Jan Kratochvil
2008-09-01 15:30 ` Daniel Jacobowitz
2008-09-01 16:51   ` Jan Kratochvil
2008-09-01 22:18     ` Daniel Jacobowitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox