fix bootstrap by renaming constexpr()

The addition of C23 keywords made 'constexpr'
unusable as a function name. This prevents cproc
from bootstrapping. This patch simply renames
the problematic function to 'evalexpr'.
README.md: Remove outdated note about gmake
Don't spam mailing list with build failures

Add a separate list for this.
Implement C23 predefined bool constants
Check object alignment in only one place
Move kind-specific decl fields to union
Keep track of asmname in decl and remove globalname()
Use new spelling of keywords in error messages
d9c29297 — David Demelier 7 months ago
Add cproc(1) manual page
expr: Fix constant evaluation of struct member address

fb00ba6978 had the side-effect of introducing an integer to pointer
cast, which was not evaluated as a constant expression. To fix this,
just set the type of the expression.
Update qbe submodule
Use CC=cc with nixos

nixos doesn't have c99.
Add new C23 keywords
driver: Pass -iquote through to preprocessor
Update CI for new QBE Makefile
qbe: Insert dead block when compiling unreachable code after a jump

QBE will optimize out these blocks, and the dead block prevents the
possibility of NULL value usage when further control flow follows.

Fixes #80.
Fix tests for x86_64 -> x86_64-sysv target rename
Rename x86_64 target to include ABI
Add unreachable returns to silence compiler warnings
eval: Fix range check of double during conversion to int

2⁶⁴-1 and 2⁶³-1 are not representable as double and get rounded to
2⁶⁴ and 2⁶³ respectively, which are outside the range of 64-bit

This causes undefined behavior when a constant expression is evaluated
that involves a conversion of a very large or small value to an
integer type.

To fix this, change the > to >= and use constants representable as