aboutsummaryrefslogtreecommitdiff
path: root/cc.h
AgeCommit message (Collapse)Author
2019-05-24Add __attribute__ keywordMichael Forney
This will be needed for weak references and hidden visibility.
2019-05-15Implement asm labelsMichael Forney
2019-05-13Use enum type for expect argumentMichael Forney
2019-05-12eval: Keep track of kind of constant expression we are evaluatingMichael Forney
When we are evaluating an arithmetic constant expression, we don't want to indroduce static data definitions for string or compound literals. Fixes #59.
2019-04-29Add __asm__ keywordMichael Forney
2019-04-24Use a common member for expression baseMichael Forney
2019-04-24Use enum type for expr->builtin.kindMichael Forney
2019-04-24Use a common member for expression opMichael Forney
2019-04-24Free functions when we're done with themMichael Forney
2019-04-23Fix integer promotion on bit-fieldsMichael Forney
Fixes #47.
2019-04-23expr: Use tokstr in ++/-- operator error messagesMichael Forney
2019-04-21Keep track of type properties in typeMichael Forney
2019-04-20Make basic types have their own kindMichael Forney
2019-04-20Shorten some names with 'long'Michael Forney
2019-04-17htab -> mapMichael Forney
2019-04-17Improve token descriptions in errorsMichael Forney
2019-04-17Implement bit-field initializersMichael Forney
2019-04-16Implement __builtin_types_compatible_pMichael Forney
This is used by util-linux.
2019-04-14Initial support for loading/storing bit-fieldsMichael Forney
2019-04-13Revert "Fold constexpr function into intconstexpr"Michael Forney
This reverts commit a080e36dac54b82beef63580f36cb0da9ad31788.
2019-04-06Track type qualifiers separatelyMichael Forney
Using a special qualified type kind has a number of problems: - Important fields such as size, align, and incomplete may not be set, since the qualified type was created before a struct was completed. - When we don't care about type qualifiers (which is the usual case), we have to explicitly unqualify the type which is annoying and error-prone. Instead, in derived types, keep track of the qualifiers of the base type alongside the base type (similar to what is done for members, parameters, declarations, and expressions in the past few commits).
2019-04-06Separate unqualified type and qualifiers in struct declMichael Forney
2019-04-06Separate unqualified type and qualifiers in struct memberMichael Forney
2019-04-06Separate unqualified type and qualifiers in struct paramMichael Forney
2019-04-06Separate unqualified type and qualifiers in struct exprMichael Forney
2019-04-05expr: Use separate fields for lvalue and decayed instead of flagsMichael Forney
2019-04-04Move type definitions to the top of cc.hMichael Forney
2019-04-04Use `enum tokenkind` for op in struct exprMichael Forney
2019-04-04Remove unnecessary forward struct declarationsMichael Forney
2019-04-04Merge headers into cc.hMichael Forney