Age | Commit message (Collapse) | Author | |
---|---|---|---|
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 | |
2020-01-31 | qbe: Make non-constant initializer expression a proper error | Michael Forney | |
2020-01-30 | Add test for sizeof string literal | Michael Forney | |
This was regressed in d889bc80be and fixed in 090e2932ce. | |||
2020-01-30 | driver: Allow preprocessing C headers | Michael Forney | |
2020-01-30 | decl: Better check for inline definitions | Michael Forney | |
2020-01-30 | runtests: Count number of failing tests | Michael Forney | |
2020-01-30 | Fix links to issue tracker | Michael Forney | |
2020-01-30 | decl: Use list link to determine presence in tentative definition list | Michael Forney | |
2020-01-30 | util: Remove unused listinsertlist | Michael Forney | |
2020-01-30 | expr: String literals have complete type | Michael Forney | |
2019-12-27 | expr: Disallow function/incomplete types and bit-fields in sizeof/_Alignof | Michael Forney | |
2019-12-19 | Fix issue links in README | Michael Forney | |