| 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. | 
|  |  |