Commit graph

1079 commits

Author SHA1 Message Date
larsk21
b708eaec2c fix: forward lean options to workers 2022-06-03 13:03:52 +02:00
Sebastian Ullrich
7460878e05 chore: define WIN32_LEAN_AND_MEAN 2022-04-06 09:38:19 +02:00
Joscha
fead5526bc feat: add -i cli option 2022-01-14 09:18:57 +01:00
Leonardo de Moura
de29657594 feat: implement bool operator==(data_value const & a, data_value const & b) using Lean autogenerated code 2021-12-16 16:37:47 -08:00
tydeu
a3250dc44b feat: expose --load-dynlib functionality to Lean code 2021-12-15 08:26:48 +00:00
Chris Lovett
10649baf8d
fix: potential buffer override on command line args (#839) 2021-12-01 12:14:48 -08:00
Sebastian Ullrich
dd146d50cf fix: extra linker flags (e.g. -ldl) must come after stdlib linker flags 2021-11-23 13:07:05 +01:00
Sebastian Ullrich
c6c56b15e1 feat: findSysroot? & reworked initSearchPath 2021-11-20 11:04:39 +01:00
Sebastian Ullrich
6e9574045a feat: expose C & linker flags as API 2021-11-20 11:04:39 +01:00
tydeu
f0fd17138c fix: pass --trust to frontend 2021-11-11 08:39:53 +01:00
Sebastian Ullrich
85fb03f22c fix: cannot dynamically link against library that depends on statically linked runtime on Windows 2021-11-04 15:32:07 -07:00
Sebastian Ullrich
4b51d00fcb feat: --load-dynlib 2021-11-04 15:32:07 -07:00
Sebastian Ullrich
b13d3e6ca5 fix: dllexport functions not already annotated in header 2021-09-20 18:41:46 +02:00
Sebastian Ullrich
da516f5aa7 fix: write .c output file in binary mode for reproducibility 2021-09-20 18:41:46 +02:00
Sebastian Ullrich
b3bb2bac97 chore: move all C++ code into libleanshared, use C stub for main
Avoids any issues with cross-lib C++
2021-09-16 07:03:37 -07:00
Leonardo de Moura
c8406a301d chore: reduce src/include/lean 2021-09-07 08:24:54 -07:00
Leonardo de Moura
a05b7589b5 fix: assertion violation 2021-08-16 18:02:41 -07:00
Leonardo de Moura
6ced2cdece refactor: move lean_name_eq to runtime, add lean_name_hash in C 2021-08-16 16:13:55 -07:00
Leonardo de Moura
14b611af96 refactor: move buffer.h and *_ref.h files to runtime 2021-08-16 15:39:38 -07:00
Sebastian Ullrich
0aaab9e024 chore: remove file_lock.h 2021-08-04 16:40:57 +02:00
Sebastian Ullrich
c77548c95c fix: accidental truncation of name::hash 2021-08-04 16:40:57 +02:00
Sebastian Ullrich
2b451a3fed chore: remove obsolete serializer code 2021-07-22 18:59:39 +02:00
Leonardo de Moura
489b28085f feat: simpler and faster RC 2021-07-20 10:42:28 -07:00
Sebastian Ullrich
389a274d45 fix: show exclusive profiling times everywhere 2021-06-17 11:25:58 +02:00
Leonardo de Moura
d435b435c5 chore: remove workaround 2021-06-02 08:06:52 -07:00
Leonardo de Moura
d841c2e1d8 chore: remove dead code 2021-06-02 08:04:10 -07:00
Leonardo de Moura
061709aa51 refactor: use Lean version
This commit also fixes a problem reported by Marc.
2021-05-03 10:06:20 -07:00
Sebastian Ullrich
b2e42a3ea6 chore: remove --json option 2021-01-12 09:51:14 -08:00
Leonardo de Moura
de568b1268 chore: remove dead code 2020-10-28 09:33:19 -07:00
Sebastian Ullrich
7718795178 fix: mark Lean objects in C++ globals reachable from the new frontend as persistent
sed -Ei 's/(g_\w+)\s*= new (name|expr|format|level|string_ref)\W.*;/\0\n    mark_persistent(\1->raw());/' src/kernel/**/*.cpp src/util/**/*.cpp src/library/**/*.cpp
2020-10-11 17:43:28 +02:00
Leonardo de Moura
7c76a19885 chore: fix includes 2020-05-22 14:17:25 -07:00
Leonardo de Moura
8bdca35282 chore: use #include <lean/runtime/...> for runtime .h files 2020-05-18 11:30:07 -07:00
Leonardo de Moura
9009926e44 fix: nat_* primitives return objects that must be consumed
Remove bogus `wrap`.
2020-03-16 19:28:22 -07:00
Sebastian Ullrich
ed1ce9b59f chore: make lock error message more precise 2020-03-04 19:09:14 -08:00
Leonardo de Moura
16d88b04ea chore: avoid cnstr_set_scalar and cnstr_get_scalar 2020-02-25 13:27:30 -08:00
Leonardo de Moura
6ada62a3ee feat: export helper functions
Motivation: prevent changes in the scalar fields layout from breaking
C++ code.
Ideally, we should do that for all constructors, and implement a tool
that creates the C++ functions automatically for us.
We don't do it because we will delete most of this code after we
finish the Lean4 transition.
2020-02-25 13:00:22 -08:00
Leonardo de Moura
e2ad834a2c fix: weird bug that only occurs in debug mode 2020-01-09 16:11:33 -08:00
Sebastian Ullrich
3a2e63c040 fix: register_unsigned_option registered a bool option 2019-12-07 20:10:00 +01:00
Leonardo de Moura
4fe9179f19 feat: option declarations in Lean 2019-12-05 06:18:35 -08:00
Sebastian Ullrich
33ce758126 feat: assume A in --plugin A.so is package name and use it to synthesize initializer symbol name 2019-11-20 16:39:53 +01:00
Sebastian Ullrich
3dcd4febd9 feat: make LEAN_PATH a mapping from package names to root dirs, remove C++ impl 2019-11-20 16:39:53 +01:00
Leonardo de Moura
269f20efe8 fix: ensure C++ and Lean use the same hash for Name 2019-11-18 19:54:05 -08:00
Leonardo de Moura
46adfcfdb6 refactor: Name fully implemented in Lean 2019-11-18 19:54:05 -08:00
Sebastian Ullrich
ae3b3bb825 chore: remove cygwin support 2019-11-12 08:28:58 -08:00
Leonardo de Moura
423b0fed3a refactor: use Array Expr at DelayedMVarAssignment 2019-10-25 12:03:09 -07:00
Leonardo de Moura
a2abbdbf9a chore: fix imports using script
This is just a draft.
```
for f in `find . -name '*.lean'`; do echo $f; gsed "/^import/s/\b\(.\)/\u\1/g" $f > tmp; gsed "/^Import/s/Import/import/g" tmp > $f; done
```
2019-10-04 14:34:58 -07:00
Leonardo de Moura
cc18c0ef91 feat(library/init/lean/expr): add Expr.hasFVar and Expr.hasMVar
cc @dselsam
2019-10-02 10:07:26 -07:00
Leonardo de Moura
70a90ca73e feat(library/init/lean/parser/identifier): allow ! and ? in the identifiers 2019-10-01 14:45:07 -07:00
Leonardo de Moura
097a127c69 feat(util/map_foreach): add phashmap_foreach, fix smap_foreach, update stage0 2019-09-20 14:22:03 -07:00
Leonardo de Moura
2abca22e00 fix(kernel/instantiate): compilation problem on Windows 2019-09-18 18:41:59 -07:00