Leonardo de Moura
a82eab824a
fix(library/compiler/emit_cpp): skip inline and adhoc extern declarations
2019-02-12 16:05:49 -08:00
Leonardo de Moura
52db59eb87
fix(library/init/data/int/basic): nasty bug at int.repr
2019-02-12 15:58:59 -08:00
Leonardo de Moura
0e98f6bd66
chore(boot): update
2019-02-12 15:48:44 -08:00
Leonardo de Moura
09d194d5b7
feat(library/compiler): emit external declarations
...
We only skip `inline` and `adhoc` externs.
2019-02-12 15:42:59 -08:00
Leonardo de Moura
4df56faf6a
chore(boot): update
2019-02-12 14:11:36 -08:00
Leonardo de Moura
888252b5db
feat(library/private): more deterministic private names
2019-02-12 14:00:24 -08:00
Leonardo de Moura
88de217cb7
chore(library/init): remove version.lean.in
...
We are currently not using this file. In the future, we should
reintroduce it, but its functions should be implemented as builtins.
Thus, every `chore(boot): update` commit will not have to update it.
2019-02-12 11:57:09 -08:00
Leonardo de Moura
c8e8fbf840
chore(boot): update after rebase
2019-02-12 11:49:49 -08:00
Leonardo de Moura
425a4b70d1
feat(library/init/data/int/basic): use extern attribute, and fix div/mod mess
...
Now, int.div and int.mod behave like C++ `/` and `%` for int,
moreover, they satisfy
(a/b)*b + (a%b) = a
2019-02-12 11:41:46 -08:00
Leonardo de Moura
f20c132ced
feat(library/init/lean/elaborator): use extern attribute
2019-02-12 11:40:21 -08:00
Sebastian Ullrich
8e7faeeb5d
chore(boot): update
2019-02-12 13:35:50 +01:00
Sebastian Ullrich
534b507aff
feat(library/init/lean/frontend): rework error reporting
2019-02-12 13:34:32 +01:00
Leonardo de Moura
babaaed322
chore(library/compiler/builtin): add remark
2019-02-11 17:59:46 -08:00
Leonardo de Moura
6be47dfb97
feat(library/init/data/string/basic): use extern attribute
2019-02-11 17:54:24 -08:00
Leonardo de Moura
9675b7c952
fix(frontends/lean/elaborator): ignore mdata when processing field notation
2019-02-11 17:29:38 -08:00
Leonardo de Moura
e920faf76d
chore(boot): update
2019-02-11 17:01:46 -08:00
Leonardo de Moura
73d590f1fb
feat(library/init/io): use extern attribute
2019-02-11 16:56:54 -08:00
Leonardo de Moura
58783a2d3b
fix(library/compiler/extern_attribute): bug at get_given_arity
2019-02-11 16:51:23 -08:00
Leonardo de Moura
d877bdf546
chore(boot): update
2019-02-11 16:19:30 -08:00
Leonardo de Moura
5a5e949578
feat(library/init/lean/name): use extern attribute
2019-02-11 16:12:25 -08:00
Leonardo de Moura
7b0227572f
fix(library/init/core): missing borrowed annotation
2019-02-11 16:01:56 -08:00
Leonardo de Moura
c105da0d86
chore(boot): update
2019-02-11 15:57:05 -08:00
Leonardo de Moura
07ed77e724
fix(library/compiler/util): decidable A missing at mk_runtime_type
2019-02-11 15:51:09 -08:00
Leonardo de Moura
ccc4fe1468
fix(library/compiler/extract_closed): add new auxiliary declarations before
2019-02-11 15:40:22 -08:00
Leonardo de Moura
c27167f445
fix(library/compiler/ll_infer_type): use extern_attribute
2019-02-11 15:35:03 -08:00
Leonardo de Moura
9c3675f58f
feat(library/init/data): use extern when declaring uint and usize primitives
2019-02-11 15:15:57 -08:00
Leonardo de Moura
03ecc363a0
fix(library/compiler/util): missing case
2019-02-11 15:14:02 -08:00
Leonardo de Moura
6bc23bcc65
feat(library/compiler/extern_attribute): infer ll_type, arity and borrowed flags from type
2019-02-11 14:57:13 -08:00
Leonardo de Moura
8acb2d4ed8
chore(library/compiler): minor modifications before builtin ==> extern refactor
2019-02-11 13:29:39 -08:00
Leonardo de Moura
bc4e06666b
chore(*): avoid 0-ary extern declarations
2019-02-11 13:21:17 -08:00
Leonardo de Moura
57ed6fea3a
chore(boot): update
2019-02-11 12:54:41 -08:00
Leonardo de Moura
57411ed039
refactor(library/compiler/extern_attribute): new interface
2019-02-11 12:48:37 -08:00
Leonardo de Moura
96d63ccc0d
chore(library/compiler/builtin): remove "m_used_args"
2019-02-11 12:24:30 -08:00
Leonardo de Moura
6bdc60d380
chore(boot): update
2019-02-11 11:42:27 -08:00
Leonardo de Moura
1703255330
fix(library/init/core): we simulate the unused attribute feature using extern inline
2019-02-11 11:38:24 -08:00
Leonardo de Moura
befa53ec70
feat(library/compiler/emit_cpp): use new extern_attribute module
2019-02-11 11:03:56 -08:00
Leonardo de Moura
1856a319e5
chore(util/path): valgrind was reporting a bug on OSX
2019-02-11 10:56:43 -08:00
Leonardo de Moura
6c90b1a2ff
chore(library/compiler/builtin): style
2019-02-11 10:30:06 -08:00
Leonardo de Moura
348ccf533c
feat(library/compiler): borrowed annotations
2019-02-11 10:08:47 -08:00
Leonardo de Moura
7e8f9e6f66
feat(library/compiler): add [extern] attribute
2019-02-09 18:53:44 -08:00
Leonardo de Moura
04ddd55b32
fix(library/derive_attribute): , is also an attribute terminator
2019-02-09 18:06:02 -08:00
Leonardo de Moura
d8c9740902
chore(library/compiler/builtin): fix compiler warning
2019-02-09 18:03:53 -08:00
Leonardo de Moura
2012dcfc7f
chore(util/string_ref): add string_refs alias
2019-02-09 18:00:27 -08:00
Leonardo de Moura
e8758a1707
chore(library/compiler/export_attribute): exporting constructors is messy
...
It is much simpler and only slightly more verbose to export an
auxiliary function that just invokes the constructor.
2019-02-09 18:00:27 -08:00
Leonardo de Moura
bf15ee48fd
refactor(library/compiler): export_name ==> export_attribute
2019-02-09 17:59:46 -08:00
Leonardo de Moura
9aed74a5e0
refactor(library/compiler): move extension for storing LLNF code
2019-02-09 17:59:46 -08:00
Sebastian Ullrich
67f8f7a2da
chore(tests/compiler/append): add expected output
2019-02-09 20:02:26 +01:00
Sebastian Ullrich
b579358b25
chore(boot): update
2019-02-09 19:57:24 +01:00
Sebastian Ullrich
b809bb5311
feat(library/init/lean/frontend): demangle and remove read_file
2019-02-09 19:55:53 +01:00
Sebastian Ullrich
ece423300b
fix(runtime/object): avoid implicit string allocation in string.iterator.curr/next/remove
2019-02-09 14:18:04 +01:00