Commit 5a79106
committed
Improve include resolution fix for older compilers
The primary way to detect includes is to scan the compiler error output
for "#include" lines. However, older gcc versions did not print the
error line itself, only a message about the error, which would not be
detected. In bd5d3ec (Fix include resolution for older compilers), a
fallback was added to scan for "fatal error" followed by the missing
include filename, but that fallback only looked at the first line of the
error output.
When the missing #include line is not in the source file being compiled,
but in an included file, the error message would something like this:
In file included from binouts.ino:52:0:
regtable.h:31:22: fatal error: register.h: No such file or directory
So the filename that should be found is in the second line (or further).
This commit changes the fallback process to keep scanning lines of
compiler output, until one is found, instead of only looking at the
first line.
This fixes arduino#97.
Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl>1 parent 6183f3b commit 5a79106
1 file changed
+7
-5
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
71 | 73 | | |
72 | 74 | | |
73 | 75 | | |
| |||
0 commit comments