9913 Commits

Author SHA1 Message Date
yvt
b747d4d1ce Enable the test standalone/global_linkage
This test was added to the source tree in c39d7a6, but has never been
referenced from anywhere.
2020-05-16 02:05:55 +09:00
Vexu
a00fd6e254
properly handle extra closing braces at top level 2020-05-15 14:30:49 +03:00
Vexu
f8b99331a2
Merge pull request #5336 from Vexu/parser
Make self-hosted parser more error tolerant
2020-05-15 14:15:30 +03:00
Vexu
440189a04a
cleanup* remove unecessary error* properly handle ReturnTypeInvalid in ast.zig functions* assert that the tree is clean in render.zig* simplify parser recovery with top level decls 2020-05-15 11:35:37 +03:00
Andrew Kelley
ebb81ebe59 fix the global offset table code and updating decl exports 2020-05-15 01:22:04 -04:00
Andrew Kelley
81a01bd481 fix codegen of sentinel-terminated arrays and .got alignment
we now have an exit(0) program working
2020-05-14 16:34:04 -04:00
Andrew Kelley
0986dcf1cf self-hosted: fix codegen and resolve some analysis bugs 2020-05-14 13:20:27 -04:00
Vexu
c77fee0344
fix infinite loop
findToken wasn't as generic as I thought it was
2020-05-14 19:56:55 +03:00
Vexu
c4552ee8ed
store rparen in ReturnType.Invalid
This is useful for getting a partial function signature
2020-05-14 17:18:14 +03:00
Vexu
a32e240540
improve recovery from invalid container members
Instead of trying to find the end of the block or the next comma/semicolon
we no try to find the next token that can start a container member.
2020-05-14 12:09:40 +03:00
Vexu
89f2923a8a
recover from missing semicolon 2020-05-14 11:19:50 +03:00
Vexu
ac319b2734
remove useless nosuspend parsing
nosuspend cannot be used in a type expression and
all other use casesare covered by PrimaryExpr
2020-05-14 11:19:14 +03:00
Andrew Kelley
fb947c365e work around stage1 compiler bug
breaking from inside the block with defers in scope triggered
broken LLVM module found: Terminator found in the middle of a basic
block!
2020-05-13 22:20:31 -04:00
Andrew Kelley
6a2425c38c self-hosted: fix the rest of the compile errors 2020-05-13 22:12:38 -04:00
Andrew Kelley
080022f6c6 self-hosted: fix compile errors, except for codegen.zig 2020-05-13 20:06:01 -04:00
Vexu
c3b76d0913
recover from invalid builtin/async call 2020-05-14 00:16:56 +03:00
Vexu
1f81887a78
recover after invalid inline/extern 2020-05-13 23:35:58 +03:00
Vexu
ad71d959d7
correctly recover from invalid top level declarations 2020-05-13 23:28:04 +03:00
Vexu
2296906e2a
modernize std.zig.tokenizer 2020-05-13 23:08:42 +03:00
Vexu
23c5ff94e9
improve recovery on top level declarations 2020-05-13 20:42:18 +03:00
Vexu
4b898893e2
Merge pull request #5254 from ifreund/top-level-struct-file-names
Apply naming conventions of structs to files
2020-05-13 19:28:14 +03:00
Vexu
118db892be
Merge pull request #5321 from gpanders/ascii-case-sensitive
Add helper functions and docstrings to ascii.zig
2020-05-13 19:04:53 +03:00
Vexu
76681e6b96
Make PriorityQueue.Iterator public
The `iterator` function was already public but these seem to have been forgotten.
2020-05-13 18:38:03 +03:00
Vexu
be2b8d58ef
Merge pull request #5337 from DrDeano/master
Make StackIterator next public
2020-05-13 18:32:01 +03:00
DrDeano
2589f7207b
Make StackIterator next public 2020-05-13 16:21:15 +01:00
Vexu
3715226b9f
Merge pull request #5332 from jwmerrill/patch-1
Fix comment typo RFC8529 -> RFC8259
2020-05-13 18:04:27 +03:00
Vexu
afab095b61
translate-c remove error set from checkForBuiltinTypedef 2020-05-13 17:53:15 +03:00
Vexu
cefc04348e
continue parsing on invalid and token 2020-05-13 17:36:06 +03:00
Vexu
be392777b7
continue parsing after missing commas and invalid statements 2020-05-13 17:21:27 +03:00
Vexu
91358f3092
continue parsing on extra qualifier errors 2020-05-13 16:51:23 +03:00
Andrew Kelley
a3da584248 self-hosted: ir: implement separated analysis of Decl and Fn 2020-05-12 23:59:46 -04:00
Jason Merrill
706311cad9
Fix comment typo RFC8529 -> RFC8259
Ref: https://tools.ietf.org/html/rfc8259
2020-05-12 19:11:05 -07:00
Andrew Kelley
e3a0fac1a7 self-hosted: link: global offset table support for decls 2020-05-12 20:11:47 -04:00
Andrew Kelley
fda0eef9fb clear progress indicator before printing errors 2020-05-12 16:43:50 -04:00
Vexu
df22c7dfef
std.zig attempt to continue parsing on error 2020-05-12 22:37:39 +03:00
Vexu
fa57463bb9
make parser testError take a list of expected errors 2020-05-12 21:44:08 +03:00
Vexu
80d0c2f166
Merge pull request #5118 from xackus/fix-json-writestream
fix json.WriteStream.emitJson
2020-05-12 17:44:06 +03:00
Greg Anders
c6420820b0 Remove redundant ASCII functions
The `matchCase` variants are simply duplicates of the `eql` and
`indexOf` functions found in std.mem.
2020-05-12 08:38:15 -06:00
Vexu
08e2e690d7
Merge pull request #5275 from strangebug/docs-markdown-links
Add support for external links and URL to markdown parser.
2020-05-12 15:35:50 +03:00
Vexu
29b3be4f2f
Merge pull request #5319 from Vexu/float-fix
Fix intToFloat on comptime_floats
2020-05-12 15:20:03 +03:00
Vexu
b1ebaba408
std.json properly handle comptime int/float 2020-05-12 15:15:21 +03:00
Andrew Kelley
619159cf48 self-hosted: rework the memory layout of ir.Module and related types
* add TypedValue.Managed which represents a Type, a Value, and some
   kind of memory management strategy.
 * introduce an analysis queue
 * flesh out how incremental compilation works with respect to exports
 * ir.text.Module is only capable of one error message during parsing
 * link.zig no longer has a decl table map and instead has structs that
   exist directly on ir.Module.Decl and ir.Module.Export
 * implement primitive .text block allocation
 * implement linker code for updating Decls and Exports
 * implement null Type

Some supporting std lib changes:
 * add std.ArrayList.appendSliceAssumeCapacity
 * add std.fs.File.copyRange and copyRangeAll
 * fix std.HashMap having modification safety on in ReleaseSmall builds
 * add std.HashMap.putAssumeCapacityNoClobber
2020-05-12 01:02:48 -04:00
Greg Anders
9f496c0777 Add helper functions and docstrings to ascii.zig
* Add an upper case variant of `allocLowerString`
  * Add case-sensitive variants of `eqlIgnoreCase`, `indexOfIgnoreCase`,
    and `indexOfIgnoreCasePos`
  * Add and update docstrings on functions
2020-05-11 19:36:41 -06:00
Vexu
7456389ef3
Merge pull request #5308 from xiongxin/master
mem.eql need slice type
2020-05-12 01:41:51 +03:00
Vexu
7aee8a93eb
Merge pull request #5315 from xackus/fix-bigint_fits_in_bits
stage1: detect underflow in bigint_fits_in_bits
2020-05-12 01:25:24 +03:00
Vexu
0847b47bf8
fix @intToFloat on comptime_floats 2020-05-12 00:24:09 +03:00
Vexu
3e3c651b67
Merge pull request #5316 from marler8997/pubSockLen
make Address.getOsSockLen pub
2020-05-11 20:10:59 +03:00
Jonathan Marler
832f6c1228 make Address.getOsSockLen pub 2020-05-11 09:11:05 -06:00
xackus
204f8daeed stage1: detect underflow in bigint_fits_in_bits 2020-05-11 14:06:37 +02:00
熊鑫
0363f3c6f3
mem.eql need slice type 2020-05-10 20:35:21 +08:00