blob: a5e8a24616bb97ab55531c7990f26fe31980ba31 [file] [log] [blame]
%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
};
%}