aboutsummaryrefslogtreecommitdiff
path: root/src/parser.cpp
AgeCommit message (Collapse)Author
2020-07-12fix alignment parsing in stage1Vexu
2020-07-11add 'anytype' to stage1 and langrefVexu
2020-05-15fix infinite loop with mismatced bracketVexu
2020-05-14remove useless nosuspend parsingVexu
nosuspend cannot be used in a type expression and all other use casesare covered by PrimaryExpr
2020-05-05remove nakedcc/stdcallcc/async fn/extern fn fnprotoTadeo Kondrak
2020-05-05Rename noasync to nosuspend in C++ compilerTadeo Kondrak
2020-04-26Fix unfortunate typoHenry Nelson
2020-04-18disallow declarations between container fieldsVexu
2020-03-21ir: Allow errdefer with payloadLemonBoy
Closes #1265
2020-03-09disallow resume and suspend in noasync scopesVexu
2020-03-09update parsers to new noasync syntaxVexu
2020-02-19consistent capitalization of error messageAndrew Kelley
2020-02-18stage1: Make the parser reject extern fn with bodyLemonBoy
2020-02-16Implement noasync awaitsAndrew Kelley
Note that there is not yet runtime safety for this. See #3157
2020-02-10stage1: memory/report overhaulMichael Dusan
- split util_base.hpp from util.hpp - new namespaces: `mem` and `heap` - new `mem::Allocator` interface - new `heap::CAllocator` impl with global `heap::c_allocator` - new `heap::ArenaAllocator` impl - new `mem::TypeInfo` extracts names without RTTI - name extraction is enabled w/ ZIG_ENABLE_MEM_PROFILE=1 - new `mem::List` takes explicit `Allocator&` parameter - new `mem::HashMap` takes explicit `Allocator&` parameter - add Codegen.pass1_arena and use for all `ZigValue` allocs - deinit Codegen.pass1_arena early in `zig_llvm_emit_output()`
2020-02-05Fix edge case in cast between fn with varargsLemonBoy
* Prevent the next_param_index to become greater than the param_count one as it's expected by every other function. * Fix a typo in a error message. Closes #4381
2020-01-25split IrInstruction into IrInst, IrInstSrc, IrInstGenAndrew Kelley
This makes it so that less memory is used for IR instructions, as well as catching bugs when one expected one kind of instruction and received the other.
2020-01-15disallow multiline strings in test and library namesVexu
2020-01-06remove stdcallcc, extern, nakedcc from stage1; zig fmt rewritesAndrew Kelley
2020-01-02Implement the callconv() annotationLemonBoy
2019-12-20fix std.mem.addNullByte and implement sentinel slicingAndrew Kelley
see #3770
2019-12-12fix dot init parsingVexu
2019-12-09remove var args from the languageAndrew Kelley
closes #208
2019-12-08add syntax for comptime struct fieldsAndrew Kelley
2019-12-02Accept comptime-known expression for asmLemonBoy
2019-11-23structs can have fields with type `var`Andrew Kelley
behavior tests passing now
2019-11-23update the stage1 implementation to the new proposalAndrew Kelley
See #3731
2019-11-21string literals are now null terminatedAndrew Kelley
this also deletes C string literals from the language, and then makes the std lib changes and compiler changes necessary to get the behavior tests and std lib tests passing again.
2019-11-21implement null terminated pointersAndrew Kelley
2019-11-17Merge pull request #3697 from Vexu/container-docsAndrew Kelley
Implement container level doc comments
2019-11-17properly parse anon literal in arrayVexu
2019-11-15add container doc comments to generated docsVexu
2019-11-15implemented container doc comments in stage 1Vexu
2019-11-11stage1 parser code for anon container litAndrew Kelley
2019-11-06add token for parsing pointer dereferenceBrendan Hansknecht
2019-10-21remove pub syntax for container fieldsVexu
2019-10-08generated docs: error sets in fn docsAndrew Kelley
2019-10-07generated docs: show doc comments on functionsAndrew Kelley
2019-10-06stage1 parser supports doc commentsAndrew Kelley
2019-09-05implement `noasync` function callsAndrew Kelley
See #3157
2019-09-05Add the noinline keyword for function declarationsLemonBoy
2019-08-30support recursive async and non-async functionsAndrew Kelley
which heap allocate their own frames related: #1006
2019-08-22parsing of align(N) on struct fieldsTetralux
2019-08-16implement new async syntax in self-hosted compilerVexu
2019-08-15remove `cancel`Andrew Kelley
2019-07-26add the `anyframe` and `anyframe->T` typesAndrew Kelley
2019-07-19remove coroutines implementation and promise typeAndrew Kelley
2019-07-19fix usingnamespaceAndrew Kelley
It used to be that usingnamespace was only allowed at top level. This made it OK to put the state inside the AST node data structure. However, now usingnamespace can occur inside any aggregate data structure, and therefore the state must be in the TopLevelDeclaration rather than in the AST node. There were two other problems with the usingnamespace implementation: * It was passing the wrong destination ScopeDecl, so it could cause an incorrect error such as "import of file outside package path". * When doing `usingnamespace` on a file that already had `pub usingnamespace` in it would "steal" the usingnamespace, causing incorrect "use of undeclared identifier" errors in the target file. closes #2632 closes #2580
2019-07-16rename internal names regarding `usingnamespace`Andrew Kelley
2019-07-06Make anyerror not a keywordhryx