| Submitter | Tobias Burnus |
|---|---|
| Date | Jan. 25, 2012, 8:27 p.m. |
| Message ID | <4F2065C7.6020100@net-b.de> |
| Download | mbox | patch |
| Permalink | /patch/137857/ |
| State | New |
| Headers | show |
Comments
On Wed, Jan 25, 2012 at 09:27:51PM +0100, Tobias Burnus wrote: > Dear all, dear Paul, > > Dominique pointed out that the patch does not fully work and that one > gets an ICE: > internal compiler error: in gfc_release_symbol, at fortran/symbol.c:2531 > > For some odd reason, it didn't occur for my build, which had some > unrelated patch applied. I have not understood why it worked with the > unrelated patch. However, I do understand why it fails. > > But with valgrind, I see it in all my builds. Fixed by the following > patch. (Fixes the patch, valgrind shows now error and the test case > still works.) > > I will commit it as "obvious" after it regtesting it. > JFYI, the patch fixes the ICE.
Steve Kargl wrote: > On Wed, Jan 25, 2012 at 09:27:51PM +0100, Tobias Burnus wrote: >> I will commit it as "obvious" after it regtesting it. > JFYI, the patch fixes the ICE. Yes, it does - and it also regtested. I committed it as Rev. 183541. Tobias
Patch
Index: class.c =================================================================== --- class.c (Revision 183533) +++ class.c (Arbeitskopie) @@ -422,7 +422,7 @@ gfc_build_class_symbol (gfc_typespec *ts, symbol_a c->attr.pointer = 1; } else if (!fclass->f2k_derived) - fclass->f2k_derived = fclass->components->ts.u.derived->f2k_derived; + fclass->f2k_derived = gfc_get_namespace (NULL, 0); /* Since the extension field is 8 bit wide, we can only have up to 255 extension levels. */