diff options
author | Alistair Delva <adelva@google.com> | 2024-04-10 14:15:29 -0700 |
---|---|---|
committer | Alistair Delva <adelva@google.com> | 2024-04-11 12:58:28 -0700 |
commit | d0f0f90be16c2ac553b5fa08512045273135147a (patch) | |
tree | 5d9ebb7a04807ea8a609ddd18b0162bc87530e4b /Examples/test-suite/preproc_expr.i | |
parent | 6ffc1dbf29ba98c4d8aa71ebc9b484e973fe1030 (diff) | |
download | swig-master.tar.gz |
Update to v4.2.1HEADmastermainllvm-r522817
Change-Id: I47cef2be94299220d80265d949a95b58eee2c23b
Diffstat (limited to 'Examples/test-suite/preproc_expr.i')
-rw-r--r-- | Examples/test-suite/preproc_expr.i | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Examples/test-suite/preproc_expr.i b/Examples/test-suite/preproc_expr.i new file mode 100644 index 000000000..a24f7715c --- /dev/null +++ b/Examples/test-suite/preproc_expr.i @@ -0,0 +1,34 @@ +%module preproc_expr + +// Check expressions which suffered from incorrect operator precedence prior +// to SWIG 4.1.0. + +%inline %{ +// `!` should have higher precedence than binary `+`. +#if !0 + 1 +#else +# error Bad preprocessor expression operator precedence +#endif + +// `!=` should have higher precedence than bitwise and. +#if 1 & 2 != 0 +#else +# error Bad preprocessor expression operator precedence +#endif + +// `==` should have higher precedence than bitwise or. +#if (2 | 1 == 3) != 2 +# error Bad preprocessor expression operator precedence +#endif + +// `!=` should have higher precedence than bitwise xor. +#if 1 ^ 2 != 4 +# error Bad preprocessor expression operator precedence +#endif + +// `<` should have higher precedence than '=='. +#if 2 == 2 < 2 +# error Bad preprocessor expression operator precedence +#endif + +%} |