diff --git a/SWIG/Examples/test-suite/template_opaque.i b/SWIG/Examples/test-suite/template_opaque.i index b5406d530..f7982d00c 100644 --- a/SWIG/Examples/test-suite/template_opaque.i +++ b/SWIG/Examples/test-suite/template_opaque.i @@ -8,14 +8,19 @@ { }; } + + enum Hello { hi, hello }; + %} %inline { namespace A { struct OpaqueStruct; - typedef OpaqueStruct OpaqueType; + typedef struct OpaqueStruct OpaqueType; + typedef enum Hello Hi; typedef std::vector OpaqueVectorType; + typedef std::vector OpaqueVectorEnum; void FillVector(OpaqueVectorType& v) { @@ -23,6 +28,10 @@ namespace A { v[i] = OpaqueStruct(); } } + + void FillVector(const OpaqueVectorEnum& v) + { + } } } diff --git a/SWIG/Source/Swig/symbol.c b/SWIG/Source/Swig/symbol.c index da0533042..9da50c680 100644 --- a/SWIG/Source/Swig/symbol.c +++ b/SWIG/Source/Swig/symbol.c @@ -1329,7 +1329,7 @@ SwigType *Swig_symbol_typedef_reduce(SwigType *ty, Symtab *tab) { Symtab *ntab; SwigType *nt = Copy(Getattr(n,"type")); -#if 0 +#if 1 /* Fix for case 'typedef struct Hello hello;' */ { const char* dclass[3] = {"struct ", "union ", "class "};