To me: confusing. In many languages, there are synonyms and variations of an option, like -verbose, -v, --verbose, etc. Which is which?maybe a verbose version of version? like '-version -v'?
'Stacking' on a simple option doesn't make sense. Somewhere, someone does -v ... or ... a -v -v to get a lot more. Simple, intuitive, but not elegant.
We DO have nice, simple -e, -ex, -exx. Once you see them - easy to remember.
How about something like:
-version = FBC version, standard version dump, as now
-v = verbose build info, as now
-vb = verbose build information, version with switches, options and limits shown
-vc = version and all compile options/switches for this compiler run -- in a handy group to add to source to keep things straight.
On the other hand, it looks like there would be little to add to the current -v and -version to display the new possible options.
Maybe just mod -version and -v only?
Simplest choice.
I do agree with the sentiment of splitting out bounds checking, etc. as suggested by TeeEmCee. Not sure how much work that would be, though.
david