Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-03-31 | qbe: Switch to fixed-size instruction struct | Michael Forney | |
Move jump and phi instructions to struct block, and function arguments to their own instruction. This will facilitate allocating instructions as an array. | |||
2021-03-30 | Add struct passing call test | Michael Forney | |
The struct-passing test checks for function definitions with struct arguments, but we were missing a test for function calls with struct arguments. | |||
2021-03-27 | qbe: Change value kind naming scheme | Michael Forney | |
2020-12-07 | CI: Drop obsolete OpenBSD patch | Michael Forney | |
2020-12-07 | Support -pthread compiler flag. | Érico Rolim | |
POSIX requires -lpthread, but most Linux manual pages recommend using -pthread, and a lot of projects use it. | |||
2020-10-21 | Update qbe submodule | Michael Forney | |
2020-09-12 | Update qbe submodule | Michael Forney | |
2020-09-05 | Add a patch to fix OpenBSD bootstrap on 6.7 | Michael Forney | |
This issue is already fixed in -current. | |||
2020-09-05 | Add -nopie to linker flags on OpenBSD | Michael Forney | |
The OpenBSD linker defaults to PIE, but QBE does not yet support generating position-independent code. | |||
2020-06-29 | .builds/alpine: remove annotations | Drew DeVault | |
This feature is being removed from git.sr.ht | |||
2020-06-05 | Help gcc see that variables are not used uninitialized | Michael Forney | |
2020-06-03 | Revert "decl: Allow out-of-range enum constants when they don't change type" | Michael Forney | |
This reverts commit 6229709b8ae21d7722fef48ad8a9f2f10b900030. I still don't understand how out-of-range enum constants are supposed to work. | |||
2020-06-03 | Disable bootstrap in OpenBSD continuous build | Michael Forney | |
2020-06-03 | decl: Allow out-of-range enum constants when they don't change type | Michael Forney | |
gcc and clang allow enum constants out of range of int, but this means that the type of enumerator may differ inside and outside the enum specifier. Instead, only allow out-of-range enum constants when their types are compatible with the final enum type. | |||
2020-06-02 | decl: Improve error message for out-of-range enum constants | Michael Forney | |
2020-05-24 | qbe: Omit unnecessary add to help QBE's memopt pass | Michael Forney | |
2020-04-21 | driver: Print unknown option before usage message | Michael Forney | |
2020-04-19 | Add install target to Makefile | Michael Forney | |
2020-04-19 | Update qbe submodule | Michael Forney | |
2020-04-14 | doc/software: Remove unnotable sections | Michael Forney | |
2020-04-14 | Refer to github issue for oasis porting effort | Michael Forney | |
2020-04-05 | expr: Just ignore decayed operand in unary `&` operator | Michael Forney | |
Reusing the decayed expression is more complicated, and only saved one malloc. | |||
2020-04-04 | type: Remove unnecessary check for TYPEVOID | Michael Forney | |
There is only one type with this kind, so the equality check above suffices. | |||
2020-04-04 | expr: Add type checking for equality and relational expressions | Michael Forney | |
2020-04-04 | expr: Fix type of '&' operator applied to array | Michael Forney | |
It should be a pointer to the array, not to the first element (as it would after implicit conversion without the '&' operator). | |||
2020-03-23 | driver: Handle -isystem | Michael Forney | |
2020-03-22 | pp: Don't add leading space for first stringized token | Michael Forney | |
2020-03-22 | pp: Implement variadic macros | Michael Forney | |
2020-03-22 | pp: Style | Michael Forney | |
2020-03-18 | expr: Slight simplification in function call parsing | Michael Forney | |
2020-03-18 | pp: Remove some unnecessary conditionals | Michael Forney | |
It is fine to just pass NULL, or the result of malloc(0) to free(). | |||
2020-03-18 | pp: Fix possible use-after-free | Michael Forney | |
Restructure the loop slightly to avoid accessing the macro identifier token after we have checked for the open parenthesis; it might belong to a previous macro argument that has since been freed. | |||
2020-03-18 | pp: Add test for function-like macro with no argument tokens | Michael Forney | |
2020-03-18 | pp: Don't expand argument tokens if we don't need them | Michael Forney | |
2020-03-18 | pp: Handle #define without trailing newline | Michael Forney | |
2020-03-18 | token: Handle TEOF in tokendesc | Michael Forney | |
2020-03-18 | pp: Minor style changes | Michael Forney | |
2020-03-18 | pp: Finish '#' operator | Michael Forney | |
2020-03-17 | token: Add TOTHER for other non-whitespace tokens | Michael Forney | |
This is for any non-whitespace character that doesn't match any other token categories, and could be valid if stringified, or the preprocessor is used by itself. | |||
2020-03-17 | pp: Use tokencheck in a few more places | Michael Forney | |
2020-03-17 | pp: Fix some whitespace after preprocessing | Michael Forney | |
2020-03-17 | pp: Add support for macro definition and expansion | Michael Forney | |
The token pasting operator `##` still needs to be implemented. | |||
2020-03-16 | scan: Keep track of whether tokens had preceeding whitespace | Michael Forney | |
2020-03-16 | token: Add tokencheck utility function | Michael Forney | |
This function is like expect(), but operates on a specific token and does not read the following token. | |||
2020-03-16 | token: Rename some functions | Michael Forney | |
2020-03-16 | runtests: Add support for preprocessor tests | Michael Forney | |
2020-03-16 | decl: Simplify struct tag parsing slightly | Michael Forney | |
2020-03-16 | Allow multiple inputs to main compiler process | Michael Forney | |
This way, we can implement -include in the driver by just passing an additional input to the compiler. | |||
2020-02-24 | Enable -Wpedantic by default | Michael Forney | |
2020-01-31 | eval: Allow casting address constants to integer types in constant expressions | Michael Forney | |