git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11734 626c5289-ae23-0410-ae9c-e8d60b6d4f22
54 lines
992 B
OpenEdge ABL
54 lines
992 B
OpenEdge ABL
/*
|
|
This testcase tests that nested structs/unions work. Named structs/unions declared within
|
|
a struct produced redefinition errors in SWIG 1.3.6 as reported by SF bug #447488.
|
|
Also tests reported error when a #define placed in a deeply embedded struct/union.
|
|
*/
|
|
|
|
%module nested
|
|
|
|
%inline %{
|
|
|
|
struct TestStruct {
|
|
int a;
|
|
};
|
|
|
|
struct OuterStructNamed {
|
|
struct InnerStructNamed {
|
|
double dd;
|
|
} inner_struct_named;
|
|
union InnerUnionNamed {
|
|
double ee;
|
|
int ff;
|
|
} inner_union_named;
|
|
};
|
|
|
|
struct OuterStructUnnamed {
|
|
struct {
|
|
double xx;
|
|
} inner_struct_unnamed;
|
|
union {
|
|
double yy;
|
|
int zz;
|
|
} inner_union_unnamed;
|
|
};
|
|
|
|
|
|
typedef struct OuterStruct {
|
|
union {
|
|
|
|
struct outer_nested_struct {
|
|
union inner_nested_union {
|
|
#define BAD_STYLE 1
|
|
int red;
|
|
struct TestStruct green;
|
|
} InnerNestedUnion;
|
|
|
|
struct inner_nested_struct {
|
|
int blue;
|
|
} InnerNestedStruct;
|
|
} OuterNestedStruct;
|
|
|
|
} EmbeddedUnion;
|
|
} OuterStruct;
|
|
|
|
%}
|