mirror of https://github.com/swig/swig
35 lines
811 B
OpenEdge ABL
35 lines
811 B
OpenEdge ABL
%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
|
|
|
|
%}
|