Vous avez reçu un message "Your GitLab account has been locked ..." ? Pas d'inquiétude : lisez cet article https://docs.gricad-pages.univ-grenoble-alpes.fr/help/unlock/

  1. 01 Jun, 2021 2 commits
  2. 08 May, 2021 1 commit
  3. 26 Dec, 2020 1 commit
  4. 21 Jul, 2020 1 commit
  5. 24 Feb, 2020 1 commit
  6. 18 Feb, 2020 1 commit
  7. 05 Jul, 2019 1 commit
    • Jacques-Henri Jourdan's avatar
      New parser based on new version of the Coq backend of Menhir (#276) · 998f3c5f
      Jacques-Henri Jourdan authored
      What's new:
      1. A rewrite of the Coq interpreter of Menhir automaton, with
         dependent types removing the need for runtime checks for the
         well-formedness of the LR stack. This seem to cause some speedup on
         the parsing time (~10% for lexing + parsing).
      2. Thanks to 1., it is now possible to avoid the use of int31 for
         comparing symbols: Since this is only used for validation,
         positives are enough.
      3. Speedup of Validation: on my machine, the time needed for compiling
         Parser.v goes from about 2 minutes to about 1 minute. This seem to
         be related to a performance bug in the completeness validator and
         to the use of positive instead of int31.
      3. Menhir now generates a dedicated inductive type for
         (semantic-value-carrying) tokens (in addition to the already
         existing inductive type for (non-semantic-value-carrying)
         terminals. The end result is that the OCaml support code for the
         parser no longer contain calls to Obj.magic. The bad side of this
         change is that the formal specification of the parser is perhaps
         harder to read.
      4. The parser and its library are now free of axioms (I used to use
         axiom K and proof irrelevance for easing proofs involving dependent
      5. Use of a dedicated custom negative coinductive type for the input
         stream of tokens, instead of Coq stdlib's `Stream`. `Stream` is a
         positive coinductive type, which are now deprecated by Coq.
      6. The fuel of the parser is now specified using its logarithm instead
         of its actual value. This makes it possible to give large fuel
         values instead of using the `let rec fuel = S fuel` hack.
      7. Some refactoring in the lexer, the parser and the Cabs syntax tree.
      The corresponding changes in Menhir have been released as part of
      version 20190626. The `MenhirLib` directory is identical to the
      content of the `src` directory of the corresponding `coq-menhirlib`
      opam package except that:
         - In order to try to make CompCert compatible with several Menhir
           versions without updates, we do not check the version of menhir
           is compatible with the version of coq-menhirlib. Hence the
           `Version.v` file is not present in CompCert's copy.
         - Build-system related files have been removed.
  8. 10 May, 2019 1 commit
    • Bernhard Schommer's avatar
      Check for reserved keywords. · df81fb38
      Bernhard Schommer authored
      `_Complex` and `_Imaginary` are reserved keywords. Since CompCert does
      not support these types they could be used as identifiers. However
      the standard requires to reject this.
  9. 14 Sep, 2018 1 commit
    • Michael Schmidt's avatar
      Improved diagnostics: spelling, wording, etc (#138) · b55fa30a
      Michael Schmidt authored
      * bug 24268: avoid assertion after reporting error for invalid call to builtin_debug
      * bug 24268, remove duplicated warning tag in lexer messages
      * bug 24268, fix spelling in array element designator message
      * bug 24268, unify 'consider adding option ...' messages
      * bug 24268, add spacing for icbi operands
      * bug 24268, uniform use of Ignored_attributes class for identical warnings
      * bug 24268, unify message for 'assignment to const type' to error from error/fatal error
      * bug 24268, in handcrafted.messages, "a xxx have been recognized" -> "a xxx has been recognized"
  10. 02 Aug, 2018 1 commit
  11. 08 Feb, 2018 1 commit
    • Bernhard Schommer's avatar
      Refactor the handling of errors and warnings (#44) · f02f00a0
      Bernhard Schommer authored
      * 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.
  12. 06 Feb, 2017 1 commit
  13. 20 Jan, 2017 1 commit
    • Bernhard Schommer's avatar
      Implement offsetof via builtin. · 55937c17
      Bernhard Schommer authored
      The implementation of offsetof as macro in the form
      ((size_t) &((ty*) NULL)->member) has the problem that it cannot be
      used everywhere were an integer constant expression is allowed,
      for example in initiliazers of global variables and there is also
      no check for the case that member is of bitifield type.
      The new implementation adds a builtin function for this which is
      replaced by an integer constant during elaboration.
      Bug 20765
  14. 29 Jul, 2016 1 commit
    • Bernhard Schommer's avatar
      Classified all warnings and added various options. · 21156a2f
      Bernhard Schommer authored
      Now each warning either has a name and can be turned on/off, made
      into an error,etc. or is a warning that always will be triggered.
      The message of the warnings are similar to the ones emited by
      gcc/clang and all fit into one line.
      Furthermore the diagnostics are now colored if colored output is
      Bug 18004
  15. 23 Mar, 2016 1 commit
    • Bernhard Schommer's avatar
      Added the _Noreturn keyword. · 4e62a2c4
      Bernhard Schommer authored
      CompCert now recognizes the C11 _Noreturn function specifier and
      emits a simple warning for functions declared _Noreturn containing
      a return statement. Also the stdnoreturn header and additionally
      the stdalign header are added.
      Bug 18541
  16. 15 Mar, 2016 1 commit
  17. 10 Mar, 2016 1 commit
    • Bernhard Schommer's avatar
      Code cleanup. · 5b05d366
      Bernhard Schommer authored
      Removed some unused variables, functions etc. and resolved some
      problems which occur if all warnings except 3,4,9 and 29 are active.
      Bug 18394.
  18. 11 Dec, 2015 1 commit
    • Bernhard Schommer's avatar
      More gcc/newlib compatibility code. · fd2d8d86
      Bernhard Schommer authored
      Some newlib headers use the __extension__ keyword which suppresses
      warnings for gcc extensions in strict mode. CompCert now ignores
      this keyword for the gnu backends.
      Also it seems that stddef of the gcc defines wint_t even though
      it should not. However some libs rely on this. So wint_t is now
      defined in CompCert's stddef header.
      Bug 17613.
  19. 10 Nov, 2015 1 commit
  20. 23 Oct, 2015 5 commits
  21. 22 Oct, 2015 1 commit
  22. 08 Oct, 2015 1 commit
  23. 30 Sep, 2015 1 commit
  24. 06 Apr, 2015 1 commit
  25. 29 Dec, 2014 1 commit
  26. 21 Sep, 2014 2 commits
    • Xavier Leroy's avatar
      GCCism: accept __volatile and __volatile__ · ea81ecd2
      Xavier Leroy authored
      These alternate keywords for "volatile" are used in some header files
      in the wild.
    • Xavier Leroy's avatar
      Error instead of warning on illegal escape sequences. · 55d08b03
      Xavier Leroy authored
      The previous behavior for illegal escape sequences (e.g. '\%') in character
      and string literals was to emit an error, then treat "\x" as "x".
      As reported by a user, this is dangerous, because the warning can go
      unnoticed, and other compilers can treat "\x" as "\\x"
      (backslash followed by 'x').  Better to error out.
  27. 12 May, 2014 1 commit
  28. 11 May, 2014 1 commit
  29. 08 May, 2014 1 commit
  30. 05 May, 2014 1 commit
  31. 02 May, 2014 1 commit
  32. 29 Apr, 2014 1 commit
  33. 05 Oct, 2013 1 commit
  34. 03 Nov, 2012 1 commit