diff options
Diffstat (limited to 'libnormalform_literal_sort_cmp__.c')
| -rw-r--r-- | libnormalform_literal_sort_cmp__.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/libnormalform_literal_sort_cmp__.c b/libnormalform_literal_sort_cmp__.c new file mode 100644 index 0000000..c0b8937 --- /dev/null +++ b/libnormalform_literal_sort_cmp__.c @@ -0,0 +1,33 @@ +/* See LICENSE file for copyright and license details. */ +#include "common.h" +#ifndef TEST + + +int +(libnormalform_literal_sort_cmp__)(const void *a, const void *b) +{ + struct expression *const *ap = a, *const *bp = b; + return libnormalform_literal_cmp__(*ap, *bp); +} + + +#else + + +#if defined(__GNUC__) /* TODO remove when testing is implemented in libnormalform_literal_sort_cmp__.c */ +# pragma GCC diagnostic ignored "-Wunused-function" +# pragma GCC diagnostic ignored "-Wunused-macros" +#endif + +#define libnormalform_literal_cmp__(...) cmptrampoline(__VA_ARGS__) + +PURE static int +cmptrampoline(struct expression *a, struct expression *b) +{ + return libnormalform_literal_sort_cmp__(&a, &b); +} + +#include "libnormalform_literal_cmp__.c" + + +#endif |
