summaryrefslogtreecommitdiff
path: root/toolchain/gcc/4.2/900-gengtype-verbose-error.patch
blob: 119c00b9ab73aaaf65cdacede4ea8d7d3efa6b64 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Index: gcc-4.2/gcc/gengtype-lex.l
===================================================================
--- gcc-4.2/gcc/gengtype-lex.l	(revision 121000)
+++ gcc-4.2/gcc/gengtype-lex.l	(working copy)
@@ -535,13 +535,19 @@
 macro_input (char *buffer, unsigned size)
 {
   unsigned result;
+  int old_errno;
 
   result = fread (buffer, 1, size, yyin);
+  old_errno = errno;
   if (result)
     /*NOP*/;
-  else if (ferror (yyin))
-    YY_FATAL_ERROR ("read of source file failed");
-  else if (macro_expns)
+  else if (ferror (yyin)) {
+    char *err_msg;
+    err_msg = xasprintf ("read of source file '%s:%d' failed",
+    			lexer_line.file,
+    			lexer_line.line);
+    YY_FATAL_ERROR (err_msg);
+  } else if (macro_expns)
     {
       const char *expn;
       unsigned len;