[pygccxml-commit] SF.net SVN: pygccxml:[1844] pygccxml_dev
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2010-07-19 06:28:21
|
Revision: 1844 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1844&view=rev Author: roman_yakovenko Date: 2010-07-19 06:28:14 +0000 (Mon, 19 Jul 2010) Log Message: ----------- "__int128_t" and "__uint128_t" types were introduced. Many thanks to Gustavo Carneiro for the patch Modified Paths: -------------- pygccxml_dev/docs/history/history.rest pygccxml_dev/pygccxml/declarations/__init__.py pygccxml_dev/pygccxml/declarations/cpptypes.py pygccxml_dev/pygccxml/declarations/type_traits.py pygccxml_dev/pygccxml/declarations/type_visitor.py pygccxml_dev/pygccxml/parser/linker.py pygccxml_dev/unittests/core_tester.py Modified: pygccxml_dev/docs/history/history.rest =================================================================== --- pygccxml_dev/docs/history/history.rest 2010-07-12 19:50:31 UTC (rev 1843) +++ pygccxml_dev/docs/history/history.rest 2010-07-19 06:28:14 UTC (rev 1844) @@ -60,6 +60,9 @@ `elif sys.platform == 'linux2' or sys.platform == 'darwin'` with `os.name == 'posix'`, as suggested by `Jakub Wilk <http://groups.google.com/group/linux.debian.bugs.dist/browse_thread/thread/572d2286ca0b2cec?pli=1>` +11. "__int128_t" and "__uint128_t" types were introduced. Many thanks to Gustavo Carneiro + for providing the patch. + ----------- Version 1.0 ----------- Modified: pygccxml_dev/pygccxml/declarations/__init__.py =================================================================== --- pygccxml_dev/pygccxml/declarations/__init__.py 2010-07-12 19:50:31 UTC (rev 1843) +++ pygccxml_dev/pygccxml/declarations/__init__.py 2010-07-19 06:28:14 UTC (rev 1844) @@ -42,6 +42,8 @@ from cpptypes import long_unsigned_int_t from cpptypes import long_long_int_t from cpptypes import long_long_unsigned_int_t +from cpptypes import int128_t +from cpptypes import uint128_t from cpptypes import float_t from cpptypes import double_t from cpptypes import long_double_t Modified: pygccxml_dev/pygccxml/declarations/cpptypes.py =================================================================== --- pygccxml_dev/pygccxml/declarations/cpptypes.py 2010-07-12 19:50:31 UTC (rev 1843) +++ pygccxml_dev/pygccxml/declarations/cpptypes.py 2010-07-19 06:28:14 UTC (rev 1844) @@ -302,6 +302,19 @@ def __init__( self ): java_fundamental_t.__init__( self, jboolean_t.JNAME ) +class int128_t( fundamental_t ): + """represents __int128_t type""" + CPPNAME = '__int128_t' + def __init__( self ): + fundamental_t.__init__( self, int128_t.CPPNAME ) + +class uint128_t( fundamental_t ): + """represents __uint128_t type""" + CPPNAME = '__uint128_t' + def __init__( self ): + fundamental_t.__init__( self, uint128_t.CPPNAME ) + + FUNDAMENTAL_TYPES = { void_t.CPPNAME : void_t() , char_t.CPPNAME : char_t() @@ -319,6 +332,8 @@ , long_unsigned_int_t.CPPNAME : long_unsigned_int_t() , long_long_int_t.CPPNAME : long_long_int_t() , long_long_unsigned_int_t.CPPNAME : long_long_unsigned_int_t() + , int128_t.CPPNAME : int128_t() + , uint128_t.CPPNAME : uint128_t() , float_t.CPPNAME : float_t() , double_t.CPPNAME : double_t() , long_double_t.CPPNAME : long_double_t() Modified: pygccxml_dev/pygccxml/declarations/type_traits.py =================================================================== --- pygccxml_dev/pygccxml/declarations/type_traits.py 2010-07-12 19:50:31 UTC (rev 1843) +++ pygccxml_dev/pygccxml/declarations/type_traits.py 2010-07-19 06:28:14 UTC (rev 1844) @@ -142,7 +142,9 @@ + create_cv_types( cpptypes.long_int_t() ) \ + create_cv_types( cpptypes.long_unsigned_int_t() ) \ + create_cv_types( cpptypes.long_long_int_t() ) \ - + create_cv_types( cpptypes.long_long_unsigned_int_t() ) + + create_cv_types( cpptypes.long_long_unsigned_int_t() ) \ + + create_cv_types( cpptypes.int128_t() ) \ + + create_cv_types( cpptypes.uint128_t() ) return remove_alias( type ) in integral_def Modified: pygccxml_dev/pygccxml/declarations/type_visitor.py =================================================================== --- pygccxml_dev/pygccxml/declarations/type_visitor.py 2010-07-12 19:50:31 UTC (rev 1843) +++ pygccxml_dev/pygccxml/declarations/type_visitor.py 2010-07-19 06:28:14 UTC (rev 1844) @@ -58,6 +58,12 @@ def visit_long_long_unsigned_int( self ): raise NotImplementedError() + def visit_int128( self ): + raise NotImplementedError() + + def visit_uint128( self ): + raise NotImplementedError() + def visit_float( self ): raise NotImplementedError() Modified: pygccxml_dev/pygccxml/parser/linker.py =================================================================== --- pygccxml_dev/pygccxml/parser/linker.py 2010-07-12 19:50:31 UTC (rev 1843) +++ pygccxml_dev/pygccxml/parser/linker.py 2010-07-19 06:28:14 UTC (rev 1844) @@ -188,6 +188,12 @@ def visit_long_long_unsigned_int( self ): pass + def visit_int128( self ): + pass + + def visit_uint128( self ): + pass + def visit_float( self ): pass Modified: pygccxml_dev/unittests/core_tester.py =================================================================== --- pygccxml_dev/unittests/core_tester.py 2010-07-12 19:50:31 UTC (rev 1843) +++ pygccxml_dev/unittests/core_tester.py 2010-07-19 06:28:14 UTC (rev 1844) @@ -177,6 +177,8 @@ for fundamental_type_name, fundamental_type in FUNDAMENTAL_TYPES.iteritems(): if 'complex' in fundamental_type_name: continue #I check this in an other tester + if isinstance( fundamental_type, (int128_t, uint128_t) ): + continue #I don't have test case for this if isinstance( fundamental_type, java_fundamental_t ): continue #I don't check this at all typedef_name = 'typedef_' + fundamental_type_name.replace( ' ', '_' ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |