aboutsummaryrefslogtreecommitdiff
path: root/src/parseh.cpp
AgeCommit message (Collapse)Author
2017-01-04IR: add unreachable code compiler errorAndrew Kelley
2016-12-28IR: pass passSliceOfEmptyStructToFn testAndrew Kelley
2016-12-26IR: pass intToPtrCast testAndrew Kelley
2016-12-25IR: support compile time global pointer reinterpretAndrew Kelley
this required moving the place we store types to ConstExprValue
2016-12-18IR: all structs anonymousAndrew Kelley
2016-12-11IR: fix implementation of parsehAndrew Kelley
libc hello world works now
2016-12-04IR: re-organize where state goes to prepare for genericsAndrew Kelley
* Rip out legacy code for generics * put scope in instruction instead of AST nodes * separate top level decl stuff from AST nodes - remove the assumption that there is a 1:1 correspondence between an output instruction and an AST node - This way we won't have to clone AST nodes for generics.
2016-12-01rewrite scope implementationAndrew Kelley
* now there are not extra unused hash tables * each variable declaration opens a new scope inside a function
2016-12-01rename BlockContext to ScopeAndrew Kelley
2016-11-18IR: correctly codegening memset and memcpyAndrew Kelley
2016-11-17remove AST cloning code and add AST render for while loopsAndrew Kelley
2016-11-04WIP moving all analysis to IRAndrew Kelley
2016-09-28remove compiler directivesAndrew Kelley
* add `setFnTest`, `setFnVisible`, `setFnStaticEval`, `setFnNoInline` builtin functions to replace previous directive functionality * add `coldcc` and `nakedcc` as keywords which can be used as part of a function prototype. * `setDebugSafety` builtin can be used to set debug safety features at a per block scope level. * closes #169
2016-09-23enums support member functionsAndrew Kelley
2016-09-19use size_t for indexesAndrew Kelley
protect against incorrect copies in debug mode
2016-09-10rename LLVMZig to ZigLLVMAndrew Kelley
2016-09-05fix gcc 5.4.0compile errorsAndrew Kelley
2016-09-04port to llvm 3.9Andrew Kelley
2016-08-07ability to have a return type of 'type'Andrew Kelley
2016-08-04new multiline string syntaxAndrew Kelley
This patch also moves a bunch of the parser code into the tokenizer. Closes #162.
2016-07-17rename NodeTypeStructDecl to NodeTypeContainerDeclAndrew Kelley
2016-05-07support generic data structuresAndrew Kelley
See #22
2016-04-22parseh: support anonymous enums and enums with initializersAndrew Kelley
2016-04-22add syntax to allow symbols to have arbitrary strings as namesAndrew Kelley
2016-04-21better parsing of C macrosAndrew Kelley
See #88
2016-03-08update to llvm 3.8.0Andrew Kelley
2016-03-01c_void is provided outside of C importsAndrew Kelley
2016-03-01rewrite how importing worksAndrew Kelley
* Introduce the concept of packages. Closes #3 * Add support for error notes. * Introduce `@import` and `@c_import` builtin functions and remove the `import` and `c_import` top level declarations. * Introduce the `use` top level declaration. * Add `--check-unused` parameter to perform semantic analysis and codegen on all top level declarations, not just exported ones and ones referenced by exported ones. * Delete the root export node and add `--library` argument.
2016-02-14parseh: fix __cdecl causing a fn ptr to be double ptrAndrew Kelley
2016-02-13parseh: ZIG_PARSEH_CFLAGS -> ZIG_NATIVE_PARSEH_CFLAGSAndrew Kelley
2016-02-13parseh: support attributed typesAndrew Kelley
2016-02-13parseh: more specific warning for different calling conventionsAndrew Kelley
2016-02-13parseh: fix branching on undefined memoryAndrew Kelley
2016-02-11ability to cross compileAndrew Kelley
hello_libc.zig can produce a windows build
2016-02-09fix build with GCCAndrew Kelley
2016-02-07parseh: tiny performance improvementAndrew Kelley
2016-02-07improve performance for get_fn_typeAndrew Kelley
2016-02-07parseh: fix not properly demoting structs to typedefsAndrew Kelley
2016-02-06parseh understands simple string literal macrosAndrew Kelley
2016-02-04fix debug info for bool typeAndrew Kelley
2016-02-03types sized and aligned with LLVM target data layout APIAndrew Kelley
2016-02-02build: fix libc path findingAndrew Kelley
2016-02-01inline is a keyword instead of a directiveAndrew Kelley
2016-02-01add ?? prefix operatorAndrew Kelley
2016-02-01parseh understands macros which alias global fn ptr varsAndrew Kelley
2016-02-01parseh: do not create macro alias for extern varsAndrew Kelley
2016-01-31parseh: correct debug for forward declsAndrew Kelley
also C typedefs emit simply `const Foo = Bar;` since in C you can implicitly cast from a typedef child to parent but in zig you can't.
2016-01-31parseh handles typedef void betterAndrew Kelley
and introduce c_long_double type
2016-01-31parseh understands forward struct definitionsAndrew Kelley
See #88
2016-01-31parseh: use the decayed type not original typeAndrew Kelley