pygccxml-commit Mailing List for C++ Python language bindings (Page 30)
Brought to you by:
mbaas,
roman_yakovenko
You can subscribe to this list here.
| 2006 |
Jan
|
Feb
|
Mar
(190) |
Apr
(166) |
May
(170) |
Jun
(75) |
Jul
(105) |
Aug
(131) |
Sep
(99) |
Oct
(84) |
Nov
(67) |
Dec
(54) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2007 |
Jan
(66) |
Feb
(49) |
Mar
(25) |
Apr
(62) |
May
(21) |
Jun
(34) |
Jul
(9) |
Aug
(21) |
Sep
(5) |
Oct
|
Nov
(63) |
Dec
(34) |
| 2008 |
Jan
(10) |
Feb
(42) |
Mar
(26) |
Apr
(25) |
May
(6) |
Jun
(40) |
Jul
(18) |
Aug
(29) |
Sep
(6) |
Oct
(32) |
Nov
(14) |
Dec
(56) |
| 2009 |
Jan
(127) |
Feb
(52) |
Mar
(2) |
Apr
(10) |
May
(29) |
Jun
(3) |
Jul
|
Aug
(16) |
Sep
(4) |
Oct
(11) |
Nov
(8) |
Dec
(14) |
| 2010 |
Jan
(31) |
Feb
(1) |
Mar
(7) |
Apr
(9) |
May
(1) |
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2011 |
Jan
|
Feb
(8) |
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2014 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <rom...@us...> - 2007-11-10 22:37:09
|
Revision: 1133
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1133&view=rev
Author: roman_yakovenko
Date: 2007-11-10 14:37:12 -0800 (Sat, 10 Nov 2007)
Log Message:
-----------
adding treatment to trivial [copy] constructors
Modified Paths:
--------------
pyplusplus_dev/pyplusplus/code_creators/calldef.py
pyplusplus_dev/pyplusplus/code_creators/declaration_based.py
pyplusplus_dev/pyplusplus/module_creator/creator.py
Modified: pyplusplus_dev/pyplusplus/code_creators/calldef.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/calldef.py 2007-11-10 22:29:29 UTC (rev 1132)
+++ pyplusplus_dev/pyplusplus/code_creators/calldef.py 2007-11-10 22:37:12 UTC (rev 1133)
@@ -932,18 +932,18 @@
"""
Creates wrapper class constructor from wrapped class instance.
"""
- def __init__( self, constructor ):
+ def __init__( self, class_ ):
code_creator.code_creator_t.__init__( self )
- declaration_based.declaration_based_t.__init__( self, declaration=constructor )
+ declaration_based.declaration_based_t.__init__( self, declaration=class_ )
def _create_declaration(self):
result = []
- result.append( self.parent.declaration.wrapper_alias )
+ result.append( self.declaration.wrapper_alias )
result.append( '(' )
if not self.target_configuration.boost_python_has_wrapper_held_type \
- or self.declaration.parent.require_self_reference:
+ or self.declaration.require_self_reference:
result.append( 'PyObject* self, ' )
- declarated = declarations.declarated_t( self.declaration.parent )
+ declarated = declarations.declarated_t( self.declaration )
const_decl = declarations.const_t( declarated )
const_ref_decl = declarations.reference_t( const_decl )
identifier = algorithm.create_identifier( self, const_ref_decl.decl_string )
@@ -952,7 +952,7 @@
return ''.join( result )
def _create_constructor_call( self ):
- answer = [ algorithm.create_identifier( self, self.parent.declaration.decl_string ) ]
+ answer = [ algorithm.create_identifier( self, self.declaration.decl_string ) ]
answer.append( '( arg )' )
return ''.join( answer )
@@ -961,7 +961,7 @@
answer.append( ': ' + self._create_constructor_call() )
answer.append( ' , ' + self.parent.boost_wrapper_identifier + '(){' )
answer.append( self.indent( '// copy constructor' ) )
- answer.append( self.indent( self.parent.declaration.copy_constructor_body ) )
+ answer.append( self.indent( self.declaration.copy_constructor_body ) )
answer.append( '}' )
return os.linesep.join( answer )
@@ -973,23 +973,23 @@
"""
Creates wrapper for compiler generated null constructor.
"""
- def __init__( self, constructor ):
+ def __init__( self, class_ ):
code_creator.code_creator_t.__init__( self )
- declaration_based.declaration_based_t.__init__( self, declaration=constructor )
+ declaration_based.declaration_based_t.__init__( self, declaration=class_ )
def _create_constructor_call( self ):
- return algorithm.create_identifier( self, self.parent.declaration.decl_string ) + '()'
+ return algorithm.create_identifier( self, self.declaration.decl_string ) + '()'
def _create_impl(self):
- answer = [ self.parent.declaration.wrapper_alias + '(' ]
+ answer = [ self.declaration.wrapper_alias + '(' ]
if not self.target_configuration.boost_python_has_wrapper_held_type \
- or self.declaration.parent.require_self_reference:
+ or self.declaration.require_self_reference:
answer[0] = answer[0] + 'PyObject* self'
answer[0] = answer[0] + ')'
answer.append( ': ' + self._create_constructor_call() )
answer.append( ' , ' + self.parent.boost_wrapper_identifier + '(){' )
answer.append( self.indent( '// null constructor' ) )
- answer.append( self.indent( self.parent.declaration.null_constructor_body ) )
+ answer.append( self.indent( self.declaration.null_constructor_body ) )
answer.append( '}' )
return os.linesep.join( answer )
Modified: pyplusplus_dev/pyplusplus/code_creators/declaration_based.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/declaration_based.py 2007-11-10 22:29:29 UTC (rev 1132)
+++ pyplusplus_dev/pyplusplus/code_creators/declaration_based.py 2007-11-10 22:37:12 UTC (rev 1133)
@@ -41,9 +41,9 @@
self.declaration.alias = alias
alias = property( _get_alias, _set_alias )
- def _get_decl_identifier( self ):
+ @property
+ def decl_identifier( self ):
return algorithm.create_identifier( self, self.declaration.decl_string )
- decl_identifier = property( _get_decl_identifier )
@property
def documentation( self ):
Modified: pyplusplus_dev/pyplusplus/module_creator/creator.py
===================================================================
--- pyplusplus_dev/pyplusplus/module_creator/creator.py 2007-11-10 22:29:29 UTC (rev 1132)
+++ pyplusplus_dev/pyplusplus/module_creator/creator.py 2007-11-10 22:37:12 UTC (rev 1133)
@@ -571,18 +571,32 @@
else:
self.__extmodule.adopt_declaration_creator( wrapper )
if declarations.has_trivial_copy( self.curr_decl ):
- #~ #I don't know but sometimes boost.python requieres
- #~ #to construct wrapper from wrapped classe
- copy_constr = self.curr_decl.constructor( lambda c: c.is_copy_constructor, recursive=False )
- if not self.curr_decl.noncopyable and copy_constr.is_artificial:
- cccc = code_creators.copy_constructor_wrapper_t( constructor=copy_constr )
- wrapper.adopt_creator( cccc )
- null_constr = declarations.find_trivial_constructor(self.curr_decl)
- if null_constr and null_constr.is_artificial:
- #this constructor is not going to be exposed
- tcons = code_creators.null_constructor_wrapper_t( constructor=null_constr )
- wrapper.adopt_creator( tcons )
-
+ #next constructors are not present in code, but compiler generated
+ #Boost.Python requiers them to be declared in the wrapper class
+ if '0.9' in self.curr_decl.compiler:
+ copy_constr = self.curr_decl.constructors( lambda c: c.is_copy_constructor
+ , recursive=False
+ , allow_empty=True)
+ if not copy_constr:
+ cccc = code_creators.copy_constructor_wrapper_t( class_=self.curr_decl)
+ wrapper.adopt_creator( cccc )
+ trivial_constr = self.curr_decl.constructors( lambda c: c.is_trivial_constructor
+ , recursive=False
+ , allow_empty=True)
+ if not trivial_constr:
+ tcons = code_creators.null_constructor_wrapper_t( class_=self.curr_decl )
+ wrapper.adopt_creator( tcons )
+ else:
+ copy_constr = self.curr_decl.constructor( lambda c: c.is_copy_constructor, recursive=False )
+ if not self.curr_decl.noncopyable and copy_constr.is_artificial:
+ cccc = code_creators.copy_constructor_wrapper_t( class_=self.curr_decl)
+ wrapper.adopt_creator( cccc )
+ null_constr = declarations.find_trivial_constructor(self.curr_decl)
+ if null_constr and null_constr.is_artificial:
+ #this constructor is not going to be exposed
+ tcons = code_creators.null_constructor_wrapper_t( class_=self.curr_decl )
+ wrapper.adopt_creator( tcons )
+
exposed = self.expose_overloaded_mem_fun_using_macro( cls_decl, cls_cc )
cls_parent_cc.adopt_creator( cls_cc )
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rom...@us...> - 2007-11-10 22:30:12
|
Revision: 1132
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1132&view=rev
Author: roman_yakovenko
Date: 2007-11-10 14:29:29 -0800 (Sat, 10 Nov 2007)
Log Message:
-----------
adding is_trivial_constructor functionality
Modified Paths:
--------------
pygccxml_dev/pygccxml/declarations/calldef.py
pygccxml_dev/pygccxml/declarations/type_traits.py
pygccxml_dev/unittests/autoconfig.py
pygccxml_dev/unittests/data/core_cache.hpp
pygccxml_dev/unittests/data/type_traits.hpp
Modified: pygccxml_dev/pygccxml/declarations/calldef.py
===================================================================
--- pygccxml_dev/pygccxml/declarations/calldef.py 2007-11-08 23:28:48 UTC (rev 1131)
+++ pygccxml_dev/pygccxml/declarations/calldef.py 2007-11-10 22:29:29 UTC (rev 1132)
@@ -469,7 +469,9 @@
cls = 'copy ' + cls
return "%s [%s]"%(res, cls)
- def _get_is_copy_constructor(self):
+ @property
+ def is_copy_constructor(self):
+ """returns True if described declaration is copy constructor, otherwise False"""
args = self.arguments
if 1 != len( args ):
return False
@@ -483,8 +485,11 @@
if not isinstance( unaliased.base, cpptypes.declarated_t ):
return False
return id(unaliased.base.declaration) == id(self.parent)
- is_copy_constructor = property(_get_is_copy_constructor
- , doc="returns True if described declaration is copy constructor, otherwise False")
+
+ @property
+ def is_trivial_constructor(self):
+ return not bool( self.arguments )
+
class destructor_t( member_calldef_t ):
"""describes deconstructor declaration"""
Modified: pygccxml_dev/pygccxml/declarations/type_traits.py
===================================================================
--- pygccxml_dev/pygccxml/declarations/type_traits.py 2007-11-08 23:28:48 UTC (rev 1131)
+++ pygccxml_dev/pygccxml/declarations/type_traits.py 2007-11-10 22:29:29 UTC (rev 1132)
@@ -344,22 +344,79 @@
def find_trivial_constructor( type ):
"""returns reference to trivial constructor or None"""
assert isinstance( type, class_declaration.class_t )
- constructors = filter( lambda x: isinstance( x, calldef.constructor_t ) \
- and 0 == len( x.arguments ) \
- , type.public_members )
- if constructors:
- return constructors[0]
+ trivial = type.constructors( lambda x: x.is_trivial_constructor and x.access_type == 'public'
+ , recursive=False
+ , allow_empty=True )
+ if trivial:
+ return trivial[0]
else:
return None
def has_trivial_constructor( type ):
- """returns True, if class has trivial constructor, False otherwise"""
- return None != find_trivial_constructor( type )
+ """returns True, if class has public trivial constructor, False otherwise"""
+ if '0.9' in type.compiler:
+ trivial = type.constructors( lambda x: x.is_trivial_constructor
+ , recursive=False
+ , allow_empty=True )
+ if trivial:
+ if trivial[0].access_type == 'public':
+ return True
+ else:
+ return False
+ else:
+ #there is no trivial constructor, so I should find out whether other constructors exist
+ if type.constructors( recursive=False, allow_empty=True ):
+ return False
+ else:
+ return True
+ else:
+ if None != find_trivial_constructor( type ):
+ return True
+ return False
+"""
+Question: Do I have to define a copy constructor and assignment operator?
+
+Answer:
+ C++ implicitly declares a copy constructor and an assignment operator
+ for every class, struct and union unless the user declared them explicitly.
+ A copy constructor isnot implicitly declared if the class has any user-declared
+ constructor(s). Implicitly defined copy constructor and assignment operator
+ are said to be trivial if:
+
+ * their class has no virtual functions and no virtual base class(es)
+ * all direct base classes and nonstatic data members of their class have trivial constructors
+
+ Otherwise, the copy constructor and the assignment operator are non-trivial.
+ Implicitly-declared non-trivial copy constructor and assignment operator are
+ implicitly-defined.
+
+The assignment operator is called "copy assignment operator" in the standard.
+This verbosity doesnot convey any new or hidden meanings. Perhaps it's meant to
+differentiate between the assignment operator of fundamental types and the
+assignment operator member function of class types. In this series I will stick
+to the term assignment operator.
+"""
+
def has_trivial_copy( type):
- """returns True, if class has copy constructor, False otherwise"""
+ """returns True, if class has public copy constructor, False otherwise"""
assert isinstance( type, class_declaration.class_t )
- constructors = filter( lambda x: isinstance( x, calldef.constructor_t ) \
+ if '0.9' in type.compiler:
+ copy_ = type.constructors( lambda x: x.is_copy_constructor
+ , recursive=False
+ , allow_empty=True )
+ if copy_:
+ if copy_[0].access_type == 'public':
+ return True
+ else:
+ return False
+ else:
+ if type.constructors( recursive=False, allow_empty=True ):
+ return False
+ else:
+ return True
+ else:
+ constructors = filter( lambda x: isinstance( x, calldef.constructor_t ) \
and x.is_copy_constructor
, type.public_members )
return bool( constructors )
@@ -378,7 +435,7 @@
, type=calldef.constructor_t
, recursive=False )
constructors = filter( lambda decl: not decl.is_copy_constructor, decls )
- return bool( constructors )
+ return bool( constructors ) or has_trivial_constructor( type )
def has_public_assign(type):
"""returns True, if class has public assign operator, False otherwise"""
@@ -396,7 +453,6 @@
, type=calldef.destructor_t
, recursive=False ) )
-
def is_base_and_derived( based, derived ):
"""returns True, if there is "base and derived" relationship between classes, False otherwise"""
assert isinstance( based, class_declaration.class_t )
@@ -420,7 +476,7 @@
constructors = filter( lambda x: isinstance( x, calldef.constructor_t ) \
and not x.is_copy_constructor
, type.public_members )
- return bool( constructors )
+ return bool( constructors ) or has_trivial_constructor( type )
def has_public_binary_operator( type, operator_symbol ):
"""returns True, if type has public binary operator, otherwise False"""
@@ -860,6 +916,20 @@
if class_.is_abstract:
return True
+ #~ if '0.9' in class_.compiler:
+ #~ #class will be mark as noncopyable if it has private operator assign and
+ #~ #copy constructor
+ #~ #select all non-public members that are copy constructor and operator assign
+ #~ is_noncopyable_query = \
+ #~ matchers.not_matcher_t( matchers.access_type_matcher_t( 'public' ) )\
+ #~ & \
+ #~ ( matchers.custom_matcher_t( lambda decl: isinstance( decl, calldef.constructor_t ) \
+ #~ and decl.is_copy_constructor )
+ #~ | matchers.operator_matcher_t( symbol='=' ) )
+ #~ result = class_.decls( is_noncopyable_query, recursive=False, allow_empty=True )
+ #~ if result:
+ #~ return True
+ #~ else:
elif not has_trivial_copy( class_ ):
return True
elif not has_public_constructor( class_ ):
Modified: pygccxml_dev/unittests/autoconfig.py
===================================================================
--- pygccxml_dev/unittests/autoconfig.py 2007-11-08 23:28:48 UTC (rev 1131)
+++ pygccxml_dev/unittests/autoconfig.py 2007-11-10 22:29:29 UTC (rev 1132)
@@ -20,8 +20,13 @@
gccxml_09_path = os.path.join( this_module_dir_path, '..', '..', 'gccxml_bin', 'v09', sys.platform, 'bin' )
gccxml_path = gccxml_09_path
-gccxml_version = '__GCCXML_09__'
+gccxml_version = '__GCCXML_07__'
+if '09' in gccxml_path:
+ gccxml_version = '__GCCXML_09__'
+
+print 'compiler: ', gccxml_version
+
if sys.platform == 'win32':
compiler = 'msvc71'
Modified: pygccxml_dev/unittests/data/core_cache.hpp
===================================================================
--- pygccxml_dev/unittests/data/core_cache.hpp 2007-11-08 23:28:48 UTC (rev 1131)
+++ pygccxml_dev/unittests/data/core_cache.hpp 2007-11-10 22:29:29 UTC (rev 1132)
@@ -22,4 +22,4 @@
#endif//__core_cache_hpp__
-//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch
\ No newline at end of file
+//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch
\ No newline at end of file
Modified: pygccxml_dev/unittests/data/type_traits.hpp
===================================================================
--- pygccxml_dev/unittests/data/type_traits.hpp 2007-11-08 23:28:48 UTC (rev 1131)
+++ pygccxml_dev/unittests/data/type_traits.hpp 2007-11-10 22:29:29 UTC (rev 1132)
@@ -79,17 +79,11 @@
}
namespace yes{
- typedef detail::x x;
-#ifdef __GCCXML_09__
- typedef detail::y_type y_type;
-#endif//__GCCXML_09__
-
+ typedef detail::x x;
}
namespace no{
typedef std::string string_type;
-#ifdef __GCCXML_07__
typedef detail::y_type y_type;
-#endif//__GCCXML_07__
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rom...@us...> - 2007-11-08 23:28:47
|
Revision: 1131
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1131&view=rev
Author: roman_yakovenko
Date: 2007-11-08 15:28:48 -0800 (Thu, 08 Nov 2007)
Log Message:
-----------
updating unittests:
* adding functionality that runs every tester in different process
* changing default gccxml location
Modified Paths:
--------------
pyplusplus_dev/environment.py
pyplusplus_dev/unittests/autoconfig.py
pyplusplus_dev/unittests/data/member_variables_to_be_exported.hpp
pyplusplus_dev/unittests/test_all.py
Modified: pyplusplus_dev/environment.py
===================================================================
--- pyplusplus_dev/environment.py 2007-11-08 23:24:24 UTC (rev 1130)
+++ pyplusplus_dev/environment.py 2007-11-08 23:28:48 UTC (rev 1131)
@@ -2,6 +2,8 @@
import sys
import getpass
+this_module_dir_path = os.path.abspath ( os.path.dirname( sys.modules[__name__].__file__) )
+
class boost:
libs = ''
include = ''
@@ -11,8 +13,14 @@
include = ''
class gccxml:
- executable = ''
+ gccxml_07_path = os.path.join( this_module_dir_path, '..', 'gccxml_bin', 'v07', sys.platform, 'bin' )
+ gccxml_09_path = os.path.join( this_module_dir_path, '..', 'gccxml_bin', 'v09', sys.platform, 'bin' )
+ gccxml_path = gccxml_09_path
+ gccxml_version = '__GCCXML_09__'
+
+ executable = gccxml_path
+
class scons:
suffix = ''
cmd_build = ''
@@ -31,13 +39,11 @@
boost.include = 'd:/dev/boost_cvs'
python.libs = 'e:/python25/libs'
python.include = 'e:/python25/include'
- gccxml.executable = r'd:/dev/gccxml_cvs/gccxml-bin/bin/release/gccxml.exe'
else:
scons.suffix = '.so'
boost.libs = ['/home/roman/boost_cvs/libs/python/build/bin-stage' ]
boost.include = '/home/roman/boost_cvs'
python.include = '/usr/include/python2.4'
- gccxml.executable = '/home/roman/gccxml/bin/gccxml'
_my_path = None
Modified: pyplusplus_dev/unittests/autoconfig.py
===================================================================
--- pyplusplus_dev/unittests/autoconfig.py 2007-11-08 23:24:24 UTC (rev 1130)
+++ pyplusplus_dev/unittests/autoconfig.py 2007-11-08 23:28:48 UTC (rev 1131)
@@ -11,11 +11,14 @@
#__pychecker__ = 'limit=1000'
#import pychecker.checker
+this_module_dir_path = os.path.abspath ( os.path.dirname( sys.modules[__name__].__file__) )
-build_dir = os.path.abspath( os.path.join( os.curdir, 'temp' ) )
-data_directory = os.path.abspath( os.path.join( os.curdir, 'data' ) )
-sys.path.append( os.path.join( os.curdir, '..' ) )
+data_directory = os.path.join( this_module_dir_path, 'data' )
+build_directory = os.path.join( this_module_dir_path, 'temp' )
+build_dir = build_directory
+sys.path.append( os.path.dirname( this_module_dir_path ) )
+
from environment import scons, boost, python, gccxml
class scons_config:
Modified: pyplusplus_dev/unittests/data/member_variables_to_be_exported.hpp
===================================================================
--- pyplusplus_dev/unittests/data/member_variables_to_be_exported.hpp 2007-11-08 23:24:24 UTC (rev 1130)
+++ pyplusplus_dev/unittests/data/member_variables_to_be_exported.hpp 2007-11-08 23:28:48 UTC (rev 1131)
@@ -34,6 +34,7 @@
const color prefered_color;
static int instance_count;
static const color default_color;
+ static const point zero_point;
};
struct bit_fields_t{
Modified: pyplusplus_dev/unittests/test_all.py
===================================================================
--- pyplusplus_dev/unittests/test_all.py 2007-11-08 23:24:24 UTC (rev 1130)
+++ pyplusplus_dev/unittests/test_all.py 2007-11-08 23:28:48 UTC (rev 1131)
@@ -2,9 +2,14 @@
# Distributed under the Boost Software License, Version 1.0. (See
# accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import re
import sys
-import unittest
+import time
+import autoconfig
+
import classes_tester
import abstract_classes_tester
import algorithms_tester
@@ -74,93 +79,160 @@
import exposed_decls_db_tester
import already_exposed_tester
-def create_suite(times):
- testers = [
- algorithms_tester
- , module_body_tester
- , enums_tester
- , free_functions_tester
- , unnamed_enums_tester
- , namespaces_tester
- , classes_tester
- , global_variables_tester
- , member_variables_tester
- , member_functions_tester
- , call_policies_tester
- , pointer_to_function_as_argument
- , operators_tester
- , abstract_tester
- , statics_tester
- , regression1_tester
- , casting_tester
- , finalizables_tester
- , free_operators_tester
- , operators_bug_tester
- , smart_pointers_tester
- , special_operators_tester
- , module_properties_tester
- , internal_classes_tester
- , temporary_variable_tester
- , recursive_tester
- , class_order_tester
- , noncopyable_tester
- , regression2_tester
- , regression3_tester
- , class_order2_tester
- , class_order3_tester
- , class_order4_tester
- , optional_tester
- , index_operator_tester
- , dwrapper_printer_tester
- , mdecl_wrapper_tester
- , user_text_tester
- , free_function_ignore_bug_tester
- , optional_bug_tester
- , pointer_as_arg_tester
- , factory_tester
- , private_assign_tester
- , protected_tester
- , indexing_suites_tester
- , hierarchy3_tester
- , vector3_tester
- , default_args_tester
- , abstract_classes_tester
- , indexing_suites2_tester
- , unnamed_classes_tester
- , cppexceptions_tester
- , no_init_tester
- , overloads_macro_tester
- , split_module_tester
- , properties_tester
- , arrays_bug_tester
- , convenience_tester
- , inner_class_bug_tester
- , declarations_order_bug_tester
- , function_transformations_tester
- , throw_tester
- , duplicate_aliases_tester
- , non_overridable_tester
- , exposed_decls_db_tester
- , already_exposed_tester
- ]
+testers = [
+ algorithms_tester
+ , module_body_tester
+ , enums_tester
+ , free_functions_tester
+ , unnamed_enums_tester
+ , namespaces_tester
+ , classes_tester
+ , global_variables_tester
+ , member_variables_tester
+ , member_functions_tester
+ , call_policies_tester
+ , pointer_to_function_as_argument
+ , operators_tester
+ , abstract_tester
+ , statics_tester
+ , regression1_tester
+ , casting_tester
+ , finalizables_tester
+ , free_operators_tester
+ , operators_bug_tester
+ , smart_pointers_tester
+ , special_operators_tester
+ , module_properties_tester
+ , internal_classes_tester
+ , temporary_variable_tester
+ , recursive_tester
+ , class_order_tester
+ , noncopyable_tester
+ , regression2_tester
+ , regression3_tester
+ , class_order2_tester
+ , class_order3_tester
+ , class_order4_tester
+ , optional_tester
+ , index_operator_tester
+ , dwrapper_printer_tester
+ , mdecl_wrapper_tester
+ , user_text_tester
+ , free_function_ignore_bug_tester
+ , optional_bug_tester
+ , pointer_as_arg_tester
+ , factory_tester
+ , private_assign_tester
+ , protected_tester
+ , indexing_suites_tester
+ , hierarchy3_tester
+ , vector3_tester
+ , default_args_tester
+ , abstract_classes_tester
+ , indexing_suites2_tester
+ , unnamed_classes_tester
+ , cppexceptions_tester
+ , no_init_tester
+ , overloads_macro_tester
+ , split_module_tester
+ , properties_tester
+ , arrays_bug_tester
+ , convenience_tester
+ , inner_class_bug_tester
+ , declarations_order_bug_tester
+ , function_transformations_tester
+ , throw_tester
+ , duplicate_aliases_tester
+ , non_overridable_tester
+ , exposed_decls_db_tester
+ , already_exposed_tester
+]
- main_suite = unittest.TestSuite()
- for i in range( times ):
- for tester in testers:
- main_suite.addTest( tester.create_suite() )
+class process_tester_runner_t( object ):
+
+ class module_stat_t( object ):
+ bottom_line_re = re.compile( 'Ran\s(?P<num_of_tests>\d+)\stests?\sin\s(?P<seconds>\d+\.?\d*)s')
+ test_name_re = re.compile( '(?P<name>.+ \(.+\))\s\.\.\.' )
+ failed_test_re = re.compile( '(FAIL|ERROR)\:\s(?P<name>.+ \(.+\))' )
+
+ def __init__( self, module, output, exit_status ):
+ self.module = module
+ self.output = output
+
+ self.test_results = {} #test name : result
+ self.num_of_tests = 0
+ self.total_run_time = 0
+ self.exit_status = exit_status
- return main_suite
+ self.__update()
-def run_suite(times=1):
- return unittest.TextTestRunner(verbosity=2).run( create_suite(times) ).wasSuccessful
+ def __update( self ):
+ match_found = self.bottom_line_re.search( self.output )
+ if match_found:
+ self.num_of_tests += int( match_found.group( 'num_of_tests' ) )
+ self.total_run_time += float( match_found.group( 'seconds' ) )
+
+ for match_found in self.test_name_re.finditer( self.output ):
+ self.test_results[ match_found.group( 'name' ) ] = 'ok'
+
+ for match_found in self.failed_test_re.finditer( self.output ):
+ self.test_results[ match_found.group( 'name' ) ] = 'FAIL'
+ assert( self.num_of_tests == len( self.test_results ) )
+
+ def __init__( self, modules ):
+ self.__modules = modules
+ self.__statistics = []
+ self.__total_time = 0
+
+ def __run_single( self, module ):
+ command_line = ' '.join([ sys.executable, module.__file__[:-1] ]) #pyc -> py
+ input_, output = os.popen4( command_line )
+ input_.close()
+ report = []
+ while True:
+ data = output.readline()
+ report.append( data )
+ if not data:
+ break
+ else:
+ print data,
+ exit_status = output.close()
+ self.__statistics.append( self.module_stat_t( module, ''.join( report ), exit_status ) )
+
+ def __dump_statistics( self ):
+ num_of_tests = 0
+ test_results = {}
+ total_tests_only_run_time = 0
+ for stat in self.__statistics:
+ num_of_tests += stat.num_of_tests
+ total_tests_only_run_time += stat.total_run_time
+ test_results.update( stat.test_results )
+
+ test_failed = len( filter( lambda result: result != 'ok', test_results.values() ) )
+
+ for name, result in test_results.iteritems():
+ if result != 'ok':
+ print '! ',
+ print name, ' - ', result
+ print '----------------------------------------------------------------------'
+ print 'Ran %d test in %fs. Multi-processing overhead: %fs.' \
+ % ( num_of_tests, self.__total_time, self.__total_time - total_tests_only_run_time )
+ print ' '
+ if test_failed:
+ print os.linesep.join(['FAILED (failures=%d)' % test_failed, 'False'])
+ else:
+ print 'ok'
+
+ def __call__( self ):
+ start_time = time.time()
+ for m in self.__modules:
+ self.__run_single( m )
+ self.__total_time = time.time() - start_time
+ self.__dump_statistics()
+
+
if __name__ == "__main__":
- times = 1
- if len(sys.argv) > 1:
- try:
- times = int( sys.argv[1] )
- except Exception, error:
- print str( error )
- print 'first argument should be integer, it says how many times to run tests.'
+ runner = process_tester_runner_t( testers )
+ runner()
- run_suite(times)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rom...@us...> - 2007-11-08 23:26:21
|
Revision: 1130
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1130&view=rev
Author: roman_yakovenko
Date: 2007-11-08 15:24:24 -0800 (Thu, 08 Nov 2007)
Log Message:
-----------
updating unittests
Modified Paths:
--------------
pygccxml_dev/unittests/autoconfig.py
pygccxml_dev/unittests/data/core_cache.hpp
pygccxml_dev/unittests/declarations_cache_tester.py
pygccxml_dev/unittests/dependencies_tester.py
pygccxml_dev/unittests/filters_tester.py
pygccxml_dev/unittests/test_all.py
Modified: pygccxml_dev/unittests/autoconfig.py
===================================================================
--- pygccxml_dev/unittests/autoconfig.py 2007-11-07 21:24:58 UTC (rev 1129)
+++ pygccxml_dev/unittests/autoconfig.py 2007-11-08 23:24:24 UTC (rev 1130)
@@ -10,12 +10,14 @@
#__pychecker__ = 'limit=1000'
#import pychecker.checker
+this_module_dir_path = os.path.abspath ( os.path.dirname( sys.modules[__name__].__file__) )
+
compiler = None
-data_directory = os.path.abspath( os.path.join( os.curdir, 'data' ) )
-build_dir = os.path.abspath( os.path.join( os.curdir, 'temp' ) )
+data_directory = os.path.join( this_module_dir_path, 'data' )
+build_directory = os.path.join( this_module_dir_path, 'temp' )
-gccxml_07_path = os.path.abspath( os.path.join( '..', '..', 'gccxml_bin', 'v07', sys.platform, 'bin' ) )
-gccxml_09_path = os.path.abspath( os.path.join( '..', '..', 'gccxml_bin', 'v09', sys.platform, 'bin' ) )
+gccxml_07_path = os.path.join( this_module_dir_path, '..', '..', 'gccxml_bin', 'v07', sys.platform, 'bin' )
+gccxml_09_path = os.path.join( this_module_dir_path, '..', '..', 'gccxml_bin', 'v09', sys.platform, 'bin' )
gccxml_path = gccxml_09_path
gccxml_version = '__GCCXML_09__'
Modified: pygccxml_dev/unittests/data/core_cache.hpp
===================================================================
--- pygccxml_dev/unittests/data/core_cache.hpp 2007-11-07 21:24:58 UTC (rev 1129)
+++ pygccxml_dev/unittests/data/core_cache.hpp 2007-11-08 23:24:24 UTC (rev 1130)
@@ -22,4 +22,4 @@
#endif//__core_cache_hpp__
-//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch
\ No newline at end of file
+//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch
\ No newline at end of file
Modified: pygccxml_dev/unittests/declarations_cache_tester.py
===================================================================
--- pygccxml_dev/unittests/declarations_cache_tester.py 2007-11-07 21:24:58 UTC (rev 1129)
+++ pygccxml_dev/unittests/declarations_cache_tester.py 2007-11-08 23:24:24 UTC (rev 1130)
@@ -12,8 +12,8 @@
class decl_cache_tester(unittest.TestCase):
def __init__(self, *args ):
unittest.TestCase.__init__(self, *args)
- if not os.path.exists( autoconfig.build_dir ):
- os.makedirs( autoconfig.build_dir )
+ if not os.path.exists( autoconfig.build_directory ):
+ os.makedirs( autoconfig.build_directory )
def test_file_signature(self):
file1 = os.path.join(autoconfig.data_directory, 'decl_cache_file1.txt')
@@ -47,7 +47,7 @@
self.assert_(configuration_signature(ignore_changed) == def_sig)
def test_cache_interface(self):
- cache_file = os.path.join(autoconfig.build_dir, 'decl_cache_test.test_cache_read.cache')
+ cache_file = os.path.join(autoconfig.build_directory, 'decl_cache_test.test_cache_read.cache')
file1 = os.path.join(autoconfig.data_directory, 'decl_cache_file1.txt')
file1_dup = os.path.join(autoconfig.data_directory, 'decl_cache_file1_duplicate.txt')
file2 = os.path.join(autoconfig.data_directory, 'decl_cache_file2.txt')
@@ -146,4 +146,4 @@
unittest.TextTestRunner(verbosity=2).run( create_suite() )
if __name__ == "__main__":
- run_suite()
\ No newline at end of file
+ run_suite()
Modified: pygccxml_dev/unittests/dependencies_tester.py
===================================================================
--- pygccxml_dev/unittests/dependencies_tester.py 2007-11-07 21:24:58 UTC (rev 1129)
+++ pygccxml_dev/unittests/dependencies_tester.py 2007-11-08 23:24:24 UTC (rev 1130)
@@ -42,7 +42,10 @@
cls = ns_vars.class_( 'struct_variables_t' )
dependencies = cls.i_depend_on_them()
- self.failUnless( len(dependencies) == 2 ) #compiler generated copy constructor
+ if '0.9' in cls.compiler:
+ self.failUnless( len(dependencies) == 1 )
+ else:
+ self.failUnless( len(dependencies) == 2 ) #compiler generated copy constructor
m_mutable = ns_vars.variable( 'm_mutable' )
dependencies = filter( lambda dependency: dependency.declaration is m_mutable
Modified: pygccxml_dev/unittests/filters_tester.py
===================================================================
--- pygccxml_dev/unittests/filters_tester.py 2007-11-07 21:24:58 UTC (rev 1129)
+++ pygccxml_dev/unittests/filters_tester.py 2007-11-08 23:24:24 UTC (rev 1130)
@@ -32,15 +32,24 @@
def test_access_type( self ):
criteria = declarations.access_type_matcher_t( declarations.ACCESS_TYPES.PUBLIC )
public_members = declarations.matcher.find( criteria, self.declarations )
- self.failUnless( 19 == len( public_members ) )
+ if '0.9' in public_members[0].compiler:
+ #2 empty classes, this compiler doesn't generate constructor and copy constructor
+ self.failUnless( 15 == len( public_members ) )
+ else:
+ self.failUnless( 19 == len( public_members ) )
def test_or_matcher( self ):
criteria1 = declarations.regex_matcher_t( 'oper.*'
, lambda decl: decl.name )
criteria2 = declarations.access_type_matcher_t( declarations.ACCESS_TYPES.PUBLIC )
found = declarations.matcher.find( criteria1 | criteria2, self.declarations )
- self.failUnless( 19 <= len( found ) <= 25 )
+ if '0.9' in found[0].compiler:
+ #2 empty classes, this compiler doesn't generate constructor and copy constructor
+ self.failUnless( 15 <= len( found ) <= 21)
+ else:
+ self.failUnless( 19 <= len( found ) <= 25)
+
def test_and_matcher( self ):
criteria1 = declarations.regex_matcher_t( 'oper.*'
, lambda decl: decl.name )
@@ -63,4 +72,4 @@
unittest.TextTestRunner(verbosity=2).run( create_suite() )
if __name__ == "__main__":
- run_suite()
\ No newline at end of file
+ run_suite()
Modified: pygccxml_dev/unittests/test_all.py
===================================================================
--- pygccxml_dev/unittests/test_all.py 2007-11-07 21:24:58 UTC (rev 1129)
+++ pygccxml_dev/unittests/test_all.py 2007-11-08 23:24:24 UTC (rev 1130)
@@ -3,7 +3,9 @@
# accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
+import sys
import unittest
+
import decl_string_tester
import declaration_files_tester
import declarations_comparison_tester
@@ -46,55 +48,54 @@
import attributes_tester
import type_as_exception_bug_tester
+testers = [
+ decl_string_tester
+ , declaration_files_tester
+ , declarations_comparison_tester
+ , declarations_tester
+ , file_cache_tester
+ , gccxml_runner_tester
+ , project_reader_correctness_tester
+ , source_reader_tester
+ , start_with_declarations_tester
+ , templates_tester
+ , type_traits_tester
+ , core_tester
+ , xmlfile_reader_tester
+ , filtering_tester
+ , text_reader_tester
+ , hierarchy_traveling
+ , patcher_tester
+ , call_invocation_tester
+ , bit_fields_tester
+ , complex_types_tester
+ , cached_source_file_tester
+ , variable_matcher_tester
+ , namespace_matcher_tester
+ , calldef_matcher_tester
+ , filters_tester
+ , cache_enums_tester
+ , decl_printer_tester
+ , typedefs_tester
+ , demangled_tester
+ , unnamed_enums_bug_tester
+ , vector_traits_tester
+ , string_traits_tester
+ , declarations_cache_tester
+ , has_binary_operator_traits_tester
+ , algorithms_cache_tester
+ , dependencies_tester
+ , free_operators_tester
+ , remove_template_defaults_tester
+ , find_container_traits_tester
+ , attributes_tester
+ , type_as_exception_bug_tester
+]
+
def create_suite():
- testers = [
- decl_string_tester
- , declaration_files_tester
- , declarations_comparison_tester
- , declarations_tester
- , file_cache_tester
- , gccxml_runner_tester
- , project_reader_correctness_tester
- , source_reader_tester
- , start_with_declarations_tester
- , templates_tester
- , type_traits_tester
- , core_tester
- , xmlfile_reader_tester
- , filtering_tester
- , text_reader_tester
- , hierarchy_traveling
- , patcher_tester
- , call_invocation_tester
- , bit_fields_tester
- , complex_types_tester
- , cached_source_file_tester
- , variable_matcher_tester
- , namespace_matcher_tester
- , calldef_matcher_tester
- , filters_tester
- , cache_enums_tester
- , decl_printer_tester
- , typedefs_tester
- , demangled_tester
- , unnamed_enums_bug_tester
- , vector_traits_tester
- , string_traits_tester
- , declarations_cache_tester
- , has_binary_operator_traits_tester
- , algorithms_cache_tester
- , dependencies_tester
- , free_operators_tester
- , remove_template_defaults_tester
- , find_container_traits_tester
- , attributes_tester
- , type_as_exception_bug_tester
- ]
-
main_suite = unittest.TestSuite()
for tester in testers:
main_suite.addTest( tester.create_suite() )
-
return main_suite
def run_suite():
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rom...@us...> - 2007-11-07 21:24:53
|
Revision: 1129
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1129&view=rev
Author: roman_yakovenko
Date: 2007-11-07 13:24:58 -0800 (Wed, 07 Nov 2007)
Log Message:
-----------
testing GCCXML 0.9 related changes
Modified Paths:
--------------
pygccxml_dev/unittests/autoconfig.py
pygccxml_dev/unittests/cache_enums_tester.py
pygccxml_dev/unittests/data/core_cache.hpp
pygccxml_dev/unittests/data/type_traits.hpp
pygccxml_dev/unittests/declarations_tester.py
pygccxml_dev/unittests/demangled_tester.py
pygccxml_dev/unittests/patcher_tester.py
Modified: pygccxml_dev/unittests/autoconfig.py
===================================================================
--- pygccxml_dev/unittests/autoconfig.py 2007-11-07 21:24:10 UTC (rev 1128)
+++ pygccxml_dev/unittests/autoconfig.py 2007-11-07 21:24:58 UTC (rev 1129)
@@ -11,17 +11,18 @@
#import pychecker.checker
compiler = None
-gccxml_path = ''
data_directory = os.path.abspath( os.path.join( os.curdir, 'data' ) )
build_dir = os.path.abspath( os.path.join( os.curdir, 'temp' ) )
-if 'roman' in getpass.getuser():
- if sys.platform == 'win32':
- compiler = 'msvc71'
- gccxml_path = r'D:/dev/gccxml/gccxml.exe'
- else:
- gccxml_path = '/home/roman/gccxml/bin/gccxml'
+gccxml_07_path = os.path.abspath( os.path.join( '..', '..', 'gccxml_bin', 'v07', sys.platform, 'bin' ) )
+gccxml_09_path = os.path.abspath( os.path.join( '..', '..', 'gccxml_bin', 'v09', sys.platform, 'bin' ) )
+gccxml_path = gccxml_09_path
+gccxml_version = '__GCCXML_09__'
+
+if sys.platform == 'win32':
+ compiler = 'msvc71'
+
try:
import pygccxml
print 'unittests will run on INSTALLED version'
@@ -35,6 +36,7 @@
class cxx_parsers_cfg:
gccxml = pygccxml.parser.gccxml_configuration_t( gccxml_path=gccxml_path
, working_directory=data_directory
+ , define_symbols=[ gccxml_version ]
, compiler=compiler )
synopsis = pygccxml.parser.synopsis_configuration_t( working_directory=data_directory )
Modified: pygccxml_dev/unittests/cache_enums_tester.py
===================================================================
--- pygccxml_dev/unittests/cache_enums_tester.py 2007-11-07 21:24:10 UTC (rev 1128)
+++ pygccxml_dev/unittests/cache_enums_tester.py 2007-11-07 21:24:58 UTC (rev 1129)
@@ -38,8 +38,9 @@
color2 = declarations.matcher.get_single( enum_matcher, decls2 )
self.failUnless( color1.values == color2.values )
-class synopsis_tester_t( tester_impl_t ):
- CXX_PARSER_CFG = autoconfig.cxx_parsers_cfg.synopsis
+#there is no progress with this parser
+#class synopsis_tester_t( tester_impl_t ):
+# CXX_PARSER_CFG = autoconfig.cxx_parsers_cfg.synopsis
class gccxml_tester_t( tester_impl_t ):
CXX_PARSER_CFG = autoconfig.cxx_parsers_cfg.gccxml
@@ -47,7 +48,7 @@
def create_suite():
suite = unittest.TestSuite()
- suite.addTest( unittest.makeSuite(synopsis_tester_t))
+ #suite.addTest( unittest.makeSuite(synopsis_tester_t))
suite.addTest( unittest.makeSuite(gccxml_tester_t))
return suite
Modified: pygccxml_dev/unittests/data/core_cache.hpp
===================================================================
--- pygccxml_dev/unittests/data/core_cache.hpp 2007-11-07 21:24:10 UTC (rev 1128)
+++ pygccxml_dev/unittests/data/core_cache.hpp 2007-11-07 21:24:58 UTC (rev 1129)
@@ -22,4 +22,4 @@
#endif//__core_cache_hpp__
-//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch
\ No newline at end of file
+//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch
\ No newline at end of file
Modified: pygccxml_dev/unittests/data/type_traits.hpp
===================================================================
--- pygccxml_dev/unittests/data/type_traits.hpp 2007-11-07 21:24:10 UTC (rev 1128)
+++ pygccxml_dev/unittests/data/type_traits.hpp 2007-11-07 21:24:58 UTC (rev 1129)
@@ -1,3 +1,4 @@
+
// Copyright 2004 Roman Yakovenko.
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
@@ -79,10 +80,16 @@
namespace yes{
typedef detail::x x;
+#ifdef __GCCXML_09__
+ typedef detail::y_type y_type;
+#endif//__GCCXML_09__
+
}
namespace no{
typedef std::string string_type;
+#ifdef __GCCXML_07__
typedef detail::y_type y_type;
+#endif//__GCCXML_07__
}
}
Modified: pygccxml_dev/unittests/declarations_tester.py
===================================================================
--- pygccxml_dev/unittests/declarations_tester.py 2007-11-07 21:24:10 UTC (rev 1128)
+++ pygccxml_dev/unittests/declarations_tester.py 2007-11-07 21:24:58 UTC (rev 1129)
@@ -47,9 +47,16 @@
def test_variables(self):
variables = self.global_ns.namespace( 'variables' )
initialized = self.global_ns.variable( name='initialized' )
- self.failUnless( initialized.value == '10122004'
+
+ expected_value = None
+ if '0.9' in initialized.compiler:
+ expected_value = '10122004ul'
+ else:
+ expected_value = '10122004'
+
+ self.failUnless( initialized.value == expected_value
, "there is a difference between expected value( %s ) and real value(%s) of 'initialized' variable" \
- % ( '10122004', initialized.value ) )
+ % ( expected_value, initialized.value ) )
self._test_type_composition( initialized.type, const_t, long_unsigned_int_t )
static_var = initialized = self.global_ns.variable( name='static_var' )
@@ -173,4 +180,4 @@
unittest.TextTestRunner(verbosity=2).run( create_suite() )
if __name__ == "__main__":
- run_suite()
\ No newline at end of file
+ run_suite()
Modified: pygccxml_dev/unittests/demangled_tester.py
===================================================================
--- pygccxml_dev/unittests/demangled_tester.py 2007-11-07 21:24:10 UTC (rev 1128)
+++ pygccxml_dev/unittests/demangled_tester.py 2007-11-07 21:24:58 UTC (rev 1129)
@@ -35,8 +35,12 @@
def test( self ):
demangled = self.global_ns.namespace( 'demangled' )
if 32 == self.architecture:
- cls = demangled.class_( 'item_t<3740067437l, 11l, 2147483648l>' )
- self.failUnless( cls._name == 'item_t<0x0deece66d,11,0x080000000>' )
+ if '0.9' in demangled.compiler:
+ cls = demangled.class_( 'item_t<3740067437ul, 11ul, 2147483648ul>' )
+ self.failUnless( cls._name == 'item_t<-554899859ul,11ul,-2147483648ul>' )
+ else:
+ cls = demangled.class_( 'item_t<3740067437l, 11l, 2147483648l>' )
+ self.failUnless( cls._name == 'item_t<0x0deece66d,11,0x080000000>' )
else:
cls = demangled.class_( "item_t<25214903917l, 11l, 2147483648l>" )
self.failUnless( cls._name == 'item_t<25214903917,11,2147483648>' )
@@ -67,4 +71,4 @@
unittest.TextTestRunner(verbosity=2).run( create_suite() )
if __name__ == "__main__":
- run_suite()
\ No newline at end of file
+ run_suite()
Modified: pygccxml_dev/unittests/patcher_tester.py
===================================================================
--- pygccxml_dev/unittests/patcher_tester.py 2007-11-07 21:24:10 UTC (rev 1128)
+++ pygccxml_dev/unittests/patcher_tester.py 2007-11-07 21:24:58 UTC (rev 1129)
@@ -27,7 +27,10 @@
def test_numeric_patcher(self):
fix_numeric = self.global_ns.free_fun( 'fix_numeric' )
if 32 == self.architecture:
- self.failUnless( fix_numeric.arguments[0].default_value == u"0xffffffffffffffff" )
+ if '0.9' in fix_numeric.compiler:
+ self.failUnless( fix_numeric.arguments[0].default_value == u"0xffffffffffffffffu" )
+ else:
+ self.failUnless( fix_numeric.arguments[0].default_value == u"0xffffffffffffffff" )
else:
self.failUnless( fix_numeric.arguments[0].default_value == u"0ffffffff" )
@@ -37,7 +40,10 @@
def test_function_call_patcher(self):
fix_function_call = self.global_ns.free_fun( 'fix_function_call' )
- self.failUnless( fix_function_call.arguments[0].default_value == u"function_call::calc( 1, 2, 3 )" )
+ if '0.9' in fix_function_call.compiler:
+ self.failUnless( fix_function_call.arguments[0].default_value == u"function_call::calc(1, 2, 3)" )
+ else:
+ self.failUnless( fix_function_call.arguments[0].default_value == u"function_call::calc( 1, 2, 3 )" )
def test_fundamental_patcher(self):
fcall = self.global_ns.free_fun( 'fix_fundamental' )
@@ -45,13 +51,21 @@
def test_constructor_patcher(self):
typedef__func = self.global_ns.free_fun( 'typedef__func' )
- self.failUnless( typedef__func.arguments[0].default_value == u"::typedef_::alias( )" )
+ if '0.9' in typedef__func.compiler:
+ self.failUnless( typedef__func.arguments[0].default_value == u"typedef_::original_name()" )
+ else:
+ self.failUnless( typedef__func.arguments[0].default_value == u"::typedef_::alias( )" )
if 32 == self.architecture:
clone_tree = self.global_ns.free_fun( 'clone_tree' )
- default_values = [
- 'vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >()'
- , 'vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >((&allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >()))'
- ]
+ default_values = []
+ if '0.9' in clone_tree.compiler:
+ default_values = [
+ ]
+ else:
+ default_values = [
+ 'vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >()'
+ , 'vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >((&allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >()))'
+ ]
self.failUnless( clone_tree.arguments[0].default_value in default_values)
class tester_32_t( tester_impl_t ):
@@ -59,7 +73,6 @@
def __init__(self, *args):
tester_impl_t.__init__(self, 32, *args)
-
def setUp( self ):
if not tester_32_t.global_ns:
reader = parser.source_reader_t( self.config )
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rom...@us...> - 2007-11-07 21:24:10
|
Revision: 1128
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1128&view=rev
Author: roman_yakovenko
Date: 2007-11-07 13:24:10 -0800 (Wed, 07 Nov 2007)
Log Message:
-----------
adding support for GCCXML 0.9
Modified Paths:
--------------
pygccxml_dev/pygccxml/parser/linker.py
pygccxml_dev/pygccxml/parser/patcher.py
pygccxml_dev/pygccxml/parser/scanner.py
Modified: pygccxml_dev/pygccxml/parser/linker.py
===================================================================
--- pygccxml_dev/pygccxml/parser/linker.py 2007-11-07 18:33:13 UTC (rev 1127)
+++ pygccxml_dev/pygccxml/parser/linker.py 2007-11-07 21:24:10 UTC (rev 1128)
@@ -19,6 +19,12 @@
self.__files = files
self.__inst = None
+ self.__compiler = None
+ if self.__decls:
+ for d in self.__decls.itervalues():
+ self.__compiler = d.compiler
+ break
+
def _get_inst(self):
return self.__inst
def _set_inst(self, inst):
@@ -40,7 +46,7 @@
else:
return unknown_t()
- def __link_compound_type(self):
+ def __link_compound_type(self):
self.__inst.base = self.__link_type( self.__inst.base )
def __link_members(self):
@@ -229,7 +235,13 @@
self.__link_compound_type()
def visit_pointer( self ):
- self.__link_compound_type()
+ if '0.9' in self.__compiler and isinstance( self.__inst.base, member_variable_type_t ):
+ original_inst = self.__inst
+ self.__inst = self.__inst.base
+ self.visit_member_variable_type()
+ self.__inst = original_inst
+ else:
+ self.__link_compound_type()
def visit_reference( self ):
self.__link_compound_type()
Modified: pygccxml_dev/pygccxml/parser/patcher.py
===================================================================
--- pygccxml_dev/pygccxml/parser/patcher.py 2007-11-07 18:33:13 UTC (rev 1127)
+++ pygccxml_dev/pygccxml/parser/patcher.py 2007-11-07 21:24:10 UTC (rev 1128)
@@ -132,6 +132,8 @@
return call_invocation.join( dv[:found1[0]], args2 )
def __is_constructor_call( self, func, arg ):
+ #if '0.9' in func.compiler:
+ # return False
call_invocation = declarations.call_invocation
dv = arg.default_value
if not call_invocation.is_call_invocation( dv ):
@@ -184,4 +186,4 @@
default_arg_patcher( decl )
if isinstance( decl, declarations.casting_operator_t):
_casting_oper_patcher_( decl )
-
+
\ No newline at end of file
Modified: pygccxml_dev/pygccxml/parser/scanner.py
===================================================================
--- pygccxml_dev/pygccxml/parser/scanner.py 2007-11-07 18:33:13 UTC (rev 1127)
+++ pygccxml_dev/pygccxml/parser/scanner.py 2007-11-07 21:24:10 UTC (rev 1128)
@@ -308,7 +308,8 @@
size = self.__guess_int_value( attrs.get(XML_AN_MAX, '' ) )
if size is None:
size = array_t.SIZE_UNKNOWN
- warnings.warn( 'unable to find out array size from expression "%s"' % attrs[ XML_AN_MAX ] )
+ msg = 'unable to find out array size from expression "%s"' % attrs[ XML_AN_MAX ]
+ warnings.warn( msg )
return array_t( type_, size + 1 )
def __read_cv_qualified_type( self, attrs ):
@@ -339,7 +340,10 @@
def __read_offset_type( self,attrs ):
base = attrs[ XML_AN_BASE_TYPE ]
type_ = attrs[ XML_AN_TYPE ]
- return member_variable_type_t( class_inst=base, variable_type=type_ )
+ if '0.9' in self.__compiler:
+ return pointer_t( member_variable_type_t( class_inst=base, variable_type=type_ ) )
+ else:
+ return member_variable_type_t( class_inst=base, variable_type=type_ )
def __read_argument( self, attrs ):
if isinstance( self.__inst, calldef_type_t ):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rom...@us...> - 2007-11-07 18:33:15
|
Revision: 1127
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1127&view=rev
Author: roman_yakovenko
Date: 2007-11-07 10:33:13 -0800 (Wed, 07 Nov 2007)
Log Message:
-----------
adding another set of differences between gccxml's
Added Paths:
-----------
pygccxml_dev/gccxml-0.9-upgrade/default_args.7.xml
pygccxml_dev/gccxml-0.9-upgrade/default_args.9.xml
pygccxml_dev/gccxml-0.9-upgrade/default_args.h
pygccxml_dev/gccxml-0.9-upgrade/default_args.h.diff
Added: pygccxml_dev/gccxml-0.9-upgrade/default_args.7.xml
===================================================================
--- pygccxml_dev/gccxml-0.9-upgrade/default_args.7.xml (rev 0)
+++ pygccxml_dev/gccxml-0.9-upgrade/default_args.7.xml 2007-11-07 18:33:13 UTC (rev 1127)
@@ -0,0 +1,8684 @@
+<?xml version="1.0"?>
+<GCC_XML cvs_revision="1.114">
+ <Namespace id="_1" name="::" members="_3 _4 _5 _7 _8 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 _26 _28 _29 _30 _31 _33 _34 _35 _36 _38 _39 _40 _42 _43 _44 _45 _47 _48 _49 _50 _51 _52 _53 _54 _55 _56 _57 _58 _59 _60 _61 _62 _63 _64 _65 _66 _67 _68 _69 _70 _71 _72 _73 _74 _75 _76 _77 _78 _79 _80 _81 _82 _83 _84 _85 _86 _87 _88 _89 _90 _91 _92 _93 _94 _95 _96 _97 _98 _99 _100 _101 _102 _103 _104 _105 _106 _107 _108 _109 _110 _111 _112 _113 _114 _115 _116 _117 _118 _119 _120 _121 _122 _123 _124 _125 _126 _127 _128 _129 _130 _131 _132 _133 _134 _135 _136 _137 _138 _139 _140 _141 _142 _143 _144 _145 _146 _147 _148 _149 _150 _151 _153 _154 _155 _156 _157 _158 _159 _160 _161 _162 _163 _164 _165 _166 _167 _168 _169 _170 _171 _172 _173 _174 _175 _176 _177 _178 _179 _180 _181 _182 _183 _184 _185 _186 _187 _188 _189 _190 _191 _192 _193 _194 _195 _196 _197 _198 _199 _200 _201 _202 _203 _204 _205 _206 _207 _208 _209 _210 _211 _212 _213 _214 _215 _216 _217 _218 _220 _221 _222 _223 _224 _225 _226 _227 _228 _229 _230 _231 _232 _233 _234 _235 _236 _237 _238 _239 _240 _241 _242 _243 _244 _245 _246 _247 _248 _249 _250 _251 _252 _253 _254 _255 _256 _257 _258 _259 _260 _261 _262 _263 _264 _265 _266 _267 _268 _269 _270 _271 _272 _273 _274 _275 _276 _277 _278 _279 _280 _281 _282 _283 _284 _285 _286 _287 _288 _289 _290 _291 _292 _293 _294 _295 _296 _297 _298 _299 _300 _301 _302 _303 _304 _305 _306 _307 _308 _309 _310 _311 _312 _313 _314 _315 _316 _317 _318 _319 _320 _321 _322 _323 _324 _325 _326 _327 _328 _329 _330 _331 _332 _333 _334 _335 _336 _337 _338 _339 _340 _341 _342 _343 _344 _345 _346 _347 _348 _349 _350 _351 _352 _353 _354 _355 _356 _357 _358 _359 _360 _361 _362 _363 _364 _365 _366 _367 _368 _369 _370 _371 _372 _373 _374 _375 _376 _377 _378 _379 _380 _381 _382 _383 _384 _385 _386 _387 _388 _389 _390 _391 _392 _393 _394 _395 _396 _397 _398 _399 _400 _401 _402 _403 _404 _405 _406 _407 _408 _409 _410 _411 _412 _413 _414 _415 _416 _417 _418 _419 _420 _421 _422 _423 _424 _425 _427 _426 _428 _429 _430 _431 _432 _433 _434 _435 _436 _437 _438 _439 _440 _441 _442 _443 _444 _445 _446 _447 _448 _449 _450 _451 _452 _453 _454 _455 _456 _457 _458 _459 _460 _461 _462 _463 _464 _465 _466 _467 _468 _469 _470 _471 _472 _473 _474 _475 _476 _477 _478 _479 _480 _481 _482 _484 _485 _486 _487 _488 _489 _490 _491 _492 _493 _494 _495 _496 _497 _498 _499 _500 _501 _502 _503 _504 _505 _506 _507 _508 _509 _510 _511 _512 _513 _514 _515 _516 _517 _518 _519 _520 _521 _522 _523 _524 _525 _526 _527 _528 _529 _530 _531 _532 _533 _534 _535 _536 _537 _538 _539 _540 _542 _543 _544 _545 _546 _547 _548 _549 _550 _551 _552 _553 _554 _555 _556 _557 _558 _559 _560 _561 _563 _564 _565 _566 _567 _568 _569 _570 _571 _572 _573 _574 _575 _576 _577 _578 _579 _580 _581 _582 _583 _584 _585 _586 _587 _588 _589 _590 _591 _592 _593 _594 _595 _596 _597 _598 _599 _600 _601 _602 _603 _604 _605 _606 _607 _608 _609 _610 _611 _612 _613 _614 _615 _616 _617 _618 _619 _620 _621 _622 _623 _624 _625 _626 _627 _628 _629 _630 _631 _632 _633 _634 _635 _636 _637 _638 _639 _640 _641 _642 _643 _644 _645 _646 _647 _648 _649 _650 _651 _652 _653 _654 _655 _656 _657 _658 _659 _660 _661 _662 _663 _664 _666 _668 _670 _671 _672 _673 _674 _675 _676 _677 _678 _679 _680 _681 _682 _683 _684 _685 _686 _687 _688 _689 _690 _691 _692 _693 _695 _694 _697 _699 _701 _703 _704 _705 _706 _707 _708 _709 _710 _711 _712 _713 _715 _716 _717 _718 _719 _720 _721 _722 _724 _725 _727 _729 _731 _733 _735 _737 _739 _741 _743 _744 _745 _746 _747 _748 _749 _665 _667 _152 _750 _752 _753 _751 _754 _755 _756 _757 _759 _760 _761 _762 _763 _764 _765 _766 _767 _768 _769 _770 _771 _772 _773 _774 _775 _776 _777 _778 _779 _780 _781 _782 _783 _784 _785 _786 _787 _788 _789 _790 _791 _792 _793 _795 _796 _797 _798 _799 _800 _801 _802 _803 _804 _805 _806 _807 _808 _809 _810 _811 _812 _813 _814 _815 _816 _817 _818 _819 _820 _821 _822 _823 _824 _825 _826 _827 _828 _829 _830 _831 _832 _833 _834 _835 _836 _837 _838 _839 _840 _841 _842 _843 _844 _845 _846 _847 _848 _849 _850 _851 _852 _853 _854 _855 _856 _857 _858 _859 _219 _861 _860 _862 _863 _864 _865 _866 _867 _868 _870 _871 _872 _873 _874 _875 _876 _877 _878 _879 _880 _881 _883 _882 _884 _885 _886 _887 _888 _889 _890 _891 _892 _893 _894 _895 _896 _897 _898 _899 _900 _901 _902 _903 _904 _905 _906 _907 _908 _909 _910 _911 _912 _913 _914 _915 _916 _917 _918 _920 _921 _922 _923 _924 _925 _926 _927 _928 _929 _931 _932 _933 _934 _935 _936 _937 _938 _939 _940 _941 _942 _943 _944 _945 _946 _947 _948 _949 _950 _951 _952 _919 _953 _954 _955 _956 _957 _958 _959 _960 _961 _962 _963 _964 _965 _966 _967 _968 _969 _970 _971 _972 _973 _974 _975 _976 _977 _978 _979 _980 _981 _982 _983 _984 _985 _986 _987 _988 _989 _990 _991 _992 _993 _994 _995 _996 _997 _998 _999 _1000 _1001 _1002 _1003 _1004 _1005 _1006 _1007 _1008 _1009 _1010 _1011 _1012 _1013 _1014 _1015 _1016 _1017 _1018 _1019 _1020 _1021 _1022 _1023 _1024 _1025 _1026 _1027 _1028 _1029 _1030 _1031 _1032 _1033 _1034 _1035 _1036 _1037 _1038 _1039 _1040 _1041 _1042 _1043 _1044 _1045 _1046 _1047 _1048 _1049 _1050 _1051 _1052 _1053 _1054 _1055 _1056 _1057 _1058 _1059 _1060 _1061 _1062 _1063 _1064 _1065 _1066 _1067 _1068 _1069 _1070 _1071 _1072 _1073 _1074 _1075 _1076 _1077 _1078 _1079 _1080 _1081 _1082 _1083 _1084 _1085 _1086 _1087 _1088 _1089 _1090 _1091 _1092 _1093 _1094 _1095 _1096 _1097 _1098 _1099 _1100 _1101 _1102 _1103 _1104 _1105 _1106 _1107 _1108 _1109 _1110 _1111 _1112 _1113 _1114 _1115 _1116 _1117 _1118 _1119 _1120 _1121 _1122 _1123 _1124 _1125 _1126 _1127 _1128 _1129 _1130 _1131 _1132 _1133 _1134 _1135 _1136 _1137 _1138 _1139 _1140 _1141 _1142 _1143 _1144 _1145 _1146 _1147 _1148 _1149 _1150 _1151 _1152 _1153 _1154 _1155 _1156 _1157 _1158 _1159 _1160 _1161 _1162 _1163 _1164 _1165 _1166 _1167 _1168 _1169 _1170 _1171 _1172 _1173 _1174 _1175 _1176 _1177 _1178 _1179 _1180 _1181 _1182 _1183 _1184 _1185 _1186 _1187 _1188 _1189 _1190 _1191 _1192 _1193 _1194 _1195 _1196 _1197 _1198 _1199 _1200 _1201 _1202 _1203 _1204 _1205 _1206 _1207 _1208 _1209 _1210 _1211 _1212 _1213 _1214 _1215 _1216 _1217 _1218 _1219 _1220 _1221 _1222 _1223 _1224 _1225 _1226 _1227 _1228 _1229 _1230 _1231 _1232 _1233 " mangled="_Z2::" demangled="::"/>
+ <Namespace id="_2" name="std" context="_1" members="_1234 _1235 _1236 _1237 _1238 _1239 _1240 _1241 _1242 _1245 _1246 _1271 _1272 _1273 _1274 _1275 _1282 _1284 _1285 _1286 _1287 _1288 _1289 _1290 _1291 _1292 _1293 _1294 _1295 _1296 _1297 _1300 _1301 _1302 _1326 _1327 _1328 _1329 _1330 _1358 _1360 _1362 _1364 _1366 _1368 _1370 _1372 _1374 _1376 _1378 _1380 _1382 _1384 _1386 _1388 _1390 _1392 _1394 _1396 _1398 _1400 _1402 _1404 _1406 _1408 _1409 _1410 _1411 _1412 _1413 _1414 _1415 _1416 _1417 _1418 _1419 _1420 _1421 _1422 _1423 _1425 _1426 _1427 _1428 _1429 _1430 _1431 _1432 _1433 _1434 _1435 _1436 _1437 _1438 _1439 _1440 _1441 _1442 _1443 _1445 _1447 _1457 " mangled="_Z3std" demangled="std"/>
+ <Function id="_3" name="typedef__func2" returns="_714" context="_1" mangled="_Z14typedef__func2RKN8typedef_13original_nameE" demangled="typedef__func2(typedef_::original_name const&)" location="f0:49" file="f0" line="49" extern="1">
+ <Argument name="position" type="_1458" location="f0:49" file="f0" line="49" default="alias()"/>
+ </Function>
+ <Function id="_4" name="typedef__func" returns="_714" context="_1" mangled="_Z13typedef__funcRKN8typedef_13original_nameE" demangled="typedef__func(typedef_::original_name const&)" location="f0:46" file="f0" line="46" extern="1">
+ <Argument name="position" type="_1458" location="f0:46" file="f0" line="46" default="alias()"/>
+ </Function>
+ <Function id="_5" name="fix_numeric" returns="_714" context="_1" mangled="_Z11fix_numericy" demangled="fix_numeric(unsigned long long)" location="f0:18" file="f0" line="18" extern="1">
+ <Argument name="arg" type="_7" location="f0:18" file="f0" line="18" default="0xffffffffffffffff"/>
+ </Function>
+ <FundamentalType id="_6" name="long long unsigned int" size="64" align="64"/>
+ <Typedef id="_7" name="ull" type="_6" context="_1" location="f0:17" file="f0" line="17"/>
+ <Function id="_8" name="fix_enum" returns="_714" context="_1" mangled="_Z8fix_enumN3ns13ns25fruitE" demangled="fix_enum(ns1::ns2::fruit)" location="f0:15" file="f0" line="15" extern="1">
+ <Argument name="arg" type="_1459" location="f0:15" file="f0" line="15" default="apple"/>
+ </Function>
+ <FundamentalType id="_9" name="int" size="32" align="32"/>
+ <Typedef id="_10" name="_Atomic_word" type="_9" context="_1" location="f1:33" file="f1" line="33"/>
+ <OperatorFunction id="_11" name="delete []" returns="_714" throw="" context="_1" mangled="_ZdaPvS_" demangled="operator delete[](void*, void*)" location="f2:99" file="f2" line="99" endline="99" inline="1">
+ <Argument type="_562" location="f2:99" file="f2" line="99"/>
+ <Argument type="_562" location="f2:99" file="f2" line="99"/>
+ </OperatorFunction>
+ <OperatorFunction id="_12" name="delete" returns="_714" throw="" context="_1" mangled="_ZdlPvS_" demangled="operator delete(void*, void*)" location="f2:98" file="f2" line="98" endline="98" inline="1">
+ <Argument type="_562" location="f2:98" file="f2" line="98"/>
+ <Argument type="_562" location="f2:98" file="f2" line="98"/>
+ </OperatorFunction>
+ <OperatorFunction id="_13" name="new []" returns="_562" throw="" context="_1" mangled="_ZnajPv" demangled="operator new[](unsigned, void*)" location="f2:95" file="f2" line="95" endline="95" inline="1">
+ <Argument type="_1055" location="f2:95" file="f2" line="95"/>
+ <Argument name="__p" type="_562" location="f2:95" file="f2" line="95"/>
+ </OperatorFunction>
+ <OperatorFunction id="_14" name="new" returns="_562" throw="" context="_1" mangled="_ZnwjPv" demangled="operator new(unsigned, void*)" location="f2:94" file="f2" line="94" endline="94" inline="1">
+ <Argument type="_1055" location="f2:94" file="f2" line="94"/>
+ <Argument name="__p" type="_562" location="f2:94" file="f2" line="94"/>
+ </OperatorFunction>
+ <OperatorFunction id="_15" name="delete []" returns="_714" throw="" context="_1" mangled="_ZdaPvRKSt9nothrow_t" demangled="operator delete[](void*, std::nothrow_t const&)" location="f2:91" file="f2" line="91" extern="1">
+ <Argument type="_562" location="f2:91" file="f2" line="91"/>
+ <Argument type="_1460" location="f2:91" file="f2" line="91"/>
+ </OperatorFunction>
+ <OperatorFunction id="_16" name="delete" returns="_714" throw="" context="_1" mangled="_ZdlPvRKSt9nothrow_t" demangled="operator delete(void*, std::nothrow_t const&)" location="f2:90" file="f2" line="90" extern="1">
+ <Argument type="_562" location="f2:90" file="f2" line="90"/>
+ <Argument type="_1460" location="f2:90" file="f2" line="90"/>
+ </OperatorFunction>
+ <OperatorFunction id="_17" name="new []" returns="_562" throw="" context="_1" mangled="_ZnajRKSt9nothrow_t" demangled="operator new[](unsigned, std::nothrow_t const&)" location="f2:89" file="f2" line="89" extern="1">
+ <Argument type="_1055" location="f2:89" file="f2" line="89"/>
+ <Argument type="_1460" location="f2:89" file="f2" line="89"/>
+ </OperatorFunction>
+ <OperatorFunction id="_18" name="new" returns="_562" throw="" context="_1" mangled="_ZnwjRKSt9nothrow_t" demangled="operator new(unsigned, std::nothrow_t const&)" location="f2:88" file="f2" line="88" extern="1">
+ <Argument type="_1055" location="f2:88" file="f2" line="88"/>
+ <Argument type="_1460" location="f2:88" file="f2" line="88"/>
+ </OperatorFunction>
+ <Variable id="_19" name="_ZTISt9bad_alloc" type="_1461c" context="_1" location="f2:56" file="f2" line="56" extern="1" artificial="1"/>
+ <Variable id="_20" name="_ZTISt13bad_exception" type="_1461c" context="_1" location="f3:67" file="f3" line="67" extern="1" artificial="1"/>
+ <Variable id="_21" name="_ZTISt9exception" type="_1463c" context="_1" location="f3:55" file="f3" line="55" extern="1" artificial="1"/>
+ <Struct id="_22" name="__false_type" context="_1" mangled="12__false_type" demangled="__false_type" location="f4:94" file="f4" line="94" artificial="1" size="8" align="8" members="_1465 _1466 " bases=""/>
+ <Struct id="_23" name="__true_type" context="_1" mangled="11__true_type" demangled="__true_type" location="f4:93" file="f4" line="93" artificial="1" size="8" align="8" members="_1467 _1468 " bases=""/>
+ <Typedef id="_24" name="uintmax_t" type="_6" context="_1" location="f5:141" file="f5" line="141"/>
+ <FundamentalType id="_25" name="long long int" size="64" align="64"/>
+ <Typedef id="_26" name="intmax_t" type="_25" context="_1" location="f5:139" file="f5" line="139"/>
+ <FundamentalType id="_27" name="unsigned int" size="32" align="32"/>
+ <Typedef id="_28" name="uintptr_t" type="_27" context="_1" location="f5:129" file="f5" line="129"/>
+ <Typedef id="_29" name="uint_fast64_t" type="_6" context="_1" location="f5:113" file="f5" line="113"/>
+ <Typedef id="_30" name="uint_fast32_t" type="_27" context="_1" location="f5:111" file="f5" line="111"/>
+ <Typedef id="_31" name="uint_fast16_t" type="_27" context="_1" location="f5:110" file="f5" line="110"/>
+ <FundamentalType id="_32" name="unsigned char" size="8" align="8"/>
+ <Typedef id="_33" name="uint_fast8_t" type="_32" context="_1" location="f5:104" file="f5" line="104"/>
+ <Typedef id="_34" name="int_fast64_t" type="_25" context="_1" location="f5:100" file="f5" line="100"/>
+ <Typedef id="_35" name="int_fast32_t" type="_9" context="_1" location="f5:98" file="f5" line="98"/>
+ <Typedef id="_36" name="int_fast16_t" type="_9" context="_1" location="f5:97" file="f5" line="97"/>
+ <FundamentalType id="_37" name="signed char" size="8" align="8"/>
+ <Typedef id="_38" name="int_fast8_t" type="_37" context="_1" location="f5:91" file="f5" line="91"/>
+ <Typedef id="_39" name="uint_least64_t" type="_6" context="_1" location="f5:84" file="f5" line="84"/>
+ <Typedef id="_40" name="uint_least32_t" type="_27" context="_1" location="f5:79" file="f5" line="79"/>
+ <FundamentalType id="_41" name="short unsigned int" size="16" align="16"/>
+ <Typedef id="_42" name="uint_least16_t" type="_41" context="_1" location="f5:78" file="f5" line="78"/>
+ <Typedef id="_43" name="uint_least8_t" type="_32" context="_1" location="f5:77" file="f5" line="77"/>
+ <Typedef id="_44" name="int_least64_t" type="_25" context="_1" location="f5:73" file="f5" line="73"/>
+ <Typedef id="_45" name="int_least32_t" type="_9" context="_1" location="f5:68" file="f5" line="68"/>
+ <FundamentalType id="_46" name="short int" size="16" align="16"/>
+ <Typedef id="_47" name="int_least16_t" type="_46" context="_1" location="f5:67" file="f5" line="67"/>
+ <Typedef id="_48" name="int_least8_t" type="_37" context="_1" location="f5:66" file="f5" line="66"/>
+ <Typedef id="_49" name="uint64_t" type="_6" context="_1" location="f5:59" file="f5" line="59"/>
+ <Typedef id="_50" name="uint32_t" type="_27" context="_1" location="f5:52" file="f5" line="52"/>
+ <Typedef id="_51" name="uint16_t" type="_41" context="_1" location="f5:50" file="f5" line="50"/>
+ <Typedef id="_52" name="uint8_t" type="_32" context="_1" location="f5:49" file="f5" line="49"/>
+ <Function id="_53" name="wcsftime_l" returns="_1055" throw="" context="_1" location="f6:835" file="f6" line="835" extern="1">
+ <Argument name="__s" type="_1469r" location="f6:835" file="f6" line="835"/>
+ <Argument name="__maxsize" type="_1055" location="f6:835" file="f6" line="835"/>
+ <Argument name="__format" type="_1471r" location="f6:835" file="f6" line="835"/>
+ <Argument name="__tp" type="_1473r" location="f6:835" file="f6" line="835"/>
+ <Argument name="__loc" type="_1045" location="f6:835" file="f6" line="835"/>
+ </Function>
+ <Function id="_54" name="wcsftime" returns="_1055" throw="" context="_1" location="f6:824" file="f6" line="824" extern="1">
+ <Argument name="__s" type="_1469r" location="f6:824" file="f6" line="824"/>
+ <Argument name="__maxsize" type="_1055" location="f6:824" file="f6" line="824"/>
+ <Argument name="__format" type="_1471r" location="f6:824" file="f6" line="824"/>
+ <Argument name="__tp" type="_1473r" location="f6:824" file="f6" line="824"/>
+ </Function>
+ <Function id="_55" name="fputws_unlocked" returns="_9" context="_1" location="f6:814" file="f6" line="814" extern="1">
+ <Argument name="__ws" type="_1471r" location="f6:814" file="f6" line="814"/>
+ <Argument name="__stream" type="_1475r" location="f6:814" file="f6" line="814"/>
+ </Function>
+ <Function id="_56" name="fgetws_unlocked" returns="_1469" context="_1" location="f6:805" file="f6" line="805" extern="1">
+ <Argument name="__ws" type="_1469r" location="f6:805" file="f6" line="805"/>
+ <Argument name="__n" type="_9" location="f6:805" file="f6" line="805"/>
+ <Argument name="__stream" type="_1475r" location="f6:805" file="f6" line="805"/>
+ </Function>
+ <Function id="_57" name="putwchar_unlocked" returns="_750" context="_1" location="f6:795" file="f6" line="795" extern="1">
+ <Argument name="__wc" type="_1477" location="f6:795" file="f6" line="795"/>
+ </Function>
+ <Function id="_58" name="putwc_unlocked" returns="_750" context="_1" location="f6:794" file="f6" line="794" extern="1">
+ <Argument name="__wc" type="_1477" location="f6:794" file="f6" line="794"/>
+ <Argument name="__stream" type="_1475" location="f6:794" file="f6" line="794"/>
+ </Function>
+ <Function id="_59" name="fputwc_unlocked" returns="_750" context="_1" location="f6:785" file="f6" line="785" extern="1">
+ <Argument name="__wc" type="_1477" location="f6:785" file="f6" line="785"/>
+ <Argument name="__stream" type="_1475" location="f6:785" file="f6" line="785"/>
+ </Function>
+ <Function id="_60" name="fgetwc_unlocked" returns="_750" context="_1" location="f6:777" file="f6" line="777" extern="1">
+ <Argument name="__stream" type="_1475" location="f6:777" file="f6" line="777"/>
+ </Function>
+ <Function id="_61" name="getwchar_unlocked" returns="_750" context="_1" location="f6:769" file="f6" line="769" extern="1"/>
+ <Function id="_62" name="getwc_unlocked" returns="_750" context="_1" location="f6:768" file="f6" line="768" extern="1">
+ <Argument name="__stream" type="_1475" location="f6:768" file="f6" line="768"/>
+ </Function>
+ <Function id="_63" name="ungetwc" returns="_750" context="_1" location="f6:756" file="f6" line="756" extern="1">
+ <Argument name="__wc" type="_750" location="f6:756" file="f6" line="756"/>
+ <Argument name="__stream" type="_1475" location="f6:756" file="f6" line="756"/>
+ </Function>
+ <Function id="_64" name="fputws" returns="_9" context="_1" location="f6:749" file="f6" line="749" extern="1">
+ <Argument name="__ws" type="_1471r" location="f6:749" file="f6" line="749"/>
+ <Argument name="__stream" type="_1475r" location="f6:749" file="f6" line="749"/>
+ </Function>
+ <Function id="_65" name="fgetws" returns="_1469" context="_1" location="f6:742" file="f6" line="742" extern="1">
+ <Argument name="__ws" type="_1469r" location="f6:742" file="f6" line="742"/>
+ <Argument name="__n" type="_9" location="f6:742" file="f6" line="742"/>
+ <Argument name="__stream" type="_1475r" location="f6:742" file="f6" line="742"/>
+ </Function>
+ <Function id="_66" name="putwchar" returns="_750" context="_1" location="f6:733" file="f6" line="733" extern="1">
+ <Argument name="__wc" type="_1477" location="f6:733" file="f6" line="733"/>
+ </Function>
+ <Function id="_67" name="putwc" returns="_750" context="_1" location="f6:727" file="f6" line="727" extern="1">
+ <Argument name="__wc" type="_1477" location="f6:727" file="f6" line="727"/>
+ <Argument name="__stream" type="_1475" location="f6:727" file="f6" line="727"/>
+ </Function>
+ <Function id="_68" name="fputwc" returns="_750" context="_1" location="f6:726" file="f6" line="726" extern="1">
+ <Argument name="__wc" type="_1477" location="f6:726" file="f6" line="726"/>
+ <Argument name="__stream" type="_1475" location="f6:726" file="f6" line="726"/>
+ </Function>
+ <Function id="_69" name="getwchar" returns="_750" context="_1" location="f6:719" file="f6" line="719" extern="1"/>
+ <Function id="_70" name="getwc" returns="_750" context="_1" location="f6:713" file="f6" line="713" extern="1">
+ <Argument name="__stream" type="_1475" location="f6:713" file="f6" line="713"/>
+ </Function>
+ <Function id="_71" name="fgetwc" returns="_750" context="_1" location="f6:712" file="f6" line="712" extern="1">
+ <Argument name="__stream" type="_1475" location="f6:712" file="f6" line="712"/>
+ </Function>
+ <Function id="_72" name="vswscanf" returns="_9" throw="" context="_1" location="f6:701" file="f6" line="701" extern="1">
+ <Argument name="__s" type="_1471r" location="f6:701" file="f6" line="701"/>
+ <Argument name="__format" type="_1471r" location="f6:701" file="f6" line="701"/>
+ <Argument name="__arg" type="_717" location="f6:701" file="f6" line="701"/>
+ </Function>
+ <Function id="_73" name="vwscanf" returns="_9" context="_1" location="f6:696" file="f6" line="696" extern="1">
+ <Argument name="__format" type="_1471r" location="f6:696" file="f6" line="696"/>
+ <Argument name="__arg" type="_717" location="f6:696" file="f6" line="696"/>
+ </Function>
+ <Function id="_74" name="vfwscanf" returns="_9" context="_1" location="f6:689" file="f6" line="689" extern="1">
+ <Argument name="__s" type="_1475r" location="f6:689" file="f6" line="689"/>
+ <Argument name="__format" type="_1471r" location="f6:689" file="f6" line="689"/>
+ <Argument name="__arg" type="_717" location="f6:689" file="f6" line="689"/>
+ </Function>
+ <Function id="_75" name="swscanf" returns="_9" throw="" context="_1" location="f6:674" file="f6" line="674" extern="1">
+ <Argument name="__s" type="_1471r" location="f6:674" file="f6" line="674"/>
+ <Argument name="__format" type="_1471r" location="f6:674" file="f6" line="674"/>
+ <Ellipsis/>
+ </Function>
+ <Function id="_76" name="wscanf" returns="_9" context="_1" location="f6:670" file="f6" line="670" extern="1">
+ <Argument name="__format" type="_1471r" location="f6:670" file="f6" line="670"/>
+ <Ellipsis/>
+ </Function>
+ <Function id="_77" name="fwscanf" returns="_9" context="_1" location="f6:664" file="f6" line="664" extern="1">
+ <Argument name="__stream" type="_1475r" location="f6:664" file="f6" line="664"/>
+ <Argument name="__format" type="_1471r" location="f6:664" file="f6" line="664"/>
+ <Ellipsis/>
+ </Function>
+ <Function id="_78" name="vswprintf" returns="_9" throw="" context="_1" location="f6:655" file="f6" line="655" extern="1">
+ <Argument name="__s" type="_1469r" location="f6:655" file="f6" line="655"/>
+ <Argument name="__n" type="_1055" location="f6:655" file="f6" line="655"/>
+ <Argument name="__format" type="_1471r" location="f6:655" file="f6" line="655"/>
+ <Argument name="__arg" type="_717" location="f6:655" file="f6" line="655"/>
+ </Function>
+ <Function id="_79" name="vwprintf" returns="_9" context="_1" location="f6:649" file="f6" line="649" extern="1">
+ <Argument name="__format" type="_1471r" location="f6:649" file="f6" line="649"/>
+ <Argument name="__arg" type="_717" location="f6:649" file="f6" line="649"/>
+ </Function>
+ <Function id="_80" name="vfwprintf" returns="_9" context="_1" location="f6:642" file="f6" line="642" extern="1">
+ <Argument name="__s" type="_1475r" location="f6:642" file="f6" line="642"/>
+ <Argument name="__format" type="_1471r" location="f6:642" file="f6" line="642"/>
+ <Argument name="__arg" type="_717" location="f6:642" file="f6" line="642"/>
+ </Function>
+ <Function id="_81" name="swprintf" returns="_9" throw="" context="_1" location="f6:633" file="f6" line="633" extern="1">
+ <Argument name="__s" type="_1469r" location="f6:633" file="f6" line="633"/>
+ <Argument name="__n" type="_1055" location="f6:633" file="f6" line="633"/>
+ <Argument name="__format" type="_1471r" location="f6:633" file="f6" line="633"/>
+ <Ellipsis/>
+ </Function>
+ <Function id="_82" name="wprintf" returns="_9" context="_1" location="f6:629" file="f6" line="629" extern="1">
+ <Argument name="__format" type="_1471r" location="f6:629" file="f6" line="629"/>
+ <Ellipsis/>
+ </Function>
+ <Function id="_83" name="fwprintf" returns="_9" context="_1" location="f6:623" file="f6" line="623" extern="1">
+ <Argument name="__stream" type="_1475r" location="f6:623" file="f6" line="623"/>
+ <Argument name="__format" type="_1471r" location="f6:623" file="f6" line="623"/>
+ <Ellipsis/>
+ </Function>
+ <Function id="_84" name="fwide" returns="_9" throw="" context="_1" location="f6:614" file="f6" line="614" extern="1">
+ <Argument name="__fp" type="_1475" location="f6:614" file="f6" line="614"/>
+ <Argument name="__mode" type="_9" location="f6:614" file="f6" line="614"/>
+ </Function>
+ <Function id="_85" name="open_wmemstream" returns="_1475" throw="" context="_1" location="f6:607" file="f6" line="607" extern="1">
+ <Argument name="__bufloc" type="_1478" location="f6:607" file="f6" line="607"/>
+ <Argument name="__sizeloc" type="_1479" location="f6:607" file="f6" line="607"/>
+ </Function>
+ <Function id="_86" name="wcpncpy" returns="_1469" throw="" context="_1" location="f6:598" file="f6" line="598" extern="1">
+ <Argument name="__dest" type="_1469" location="f6:598" file="f6" line="598"/>
+ <Argument name="__src" type="_1471" location="f6:598" file="f6" line="598"/>
+ <Argument name="__n" type="_1055" location="f6:598" file="f6" line="598"/>
+ </Function>
+ <Function id="_87" name="wcpcpy" returns="_1469" throw="" context="_1" location="f6:593" file="f6" line="593" extern="1">
+ <Argument name="__dest" type="_1469" location="f6:593" file="f6" line="593"/>
+ <Argument name="__src" type="_1471" location="f6:593" file="f6" line="593"/>
+ </Function>
+ <Function id="_88" name="__wcstold_internal" returns="_1480" throw="" context="_1" location="f6:510" file="f6" line="510" extern="1">
+ <Argument name="__nptr" type="_1471r" location="f6:510" file="f6" line="510"/>
+ <Argument name="__endptr" type="_1478r" location="f6:510" file="f6" line="510"/>
+ <Argument name="__group" type="_9" location="f6:510" file="f6" line="510"/>
+ </Function>
+ <Function id="_89" name="__wcstof_internal" returns="_1482" throw="" context="_1" location="f6:507" file="f6" line="507" extern="1">
+ <Argument name="__nptr" type="_1471r" location="f6:507" file="f6" line="507"/>
+ <Argument name="__endptr" type="_1478r" location="f6:507" file="f6" line="507"/>
+ <Argument name="__group" type="_9" location="f6:507" file="f6" line="507"/>
+ </Function>
+ <Function id="_90" name="__wcstod_internal" returns="_1483" throw="" context="_1" location="f6:504" file="f6" line="504" extern="1">
+ <Argument name="__nptr" type="_1471r" location="f6:504" file="f6" line="504"/>
+ <Argument name="__endptr" type="_1478r" location="f6:504" file="f6" line="504"/>
+ <Argument name="__group" type="_9" location="f6:504" file="f6" line="504"/>
+ </Function>
+ <Function id="_91" name="wcstold_l" returns="_1480" throw="" context="_1" location="f6:496" file="f6" line="496" extern="1">
+ <Argument name="__nptr" type="_1471r" location="f6:496" file="f6" line="496"/>
+ <Argument name="__endptr" type="_1478r" location="f6:496" file="f6" line="496"/>
+ <Argument name="__loc" type="_1045" location="f6:496" file="f6" line="496"/>
+ </Function>
+ <Function id="_92" name="wcstof_l" returns="_1482" throw="" context="_1" location="f6:492" file="f6" line="492" extern="1">
+ <Argument name="__nptr" type="_1471r" location="f6:492" file="f6" line="492"/>
+ <Argument name="__endptr" type="_1478r" location="f6:492" file="f6" line="492"/>
+ <Argument name="__loc" type="_1045" location="f6:492" file="f6" line="492"/>
+ </Function>
+ <Function id="_93" name="wcstod_l" returns="_1483" throw="" context="_1" location="f6:488" file="f6" line="488" extern="1">
+ <Argument name="__nptr" type="_1471r" location="f6:488" file="f6" line="488"/>
+ <Argument name="__endptr" type="_1478r" location="f6:488" file="f6" line="488"/>
+ <Argument name="__loc" type="_1045" location="f6:488" file="f6" line="488"/>
+ </Function>
+ <Function id="_94" name="wcstoull_l" returns="_6" throw="" context="_1" location="f6:484" file="f6" line="484" extern="1">
+ <Argument name="__nptr" type="_1471r" location="f6:484" file="f6" line="484"/>
+ <Argument name="__endptr" type="_1478r" location="f6:484" file="f6" line="484"/>
+ <Argument name="__base" type="_9" location="f6:484" file="f6" line="484"/>
+ <Argument name="__loc" type="_1045" location="f6:484" file="f6" line="484"/>
+ </Function>
+ <Function id="_95" name="wcstoll_l" returns="_25" throw="" context="_1" location="f6:478" file="f6" line="478" extern="1">
+ <Argument name="__nptr" type="_1471r" location="f6:478" file="f6" line="478"/>
+ <Argument name="__endptr" type="_1478r" location="f6:478" file="f6" line="478"/>
+ <Argument name="__base" type="_9" location="f6:478" file="f6" line="478"/>
+ <Argument name="__loc" type="_1045" location="f6:478" file="f6" line="478"/>
+ </Function>
+ <Function id="_96" name="wcstoul_l" returns="_541" throw="" context="_1" location="f6:473" file="f6" line="473" extern="1">
+ <Argument name="__nptr" type="_1471r" location="f6:473" file="f6" line="473"/>
+ <Argument name="__endptr" type="_1478r" location="f6:473" file="f6" line="473"/>
+ <Argument name="__base" type="_9" location="f6:473" file="f6" line="473"/>
+ <Argument name="__loc" type="_1045" location="f6:473" file="f6" line="473"/>
+ </Function>
+ <Function id="_97" name="wcstol_l" returns="_869" throw="" context="_1" location="f6:469" file="f6" line="469" extern="1">
+ <Argument name="__nptr" type="_1471r" location="f6:469" file="f6" line="469"/>
+ <Argument name="__endptr" type="_1478r" location="f6:469" file="f6" line="469"/>
+ <Argument name="__base" type="_9" location="f6:469" file="f6" line="469"/>
+ <Argument name="__loc" type="_1045" location="f6:469" file="f6" line="469"/>
+ </Function>
+ <Function id="_98" name="wcstouq" returns="_6" throw="" context="_1" location="f6:446" file="f6" line="446" extern="1">
+ <Argument name="__nptr" type="_1471r" location="f6:446" file="f6" line="446"/>
+ <Argument name="__endptr" type="_1478r" location="f6:446" file="f6" line="446"/>
+ <Argument name="__base" type="_9" location="f6:446" file="f6" line="446"/>
+ </Function>
+ <Function id="_99" name="wcstoq" returns="_25" throw="" context="_1" location="f6:439" file="f6" line="439" extern="1">
+ <Argument name="__nptr" type="_1471r" location="f6:439" file="f6" line="439"/>
+ <Argument name="__endptr" type="_1478r" location="f6:439" file="f6" line="439"/>
+ <Argument name="__base" type="_9" location="f6:439" file="f6" line="439"/>
+ </Function>
+ <Function id="_100" name="wcstoull" returns="_6" throw="" context="_1" location="f6:429" file="f6" line="429" extern="1">
+ <Argument name="__nptr" type="_1471r" location="f6:429" file="f6" line="429"/>
+ <Argument name="__endptr" type="_1478r" location="f6:429" file="f6" line="429"/>
+ <Argument name="__base" type="_9" location="f6:429" file="f6" line="429"/>
+ </Function>
+ <Function id="_101" name="wcstoll" returns="_25" throw="" context="_1" location="f6:422" file="f6" line="422" extern="1">
+ <Argument name="__nptr" type="_1471r" location="f6:422" file="f6" line="422"/>
+ <Argument name="__endptr" type="_1478r" location="f6:422" file="f6" line="422"/>
+ <Argument name="__base" type="_9" location="f6:422" file="f6" line="422"/>
+ </Function>
+ <Function id="_102" name="wcstoul" returns="_541" throw="" context="_1" location="f6:414" file="f6" line="414" extern="1">
+ <Argument name="__nptr" type="_1471r" location="f6:414" file="f6" line="414"/>
+ <Argument name="__endptr" type="_1478r" location="f6:414" file="f6" line="414"/>
+ <Argument name="__base" type="_9" location="f6:414" file="f6" line="414"/>
+ </Function>
+ <Function id="_103" name="wcstol" returns="_869" throw="" context="_1" location="f6:408" file="f6" line="408" extern="1">
+ <Argument name="__nptr" type="_1471r" location="f6:408" file="f6" line="408"/>
+ <Argument name="__endptr" type="_1478r" location="f6:408" file="f6" line="408"/>
+ <Argument name="__base" type="_9" location="f6:408" file="f6" line="408"/>
+ </Function>
+ <Function id="_104" name="wcstold" returns="_1480" throw="" context="_1" location="f6:401" file="f6" line="401" extern="1">
+ <Argument name="__nptr" type="_1471r" location="f6:401" file="f6" line="401"/>
+ <Argument name="__endptr" type="_1478r" location="f6:401" file="f6" line="401"/>
+ </Function>
+ <Function id="_105" name="wcstof" returns="_1482" throw="" context="_1" location="f6:399" file="f6" line="399" extern="1">
+ <Argument name="__nptr" type="_1471r" location="f6:399" file="f6" line="399"/>
+ <Argument name="__endptr" type="_1478r" location="f6:399" file="f6" line="399"/>
+ </Function>
+ <Function id="_106" name="wcstod" returns="_1483" throw="" context="_1" location="f6:394" file="f6" line="394" extern="1">
+ <Argument name="__nptr" type="_1471r" location="f6:394" file="f6" line="394"/>
+ <Argument name="__endptr" type="_1478r" location="f6:394" file="f6" line="394"/>
+ </Function>
+ <Function id="_107" name="wcswidth" returns="_9" throw="" context="_1" location="f6:386" file="f6" line="386" extern="1">
+ <Argument name="__s" type="_1471" location="f6:386" file="f6" line="386"/>
+ <Argument name="__n" type="_1055" location="f6:386" file="f6" line="386"/>
+ </Function>
+ <Function id="_108" name="wcwidth" returns="_9" throw="" context="_1" location="f6:382" file="f6" line="382" extern="1">
+ <Argument name="__c" type="_1477" location="f6:382" file="f6" line="382"/>
+ </Function>
+ <Function id="_109" name="wcsnrtombs" returns="_1055" throw="" context="_1" location="f6:375" file="f6" line="375" extern="1">
+ <Argument name="__dst" type="_669r" location="f6:375" file="f6" line="375"/>
+ <Argument name="__src" type="_1485r" location="f6:375" file="f6" line="375"/>
+ <Argument name="__nwc" type="_1055" location="f6:375" file="f6" line="375"/>
+ <Argument name="__len" type="_1055" location="f6:375" file="f6" line="375"/>
+ <Argument name="__ps" type="_1487r" location="f6:375" file="f6" line="375"/>
+ </Function>
+ <Function id="_110" name="mbsnrtowcs" returns="_1055" throw="" context="_1" location="f6:368" file="f6" line="368" extern="1">
+ <Argument name="__dst" type="_1469r" location="f6:368" file="f6" line="368"/>
+ <Argument name="__src" type="_1489r" location="f6:368" file="f6" line="368"/>
+ <Argument name="__nmc" type="_1055" location="f6:368" file="f6" line="368"/>
+ <Argument name="__len" type="_1055" location="f6:368" file="f6" line="368"/>
+ <Argument name="__ps" type="_1487r" location="f6:368" file="f6" line="368"/>
+ </Function>
+ <Function id="_111" name="wcsrtombs" returns="_1055" throw="" context="_1" location="f6:359" file="f6" line="359" extern="1">
+ <Argument name="__dst" type="_669r" location="f6:359" file="f6" line="359"/>
+ <Argument name="__src" type="_1485r" location="f6:359" file="f6" line="359"/>
+ <Argument name="__len" type="_1055" location="f6:359" file="f6" line="359"/>
+ <Argument name="__ps" type="_1487r" location="f6:359" file="f6" line="359"/>
+ </Function>
+ <Function id="_112" name="mbsrtowcs" returns="_1055" throw="" context="_1" location="f6:353" file="f6" line="353" extern="1">
+ <Argument name="__dst" type="_1469r" location="f6:353" file="f6" line="353"/>
+ <Argument name="__src" type="_1489r" location="f6:353" file="f6" line="353"/>
+ <Argument name="__len" type="_1055" location="f6:353" file="f6" line="353"/>
+ <Argument name="__ps" type="_1487r" location="f6:353" file="f6" line="353"/>
+ </Function>
+ <Function id="_113" name="mbrlen" returns="_1055" throw="" context="_1" location="f6:318" file="f6" line="318" extern="1">
+ <Argument name="__s" type="_1491r" location="f6:318" file="f6" line="318"/>
+ <Argument name="__n" type="_1055" location="f6:318" file="f6" line="318"/>
+ <Argument name="__ps" type="_1487r" location="f6:318" file="f6" line="318"/>
+ </Function>
+ <Function id="_114" name="__mbrlen" returns="_1055" throw="" context="_1" location="f6:316" file="f6" line="316" extern="1">
+ <Argument name="__s" type="_1491r" location="f6:316" file="f6" line="316"/>
+ <Argument name="__n" type="_1055" location="f6:316" file="f6" line="316"/>
+ <Argument name="__ps" type="_1487r" location="f6:316" file="f6" line="316"/>
+ </Function>
+ <Function id="_115" name="wcrtomb" returns="_1055" throw="" context="_1" location="f6:312" file="f6" line="312" extern="1">
+ <Argument name="__s" type="_669r" location="f6:312" file="f6" line="312"/>
+ <Argument name="__wc" type="_1477" location="f6:312" file="f6" line="312"/>
+ <Argument name="__ps" type="_1487r" location="f6:312" file="f6" line="312"/>
+ </Function>
+ <Function id="_116" name="mbrtowc" returns="_1055" throw="" context="_1" location="f6:308" file="f6" line="308" extern="1">
+ <Argument name="__pwc" type="_1469r" location="f6:308" file="f6" line="308"/>
+ <Argument name="__s" type="_1491r" location="f6:308" file="f6" line="308"/>
+ <Argument name="__n" type="_1055" location="f6:308" file="f6" line="308"/>
+ <Argument name="__p" type="_1487" location="f6:308" file="f6" line="308"/>
+ </Function>
+ <Function id="_117" name="mbsinit" returns="_9" throw="" context="_1" location="f6:302" file="f6" line="302" extern="1" attributes="__pure__">
+ <Argument name="__ps" type="_1493" location="f6:302" file="f6" line="302"/>
+ </Function>
+ <Function id="_118" name="wctob" returns="_9" throw="" context="_1" location="f6:298" file="f6" line="298" extern="1">
+ <Argument name="__c" type="_750" location="f6:298" file="f6" line="298"/>
+ </Function>
+ <Function id="_119" name="btowc" returns="_750" throw="" context="_1" location="f6:294" file="f6" line="294" extern="1">
+ <Argument name="__c" type="_9" location="f6:294" file="f6" line="294"/>
+ </Function>
+ <Function id="_120" name="wmempcpy" returns="_1469" throw="" context="_1" location="f6:287" file="f6" line="287" extern="1">
+ <Argument name="__s1" type="_1469r" location="f6:287" file="f6" line="287"/>
+ <Argument name="__s2" type="_1471r" location="f6:287" file="f6" line="287"/>
+ <Argument name="__n" type="_1055" location="f6:287" file="f6" line="287"/>
+ </Function>
+ <Function id="_121" name="wmemset" returns="_1469" throw="" context="_1" location="f6:279" file="f6" line="279" extern="1">
+ <Argument name="__s" type="_1469" location="f6:279" file="f6" line="279"/>
+ <Argument name="__c" type="_1477" location="f6:279" file="f6" line="279"/>
+ <Argument name="__n" type="_1055" location="f6:279" file="f6" line="279"/>
+ </Function>
+ <Function id="_122" name="wmemmove" returns="_1469" throw="" context="_1" location="f6:276" file="f6" line="276" extern="1">
+ <Argument name="__s1" type="_1469" location="f6:276" file="f6" line="276"/>
+ <Argument name="__s2" type="_1471" location="f6:276" file="f6" line="276"/>
+ <Argument name="__n" type="_1055" location="f6:276" file="f6" line="276"/>
+ </Function>
+ <Function id="_123" name="wmemcpy" returns="_1469" throw="" context="_1" location="f6:271" file="f6" line="271" extern="1">
+ <Argument name="__s1" type="_1469r" location="f6:271" file="f6" line="271"/>
+ <Argument name="__s2" type="_1471r" location="f6:271" file="f6" line="271"/>
+ <Argument name="__n" type="_1055" location="f6:271" file="f6" line="271"/>
+ </Function>
+ <Function id="_124" name="wmemcmp" returns="_9" throw="" context="_1" location="f6:267" file="f6" line="267" extern="1" attributes="__pure__">
+ <Argument name="__s1" type="_1471r" location="f6:267" file="f6" line="267"/>
+ <Argument name="__s2" type="_1471r" location="f6:267" file="f6" line="267"/>
+ <Argument name="__n" type="_1055" location="f6:267" file="f6" line="267"/>
+ </Function>
+ <Function id="_125" name="wmemchr" returns="_1469" throw="" context="_1" location="f6:262" file="f6" line="262" extern="1" attributes="__pure__">
+ <Argument name="__s" type="_1471" location="f6:262" file="f6" line="262"/>
+ <Argument name="__c" type="_1477" location="f6:262" file="f6" line="262"/>
+ <Argument name="__n" type="_1055" location="f6:262" file="f6" line="262"/>
+ </Function>
+ <Function id="_126" name="wcsnlen" returns="_1055" throw="" context="_1" location="f6:255" file="f6" line="255" extern="1" attributes="__pure__">
+ <Argument name="__s" type="_1471" location="f6:255" file="f6" line="255"/>
+ <Argument name="__maxlen" type="_1055" location="f6:255" file="f6" line="255"/>
+ </Function>
+ <Function id="_127" name="wcswcs" returns="_1469" throw="" context="_1" location="f6:249" file="f6" line="249" extern="1" attributes="__pure__">
+ <Argument name="__haystack" type="_1471" location="f6:249" file="f6" line="249"/>
+ <Argument name="__needle" type="_1471" location="f6:249" file="f6" line="249"/>
+ </Function>
+ <Function id="_128" name="wcslen" returns="_1055" throw="" context="_1" location="f6:243" file="f6" line="243" extern="1" attributes="__pure__">
+ <Argument name="__s" type="_1471" location="f6:243" file="f6" line="243"/>
+ </Function>
+ <Function id="_129" name="wcstok" returns="_1469" throw="" context="_1" location="f6:240" file="f6" line="240" extern="1">
+ <Argument name="__s" type="_1469r" location="f6:240" file="f6" line="240"/>
+ <Argument name="__delim" type="_1471r" location="f6:240" file="f6" line="240"/>
+ <Argument name="__ptr" type="_1478r" location="f6:240" file="f6" line="240"/>
+ </Function>
+ <Function id="_130" name="wcsstr" returns="_1469" throw="" context="_1" location="f6:235" file="f6" line="235" extern="1" attributes="__pure__">
+ <Argument name="__haystack" type="_1471" location="f6:235" file="f6" line="235"/>
+ <Argument name="__needle" type="_1471" location="f6:235" file="f6" line="235"/>
+ </Function>
+ <Function id="_131" name="wcspbrk" returns="_1469" throw="" context="_1" location="f6:232" file="f6" line="232" extern="1" attributes="__pure__">
+ <Argument name="__wcs" type="_1471" location="f6:232" file="f6" line="232"/>
+ <Argument name="__accept" type="_1471" location="f6:232" file="f6" line="232"/>
+ </Function>
+ <Function id="_132" name="wcsspn" returns="_1055" throw="" context="_1" location="f6:229" file="f6" line="229" extern="1" attributes="__pure__">
+ <Argument name="__wcs" type="_1471" location="f6:229" file="f6" line="229"/>
+ <Argument name="__accept" type="_1471" location="f6:229" file="f6" line="229"/>
+ </Function>
+ <Function id="_133" name="wcscspn" returns="_1055" throw="" context="_1" location="f6:225" file="f6" line="225" extern="1" attributes="__pure__">
+ <Argument name="__wcs" type="_1471" location="f6:225" file="f6" line="225"/>
+ <Argument name="__reject" type="_1471" location="f6:225" file="f6" line="225"/>
+ </Function>
+ <Function id="_134" name="wcschrnul" returns="_1469" throw="" context="_1" location="f6:218" file="f6" line="218" extern="1" attributes="__pure__">
+ <Argument name="__s" type="_1471" location="f6:218" file="f6" line="218"/>
+ <Argument name="__wc" type="_1477" location="f6:218" file="f6" line="218"/>
+ </Function>
+ <Function id="_135" name="wcsrchr" returns="_1469" throw="" context="_1" location="f6:211" file="f6" line="211" extern="1" attributes="__pure__">
+ <Argument name="__wcs" type="_1471" location="f6:211" file="f6" line="211"/>
+ <Argument name="__wc" type="_1477" location="f6:211" file="f6" line="211"/>
+ </Function>
+ <Function id="_136" name="wcschr" returns="_1469" throw="" context="_1" location="f6:208" file="f6" line="208" extern="1" attributes="__pure__">
+ <Argument name="__wcs" type="_1471" location="f6:208" file="f6" line="208"/>
+ <Argument name="__wc" type="_1477" location="f6:208" file="f6" line="208"/>
+ </Function>
+ <Function id="_137" name="wcsdup" returns="_1469" throw="" context="_1" location="f6:202" file="f6" line="202" extern="1" attributes="__malloc__">
+ <Argument name="__s" type="_1471" location="f6:202" file="f6" line="202"/>
+ </Function>
+ <Function id="_138" name="wcsxfrm_l" returns="_1055" throw="" context="_1" location="f6:199" file="f6" line="199" extern="1">
+ <Argument name="__s1" type="_1469" location="f6:199" file="f6" line="199"/>
+ <Argument name="__s2" type="_1471" location="f6:199" file="f6" line="199"/>
+ <Argument name="__n" type="_1055" location="f6:199" file="f6" line="199"/>
+ <Argument name="__loc" type="_1045" location="f6:199" file="f6" line="199"/>
+ </Function>
+ <Function id="_139" name="wcscoll_l" returns="_9" throw="" context="_1" location="f6:193" file="f6" line="193" extern="1">
+ <Argument name="__s1" type="_1471" location="f6:193" file="f6" line="193"/>
+ <Argument name="__s2" type="_1471" location="f6:193" file="f6" line="193"/>
+ <Argument name="__loc" type="_1045" location="f6:193" file="f6" line="193"/>
+ </Function>
+ <Function id="_140" name="wcsxfrm" returns="_1055" throw="" context="_1" location="f6:183" file="f6" line="183" extern="1">
+ <Argument name="__s1" type="_1469r" location="f6:183" file="f6" line="183"/>
+ <Argument name="__s2" type="_1471r" location="f6:183" file="f6" line="183"/>
+ <Argument name="__n" type="_1055" location="f6:183" file="f6" line="183"/>
+ </Function>
+ <Function id="_141" name="wcscoll" returns="_9" throw="" context="_1" location="f6:178" file="f6" line="178" extern="1">
+ <Argument name="__s1" type="_1471" location="f6:178" file="f6" line="178"/>
+ <Argument name="__s2" type="_1471" location="f6:178" file="f6" line="178"/>
+ </Function>
+ <Function id="_142" name="wcsncasecmp_l" returns="_9" throw="" context="_1" location="f6:172" file="f6" line="172" extern="1">
+ <Argument name="__s1" type="_1471" location="f6:172" file="f6" line="172"/>
+ <Argument name="__s2" type="_1471" location="f6:172" file="f6" line="172"/>
+ <Argument name="__n" type="_1055" location="f6:172" file="f6" line="172"/>
+ <Argument name="__loc" type="_1045" location="f6:172" file="f6" line="172"/>
+ </Function>
+ <Function id="_143" name="wcscasecmp_l" returns="_9" throw="" context="_1" location="f6:169" file="f6" line="169" extern="1">
+ <Argument name="__s1" type="_1471" location="f6:169" file="f6" line="169"/>
+ <Argument name="__s2" type="_1471" location="f6:169" file="f6" line="169"/>
+ <Argument name="__loc" type="_1045" location="f6:169" file="f6" line="169"/>
+ </Function>
+ <Function id="_144" name="wcsncasecmp" returns="_9" throw="" context="_1" location="f6:162" file="f6" line="162" extern="1">
+ <Argument name="__s1" type="_1471" location="f6:162" file="f6" line="162"/>
+ <Argument name="__s2" type="_1471" location="f6:162" file="f6" line="162"/>
+ <Argument name="__n" type="_1055" location="f6:162" file="f6" line="162"/>
+ </Function>
+ <Function id="_145" name="wcscasecmp" returns="_9" throw="" context="_1" location="f6:158" file="f6" line="158" extern="1">
+ <Argument name="__s1" type="_1471" location="f6:158" file="f6" line="158"/>
+ <Argument name="__s2" type="_1471" location="f6:158" file="f6" line="158"/>
+ </Function>
+ <Function id="_146" name="wcsncmp" returns="_9" throw="" context="_1" location="f6:153" file="f6" line="153" extern="1" attributes="__pure__">
+ <Argument name="__s1" type="_1471" location="f6:153" file="f6" line="153"/>
+ <Argument name="__s2" type="_1471" location="f6:153" file="f6" line="153"/>
+ <Argument name="__n" type="_1055" location="f6:153" file="f6" line="153"/>
+ </Function>
+ <Function id="_147" name="wcscmp" returns="_9" throw="" context="_1" location="f6:150" file="f6" line="150" extern="1" attributes="__pure__">
+ <Argument name="__s1" type="_1471" location="f6:150" file="f6" line="150"/>
+ <Argument name="__s2" type="_1471" location="f6:150" file="f6" line="150"/>
+ </Function>
+ <Function id="_148" name="wcsncat" returns="_1469" throw="" context="_1" location="f6:146" file="f6" line="146" extern="1">
+ <Argument name="__dest" type="_1469r" location="f6:146" file="f6" line="146"/>
+ <Argument name="__src" type="_1471r" location="f6:146" file="f6" line="146"/>
+ <Argument name="__n" type="_1055" location="f6:146" file="f6" line="146"/>
+ </Function>
+ <Function id="_149" name="wcscat" returns="_1469" throw="" context="_1" location="f6:142" file="f6" line="142" extern="1">
+ <Argument name="__dest" type="_1469r" location="f6:142" file="f6" line="142"/>
+ <Argument name="__src" type="_1471r" location="f6:142" file="f6" line="142"/>
+ </Function>
+ <Function id="_150" name="wcsncpy" returns="_1469" throw="" context="_1" location="f6:138" file="f6" line="138" extern="1">
+ <Argument name="__dest" type="_1469r" location="f6:138" file="f6" line="138"/>
+ <Argument name="__src" type="_1471r" location="f6:138" file="f6" line="138"/>
+ <Argument name="__n" type="_1055" location="f6:138" file="f6" line="138"/>
+ </Function>
+ <Function id="_151" name="wcscpy" returns="_1469" throw="" context="_1" location="f6:134" file="f6" line="134" extern="1">
+ <Argument name="__dest" type="_1469r" location="f6:134" file="f6" line="134"/>
+ <Argument name="__src" type="_1471r" location="f6:134" file="f6" line="134"/>
+ </Function>
+ <Struct id="_152" name="__mbstate_t" context="_1" mangled="11__mbstate_t" demangled="__mbstate_t" location="f6:84" file="f6" line="84" size="64" align="32" members="_1494 _1495 _1496 _1497 _1498 " bases=""/>
+ <Typedef id="_153" name="mbstate_t" type="_152" context="_1" location="f6:95" file="f6" line="95"/>
+ <Function id="_154" name="toupper_l" returns="_9" throw="" context="_1" location="f7:268" file="f7" line="268" extern="1">
+ <Argument name="__c" type="_9" location="f7:268" file="f7" line="268"/>
+ <Argument name="__l" type="_1045" location="f7:268" file="f7" line="268"/>
+ </Function>
+ <Function id="_155" name="__toupper_l" returns="_9" throw="" context="_1" location="f7:267" file="f7" line="267" extern="1">
+ <Argument name="__c" type="_9" location="f7:267" file="f7" line="267"/>
+ <Argument name="__l" type="_1045" location="f7:267" file="f7" line="267"/>
+ </Function>
+ <Function id="_156" name="tolower_l" returns="_9" throw="" context="_1" location="f7:264" file="f7" line="264" extern="1">
+ <Argument name="__c" type="_9" location="f7:264" file="f7" line="264"/>
+ <Argument name="__l" type="_1045" location="f7:264" file="f7" line="264"/>
+ </Function>
+ <Function id="_157" name="__tolower_l" returns="_9" throw="" context="_1" location="f7:263" file="f7" line="263" extern="1">
+ <Argument name="__c" type="_9" location="f7:263" file="f7" line="263"/>
+ <Argument name="__l" type="_1045" location="f7:263" file="f7" line="263"/>
+ </Function>
+ <Function id="_158" name="isblank_l" returns="_9" throw="" context="_1" location="f7:259" file="f7" line="259" extern="1">
+ <Argument type="_9" location="f7:259" file="f7" line="259"/>
+ <Argument type="_1045" location="f7:259" file="f7" line="259"/>
+ </Function>
+ <Function id="_159" name="isxdigit_l" returns="_9" throw="" context="_1" location="f7:257" file="f7" line="257" extern="1">
+ <Argument type="_9" location="f7:257" file="f7" line="257"/>
+ <Argument type="_1045" location="f7:257" file="f7" line="257"/>
+ </Function>
+ <Function id="_160" name="isupper_l" returns="_9" throw="" context="_1" location="f7:256" file="f7" line="256" extern="1">
+ <Argument type="_9" location="f7:256" file="f7" line="256"/>
+ <Argument type="_1045" location="f7:256" file="f7" line="256"/>
+ </Function>
+ <Function id="_161" name="isspace_l" returns="_9" throw="" context="_1" location="f7:255" file="f7" line="255" extern="1">
+ <Argument type="_9" location="f7:255" file="f7" line="255"/>
+ <Argument type="_1045" location="f7:255" file="f7" line="255"/>
+ </Function>
+ <Function id="_162" name="ispunct_l" returns="_9" throw="" context="_1" location="f7:254" file="f7" line="254" extern="1">
+ <Argument type="_9" location="f7:254" file="f7" line="254"/>
+ <Argument type="_1045" location="f7:254" file="f7" line="254"/>
+ </Function>
+ <Function id="_163" name="isprint_l" returns="_9" throw="" context="_1" location="f7:253" file="f7" line="253" extern="1">
+ <Argument type="_9" location="f7:253" file="f7" line="253"/>
+ <Argument type="_1045" location="f7:253" file="f7" line="253"/>
+ </Function>
+ <Function id="_164" name="isgraph_l" returns="_9" throw="" context="_1" location="f7:252" file="f7" line="252" extern="1">
+ <Argument type="_9" location="f7:252" file="f7" line="252"/>
+ <Argument type="_1045" location="f7:252" file="f7" line="252"/>
+ </Function>
+ <Function id="_165" name="islower_l" returns="_9" throw="" context="_1" location="f7:251" file="f7" line="251" extern="1">
+ <Argument type="_9" location="f7:251" file="f7" line="251"/>
+ <Argument type="_1045" location="f7:251" file="f7" line="251"/>
+ </Function>
+ <Function id="_166" name="isdigit_l" returns="_9" throw="" context="_1" location="f7:250" file="f7" line="250" extern="1">
+ <Argument type="_9" location="f7:250" file="f7" line="250"/>
+ <Argument type="_1045" location="f7:250" file="f7" line="250"/>
+ </Function>
+ <Function id="_167" name="iscntrl_l" returns="_9" throw="" context="_1" location="f7:249" file="f7" line="249" extern="1">
+ <Argument type="_9" location="f7:249" file="f7" line="249"/>
+ <Argument type="_1045" location="f7:249" file="f7" line="249"/>
+ </Function>
+ <Function id="_168" name="isalpha_l" returns="_9" throw="" context="_1" location="f7:248" file="f7" line="248" extern="1">
+ <Argument type="_9" location="f7:248" file="f7" line="248"/>
+ <Argument type="_1045" location="f7:248" file="f7" line="248"/>
+ </Function>
+ <Function id="_169" name="isalnum_l" returns="_9" throw="" context="_1" location="f7:247" file="f7" line="247" extern="1">
+ <Argument type="_9" location="f7:247" file="f7" line="247"/>
+ <Argument type="_1045" location="f7:247" file="f7" line="247"/>
+ </Function>
+ <Function id="_170" name="_tolower" returns="_9" throw="" context="_1" location="f7:151" file="f7" line="151" extern="1">
+ <Argument type="_9" location="f7:151" file="f7" line="151"/>
+ </Function>
+ <Function id="_171" name="_toupper" returns="_9" throw="" context="_1" location="f7:150" file="f7" line="150" extern="1">
+ <Argument type="_9" location="f7:150" file="f7" line="150"/>
+ </Function>
+ <Function id="_172" name="toascii" returns="_9" throw="" context="_1" location="f7:146" file="f7" line="146" extern="1">
+ <Argument name="__c" type="_9" location="f7:146" file="f7" line="146"/>
+ </Function>
+ <Function id="_173" name="isascii" returns="_9" throw="" context="_1" location="f7:142" file="f7" line="142" extern="1">
+ <Argument name="__c" type="_9" location="f7:142" file="f7" line="142"/>
+ </Function>
+ <Function id="_174" name="isctype" returns="_9" throw="" context="_1" location="f7:135" file="f7" line="135" extern="1">
+ <Argument name="__c" type="_9" location="f7:135" file="f7" line="135"/>
+ <Argument name="__mask" type="_9" location="f7:135" file="f7" line="135"/>
+ </Function>
+ <Function id="_175" name="isblank" returns="_9" throw="" context="_1" location="f7:128" file="f7" line="128" extern="1">
+ <Argument type="_9" location="f7:128" file="f7" line="128"/>
+ </Function>
+ <Function id="_176" name="toupper" returns="_9" throw="" context="_1" location="f7:119" file="f7" line="119" extern="1">
+ <Argument name="__c" type="_9" location="f7:119" file="f7" line="119"/>
+ </Function>
+ <Function id="_177" name="tolower" returns="_9" throw="" context="_1" location="f7:116" file="f7" line="116" extern="1">
+ <Argument name="__c" type="_9" location="f7:116" file="f7" line="116"/>
+ </Function>
+ <Function id="_178" name="isxdigit" returns="_9" throw="" context="_1" location="f7:112" file="f7" line="112" extern="1">
+ <Argument type="_9" location="f7:112" file="f7" line="112"/>
+ </Function>
+ <Function id="_179" name="isupper" returns="_9" throw="" context="_1" location="f7:111" file="f7" line="111" extern="1">
+ <Argument type="_9" location="f7:111" file="f7" line="111"/>
+ </Function>
+ <Function id="_180" name="isspace" returns="_9" throw="" context="_1" location="f7:110" file="f7" line="110" extern="1">
+ <Argument type="_9" location="f7:110" file="f7" line="110"/>
+ </Function>
+ <Function id="_181" name="ispunct" returns="_9" throw="" context="_1" location="f7:109" file="f7" line="109" extern="1">
+ <Argument type="_9" location="f7:109" file="f7" line="109"/>
+ </Function>
+ <Function id="_182" name="isprint" returns="_9" throw="" context="_1" location="f7:108" file="f7" line="108" extern="1">
+ <Argument type="_9" location="f7:108" file="f7" line="108"/>
+ </Function>
+ <Function id="_183" name="isgraph" returns="_9" throw="" context="_1" location="f7:107" file="f7" line="107" extern="1">
+ <Argument type="_9" location="f7:107" file="f7" line="107"/>
+ </Function>
+ <Function id="_184" name="islower" returns="_9" throw="" context="_1" location="f7:106" file="f7" line="106" extern="1">
+ <Argument type="_9" location="f7:106" file="f7" line="106"/>
+ </Function>
+ <Function id="_185" name="isdigit" returns="_9" throw="" context="_1" location="f7:105" file="f7" line="105" extern="1">
+ <Argument type="_9" location="f7:105" file="f7" line="105"/>
+ </Function>
+ <Function id="_186" name="iscntrl" returns="_9" throw="" context="_1" location="f7:104" file="f7" line="104" extern="1">
+ <Argument type="_9" location="f7:104" file="f7" line="104"/>
+ </Function>
+ <Function id="_187" name="isalpha" returns="_9" throw="" context="_1" location="f7:103" file="f7" line="103" extern="1">
+ <Argument type="_9" location="f7:103" file="f7" line="103"/>
+ </Function>
+ <Function id="_188" name="isalnum" returns="_9" throw="" context="_1" location="f7:102" file="f7" line="102" extern="1">
+ <Argument type="_9" location="f7:102" file="f7" line="102"/>
+ </Function>
+ <Function id="_189" name="__ctype_toupper_loc" returns="_1499" context="_1" location="f7:86" file="f7" line="86" extern="1" attributes="const"/>
+ <Function id="_190" name="__ctype_tolower_loc" returns="_1499" context="_1" location="f7:84" file="f7" line="84" extern="1" attributes="const"/>
+ <Function id="_191" name="__ctype_b_loc" returns="_1500" context="_1" location="f7:82" file="f7" line="82" extern="1" attributes="const"/>
+ <Enumeration id="_192" name="._47" context="_1" location="f7:49" file="f7" line="49" artificial="1" size="32" align="32">
+ <EnumValue name="_ISupper" init="256"/>
+ <EnumValue name="_ISlower" init="512"/>
+ <EnumValue name="_ISalpha" init="1024"/>
+ <EnumValue name="_ISdigit" init="2048"/>
+ <EnumValue name="_ISxdigit" init="4096"/>
+ <EnumValue name="_ISspace" init="8192"/>
+ <EnumValue name="_ISprint" init="16384"/>
+ <EnumValue name="_ISgraph" init="32768"/>
+ <EnumValue name="_ISblank" init="1"/>
+ <EnumValue name="_IScntrl" init="2"/>
+ <EnumValue name="_ISpunct" init="4"/>
+ <EnumValue name="_ISalnum" init="8"/>
+ </Enumeration>
+ <Function id="_193" name="__gthread_recursiv...
[truncated message content] |
|
From: <rom...@us...> - 2007-11-06 21:53:04
|
Revision: 1126
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1126&view=rev
Author: roman_yakovenko
Date: 2007-11-06 13:53:07 -0800 (Tue, 06 Nov 2007)
Log Message:
-----------
Removed Paths:
-------------
gccxml_bin/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rom...@us...> - 2007-11-06 20:49:41
|
Revision: 1125
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1125&view=rev
Author: roman_yakovenko
Date: 2007-11-06 12:49:43 -0800 (Tue, 06 Nov 2007)
Log Message:
-----------
adding gccxml binaries to SVN
Added Paths:
-----------
gccxml_bin/
gccxml_bin/v07/
gccxml_bin/v09/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rom...@us...> - 2007-11-05 20:56:49
|
Revision: 1124
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1124&view=rev
Author: roman_yakovenko
Date: 2007-11-05 12:56:46 -0800 (Mon, 05 Nov 2007)
Log Message:
-----------
small spelling error fix
Modified Paths:
--------------
installers/install_gccxml.py
Modified: installers/install_gccxml.py
===================================================================
--- installers/install_gccxml.py 2007-11-05 20:53:07 UTC (rev 1123)
+++ installers/install_gccxml.py 2007-11-05 20:56:46 UTC (rev 1124)
@@ -99,7 +99,7 @@
!= os.path.realpath( gccxml_cvs_dir_path ):
utils.rmtree_safe( gccxml_cvs_dir_path )
shutil.copytree( config.setup_builder.gccxml_cvs_dir, gccxml_cvs_dir_path )
- utils.logger.info( 'coping gccxml directory - done' )
+ utils.logger.info( 'copying gccxml directory - done' )
#TODO: remove cvs files from the directory
utils.logger.info( 'archiving gccxml "%s" directory ' % gccxml_cvs_dir_path )
gccxml_tar_file = os.path.join( working_dir, config.archives.gccxml )
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rom...@us...> - 2007-11-05 20:54:11
|
Revision: 1123
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1123&view=rev
Author: roman_yakovenko
Date: 2007-11-05 12:53:07 -0800 (Mon, 05 Nov 2007)
Log Message:
-----------
small refactoring to improve unittest speed
Modified Paths:
--------------
pygccxml_dev/unittests/patcher_tester.py
Modified: pygccxml_dev/unittests/patcher_tester.py
===================================================================
--- pygccxml_dev/unittests/patcher_tester.py 2007-11-05 20:45:26 UTC (rev 1122)
+++ pygccxml_dev/unittests/patcher_tester.py 2007-11-05 20:53:07 UTC (rev 1123)
@@ -13,23 +13,11 @@
from pygccxml import declarations
class tester_impl_t( parser_test_case.parser_test_case_t ):
-
def __init__(self, architecture, *args):
parser_test_case.parser_test_case_t.__init__(self, *args)
self.architecture = architecture
self.global_ns = None
-
- def setUp( self ):
- reader = parser.source_reader_t( self.config )
- if 32 == self.architecture:
- self.global_ns = reader.read_file( 'patcher.hpp' )[0].top_parent
- else:
- original_get_architecture = utils.get_architecture
- utils.get_architecture = lambda: 64
- self.global_ns = reader.read_xml_file(
- os.path.join( autoconfig.data_directory, 'patcher_tester_64bit.xml' ) )[0].top_parent
- utils.get_architecture = original_get_architecture
-
+
def test_enum_patcher(self):
fix_enum = self.global_ns.free_fun( 'fix_enum' )
self.failUnless( fix_enum.arguments[0].default_value == '::ns1::ns2::apple' )
@@ -67,13 +55,37 @@
self.failUnless( clone_tree.arguments[0].default_value in default_values)
class tester_32_t( tester_impl_t ):
+ global_ns = None
def __init__(self, *args):
tester_impl_t.__init__(self, 32, *args)
+
+ def setUp( self ):
+ if not tester_32_t.global_ns:
+ reader = parser.source_reader_t( self.config )
+ tester_32_t.global_ns = reader.read_file( 'patcher.hpp' )[0].top_parent
+ self.global_ns = tester_32_t.global_ns
+
+
class tester_64_t( tester_impl_t ):
+ global_ns = None
def __init__(self, *args):
tester_impl_t.__init__(self, 64, *args)
+ self.original_get_architecture = utils.get_architecture
+ def setUp( self ):
+ self.original_get_architecture = utils.get_architecture
+ utils.get_architecture = lambda: 64
+
+ if not tester_64_t.global_ns:
+ reader = parser.source_reader_t( self.config )
+ tester_64_t.global_ns = reader.read_xml_file(
+ os.path.join( autoconfig.data_directory, 'patcher_tester_64bit.xml' ) )[0].top_parent
+ self.global_ns = tester_64_t.global_ns
+
+ def tearDown( self ):
+ utils.get_architecture = self.original_get_architecture
+
def create_suite():
suite = unittest.TestSuite()
suite.addTest( unittest.makeSuite(tester_32_t))
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rom...@us...> - 2007-11-05 20:45:22
|
Revision: 1122
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1122&view=rev
Author: roman_yakovenko
Date: 2007-11-05 12:45:26 -0800 (Mon, 05 Nov 2007)
Log Message:
-----------
adding treatment for new int suffixies
Modified Paths:
--------------
pygccxml_dev/pygccxml/parser/scanner.py
Modified: pygccxml_dev/pygccxml/parser/scanner.py
===================================================================
--- pygccxml_dev/pygccxml/parser/scanner.py 2007-11-05 16:48:02 UTC (rev 1121)
+++ pygccxml_dev/pygccxml/parser/scanner.py 2007-11-05 20:45:26 UTC (rev 1122)
@@ -75,9 +75,7 @@
XML_NN_TYPEDEF = "Typedef"
XML_NN_UNION = "Union"
XML_NN_VARIABLE = "Variable"
-
-NUMERIC_SUFFIX_LETTERS = 'UuLlFf'
-
+
class scanner_t( xml.sax.handler.ContentHandler ):
def __init__(self, gccxml_file, decl_factory, *args ):
xml.sax.handler.ContentHandler.__init__(self, *args )
@@ -257,7 +255,7 @@
decl.demangled = attrs.get( XML_AN_DEMANGLED, None )
def __read_attributes( self, decl, attrs ):
- decl.attributes = attrs.get( XML_AN_ATTRIBUTES, None )
+ decl.attributes = attrs.get( XML_AN_ATTRIBUTES, None )
def __read_access( self, attrs ):
self.__access[ attrs[XML_AN_ID] ] = attrs.get( XML_AN_ACCESS, ACCESS_TYPES.PUBLIC )
@@ -291,18 +289,26 @@
num = int(attrs[XML_AN_INIT])
self.__inst.append_value(name, num)
+ def __guess_int_value( self, value_as_str ):
+ #returns instance of int or None
+ #if gcc compiled the code, than it is correct!
+ numeric_suffix_letters = 'UuLlFf'
+ for s in numeric_suffix_letters:
+ value_as_str = value_as_str.replace( s, '' )
+ try:
+ return int( value_as_str )
+ except ValueError:
+ try:
+ return int( value_as_str, 16 )
+ except ValueError:
+ return None
+
def __read_array_type( self, attrs ):
type_ = attrs[ XML_AN_TYPE ]
- size = array_t.SIZE_UNKNOWN
- if attrs.has_key(XML_AN_MAX):
- if attrs[XML_AN_MAX]:
- try:
- size = int( attrs[XML_AN_MAX] )
- except ValueError:
- try:
- size = int( attrs[ XML_AN_MAX ], 16 )
- except ValueError:
- warnings.warn( 'unable to find out array size from expression "%s"' % attrs[ XML_AN_MAX ] )
+ size = self.__guess_int_value( attrs.get(XML_AN_MAX, '' ) )
+ if size is None:
+ size = array_t.SIZE_UNKNOWN
+ warnings.warn( 'unable to find out array size from expression "%s"' % attrs[ XML_AN_MAX ] )
return array_t( type_, size + 1 )
def __read_cv_qualified_type( self, attrs ):
@@ -480,7 +486,7 @@
version = float( attrs.get(XML_AN_CVS_REVISION, None) )
if version is None:
version = "0.6"
- elif version <= 1.114:
+ elif version < 1.117:
version = "0.7"
else:
version = "0.9"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rom...@us...> - 2007-11-05 16:48:07
|
Revision: 1121
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1121&view=rev
Author: roman_yakovenko
Date: 2007-11-05 08:48:02 -0800 (Mon, 05 Nov 2007)
Log Message:
-----------
adding info about compiler
Modified Paths:
--------------
pygccxml_dev/pygccxml/declarations/declaration.py
pygccxml_dev/pygccxml/parser/scanner.py
pygccxml_dev/unittests/autoconfig.py
pygccxml_dev/unittests/core_tester.py
Modified: pygccxml_dev/pygccxml/declarations/declaration.py
===================================================================
--- pygccxml_dev/pygccxml/declarations/declaration.py 2007-11-04 20:30:29 UTC (rev 1120)
+++ pygccxml_dev/pygccxml/declarations/declaration.py 2007-11-05 16:48:02 UTC (rev 1121)
@@ -66,7 +66,8 @@
self._attributes = attributes
self._parent = None
self._cache = algorithms_cache.declaration_algs_cache_t()
-
+ self._compiler = None
+
def __str__(self):
"""Default __str__ method.
@@ -229,7 +230,6 @@
""" )
-
def _create_decl_string(self):
return algorithm.full_name( self )
@@ -251,3 +251,11 @@
"""return list of all types and declarations the declaration depends on"""
print self
raise NotImplementedError()
+
+ def _get_compiler( self ):
+ return self._compiler
+ def _set_compiler( self, compiler ):
+ self._compiler = compiler
+ compiler = property( _get_compiler, _set_compiler
+ , doc="""compiler name + version
+ @type: str""" )
Modified: pygccxml_dev/pygccxml/parser/scanner.py
===================================================================
--- pygccxml_dev/pygccxml/parser/scanner.py 2007-11-04 20:30:29 UTC (rev 1120)
+++ pygccxml_dev/pygccxml/parser/scanner.py 2007-11-05 16:48:02 UTC (rev 1121)
@@ -25,6 +25,7 @@
XML_AN_BITS = "bits"
XML_AN_CONST = "const"
XML_AN_CONTEXT = "context"
+XML_AN_CVS_REVISION = "cvs_revision"
XML_AN_DEFAULT = "default"
XML_AN_DEMANGLED = "demangled"
XML_AN_EXTERN = "extern"
@@ -61,6 +62,7 @@
XML_NN_FUNCTION_TYPE = "FunctionType"
XML_NN_FUNDAMENTAL_TYPE = "FundamentalType"
XML_NN_FREE_OPERATOR = "OperatorFunction"
+XML_NN_GCC_XML = "GCC_XML"
XML_NN_MEMBER_OPERATOR = "OperatorMethod"
XML_NN_METHOD = "Method"
XML_NN_METHOD_TYPE = "MethodType"
@@ -109,6 +111,7 @@
, XML_NN_FREE_OPERATOR : self.__read_free_operator
, XML_NN_MEMBER_OPERATOR : self.__read_member_operator
, XML_NN_METHOD : self.__read_method
+ , XML_NN_GCC_XML : self.__read_version
}
self.deep_declarations = [
XML_NN_CASTING_OPERATOR
@@ -143,6 +146,8 @@
self.__inst = None
#mapping from id to members
self.__members = {}
+
+ self.__compiler = None
def read( self ):
xml.sax.parse( self.gccxml_file, self )
@@ -197,6 +202,7 @@
self.__read_access( attrs )
element_id = attrs.get(XML_AN_ID, None)
if isinstance( obj, declaration_t ):
+ obj.compiler = self.__compiler
self.__update_membership( attrs )
self.__declarations[ element_id ] = obj
if not isinstance( obj, namespace_t ):
@@ -469,3 +475,13 @@
else:
operator.name = 'operator' + operator.name
return operator
+
+ def __read_version(self, attrs):
+ version = float( attrs.get(XML_AN_CVS_REVISION, None) )
+ if version is None:
+ version = "0.6"
+ elif version <= 1.114:
+ version = "0.7"
+ else:
+ version = "0.9"
+ self.__compiler = "GCC-XML " + version
Modified: pygccxml_dev/unittests/autoconfig.py
===================================================================
--- pygccxml_dev/unittests/autoconfig.py 2007-11-04 20:30:29 UTC (rev 1120)
+++ pygccxml_dev/unittests/autoconfig.py 2007-11-05 16:48:02 UTC (rev 1121)
@@ -18,7 +18,7 @@
if 'roman' in getpass.getuser():
if sys.platform == 'win32':
compiler = 'msvc71'
- gccxml_path = r'd:/dev/gccxml_cvs/gccxml-bin/bin/release/gccxml.exe'
+ gccxml_path = r'D:/dev/gccxml/gccxml.exe'
else:
gccxml_path = '/home/roman/gccxml/bin/gccxml'
Modified: pygccxml_dev/unittests/core_tester.py
===================================================================
--- pygccxml_dev/unittests/core_tester.py 2007-11-04 20:30:29 UTC (rev 1120)
+++ pygccxml_dev/unittests/core_tester.py 2007-11-05 16:48:02 UTC (rev 1121)
@@ -294,6 +294,9 @@
implementation = ns.class_( 'implementation' )
self.failUnless( not implementation.is_abstract, "class 'implementation' should not be abstract" )
+ def test_versioning(self):
+ for d in self.global_ns.decls():
+ self.failUnless( d.compiler )
class core_all_at_once_t( core_t ):
COMPILATION_MODE = COMPILATION_MODE.ALL_AT_ONCE
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rom...@us...> - 2007-11-04 20:30:24
|
Revision: 1120
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1120&view=rev
Author: roman_yakovenko
Date: 2007-11-04 12:30:29 -0800 (Sun, 04 Nov 2007)
Log Message:
-----------
adding new test case
Added Paths:
-----------
pygccxml_dev/gccxml-0.9-upgrade/volatile_arg.7.xml
pygccxml_dev/gccxml-0.9-upgrade/volatile_arg.9.xml
pygccxml_dev/gccxml-0.9-upgrade/volatile_arg.h
Added: pygccxml_dev/gccxml-0.9-upgrade/volatile_arg.7.xml
===================================================================
--- pygccxml_dev/gccxml-0.9-upgrade/volatile_arg.7.xml (rev 0)
+++ pygccxml_dev/gccxml-0.9-upgrade/volatile_arg.7.xml 2007-11-04 20:30:29 UTC (rev 1120)
@@ -0,0 +1,414 @@
+<?xml version="1.0"?>
+<GCC_XML cvs_revision="1.114">
+ <Namespace id="_1" name="::" members="_3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 _25 _26 _27 _28 _29 _30 _31 _32 _33 _34 _35 _36 _37 _38 _39 _40 _41 _42 _43 _44 _45 _46 _47 _48 _49 _50 _51 _52 _53 _54 _55 _56 _57 _58 _59 _60 _61 _62 _63 _64 _65 _66 _67 _68 _69 _70 _71 _72 _73 _74 _75 _76 _77 _78 _79 _80 _81 _82 _83 _84 _85 _86 _87 _88 _89 _90 _91 _92 _93 _94 _95 _96 _97 _98 _99 _100 _101 _102 _103 _104 _105 _106 _107 _108 _109 _110 _111 _112 _113 _114 _115 _116 _117 _118 _119 _120 _121 _122 _123 " mangled="_Z2::" demangled="::"/>
+ <Namespace id="_2" name="std" context="_1" members="" mangled="_Z3std" demangled="std"/>
+ <Function id="_3" name="do_smth" returns="_124" context="_1" mangled="_Z7do_smthRV6data_t" demangled="do_smth(data_t volatile&)" location="f0:10" file="f0" line="10" extern="1">
+ <Argument name="data" type="_125" location="f0:10" file="f0" line="10"/>
+ </Function>
+ <Struct id="_4" name="data_t" context="_1" mangled="6data_t" demangled="data_t" location="f0:6" file="f0" line="6" artificial="1" size="32" align="32" members="_126 _127 _128 " bases=""/>
+ <Function id="_5" name="__builtin_cpowl" returns="_129" context="_1" location="f1:131" file="f1" line="131" extern="1">
+ <Argument type="_129" location="f1:131" file="f1" line="131"/>
+ <Argument type="_129" location="f1:131" file="f1" line="131"/>
+ </Function>
+ <Function id="_6" name="__builtin_cpow" returns="_130" context="_1" location="f1:130" file="f1" line="130" extern="1">
+ <Argument type="_130" location="f1:130" file="f1" line="130"/>
+ <Argument type="_130" location="f1:130" file="f1" line="130"/>
+ </Function>
+ <Function id="_7" name="__builtin_cpowf" returns="_131" context="_1" location="f1:129" file="f1" line="129" extern="1">
+ <Argument type="_131" location="f1:129" file="f1" line="129"/>
+ <Argument type="_131" location="f1:129" file="f1" line="129"/>
+ </Function>
+ <Function id="_8" name="__builtin_ctanhl" returns="_129" context="_1" location="f1:128" file="f1" line="128" extern="1">
+ <Argument type="_129" location="f1:128" file="f1" line="128"/>
+ </Function>
+ <Function id="_9" name="__builtin_ctanh" returns="_130" context="_1" location="f1:127" file="f1" line="127" extern="1">
+ <Argument type="_130" location="f1:127" file="f1" line="127"/>
+ </Function>
+ <Function id="_10" name="__builtin_ctanhf" returns="_131" context="_1" location="f1:126" file="f1" line="126" extern="1">
+ <Argument type="_131" location="f1:126" file="f1" line="126"/>
+ </Function>
+ <Function id="_11" name="__builtin_ctanl" returns="_129" context="_1" location="f1:125" file="f1" line="125" extern="1">
+ <Argument type="_129" location="f1:125" file="f1" line="125"/>
+ </Function>
+ <Function id="_12" name="__builtin_ctan" returns="_130" context="_1" location="f1:124" file="f1" line="124" extern="1">
+ <Argument type="_130" location="f1:124" file="f1" line="124"/>
+ </Function>
+ <Function id="_13" name="__builtin_ctanf" returns="_131" context="_1" location="f1:123" file="f1" line="123" extern="1">
+ <Argument type="_131" location="f1:123" file="f1" line="123"/>
+ </Function>
+ <Function id="_14" name="__builtin_csqrtl" returns="_129" context="_1" location="f1:122" file="f1" line="122" extern="1">
+ <Argument type="_129" location="f1:122" file="f1" line="122"/>
+ </Function>
+ <Function id="_15" name="__builtin_csqrt" returns="_130" context="_1" location="f1:121" file="f1" line="121" extern="1">
+ <Argument type="_130" location="f1:121" file="f1" line="121"/>
+ </Function>
+ <Function id="_16" name="__builtin_csqrtf" returns="_131" context="_1" location="f1:120" file="f1" line="120" extern="1">
+ <Argument type="_131" location="f1:120" file="f1" line="120"/>
+ </Function>
+ <Function id="_17" name="__builtin_csinhl" returns="_129" context="_1" location="f1:119" file="f1" line="119" extern="1">
+ <Argument type="_129" location="f1:119" file="f1" line="119"/>
+ </Function>
+ <Function id="_18" name="__builtin_csinh" returns="_130" context="_1" location="f1:118" file="f1" line="118" extern="1">
+ <Argument type="_130" location="f1:118" file="f1" line="118"/>
+ </Function>
+ <Function id="_19" name="__builtin_csinhf" returns="_131" context="_1" location="f1:117" file="f1" line="117" extern="1">
+ <Argument type="_131" location="f1:117" file="f1" line="117"/>
+ </Function>
+ <Function id="_20" name="__builtin_csinl" returns="_129" context="_1" location="f1:116" file="f1" line="116" extern="1">
+ <Argument type="_129" location="f1:116" file="f1" line="116"/>
+ </Function>
+ <Function id="_21" name="__builtin_csin" returns="_130" context="_1" location="f1:115" file="f1" line="115" extern="1">
+ <Argument type="_130" location="f1:115" file="f1" line="115"/>
+ </Function>
+ <Function id="_22" name="__builtin_csinf" returns="_131" context="_1" location="f1:114" file="f1" line="114" extern="1">
+ <Argument type="_131" location="f1:114" file="f1" line="114"/>
+ </Function>
+ <Function id="_23" name="__builtin_clogl" returns="_129" context="_1" location="f1:113" file="f1" line="113" extern="1">
+ <Argument type="_129" location="f1:113" file="f1" line="113"/>
+ </Function>
+ <Function id="_24" name="__builtin_clog" returns="_130" context="_1" location="f1:112" file="f1" line="112" extern="1">
+ <Argument type="_130" location="f1:112" file="f1" line="112"/>
+ </Function>
+ <Function id="_25" name="__builtin_clogf" returns="_131" context="_1" location="f1:111" file="f1" line="111" extern="1">
+ <Argument type="_131" location="f1:111" file="f1" line="111"/>
+ </Function>
+ <Function id="_26" name="__builtin_cexpl" returns="_129" context="_1" location="f1:110" file="f1" line="110" extern="1">
+ <Argument type="_129" location="f1:110" file="f1" line="110"/>
+ </Function>
+ <Function id="_27" name="__builtin_cexp" returns="_130" context="_1" location="f1:109" file="f1" line="109" extern="1">
+ <Argument type="_130" location="f1:109" file="f1" line="109"/>
+ </Function>
+ <Function id="_28" name="__builtin_cexpf" returns="_131" context="_1" location="f1:108" file="f1" line="108" extern="1">
+ <Argument type="_131" location="f1:108" file="f1" line="108"/>
+ </Function>
+ <Function id="_29" name="__builtin_ccoshl" returns="_129" context="_1" location="f1:107" file="f1" line="107" extern="1">
+ <Argument type="_129" location="f1:107" file="f1" line="107"/>
+ </Function>
+ <Function id="_30" name="__builtin_ccosh" returns="_130" context="_1" location="f1:106" file="f1" line="106" extern="1">
+ <Argument type="_130" location="f1:106" file="f1" line="106"/>
+ </Function>
+ <Function id="_31" name="__builtin_ccoshf" returns="_131" context="_1" location="f1:105" file="f1" line="105" extern="1">
+ <Argument type="_131" location="f1:105" file="f1" line="105"/>
+ </Function>
+ <Function id="_32" name="__builtin_ccosl" returns="_129" context="_1" location="f1:104" file="f1" line="104" extern="1">
+ <Argument type="_129" location="f1:104" file="f1" line="104"/>
+ </Function>
+ <Function id="_33" name="__builtin_ccos" returns="_130" context="_1" location="f1:103" file="f1" line="103" extern="1">
+ <Argument type="_130" location="f1:103" file="f1" line="103"/>
+ </Function>
+ <Function id="_34" name="__builtin_ccosf" returns="_131" context="_1" location="f1:102" file="f1" line="102" extern="1">
+ <Argument type="_131" location="f1:102" file="f1" line="102"/>
+ </Function>
+ <Function id="_35" name="__builtin_popcountll" returns="_132" context="_1" location="f1:101" file="f1" line="101" extern="1">
+ <Argument type="_133" location="f1:101" file="f1" line="101"/>
+ </Function>
+ <Function id="_36" name="__builtin_popcountl" returns="_132" context="_1" location="f1:100" file="f1" line="100" extern="1">
+ <Argument type="_134" location="f1:100" file="f1" line="100"/>
+ </Function>
+ <Function id="_37" name="__builtin_popcount" returns="_132" context="_1" location="f1:99" file="f1" line="99" extern="1">
+ <Argument type="_132" location="f1:99" file="f1" line="99"/>
+ </Function>
+ <Function id="_38" name="__builtin_ctzll" returns="_132" context="_1" location="f1:98" file="f1" line="98" extern="1">
+ <Argument type="_133" location="f1:98" file="f1" line="98"/>
+ </Function>
+ <Function id="_39" name="__builtin_ctzl" returns="_132" context="_1" location="f1:97" file="f1" line="97" extern="1">
+ <Argument type="_134" location="f1:97" file="f1" line="97"/>
+ </Function>
+ <Function id="_40" name="__builtin_ctz" returns="_132" context="_1" location="f1:96" file="f1" line="96" extern="1">
+ <Argument type="_132" location="f1:96" file="f1" line="96"/>
+ </Function>
+ <Function id="_41" name="__builtin_cargl" returns="_135" context="_1" location="f1:95" file="f1" line="95" extern="1">
+ <Argument type="_129" location="f1:95" file="f1" line="95"/>
+ </Function>
+ <Function id="_42" name="__builtin_carg" returns="_136" context="_1" location="f1:94" file="f1" line="94" extern="1">
+ <Argument type="_130" location="f1:94" file="f1" line="94"/>
+ </Function>
+ <Function id="_43" name="__builtin_cargf" returns="_137" context="_1" location="f1:93" file="f1" line="93" extern="1">
+ <Argument type="_131" location="f1:93" file="f1" line="93"/>
+ </Function>
+ <Function id="_44" name="__builtin_cabsl" returns="_135" context="_1" location="f1:92" file="f1" line="92" extern="1">
+ <Argument type="_129" location="f1:92" file="f1" line="92"/>
+ </Function>
+ <Function id="_45" name="__builtin_cabs" returns="_136" context="_1" location="f1:91" file="f1" line="91" extern="1">
+ <Argument type="_130" location="f1:91" file="f1" line="91"/>
+ </Function>
+ <Function id="_46" name="__builtin_cabsf" returns="_137" context="_1" location="f1:90" file="f1" line="90" extern="1">
+ <Argument type="_131" location="f1:90" file="f1" line="90"/>
+ </Function>
+ <Function id="_47" name="__builtin_tanl" returns="_135" context="_1" location="f1:89" file="f1" line="89" extern="1">
+ <Argument type="_135" location="f1:89" file="f1" line="89"/>
+ </Function>
+ <Function id="_48" name="__builtin_tanhl" returns="_135" context="_1" location="f1:88" file="f1" line="88" extern="1">
+ <Argument type="_135" location="f1:88" file="f1" line="88"/>
+ </Function>
+ <Function id="_49" name="__builtin_tanhf" returns="_137" context="_1" location="f1:87" file="f1" line="87" extern="1">
+ <Argument type="_137" location="f1:87" file="f1" line="87"/>
+ </Function>
+ <Function id="_50" name="__builtin_tanh" returns="_136" context="_1" location="f1:86" file="f1" line="86" extern="1">
+ <Argument type="_136" location="f1:86" file="f1" line="86"/>
+ </Function>
+ <Function id="_51" name="__builtin_tanf" returns="_137" context="_1" location="f1:85" file="f1" line="85" extern="1">
+ <Argument type="_137" location="f1:85" file="f1" line="85"/>
+ </Function>
+ <Function id="_52" name="__builtin_tan" returns="_136" context="_1" location="f1:84" file="f1" line="84" extern="1">
+ <Argument type="_136" location="f1:84" file="f1" line="84"/>
+ </Function>
+ <Function id="_53" name="__builtin_sinhl" returns="_135" context="_1" location="f1:79" file="f1" line="79" extern="1">
+ <Argument type="_135" location="f1:79" file="f1" line="79"/>
+ </Function>
+ <Function id="_54" name="__builtin_sinhf" returns="_137" context="_1" location="f1:78" file="f1" line="78" extern="1">
+ <Argument type="_137" location="f1:78" file="f1" line="78"/>
+ </Function>
+ <Function id="_55" name="__builtin_sinh" returns="_136" context="_1" location="f1:77" file="f1" line="77" extern="1">
+ <Argument type="_136" location="f1:77" file="f1" line="77"/>
+ </Function>
+ <Function id="_56" name="__builtin_powil" returns="_135" context="_1" location="f1:74" file="f1" line="74" extern="1">
+ <Argument type="_135" location="f1:74" file="f1" line="74"/>
+ <Argument type="_132" location="f1:74" file="f1" line="74"/>
+ </Function>
+ <Function id="_57" name="__builtin_powif" returns="_137" context="_1" location="f1:73" file="f1" line="73" extern="1">
+ <Argument type="_137" location="f1:73" file="f1" line="73"/>
+ <Argument type="_132" location="f1:73" file="f1" line="73"/>
+ </Function>
+ <Function id="_58" name="__builtin_powi" returns="_136" context="_1" location="f1:72" file="f1" line="72" extern="1">
+ <Argument type="_136" location="f1:72" file="f1" line="72"/>
+ <Argument type="_132" location="f1:72" file="f1" line="72"/>
+ </Function>
+ <Function id="_59" name="__builtin_powl" returns="_135" context="_1" location="f1:71" file="f1" line="71" extern="1">
+ <Argument type="_135" location="f1:71" file="f1" line="71"/>
+ <Argument type="_135" location="f1:71" file="f1" line="71"/>
+ </Function>
+ <Function id="_60" name="__builtin_powf" returns="_137" context="_1" location="f1:70" file="f1" line="70" extern="1">
+ <Argument type="_137" location="f1:70" file="f1" line="70"/>
+ <Argument type="_137" location="f1:70" file="f1" line="70"/>
+ </Function>
+ <Function id="_61" name="__builtin_modfl" returns="_135" context="_1" location="f1:69" file="f1" line="69" extern="1">
+ <Argument type="_135" location="f1:69" file="f1" line="69"/>
+ <Argument type="_138" location="f1:69" file="f1" line="69"/>
+ </Function>
+ <Function id="_62" name="__builtin_modff" returns="_137" context="_1" location="f1:68" file="f1" line="68" extern="1">
+ <Argument type="_137" location="f1:68" file="f1" line="68"/>
+ <Argument type="_139" location="f1:68" file="f1" line="68"/>
+ </Function>
+ <Function id="_63" name="__builtin_log10l" returns="_135" context="_1" location="f1:65" file="f1" line="65" extern="1">
+ <Argument type="_135" location="f1:65" file="f1" line="65"/>
+ </Function>
+ <Function id="_64" name="__builtin_log10f" returns="_137" context="_1" location="f1:64" file="f1" line="64" extern="1">
+ <Argument type="_137" location="f1:64" file="f1" line="64"/>
+ </Function>
+ <Function id="_65" name="__builtin_log10" returns="_136" context="_1" location="f1:63" file="f1" line="63" extern="1">
+ <Argument type="_136" location="f1:63" file="f1" line="63"/>
+ </Function>
+ <Function id="_66" name="__builtin_ldexpl" returns="_135" context="_1" location="f1:61" file="f1" line="61" extern="1">
+ <Argument type="_135" location="f1:61" file="f1" line="61"/>
+ <Argument type="_132" location="f1:61" file="f1" line="61"/>
+ </Function>
+ <Function id="_67" name="__builtin_ldexpf" returns="_137" context="_1" location="f1:60" file="f1" line="60" extern="1">
+ <Argument type="_137" location="f1:60" file="f1" line="60"/>
+ <Argument type="_132" location="f1:60" file="f1" line="60"/>
+ </Function>
+ <Function id="_68" name="__builtin_ldexp" returns="_136" context="_1" location="f1:59" file="f1" line="59" extern="1">
+ <Argument type="_136" location="f1:59" file="f1" line="59"/>
+ <Argument type="_132" location="f1:59" file="f1" line="59"/>
+ </Function>
+ <Function id="_69" name="__builtin_frexpl" returns="_135" context="_1" location="f1:58" file="f1" line="58" extern="1">
+ <Argument type="_135" location="f1:58" file="f1" line="58"/>
+ <Argument type="_140" location="f1:58" file="f1" line="58"/>
+ </Function>
+ <Function id="_70" name="__builtin_frexpf" returns="_137" context="_1" location="f1:57" file="f1" line="57" extern="1">
+ <Argument type="_137" location="f1:57" file="f1" line="57"/>
+ <Argument type="_140" location="f1:57" file="f1" line="57"/>
+ </Function>
+ <Function id="_71" name="__builtin_frexp" returns="_136" context="_1" location="f1:56" file="f1" line="56" extern="1">
+ <Argument type="_136" location="f1:56" file="f1" line="56"/>
+ <Argument type="_140" location="f1:56" file="f1" line="56"/>
+ </Function>
+ <Function id="_72" name="__builtin_fmodl" returns="_135" context="_1" location="f1:55" file="f1" line="55" extern="1">
+ <Argument type="_135" location="f1:55" file="f1" line="55"/>
+ <Argument type="_135" location="f1:55" file="f1" line="55"/>
+ </Function>
+ <Function id="_73" name="__builtin_fmodf" returns="_137" context="_1" location="f1:54" file="f1" line="54" extern="1">
+ <Argument type="_137" location="f1:54" file="f1" line="54"/>
+ <Argument type="_137" location="f1:54" file="f1" line="54"/>
+ </Function>
+ <Function id="_74" name="__builtin_floorl" returns="_135" context="_1" location="f1:53" file="f1" line="53" extern="1">
+ <Argument type="_135" location="f1:53" file="f1" line="53"/>
+ </Function>
+ <Function id="_75" name="__builtin_floorf" returns="_137" context="_1" location="f1:52" file="f1" line="52" extern="1">
+ <Argument type="_137" location="f1:52" file="f1" line="52"/>
+ </Function>
+ <Function id="_76" name="__builtin_floor" returns="_136" context="_1" location="f1:51" file="f1" line="51" extern="1">
+ <Argument type="_136" location="f1:51" file="f1" line="51"/>
+ </Function>
+ <Function id="_77" name="__builtin_coshl" returns="_135" context="_1" location="f1:43" file="f1" line="43" extern="1">
+ <Argument type="_135" location="f1:43" file="f1" line="43"/>
+ </Function>
+ <Function id="_78" name="__builtin_coshf" returns="_137" context="_1" location="f1:42" file="f1" line="42" extern="1">
+ <Argument type="_137" location="f1:42" file="f1" line="42"/>
+ </Function>
+ <Function id="_79" name="__builtin_cosh" returns="_136" context="_1" location="f1:41" file="f1" line="41" extern="1">
+ <Argument type="_136" location="f1:41" file="f1" line="41"/>
+ </Function>
+ <Function id="_80" name="__builtin_ceill" returns="_135" context="_1" location="f1:38" file="f1" line="38" extern="1">
+ <Argument type="_135" location="f1:38" file="f1" line="38"/>
+ </Function>
+ <Function id="_81" name="__builtin_ceilf" returns="_137" context="_1" location="f1:37" file="f1" line="37" extern="1">
+ <Argument type="_137" location="f1:37" file="f1" line="37"/>
+ </Function>
+ <Function id="_82" name="__builtin_ceil" returns="_136" context="_1" location="f1:36" file="f1" line="36" extern="1">
+ <Argument type="_136" location="f1:36" file="f1" line="36"/>
+ </Function>
+ <Function id="_83" name="__builtin_atanl" returns="_135" context="_1" location="f1:35" file="f1" line="35" extern="1">
+ <Argument type="_135" location="f1:35" file="f1" line="35"/>
+ </Function>
+ <Function id="_84" name="__builtin_atanf" returns="_137" context="_1" location="f1:34" file="f1" line="34" extern="1">
+ <Argument type="_137" location="f1:34" file="f1" line="34"/>
+ </Function>
+ <Function id="_85" name="__builtin_atan2l" returns="_135" context="_1" location="f1:33" file="f1" line="33" extern="1">
+ <Argument type="_135" location="f1:33" file="f1" line="33"/>
+ <Argument type="_135" location="f1:33" file="f1" line="33"/>
+ </Function>
+ <Function id="_86" name="__builtin_atan2f" returns="_137" context="_1" location="f1:32" file="f1" line="32" extern="1">
+ <Argument type="_137" location="f1:32" file="f1" line="32"/>
+ <Argument type="_137" location="f1:32" file="f1" line="32"/>
+ </Function>
+ <Function id="_87" name="__builtin_atan2" returns="_136" context="_1" location="f1:31" file="f1" line="31" extern="1">
+ <Argument type="_136" location="f1:31" file="f1" line="31"/>
+ <Argument type="_136" location="f1:31" file="f1" line="31"/>
+ </Function>
+ <Function id="_88" name="__builtin_atan" returns="_136" context="_1" location="f1:30" file="f1" line="30" extern="1">
+ <Argument type="_136" location="f1:30" file="f1" line="30"/>
+ </Function>
+ <Function id="_89" name="__builtin_asinl" returns="_135" context="_1" location="f1:29" file="f1" line="29" extern="1">
+ <Argument type="_135" location="f1:29" file="f1" line="29"/>
+ </Function>
+ <Function id="_90" name="__builtin_asinf" returns="_137" context="_1" location="f1:28" file="f1" line="28" extern="1">
+ <Argument type="_137" location="f1:28" file="f1" line="28"/>
+ </Function>
+ <Function id="_91" name="__builtin_asin" returns="_136" context="_1" location="f1:27" file="f1" line="27" extern="1">
+ <Argument type="_136" location="f1:27" file="f1" line="27"/>
+ </Function>
+ <Function id="_92" name="__builtin_acosl" returns="_135" context="_1" location="f1:26" file="f1" line="26" extern="1">
+ <Argument type="_135" location="f1:26" file="f1" line="26"/>
+ </Function>
+ <Function id="_93" name="__builtin_acosf" returns="_137" context="_1" location="f1:25" file="f1" line="25" extern="1">
+ <Argument type="_137" location="f1:25" file="f1" line="25"/>
+ </Function>
+ <Function id="_94" name="__builtin_acos" returns="_136" context="_1" location="f1:24" file="f1" line="24" extern="1">
+ <Argument type="_136" location="f1:24" file="f1" line="24"/>
+ </Function>
+ <Function id="_95" name="__builtin_expect" returns="_134" context="_1" location="f1:16" file="f1" line="16" extern="1">
+ <Argument name="EXP" type="_134" location="f1:16" file="f1" line="16"/>
+ <Argument name="C" type="_134" location="f1:16" file="f1" line="16"/>
+ </Function>
+ <Function id="_96" name="__builtin_prefetch" returns="_124" context="_1" location="f1:17" file="f1" line="17" extern="1">
+ <Argument name="ADDR" type="_141" location="f1:17" file="f1" line="17"/>
+ <Ellipsis/>
+ </Function>
+ <Function id="_97" name="__builtin_return" returns="_124" context="_1" location="f1:13" file="f1" line="13" extern="1" attributes="nothrow noreturn">
+ <Argument name="RESULT" type="_142" location="f1:13" file="f1" line="13"/>
+ </Function>
+ <Function id="_98" name="__builtin_return_address" returns="_142" context="_1" location="f1:14" file="f1" line="14" extern="1">
+ <Argument name="LEVEL" type="_143" location="f1:14" file="f1" line="14"/>
+ </Function>
+ <Function id="_99" name="__builtin_frame_address" returns="_142" context="_1" location="f1:15" file="f1" line="15" extern="1">
+ <Argument name="LEVEL" type="_143" location="f1:15" file="f1" line="15"/>
+ </Function>
+ <Function id="_100" name="__builtin_nansl" returns="_135" context="_1" mangled="nansl" demangled="__int128" location="f1:23" file="f1" line="23" extern="1" attributes="nothrow const">
+ <Argument name="str" type="_144" location="f1:23" file="f1" line="23"/>
+ </Function>
+ <Function id="_101" name="__builtin_nansf" returns="_137" context="_1" mangled="nansf" demangled="__int128" location="f1:22" file="f1" line="22" extern="1" attributes="nothrow const">
+ <Argument name="str" type="_144" location="f1:22" file="f1" line="22"/>
+ </Function>
+ <Function id="_102" name="__builtin_nans" returns="_136" context="_1" mangled="nans" demangled="__int128" location="f1:21" file="f1" line="21" extern="1" attributes="nothrow const">
+ <Argument name="str" type="_144" location="f1:21" file="f1" line="21"/>
+ </Function>
+ <Function id="_103" name="__builtin_infl" returns="_135" context="_1" location="f1:20" file="f1" line="20" extern="1" attributes="nothrow const"/>
+ <Function id="_104" name="__builtin_inff" returns="_137" context="_1" location="f1:19" file="f1" line="19" extern="1" attributes="nothrow const"/>
+ <Function id="_105" name="__builtin_inf" returns="_136" context="_1" location="f1:18" file="f1" line="18" extern="1" attributes="nothrow const"/>
+ <Function id="_106" name="__builtin_logl" returns="_135" context="_1" mangled="logl" demangled="long" location="f1:67" file="f1" line="67" extern="1" attributes="nothrow">
+ <Argument type="_135" location="f1:67" file="f1" line="67"/>
+ </Function>
+ <Function id="_107" name="__builtin_expl" returns="_135" context="_1" mangled="expl" demangled="long double" location="f1:47" file="f1" line="47" extern="1" attributes="nothrow">
+ <Argument type="_135" location="f1:47" file="f1" line="47"/>
+ </Function>
+ <Function id="_108" name="__builtin_cosl" returns="_135" context="_1" mangled="cosl" demangled="char" location="f1:44" file="f1" line="44" extern="1" attributes="nothrow pure">
+ <Argument type="_135" location="f1:44" file="f1" line="44"/>
+ </Function>
+ <Function id="_109" name="__builtin_sinl" returns="_135" context="_1" mangled="sinl" demangled="short" location="f1:80" file="f1" line="80" extern="1" attributes="nothrow pure">
+ <Argument type="_135" location="f1:80" file="f1" line="80"/>
+ </Function>
+ <Function id="_110" name="__builtin_sqrtl" returns="_135" context="_1" mangled="sqrtl" demangled="short" location="f1:83" file="f1" line="83" extern="1" attributes="nothrow">
+ <Argument type="_135" location="f1:83" file="f1" line="83"/>
+ </Function>
+ <Function id="_111" name="__builtin_logf" returns="_137" context="_1" mangled="logf" demangled="long" location="f1:66" file="f1" line="66" extern="1" attributes="nothrow">
+ <Argument type="_137" location="f1:66" file="f1" line="66"/>
+ </Function>
+ <Function id="_112" name="__builtin_expf" returns="_137" context="_1" mangled="expf" demangled="long double" location="f1:46" file="f1" line="46" extern="1" attributes="nothrow">
+ <Argument type="_137" location="f1:46" file="f1" line="46"/>
+ </Function>
+ <Function id="_113" name="__builtin_cosf" returns="_137" context="_1" mangled="cosf" demangled="char" location="f1:40" file="f1" line="40" extern="1" attributes="nothrow pure">
+ <Argument type="_137" location="f1:40" file="f1" line="40"/>
+ </Function>
+ <Function id="_114" name="__builtin_sinf" returns="_137" context="_1" mangled="sinf" demangled="short" location="f1:76" file="f1" line="76" extern="1" attributes="nothrow pure">
+ <Argument type="_137" location="f1:76" file="f1" line="76"/>
+ </Function>
+ <Function id="_115" name="__builtin_sqrtf" returns="_137" context="_1" mangled="sqrtf" demangled="short" location="f1:82" file="f1" line="82" extern="1" attributes="nothrow">
+ <Argument type="_137" location="f1:82" file="f1" line="82"/>
+ </Function>
+ <Function id="_116" name="__builtin_log" returns="_136" context="_1" mangled="log" demangled="long" location="f1:62" file="f1" line="62" extern="1" attributes="nothrow">
+ <Argument type="_136" location="f1:62" file="f1" line="62"/>
+ </Function>
+ <Function id="_117" name="__builtin_exp" returns="_136" context="_1" mangled="exp" demangled="long double" location="f1:45" file="f1" line="45" extern="1" attributes="nothrow">
+ <Argument type="_136" location="f1:45" file="f1" line="45"/>
+ </Function>
+ <Function id="_118" name="__builtin_cos" returns="_136" context="_1" mangled="cos" demangled="char" location="f1:39" file="f1" line="39" extern="1" attributes="nothrow pure">
+ <Argument type="_136" location="f1:39" file="f1" line="39"/>
+ </Function>
+ <Function id="_119" name="__builtin_sin" returns="_136" context="_1" mangled="sin" demangled="short" location="f1:75" file="f1" line="75" extern="1" attributes="nothrow pure">
+ <Argument type="_136" location="f1:75" file="f1" line="75"/>
+ </Function>
+ <Function id="_120" name="__builtin_sqrt" returns="_136" context="_1" mangled="sqrt" demangled="short" location="f1:81" file="f1" line="81" extern="1" attributes="nothrow">
+ <Argument type="_136" location="f1:81" file="f1" line="81"/>
+ </Function>
+ <Function id="_121" name="__builtin_fabsl" returns="_135" context="_1" location="f1:50" file="f1" line="50" extern="1" attributes="nothrow const">
+ <Argument type="_135" location="f1:50" file="f1" line="50"/>
+ </Function>
+ <Function id="_122" name="__builtin_fabsf" returns="_137" context="_1" location="f1:49" file="f1" line="49" extern="1" attributes="nothrow const">
+ <Argument type="_137" location="f1:49" file="f1" line="49"/>
+ </Function>
+ <Function id="_123" name="__builtin_fabs" returns="_136" context="_1" location="f1:48" file="f1" line="48" extern="1" attributes="nothrow const">
+ <Argument type="_136" location="f1:48" file="f1" line="48"/>
+ </Function>
+ <FundamentalType id="_124" name="void" align="8"/>
+ <ReferenceType id="_125" type="_4v" size="32" align="32"/>
+ <Field id="_126" name="m_some_member" type="_132" offset="0" context="_4" access="public" mangled="_ZN6data_t13m_some_memberE" demangled="data_t::m_some_member" location="f0:7" file="f0" line="7"/>
+ <Constructor id="_127" name="data_t" artificial="1" throw="" context="_4" access="public" mangled="_ZN6data_tC1ERKS_ *INTERNAL* " demangled="data_t::data_t(data_t const&)" location="f0:6" file="f0" line="6" inline="1">
+ <Argument name="_ctor_arg" type="_146" location="f0:6" file="f0" line="6"/>
+ </Constructor>
+ <Constructor id="_128" name="data_t" explicit="1" artificial="1" throw="" context="_4" access="public" mangled="_ZN6data_tC1Ev *INTERNAL* " demangled="data_t::data_t()" location="f0:6" file="f0" line="6" inline="1"/>
+ <FundamentalType id="_129" name="complex long double" size="192" align="32"/>
+ <FundamentalType id="_130" name="complex double" size="128" align="64"/>
+ <FundamentalType id="_131" name="complex float" size="64" align="32"/>
+ <FundamentalType id="_132" name="int" size="32" align="32"/>
+ <FundamentalType id="_133" name="long long int" size="64" align="64"/>
+ <FundamentalType id="_134" name="long int" size="32" align="32"/>
+ <FundamentalType id="_135" name="long double" size="96" align="32"/>
+ <FundamentalType id="_136" name="double" size="64" align="64"/>
+ <FundamentalType id="_137" name="float" size="32" align="32"/>
+ <PointerType id="_138" type="_135" size="32" align="32"/>
+ <PointerType id="_139" type="_137" size="32" align="32"/>
+ <PointerType id="_140" type="_132" size="32" align="32"/>
+ <PointerType id="_141" type="_124c" size="32" align="32"/>
+ <PointerType id="_142" type="_124" size="32" align="32"/>
+ <FundamentalType id="_143" name="unsigned int" size="32" align="32"/>
+ <PointerType id="_144" type="_148c" size="32" align="32"/>
+ <ReferenceType id="_146" type="_4c" size="32" align="32"/>
+ <FundamentalType id="_148" name="char" size="8" align="8"/>
+ <CvQualifiedType id="_148c" type="_148" const="1"/>
+ <CvQualifiedType id="_124c" type="_124" const="1"/>
+ <CvQualifiedType id="_4c" type="_4" const="1"/>
+ <CvQualifiedType id="_4v" type="_4" volatile="1"/>
+ <File id="f0" name="volatile_arg.h"/>
+ <File id="f1" name="/home/roman/gccxml/share/gccxml-0.7/GCC/4.1/gccxml_builtins.h"/>
+</GCC_XML>
Added: pygccxml_dev/gccxml-0.9-upgrade/volatile_arg.9.xml
===================================================================
--- pygccxml_dev/gccxml-0.9-upgrade/volatile_arg.9.xml (rev 0)
+++ pygccxml_dev/gccxml-0.9-upgrade/volatile_arg.9.xml 2007-11-04 20:30:29 UTC (rev 1120)
@@ -0,0 +1,409 @@
+<?xml version="1.0"?>
+<GCC_XML cvs_revision="1.117">
+ <Namespace id="_1" name="::" members="_3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 _25 _26 _27 _28 _29 _30 _31 _32 _33 _34 _35 _36 _37 _38 _39 _40 _41 _42 _43 _44 _45 _46 _47 _48 _49 _50 _51 _52 _53 _54 _55 _56 _57 _58 _59 _60 _61 _62 _63 _64 _65 _66 _67 _68 _69 _70 _71 _72 _73 _74 _75 _76 _77 _78 _79 _80 _81 _82 _2 _83 _84 _85 _86 _87 _88 _89 _90 _91 _92 _93 _94 _95 _96 _97 _98 _99 _100 _101 _102 _103 _104 _105 _106 _107 _108 _109 _110 _111 _112 _113 _114 _115 _116 _117 _118 _119 _120 _121 _122 _123 _124 " mangled="_Z2::" demangled="::"/>
+ <Namespace id="_2" name="std" context="_1" members="" mangled="_Z3std" demangled="std"/>
+ <Function id="_3" name="__builtin_nans" returns="_125" context="_1" location="f0:21" file="f0" line="21" extern="1" attributes="nothrow const nonnull">
+ <Argument name="str" type="_126" location="f0:21" file="f0" line="21"/>
+ </Function>
+ <Function id="_4" name="__builtin_acosf" returns="_127" context="_1" mangled="acosf" location="f0:25" file="f0" line="25" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:25" file="f0" line="25"/>
+ </Function>
+ <Function id="_5" name="__builtin_acosl" returns="_128" context="_1" mangled="acosl" location="f0:26" file="f0" line="26" extern="1" attributes="nothrow">
+ <Argument type="_128" location="f0:26" file="f0" line="26"/>
+ </Function>
+ <Function id="_6" name="__builtin_log10" returns="_125" context="_1" mangled="log10" location="f0:63" file="f0" line="63" extern="1" attributes="nothrow">
+ <Argument type="_125" location="f0:63" file="f0" line="63"/>
+ </Function>
+ <Function id="_7" name="__builtin_popcountll" returns="_129" context="_1" location="f0:101" file="f0" line="101" extern="1" attributes="nothrow const">
+ <Argument type="_130" location="f0:101" file="f0" line="101"/>
+ </Function>
+ <Function id="_8" name="__builtin_clogf" returns="_131" context="_1" mangled="clogf" location="f0:111" file="f0" line="111" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_131" location="f0:111" file="f0" line="111"/>
+ </Function>
+ <Function id="_9" name="__builtin_clogl" returns="_132" context="_1" mangled="clogl" location="f0:113" file="f0" line="113" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_132" location="f0:113" file="f0" line="113"/>
+ </Function>
+ <Function id="_10" name="__builtin_cexpf" returns="_131" context="_1" mangled="cexpf" location="f0:108" file="f0" line="108" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_131" location="f0:108" file="f0" line="108"/>
+ </Function>
+ <Function id="_11" name="__builtin_cexpl" returns="_132" context="_1" mangled="cexpl" location="f0:110" file="f0" line="110" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_132" location="f0:110" file="f0" line="110"/>
+ </Function>
+ <Function id="_12" name="__builtin_asinf" returns="_127" context="_1" mangled="asinf" location="f0:28" file="f0" line="28" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:28" file="f0" line="28"/>
+ </Function>
+ <Function id="_13" name="__builtin_asinl" returns="_128" context="_1" mangled="asinl" location="f0:29" file="f0" line="29" extern="1" attributes="nothrow">
+ <Argument type="_128" location="f0:29" file="f0" line="29"/>
+ </Function>
+ <Function id="_14" name="__builtin_popcount" returns="_129" context="_1" location="f0:99" file="f0" line="99" extern="1" attributes="nothrow const">
+ <Argument type="_129" location="f0:99" file="f0" line="99"/>
+ </Function>
+ <Function id="_15" name="__builtin_nansf" returns="_127" context="_1" location="f0:22" file="f0" line="22" extern="1" attributes="nothrow const nonnull">
+ <Argument name="str" type="_126" location="f0:22" file="f0" line="22"/>
+ </Function>
+ <Function id="_16" name="__builtin_nansl" returns="_128" context="_1" location="f0:23" file="f0" line="23" extern="1" attributes="nothrow const nonnull">
+ <Argument name="str" type="_126" location="f0:23" file="f0" line="23"/>
+ </Function>
+ <Function id="_17" name="__builtin_floorf" returns="_127" context="_1" mangled="floorf" location="f0:52" file="f0" line="52" extern="1" attributes="nothrow const">
+ <Argument type="_127" location="f0:52" file="f0" line="52"/>
+ </Function>
+ <Function id="_18" name="__builtin_floorl" returns="_128" context="_1" mangled="floorl" location="f0:53" file="f0" line="53" extern="1" attributes="nothrow const">
+ <Argument type="_128" location="f0:53" file="f0" line="53"/>
+ </Function>
+ <Function id="_19" name="__builtin_ctanf" returns="_131" context="_1" mangled="ctanf" location="f0:123" file="f0" line="123" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_131" location="f0:123" file="f0" line="123"/>
+ </Function>
+ <Function id="_20" name="__builtin_ctanh" returns="_133" context="_1" mangled="ctanh" location="f0:127" file="f0" line="127" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_133" location="f0:127" file="f0" line="127"/>
+ </Function>
+ <Function id="_21" name="__builtin_ctanl" returns="_132" context="_1" mangled="ctanl" location="f0:125" file="f0" line="125" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_132" location="f0:125" file="f0" line="125"/>
+ </Function>
+ <Function id="_22" name="__builtin_carg" returns="_125" context="_1" mangled="carg" location="f0:94" file="f0" line="94" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_133" location="f0:94" file="f0" line="94"/>
+ </Function>
+ <Function id="_23" name="__builtin_clog" returns="_133" context="_1" mangled="clog" location="f0:112" file="f0" line="112" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_133" location="f0:112" file="f0" line="112"/>
+ </Function>
+ <Function id="_24" name="__builtin_logf" returns="_127" context="_1" mangled="logf" location="f0:66" file="f0" line="66" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:66" file="f0" line="66"/>
+ </Function>
+ <Function id="_25" name="__builtin_logl" returns="_128" context="_1" mangled="logl" location="f0:67" file="f0" line="67" extern="1" attributes="nothrow">
+ <Argument type="_128" location="f0:67" file="f0" line="67"/>
+ </Function>
+ <Function id="_26" name="__builtin_fabs" returns="_125" context="_1" mangled="fabs" location="f0:48" file="f0" line="48" extern="1" attributes="nothrow const">
+ <Argument type="_125" location="f0:48" file="f0" line="48"/>
+ </Function>
+ <Function id="_27" name="__builtin_expf" returns="_127" context="_1" mangled="expf" location="f0:46" file="f0" line="46" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:46" file="f0" line="46"/>
+ </Function>
+ <Function id="_28" name="__builtin_expl" returns="_128" context="_1" mangled="expl" location="f0:47" file="f0" line="47" extern="1" attributes="nothrow">
+ <Argument type="_128" location="f0:47" file="f0" line="47"/>
+ </Function>
+ <Function id="_29" name="__builtin_csqrt" returns="_133" context="_1" mangled="csqrt" location="f0:121" file="f0" line="121" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_133" location="f0:121" file="f0" line="121"/>
+ </Function>
+ <Function id="_30" name="__builtin_sin" returns="_125" context="_1" mangled="sin" location="f0:75" file="f0" line="75" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_125" location="f0:75" file="f0" line="75"/>
+ </Function>
+ <Function id="_31" name="__builtin_ldexpf" returns="_127" context="_1" mangled="ldexpf" location="f0:60" file="f0" line="60" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:60" file="f0" line="60"/>
+ <Argument type="_129" location="f0:60" file="f0" line="60"/>
+ </Function>
+ <Function id="_32" name="__builtin_ldexpl" returns="_128" context="_1" mangled="ldexpl" location="f0:61" file="f0" line="61" extern="1" attributes="nothrow">
+ <Argument type="_128" location="f0:61" file="f0" line="61"/>
+ <Argument type="_129" location="f0:61" file="f0" line="61"/>
+ </Function>
+ <Function id="_33" name="__builtin_tanf" returns="_127" context="_1" mangled="tanf" location="f0:85" file="f0" line="85" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_127" location="f0:85" file="f0" line="85"/>
+ </Function>
+ <Function id="_34" name="__builtin_tanh" returns="_125" context="_1" mangled="tanh" location="f0:86" file="f0" line="86" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_125" location="f0:86" file="f0" line="86"/>
+ </Function>
+ <Function id="_35" name="__builtin_tanl" returns="_128" context="_1" mangled="tanl" location="f0:89" file="f0" line="89" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_128" location="f0:89" file="f0" line="89"/>
+ </Function>
+ <Function id="_36" name="__builtin_ceil" returns="_125" context="_1" mangled="ceil" location="f0:36" file="f0" line="36" extern="1" attributes="nothrow const">
+ <Argument type="_125" location="f0:36" file="f0" line="36"/>
+ </Function>
+ <Function id="_37" name="__builtin_fmodf" returns="_127" context="_1" mangled="fmodf" location="f0:54" file="f0" line="54" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:54" file="f0" line="54"/>
+ <Argument type="_127" location="f0:54" file="f0" line="54"/>
+ </Function>
+ <Function id="_38" name="__builtin_fmodl" returns="_128" context="_1" mangled="fmodl" location="f0:55" file="f0" line="55" extern="1" attributes="nothrow">
+ <Argument type="_128" location="f0:55" file="f0" line="55"/>
+ <Argument type="_128" location="f0:55" file="f0" line="55"/>
+ </Function>
+ <Function id="_39" name="__builtin_return" returns="_134" context="_1" location="f0:13" file="f0" line="13" extern="1" attributes="nothrow noreturn">
+ <Argument name="RESULT" type="_135" location="f0:13" file="f0" line="13"/>
+ </Function>
+ <Function id="_40" name="__builtin_sqrt" returns="_125" context="_1" mangled="sqrt" location="f0:81" file="f0" line="81" extern="1" attributes="nothrow">
+ <Argument type="_125" location="f0:81" file="f0" line="81"/>
+ </Function>
+ <Function id="_41" name="__builtin_cpow" returns="_133" context="_1" mangled="cpow" location="f0:130" file="f0" line="130" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_133" location="f0:130" file="f0" line="130"/>
+ <Argument type="_133" location="f0:130" file="f0" line="130"/>
+ </Function>
+ <Function id="_42" name="__builtin_coshf" returns="_127" context="_1" mangled="coshf" location="f0:42" file="f0" line="42" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:42" file="f0" line="42"/>
+ </Function>
+ <Function id="_43" name="__builtin_coshl" returns="_128" context="_1" mangled="coshl" location="f0:43" file="f0" line="43" extern="1" attributes="nothrow">
+ <Argument type="_128" location="f0:43" file="f0" line="43"/>
+ </Function>
+ <Function id="_44" name="__builtin_cexp" returns="_133" context="_1" mangled="cexp" location="f0:109" file="f0" line="109" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_133" location="f0:109" file="f0" line="109"/>
+ </Function>
+ <Function id="_45" name="__builtin_atan2" returns="_125" context="_1" mangled="atan2" location="f0:31" file="f0" line="31" extern="1" attributes="nothrow">
+ <Argument type="_125" location="f0:31" file="f0" line="31"/>
+ <Argument type="_125" location="f0:31" file="f0" line="31"/>
+ </Function>
+ <Function id="_46" name="__builtin_atanf" returns="_127" context="_1" mangled="atanf" location="f0:34" file="f0" line="34" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_127" location="f0:34" file="f0" line="34"/>
+ </Function>
+ <Function id="_47" name="__builtin_atanl" returns="_128" context="_1" mangled="atanl" location="f0:35" file="f0" line="35" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_128" location="f0:35" file="f0" line="35"/>
+ </Function>
+ <Function id="_48" name="__builtin_ctan" returns="_133" context="_1" mangled="ctan" location="f0:124" file="f0" line="124" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_133" location="f0:124" file="f0" line="124"/>
+ </Function>
+ <Function id="_49" name="__builtin_log" returns="_125" context="_1" mangled="log" location="f0:62" file="f0" line="62" extern="1" attributes="nothrow">
+ <Argument type="_125" location="f0:62" file="f0" line="62"/>
+ </Function>
+ <Function id="_50" name="__builtin_asin" returns="_125" context="_1" mangled="asin" location="f0:27" file="f0" line="27" extern="1" attributes="nothrow">
+ <Argument type="_125" location="f0:27" file="f0" line="27"/>
+ </Function>
+ <Function id="_51" name="__builtin_frexp" returns="_125" context="_1" mangled="frexp" location="f0:56" file="f0" line="56" extern="1" attributes="nothrow">
+ <Argument type="_125" location="f0:56" file="f0" line="56"/>
+ <Argument type="_136" location="f0:56" file="f0" line="56"/>
+ </Function>
+ <Function id="_52" name="__builtin_log10f" returns="_127" context="_1" mangled="log10f" location="f0:64" file="f0" line="64" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:64" file="f0" line="64"/>
+ </Function>
+ <Function id="_53" name="__builtin_log10l" returns="_128" context="_1" mangled="log10l" location="f0:65" file="f0" line="65" extern="1" attributes="nothrow">
+ <Argument type="_128" location="f0:65" file="f0" line="65"/>
+ </Function>
+ <Function id="_54" name="__builtin_ctzl" returns="_129" context="_1" location="f0:97" file="f0" line="97" extern="1" attributes="nothrow const">
+ <Argument type="_137" location="f0:97" file="f0" line="97"/>
+ </Function>
+ <Function id="_55" name="__builtin_powif" returns="_127" context="_1" location="f0:73" file="f0" line="73" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_127" location="f0:73" file="f0" line="73"/>
+ <Argument type="_129" location="f0:73" file="f0" line="73"/>
+ </Function>
+ <Function id="_56" name="__builtin_powil" returns="_128" context="_1" location="f0:74" file="f0" line="74" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_128" location="f0:74" file="f0" line="74"/>
+ <Argument type="_129" location="f0:74" file="f0" line="74"/>
+ </Function>
+ <Function id="_57" name="__builtin_modff" returns="_127" context="_1" mangled="modff" location="f0:68" file="f0" line="68" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:68" file="f0" line="68"/>
+ <Argument type="_138" location="f0:68" file="f0" line="68"/>
+ </Function>
+ <Function id="_58" name="__builtin_exp" returns="_125" context="_1" mangled="exp" location="f0:45" file="f0" line="45" extern="1" attributes="nothrow">
+ <Argument type="_125" location="f0:45" file="f0" line="45"/>
+ </Function>
+ <Function id="_59" name="__builtin_modfl" returns="_128" context="_1" mangled="modfl" location="f0:69" file="f0" line="69" extern="1" attributes="nothrow">
+ <Argument type="_128" location="f0:69" file="f0" line="69"/>
+ <Argument type="_139" location="f0:69" file="f0" line="69"/>
+ </Function>
+ <Function id="_60" name="__builtin_prefetch" returns="_134" context="_1" location="f0:17" file="f0" line="17" extern="1" attributes="no vops">
+ <Argument name="ADDR" type="_140" location="f0:17" file="f0" line="17"/>
+ <Ellipsis/>
+ </Function>
+ <Function id="_61" name="__builtin_tan" returns="_125" context="_1" mangled="tan" location="f0:84" file="f0" line="84" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_125" location="f0:84" file="f0" line="84"/>
+ </Function>
+ <Function id="_62" name="__builtin_fabsf" returns="_127" context="_1" mangled="fabsf" location="f0:49" file="f0" line="49" extern="1" attributes="nothrow const">
+ <Argument type="_127" location="f0:49" file="f0" line="49"/>
+ </Function>
+ <Function id="_63" name="__builtin_fabsl" returns="_128" context="_1" mangled="fabsl" location="f0:50" file="f0" line="50" extern="1" attributes="nothrow const">
+ <Argument type="_128" location="f0:50" file="f0" line="50"/>
+ </Function>
+ <Function id="_64" name="do_smth" returns="_134" context="_1" mangled="_Z7do_smthRV6data_t" demangled="do_smth(data_t volatile&)" location="f1:10" file="f1" line="10" extern="1">
+ <Argument name="data" type="_141" location="f1:10" file="f1" line="10"/>
+ </Function>
+ <Function id="_65" name="__builtin_inf" returns="_125" context="_1" location="f0:18" file="f0" line="18" extern="1" attributes="nothrow const"/>
+ <Namespace id="_66" name="__cxxabiv1" context="_1" members="" mangled="_Z10__cxxabiv1" demangled="__cxxabiv1"/>
+ <Function id="_67" name="__builtin_frame_address" returns="_135" context="_1" location="f0:15" file="f0" line="15" extern="1">
+ <Argument name="LEVEL" type="_142" location="f0:15" file="f0" line="15"/>
+ </Function>
+ <Function id="_68" name="__builtin_cabs" returns="_125" context="_1" mangled="cabs" location="f0:91" file="f0" line="91" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_133" location="f0:91" file="f0" line="91"/>
+ </Function>
+ <Function id="_69" name="__builtin_atan2f" returns="_127" context="_1" mangled="atan2f" location="f0:32" file="f0" line="32" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:32" file="f0" line="32"/>
+ <Argument type="_127" location="f0:32" file="f0" line="32"/>
+ </Function>
+ <Function id="_70" name="__builtin_atan2l" returns="_128" context="_1" mangled="atan2l" location="f0:33" file="f0" line="33" extern="1" attributes="nothrow">
+ <Argument type="_128" location="f0:33" file="f0" line="33"/>
+ <Argument type="_128" location="f0:33" file="f0" line="33"/>
+ </Function>
+ <Function id="_71" name="__builtin_ccoshf" returns="_131" context="_1" mangled="ccoshf" location="f0:105" file="f0" line="105" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_131" location="f0:105" file="f0" line="105"/>
+ </Function>
+ <Function id="_72" name="__builtin_ccoshl" returns="_132" context="_1" mangled="ccoshl" location="f0:107" file="f0" line="107" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_132" location="f0:107" file="f0" line="107"/>
+ </Function>
+ <Function id="_73" name="__builtin_atan" returns="_125" context="_1" mangled="atan" location="f0:30" file="f0" line="30" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_125" location="f0:30" file="f0" line="30"/>
+ </Function>
+ <Function id="_74" name="__builtin_sinhf" returns="_127" context="_1" mangled="sinhf" location="f0:78" file="f0" line="78" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:78" file="f0" line="78"/>
+ </Function>
+ <Function id="_75" name="__builtin_sinhl" returns="_128" context="_1" mangled="sinhl" location="f0:79" file="f0" line="79" extern="1" attributes="nothrow">
+ <Argument type="_128" location="f0:79" file="f0" line="79"/>
+ </Function>
+ <Function id="_76" name="__builtin_sqrtf" returns="_127" context="_1" mangled="sqrtf" location="f0:82" file="f0" line="82" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:82" file="f0" line="82"/>
+ </Function>
+ <Function id="_77" name="__builtin_sqrtl" returns="_128" context="_1" mangled="sqrtl" location="f0:83" file="f0" line="83" extern="1" attributes="nothrow">
+ <Argument type="_128" location="f0:83" file="f0" line="83"/>
+ </Function>
+ <Function id="_78" name="__builtin_frexpf" returns="_127" context="_1" mangled="frexpf" location="f0:57" file="f0" line="57" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:57" file="f0" line="57"/>
+ <Argument type="_136" location="f0:57" file="f0" line="57"/>
+ </Function>
+ <Function id="_79" name="__builtin_frexpl" returns="_128" context="_1" mangled="frexpl" location="f0:58" file="f0" line="58" extern="1" attributes="nothrow">
+ <Argument type="_128" location="f0:58" file="f0" line="58"/>
+ <Argument type="_136" location="f0:58" file="f0" line="58"/>
+ </Function>
+ <Function id="_80" name="__builtin_cpowf" returns="_131" context="_1" mangled="cpowf" location="f0:129" file="f0" line="129" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_131" location="f0:129" file="f0" line="129"/>
+ <Argument type="_131" location="f0:129" file="f0" line="129"/>
+ </Function>
+ <Function id="_81" name="__builtin_cpowl" returns="_132" context="_1" mangled="cpowl" location="f0:131" file="f0" line="131" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_132" location="f0:131" file="f0" line="131"/>
+ <Argument type="_132" location="f0:131" file="f0" line="131"/>
+ </Function>
+ <Struct id="_82" name="data_t" context="_1" mangled="6data_t" demangled="data_t" location="f1:6" file="f1" line="6" artificial="1" size="32" align="32" members="_143 " bases=""/>
+ <Function id="_83" name="__builtin_tanhf" returns="_127" context="_1" mangled="tanhf" location="f0:87" file="f0" line="87" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_127" location="f0:87" file="f0" line="87"/>
+ </Function>
+ <Function id="_84" name="__builtin_tanhl" returns="_128" context="_1" mangled="tanhl" location="f0:88" file="f0" line="88" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_128" location="f0:88" file="f0" line="88"/>
+ </Function>
+ <Function id="_85" name="__builtin_cabsf" returns="_127" context="_1" mangled="cabsf" location="f0:90" file="f0" line="90" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_131" location="f0:90" file="f0" line="90"/>
+ </Function>
+ <Function id="_86" name="__builtin_cabsl" returns="_128" context="_1" mangled="cabsl" location="f0:92" file="f0" line="92" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_132" location="f0:92" file="f0" line="92"/>
+ </Function>
+ <Function id="_87" name="__builtin_powf" returns="_127" context="_1" mangled="powf" location="f0:70" file="f0" line="70" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:70" file="f0" line="70"/>
+ <Argument type="_127" location="f0:70" file="f0" line="70"/>
+ </Function>
+ <Function id="_88" name="__builtin_powi" returns="_125" context="_1" location="f0:72" file="f0" line="72" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_125" location="f0:72" file="f0" line="72"/>
+ <Argument type="_129" location="f0:72" file="f0" line="72"/>
+ </Function>
+ <Function id="_89" name="__builtin_powl" returns="_128" context="_1" mangled="powl" location="f0:71" file="f0" line="71" extern="1" attributes="nothrow">
+ <Argument type="_128" location="f0:71" file="f0" line="71"/>
+ <Argument type="_128" location="f0:71" file="f0" line="71"/>
+ </Function>
+ <Function id="_90" name="__builtin_ccos" returns="_133" context="_1" mangled="ccos" location="f0:103" file="f0" line="103" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_133" location="f0:103" file="f0" line="103"/>
+ </Function>
+ <Function id="_91" name="__builtin_expect" returns="_137" context="_1" location="f0:16" file="f0" line="16" extern="1" attributes="nothrow const">
+ <Argument name="EXP" type="_137" location="f0:16" file="f0" line="16"/>
+ <Argument name="C" type="_137" location="f0:16" file="f0" line="16"/>
+ </Function>
+ <Function id="_92" name="__builtin_popcountl" returns="_129" context="_1" location="f0:100" file="f0" line="100" extern="1" attributes="nothrow const">
+ <Argument type="_137" location="f0:100" file="f0" line="100"/>
+ </Function>
+ <Function id="_93" name="__builtin_inff" returns="_127" context="_1" location="f0:19" file="f0" line="19" extern="1" attributes="nothrow const"/>
+ <Function id="_94" name="__builtin_infl" returns="_128" context="_1" location="f0:20" file="f0" line="20" extern="1" attributes="nothrow const"/>
+ <Function id="_95" name="__builtin_cos" returns="_125" context="_1" mangled="cos" location="f0:39" file="f0" line="39" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_125" location="f0:39" file="f0" line="39"/>
+ </Function>
+ <Function id="_96" name="__builtin_ctz" returns="_129" context="_1" location="f0:96" file="f0" line="96" extern="1" attributes="nothrow const">
+ <Argument type="_129" location="f0:96" file="f0" line="96"/>
+ </Function>
+ <Function id="_97" name="__builtin_return_address" returns="_135" context="_1" location="f0:14" file="f0" line="14" extern="1">
+ <Argument name="LEVEL" type="_142" location="f0:14" file="f0" line="14"/>
+ </Function>
+ <Function id="_98" name="__builtin_csinhf" returns="_131" context="_1" mangled="csinhf" location="f0:117" file="f0" line="117" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_131" location="f0:117" file="f0" line="117"/>
+ </Function>
+ <Function id="_99" name="__builtin_csinhl" returns="_132" context="_1" mangled="csinhl" location="f0:119" file="f0" line="119" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_132" location="f0:119" file="f0" line="119"/>
+ </Function>
+ <Function id="_100" name="__builtin_csqrtf" returns="_131" context="_1" mangled="csqrtf" location="f0:120" file="f0" line="120" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_131" location="f0:120" file="f0" line="120"/>
+ </Function>
+ <Function id="_101" name="__builtin_csqrtl" returns="_132" context="_1" mangled="csqrtl" location="f0:122" file="f0" line="122" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_132" location="f0:122" file="f0" line="122"/>
+ </Function>
+ <Function id="_102" name="__builtin_floor" returns="_125" context="_1" mangled="floor" location="f0:51" file="f0" line="51" extern="1" attributes="nothrow const">
+ <Argument type="_125" location="f0:51" file="f0" line="51"/>
+ </Function>
+ <Function id="_103" name="__builtin_ldexp" returns="_125" context="_1" mangled="ldexp" location="f0:59" file="f0" line="59" extern="1" attributes="nothrow">
+ <Argument type="_125" location="f0:59" file="f0" line="59"/>
+ <Argument type="_129" location="f0:59" file="f0" line="59"/>
+ </Function>
+ <Function id="_104" name="__builtin_ccosf" returns="_131" context="_1" mangled="ccosf" location="f0:102" file="f0" line="102" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_131" location="f0:102" file="f0" line="102"/>
+ </Function>
+ <Function id="_105" name="__builtin_ccosh" returns="_133" context="_1" mangled="ccosh" location="f0:106" file="f0" line="106" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_133" location="f0:106" file="f0" line="106"/>
+ </Function>
+ <Function id="_106" name="__builtin_ccosl" returns="_132" context="_1" mangled="ccosl" location="f0:104" file="f0" line="104" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_132" location="f0:104" file="f0" line="104"/>
+ </Function>
+ <Function id="_107" name="__builtin_ctanhf" returns="_131" context="_1" mangled="ctanhf" location="f0:126" file="f0" line="126" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_131" location="f0:126" file="f0" line="126"/>
+ </Function>
+ <Function id="_108" name="__builtin_ctanhl" returns="_132" context="_1" mangled="ctanhl" location="f0:128" file="f0" line="128" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_132" location="f0:128" file="f0" line="128"/>
+ </Function>
+ <Function id="_109" name="__builtin_ceilf" returns="_127" context="_1" mangled="ceilf" location="f0:37" file="f0" line="37" extern="1" attributes="nothrow const">
+ <Argument type="_127" location="f0:37" file="f0" line="37"/>
+ </Function>
+ <Function id="_110" name="__builtin_ceill" returns="_128" context="_1" mangled="ceill" location="f0:38" file="f0" line="38" extern="1" attributes="nothrow const">
+ <Argument type="_128" location="f0:38" file="f0" line="38"/>
+ </Function>
+ <Function id="_111" name="__builtin_csinf" returns="_131" context="_1" mangled="csinf" location="f0:114" file="f0" line="114" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_131" location="f0:114" file="f0" line="114"/>
+ </Function>
+ <Function id="_112" name="__builtin_csinh" returns="_133" context="_1" mangled="csinh" location="f0:118" file="f0" line="118" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_133" location="f0:118" file="f0" line="118"/>
+ </Function>
+ <Function id="_113" name="__builtin_csinl" returns="_132" context="_1" mangled="csinl" location="f0:116" file="f0" line="116" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_132" location="f0:116" file="f0" line="116"/>
+ </Function>
+ <Function id="_114" name="__builtin_acos" retu...
[truncated message content] |
|
From: <rom...@us...> - 2007-11-04 07:23:12
|
Revision: 1119
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1119&view=rev
Author: roman_yakovenko
Date: 2007-11-04 00:23:15 -0700 (Sun, 04 Nov 2007)
Log Message:
-----------
adding list of valid numeric suffix letters
Modified Paths:
--------------
pygccxml_dev/pygccxml/parser/scanner.py
Modified: pygccxml_dev/pygccxml/parser/scanner.py
===================================================================
--- pygccxml_dev/pygccxml/parser/scanner.py 2007-11-03 21:15:57 UTC (rev 1118)
+++ pygccxml_dev/pygccxml/parser/scanner.py 2007-11-04 07:23:15 UTC (rev 1119)
@@ -74,6 +74,8 @@
XML_NN_UNION = "Union"
XML_NN_VARIABLE = "Variable"
+NUMERIC_SUFFIX_LETTERS = 'UuLlFf'
+
class scanner_t( xml.sax.handler.ContentHandler ):
def __init__(self, gccxml_file, decl_factory, *args ):
xml.sax.handler.ContentHandler.__init__(self, *args )
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rom...@us...> - 2007-11-03 21:15:58
|
Revision: 1118
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1118&view=rev
Author: roman_yakovenko
Date: 2007-11-03 14:15:57 -0700 (Sat, 03 Nov 2007)
Log Message:
-----------
adding few files, which describes the difference between GCC-XML 0.7 and 0.9
Added Paths:
-----------
pygccxml_dev/gccxml-0.9-upgrade/
pygccxml_dev/gccxml-0.9-upgrade/const_variables.7.xml
pygccxml_dev/gccxml-0.9-upgrade/const_variables.9.xml
pygccxml_dev/gccxml-0.9-upgrade/const_variables.h
pygccxml_dev/gccxml-0.9-upgrade/const_variables.h.diff
pygccxml_dev/gccxml-0.9-upgrade/demangled.7.xml
pygccxml_dev/gccxml-0.9-upgrade/demangled.9.xml
pygccxml_dev/gccxml-0.9-upgrade/demangled.h
pygccxml_dev/gccxml-0.9-upgrade/demangled.h.diff
pygccxml_dev/gccxml-0.9-upgrade/offset.7.xml
pygccxml_dev/gccxml-0.9-upgrade/offset.9.xml
pygccxml_dev/gccxml-0.9-upgrade/offset.h
pygccxml_dev/gccxml-0.9-upgrade/offset.h.diff
pygccxml_dev/gccxml-0.9-upgrade/union_and_struct.7.xml
pygccxml_dev/gccxml-0.9-upgrade/union_and_struct.9.xml
pygccxml_dev/gccxml-0.9-upgrade/union_and_struct.h
pygccxml_dev/gccxml-0.9-upgrade/union_and_struct.h.diff
Added: pygccxml_dev/gccxml-0.9-upgrade/const_variables.7.xml
===================================================================
--- pygccxml_dev/gccxml-0.9-upgrade/const_variables.7.xml (rev 0)
+++ pygccxml_dev/gccxml-0.9-upgrade/const_variables.7.xml 2007-11-03 21:15:57 UTC (rev 1118)
@@ -0,0 +1,404 @@
+<?xml version="1.0"?>
+<GCC_XML cvs_revision="1.114">
+ <Namespace id="_1" name="::" members="_3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 _25 _26 _27 _28 _29 _30 _31 _32 _33 _34 _35 _36 _37 _38 _39 _40 _41 _42 _43 _44 _45 _46 _47 _48 _49 _50 _51 _52 _53 _54 _55 _56 _57 _58 _59 _60 _61 _62 _63 _64 _65 _66 _67 _68 _69 _70 _71 _72 _73 _74 _75 _76 _77 _78 _79 _80 _81 _82 _83 _84 _85 _86 _87 _88 _89 _90 _91 _92 _93 _94 _95 _96 _97 _98 _99 _100 _101 _102 _103 _104 _105 _106 _107 _108 _109 _110 _111 _112 _113 _114 _115 _116 _117 _118 _119 _120 _121 _122 " mangled="_Z2::" demangled="::"/>
+ <Namespace id="_2" name="std" context="_1" members="" mangled="_Z3std" demangled="std"/>
+ <Variable id="_3" name="initialized" type="_123c" init="10122004" context="_1" location="f0:6" file="f0" line="6"/>
+ <Function id="_4" name="__builtin_cpowl" returns="_125" context="_1" location="f1:131" file="f1" line="131" extern="1">
+ <Argument type="_125" location="f1:131" file="f1" line="131"/>
+ <Argument type="_125" location="f1:131" file="f1" line="131"/>
+ </Function>
+ <Function id="_5" name="__builtin_cpow" returns="_126" context="_1" location="f1:130" file="f1" line="130" extern="1">
+ <Argument type="_126" location="f1:130" file="f1" line="130"/>
+ <Argument type="_126" location="f1:130" file="f1" line="130"/>
+ </Function>
+ <Function id="_6" name="__builtin_cpowf" returns="_127" context="_1" location="f1:129" file="f1" line="129" extern="1">
+ <Argument type="_127" location="f1:129" file="f1" line="129"/>
+ <Argument type="_127" location="f1:129" file="f1" line="129"/>
+ </Function>
+ <Function id="_7" name="__builtin_ctanhl" returns="_125" context="_1" location="f1:128" file="f1" line="128" extern="1">
+ <Argument type="_125" location="f1:128" file="f1" line="128"/>
+ </Function>
+ <Function id="_8" name="__builtin_ctanh" returns="_126" context="_1" location="f1:127" file="f1" line="127" extern="1">
+ <Argument type="_126" location="f1:127" file="f1" line="127"/>
+ </Function>
+ <Function id="_9" name="__builtin_ctanhf" returns="_127" context="_1" location="f1:126" file="f1" line="126" extern="1">
+ <Argument type="_127" location="f1:126" file="f1" line="126"/>
+ </Function>
+ <Function id="_10" name="__builtin_ctanl" returns="_125" context="_1" location="f1:125" file="f1" line="125" extern="1">
+ <Argument type="_125" location="f1:125" file="f1" line="125"/>
+ </Function>
+ <Function id="_11" name="__builtin_ctan" returns="_126" context="_1" location="f1:124" file="f1" line="124" extern="1">
+ <Argument type="_126" location="f1:124" file="f1" line="124"/>
+ </Function>
+ <Function id="_12" name="__builtin_ctanf" returns="_127" context="_1" location="f1:123" file="f1" line="123" extern="1">
+ <Argument type="_127" location="f1:123" file="f1" line="123"/>
+ </Function>
+ <Function id="_13" name="__builtin_csqrtl" returns="_125" context="_1" location="f1:122" file="f1" line="122" extern="1">
+ <Argument type="_125" location="f1:122" file="f1" line="122"/>
+ </Function>
+ <Function id="_14" name="__builtin_csqrt" returns="_126" context="_1" location="f1:121" file="f1" line="121" extern="1">
+ <Argument type="_126" location="f1:121" file="f1" line="121"/>
+ </Function>
+ <Function id="_15" name="__builtin_csqrtf" returns="_127" context="_1" location="f1:120" file="f1" line="120" extern="1">
+ <Argument type="_127" location="f1:120" file="f1" line="120"/>
+ </Function>
+ <Function id="_16" name="__builtin_csinhl" returns="_125" context="_1" location="f1:119" file="f1" line="119" extern="1">
+ <Argument type="_125" location="f1:119" file="f1" line="119"/>
+ </Function>
+ <Function id="_17" name="__builtin_csinh" returns="_126" context="_1" location="f1:118" file="f1" line="118" extern="1">
+ <Argument type="_126" location="f1:118" file="f1" line="118"/>
+ </Function>
+ <Function id="_18" name="__builtin_csinhf" returns="_127" context="_1" location="f1:117" file="f1" line="117" extern="1">
+ <Argument type="_127" location="f1:117" file="f1" line="117"/>
+ </Function>
+ <Function id="_19" name="__builtin_csinl" returns="_125" context="_1" location="f1:116" file="f1" line="116" extern="1">
+ <Argument type="_125" location="f1:116" file="f1" line="116"/>
+ </Function>
+ <Function id="_20" name="__builtin_csin" returns="_126" context="_1" location="f1:115" file="f1" line="115" extern="1">
+ <Argument type="_126" location="f1:115" file="f1" line="115"/>
+ </Function>
+ <Function id="_21" name="__builtin_csinf" returns="_127" context="_1" location="f1:114" file="f1" line="114" extern="1">
+ <Argument type="_127" location="f1:114" file="f1" line="114"/>
+ </Function>
+ <Function id="_22" name="__builtin_clogl" returns="_125" context="_1" location="f1:113" file="f1" line="113" extern="1">
+ <Argument type="_125" location="f1:113" file="f1" line="113"/>
+ </Function>
+ <Function id="_23" name="__builtin_clog" returns="_126" context="_1" location="f1:112" file="f1" line="112" extern="1">
+ <Argument type="_126" location="f1:112" file="f1" line="112"/>
+ </Function>
+ <Function id="_24" name="__builtin_clogf" returns="_127" context="_1" location="f1:111" file="f1" line="111" extern="1">
+ <Argument type="_127" location="f1:111" file="f1" line="111"/>
+ </Function>
+ <Function id="_25" name="__builtin_cexpl" returns="_125" context="_1" location="f1:110" file="f1" line="110" extern="1">
+ <Argument type="_125" location="f1:110" file="f1" line="110"/>
+ </Function>
+ <Function id="_26" name="__builtin_cexp" returns="_126" context="_1" location="f1:109" file="f1" line="109" extern="1">
+ <Argument type="_126" location="f1:109" file="f1" line="109"/>
+ </Function>
+ <Function id="_27" name="__builtin_cexpf" returns="_127" context="_1" location="f1:108" file="f1" line="108" extern="1">
+ <Argument type="_127" location="f1:108" file="f1" line="108"/>
+ </Function>
+ <Function id="_28" name="__builtin_ccoshl" returns="_125" context="_1" location="f1:107" file="f1" line="107" extern="1">
+ <Argument type="_125" location="f1:107" file="f1" line="107"/>
+ </Function>
+ <Function id="_29" name="__builtin_ccosh" returns="_126" context="_1" location="f1:106" file="f1" line="106" extern="1">
+ <Argument type="_126" location="f1:106" file="f1" line="106"/>
+ </Function>
+ <Function id="_30" name="__builtin_ccoshf" returns="_127" context="_1" location="f1:105" file="f1" line="105" extern="1">
+ <Argument type="_127" location="f1:105" file="f1" line="105"/>
+ </Function>
+ <Function id="_31" name="__builtin_ccosl" returns="_125" context="_1" location="f1:104" file="f1" line="104" extern="1">
+ <Argument type="_125" location="f1:104" file="f1" line="104"/>
+ </Function>
+ <Function id="_32" name="__builtin_ccos" returns="_126" context="_1" location="f1:103" file="f1" line="103" extern="1">
+ <Argument type="_126" location="f1:103" file="f1" line="103"/>
+ </Function>
+ <Function id="_33" name="__builtin_ccosf" returns="_127" context="_1" location="f1:102" file="f1" line="102" extern="1">
+ <Argument type="_127" location="f1:102" file="f1" line="102"/>
+ </Function>
+ <Function id="_34" name="__builtin_popcountll" returns="_128" context="_1" location="f1:101" file="f1" line="101" extern="1">
+ <Argument type="_129" location="f1:101" file="f1" line="101"/>
+ </Function>
+ <Function id="_35" name="__builtin_popcountl" returns="_128" context="_1" location="f1:100" file="f1" line="100" extern="1">
+ <Argument type="_130" location="f1:100" file="f1" line="100"/>
+ </Function>
+ <Function id="_36" name="__builtin_popcount" returns="_128" context="_1" location="f1:99" file="f1" line="99" extern="1">
+ <Argument type="_128" location="f1:99" file="f1" line="99"/>
+ </Function>
+ <Function id="_37" name="__builtin_ctzll" returns="_128" context="_1" location="f1:98" file="f1" line="98" extern="1">
+ <Argument type="_129" location="f1:98" file="f1" line="98"/>
+ </Function>
+ <Function id="_38" name="__builtin_ctzl" returns="_128" context="_1" location="f1:97" file="f1" line="97" extern="1">
+ <Argument type="_130" location="f1:97" file="f1" line="97"/>
+ </Function>
+ <Function id="_39" name="__builtin_ctz" returns="_128" context="_1" location="f1:96" file="f1" line="96" extern="1">
+ <Argument type="_128" location="f1:96" file="f1" line="96"/>
+ </Function>
+ <Function id="_40" name="__builtin_cargl" returns="_131" context="_1" location="f1:95" file="f1" line="95" extern="1">
+ <Argument type="_125" location="f1:95" file="f1" line="95"/>
+ </Function>
+ <Function id="_41" name="__builtin_carg" returns="_132" context="_1" location="f1:94" file="f1" line="94" extern="1">
+ <Argument type="_126" location="f1:94" file="f1" line="94"/>
+ </Function>
+ <Function id="_42" name="__builtin_cargf" returns="_133" context="_1" location="f1:93" file="f1" line="93" extern="1">
+ <Argument type="_127" location="f1:93" file="f1" line="93"/>
+ </Function>
+ <Function id="_43" name="__builtin_cabsl" returns="_131" context="_1" location="f1:92" file="f1" line="92" extern="1">
+ <Argument type="_125" location="f1:92" file="f1" line="92"/>
+ </Function>
+ <Function id="_44" name="__builtin_cabs" returns="_132" context="_1" location="f1:91" file="f1" line="91" extern="1">
+ <Argument type="_126" location="f1:91" file="f1" line="91"/>
+ </Function>
+ <Function id="_45" name="__builtin_cabsf" returns="_133" context="_1" location="f1:90" file="f1" line="90" extern="1">
+ <Argument type="_127" location="f1:90" file="f1" line="90"/>
+ </Function>
+ <Function id="_46" name="__builtin_tanl" returns="_131" context="_1" location="f1:89" file="f1" line="89" extern="1">
+ <Argument type="_131" location="f1:89" file="f1" line="89"/>
+ </Function>
+ <Function id="_47" name="__builtin_tanhl" returns="_131" context="_1" location="f1:88" file="f1" line="88" extern="1">
+ <Argument type="_131" location="f1:88" file="f1" line="88"/>
+ </Function>
+ <Function id="_48" name="__builtin_tanhf" returns="_133" context="_1" location="f1:87" file="f1" line="87" extern="1">
+ <Argument type="_133" location="f1:87" file="f1" line="87"/>
+ </Function>
+ <Function id="_49" name="__builtin_tanh" returns="_132" context="_1" location="f1:86" file="f1" line="86" extern="1">
+ <Argument type="_132" location="f1:86" file="f1" line="86"/>
+ </Function>
+ <Function id="_50" name="__builtin_tanf" returns="_133" context="_1" location="f1:85" file="f1" line="85" extern="1">
+ <Argument type="_133" location="f1:85" file="f1" line="85"/>
+ </Function>
+ <Function id="_51" name="__builtin_tan" returns="_132" context="_1" location="f1:84" file="f1" line="84" extern="1">
+ <Argument type="_132" location="f1:84" file="f1" line="84"/>
+ </Function>
+ <Function id="_52" name="__builtin_sinhl" returns="_131" context="_1" location="f1:79" file="f1" line="79" extern="1">
+ <Argument type="_131" location="f1:79" file="f1" line="79"/>
+ </Function>
+ <Function id="_53" name="__builtin_sinhf" returns="_133" context="_1" location="f1:78" file="f1" line="78" extern="1">
+ <Argument type="_133" location="f1:78" file="f1" line="78"/>
+ </Function>
+ <Function id="_54" name="__builtin_sinh" returns="_132" context="_1" location="f1:77" file="f1" line="77" extern="1">
+ <Argument type="_132" location="f1:77" file="f1" line="77"/>
+ </Function>
+ <Function id="_55" name="__builtin_powil" returns="_131" context="_1" location="f1:74" file="f1" line="74" extern="1">
+ <Argument type="_131" location="f1:74" file="f1" line="74"/>
+ <Argument type="_128" location="f1:74" file="f1" line="74"/>
+ </Function>
+ <Function id="_56" name="__builtin_powif" returns="_133" context="_1" location="f1:73" file="f1" line="73" extern="1">
+ <Argument type="_133" location="f1:73" file="f1" line="73"/>
+ <Argument type="_128" location="f1:73" file="f1" line="73"/>
+ </Function>
+ <Function id="_57" name="__builtin_powi" returns="_132" context="_1" location="f1:72" file="f1" line="72" extern="1">
+ <Argument type="_132" location="f1:72" file="f1" line="72"/>
+ <Argument type="_128" location="f1:72" file="f1" line="72"/>
+ </Function>
+ <Function id="_58" name="__builtin_powl" returns="_131" context="_1" location="f1:71" file="f1" line="71" extern="1">
+ <Argument type="_131" location="f1:71" file="f1" line="71"/>
+ <Argument type="_131" location="f1:71" file="f1" line="71"/>
+ </Function>
+ <Function id="_59" name="__builtin_powf" returns="_133" context="_1" location="f1:70" file="f1" line="70" extern="1">
+ <Argument type="_133" location="f1:70" file="f1" line="70"/>
+ <Argument type="_133" location="f1:70" file="f1" line="70"/>
+ </Function>
+ <Function id="_60" name="__builtin_modfl" returns="_131" context="_1" location="f1:69" file="f1" line="69" extern="1">
+ <Argument type="_131" location="f1:69" file="f1" line="69"/>
+ <Argument type="_134" location="f1:69" file="f1" line="69"/>
+ </Function>
+ <Function id="_61" name="__builtin_modff" returns="_133" context="_1" location="f1:68" file="f1" line="68" extern="1">
+ <Argument type="_133" location="f1:68" file="f1" line="68"/>
+ <Argument type="_135" location="f1:68" file="f1" line="68"/>
+ </Function>
+ <Function id="_62" name="__builtin_log10l" returns="_131" context="_1" location="f1:65" file="f1" line="65" extern="1">
+ <Argument type="_131" location="f1:65" file="f1" line="65"/>
+ </Function>
+ <Function id="_63" name="__builtin_log10f" returns="_133" context="_1" location="f1:64" file="f1" line="64" extern="1">
+ <Argument type="_133" location="f1:64" file="f1" line="64"/>
+ </Function>
+ <Function id="_64" name="__builtin_log10" returns="_132" context="_1" location="f1:63" file="f1" line="63" extern="1">
+ <Argument type="_132" location="f1:63" file="f1" line="63"/>
+ </Function>
+ <Function id="_65" name="__builtin_ldexpl" returns="_131" context="_1" location="f1:61" file="f1" line="61" extern="1">
+ <Argument type="_131" location="f1:61" file="f1" line="61"/>
+ <Argument type="_128" location="f1:61" file="f1" line="61"/>
+ </Function>
+ <Function id="_66" name="__builtin_ldexpf" returns="_133" context="_1" location="f1:60" file="f1" line="60" extern="1">
+ <Argument type="_133" location="f1:60" file="f1" line="60"/>
+ <Argument type="_128" location="f1:60" file="f1" line="60"/>
+ </Function>
+ <Function id="_67" name="__builtin_ldexp" returns="_132" context="_1" location="f1:59" file="f1" line="59" extern="1">
+ <Argument type="_132" location="f1:59" file="f1" line="59"/>
+ <Argument type="_128" location="f1:59" file="f1" line="59"/>
+ </Function>
+ <Function id="_68" name="__builtin_frexpl" returns="_131" context="_1" location="f1:58" file="f1" line="58" extern="1">
+ <Argument type="_131" location="f1:58" file="f1" line="58"/>
+ <Argument type="_136" location="f1:58" file="f1" line="58"/>
+ </Function>
+ <Function id="_69" name="__builtin_frexpf" returns="_133" context="_1" location="f1:57" file="f1" line="57" extern="1">
+ <Argument type="_133" location="f1:57" file="f1" line="57"/>
+ <Argument type="_136" location="f1:57" file="f1" line="57"/>
+ </Function>
+ <Function id="_70" name="__builtin_frexp" returns="_132" context="_1" location="f1:56" file="f1" line="56" extern="1">
+ <Argument type="_132" location="f1:56" file="f1" line="56"/>
+ <Argument type="_136" location="f1:56" file="f1" line="56"/>
+ </Function>
+ <Function id="_71" name="__builtin_fmodl" returns="_131" context="_1" location="f1:55" file="f1" line="55" extern="1">
+ <Argument type="_131" location="f1:55" file="f1" line="55"/>
+ <Argument type="_131" location="f1:55" file="f1" line="55"/>
+ </Function>
+ <Function id="_72" name="__builtin_fmodf" returns="_133" context="_1" location="f1:54" file="f1" line="54" extern="1">
+ <Argument type="_133" location="f1:54" file="f1" line="54"/>
+ <Argument type="_133" location="f1:54" file="f1" line="54"/>
+ </Function>
+ <Function id="_73" name="__builtin_floorl" returns="_131" context="_1" location="f1:53" file="f1" line="53" extern="1">
+ <Argument type="_131" location="f1:53" file="f1" line="53"/>
+ </Function>
+ <Function id="_74" name="__builtin_floorf" returns="_133" context="_1" location="f1:52" file="f1" line="52" extern="1">
+ <Argument type="_133" location="f1:52" file="f1" line="52"/>
+ </Function>
+ <Function id="_75" name="__builtin_floor" returns="_132" context="_1" location="f1:51" file="f1" line="51" extern="1">
+ <Argument type="_132" location="f1:51" file="f1" line="51"/>
+ </Function>
+ <Function id="_76" name="__builtin_coshl" returns="_131" context="_1" location="f1:43" file="f1" line="43" extern="1">
+ <Argument type="_131" location="f1:43" file="f1" line="43"/>
+ </Function>
+ <Function id="_77" name="__builtin_coshf" returns="_133" context="_1" location="f1:42" file="f1" line="42" extern="1">
+ <Argument type="_133" location="f1:42" file="f1" line="42"/>
+ </Function>
+ <Function id="_78" name="__builtin_cosh" returns="_132" context="_1" location="f1:41" file="f1" line="41" extern="1">
+ <Argument type="_132" location="f1:41" file="f1" line="41"/>
+ </Function>
+ <Function id="_79" name="__builtin_ceill" returns="_131" context="_1" location="f1:38" file="f1" line="38" extern="1">
+ <Argument type="_131" location="f1:38" file="f1" line="38"/>
+ </Function>
+ <Function id="_80" name="__builtin_ceilf" returns="_133" context="_1" location="f1:37" file="f1" line="37" extern="1">
+ <Argument type="_133" location="f1:37" file="f1" line="37"/>
+ </Function>
+ <Function id="_81" name="__builtin_ceil" returns="_132" context="_1" location="f1:36" file="f1" line="36" extern="1">
+ <Argument type="_132" location="f1:36" file="f1" line="36"/>
+ </Function>
+ <Function id="_82" name="__builtin_atanl" returns="_131" context="_1" location="f1:35" file="f1" line="35" extern="1">
+ <Argument type="_131" location="f1:35" file="f1" line="35"/>
+ </Function>
+ <Function id="_83" name="__builtin_atanf" returns="_133" context="_1" location="f1:34" file="f1" line="34" extern="1">
+ <Argument type="_133" location="f1:34" file="f1" line="34"/>
+ </Function>
+ <Function id="_84" name="__builtin_atan2l" returns="_131" context="_1" location="f1:33" file="f1" line="33" extern="1">
+ <Argument type="_131" location="f1:33" file="f1" line="33"/>
+ <Argument type="_131" location="f1:33" file="f1" line="33"/>
+ </Function>
+ <Function id="_85" name="__builtin_atan2f" returns="_133" context="_1" location="f1:32" file="f1" line="32" extern="1">
+ <Argument type="_133" location="f1:32" file="f1" line="32"/>
+ <Argument type="_133" location="f1:32" file="f1" line="32"/>
+ </Function>
+ <Function id="_86" name="__builtin_atan2" returns="_132" context="_1" location="f1:31" file="f1" line="31" extern="1">
+ <Argument type="_132" location="f1:31" file="f1" line="31"/>
+ <Argument type="_132" location="f1:31" file="f1" line="31"/>
+ </Function>
+ <Function id="_87" name="__builtin_atan" returns="_132" context="_1" location="f1:30" file="f1" line="30" extern="1">
+ <Argument type="_132" location="f1:30" file="f1" line="30"/>
+ </Function>
+ <Function id="_88" name="__builtin_asinl" returns="_131" context="_1" location="f1:29" file="f1" line="29" extern="1">
+ <Argument type="_131" location="f1:29" file="f1" line="29"/>
+ </Function>
+ <Function id="_89" name="__builtin_asinf" returns="_133" context="_1" location="f1:28" file="f1" line="28" extern="1">
+ <Argument type="_133" location="f1:28" file="f1" line="28"/>
+ </Function>
+ <Function id="_90" name="__builtin_asin" returns="_132" context="_1" location="f1:27" file="f1" line="27" extern="1">
+ <Argument type="_132" location="f1:27" file="f1" line="27"/>
+ </Function>
+ <Function id="_91" name="__builtin_acosl" returns="_131" context="_1" location="f1:26" file="f1" line="26" extern="1">
+ <Argument type="_131" location="f1:26" file="f1" line="26"/>
+ </Function>
+ <Function id="_92" name="__builtin_acosf" returns="_133" context="_1" location="f1:25" file="f1" line="25" extern="1">
+ <Argument type="_133" location="f1:25" file="f1" line="25"/>
+ </Function>
+ <Function id="_93" name="__builtin_acos" returns="_132" context="_1" location="f1:24" file="f1" line="24" extern="1">
+ <Argument type="_132" location="f1:24" file="f1" line="24"/>
+ </Function>
+ <Function id="_94" name="__builtin_expect" returns="_130" context="_1" location="f1:16" file="f1" line="16" extern="1">
+ <Argument name="EXP" type="_130" location="f1:16" file="f1" line="16"/>
+ <Argument name="C" type="_130" location="f1:16" file="f1" line="16"/>
+ </Function>
+ <Function id="_95" name="__builtin_prefetch" returns="_137" context="_1" location="f1:17" file="f1" line="17" extern="1">
+ <Argument name="ADDR" type="_138" location="f1:17" file="f1" line="17"/>
+ <Ellipsis/>
+ </Function>
+ <Function id="_96" name="__builtin_return" returns="_137" context="_1" location="f1:13" file="f1" line="13" extern="1" attributes="nothrow noreturn">
+ <Argument name="RESULT" type="_139" location="f1:13" file="f1" line="13"/>
+ </Function>
+ <Function id="_97" name="__builtin_return_address" returns="_139" context="_1" location="f1:14" file="f1" line="14" extern="1">
+ <Argument name="LEVEL" type="_140" location="f1:14" file="f1" line="14"/>
+ </Function>
+ <Function id="_98" name="__builtin_frame_address" returns="_139" context="_1" location="f1:15" file="f1" line="15" extern="1">
+ <Argument name="LEVEL" type="_140" location="f1:15" file="f1" line="15"/>
+ </Function>
+ <Function id="_99" name="__builtin_nansl" returns="_131" context="_1" mangled="nansl" demangled="__int128" location="f1:23" file="f1" line="23" extern="1" attributes="nothrow const">
+ <Argument name="str" type="_141" location="f1:23" file="f1" line="23"/>
+ </Function>
+ <Function id="_100" name="__builtin_nansf" returns="_133" context="_1" mangled="nansf" demangled="__int128" location="f1:22" file="f1" line="22" extern="1" attributes="nothrow const">
+ <Argument name="str" type="_141" location="f1:22" file="f1" line="22"/>
+ </Function>
+ <Function id="_101" name="__builtin_nans" returns="_132" context="_1" mangled="nans" demangled="__int128" location="f1:21" file="f1" line="21" extern="1" attributes="nothrow const">
+ <Argument name="str" type="_141" location="f1:21" file="f1" line="21"/>
+ </Function>
+ <Function id="_102" name="__builtin_infl" returns="_131" context="_1" location="f1:20" file="f1" line="20" extern="1" attributes="nothrow const"/>
+ <Function id="_103" name="__builtin_inff" returns="_133" context="_1" location="f1:19" file="f1" line="19" extern="1" attributes="nothrow const"/>
+ <Function id="_104" name="__builtin_inf" returns="_132" context="_1" location="f1:18" file="f1" line="18" extern="1" attributes="nothrow const"/>
+ <Function id="_105" name="__builtin_logl" returns="_131" context="_1" mangled="logl" demangled="long" location="f1:67" file="f1" line="67" extern="1" attributes="nothrow">
+ <Argument type="_131" location="f1:67" file="f1" line="67"/>
+ </Function>
+ <Function id="_106" name="__builtin_expl" returns="_131" context="_1" mangled="expl" demangled="long double" location="f1:47" file="f1" line="47" extern="1" attributes="nothrow">
+ <Argument type="_131" location="f1:47" file="f1" line="47"/>
+ </Function>
+ <Function id="_107" name="__builtin_cosl" returns="_131" context="_1" mangled="cosl" demangled="char" location="f1:44" file="f1" line="44" extern="1" attributes="nothrow pure">
+ <Argument type="_131" location="f1:44" file="f1" line="44"/>
+ </Function>
+ <Function id="_108" name="__builtin_sinl" returns="_131" context="_1" mangled="sinl" demangled="short" location="f1:80" file="f1" line="80" extern="1" attributes="nothrow pure">
+ <Argument type="_131" location="f1:80" file="f1" line="80"/>
+ </Function>
+ <Function id="_109" name="__builtin_sqrtl" returns="_131" context="_1" mangled="sqrtl" demangled="short" location="f1:83" file="f1" line="83" extern="1" attributes="nothrow">
+ <Argument type="_131" location="f1:83" file="f1" line="83"/>
+ </Function>
+ <Function id="_110" name="__builtin_logf" returns="_133" context="_1" mangled="logf" demangled="long" location="f1:66" file="f1" line="66" extern="1" attributes="nothrow">
+ <Argument type="_133" location="f1:66" file="f1" line="66"/>
+ </Function>
+ <Function id="_111" name="__builtin_expf" returns="_133" context="_1" mangled="expf" demangled="long double" location="f1:46" file="f1" line="46" extern="1" attributes="nothrow">
+ <Argument type="_133" location="f1:46" file="f1" line="46"/>
+ </Function>
+ <Function id="_112" name="__builtin_cosf" returns="_133" context="_1" mangled="cosf" demangled="char" location="f1:40" file="f1" line="40" extern="1" attributes="nothrow pure">
+ <Argument type="_133" location="f1:40" file="f1" line="40"/>
+ </Function>
+ <Function id="_113" name="__builtin_sinf" returns="_133" context="_1" mangled="sinf" demangled="short" location="f1:76" file="f1" line="76" extern="1" attributes="nothrow pure">
+ <Argument type="_133" location="f1:76" file="f1" line="76"/>
+ </Function>
+ <Function id="_114" name="__builtin_sqrtf" returns="_133" context="_1" mangled="sqrtf" demangled="short" location="f1:82" file="f1" line="82" extern="1" attributes="nothrow">
+ <Argument type="_133" location="f1:82" file="f1" line="82"/>
+ </Function>
+ <Function id="_115" name="__builtin_log" returns="_132" context="_1" mangled="log" demangled="long" location="f1:62" file="f1" line="62" extern="1" attributes="nothrow">
+ <Argument type="_132" location="f1:62" file="f1" line="62"/>
+ </Function>
+ <Function id="_116" name="__builtin_exp" returns="_132" context="_1" mangled="exp" demangled="long double" location="f1:45" file="f1" line="45" extern="1" attributes="nothrow">
+ <Argument type="_132" location="f1:45" file="f1" line="45"/>
+ </Function>
+ <Function id="_117" name="__builtin_cos" returns="_132" context="_1" mangled="cos" demangled="char" location="f1:39" file="f1" line="39" extern="1" attributes="nothrow pure">
+ <Argument type="_132" location="f1:39" file="f1" line="39"/>
+ </Function>
+ <Function id="_118" name="__builtin_sin" returns="_132" context="_1" mangled="sin" demangled="short" location="f1:75" file="f1" line="75" extern="1" attributes="nothrow pure">
+ <Argument type="_132" location="f1:75" file="f1" line="75"/>
+ </Function>
+ <Function id="_119" name="__builtin_sqrt" returns="_132" context="_1" mangled="sqrt" demangled="short" location="f1:81" file="f1" line="81" extern="1" attributes="nothrow">
+ <Argument type="_132" location="f1:81" file="f1" line="81"/>
+ </Function>
+ <Function id="_120" name="__builtin_fabsl" returns="_131" context="_1" location="f1:50" file="f1" line="50" extern="1" attributes="nothrow const">
+ <Argument type="_131" location="f1:50" file="f1" line="50"/>
+ </Function>
+ <Function id="_121" name="__builtin_fabsf" returns="_133" context="_1" location="f1:49" file="f1" line="49" extern="1" attributes="nothrow const">
+ <Argument type="_133" location="f1:49" file="f1" line="49"/>
+ </Function>
+ <Function id="_122" name="__builtin_fabs" returns="_132" context="_1" location="f1:48" file="f1" line="48" extern="1" attributes="nothrow const">
+ <Argument type="_132" location="f1:48" file="f1" line="48"/>
+ </Function>
+ <FundamentalType id="_123" name="long unsigned int" size="32" align="32"/>
+ <CvQualifiedType id="_123c" type="_123" const="1"/>
+ <FundamentalType id="_125" name="complex long double" size="192" align="32"/>
+ <FundamentalType id="_126" name="complex double" size="128" align="64"/>
+ <FundamentalType id="_127" name="complex float" size="64" align="32"/>
+ <FundamentalType id="_128" name="int" size="32" align="32"/>
+ <FundamentalType id="_129" name="long long int" size="64" align="64"/>
+ <FundamentalType id="_130" name="long int" size="32" align="32"/>
+ <FundamentalType id="_131" name="long double" size="96" align="32"/>
+ <FundamentalType id="_132" name="double" size="64" align="64"/>
+ <FundamentalType id="_133" name="float" size="32" align="32"/>
+ <PointerType id="_134" type="_131" size="32" align="32"/>
+ <PointerType id="_135" type="_133" size="32" align="32"/>
+ <PointerType id="_136" type="_128" size="32" align="32"/>
+ <FundamentalType id="_137" name="void" align="8"/>
+ <PointerType id="_138" type="_137c" size="32" align="32"/>
+ <PointerType id="_139" type="_137" size="32" align="32"/>
+ <FundamentalType id="_140" name="unsigned int" size="32" align="32"/>
+ <PointerType id="_141" type="_143c" size="32" align="32"/>
+ <FundamentalType id="_143" name="char" size="8" align="8"/>
+ <CvQualifiedType id="_143c" type="_143" const="1"/>
+ <CvQualifiedType id="_137c" type="_137" const="1"/>
+ <File id="f0" name="const_variables.h"/>
+ <File id="f1" name="/home/roman/gccxml/share/gccxml-0.7/GCC/4.1/gccxml_builtins.h"/>
+</GCC_XML>
Added: pygccxml_dev/gccxml-0.9-upgrade/const_variables.9.xml
===================================================================
--- pygccxml_dev/gccxml-0.9-upgrade/const_variables.9.xml (rev 0)
+++ pygccxml_dev/gccxml-0.9-upgrade/const_variables.9.xml 2007-11-03 21:15:57 UTC (rev 1118)
@@ -0,0 +1,405 @@
+<?xml version="1.0"?>
+<GCC_XML cvs_revision="1.117">
+ <Namespace id="_1" name="::" members="_3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 _25 _26 _27 _28 _29 _30 _31 _32 _33 _34 _35 _36 _37 _38 _39 _40 _41 _42 _43 _44 _45 _46 _47 _48 _49 _50 _51 _52 _53 _54 _55 _56 _57 _58 _59 _60 _61 _62 _63 _64 _65 _66 _67 _68 _69 _70 _71 _72 _73 _74 _75 _76 _77 _78 _79 _80 _2 _81 _82 _83 _84 _85 _86 _87 _88 _89 _90 _91 _92 _93 _94 _95 _96 _97 _98 _99 _100 _101 _102 _103 _104 _105 _106 _107 _108 _109 _110 _111 _112 _113 _114 _115 _116 _117 _118 _119 _120 _121 _122 _123 " mangled="_Z2::" demangled="::"/>
+ <Namespace id="_2" name="std" context="_1" members="" mangled="_Z3std" demangled="std"/>
+ <Function id="_3" name="__builtin_nans" returns="_124" context="_1" location="f0:21" file="f0" line="21" extern="1" attributes="nothrow const nonnull">
+ <Argument name="str" type="_125" location="f0:21" file="f0" line="21"/>
+ </Function>
+ <Function id="_4" name="__builtin_acosf" returns="_126" context="_1" mangled="acosf" location="f0:25" file="f0" line="25" extern="1" attributes="nothrow">
+ <Argument type="_126" location="f0:25" file="f0" line="25"/>
+ </Function>
+ <Function id="_5" name="__builtin_acosl" returns="_127" context="_1" mangled="acosl" location="f0:26" file="f0" line="26" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:26" file="f0" line="26"/>
+ </Function>
+ <Function id="_6" name="__builtin_log10" returns="_124" context="_1" mangled="log10" location="f0:63" file="f0" line="63" extern="1" attributes="nothrow">
+ <Argument type="_124" location="f0:63" file="f0" line="63"/>
+ </Function>
+ <Function id="_7" name="__builtin_popcountll" returns="_128" context="_1" location="f0:101" file="f0" line="101" extern="1" attributes="nothrow const">
+ <Argument type="_129" location="f0:101" file="f0" line="101"/>
+ </Function>
+ <Function id="_8" name="__builtin_clogf" returns="_130" context="_1" mangled="clogf" location="f0:111" file="f0" line="111" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_130" location="f0:111" file="f0" line="111"/>
+ </Function>
+ <Function id="_9" name="__builtin_clogl" returns="_131" context="_1" mangled="clogl" location="f0:113" file="f0" line="113" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_131" location="f0:113" file="f0" line="113"/>
+ </Function>
+ <Function id="_10" name="__builtin_cexpf" returns="_130" context="_1" mangled="cexpf" location="f0:108" file="f0" line="108" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_130" location="f0:108" file="f0" line="108"/>
+ </Function>
+ <Function id="_11" name="__builtin_cexpl" returns="_131" context="_1" mangled="cexpl" location="f0:110" file="f0" line="110" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_131" location="f0:110" file="f0" line="110"/>
+ </Function>
+ <Function id="_12" name="__builtin_asinf" returns="_126" context="_1" mangled="asinf" location="f0:28" file="f0" line="28" extern="1" attributes="nothrow">
+ <Argument type="_126" location="f0:28" file="f0" line="28"/>
+ </Function>
+ <Function id="_13" name="__builtin_asinl" returns="_127" context="_1" mangled="asinl" location="f0:29" file="f0" line="29" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:29" file="f0" line="29"/>
+ </Function>
+ <Function id="_14" name="__builtin_popcount" returns="_128" context="_1" location="f0:99" file="f0" line="99" extern="1" attributes="nothrow const">
+ <Argument type="_128" location="f0:99" file="f0" line="99"/>
+ </Function>
+ <Function id="_15" name="__builtin_nansf" returns="_126" context="_1" location="f0:22" file="f0" line="22" extern="1" attributes="nothrow const nonnull">
+ <Argument name="str" type="_125" location="f0:22" file="f0" line="22"/>
+ </Function>
+ <Function id="_16" name="__builtin_nansl" returns="_127" context="_1" location="f0:23" file="f0" line="23" extern="1" attributes="nothrow const nonnull">
+ <Argument name="str" type="_125" location="f0:23" file="f0" line="23"/>
+ </Function>
+ <Function id="_17" name="__builtin_floorf" returns="_126" context="_1" mangled="floorf" location="f0:52" file="f0" line="52" extern="1" attributes="nothrow const">
+ <Argument type="_126" location="f0:52" file="f0" line="52"/>
+ </Function>
+ <Function id="_18" name="__builtin_floorl" returns="_127" context="_1" mangled="floorl" location="f0:53" file="f0" line="53" extern="1" attributes="nothrow const">
+ <Argument type="_127" location="f0:53" file="f0" line="53"/>
+ </Function>
+ <Function id="_19" name="__builtin_ctanf" returns="_130" context="_1" mangled="ctanf" location="f0:123" file="f0" line="123" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_130" location="f0:123" file="f0" line="123"/>
+ </Function>
+ <Function id="_20" name="__builtin_ctanh" returns="_132" context="_1" mangled="ctanh" location="f0:127" file="f0" line="127" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_132" location="f0:127" file="f0" line="127"/>
+ </Function>
+ <Function id="_21" name="__builtin_ctanl" returns="_131" context="_1" mangled="ctanl" location="f0:125" file="f0" line="125" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_131" location="f0:125" file="f0" line="125"/>
+ </Function>
+ <Function id="_22" name="__builtin_carg" returns="_124" context="_1" mangled="carg" location="f0:94" file="f0" line="94" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_132" location="f0:94" file="f0" line="94"/>
+ </Function>
+ <Function id="_23" name="__builtin_clog" returns="_132" context="_1" mangled="clog" location="f0:112" file="f0" line="112" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_132" location="f0:112" file="f0" line="112"/>
+ </Function>
+ <Function id="_24" name="__builtin_logf" returns="_126" context="_1" mangled="logf" location="f0:66" file="f0" line="66" extern="1" attributes="nothrow">
+ <Argument type="_126" location="f0:66" file="f0" line="66"/>
+ </Function>
+ <Function id="_25" name="__builtin_logl" returns="_127" context="_1" mangled="logl" location="f0:67" file="f0" line="67" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:67" file="f0" line="67"/>
+ </Function>
+ <Function id="_26" name="__builtin_fabs" returns="_124" context="_1" mangled="fabs" location="f0:48" file="f0" line="48" extern="1" attributes="nothrow const">
+ <Argument type="_124" location="f0:48" file="f0" line="48"/>
+ </Function>
+ <Function id="_27" name="__builtin_expf" returns="_126" context="_1" mangled="expf" location="f0:46" file="f0" line="46" extern="1" attributes="nothrow">
+ <Argument type="_126" location="f0:46" file="f0" line="46"/>
+ </Function>
+ <Function id="_28" name="__builtin_expl" returns="_127" context="_1" mangled="expl" location="f0:47" file="f0" line="47" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:47" file="f0" line="47"/>
+ </Function>
+ <Function id="_29" name="__builtin_csqrt" returns="_132" context="_1" mangled="csqrt" location="f0:121" file="f0" line="121" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_132" location="f0:121" file="f0" line="121"/>
+ </Function>
+ <Function id="_30" name="__builtin_sin" returns="_124" context="_1" mangled="sin" location="f0:75" file="f0" line="75" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_124" location="f0:75" file="f0" line="75"/>
+ </Function>
+ <Function id="_31" name="__builtin_ldexpf" returns="_126" context="_1" mangled="ldexpf" location="f0:60" file="f0" line="60" extern="1" attributes="nothrow">
+ <Argument type="_126" location="f0:60" file="f0" line="60"/>
+ <Argument type="_128" location="f0:60" file="f0" line="60"/>
+ </Function>
+ <Function id="_32" name="__builtin_ldexpl" returns="_127" context="_1" mangled="ldexpl" location="f0:61" file="f0" line="61" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:61" file="f0" line="61"/>
+ <Argument type="_128" location="f0:61" file="f0" line="61"/>
+ </Function>
+ <Function id="_33" name="__builtin_tanf" returns="_126" context="_1" mangled="tanf" location="f0:85" file="f0" line="85" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_126" location="f0:85" file="f0" line="85"/>
+ </Function>
+ <Function id="_34" name="__builtin_tanh" returns="_124" context="_1" mangled="tanh" location="f0:86" file="f0" line="86" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_124" location="f0:86" file="f0" line="86"/>
+ </Function>
+ <Function id="_35" name="__builtin_tanl" returns="_127" context="_1" mangled="tanl" location="f0:89" file="f0" line="89" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_127" location="f0:89" file="f0" line="89"/>
+ </Function>
+ <Function id="_36" name="__builtin_ceil" returns="_124" context="_1" mangled="ceil" location="f0:36" file="f0" line="36" extern="1" attributes="nothrow const">
+ <Argument type="_124" location="f0:36" file="f0" line="36"/>
+ </Function>
+ <Function id="_37" name="__builtin_fmodf" returns="_126" context="_1" mangled="fmodf" location="f0:54" file="f0" line="54" extern="1" attributes="nothrow">
+ <Argument type="_126" location="f0:54" file="f0" line="54"/>
+ <Argument type="_126" location="f0:54" file="f0" line="54"/>
+ </Function>
+ <Function id="_38" name="__builtin_fmodl" returns="_127" context="_1" mangled="fmodl" location="f0:55" file="f0" line="55" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:55" file="f0" line="55"/>
+ <Argument type="_127" location="f0:55" file="f0" line="55"/>
+ </Function>
+ <Function id="_39" name="__builtin_return" returns="_133" context="_1" location="f0:13" file="f0" line="13" extern="1" attributes="nothrow noreturn">
+ <Argument name="RESULT" type="_134" location="f0:13" file="f0" line="13"/>
+ </Function>
+ <Function id="_40" name="__builtin_sqrt" returns="_124" context="_1" mangled="sqrt" location="f0:81" file="f0" line="81" extern="1" attributes="nothrow">
+ <Argument type="_124" location="f0:81" file="f0" line="81"/>
+ </Function>
+ <Function id="_41" name="__builtin_cpow" returns="_132" context="_1" mangled="cpow" location="f0:130" file="f0" line="130" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_132" location="f0:130" file="f0" line="130"/>
+ <Argument type="_132" location="f0:130" file="f0" line="130"/>
+ </Function>
+ <Function id="_42" name="__builtin_coshf" returns="_126" context="_1" mangled="coshf" location="f0:42" file="f0" line="42" extern="1" attributes="nothrow">
+ <Argument type="_126" location="f0:42" file="f0" line="42"/>
+ </Function>
+ <Function id="_43" name="__builtin_coshl" returns="_127" context="_1" mangled="coshl" location="f0:43" file="f0" line="43" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:43" file="f0" line="43"/>
+ </Function>
+ <Function id="_44" name="__builtin_cexp" returns="_132" context="_1" mangled="cexp" location="f0:109" file="f0" line="109" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_132" location="f0:109" file="f0" line="109"/>
+ </Function>
+ <Function id="_45" name="__builtin_atan2" returns="_124" context="_1" mangled="atan2" location="f0:31" file="f0" line="31" extern="1" attributes="nothrow">
+ <Argument type="_124" location="f0:31" file="f0" line="31"/>
+ <Argument type="_124" location="f0:31" file="f0" line="31"/>
+ </Function>
+ <Function id="_46" name="__builtin_atanf" returns="_126" context="_1" mangled="atanf" location="f0:34" file="f0" line="34" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_126" location="f0:34" file="f0" line="34"/>
+ </Function>
+ <Function id="_47" name="__builtin_atanl" returns="_127" context="_1" mangled="atanl" location="f0:35" file="f0" line="35" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_127" location="f0:35" file="f0" line="35"/>
+ </Function>
+ <Function id="_48" name="__builtin_ctan" returns="_132" context="_1" mangled="ctan" location="f0:124" file="f0" line="124" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_132" location="f0:124" file="f0" line="124"/>
+ </Function>
+ <Function id="_49" name="__builtin_log" returns="_124" context="_1" mangled="log" location="f0:62" file="f0" line="62" extern="1" attributes="nothrow">
+ <Argument type="_124" location="f0:62" file="f0" line="62"/>
+ </Function>
+ <Function id="_50" name="__builtin_asin" returns="_124" context="_1" mangled="asin" location="f0:27" file="f0" line="27" extern="1" attributes="nothrow">
+ <Argument type="_124" location="f0:27" file="f0" line="27"/>
+ </Function>
+ <Function id="_51" name="__builtin_frexp" returns="_124" context="_1" mangled="frexp" location="f0:56" file="f0" line="56" extern="1" attributes="nothrow">
+ <Argument type="_124" location="f0:56" file="f0" line="56"/>
+ <Argument type="_135" location="f0:56" file="f0" line="56"/>
+ </Function>
+ <Function id="_52" name="__builtin_log10f" returns="_126" context="_1" mangled="log10f" location="f0:64" file="f0" line="64" extern="1" attributes="nothrow">
+ <Argument type="_126" location="f0:64" file="f0" line="64"/>
+ </Function>
+ <Function id="_53" name="__builtin_log10l" returns="_127" context="_1" mangled="log10l" location="f0:65" file="f0" line="65" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:65" file="f0" line="65"/>
+ </Function>
+ <Function id="_54" name="__builtin_ctzl" returns="_128" context="_1" location="f0:97" file="f0" line="97" extern="1" attributes="nothrow const">
+ <Argument type="_136" location="f0:97" file="f0" line="97"/>
+ </Function>
+ <Function id="_55" name="__builtin_powif" returns="_126" context="_1" location="f0:73" file="f0" line="73" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_126" location="f0:73" file="f0" line="73"/>
+ <Argument type="_128" location="f0:73" file="f0" line="73"/>
+ </Function>
+ <Function id="_56" name="__builtin_powil" returns="_127" context="_1" location="f0:74" file="f0" line="74" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_127" location="f0:74" file="f0" line="74"/>
+ <Argument type="_128" location="f0:74" file="f0" line="74"/>
+ </Function>
+ <Function id="_57" name="__builtin_modff" returns="_126" context="_1" mangled="modff" location="f0:68" file="f0" line="68" extern="1" attributes="nothrow">
+ <Argument type="_126" location="f0:68" file="f0" line="68"/>
+ <Argument type="_137" location="f0:68" file="f0" line="68"/>
+ </Function>
+ <Function id="_58" name="__builtin_exp" returns="_124" context="_1" mangled="exp" location="f0:45" file="f0" line="45" extern="1" attributes="nothrow">
+ <Argument type="_124" location="f0:45" file="f0" line="45"/>
+ </Function>
+ <Function id="_59" name="__builtin_modfl" returns="_127" context="_1" mangled="modfl" location="f0:69" file="f0" line="69" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:69" file="f0" line="69"/>
+ <Argument type="_138" location="f0:69" file="f0" line="69"/>
+ </Function>
+ <Function id="_60" name="__builtin_prefetch" returns="_133" context="_1" location="f0:17" file="f0" line="17" extern="1" attributes="no vops">
+ <Argument name="ADDR" type="_139" location="f0:17" file="f0" line="17"/>
+ <Ellipsis/>
+ </Function>
+ <Function id="_61" name="__builtin_tan" returns="_124" context="_1" mangled="tan" location="f0:84" file="f0" line="84" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_124" location="f0:84" file="f0" line="84"/>
+ </Function>
+ <Function id="_62" name="__builtin_fabsf" returns="_126" context="_1" mangled="fabsf" location="f0:49" file="f0" line="49" extern="1" attributes="nothrow const">
+ <Argument type="_126" location="f0:49" file="f0" line="49"/>
+ </Function>
+ <Function id="_63" name="__builtin_fabsl" returns="_127" context="_1" mangled="fabsl" location="f0:50" file="f0" line="50" extern="1" attributes="nothrow const">
+ <Argument type="_127" location="f0:50" file="f0" line="50"/>
+ </Function>
+ <Function id="_64" name="__builtin_inf" returns="_124" context="_1" location="f0:18" file="f0" line="18" extern="1" attributes="nothrow const"/>
+ <Namespace id="_65" name="__cxxabiv1" context="_1" members="" mangled="_Z10__cxxabiv1" demangled="__cxxabiv1"/>
+ <Function id="_66" name="__builtin_frame_address" returns="_134" context="_1" location="f0:15" file="f0" line="15" extern="1">
+ <Argument name="LEVEL" type="_140" location="f0:15" file="f0" line="15"/>
+ </Function>
+ <Function id="_67" name="__builtin_cabs" returns="_124" context="_1" mangled="cabs" location="f0:91" file="f0" line="91" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_132" location="f0:91" file="f0" line="91"/>
+ </Function>
+ <Function id="_68" name="__builtin_atan2f" returns="_126" context="_1" mangled="atan2f" location="f0:32" file="f0" line="32" extern="1" attributes="nothrow">
+ <Argument type="_126" location="f0:32" file="f0" line="32"/>
+ <Argument type="_126" location="f0:32" file="f0" line="32"/>
+ </Function>
+ <Function id="_69" name="__builtin_atan2l" returns="_127" context="_1" mangled="atan2l" location="f0:33" file="f0" line="33" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:33" file="f0" line="33"/>
+ <Argument type="_127" location="f0:33" file="f0" line="33"/>
+ </Function>
+ <Function id="_70" name="__builtin_ccoshf" returns="_130" context="_1" mangled="ccoshf" location="f0:105" file="f0" line="105" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_130" location="f0:105" file="f0" line="105"/>
+ </Function>
+ <Function id="_71" name="__builtin_ccoshl" returns="_131" context="_1" mangled="ccoshl" location="f0:107" file="f0" line="107" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_131" location="f0:107" file="f0" line="107"/>
+ </Function>
+ <Function id="_72" name="__builtin_atan" returns="_124" context="_1" mangled="atan" location="f0:30" file="f0" line="30" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_124" location="f0:30" file="f0" line="30"/>
+ </Function>
+ <Function id="_73" name="__builtin_sinhf" returns="_126" context="_1" mangled="sinhf" location="f0:78" file="f0" line="78" extern="1" attributes="nothrow">
+ <Argument type="_126" location="f0:78" file="f0" line="78"/>
+ </Function>
+ <Function id="_74" name="__builtin_sinhl" returns="_127" context="_1" mangled="sinhl" location="f0:79" file="f0" line="79" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:79" file="f0" line="79"/>
+ </Function>
+ <Function id="_75" name="__builtin_sqrtf" returns="_126" context="_1" mangled="sqrtf" location="f0:82" file="f0" line="82" extern="1" attributes="nothrow">
+ <Argument type="_126" location="f0:82" file="f0" line="82"/>
+ </Function>
+ <Function id="_76" name="__builtin_sqrtl" returns="_127" context="_1" mangled="sqrtl" location="f0:83" file="f0" line="83" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:83" file="f0" line="83"/>
+ </Function>
+ <Function id="_77" name="__builtin_frexpf" returns="_126" context="_1" mangled="frexpf" location="f0:57" file="f0" line="57" extern="1" attributes="nothrow">
+ <Argument type="_126" location="f0:57" file="f0" line="57"/>
+ <Argument type="_135" location="f0:57" file="f0" line="57"/>
+ </Function>
+ <Function id="_78" name="__builtin_frexpl" returns="_127" context="_1" mangled="frexpl" location="f0:58" file="f0" line="58" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:58" file="f0" line="58"/>
+ <Argument type="_135" location="f0:58" file="f0" line="58"/>
+ </Function>
+ <Function id="_79" name="__builtin_cpowf" returns="_130" context="_1" mangled="cpowf" location="f0:129" file="f0" line="129" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_130" location="f0:129" file="f0" line="129"/>
+ <Argument type="_130" location="f0:129" file="f0" line="129"/>
+ </Function>
+ <Function id="_80" name="__builtin_cpowl" returns="_131" context="_1" mangled="cpowl" location="f0:131" file="f0" line="131" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_131" location="f0:131" file="f0" line="131"/>
+ <Argument type="_131" location="f0:131" file="f0" line="131"/>
+ </Function>
+ <Function id="_81" name="__builtin_tanhf" returns="_126" context="_1" mangled="tanhf" location="f0:87" file="f0" line="87" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_126" location="f0:87" file="f0" line="87"/>
+ </Function>
+ <Function id="_82" name="__builtin_tanhl" returns="_127" context="_1" mangled="tanhl" location="f0:88" file="f0" line="88" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_127" location="f0:88" file="f0" line="88"/>
+ </Function>
+ <Function id="_83" name="__builtin_cabsf" returns="_126" context="_1" mangled="cabsf" location="f0:90" file="f0" line="90" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_130" location="f0:90" file="f0" line="90"/>
+ </Function>
+ <Function id="_84" name="__builtin_cabsl" returns="_127" context="_1" mangled="cabsl" location="f0:92" file="f0" line="92" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_131" location="f0:92" file="f0" line="92"/>
+ </Function>
+ <Function id="_85" name="__builtin_powf" returns="_126" context="_1" mangled="powf" location="f0:70" file="f0" line="70" extern="1" attributes="nothrow">
+ <Argument type="_126" location="f0:70" file="f0" line="70"/>
+ <Argument type="_126" location="f0:70" file="f0" line="70"/>
+ </Function>
+ <Function id="_86" name="__builtin_powi" returns="_124" context="_1" location="f0:72" file="f0" line="72" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_124" location="f0:72" file="f0" line="72"/>
+ <Argument type="_128" location="f0:72" file="f0" line="72"/>
+ </Function>
+ <Function id="_87" name="__builtin_powl" returns="_127" context="_1" mangled="powl" location="f0:71" file="f0" line="71" extern="1" attributes="nothrow">
+ <Argument type="_127" location="f0:71" file="f0" line="71"/>
+ <Argument type="_127" location="f0:71" file="f0" line="71"/>
+ </Function>
+ <Variable id="_88" name="initialized" type="_141c" init="10122004ul" context="_1" location="f1:6" file="f1" line="6"/>
+ <Function id="_89" name="__builtin_ccos" returns="_132" context="_1" mangled="ccos" location="f0:103" file="f0" line="103" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_132" location="f0:103" file="f0" line="103"/>
+ </Function>
+ <Function id="_90" name="__builtin_expect" returns="_136" context="_1" location="f0:16" file="f0" line="16" extern="1" attributes="nothrow const">
+ <Argument name="EXP" type="_136" location="f0:16" file="f0" line="16"/>
+ <Argument name="C" type="_136" location="f0:16" file="f0" line="16"/>
+ </Function>
+ <Function id="_91" name="__builtin_popcountl" returns="_128" context="_1" location="f0:100" file="f0" line="100" extern="1" attributes="nothrow const">
+ <Argument type="_136" location="f0:100" file="f0" line="100"/>
+ </Function>
+ <Function id="_92" name="__builtin_inff" returns="_126" context="_1" location="f0:19" file="f0" line="19" extern="1" attributes="nothrow const"/>
+ <Function id="_93" name="__builtin_infl" returns="_127" context="_1" location="f0:20" file="f0" line="20" extern="1" attributes="nothrow const"/>
+ <Function id="_94" name="__builtin_cos" returns="_124" context="_1" mangled="cos" location="f0:39" file="f0" line="39" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_124" location="f0:39" file="f0" line="39"/>
+ </Function>
+ <Function id="_95" name="__builtin_ctz" returns="_128" context="_1" location="f0:96" file="f0" line="96" extern="1" attributes="nothrow const">
+ <Argument type="_128" location="f0:96" file="f0" line="96"/>
+ </Function>
+ <Function id="_96" name="__builtin_return_address" returns="_134" context="_1" location="f0:14" file="f0" line="14" extern="1">
+ <Argument name="LEVEL" type="_140" location="f0:14" file="f0" line="14"/>
+ </Function>
+ <Function id="_97" name="__builtin_csinhf" returns="_130" context="_1" mangled="csinhf" location="f0:117" file="f0" line="117" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_130" location="f0:117" file="f0" line="117"/>
+ </Function>
+ <Function id="_98" name="__builtin_csinhl" returns="_131" context="_1" mangled="csinhl" location="f0:119" file="f0" line="119" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_131" location="f0:119" file="f0" line="119"/>
+ </Function>
+ <Function id="_99" name="__builtin_csqrtf" returns="_130" context="_1" mangled="csqrtf" location="f0:120" file="f0" line="120" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_130" location="f0:120" file="f0" line="120"/>
+ </Function>
+ <Function id="_100" name="__builtin_csqrtl" returns="_131" context="_1" mangled="csqrtl" location="f0:122" file="f0" line="122" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_131" location="f0:122" file="f0" line="122"/>
+ </Function>
+ <Function id="_101" name="__builtin_floor" returns="_124" context="_1" mangled="floor" location="f0:51" file="f0" line="51" extern="1" attributes="nothrow const">
+ <Argument type="_124" location="f0:51" file="f0" line="51"/>
+ </Function>
+ <Function id="_102" name="__builtin_ldexp" returns="_124" context="_1" mangled="ldexp" location="f0:59" file="f0" line="59" extern="1" attributes="nothrow">
+ <Argument type="_124" location="f0:59" file="f0" line="59"/>
+ <Argument type="_128" location="f0:59" file="f0" line="59"/>
+ </Function>
+ <Function id="_103" name="__builtin_ccosf" returns="_130" context="_1" mangled="ccosf" location="f0:102" file="f0" line="102" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_130" location="f0:102" file="f0" line="102"/>
+ </Function>
+ <Function id="_104" name="__builtin_ccosh" returns="_132" context="_1" mangled="ccosh" location="f0:106" file="f0" line="106" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_132" location="f0:106" file="f0" line="106"/>
+ </Function>
+ <Function id="_105" name="__builtin_ccosl" returns="_131" context="_1" mangled="ccosl" location="f0:104" file="f0" line="104" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_131" location="f0:104" file="f0" line="104"/>
+ </Function>
+ <Function id="_106" name="__builtin_ctanhf" returns="_130" context="_1" mangled="ctanhf" location="f0:126" file="f0" line="126" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_130" location="f0:126" file="f0" line="126"/>
+ </Function>
+ <Function id="_107" name="__builtin_ctanhl" returns="_131" context="_1" mangled="ctanhl" location="f0:128" file="f0" line="128" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_131" location="f0:128" file="f0" line="128"/>
+ </Function>
+ <Function id="_108" name="__builtin_ceilf" returns="_126" context="_1" mangled="ceilf" location="f0:37" file="f0" line="37" extern="1" attributes="nothrow const">
+ <Argument type="_126" location="f0:37" file="f0" line="37"/>
+ </Function>
+ <Function id="_109" name="__builtin_ceill" returns="_127" context="_1" mangled="ceill" location="f0:38" file="f0" line="38" extern="1" attributes="nothrow const">
+ <Argument type="_127" location="f0:38" file="f0" line="38"/>
+ </Function>
+ <Function id="_110" name="__builtin_csinf" returns="_130" context="_1" mangled="csinf" location="f0:114" file="f0" line="114" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_130" location="f0:114" file="f0" line="114"/>
+ </Function>
+ <Function id="_111" name="__builtin_csinh" returns="_132" context="_1" mangled="csinh" location="f0:118" file="f0" line="118" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_132" location="f0:118" file="f0" line="118"/>
+ </Function>
+ <Function id="_112" name="__builtin_csinl" returns="_131" context="_1" mangled="csinl" location="f0:116" file="f0" line="116" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_131" location="f0:116" file="f0" line="116"/>
+ </Function>
+ <Function id="_113" name="__builtin_acos" returns="_124" context="_1" mangled="acos" location="f0:24" file="f0" line="24" extern="1" attributes="nothrow">
+ <Argument type="_124" location="f0:24" file="f0" line="24"/>
+ </Function>
+ <Function id="_114" name="__builtin_ctzll" returns="_128" context="_1" location="f0:98" file="f0" line="98" extern="1" attributes="nothrow const">
+ <Argument type="_129" location="f0:98" file="f0" line="98"/>
+ </Function>
+ <Function id="_115" name="__builtin_cargf" returns="_126" context="_1" mangled="cargf" location="f0:93" file="f0" line="93" extern="1" attributes="nothrow pure no vops">
+ <Argument type="_130" location="f0:93" file="f0" line="93"/>
+ </Function>
+ <Function id="_116" name="__builtin_cargl" returns="_...
[truncated message content] |
|
From: <rom...@us...> - 2007-09-23 12:37:51
|
Revision: 1117
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1117&view=rev
Author: roman_yakovenko
Date: 2007-09-23 05:37:52 -0700 (Sun, 23 Sep 2007)
Log Message:
-----------
guide-line for easy-extending guide
Added Paths:
-----------
pyplusplus_dev/docs/documentation/easy_extending_guide.odt
Added: pyplusplus_dev/docs/documentation/easy_extending_guide.odt
===================================================================
(Binary files differ)
Property changes on: pyplusplus_dev/docs/documentation/easy_extending_guide.odt
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rom...@us...> - 2007-09-20 18:57:59
|
Revision: 1116
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1116&view=rev
Author: roman_yakovenko
Date: 2007-09-20 11:57:59 -0700 (Thu, 20 Sep 2007)
Log Message:
-----------
fixing "already_exposed" functionality - improving unit tests
Modified Paths:
--------------
pyplusplus_dev/unittests/data/enums_to_be_exported.hpp
pyplusplus_dev/unittests/enums_tester.py
pyplusplus_dev/unittests/fundamental_tester_base.py
Modified: pyplusplus_dev/unittests/data/enums_to_be_exported.hpp
===================================================================
--- pyplusplus_dev/unittests/data/enums_to_be_exported.hpp 2007-09-20 18:44:54 UTC (rev 1115)
+++ pyplusplus_dev/unittests/data/enums_to_be_exported.hpp 2007-09-20 18:57:59 UTC (rev 1116)
@@ -1,26 +1,28 @@
-// Copyright 2004 Roman Yakovenko.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef __enums_to_be_exported_hpp__
-#define __enums_to_be_exported_hpp__
-
-namespace enums{
-
-enum color{
- red = 1
- , green = 2
- , blue = 4 };
+// Copyright 2004 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+#ifndef __enums_to_be_exported_hpp__
+#define __enums_to_be_exported_hpp__
+
+enum Chisla{ nol, odin, dva, tri };
+
+namespace enums{
+
+enum color{
+ red = 1
+ , green = 2
+ , blue = 4 };
+
enum numbers{
zero = 0
, noll = 0
};
-
-inline int to_int( int x=red ){ return x; }
-
-}
-
-
-#endif//__enums_to_be_exported_hpp__
+
+inline int to_int( int x=red ){ return x; }
+
+}
+
+
+#endif//__enums_to_be_exported_hpp__
Modified: pyplusplus_dev/unittests/enums_tester.py
===================================================================
--- pyplusplus_dev/unittests/enums_tester.py 2007-09-20 18:44:54 UTC (rev 1115)
+++ pyplusplus_dev/unittests/enums_tester.py 2007-09-20 18:57:59 UTC (rev 1116)
@@ -18,6 +18,8 @@
, *args )
def customize(self, mb ):
+ mb.enum( 'Chisla' ).include()
+
color = mb.enumeration( 'color' )
color.alias = 'Color'
color.value_aliases['red'] = 'RED'
@@ -45,4 +47,4 @@
unittest.TextTestRunner(verbosity=2).run( create_suite() )
if __name__ == "__main__":
- run_suite()
\ No newline at end of file
+ run_suite()
Modified: pyplusplus_dev/unittests/fundamental_tester_base.py
===================================================================
--- pyplusplus_dev/unittests/fundamental_tester_base.py 2007-09-20 18:44:54 UTC (rev 1115)
+++ pyplusplus_dev/unittests/fundamental_tester_base.py 2007-09-20 18:57:59 UTC (rev 1116)
@@ -8,6 +8,8 @@
import unittest
import autoconfig
from pygccxml import parser
+from pyplusplus import utils
+from pygccxml import declarations
from pyplusplus import module_builder
LICENSE = """// Copyright 2004 Roman Yakovenko.
@@ -46,6 +48,21 @@
was_exception = True
self.failUnless(was_exception, 'exception has not been raised during execution.')
+ def __test_already_exposed( self, mb ):
+ exposed_db = utils.exposed_decls_db_t()
+ exposed_db.load( autoconfig.build_dir )
+ irrelevant_decl_types = ( declarations.typedef_t
+ , declarations.namespace_t
+ , declarations.free_operator_t )
+ for d in mb.decls():
+ if d.ignore or not d.exportable or isinstance( d, irrelevant_decl_types ):
+ continue
+ if d.parent and not d.parent.name:
+ continue #unnamed classes
+ self.failUnless( exposed_db.is_exposed( d )
+ , '''Declaration "%s" is exposed, but for some reason it isn't marked as such.'''
+ % str( d ) )
+
def customize(self, generator):
pass
@@ -86,6 +103,7 @@
mb.code_creator.precompiled_header = "boost/python.hpp"
mb.code_creator.license = LICENSE
self.generate_source_files( mb )
+ self.__test_already_exposed( mb )
def _create_sconstruct(self, sources ):
sources_str = []
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rom...@us...> - 2007-09-20 18:44:52
|
Revision: 1115
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1115&view=rev
Author: roman_yakovenko
Date: 2007-09-20 11:44:54 -0700 (Thu, 20 Sep 2007)
Log Message:
-----------
fixing "already_exposed" functionality
Modified Paths:
--------------
pyplusplus_dev/pyplusplus/code_creators/calldef.py
pyplusplus_dev/pyplusplus/code_creators/class_declaration.py
pyplusplus_dev/pyplusplus/code_creators/declaration_based.py
pyplusplus_dev/pyplusplus/code_creators/enum.py
pyplusplus_dev/pyplusplus/code_creators/exception_translator.py
pyplusplus_dev/pyplusplus/code_creators/global_variable.py
pyplusplus_dev/pyplusplus/code_creators/indexing_suites.py
pyplusplus_dev/pyplusplus/code_creators/member_variable.py
pyplusplus_dev/pyplusplus/code_creators/opaque_type_registrator.py
pyplusplus_dev/pyplusplus/code_creators/smart_pointers.py
pyplusplus_dev/pyplusplus/code_creators/unnamed_enum.py
Modified: pyplusplus_dev/pyplusplus/code_creators/calldef.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/calldef.py 2007-09-18 20:49:07 UTC (rev 1114)
+++ pyplusplus_dev/pyplusplus/code_creators/calldef.py 2007-09-20 18:44:54 UTC (rev 1115)
@@ -140,6 +140,11 @@
files.append( self.declaration.call_policies.header_file )
return files
+ def register_exposed( self, exposed_db ):
+ """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}"""
+ exposed_db.expose( self.declaration )
+
+
class calldef_wrapper_t( code_creator.code_creator_t
, declaration_based.declaration_based_t):
def __init__(self, function ):
@@ -183,6 +188,11 @@
files.append( self.declaration.call_policies.header_file )
return files
+ def register_exposed( self, exposed_db ):
+ """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}"""
+ exposed_db.expose( self.declaration )
+
+
class free_function_t( calldef_t ):
def __init__( self, function ):
calldef_t.__init__( self, function=function )
@@ -863,7 +873,7 @@
return 'staticmethod( "%s" )' % self.function_code_creator.alias
def _get_system_headers_impl( self ):
- return []
+ return []
class constructor_wrapper_t( calldef_wrapper_t ):
"""
@@ -1070,6 +1080,10 @@
def _get_system_headers_impl( self ):
return []
+ def register_exposed( self, exposed_db ):
+ """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}"""
+ exposed_db.expose( self.declaration )
+
class casting_operator_t( registration_based.registration_based_t
, declaration_based.declaration_based_t ):
"""
@@ -1094,6 +1108,11 @@
def _get_system_headers_impl( self ):
return []
+ def register_exposed( self, exposed_db ):
+ """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}"""
+ exposed_db.expose( self.declaration )
+
+
class casting_member_operator_t( registration_based.registration_based_t
, declaration_based.declaration_based_t ):
"""
@@ -1131,7 +1150,13 @@
def _get_system_headers_impl( self ):
return []
+
+ def register_exposed( self, exposed_db ):
+ """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}"""
+ exposed_db.expose( self.declaration )
+
+
class casting_constructor_t( registration_based.registration_based_t
, declaration_based.declaration_based_t ):
"""
@@ -1209,6 +1234,11 @@
@property
def name( self ):
return '%s_%s_overloads' % ( self.parent_decl.alias, self.alias )
+
+ def register_exposed( self, exposed_db ):
+ """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}"""
+ for f in self.functions:
+ exposed_db.expose( f )
class mem_fun_overloads_class_t( calldef_overloads_class_t ):
def __init__( self, mem_funs ):
Modified: pyplusplus_dev/pyplusplus/code_creators/class_declaration.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/class_declaration.py 2007-09-18 20:49:07 UTC (rev 1114)
+++ pyplusplus_dev/pyplusplus/code_creators/class_declaration.py 2007-09-20 18:44:54 UTC (rev 1115)
@@ -405,10 +405,12 @@
def _get_system_headers_impl( self ):
return []
+ def register_exposed( self, exposed_db ):
+ """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}"""
+ exposed_db.expose( self.declaration )
-
Modified: pyplusplus_dev/pyplusplus/code_creators/declaration_based.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/declaration_based.py 2007-09-18 20:49:07 UTC (rev 1114)
+++ pyplusplus_dev/pyplusplus/code_creators/declaration_based.py 2007-09-20 18:44:54 UTC (rev 1115)
@@ -54,7 +54,3 @@
def get_user_headers( self, recursive=False, unique=False ):
"""return list of user header files to be included from the generated file"""
return self.declaration.include_files
-
- def register_exposed( self, exposed_db ):
- """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}"""
- exposed_db.expose( self.declaration )
Modified: pyplusplus_dev/pyplusplus/code_creators/enum.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/enum.py 2007-09-18 20:49:07 UTC (rev 1114)
+++ pyplusplus_dev/pyplusplus/code_creators/enum.py 2007-09-20 18:44:54 UTC (rev 1115)
@@ -66,3 +66,7 @@
def _get_system_headers_impl( self ):
return []
+
+ def register_exposed( self, exposed_db ):
+ """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}"""
+ exposed_db.expose( self.declaration )
Modified: pyplusplus_dev/pyplusplus/code_creators/exception_translator.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/exception_translator.py 2007-09-18 20:49:07 UTC (rev 1114)
+++ pyplusplus_dev/pyplusplus/code_creators/exception_translator.py 2007-09-20 18:44:54 UTC (rev 1115)
@@ -35,7 +35,11 @@
def _get_system_headers_impl( self ):
return []
+ def register_exposed( self, exposed_db ):
+ """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}"""
+ exposed_db.expose( self.declaration )
+
class exception_translator_register_t( registration_based.registration_based_t
, declaration_based.declaration_based_t ):
def __init__(self, exception_class, exception_translator):
@@ -55,3 +59,8 @@
def _get_system_headers_impl( self ):
return []
+
+ def register_exposed( self, exposed_db ):
+ """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}"""
+ exposed_db.expose( self.declaration )
+
Modified: pyplusplus_dev/pyplusplus/code_creators/global_variable.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/global_variable.py 2007-09-18 20:49:07 UTC (rev 1114)
+++ pyplusplus_dev/pyplusplus/code_creators/global_variable.py 2007-09-20 18:44:54 UTC (rev 1115)
@@ -32,7 +32,12 @@
def _get_system_headers_impl( self ):
return []
-
+
+ def register_exposed( self, exposed_db ):
+ """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}"""
+ exposed_db.expose( self.declaration )
+
+
class global_variable_t( global_variable_base_t ):
"""
Creates boost.python code that exposes global variable.
Modified: pyplusplus_dev/pyplusplus/code_creators/indexing_suites.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/indexing_suites.py 2007-09-18 20:49:07 UTC (rev 1114)
+++ pyplusplus_dev/pyplusplus/code_creators/indexing_suites.py 2007-09-20 18:44:54 UTC (rev 1115)
@@ -51,6 +51,11 @@
def _get_system_headers_impl( self ):
return self.configuration.include_files
+
+ def register_exposed( self, exposed_db ):
+ """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}"""
+ exposed_db.expose( self.declaration )
+
class indexing_suite2_t( registration_based.registration_based_t
, declaration_based.declaration_based_t ):
@@ -121,6 +126,11 @@
def _get_system_headers_impl( self ):
return self.declaration.indexing_suite.include_files
+ def register_exposed( self, exposed_db ):
+ """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}"""
+ exposed_db.expose( self.declaration )
+
+
class value_traits_t( code_creator.code_creator_t
, declaration_based.declaration_based_t ):
def __init__( self, value_class ):
@@ -178,3 +188,8 @@
def _get_system_headers_impl( self ):
return ['boost/python/suite/indexing/value_traits.hpp']
+
+ def register_exposed( self, exposed_db ):
+ """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}"""
+ exposed_db.expose( self.declaration )
+
Modified: pyplusplus_dev/pyplusplus/code_creators/member_variable.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/member_variable.py 2007-09-18 20:49:07 UTC (rev 1114)
+++ pyplusplus_dev/pyplusplus/code_creators/member_variable.py 2007-09-20 18:44:54 UTC (rev 1115)
@@ -38,7 +38,12 @@
if self.declaration.setter_call_policies:
files.append( self.declaration.setter_call_policies.header_file )
return files
+
+ def register_exposed( self, exposed_db ):
+ """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}"""
+ exposed_db.expose( self.declaration )
+
class member_variable_t( member_variable_base_t ):
"""
Creates boost.python code that exposes member variable.
Modified: pyplusplus_dev/pyplusplus/code_creators/opaque_type_registrator.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/opaque_type_registrator.py 2007-09-18 20:49:07 UTC (rev 1114)
+++ pyplusplus_dev/pyplusplus/code_creators/opaque_type_registrator.py 2007-09-20 18:44:54 UTC (rev 1115)
@@ -23,4 +23,7 @@
def _get_system_headers_impl( self ):
return []
+ def register_exposed( self, exposed_db ):
+ """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}"""
+ exposed_db.expose( self.declaration )
Modified: pyplusplus_dev/pyplusplus/code_creators/smart_pointers.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/smart_pointers.py 2007-09-18 20:49:07 UTC (rev 1114)
+++ pyplusplus_dev/pyplusplus/code_creators/smart_pointers.py 2007-09-20 18:44:54 UTC (rev 1115)
@@ -76,6 +76,11 @@
def _get_system_headers_impl( self ):
return []
+
+ def register_exposed( self, exposed_db ):
+ """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}"""
+ exposed_db.expose( self.declaration )
+
class smart_pointers_converter_t( registration_based.registration_based_t
, declaration_based.declaration_based_t ):
@@ -118,3 +123,7 @@
def _get_system_headers_impl( self ):
return []
+ def register_exposed( self, exposed_db ):
+ """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}"""
+ exposed_db.expose( self.declaration )
+
Modified: pyplusplus_dev/pyplusplus/code_creators/unnamed_enum.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/unnamed_enum.py 2007-09-18 20:49:07 UTC (rev 1114)
+++ pyplusplus_dev/pyplusplus/code_creators/unnamed_enum.py 2007-09-20 18:44:54 UTC (rev 1115)
@@ -35,4 +35,9 @@
return os.linesep.join( result )
def _get_system_headers_impl( self ):
- return []
\ No newline at end of file
+ return []
+
+ def register_exposed( self, exposed_db ):
+ """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}"""
+ exposed_db.expose( self.declaration )
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rom...@us...> - 2007-09-18 20:49:35
|
Revision: 1114
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1114&view=rev
Author: roman_yakovenko
Date: 2007-09-18 13:49:07 -0700 (Tue, 18 Sep 2007)
Log Message:
-----------
bug fixes:
If a class has a base class that is defined 'already-exposed' (either specifically or from setting dependencies-module) then the base is never speificied in the generated source.
Modified Paths:
--------------
pyplusplus_dev/pyplusplus/code_creators/class_declaration.py
pyplusplus_dev/pyplusplus/module_creator/dependencies_manager.py
pyplusplus_dev/unittests/already_exposed_tester.py
pyplusplus_dev/unittests/data/already_exposed_to_be_exported.hpp
Modified: pyplusplus_dev/pyplusplus/code_creators/class_declaration.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/class_declaration.py 2007-09-18 20:46:55 UTC (rev 1113)
+++ pyplusplus_dev/pyplusplus/code_creators/class_declaration.py 2007-09-18 20:49:07 UTC (rev 1114)
@@ -160,6 +160,8 @@
continue
if base_creators.has_key( id(base_desc.related_class) ):
bases.append( algorithm.create_identifier( self, base_desc.related_class.decl_string ) )
+ elif base_desc.related_class.already_exposed:
+ bases.append( base_desc.related_class.decl_string )
if not bases:
return None
bases_identifier = algorithm.create_identifier( self, '::boost::python::bases' )
Modified: pyplusplus_dev/pyplusplus/module_creator/dependencies_manager.py
===================================================================
--- pyplusplus_dev/pyplusplus/module_creator/dependencies_manager.py 2007-09-18 20:46:55 UTC (rev 1113)
+++ pyplusplus_dev/pyplusplus/module_creator/dependencies_manager.py 2007-09-18 20:49:07 UTC (rev 1114)
@@ -97,8 +97,12 @@
continue
if self.__is_std_decl( depend_on_decl ):
continue
- if isinstance( depend_on_decl, declarations.class_types ) and depend_on_decl.opaque:
- continue
+ if isinstance( depend_on_decl, decl_wrappers.decl_wrapper_t ):
+ if depend_on_decl.already_exposed:
+ continue
+ if isinstance( depend_on_decl, declarations.class_types ):
+ if depend_on_decl.opaque:
+ continue
if id( depend_on_decl ) not in exported_ids:
report = messages.filter_disabled_msgs([messages.W1040], depend_on_decl.disabled_messaged )
if report:
Modified: pyplusplus_dev/unittests/already_exposed_tester.py
===================================================================
--- pyplusplus_dev/unittests/already_exposed_tester.py 2007-09-18 20:46:55 UTC (rev 1113)
+++ pyplusplus_dev/unittests/already_exposed_tester.py 2007-09-18 20:49:07 UTC (rev 1114)
@@ -8,28 +8,30 @@
import unittest
import autoconfig
from pyplusplus import utils
+from pyplusplus import module_builder
import fundamental_tester_base
-class tester_t(fundamental_tester_base.fundamental_tester_base_t):
- EXTENSION_NAME = 'already_exposed'
-
- def __init__( self, *args ):
- fundamental_tester_base.fundamental_tester_base_t.__init__(
- self
- , tester_t.EXTENSION_NAME
- , *args )
-
- def customize(self, mb ):
+class tester_t( unittest.TestCase ):
+ def test(self):
+ fpath = os.path.join( autoconfig.data_directory, 'already_exposed_to_be_exported.hpp' )
+ mb = module_builder.module_builder_t( [module_builder.create_source_fc( fpath )]
+ , gccxml_path=autoconfig.gccxml.executable )
+
exposed_db = utils.exposed_decls_db_t()
- map( exposed_db.expose, mb.decls(recursive=True) )
+ ae = mb.namespace( 'already_exposed' )
+ map( exposed_db.expose, ae.decls(recursive=True) )
exposed_db.save( autoconfig.build_dir )
mb.register_module_dependency( autoconfig.build_dir )
mb.decls().exclude()
mb.namespace( 'already_exposed' ).include()
+ mb.class_( 'ae_derived' ).include()
- def run_tests(self, module):
- self.failUnless( 'ae_t' not in dir( module ) )
- self.failUnless( 'ae_e' not in dir( module ) )
+ mb.build_code_creator( 'xxx' )
+
+ body = mb.code_creator.body
+ self.failUnless( 1 == len( body.creators ) )
+ ae_derived_code = body.creators[0].create()
+ self.failUnless( mb.class_( 'ae_base' ).decl_string in ae_derived_code )
def create_suite():
suite = unittest.TestSuite()
Modified: pyplusplus_dev/unittests/data/already_exposed_to_be_exported.hpp
===================================================================
--- pyplusplus_dev/unittests/data/already_exposed_to_be_exported.hpp 2007-09-18 20:46:55 UTC (rev 1113)
+++ pyplusplus_dev/unittests/data/already_exposed_to_be_exported.hpp 2007-09-18 20:49:07 UTC (rev 1114)
@@ -12,6 +12,11 @@
enum ae_e { x1, x2 };
+struct ae_base{};
+
}
+struct ae_derived : public already_exposed::ae_base
+{};
+
#endif//__already_exposed_to_be_exported_hpp__
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rom...@us...> - 2007-09-18 20:46:52
|
Revision: 1113
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1113&view=rev
Author: roman_yakovenko
Date: 2007-09-18 13:46:55 -0700 (Tue, 18 Sep 2007)
Log Message:
-----------
small bug fix:
def write(self):
target_dir = os.path.split( self.file_name )[0]
This fails if file_name doesn't have a dir component.
Modified Paths:
--------------
pyplusplus_dev/pyplusplus/file_writers/single_file.py
Modified: pyplusplus_dev/pyplusplus/file_writers/single_file.py
===================================================================
--- pyplusplus_dev/pyplusplus/file_writers/single_file.py 2007-08-26 19:36:11 UTC (rev 1112)
+++ pyplusplus_dev/pyplusplus/file_writers/single_file.py 2007-09-18 20:46:55 UTC (rev 1113)
@@ -20,7 +20,9 @@
return self.__fname
def write(self):
- target_dir = os.path.split( self.file_name )[0]
+ target_dir = os.path.dirname( self.file_name )
+ if not target_dir:
+ target_dir = os.getcwd()
headers = self.get_user_headers( [self.extmodule] )
map( lambda header: self.extmodule.add_include( header )
, headers )
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rom...@us...> - 2007-08-27 16:29:26
|
Revision: 1112
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1112&view=rev
Author: roman_yakovenko
Date: 2007-08-26 12:36:11 -0700 (Sun, 26 Aug 2007)
Log Message:
-----------
fixing few bugs in mutli-module development feature
Modified Paths:
--------------
pyplusplus_dev/pyplusplus/code_creators/indexing_suites.py
pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py
pyplusplus_dev/pyplusplus/decl_wrappers/decl_wrapper.py
pyplusplus_dev/pyplusplus/module_creator/creator.py
pyplusplus_dev/unittests/data/split_module_to_be_exported.hpp
pyplusplus_dev/unittests/split_module_tester.py
Modified: pyplusplus_dev/pyplusplus/code_creators/indexing_suites.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/indexing_suites.py 2007-08-19 19:42:34 UTC (rev 1111)
+++ pyplusplus_dev/pyplusplus/code_creators/indexing_suites.py 2007-08-26 19:36:11 UTC (rev 1112)
@@ -169,8 +169,11 @@
pass # for inner class this code will generate error :-((((
def _create_impl( self ):
- if self.declaration.already_exposed:
- return ''
+ #if self.declaration.already_exposed:
+ # return ''
+ #This is the error to skip generation in case the class is already exposed,
+ #because we still expose container, so it needs to know how to work with
+ #the value_type
return self.generate_value_traits()
def _get_system_headers_impl( self ):
Modified: pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py
===================================================================
--- pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py 2007-08-19 19:42:34 UTC (rev 1111)
+++ pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py 2007-08-26 19:36:11 UTC (rev 1112)
@@ -147,9 +147,6 @@
+"Thus it will be able to generate code, that uses " \
+" BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID macro in a right places." )
- def _get_already_exposed_impl( self ):
- return self._already_exposed
-
@property
def class_var_name(self):
return self.alias + '_exposer'
Modified: pyplusplus_dev/pyplusplus/decl_wrappers/decl_wrapper.py
===================================================================
--- pyplusplus_dev/pyplusplus/decl_wrappers/decl_wrapper.py 2007-08-19 19:42:34 UTC (rev 1111)
+++ pyplusplus_dev/pyplusplus/decl_wrappers/decl_wrapper.py 2007-08-26 19:36:11 UTC (rev 1112)
@@ -98,14 +98,11 @@
ignore = property( _get_ignore, _set_ignore
, doc="boolean flag, which says whether to export declaration to Python or not" )
- def _get_already_exposed_impl( self ):
+ def get_already_exposed( self ):
return self._already_exposed
-
- def _get_already_exposed( self ):
- return self._get_already_exposed_impl()
- def _set_already_exposed( self, value ):
+ def set_already_exposed( self, value ):
self._already_exposed = value
- already_exposed = property( _get_already_exposed, _set_already_exposed
+ already_exposed = property( get_already_exposed, set_already_exposed
, doc="boolean flag, which says whether the declaration is already exposed or not" )
def exclude( self, compilation_errors=False ):
Modified: pyplusplus_dev/pyplusplus/module_creator/creator.py
===================================================================
--- pyplusplus_dev/pyplusplus/module_creator/creator.py 2007-08-19 19:42:34 UTC (rev 1111)
+++ pyplusplus_dev/pyplusplus/module_creator/creator.py 2007-08-26 19:36:11 UTC (rev 1112)
@@ -143,6 +143,7 @@
if self.__dependencies_manager.is_already_exposed( decl ):
#check wether this is already exposed in other module
+ decl.already_exposed = True
continue
if isinstance( decl.parent, declarations.namespace_t ):
@@ -282,10 +283,13 @@
used_containers = filter( lambda cls: cls.indexing_suite.include_files
, used_containers )
used_containers.sort( cmp_by_name )
- for cls in used_containers:
- for msg in cls.readme():
- self.decl_logger.warn( "%s;%s" % ( cls, msg ) )
+ for cls in used_containers:
+ self.__print_readme( cls )
+ if self.__dependencies_manager.is_already_exposed( cls ):
+ cls.already_exposed = True
+ continue
+
cls_creator = create_cls_cc( cls )
self.__dependencies_manager.add_exported( cls )
creators.append( cls_creator )
Modified: pyplusplus_dev/unittests/data/split_module_to_be_exported.hpp
===================================================================
--- pyplusplus_dev/unittests/data/split_module_to_be_exported.hpp 2007-08-19 19:42:34 UTC (rev 1111)
+++ pyplusplus_dev/unittests/data/split_module_to_be_exported.hpp 2007-08-26 19:36:11 UTC (rev 1112)
@@ -9,10 +9,18 @@
#include "boost/shared_ptr.hpp"
//#include BOOST_HASH_MAP_HEADER
#include <map>
+#include <vector>
#include <string>
namespace split_module{
+typedef std::vector< std::vector< int > > naive_matrix_t;
+
+inline naive_matrix_t create_zero_matrix( unsigned int x ){
+ return naive_matrix_t();
+}
+
+
struct op_struct{};
inline op_struct* get_opaque(){
Modified: pyplusplus_dev/unittests/split_module_tester.py
===================================================================
--- pyplusplus_dev/unittests/split_module_tester.py 2007-08-19 19:42:34 UTC (rev 1111)
+++ pyplusplus_dev/unittests/split_module_tester.py 2007-08-26 19:36:11 UTC (rev 1112)
@@ -7,8 +7,9 @@
import sys
import unittest
import autoconfig
+from pyplusplus import utils
import fundamental_tester_base
-
+from pygccxml import declarations
from pyplusplus import module_builder
from pyplusplus.module_builder import call_policies
@@ -25,6 +26,12 @@
def customize( self, mb ):
mb.global_ns.exclude()
+
+ exposed_db = utils.exposed_decls_db_t()
+ exposed_db.expose( declarations.remove_declarated( mb.global_ns.typedef( 'naive_matrix_t' ).type ) )
+ exposed_db.save( autoconfig.build_dir )
+ mb.register_module_dependency( autoconfig.build_dir )
+
sm = mb.global_ns.namespace( name='split_module' )
sm.include()
sm.class_( 'op_struct' ).exclude()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rom...@us...> - 2007-08-19 19:42:35
|
Revision: 1111
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1111&view=rev
Author: roman_yakovenko
Date: 2007-08-19 12:42:34 -0700 (Sun, 19 Aug 2007)
Log Message:
-----------
adding better support for mutli-module development - initial implementation
Modified Paths:
--------------
pyplusplus_dev/pyplusplus/code_creators/code_creator.py
pyplusplus_dev/pyplusplus/code_creators/compound.py
pyplusplus_dev/pyplusplus/code_creators/declaration_based.py
pyplusplus_dev/pyplusplus/code_creators/scoped.py
pyplusplus_dev/pyplusplus/file_writers/multiple_files.py
pyplusplus_dev/pyplusplus/file_writers/single_file.py
pyplusplus_dev/pyplusplus/file_writers/writer.py
pyplusplus_dev/pyplusplus/module_builder/builder.py
pyplusplus_dev/pyplusplus/module_creator/creator.py
pyplusplus_dev/pyplusplus/module_creator/dependencies_manager.py
pyplusplus_dev/pyplusplus/utils/__init__.py
pyplusplus_dev/unittests/exposed_decls_db_tester.py
pyplusplus_dev/unittests/test_all.py
Added Paths:
-----------
pyplusplus_dev/unittests/already_exposed_tester.py
pyplusplus_dev/unittests/data/already_exposed_to_be_exported.hpp
Modified: pyplusplus_dev/pyplusplus/code_creators/code_creator.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/code_creator.py 2007-08-18 05:54:28 UTC (rev 1110)
+++ pyplusplus_dev/pyplusplus/code_creators/code_creator.py 2007-08-19 19:42:34 UTC (rev 1111)
@@ -178,3 +178,12 @@
assert isinstance( line, types.StringTypes )
l = line.lstrip()
return l.startswith( '//' ) or l.startswith( '/*' )
+
+ def register_exposed( self, exposed_db ):
+ """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}
+
+ The default implementation of the function does nothing.
+ """
+ pass
+
+
\ No newline at end of file
Modified: pyplusplus_dev/pyplusplus/code_creators/compound.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/compound.py 2007-08-18 05:54:28 UTC (rev 1110)
+++ pyplusplus_dev/pyplusplus/code_creators/compound.py 2007-08-19 19:42:34 UTC (rev 1111)
@@ -86,4 +86,11 @@
if unique:
files = self.unique_headers( files )
return files
-
\ No newline at end of file
+
+ def register_exposed( self, exposed_db ):
+ """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}
+
+ The default implementation of the function does nothing.
+ """
+ map( lambda creator: creator.register_exposed( exposed_db )
+ , self._creators )
Modified: pyplusplus_dev/pyplusplus/code_creators/declaration_based.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/declaration_based.py 2007-08-18 05:54:28 UTC (rev 1110)
+++ pyplusplus_dev/pyplusplus/code_creators/declaration_based.py 2007-08-19 19:42:34 UTC (rev 1111)
@@ -54,3 +54,7 @@
def get_user_headers( self, recursive=False, unique=False ):
"""return list of user header files to be included from the generated file"""
return self.declaration.include_files
+
+ def register_exposed( self, exposed_db ):
+ """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}"""
+ exposed_db.expose( self.declaration )
Modified: pyplusplus_dev/pyplusplus/code_creators/scoped.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/scoped.py 2007-08-18 05:54:28 UTC (rev 1110)
+++ pyplusplus_dev/pyplusplus/code_creators/scoped.py 2007-08-19 19:42:34 UTC (rev 1111)
@@ -14,4 +14,11 @@
def _create_impl(self):
#template method pattern should be used.
- raise NotImplementedError()
\ No newline at end of file
+ raise NotImplementedError()
+
+ def register_exposed( self, exposed_db ):
+ """Register exposed declaration in L{exposed data base<utils.exposed_decls_db_t>}"""
+ exposed_db.expose( self.declaration )
+ map( lambda creator: creator.register_exposed( exposed_db )
+ , self._creators )
+
Modified: pyplusplus_dev/pyplusplus/file_writers/multiple_files.py
===================================================================
--- pyplusplus_dev/pyplusplus/file_writers/multiple_files.py 2007-08-18 05:54:28 UTC (rev 1110)
+++ pyplusplus_dev/pyplusplus/file_writers/multiple_files.py 2007-08-19 19:42:34 UTC (rev 1111)
@@ -375,7 +375,8 @@
"""
self.write_code_repository( self.__directory_path )
-
+ self.save_exposed_decls_db( self.__directory_path )
+
self.extmodule.do_include_dirs_optimization()
map( self.split_value_traits, self.__value_traits )
Modified: pyplusplus_dev/pyplusplus/file_writers/single_file.py
===================================================================
--- pyplusplus_dev/pyplusplus/file_writers/single_file.py 2007-08-18 05:54:28 UTC (rev 1110)
+++ pyplusplus_dev/pyplusplus/file_writers/single_file.py 2007-08-19 19:42:34 UTC (rev 1111)
@@ -20,9 +20,10 @@
return self.__fname
def write(self):
+ target_dir = os.path.split( self.file_name )[0]
headers = self.get_user_headers( [self.extmodule] )
map( lambda header: self.extmodule.add_include( header )
, headers )
- self.write_code_repository( os.path.split( self.file_name )[0] )
+ self.write_code_repository( target_dir )
self.write_file( self.file_name, self.extmodule.create(), encoding=self.encoding )
-
+ self.save_exposed_decls_db( target_dir )
\ No newline at end of file
Modified: pyplusplus_dev/pyplusplus/file_writers/writer.py
===================================================================
--- pyplusplus_dev/pyplusplus/file_writers/writer.py 2007-08-18 05:54:28 UTC (rev 1110)
+++ pyplusplus_dev/pyplusplus/file_writers/writer.py 2007-08-19 19:42:34 UTC (rev 1111)
@@ -8,10 +8,11 @@
import os
import time
import codecs
+import md5sum_repository
+from pyplusplus import utils
from pyplusplus import _logging_
from pyplusplus import code_creators
from pyplusplus import code_repository
-import md5sum_repository
class writer_t(object):
"""Base class for all module/code writers.
@@ -30,6 +31,8 @@
self.__encoding=encoding
if None is files_sum_repository:
self.__files_sum_repository = md5sum_repository.dummy_repository_t()
+ self.__exposed_decls_db = utils.exposed_decls_db_t()
+ self.__extmodule.register_exposed( self.__exposed_decls_db )
@property
def encoding( self ):
@@ -136,3 +139,8 @@
map( lambda creator: headers.extend( creator.get_user_headers() )
, creators )
return code_creators.code_creator_t.unique_headers( headers )
+
+ def save_exposed_decls_db( self, file_path ):
+ self.__exposed_decls_db.save( file_path )
+
+
\ No newline at end of file
Modified: pyplusplus_dev/pyplusplus/module_builder/builder.py
===================================================================
--- pyplusplus_dev/pyplusplus/module_builder/builder.py 2007-08-18 05:54:28 UTC (rev 1110)
+++ pyplusplus_dev/pyplusplus/module_builder/builder.py 2007-08-19 19:42:34 UTC (rev 1111)
@@ -12,6 +12,7 @@
from pygccxml import parser
from pygccxml import declarations as decls_package
+from pyplusplus import utils
from pyplusplus import _logging_
from pyplusplus import decl_wrappers
from pyplusplus import file_writers
@@ -96,7 +97,8 @@
self.__registrations_code_head = []
self.__registrations_code_tail = []
-
+ self.__already_exposed_modules = []
+
@property
def global_ns( self ):
"""reference to global namespace"""
@@ -106,6 +108,9 @@
def encoding( self ):
return self.__encoding
+ def register_module_dependency( self, other_module_generate_code_dir ):
+ self.__already_exposed_modules.append( other_module_generate_code_dir )
+
def run_query_optimizer(self):
"""
It is possible to optimze time that takes to execute queries. In most cases
@@ -250,7 +255,8 @@
, types_db
, target_configuration
, enable_indexing_suite
- , doc_extractor)
+ , doc_extractor
+ , self.__already_exposed_modules)
self.__code_creator = creator.create()
self.__code_creator.replace_included_headers(self.__parsed_files)
#I think I should ask users, what they expect
Modified: pyplusplus_dev/pyplusplus/module_creator/creator.py
===================================================================
--- pyplusplus_dev/pyplusplus/module_creator/creator.py 2007-08-18 05:54:28 UTC (rev 1110)
+++ pyplusplus_dev/pyplusplus/module_creator/creator.py 2007-08-19 19:42:34 UTC (rev 1111)
@@ -52,7 +52,8 @@
, types_db=None
, target_configuration=None
, enable_indexing_suite=True
- , doc_extractor=None):
+ , doc_extractor=None
+ , already_exposed_dbs=None):
"""Constructor.
@param decls: Declarations that should be exposed in the final module.
@@ -62,6 +63,7 @@
@param types_db: ...todo...
@param target_configuration: A target configuration object can be used to customize the generated source code to a particular compiler or a particular version of Boost.Python.
@param doc_extractor: callable, that takes as argument declaration reference and returns documentation string
+ @param already_exposed_dbs: list of files/directories other modules, this module depends on, generated their code too
@type decls: list of declaration_t
@type module_name: str
@type boost_python_ns_name: str
@@ -69,6 +71,7 @@
@type types_db: L{types_database_t<types_database.types_database_t>}
@type target_configuration: L{target_configuration_t<code_creators.target_configuration_t>}
@type doc_extractor: callable
+ @type already_exposed_dbs: list of strings
"""
declarations.decl_visitor_t.__init__(self)
self.logger = _logging_.loggers.module_builder
@@ -95,8 +98,12 @@
self.__extmodule.adopt_creator( bp_ns_alias )
self.__module_body = code_creators.module_body_t( name=module_name )
+
self.__extmodule.adopt_creator( self.__module_body )
-
+
+ self.__opaque_types_manager = opaque_types_manager.manager_t( self.__extmodule )
+ self.__dependencies_manager = dependencies_manager.manager_t(self.decl_logger, already_exposed_dbs)
+
prepared_decls = self._prepare_decls( decls, doc_extractor )
self.__decls = sort_algorithms.sort( prepared_decls )
@@ -105,19 +112,43 @@
self.__array_1_registered = set() #(type.decl_string,size)
self.__free_operators = []
self.__exposed_free_fun_overloads = set()
- self.__opaque_types_manager = opaque_types_manager.manager_t( self.__extmodule )
- self.__dependencies_manager = dependencies_manager.manager_t(self.decl_logger)
+
+
+ def __print_readme( self, decl ):
+ readme = decl.readme()
+ if not readme:
+ return
+ if not decl.exportable:
+ reason = readme[0]
+ readme = readme[1:]
+ self.decl_logger.warn( "%s;%s" % ( decl, reason ) )
+
+ for msg in readme:
+ self.decl_logger.warn( "%s;%s" % ( decl, msg ) )
+
def _prepare_decls( self, decls, doc_extractor ):
- decls = declarations.make_flatten( decls )
-
- for decl in decls:
+ to_be_exposed = []
+ for decl in declarations.make_flatten( decls ):
if decl.ignore:
continue
+
+ if isinstance( decl, declarations.namespace_t ):
+ continue
- if decl.already_exposed:
+ if not decl.exportable:
+ #leave only decls that user wants to export and that could be exported
+ self.__print_readme( decl )
continue
+ if self.__dependencies_manager.is_already_exposed( decl ):
+ #check wether this is already exposed in other module
+ continue
+
+ if isinstance( decl.parent, declarations.namespace_t ):
+ #leave only declarations defined under namespace, but remove namespaces
+ to_be_exposed.append( decl )
+
#Right now this functionality introduce a bug: declarations that should
#not be exported for some reason are not marked as such. I will need to
#find out.
@@ -128,30 +159,14 @@
#if isinstance( decl, declarations.variable_t ):
#self.__types_db.update( decl )
- if doc_extractor and decl.exportable:
+
+ if doc_extractor:
decl.documentation = doc_extractor( decl )
- readme = decl.readme()
- if not readme:
- continue
+ self.__print_readme( decl )
- if not decl.exportable:
- reason = readme[0]
- readme = readme[1:]
- self.decl_logger.warn( "%s;%s" % ( decl, reason ) )
+ return to_be_exposed
- for msg in readme:
- self.decl_logger.warn( "%s;%s" % ( decl, msg ) )
-
- #leave only declarations defined under namespace, but remove namespaces
- decls = filter( lambda x: not isinstance( x, declarations.namespace_t ) \
- and isinstance( x.parent, declarations.namespace_t )
- , decls )
- #leave only decls that user wants to export and that could be exported
- decls = filter( lambda x: x.ignore == False and x.exportable == True, decls )
-
- return decls
-
def _adopt_free_operator( self, operator ):
def adopt_operator_impl( operator, found_creators ):
creator = filter( lambda creator: isinstance( creator, code_creators.class_t )
Modified: pyplusplus_dev/pyplusplus/module_creator/dependencies_manager.py
===================================================================
--- pyplusplus_dev/pyplusplus/module_creator/dependencies_manager.py 2007-08-18 05:54:28 UTC (rev 1110)
+++ pyplusplus_dev/pyplusplus/module_creator/dependencies_manager.py 2007-08-19 19:42:34 UTC (rev 1111)
@@ -6,19 +6,27 @@
"""defines class, which informs user about used, but unexposed declarations"""
import os
+from pyplusplus import utils
from pyplusplus import messages
from pygccxml import declarations
from pyplusplus import decl_wrappers
+
class manager_t( object ):
- def __init__( self, logger ):
+ def __init__( self, logger, already_exposed=None ):
object.__init__( self )
self.__exported_decls = []
self.__logger = logger
-
+ self.__already_exposed_db = utils.exposed_decls_db_t()
+ if already_exposed:
+ map( self.__already_exposed_db.load, already_exposed )
+
def add_exported( self, decl ):
self.__exported_decls.append( decl )
+ def is_already_exposed( self, decl ):
+ return decl.already_exposed or self.__already_exposed_db.is_exposed( decl )
+
def __select_duplicate_aliases( self, decls ):
duplicated = {}
for decl in decls:
@@ -71,7 +79,7 @@
if self.__is_std_decl( decl ):
#TODO add element_type to the list of dependencies
return [] #std declarations should be exported by Py++!
- if decl.already_exposed:
+ if self.is_already_exposed( decl ):
return []
dependencies = decl.i_depend_on_them(recursive=False)
if isinstance( decl, declarations.class_t ):
Modified: pyplusplus_dev/pyplusplus/utils/__init__.py
===================================================================
--- pyplusplus_dev/pyplusplus/utils/__init__.py 2007-08-18 05:54:28 UTC (rev 1110)
+++ pyplusplus_dev/pyplusplus/utils/__init__.py 2007-08-19 19:42:34 UTC (rev 1111)
@@ -54,6 +54,7 @@
class exposed_decls_db_t( object ):
+ DEFAULT_FILE_NAME = 'exposed_decl.pypp.txt'
class row_creator_t( declarations.decl_visitor_t ):
def __init__( self, field_delimiter ):
self.__decl = None
@@ -64,8 +65,6 @@
return declarations.full_name( self.__decl )
def __call__( self, decl ):
- if not isinstance( decl.parent, declarations.namespace_t ):
- return None #we don't want to dump class internal declarations
self.__decl = decl
self.__formatted = None
try:
@@ -91,32 +90,15 @@
def visit_variable(self ):
self.__formatted = self.get_full_name()
- def __init__( self, activated=False ):
- self.__activated = activated
+ def __init__( self ):
self.__exposed = {}
self.__row_creator = self.row_creator_t(field_delimiter='@')
self.__key_delimiter = '?'
self.__row_delimiter = os.linesep
- def __create_key( self, decl ):
- return decl.__class__.__name__
-
- @property
- def activated( self ):
- return self.__activated
-
- def expose( self, decl ):
- if not self.__activated:
- return None
- row = self.__row_creator( decl )
- if row is None:
- return None
- key = self.__create_key( decl )
- if not self.__exposed.has_key( key ):
- self.__exposed[ key ] = set()
- self.__exposed[ key ].add( row )
-
def save( self, fpath ):
+ if os.path.isdir( fpath ):
+ fpath = os.path.join( fpath, self.DEFAULT_FILE_NAME )
f = file( fpath, 'w+b' )
for key, items in self.__exposed.iteritems():
for item in items:
@@ -124,18 +106,43 @@
f.close()
def load( self, fpath ):
- self.__exposed = {}
+ if os.path.isdir( fpath ):
+ fpath = os.path.join( fpath, self.DEFAULT_FILE_NAME )
f = file( fpath, 'r+b' )
for line in f:
key, row = line.split( self.__key_delimiter)
+ row = row.replace( self.__row_delimiter, '' )
if not self.__exposed.has_key( key ):
self.__exposed[ key ] = set()
- self.__exposed[ key ].add( row[:len(self.__row_delimiter)] )
+ self.__exposed[ key ].add( row )
- def is_exposed( self, decl ):
- assert self.activated
+ def __create_key( self, decl ):
+ return decl.__class__.__name__
+
+ def expose( self, decl ):
+ if not isinstance( decl.parent, declarations.namespace_t ):
+ return None #we don't want to dump class internal declarations
+ row = self.__row_creator( decl )
+ if row is None:
+ return None
key = self.__create_key( decl )
if not self.__exposed.has_key( key ):
+ self.__exposed[ key ] = set()
+ self.__exposed[ key ].add( row )
+
+ def __get_under_ns_decl( self, decl ):
+ while True:
+ if isinstance( decl.parent, declarations.namespace_t ):
+ return decl
+ else:
+ decl = decl.parent
+
+ def is_exposed( self, decl_ ):
+ if isinstance( decl_, declarations.namespace_t ):
+ return False#namespaces are always exposed
+ decl = self.__get_under_ns_decl( decl_ )
+ key = self.__create_key( decl )
+ if not self.__exposed.has_key( key ):
return False
row = self.__row_creator( decl )
return row in self.__exposed[ key ]
Added: pyplusplus_dev/unittests/already_exposed_tester.py
===================================================================
--- pyplusplus_dev/unittests/already_exposed_tester.py (rev 0)
+++ pyplusplus_dev/unittests/already_exposed_tester.py 2007-08-19 19:42:34 UTC (rev 1111)
@@ -0,0 +1,43 @@
+# Copyright 2004 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import autoconfig
+from pyplusplus import utils
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+ EXTENSION_NAME = 'already_exposed'
+
+ def __init__( self, *args ):
+ fundamental_tester_base.fundamental_tester_base_t.__init__(
+ self
+ , tester_t.EXTENSION_NAME
+ , *args )
+
+ def customize(self, mb ):
+ exposed_db = utils.exposed_decls_db_t()
+ map( exposed_db.expose, mb.decls(recursive=True) )
+ exposed_db.save( autoconfig.build_dir )
+ mb.register_module_dependency( autoconfig.build_dir )
+ mb.decls().exclude()
+ mb.namespace( 'already_exposed' ).include()
+
+ def run_tests(self, module):
+ self.failUnless( 'ae_t' not in dir( module ) )
+ self.failUnless( 'ae_e' not in dir( module ) )
+
+def create_suite():
+ suite = unittest.TestSuite()
+ suite.addTest( unittest.makeSuite(tester_t))
+ return suite
+
+def run_suite():
+ unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+ run_suite()
Added: pyplusplus_dev/unittests/data/already_exposed_to_be_exported.hpp
===================================================================
--- pyplusplus_dev/unittests/data/already_exposed_to_be_exported.hpp (rev 0)
+++ pyplusplus_dev/unittests/data/already_exposed_to_be_exported.hpp 2007-08-19 19:42:34 UTC (rev 1111)
@@ -0,0 +1,17 @@
+// Copyright 2004 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __already_exposed_to_be_exported_hpp__
+#define __already_exposed_to_be_exported_hpp__
+
+namespace already_exposed{
+
+struct ae_t{};
+
+enum ae_e { x1, x2 };
+
+}
+
+#endif//__already_exposed_to_be_exported_hpp__
Modified: pyplusplus_dev/unittests/exposed_decls_db_tester.py
===================================================================
--- pyplusplus_dev/unittests/exposed_decls_db_tester.py 2007-08-18 05:54:28 UTC (rev 1110)
+++ pyplusplus_dev/unittests/exposed_decls_db_tester.py 2007-08-19 19:42:34 UTC (rev 1111)
@@ -28,32 +28,45 @@
int VVV;
void FFF( int );
}
+ namespace ns_skip{
+ enum a123{ a1=1 };
+ struct b123{
+ struct c123{};
+ };
+ int fff();
+ int i;
+ }
"""
def __init__(self, *args ):
unittest.TestCase.__init__(self, *args)
def test(self):
- db = pypp_utils.exposed_decls_db_t(activated=True)
+ db = pypp_utils.exposed_decls_db_t()
config = parser.config_t( gccxml_path=autoconfig.gccxml.executable )
global_ns = declarations.get_global_namespace( parser.parse_string( self.CODE, config ) )
ns = global_ns.namespace( 'ns' )
for d in ns.decls(recursive=True):
db.expose( d )
-
- select_exposed = lambda decl: decl.name == decl.name.upper() \
- and not isinstance( decl, declarations.member_calldef_t )
-
- for x in ns.decls( select_exposed ):
+
+ for x in ns.decls(recursive=True):
self.failUnless( db.is_exposed( x ) == True )
-
+
+ ns_skip = global_ns.namespace( 'ns_skip' )
+ for x in ns_skip.decls(recursive=True):
+ self.failUnless( db.is_exposed( x ) == False )
+
db.save( os.path.join( autoconfig.build_dir, 'exposed.db.pypp' ) )
-
- db2 = pypp_utils.exposed_decls_db_t(activated=True)
+
+ db2 = pypp_utils.exposed_decls_db_t()
db2.load( os.path.join( autoconfig.build_dir, 'exposed.db.pypp' ) )
- for x in ns.decls( select_exposed ):
+ for x in ns.decls(recursive=True):
self.failUnless( db.is_exposed( x ) == True )
-
+ ns_skip = global_ns.namespace( 'ns_skip' )
+ for x in ns_skip.decls(recursive=True):
+ self.failUnless( db.is_exposed( x ) == False )
+
+
def create_suite():
suite = unittest.TestSuite()
suite.addTest( unittest.makeSuite(tester_t))
Modified: pyplusplus_dev/unittests/test_all.py
===================================================================
--- pyplusplus_dev/unittests/test_all.py 2007-08-18 05:54:28 UTC (rev 1110)
+++ pyplusplus_dev/unittests/test_all.py 2007-08-19 19:42:34 UTC (rev 1111)
@@ -72,6 +72,7 @@
import duplicate_aliases_tester
import non_overridable_tester
import exposed_decls_db_tester
+import already_exposed_tester
def create_suite(times):
testers = [
@@ -140,6 +141,7 @@
, duplicate_aliases_tester
, non_overridable_tester
, exposed_decls_db_tester
+ , already_exposed_tester
]
main_suite = unittest.TestSuite()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rom...@us...> - 2007-08-18 05:54:26
|
Revision: 1110
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1110&view=rev
Author: roman_yakovenko
Date: 2007-08-17 22:54:28 -0700 (Fri, 17 Aug 2007)
Log Message:
-----------
commit - small bug fix, container and element has nothing common in "already_exposed" flag
Modified Paths:
--------------
pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py
Modified: pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py
===================================================================
--- pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py 2007-08-18 05:53:15 UTC (rev 1109)
+++ pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py 2007-08-18 05:54:28 UTC (rev 1110)
@@ -148,18 +148,7 @@
+" BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID macro in a right places." )
def _get_already_exposed_impl( self ):
- if not self.indexing_suite:
- return self._already_exposed
- try:
- et = self.indexing_suite.element_type
- et = declarations.remove_const( et )
- et = declarations.remove_pointer( et )
- et = declarations.remove_declarated( et )
- if isinstance(et, declarations.declaration_t):
- return et._already_exposed
- return False
- except:
- return False
+ return self._already_exposed
@property
def class_var_name(self):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rom...@us...> - 2007-08-18 05:53:13
|
Revision: 1109
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1109&view=rev
Author: roman_yakovenko
Date: 2007-08-17 22:53:15 -0700 (Fri, 17 Aug 2007)
Log Message:
-----------
optimization - caching container element type
Modified Paths:
--------------
pyplusplus_dev/pyplusplus/decl_wrappers/indexing_suite1.py
Modified: pyplusplus_dev/pyplusplus/decl_wrappers/indexing_suite1.py
===================================================================
--- pyplusplus_dev/pyplusplus/decl_wrappers/indexing_suite1.py 2007-08-18 05:52:21 UTC (rev 1108)
+++ pyplusplus_dev/pyplusplus/decl_wrappers/indexing_suite1.py 2007-08-18 05:53:15 UTC (rev 1109)
@@ -30,6 +30,7 @@
self.__derived_policies = derived_policies
self.__container_class = container_class
self.__include_files = None
+ self.__element_type = None
@property
def container_class( self ):
@@ -39,7 +40,9 @@
@property
def element_type(self):
"""reference to container value_type( mapped_type ) type"""
- return self.container_class.container_traits.element_type( self.container_class )
+ if self.__element_type is None:
+ self.__element_type = self.container_class.container_traits.element_type( self.container_class )
+ return self.__element_type
@property
def container_traits( self ):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|