1. 01 Jul, 2016 1 commit
  2. 14 Jun, 2016 1 commit
  3. 30 May, 2016 2 commits
  4. 27 May, 2016 1 commit
  5. 21 Mar, 2016 1 commit
  6. 21 Feb, 2016 1 commit
  7. 20 Feb, 2016 1 commit
  8. 19 Feb, 2016 1 commit
  9. 17 Feb, 2016 3 commits
  10. 16 Feb, 2016 1 commit
  11. 14 Feb, 2016 2 commits
  12. 13 Feb, 2016 2 commits
  13. 11 Feb, 2016 1 commit
  14. 16 Jan, 2016 1 commit
  15. 14 Jan, 2016 1 commit
  16. 12 Jan, 2016 1 commit
  17. 21 Dec, 2015 1 commit
  18. 15 Dec, 2015 2 commits
  19. 18 Nov, 2015 1 commit
  20. 16 Nov, 2015 1 commit
  21. 11 Nov, 2015 1 commit
  22. 03 Feb, 2017 1 commit
  23. 01 Feb, 2017 1 commit
  24. 04 Jun, 2015 1 commit
  25. 22 Apr, 2015 1 commit
  26. 25 Feb, 2015 1 commit
  27. 08 Feb, 2015 2 commits
    • Robbert Krebbers's avatar
      Update copyright headers. · 5a73c4ed
      Robbert Krebbers authored
      5a73c4ed
    • Robbert Krebbers's avatar
      Support function pointers and use a state monad in the frontend. · b2109c25
      Robbert Krebbers authored
      Important changes in the core semantics:
      * Types extended with function types. Since function types are a special kind
        of pointer types, types now have an additional mutual part called "ptr_type".
      * Pointers extended with function pointers. Theses are just names that refer
        to an actual function in the function environment.
      * Typing environments extended to assign argument and return types to function
        names. Before we used a separate environment for these, but since the
        argument and return types are already needed to type function pointers, this
        environment would appear in pretty much every typing judgment.
      
      As a side-effect, the frontend has been rewritten entirely. The important
      changes are:
      
      * Type checking of expressions is more involved: there is a special kind of
        expression type corresponding to a function designator.
      * To handle things like block scoped extern function, more state-fullness was
        needed. To prepare for future extensions, the entire frontend now uses a
        state monad.
      b2109c25
  28. 25 Jan, 2015 1 commit
  29. 15 Nov, 2014 1 commit
    • Robbert Krebbers's avatar
      More accurate formalization of integer ranks. · da7a14bb
      Robbert Krebbers authored
      Integers with the same size, are no longer supposed to have the same rank. As a
      result, the C integer types (char, short, int, long, long long) are different
      (and thus cannot alias) even if they have the same size. We now have to use a
      more involved definition of integer promotions and usual arithmetic conversions.
      However, this new definition follows the C standard literally.
      da7a14bb
  30. 10 Oct, 2014 1 commit
  31. 30 Sep, 2014 1 commit
  32. 06 Sep, 2014 1 commit
  33. 22 Aug, 2014 1 commit
    • Robbert Krebbers's avatar
      Modify typing judgments to depend on a description of the types of objects in · 7f9c5994
      Robbert Krebbers authored
      memory instead of the whole memory itself.
      
      This has the following advantages:
      * Avoid parametrization in {addresses,pointers,pointer_bits,bits}.v
      * Make {base_values,values}.v independent of the memory, this makes better
        parallelized compilation possible.
      * Allow small memories (e.g. singletons as used in separation logic) with
        addresses to objects in another part to be typed.
      * Some proofs become easier, because the memory environments are preserved
        under many operations (insert, force, lock, unlock).
      
      It also as the following disadvantages:
      * At all kinds of places we now have explicit casts from memories to memory
        environments. This is kind of ugly. Note, we cannot declare memenv_of as a
        Coercion because it is non-uniform.
      * It is a bit inefficient with respect to the interpreter, because memory
        environments are finite functions instead of proper functions, so calling
        memenv_of often (which we do) is not too good.
      7f9c5994