Skip to content

re: poor compiler/source code error reporting #2914

Open
@jbhome

Description

@jbhome

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Component: CoreRelated to the code for the standard Arduino APIComponent: ToolchainThe tools used for compilation and uploading to Arduino boardsfeature requestA request to make an enhancement (not a bug fix)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions