lean4-htt/tests/compiler
David Thrane Christiansen 8fef03d1cc
feat: support Lake for building Lean core oleans (#3886)
This is from a ~~pair~~triple programming session with @tydeu and
@mhuisi.

If stage 1 is built with `-DUSE_LAKE=ON`, the CMake run will generate
`lakefile.toml` files for the root, `src`, and `tests`. These Lake
configuration files can then be used to build core oleans. While they do
not yet allow Lake to be used to build the Lean binaries. they do allow
Lake to be used for working interactively with the Lean source. In our
preliminary experiments, this allowed updates to `Init.Data.Nat` to be
noticed automatically when reloading downstream files, rather than
requiring a full manual compiler rebuild. This will make it easier to
work on the system.

As part of this change, Lake is added to stage 0. This allows Lake to
function in `src`, which uses the stage 0 toolchain.

---------

Co-authored-by: Mac Malone <tydeu@hatpress.net>
Co-authored-by: Sebastian Ullrich <sebasti@nullri.ch>
2024-06-13 16:18:24 +00:00
..
foreign feat: support Lake for building Lean core oleans (#3886) 2024-06-13 16:18:24 +00:00
.gitignore fix: use -O3 for LLVM tests in common.sh 2023-11-02 23:21:47 +01:00
534.lean fix: disable panic messages during initialization 2021-06-29 14:48:48 -07:00
534.lean.expected.out fix: disable panic messages during initialization 2021-06-29 14:48:48 -07:00
append.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
append.lean.expected.out chore(tests/compiler/append): add expected output 2019-02-09 20:02:26 +01:00
array.lean fix: elim_array_cases 2021-01-04 16:10:49 -08:00
array.lean.expected.out fix: elim_array_cases 2021-01-04 16:10:49 -08:00
array_test.lean refactor: use Lists for Array reference implementation 2020-11-17 17:05:53 -08:00
array_test.lean.expected.out feat: add Subarray 2020-10-09 16:06:24 -07:00
array_test2.lean chore: remove remaining #lang lean4 in tests 2021-01-27 14:45:31 +01:00
array_test2.lean.expected.out feat(library/init/data/array/basic): array helper functions 2019-04-28 10:10:24 -07:00
arrayMk.lean fix: Array.mk and Array.data externs 2020-12-13 11:10:01 -08:00
arrayMk.lean.expected.out fix: Array.mk and Array.data externs 2020-12-13 11:10:01 -08:00
bigctor.lean chore: disable injectivity theorems generation for big structure tests 2021-05-15 21:30:40 -07:00
bigctor.lean.expected.out fix: allow bigger ctor objects 2021-01-29 18:23:38 -08:00
bytearray_bug.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
bytearray_bug.lean.expected.out fix(library/compiler): ByteArray bug 2019-06-03 15:01:16 -07:00
closure_bug1.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
closure_bug1.lean.expected.out fix(library/init/lean/compiler/ir/emitcpp): header of big boxed functions 2019-07-08 21:52:01 -07:00
closure_bug2.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
closure_bug2.lean.expected.out test: news tests 2019-12-19 05:51:04 -08:00
closure_bug3.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
closure_bug3.lean.expected.out test: news tests 2019-12-19 05:51:04 -08:00
closure_bug4.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
closure_bug4.lean.expected.out test: news tests 2019-12-19 05:51:04 -08:00
closure_bug5.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
closure_bug5.lean.expected.out test: news tests 2019-12-19 05:51:04 -08:00
closure_bug6.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
closure_bug6.lean.expected.out test: news tests 2019-12-19 05:51:04 -08:00
closure_bug7.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
closure_bug7.lean.expected.out test: news tests 2019-12-19 05:51:04 -08:00
closure_bug8.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
closure_bug8.lean.expected.out test: news tests 2019-12-19 05:51:04 -08:00
computedFieldsExtern.lean.no_interpreter feat: support extern computed fields 2022-07-11 12:26:53 -07:00
escape.lean fix: quoteString at EmitC.lean 2021-10-11 06:16:56 -07:00
escape.lean.expected.out fix: quoteString at EmitC.lean 2021-10-11 06:16:56 -07:00
expr.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
expr.lean.expected.out chore: fix tests after hash change 2022-12-01 20:18:14 -08:00
extractClosedMutualBlock.lean fix: do not extract closed terms containing constants being defined 2021-09-30 12:46:38 -07:00
extractClosedMutualBlock.lean.expected.out fix: do not extract closed terms containing constants being defined 2021-09-30 12:46:38 -07:00
float.lean fix: make ^ a right action, add NatPow and HomogeneousPow 2023-11-12 16:57:51 +11:00
float.lean.expected.out fix: make ^ a right action, add NatPow and HomogeneousPow 2023-11-12 16:57:51 +11:00
float_cases_bug.lean chore: HasToString => ToString 2020-10-27 16:11:48 -07:00
float_cases_bug.lean.expected.out fix(library/compiler/csimp): bug at float_cases_on 2019-08-05 13:23:27 -07:00
init.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
init.lean.expected.out feat: expand initialize macro 2020-10-10 08:23:49 -07:00
init.lean.no_interpreter feat: expand initialize macro 2020-10-10 08:23:49 -07:00
initUnboxed.lean fix: codegen initUnboxed correctly in LLVM backend (#2015) 2023-01-07 16:26:53 +01:00
initUnboxed.lean.expected.out fix: fixes #1998 2023-01-03 16:01:27 -08:00
initUnboxed.lean.no_interpreter fix: fixes #1998 2023-01-03 16:01:27 -08:00
lazylist.lean feat: LLVM backend (#1837) 2022-12-30 12:45:30 +01:00
lazylist.lean.expected.out test(tests/compiler/lazylist): new test for closures and thunks 2019-03-29 15:00:52 -07:00
lazylist.lean.no_interpreter chore(tests/compiler): ignore some tests for the interpreter 2019-09-12 18:26:15 +02:00
link_lake.lean fix: do not dllexport symbols in core static libraries (#3601) 2024-03-15 11:58:34 +00:00
link_lake.lean.expected.out fix: ship libLake.a 2023-07-21 09:19:19 +02:00
map_big.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
map_big.lean.expected.out fix(library/compiler/specialize): avoid work duplication in the specializer 2019-03-08 11:21:49 -08:00
map_big.lean.no_interpreter chore(tests/compiler): ignore some tests for the interpreter 2019-09-12 18:26:15 +02:00
overflow1.lean fix: panic in monadic polymorphic code 2021-09-28 17:46:19 -07:00
overflow1.lean.expected.out fix: panic in monadic polymorphic code 2021-09-28 17:46:19 -07:00
overflow2.lean fix: panic in monadic polymorphic code 2021-09-28 17:46:19 -07:00
overflow2.lean.expected.out fix: panic in monadic polymorphic code 2021-09-28 17:46:19 -07:00
overflow3.lean fix: panic in monadic polymorphic code 2021-09-28 17:46:19 -07:00
overflow3.lean.expected.out fix: panic in monadic polymorphic code 2021-09-28 17:46:19 -07:00
partial.lean refactor: make String.Pos opaque 2022-03-20 10:47:13 -07:00
partial.lean.expected.out feat(library/equations_compiler): add support for partial definitions 2019-03-27 11:09:32 -07:00
phashmap.lean chore: move Std.* data structures to Lean.* 2022-09-26 05:46:04 -07:00
phashmap.lean.expected.out test: speed up some tests for the debug interpreter 2019-12-07 21:51:59 +01:00
phashmap2.lean chore: move Std.* data structures to Lean.* 2022-09-26 05:46:04 -07:00
phashmap2.lean.expected.out test(tests/compiler): PersistentHashMap tests 2019-08-02 14:23:13 -07:00
phashmap3.lean chore: move Std.* data structures to Lean.* 2022-09-26 05:46:04 -07:00
phashmap3.lean.expected.out test(tests/compiler): PersistentHashMap tests 2019-08-02 14:23:13 -07:00
print_error.lean chore: remove remaining #lang lean4 in tests 2021-01-27 14:45:31 +01:00
print_error.lean.expected.out chore: remove test special case 2020-05-04 11:11:11 +02:00
print_error.lean.expected.ret chore: remove test special case 2020-05-04 11:11:11 +02:00
qsortBadLt.lean chore: remove remaining #lang lean4 in tests 2021-01-27 14:45:31 +01:00
qsortBadLt.lean.expected.out chore: fix tests 2019-10-07 15:57:02 -07:00
rbmap_library.lean chore: move Std.* data structures to Lean.* 2022-09-26 05:46:04 -07:00
rbmap_library.lean.expected.out test: speed up some tests for the debug interpreter 2019-12-07 21:51:59 +01:00
reusebug.lean chore: remove remaining #lang lean4 in tests 2021-01-27 14:45:31 +01:00
reusebug.lean.expected.out fix(library/init/lean/compiler/ir/resetreuse): typo 2019-05-22 08:45:29 -07:00
StackOverflow.lean chore: snake-case attributes (part 1) 2022-10-19 09:28:08 -07:00
StackOverflow.lean.expected.out feat: detect stack overflows on all platforms and threads 2020-05-04 11:11:11 +02:00
StackOverflow.lean.expected.ret feat: detect stack overflows on all platforms and threads 2020-05-04 11:11:11 +02:00
StackOverflow.lean.no_interpreter feat: detect stack overflows on all platforms and threads 2020-05-04 11:11:11 +02:00
StackOverflowTask.lean chore: snake-case attributes (part 1) 2022-10-19 09:28:08 -07:00
StackOverflowTask.lean.expected.out feat: detect stack overflows on all platforms and threads 2020-05-04 11:11:11 +02:00
StackOverflowTask.lean.expected.ret feat: detect stack overflows on all platforms and threads 2020-05-04 11:11:11 +02:00
StackOverflowTask.lean.no_interpreter feat: detect stack overflows on all platforms and threads 2020-05-04 11:11:11 +02:00
str.lean fix: compiled string literals containing null bytes 2022-05-17 09:24:34 -07:00
str.lean.expected.out fix: compiled string literals containing null bytes 2022-05-17 09:24:34 -07:00
strictAndOr.lean chore: remove remaining #lang lean4 in tests 2021-01-27 14:45:31 +01:00
strictAndOr.lean.expected.out feat(library/init/lean/compiler/constfolding): constant folding for strictAnd and strictOr 2019-04-05 16:51:29 -07:00
strictOrSimp.lean chore: remove remaining #lang lean4 in tests 2021-01-27 14:45:31 +01:00
strictOrSimp.lean.expected.out test(tests/compiler): add new test 2019-04-05 16:58:47 -07:00
t1.lean chore: remove remaining #lang lean4 in tests 2021-01-27 14:45:31 +01:00
t1.lean.expected.out feat(tests/compiler): add first test 2019-02-07 12:14:25 -08:00
t2.lean chore: remove remaining #lang lean4 in tests 2021-01-27 14:45:31 +01:00
t2.lean.expected.out test: do not ignore whitespace in diff 2020-08-06 09:26:48 -07:00
t4.lean chore: remove remaining #lang lean4 in tests 2021-01-27 14:45:31 +01:00
t4.lean.expected.out fix(library/compiler/emit_cpp): tail call 2019-05-21 23:07:10 -07:00
test_single.sh feat: LLVM backend (#1837) 2022-12-30 12:45:30 +01:00
test_single_interpret.sh fix: unused variables linter review comments 2022-06-03 13:03:52 +02:00
thunk.lean chore: remove remaining #lang lean4 in tests 2021-01-27 14:45:31 +01:00
thunk.lean.expected.out test(tests/compiler): add thunk test 2019-02-08 11:01:33 -08:00
trie.lean perf: Use flat ByteArrays in Trie (#2529) 2023-09-20 13:22:37 +02:00
trie.lean.expected.out perf: Use flat ByteArrays in Trie (#2529) 2023-09-20 13:22:37 +02:00
trigraphs.lean test: C trigraph 2023-11-06 16:31:05 +01:00
trigraphs.lean.expected.out test: C trigraph 2023-11-06 16:31:05 +01:00
tuple.lean feat: allow trailing comma in tuples, lists, and tactics (#2643) 2023-11-17 13:31:41 +01:00
tuple.lean.expected.out feat: allow trailing comma in tuples, lists, and tactics (#2643) 2023-11-17 13:31:41 +01:00
uint_fold.lean chore: remove remaining #lang lean4 in tests 2021-01-27 14:45:31 +01:00
uint_fold.lean.expected.out test(tests/compiler): uint constant folding tests 2019-02-15 14:53:29 -08:00
unreachable.lean feat: implement unreachable codegen for LLVM 2023-01-12 09:17:41 +01:00
unreachable.lean.expected.out feat: implement unreachable codegen for LLVM 2023-01-12 09:17:41 +01:00
uset.lean feat: implement uset for LLVM (#2025) 2023-01-09 12:25:37 +00:00
uset.lean.expected.out feat: implement uset for LLVM (#2025) 2023-01-09 12:25:37 +00:00