aboutsummaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2019-07-07type: Ignore parameter qualifiers when determining type compatibilityMichael Forney
The end of C11 6.7.6.3p15 says that qualifiers should be ignored when checking compatibility of function types.
2019-07-05qbe: Handle K&R function definition argument promotionMichael Forney
Parameters for K&R function definitions that are affected by default argument promotion are passed as their promoted type, so need to be converted back before storing into memory allocated for the parameter.
2019-07-05stmt: Fix conversion of controlling expression to boolMichael Forney
In d875bf74, I accidentally converted the increment expression to bool rather than the controlling expression. Whoops, I should check the updated test case IL more carefully next time.
2019-07-03Implement no-op __builtin_expectMichael Forney
2019-07-03Convert controlling expression of loops to boolMichael Forney
2019-06-27qbe: Fix switch statements with 64-bit controlling expressionMichael Forney
2019-06-04Fix non-adjacent bit-fieldsMichael Forney
2019-05-29Temporarily avoid %a when printing floating constantsMichael Forney
This is C99, but is not supported by fscanf in OpenBSD, so floating constants can't be read back in by QBE.
2019-05-16Fix test after amend to 52bf506Michael Forney
2019-05-16stmt: continue in do-loop should evaluate controlling expressionMichael Forney
2019-05-16decl: Qualifiers of array type are for element typeMichael Forney
2019-05-16decl: extern storage class with initializer is still a definitionMichael Forney
2019-05-16Remove incorrect type equality check in usual arithmetic conversionsMichael Forney
Integer types still undergo integer promotions even if they are the same type.
2019-05-15Implement asm labelsMichael 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-05-10qbe: Fix QBE types for structs containing bit-fieldsMichael Forney
2019-05-08Update expected test output for fe4297ba1dMichael Forney
2019-04-27Unnamed bit-fields don't contribute to size or alignment of unions, or size ↵Michael Forney
of structs
2019-04-27Sign-extend result of bit-field assignmentsMichael Forney
Fixes #51. Thanks to Andrew Chambers for the bug report and test case.
2019-04-27Fix some function declarator corner casesMichael Forney
2019-04-27init: Allow string literal initializers to be in bracesMichael Forney
2019-04-24Implement _Generic selectionMichael Forney
2019-04-24qbe: Make sure generated code doesn't depend on argument evaluation orderMichael Forney
It would be correct in any order, but this is a bit simpler and guarantees the same output.
2019-04-23Fix integer promotion on bit-fieldsMichael Forney
Fixes #47.
2019-04-22Simplify test/typeofMichael Forney
2019-04-20eval: Handle casts in constant expressionsMichael Forney
Fixes #23.
2019-04-18Fix potential overflow of bit-field initializers into following memberMichael Forney
Fixes #46. Thanks to Andrew Chambers for the bug report.
2019-04-17Fix bit-field offsets in unionsMichael Forney
2019-04-17Allow designators in __builtin_offsetofMichael Forney
2019-04-16Use undecayed type in __typeof__Michael Forney
2019-04-16Implement __builtin_types_compatible_pMichael Forney
This is used by util-linux.
2019-04-16tests -> testMichael Forney