diff options
Diffstat (limited to 'toolchain/gcc/4.2')
-rw-r--r-- | toolchain/gcc/4.2/900-gengtype-verbose-error.patch | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/toolchain/gcc/4.2/900-gengtype-verbose-error.patch b/toolchain/gcc/4.2/900-gengtype-verbose-error.patch new file mode 100644 index 000000000..119c00b9a --- /dev/null +++ b/toolchain/gcc/4.2/900-gengtype-verbose-error.patch @@ -0,0 +1,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; |