| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Debug statements introduced during the translation result in warnings
when they are introduced at the head of the switch. Since they are
not used and the warning is not necessary we can remove them before.
Fix 17580.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Instead of printing <unknown builtin> we now print the debug
annotations.
Fix 17581.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
git+ssh://ssh.absint.com/common/repositories/git/tools/compcert
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
For function types used by function pointers we do not need to print
the name of the paraments. Also switch the logic in case of
prototyped/unprototyped.
Fix 17579.
|
|/ / / / / |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
When printing a fragment of source text as part of an error message, …
|
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
compress multiple whitespace characters into just one space character.
This is done before the call to [sanitize], which replaces special characters with a dot.
This produces more a readable result when the error spans multiple lines.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The new option -gonly-global allows the generation of debuging
information for global variables only.
Bug 17566.
|
| | | | | |
|
| |_|_|/
|/| | | |
|
| |_|/
|/| | |
|
| | | |
|
|/ /
| |
| |
| |
| |
| | |
Instead of having a function for each instruction we now use a
generic function to print the arguments.
Bug 17544.
|
| |
| |
| |
| |
| |
| | |
In a first step all the print commands for the names are replaced
by a more safe variant that avoids missing \".
Bug 17328
|
| |
| |
| |
| | |
Bug 17473
|
| |
| |
| |
| | |
Bug 17473
|
|\ \ |
|
| |\ \
| | | |
| | | | |
Fixed some comments.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When [debug] is [false], there are a few places where we silently
ignore an error.
This should not make any difference if everything works as planned.
|
| |/ / |
|
| | | |
|
| | |
| | |
| | |
| | | |
Bug 17481.
|
|/ /
| |
| |
| | |
Bug 17481
|
| |
| |
| |
| | |
Bug 17473.
|
|\ \
| | |
| | | |
Fixed one error message and removed two comments.
|
| | | |
|
| | |
| | |
| | |
| | | |
Bug 17481.
|
|\ \ \ |
|
|/| | |
| |/ / |
|
| |\ \ |
|
| | |\ \
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
Makefile.extr
|
| |\ \ \ \
| | |/ / /
| |/| / /
| | |/ /
| | | | |
Conflicts:
Makefile.extr
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This requires the development version of Menhir, to be released soon.
In summary:
handcrafted.messages is new.
It contains a mapping of erroneous sentences to error messages,
together with a lot of comments.
Makefile.extr is new.
It contains a rule to generate cparser/pre_parser_messages.ml
based on this mapping.
cparser/ErrorReports.{ml,mli} are new.
They construct syntax error messages, based on the compiled mapping.
cparser/Lexer.mll is modified.
The last two tokens that have been read are stored in a buffer.
ErrorReports is called to construct a syntax error message.
cparser/GNUmakefile is new.
It offers several commands for working on the pre-parser.
cparser/deLexer.ml is new.
It is a script (it is not linked into CompCert).
It translates the symbolic name of a token to an example of this
token in concrete C syntax.
It is used by [make -C cparser concrete] to produce the .c files
in tests/generated/.
cparser/tests/generated/Makefile is new.
It runs ccomp, clang and gcc on each of the generated C files,
so as to allow a comparison of the error messages.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This means that CompCert must now be compiled in --table mode.
At this point, the error message for a syntax error is still just "syntax error".
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This affects in which states errors are detected,
but does not change the language that is accepted.
|
| | | |
| | | |
| | | |
| | | | |
This allows us to give a better error message in one state.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
For the first one, this is fine; the error is caught by a type check later on.
For the second one, it is temporary. More thought is needed about the syntax
of K&R functions anyway, as Jacques-Henri and I discovered that it is currently
broken (it mis-interprets some function definitions).
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
list.
This saves 7 states and 4 error states.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This creates more states and does not change the number of error states.
It should make it easier to give a good error message in at least 2 states.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[declaration_specifier_no_typedef_name*].
This replaces a right-recursive list with a left-recursive list.
This saves 2 states and 6 error states.
|
| | | |
| | | |
| | | |
| | | | |
This results in slightly fewer states.
|
| | | |
| | | |
| | | |
| | | | |
elegant manner.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
a left-recursive list.
This further reduces the number of states (and error states).
|