SF #3127633 Fix infinite loop in recursive typedef resolution.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12433 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2011-02-05 01:09:40 +00:00
commit 4f616b5942
5 changed files with 17 additions and 1 deletions

View file

@ -0,0 +1,4 @@
%module cpp_recursive_typedef
typedef std::set<pds> pds;

View file

@ -281,6 +281,9 @@ cpp_nobase.i:6: Warning 401: Maybe you forgot to instantiate 'Bar< int >' using
cpp_private_inherit.i:6: Warning 309: private inheritance from base 'Foo' (ignored).
cpp_private_inherit.i:9: Warning 309: protected inheritance from base 'Foo' (ignored).
:::::::::::::::::::::::::::::::: cpp_recursive_typedef.i :::::::::::::::::::::::::::::::::::
:1: Error: Recursive typedef detected resolving 'pds *' to 'std::set< pds > *' to 'std::set< std::set< pds > > *' and so on...
:::::::::::::::::::::::::::::::: cpp_shared_ptr.i :::::::::::::::::::::::::::::::::::
cpp_shared_ptr.i:20: Warning 520: Base class 'A' of 'C' is not similarly marked as a smart pointer.
cpp_shared_ptr.i:24: Warning 520: Derived class 'D' of 'C' is not similarly marked as a smart pointer.

View file

@ -76,6 +76,7 @@ cpp_nobase
cpp_overload
cpp_private_defvalue
cpp_private_inherit
cpp_recursive_typedef
cpp_shared_ptr
cpp_template_argname
cpp_template_nargs