diff --git a/SWIG/Source/Modules/clisp.cxx b/SWIG/Source/Modules/clisp.cxx index 0fa4c9eb6..bfc0876a3 100644 --- a/SWIG/Source/Modules/clisp.cxx +++ b/SWIG/Source/Modules/clisp.cxx @@ -23,12 +23,15 @@ public: virtual int variableWrapper(Node *n); virtual int constantWrapper(Node *n); virtual int classDeclaration(Node *n); + virtual int typedefHandler(Node *n); List *entries; private: String* get_ffi_type(SwigType *ty); String* convert_literal(String *num_param, String *type); String* strip_parens(String *string); - int generate_all_flag; + int extern_all_flag; + int generate_typedef_flag; + int is_function; }; void CLISP :: main(int argc, char *argv[]) { @@ -36,25 +39,33 @@ void CLISP :: main(int argc, char *argv[]) { SWIG_library_directory("clisp"); SWIG_config_file("clisp.swg"); - generate_all_flag = 0; + generate_typedef_flag = 0; + extern_all_flag=0; for(i=1; i