aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-03-18pp: Add test for function-like macro with no argument tokensMichael Forney
2020-03-18pp: Don't expand argument tokens if we don't need themMichael Forney
2020-03-18pp: Handle #define without trailing newlineMichael Forney
2020-03-18token: Handle TEOF in tokendescMichael Forney
2020-03-18pp: Minor style changesMichael Forney
2020-03-18pp: Finish '#' operatorMichael Forney
2020-03-17token: Add TOTHER for other non-whitespace tokensMichael 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-17pp: Use tokencheck in a few more placesMichael Forney
2020-03-17pp: Fix some whitespace after preprocessingMichael Forney
2020-03-17pp: Add support for macro definition and expansionMichael Forney
The token pasting operator `##` still needs to be implemented.
2020-03-16scan: Keep track of whether tokens had preceeding whitespaceMichael Forney
2020-03-16token: Add tokencheck utility functionMichael Forney
This function is like expect(), but operates on a specific token and does not read the following token.
2020-03-16token: Rename some functionsMichael Forney
2020-03-16runtests: Add support for preprocessor testsMichael Forney
2020-03-16decl: Simplify struct tag parsing slightlyMichael Forney
2020-03-16Allow multiple inputs to main compiler processMichael Forney
This way, we can implement -include in the driver by just passing an additional input to the compiler.
2020-02-24Enable -Wpedantic by defaultMichael Forney
2020-01-31eval: Allow casting address constants to integer types in constant expressionsMichael Forney
2020-01-31qbe: Make non-constant initializer expression a proper errorMichael Forney
2020-01-30Add test for sizeof string literalMichael Forney
This was regressed in d889bc80be and fixed in 090e2932ce.
2020-01-30driver: Allow preprocessing C headersMichael Forney
2020-01-30decl: Better check for inline definitionsMichael Forney
2020-01-30runtests: Count number of failing testsMichael Forney
2020-01-30Fix links to issue trackerMichael Forney
2020-01-30decl: Use list link to determine presence in tentative definition listMichael Forney
2020-01-30util: Remove unused listinsertlistMichael Forney
2020-01-30expr: String literals have complete typeMichael Forney
2019-12-27expr: Disallow function/incomplete types and bit-fields in sizeof/_AlignofMichael Forney
2019-12-19Fix issue links in READMEMichael Forney
2019-12-14Update issue tracker linkMichael Forney
2019-11-25Make debian-aarch64 build more robust to gcc version changesMichael Forney
2019-11-20driver: Pass -std=* through to the preprocessorMichael Forney
This will prevent the preprocessor from defining several unreserved identifiers when built with an ISO C language standard, which may conflict with identifiers used by the program being built.
2019-11-19doc: Update binutils patch listMichael Forney
Two patches removed, two patches added.
2019-11-19decl: Parse array size as an assignment-expressionMichael Forney
Even though we don't support VLAs yet, we should still be parsing the VLA syntax, then failing after if it was not a constant expression.
2019-11-18Fix email address in build manifestsMichael Forney
Go's email libraries (used by builds.sr.ht) need the address to be in this format.
2019-11-17Fix build manifests for changed environment behaviorMichael Forney
2019-11-17Update oasis software statusMichael Forney
2019-11-17driver: phase -> stageMichael Forney
2019-11-17driver: Preprocess assembly files with .S extensionMichael Forney
2019-08-17driver: Use LEN(phases) instead of NPHASESMichael Forney
2019-08-14Update qbe submoduleMichael Forney
2019-08-13scan: Add `::` operatorMichael Forney
This is needed for attributes, added in C2X (n2335).
2019-08-13Send mail to list on build job failureMichael Forney
2019-08-13Remove test corresponding to cast-same-type.qbeMichael Forney
This should have been removed when "expr: Fix cast of same type" was reverted in 0d1969024c.
2019-08-13decl: Allow _Static_assert with no messageMichael Forney
This is accepted for C2X[0]. [0] http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2265.pdf
2019-08-13decl: Separate _Static_assert handling to its own functionMichael Forney
2019-08-12Revert "expr: Fix cast of same type"Michael Forney
This reverts commit 1a38a5fc4844a0de8729be694a62ba0afce3ff52. This breaks comparisons bitfields in some cases, for instance extern struct {unsigned x:31;} s; int main(void) { return (unsigned)s.x - 1 < 0; } If we discard the cast, then it is a signed comparison because of integer promotion for bit-fields, otherwise it is an unsigned comparison. Additionally, the test case this was meant to fix is not actually ISO C, since casts must be to scalar types or `void`.
2019-08-11Update oasis package listMichael Forney
2019-08-11decl: Allow enumerator values up to UINT_MAXMichael Forney
2019-08-11Update wiki URLsMichael Forney