swig/Examples/test-suite/d/preproc_constants_runme.1.d
Olly Betts f2de21eb83 Parse common cases of < and > comparisons
Adding full support for these in expressions seems hard to do without
introducing conflicts into the parser grammar, but in fact all reported
cases have had parentheses around the comparison and we can support that
with a few restrictions on the left side of `<`.

Fixes #80 and #635.  Also https://sourceforge.net/p/swig/bugs/1139/
2022-01-25 14:09:41 +13:00

68 lines
3.2 KiB
D

module preproc_constants_runme;
import tango.stdc.config;
import preproc_constants.preproc_constants;
void main() {
static assert(is(int == typeof(CONST_INT1())));
static assert(is(int == typeof(CONST_INT2())));
static assert(is(uint == typeof(CONST_UINT1())));
static assert(is(uint == typeof(CONST_UINT2())));
static assert(is(uint == typeof(CONST_UINT3())));
static assert(is(uint == typeof(CONST_UINT4())));
static assert(is(c_long == typeof(CONST_LONG1())));
static assert(is(c_long == typeof(CONST_LONG2())));
static assert(is(c_long == typeof(CONST_LONG3())));
static assert(is(c_long == typeof(CONST_LONG4())));
static assert(is(long == typeof(CONST_LLONG1())));
static assert(is(long == typeof(CONST_LLONG2())));
static assert(is(long == typeof(CONST_LLONG3())));
static assert(is(long == typeof(CONST_LLONG4())));
static assert(is(ulong == typeof(CONST_ULLONG1())));
static assert(is(ulong == typeof(CONST_ULLONG2())));
static assert(is(ulong == typeof(CONST_ULLONG3())));
static assert(is(ulong == typeof(CONST_ULLONG4())));
static assert(is(double == typeof(CONST_DOUBLE1())));
static assert(is(double == typeof(CONST_DOUBLE2())));
static assert(is(double == typeof(CONST_DOUBLE3())));
static assert(is(double == typeof(CONST_DOUBLE4())));
static assert(is(double == typeof(CONST_DOUBLE5())));
static assert(is(double == typeof(CONST_DOUBLE6())));
static assert(is(bool == typeof(CONST_BOOL1())));
static assert(is(bool == typeof(CONST_BOOL2())));
static assert(is(char == typeof(CONST_CHAR())));
static assert(is(char[] == typeof(CONST_STRING1())));
static assert(is(char[] == typeof(CONST_STRING2())));
static assert(is(int == typeof(INT_AND_BOOL())));
static assert(is(int == typeof(INT_AND_CHAR())));
static assert(is(int == typeof(INT_AND_INT())));
static assert(is(uint == typeof(INT_AND_UINT())));
static assert(is(c_long == typeof(INT_AND_LONG())));
static assert(is(c_ulong == typeof(INT_AND_ULONG())));
static assert(is(long == typeof(INT_AND_LLONG())));
static assert(is(ulong == typeof(INT_AND_ULLONG())));
static assert(is(int == typeof(BOOL_AND_BOOL())));
static assert(is(int == typeof(EXPR_MULTIPLY())));
static assert(is(int == typeof(EXPR_DIVIDE())));
static assert(is(int == typeof(EXPR_PLUS())));
static assert(is(int == typeof(EXPR_MINUS())));
static assert(is(int == typeof(EXPR_LSHIFT())));
static assert(is(int == typeof(EXPR_RSHIFT())));
static assert(is(int == typeof(EXPR_LT())));
static assert(is(int == typeof(EXPR_GT())));
static assert(is(bool == typeof(EXPR_LTE())));
static assert(is(bool == typeof(EXPR_GTE())));
static assert(is(bool == typeof(EXPR_INEQUALITY())));
static assert(is(bool == typeof(EXPR_EQUALITY())));
static assert(is(int == typeof(EXPR_AND())));
static assert(is(int == typeof(EXPR_XOR())));
static assert(is(int == typeof(EXPR_OR())));
static assert(is(bool == typeof(EXPR_LAND())));
static assert(is(bool == typeof(EXPR_LOR())));
static assert(is(double == typeof(EXPR_CONDITIONAL())));
static assert(is(double == typeof(EXPR_MIXED1())));
static assert(is(int == typeof(EXPR_WCHAR_MAX())));
static assert(is(int == typeof(EXPR_WCHAR_MIN())));
}