Age | Commit message (Collapse) | Author |
|
Determining whether it is a typename or unparenthesized expression
requires consuming the '(', so we need to call postfixexpr/parseinit
ourselves.
|
|
We currently compile '.' member access as taking the address of
the struct, adding the offset, and then dereferencing as the member
type. However, the '.' operator is allowed on non-lvalues, even though
the '&' operator is not. So, we need to handle arbitrary struct/union
expressions in objectaddr by just compiling them normally, then converting
them to regular pointers (since struct/union values are just pointers
with additional type information).
|
|
|
|
Implement typecompatible for types created with non-prototype function
declarations.
Require a function definition with parameter declaration list after a
declaration with a non-empty identifier list.
Detect function definitions with parameter declaration lists containing
types incompatible with the promoted types, and report an error for now.
|
|
Thanks to Andrew Chambers for reporting the issue.
|
|
|
|
|
|
|
|
The pointers might be global addresses, and it doesn't make sense to
divide them before subtracting.
|
|
|
|
|
|
|
|
|
|
|
|
We need to traverse the type hierarchy from inside to out to calculate
size/alignment of arrays.
|
|
|