Andrew Kelley
03dd1fca94
Merge pull request #5195 from tadeokondrak/opaquetype-to-type-opaque
...
@OpaqueType -> `@Type(.Opaque)
2020-04-28 16:21:07 -04:00
Tadeo Kondrak
83d2d7ab8a
Mangle field names with a local counter in records
...
See https://github.com/ifreund/river/issues/17 for an issue that occurs
because the field names are mangled globally. When using the generated
bindings, you have no choice but to use the unstable names or redeclare
the entire struct. This commit changes the behaviour to use a local
counter per record declaration, so the names are predictable each time.
2020-04-28 08:45:51 -06:00
Tadeo Kondrak
17e41f6cd3
@OpaqueType -> @Type(.Opaque)
2020-04-28 00:02:13 -06:00
Andrew Kelley
41e17106cd
zig fmt: still print the relative path
...
The previous commit made zig fmt print absolute paths; this commit keeps
the absolute path resolution but still prints the relative paths to
stdout.
2020-04-27 13:38:19 -04:00
Ryan Liptak
fdff381a56
fmt: Fix relative paths with . and .. on Windows
...
This is a band-aid fix due to NtCreateFile failing on paths with . or .. in them.
2020-04-27 13:35:59 -04:00
Andrew Kelley
c22b54c9d8
stage2 zir: remove dead code
...
this was part of the live coding stream and I forgot to delete it before
committing
2020-04-26 17:37:04 -04:00
Andrew Kelley
d44c9bdbd9
ir: elemptr and add instructions
2020-04-26 01:20:58 -04:00
Andrew Kelley
9ebf25d145
link: change default executable mode to 0o777
...
Jonathan S writes:
On common systems with a 022 umask, this will still result in a
file created with 755 permissions, but it works appropriately if the
system is configured more leniently. (As another data point, C's fopen
seems to open files with the 666 mode.)
2020-04-24 15:36:08 -04:00
Andrew Kelley
058937e44d
bug fixes to make it work
2020-04-24 02:09:30 -04:00
Andrew Kelley
229e99ca37
codegen: write the updated code size to PT_LOAD section header
2020-04-23 23:53:52 -04:00
Andrew Kelley
2d35f71fa9
codegen rdx set immediate
2020-04-23 20:30:20 -04:00
Andrew Kelley
757d13d784
codegen supports embedded-in-code constants
...
also coerce no longer requires a bitcast
2020-04-23 20:23:16 -04:00
Andrew Kelley
0ac502f372
codegen for setting rax and rdi registers
2020-04-23 19:40:17 -04:00
Andrew Kelley
63b54bcf51
codegen for inline assembly
2020-04-23 18:58:47 -04:00
Andrew Kelley
99ec614b71
codegen for const ints and string literals
2020-04-23 17:46:01 -04:00
Andrew Kelley
24a01eed90
basics of writing ELF and machine code generation
2020-04-23 16:41:20 -04:00
Andrew Kelley
a3dfe36ca1
zir-to-elf skeleton
2020-04-22 23:42:58 -04:00
Andrew Kelley
e8545db9d4
Merge pull request #5130 from ziglang/stage2-ir
...
beginnings of non-LLVM self-hosted backend
2020-04-22 14:42:46 -04:00
Andrew Kelley
1eda2ada9a
std.math.big.Int: don't rely on the allocator when printing
2020-04-22 03:49:50 -04:00
Andrew Kelley
d58233b361
ir: improve ZIR emission enough to emit hello world
2020-04-22 03:08:50 -04:00
Andrew Kelley
b1a86040dd
ir: emit zir for fntype
2020-04-22 00:26:37 -04:00
Andrew Kelley
993e654554
emit zir skeleton
2020-04-22 00:04:52 -04:00
Andrew Kelley
2e6ccec100
ir: analyze asm instruction
2020-04-21 22:19:32 -04:00
Andrew Kelley
8d3e4147d5
ir: analyze deref instruction
2020-04-21 21:33:55 -04:00
Andrew Kelley
2c11acf807
ir: analyze fieldptr instruction
2020-04-21 21:14:56 -04:00
Andrew Kelley
c12bc8652e
ir: analyze ptrtoint
2020-04-21 20:34:40 -04:00
Andrew Kelley
2cdbb5f472
ir: analyze int casting
2020-04-21 19:48:59 -04:00
Haze Booth
78e2a203e3
Remove std.lazyInit
2020-04-21 18:04:37 -04:00
Andrew Kelley
0746028a2a
ir: analyze int instruction
2020-04-21 17:54:00 -04:00
Andrew Kelley
69878207e7
ir: analyze `as` instruction
2020-04-21 17:33:41 -04:00
Andrew Kelley
25679b63eb
ir: analyze primitive instruction
2020-04-21 17:11:42 -04:00
Andrew Kelley
8671e8d6d4
ir: analyze fntype instruction
2020-04-21 17:06:09 -04:00
Andrew Kelley
22e7ca5613
ir: analysis of fn instruction
2020-04-21 16:06:15 -04:00
Andrew Kelley
9a2ea5ca42
ir: comptime coerceArrayPtrToSlice
2020-04-21 13:50:04 -04:00
Andrew Kelley
fb63ba2577
ir: type coercion skeleton
2020-04-21 13:24:25 -04:00
Andrew Kelley
8e0bcaca9b
ir: analyze str instruction
2020-04-21 01:20:01 -04:00
Andrew Kelley
4c7507cceb
ir: semantic analysis skeleton
2020-04-21 00:56:30 -04:00
Andrew Kelley
cc1c2bd568
simplify ZIR spec; separate parsing/rendering from analysis
2020-04-20 19:21:03 -04:00
Andrew Kelley
af4ccf34c1
ir: render keyword parameters
2020-04-19 23:59:00 -04:00
Andrew Kelley
f7786d0ca8
ir: render function body
2020-04-19 23:39:34 -04:00
Andrew Kelley
e74c5a7c24
ir: nice rendering of string literal constants
2020-04-19 20:44:18 -04:00
Andrew Kelley
ded6e0326d
ir: rendering skeleton
2020-04-19 20:04:11 -04:00
Andrew Kelley
1f3eeb5443
ir: parse type noreturn
2020-04-19 19:31:50 -04:00
Andrew Kelley
104ae419e4
ir: parse export instruction
2020-04-19 19:31:50 -04:00
Andrew Kelley
f020999ca3
ir: parse asm instructions
2020-04-19 19:31:50 -04:00
Andrew Kelley
82e294cf09
ir: parse deref instruction
2020-04-19 19:31:50 -04:00
Andrew Kelley
730dd887e4
ir: parse string literals as parameters
2020-04-19 19:31:50 -04:00
Andrew Kelley
bd37c8d8ed
ir: parse ptrtoint
2020-04-19 19:31:50 -04:00
Andrew Kelley
49e2f3ca36
ir: more foolproof way to organize instruction parsing
2020-04-19 19:31:50 -04:00
Andrew Kelley
4cb203db92
ir: parsing integer literals
2020-04-19 19:31:50 -04:00