~mcf/cproc

ref: a71a7975c95b794983c4b83a26981c7b4d7f7c82 cproc/eval.c -rw-r--r-- 6.1 KiB
Use a common member for expression base
Use a common member for expression op
eval: Check that expression has integer type before checking if it's signed

It could be an integer constant cast to a pointer type.
Keep track of type properties in type
eval: Handle casts in constant expressions

Fixes #23.
Separate unqualified type and qualifiers in struct decl
Separate unqualified type and qualifiers in struct expr
Merge headers into cc.h
Abbreviate tag names
Remove some unused variables
eval: Handle nested offset address constants
Fix backwards constant evaluation of float-int casts
Rename emit.h -> backend.h
Handle compound literals in global initializers
Initial import