[Bug fortran/56659] New: Segfault due to missing libcpp error handler for "gfortran -cpp"

burnus at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Mar 20 07:29:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56659

             Bug #: 56659
           Summary: Segfault due to missing libcpp error handler for
                    "gfortran -cpp"
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Keywords: ice-on-invalid-code
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: burnus@gcc.gnu.org
                CC: kapinos@rz.rwth-aachen.de


Reported by Paul Kapinos at fortran@gcc,
http://thread.gmane.org/gmane.comp.gcc.fortran/40495
http://gcc.gnu.org/ml/fortran/2013-03/msg00083.html

The problem is that libcpp calls an error handler, which is not set in f951.


Namely,   pfile->cb.error == NULL  but should be point to a function; it has
the the prototype:
 bool (*)(cpp_reader *, int, int, source_location, unsigned int, const char *,
          va_list *) 
C/C++ use:
   in c-opts.c: "cb->error = c_cpp_error;"
the function is declared in c-family/c-common.c.


Test case:
* mkdir -p foo/bar
* chmod 000 foo
* gfortran -cpp some_file.F90



More information about the Gcc-bugs mailing list