aboutsummaryrefslogtreecommitdiffstats
path: root/cparser/Diagnostics.ml
Commit message (Collapse)AuthorAgeFilesLines
* Warn for defs and uses of static variables in nonstatic inline functionsXavier Leroy2018-06-041-0/+6
| | | | | | | Nonstatic inline functions can be expanded in several compilation units. The static variables in question may differ between different expansions. This is a manual merge and adaptation of pull request #P95 by @bschommer.
* Turn off the warning "C11 extension" by defaultXavier Leroy2018-06-041-1/+0
| | | | | | These are extensions w.r.t. C99, not incompatible changes. Nothing bad can happen if those C11 features are used, except making the code incompatible with C99.
* Warning for extern declaration after definition.Bernhard Schommer2018-05-261-0/+6
| | | | | | | | | Warning for change of storage class after the definition of a function from default storage class to extern storage class. This only plays a role if the function is also declared inline, since for inline functions with default storage class no code is generated, but for inline functions with extern storage class code should be generated. Bug 23512
* Added a diagnostic for attributes dec after defBernhard Schommer2018-05-071-0/+6
| | | | | | The new warning is raise for function declaration after a function definition that introduce new attributes, which are ignored. Bug 23385
* Improve error messages.Bernhard Schommer2018-03-071-0/+5
| | | | | | | | Include the format specifier in error message when available in order to make it easier to spot the broken ais parameter. Futhermore introduce a new warning for unused ais parameters. Bug 22464
* Reactivated and improved ais annotations.Bernhard Schommer2018-03-061-1/+7
| | | | | | | | | | | | | | | | | | The ais annotations are now handled in a separate file shared between all architectures. Also two different variants of replacements are supported, %e which expands to ais expressions and %l which also expands to an ais expression but is guaranted to be usable as l-value in the ais annotation. Otherwise the new warning is Wrong_is_parameter is generated. Also an error message is generated if floating point variables are used in ais annotations since a3 does not support them at the moment. Additionally an error message is generated for plain volatile variables used, since they will enforce a volatile load and result in the value being passed to the annotation instead of the address as other global variables.
* Added error summary in case of fatal error.Bernhard Schommer2018-02-091-0/+10
|
* Refactor the handling of errors and warnings (#44)Bernhard Schommer2018-02-081-0/+437
* Module Cerrors is now called Diagnostic and can be used in parts of CompCert other than cparser/ * Replaced eprintf error. Instead of having eprintf msg; exit 2 use the functions from the Diagnostics module. * Raise on error before calling external tools. * Added diagnostics to clightgen. * Fix error handling of AsmToJson. * Cleanup error handling of Elab and C2C. *The implementation of location printing (file & line) is simplified and correctly prints valid filenames with invalid lines.