diff mbox series

Report error when -fpre-include can't be opened (PR fortran/88912).

Message ID 182bfc81-8e50-6d29-94be-d3bb781421fa@suse.cz
State New
Headers show
Series Report error when -fpre-include can't be opened (PR fortran/88912). | expand

Commit Message

Martin Liška Feb. 4, 2019, 10:25 a.m. UTC
Hi.

The patch improves error message instead of segfaulting.

Patch can bootstrap on x86_64-linux-gnu and survives regression tests.

Ready to be installed?
Thanks,
Martin

gcc/fortran/ChangeLog:

2019-01-25  Martin Liska  <mliska@suse.cz>

	PR fortran/88912
	* scanner.c (load_file): Report error for -fpre-include
	file and do not ICE.
---
 gcc/fortran/scanner.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

Comments

Jakub Jelinek Feb. 4, 2019, 10:29 a.m. UTC | #1
On Mon, Feb 04, 2019 at 11:25:19AM +0100, Martin Liška wrote:
> The patch improves error message instead of segfaulting.

Note, fortran patches should be CCed to fortran mailing list.

> Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
> 
> Ready to be installed?
> Thanks,
> Martin
> 
> gcc/fortran/ChangeLog:
> 
> 2019-01-25  Martin Liska  <mliska@suse.cz>
> 
> 	PR fortran/88912
> 	* scanner.c (load_file): Report error for -fpre-include
> 	file and do not ICE.

Ok.

	Jakub
Martin Liška Feb. 4, 2019, 12:20 p.m. UTC | #2
On 2/4/19 11:29 AM, Jakub Jelinek wrote:
> On Mon, Feb 04, 2019 at 11:25:19AM +0100, Martin Liška wrote:
>> The patch improves error message instead of segfaulting.
> 
> Note, fortran patches should be CCed to fortran mailing list.

Will do, thanks.

> 
>> Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
>>
>> Ready to be installed?
>> Thanks,
>> Martin
>>
>> gcc/fortran/ChangeLog:
>>
>> 2019-01-25  Martin Liska  <mliska@suse.cz>
>>
>> 	PR fortran/88912
>> 	* scanner.c (load_file): Report error for -fpre-include
>> 	file and do not ICE.
> 
> Ok.
> 
> 	Jakub
>
diff mbox series

Patch

diff --git a/gcc/fortran/scanner.c b/gcc/fortran/scanner.c
index efb6ebf9509..08e4521a86d 100644
--- a/gcc/fortran/scanner.c
+++ b/gcc/fortran/scanner.c
@@ -2478,8 +2478,14 @@  load_file (const char *realfilename, const char *displayedname, bool initial)
       input = gfc_open_included_file (realfilename, false, false);
       if (input == NULL)
 	{
-	  fprintf (stderr, "%s:%d: Error: Can't open included file '%s'\n",
-		   current_file->filename, current_file->line, filename);
+	  /* For -fpre-include file, current_file is NULL.  */
+	  if (current_file)
+	    fprintf (stderr, "%s:%d: Error: Can't open included file '%s'\n",
+		     current_file->filename, current_file->line, filename);
+	  else
+	    fprintf (stderr, "Error: Can't open pre-included file '%s'\n",
+		     filename);
+
 	  return false;
 	}
       stat_result = stat (realfilename, &st);