aboutsummaryrefslogtreecommitdiffstats
path: root/cparser
Commit message (Collapse)AuthorAgeFilesLines
* Turning loads into non-trapping when necessaryCyril SIX2020-12-152-1/+9
|
* Merge branch 'master' (Absint 3.8) into kvx-work-merge3.8David Monniaux2020-11-1817-1119/+1319
|\
| * Check ptr arithmetic for ++ and --Bernhard Schommer2020-09-201-10/+16
| | | | | | | | | | Also: improve check for ptr - integer. (Added by Xavier Leroy <xavier.leroy@college-de-france.fr>)
| * Add new static-assert token for deLexer utility; bug 29273Michael Schmidt2020-08-041-0/+1
| |
| * Add comments we missed to sync to GitHubChristoph Cullmann2020-07-301-0/+2
| |
| * Allow string_literals_list in _Static_assert.Bernhard Schommer2020-07-272-24/+25
| | | | | | | | | | | | Not all pre-processors concatenate string literal lists, however they are allowed in _Static_assert. This is similar to the rules for inline assembly etc.
| * More checks for __builtin_va_start (#250)Bernhard Schommer2020-07-211-6/+10
| | | | | | | | We check that this builtin function is only called from within a variadic function and has the correct number of arguments.
| * cparser/handcrafted.messages: missing blank lineXavier Leroy2020-07-211-0/+1
| |
| * Updated handcrafted.messages.Bernhard Schommer2020-07-211-0/+108
| | | | | | | | | | Added error descriptions for the new syntax errors introduced by '_Static_assert'.
| * Support _Static_assert from C11Xavier Leroy2020-07-217-1060/+1116
| |
| * Support __builtin_constant_p as in GCC and Clang (#367)Xavier Leroy2020-07-211-0/+10
| | | | | | | | | | Returns 1 if the argument is a constant expression, 0 otherwise. Closes: #366
| * Use the correct location for Slabaled in transform.Bernhard Schommer2020-07-211-2/+2
| |
| * Added error for redefined builtin.Bernhard Schommer2020-07-203-0/+6
| | | | | | | | | | | | We check in the initial environment if a function is already defined to avoid redefinition of functions that are part of the builtin environment.
| * Introduce additional "branch" build information.Bernhard Schommer2020-07-081-5/+5
| |
| * Move shared code in new file.Bernhard Schommer2020-06-281-1/+1
| | | | | | | | | | The name_of_register and register_of_name function are shared between all architectures and can be moved in a common file.
| * Use library function.Bernhard Schommer2020-06-281-4/+1
| | | | | | | | | | | | | | The function String.uppercase was deprecated and the replacement function String.upercase_ascii was only available from OCaml 4.03.0. Since the minimal OCaml version is now 4.05.0 we can use the function String.upercase_ascii.
| * Use Hashtbl.find_opt.Bernhard Schommer2020-06-281-2/+1
| | | | | | | | | | Replace the pattern `try Some (Hashtbl.find ...) with Not_found -> None` by a call to the function Hashtbl.find_opt.
| * Check for errors after each pass.Bernhard Schommer2020-04-201-1/+8
| |
| * Added warning for packed composite with bitfields.Bernhard Schommer2020-04-201-0/+2
| |
| * Add location to transform functions.Bernhard Schommer2020-04-204-28/+28
| |
* | k1c -> kvx changesDavid Monniaux2020-05-262-3/+3
| |
* | Merge remote-tracking branch 'origin/mppa-work' into mppa-threadDavid Monniaux2020-04-081-3/+4
|\ \
| * | Merge branch 'dm-leaf' of https://github.com/monniaux/CompCert into mppa-workDavid Monniaux2020-03-261-2/+2
| |\|
| | * Include typedef name in error message (#228)Bernhard Schommer2020-03-041-2/+2
| | | | | | | | | In case of redefinition of a typedef name with a different type.
| * | Merge branch 'mppa-cse2' of ↵David Monniaux2020-03-033-1/+47
| |\ \ | | |/ | |/| | | | gricad-gitlab.univ-grenoble-alpes.fr:sixcy/CompCert into mppa-work
| * | The type of a wide char constant is wchar_t. (#223)Bernhard Schommer2020-02-241-1/+2
| | | | | | | | | | | | See ISO C2011 standard, section 6.4.4.4 para 11.
* | | Merge branch 'mppa-work' into mppa-threadCyril SIX2020-02-252-2/+2
|\ \ \
| * | | Merge branch 'master' of https://github.com/AbsInt/CompCert into ↵David Monniaux2020-02-242-2/+2
| |\| | | | |/ | |/| | | | mppa-work-upstream-merge
| | * Cosmetic: in OCaml code, write "open! Module" instead of "open !Module"Xavier Leroy2020-02-211-1/+1
| | | | | | | | | | | | | | | | | | "open!" is the form used in the examples in the OCaml manual. Based on a quick poll it seems to be the preferred form of the OCaml core dev team.
| | * Support vertical tabs and treat them as whitespace (#218)Bernhard Schommer2020-02-181-1/+1
| | | | | | | | | | | | Some preprocessors don't remove the vertical tab from the input so we should be able to handle them in the lexer.
* | | it now works, no more ugly hack to access thread local dataDavid Monniaux2020-02-241-1/+1
| | |
* | | seems to process _Thread_local but not till backendDavid Monniaux2020-02-243-3/+7
| | |
* | | actually process the modifiersDavid Monniaux2020-02-241-2/+12
| | |
* | | begin implementing thread_local storageDavid Monniaux2020-02-245-6/+31
| | |
* | | parse _Thread_localDavid Monniaux2020-02-246-3/+11
|/ /
* | Merge branch 'dm-div2' of https://github.com/monniaux/CompCert into mppa-workDavid Monniaux2020-01-151-1/+6
|\|
| * Added error for unknown builtin functions. (#208)Bernhard Schommer2019-12-211-1/+6
| | | | | | | | | | | | | | | | | | Previously, using an unknown builtin function was treated like any other call to an undeclared function: a warning was emitted, and an error occurred at link-time. With this commit, using an unknown builtin function is an error, like in Clang.
* | Merge branch 'master' of https://github.com/AbsInt/CompCert into ↵David Monniaux2019-12-091-118/+42
|\| | | | | | | mppa-work-upstream-merge
| * Added back unused_ais_parameter warning.Bernhard Schommer2019-11-261-0/+1
| |
| * Simplified diagnostics module.Bernhard Schommer2019-11-251-118/+41
| | | | | | | | | | | | | | Instead of constructing four different lists for maintaining the state of the warnings only one list is now used. This list contains the name of the warning and a boolean indicating whether this option should be active by default. The rest is computed from this list.
* | Merge branch 'master' of https://github.com/AbsInt/CompCert into ↵David Monniaux2019-11-134-12/+36
|\| | | | | | | mppa-work-upstream-merge
| * Remove duplicated ticks.Bernhard Schommer2019-10-011-2/+2
| |
| * Use pointer type for evaluated constants.Bernhard Schommer2019-10-011-1/+1
| |
| * Various improvements for diagnostics.Bernhard Schommer2019-09-303-10/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Extend check for incomplete type. Extended the check to also include a check for variables with incomplete object type that are not arrays, that have an initializer. Furthermore the warning includes the type and variable name. * Warning for incomplete type in compound literals. Incomplete types are not allowed for compound literals, except for array types. * Extend type printing function. The type of a typedeof of an anonymous type should not be printed. Furthermore added '<anonymous>' to the printing of anonymous types. * Unify incomplete type errors message. The incomplete type error messages should all look the same including name of the variable, parameter, etc. and then the incomplete type.
| * Functions that are extern should stay extern (#201)Bernhard Schommer2019-09-251-1/+1
| | | | | | | | | | | | In ISO C, inline functions behaves differently whether they have been declared `extern` at least once or not (i.e. all the declarations have no `extern` and no `static` modifier). Hence, functions that have been declared / defined `extern` once should remain `extern` when redeclared without `extern`. This gives the ISO C behavior for inline functions and has no impact for non-inline functions.
* | [regression to check!] Merge tag 'v3.6' into mppa-workCyril SIX2019-10-162-0/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .gitignore backend/Lineartyping.v common/Values.v configure cparser/Machine.ml cparser/Machine.mli driver/Configuration.ml driver/Frontend.ml runtime/Makefile test/c/Makefile test/c/aes.c test/compression/Makefile test/regression/Makefile test/regression/extasm.c test/regression/floats-basics.c test/regression/floats.c Note : test/regression should be checked, didn't test it yet
| * AArch64 portXavier Leroy2019-08-082-0/+6
| | | | | | | | | | This commit adds a back-end for the AArch64 architecture, namely ARMv8 in 64-bit mode.
* | Fix for test/regression/struct2.cCyril SIX2019-10-141-1/+2
| |
* | Tackling struct passing by value for the future K1C ABICyril SIX2019-10-143-2/+12
| |
* | Explicitly naming SP_split_args for easier greppingCyril SIX2019-10-141-1/+1
| |