Changes in / [8024bc8:ed235b6]


Ignore:
Location:
src
Files:
20 edited

Legend:

Unmodified
Added
Removed
  • src/Common/PassVisitor.impl.h

    r8024bc8 red235b6  
    6666        DeclList_t* beforeDecls = visitor.get_beforeDecls();
    6767        DeclList_t* afterDecls  = visitor.get_afterDecls();
    68         SemanticError errors;
    6968
    7069        for ( std::list< Declaration* >::iterator i = decls.begin(); ; ++i ) {
     
    7473                if ( i == decls.end() ) break;
    7574
    76                 try {
    77                         // run visitor on declaration
    78                         maybeAccept( *i, visitor );
    79                 } catch( SemanticError &e ) {
    80                         e.set_location( (*i)->location );
    81                         errors.append( e );
    82                 }
     75                // run mutator on declaration
     76                maybeAccept( *i, visitor );
    8377
    8478                // splice in new declarations before current decl
    8579                if ( !empty( beforeDecls ) ) { decls.splice( i, *beforeDecls ); }
    8680        }
    87         if ( ! errors.isEmpty() ) {
    88                 throw errors;
    89         }
    9081}
    9182
     
    9586        DeclList_t* beforeDecls = mutator.get_beforeDecls();
    9687        DeclList_t* afterDecls  = mutator.get_afterDecls();
    97         SemanticError errors;
    9888
    9989        for ( std::list< Declaration* >::iterator i = decls.begin(); ; ++i ) {
     
    10292
    10393                if ( i == decls.end() ) break;
    104                 try {
    105                         // run mutator on declaration
    106                         *i = maybeMutate( *i, mutator );
    107                 } catch( SemanticError &e ) {
    108                         e.set_location( (*i)->location );
    109                         errors.append( e );
    110                 }
     94
     95                // run mutator on declaration
     96                *i = maybeMutate( *i, mutator );
    11197
    11298                // splice in new declarations before current decl
    11399                if ( !empty( beforeDecls ) ) { decls.splice( i, *beforeDecls ); }
    114         }
    115         if ( ! errors.isEmpty() ) {
    116                 throw errors;
    117100        }
    118101}
     
    183166
    184167                } catch ( SemanticError &e ) {
    185                         e.set_location( (*i)->location );
    186168                        errors.append( e );
    187169                }
     
    293275//------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    294276
    295 // A NOTE ON THE ORDER OF TRAVERSAL
    296 //
    297 // Types and typedefs have their base types visited before they are added to the type table.  This is ok, since there is
    298 // no such thing as a recursive type or typedef.
    299 //
    300 //             typedef struct { T *x; } T; // never allowed
    301 //
    302 // for structs/unions, it is possible to have recursion, so the decl should be added as if it's incomplete to begin, the
    303 // members are traversed, and then the complete type should be added (assuming the type is completed by this particular
    304 // declaration).
    305 //
    306 //             struct T { struct T *x; }; // allowed
    307 //
    308 // It is important to add the complete type to the symbol table *after* the members/base has been traversed, since that
    309 // traversal may modify the definition of the type and these modifications should be visible when the symbol table is
    310 // queried later in this pass.
    311 //
    312 // TODO: figure out whether recursive contexts are sensible/possible/reasonable.
    313277
    314278//--------------------------------------------------------------------------
     
    468432        indexerAddEnum( node );
    469433
    470         // unlike structs, traits, and unions, enums inject their members into the global scope
     434        // unlike structs, contexts, and unions, enums inject their members into the global scope
    471435        maybeAccept( node->parameters, *this );
    472436        maybeAccept( node->members   , *this );
     
    481445        indexerAddEnum( node );
    482446
    483         // unlike structs, traits, and unions, enums inject their members into the global scope
     447        // unlike structs, contexts, and unions, enums inject their members into the global scope
    484448        maybeMutateRef( node->parameters, *this );
    485449        maybeMutateRef( node->members   , *this );
     
    532496        }
    533497
    534         // see A NOTE ON THE ORDER OF TRAVERSAL, above
    535         // note that assertions come after the type is added to the symtab, since they are not part of the type proper
    536         // and may depend on the type itself
    537498        indexerAddType( node );
    538499
     
    554515        }
    555516
    556         // see A NOTE ON THE ORDER OF TRAVERSAL, above
    557         // note that assertions come after the type is added to the symtab, since they are not part of the type proper
    558         // and may depend on the type itself
    559517        indexerAddType( node );
    560518
     
    683641void PassVisitor< pass_type >::visit( IfStmt * node ) {
    684642        VISIT_START( node );
    685         {
    686                 // if statements introduce a level of scope (for the initialization)
     643
     644        visitExpression( node->condition );
     645        node->thenPart = visitStatement( node->thenPart );
     646        node->elsePart = visitStatement( node->elsePart );
     647
     648        VISIT_END( node );
     649}
     650
     651template< typename pass_type >
     652Statement * PassVisitor< pass_type >::mutate( IfStmt * node ) {
     653        MUTATE_START( node );
     654        {
    687655                auto guard = makeFuncGuard( [this]() { indexerScopeEnter(); }, [this]() { indexerScopeLeave(); } );
    688                 acceptAll( node->get_initialization(), *this );
    689                 visitExpression( node->condition );
    690                 node->thenPart = visitStatement( node->thenPart );
    691                 node->elsePart = visitStatement( node->elsePart );
    692         }
    693         VISIT_END( node );
    694 }
    695 
    696 template< typename pass_type >
    697 Statement * PassVisitor< pass_type >::mutate( IfStmt * node ) {
    698         MUTATE_START( node );
    699         {
    700                 // if statements introduce a level of scope (for the initialization)
    701                 auto guard = makeFuncGuard( [this]() { indexerScopeEnter(); }, [this]() { indexerScopeLeave(); } );
    702                 maybeMutateRef( node->get_initialization(), *this );
    703656                node->condition = mutateExpression( node->condition );
    704657                node->thenPart  = mutateStatement ( node->thenPart  );
     
    736689        VISIT_START( node );
    737690        {
    738                 // for statements introduce a level of scope (for the initialization)
    739691                auto guard = makeFuncGuard( [this]() { indexerScopeEnter(); }, [this]() { indexerScopeLeave(); } );
    740692                maybeAccept( node->initialization, *this );
     
    750702        MUTATE_START( node );
    751703        {
    752                 // for statements introduce a level of scope (for the initialization)
    753704                auto guard = makeFuncGuard( [this]() { indexerScopeEnter(); }, [this]() { indexerScopeLeave(); } );
    754705                maybeMutateRef( node->initialization, *this );
     
    879830        VISIT_START( node );
    880831        {
    881                 // catch statements introduce a level of scope (for the caught exception)
    882832                auto guard = makeFuncGuard( [this]() { indexerScopeEnter(); }, [this]() { indexerScopeLeave(); } );
    883833                maybeAccept( node->decl, *this );
     
    892842        MUTATE_START( node );
    893843        {
    894                 // catch statements introduce a level of scope (for the caught exception)
    895844                auto guard = makeFuncGuard( [this]() { indexerScopeEnter(); }, [this]() { indexerScopeLeave(); } );
    896845                maybeMutateRef( node->decl, *this );
  • src/Common/PassVisitor.proto.h

    r8024bc8 red235b6  
    179179
    180180template<typename pass_type>
    181 static inline auto indexer_impl_enterScope( pass_type &, long ) {}
     181static inline auto indexer_impl_enterScope( pass_type &, int ) {}
    182182
    183183template<typename pass_type>
     
    187187
    188188template<typename pass_type>
    189 static inline auto indexer_impl_leaveScope( pass_type &, long ) {}
     189static inline auto indexer_impl_leaveScope( pass_type &, int ) {}
    190190
    191191
     
    197197                                                                                                                               \
    198198template<typename pass_type>                                                                                                   \
    199 static inline void indexer_impl_##func ( pass_type &, long, type ) { }                                                          \
     199static inline void indexer_impl_##func ( pass_type &, long, type ) {}                                                          \
    200200
    201201INDEXER_FUNC( addId     , DeclarationWithType * );
     
    215215
    216216template<typename pass_type>
    217 static inline auto indexer_impl_addStructFwd( pass_type &, long, StructDecl * ) {}
     217static inline auto indexer_impl_addStructFwd( pass_type &, int, StructDecl * ) {}
    218218
    219219template<typename pass_type>
     
    225225
    226226template<typename pass_type>
    227 static inline auto indexer_impl_addUnionFwd( pass_type &, long, UnionDecl * ) {}
     227static inline auto indexer_impl_addUnionFwd( pass_type &, int, UnionDecl * ) {}
    228228
    229229template<typename pass_type>
     
    235235
    236236template<typename pass_type>
    237 static inline auto indexer_impl_addStruct( pass_type &, long, const std::string & ) {}
     237static inline auto indexer_impl_addStruct( pass_type &, int, const std::string & ) {}
    238238
    239239template<typename pass_type>
     
    245245
    246246template<typename pass_type>
    247 static inline auto indexer_impl_addUnion( pass_type &, long, const std::string & ) {}
     247static inline auto indexer_impl_addUnion( pass_type &, int, const std::string & ) {}
  • src/GenPoly/Box.cc

    r8024bc8 red235b6  
    628628                                        } else {
    629629                                                // xxx - should this be an assertion?
    630                                                 throw SemanticError( toString( *env, "\nunbound type variable: ", tyParm->first, " in application " ), appExpr );
     630                                                std::string x = env ? toString( *env ) : "missing env";
     631                                                throw SemanticError( x + "\n" + "unbound type variable: " + tyParm->first + " in application ", appExpr );
    631632                                        } // if
    632633                                } // if
     
    705706                                if ( concrete == 0 ) {
    706707                                        return typeInst;
     708                                        // xxx - should this be an assertion?
     709//                                      std::string x = env ? toString( *env ) : "missing env";
     710//                                      throw SemanticError( x + "\n" + "Unbound type variable " + typeInst->get_name() + " in ", appExpr );
    707711                                } // if
    708712                                return concrete;
  • src/InitTweak/FixInit.cc

    r8024bc8 red235b6  
    7070namespace InitTweak {
    7171        namespace {
     72                typedef std::unordered_map< Expression *, TypeSubstitution * > EnvMap;
    7273                typedef std::unordered_map< int, int > UnqCount;
    7374
    74                 struct InsertImplicitCalls : public WithTypeSubstitution {
     75                class InsertImplicitCalls : public WithTypeSubstitution {
     76                public:
    7577                        /// wrap function application expressions as ImplicitCopyCtorExpr nodes so that it is easy to identify which
    7678                        /// function calls need their parameters to be copy constructed
    77                         static void insert( std::list< Declaration * > & translationUnit );
     79                        static void insert( std::list< Declaration * > & translationUnit, EnvMap & envMap );
     80
     81                        InsertImplicitCalls( EnvMap & envMap ) : envMap( envMap ) {}
    7882
    7983                        Expression * postmutate( ApplicationExpr * appExpr );
     84                        void premutate( StmtExpr * stmtExpr );
     85
     86                        // collects environments for relevant nodes
     87                        EnvMap & envMap;
    8088                };
    8189
    82                 struct ResolveCopyCtors final : public WithIndexer, public WithShortCircuiting, public WithTypeSubstitution {
     90                class ResolveCopyCtors final : public SymTab::Indexer {
     91                public:
    8392                        /// generate temporary ObjectDecls for each argument and return value of each ImplicitCopyCtorExpr,
    8493                        /// generate/resolve copy construction expressions for each, and generate/resolve destructors for both
    8594                        /// arguments and return value temporaries
    86                         static void resolveImplicitCalls( std::list< Declaration * > & translationUnit, UnqCount & unqCount );
    87 
    88                         ResolveCopyCtors( UnqCount & unqCount ) : unqCount( unqCount ) {}
    89 
    90                         void postvisit( ImplicitCopyCtorExpr * impCpCtorExpr );
    91                         void postvisit( StmtExpr * stmtExpr );
    92                         void previsit( UniqueExpr * unqExpr );
    93                         void postvisit( UniqueExpr * unqExpr );
     95                        static void resolveImplicitCalls( std::list< Declaration * > & translationUnit, const EnvMap & envMap, UnqCount & unqCount );
     96
     97                        typedef SymTab::Indexer Parent;
     98                        using Parent::visit;
     99
     100                        ResolveCopyCtors( const EnvMap & envMap, UnqCount & unqCount ) : envMap( envMap ), unqCount( unqCount ) {}
     101
     102                        virtual void visit( ImplicitCopyCtorExpr * impCpCtorExpr ) override;
     103                        virtual void visit( UniqueExpr * unqExpr ) override;
     104                        virtual void visit( StmtExpr * stmtExpr ) override;
    94105
    95106                        /// create and resolve ctor/dtor expression: fname(var, [cpArg])
     
    100111                        void destructRet( ObjectDecl * ret, ImplicitCopyCtorExpr * impCpCtorExpr );
    101112
     113                        TypeSubstitution * env;
     114                        const EnvMap & envMap;
    102115                        UnqCount & unqCount; // count the number of times each unique expr ID appears
    103                         std::unordered_set< int > vars;
    104116                };
    105117
     
    226238                };
    227239
    228                 struct GenStructMemberCalls final : public WithGuards, public WithShortCircuiting, public WithIndexer {
     240                class GenStructMemberCalls final : public SymTab::Indexer {
     241                  public:
     242                        typedef Indexer Parent;
    229243                        /// generate default/copy ctor and dtor calls for user-defined struct ctor/dtors
    230244                        /// for any member that is missing a corresponding ctor/dtor call.
     
    232246                        static void generate( std::list< Declaration * > & translationUnit );
    233247
    234                         void previsit( FunctionDecl * funcDecl );
    235                         void postvisit( FunctionDecl * funcDecl );
    236 
    237                         void previsit( MemberExpr * memberExpr );
    238                         void previsit( ApplicationExpr * appExpr );
     248                        using Parent::visit;
     249
     250                        virtual void visit( FunctionDecl * funcDecl ) override;
     251
     252                        virtual void visit( MemberExpr * memberExpr ) override;
     253                        virtual void visit( ApplicationExpr * appExpr ) override;
    239254
    240255                        SemanticError errors;
     
    280295                InitTweak::fixGlobalInit( translationUnit, filename, inLibrary );
    281296
     297                EnvMap envMap;
    282298                UnqCount unqCount;
    283299
    284                 InsertImplicitCalls::insert( translationUnit );
    285                 ResolveCopyCtors::resolveImplicitCalls( translationUnit, unqCount );
     300                InsertImplicitCalls::insert( translationUnit, envMap );
     301                ResolveCopyCtors::resolveImplicitCalls( translationUnit, envMap, unqCount );
    286302                InsertDtors::insert( translationUnit );
    287303                FixInit::fixInitializers( translationUnit );
     
    302318
    303319        namespace {
    304                 void InsertImplicitCalls::insert( std::list< Declaration * > & translationUnit ) {
    305                         PassVisitor<InsertImplicitCalls> inserter;
     320                void InsertImplicitCalls::insert( std::list< Declaration * > & translationUnit, EnvMap & envMap ) {
     321                        PassVisitor<InsertImplicitCalls> inserter( envMap );
    306322                        mutateAll( translationUnit, inserter );
    307323                }
    308324
    309                 void ResolveCopyCtors::resolveImplicitCalls( std::list< Declaration * > & translationUnit, UnqCount & unqCount ) {
    310                         PassVisitor<ResolveCopyCtors> resolver( unqCount );
     325                void ResolveCopyCtors::resolveImplicitCalls( std::list< Declaration * > & translationUnit, const EnvMap & envMap, UnqCount & unqCount ) {
     326                        ResolveCopyCtors resolver( envMap, unqCount );
    311327                        acceptAll( translationUnit, resolver );
    312328                }
     
    344360
    345361                void GenStructMemberCalls::generate( std::list< Declaration * > & translationUnit ) {
    346                         PassVisitor<GenStructMemberCalls> warner;
     362                        GenStructMemberCalls warner;
    347363                        acceptAll( translationUnit, warner );
    348364                }
     
    382398                        // wrap each function call so that it is easy to identify nodes that have to be copy constructed
    383399                        ImplicitCopyCtorExpr * expr = new ImplicitCopyCtorExpr( appExpr );
    384                         // Move the type substitution to the new top-level, if it is attached to the appExpr.
     400                        // save the type substitution into the envMap so that it is easy to find.
    385401                        // Ensure it is not deleted with the ImplicitCopyCtorExpr by removing it before deletion.
    386402                        // The substitution is needed to obtain the type of temporary variables so that copy constructor
    387                         // calls can be resolved.
     403                        // calls can be resolved. Normally this is what PolyMutator is for, but the pass that resolves
     404                        // copy constructor calls must be an Indexer. We could alternatively make a PolyIndexer which
     405                        // saves the environment, or compute the types of temporaries here, but it's much simpler to
     406                        // save the environment here, and more cohesive to compute temporary variables and resolve copy
     407                        // constructor calls together.
    388408                        assert( env );
    389                         std::swap( expr->env, appExpr->env );
     409                        envMap[expr] = env;
    390410                        return expr;
     411                }
     412
     413                void InsertImplicitCalls::premutate( StmtExpr * stmtExpr ) {
     414                        assert( env );
     415                        envMap[stmtExpr] = env;
    391416                }
    392417
     
    406431                        // (VariableExpr and already resolved expression)
    407432                        CP_CTOR_PRINT( std::cerr << "ResolvingCtorDtor " << untyped << std::endl; )
    408                         Expression * resolved = ResolvExpr::findVoidExpression( untyped, indexer );
     433                        Expression * resolved = ResolvExpr::findVoidExpression( untyped, *this );
    409434                        assert( resolved );
    410435                        if ( resolved->get_env() ) {
     
    455480                }
    456481
    457                 void ResolveCopyCtors::postvisit( ImplicitCopyCtorExpr *impCpCtorExpr ) {
     482                void ResolveCopyCtors::visit( ImplicitCopyCtorExpr *impCpCtorExpr ) {
    458483                        CP_CTOR_PRINT( std::cerr << "ResolveCopyCtors: " << impCpCtorExpr << std::endl; )
     484                        Parent::visit( impCpCtorExpr );
     485                        env = envMap.at(impCpCtorExpr);
     486                        assert( env );
    459487
    460488                        ApplicationExpr * appExpr = impCpCtorExpr->get_callExpr();
     
    485513                }
    486514
    487                 void ResolveCopyCtors::postvisit( StmtExpr * stmtExpr ) {
    488                         assert( env );
     515                void ResolveCopyCtors::visit( StmtExpr * stmtExpr ) {
     516                        Parent::visit( stmtExpr );
     517                        env = envMap.at(stmtExpr);
    489518                        assert( stmtExpr->get_result() );
    490519                        Type * result = stmtExpr->get_result();
     
    508537                                stmtExpr->get_dtors().push_front( makeCtorDtor( "^?{}", ret ) );
    509538                        } // if
    510                 }
    511 
    512                 void ResolveCopyCtors::previsit( UniqueExpr * unqExpr ) {
     539
     540                }
     541
     542                void ResolveCopyCtors::visit( UniqueExpr * unqExpr ) {
     543                        static std::unordered_set< int > vars;
    513544                        unqCount[ unqExpr->get_id() ]++;  // count the number of unique expressions for each ID
    514545                        if ( vars.count( unqExpr->get_id() ) ) {
    515546                                // xxx - hack to prevent double-handling of unique exprs, otherwise too many temporary variables and destructors are generated
    516                                 visit_children = false;
    517                         }
    518                 }
    519 
    520                 void ResolveCopyCtors::postvisit( UniqueExpr * unqExpr ) {
    521                         if ( vars.count( unqExpr->get_id() ) ) {
    522                                 // xxx - hack to prevent double-handling of unique exprs, otherwise too many temporary variables and destructors are generated
    523547                                return;
    524548                        }
    525549
     550                        Parent::visit( unqExpr );
    526551                        // it should never be necessary to wrap a void-returning expression in a UniqueExpr - if this assumption changes, this needs to be rethought
    527552                        assert( unqExpr->get_result() );
     
    560585
    561586                        // xxx - update to work with multiple return values
    562                         ObjectDecl * returnDecl = returnDecls.empty() ? nullptr : returnDecls.front();
     587                        ObjectDecl * returnDecl = returnDecls.empty() ? NULL : returnDecls.front();
    563588                        Expression * callExpr = impCpCtorExpr->get_callExpr();
    564589
     
    569594                        tempDecls.clear();
    570595                        returnDecls.clear();
    571                         impCpCtorExpr->set_callExpr( nullptr );
    572                         std::swap( impCpCtorExpr->env, callExpr->env );
    573                         assert( impCpCtorExpr->env == nullptr );
     596                        impCpCtorExpr->set_callExpr( NULL );
     597                        impCpCtorExpr->set_env( NULL );
    574598                        delete impCpCtorExpr;
    575599
     
    954978                }
    955979
    956                 void GenStructMemberCalls::previsit( FunctionDecl * funcDecl ) {
    957                         GuardValue( funcDecl );
    958                         GuardValue( unhandled );
    959                         GuardValue( usedUninit );
    960                         GuardValue( thisParam );
    961                         GuardValue( isCtor );
    962                         GuardValue( structDecl );
     980                void GenStructMemberCalls::visit( FunctionDecl * funcDecl ) {
     981                        ValueGuard< FunctionDecl * > oldFunction( funcDecl );
     982                        ValueGuard< std::set< DeclarationWithType * > > oldUnhandled( unhandled );
     983                        ValueGuard< std::map< DeclarationWithType *, CodeLocation > > oldUsedUninit( usedUninit );
     984                        ValueGuard< ObjectDecl * > oldThisParam( thisParam );
     985                        ValueGuard< bool > oldIsCtor( isCtor );
     986                        ValueGuard< StructDecl * > oldStructDecl( structDecl );
    963987                        errors = SemanticError();  // clear previous errors
    964988
     
    9861010                                }
    9871011                        }
    988                 }
    989 
    990                 void addIds( SymTab::Indexer & indexer, const std::list< DeclarationWithType * > & decls ) {
    991                         for ( auto d : decls ) {
    992                                 indexer.addId( d );
    993                         }
    994                 }
    995 
    996                 void addTypes( SymTab::Indexer & indexer, const std::list< TypeDecl * > & tds ) {
    997                         for ( auto td : tds ) {
    998                                 indexer.addType( td );
    999                                 addIds( indexer, td->assertions );
    1000                         }
    1001                 }
    1002 
    1003                 void GenStructMemberCalls::postvisit( FunctionDecl * funcDecl ) {
     1012                        Parent::visit( function );
     1013
    10041014                        // remove the unhandled objects from usedUninit, because a call is inserted
    10051015                        // to handle them - only objects that are later constructed are used uninitialized.
     
    10221032                        if ( ! unhandled.empty() ) {
    10231033                                // need to explicitly re-add function parameters to the indexer in order to resolve copy constructors
    1024                                 auto guard = makeFuncGuard( [this]() { indexer.enterScope(); }, [this]() { indexer.leaveScope(); } );
    1025                                 addTypes( indexer, function->type->forall );
    1026                                 addIds( indexer, function->type->returnVals );
    1027                                 addIds( indexer, function->type->parameters );
     1034                                enterScope();
     1035                                maybeAccept( function->get_functionType(), *this );
    10281036
    10291037                                // need to iterate through members in reverse in order for
     
    10551063                                                Statement * callStmt = stmt.front();
    10561064
    1057                                                 MutatingResolver resolver( indexer );
     1065                                                MutatingResolver resolver( *this );
    10581066                                                try {
    10591067                                                        callStmt->acceptMutator( resolver );
     
    10691077                                        }
    10701078                                }
     1079                                leaveScope();
    10711080                        }
    10721081                        if (! errors.isEmpty()) {
     
    10981107                }
    10991108
    1100                 void GenStructMemberCalls::previsit( ApplicationExpr * appExpr ) {
    1101                         if ( ! checkWarnings( function ) ) {
    1102                                 visit_children = false;
    1103                                 return;
    1104                         }
     1109                void GenStructMemberCalls::visit( ApplicationExpr * appExpr ) {
     1110                        if ( ! checkWarnings( function ) ) return;
    11051111
    11061112                        std::string fname = getFunctionName( appExpr );
     
    11211127                                }
    11221128                        }
    1123                 }
    1124 
    1125                 void GenStructMemberCalls::previsit( MemberExpr * memberExpr ) {
    1126                         if ( ! checkWarnings( function ) || ! isCtor ) {
    1127                                 visit_children = false;
    1128                                 return;
    1129                         }
     1129                        Parent::visit( appExpr );
     1130                }
     1131
     1132                void GenStructMemberCalls::visit( MemberExpr * memberExpr ) {
     1133                        if ( ! checkWarnings( function ) ) return;
     1134                        if ( ! isCtor ) return;
    11301135
    11311136                        if ( isThisExpression( memberExpr->get_aggregate(), thisParam ) ) {
     
    11351140                                }
    11361141                        }
     1142                        Parent::visit( memberExpr );
    11371143                }
    11381144
     
    11551161                        // in generated code. If this changes, add mutate methods for entities with
    11561162                        // scope and call {enter,leave}Scope explicitly.
    1157                         indexer.addId( objectDecl );
     1163                        objectDecl->accept( indexer );
    11581164                        return objectDecl;
    11591165                }
  • src/Parser/ExpressionNode.cc

    r8024bc8 red235b6  
    1010// Created On       : Sat May 16 13:17:07 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Sep 14 23:09:34 2017
    13 // Update Count     : 690
     12// Last Modified On : Tue Sep 12 10:00:29 2017
     13// Update Count     : 672
    1414//
    1515
     
    250250        sepString( str, units, '"' );                                           // separate constant from units
    251251
    252         Type * strtype;
    253         switch ( str[0] ) {                                                                     // str has >= 2 characters, i.e, null string "" => safe to look at subscripts 0/1
     252        BasicType::Kind strtype = BasicType::Char;                      // default string type
     253        switch ( str[0] ) {                                                                     // str has >= 2 characters, i.e, null string ""
    254254          case 'u':
    255                 if ( str[1] == '8' ) goto Default;                              // utf-8 characters => array of char
    256                 // lookup type of associated typedef
    257                 strtype = new TypeInstType( Type::Qualifiers( Type::Const ), "char16_t", false );
     255                if ( str[1] == '8' ) break;                                             // utf-8 characters
     256                strtype = BasicType::ShortUnsignedInt;
    258257                break;
    259258          case 'U':
    260                 strtype = new TypeInstType( Type::Qualifiers( Type::Const ), "char32_t", false );
     259                strtype = BasicType::UnsignedInt;
    261260                break;
    262261          case 'L':
    263                 strtype = new TypeInstType( Type::Qualifiers( Type::Const ), "wchar_t", false );
     262                strtype = BasicType::SignedInt;
    264263                break;
    265           Default:                                                                                      // char default string type
    266           default:
    267                 strtype = new BasicType( Type::Qualifiers( Type::Const ), BasicType::Char );
    268264        } // switch
    269         ArrayType * at = new ArrayType( noQualifiers, strtype,
     265        ArrayType * at = new ArrayType( noQualifiers, new BasicType( Type::Qualifiers( Type::Const ), strtype ),
    270266                                                                        new ConstantExpr( Constant::from_ulong( str.size() + 1 - 2 ) ), // +1 for '\0' and -2 for '"'
    271267                                                                        false, false );
     
    348344
    349345Expression * build_virtual_cast( DeclarationNode * decl_node, ExpressionNode * expr_node ) {
    350         return new VirtualCastExpr( maybeMoveBuild< Expression >( expr_node ), maybeMoveBuildType( decl_node ) );
     346        Type * targetType = maybeMoveBuildType( decl_node );
     347        Expression * castArg = maybeMoveBuild< Expression >( expr_node );
     348        return new VirtualCastExpr( castArg, targetType );
    351349} // build_virtual_cast
    352350
    353351Expression * build_fieldSel( ExpressionNode * expr_node, Expression * member ) {
    354         return new UntypedMemberExpr( member, maybeMoveBuild< Expression >(expr_node) );
     352        UntypedMemberExpr * ret = new UntypedMemberExpr( member, maybeMoveBuild< Expression >(expr_node) );
     353        return ret;
    355354} // build_fieldSel
    356355
     
    362361        return ret;
    363362} // build_pfieldSel
     363
     364Expression * build_addressOf( ExpressionNode * expr_node ) {
     365                return new AddressExpr( maybeMoveBuild< Expression >(expr_node) );
     366} // build_addressOf
     367
     368Expression * build_sizeOfexpr( ExpressionNode * expr_node ) {
     369        return new SizeofExpr( maybeMoveBuild< Expression >(expr_node) );
     370} // build_sizeOfexpr
     371
     372Expression * build_sizeOftype( DeclarationNode * decl_node ) {
     373        return new SizeofExpr( maybeMoveBuildType( decl_node ) );
     374} // build_sizeOftype
     375
     376Expression * build_alignOfexpr( ExpressionNode * expr_node ) {
     377        return new AlignofExpr( maybeMoveBuild< Expression >(expr_node) );
     378} // build_alignOfexpr
     379
     380Expression * build_alignOftype( DeclarationNode * decl_node ) {
     381        return new AlignofExpr( maybeMoveBuildType( decl_node) );
     382} // build_alignOftype
    364383
    365384Expression * build_offsetOf( DeclarationNode * decl_node, NameExpr * member ) {
     
    403422} // build_cond
    404423
     424Expression * build_comma( ExpressionNode * expr_node1, ExpressionNode * expr_node2 ) {
     425        return new CommaExpr( maybeMoveBuild< Expression >(expr_node1), maybeMoveBuild< Expression >(expr_node2) );
     426} // build_comma
     427
     428Expression * build_attrexpr( NameExpr * var, ExpressionNode * expr_node ) {
     429        return new AttrExpr( var, maybeMoveBuild< Expression >(expr_node) );
     430} // build_attrexpr
     431
     432Expression * build_attrtype( NameExpr * var, DeclarationNode * decl_node ) {
     433        return new AttrExpr( var, maybeMoveBuildType( decl_node ) );
     434} // build_attrtype
     435
    405436Expression * build_tuple( ExpressionNode * expr_node ) {
    406437        list< Expression * > exprs;
     
    414445        return new UntypedExpr( maybeMoveBuild< Expression >(function), args, nullptr );
    415446} // build_func
     447
     448Expression * build_range( ExpressionNode * low, ExpressionNode * high ) {
     449        return new RangeExpr( maybeMoveBuild< Expression >( low ), maybeMoveBuild< Expression >( high ) );
     450} // build_range
     451
     452Expression * build_asmexpr( ExpressionNode * inout, Expression * constraint, ExpressionNode * operand ) {
     453        return new AsmExpr( maybeMoveBuild< Expression >( inout ), constraint, maybeMoveBuild< Expression >(operand) );
     454} // build_asmexpr
     455
     456Expression * build_valexpr( StatementNode * s ) {
     457        return new StmtExpr( dynamic_cast< CompoundStmt * >(maybeMoveBuild< Statement >(s) ) );
     458} // build_valexpr
     459
     460Expression * build_typevalue( DeclarationNode * decl ) {
     461        return new TypeExpr( maybeMoveBuildType( decl ) );
     462} // build_typevalue
    416463
    417464Expression * build_compoundLiteral( DeclarationNode * decl_node, InitializerNode * kids ) {
  • src/Parser/ParseNode.h

    r8024bc8 red235b6  
    1010// Created On       : Sat May 16 13:28:16 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Sep 14 23:09:39 2017
    13 // Update Count     : 815
     12// Last Modified On : Sun Sep 10 09:56:32 2017
     13// Update Count     : 801
    1414//
    1515
     
    122122
    123123        template<typename T>
    124         bool isExpressionType() const { return nullptr != dynamic_cast<T>(expr.get()); }
     124        bool isExpressionType() const {
     125                return nullptr != dynamic_cast<T>(expr.get());
     126        }
    125127
    126128        Expression * build() const { return const_cast<ExpressionNode *>(this)->expr.release(); }
     
    170172
    171173NameExpr * build_varref( const std::string * name );
     174Expression * build_typevalue( DeclarationNode * decl );
    172175
    173176Expression * build_cast( DeclarationNode * decl_node, ExpressionNode * expr_node );
     
    175178Expression * build_fieldSel( ExpressionNode * expr_node, Expression * member );
    176179Expression * build_pfieldSel( ExpressionNode * expr_node, Expression * member );
     180Expression * build_addressOf( ExpressionNode * expr_node );
     181Expression * build_sizeOfexpr( ExpressionNode * expr_node );
     182Expression * build_sizeOftype( DeclarationNode * decl_node );
     183Expression * build_alignOfexpr( ExpressionNode * expr_node );
     184Expression * build_alignOftype( DeclarationNode * decl_node );
    177185Expression * build_offsetOf( DeclarationNode * decl_node, NameExpr * member );
    178186Expression * build_and( ExpressionNode * expr_node1, ExpressionNode * expr_node2 );
     
    183191Expression * build_binary_ptr( OperKinds op, ExpressionNode * expr_node1, ExpressionNode * expr_node2 );
    184192Expression * build_cond( ExpressionNode * expr_node1, ExpressionNode * expr_node2, ExpressionNode * expr_node3 );
     193Expression * build_comma( ExpressionNode * expr_node1, ExpressionNode * expr_node2 );
     194Expression * build_attrexpr( NameExpr * var, ExpressionNode * expr_node );
     195Expression * build_attrtype( NameExpr * var, DeclarationNode * decl_node );
    185196Expression * build_tuple( ExpressionNode * expr_node = nullptr );
    186197Expression * build_func( ExpressionNode * function, ExpressionNode * expr_node );
     198Expression * build_range( ExpressionNode * low, ExpressionNode * high );
     199Expression * build_asmexpr( ExpressionNode * inout, Expression * constraint, ExpressionNode * operand );
     200Expression * build_valexpr( StatementNode * s );
    187201Expression * build_compoundLiteral( DeclarationNode * decl_node, InitializerNode * kids );
    188202
  • src/Parser/parser.yy

    r8024bc8 red235b6  
    1010// Created On       : Sat Sep  1 20:22:55 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Sep 14 23:07:12 2017
    13 // Update Count     : 2815
     12// Last Modified On : Mon Sep 11 18:12:00 2017
     13// Update Count     : 2787
    1414//
    1515
     
    5656#include "LinkageSpec.h"
    5757#include "Common/SemanticError.h"                                               // error_str
    58 #include "Common/utility.h"                                                             // for maybeMoveBuild, maybeBuild, CodeLo...
    5958
    6059extern DeclarationNode * parseTree;
     
    439438                { $$ = $2; }
    440439        | '(' compound_statement ')'                                            // GCC, lambda expression
    441                 { $$ = new ExpressionNode( new StmtExpr( dynamic_cast< CompoundStmt * >(maybeMoveBuild< Statement >($2) ) ) ); }
     440                { $$ = new ExpressionNode( build_valexpr( $2 ) ); }
    442441        | primary_expression '{' argument_expression_list '}' // CFA, constructor call
    443442                {
     
    563562                        switch ( $1 ) {
    564563                          case OperKinds::AddressOf:
    565                                 $$ = new ExpressionNode( new AddressExpr( maybeMoveBuild< Expression >( $2 ) ) );
     564                                $$ = new ExpressionNode( build_addressOf( $2 ) );
    566565                                break;
    567566                          case OperKinds::PointTo:
     
    569568                                break;
    570569                          case OperKinds::And:
    571                                 $$ = new ExpressionNode( new AddressExpr( new AddressExpr( maybeMoveBuild< Expression >( $2 ) ) ) );
     570                                $$ = new ExpressionNode( new AddressExpr( build_addressOf( $2 ) ) );
    572571                                break;
    573572                          default:
     
    582581                { $$ = new ExpressionNode( build_unary_ptr( OperKinds::Decr, $2 ) ); }
    583582        | SIZEOF unary_expression
    584                 { $$ = new ExpressionNode( new SizeofExpr( maybeMoveBuild< Expression >( $2 ) ) ); }
     583                { $$ = new ExpressionNode( build_sizeOfexpr( $2 ) ); }
    585584        | SIZEOF '(' type_no_function ')'
    586                 { $$ = new ExpressionNode( new SizeofExpr( maybeMoveBuildType( $3 ) ) ); }
     585                { $$ = new ExpressionNode( build_sizeOftype( $3 ) ); }
    587586        | ALIGNOF unary_expression                                                      // GCC, variable alignment
    588                 { $$ = new ExpressionNode( new AlignofExpr( maybeMoveBuild< Expression >( $2 ) ) ); }
     587                { $$ = new ExpressionNode( build_alignOfexpr( $2 ) ); }
    589588        | ALIGNOF '(' type_no_function ')'                                      // GCC, type alignment
    590                 { $$ = new ExpressionNode( new AlignofExpr( maybeMoveBuildType( $3 ) ) ); }
     589                { $$ = new ExpressionNode( build_alignOftype( $3 ) ); }
    591590        | OFFSETOF '(' type_no_function ',' no_attr_identifier ')'
    592591                { $$ = new ExpressionNode( build_offsetOf( $3, build_varref( $5 ) ) ); }
    593592        | ATTR_IDENTIFIER
    594                 { $$ = new ExpressionNode( new AttrExpr( build_varref( $1 ), maybeMoveBuild< Expression >( (ExpressionNode *)nullptr ) ) ); }
     593                { $$ = new ExpressionNode( build_attrexpr( build_varref( $1 ), nullptr ) ); }
    595594        | ATTR_IDENTIFIER '(' argument_expression ')'
    596                 { $$ = new ExpressionNode( new AttrExpr( build_varref( $1 ), maybeMoveBuild< Expression >( $3 ) ) ); }
     595                { $$ = new ExpressionNode( build_attrexpr( build_varref( $1 ), $3 ) ); }
    597596        | ATTR_IDENTIFIER '(' type ')'
    598                 { $$ = new ExpressionNode( new AttrExpr( build_varref( $1 ), maybeMoveBuildType( $3 ) ) ); }
     597                { $$ = new ExpressionNode( build_attrtype( build_varref( $1 ), $3 ) ); }
    599598        ;
    600599
     
    619618                // VIRTUAL cannot be opt because of look ahead issues
    620619        | '(' VIRTUAL ')' cast_expression
    621                 { $$ = new ExpressionNode( new VirtualCastExpr( maybeMoveBuild< Expression >( $4 ), maybeMoveBuildType( nullptr ) ) ); }
     620                { $$ = new ExpressionNode( build_virtual_cast( nullptr, $4 ) ); }
    622621        | '(' VIRTUAL type_no_function ')' cast_expression
    623                 { $$ = new ExpressionNode( new VirtualCastExpr( maybeMoveBuild< Expression >( $5 ), maybeMoveBuildType( $3 ) ) ); }
     622                { $$ = new ExpressionNode( build_virtual_cast( $3, $5 ) ); }
    624623//      | '(' type_no_function ')' tuple
    625624//              { $$ = new ExpressionNode( build_cast( $2, $4 ) ); }
     
    772771        assignment_expression
    773772        | comma_expression ',' assignment_expression
    774                 { $$ = new ExpressionNode( new CommaExpr( maybeMoveBuild< Expression >( $1 ), maybeMoveBuild< Expression >( $3 ) ) ); }
     773                { $$ = new ExpressionNode( build_comma( $1, $3 ) ); }
    775774        ;
    776775
     
    895894        constant_expression                                                     { $$ = $1; }
    896895        | constant_expression ELLIPSIS constant_expression      // GCC, subrange
    897                 { $$ = new ExpressionNode( new RangeExpr( maybeMoveBuild< Expression >( $1 ), maybeMoveBuild< Expression >( $3 ) ) ); }
     896                { $$ = new ExpressionNode( build_range( $1, $3 ) ); }
    898897        | subrange                                                                                      // CFA, subrange
    899898        ;
     
    11551154asm_operand:                                                                                    // GCC
    11561155        string_literal '(' constant_expression ')'
    1157                 { $$ = new ExpressionNode( new AsmExpr( maybeMoveBuild< Expression >( (ExpressionNode *)nullptr ), $1, maybeMoveBuild< Expression >( $3 ) ) ); }
     1156                { $$ = new ExpressionNode( build_asmexpr( 0, $1, $3 ) ); }
    11581157        | '[' constant_expression ']' string_literal '(' constant_expression ')'
    1159                 { $$ = new ExpressionNode( new AsmExpr( maybeMoveBuild< Expression >( $2 ), $4, maybeMoveBuild< Expression >( $6 ) ) ); }
     1158                { $$ = new ExpressionNode( build_asmexpr( $2, $4, $6 ) ); }
    11601159        ;
    11611160
     
    11661165                { $$ = new ExpressionNode( $1 ); }
    11671166        | asm_clobbers_list_opt ',' string_literal
    1168                 // set_last returns ParseNode *
     1167                // set_last return ParseNode *
    11691168                { $$ = (ExpressionNode *)$1->set_last( new ExpressionNode( $3 ) ); }
    11701169        ;
     
    20892088                { $$ = $3; }
    20902089        | '[' push constant_expression ELLIPSIS constant_expression pop ']' // GCC, multiple array elements
    2091                 { $$ = new ExpressionNode( new RangeExpr( maybeMoveBuild< Expression >( $3 ), maybeMoveBuild< Expression >( $5 ) ) ); }
     2090                { $$ = new ExpressionNode( build_range( $3, $5 ) ); }
    20922091        | '.' '[' push field_list pop ']'                                       // CFA, tuple field selector
    20932092                { $$ = $4; }
     
    21662165type_list:                                                                                              // CFA
    21672166        type
    2168                 { $$ = new ExpressionNode( new TypeExpr( maybeMoveBuildType( $1 ) ) ); }
     2167                { $$ = new ExpressionNode( build_typevalue( $1 ) ); }
    21692168        | assignment_expression
    21702169        | type_list ',' type
    2171                 { $$ = (ExpressionNode *)( $1->set_last( new ExpressionNode( new TypeExpr( maybeMoveBuildType( $3 ) ) ) ) ); }
     2170                { $$ = (ExpressionNode *)( $1->set_last( new ExpressionNode( build_typevalue( $3 ) ) ) ); }
    21722171        | type_list ',' assignment_expression
    21732172                { $$ = (ExpressionNode *)( $1->set_last( $3 )); }
     
    24072406subrange:
    24082407        constant_expression '~' constant_expression                     // CFA, integer subrange
    2409                 { $$ = new ExpressionNode( new RangeExpr( maybeMoveBuild< Expression >( $1 ), maybeMoveBuild< Expression >( $3 ) ) ); }
     2408                { $$ = new ExpressionNode( build_range( $1, $3 ) ); }
    24102409        ;
    24112410
  • src/ResolvExpr/AlternativeFinder.cc

    r8024bc8 red235b6  
    523523                for ( AssertionSet::iterator i = assertSet.begin(); i != assertSet.end(); ++i ) {
    524524                        if ( i->second.isUsed ) {
    525                                 indexer.addId( i->first );
     525                                i->first->accept( indexer );
    526526                        }
    527527                }
  • src/ResolvExpr/AlternativePrinter.cc

    r8024bc8 red235b6  
    2626
    2727namespace ResolvExpr {
    28         AlternativePrinter::AlternativePrinter( std::ostream &os ) : os( os ) {}
     28        AlternativePrinter::AlternativePrinter( std::ostream &os ) : SymTab::Indexer( false ), os( os ) {}
    2929
    30         void AlternativePrinter::postvisit( ExprStmt *exprStmt ) {
     30        void AlternativePrinter::visit( ExprStmt *exprStmt ) {
    3131                TypeEnvironment env;
    32                 AlternativeFinder finder( indexer, env );
     32                AlternativeFinder finder( *this, env );
    3333                finder.findWithAdjustment( exprStmt->get_expr() );
    3434                int count = 1;
  • src/ResolvExpr/AlternativePrinter.h

    r8024bc8 red235b6  
    1818#include <iostream>          // for ostream
    1919
    20 #include "Common/PassVisitor.h"
     20#include "SymTab/Indexer.h"  // for Indexer
    2121
    2222class ExprStmt;
    2323
    2424namespace ResolvExpr {
    25         class AlternativePrinter final : public WithIndexer {
     25        class AlternativePrinter final : public SymTab::Indexer {
    2626          public:
    2727                AlternativePrinter( std::ostream &os );
    2828
    29                 void postvisit( ExprStmt *exprStmt );
     29                using SymTab::Indexer::visit;
     30                virtual void visit( ExprStmt *exprStmt ) override;
    3031          private:
    3132                std::ostream &os;
  • src/ResolvExpr/Resolver.cc

    r8024bc8 red235b6  
    2121#include "Alternative.h"                 // for Alternative, AltList
    2222#include "AlternativeFinder.h"           // for AlternativeFinder, resolveIn...
    23 #include "Common/PassVisitor.h"          // for PassVisitor
    2423#include "Common/SemanticError.h"        // for SemanticError
    2524#include "Common/utility.h"              // for ValueGuard, group_iterate
     
    4443
    4544namespace ResolvExpr {
    46         struct Resolver final : public WithIndexer, public WithGuards, public WithVisitorRef<Resolver>, public WithShortCircuiting {
    47                 Resolver() {}
    48                 Resolver( const SymTab::Indexer & other ) {
    49                         indexer = other;
    50                 }
    51 
    52                 void previsit( FunctionDecl *functionDecl );
    53                 void postvisit( FunctionDecl *functionDecl );
    54                 void previsit( ObjectDecl *functionDecl );
    55                 void previsit( TypeDecl *typeDecl );
    56                 void previsit( EnumDecl * enumDecl );
    57 
    58                 void previsit( ArrayType * at );
    59                 void previsit( PointerType * at );
    60 
    61                 void previsit( ExprStmt *exprStmt );
    62                 void previsit( AsmExpr *asmExpr );
    63                 void previsit( AsmStmt *asmStmt );
    64                 void previsit( IfStmt *ifStmt );
    65                 void previsit( WhileStmt *whileStmt );
    66                 void previsit( ForStmt *forStmt );
    67                 void previsit( SwitchStmt *switchStmt );
    68                 void previsit( CaseStmt *caseStmt );
    69                 void previsit( BranchStmt *branchStmt );
    70                 void previsit( ReturnStmt *returnStmt );
    71                 void previsit( ThrowStmt *throwStmt );
    72                 void previsit( CatchStmt *catchStmt );
    73 
    74                 void previsit( SingleInit *singleInit );
    75                 void previsit( ListInit *listInit );
    76                 void previsit( ConstructorInit *ctorInit );
     45        class Resolver final : public SymTab::Indexer {
     46          public:
     47                Resolver() : SymTab::Indexer( false ) {}
     48                Resolver( const SymTab:: Indexer & other ) : SymTab::Indexer( other ) {
     49                        if ( const Resolver * res = dynamic_cast< const Resolver * >( &other ) ) {
     50                                functionReturn = res->functionReturn;
     51                                currentObject = res->currentObject;
     52                                inEnumDecl = res->inEnumDecl;
     53                        }
     54                }
     55
     56                typedef SymTab::Indexer Parent;
     57                using Parent::visit;
     58                virtual void visit( FunctionDecl *functionDecl ) override;
     59                virtual void visit( ObjectDecl *functionDecl ) override;
     60                virtual void visit( TypeDecl *typeDecl ) override;
     61                virtual void visit( EnumDecl * enumDecl ) override;
     62
     63                virtual void visit( ArrayType * at ) override;
     64                virtual void visit( PointerType * at ) override;
     65
     66                virtual void visit( ExprStmt *exprStmt ) override;
     67                virtual void visit( AsmExpr *asmExpr ) override;
     68                virtual void visit( AsmStmt *asmStmt ) override;
     69                virtual void visit( IfStmt *ifStmt ) override;
     70                virtual void visit( WhileStmt *whileStmt ) override;
     71                virtual void visit( ForStmt *forStmt ) override;
     72                virtual void visit( SwitchStmt *switchStmt ) override;
     73                virtual void visit( CaseStmt *caseStmt ) override;
     74                virtual void visit( BranchStmt *branchStmt ) override;
     75                virtual void visit( ReturnStmt *returnStmt ) override;
     76                virtual void visit( ThrowStmt *throwStmt ) override;
     77                virtual void visit( CatchStmt *catchStmt ) override;
     78
     79                virtual void visit( SingleInit *singleInit ) override;
     80                virtual void visit( ListInit *listInit ) override;
     81                virtual void visit( ConstructorInit *ctorInit ) override;
    7782          private:
    7883        typedef std::list< Initializer * >::iterator InitIterator;
     
    9196
    9297        void resolve( std::list< Declaration * > translationUnit ) {
    93                 PassVisitor<Resolver> resolver;
     98                Resolver resolver;
    9499                acceptAll( translationUnit, resolver );
    95100        }
    96101
    97         // used in resolveTypeof
    98102        Expression *resolveInVoidContext( Expression *expr, const SymTab::Indexer &indexer ) {
    99103                TypeEnvironment env;
    100104                return resolveInVoidContext( expr, indexer, env );
    101105        }
     106
    102107
    103108        namespace {
     
    185190        }
    186191
    187         void Resolver::previsit( ObjectDecl *objectDecl ) {
    188                 Type *new_type = resolveTypeof( objectDecl->get_type(), indexer );
     192        void Resolver::visit( ObjectDecl *objectDecl ) {
     193                Type *new_type = resolveTypeof( objectDecl->get_type(), *this );
    189194                objectDecl->set_type( new_type );
    190195                // To handle initialization of routine pointers, e.g., int (*fp)(int) = foo(), means that class-variable
     
    193198                // each value of initContext is retained, so the type on the first analysis is preserved and used for selecting
    194199                // the RHS.
    195                 GuardValue( currentObject );
     200                ValueGuard<CurrentObject> temp( currentObject );
    196201                currentObject = CurrentObject( objectDecl->get_type() );
    197202                if ( inEnumDecl && dynamic_cast< EnumInstType * >( objectDecl->get_type() ) ) {
     
    200205                        currentObject = CurrentObject( new BasicType( Type::Qualifiers(), BasicType::SignedInt ) );
    201206                }
     207                Parent::visit( objectDecl );
     208                if ( inEnumDecl && dynamic_cast< EnumInstType * >( objectDecl->get_type() ) ) {
     209                        // delete newly created signed int type
     210                        // delete currentObject.getType();
     211                }
    202212        }
    203213
     
    206216                if ( type->get_dimension() ) {
    207217                        CastExpr *castExpr = new CastExpr( type->get_dimension(), SymTab::SizeType->clone() );
    208                         Expression *newExpr = findSingleExpression( castExpr, indexer );
     218                        Expression *newExpr = findSingleExpression( castExpr, *this );
    209219                        delete type->get_dimension();
    210220                        type->set_dimension( newExpr );
     
    212222        }
    213223
    214         void Resolver::previsit( ArrayType * at ) {
     224        void Resolver::visit( ArrayType * at ) {
    215225                handlePtrType( at );
    216         }
    217 
    218         void Resolver::previsit( PointerType * pt ) {
     226                Parent::visit( at );
     227        }
     228
     229        void Resolver::visit( PointerType * pt ) {
    219230                handlePtrType( pt );
    220         }
    221 
    222         void Resolver::previsit( TypeDecl *typeDecl ) {
     231                Parent::visit( pt );
     232        }
     233
     234        void Resolver::visit( TypeDecl *typeDecl ) {
    223235                if ( typeDecl->get_base() ) {
    224                         Type *new_type = resolveTypeof( typeDecl->get_base(), indexer );
     236                        Type *new_type = resolveTypeof( typeDecl->get_base(), *this );
    225237                        typeDecl->set_base( new_type );
    226238                } // if
    227         }
    228 
    229         void Resolver::previsit( FunctionDecl *functionDecl ) {
     239                Parent::visit( typeDecl );
     240        }
     241
     242        void Resolver::visit( FunctionDecl *functionDecl ) {
    230243#if 0
    231                 std::cerr << "resolver visiting functiondecl ";
    232                 functionDecl->print( std::cerr );
    233                 std::cerr << std::endl;
     244                std::cout << "resolver visiting functiondecl ";
     245                functionDecl->print( std::cout );
     246                std::cout << std::endl;
    234247#endif
    235                 Type *new_type = resolveTypeof( functionDecl->get_type(), indexer );
     248                Type *new_type = resolveTypeof( functionDecl->get_type(), *this );
    236249                functionDecl->set_type( new_type );
    237                 GuardValue( functionReturn );
     250                ValueGuard< Type * > oldFunctionReturn( functionReturn );
    238251                functionReturn = ResolvExpr::extractResultType( functionDecl->get_functionType() );
    239         }
    240 
    241 
    242         void Resolver::postvisit( FunctionDecl *functionDecl ) {
     252                Parent::visit( functionDecl );
     253
    243254                // default value expressions have an environment which shouldn't be there and trips up later passes.
    244255                // xxx - it might be necessary to somehow keep the information from this environment, but I can't currently
     
    254265        }
    255266
    256         void Resolver::previsit( EnumDecl * ) {
     267        void Resolver::visit( EnumDecl * enumDecl ) {
    257268                // in case we decide to allow nested enums
    258                 GuardValue( inEnumDecl );
     269                ValueGuard< bool > oldInEnumDecl( inEnumDecl );
    259270                inEnumDecl = true;
    260         }
    261 
    262         void Resolver::previsit( ExprStmt *exprStmt ) {
    263                 visit_children = false;
     271                Parent::visit( enumDecl );
     272        }
     273
     274        void Resolver::visit( ExprStmt *exprStmt ) {
    264275                assertf( exprStmt->get_expr(), "ExprStmt has null Expression in resolver" );
    265                 Expression *newExpr = findVoidExpression( exprStmt->get_expr(), indexer );
     276                Expression *newExpr = findVoidExpression( exprStmt->get_expr(), *this );
    266277                delete exprStmt->get_expr();
    267278                exprStmt->set_expr( newExpr );
    268279        }
    269280
    270         void Resolver::previsit( AsmExpr *asmExpr ) {
    271                 visit_children = false;
    272                 Expression *newExpr = findVoidExpression( asmExpr->get_operand(), indexer );
     281        void Resolver::visit( AsmExpr *asmExpr ) {
     282                Expression *newExpr = findVoidExpression( asmExpr->get_operand(), *this );
    273283                delete asmExpr->get_operand();
    274284                asmExpr->set_operand( newExpr );
    275285                if ( asmExpr->get_inout() ) {
    276                         newExpr = findVoidExpression( asmExpr->get_inout(), indexer );
     286                        newExpr = findVoidExpression( asmExpr->get_inout(), *this );
    277287                        delete asmExpr->get_inout();
    278288                        asmExpr->set_inout( newExpr );
     
    280290        }
    281291
    282         void Resolver::previsit( AsmStmt *asmStmt ) {
    283                 visit_children = false;
    284                 acceptAll( asmStmt->get_input(), *visitor );
    285                 acceptAll( asmStmt->get_output(), *visitor );
    286         }
    287 
    288         void Resolver::previsit( IfStmt *ifStmt ) {
    289                 Expression *newExpr = findSingleExpression( ifStmt->get_condition(), indexer );
     292        void Resolver::visit( AsmStmt *asmStmt ) {
     293                acceptAll( asmStmt->get_input(), *this);
     294                acceptAll( asmStmt->get_output(), *this);
     295        }
     296
     297        void Resolver::visit( IfStmt *ifStmt ) {
     298                Expression *newExpr = findSingleExpression( ifStmt->get_condition(), *this );
    290299                delete ifStmt->get_condition();
    291300                ifStmt->set_condition( newExpr );
    292         }
    293 
    294         void Resolver::previsit( WhileStmt *whileStmt ) {
    295                 Expression *newExpr = findSingleExpression( whileStmt->get_condition(), indexer );
     301                Parent::visit( ifStmt );
     302        }
     303
     304        void Resolver::visit( WhileStmt *whileStmt ) {
     305                Expression *newExpr = findSingleExpression( whileStmt->get_condition(), *this );
    296306                delete whileStmt->get_condition();
    297307                whileStmt->set_condition( newExpr );
    298         }
    299 
    300         void Resolver::previsit( ForStmt *forStmt ) {
     308                Parent::visit( whileStmt );
     309        }
     310
     311        void Resolver::visit( ForStmt *forStmt ) {
     312                Parent::visit( forStmt );
     313
    301314                if ( forStmt->get_condition() ) {
    302                         Expression * newExpr = findSingleExpression( forStmt->get_condition(), indexer );
     315                        Expression * newExpr = findSingleExpression( forStmt->get_condition(), *this );
    303316                        delete forStmt->get_condition();
    304317                        forStmt->set_condition( newExpr );
     
    306319
    307320                if ( forStmt->get_increment() ) {
    308                         Expression * newExpr = findVoidExpression( forStmt->get_increment(), indexer );
     321                        Expression * newExpr = findVoidExpression( forStmt->get_increment(), *this );
    309322                        delete forStmt->get_increment();
    310323                        forStmt->set_increment( newExpr );
     
    312325        }
    313326
    314         void Resolver::previsit( SwitchStmt *switchStmt ) {
    315                 GuardValue( currentObject );
     327        void Resolver::visit( SwitchStmt *switchStmt ) {
     328                ValueGuard< CurrentObject > oldCurrentObject( currentObject );
    316329                Expression *newExpr;
    317                 newExpr = findIntegralExpression( switchStmt->get_condition(), indexer );
     330                newExpr = findIntegralExpression( switchStmt->get_condition(), *this );
    318331                delete switchStmt->get_condition();
    319332                switchStmt->set_condition( newExpr );
    320333
    321334                currentObject = CurrentObject( newExpr->get_result() );
    322         }
    323 
    324         void Resolver::previsit( CaseStmt *caseStmt ) {
     335                Parent::visit( switchStmt );
     336        }
     337
     338        void Resolver::visit( CaseStmt *caseStmt ) {
    325339                if ( caseStmt->get_condition() ) {
    326340                        std::list< InitAlternative > initAlts = currentObject.getOptions();
    327341                        assertf( initAlts.size() == 1, "SwitchStmt did not correctly resolve an integral expression." );
    328342                        CastExpr * castExpr = new CastExpr( caseStmt->get_condition(), initAlts.front().type->clone() );
    329                         Expression * newExpr = findSingleExpression( castExpr, indexer );
     343                        Expression * newExpr = findSingleExpression( castExpr, *this );
    330344                        castExpr = strict_dynamic_cast< CastExpr * >( newExpr );
    331345                        caseStmt->set_condition( castExpr->get_arg() );
     
    333347                        delete castExpr;
    334348                }
    335         }
    336 
    337         void Resolver::previsit( BranchStmt *branchStmt ) {
    338                 visit_children = false;
     349                Parent::visit( caseStmt );
     350        }
     351
     352        void Resolver::visit( BranchStmt *branchStmt ) {
    339353                // must resolve the argument for a computed goto
    340354                if ( branchStmt->get_type() == BranchStmt::Goto ) { // check for computed goto statement
     
    343357                                PointerType pt( Type::Qualifiers(), v.clone() );
    344358                                CastExpr * castExpr = new CastExpr( arg, pt.clone() );
    345                                 Expression * newExpr = findSingleExpression( castExpr, indexer ); // find best expression
     359                                Expression * newExpr = findSingleExpression( castExpr, *this ); // find best expression
    346360                                branchStmt->set_target( newExpr );
    347361                        } // if
     
    349363        }
    350364
    351         void Resolver::previsit( ReturnStmt *returnStmt ) {
    352                 visit_children = false;
     365        void Resolver::visit( ReturnStmt *returnStmt ) {
    353366                if ( returnStmt->get_expr() ) {
    354367                        CastExpr *castExpr = new CastExpr( returnStmt->get_expr(), functionReturn->clone() );
    355                         Expression *newExpr = findSingleExpression( castExpr, indexer );
     368                        Expression *newExpr = findSingleExpression( castExpr, *this );
    356369                        delete castExpr;
    357370                        returnStmt->set_expr( newExpr );
     
    359372        }
    360373
    361         void Resolver::previsit( ThrowStmt *throwStmt ) {
    362                 visit_children = false;
     374        void Resolver::visit( ThrowStmt *throwStmt ) {
    363375                // TODO: Replace *exception type with &exception type.
    364376                if ( throwStmt->get_expr() ) {
    365377                        StructDecl * exception_decl =
    366                                 indexer.lookupStruct( "__cfaehm__base_exception_t" );
     378                                lookupStruct( "__cfaehm__base_exception_t" );
    367379                        assert( exception_decl );
    368380                        Expression * wrapped = new CastExpr(
     
    376388                                        )
    377389                                );
    378                         Expression * newExpr = findSingleExpression( wrapped, indexer );
     390                        Expression * newExpr = findSingleExpression( wrapped, *this );
    379391                        throwStmt->set_expr( newExpr );
    380392                }
    381393        }
    382394
    383         void Resolver::previsit( CatchStmt *catchStmt ) {
     395        void Resolver::visit( CatchStmt *catchStmt ) {
     396                // inline Indexer::visit so that the exception variable is still in-scope for
     397                // findSingleExpression() below
     398                Parent::enterScope();
     399                Visitor::visit( catchStmt );
     400
    384401                if ( catchStmt->get_cond() ) {
    385402                        Expression * wrapped = new CastExpr(
     
    387404                                new BasicType( noQualifiers, BasicType::Bool )
    388405                                );
    389                         catchStmt->set_cond( findSingleExpression( wrapped, indexer ) );
    390                 }
     406                        catchStmt->set_cond( findSingleExpression( wrapped, *this ) );
     407                }
     408
     409                Parent::leaveScope();
    391410        }
    392411
     
    400419        }
    401420
    402         void Resolver::previsit( SingleInit *singleInit ) {
    403                 visit_children = false;
     421        void Resolver::visit( SingleInit *singleInit ) {
    404422                // resolve initialization using the possibilities as determined by the currentObject cursor
    405423                UntypedInitExpr * untyped = new UntypedInitExpr( singleInit->get_value(), currentObject.getOptions() );
    406                 Expression * newExpr = findSingleExpression( untyped, indexer );
     424                Expression * newExpr = findSingleExpression( untyped, *this );
    407425                InitExpr * initExpr = strict_dynamic_cast< InitExpr * >( newExpr );
    408426
     
    443461        }
    444462
    445         void Resolver::previsit( ListInit * listInit ) {
    446                 visit_children = false;
     463        void Resolver::visit( ListInit * listInit ) {
    447464                // move cursor into brace-enclosed initializer-list
    448465                currentObject.enterListInit();
     
    455472                        Initializer * init = std::get<1>(p);
    456473                        newDesignations.push_back( currentObject.findNext( des ) );
    457                         init->accept( *visitor );
     474                        init->accept( *this );
    458475                }
    459476                // set the set of 'resolved' designations and leave the brace-enclosed initializer-list
     
    484501                delete ctorInit->get_dtor();
    485502                ctorInit->set_dtor( NULL );
    486                 maybeAccept( ctorInit->get_init(), *visitor );
     503                maybeAccept( ctorInit->get_init(), *this );
    487504        }
    488505
     
    490507        void resolveCtorInit( ConstructorInit * ctorInit, const SymTab::Indexer & indexer ) {
    491508                assert( ctorInit );
    492                 PassVisitor<Resolver> resolver( indexer );
     509                Resolver resolver( indexer );
    493510                ctorInit->accept( resolver );
    494511        }
     
    496513        void resolveStmtExpr( StmtExpr * stmtExpr, const SymTab::Indexer & indexer ) {
    497514                assert( stmtExpr );
    498                 PassVisitor<Resolver> resolver( indexer );
     515                Resolver resolver( indexer );
    499516                stmtExpr->accept( resolver );
    500517        }
    501518
    502         void Resolver::previsit( ConstructorInit *ctorInit ) {
    503                 visit_children = false;
     519        void Resolver::visit( ConstructorInit *ctorInit ) {
    504520                // xxx - fallback init has been removed => remove fallbackInit function and remove complexity from FixInit and remove C-init from ConstructorInit
    505                 maybeAccept( ctorInit->get_ctor(), *visitor );
    506                 maybeAccept( ctorInit->get_dtor(), *visitor );
     521                maybeAccept( ctorInit->get_ctor(), *this );
     522                maybeAccept( ctorInit->get_dtor(), *this );
    507523
    508524                // found a constructor - can get rid of C-style initializer
  • src/SymTab/Indexer.cc

    r8024bc8 red235b6  
    3737#include "SynTree/Type.h"          // for Type, StructInstType, UnionInstType
    3838
    39 #define debugPrint(x) if ( doDebug ) { std::cerr << x; }
     39#define debugPrint(x) if ( doDebug ) { std::cout << x; }
    4040
    4141namespace SymTab {
     
    230230
    231231                return *this;
     232        }
     233
     234        void Indexer::visit( ObjectDecl *objectDecl ) {
     235                enterScope();
     236                maybeAccept( objectDecl->get_type(), *this );
     237                leaveScope();
     238                maybeAccept( objectDecl->get_init(), *this );
     239                maybeAccept( objectDecl->get_bitfieldWidth(), *this );
     240                if ( objectDecl->get_name() != "" ) {
     241                        debugPrint( "Adding object " << objectDecl->get_name() << std::endl );
     242                        addId( objectDecl );
     243                } // if
     244        }
     245
     246        void Indexer::visit( FunctionDecl *functionDecl ) {
     247                if ( functionDecl->get_name() == "" ) return;
     248                debugPrint( "Adding function " << functionDecl->get_name() << std::endl );
     249                addId( functionDecl );
     250                enterScope();
     251                maybeAccept( functionDecl->get_functionType(), *this );
     252                maybeAccept( functionDecl->get_statements(), *this );
     253                leaveScope();
     254        }
     255
     256
     257// A NOTE ON THE ORDER OF TRAVERSAL
     258//
     259// Types and typedefs have their base types visited before they are added to the type table.  This is ok, since there is
     260// no such thing as a recursive type or typedef.
     261//
     262//             typedef struct { T *x; } T; // never allowed
     263//
     264// for structs/unions, it is possible to have recursion, so the decl should be added as if it's incomplete to begin, the
     265// members are traversed, and then the complete type should be added (assuming the type is completed by this particular
     266// declaration).
     267//
     268//             struct T { struct T *x; }; // allowed
     269//
     270// It is important to add the complete type to the symbol table *after* the members/base has been traversed, since that
     271// traversal may modify the definition of the type and these modifications should be visible when the symbol table is
     272// queried later in this pass.
     273//
     274// TODO: figure out whether recursive contexts are sensible/possible/reasonable.
     275
     276
     277        void Indexer::visit( TypeDecl *typeDecl ) {
     278                // see A NOTE ON THE ORDER OF TRAVERSAL, above
     279                // note that assertions come after the type is added to the symtab, since they are not part of the type proper
     280                // and may depend on the type itself
     281                enterScope();
     282                acceptAll( typeDecl->get_parameters(), *this );
     283                maybeAccept( typeDecl->get_base(), *this );
     284                leaveScope();
     285                debugPrint( "Adding type " << typeDecl->get_name() << std::endl );
     286                addType( typeDecl );
     287                acceptAll( typeDecl->get_assertions(), *this );
     288                acceptNewScope( typeDecl->get_init(), *this );
     289        }
     290
     291        void Indexer::visit( TypedefDecl *typeDecl ) {
     292                enterScope();
     293                acceptAll( typeDecl->get_parameters(), *this );
     294                maybeAccept( typeDecl->get_base(), *this );
     295                leaveScope();
     296                debugPrint( "Adding typedef " << typeDecl->get_name() << std::endl );
     297                addType( typeDecl );
     298        }
     299
     300        void Indexer::visit( StructDecl *aggregateDecl ) {
     301                // make up a forward declaration and add it before processing the members
     302                // needs to be on the heap because addStruct saves the pointer
     303                StructDecl &fwdDecl = *new StructDecl( aggregateDecl->get_name() );
     304                cloneAll( aggregateDecl->get_parameters(), fwdDecl.get_parameters() );
     305                debugPrint( "Adding fwd decl for struct " << fwdDecl.get_name() << std::endl );
     306                addStruct( &fwdDecl );
     307
     308                enterScope();
     309                acceptAll( aggregateDecl->get_parameters(), *this );
     310                acceptAll( aggregateDecl->get_members(), *this );
     311                leaveScope();
     312
     313                debugPrint( "Adding struct " << aggregateDecl->get_name() << std::endl );
     314                // this addition replaces the forward declaration
     315                addStruct( aggregateDecl );
     316        }
     317
     318        void Indexer::visit( UnionDecl *aggregateDecl ) {
     319                // make up a forward declaration and add it before processing the members
     320                UnionDecl fwdDecl( aggregateDecl->get_name() );
     321                cloneAll( aggregateDecl->get_parameters(), fwdDecl.get_parameters() );
     322                debugPrint( "Adding fwd decl for union " << fwdDecl.get_name() << std::endl );
     323                addUnion( &fwdDecl );
     324
     325                enterScope();
     326                acceptAll( aggregateDecl->get_parameters(), *this );
     327                acceptAll( aggregateDecl->get_members(), *this );
     328                leaveScope();
     329
     330                debugPrint( "Adding union " << aggregateDecl->get_name() << std::endl );
     331                addUnion( aggregateDecl );
     332        }
     333
     334        void Indexer::visit( EnumDecl *aggregateDecl ) {
     335                debugPrint( "Adding enum " << aggregateDecl->get_name() << std::endl );
     336                addEnum( aggregateDecl );
     337                // unlike structs, contexts, and unions, enums inject their members into the global scope
     338                acceptAll( aggregateDecl->get_members(), *this );
     339        }
     340
     341        void Indexer::visit( TraitDecl *aggregateDecl ) {
     342                enterScope();
     343                acceptAll( aggregateDecl->get_parameters(), *this );
     344                acceptAll( aggregateDecl->get_members(), *this );
     345                leaveScope();
     346
     347                debugPrint( "Adding trait " << aggregateDecl->get_name() << std::endl );
     348                addTrait( aggregateDecl );
     349        }
     350
     351        void Indexer::visit( CompoundStmt *compoundStmt ) {
     352                enterScope();
     353                acceptAll( compoundStmt->get_kids(), *this );
     354                leaveScope();
     355        }
     356
     357        void Indexer::visit( IfStmt *ifStmt ) {
     358            // for statements introduce a level of scope
     359            enterScope();
     360            Visitor::visit( ifStmt );
     361            leaveScope();
     362        }
     363
     364        void Indexer::visit( ForStmt *forStmt ) {
     365            // for statements introduce a level of scope
     366            enterScope();
     367            Visitor::visit( forStmt );
     368            leaveScope();
     369        }
     370
     371        void Indexer::visit( CatchStmt *catchStmt ) {
     372                // catch statements introduce a level of scope (for the caught exception)
     373                enterScope();
     374                Visitor::visit( catchStmt );
     375                leaveScope();
     376        }
     377
     378        void Indexer::visit( ApplicationExpr *applicationExpr ) {
     379                acceptNewScope( applicationExpr->get_result(), *this );
     380                maybeAccept( applicationExpr->get_function(), *this );
     381                acceptAll( applicationExpr->get_args(), *this );
     382        }
     383
     384        void Indexer::visit( UntypedExpr *untypedExpr ) {
     385                acceptNewScope( untypedExpr->get_result(), *this );
     386                acceptAll( untypedExpr->get_args(), *this );
     387        }
     388
     389        void Indexer::visit( NameExpr *nameExpr ) {
     390                acceptNewScope( nameExpr->get_result(), *this );
     391        }
     392
     393        void Indexer::visit( AddressExpr *addressExpr ) {
     394                acceptNewScope( addressExpr->get_result(), *this );
     395                maybeAccept( addressExpr->get_arg(), *this );
     396        }
     397
     398        void Indexer::visit( LabelAddressExpr *labAddressExpr ) {
     399                acceptNewScope( labAddressExpr->get_result(), *this );
     400        }
     401
     402        void Indexer::visit( CastExpr *castExpr ) {
     403                acceptNewScope( castExpr->get_result(), *this );
     404                maybeAccept( castExpr->get_arg(), *this );
     405        }
     406
     407        void Indexer::visit( UntypedMemberExpr *memberExpr ) {
     408                acceptNewScope( memberExpr->get_result(), *this );
     409                maybeAccept( memberExpr->get_aggregate(), *this );
     410        }
     411
     412        void Indexer::visit( MemberExpr *memberExpr ) {
     413                acceptNewScope( memberExpr->get_result(), *this );
     414                maybeAccept( memberExpr->get_aggregate(), *this );
     415        }
     416
     417        void Indexer::visit( VariableExpr *variableExpr ) {
     418                acceptNewScope( variableExpr->get_result(), *this );
     419        }
     420
     421        void Indexer::visit( ConstantExpr *constantExpr ) {
     422                acceptNewScope( constantExpr->get_result(), *this );
     423                maybeAccept( constantExpr->get_constant(), *this );
     424        }
     425
     426        void Indexer::visit( SizeofExpr *sizeofExpr ) {
     427                acceptNewScope( sizeofExpr->get_result(), *this );
     428                if ( sizeofExpr->get_isType() ) {
     429                        maybeAccept( sizeofExpr->get_type(), *this );
     430                } else {
     431                        maybeAccept( sizeofExpr->get_expr(), *this );
     432                }
     433        }
     434
     435        void Indexer::visit( AlignofExpr *alignofExpr ) {
     436                acceptNewScope( alignofExpr->get_result(), *this );
     437                if ( alignofExpr->get_isType() ) {
     438                        maybeAccept( alignofExpr->get_type(), *this );
     439                } else {
     440                        maybeAccept( alignofExpr->get_expr(), *this );
     441                }
     442        }
     443
     444        void Indexer::visit( UntypedOffsetofExpr *offsetofExpr ) {
     445                acceptNewScope( offsetofExpr->get_result(), *this );
     446                maybeAccept( offsetofExpr->get_type(), *this );
     447        }
     448
     449        void Indexer::visit( OffsetofExpr *offsetofExpr ) {
     450                acceptNewScope( offsetofExpr->get_result(), *this );
     451                maybeAccept( offsetofExpr->get_type(), *this );
     452                maybeAccept( offsetofExpr->get_member(), *this );
     453        }
     454
     455        void Indexer::visit( OffsetPackExpr *offsetPackExpr ) {
     456                acceptNewScope( offsetPackExpr->get_result(), *this );
     457                maybeAccept( offsetPackExpr->get_type(), *this );
     458        }
     459
     460        void Indexer::visit( AttrExpr *attrExpr ) {
     461                acceptNewScope( attrExpr->get_result(), *this );
     462                if ( attrExpr->get_isType() ) {
     463                        maybeAccept( attrExpr->get_type(), *this );
     464                } else {
     465                        maybeAccept( attrExpr->get_expr(), *this );
     466                }
     467        }
     468
     469        void Indexer::visit( LogicalExpr *logicalExpr ) {
     470                acceptNewScope( logicalExpr->get_result(), *this );
     471                maybeAccept( logicalExpr->get_arg1(), *this );
     472                maybeAccept( logicalExpr->get_arg2(), *this );
     473        }
     474
     475        void Indexer::visit( ConditionalExpr *conditionalExpr ) {
     476                acceptNewScope( conditionalExpr->get_result(), *this );
     477                maybeAccept( conditionalExpr->get_arg1(), *this );
     478                maybeAccept( conditionalExpr->get_arg2(), *this );
     479                maybeAccept( conditionalExpr->get_arg3(), *this );
     480        }
     481
     482        void Indexer::visit( CommaExpr *commaExpr ) {
     483                acceptNewScope( commaExpr->get_result(), *this );
     484                maybeAccept( commaExpr->get_arg1(), *this );
     485                maybeAccept( commaExpr->get_arg2(), *this );
     486        }
     487
     488        void Indexer::visit( TypeExpr *typeExpr ) {
     489                acceptNewScope( typeExpr->get_result(), *this );
     490                maybeAccept( typeExpr->get_type(), *this );
     491        }
     492
     493        void Indexer::visit( AsmExpr *asmExpr ) {
     494                maybeAccept( asmExpr->get_inout(), *this );
     495                maybeAccept( asmExpr->get_constraint(), *this );
     496                maybeAccept( asmExpr->get_operand(), *this );
     497        }
     498
     499        void Indexer::visit( ImplicitCopyCtorExpr *impCpCtorExpr ) {
     500                acceptNewScope( impCpCtorExpr->get_result(), *this );
     501                maybeAccept( impCpCtorExpr->get_callExpr(), *this );
     502                acceptAll( impCpCtorExpr->get_tempDecls(), *this );
     503                acceptAll( impCpCtorExpr->get_returnDecls(), *this );
     504                acceptAll( impCpCtorExpr->get_dtors(), *this );
     505        }
     506
     507        void Indexer::visit( ConstructorExpr * ctorExpr ) {
     508                acceptNewScope( ctorExpr->get_result(), *this );
     509                maybeAccept( ctorExpr->get_callExpr(), *this );
     510        }
     511
     512        void Indexer::visit( CompoundLiteralExpr *compLitExpr ) {
     513                acceptNewScope( compLitExpr->get_result(), *this );
     514                maybeAccept( compLitExpr->get_initializer(), *this );
     515        }
     516
     517        void Indexer::visit( RangeExpr *rangeExpr ) {
     518                maybeAccept( rangeExpr->get_low(), *this );
     519                maybeAccept( rangeExpr->get_high(), *this );
     520        }
     521
     522        void Indexer::visit( UntypedTupleExpr *tupleExpr ) {
     523                acceptNewScope( tupleExpr->get_result(), *this );
     524                acceptAll( tupleExpr->get_exprs(), *this );
     525        }
     526
     527        void Indexer::visit( TupleExpr *tupleExpr ) {
     528                acceptNewScope( tupleExpr->get_result(), *this );
     529                acceptAll( tupleExpr->get_exprs(), *this );
     530        }
     531
     532        void Indexer::visit( TupleIndexExpr *tupleExpr ) {
     533                acceptNewScope( tupleExpr->get_result(), *this );
     534                maybeAccept( tupleExpr->get_tuple(), *this );
     535        }
     536
     537        void Indexer::visit( TupleAssignExpr *tupleExpr ) {
     538                acceptNewScope( tupleExpr->get_result(), *this );
     539                maybeAccept( tupleExpr->get_stmtExpr(), *this );
     540        }
     541
     542        void Indexer::visit( StmtExpr *stmtExpr ) {
     543                acceptNewScope( stmtExpr->get_result(), *this );
     544                maybeAccept( stmtExpr->get_statements(), *this );
     545                acceptAll( stmtExpr->get_returnDecls(), *this );
     546                acceptAll( stmtExpr->get_dtors(), *this );
     547        }
     548
     549        void Indexer::visit( UniqueExpr *uniqueExpr ) {
     550                acceptNewScope( uniqueExpr->get_result(), *this );
     551                maybeAccept( uniqueExpr->get_expr(), *this );
     552        }
     553
     554
     555        void Indexer::visit( TraitInstType *traitInst ) {
     556                acceptAll( traitInst->get_parameters(), *this );
     557        }
     558
     559        void Indexer::visit( StructInstType *structInst ) {
     560                if ( ! lookupStruct( structInst->get_name() ) ) {
     561                        debugPrint( "Adding struct " << structInst->get_name() << " from implicit forward declaration" << std::endl );
     562                        addStruct( structInst->get_name() );
     563                }
     564                enterScope();
     565                acceptAll( structInst->get_parameters(), *this );
     566                leaveScope();
     567        }
     568
     569        void Indexer::visit( UnionInstType *unionInst ) {
     570                if ( ! lookupUnion( unionInst->get_name() ) ) {
     571                        debugPrint( "Adding union " << unionInst->get_name() << " from implicit forward declaration" << std::endl );
     572                        addUnion( unionInst->get_name() );
     573                }
     574                enterScope();
     575                acceptAll( unionInst->get_parameters(), *this );
     576                leaveScope();
    232577        }
    233578
     
    417762
    418763        void Indexer::addId( DeclarationWithType *decl ) {
    419                 debugPrint( "Adding Id " << decl->name << std::endl );
    420764                makeWritable();
    421765
     
    467811
    468812        void Indexer::addType( NamedTypeDecl *decl ) {
    469                 debugPrint( "Adding type " << decl->name << std::endl );
    470813                makeWritable();
    471814
     
    495838
    496839        void Indexer::addStruct( const std::string &id ) {
    497                 debugPrint( "Adding fwd decl for struct " << id << std::endl );
    498840                addStruct( new StructDecl( id ) );
    499841        }
    500842
    501843        void Indexer::addStruct( StructDecl *decl ) {
    502                 debugPrint( "Adding struct " << decl->name << std::endl );
    503844                makeWritable();
    504845
     
    519860
    520861        void Indexer::addEnum( EnumDecl *decl ) {
    521                 debugPrint( "Adding enum " << decl->name << std::endl );
    522862                makeWritable();
    523863
     
    538878
    539879        void Indexer::addUnion( const std::string &id ) {
    540                 debugPrint( "Adding fwd decl for union " << id << std::endl );
    541880                addUnion( new UnionDecl( id ) );
    542881        }
    543882
    544883        void Indexer::addUnion( UnionDecl *decl ) {
    545                 debugPrint( "Adding union " << decl->name << std::endl );
    546884                makeWritable();
    547885
     
    562900
    563901        void Indexer::addTrait( TraitDecl *decl ) {
    564                 debugPrint( "Adding trait " << decl->name << std::endl );
    565902                makeWritable();
    566903
  • src/SymTab/Indexer.h

    r8024bc8 red235b6  
    2424
    2525namespace SymTab {
    26         class Indexer {
     26        class Indexer : public Visitor {
    2727          public:
    2828                explicit Indexer( bool useDebug = false );
     
    3333                Indexer& operator= ( const Indexer &that );
    3434                Indexer& operator= ( Indexer &&that );
     35
     36                using Visitor::visit;
     37                virtual void visit( ObjectDecl *objectDecl );
     38                virtual void visit( FunctionDecl *functionDecl );
     39                virtual void visit( TypeDecl *typeDecl );
     40                virtual void visit( TypedefDecl *typeDecl );
     41                virtual void visit( StructDecl *aggregateDecl );
     42                virtual void visit( UnionDecl *aggregateDecl );
     43                virtual void visit( EnumDecl *aggregateDecl );
     44                virtual void visit( TraitDecl *aggregateDecl );
     45
     46                virtual void visit( CompoundStmt *compoundStmt );
     47                virtual void visit( IfStmt *ifStmt );
     48                virtual void visit( ForStmt *forStmt );
     49                virtual void visit( CatchStmt *catchStmt );
     50
     51                virtual void visit( ApplicationExpr *applicationExpr );
     52                virtual void visit( UntypedExpr *untypedExpr );
     53                virtual void visit( NameExpr *nameExpr );
     54                virtual void visit( CastExpr *castExpr );
     55                virtual void visit( AddressExpr *addressExpr );
     56                virtual void visit( LabelAddressExpr *labAddressExpr );
     57                virtual void visit( UntypedMemberExpr *memberExpr );
     58                virtual void visit( MemberExpr *memberExpr );
     59                virtual void visit( VariableExpr *variableExpr );
     60                virtual void visit( ConstantExpr *constantExpr );
     61                virtual void visit( SizeofExpr *sizeofExpr );
     62                virtual void visit( AlignofExpr *alignofExpr );
     63                virtual void visit( UntypedOffsetofExpr *offsetofExpr );
     64                virtual void visit( OffsetofExpr *offsetofExpr );
     65                virtual void visit( OffsetPackExpr *offsetPackExpr );
     66                virtual void visit( AttrExpr *attrExpr );
     67                virtual void visit( LogicalExpr *logicalExpr );
     68                virtual void visit( ConditionalExpr *conditionalExpr );
     69                virtual void visit( CommaExpr *commaExpr );
     70                virtual void visit( TypeExpr *typeExpr );
     71                virtual void visit( AsmExpr *asmExpr );
     72                virtual void visit( ImplicitCopyCtorExpr *impCpCtorExpr );
     73                virtual void visit( ConstructorExpr * ctorExpr );
     74                virtual void visit( CompoundLiteralExpr *compLitExpr );
     75                virtual void visit( RangeExpr *rangeExpr );
     76                virtual void visit( UntypedTupleExpr *tupleExpr );
     77                virtual void visit( TupleExpr *tupleExpr );
     78                virtual void visit( TupleIndexExpr *tupleExpr );
     79                virtual void visit( TupleAssignExpr *tupleExpr );
     80                virtual void visit( StmtExpr * stmtExpr );
     81                virtual void visit( UniqueExpr * uniqueExpr );
     82
     83                virtual void visit( TraitInstType *contextInst );
     84                virtual void visit( StructInstType *contextInst );
     85                virtual void visit( UnionInstType *contextInst );
    3586
    3687                // when using an indexer manually (e.g., within a mutator traversal), it is necessary to tell the indexer
     
    53104
    54105                void print( std::ostream &os, int indent = 0 ) const;
    55 
     106          private:
    56107                /// looks up a specific mangled ID at the given scope
    57108                DeclarationWithType *lookupIdAtScope( const std::string &id, const std::string &mangleName, unsigned long scope ) const;
     
    76127                void addTrait( TraitDecl *decl );
    77128
    78           private:
    79129                struct Impl;
    80130
  • src/SymTab/Validate.cc

    r8024bc8 red235b6  
    123123
    124124        /// Associates forward declarations of aggregates with their definitions
    125         struct LinkReferenceToTypes final : public WithIndexer {
    126                 LinkReferenceToTypes( const Indexer *indexer );
    127                 void postvisit( TypeInstType *typeInst );
    128 
    129                 void postvisit( EnumInstType *enumInst );
    130                 void postvisit( StructInstType *structInst );
    131                 void postvisit( UnionInstType *unionInst );
    132                 void postvisit( TraitInstType *traitInst );
    133 
    134                 void postvisit( EnumDecl *enumDecl );
    135                 void postvisit( StructDecl *structDecl );
    136                 void postvisit( UnionDecl *unionDecl );
    137                 void postvisit( TraitDecl * traitDecl );
     125        class LinkReferenceToTypes final : public Indexer {
     126                typedef Indexer Parent;
     127          public:
     128                LinkReferenceToTypes( bool doDebug, const Indexer *indexer );
     129                using Parent::visit;
     130                void visit( TypeInstType *typeInst ) final;
     131
     132                void visit( EnumInstType *enumInst ) final;
     133                void visit( StructInstType *structInst ) final;
     134                void visit( UnionInstType *unionInst ) final;
     135                void visit( TraitInstType *traitInst ) final;
     136
     137                void visit( EnumDecl *enumDecl ) final;
     138                void visit( StructDecl *structDecl ) final;
     139                void visit( UnionDecl *unionDecl ) final;
     140                void visit( TraitDecl * traitDecl ) final;
    138141
    139142          private:
    140                 const Indexer *local_indexer;
     143                const Indexer *indexer;
    141144
    142145                typedef std::map< std::string, std::list< EnumInstType * > > ForwardEnumsType;
     
    149152
    150153        /// Replaces array and function types in forall lists by appropriate pointer type and assigns each Object and Function declaration a unique ID.
    151         struct ForallPointerDecay final {
    152                 void previsit( ObjectDecl *object );
    153                 void previsit( FunctionDecl *func );
     154        class ForallPointerDecay final : public Indexer {
     155                typedef Indexer Parent;
     156          public:
     157                using Parent::visit;
     158                ForallPointerDecay( const Indexer *indexer );
     159
     160                virtual void visit( ObjectDecl *object ) override;
     161                virtual void visit( FunctionDecl *func ) override;
     162
     163                const Indexer *indexer;
    154164        };
    155165
     
    253263        };
    254264
    255         void validate( std::list< Declaration * > &translationUnit, __attribute__((unused)) bool doDebug ) {
     265        void validate( std::list< Declaration * > &translationUnit, bool doDebug ) {
    256266                PassVisitor<EnumAndPointerDecay> epc;
    257                 PassVisitor<LinkReferenceToTypes> lrt( nullptr );
    258                 PassVisitor<ForallPointerDecay> fpd;
     267                LinkReferenceToTypes lrt( doDebug, 0 );
     268                ForallPointerDecay fpd( 0 );
    259269                PassVisitor<CompoundLiteral> compoundliteral;
    260270                PassVisitor<ValidateGenericParameters> genericParams;
     
    283293        void validateType( Type *type, const Indexer *indexer ) {
    284294                PassVisitor<EnumAndPointerDecay> epc;
    285                 PassVisitor<LinkReferenceToTypes> lrt( indexer );
    286                 PassVisitor<ForallPointerDecay> fpd;
     295                LinkReferenceToTypes lrt( false, indexer );
     296                ForallPointerDecay fpd( indexer );
    287297                type->accept( epc );
    288298                type->accept( lrt );
     
    398408        }
    399409
    400         LinkReferenceToTypes::LinkReferenceToTypes( const Indexer *other_indexer ) {
     410        LinkReferenceToTypes::LinkReferenceToTypes( bool doDebug, const Indexer *other_indexer ) : Indexer( doDebug ) {
    401411                if ( other_indexer ) {
    402                         local_indexer = other_indexer;
     412                        indexer = other_indexer;
    403413                } else {
    404                         local_indexer = &indexer;
    405                 } // if
    406         }
    407 
    408         void LinkReferenceToTypes::postvisit( EnumInstType *enumInst ) {
    409                 EnumDecl *st = local_indexer->lookupEnum( enumInst->get_name() );
     414                        indexer = this;
     415                } // if
     416        }
     417
     418        void LinkReferenceToTypes::visit( EnumInstType *enumInst ) {
     419                Parent::visit( enumInst );
     420                EnumDecl *st = indexer->lookupEnum( enumInst->get_name() );
    410421                // it's not a semantic error if the enum is not found, just an implicit forward declaration
    411422                if ( st ) {
     
    419430        }
    420431
    421         void LinkReferenceToTypes::postvisit( StructInstType *structInst ) {
    422                 StructDecl *st = local_indexer->lookupStruct( structInst->get_name() );
     432        void LinkReferenceToTypes::visit( StructInstType *structInst ) {
     433                Parent::visit( structInst );
     434                StructDecl *st = indexer->lookupStruct( structInst->get_name() );
    423435                // it's not a semantic error if the struct is not found, just an implicit forward declaration
    424436                if ( st ) {
     
    432444        }
    433445
    434         void LinkReferenceToTypes::postvisit( UnionInstType *unionInst ) {
    435                 UnionDecl *un = local_indexer->lookupUnion( unionInst->get_name() );
     446        void LinkReferenceToTypes::visit( UnionInstType *unionInst ) {
     447                Parent::visit( unionInst );
     448                UnionDecl *un = indexer->lookupUnion( unionInst->get_name() );
    436449                // it's not a semantic error if the union is not found, just an implicit forward declaration
    437450                if ( un ) {
     
    486499        }
    487500
    488         void LinkReferenceToTypes::postvisit( TraitDecl * traitDecl ) {
     501        void LinkReferenceToTypes::visit( TraitDecl * traitDecl ) {
     502                Parent::visit( traitDecl );
     503
    489504                if ( traitDecl->name == "sized" ) {
    490505                        // "sized" is a special trait - flick the sized status on for the type variable
     
    508523        }
    509524
    510         void LinkReferenceToTypes::postvisit( TraitInstType * traitInst ) {
     525        void LinkReferenceToTypes::visit( TraitInstType * traitInst ) {
     526                Parent::visit( traitInst );
    511527                // handle other traits
    512                 TraitDecl *traitDecl = local_indexer->lookupTrait( traitInst->name );
     528                TraitDecl *traitDecl = indexer->lookupTrait( traitInst->name );
    513529                if ( ! traitDecl ) {
    514530                        throw SemanticError( "use of undeclared trait " + traitInst->name );
     
    531547        }
    532548
    533         void LinkReferenceToTypes::postvisit( EnumDecl *enumDecl ) {
     549        void LinkReferenceToTypes::visit( EnumDecl *enumDecl ) {
    534550                // visit enum members first so that the types of self-referencing members are updated properly
     551                Parent::visit( enumDecl );
    535552                if ( ! enumDecl->get_members().empty() ) {
    536553                        ForwardEnumsType::iterator fwds = forwardEnums.find( enumDecl->get_name() );
     
    544561        }
    545562
    546         void LinkReferenceToTypes::postvisit( StructDecl *structDecl ) {
     563        void LinkReferenceToTypes::visit( StructDecl *structDecl ) {
    547564                // visit struct members first so that the types of self-referencing members are updated properly
    548                 // xxx - need to ensure that type parameters match up between forward declarations and definition (most importantly, number of type parameters and their defaults)
     565                // xxx - need to ensure that type parameters match up between forward declarations and definition (most importantly, number of type parameters and and their defaults)
     566                Parent::visit( structDecl );
    549567                if ( ! structDecl->get_members().empty() ) {
    550568                        ForwardStructsType::iterator fwds = forwardStructs.find( structDecl->get_name() );
     
    558576        }
    559577
    560         void LinkReferenceToTypes::postvisit( UnionDecl *unionDecl ) {
     578        void LinkReferenceToTypes::visit( UnionDecl *unionDecl ) {
     579                Parent::visit( unionDecl );
    561580                if ( ! unionDecl->get_members().empty() ) {
    562581                        ForwardUnionsType::iterator fwds = forwardUnions.find( unionDecl->get_name() );
     
    570589        }
    571590
    572         void LinkReferenceToTypes::postvisit( TypeInstType *typeInst ) {
    573                 if ( NamedTypeDecl *namedTypeDecl = local_indexer->lookupType( typeInst->get_name() ) ) {
     591        void LinkReferenceToTypes::visit( TypeInstType *typeInst ) {
     592                if ( NamedTypeDecl *namedTypeDecl = lookupType( typeInst->get_name() ) ) {
    574593                        if ( TypeDecl *typeDecl = dynamic_cast< TypeDecl * >( namedTypeDecl ) ) {
    575594                                typeInst->set_isFtype( typeDecl->get_kind() == TypeDecl::Ftype );
    576595                        } // if
     596                } // if
     597        }
     598
     599        ForallPointerDecay::ForallPointerDecay( const Indexer *other_indexer ) :  Indexer( false ) {
     600                if ( other_indexer ) {
     601                        indexer = other_indexer;
     602                } else {
     603                        indexer = this;
    577604                } // if
    578605        }
     
    606633        }
    607634
    608         void ForallPointerDecay::previsit( ObjectDecl *object ) {
     635        void ForallPointerDecay::visit( ObjectDecl *object ) {
    609636                forallFixer( object->get_type() );
    610637                if ( PointerType *pointer = dynamic_cast< PointerType * >( object->get_type() ) ) {
    611638                        forallFixer( pointer->get_base() );
    612639                } // if
     640                Parent::visit( object );
    613641                object->fixUniqueId();
    614642        }
    615643
    616         void ForallPointerDecay::previsit( FunctionDecl *func ) {
     644        void ForallPointerDecay::visit( FunctionDecl *func ) {
    617645                forallFixer( func->get_type() );
     646                Parent::visit( func );
    618647                func->fixUniqueId();
    619648        }
  • src/libcfa/iostream

    r8024bc8 red235b6  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Sep 13 12:53:46 2017
    13 // Update Count     : 138
     12// Last Modified On : Mon Sep 11 09:17:07 2017
     13// Update Count     : 137
    1414//
    1515
    1616#pragma once
    1717
     18#include <uchar.h>
     19#include <wchar.h>
    1820#include "iterator"
    1921
  • src/main.cc

    r8024bc8 red235b6  
    3535#include "CodeTools/DeclStats.h"            // for printDeclStats
    3636#include "CodeTools/TrackLoc.h"             // for fillLocations
    37 #include "Common/PassVisitor.h"
    3837#include "Common/CompilerError.h"           // for CompilerError
    3938#include "Common/SemanticError.h"           // for SemanticError
     
    251250
    252251                if ( expraltp ) {
    253                         PassVisitor<ResolvExpr::AlternativePrinter> printer( cout );
     252                        ResolvExpr::AlternativePrinter printer( cout );
    254253                        acceptAll( translationUnit, printer );
    255254                        return 0;
  • src/prelude/extras.c

    r8024bc8 red235b6  
    1 #include <stddef.h>                                     // size_t, ptrdiff_t
    2 #include <uchar.h>                                      // char16_t, char32_t
    3 #include <wchar.h>                                      // wchar_t
    4 #include <stdlib.h>                                     // malloc, free, exit, atexit, abort
    5 #include <stdio.h>                                      // printf
     1#include <stddef.h>
     2#include <stdlib.h>
     3#include <stdio.h>
  • src/prelude/extras.regx

    r8024bc8 red235b6  
    11typedef.* size_t;
    22typedef.* ptrdiff_t;
    3 typedef.* char16_t;
    4 typedef.* char32_t;
    5 typedef.* wchar_t;
     3extern.* abort\(.*\).*
     4extern.* atexit\(.*\).*
     5extern.* exit\(.*\).*
     6extern.* free\(.*\).*
    67extern.*\*malloc\(.*\).*
    7 extern.* free\(.*\).*
    8 extern.* exit\(.*\).*
    9 extern.* atexit\(.*\).*
    10 extern.* abort\(.*\).*
    118extern.* printf\(.*\).*
  • src/tests/.expect/32/literals.txt

    r8024bc8 red235b6  
    55__attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(signed int __status);
    66extern signed int printf(const char *__restrict __format, ...);
     7union __anonymous0 {
     8    unsigned int __wch;
     9    char __wchb[((unsigned int )4)];
     10};
     11static inline void ___constructor__F_R13u__anonymous0_autogen___1(__attribute__ ((unused)) union __anonymous0 *___dst__R13u__anonymous0_1){
     12}
     13static inline void ___constructor__F_R13u__anonymous013u__anonymous0_autogen___1(union __anonymous0 *___dst__R13u__anonymous0_1, union __anonymous0 ___src__13u__anonymous0_1){
     14    ((void)__builtin_memcpy(((void *)___dst__R13u__anonymous0_1), ((const void *)(&___src__13u__anonymous0_1)), sizeof(union __anonymous0 )));
     15}
     16static inline void ___destructor__F_R13u__anonymous0_autogen___1(__attribute__ ((unused)) union __anonymous0 *___dst__R13u__anonymous0_1){
     17}
     18static inline union __anonymous0 ___operator_assign__F13u__anonymous0_R13u__anonymous013u__anonymous0_autogen___1(union __anonymous0 *___dst__R13u__anonymous0_1, union __anonymous0 ___src__13u__anonymous0_1){
     19    union __anonymous0 ___ret__13u__anonymous0_1;
     20    ((void)__builtin_memcpy(((void *)___dst__R13u__anonymous0_1), ((const void *)(&___src__13u__anonymous0_1)), sizeof(union __anonymous0 )));
     21    ((void)___constructor__F_R13u__anonymous013u__anonymous0_autogen___1((&___ret__13u__anonymous0_1), ___src__13u__anonymous0_1));
     22    return ((union __anonymous0 )___ret__13u__anonymous0_1);
     23}
     24static inline void ___constructor__F_R13u__anonymous0Ui_autogen___1(__attribute__ ((unused)) union __anonymous0 *___dst__R13u__anonymous0_1, unsigned int __src__Ui_1){
     25    ((void)__builtin_memcpy(((void *)___dst__R13u__anonymous0_1), ((const void *)(&__src__Ui_1)), sizeof(unsigned int )));
     26}
     27struct __anonymous1 {
     28    signed int __count;
     29    union __anonymous0 __value;
     30};
     31struct __anonymous1;
     32struct __anonymous1;
     33__attribute__ ((__nothrow__,__leaf__)) extern unsigned int mbrtoc16(unsigned short int *__restrict __pc16, const char *__restrict __s, unsigned int __n, struct __anonymous1 *__restrict __p);
     34__attribute__ ((__nothrow__,__leaf__)) extern unsigned int c16rtomb(char *__restrict __s, unsigned short int __c16, struct __anonymous1 *__restrict __ps);
     35__attribute__ ((__nothrow__,__leaf__)) extern unsigned int mbrtoc32(unsigned int *__restrict __pc32, const char *__restrict __s, unsigned int __n, struct __anonymous1 *__restrict __p);
     36__attribute__ ((__nothrow__,__leaf__)) extern unsigned int c32rtomb(char *__restrict __s, unsigned int __c32, struct __anonymous1 *__restrict __ps);
     37struct _IO_FILE;
     38struct _IO_FILE;
     39struct _IO_FILE;
     40struct tm;
     41__attribute__ ((__nothrow__,__leaf__,__nonnull__(1, 2))) extern signed long int *wcscpy(signed long int *__restrict __dest, const signed long int *__restrict __src);
     42__attribute__ ((__nothrow__,__leaf__,__nonnull__(1, 2))) extern signed long int *wcsncpy(signed long int *__restrict __dest, const signed long int *__restrict __src, unsigned int __n);
     43__attribute__ ((__nothrow__,__leaf__,__nonnull__(1, 2))) extern signed long int *wcscat(signed long int *__restrict __dest, const signed long int *__restrict __src);
     44__attribute__ ((__nothrow__,__leaf__,__nonnull__(1, 2))) extern signed long int *wcsncat(signed long int *__restrict __dest, const signed long int *__restrict __src, unsigned int __n);
     45__attribute__ ((__nothrow__,__leaf__,__pure__,__nonnull__(1, 2))) extern signed int wcscmp(const signed long int *__s1, const signed long int *__s2);
     46__attribute__ ((__nothrow__,__leaf__,__pure__,__nonnull__(1, 2))) extern signed int wcsncmp(const signed long int *__s1, const signed long int *__s2, unsigned int __n);
     47__attribute__ ((__nothrow__,__leaf__)) extern signed int wcscasecmp(const signed long int *__s1, const signed long int *__s2);
     48__attribute__ ((__nothrow__,__leaf__)) extern signed int wcsncasecmp(const signed long int *__s1, const signed long int *__s2, unsigned int __n);
     49struct __locale_struct {
     50    struct __locale_data *__locales[((unsigned int )13)];
     51    const unsigned short int *__ctype_b;
     52    const signed int *__ctype_tolower;
     53    const signed int *__ctype_toupper;
     54    const char *__names[((unsigned int )13)];
     55};
     56static inline void ___constructor__F_R16s__locale_struct_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1);
     57static inline void ___constructor__F_R16s__locale_struct16s__locale_struct_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1, struct __locale_struct ___src__16s__locale_struct_1);
     58static inline void ___destructor__F_R16s__locale_struct_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1);
     59static inline struct __locale_struct ___operator_assign__F16s__locale_struct_R16s__locale_struct16s__locale_struct_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1, struct __locale_struct ___src__16s__locale_struct_1);
     60static inline void ___constructor__F_R16s__locale_struct_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1){
     61    {
     62        signed int _index0 = ((signed int )0);
     63        for (;(_index0<13);((void)(++_index0))) {
     64            ((void)((*((struct __locale_data **)(&(*___dst__R16s__locale_struct_1).__locales[_index0])))) /* ?{} */);
     65        }
     66
     67    }
     68    ((void)((*___dst__R16s__locale_struct_1).__ctype_b) /* ?{} */);
     69    ((void)((*___dst__R16s__locale_struct_1).__ctype_tolower) /* ?{} */);
     70    ((void)((*___dst__R16s__locale_struct_1).__ctype_toupper) /* ?{} */);
     71    {
     72        signed int _index1 = ((signed int )0);
     73        for (;(_index1<13);((void)(++_index1))) {
     74            ((void)((*((const char **)(&(*___dst__R16s__locale_struct_1).__names[_index1])))) /* ?{} */);
     75        }
     76
     77    }
     78}
     79static inline void ___constructor__F_R16s__locale_struct16s__locale_struct_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1, struct __locale_struct ___src__16s__locale_struct_1){
     80    {
     81        signed int _index2 = ((signed int )0);
     82        for (;(_index2<13);((void)(++_index2))) {
     83            ((void)((*((struct __locale_data **)(&(*___dst__R16s__locale_struct_1).__locales[_index2])))=___src__16s__locale_struct_1.__locales[_index2]) /* ?{} */);
     84        }
     85
     86    }
     87    ((void)((*___dst__R16s__locale_struct_1).__ctype_b=___src__16s__locale_struct_1.__ctype_b) /* ?{} */);
     88    ((void)((*___dst__R16s__locale_struct_1).__ctype_tolower=___src__16s__locale_struct_1.__ctype_tolower) /* ?{} */);
     89    ((void)((*___dst__R16s__locale_struct_1).__ctype_toupper=___src__16s__locale_struct_1.__ctype_toupper) /* ?{} */);
     90    {
     91        signed int _index3 = ((signed int )0);
     92        for (;(_index3<13);((void)(++_index3))) {
     93            ((void)((*((const char **)(&(*___dst__R16s__locale_struct_1).__names[_index3])))=___src__16s__locale_struct_1.__names[_index3]) /* ?{} */);
     94        }
     95
     96    }
     97}
     98static inline void ___destructor__F_R16s__locale_struct_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1){
     99    {
     100        signed int _index4 = ((signed int )(13-1));
     101        for (;(_index4>=0);((void)(--_index4))) {
     102            ((void)((*((const char **)(&(*___dst__R16s__locale_struct_1).__names[_index4])))) /* ^?{} */);
     103        }
     104
     105    }
     106    ((void)((*___dst__R16s__locale_struct_1).__ctype_toupper) /* ^?{} */);
     107    ((void)((*___dst__R16s__locale_struct_1).__ctype_tolower) /* ^?{} */);
     108    ((void)((*___dst__R16s__locale_struct_1).__ctype_b) /* ^?{} */);
     109    {
     110        signed int _index5 = ((signed int )(13-1));
     111        for (;(_index5>=0);((void)(--_index5))) {
     112            ((void)((*((struct __locale_data **)(&(*___dst__R16s__locale_struct_1).__locales[_index5])))) /* ^?{} */);
     113        }
     114
     115    }
     116}
     117static inline struct __locale_struct ___operator_assign__F16s__locale_struct_R16s__locale_struct16s__locale_struct_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1, struct __locale_struct ___src__16s__locale_struct_1){
     118    struct __locale_struct ___ret__16s__locale_struct_1;
     119    {
     120        signed int _index6 = ((signed int )0);
     121        for (;(_index6<13);((void)(++_index6))) {
     122            ((void)((*___dst__R16s__locale_struct_1).__locales[_index6]=___src__16s__locale_struct_1.__locales[_index6]));
     123        }
     124
     125    }
     126
     127    ((void)((*___dst__R16s__locale_struct_1).__ctype_b=___src__16s__locale_struct_1.__ctype_b));
     128    ((void)((*___dst__R16s__locale_struct_1).__ctype_tolower=___src__16s__locale_struct_1.__ctype_tolower));
     129    ((void)((*___dst__R16s__locale_struct_1).__ctype_toupper=___src__16s__locale_struct_1.__ctype_toupper));
     130    {
     131        signed int _index7 = ((signed int )0);
     132        for (;(_index7<13);((void)(++_index7))) {
     133            ((void)((*___dst__R16s__locale_struct_1).__names[_index7]=___src__16s__locale_struct_1.__names[_index7]));
     134        }
     135
     136    }
     137
     138    ((void)___constructor__F_R16s__locale_struct16s__locale_struct_autogen___1((&___ret__16s__locale_struct_1), ___src__16s__locale_struct_1));
     139    return ((struct __locale_struct )___ret__16s__locale_struct_1);
     140}
     141static inline void ___constructor__F_R16s__locale_structA0P14s__locale_data_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1, struct __locale_data *____locales__A0P14s__locale_data_1[((unsigned int )13)]){
     142    {
     143        signed int _index8 = ((signed int )0);
     144        for (;(_index8<13);((void)(++_index8))) {
     145            ((void)((*((struct __locale_data **)(&(*___dst__R16s__locale_struct_1).__locales[_index8])))=____locales__A0P14s__locale_data_1[_index8]) /* ?{} */);
     146        }
     147
     148    }
     149    ((void)((*___dst__R16s__locale_struct_1).__ctype_b) /* ?{} */);
     150    ((void)((*___dst__R16s__locale_struct_1).__ctype_tolower) /* ?{} */);
     151    ((void)((*___dst__R16s__locale_struct_1).__ctype_toupper) /* ?{} */);
     152    {
     153        signed int _index9 = ((signed int )0);
     154        for (;(_index9<13);((void)(++_index9))) {
     155            ((void)((*((const char **)(&(*___dst__R16s__locale_struct_1).__names[_index9])))) /* ?{} */);
     156        }
     157
     158    }
     159}
     160static inline void ___constructor__F_R16s__locale_structA0P14s__locale_dataPCUs_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1, struct __locale_data *____locales__A0P14s__locale_data_1[((unsigned int )13)], const unsigned short int *____ctype_b__PCUs_1){
     161    {
     162        signed int _index10 = ((signed int )0);
     163        for (;(_index10<13);((void)(++_index10))) {
     164            ((void)((*((struct __locale_data **)(&(*___dst__R16s__locale_struct_1).__locales[_index10])))=____locales__A0P14s__locale_data_1[_index10]) /* ?{} */);
     165        }
     166
     167    }
     168    ((void)((*___dst__R16s__locale_struct_1).__ctype_b=____ctype_b__PCUs_1) /* ?{} */);
     169    ((void)((*___dst__R16s__locale_struct_1).__ctype_tolower) /* ?{} */);
     170    ((void)((*___dst__R16s__locale_struct_1).__ctype_toupper) /* ?{} */);
     171    {
     172        signed int _index11 = ((signed int )0);
     173        for (;(_index11<13);((void)(++_index11))) {
     174            ((void)((*((const char **)(&(*___dst__R16s__locale_struct_1).__names[_index11])))) /* ?{} */);
     175        }
     176
     177    }
     178}
     179static inline void ___constructor__F_R16s__locale_structA0P14s__locale_dataPCUsPCi_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1, struct __locale_data *____locales__A0P14s__locale_data_1[((unsigned int )13)], const unsigned short int *____ctype_b__PCUs_1, const signed int *____ctype_tolower__PCi_1){
     180    {
     181        signed int _index12 = ((signed int )0);
     182        for (;(_index12<13);((void)(++_index12))) {
     183            ((void)((*((struct __locale_data **)(&(*___dst__R16s__locale_struct_1).__locales[_index12])))=____locales__A0P14s__locale_data_1[_index12]) /* ?{} */);
     184        }
     185
     186    }
     187    ((void)((*___dst__R16s__locale_struct_1).__ctype_b=____ctype_b__PCUs_1) /* ?{} */);
     188    ((void)((*___dst__R16s__locale_struct_1).__ctype_tolower=____ctype_tolower__PCi_1) /* ?{} */);
     189    ((void)((*___dst__R16s__locale_struct_1).__ctype_toupper) /* ?{} */);
     190    {
     191        signed int _index13 = ((signed int )0);
     192        for (;(_index13<13);((void)(++_index13))) {
     193            ((void)((*((const char **)(&(*___dst__R16s__locale_struct_1).__names[_index13])))) /* ?{} */);
     194        }
     195
     196    }
     197}
     198static inline void ___constructor__F_R16s__locale_structA0P14s__locale_dataPCUsPCiPCi_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1, struct __locale_data *____locales__A0P14s__locale_data_1[((unsigned int )13)], const unsigned short int *____ctype_b__PCUs_1, const signed int *____ctype_tolower__PCi_1, const signed int *____ctype_toupper__PCi_1){
     199    {
     200        signed int _index14 = ((signed int )0);
     201        for (;(_index14<13);((void)(++_index14))) {
     202            ((void)((*((struct __locale_data **)(&(*___dst__R16s__locale_struct_1).__locales[_index14])))=____locales__A0P14s__locale_data_1[_index14]) /* ?{} */);
     203        }
     204
     205    }
     206    ((void)((*___dst__R16s__locale_struct_1).__ctype_b=____ctype_b__PCUs_1) /* ?{} */);
     207    ((void)((*___dst__R16s__locale_struct_1).__ctype_tolower=____ctype_tolower__PCi_1) /* ?{} */);
     208    ((void)((*___dst__R16s__locale_struct_1).__ctype_toupper=____ctype_toupper__PCi_1) /* ?{} */);
     209    {
     210        signed int _index15 = ((signed int )0);
     211        for (;(_index15<13);((void)(++_index15))) {
     212            ((void)((*((const char **)(&(*___dst__R16s__locale_struct_1).__names[_index15])))) /* ?{} */);
     213        }
     214
     215    }
     216}
     217static inline void ___constructor__F_R16s__locale_structA0P14s__locale_dataPCUsPCiPCiA0PCc_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1, struct __locale_data *____locales__A0P14s__locale_data_1[((unsigned int )13)], const unsigned short int *____ctype_b__PCUs_1, const signed int *____ctype_tolower__PCi_1, const signed int *____ctype_toupper__PCi_1, const char *____names__A0PCc_1[((unsigned int )13)]){
     218    {
     219        signed int _index16 = ((signed int )0);
     220        for (;(_index16<13);((void)(++_index16))) {
     221            ((void)((*((struct __locale_data **)(&(*___dst__R16s__locale_struct_1).__locales[_index16])))=____locales__A0P14s__locale_data_1[_index16]) /* ?{} */);
     222        }
     223
     224    }
     225    ((void)((*___dst__R16s__locale_struct_1).__ctype_b=____ctype_b__PCUs_1) /* ?{} */);
     226    ((void)((*___dst__R16s__locale_struct_1).__ctype_tolower=____ctype_tolower__PCi_1) /* ?{} */);
     227    ((void)((*___dst__R16s__locale_struct_1).__ctype_toupper=____ctype_toupper__PCi_1) /* ?{} */);
     228    {
     229        signed int _index17 = ((signed int )0);
     230        for (;(_index17<13);((void)(++_index17))) {
     231            ((void)((*((const char **)(&(*___dst__R16s__locale_struct_1).__names[_index17])))=____names__A0PCc_1[_index17]) /* ?{} */);
     232        }
     233
     234    }
     235}
     236struct __locale_struct;
     237struct __locale_struct;
     238__attribute__ ((__nothrow__,__leaf__)) extern signed int wcscasecmp_l(const signed long int *__s1, const signed long int *__s2, struct __locale_struct *__loc);
     239__attribute__ ((__nothrow__,__leaf__)) extern signed int wcsncasecmp_l(const signed long int *__s1, const signed long int *__s2, unsigned int __n, struct __locale_struct *__loc);
     240__attribute__ ((__nothrow__,__leaf__)) extern signed int wcscoll(const signed long int *__s1, const signed long int *__s2);
     241__attribute__ ((__nothrow__,__leaf__)) extern unsigned int wcsxfrm(signed long int *__restrict __s1, const signed long int *__restrict __s2, unsigned int __n);
     242__attribute__ ((__nothrow__,__leaf__)) extern signed int wcscoll_l(const signed long int *__s1, const signed long int *__s2, struct __locale_struct *__loc);
     243__attribute__ ((__nothrow__,__leaf__)) extern unsigned int wcsxfrm_l(signed long int *__s1, const signed long int *__s2, unsigned int __n, struct __locale_struct *__loc);
     244__attribute__ ((__nothrow__,__leaf__,__malloc__)) extern signed long int *wcsdup(const signed long int *__s);
     245__attribute__ ((__nothrow__,__leaf__,__pure__)) extern signed long int *wcschr(const signed long int *__wcs, signed long int __wc);
     246__attribute__ ((__nothrow__,__leaf__,__pure__)) extern signed long int *wcsrchr(const signed long int *__wcs, signed long int __wc);
     247__attribute__ ((__nothrow__,__leaf__,__pure__)) extern unsigned int wcscspn(const signed long int *__wcs, const signed long int *__reject);
     248__attribute__ ((__nothrow__,__leaf__,__pure__)) extern unsigned int wcsspn(const signed long int *__wcs, const signed long int *__accept);
     249__attribute__ ((__nothrow__,__leaf__,__pure__)) extern signed long int *wcspbrk(const signed long int *__wcs, const signed long int *__accept);
     250__attribute__ ((__nothrow__,__leaf__,__pure__)) extern signed long int *wcsstr(const signed long int *__haystack, const signed long int *__needle);
     251__attribute__ ((__nothrow__,__leaf__)) extern signed long int *wcstok(signed long int *__restrict __s, const signed long int *__restrict __delim, signed long int **__restrict __ptr);
     252__attribute__ ((__nothrow__,__leaf__,__pure__)) extern unsigned int wcslen(const signed long int *__s);
     253__attribute__ ((__nothrow__,__leaf__,__pure__)) extern unsigned int wcsnlen(const signed long int *__s, unsigned int __maxlen);
     254__attribute__ ((__nothrow__,__leaf__,__pure__)) extern signed long int *wmemchr(const signed long int *__s, signed long int __c, unsigned int __n);
     255__attribute__ ((__nothrow__,__leaf__,__pure__)) extern signed int wmemcmp(const signed long int *__s1, const signed long int *__s2, unsigned int __n);
     256__attribute__ ((__nothrow__,__leaf__)) extern signed long int *wmemcpy(signed long int *__restrict __s1, const signed long int *__restrict __s2, unsigned int __n);
     257__attribute__ ((__nothrow__,__leaf__)) extern signed long int *wmemmove(signed long int *__s1, const signed long int *__s2, unsigned int __n);
     258__attribute__ ((__nothrow__,__leaf__)) extern signed long int *wmemset(signed long int *__s, signed long int __c, unsigned int __n);
     259__attribute__ ((__nothrow__,__leaf__)) extern unsigned int btowc(signed int __c);
     260__attribute__ ((__nothrow__,__leaf__)) extern signed int wctob(unsigned int __c);
     261__attribute__ ((__nothrow__,__leaf__,__pure__)) extern signed int mbsinit(const struct __anonymous1 *__ps);
     262__attribute__ ((__nothrow__,__leaf__)) extern unsigned int mbrtowc(signed long int *__restrict __pwc, const char *__restrict __s, unsigned int __n, struct __anonymous1 *__restrict __p);
     263__attribute__ ((__nothrow__,__leaf__)) extern unsigned int wcrtomb(char *__restrict __s, signed long int __wc, struct __anonymous1 *__restrict __ps);
     264__attribute__ ((__nothrow__,__leaf__)) extern unsigned int __mbrlen(const char *__restrict __s, unsigned int __n, struct __anonymous1 *__restrict __ps);
     265__attribute__ ((__nothrow__,__leaf__)) extern unsigned int mbrlen(const char *__restrict __s, unsigned int __n, struct __anonymous1 *__restrict __ps);
     266__attribute__ ((__nothrow__,__leaf__)) extern unsigned int mbsrtowcs(signed long int *__restrict __dst, const char **__restrict __src, unsigned int __len, struct __anonymous1 *__restrict __ps);
     267__attribute__ ((__nothrow__,__leaf__)) extern unsigned int wcsrtombs(char *__restrict __dst, const signed long int **__restrict __src, unsigned int __len, struct __anonymous1 *__restrict __ps);
     268__attribute__ ((__nothrow__,__leaf__)) extern unsigned int mbsnrtowcs(signed long int *__restrict __dst, const char **__restrict __src, unsigned int __nmc, unsigned int __len, struct __anonymous1 *__restrict __ps);
     269__attribute__ ((__nothrow__,__leaf__)) extern unsigned int wcsnrtombs(char *__restrict __dst, const signed long int **__restrict __src, unsigned int __nwc, unsigned int __len, struct __anonymous1 *__restrict __ps);
     270__attribute__ ((__nothrow__,__leaf__)) extern double wcstod(const signed long int *__restrict __nptr, signed long int **__restrict __endptr);
     271__attribute__ ((__nothrow__,__leaf__)) extern float wcstof(const signed long int *__restrict __nptr, signed long int **__restrict __endptr);
     272__attribute__ ((__nothrow__,__leaf__)) extern long double wcstold(const signed long int *__restrict __nptr, signed long int **__restrict __endptr);
     273__attribute__ ((__nothrow__,__leaf__)) extern signed long int wcstol(const signed long int *__restrict __nptr, signed long int **__restrict __endptr, signed int __base);
     274__attribute__ ((__nothrow__,__leaf__)) extern unsigned long int wcstoul(const signed long int *__restrict __nptr, signed long int **__restrict __endptr, signed int __base);
     275__extension__ __attribute__ ((__nothrow__,__leaf__)) extern signed long long int wcstoll(const signed long int *__restrict __nptr, signed long int **__restrict __endptr, signed int __base);
     276__extension__ __attribute__ ((__nothrow__,__leaf__)) extern unsigned long long int wcstoull(const signed long int *__restrict __nptr, signed long int **__restrict __endptr, signed int __base);
     277__attribute__ ((__nothrow__,__leaf__)) extern signed long int *wcpcpy(signed long int *__restrict __dest, const signed long int *__restrict __src);
     278__attribute__ ((__nothrow__,__leaf__)) extern signed long int *wcpncpy(signed long int *__restrict __dest, const signed long int *__restrict __src, unsigned int __n);
     279__attribute__ ((__nothrow__,__leaf__)) extern struct _IO_FILE *open_wmemstream(signed long int **__bufloc, unsigned int *__sizeloc);
     280__attribute__ ((__nothrow__,__leaf__)) extern signed int fwide(struct _IO_FILE *__fp, signed int __mode);
     281extern signed int fwprintf(struct _IO_FILE *__restrict __stream, const signed long int *__restrict __format, ...);
     282extern signed int wprintf(const signed long int *__restrict __format, ...);
     283__attribute__ ((__nothrow__,__leaf__)) extern signed int swprintf(signed long int *__restrict __s, unsigned int __n, const signed long int *__restrict __format, ...);
     284extern signed int vfwprintf(struct _IO_FILE *__restrict __s, const signed long int *__restrict __format, __builtin_va_list __arg);
     285extern signed int vwprintf(const signed long int *__restrict __format, __builtin_va_list __arg);
     286__attribute__ ((__nothrow__,__leaf__)) extern signed int vswprintf(signed long int *__restrict __s, unsigned int __n, const signed long int *__restrict __format, __builtin_va_list __arg);
     287extern signed int fwscanf(struct _IO_FILE *__restrict __stream, const signed long int *__restrict __format, ...);
     288extern signed int wscanf(const signed long int *__restrict __format, ...);
     289__attribute__ ((__nothrow__,__leaf__)) extern signed int swscanf(const signed long int *__restrict __s, const signed long int *__restrict __format, ...);
     290extern signed int fwscanf(struct _IO_FILE *__restrict __stream, const signed long int *__restrict __format, ...) asm ( "" "__isoc99_fwscanf" );
     291extern signed int wscanf(const signed long int *__restrict __format, ...) asm ( "" "__isoc99_wscanf" );
     292__attribute__ ((__nothrow__,__leaf__)) extern signed int swscanf(const signed long int *__restrict __s, const signed long int *__restrict __format, ...) asm ( "" "__isoc99_swscanf" );
     293extern signed int vfwscanf(struct _IO_FILE *__restrict __s, const signed long int *__restrict __format, __builtin_va_list __arg);
     294extern signed int vwscanf(const signed long int *__restrict __format, __builtin_va_list __arg);
     295__attribute__ ((__nothrow__,__leaf__)) extern signed int vswscanf(const signed long int *__restrict __s, const signed long int *__restrict __format, __builtin_va_list __arg);
     296extern signed int vfwscanf(struct _IO_FILE *__restrict __s, const signed long int *__restrict __format, __builtin_va_list __arg) asm ( "" "__isoc99_vfwscanf" );
     297extern signed int vwscanf(const signed long int *__restrict __format, __builtin_va_list __arg) asm ( "" "__isoc99_vwscanf" );
     298__attribute__ ((__nothrow__,__leaf__)) extern signed int vswscanf(const signed long int *__restrict __s, const signed long int *__restrict __format, __builtin_va_list __arg) asm ( "" "__isoc99_vswscanf" );
     299extern unsigned int fgetwc(struct _IO_FILE *__stream);
     300extern unsigned int getwc(struct _IO_FILE *__stream);
     301extern unsigned int getwchar(void);
     302extern unsigned int fputwc(signed long int __wc, struct _IO_FILE *__stream);
     303extern unsigned int putwc(signed long int __wc, struct _IO_FILE *__stream);
     304extern unsigned int putwchar(signed long int __wc);
     305extern signed long int *fgetws(signed long int *__restrict __ws, signed int __n, struct _IO_FILE *__restrict __stream);
     306extern signed int fputws(const signed long int *__restrict __ws, struct _IO_FILE *__restrict __stream);
     307extern unsigned int ungetwc(unsigned int __wc, struct _IO_FILE *__stream);
     308__attribute__ ((__nothrow__,__leaf__)) extern unsigned int wcsftime(signed long int *__restrict __s, unsigned int __maxsize, const signed long int *__restrict __format, const struct tm *__restrict __tp);
    7309void __for_each__A2_0_0_0____operator_assign__PFt0_Rt0t0____constructor__PF_Rt0____constructor__PF_Rt0t0____destructor__PF_Rt0____operator_assign__PFt1_Rt1t1____constructor__PF_Rt1____constructor__PF_Rt1t1____destructor__PF_Rt1____operator_preincr__PFt0_Rt0____operator_predecr__PFt0_Rt0____operator_equal__PFi_t0t0____operator_notequal__PFi_t0t0____operator_deref__PFRt1_t0__F_t0t0PF_t1___1(__attribute__ ((unused)) void (*_adapterF_9telt_type__P)(void (*__anonymous_object0)(), void *__anonymous_object1), __attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object2)(), void *__anonymous_object3), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object4)(), void *__anonymous_object5, void *__anonymous_object6), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object7)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object8), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object9)(), void *__anonymous_object10, void *__anonymous_object11), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object12)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object13, void *__anonymous_object14), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object15)(), void *__anonymous_object16, void *__anonymous_object17), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object18)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object19, void *__anonymous_object20), __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) void *(*___operator_assign__PF14titerator_type_R14titerator_type14titerator_type__1)(void *__anonymous_object21, void *__anonymous_object22), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type__1)(void *__anonymous_object23), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type14titerator_type__1)(void *__anonymous_object24, void *__anonymous_object25), __attribute__ ((unused)) void (*___destructor__PF_R14titerator_type__1)(void *__anonymous_object26), __attribute__ ((unused)) void *(*___operator_assign__PF9telt_type_R9telt_type9telt_type__1)(void *__anonymous_object27, void *__anonymous_object28), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type__1)(void *__anonymous_object29), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type9telt_type__1)(void *__anonymous_object30, void *__anonymous_object31), __attribute__ ((unused)) void (*___destructor__PF_R9telt_type__1)(void *__anonymous_object32), __attribute__ ((unused)) void *(*___operator_preincr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object33), __attribute__ ((unused)) void *(*___operator_predecr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object34), __attribute__ ((unused)) signed int (*___operator_equal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object35, void *__anonymous_object36), __attribute__ ((unused)) signed int (*___operator_notequal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object37, void *__anonymous_object38), __attribute__ ((unused)) void *(*___operator_deref__PFR9telt_type_14titerator_type__1)(void *__anonymous_object39), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void (*__func__PF_9telt_type__1)(void *__anonymous_object40));
    8310void __for_each_reverse__A2_0_0_0____operator_assign__PFt0_Rt0t0____constructor__PF_Rt0____constructor__PF_Rt0t0____destructor__PF_Rt0____operator_assign__PFt1_Rt1t1____constructor__PF_Rt1____constructor__PF_Rt1t1____destructor__PF_Rt1____operator_preincr__PFt0_Rt0____operator_predecr__PFt0_Rt0____operator_equal__PFi_t0t0____operator_notequal__PFi_t0t0____operator_deref__PFRt1_t0__F_t0t0PF_t1___1(__attribute__ ((unused)) void (*_adapterF_9telt_type__P)(void (*__anonymous_object41)(), void *__anonymous_object42), __attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object43)(), void *__anonymous_object44), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object45)(), void *__anonymous_object46, void *__anonymous_object47), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object48)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object49), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object50)(), void *__anonymous_object51, void *__anonymous_object52), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object53)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object54, void *__anonymous_object55), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object56)(), void *__anonymous_object57, void *__anonymous_object58), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object59)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object60, void *__anonymous_object61), __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) void *(*___operator_assign__PF14titerator_type_R14titerator_type14titerator_type__1)(void *__anonymous_object62, void *__anonymous_object63), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type__1)(void *__anonymous_object64), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type14titerator_type__1)(void *__anonymous_object65, void *__anonymous_object66), __attribute__ ((unused)) void (*___destructor__PF_R14titerator_type__1)(void *__anonymous_object67), __attribute__ ((unused)) void *(*___operator_assign__PF9telt_type_R9telt_type9telt_type__1)(void *__anonymous_object68, void *__anonymous_object69), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type__1)(void *__anonymous_object70), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type9telt_type__1)(void *__anonymous_object71, void *__anonymous_object72), __attribute__ ((unused)) void (*___destructor__PF_R9telt_type__1)(void *__anonymous_object73), __attribute__ ((unused)) void *(*___operator_preincr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object74), __attribute__ ((unused)) void *(*___operator_predecr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object75), __attribute__ ((unused)) signed int (*___operator_equal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object76, void *__anonymous_object77), __attribute__ ((unused)) signed int (*___operator_notequal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object78, void *__anonymous_object79), __attribute__ ((unused)) void *(*___operator_deref__PFR9telt_type_14titerator_type__1)(void *__anonymous_object80), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void (*__func__PF_9telt_type__1)(void *__anonymous_object81));
     
    121423struct _Istream_cstrC __cstr__F15s_Istream_cstrC_Pci__1(char *__anonymous_object1283, signed int __size__i_1);
    122424void *___operator_bitor__A0_1_0_0___fail__PFi_Pd0___eof__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___read__PFPd0_Pd0PcUl___ungetc__PFPd0_Pd0c___fmt__PFi_Pd0PCc__FPd0_Pd015s_Istream_cstrC__1(__attribute__ ((unused)) signed int (*__fail__PFi_P7tistype__1)(void *__anonymous_object1284), __attribute__ ((unused)) signed int (*__eof__PFi_P7tistype__1)(void *__anonymous_object1285), __attribute__ ((unused)) void (*__open__PF_P7tistypePCcPCc__1)(void *__is__P7tistype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_P7tistype__1)(void *__is__P7tistype_1), __attribute__ ((unused)) void *(*__read__PFP7tistype_P7tistypePcUl__1)(void *__anonymous_object1286, char *__anonymous_object1287, unsigned long int __anonymous_object1288), __attribute__ ((unused)) void *(*__ungetc__PFP7tistype_P7tistypec__1)(void *__anonymous_object1289, char __anonymous_object1290), __attribute__ ((unused)) signed int (*__fmt__PFi_P7tistypePCc__1)(void *__anonymous_object1291, const char *__fmt__PCc_1, ...), void *__anonymous_object1292, struct _Istream_cstrC __anonymous_object1293);
    123 enum __anonymous0 {
    124     __sepSize__C13e__anonymous0_1 = ((signed int )16),
     425enum __anonymous2 {
     426    __sepSize__C13e__anonymous2_1 = ((signed int )16),
    125427};
    126428struct ofstream {
     
    130432    _Bool __sawNL__b_1;
    131433    const char *__sepCur__PCc_1;
    132     char __separator__A0c_1[((unsigned int )__sepSize__C13e__anonymous0_1)];
    133     char __tupleSeparator__A0c_1[((unsigned int )__sepSize__C13e__anonymous0_1)];
     434    char __separator__A0c_1[((unsigned int )__sepSize__C13e__anonymous2_1)];
     435    char __tupleSeparator__A0c_1[((unsigned int )__sepSize__C13e__anonymous2_1)];
    134436};
    135437static inline void ___constructor__F_R9sofstream_autogen___1(struct ofstream *___dst__R9sofstream_1);
     
    144446    ((void)((*___dst__R9sofstream_1).__sepCur__PCc_1) /* ?{} */);
    145447    {
    146         signed int _index0 = ((signed int )0);
    147         for (;(_index0<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index0))) {
    148             ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[_index0])))) /* ?{} */);
    149         }
    150 
    151     }
    152     {
    153         signed int _index1 = ((signed int )0);
    154         for (;(_index1<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index1))) {
    155             ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[_index1])))) /* ?{} */);
     448        signed int _index18 = ((signed int )0);
     449        for (;(_index18<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index18))) {
     450            ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[_index18])))) /* ?{} */);
     451        }
     452
     453    }
     454    {
     455        signed int _index19 = ((signed int )0);
     456        for (;(_index19<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index19))) {
     457            ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[_index19])))) /* ?{} */);
    156458        }
    157459
     
    165467    ((void)((*___dst__R9sofstream_1).__sepCur__PCc_1=___src__9sofstream_1.__sepCur__PCc_1) /* ?{} */);
    166468    {
    167         signed int _index2 = ((signed int )0);
    168         for (;(_index2<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index2))) {
    169             ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[_index2])))=___src__9sofstream_1.__separator__A0c_1[_index2]) /* ?{} */);
    170         }
    171 
    172     }
    173     {
    174         signed int _index3 = ((signed int )0);
    175         for (;(_index3<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index3))) {
    176             ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[_index3])))=___src__9sofstream_1.__tupleSeparator__A0c_1[_index3]) /* ?{} */);
     469        signed int _index20 = ((signed int )0);
     470        for (;(_index20<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index20))) {
     471            ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[_index20])))=___src__9sofstream_1.__separator__A0c_1[_index20]) /* ?{} */);
     472        }
     473
     474    }
     475    {
     476        signed int _index21 = ((signed int )0);
     477        for (;(_index21<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index21))) {
     478            ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[_index21])))=___src__9sofstream_1.__tupleSeparator__A0c_1[_index21]) /* ?{} */);
    177479        }
    178480
     
    181483static inline void ___destructor__F_R9sofstream_autogen___1(struct ofstream *___dst__R9sofstream_1){
    182484    {
    183         signed int _index4 = ((signed int )(((signed int )__sepSize__C13e__anonymous0_1)-1));
    184         for (;(_index4>=0);((void)(--_index4))) {
    185             ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[_index4])))) /* ^?{} */);
    186         }
    187 
    188     }
    189     {
    190         signed int _index5 = ((signed int )(((signed int )__sepSize__C13e__anonymous0_1)-1));
    191         for (;(_index5>=0);((void)(--_index5))) {
    192             ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[_index5])))) /* ^?{} */);
     485        signed int _index22 = ((signed int )(((signed int )__sepSize__C13e__anonymous2_1)-1));
     486        for (;(_index22>=0);((void)(--_index22))) {
     487            ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[_index22])))) /* ^?{} */);
     488        }
     489
     490    }
     491    {
     492        signed int _index23 = ((signed int )(((signed int )__sepSize__C13e__anonymous2_1)-1));
     493        for (;(_index23>=0);((void)(--_index23))) {
     494            ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[_index23])))) /* ^?{} */);
    193495        }
    194496
     
    208510    ((void)((*___dst__R9sofstream_1).__sepCur__PCc_1=___src__9sofstream_1.__sepCur__PCc_1));
    209511    {
    210         signed int _index6 = ((signed int )0);
    211         for (;(_index6<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index6))) {
    212             ((void)((*___dst__R9sofstream_1).__separator__A0c_1[_index6]=___src__9sofstream_1.__separator__A0c_1[_index6]));
    213         }
    214 
    215     }
    216 
    217     {
    218         signed int _index7 = ((signed int )0);
    219         for (;(_index7<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index7))) {
    220             ((void)((*___dst__R9sofstream_1).__tupleSeparator__A0c_1[_index7]=___src__9sofstream_1.__tupleSeparator__A0c_1[_index7]));
     512        signed int _index24 = ((signed int )0);
     513        for (;(_index24<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index24))) {
     514            ((void)((*___dst__R9sofstream_1).__separator__A0c_1[_index24]=___src__9sofstream_1.__separator__A0c_1[_index24]));
     515        }
     516
     517    }
     518
     519    {
     520        signed int _index25 = ((signed int )0);
     521        for (;(_index25<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index25))) {
     522            ((void)((*___dst__R9sofstream_1).__tupleSeparator__A0c_1[_index25]=___src__9sofstream_1.__tupleSeparator__A0c_1[_index25]));
    221523        }
    222524
     
    233535    ((void)((*___dst__R9sofstream_1).__sepCur__PCc_1) /* ?{} */);
    234536    {
    235         signed int _index8 = ((signed int )0);
    236         for (;(_index8<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index8))) {
    237             ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[_index8])))) /* ?{} */);
    238         }
    239 
    240     }
    241     {
    242         signed int _index9 = ((signed int )0);
    243         for (;(_index9<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index9))) {
    244             ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[_index9])))) /* ?{} */);
     537        signed int _index26 = ((signed int )0);
     538        for (;(_index26<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index26))) {
     539            ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[_index26])))) /* ?{} */);
     540        }
     541
     542    }
     543    {
     544        signed int _index27 = ((signed int )0);
     545        for (;(_index27<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index27))) {
     546            ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[_index27])))) /* ?{} */);
    245547        }
    246548
     
    254556    ((void)((*___dst__R9sofstream_1).__sepCur__PCc_1) /* ?{} */);
    255557    {
    256         signed int _index10 = ((signed int )0);
    257         for (;(_index10<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index10))) {
    258             ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[_index10])))) /* ?{} */);
    259         }
    260 
    261     }
    262     {
    263         signed int _index11 = ((signed int )0);
    264         for (;(_index11<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index11))) {
    265             ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[_index11])))) /* ?{} */);
     558        signed int _index28 = ((signed int )0);
     559        for (;(_index28<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index28))) {
     560            ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[_index28])))) /* ?{} */);
     561        }
     562
     563    }
     564    {
     565        signed int _index29 = ((signed int )0);
     566        for (;(_index29<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index29))) {
     567            ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[_index29])))) /* ?{} */);
    266568        }
    267569
     
    275577    ((void)((*___dst__R9sofstream_1).__sepCur__PCc_1) /* ?{} */);
    276578    {
    277         signed int _index12 = ((signed int )0);
    278         for (;(_index12<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index12))) {
    279             ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[_index12])))) /* ?{} */);
    280         }
    281 
    282     }
    283     {
    284         signed int _index13 = ((signed int )0);
    285         for (;(_index13<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index13))) {
    286             ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[_index13])))) /* ?{} */);
     579        signed int _index30 = ((signed int )0);
     580        for (;(_index30<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index30))) {
     581            ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[_index30])))) /* ?{} */);
     582        }
     583
     584    }
     585    {
     586        signed int _index31 = ((signed int )0);
     587        for (;(_index31<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index31))) {
     588            ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[_index31])))) /* ?{} */);
    287589        }
    288590
     
    296598    ((void)((*___dst__R9sofstream_1).__sepCur__PCc_1) /* ?{} */);
    297599    {
    298         signed int _index14 = ((signed int )0);
    299         for (;(_index14<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index14))) {
    300             ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[_index14])))) /* ?{} */);
    301         }
    302 
    303     }
    304     {
    305         signed int _index15 = ((signed int )0);
    306         for (;(_index15<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index15))) {
    307             ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[_index15])))) /* ?{} */);
     600        signed int _index32 = ((signed int )0);
     601        for (;(_index32<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index32))) {
     602            ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[_index32])))) /* ?{} */);
     603        }
     604
     605    }
     606    {
     607        signed int _index33 = ((signed int )0);
     608        for (;(_index33<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index33))) {
     609            ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[_index33])))) /* ?{} */);
    308610        }
    309611
     
    317619    ((void)((*___dst__R9sofstream_1).__sepCur__PCc_1=__sepCur__PCc_1) /* ?{} */);
    318620    {
    319         signed int _index16 = ((signed int )0);
    320         for (;(_index16<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index16))) {
    321             ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[_index16])))) /* ?{} */);
    322         }
    323 
    324     }
    325     {
    326         signed int _index17 = ((signed int )0);
    327         for (;(_index17<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index17))) {
    328             ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[_index17])))) /* ?{} */);
    329         }
    330 
    331     }
    332 }
    333 static inline void ___constructor__F_R9sofstreamPvbbbPCcA0c_autogen___1(struct ofstream *___dst__R9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1, const char *__sepCur__PCc_1, char __separator__A0c_1[((unsigned int )__sepSize__C13e__anonymous0_1)]){
     621        signed int _index34 = ((signed int )0);
     622        for (;(_index34<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index34))) {
     623            ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[_index34])))) /* ?{} */);
     624        }
     625
     626    }
     627    {
     628        signed int _index35 = ((signed int )0);
     629        for (;(_index35<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index35))) {
     630            ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[_index35])))) /* ?{} */);
     631        }
     632
     633    }
     634}
     635static inline void ___constructor__F_R9sofstreamPvbbbPCcA0c_autogen___1(struct ofstream *___dst__R9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1, const char *__sepCur__PCc_1, char __separator__A0c_1[((unsigned int )__sepSize__C13e__anonymous2_1)]){
    334636    ((void)((*___dst__R9sofstream_1).__file__Pv_1=__file__Pv_1) /* ?{} */);
    335637    ((void)((*___dst__R9sofstream_1).__sepDefault__b_1=__sepDefault__b_1) /* ?{} */);
     
    338640    ((void)((*___dst__R9sofstream_1).__sepCur__PCc_1=__sepCur__PCc_1) /* ?{} */);
    339641    {
    340         signed int _index18 = ((signed int )0);
    341         for (;(_index18<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index18))) {
    342             ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[_index18])))=__separator__A0c_1[_index18]) /* ?{} */);
    343         }
    344 
    345     }
    346     {
    347         signed int _index19 = ((signed int )0);
    348         for (;(_index19<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index19))) {
    349             ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[_index19])))) /* ?{} */);
    350         }
    351 
    352     }
    353 }
    354 static inline void ___constructor__F_R9sofstreamPvbbbPCcA0cA0c_autogen___1(struct ofstream *___dst__R9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1, const char *__sepCur__PCc_1, char __separator__A0c_1[((unsigned int )__sepSize__C13e__anonymous0_1)], char __tupleSeparator__A0c_1[((unsigned int )__sepSize__C13e__anonymous0_1)]){
     642        signed int _index36 = ((signed int )0);
     643        for (;(_index36<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index36))) {
     644            ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[_index36])))=__separator__A0c_1[_index36]) /* ?{} */);
     645        }
     646
     647    }
     648    {
     649        signed int _index37 = ((signed int )0);
     650        for (;(_index37<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index37))) {
     651            ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[_index37])))) /* ?{} */);
     652        }
     653
     654    }
     655}
     656static inline void ___constructor__F_R9sofstreamPvbbbPCcA0cA0c_autogen___1(struct ofstream *___dst__R9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1, const char *__sepCur__PCc_1, char __separator__A0c_1[((unsigned int )__sepSize__C13e__anonymous2_1)], char __tupleSeparator__A0c_1[((unsigned int )__sepSize__C13e__anonymous2_1)]){
    355657    ((void)((*___dst__R9sofstream_1).__file__Pv_1=__file__Pv_1) /* ?{} */);
    356658    ((void)((*___dst__R9sofstream_1).__sepDefault__b_1=__sepDefault__b_1) /* ?{} */);
     
    359661    ((void)((*___dst__R9sofstream_1).__sepCur__PCc_1=__sepCur__PCc_1) /* ?{} */);
    360662    {
    361         signed int _index20 = ((signed int )0);
    362         for (;(_index20<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index20))) {
    363             ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[_index20])))=__separator__A0c_1[_index20]) /* ?{} */);
    364         }
    365 
    366     }
    367     {
    368         signed int _index21 = ((signed int )0);
    369         for (;(_index21<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index21))) {
    370             ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[_index21])))=__tupleSeparator__A0c_1[_index21]) /* ?{} */);
     663        signed int _index38 = ((signed int )0);
     664        for (;(_index38<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index38))) {
     665            ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[_index38])))=__separator__A0c_1[_index38]) /* ?{} */);
     666        }
     667
     668    }
     669    {
     670        signed int _index39 = ((signed int )0);
     671        for (;(_index39<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index39))) {
     672            ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[_index39])))=__tupleSeparator__A0c_1[_index39]) /* ?{} */);
    371673        }
    372674
  • src/tests/.expect/64/literals.txt

    r8024bc8 red235b6  
    55__attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(signed int __status);
    66extern signed int printf(const char *__restrict __format, ...);
     7union __anonymous0 {
     8    unsigned int __wch;
     9    char __wchb[((unsigned long int )4)];
     10};
     11static inline void ___constructor__F_R13u__anonymous0_autogen___1(__attribute__ ((unused)) union __anonymous0 *___dst__R13u__anonymous0_1){
     12}
     13static inline void ___constructor__F_R13u__anonymous013u__anonymous0_autogen___1(union __anonymous0 *___dst__R13u__anonymous0_1, union __anonymous0 ___src__13u__anonymous0_1){
     14    ((void)__builtin_memcpy(((void *)___dst__R13u__anonymous0_1), ((const void *)(&___src__13u__anonymous0_1)), sizeof(union __anonymous0 )));
     15}
     16static inline void ___destructor__F_R13u__anonymous0_autogen___1(__attribute__ ((unused)) union __anonymous0 *___dst__R13u__anonymous0_1){
     17}
     18static inline union __anonymous0 ___operator_assign__F13u__anonymous0_R13u__anonymous013u__anonymous0_autogen___1(union __anonymous0 *___dst__R13u__anonymous0_1, union __anonymous0 ___src__13u__anonymous0_1){
     19    union __anonymous0 ___ret__13u__anonymous0_1;
     20    ((void)__builtin_memcpy(((void *)___dst__R13u__anonymous0_1), ((const void *)(&___src__13u__anonymous0_1)), sizeof(union __anonymous0 )));
     21    ((void)___constructor__F_R13u__anonymous013u__anonymous0_autogen___1((&___ret__13u__anonymous0_1), ___src__13u__anonymous0_1));
     22    return ((union __anonymous0 )___ret__13u__anonymous0_1);
     23}
     24static inline void ___constructor__F_R13u__anonymous0Ui_autogen___1(__attribute__ ((unused)) union __anonymous0 *___dst__R13u__anonymous0_1, unsigned int __src__Ui_1){
     25    ((void)__builtin_memcpy(((void *)___dst__R13u__anonymous0_1), ((const void *)(&__src__Ui_1)), sizeof(unsigned int )));
     26}
     27struct __anonymous1 {
     28    signed int __count;
     29    union __anonymous0 __value;
     30};
     31struct __anonymous1;
     32struct __anonymous1;
     33__attribute__ ((__nothrow__,__leaf__)) extern unsigned long int mbrtoc16(unsigned short int *__restrict __pc16, const char *__restrict __s, unsigned long int __n, struct __anonymous1 *__restrict __p);
     34__attribute__ ((__nothrow__,__leaf__)) extern unsigned long int c16rtomb(char *__restrict __s, unsigned short int __c16, struct __anonymous1 *__restrict __ps);
     35__attribute__ ((__nothrow__,__leaf__)) extern unsigned long int mbrtoc32(unsigned int *__restrict __pc32, const char *__restrict __s, unsigned long int __n, struct __anonymous1 *__restrict __p);
     36__attribute__ ((__nothrow__,__leaf__)) extern unsigned long int c32rtomb(char *__restrict __s, unsigned int __c32, struct __anonymous1 *__restrict __ps);
     37struct _IO_FILE;
     38struct _IO_FILE;
     39struct _IO_FILE;
     40struct tm;
     41__attribute__ ((__nothrow__,__leaf__,__nonnull__(1, 2))) extern signed int *wcscpy(signed int *__restrict __dest, const signed int *__restrict __src);
     42__attribute__ ((__nothrow__,__leaf__,__nonnull__(1, 2))) extern signed int *wcsncpy(signed int *__restrict __dest, const signed int *__restrict __src, unsigned long int __n);
     43__attribute__ ((__nothrow__,__leaf__,__nonnull__(1, 2))) extern signed int *wcscat(signed int *__restrict __dest, const signed int *__restrict __src);
     44__attribute__ ((__nothrow__,__leaf__,__nonnull__(1, 2))) extern signed int *wcsncat(signed int *__restrict __dest, const signed int *__restrict __src, unsigned long int __n);
     45__attribute__ ((__nothrow__,__leaf__,__pure__,__nonnull__(1, 2))) extern signed int wcscmp(const signed int *__s1, const signed int *__s2);
     46__attribute__ ((__nothrow__,__leaf__,__pure__,__nonnull__(1, 2))) extern signed int wcsncmp(const signed int *__s1, const signed int *__s2, unsigned long int __n);
     47__attribute__ ((__nothrow__,__leaf__)) extern signed int wcscasecmp(const signed int *__s1, const signed int *__s2);
     48__attribute__ ((__nothrow__,__leaf__)) extern signed int wcsncasecmp(const signed int *__s1, const signed int *__s2, unsigned long int __n);
     49struct __locale_struct {
     50    struct __locale_data *__locales[((unsigned long int )13)];
     51    const unsigned short int *__ctype_b;
     52    const signed int *__ctype_tolower;
     53    const signed int *__ctype_toupper;
     54    const char *__names[((unsigned long int )13)];
     55};
     56static inline void ___constructor__F_R16s__locale_struct_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1);
     57static inline void ___constructor__F_R16s__locale_struct16s__locale_struct_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1, struct __locale_struct ___src__16s__locale_struct_1);
     58static inline void ___destructor__F_R16s__locale_struct_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1);
     59static inline struct __locale_struct ___operator_assign__F16s__locale_struct_R16s__locale_struct16s__locale_struct_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1, struct __locale_struct ___src__16s__locale_struct_1);
     60static inline void ___constructor__F_R16s__locale_struct_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1){
     61    {
     62        signed int _index0 = ((signed int )0);
     63        for (;(_index0<13);((void)(++_index0))) {
     64            ((void)((*((struct __locale_data **)(&(*___dst__R16s__locale_struct_1).__locales[((signed long int )_index0)])))) /* ?{} */);
     65        }
     66
     67    }
     68    ((void)((*___dst__R16s__locale_struct_1).__ctype_b) /* ?{} */);
     69    ((void)((*___dst__R16s__locale_struct_1).__ctype_tolower) /* ?{} */);
     70    ((void)((*___dst__R16s__locale_struct_1).__ctype_toupper) /* ?{} */);
     71    {
     72        signed int _index1 = ((signed int )0);
     73        for (;(_index1<13);((void)(++_index1))) {
     74            ((void)((*((const char **)(&(*___dst__R16s__locale_struct_1).__names[((signed long int )_index1)])))) /* ?{} */);
     75        }
     76
     77    }
     78}
     79static inline void ___constructor__F_R16s__locale_struct16s__locale_struct_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1, struct __locale_struct ___src__16s__locale_struct_1){
     80    {
     81        signed int _index2 = ((signed int )0);
     82        for (;(_index2<13);((void)(++_index2))) {
     83            ((void)((*((struct __locale_data **)(&(*___dst__R16s__locale_struct_1).__locales[((signed long int )_index2)])))=___src__16s__locale_struct_1.__locales[((signed long int )_index2)]) /* ?{} */);
     84        }
     85
     86    }
     87    ((void)((*___dst__R16s__locale_struct_1).__ctype_b=___src__16s__locale_struct_1.__ctype_b) /* ?{} */);
     88    ((void)((*___dst__R16s__locale_struct_1).__ctype_tolower=___src__16s__locale_struct_1.__ctype_tolower) /* ?{} */);
     89    ((void)((*___dst__R16s__locale_struct_1).__ctype_toupper=___src__16s__locale_struct_1.__ctype_toupper) /* ?{} */);
     90    {
     91        signed int _index3 = ((signed int )0);
     92        for (;(_index3<13);((void)(++_index3))) {
     93            ((void)((*((const char **)(&(*___dst__R16s__locale_struct_1).__names[((signed long int )_index3)])))=___src__16s__locale_struct_1.__names[((signed long int )_index3)]) /* ?{} */);
     94        }
     95
     96    }
     97}
     98static inline void ___destructor__F_R16s__locale_struct_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1){
     99    {
     100        signed int _index4 = ((signed int )(13-1));
     101        for (;(_index4>=0);((void)(--_index4))) {
     102            ((void)((*((const char **)(&(*___dst__R16s__locale_struct_1).__names[((signed long int )_index4)])))) /* ^?{} */);
     103        }
     104
     105    }
     106    ((void)((*___dst__R16s__locale_struct_1).__ctype_toupper) /* ^?{} */);
     107    ((void)((*___dst__R16s__locale_struct_1).__ctype_tolower) /* ^?{} */);
     108    ((void)((*___dst__R16s__locale_struct_1).__ctype_b) /* ^?{} */);
     109    {
     110        signed int _index5 = ((signed int )(13-1));
     111        for (;(_index5>=0);((void)(--_index5))) {
     112            ((void)((*((struct __locale_data **)(&(*___dst__R16s__locale_struct_1).__locales[((signed long int )_index5)])))) /* ^?{} */);
     113        }
     114
     115    }
     116}
     117static inline struct __locale_struct ___operator_assign__F16s__locale_struct_R16s__locale_struct16s__locale_struct_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1, struct __locale_struct ___src__16s__locale_struct_1){
     118    struct __locale_struct ___ret__16s__locale_struct_1;
     119    {
     120        signed int _index6 = ((signed int )0);
     121        for (;(_index6<13);((void)(++_index6))) {
     122            ((void)((*___dst__R16s__locale_struct_1).__locales[((signed long int )_index6)]=___src__16s__locale_struct_1.__locales[((signed long int )_index6)]));
     123        }
     124
     125    }
     126
     127    ((void)((*___dst__R16s__locale_struct_1).__ctype_b=___src__16s__locale_struct_1.__ctype_b));
     128    ((void)((*___dst__R16s__locale_struct_1).__ctype_tolower=___src__16s__locale_struct_1.__ctype_tolower));
     129    ((void)((*___dst__R16s__locale_struct_1).__ctype_toupper=___src__16s__locale_struct_1.__ctype_toupper));
     130    {
     131        signed int _index7 = ((signed int )0);
     132        for (;(_index7<13);((void)(++_index7))) {
     133            ((void)((*___dst__R16s__locale_struct_1).__names[((signed long int )_index7)]=___src__16s__locale_struct_1.__names[((signed long int )_index7)]));
     134        }
     135
     136    }
     137
     138    ((void)___constructor__F_R16s__locale_struct16s__locale_struct_autogen___1((&___ret__16s__locale_struct_1), ___src__16s__locale_struct_1));
     139    return ((struct __locale_struct )___ret__16s__locale_struct_1);
     140}
     141static inline void ___constructor__F_R16s__locale_structA0P14s__locale_data_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1, struct __locale_data *____locales__A0P14s__locale_data_1[((unsigned long int )13)]){
     142    {
     143        signed int _index8 = ((signed int )0);
     144        for (;(_index8<13);((void)(++_index8))) {
     145            ((void)((*((struct __locale_data **)(&(*___dst__R16s__locale_struct_1).__locales[((signed long int )_index8)])))=____locales__A0P14s__locale_data_1[((signed long int )_index8)]) /* ?{} */);
     146        }
     147
     148    }
     149    ((void)((*___dst__R16s__locale_struct_1).__ctype_b) /* ?{} */);
     150    ((void)((*___dst__R16s__locale_struct_1).__ctype_tolower) /* ?{} */);
     151    ((void)((*___dst__R16s__locale_struct_1).__ctype_toupper) /* ?{} */);
     152    {
     153        signed int _index9 = ((signed int )0);
     154        for (;(_index9<13);((void)(++_index9))) {
     155            ((void)((*((const char **)(&(*___dst__R16s__locale_struct_1).__names[((signed long int )_index9)])))) /* ?{} */);
     156        }
     157
     158    }
     159}
     160static inline void ___constructor__F_R16s__locale_structA0P14s__locale_dataPCUs_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1, struct __locale_data *____locales__A0P14s__locale_data_1[((unsigned long int )13)], const unsigned short int *____ctype_b__PCUs_1){
     161    {
     162        signed int _index10 = ((signed int )0);
     163        for (;(_index10<13);((void)(++_index10))) {
     164            ((void)((*((struct __locale_data **)(&(*___dst__R16s__locale_struct_1).__locales[((signed long int )_index10)])))=____locales__A0P14s__locale_data_1[((signed long int )_index10)]) /* ?{} */);
     165        }
     166
     167    }
     168    ((void)((*___dst__R16s__locale_struct_1).__ctype_b=____ctype_b__PCUs_1) /* ?{} */);
     169    ((void)((*___dst__R16s__locale_struct_1).__ctype_tolower) /* ?{} */);
     170    ((void)((*___dst__R16s__locale_struct_1).__ctype_toupper) /* ?{} */);
     171    {
     172        signed int _index11 = ((signed int )0);
     173        for (;(_index11<13);((void)(++_index11))) {
     174            ((void)((*((const char **)(&(*___dst__R16s__locale_struct_1).__names[((signed long int )_index11)])))) /* ?{} */);
     175        }
     176
     177    }
     178}
     179static inline void ___constructor__F_R16s__locale_structA0P14s__locale_dataPCUsPCi_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1, struct __locale_data *____locales__A0P14s__locale_data_1[((unsigned long int )13)], const unsigned short int *____ctype_b__PCUs_1, const signed int *____ctype_tolower__PCi_1){
     180    {
     181        signed int _index12 = ((signed int )0);
     182        for (;(_index12<13);((void)(++_index12))) {
     183            ((void)((*((struct __locale_data **)(&(*___dst__R16s__locale_struct_1).__locales[((signed long int )_index12)])))=____locales__A0P14s__locale_data_1[((signed long int )_index12)]) /* ?{} */);
     184        }
     185
     186    }
     187    ((void)((*___dst__R16s__locale_struct_1).__ctype_b=____ctype_b__PCUs_1) /* ?{} */);
     188    ((void)((*___dst__R16s__locale_struct_1).__ctype_tolower=____ctype_tolower__PCi_1) /* ?{} */);
     189    ((void)((*___dst__R16s__locale_struct_1).__ctype_toupper) /* ?{} */);
     190    {
     191        signed int _index13 = ((signed int )0);
     192        for (;(_index13<13);((void)(++_index13))) {
     193            ((void)((*((const char **)(&(*___dst__R16s__locale_struct_1).__names[((signed long int )_index13)])))) /* ?{} */);
     194        }
     195
     196    }
     197}
     198static inline void ___constructor__F_R16s__locale_structA0P14s__locale_dataPCUsPCiPCi_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1, struct __locale_data *____locales__A0P14s__locale_data_1[((unsigned long int )13)], const unsigned short int *____ctype_b__PCUs_1, const signed int *____ctype_tolower__PCi_1, const signed int *____ctype_toupper__PCi_1){
     199    {
     200        signed int _index14 = ((signed int )0);
     201        for (;(_index14<13);((void)(++_index14))) {
     202            ((void)((*((struct __locale_data **)(&(*___dst__R16s__locale_struct_1).__locales[((signed long int )_index14)])))=____locales__A0P14s__locale_data_1[((signed long int )_index14)]) /* ?{} */);
     203        }
     204
     205    }
     206    ((void)((*___dst__R16s__locale_struct_1).__ctype_b=____ctype_b__PCUs_1) /* ?{} */);
     207    ((void)((*___dst__R16s__locale_struct_1).__ctype_tolower=____ctype_tolower__PCi_1) /* ?{} */);
     208    ((void)((*___dst__R16s__locale_struct_1).__ctype_toupper=____ctype_toupper__PCi_1) /* ?{} */);
     209    {
     210        signed int _index15 = ((signed int )0);
     211        for (;(_index15<13);((void)(++_index15))) {
     212            ((void)((*((const char **)(&(*___dst__R16s__locale_struct_1).__names[((signed long int )_index15)])))) /* ?{} */);
     213        }
     214
     215    }
     216}
     217static inline void ___constructor__F_R16s__locale_structA0P14s__locale_dataPCUsPCiPCiA0PCc_autogen___1(struct __locale_struct *___dst__R16s__locale_struct_1, struct __locale_data *____locales__A0P14s__locale_data_1[((unsigned long int )13)], const unsigned short int *____ctype_b__PCUs_1, const signed int *____ctype_tolower__PCi_1, const signed int *____ctype_toupper__PCi_1, const char *____names__A0PCc_1[((unsigned long int )13)]){
     218    {
     219        signed int _index16 = ((signed int )0);
     220        for (;(_index16<13);((void)(++_index16))) {
     221            ((void)((*((struct __locale_data **)(&(*___dst__R16s__locale_struct_1).__locales[((signed long int )_index16)])))=____locales__A0P14s__locale_data_1[((signed long int )_index16)]) /* ?{} */);
     222        }
     223
     224    }
     225    ((void)((*___dst__R16s__locale_struct_1).__ctype_b=____ctype_b__PCUs_1) /* ?{} */);
     226    ((void)((*___dst__R16s__locale_struct_1).__ctype_tolower=____ctype_tolower__PCi_1) /* ?{} */);
     227    ((void)((*___dst__R16s__locale_struct_1).__ctype_toupper=____ctype_toupper__PCi_1) /* ?{} */);
     228    {
     229        signed int _index17 = ((signed int )0);
     230        for (;(_index17<13);((void)(++_index17))) {
     231            ((void)((*((const char **)(&(*___dst__R16s__locale_struct_1).__names[((signed long int )_index17)])))=____names__A0PCc_1[((signed long int )_index17)]) /* ?{} */);
     232        }
     233
     234    }
     235}
     236struct __locale_struct;
     237struct __locale_struct;
     238__attribute__ ((__nothrow__,__leaf__)) extern signed int wcscasecmp_l(const signed int *__s1, const signed int *__s2, struct __locale_struct *__loc);
     239__attribute__ ((__nothrow__,__leaf__)) extern signed int wcsncasecmp_l(const signed int *__s1, const signed int *__s2, unsigned long int __n, struct __locale_struct *__loc);
     240__attribute__ ((__nothrow__,__leaf__)) extern signed int wcscoll(const signed int *__s1, const signed int *__s2);
     241__attribute__ ((__nothrow__,__leaf__)) extern unsigned long int wcsxfrm(signed int *__restrict __s1, const signed int *__restrict __s2, unsigned long int __n);
     242__attribute__ ((__nothrow__,__leaf__)) extern signed int wcscoll_l(const signed int *__s1, const signed int *__s2, struct __locale_struct *__loc);
     243__attribute__ ((__nothrow__,__leaf__)) extern unsigned long int wcsxfrm_l(signed int *__s1, const signed int *__s2, unsigned long int __n, struct __locale_struct *__loc);
     244__attribute__ ((__nothrow__,__leaf__,__malloc__)) extern signed int *wcsdup(const signed int *__s);
     245__attribute__ ((__nothrow__,__leaf__,__pure__)) extern signed int *wcschr(const signed int *__wcs, signed int __wc);
     246__attribute__ ((__nothrow__,__leaf__,__pure__)) extern signed int *wcsrchr(const signed int *__wcs, signed int __wc);
     247__attribute__ ((__nothrow__,__leaf__,__pure__)) extern unsigned long int wcscspn(const signed int *__wcs, const signed int *__reject);
     248__attribute__ ((__nothrow__,__leaf__,__pure__)) extern unsigned long int wcsspn(const signed int *__wcs, const signed int *__accept);
     249__attribute__ ((__nothrow__,__leaf__,__pure__)) extern signed int *wcspbrk(const signed int *__wcs, const signed int *__accept);
     250__attribute__ ((__nothrow__,__leaf__,__pure__)) extern signed int *wcsstr(const signed int *__haystack, const signed int *__needle);
     251__attribute__ ((__nothrow__,__leaf__)) extern signed int *wcstok(signed int *__restrict __s, const signed int *__restrict __delim, signed int **__restrict __ptr);
     252__attribute__ ((__nothrow__,__leaf__,__pure__)) extern unsigned long int wcslen(const signed int *__s);
     253__attribute__ ((__nothrow__,__leaf__,__pure__)) extern unsigned long int wcsnlen(const signed int *__s, unsigned long int __maxlen);
     254__attribute__ ((__nothrow__,__leaf__,__pure__)) extern signed int *wmemchr(const signed int *__s, signed int __c, unsigned long int __n);
     255__attribute__ ((__nothrow__,__leaf__,__pure__)) extern signed int wmemcmp(const signed int *__s1, const signed int *__s2, unsigned long int __n);
     256__attribute__ ((__nothrow__,__leaf__)) extern signed int *wmemcpy(signed int *__restrict __s1, const signed int *__restrict __s2, unsigned long int __n);
     257__attribute__ ((__nothrow__,__leaf__)) extern signed int *wmemmove(signed int *__s1, const signed int *__s2, unsigned long int __n);
     258__attribute__ ((__nothrow__,__leaf__)) extern signed int *wmemset(signed int *__s, signed int __c, unsigned long int __n);
     259__attribute__ ((__nothrow__,__leaf__)) extern unsigned int btowc(signed int __c);
     260__attribute__ ((__nothrow__,__leaf__)) extern signed int wctob(unsigned int __c);
     261__attribute__ ((__nothrow__,__leaf__,__pure__)) extern signed int mbsinit(const struct __anonymous1 *__ps);
     262__attribute__ ((__nothrow__,__leaf__)) extern unsigned long int mbrtowc(signed int *__restrict __pwc, const char *__restrict __s, unsigned long int __n, struct __anonymous1 *__restrict __p);
     263__attribute__ ((__nothrow__,__leaf__)) extern unsigned long int wcrtomb(char *__restrict __s, signed int __wc, struct __anonymous1 *__restrict __ps);
     264__attribute__ ((__nothrow__,__leaf__)) extern unsigned long int __mbrlen(const char *__restrict __s, unsigned long int __n, struct __anonymous1 *__restrict __ps);
     265__attribute__ ((__nothrow__,__leaf__)) extern unsigned long int mbrlen(const char *__restrict __s, unsigned long int __n, struct __anonymous1 *__restrict __ps);
     266extern unsigned int __btowc_alias(signed int __c) asm ( "btowc" );
     267__attribute__ ((__nothrow__,__leaf__)) extern inline unsigned int btowc(signed int __c){
     268    __attribute__ ((unused)) unsigned int ___retval_btowc__Ui_1;
     269    unsigned int _tmp_cp_ret0;
     270    ((void)(___retval_btowc__Ui_1=(((signed int )((((signed int )((((signed int )(__builtin_constant_p(__c)!=((signed int )0))) && ((signed int )((__c>=((signed int )'\0'))!=((signed int )0))))!=((signed int )0))) && ((signed int )((__c<=((signed int )'\x7f'))!=((signed int )0))))!=((signed int )0))) ? ((unsigned int )__c) : (((void)(_tmp_cp_ret0=__btowc_alias(__c))) , _tmp_cp_ret0))) /* ?{} */);
     271    ((void)(_tmp_cp_ret0) /* ^?{} */);
     272    return ((unsigned int )___retval_btowc__Ui_1);
     273}
     274extern signed int __wctob_alias(unsigned int __c) asm ( "wctob" );
     275__attribute__ ((__nothrow__,__leaf__)) extern inline signed int wctob(unsigned int __wc){
     276    __attribute__ ((unused)) signed int ___retval_wctob__i_1;
     277    signed int _tmp_cp_ret1;
     278    ((void)(___retval_wctob__i_1=(((signed int )((((signed int )((((signed int )(__builtin_constant_p(__wc)!=((signed int )0))) && ((signed int )((__wc>=((unsigned int )L'\0'))!=((signed int )0))))!=((signed int )0))) && ((signed int )((__wc<=((unsigned int )L'\x7f'))!=((signed int )0))))!=((signed int )0))) ? ((signed int )__wc) : (((void)(_tmp_cp_ret1=__wctob_alias(__wc))) , _tmp_cp_ret1))) /* ?{} */);
     279    ((void)(_tmp_cp_ret1) /* ^?{} */);
     280    return ((signed int )___retval_wctob__i_1);
     281}
     282__attribute__ ((__nothrow__,__leaf__)) extern inline unsigned long int mbrlen(const char *__restrict __s, unsigned long int __n, struct __anonymous1 *__restrict __ps){
     283    __attribute__ ((unused)) unsigned long int ___retval_mbrlen__Ul_1;
     284    unsigned long int _tmp_cp_ret2;
     285    unsigned long int _tmp_cp_ret3;
     286    ((void)(___retval_mbrlen__Ul_1=(((signed int )((((long int )__ps)!=((long int )((void *)0)))!=((signed int )0))) ? (((void)(_tmp_cp_ret2=mbrtowc(((signed int *__restrict )((void *)0)), __s, __n, __ps))) , _tmp_cp_ret2) : (((void)(_tmp_cp_ret3=__mbrlen(__s, __n, ((struct __anonymous1 *__restrict )((void *)0))))) , _tmp_cp_ret3))) /* ?{} */);
     287    ((void)(_tmp_cp_ret2) /* ^?{} */);
     288    ((void)(_tmp_cp_ret3) /* ^?{} */);
     289    return ((unsigned long int )___retval_mbrlen__Ul_1);
     290}
     291__attribute__ ((__nothrow__,__leaf__)) extern unsigned long int mbsrtowcs(signed int *__restrict __dst, const char **__restrict __src, unsigned long int __len, struct __anonymous1 *__restrict __ps);
     292__attribute__ ((__nothrow__,__leaf__)) extern unsigned long int wcsrtombs(char *__restrict __dst, const signed int **__restrict __src, unsigned long int __len, struct __anonymous1 *__restrict __ps);
     293__attribute__ ((__nothrow__,__leaf__)) extern unsigned long int mbsnrtowcs(signed int *__restrict __dst, const char **__restrict __src, unsigned long int __nmc, unsigned long int __len, struct __anonymous1 *__restrict __ps);
     294__attribute__ ((__nothrow__,__leaf__)) extern unsigned long int wcsnrtombs(char *__restrict __dst, const signed int **__restrict __src, unsigned long int __nwc, unsigned long int __len, struct __anonymous1 *__restrict __ps);
     295__attribute__ ((__nothrow__,__leaf__)) extern double wcstod(const signed int *__restrict __nptr, signed int **__restrict __endptr);
     296__attribute__ ((__nothrow__,__leaf__)) extern float wcstof(const signed int *__restrict __nptr, signed int **__restrict __endptr);
     297__attribute__ ((__nothrow__,__leaf__)) extern long double wcstold(const signed int *__restrict __nptr, signed int **__restrict __endptr);
     298__attribute__ ((__nothrow__,__leaf__)) extern signed long int wcstol(const signed int *__restrict __nptr, signed int **__restrict __endptr, signed int __base);
     299__attribute__ ((__nothrow__,__leaf__)) extern unsigned long int wcstoul(const signed int *__restrict __nptr, signed int **__restrict __endptr, signed int __base);
     300__extension__ __attribute__ ((__nothrow__,__leaf__)) extern signed long long int wcstoll(const signed int *__restrict __nptr, signed int **__restrict __endptr, signed int __base);
     301__extension__ __attribute__ ((__nothrow__,__leaf__)) extern unsigned long long int wcstoull(const signed int *__restrict __nptr, signed int **__restrict __endptr, signed int __base);
     302__attribute__ ((__nothrow__,__leaf__)) extern signed int *wcpcpy(signed int *__restrict __dest, const signed int *__restrict __src);
     303__attribute__ ((__nothrow__,__leaf__)) extern signed int *wcpncpy(signed int *__restrict __dest, const signed int *__restrict __src, unsigned long int __n);
     304__attribute__ ((__nothrow__,__leaf__)) extern struct _IO_FILE *open_wmemstream(signed int **__bufloc, unsigned long int *__sizeloc);
     305__attribute__ ((__nothrow__,__leaf__)) extern signed int fwide(struct _IO_FILE *__fp, signed int __mode);
     306extern signed int fwprintf(struct _IO_FILE *__restrict __stream, const signed int *__restrict __format, ...);
     307extern signed int wprintf(const signed int *__restrict __format, ...);
     308__attribute__ ((__nothrow__,__leaf__)) extern signed int swprintf(signed int *__restrict __s, unsigned long int __n, const signed int *__restrict __format, ...);
     309extern signed int vfwprintf(struct _IO_FILE *__restrict __s, const signed int *__restrict __format, __builtin_va_list __arg);
     310extern signed int vwprintf(const signed int *__restrict __format, __builtin_va_list __arg);
     311__attribute__ ((__nothrow__,__leaf__)) extern signed int vswprintf(signed int *__restrict __s, unsigned long int __n, const signed int *__restrict __format, __builtin_va_list __arg);
     312extern signed int fwscanf(struct _IO_FILE *__restrict __stream, const signed int *__restrict __format, ...);
     313extern signed int wscanf(const signed int *__restrict __format, ...);
     314__attribute__ ((__nothrow__,__leaf__)) extern signed int swscanf(const signed int *__restrict __s, const signed int *__restrict __format, ...);
     315extern signed int fwscanf(struct _IO_FILE *__restrict __stream, const signed int *__restrict __format, ...) asm ( "" "__isoc99_fwscanf" );
     316extern signed int wscanf(const signed int *__restrict __format, ...) asm ( "" "__isoc99_wscanf" );
     317__attribute__ ((__nothrow__,__leaf__)) extern signed int swscanf(const signed int *__restrict __s, const signed int *__restrict __format, ...) asm ( "" "__isoc99_swscanf" );
     318extern signed int vfwscanf(struct _IO_FILE *__restrict __s, const signed int *__restrict __format, __builtin_va_list __arg);
     319extern signed int vwscanf(const signed int *__restrict __format, __builtin_va_list __arg);
     320__attribute__ ((__nothrow__,__leaf__)) extern signed int vswscanf(const signed int *__restrict __s, const signed int *__restrict __format, __builtin_va_list __arg);
     321extern signed int vfwscanf(struct _IO_FILE *__restrict __s, const signed int *__restrict __format, __builtin_va_list __arg) asm ( "" "__isoc99_vfwscanf" );
     322extern signed int vwscanf(const signed int *__restrict __format, __builtin_va_list __arg) asm ( "" "__isoc99_vwscanf" );
     323__attribute__ ((__nothrow__,__leaf__)) extern signed int vswscanf(const signed int *__restrict __s, const signed int *__restrict __format, __builtin_va_list __arg) asm ( "" "__isoc99_vswscanf" );
     324extern unsigned int fgetwc(struct _IO_FILE *__stream);
     325extern unsigned int getwc(struct _IO_FILE *__stream);
     326extern unsigned int getwchar(void);
     327extern unsigned int fputwc(signed int __wc, struct _IO_FILE *__stream);
     328extern unsigned int putwc(signed int __wc, struct _IO_FILE *__stream);
     329extern unsigned int putwchar(signed int __wc);
     330extern signed int *fgetws(signed int *__restrict __ws, signed int __n, struct _IO_FILE *__restrict __stream);
     331extern signed int fputws(const signed int *__restrict __ws, struct _IO_FILE *__restrict __stream);
     332extern unsigned int ungetwc(unsigned int __wc, struct _IO_FILE *__stream);
     333__attribute__ ((__nothrow__,__leaf__)) extern unsigned long int wcsftime(signed int *__restrict __s, unsigned long int __maxsize, const signed int *__restrict __format, const struct tm *__restrict __tp);
     334__attribute__ ((__nothrow__,__leaf__)) extern signed int *__wmemcpy_chk(signed int *__restrict __s1, const signed int *__restrict __s2, unsigned long int __n, unsigned long int __ns1);
     335__attribute__ ((__nothrow__,__leaf__)) extern signed int *__wmemcpy_alias(signed int *__restrict __s1, const signed int *__restrict __s2, unsigned long int __n) asm ( "" "wmemcpy" );
     336__attribute__ ((__nothrow__,__leaf__,__warning__("wmemcpy called with length bigger than size of destination " "buffer"))) extern signed int *__wmemcpy_chk_warn(signed int *__restrict __s1, const signed int *__restrict __s2, unsigned long int __n, unsigned long int __ns1) asm ( "" "__wmemcpy_chk" );
     337__attribute__ ((__artificial__,__always_inline__,__nothrow__,__leaf__)) extern inline signed int *wmemcpy(signed int *__restrict __s1, const signed int *__restrict __s2, unsigned long int __n){
     338    __attribute__ ((unused)) signed int *___retval_wmemcpy__Pi_1;
     339    if ( ((signed int )((__builtin_object_size(((const void *)__s1), ((signed int )0))!=((unsigned long int )(-((signed int )1))))!=((signed int )0))) ) {
     340        if ( ((signed int )((!__builtin_constant_p(__n))!=((signed int )0))) ) {
     341            signed int *_tmp_cp_ret4;
     342            ((void)(___retval_wmemcpy__Pi_1=(((void)(_tmp_cp_ret4=__wmemcpy_chk(__s1, __s2, __n, (__builtin_object_size(((const void *)__s1), ((signed int )0))/sizeof(signed int ))))) , _tmp_cp_ret4)) /* ?{} */);
     343            ((void)(_tmp_cp_ret4) /* ^?{} */);
     344            return ((signed int *)___retval_wmemcpy__Pi_1);
     345        }
     346
     347        if ( ((signed int )((__n>(__builtin_object_size(((const void *)__s1), ((signed int )0))/sizeof(signed int )))!=((signed int )0))) ) {
     348            signed int *_tmp_cp_ret5;
     349            ((void)(___retval_wmemcpy__Pi_1=(((void)(_tmp_cp_ret5=__wmemcpy_chk_warn(__s1, __s2, __n, (__builtin_object_size(((const void *)__s1), ((signed int )0))/sizeof(signed int ))))) , _tmp_cp_ret5)) /* ?{} */);
     350            ((void)(_tmp_cp_ret5) /* ^?{} */);
     351            return ((signed int *)___retval_wmemcpy__Pi_1);
     352        }
     353
     354    }
     355
     356    signed int *_tmp_cp_ret6;
     357    ((void)(___retval_wmemcpy__Pi_1=(((void)(_tmp_cp_ret6=__wmemcpy_alias(__s1, __s2, __n))) , _tmp_cp_ret6)) /* ?{} */);
     358    ((void)(_tmp_cp_ret6) /* ^?{} */);
     359    return ((signed int *)___retval_wmemcpy__Pi_1);
     360}
     361__attribute__ ((__nothrow__,__leaf__)) extern signed int *__wmemmove_chk(signed int *__s1, const signed int *__s2, unsigned long int __n, unsigned long int __ns1);
     362__attribute__ ((__nothrow__,__leaf__)) extern signed int *__wmemmove_alias(signed int *__s1, const signed int *__s2, unsigned long int __n) asm ( "" "wmemmove" );
     363__attribute__ ((__nothrow__,__leaf__,__warning__("wmemmove called with length bigger than size of destination " "buffer"))) extern signed int *__wmemmove_chk_warn(signed int *__s1, const signed int *__s2, unsigned long int __n, unsigned long int __ns1) asm ( "" "__wmemmove_chk" );
     364__attribute__ ((__artificial__,__always_inline__,__nothrow__,__leaf__)) extern inline signed int *wmemmove(signed int *__s1, const signed int *__s2, unsigned long int __n){
     365    __attribute__ ((unused)) signed int *___retval_wmemmove__Pi_1;
     366    if ( ((signed int )((__builtin_object_size(((const void *)__s1), ((signed int )0))!=((unsigned long int )(-((signed int )1))))!=((signed int )0))) ) {
     367        if ( ((signed int )((!__builtin_constant_p(__n))!=((signed int )0))) ) {
     368            signed int *_tmp_cp_ret7;
     369            ((void)(___retval_wmemmove__Pi_1=(((void)(_tmp_cp_ret7=__wmemmove_chk(__s1, __s2, __n, (__builtin_object_size(((const void *)__s1), ((signed int )0))/sizeof(signed int ))))) , _tmp_cp_ret7)) /* ?{} */);
     370            ((void)(_tmp_cp_ret7) /* ^?{} */);
     371            return ((signed int *)___retval_wmemmove__Pi_1);
     372        }
     373
     374        if ( ((signed int )((__n>(__builtin_object_size(((const void *)__s1), ((signed int )0))/sizeof(signed int )))!=((signed int )0))) ) {
     375            signed int *_tmp_cp_ret8;
     376            ((void)(___retval_wmemmove__Pi_1=(((void)(_tmp_cp_ret8=__wmemmove_chk_warn(__s1, __s2, __n, (__builtin_object_size(((const void *)__s1), ((signed int )0))/sizeof(signed int ))))) , _tmp_cp_ret8)) /* ?{} */);
     377            ((void)(_tmp_cp_ret8) /* ^?{} */);
     378            return ((signed int *)___retval_wmemmove__Pi_1);
     379        }
     380
     381    }
     382
     383    signed int *_tmp_cp_ret9;
     384    ((void)(___retval_wmemmove__Pi_1=(((void)(_tmp_cp_ret9=__wmemmove_alias(__s1, __s2, __n))) , _tmp_cp_ret9)) /* ?{} */);
     385    ((void)(_tmp_cp_ret9) /* ^?{} */);
     386    return ((signed int *)___retval_wmemmove__Pi_1);
     387}
     388__attribute__ ((__nothrow__,__leaf__)) extern signed int *__wmemset_chk(signed int *__s, signed int __c, unsigned long int __n, unsigned long int __ns);
     389__attribute__ ((__nothrow__,__leaf__)) extern signed int *__wmemset_alias(signed int *__s, signed int __c, unsigned long int __n) asm ( "" "wmemset" );
     390__attribute__ ((__nothrow__,__leaf__,__warning__("wmemset called with length bigger than size of destination " "buffer"))) extern signed int *__wmemset_chk_warn(signed int *__s, signed int __c, unsigned long int __n, unsigned long int __ns) asm ( "" "__wmemset_chk" );
     391__attribute__ ((__artificial__,__always_inline__,__nothrow__,__leaf__)) extern inline signed int *wmemset(signed int *__s, signed int __c, unsigned long int __n){
     392    __attribute__ ((unused)) signed int *___retval_wmemset__Pi_1;
     393    if ( ((signed int )((__builtin_object_size(((const void *)__s), ((signed int )0))!=((unsigned long int )(-((signed int )1))))!=((signed int )0))) ) {
     394        if ( ((signed int )((!__builtin_constant_p(__n))!=((signed int )0))) ) {
     395            signed int *_tmp_cp_ret10;
     396            ((void)(___retval_wmemset__Pi_1=(((void)(_tmp_cp_ret10=__wmemset_chk(__s, __c, __n, (__builtin_object_size(((const void *)__s), ((signed int )0))/sizeof(signed int ))))) , _tmp_cp_ret10)) /* ?{} */);
     397            ((void)(_tmp_cp_ret10) /* ^?{} */);
     398            return ((signed int *)___retval_wmemset__Pi_1);
     399        }
     400
     401        if ( ((signed int )((__n>(__builtin_object_size(((const void *)__s), ((signed int )0))/sizeof(signed int )))!=((signed int )0))) ) {
     402            signed int *_tmp_cp_ret11;
     403            ((void)(___retval_wmemset__Pi_1=(((void)(_tmp_cp_ret11=__wmemset_chk_warn(__s, __c, __n, (__builtin_object_size(((const void *)__s), ((signed int )0))/sizeof(signed int ))))) , _tmp_cp_ret11)) /* ?{} */);
     404            ((void)(_tmp_cp_ret11) /* ^?{} */);
     405            return ((signed int *)___retval_wmemset__Pi_1);
     406        }
     407
     408    }
     409
     410    signed int *_tmp_cp_ret12;
     411    ((void)(___retval_wmemset__Pi_1=(((void)(_tmp_cp_ret12=__wmemset_alias(__s, __c, __n))) , _tmp_cp_ret12)) /* ?{} */);
     412    ((void)(_tmp_cp_ret12) /* ^?{} */);
     413    return ((signed int *)___retval_wmemset__Pi_1);
     414}
     415__attribute__ ((__nothrow__,__leaf__)) extern signed int *__wcscpy_chk(signed int *__restrict __dest, const signed int *__restrict __src, unsigned long int __n);
     416__attribute__ ((__nothrow__,__leaf__)) extern signed int *__wcscpy_alias(signed int *__restrict __dest, const signed int *__restrict __src) asm ( "" "wcscpy" );
     417__attribute__ ((__artificial__,__always_inline__,__nothrow__,__leaf__)) extern inline signed int *wcscpy(signed int *__restrict __dest, const signed int *__restrict __src){
     418    __attribute__ ((unused)) signed int *___retval_wcscpy__Pi_1;
     419    if ( ((signed int )((__builtin_object_size(((const void *)__dest), (2>((signed int )1)))!=((unsigned long int )(-((signed int )1))))!=((signed int )0))) ) {
     420        signed int *_tmp_cp_ret13;
     421        ((void)(___retval_wcscpy__Pi_1=(((void)(_tmp_cp_ret13=__wcscpy_chk(__dest, __src, (__builtin_object_size(((const void *)__dest), (2>((signed int )1)))/sizeof(signed int ))))) , _tmp_cp_ret13)) /* ?{} */);
     422        ((void)(_tmp_cp_ret13) /* ^?{} */);
     423        return ((signed int *)___retval_wcscpy__Pi_1);
     424    }
     425
     426    signed int *_tmp_cp_ret14;
     427    ((void)(___retval_wcscpy__Pi_1=(((void)(_tmp_cp_ret14=__wcscpy_alias(__dest, __src))) , _tmp_cp_ret14)) /* ?{} */);
     428    ((void)(_tmp_cp_ret14) /* ^?{} */);
     429    return ((signed int *)___retval_wcscpy__Pi_1);
     430}
     431__attribute__ ((__nothrow__,__leaf__)) extern signed int *__wcpcpy_chk(signed int *__restrict __dest, const signed int *__restrict __src, unsigned long int __destlen);
     432__attribute__ ((__nothrow__,__leaf__)) extern signed int *__wcpcpy_alias(signed int *__restrict __dest, const signed int *__restrict __src) asm ( "" "wcpcpy" );
     433__attribute__ ((__artificial__,__always_inline__,__nothrow__,__leaf__)) extern inline signed int *wcpcpy(signed int *__restrict __dest, const signed int *__restrict __src){
     434    __attribute__ ((unused)) signed int *___retval_wcpcpy__Pi_1;
     435    if ( ((signed int )((__builtin_object_size(((const void *)__dest), (2>((signed int )1)))!=((unsigned long int )(-((signed int )1))))!=((signed int )0))) ) {
     436        signed int *_tmp_cp_ret15;
     437        ((void)(___retval_wcpcpy__Pi_1=(((void)(_tmp_cp_ret15=__wcpcpy_chk(__dest, __src, (__builtin_object_size(((const void *)__dest), (2>((signed int )1)))/sizeof(signed int ))))) , _tmp_cp_ret15)) /* ?{} */);
     438        ((void)(_tmp_cp_ret15) /* ^?{} */);
     439        return ((signed int *)___retval_wcpcpy__Pi_1);
     440    }
     441
     442    signed int *_tmp_cp_ret16;
     443    ((void)(___retval_wcpcpy__Pi_1=(((void)(_tmp_cp_ret16=__wcpcpy_alias(__dest, __src))) , _tmp_cp_ret16)) /* ?{} */);
     444    ((void)(_tmp_cp_ret16) /* ^?{} */);
     445    return ((signed int *)___retval_wcpcpy__Pi_1);
     446}
     447__attribute__ ((__nothrow__,__leaf__)) extern signed int *__wcsncpy_chk(signed int *__restrict __dest, const signed int *__restrict __src, unsigned long int __n, unsigned long int __destlen);
     448__attribute__ ((__nothrow__,__leaf__)) extern signed int *__wcsncpy_alias(signed int *__restrict __dest, const signed int *__restrict __src, unsigned long int __n) asm ( "" "wcsncpy" );
     449__attribute__ ((__nothrow__,__leaf__,__warning__("wcsncpy called with length bigger than size of destination " "buffer"))) extern signed int *__wcsncpy_chk_warn(signed int *__restrict __dest, const signed int *__restrict __src, unsigned long int __n, unsigned long int __destlen) asm ( "" "__wcsncpy_chk" );
     450__attribute__ ((__artificial__,__always_inline__,__nothrow__,__leaf__)) extern inline signed int *wcsncpy(signed int *__restrict __dest, const signed int *__restrict __src, unsigned long int __n){
     451    __attribute__ ((unused)) signed int *___retval_wcsncpy__Pi_1;
     452    if ( ((signed int )((__builtin_object_size(((const void *)__dest), (2>((signed int )1)))!=((unsigned long int )(-((signed int )1))))!=((signed int )0))) ) {
     453        if ( ((signed int )((!__builtin_constant_p(__n))!=((signed int )0))) ) {
     454            signed int *_tmp_cp_ret17;
     455            ((void)(___retval_wcsncpy__Pi_1=(((void)(_tmp_cp_ret17=__wcsncpy_chk(__dest, __src, __n, (__builtin_object_size(((const void *)__dest), (2>((signed int )1)))/sizeof(signed int ))))) , _tmp_cp_ret17)) /* ?{} */);
     456            ((void)(_tmp_cp_ret17) /* ^?{} */);
     457            return ((signed int *)___retval_wcsncpy__Pi_1);
     458        }
     459
     460        if ( ((signed int )((__n>(__builtin_object_size(((const void *)__dest), (2>((signed int )1)))/sizeof(signed int )))!=((signed int )0))) ) {
     461            signed int *_tmp_cp_ret18;
     462            ((void)(___retval_wcsncpy__Pi_1=(((void)(_tmp_cp_ret18=__wcsncpy_chk_warn(__dest, __src, __n, (__builtin_object_size(((const void *)__dest), (2>((signed int )1)))/sizeof(signed int ))))) , _tmp_cp_ret18)) /* ?{} */);
     463            ((void)(_tmp_cp_ret18) /* ^?{} */);
     464            return ((signed int *)___retval_wcsncpy__Pi_1);
     465        }
     466
     467    }
     468
     469    signed int *_tmp_cp_ret19;
     470    ((void)(___retval_wcsncpy__Pi_1=(((void)(_tmp_cp_ret19=__wcsncpy_alias(__dest, __src, __n))) , _tmp_cp_ret19)) /* ?{} */);
     471    ((void)(_tmp_cp_ret19) /* ^?{} */);
     472    return ((signed int *)___retval_wcsncpy__Pi_1);
     473}
     474__attribute__ ((__nothrow__,__leaf__)) extern signed int *__wcpncpy_chk(signed int *__restrict __dest, const signed int *__restrict __src, unsigned long int __n, unsigned long int __destlen);
     475__attribute__ ((__nothrow__,__leaf__)) extern signed int *__wcpncpy_alias(signed int *__restrict __dest, const signed int *__restrict __src, unsigned long int __n) asm ( "" "wcpncpy" );
     476__attribute__ ((__nothrow__,__leaf__,__warning__("wcpncpy called with length bigger than size of destination " "buffer"))) extern signed int *__wcpncpy_chk_warn(signed int *__restrict __dest, const signed int *__restrict __src, unsigned long int __n, unsigned long int __destlen) asm ( "" "__wcpncpy_chk" );
     477__attribute__ ((__artificial__,__always_inline__,__nothrow__,__leaf__)) extern inline signed int *wcpncpy(signed int *__restrict __dest, const signed int *__restrict __src, unsigned long int __n){
     478    __attribute__ ((unused)) signed int *___retval_wcpncpy__Pi_1;
     479    if ( ((signed int )((__builtin_object_size(((const void *)__dest), (2>((signed int )1)))!=((unsigned long int )(-((signed int )1))))!=((signed int )0))) ) {
     480        if ( ((signed int )((!__builtin_constant_p(__n))!=((signed int )0))) ) {
     481            signed int *_tmp_cp_ret20;
     482            ((void)(___retval_wcpncpy__Pi_1=(((void)(_tmp_cp_ret20=__wcpncpy_chk(__dest, __src, __n, (__builtin_object_size(((const void *)__dest), (2>((signed int )1)))/sizeof(signed int ))))) , _tmp_cp_ret20)) /* ?{} */);
     483            ((void)(_tmp_cp_ret20) /* ^?{} */);
     484            return ((signed int *)___retval_wcpncpy__Pi_1);
     485        }
     486
     487        if ( ((signed int )((__n>(__builtin_object_size(((const void *)__dest), (2>((signed int )1)))/sizeof(signed int )))!=((signed int )0))) ) {
     488            signed int *_tmp_cp_ret21;
     489            ((void)(___retval_wcpncpy__Pi_1=(((void)(_tmp_cp_ret21=__wcpncpy_chk_warn(__dest, __src, __n, (__builtin_object_size(((const void *)__dest), (2>((signed int )1)))/sizeof(signed int ))))) , _tmp_cp_ret21)) /* ?{} */);
     490            ((void)(_tmp_cp_ret21) /* ^?{} */);
     491            return ((signed int *)___retval_wcpncpy__Pi_1);
     492        }
     493
     494    }
     495
     496    signed int *_tmp_cp_ret22;
     497    ((void)(___retval_wcpncpy__Pi_1=(((void)(_tmp_cp_ret22=__wcpncpy_alias(__dest, __src, __n))) , _tmp_cp_ret22)) /* ?{} */);
     498    ((void)(_tmp_cp_ret22) /* ^?{} */);
     499    return ((signed int *)___retval_wcpncpy__Pi_1);
     500}
     501__attribute__ ((__nothrow__,__leaf__)) extern signed int *__wcscat_chk(signed int *__restrict __dest, const signed int *__restrict __src, unsigned long int __destlen);
     502__attribute__ ((__nothrow__,__leaf__)) extern signed int *__wcscat_alias(signed int *__restrict __dest, const signed int *__restrict __src) asm ( "" "wcscat" );
     503__attribute__ ((__artificial__,__always_inline__,__nothrow__,__leaf__)) extern inline signed int *wcscat(signed int *__restrict __dest, const signed int *__restrict __src){
     504    __attribute__ ((unused)) signed int *___retval_wcscat__Pi_1;
     505    if ( ((signed int )((__builtin_object_size(((const void *)__dest), (2>((signed int )1)))!=((unsigned long int )(-((signed int )1))))!=((signed int )0))) ) {
     506        signed int *_tmp_cp_ret23;
     507        ((void)(___retval_wcscat__Pi_1=(((void)(_tmp_cp_ret23=__wcscat_chk(__dest, __src, (__builtin_object_size(((const void *)__dest), (2>((signed int )1)))/sizeof(signed int ))))) , _tmp_cp_ret23)) /* ?{} */);
     508        ((void)(_tmp_cp_ret23) /* ^?{} */);
     509        return ((signed int *)___retval_wcscat__Pi_1);
     510    }
     511
     512    signed int *_tmp_cp_ret24;
     513    ((void)(___retval_wcscat__Pi_1=(((void)(_tmp_cp_ret24=__wcscat_alias(__dest, __src))) , _tmp_cp_ret24)) /* ?{} */);
     514    ((void)(_tmp_cp_ret24) /* ^?{} */);
     515    return ((signed int *)___retval_wcscat__Pi_1);
     516}
     517__attribute__ ((__nothrow__,__leaf__)) extern signed int *__wcsncat_chk(signed int *__restrict __dest, const signed int *__restrict __src, unsigned long int __n, unsigned long int __destlen);
     518__attribute__ ((__nothrow__,__leaf__)) extern signed int *__wcsncat_alias(signed int *__restrict __dest, const signed int *__restrict __src, unsigned long int __n) asm ( "" "wcsncat" );
     519__attribute__ ((__artificial__,__always_inline__,__nothrow__,__leaf__)) extern inline signed int *wcsncat(signed int *__restrict __dest, const signed int *__restrict __src, unsigned long int __n){
     520    __attribute__ ((unused)) signed int *___retval_wcsncat__Pi_1;
     521    if ( ((signed int )((__builtin_object_size(((const void *)__dest), (2>((signed int )1)))!=((unsigned long int )(-((signed int )1))))!=((signed int )0))) ) {
     522        signed int *_tmp_cp_ret25;
     523        ((void)(___retval_wcsncat__Pi_1=(((void)(_tmp_cp_ret25=__wcsncat_chk(__dest, __src, __n, (__builtin_object_size(((const void *)__dest), (2>((signed int )1)))/sizeof(signed int ))))) , _tmp_cp_ret25)) /* ?{} */);
     524        ((void)(_tmp_cp_ret25) /* ^?{} */);
     525        return ((signed int *)___retval_wcsncat__Pi_1);
     526    }
     527
     528    signed int *_tmp_cp_ret26;
     529    ((void)(___retval_wcsncat__Pi_1=(((void)(_tmp_cp_ret26=__wcsncat_alias(__dest, __src, __n))) , _tmp_cp_ret26)) /* ?{} */);
     530    ((void)(_tmp_cp_ret26) /* ^?{} */);
     531    return ((signed int *)___retval_wcsncat__Pi_1);
     532}
     533__attribute__ ((__nothrow__,__leaf__)) extern signed int __swprintf_chk(signed int *__restrict __s, unsigned long int __n, signed int __flag, unsigned long int __s_len, const signed int *__restrict __format, ...);
     534__attribute__ ((__nothrow__,__leaf__)) extern signed int __swprintf_alias(signed int *__restrict __s, unsigned long int __n, const signed int *__restrict __fmt, ...) asm ( "" "swprintf" );
     535__attribute__ ((__nothrow__,__leaf__,__artificial__,__always_inline__)) extern inline signed int swprintf(signed int *__restrict __s, unsigned long int __n, const signed int *__restrict __fmt, ...){
     536    __attribute__ ((unused)) signed int ___retval_swprintf__i_1;
     537    if ( ((signed int )((((signed int )((__builtin_object_size(((const void *)__s), (2>((signed int )1)))!=((unsigned long int )(-((signed int )1))))!=((signed int )0))) || ((signed int )((2>((signed int )1))!=((signed int )0))))!=((signed int )0))) ) {
     538        signed int _tmp_cp_ret27;
     539        ((void)(___retval_swprintf__i_1=(((void)(_tmp_cp_ret27=__swprintf_chk(__s, __n, (2-((signed int )1)), (__builtin_object_size(((const void *)__s), (2>((signed int )1)))/sizeof(signed int )), __fmt, __builtin_va_arg_pack()))) , _tmp_cp_ret27)) /* ?{} */);
     540        ((void)(_tmp_cp_ret27) /* ^?{} */);
     541        return ((signed int )___retval_swprintf__i_1);
     542    }
     543
     544    signed int _tmp_cp_ret28;
     545    ((void)(___retval_swprintf__i_1=(((void)(_tmp_cp_ret28=__swprintf_alias(__s, __n, __fmt, __builtin_va_arg_pack()))) , _tmp_cp_ret28)) /* ?{} */);
     546    ((void)(_tmp_cp_ret28) /* ^?{} */);
     547    return ((signed int )___retval_swprintf__i_1);
     548}
     549__attribute__ ((__nothrow__,__leaf__)) extern signed int __vswprintf_chk(signed int *__restrict __s, unsigned long int __n, signed int __flag, unsigned long int __s_len, const signed int *__restrict __format, __builtin_va_list __arg);
     550__attribute__ ((__nothrow__,__leaf__)) extern signed int __vswprintf_alias(signed int *__restrict __s, unsigned long int __n, const signed int *__restrict __fmt, __builtin_va_list __ap) asm ( "" "vswprintf" );
     551__attribute__ ((__nothrow__,__leaf__,__artificial__,__always_inline__)) extern inline signed int vswprintf(signed int *__restrict __s, unsigned long int __n, const signed int *__restrict __fmt, __builtin_va_list __ap){
     552    __attribute__ ((unused)) signed int ___retval_vswprintf__i_1;
     553    if ( ((signed int )((((signed int )((__builtin_object_size(((const void *)__s), (2>((signed int )1)))!=((unsigned long int )(-((signed int )1))))!=((signed int )0))) || ((signed int )((2>((signed int )1))!=((signed int )0))))!=((signed int )0))) ) {
     554        signed int _tmp_cp_ret29;
     555        ((void)(___retval_vswprintf__i_1=(((void)(_tmp_cp_ret29=__vswprintf_chk(__s, __n, (2-((signed int )1)), (__builtin_object_size(((const void *)__s), (2>((signed int )1)))/sizeof(signed int )), __fmt, __ap))) , _tmp_cp_ret29)) /* ?{} */);
     556        ((void)(_tmp_cp_ret29) /* ^?{} */);
     557        return ((signed int )___retval_vswprintf__i_1);
     558    }
     559
     560    signed int _tmp_cp_ret30;
     561    ((void)(___retval_vswprintf__i_1=(((void)(_tmp_cp_ret30=__vswprintf_alias(__s, __n, __fmt, __ap))) , _tmp_cp_ret30)) /* ?{} */);
     562    ((void)(_tmp_cp_ret30) /* ^?{} */);
     563    return ((signed int )___retval_vswprintf__i_1);
     564}
     565extern signed int __fwprintf_chk(struct _IO_FILE *__restrict __stream, signed int __flag, const signed int *__restrict __format, ...);
     566extern signed int __wprintf_chk(signed int __flag, const signed int *__restrict __format, ...);
     567extern signed int __vfwprintf_chk(struct _IO_FILE *__restrict __stream, signed int __flag, const signed int *__restrict __format, __builtin_va_list __ap);
     568extern signed int __vwprintf_chk(signed int __flag, const signed int *__restrict __format, __builtin_va_list __ap);
     569__attribute__ ((__artificial__,__always_inline__)) extern inline signed int wprintf(const signed int *__restrict __fmt, ...){
     570    __attribute__ ((unused)) signed int ___retval_wprintf__i_1;
     571    signed int _tmp_cp_ret31;
     572    ((void)(___retval_wprintf__i_1=(((void)(_tmp_cp_ret31=__wprintf_chk((2-((signed int )1)), __fmt, __builtin_va_arg_pack()))) , _tmp_cp_ret31)) /* ?{} */);
     573    ((void)(_tmp_cp_ret31) /* ^?{} */);
     574    return ((signed int )___retval_wprintf__i_1);
     575}
     576__attribute__ ((__artificial__,__always_inline__)) extern inline signed int fwprintf(struct _IO_FILE *__restrict __stream, const signed int *__restrict __fmt, ...){
     577    __attribute__ ((unused)) signed int ___retval_fwprintf__i_1;
     578    signed int _tmp_cp_ret32;
     579    ((void)(___retval_fwprintf__i_1=(((void)(_tmp_cp_ret32=__fwprintf_chk(__stream, (2-((signed int )1)), __fmt, __builtin_va_arg_pack()))) , _tmp_cp_ret32)) /* ?{} */);
     580    ((void)(_tmp_cp_ret32) /* ^?{} */);
     581    return ((signed int )___retval_fwprintf__i_1);
     582}
     583__attribute__ ((__artificial__,__always_inline__)) extern inline signed int vwprintf(const signed int *__restrict __fmt, __builtin_va_list __ap){
     584    __attribute__ ((unused)) signed int ___retval_vwprintf__i_1;
     585    signed int _tmp_cp_ret33;
     586    ((void)(___retval_vwprintf__i_1=(((void)(_tmp_cp_ret33=__vwprintf_chk((2-((signed int )1)), __fmt, __ap))) , _tmp_cp_ret33)) /* ?{} */);
     587    ((void)(_tmp_cp_ret33) /* ^?{} */);
     588    return ((signed int )___retval_vwprintf__i_1);
     589}
     590__attribute__ ((__artificial__,__always_inline__)) extern inline signed int vfwprintf(struct _IO_FILE *__restrict __stream, const signed int *__restrict __fmt, __builtin_va_list __ap){
     591    __attribute__ ((unused)) signed int ___retval_vfwprintf__i_1;
     592    signed int _tmp_cp_ret34;
     593    ((void)(___retval_vfwprintf__i_1=(((void)(_tmp_cp_ret34=__vfwprintf_chk(__stream, (2-((signed int )1)), __fmt, __ap))) , _tmp_cp_ret34)) /* ?{} */);
     594    ((void)(_tmp_cp_ret34) /* ^?{} */);
     595    return ((signed int )___retval_vfwprintf__i_1);
     596}
     597__attribute__ ((__warn_unused_result__)) extern signed int *__fgetws_chk(signed int *__restrict __s, unsigned long int __size, signed int __n, struct _IO_FILE *__restrict __stream);
     598__attribute__ ((__warn_unused_result__)) extern signed int *__fgetws_alias(signed int *__restrict __s, signed int __n, struct _IO_FILE *__restrict __stream) asm ( "" "fgetws" );
     599__attribute__ ((__warn_unused_result__,__warning__("fgetws called with bigger size than length " "of destination buffer"))) extern signed int *__fgetws_chk_warn(signed int *__restrict __s, unsigned long int __size, signed int __n, struct _IO_FILE *__restrict __stream) asm ( "" "__fgetws_chk" );
     600__attribute__ ((__warn_unused_result__,__artificial__,__always_inline__)) extern inline signed int *fgetws(signed int *__restrict __s, signed int __n, struct _IO_FILE *__restrict __stream){
     601    __attribute__ ((unused)) signed int *___retval_fgetws__Pi_1;
     602    if ( ((signed int )((__builtin_object_size(((const void *)__s), (2>((signed int )1)))!=((unsigned long int )(-((signed int )1))))!=((signed int )0))) ) {
     603        if ( ((signed int )((((signed int )((!__builtin_constant_p(__n))!=((signed int )0))) || ((signed int )((__n<=((signed int )0))!=((signed int )0))))!=((signed int )0))) ) {
     604            signed int *_tmp_cp_ret35;
     605            ((void)(___retval_fgetws__Pi_1=(((void)(_tmp_cp_ret35=__fgetws_chk(__s, (__builtin_object_size(((const void *)__s), (2>((signed int )1)))/sizeof(signed int )), __n, __stream))) , _tmp_cp_ret35)) /* ?{} */);
     606            ((void)(_tmp_cp_ret35) /* ^?{} */);
     607            return ((signed int *)___retval_fgetws__Pi_1);
     608        }
     609
     610        if ( ((signed int )((((unsigned long int )__n)>(__builtin_object_size(((const void *)__s), (2>((signed int )1)))/sizeof(signed int )))!=((signed int )0))) ) {
     611            signed int *_tmp_cp_ret36;
     612            ((void)(___retval_fgetws__Pi_1=(((void)(_tmp_cp_ret36=__fgetws_chk_warn(__s, (__builtin_object_size(((const void *)__s), (2>((signed int )1)))/sizeof(signed int )), __n, __stream))) , _tmp_cp_ret36)) /* ?{} */);
     613            ((void)(_tmp_cp_ret36) /* ^?{} */);
     614            return ((signed int *)___retval_fgetws__Pi_1);
     615        }
     616
     617    }
     618
     619    signed int *_tmp_cp_ret37;
     620    ((void)(___retval_fgetws__Pi_1=(((void)(_tmp_cp_ret37=__fgetws_alias(__s, __n, __stream))) , _tmp_cp_ret37)) /* ?{} */);
     621    ((void)(_tmp_cp_ret37) /* ^?{} */);
     622    return ((signed int *)___retval_fgetws__Pi_1);
     623}
     624__attribute__ ((__nothrow__,__leaf__,__warn_unused_result__)) extern unsigned long int __wcrtomb_chk(char *__restrict __s, signed int __wchar, struct __anonymous1 *__restrict __p, unsigned long int __buflen);
     625__attribute__ ((__nothrow__,__leaf__,__warn_unused_result__)) extern unsigned long int __wcrtomb_alias(char *__restrict __s, signed int __wchar, struct __anonymous1 *__restrict __ps) asm ( "" "wcrtomb" );
     626__attribute__ ((__nothrow__,__leaf__,__warn_unused_result__,__artificial__,__always_inline__)) extern inline unsigned long int wcrtomb(char *__restrict __s, signed int __wchar, struct __anonymous1 *__restrict __ps){
     627    __attribute__ ((unused)) unsigned long int ___retval_wcrtomb__Ul_1;
     628    if ( ((signed int )((((signed int )((__builtin_object_size(((const void *)__s), (2>((signed int )1)))!=((unsigned long int )(-((signed int )1))))!=((signed int )0))) && ((signed int )((((unsigned long int )16)>__builtin_object_size(((const void *)__s), (2>((signed int )1))))!=((signed int )0))))!=((signed int )0))) ) {
     629        unsigned long int _tmp_cp_ret38;
     630        ((void)(___retval_wcrtomb__Ul_1=(((void)(_tmp_cp_ret38=__wcrtomb_chk(__s, __wchar, __ps, __builtin_object_size(((const void *)__s), (2>((signed int )1)))))) , _tmp_cp_ret38)) /* ?{} */);
     631        ((void)(_tmp_cp_ret38) /* ^?{} */);
     632        return ((unsigned long int )___retval_wcrtomb__Ul_1);
     633    }
     634
     635    unsigned long int _tmp_cp_ret39;
     636    ((void)(___retval_wcrtomb__Ul_1=(((void)(_tmp_cp_ret39=__wcrtomb_alias(__s, __wchar, __ps))) , _tmp_cp_ret39)) /* ?{} */);
     637    ((void)(_tmp_cp_ret39) /* ^?{} */);
     638    return ((unsigned long int )___retval_wcrtomb__Ul_1);
     639}
     640__attribute__ ((__nothrow__,__leaf__)) extern unsigned long int __mbsrtowcs_chk(signed int *__restrict __dst, const char **__restrict __src, unsigned long int __len, struct __anonymous1 *__restrict __ps, unsigned long int __dstlen);
     641__attribute__ ((__nothrow__,__leaf__)) extern unsigned long int __mbsrtowcs_alias(signed int *__restrict __dst, const char **__restrict __src, unsigned long int __len, struct __anonymous1 *__restrict __ps) asm ( "" "mbsrtowcs" );
     642__attribute__ ((__nothrow__,__leaf__,__warning__("mbsrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) extern unsigned long int __mbsrtowcs_chk_warn(signed int *__restrict __dst, const char **__restrict __src, unsigned long int __len, struct __anonymous1 *__restrict __ps, unsigned long int __dstlen) asm ( "" "__mbsrtowcs_chk" );
     643__attribute__ ((__nothrow__,__leaf__,__artificial__,__always_inline__)) extern inline unsigned long int mbsrtowcs(signed int *__restrict __dst, const char **__restrict __src, unsigned long int __len, struct __anonymous1 *__restrict __ps){
     644    __attribute__ ((unused)) unsigned long int ___retval_mbsrtowcs__Ul_1;
     645    if ( ((signed int )((__builtin_object_size(((const void *)__dst), (2>((signed int )1)))!=((unsigned long int )(-((signed int )1))))!=((signed int )0))) ) {
     646        if ( ((signed int )((!__builtin_constant_p(__len))!=((signed int )0))) ) {
     647            unsigned long int _tmp_cp_ret40;
     648            ((void)(___retval_mbsrtowcs__Ul_1=(((void)(_tmp_cp_ret40=__mbsrtowcs_chk(__dst, __src, __len, __ps, (__builtin_object_size(((const void *)__dst), (2>((signed int )1)))/sizeof(signed int ))))) , _tmp_cp_ret40)) /* ?{} */);
     649            ((void)(_tmp_cp_ret40) /* ^?{} */);
     650            return ((unsigned long int )___retval_mbsrtowcs__Ul_1);
     651        }
     652
     653        if ( ((signed int )((__len>(__builtin_object_size(((const void *)__dst), (2>((signed int )1)))/sizeof(signed int )))!=((signed int )0))) ) {
     654            unsigned long int _tmp_cp_ret41;
     655            ((void)(___retval_mbsrtowcs__Ul_1=(((void)(_tmp_cp_ret41=__mbsrtowcs_chk_warn(__dst, __src, __len, __ps, (__builtin_object_size(((const void *)__dst), (2>((signed int )1)))/sizeof(signed int ))))) , _tmp_cp_ret41)) /* ?{} */);
     656            ((void)(_tmp_cp_ret41) /* ^?{} */);
     657            return ((unsigned long int )___retval_mbsrtowcs__Ul_1);
     658        }
     659
     660    }
     661
     662    unsigned long int _tmp_cp_ret42;
     663    ((void)(___retval_mbsrtowcs__Ul_1=(((void)(_tmp_cp_ret42=__mbsrtowcs_alias(__dst, __src, __len, __ps))) , _tmp_cp_ret42)) /* ?{} */);
     664    ((void)(_tmp_cp_ret42) /* ^?{} */);
     665    return ((unsigned long int )___retval_mbsrtowcs__Ul_1);
     666}
     667__attribute__ ((__nothrow__,__leaf__)) extern unsigned long int __wcsrtombs_chk(char *__restrict __dst, const signed int **__restrict __src, unsigned long int __len, struct __anonymous1 *__restrict __ps, unsigned long int __dstlen);
     668__attribute__ ((__nothrow__,__leaf__)) extern unsigned long int __wcsrtombs_alias(char *__restrict __dst, const signed int **__restrict __src, unsigned long int __len, struct __anonymous1 *__restrict __ps) asm ( "" "wcsrtombs" );
     669__attribute__ ((__nothrow__,__leaf__,__warning__("wcsrtombs called with dst buffer smaller than len"))) extern unsigned long int __wcsrtombs_chk_warn(char *__restrict __dst, const signed int **__restrict __src, unsigned long int __len, struct __anonymous1 *__restrict __ps, unsigned long int __dstlen) asm ( "" "__wcsrtombs_chk" );
     670__attribute__ ((__nothrow__,__leaf__,__artificial__,__always_inline__)) extern inline unsigned long int wcsrtombs(char *__restrict __dst, const signed int **__restrict __src, unsigned long int __len, struct __anonymous1 *__restrict __ps){
     671    __attribute__ ((unused)) unsigned long int ___retval_wcsrtombs__Ul_1;
     672    if ( ((signed int )((__builtin_object_size(((const void *)__dst), (2>((signed int )1)))!=((unsigned long int )(-((signed int )1))))!=((signed int )0))) ) {
     673        if ( ((signed int )((!__builtin_constant_p(__len))!=((signed int )0))) ) {
     674            unsigned long int _tmp_cp_ret43;
     675            ((void)(___retval_wcsrtombs__Ul_1=(((void)(_tmp_cp_ret43=__wcsrtombs_chk(__dst, __src, __len, __ps, __builtin_object_size(((const void *)__dst), (2>((signed int )1)))))) , _tmp_cp_ret43)) /* ?{} */);
     676            ((void)(_tmp_cp_ret43) /* ^?{} */);
     677            return ((unsigned long int )___retval_wcsrtombs__Ul_1);
     678        }
     679
     680        if ( ((signed int )((__len>__builtin_object_size(((const void *)__dst), (2>((signed int )1))))!=((signed int )0))) ) {
     681            unsigned long int _tmp_cp_ret44;
     682            ((void)(___retval_wcsrtombs__Ul_1=(((void)(_tmp_cp_ret44=__wcsrtombs_chk_warn(__dst, __src, __len, __ps, __builtin_object_size(((const void *)__dst), (2>((signed int )1)))))) , _tmp_cp_ret44)) /* ?{} */);
     683            ((void)(_tmp_cp_ret44) /* ^?{} */);
     684            return ((unsigned long int )___retval_wcsrtombs__Ul_1);
     685        }
     686
     687    }
     688
     689    unsigned long int _tmp_cp_ret45;
     690    ((void)(___retval_wcsrtombs__Ul_1=(((void)(_tmp_cp_ret45=__wcsrtombs_alias(__dst, __src, __len, __ps))) , _tmp_cp_ret45)) /* ?{} */);
     691    ((void)(_tmp_cp_ret45) /* ^?{} */);
     692    return ((unsigned long int )___retval_wcsrtombs__Ul_1);
     693}
    7694void __for_each__A2_0_0_0____operator_assign__PFt0_Rt0t0____constructor__PF_Rt0____constructor__PF_Rt0t0____destructor__PF_Rt0____operator_assign__PFt1_Rt1t1____constructor__PF_Rt1____constructor__PF_Rt1t1____destructor__PF_Rt1____operator_preincr__PFt0_Rt0____operator_predecr__PFt0_Rt0____operator_equal__PFi_t0t0____operator_notequal__PFi_t0t0____operator_deref__PFRt1_t0__F_t0t0PF_t1___1(__attribute__ ((unused)) void (*_adapterF_9telt_type__P)(void (*__anonymous_object0)(), void *__anonymous_object1), __attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object2)(), void *__anonymous_object3), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object4)(), void *__anonymous_object5, void *__anonymous_object6), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object7)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object8), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object9)(), void *__anonymous_object10, void *__anonymous_object11), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object12)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object13, void *__anonymous_object14), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object15)(), void *__anonymous_object16, void *__anonymous_object17), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object18)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object19, void *__anonymous_object20), __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) void *(*___operator_assign__PF14titerator_type_R14titerator_type14titerator_type__1)(void *__anonymous_object21, void *__anonymous_object22), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type__1)(void *__anonymous_object23), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type14titerator_type__1)(void *__anonymous_object24, void *__anonymous_object25), __attribute__ ((unused)) void (*___destructor__PF_R14titerator_type__1)(void *__anonymous_object26), __attribute__ ((unused)) void *(*___operator_assign__PF9telt_type_R9telt_type9telt_type__1)(void *__anonymous_object27, void *__anonymous_object28), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type__1)(void *__anonymous_object29), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type9telt_type__1)(void *__anonymous_object30, void *__anonymous_object31), __attribute__ ((unused)) void (*___destructor__PF_R9telt_type__1)(void *__anonymous_object32), __attribute__ ((unused)) void *(*___operator_preincr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object33), __attribute__ ((unused)) void *(*___operator_predecr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object34), __attribute__ ((unused)) signed int (*___operator_equal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object35, void *__anonymous_object36), __attribute__ ((unused)) signed int (*___operator_notequal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object37, void *__anonymous_object38), __attribute__ ((unused)) void *(*___operator_deref__PFR9telt_type_14titerator_type__1)(void *__anonymous_object39), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void (*__func__PF_9telt_type__1)(void *__anonymous_object40));
    8695void __for_each_reverse__A2_0_0_0____operator_assign__PFt0_Rt0t0____constructor__PF_Rt0____constructor__PF_Rt0t0____destructor__PF_Rt0____operator_assign__PFt1_Rt1t1____constructor__PF_Rt1____constructor__PF_Rt1t1____destructor__PF_Rt1____operator_preincr__PFt0_Rt0____operator_predecr__PFt0_Rt0____operator_equal__PFi_t0t0____operator_notequal__PFi_t0t0____operator_deref__PFRt1_t0__F_t0t0PF_t1___1(__attribute__ ((unused)) void (*_adapterF_9telt_type__P)(void (*__anonymous_object41)(), void *__anonymous_object42), __attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object43)(), void *__anonymous_object44), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object45)(), void *__anonymous_object46, void *__anonymous_object47), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object48)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object49), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object50)(), void *__anonymous_object51, void *__anonymous_object52), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object53)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object54, void *__anonymous_object55), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object56)(), void *__anonymous_object57, void *__anonymous_object58), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object59)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object60, void *__anonymous_object61), __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) void *(*___operator_assign__PF14titerator_type_R14titerator_type14titerator_type__1)(void *__anonymous_object62, void *__anonymous_object63), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type__1)(void *__anonymous_object64), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type14titerator_type__1)(void *__anonymous_object65, void *__anonymous_object66), __attribute__ ((unused)) void (*___destructor__PF_R14titerator_type__1)(void *__anonymous_object67), __attribute__ ((unused)) void *(*___operator_assign__PF9telt_type_R9telt_type9telt_type__1)(void *__anonymous_object68, void *__anonymous_object69), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type__1)(void *__anonymous_object70), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type9telt_type__1)(void *__anonymous_object71, void *__anonymous_object72), __attribute__ ((unused)) void (*___destructor__PF_R9telt_type__1)(void *__anonymous_object73), __attribute__ ((unused)) void *(*___operator_preincr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object74), __attribute__ ((unused)) void *(*___operator_predecr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object75), __attribute__ ((unused)) signed int (*___operator_equal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object76, void *__anonymous_object77), __attribute__ ((unused)) signed int (*___operator_notequal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object78, void *__anonymous_object79), __attribute__ ((unused)) void *(*___operator_deref__PFR9telt_type_14titerator_type__1)(void *__anonymous_object80), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void (*__func__PF_9telt_type__1)(void *__anonymous_object81));
     
    121808struct _Istream_cstrC __cstr__F15s_Istream_cstrC_Pci__1(char *__anonymous_object1283, signed int __size__i_1);
    122809void *___operator_bitor__A0_1_0_0___fail__PFi_Pd0___eof__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___read__PFPd0_Pd0PcUl___ungetc__PFPd0_Pd0c___fmt__PFi_Pd0PCc__FPd0_Pd015s_Istream_cstrC__1(__attribute__ ((unused)) signed int (*__fail__PFi_P7tistype__1)(void *__anonymous_object1284), __attribute__ ((unused)) signed int (*__eof__PFi_P7tistype__1)(void *__anonymous_object1285), __attribute__ ((unused)) void (*__open__PF_P7tistypePCcPCc__1)(void *__is__P7tistype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_P7tistype__1)(void *__is__P7tistype_1), __attribute__ ((unused)) void *(*__read__PFP7tistype_P7tistypePcUl__1)(void *__anonymous_object1286, char *__anonymous_object1287, unsigned long int __anonymous_object1288), __attribute__ ((unused)) void *(*__ungetc__PFP7tistype_P7tistypec__1)(void *__anonymous_object1289, char __anonymous_object1290), __attribute__ ((unused)) signed int (*__fmt__PFi_P7tistypePCc__1)(void *__anonymous_object1291, const char *__fmt__PCc_1, ...), void *__anonymous_object1292, struct _Istream_cstrC __anonymous_object1293);
    123 enum __anonymous0 {
    124     __sepSize__C13e__anonymous0_1 = ((signed int )16),
     810enum __anonymous2 {
     811    __sepSize__C13e__anonymous2_1 = ((signed int )16),
    125812};
    126813struct ofstream {
     
    130817    _Bool __sawNL__b_1;
    131818    const char *__sepCur__PCc_1;
    132     char __separator__A0c_1[((unsigned long int )__sepSize__C13e__anonymous0_1)];
    133     char __tupleSeparator__A0c_1[((unsigned long int )__sepSize__C13e__anonymous0_1)];
     819    char __separator__A0c_1[((unsigned long int )__sepSize__C13e__anonymous2_1)];
     820    char __tupleSeparator__A0c_1[((unsigned long int )__sepSize__C13e__anonymous2_1)];
    134821};
    135822static inline void ___constructor__F_R9sofstream_autogen___1(struct ofstream *___dst__R9sofstream_1);
     
    144831    ((void)((*___dst__R9sofstream_1).__sepCur__PCc_1) /* ?{} */);
    145832    {
    146         signed int _index0 = ((signed int )0);
    147         for (;(_index0<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index0))) {
    148             ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[((signed long int )_index0)])))) /* ?{} */);
    149         }
    150 
    151     }
    152     {
    153         signed int _index1 = ((signed int )0);
    154         for (;(_index1<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index1))) {
    155             ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index1)])))) /* ?{} */);
     833        signed int _index18 = ((signed int )0);
     834        for (;(_index18<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index18))) {
     835            ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[((signed long int )_index18)])))) /* ?{} */);
     836        }
     837
     838    }
     839    {
     840        signed int _index19 = ((signed int )0);
     841        for (;(_index19<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index19))) {
     842            ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index19)])))) /* ?{} */);
    156843        }
    157844
     
    165852    ((void)((*___dst__R9sofstream_1).__sepCur__PCc_1=___src__9sofstream_1.__sepCur__PCc_1) /* ?{} */);
    166853    {
    167         signed int _index2 = ((signed int )0);
    168         for (;(_index2<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index2))) {
    169             ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[((signed long int )_index2)])))=___src__9sofstream_1.__separator__A0c_1[((signed long int )_index2)]) /* ?{} */);
    170         }
    171 
    172     }
    173     {
    174         signed int _index3 = ((signed int )0);
    175         for (;(_index3<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index3))) {
    176             ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index3)])))=___src__9sofstream_1.__tupleSeparator__A0c_1[((signed long int )_index3)]) /* ?{} */);
     854        signed int _index20 = ((signed int )0);
     855        for (;(_index20<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index20))) {
     856            ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[((signed long int )_index20)])))=___src__9sofstream_1.__separator__A0c_1[((signed long int )_index20)]) /* ?{} */);
     857        }
     858
     859    }
     860    {
     861        signed int _index21 = ((signed int )0);
     862        for (;(_index21<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index21))) {
     863            ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index21)])))=___src__9sofstream_1.__tupleSeparator__A0c_1[((signed long int )_index21)]) /* ?{} */);
    177864        }
    178865
     
    181868static inline void ___destructor__F_R9sofstream_autogen___1(struct ofstream *___dst__R9sofstream_1){
    182869    {
    183         signed int _index4 = ((signed int )(((signed int )__sepSize__C13e__anonymous0_1)-1));
    184         for (;(_index4>=0);((void)(--_index4))) {
    185             ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index4)])))) /* ^?{} */);
    186         }
    187 
    188     }
    189     {
    190         signed int _index5 = ((signed int )(((signed int )__sepSize__C13e__anonymous0_1)-1));
    191         for (;(_index5>=0);((void)(--_index5))) {
    192             ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[((signed long int )_index5)])))) /* ^?{} */);
     870        signed int _index22 = ((signed int )(((signed int )__sepSize__C13e__anonymous2_1)-1));
     871        for (;(_index22>=0);((void)(--_index22))) {
     872            ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index22)])))) /* ^?{} */);
     873        }
     874
     875    }
     876    {
     877        signed int _index23 = ((signed int )(((signed int )__sepSize__C13e__anonymous2_1)-1));
     878        for (;(_index23>=0);((void)(--_index23))) {
     879            ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[((signed long int )_index23)])))) /* ^?{} */);
    193880        }
    194881
     
    208895    ((void)((*___dst__R9sofstream_1).__sepCur__PCc_1=___src__9sofstream_1.__sepCur__PCc_1));
    209896    {
    210         signed int _index6 = ((signed int )0);
    211         for (;(_index6<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index6))) {
    212             ((void)((*___dst__R9sofstream_1).__separator__A0c_1[((signed long int )_index6)]=___src__9sofstream_1.__separator__A0c_1[((signed long int )_index6)]));
    213         }
    214 
    215     }
    216 
    217     {
    218         signed int _index7 = ((signed int )0);
    219         for (;(_index7<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index7))) {
    220             ((void)((*___dst__R9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index7)]=___src__9sofstream_1.__tupleSeparator__A0c_1[((signed long int )_index7)]));
     897        signed int _index24 = ((signed int )0);
     898        for (;(_index24<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index24))) {
     899            ((void)((*___dst__R9sofstream_1).__separator__A0c_1[((signed long int )_index24)]=___src__9sofstream_1.__separator__A0c_1[((signed long int )_index24)]));
     900        }
     901
     902    }
     903
     904    {
     905        signed int _index25 = ((signed int )0);
     906        for (;(_index25<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index25))) {
     907            ((void)((*___dst__R9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index25)]=___src__9sofstream_1.__tupleSeparator__A0c_1[((signed long int )_index25)]));
    221908        }
    222909
     
    233920    ((void)((*___dst__R9sofstream_1).__sepCur__PCc_1) /* ?{} */);
    234921    {
    235         signed int _index8 = ((signed int )0);
    236         for (;(_index8<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index8))) {
    237             ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[((signed long int )_index8)])))) /* ?{} */);
    238         }
    239 
    240     }
    241     {
    242         signed int _index9 = ((signed int )0);
    243         for (;(_index9<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index9))) {
    244             ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index9)])))) /* ?{} */);
     922        signed int _index26 = ((signed int )0);
     923        for (;(_index26<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index26))) {
     924            ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[((signed long int )_index26)])))) /* ?{} */);
     925        }
     926
     927    }
     928    {
     929        signed int _index27 = ((signed int )0);
     930        for (;(_index27<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index27))) {
     931            ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index27)])))) /* ?{} */);
    245932        }
    246933
     
    254941    ((void)((*___dst__R9sofstream_1).__sepCur__PCc_1) /* ?{} */);
    255942    {
    256         signed int _index10 = ((signed int )0);
    257         for (;(_index10<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index10))) {
    258             ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[((signed long int )_index10)])))) /* ?{} */);
    259         }
    260 
    261     }
    262     {
    263         signed int _index11 = ((signed int )0);
    264         for (;(_index11<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index11))) {
    265             ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index11)])))) /* ?{} */);
     943        signed int _index28 = ((signed int )0);
     944        for (;(_index28<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index28))) {
     945            ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[((signed long int )_index28)])))) /* ?{} */);
     946        }
     947
     948    }
     949    {
     950        signed int _index29 = ((signed int )0);
     951        for (;(_index29<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index29))) {
     952            ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index29)])))) /* ?{} */);
    266953        }
    267954
     
    275962    ((void)((*___dst__R9sofstream_1).__sepCur__PCc_1) /* ?{} */);
    276963    {
    277         signed int _index12 = ((signed int )0);
    278         for (;(_index12<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index12))) {
    279             ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[((signed long int )_index12)])))) /* ?{} */);
    280         }
    281 
    282     }
    283     {
    284         signed int _index13 = ((signed int )0);
    285         for (;(_index13<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index13))) {
    286             ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index13)])))) /* ?{} */);
     964        signed int _index30 = ((signed int )0);
     965        for (;(_index30<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index30))) {
     966            ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[((signed long int )_index30)])))) /* ?{} */);
     967        }
     968
     969    }
     970    {
     971        signed int _index31 = ((signed int )0);
     972        for (;(_index31<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index31))) {
     973            ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index31)])))) /* ?{} */);
    287974        }
    288975
     
    296983    ((void)((*___dst__R9sofstream_1).__sepCur__PCc_1) /* ?{} */);
    297984    {
    298         signed int _index14 = ((signed int )0);
    299         for (;(_index14<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index14))) {
    300             ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[((signed long int )_index14)])))) /* ?{} */);
    301         }
    302 
    303     }
    304     {
    305         signed int _index15 = ((signed int )0);
    306         for (;(_index15<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index15))) {
    307             ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index15)])))) /* ?{} */);
     985        signed int _index32 = ((signed int )0);
     986        for (;(_index32<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index32))) {
     987            ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[((signed long int )_index32)])))) /* ?{} */);
     988        }
     989
     990    }
     991    {
     992        signed int _index33 = ((signed int )0);
     993        for (;(_index33<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index33))) {
     994            ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index33)])))) /* ?{} */);
    308995        }
    309996
     
    3171004    ((void)((*___dst__R9sofstream_1).__sepCur__PCc_1=__sepCur__PCc_1) /* ?{} */);
    3181005    {
    319         signed int _index16 = ((signed int )0);
    320         for (;(_index16<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index16))) {
    321             ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[((signed long int )_index16)])))) /* ?{} */);
    322         }
    323 
    324     }
    325     {
    326         signed int _index17 = ((signed int )0);
    327         for (;(_index17<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index17))) {
    328             ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index17)])))) /* ?{} */);
    329         }
    330 
    331     }
    332 }
    333 static inline void ___constructor__F_R9sofstreamPvbbbPCcA0c_autogen___1(struct ofstream *___dst__R9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1, const char *__sepCur__PCc_1, char __separator__A0c_1[((unsigned long int )__sepSize__C13e__anonymous0_1)]){
     1006        signed int _index34 = ((signed int )0);
     1007        for (;(_index34<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index34))) {
     1008            ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[((signed long int )_index34)])))) /* ?{} */);
     1009        }
     1010
     1011    }
     1012    {
     1013        signed int _index35 = ((signed int )0);
     1014        for (;(_index35<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index35))) {
     1015            ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index35)])))) /* ?{} */);
     1016        }
     1017
     1018    }
     1019}
     1020static inline void ___constructor__F_R9sofstreamPvbbbPCcA0c_autogen___1(struct ofstream *___dst__R9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1, const char *__sepCur__PCc_1, char __separator__A0c_1[((unsigned long int )__sepSize__C13e__anonymous2_1)]){
    3341021    ((void)((*___dst__R9sofstream_1).__file__Pv_1=__file__Pv_1) /* ?{} */);
    3351022    ((void)((*___dst__R9sofstream_1).__sepDefault__b_1=__sepDefault__b_1) /* ?{} */);
     
    3381025    ((void)((*___dst__R9sofstream_1).__sepCur__PCc_1=__sepCur__PCc_1) /* ?{} */);
    3391026    {
    340         signed int _index18 = ((signed int )0);
    341         for (;(_index18<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index18))) {
    342             ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[((signed long int )_index18)])))=__separator__A0c_1[((signed long int )_index18)]) /* ?{} */);
    343         }
    344 
    345     }
    346     {
    347         signed int _index19 = ((signed int )0);
    348         for (;(_index19<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index19))) {
    349             ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index19)])))) /* ?{} */);
    350         }
    351 
    352     }
    353 }
    354 static inline void ___constructor__F_R9sofstreamPvbbbPCcA0cA0c_autogen___1(struct ofstream *___dst__R9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1, const char *__sepCur__PCc_1, char __separator__A0c_1[((unsigned long int )__sepSize__C13e__anonymous0_1)], char __tupleSeparator__A0c_1[((unsigned long int )__sepSize__C13e__anonymous0_1)]){
     1027        signed int _index36 = ((signed int )0);
     1028        for (;(_index36<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index36))) {
     1029            ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[((signed long int )_index36)])))=__separator__A0c_1[((signed long int )_index36)]) /* ?{} */);
     1030        }
     1031
     1032    }
     1033    {
     1034        signed int _index37 = ((signed int )0);
     1035        for (;(_index37<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index37))) {
     1036            ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index37)])))) /* ?{} */);
     1037        }
     1038
     1039    }
     1040}
     1041static inline void ___constructor__F_R9sofstreamPvbbbPCcA0cA0c_autogen___1(struct ofstream *___dst__R9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1, const char *__sepCur__PCc_1, char __separator__A0c_1[((unsigned long int )__sepSize__C13e__anonymous2_1)], char __tupleSeparator__A0c_1[((unsigned long int )__sepSize__C13e__anonymous2_1)]){
    3551042    ((void)((*___dst__R9sofstream_1).__file__Pv_1=__file__Pv_1) /* ?{} */);
    3561043    ((void)((*___dst__R9sofstream_1).__sepDefault__b_1=__sepDefault__b_1) /* ?{} */);
     
    3591046    ((void)((*___dst__R9sofstream_1).__sepCur__PCc_1=__sepCur__PCc_1) /* ?{} */);
    3601047    {
    361         signed int _index20 = ((signed int )0);
    362         for (;(_index20<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index20))) {
    363             ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[((signed long int )_index20)])))=__separator__A0c_1[((signed long int )_index20)]) /* ?{} */);
    364         }
    365 
    366     }
    367     {
    368         signed int _index21 = ((signed int )0);
    369         for (;(_index21<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index21))) {
    370             ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index21)])))=__tupleSeparator__A0c_1[((signed long int )_index21)]) /* ?{} */);
     1048        signed int _index38 = ((signed int )0);
     1049        for (;(_index38<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index38))) {
     1050            ((void)((*((char *)(&(*___dst__R9sofstream_1).__separator__A0c_1[((signed long int )_index38)])))=__separator__A0c_1[((signed long int )_index38)]) /* ?{} */);
     1051        }
     1052
     1053    }
     1054    {
     1055        signed int _index39 = ((signed int )0);
     1056        for (;(_index39<((signed int )__sepSize__C13e__anonymous2_1));((void)(++_index39))) {
     1057            ((void)((*((char *)(&(*___dst__R9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index39)])))=__tupleSeparator__A0c_1[((signed long int )_index39)]) /* ?{} */);
    3711058        }
    3721059
     
    4311118extern struct ifstream *__sin__P9sifstream_1;
    4321119void __f__F_c__1(char __v__c_1){
    433     struct ofstream *_tmp_cp_ret0;
    434     struct ofstream *_tmp_cp_ret1;
    435     struct ofstream *_tmp_cp_ret2;
     1120    struct ofstream *_tmp_cp_ret46;
     1121    struct ofstream *_tmp_cp_ret47;
     1122    struct ofstream *_tmp_cp_ret48;
    4361123    __attribute__ ((unused)) struct ofstream *_thunk0(struct ofstream *_p0){
    4371124        return __endl__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0__1(((_Bool (*)(void *__anonymous_object1322))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1323))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1324, _Bool __anonymous_object1325))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1326))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1327, const char *__anonymous_object1328))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1329))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1330, _Bool __anonymous_object1331))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1332))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1333))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1334))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1335))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1336))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1337, const char *__anonymous_object1338))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1339))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1340, const char *__anonymous_object1341))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1342))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1343))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1344, const char *__anonymous_object1345, unsigned long int __anonymous_object1346))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1347, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), _p0);
    4381125    }
    439     ((void)(((void)(_tmp_cp_ret2=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PFPd0_Pd0___1(((_Bool (*)(void *__anonymous_object1348))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1349))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1350, _Bool __anonymous_object1351))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1352))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1353, const char *__anonymous_object1354))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1355))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1356, _Bool __anonymous_object1357))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1358))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1359))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1360))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1361))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1362))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1363, const char *__anonymous_object1364))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1365))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1366, const char *__anonymous_object1367))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1368))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1369))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1370, const char *__anonymous_object1371, unsigned long int __anonymous_object1372))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1373, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret1=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0c__1(((_Bool (*)(void *__anonymous_object1374))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1375))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1376, _Bool __anonymous_object1377))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1378))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1379, const char *__anonymous_object1380))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1381))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1382, _Bool __anonymous_object1383))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1384))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1385))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1386))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1387))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1388))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1389, const char *__anonymous_object1390))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1391))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1392, const char *__anonymous_object1393))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1394))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1395))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1396, const char *__anonymous_object1397, unsigned long int __anonymous_object1398))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1399, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret0=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PCc__1(((_Bool (*)(void *__anonymous_object1400))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1401))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1402, _Bool __anonymous_object1403))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1404))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1405, const char *__anonymous_object1406))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1407))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1408, _Bool __anonymous_object1409))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1410))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1411))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1412))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1413))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1414))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1415, const char *__anonymous_object1416))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1417))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1418, const char *__anonymous_object1419))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1420))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1421))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1422, const char *__anonymous_object1423, unsigned long int __anonymous_object1424))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1425, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), __sout__P9sofstream_1, "char "))) , _tmp_cp_ret0), __v__c_1))) , _tmp_cp_ret1), ((void *(*)(void *__anonymous_object1426))(&_thunk0))))) , _tmp_cp_ret2));
    440     ((void)(_tmp_cp_ret0) /* ^?{} */);
    441     ((void)(_tmp_cp_ret1) /* ^?{} */);
    442     ((void)(_tmp_cp_ret2) /* ^?{} */);
     1126    ((void)(((void)(_tmp_cp_ret48=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PFPd0_Pd0___1(((_Bool (*)(void *__anonymous_object1348))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1349))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1350, _Bool __anonymous_object1351))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1352))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1353, const char *__anonymous_object1354))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1355))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1356, _Bool __anonymous_object1357))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1358))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1359))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1360))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1361))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1362))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1363, const char *__anonymous_object1364))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1365))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1366, const char *__anonymous_object1367))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1368))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1369))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1370, const char *__anonymous_object1371, unsigned long int __anonymous_object1372))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1373, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret47=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0c__1(((_Bool (*)(void *__anonymous_object1374))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1375))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1376, _Bool __anonymous_object1377))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1378))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1379, const char *__anonymous_object1380))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1381))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1382, _Bool __anonymous_object1383))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1384))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1385))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1386))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1387))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1388))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1389, const char *__anonymous_object1390))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1391))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1392, const char *__anonymous_object1393))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1394))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1395))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1396, const char *__anonymous_object1397, unsigned long int __anonymous_object1398))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1399, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret46=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PCc__1(((_Bool (*)(void *__anonymous_object1400))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1401))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1402, _Bool __anonymous_object1403))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1404))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1405, const char *__anonymous_object1406))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1407))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1408, _Bool __anonymous_object1409))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1410))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1411))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1412))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1413))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1414))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1415, const char *__anonymous_object1416))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1417))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1418, const char *__anonymous_object1419))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1420))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1421))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1422, const char *__anonymous_object1423, unsigned long int __anonymous_object1424))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1425, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), __sout__P9sofstream_1, "char "))) , _tmp_cp_ret46), __v__c_1))) , _tmp_cp_ret47), ((void *(*)(void *__anonymous_object1426))(&_thunk0))))) , _tmp_cp_ret48));
     1127    ((void)(_tmp_cp_ret46) /* ^?{} */);
     1128    ((void)(_tmp_cp_ret47) /* ^?{} */);
     1129    ((void)(_tmp_cp_ret48) /* ^?{} */);
    4431130}
    4441131void __f__F_Sc__1(signed char __v__Sc_1){
    445     struct ofstream *_tmp_cp_ret3;
    446     struct ofstream *_tmp_cp_ret4;
    447     struct ofstream *_tmp_cp_ret5;
     1132    struct ofstream *_tmp_cp_ret49;
     1133    struct ofstream *_tmp_cp_ret50;
     1134    struct ofstream *_tmp_cp_ret51;
    4481135    __attribute__ ((unused)) struct ofstream *_thunk1(struct ofstream *_p0){
    4491136        return __endl__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0__1(((_Bool (*)(void *__anonymous_object1427))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1428))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1429, _Bool __anonymous_object1430))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1431))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1432, const char *__anonymous_object1433))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1434))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1435, _Bool __anonymous_object1436))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1437))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1438))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1439))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1440))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1441))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1442, const char *__anonymous_object1443))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1444))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1445, const char *__anonymous_object1446))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1447))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1448))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1449, const char *__anonymous_object1450, unsigned long int __anonymous_object1451))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1452, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), _p0);
    4501137    }
    451     ((void)(((void)(_tmp_cp_ret5=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PFPd0_Pd0___1(((_Bool (*)(void *__anonymous_object1453))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1454))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1455, _Bool __anonymous_object1456))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1457))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1458, const char *__anonymous_object1459))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1460))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1461, _Bool __anonymous_object1462))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1463))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1464))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1465))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1466))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1467))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1468, const char *__anonymous_object1469))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1470))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1471, const char *__anonymous_object1472))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1473))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1474))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1475, const char *__anonymous_object1476, unsigned long int __anonymous_object1477))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1478, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret4=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0Sc__1(((_Bool (*)(void *__anonymous_object1479))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1480))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1481, _Bool __anonymous_object1482))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1483))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1484, const char *__anonymous_object1485))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1486))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1487, _Bool __anonymous_object1488))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1489))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1490))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1491))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1492))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1493))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1494, const char *__anonymous_object1495))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1496))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1497, const char *__anonymous_object1498))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1499))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1500))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1501, const char *__anonymous_object1502, unsigned long int __anonymous_object1503))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1504, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret3=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PCc__1(((_Bool (*)(void *__anonymous_object1505))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1506))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1507, _Bool __anonymous_object1508))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1509))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1510, const char *__anonymous_object1511))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1512))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1513, _Bool __anonymous_object1514))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1515))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1516))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1517))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1518))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1519))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1520, const char *__anonymous_object1521))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1522))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1523, const char *__anonymous_object1524))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1525))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1526))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1527, const char *__anonymous_object1528, unsigned long int __anonymous_object1529))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1530, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), __sout__P9sofstream_1, "signed char "))) , _tmp_cp_ret3), __v__Sc_1))) , _tmp_cp_ret4), ((void *(*)(void *__anonymous_object1531))(&_thunk1))))) , _tmp_cp_ret5));
    452     ((void)(_tmp_cp_ret3) /* ^?{} */);
    453     ((void)(_tmp_cp_ret4) /* ^?{} */);
    454     ((void)(_tmp_cp_ret5) /* ^?{} */);
     1138    ((void)(((void)(_tmp_cp_ret51=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PFPd0_Pd0___1(((_Bool (*)(void *__anonymous_object1453))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1454))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1455, _Bool __anonymous_object1456))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1457))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1458, const char *__anonymous_object1459))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1460))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1461, _Bool __anonymous_object1462))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1463))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1464))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1465))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1466))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1467))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1468, const char *__anonymous_object1469))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1470))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1471, const char *__anonymous_object1472))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1473))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1474))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1475, const char *__anonymous_object1476, unsigned long int __anonymous_object1477))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1478, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret50=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0Sc__1(((_Bool (*)(void *__anonymous_object1479))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1480))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1481, _Bool __anonymous_object1482))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1483))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1484, const char *__anonymous_object1485))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1486))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1487, _Bool __anonymous_object1488))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1489))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1490))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1491))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1492))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1493))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1494, const char *__anonymous_object1495))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1496))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1497, const char *__anonymous_object1498))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1499))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1500))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1501, const char *__anonymous_object1502, unsigned long int __anonymous_object1503))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1504, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret49=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PCc__1(((_Bool (*)(void *__anonymous_object1505))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1506))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1507, _Bool __anonymous_object1508))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1509))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1510, const char *__anonymous_object1511))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1512))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1513, _Bool __anonymous_object1514))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1515))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1516))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1517))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1518))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1519))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1520, const char *__anonymous_object1521))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1522))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1523, const char *__anonymous_object1524))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1525))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1526))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1527, const char *__anonymous_object1528, unsigned long int __anonymous_object1529))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1530, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), __sout__P9sofstream_1, "signed char "))) , _tmp_cp_ret49), __v__Sc_1))) , _tmp_cp_ret50), ((void *(*)(void *__anonymous_object1531))(&_thunk1))))) , _tmp_cp_ret51));
     1139    ((void)(_tmp_cp_ret49) /* ^?{} */);
     1140    ((void)(_tmp_cp_ret50) /* ^?{} */);
     1141    ((void)(_tmp_cp_ret51) /* ^?{} */);
    4551142}
    4561143void __f__F_Uc__1(unsigned char __v__Uc_1){
    457     struct ofstream *_tmp_cp_ret6;
    458     struct ofstream *_tmp_cp_ret7;
    459     struct ofstream *_tmp_cp_ret8;
     1144    struct ofstream *_tmp_cp_ret52;
     1145    struct ofstream *_tmp_cp_ret53;
     1146    struct ofstream *_tmp_cp_ret54;
    4601147    __attribute__ ((unused)) struct ofstream *_thunk2(struct ofstream *_p0){
    4611148        return __endl__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0__1(((_Bool (*)(void *__anonymous_object1532))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1533))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1534, _Bool __anonymous_object1535))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1536))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1537, const char *__anonymous_object1538))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1539))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1540, _Bool __anonymous_object1541))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1542))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1543))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1544))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1545))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1546))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1547, const char *__anonymous_object1548))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1549))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1550, const char *__anonymous_object1551))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1552))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1553))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1554, const char *__anonymous_object1555, unsigned long int __anonymous_object1556))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1557, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), _p0);
    4621149    }
    463     ((void)(((void)(_tmp_cp_ret8=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PFPd0_Pd0___1(((_Bool (*)(void *__anonymous_object1558))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1559))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1560, _Bool __anonymous_object1561))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1562))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1563, const char *__anonymous_object1564))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1565))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1566, _Bool __anonymous_object1567))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1568))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1569))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1570))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1571))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1572))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1573, const char *__anonymous_object1574))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1575))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1576, const char *__anonymous_object1577))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1578))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1579))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1580, const char *__anonymous_object1581, unsigned long int __anonymous_object1582))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1583, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret7=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0Uc__1(((_Bool (*)(void *__anonymous_object1584))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1585))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1586, _Bool __anonymous_object1587))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1588))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1589, const char *__anonymous_object1590))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1591))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1592, _Bool __anonymous_object1593))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1594))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1595))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1596))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1597))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1598))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1599, const char *__anonymous_object1600))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1601))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1602, const char *__anonymous_object1603))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1604))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1605))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1606, const char *__anonymous_object1607, unsigned long int __anonymous_object1608))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1609, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret6=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PCc__1(((_Bool (*)(void *__anonymous_object1610))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1611))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1612, _Bool __anonymous_object1613))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1614))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1615, const char *__anonymous_object1616))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1617))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1618, _Bool __anonymous_object1619))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1620))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1621))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1622))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1623))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1624))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1625, const char *__anonymous_object1626))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1627))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1628, const char *__anonymous_object1629))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1630))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1631))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1632, const char *__anonymous_object1633, unsigned long int __anonymous_object1634))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1635, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), __sout__P9sofstream_1, "unsigned char "))) , _tmp_cp_ret6), __v__Uc_1))) , _tmp_cp_ret7), ((void *(*)(void *__anonymous_object1636))(&_thunk2))))) , _tmp_cp_ret8));
    464     ((void)(_tmp_cp_ret6) /* ^?{} */);
    465     ((void)(_tmp_cp_ret7) /* ^?{} */);
    466     ((void)(_tmp_cp_ret8) /* ^?{} */);
     1150    ((void)(((void)(_tmp_cp_ret54=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PFPd0_Pd0___1(((_Bool (*)(void *__anonymous_object1558))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1559))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1560, _Bool __anonymous_object1561))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1562))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1563, const char *__anonymous_object1564))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1565))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1566, _Bool __anonymous_object1567))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1568))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1569))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1570))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1571))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1572))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1573, const char *__anonymous_object1574))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1575))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1576, const char *__anonymous_object1577))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1578))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1579))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1580, const char *__anonymous_object1581, unsigned long int __anonymous_object1582))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1583, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret53=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0Uc__1(((_Bool (*)(void *__anonymous_object1584))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1585))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1586, _Bool __anonymous_object1587))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1588))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1589, const char *__anonymous_object1590))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1591))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1592, _Bool __anonymous_object1593))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1594))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1595))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1596))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1597))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1598))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1599, const char *__anonymous_object1600))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1601))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1602, const char *__anonymous_object1603))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1604))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1605))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1606, const char *__anonymous_object1607, unsigned long int __anonymous_object1608))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1609, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret52=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PCc__1(((_Bool (*)(void *__anonymous_object1610))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1611))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1612, _Bool __anonymous_object1613))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1614))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1615, const char *__anonymous_object1616))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1617))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1618, _Bool __anonymous_object1619))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1620))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1621))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1622))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1623))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1624))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1625, const char *__anonymous_object1626))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1627))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1628, const char *__anonymous_object1629))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1630))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1631))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1632, const char *__anonymous_object1633, unsigned long int __anonymous_object1634))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1635, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), __sout__P9sofstream_1, "unsigned char "))) , _tmp_cp_ret52), __v__Uc_1))) , _tmp_cp_ret53), ((void *(*)(void *__anonymous_object1636))(&_thunk2))))) , _tmp_cp_ret54));
     1151    ((void)(_tmp_cp_ret52) /* ^?{} */);
     1152    ((void)(_tmp_cp_ret53) /* ^?{} */);
     1153    ((void)(_tmp_cp_ret54) /* ^?{} */);
    4671154}
    4681155void __f__F_s__1(signed short int __v__s_1){
    469     struct ofstream *_tmp_cp_ret9;
    470     struct ofstream *_tmp_cp_ret10;
    471     struct ofstream *_tmp_cp_ret11;
     1156    struct ofstream *_tmp_cp_ret55;
     1157    struct ofstream *_tmp_cp_ret56;
     1158    struct ofstream *_tmp_cp_ret57;
    4721159    __attribute__ ((unused)) struct ofstream *_thunk3(struct ofstream *_p0){
    4731160        return __endl__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0__1(((_Bool (*)(void *__anonymous_object1637))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1638))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1639, _Bool __anonymous_object1640))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1641))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1642, const char *__anonymous_object1643))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1644))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1645, _Bool __anonymous_object1646))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1647))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1648))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1649))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1650))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1651))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1652, const char *__anonymous_object1653))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1654))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1655, const char *__anonymous_object1656))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1657))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1658))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1659, const char *__anonymous_object1660, unsigned long int __anonymous_object1661))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1662, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), _p0);
    4741161    }
    475     ((void)(((void)(_tmp_cp_ret11=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PFPd0_Pd0___1(((_Bool (*)(void *__anonymous_object1663))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1664))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1665, _Bool __anonymous_object1666))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1667))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1668, const char *__anonymous_object1669))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1670))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1671, _Bool __anonymous_object1672))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1673))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1674))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1675))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1676))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1677))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1678, const char *__anonymous_object1679))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1680))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1681, const char *__anonymous_object1682))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1683))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1684))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1685, const char *__anonymous_object1686, unsigned long int __anonymous_object1687))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1688, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret10=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0s__1(((_Bool (*)(void *__anonymous_object1689))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1690))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1691, _Bool __anonymous_object1692))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1693))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1694, const char *__anonymous_object1695))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1696))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1697, _Bool __anonymous_object1698))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1699))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1700))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1701))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1702))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1703))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1704, const char *__anonymous_object1705))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1706))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1707, const char *__anonymous_object1708))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1709))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1710))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1711, const char *__anonymous_object1712, unsigned long int __anonymous_object1713))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1714, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret9=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PCc__1(((_Bool (*)(void *__anonymous_object1715))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1716))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1717, _Bool __anonymous_object1718))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1719))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1720, const char *__anonymous_object1721))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1722))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1723, _Bool __anonymous_object1724))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1725))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1726))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1727))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1728))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1729))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1730, const char *__anonymous_object1731))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1732))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1733, const char *__anonymous_object1734))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1735))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1736))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1737, const char *__anonymous_object1738, unsigned long int __anonymous_object1739))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1740, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), __sout__P9sofstream_1, "signed short int"))) , _tmp_cp_ret9), __v__s_1))) , _tmp_cp_ret10), ((void *(*)(void *__anonymous_object1741))(&_thunk3))))) , _tmp_cp_ret11));
    476     ((void)(_tmp_cp_ret9) /* ^?{} */);
    477     ((void)(_tmp_cp_ret10) /* ^?{} */);
    478     ((void)(_tmp_cp_ret11) /* ^?{} */);
     1162    ((void)(((void)(_tmp_cp_ret57=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PFPd0_Pd0___1(((_Bool (*)(void *__anonymous_object1663))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1664))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1665, _Bool __anonymous_object1666))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1667))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1668, const char *__anonymous_object1669))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1670))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1671, _Bool __anonymous_object1672))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1673))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1674))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1675))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1676))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1677))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1678, const char *__anonymous_object1679))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1680))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1681, const char *__anonymous_object1682))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1683))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1684))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1685, const char *__anonymous_object1686, unsigned long int __anonymous_object1687))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1688, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret56=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0s__1(((_Bool (*)(void *__anonymous_object1689))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1690))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1691, _Bool __anonymous_object1692))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1693))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1694, const char *__anonymous_object1695))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1696))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1697, _Bool __anonymous_object1698))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1699))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1700))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1701))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1702))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1703))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1704, const char *__anonymous_object1705))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1706))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1707, const char *__anonymous_object1708))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1709))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1710))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1711, const char *__anonymous_object1712, unsigned long int __anonymous_object1713))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1714, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret55=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PCc__1(((_Bool (*)(void *__anonymous_object1715))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1716))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1717, _Bool __anonymous_object1718))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1719))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1720, const char *__anonymous_object1721))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1722))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1723, _Bool __anonymous_object1724))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1725))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1726))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1727))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1728))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1729))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1730, const char *__anonymous_object1731))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1732))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1733, const char *__anonymous_object1734))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1735))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1736))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1737, const char *__anonymous_object1738, unsigned long int __anonymous_object1739))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1740, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), __sout__P9sofstream_1, "signed short int"))) , _tmp_cp_ret55), __v__s_1))) , _tmp_cp_ret56), ((void *(*)(void *__anonymous_object1741))(&_thunk3))))) , _tmp_cp_ret57));
     1163    ((void)(_tmp_cp_ret55) /* ^?{} */);
     1164    ((void)(_tmp_cp_ret56) /* ^?{} */);
     1165    ((void)(_tmp_cp_ret57) /* ^?{} */);
    4791166}
    4801167void __f__F_Us__1(unsigned short int __v__Us_1){
    481     struct ofstream *_tmp_cp_ret12;
    482     struct ofstream *_tmp_cp_ret13;
    483     struct ofstream *_tmp_cp_ret14;
     1168    struct ofstream *_tmp_cp_ret58;
     1169    struct ofstream *_tmp_cp_ret59;
     1170    struct ofstream *_tmp_cp_ret60;
    4841171    __attribute__ ((unused)) struct ofstream *_thunk4(struct ofstream *_p0){
    4851172        return __endl__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0__1(((_Bool (*)(void *__anonymous_object1742))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1743))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1744, _Bool __anonymous_object1745))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1746))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1747, const char *__anonymous_object1748))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1749))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1750, _Bool __anonymous_object1751))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1752))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1753))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1754))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1755))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1756))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1757, const char *__anonymous_object1758))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1759))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1760, const char *__anonymous_object1761))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1762))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1763))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1764, const char *__anonymous_object1765, unsigned long int __anonymous_object1766))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1767, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), _p0);
    4861173    }
    487     ((void)(((void)(_tmp_cp_ret14=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PFPd0_Pd0___1(((_Bool (*)(void *__anonymous_object1768))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1769))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1770, _Bool __anonymous_object1771))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1772))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1773, const char *__anonymous_object1774))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1775))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1776, _Bool __anonymous_object1777))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1778))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1779))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1780))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1781))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1782))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1783, const char *__anonymous_object1784))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1785))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1786, const char *__anonymous_object1787))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1788))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1789))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1790, const char *__anonymous_object1791, unsigned long int __anonymous_object1792))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1793, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret13=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0Us__1(((_Bool (*)(void *__anonymous_object1794))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1795))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1796, _Bool __anonymous_object1797))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1798))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1799, const char *__anonymous_object1800))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1801))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1802, _Bool __anonymous_object1803))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1804))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1805))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1806))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1807))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1808))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1809, const char *__anonymous_object1810))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1811))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1812, const char *__anonymous_object1813))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1814))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1815))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1816, const char *__anonymous_object1817, unsigned long int __anonymous_object1818))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1819, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret12=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PCc__1(((_Bool (*)(void *__anonymous_object1820))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1821))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1822, _Bool __anonymous_object1823))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1824))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1825, const char *__anonymous_object1826))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1827))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1828, _Bool __anonymous_object1829))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1830))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1831))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1832))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1833))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1834))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1835, const char *__anonymous_object1836))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1837))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1838, const char *__anonymous_object1839))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1840))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1841))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1842, const char *__anonymous_object1843, unsigned long int __anonymous_object1844))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1845, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), __sout__P9sofstream_1, "unsigned short int"))) , _tmp_cp_ret12), __v__Us_1))) , _tmp_cp_ret13), ((void *(*)(void *__anonymous_object1846))(&_thunk4))))) , _tmp_cp_ret14));
    488     ((void)(_tmp_cp_ret12) /* ^?{} */);
    489     ((void)(_tmp_cp_ret13) /* ^?{} */);
    490     ((void)(_tmp_cp_ret14) /* ^?{} */);
     1174    ((void)(((void)(_tmp_cp_ret60=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PFPd0_Pd0___1(((_Bool (*)(void *__anonymous_object1768))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1769))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1770, _Bool __anonymous_object1771))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1772))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1773, const char *__anonymous_object1774))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1775))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1776, _Bool __anonymous_object1777))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1778))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1779))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1780))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1781))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1782))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1783, const char *__anonymous_object1784))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1785))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1786, const char *__anonymous_object1787))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1788))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1789))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1790, const char *__anonymous_object1791, unsigned long int __anonymous_object1792))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1793, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret59=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0Us__1(((_Bool (*)(void *__anonymous_object1794))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1795))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1796, _Bool __anonymous_object1797))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1798))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1799, const char *__anonymous_object1800))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1801))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1802, _Bool __anonymous_object1803))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1804))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1805))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1806))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1807))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1808))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1809, const char *__anonymous_object1810))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1811))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1812, const char *__anonymous_object1813))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1814))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1815))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1816, const char *__anonymous_object1817, unsigned long int __anonymous_object1818))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1819, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret58=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PCc__1(((_Bool (*)(void *__anonymous_object1820))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1821))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1822, _Bool __anonymous_object1823))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1824))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1825, const char *__anonymous_object1826))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1827))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1828, _Bool __anonymous_object1829))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1830))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1831))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1832))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1833))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1834))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1835, const char *__anonymous_object1836))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1837))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1838, const char *__anonymous_object1839))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1840))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1841))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1842, const char *__anonymous_object1843, unsigned long int __anonymous_object1844))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1845, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), __sout__P9sofstream_1, "unsigned short int"))) , _tmp_cp_ret58), __v__Us_1))) , _tmp_cp_ret59), ((void *(*)(void *__anonymous_object1846))(&_thunk4))))) , _tmp_cp_ret60));
     1175    ((void)(_tmp_cp_ret58) /* ^?{} */);
     1176    ((void)(_tmp_cp_ret59) /* ^?{} */);
     1177    ((void)(_tmp_cp_ret60) /* ^?{} */);
    4911178}
    4921179void __f__F_Ul__1(unsigned long int __v__Ul_1){
    493     struct ofstream *_tmp_cp_ret15;
    494     struct ofstream *_tmp_cp_ret16;
    495     struct ofstream *_tmp_cp_ret17;
     1180    struct ofstream *_tmp_cp_ret61;
     1181    struct ofstream *_tmp_cp_ret62;
     1182    struct ofstream *_tmp_cp_ret63;
    4961183    __attribute__ ((unused)) struct ofstream *_thunk5(struct ofstream *_p0){
    4971184        return __endl__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0__1(((_Bool (*)(void *__anonymous_object1847))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1848))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1849, _Bool __anonymous_object1850))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1851))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1852, const char *__anonymous_object1853))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1854))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1855, _Bool __anonymous_object1856))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1857))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1858))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1859))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1860))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1861))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1862, const char *__anonymous_object1863))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1864))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1865, const char *__anonymous_object1866))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1867))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1868))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1869, const char *__anonymous_object1870, unsigned long int __anonymous_object1871))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1872, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), _p0);
    4981185    }
    499     ((void)(((void)(_tmp_cp_ret17=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PFPd0_Pd0___1(((_Bool (*)(void *__anonymous_object1873))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1874))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1875, _Bool __anonymous_object1876))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1877))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1878, const char *__anonymous_object1879))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1880))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1881, _Bool __anonymous_object1882))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1883))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1884))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1885))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1886))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1887))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1888, const char *__anonymous_object1889))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1890))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1891, const char *__anonymous_object1892))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1893))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1894))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1895, const char *__anonymous_object1896, unsigned long int __anonymous_object1897))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1898, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret16=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0Ul__1(((_Bool (*)(void *__anonymous_object1899))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1900))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1901, _Bool __anonymous_object1902))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1903))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1904, const char *__anonymous_object1905))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1906))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1907, _Bool __anonymous_object1908))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1909))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1910))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1911))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1912))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1913))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1914, const char *__anonymous_object1915))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1916))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1917, const char *__anonymous_object1918))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1919))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1920))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1921, const char *__anonymous_object1922, unsigned long int __anonymous_object1923))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1924, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret15=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PCc__1(((_Bool (*)(void *__anonymous_object1925))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1926))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1927, _Bool __anonymous_object1928))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1929))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1930, const char *__anonymous_object1931))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1932))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1933, _Bool __anonymous_object1934))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1935))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1936))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1937))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1938))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1939))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1940, const char *__anonymous_object1941))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1942))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1943, const char *__anonymous_object1944))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1945))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1946))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1947, const char *__anonymous_object1948, unsigned long int __anonymous_object1949))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1950, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), __sout__P9sofstream_1, "size_t"))) , _tmp_cp_ret15), __v__Ul_1))) , _tmp_cp_ret16), ((void *(*)(void *__anonymous_object1951))(&_thunk5))))) , _tmp_cp_ret17));
    500     ((void)(_tmp_cp_ret15) /* ^?{} */);
    501     ((void)(_tmp_cp_ret16) /* ^?{} */);
    502     ((void)(_tmp_cp_ret17) /* ^?{} */);
     1186    ((void)(((void)(_tmp_cp_ret63=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PFPd0_Pd0___1(((_Bool (*)(void *__anonymous_object1873))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1874))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1875, _Bool __anonymous_object1876))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1877))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1878, const char *__anonymous_object1879))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1880))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1881, _Bool __anonymous_object1882))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1883))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1884))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1885))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1886))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1887))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1888, const char *__anonymous_object1889))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1890))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1891, const char *__anonymous_object1892))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1893))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1894))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1895, const char *__anonymous_object1896, unsigned long int __anonymous_object1897))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1898, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret62=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0Ul__1(((_Bool (*)(void *__anonymous_object1899))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1900))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1901, _Bool __anonymous_object1902))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1903))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1904, const char *__anonymous_object1905))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1906))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1907, _Bool __anonymous_object1908))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1909))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1910))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1911))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1912))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1913))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1914, const char *__anonymous_object1915))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1916))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1917, const char *__anonymous_object1918))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1919))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1920))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1921, const char *__anonymous_object1922, unsigned long int __anonymous_object1923))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1924, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), (((void)(_tmp_cp_ret61=___operator_bitor__A0_1_0_0___sepPrt__PFb_Pd0___sepReset__PF_Pd0___sepReset__PF_Pd0b___sepGetCur__PFPCc_Pd0___sepSetCur__PF_Pd0PCc___getNL__PFb_Pd0___setNL__PF_Pd0b___sepOn__PF_Pd0___sepOff__PF_Pd0___sepDisable__PFb_Pd0___sepEnable__PFb_Pd0___sepGet__PFPCc_Pd0___sepSet__PF_Pd0PCc___sepGetTuple__PFPCc_Pd0___sepSetTuple__PF_Pd0PCc___fail__PFi_Pd0___flush__PFi_Pd0___open__PF_Pd0PCcPCc___close__PF_Pd0___write__PFPd0_Pd0PCcUl___fmt__PFi_Pd0PCc__FPd0_Pd0PCc__1(((_Bool (*)(void *__anonymous_object1925))__sepPrt__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1926))__sepReset__F_P9sofstream__1), ((void (*)(void *__anonymous_object1927, _Bool __anonymous_object1928))__sepReset__F_P9sofstreamb__1), ((const char *(*)(void *__anonymous_object1929))__sepGetCur__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1930, const char *__anonymous_object1931))__sepSetCur__F_P9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1932))__getNL__Fb_P9sofstream__1), ((void (*)(void *__anonymous_object1933, _Bool __anonymous_object1934))__setNL__F_P9sofstreamb__1), ((void (*)(void *__anonymous_object1935))__sepOn__F_P9sofstream__1), ((void (*)(void *__anonymous_object1936))__sepOff__F_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1937))__sepDisable__Fb_P9sofstream__1), ((_Bool (*)(void *__anonymous_object1938))__sepEnable__Fb_P9sofstream__1), ((const char *(*)(void *__anonymous_object1939))__sepGet__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1940, const char *__anonymous_object1941))__sepSet__F_P9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1942))__sepGetTuple__FPCc_P9sofstream__1), ((void (*)(void *__anonymous_object1943, const char *__anonymous_object1944))__sepSetTuple__F_P9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1945))__fail__Fi_P9sofstream__1), ((signed int (*)(void *__anonymous_object1946))__flush__Fi_P9sofstream__1), ((void (*)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_P9sofstreamPCcPCc__1), ((void (*)(void *__os__P7tostype_1))__close__F_P9sofstream__1), ((void *(*)(void *__anonymous_object1947, const char *__anonymous_object1948, unsigned long int __anonymous_object1949))__write__FP9sofstream_P9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1950, const char *__fmt__PCc_1, ...))__fmt__Fi_P9sofstreamPCc__1), __sout__P9sofstream_1, "size_t"))) , _tmp_cp_ret61), __v__Ul_1))) , _tmp_cp_ret62), ((void *(*)(void *__anonymous_object1951))(&_thunk5))))) , _tmp_cp_ret63));
     1187    ((void)(_tmp_cp_ret61) /* ^?{} */);
     1188    ((void)(_tmp_cp_ret62) /* ^?{} */);
     1189    ((void)(_tmp_cp_ret63) /* ^?{} */);
    5031190}
    5041191signed int __main__Fi___1(){
Note: See TracChangeset for help on using the changeset viewer.