]> git.draconx.ca Git - cdecl99.git/commit
Hand-code the normalized specifier ordering.
authorNick Bowler <nbowler@draconx.ca>
Fri, 12 Mar 2021 04:58:52 +0000 (23:58 -0500)
committerNick Bowler <nbowler@draconx.ca>
Fri, 12 Mar 2021 04:58:52 +0000 (23:58 -0500)
commitbbfdea24b2b940031e86e990bc457785dd378b58
treed25998e26a0c80c5bf9896d69f7b6b5aba49a16c
parentf2f75f25ecc377fb95877449aa12314ee1385a1f
Hand-code the normalized specifier ordering.

For the most part, the enumerated values for specifier types in the
library are already in an acceptable order for normalization.  This
list is part of the API and is expected to be stable.

We can achieve the desired ordering by simply tweaking these values
as needed.  There is also no need to totally order the specifiers
because some combinations are never valid.  This change not only
eliminates a pile of comparatively complex code generation, but
also reduces the overall size of the library somewhat.

Add a new testcase to validate the resulting ordering.
Makefile.am
src/.gitignore
src/cdecl.h
src/normalize.c
src/ordspecs.sed [deleted file]
test/.gitignore
test/normalize.c [new file with mode: 0644]
test/testlib.c
tests/internal.at [new file with mode: 0644]
testsuite.at