Message ID | 52A964DB.3070208@net-b.de |
---|---|
State | New |
Headers | show |
On Thu, Dec 12, 2013 at 08:25:15AM +0100, Tobias Burnus wrote: > A rather simple patch to ensure that the die is generated. Without, > one runs into an ICE. That's a follow up to my namelist debug patch > (and the ICE is caused by it). > > Build on x86-64-gnu-linux and lightly tested. Full regtest currently > running. > OK for the trunk, when it succeeds? > 2013-12-12 Tobias Burnus <burnus@net-b.de> > > PR fortran/59440 > * trans-decl.c (generate_namelist_decl): Ensure debug DIE > is created by setting DECL_IGNORED_P to 0. > > 2013-12-12 Tobias Burnus <burnus@net-b.de> > > PR fortran/59440 > * gfortran.dg/namelist_83.f90: New. > * gfortran.dg/namelist_83_2.f90: New. Ok. > --- a/gcc/fortran/trans-decl.c > +++ b/gcc/fortran/trans-decl.c > @@ -4164,6 +4164,7 @@ generate_namelist_decl (gfc_symbol * sym) > nml->sym->attr.referenced = 1; > nml->sym->backend_decl = gfc_get_symbol_decl (nml->sym); > } > + DECL_IGNORED_P (nml->sym->backend_decl) = 0; > CONSTRUCTOR_APPEND_ELT (nml_decls, NULL_TREE, nml->sym->backend_decl); > } > > +module mo_t_datum > + implicit none > + integer :: qbit_conv = 0 > +end module mo_t_datum > + > +! { dg-final { cleanup-modules "gfcbug126" } } Shouldn't this be ! { dg-final { cleanup-modules "mo_t_datum gfcbug126" } } though? Jakub
2013-12-12 Tobias Burnus <burnus@net-b.de> PR fortran/59440 * trans-decl.c (generate_namelist_decl): Ensure debug DIE is created by setting DECL_IGNORED_P to 0. 2013-12-12 Tobias Burnus <burnus@net-b.de> PR fortran/59440 * gfortran.dg/namelist_83.f90: New. * gfortran.dg/namelist_83_2.f90: New. diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index c1775b3..4da6b62 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -4164,6 +4164,7 @@ generate_namelist_decl (gfc_symbol * sym) nml->sym->attr.referenced = 1; nml->sym->backend_decl = gfc_get_symbol_decl (nml->sym); } + DECL_IGNORED_P (nml->sym->backend_decl) = 0; CONSTRUCTOR_APPEND_ELT (nml_decls, NULL_TREE, nml->sym->backend_decl); } diff --git a/gcc/testsuite/gfortran.dg/namelist_83.f90 b/gcc/testsuite/gfortran.dg/namelist_83.f90 new file mode 100644 index 0000000..f87d4cd --- /dev/null +++ b/gcc/testsuite/gfortran.dg/namelist_83.f90 @@ -0,0 +1,22 @@ +! { dg-do link } +! { dg-options "-g" } +! { dg-additional-sources namelist_83_2.f90 } +! +! Note: compilation would be sufficient, but "compile" cannot be combined +! with dg-additional-sources. +! +! PR fortran/59440 +! +! Contributed by Harald Anlauf +! +! Was ICEing during DWARF generation. +! +! This is the first file - dg-additional-sources contains the second one +! + +module mo_t_datum + implicit none + integer :: qbit_conv = 0 +end module mo_t_datum + +! { dg-final { cleanup-modules "gfcbug126" } } diff --git a/gcc/testsuite/gfortran.dg/namelist_83_2.f90 b/gcc/testsuite/gfortran.dg/namelist_83_2.f90 new file mode 100644 index 0000000..0a0ca6e --- /dev/null +++ b/gcc/testsuite/gfortran.dg/namelist_83_2.f90 @@ -0,0 +1,22 @@ +! { dg-do compile { target { ! *-*-* } } } +! +! To be compiled with "-g" via namelist_83.f90 +! +! PR fortran/59440 +! +! Contributed by Harald Anlauf +! +! Was ICEing during DWARF generation. +! +! This is the second file, the module is in namelist_83.f90 +! + +! +MODULE gfcbug126 + use mo_t_datum, only: qbit_conv + implicit none + namelist /OBSERVATIONS/ qbit_conv +end module gfcbug126 + +! As we have to link, add an empty main program: +end