re: poor compiler/source code error reporting #2914
Labels
Component: Core
Related to the code for the standard Arduino API
Component: Toolchain
The tools used for compilation and uploading to Arduino boards
feature request
A request to make an enhancement (not a bug fix)
I was not sure where to put this post. Please feel free to move it if you have a better place.
First things first. I would like to complement you on an amazing piece of work.
I am old enough to remember the first wave of embedded micros, the 6800, 8080, and 6502, and the cost and capability of the kits.
The Arduino is so much better in so many ways.
Now the reason for this post.
This is more a compiler issue but... here goes.
Sorry to be long winded but...
I ran OS2 Warp for a while and kept getting a long 16 + digit hex error message. When I went to the OS2 club and commented on it, one of the gurus commented, run program x, enter the multidigit code and it will tell you what the error is. In this case, there is not floppy in the disk.
So back to Arduino in particular but C compilers in general.
The errors produces are typically vague and usually mean your missing some a character, a comma, a bracket, a semi-colon. Rarely does the error message point you to the error but rather to something else affected by the error.
It would seem in this day and age with hex core processors running at multi-ghz clock rates that error processing could be improved. If you start an array statement, and have missing or wrong element separators, report that and highlight the location in the source file. If you have a structure that is not properly terminated, report that rather than the effect of that on another statement.
I realize Arduino is found on GCC so perhaps this should/could be addressed in the GCC but it does seem that error reporting is still stuck in the 70's, not much removed from punch cards and cryptic error numbers.
Just my two cents, or maybe 2 dollars with today's inflation.
Thanks,
Jim Brooks
The text was updated successfully, but these errors were encountered: