Comment 7 for bug 1720699

Revision history for this message
In , Anlauf (anlauf) wrote :

(In reply to Dominique d'Humieres from comment #1)
> Confirmed from 4.8 up to trunk (9.0). An instrumented compiler gives
>
> f951: Warning: No location in statement
> ../../work/gcc/fortran/trans.c:1768:39: runtime error: member access within
> null pointer of type 'struct gfc_linebuf'
> f951: internal compiler error: Segmentation fault: 11

The warning in comment#0 would be restored by the patch:

Index: gcc/fortran/trans.c
===================================================================
--- gcc/fortran/trans.c (revision 267065)
+++ gcc/fortran/trans.c (working copy)
@@ -1765,8 +1765,11 @@
 void
 gfc_set_backend_locus (locus * loc)
 {
- gfc_current_backend_file = loc->lb->file;
- input_location = loc->lb->location;
+ if (loc->lb)
+ {
+ gfc_current_backend_file = loc->lb->file;
+ input_location = loc->lb->location;
+ }
 }

However, this papers over the issue that the locus is not properly set.