Skip to content

Commit f70e708

Browse files
committed
Merge branch 'develop' into c11-generic
2 parents e47e4ad + 64f3010 commit f70e708

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+1115
-2715
lines changed

.github/workflows/tests.yml

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
- ubuntu-latest
1616
# - windows-latest
1717
ocaml-version:
18-
- 4.04.2
18+
# - 4.04.2
1919
- 4.05.0
2020
- 4.06.1
2121
- 4.07.1
@@ -32,20 +32,10 @@ jobs:
3232
- name: Checkout code
3333
uses: actions/checkout@v2
3434

35-
- name: Cache # https://github.com/marketplace/actions/cache
36-
uses: actions/[email protected]
37-
with:
38-
# A list of files, directories, and wildcard patterns to cache and restore
39-
path: |
40-
~/.opam
41-
_opam
42-
# An explicit key for restoring and saving the cache
43-
key: ${{ runner.os }}-new-${{ matrix.ocaml-version }}
44-
4535
- name: Setup OCaml ${{ matrix.ocaml-version }}
46-
uses: avsm/setup-ocaml@v1
36+
uses: ocaml/setup-ocaml@v2
4737
with:
48-
ocaml-version: ${{ matrix.ocaml-version }}
38+
ocaml-compiler: ${{ matrix.ocaml-version }}
4939

5040
- run: opam pin add goblint-cil.dev . --no-action
5141
- run: opam depext goblint-cil --yes

.merlin

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ B _build/src/ext/
99
B _build/src/ext/pta/
1010
B _build/src/frontc/
1111
B _build/src/ocamlutil/
12-
PKG findlib
12+
PKG findlib, zarith

CHANGES

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,24 @@
1+
## Unreleased
2+
* Add ends to locations, allowing for ranges.
3+
* Add additional expression locations to statements, etc.
4+
* Drop all support for MSVC
5+
6+
## Older versions
7+
8+
18 November 2021: goblint-cil-1.8.2
9+
10+
* Add columns to locations.
11+
* Add support for __int128, __int128_t and __uint128_t.
12+
113
18 May 2021: goblint-cil-1.8.0
214

3-
* Proper support for C99, ([#9][i9]) and VLAs in particular ([#5][i5], [#7][pr7])
15+
* Proper support for C99, (#9) and VLAs in particular (#5, #7)
416
* It uses [Zarith][zarith] instead of the deprecated [Num][num]
517
* Support for more recent OCaml versions (≥ 4.06)
618
* Large integer constants that do not fit in an OCaml `int` are represented as a `string` instead of getting truncated
7-
* Syntactic search extension ([#21][pr21])
19+
* Syntactic search extension (#21)
820
* Some warnings were made optional
9-
* Unmaintained extensions ([#30][pr30]) were removed
21+
* Unmaintained extensions (#30) were removed
1022
* Many bug fixes
1123

1224
24 July 2013: cil-1.7.3

META.goblint-cil.template

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
package "default-features" (
44
requires="goblint-cil.dataslicing goblint-cil.liveness goblint-cil.pta goblint-cil.makecfg goblint-cil.syntacticsearch"
5-
version = "1.8.1"
5+
version = "1.8.2"
66
)
77

88
package "all-features" (
99
requires="goblint-cil.dataslicing goblint-cil.liveness goblint-cil.pta goblint-cil.makecfg goblint-cil.zrapp goblint-cil.syntacticsearch"
10-
version = "1.8.1"
10+
version = "1.8.2"
1111
)

Makefile.in

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,6 @@ $(CILLY): $(CILLY_EXE_BIN) $(CILLYDIR)/Makefile
146146
$(MAKE) -C $(CILLYDIR)
147147

148148
# Create the machine dependency module
149-
# If the cl command cannot be run then the MSVC part will be identical to GCC
150149
.PHONY : machdep
151150
machdep: $(OBJDIR)/machdep.ml
152151
$(OBJDIR)/machdep.ml : src/machdep-ml.c configure.ac Makefile.in
@@ -203,15 +202,6 @@ $(OBJDIR)/machdep.ml : src/machdep-ml.c configure.ac Makefile.in
203202
@echo "let gcc = {" >>$@
204203
@$(OBJDIR)/machdep-ml.exe >>$@
205204
@echo "}" >>$@
206-
@if cl -D_MSVC $< -Fe$(OBJDIR)/machdep-ml.exe -Fo$(OBJDIR)/machdep-ml.obj ;then \
207-
echo "let hasMSVC = true" >>$@ ;\
208-
echo "let msvc = {" >>$@ ;\
209-
$(OBJDIR)/machdep-ml.exe >>$@ ;\
210-
echo "}" >>$@ \
211-
;else \
212-
echo "let hasMSVC = false" >>$@ ;\
213-
echo "let msvc = gcc" >> $@ \
214-
;fi
215205
@echo "let theMachine : mach ref = ref gcc" >>$@
216206

217207
$(CILLYDIR)/App/$(CILLYMOD).pm: $(CILLYDIR)/App/$(CILLYMOD).pm.in src/machdep-ml.c configure.ac Makefile.in

README.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ an incomplete list of some of the ways `goblint-cil` improves upon CIL:
1515
- Large integer constants that do not fit in an OCaml `int` are represented as a
1616
`string` instead of getting truncated
1717
- Syntactic search extension ([#21][pr21])
18+
- More precise locations (with columns)
1819
- Some warnings were made optional
1920
- Unmaintained extensions ([#30][pr30]) were removed
2021
- Many bug fixes
@@ -35,12 +36,14 @@ Install the latest release of `goblint-cil` with [opam][]:
3536
opam install goblint-cil
3637

3738
Read the excellent [CIL tutorial][tuto] by Zachary Anderson, much of which
38-
still applies to `goblint-cil`.
39+
still applies to `goblint-cil`. The repository referenced in that document has now moved [here][repo].
3940

4041
**ATTENTION:** Don't install the `cil` package. This is the unmaintained
4142
original version of CIL.
4243

44+
4345
[tuto]: https://web.eecs.umich.edu/~weimerw/2011-6610/reading/ciltut.pdf
46+
[repo]: https://github.com/zanderso/cil-template
4447

4548
Installation from Source
4649
------------------------
@@ -96,7 +99,7 @@ instance in the OCaml toplevel using [Findlib][findlib]:
9699
# #require "cil";;
97100
[...]
98101
# Cil.cilVersion;;
99-
- : string = "1.8.1"
102+
- : string = "1.8.2"
100103

101104
[findlib]: http://projects.camlcity.org/projects/findlib.html
102105

config.mk.in

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
# A bunch of variables -*- Mode: makefile -*-
2-
export HAS_MSVC=@HAS_MSVC@
32
export @DEFAULT_COMPILER@=1

configure

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -655,7 +655,6 @@ CIL_VERSION_MINOR
655655
CIL_VERSION_MAJOR
656656
DEFAULT_CIL_MODE
657657
DEFAULT_COMPILER
658-
HAS_MSVC
659658
EMUL
660659
LIBOBJS
661660
CYGPATH
@@ -2531,7 +2530,7 @@ ac_config_files="$ac_config_files stamp-h"
25312530
# Assign here the CIL version numbers
25322531
CIL_VERSION_MAJOR=1
25332532
CIL_VERSION_MINOR=8
2534-
CIL_VERSION_REV=1
2533+
CIL_VERSION_REV=2
25352534
CIL_VERSION=$CIL_VERSION_MAJOR.$CIL_VERSION_MINOR.$CIL_VERSION_REV
25362535

25372536
# make sure I haven't forgotten to run autoconf
@@ -3470,30 +3469,6 @@ test -n "$target_alias" &&
34703469
DEFAULT_COMPILER=_GNUCC
34713470
DEFAULT_CIL_MODE=GNUCC
34723471

3473-
# is the microsoft compiler available?
3474-
# hmm.. I think we should check the version or something, because
3475-
# sometimes people have Common Lisp's interpreter called 'cl' ..
3476-
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for msvc cl.exe (optional)" >&5
3477-
printf %s "checking for msvc cl.exe (optional)... " >&6; }
3478-
# See if CC points to the MS compiler
3479-
if "$CC" 2>&1 | grep "Microsoft" >/dev/null; then
3480-
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found, set as default" >&5
3481-
printf "%s\n" "found, set as default" >&6; }
3482-
HAS_MSVC=yes
3483-
DEFAULT_COMPILER=_MSVC
3484-
DEFAULT_CIL_MODE=MSVC
3485-
CFLAGS="-WX"
3486-
else
3487-
if cl 2>&1 | grep "Microsoft" >/dev/null ;then
3488-
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5
3489-
printf "%s\n" "found" >&6; }
3490-
HAS_MSVC=yes
3491-
else
3492-
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5
3493-
printf "%s\n" "not found" >&6; }
3494-
HAS_MSVC=no
3495-
fi
3496-
fi
34973472

34983473
# ------------------- OCaml ----------------
34993474

@@ -5266,7 +5241,6 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
52665241
printf "%s\n" "$THREAD_IS_KEYWORD" >&6; }
52675242

52685243
# Does gcc add underscores to identifiers to make assembly labels?
5269-
# (I think MSVC always does)
52705244
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if gcc adds underscores to assembly labels." >&5
52715245
printf %s "checking if gcc adds underscores to assembly labels.... " >&6; }
52725246
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6046,7 +6020,6 @@ printf "%s\n" "$real_type" >&6; }
60466020

60476021

60486022

6049-
60506023
# finish the configure script and generate various files; ./configure
60516024
# will apply variable substitutions to <filename>.in to generate <filename>;
60526025

@@ -7433,7 +7406,6 @@ fi
74337406
cat <<EOF
74347407
74357408
CIL configuration:
7436-
(optional) cl.exe found: HAS_MSVC $HAS_MSVC
74377409
gcc to use CC $CC
74387410
default compiler DEFAULT_COMPILER $DEFAULT_COMPILER
74397411
CIL version CIL_VERSION $CIL_VERSION

configure.ac

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ AC_PREREQ([2.71])
3333
# Assign here the CIL version numbers
3434
CIL_VERSION_MAJOR=1
3535
CIL_VERSION_MINOR=8
36-
CIL_VERSION_REV=1
36+
CIL_VERSION_REV=2
3737
CIL_VERSION=$CIL_VERSION_MAJOR.$CIL_VERSION_MINOR.$CIL_VERSION_REV
3838

3939
# make sure I haven't forgotten to run autoconf
@@ -82,26 +82,6 @@ AC_EXEEXT
8282
DEFAULT_COMPILER=_GNUCC
8383
DEFAULT_CIL_MODE=GNUCC
8484

85-
# is the microsoft compiler available?
86-
# hmm.. I think we should check the version or something, because
87-
# sometimes people have Common Lisp's interpreter called 'cl' ..
88-
AC_MSG_CHECKING(for msvc cl.exe (optional))
89-
# See if CC points to the MS compiler
90-
if "$CC" 2>&1 | grep "Microsoft" >/dev/null; then
91-
AC_MSG_RESULT([found, set as default])
92-
HAS_MSVC=yes
93-
DEFAULT_COMPILER=_MSVC
94-
DEFAULT_CIL_MODE=MSVC
95-
CFLAGS="-WX"
96-
else
97-
if cl 2>&1 | grep "Microsoft" >/dev/null ;then
98-
AC_MSG_RESULT(found)
99-
HAS_MSVC=yes
100-
else
101-
AC_MSG_RESULT(not found)
102-
HAS_MSVC=no
103-
fi
104-
fi
10585

10686
# ------------------- OCaml ----------------
10787

@@ -155,7 +135,6 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([int main(int __thread) { return 0; }])],
155135
AC_MSG_RESULT($THREAD_IS_KEYWORD)
156136

157137
# Does gcc add underscores to identifiers to make assembly labels?
158-
# (I think MSVC always does)
159138
AC_MSG_CHECKING([if gcc adds underscores to assembly labels.])
160139
AC_LINK_IFELSE([AC_LANG_SOURCE([int main() { __asm__("jmp _main"); }])],
161140
UNDERSCORE_NAME=true,
@@ -186,7 +165,6 @@ CIL_CHECK_INTEGER_TYPE(wchar_t, TYPE_WCHAR_T)
186165
# names of the variables that get substituted in files; for example,
187166
# write @CIL_VERSION@ somewhere in a written file to get it substituted
188167
AC_SUBST(EMUL)
189-
AC_SUBST(HAS_MSVC)
190168
AC_SUBST(DEFAULT_COMPILER)
191169
AC_SUBST(DEFAULT_CIL_MODE)
192170
AC_SUBST(CIL_VERSION_MAJOR)
@@ -216,7 +194,6 @@ AC_OUTPUT
216194
cat <<EOF
217195
218196
CIL configuration:
219-
(optional) cl.exe found: HAS_MSVC $HAS_MSVC
220197
gcc to use CC $CC
221198
default compiler DEFAULT_COMPILER $DEFAULT_COMPILER
222199
CIL version CIL_VERSION $CIL_VERSION

dune-project

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@
22
(name goblint-cil)
33
(implicit_transitive_deps false)
44
(generate_opam_files true)
5-
(version 1.8.1)
5+
(version 1.8.2)
66
(source (github goblint/cil))
7-
(homepage "https://cil-project.github.io/cil/")
87
; (documentation "https://goblint.github.io/cil")
98
(authors "[email protected]")
10-
(maintainers "Michael Schwarz <[email protected]>" "Ralf Vogler <[email protected]>")
9+
(maintainers "Michael Schwarz <[email protected]>" "Simmo Saan <[email protected]>" "Ralf Vogler <[email protected]>")
1110
(license "BSD-3-Clause")
1211

1312
(package
@@ -16,16 +15,17 @@
1615
(description "\
1716
This is a fork of the 'cil' package needed to build 'goblint'.
1817
Changes:
19-
- Proper support for C99, (#9) and VLAs in particular (#5, #7)
18+
- Proper support for C99 and VLAs in particular
2019
- It uses Zarith instead of the deprecated Num
2120
- Support for more recent OCaml versions (≥ 4.06)
2221
- Large integer constants that do not fit in an OCaml int are represented as a string instead of getting truncated
23-
- Syntactic search extension (#21)
22+
- Syntactic search extension
23+
- More precise locations (with columns)
2424
- Some warnings were made optional
25-
- Unmaintained extensions (#30) were removed
25+
- Unmaintained extensions were removed
2626
- Many bug fixes")
2727
(depends
28-
(ocaml (>= 4.04.2))
28+
(ocaml (>= 4.05.0))
2929
ocamlfind
3030
zarith
3131
(hevea :with-doc)

0 commit comments

Comments
 (0)