swig/Examples/test-suite/enum_forward.i

54 lines
1.1 KiB
OpenEdge ABL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

%module enum_forward
/* This contains C code that is not valid C++03 and Octave, and Javascript(v8) wrappers are always compiled as C++ */
#if !defined(SWIGOCTAVE) && !defined(SWIG_JAVASCRIPT_V8) && !defined(SWIG_JAVASCRIPT_NAPI)
%{
enum ForwardEnum1 { AAA, BBB };
enum ForwardEnum2 { CCC, DDD };
%}
%inline %{
#if __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
/* ISO C forbids forward references to enum types [-Werror=pedantic] */
#pragma GCC diagnostic ignored "-Wpedantic"
#endif
#if !defined(__SUNPRO_C)
enum ForwardEnum1;
enum ForwardEnum2;
enum ForwardEnum2;
enum ForwardEnum3;
#endif
%}
%inline %{
enum ForwardEnum1 get_enum1() { return AAA; }
enum ForwardEnum1 test_function1(enum ForwardEnum1 e) {
return e;
}
%}
%inline %{
enum ForwardEnum2 get_enum2() { return CCC; }
enum ForwardEnum2 test_function2(enum ForwardEnum2 e) {
return e;
}
%}
%inline %{
enum ForwardEnum3 { EEE, FFF };
enum ForwardEnum3 get_enum3() { return EEE; }
enum ForwardEnum3 test_function3(enum ForwardEnum3 e) {
return e;
}
%}
%inline %{
#if !defined(__SUNPRO_C)
enum ForwardEnum2;
enum ForwardEnum3;
#endif
%}
#endif