opam-repository icon indicating copy to clipboard operation
opam-repository copied to clipboard

[new release] goblint-cil (2.0.0)

Open sim642 opened this issue 2 years ago • 1 comments

A front-end for the C programming language that facilitates program analysis and transformation

CHANGES:
  • Wrap library into GoblintCil module (goblint/cil#107).
  • Remove all MSVC support (goblint/cil#52, goblint/cil#88).
  • Port entire build process from configure/make to dune (goblint/cil#104).
  • Add C11 _Generic support (goblint/cil#48).
  • Add C11 _Noreturn support (goblint/cil#58).
  • Add C11 _Static_assert support (goblint/cil#62).
  • Add C11 _Alignof support (goblint/cil#66).
  • Add C11 _Alignas support (goblint/cil#93, goblint/cil#108).
  • Add partial C11 _Atomic support (goblint/cil#61).
  • Add _Float32, _Float64, _Float32x and _Float64x type support (goblint/cil#8, goblint/cil#60).
  • Add Universal Character Names, char16_t and char32_t type support (goblint/cil#80).
  • Change locations to location spans and add additional expression locations (goblint/cil#51).
  • Add synthetic marking for CIL-inserted statement locations (goblint/cil#98).
  • Expose list of files from line control directives (goblint/cil#73).
  • Add parsed location transformation hook (goblint/cil#89).
  • Use Zarith for integer constants (goblint/cil#47, goblint/cil#53).
  • Fix constant folding overflows (goblint/cil#59).
  • Add option to disable constant branch removal (goblint/cil#103).
  • Add standalone expression parsing and checking (goblint/cil#97, goblint/cil#96).
  • Improve inline function merging (goblint/cil#72, goblint/cil#85, goblint/cil#84, goblint/cil#86).
  • Fix some attribute parsing cases (goblint/cil#71, goblint/cil#75, goblint/cil#76, goblint/cil#77).
  • Fix global NaN initializers (goblint/cil#78, goblint/cil#79).
  • Fix cilly binary installation (goblint/cil#99, goblint/cil#100, goblint/cil#102).
  • Remove batteries dependency to support OCaml 5 (goblint/cil#106).

sim642 avatar Aug 12 '22 13:08 sim642

Since they came up in the CI, I also made some related and unrelated fixes to the goblint packages. The failures for goblint.1.0.0 should probably be ignored: it's very ancient and the lower bound problem is something else.

The conf-gcc additions are because MacOS is a pain in the butt and symlinks gcc to its own clang, which goblint-cil and goblint don't work with. With conf-gcc it's depext forces homebrew to install a real gcc.

Sorry for the confusing debugging commits listed in this PR. The final force pushed commits should be clean enough to merge.

sim642 avatar Aug 12 '22 13:08 sim642

I have tried to figure out authors for v1.0.0 from the sources, please let me know if that is not correct

mseri avatar Aug 17 '22 08:08 mseri

I have tried to figure out authors for v1.0.0 from the sources, please let me know if that is not correct

Close, I amended that based on what its own git history reflects.

sim642 avatar Aug 17 '22 08:08 sim642

The lower bound failure is unrelated:

#=== ERROR while installing omake.0.9.8.7 =====================================#
Cannot copy /home/opam/.opam/4.06/.opam-switch/build/omake.0.9.8.7/src/main/omake.opt to /home/opam/.opam/4.06/bin/omake (/usr/bin/opam: "open" failed on /home/opam/.opam/4.06/bin/omake: Permission denied).

mseri avatar Aug 17 '22 09:08 mseri

Thanks!

kit-ty-kate avatar Aug 17 '22 17:08 kit-ty-kate