[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.
|