| %module enum_macro |
| |
| %inline %{ |
| |
| #if __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) |
| /* comma at end of enumerator list [-Werror=pedantic] */ |
| #pragma GCC diagnostic ignored "-Wpedantic" |
| #endif |
| |
| |
| enum Greeks1 |
| { |
| #define GREEK1 -1 |
| alpha1=1, |
| beta1, |
| theta1 |
| }; |
| |
| enum Greeks2 |
| { |
| alpha2 = 2, |
| #define GREEK2 -2 |
| beta2, |
| theta2 |
| }; |
| |
| enum Greeks3 |
| { |
| alpha3, |
| beta3, |
| #define GREEK3 -3 |
| theta3 |
| }; |
| |
| enum Greeks4 |
| { |
| alpha4 = 4, |
| beta4 = 5, |
| theta4 = 6 |
| #define GREEK4 -4 |
| }; |
| |
| enum Greeks5 |
| { |
| #define GREEK5 -5 |
| alpha5, |
| beta5, |
| }; |
| |
| enum Greeks6 |
| { |
| alpha6, |
| #define GREEK6 -6 |
| beta6, |
| }; |
| |
| enum Greeks7 |
| { |
| alpha7, |
| beta7, |
| #define GREEK7 -7 |
| }; |
| |
| enum Greeks8 |
| { |
| #define GREEK8 -8 |
| theta8 |
| }; |
| |
| enum Greeks9 |
| { |
| theta9 |
| #define GREEK9 -9 |
| }; |
| |
| enum Greeks10 |
| { |
| #define GREEK10 -10 |
| theta10, |
| }; |
| |
| enum Greeks11 |
| { |
| theta11, |
| #define GREEK11 -11 |
| }; |
| |
| typedef enum { |
| theta12 = 0 |
| #define GREEK12 -12 |
| } Greeks12; |
| %} |
| |
| |
| enum Greeks13 |
| { |
| #define GREEK13 -13 |
| }; |
| |
| /* Multiple macros */ |
| |
| %inline %{ |
| enum Greeks14 |
| { |
| #define GREEK14a -14 |
| #define GREEK14b -140 |
| theta14, |
| }; |
| |
| enum Greeks15 |
| { |
| alpha15 = 150, |
| beta15 = 151, |
| #define GREEK15a -150 |
| #define GREEK15b -151 |
| theta15 = 152, |
| delta15 = 153 |
| }; |
| |
| enum Greeks16 |
| { |
| alpha16 = 160, |
| beta16 = 161, |
| #define GREEK16a -160 |
| #define GREEK16b -161 |
| #define GREEK16c -162 |
| theta16 = 162, |
| delta16 = 163 |
| }; |
| |
| enum Greeks17 |
| { |
| alpha17 = 170, |
| beta17 = 171, |
| theta17 = 172, |
| delta17 = 173 |
| #define GREEK17a -170 |
| #define GREEK17b -171 |
| #define GREEK17c -172 |
| }; |
| %} |