Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-03-12 | Revert "Zero uninitialized decls/returns." | Michael Forney | |
This reverts commit 7722c7593a1a249e1a6d98d84afdff3cb086ca81. This causes problems with large stack allocations, such as https://github.com/madler/pigz/blob/fe822cb435622c43f491013da77b127e9fe851a9/pigz.c#L3403-L3405 | |||
2019-03-03 | Fix emittype for qualified nested struct | Michael Forney | |
We don't have to strip qualifiers off of array types since array types can only be qualified when used in a parameter declaration before adjustment. | |||
2019-03-01 | init: Check for incomplete types | Michael Forney | |
Fixes #28. | |||
2019-03-01 | Array element cannot have incomplete or function type | Michael Forney | |
2019-03-01 | Add -M and -MM to support our own makefile. | Andrew Chambers | |
2019-02-28 | Set __GNUC__=3 and __GNUC_MINOR__=3 by default | Michael Forney | |
2019-02-27 | Implement __typeof__. | Andrew Chambers | |
2019-02-26 | Use funcinst macro in a few more places | Michael Forney | |
2019-02-26 | Simplify common funcinst case. | Andrew Chambers | |
2019-02-26 | Zero uninitialized decls/returns. | Andrew Chambers | |
Resolves #12 and #15. | |||
2019-02-26 | Don't add zero offsets when zeroing. | Andrew Chambers | |
2019-02-25 | Use a stack of scanners | Michael Forney | |
This is necessary to implement the #include directive. | |||
2019-02-24 | Remove obsolete function declaration | Michael Forney | |
2019-02-24 | Check for negative array lengths/indices | Michael Forney | |
2019-02-24 | Add __alignof__ definition by default | Michael Forney | |
2019-02-24 | driver: Fix -E with no output specified | Michael Forney | |
2019-02-24 | Define __GNUC__=4 and __STRICT_ANSI__ by default | Michael Forney | |
We implement some GNU extensions that are used to implement certain libc features, like INF, NAN, alloca, and offsetof. | |||
2019-02-24 | Make __PRETTY_FUNCTION__ a synonym for __func__ | Michael Forney | |
2019-02-24 | Remove unnecessary spaces in keyword list | Michael Forney | |
This used to contain __builtin_va_list, so was longer than necessary. | |||
2019-02-24 | Remove unused field | Michael Forney | |
2019-02-24 | scan: Handle comments | Michael Forney | |
2019-02-24 | scan: Handle escaped newlines | Michael Forney | |
2019-02-23 | Check for any write errors | Michael Forney | |
2019-02-22 | Run cc-qbe directly in runtests | Michael Forney | |
This way, it completes much faster since we don't have to run the system preprocessor. | |||
2019-02-22 | Fix use of uninitialized character in string array | Michael Forney | |
String data in expressions is just an array and is not NULL-terminated. | |||
2019-02-22 | Make sure to zero the rest of an array initialized with a string | Michael Forney | |
2019-02-22 | Fix size of incomplete array types initialized with strings | Michael Forney | |
updatearray takes an index, so was allocating an extra byte. | |||
2019-02-22 | When & is applied to an array, it is no longer decayed | Michael Forney | |
2019-02-22 | Don't need CFLAGS with linking | Michael Forney | |
2019-02-22 | Simplify build status URL | Michael Forney | |
2019-02-22 | Implement __builtin_nanf for empty string literals | Michael Forney | |
2019-02-22 | Separate out built-in handling from postfixexpr | Michael Forney | |
2019-02-22 | Implement __builtin_inff | Michael Forney | |
2019-02-22 | Keep track of built-in kind in declaration | Michael Forney | |
Also, populate filescope with builtins outside of main. | |||
2019-02-22 | Only need to emit tentative definitions when compiling | Michael Forney | |
2019-02-22 | Simplify handling of arguments to cc-qbe a bit | Michael Forney | |
2019-02-22 | Implement __builtin_alloca | Michael Forney | |
2019-02-22 | Fix adding integer to pointer | Michael Forney | |
2019-02-21 | driver: Create output files in current directory | Michael Forney | |
2019-02-21 | Emit complete union type definitions instead of just using the first member | Michael Forney | |
2019-02-21 | Always expect at least one struct decl. | Andrew Chambers | |
2019-02-21 | driver: Fix -o - | Michael Forney | |
We need to distinguish between no output specified, and output specified to be standard out. | |||
2019-02-21 | Fix decay on qualified array types | Michael Forney | |
2019-02-20 | Use name parameter instead of tok.lit | Michael Forney | |
This was only called with tok.lit, so it didn't matter in practice. | |||
2019-02-20 | Remove some unused variables | Michael Forney | |
2019-02-20 | driver: Various improvements | Michael Forney | |
Use an input struct to keep track of information about an input. When creating an output name from an input with no extension, make sure to add a `.`. When linking, write intermediate objects to temporary files and remove them afterwards. Allow specifying language of input using `-x` flag. Allow reading from standard input by passing `-`. | |||
2019-02-20 | Fix emittype for unions | Michael Forney | |
Thanks to Andrew Chambers for the bug report. | |||
2019-02-20 | eval: Handle nested offset address constants | Michael Forney | |
2019-02-20 | Fix definitions for nested structs | Michael Forney | |
The QBE documentation suggested that the subtypes in an aggregate must be simple types, but they can actually be any type (this is necessary for getting the alignment and padding right between fields adjacent to the nested struct). | |||
2019-02-19 | Implement __builtin_va_copy | Michael Forney | |