Changes in / [136ccd7:4ee1efb]
- Files:
-
- 11 added
- 35 deleted
- 56 edited
Legend:
- Unmodified
- Added
- Removed
-
.gitignore
r136ccd7 r4ee1efb 52 52 tools/prettyprinter/pretty 53 53 tools/pretty 54 tools/catchsig55 tools/repeat56 54 57 55 # generated by xfig for user manual -
configure
r136ccd7 r4ee1efb 6281 6281 6282 6282 6283 ac_config_files="$ac_config_files Makefile src/driver/Makefile src/Makefile src/benchmark/Makefile src/examples/Makefile src/tests/Makefile src/tests/preempt_longrun/Makefile src/prelude/Makefile src/libcfa/Makefile tools/ Makefile tools/prettyprinter/Makefile"6283 ac_config_files="$ac_config_files Makefile src/driver/Makefile src/Makefile src/benchmark/Makefile src/examples/Makefile src/tests/Makefile src/tests/preempt_longrun/Makefile src/prelude/Makefile src/libcfa/Makefile tools/prettyprinter/Makefile" 6284 6284 6285 6285 … … 7048 7048 "src/prelude/Makefile") CONFIG_FILES="$CONFIG_FILES src/prelude/Makefile" ;; 7049 7049 "src/libcfa/Makefile") CONFIG_FILES="$CONFIG_FILES src/libcfa/Makefile" ;; 7050 "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;;7051 7050 "tools/prettyprinter/Makefile") CONFIG_FILES="$CONFIG_FILES tools/prettyprinter/Makefile" ;; 7052 7051 -
configure.ac
r136ccd7 r4ee1efb 238 238 src/prelude/Makefile 239 239 src/libcfa/Makefile 240 tools/Makefile241 240 tools/prettyprinter/Makefile 242 241 ]) -
src/CodeGen/CodeGenerator.cc
r136ccd7 r4ee1efb 288 288 assertf( ! genC, "TypeDecls should not reach code generation." ); 289 289 output << typeDecl->genTypeString() << " " << typeDecl->name; 290 if ( typeDecl-> sized ) {290 if ( typeDecl->get_kind() != TypeDecl::Any && typeDecl->sized ) { 291 291 output << " | sized(" << typeDecl->name << ")"; 292 292 } -
src/GenPoly/InstantiateGeneric.cc
r136ccd7 r4ee1efb 238 238 assertf( false, "Ttype parameters are not currently allowed as parameters to generic types." ); 239 239 break; 240 default:241 assertf( false, " Unhandled type parameter kind" );240 case TypeDecl::Any: 241 assertf( false, "otype parameters handled by baseParam->isComplete()." ); 242 242 break; 243 243 } … … 278 278 substituteMembers( base->get_members(), baseParams, typeSubs ); 279 279 280 // xxx - can't delete type parameters because they may have assertions that are used 281 // deleteAll( baseParams ); 280 deleteAll( baseParams ); 282 281 baseParams.clear(); 283 282 -
src/GenPoly/ScrubTyVars.cc
r136ccd7 r4ee1efb 40 40 if ( tyVar != tyVars->end() ) { 41 41 switch ( tyVar->second.kind ) { 42 case TypeDecl::Any: 42 43 case TypeDecl::Dtype: 43 44 case TypeDecl::Ttype: -
src/InitTweak/FixInit.cc
r136ccd7 r4ee1efb 504 504 } 505 505 506 // to prevent warnings (‘_unq0’ may be used uninitialized in this function),507 // insert an appropriate zero initializer for UniqueExpr temporaries.508 Initializer * makeInit( Type * t ) {509 if ( StructInstType * inst = dynamic_cast< StructInstType * >( t ) ) {510 // initizer for empty struct must be empty511 if ( inst->baseStruct->members.empty() ) return new ListInit({});512 } else if ( UnionInstType * inst = dynamic_cast< UnionInstType * >( t ) ) {513 // initizer for empty union must be empty514 if ( inst->baseUnion->members.empty() ) return new ListInit({});515 }516 517 return new ListInit( { new SingleInit( new ConstantExpr( Constant::from_int( 0 ) ) ) } );518 }519 520 506 void ResolveCopyCtors::postvisit( UniqueExpr * unqExpr ) { 521 507 if ( vars.count( unqExpr->get_id() ) ) { … … 532 518 } else { 533 519 // expr isn't a call expr, so create a new temporary variable to use to hold the value of the unique expression 534 unqExpr->set_object( ObjectDecl::newObject( toString("_unq", unqExpr->get_id()), unqExpr->get_result()->clone(), makeInit( unqExpr->get_result() )) );520 unqExpr->set_object( ObjectDecl::newObject( toString("_unq", unqExpr->get_id()), unqExpr->get_result()->clone(), nullptr ) ); 535 521 unqExpr->set_var( new VariableExpr( unqExpr->get_object() ) ); 536 522 } -
src/Parser/DeclarationNode.cc
r136ccd7 r4ee1efb 1031 1031 1032 1032 if ( variable.tyClass != NoTypeClass ) { 1033 // otype is internally converted to dtype + otype parameters 1034 static const TypeDecl::Kind kindMap[] = { TypeDecl::Dtype, TypeDecl::Dtype, TypeDecl::Ftype, TypeDecl::Ttype }; 1035 assertf( sizeof(kindMap)/sizeof(kindMap[0]) == NoTypeClass, "DeclarationNode::build: kindMap is out of sync." ); 1033 static const TypeDecl::Kind kindMap[] = { TypeDecl::Any, TypeDecl::Dtype, TypeDecl::Ftype, TypeDecl::Ttype }; 1034 assertf( sizeof(kindMap)/sizeof(kindMap[0] == NoTypeClass-1), "DeclarationNode::build: kindMap is out of sync." ); 1036 1035 assertf( variable.tyClass < sizeof(kindMap)/sizeof(kindMap[0]), "Variable's tyClass is out of bounds." ); 1037 TypeDecl * ret = new TypeDecl( *name, Type::StorageClasses(), nullptr, kindMap[ variable.tyClass ], variable. tyClass == Otype, variable.initializer ? variable.initializer->buildType() : nullptr );1036 TypeDecl * ret = new TypeDecl( *name, Type::StorageClasses(), nullptr, kindMap[ variable.tyClass ], variable.initializer ? variable.initializer->buildType() : nullptr ); 1038 1037 buildList( variable.assertions, ret->get_assertions() ); 1039 1038 return ret; -
src/Parser/TypeData.cc
r136ccd7 r4ee1efb 406 406 void buildForall( const DeclarationNode * firstNode, ForallList &outputList ) { 407 407 buildList( firstNode, outputList ); 408 auto n = firstNode; 409 for ( typename ForallList::iterator i = outputList.begin(); i != outputList.end(); ++i, n = (DeclarationNode*)n->get_next() ) { 408 for ( typename ForallList::iterator i = outputList.begin(); i != outputList.end(); ++i ) { 410 409 TypeDecl * td = static_cast<TypeDecl *>(*i); 411 if ( n->variable.tyClass == DeclarationNode::Otype) {410 if ( td->get_kind() == TypeDecl::Any ) { 412 411 // add assertion parameters to `type' tyvars in reverse order 413 412 // add dtor: void ^?{}(T *) … … 799 798 ret = new TypedefDecl( name, scs, typebuild( td->base ), linkage ); 800 799 } else { 801 ret = new TypeDecl( name, scs, typebuild( td->base ), TypeDecl:: Dtype, true);800 ret = new TypeDecl( name, scs, typebuild( td->base ), TypeDecl::Any ); 802 801 } // if 803 802 buildList( td->symbolic.params, ret->get_parameters() ); -
src/Parser/lex.ll
r136ccd7 r4ee1efb 10 10 * Created On : Sat Sep 22 08:58:10 2001 11 11 * Last Modified By : Peter A. Buhr 12 * Last Modified On : Wed Oct 25 13:53:56201713 * Update Count : 63 412 * Last Modified On : Sat Sep 23 17:29:28 2017 13 * Update Count : 632 14 14 */ 15 15 … … 233 233 __extension__ { KEYWORD_RETURN(EXTENSION); } // GCC 234 234 extern { KEYWORD_RETURN(EXTERN); } 235 fallthrough { KEYWORD_RETURN(FALLTHRU); } // CFA 235 236 fallthru { KEYWORD_RETURN(FALLTHRU); } // CFA 236 fallthrough { KEYWORD_RETURN(FALLTHROUGH); } // CFA237 237 finally { KEYWORD_RETURN(FINALLY); } // CFA 238 238 float { KEYWORD_RETURN(FLOAT); } -
src/Parser/parser.yy
r136ccd7 r4ee1efb 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Oct 25 12:28:54201713 // Update Count : 289 312 // Last Modified On : Mon Oct 16 11:07:29 2017 13 // Update Count : 2892 14 14 // 15 15 … … 180 180 %token ATTRIBUTE EXTENSION // GCC 181 181 %token IF ELSE SWITCH CASE DEFAULT DO WHILE FOR BREAK CONTINUE GOTO RETURN 182 %token CHOOSE DISABLE ENABLE FALLTHRU FALLTHROUGHTRY CATCH CATCHRESUME FINALLY THROW THROWRESUME AT WITH WHEN WAITFOR // CFA182 %token CHOOSE DISABLE ENABLE FALLTHRU TRY CATCH CATCHRESUME FINALLY THROW THROWRESUME AT WITH WHEN WAITFOR // CFA 183 183 %token ASM // C99, extension ISO/IEC 9899:1999 Section J.5.10(1) 184 184 %token ALIGNAS ALIGNOF GENERIC STATICASSERT // C11 … … 362 362 %precedence ELSE // token precedence for start of else clause in IF/WAITFOR statement 363 363 364 %locations // support location tracking for error messages364 %locations 365 365 366 366 %start translation_unit // parse-tree root … … 458 458 { $$ = new ExpressionNode( new StmtExpr( dynamic_cast< CompoundStmt * >(maybeMoveBuild< Statement >($2) ) ) ); } 459 459 | type_name '.' no_attr_identifier // CFA, nested type 460 { throw SemanticError("Qualified names are currently unimplemented.");$$ = nullptr; } // FIX ME460 { $$ = nullptr; } // FIX ME 461 461 | type_name '.' '[' push field_list pop ']' // CFA, nested type / tuple field selector 462 { throw SemanticError("Qualified names are currently unimplemented.");$$ = nullptr; } // FIX ME462 { $$ = nullptr; } // FIX ME 463 463 ; 464 464 … … 974 974 ; 975 975 976 fall_through _name:// CFA976 fall_through: // CFA 977 977 FALLTHRU 978 | FALLTHROUGH979 ;980 981 fall_through: // CFA982 fall_through_name983 978 { $$ = nullptr; } 984 | fall_through_name';'979 | FALLTHRU ';' 985 980 { $$ = nullptr; } 986 981 ; … … 2491 2486 | TYPEDEFname 2492 2487 | TYPEGENname 2493 | FALLTHROUGH2494 { $$ = Token{ new string( "fallthrough" ), { nullptr, -1 } }; }2495 2488 | CONST 2496 2489 { $$ = Token{ new string( "__const__" ), { nullptr, -1 } }; } … … 2758 2751 // 2759 2752 // typedef int foo; 2760 // forall( otype T ) struct foo;2753 // forall( otype T ) foo( T ); 2761 2754 // int f( int foo ); // redefine typedef name in new scope 2762 2755 // -
src/ResolvExpr/AlternativeFinder.cc
r136ccd7 r4ee1efb 122 122 ) 123 123 mapPlace->second.isAmbiguous = true; 124 } else {125 PRINT(126 std::cerr << "cost " << candidate->cost << " loses to " << mapPlace->second.candidate->cost << std::endl;127 )128 124 } 129 125 } else { … … 131 127 } 132 128 } 129 130 PRINT( 131 std::cerr << "there are " << selected.size() << " alternatives before elimination" << std::endl; 132 ) 133 133 134 134 // accept the alternatives that were unambiguous … … 181 181 } 182 182 if ( prune ) { 183 auto oldsize = alternatives.size();184 183 PRINT( 185 184 std::cerr << "alternatives before prune:" << std::endl; … … 199 198 } 200 199 alternatives.erase( oldBegin, alternatives.end() ); 201 PRINT(202 std::cerr << "there are " << oldsize << " alternatives before elimination" << std::endl;203 )204 200 PRINT( 205 201 std::cerr << "there are " << alternatives.size() << " alternatives after elimination" << std::endl; -
src/ResolvExpr/CommonType.cc
r136ccd7 r4ee1efb 61 61 }; 62 62 63 Type * handleReference( Type * t1, Type * t2, bool widenFirst, bool widenSecond, const SymTab::Indexer &indexer, TypeEnvironment & env, const OpenVarSet &openVars ) {64 Type * common = nullptr;63 Type * handleReference( ReferenceType * refType, Type * other, bool widenFirst, bool widenSecond, const SymTab::Indexer &indexer, TypeEnvironment & env, const OpenVarSet &openVars ) { 64 Type * result = nullptr, * common = nullptr; 65 65 AssertionSet have, need; 66 66 OpenVarSet newOpen( openVars ); 67 67 // need unify to bind type variables 68 if ( unify( t1, t2, env, have, need, newOpen, indexer, common ) ) { 69 // std::cerr << "unify success: " << widenFirst << " " << widenSecond << std::endl; 70 if ( (widenFirst || t2->get_qualifiers() <= t1->get_qualifiers()) && (widenSecond || t1->get_qualifiers() <= t2->get_qualifiers()) ) { 71 // std::cerr << "widen okay" << std::endl; 72 common->get_qualifiers() |= t1->get_qualifiers(); 73 common->get_qualifiers() |= t2->get_qualifiers(); 74 return common; 75 } 76 } 77 // std::cerr << "exact unify failed: " << t1 << " " << t2 << std::endl; 78 return nullptr; 68 if ( unify( refType->get_base(), other, env, have, need, newOpen, indexer, common ) ) { 69 // std::cerr << "unify success" << std::endl; 70 if ( widenSecond ) { 71 // std::cerr << "widen second" << std::endl; 72 if ( widenFirst || other->get_qualifiers() <= refType->get_qualifiers() ) { 73 result = new ReferenceType( refType->get_qualifiers(), common ); // refType->clone(); 74 result->get_qualifiers() |= other->get_qualifiers(); 75 } 76 } else if ( widenFirst ) { 77 // std::cerr << "widen first" << std::endl; 78 if ( widenSecond || refType->get_qualifiers() <= other->get_qualifiers() ) { 79 result = common; 80 result->get_qualifiers() |= refType->get_qualifiers(); 81 } 82 } 83 } else { 84 // std::cerr << "exact unify failed: " << refType << " " << other << std::endl; 85 } 86 // std::cerr << "common type of reference [" << refType << "] and non-reference [" << other << "] is [" << result << "]" << std::endl; 87 return result; 79 88 } 80 89 … … 90 99 91 100 // special case where one type has a reference depth of 1 larger than the other 92 if ( diff > 0 || diff < 0 ) { 93 Type * result = nullptr; 94 if ( ReferenceType * ref1 = dynamic_cast< ReferenceType * >( type1 ) ) { 95 // formal is reference, so result should be reference 96 result = handleReference( ref1->base, type2, widenFirst, widenSecond, indexer, env, openVars ); 97 if ( result ) result = new ReferenceType( ref1->get_qualifiers(), result ); 98 } else { 99 // formal is value, so result should be value 100 ReferenceType * ref2 = strict_dynamic_cast< ReferenceType * > ( type2 ); 101 result = handleReference( type1, ref2->base, widenFirst, widenSecond, indexer, env, openVars ); 102 } 103 // std::cerr << "common type of reference [" << type1 << "] and [" << type2 << "] is [" << result << "]" << std::endl; 104 return result; 101 if ( diff > 0 ) { 102 return handleReference( strict_dynamic_cast<ReferenceType *>( type1 ), type2, widenFirst, widenSecond, indexer, env, openVars ); 103 } else if ( diff < 0 ) { 104 return handleReference( strict_dynamic_cast<ReferenceType *>( type2 ), type1, widenSecond, widenFirst, indexer, env, openVars ); 105 105 } 106 106 // otherwise, both are reference types of the same depth and this is handled by the CommonType visitor. -
src/ResolvExpr/ConversionCost.cc
r136ccd7 r4ee1efb 28 28 29 29 namespace ResolvExpr { 30 const Cost Cost::zero = Cost( 0, 0, 0,0 );31 const Cost Cost::infinity = 32 const Cost Cost::unsafe = Cost( 1, 0, 0,0 );33 const Cost Cost::poly = Cost( 0, 1, 0,0 );34 const Cost Cost::safe = Cost( 0, 0, 1,0 );35 const Cost Cost::reference = Cost( 0, 0, 0,1 );30 const Cost Cost::zero = Cost( 0, 0, 0, 0 ); 31 const Cost Cost::infinity = Cost( -1, -1, -1, -1 ); 32 const Cost Cost::unsafe = Cost( 1, 0, 0, 0 ); 33 const Cost Cost::poly = Cost( 0, 1, 0, 0 ); 34 const Cost Cost::safe = Cost( 0, 0, 1, 0 ); 35 const Cost Cost::reference = Cost( 0, 0, 0, 1 ); 36 36 37 37 #if 0 … … 113 113 int assignResult = func( srcAsRef->get_base(), destAsRef->get_base(), env, indexer ); 114 114 PRINT( std::cerr << "comparing references: " << assignResult << " " << srcAsRef << " " << destAsRef << std::endl; ) 115 if ( assignResult >0 ) {115 if ( assignResult < 0 ) { 116 116 return Cost::safe; 117 } else if ( assignResult <0 ) {117 } else if ( assignResult > 0 ) { 118 118 return Cost::unsafe; 119 119 } // if … … 269 269 } 270 270 271 void ConversionCost::visit( PointerType * pointerType) {271 void ConversionCost::visit(PointerType *pointerType) { 272 272 if ( PointerType *destAsPtr = dynamic_cast< PointerType* >( dest ) ) { 273 273 PRINT( std::cerr << pointerType << " ===> " << destAsPtr; ) … … 284 284 } 285 285 } else { // xxx - this discards qualifiers from consideration -- reducing qualifiers is a safe conversion; is this right? 286 int assignResult = ptrsAssignable( pointerType-> base, destAsPtr->base, env );286 int assignResult = ptrsAssignable( pointerType->get_base(), destAsPtr->get_base(), env ); 287 287 PRINT( std::cerr << " :: " << assignResult << std::endl; ) 288 if ( assignResult >0 && pointerType->get_base()->get_qualifiers() <= destAsPtr->get_qualifiers() ) {288 if ( assignResult < 0 && pointerType->get_base()->get_qualifiers() <= destAsPtr->get_qualifiers() ) { 289 289 cost = Cost::safe; 290 } else if ( assignResult <0 ) {290 } else if ( assignResult > 0 ) { 291 291 cost = Cost::unsafe; 292 292 } // if 293 293 // assignResult == 0 means Cost::Infinity 294 294 } // if 295 } else if ( dynamic_cast< ZeroType * >( dest )) {295 } else if ( dynamic_cast< ZeroType* >( dest ) != nullptr || dynamic_cast< OneType* >( dest ) != nullptr ) { 296 296 cost = Cost::unsafe; 297 297 } // if 298 298 } 299 299 300 void ConversionCost::visit( ArrayType *) {}301 302 void ConversionCost::visit( ReferenceType * refType) {300 void ConversionCost::visit(__attribute((unused)) ArrayType *arrayType) {} 301 302 void ConversionCost::visit(ReferenceType *refType) { 303 303 // Note: dest can never be a reference, since it would have been caught in an earlier check 304 304 assert( ! dynamic_cast< ReferenceType * >( dest ) ); … … 317 317 } 318 318 319 void ConversionCost::visit( FunctionType *) {}320 321 void ConversionCost::visit( StructInstType * inst) {319 void ConversionCost::visit(__attribute((unused)) FunctionType *functionType) {} 320 321 void ConversionCost::visit(StructInstType *inst) { 322 322 if ( StructInstType *destAsInst = dynamic_cast< StructInstType* >( dest ) ) { 323 323 if ( inst->name == destAsInst->name ) { … … 327 327 } 328 328 329 void ConversionCost::visit( UnionInstType * inst) {329 void ConversionCost::visit(UnionInstType *inst) { 330 330 if ( UnionInstType *destAsInst = dynamic_cast< UnionInstType* >( dest ) ) { 331 331 if ( inst->name == destAsInst->name ) { … … 335 335 } 336 336 337 void ConversionCost::visit( EnumInstType *) {337 void ConversionCost::visit( __attribute((unused)) EnumInstType *inst ) { 338 338 static Type::Qualifiers q; 339 339 static BasicType integer( q, BasicType::SignedInt ); … … 344 344 } 345 345 346 void ConversionCost::visit( TraitInstType * ) {} 347 348 void ConversionCost::visit( TypeInstType *inst ) { 346 void ConversionCost::visit( __attribute((unused)) TraitInstType *inst) { 347 } 348 349 void ConversionCost::visit(TypeInstType *inst) { 349 350 EqvClass eqvClass; 350 351 NamedTypeDecl *namedType; … … 365 366 } 366 367 367 void ConversionCost::visit( TupleType * tupleType) {368 void ConversionCost::visit( __attribute((unused)) TupleType *tupleType) { 368 369 Cost c = Cost::zero; 369 if ( TupleType * destAsTuple = dynamic_cast< TupleType* >( dest ) ) {370 std::list< Type 371 std::list< Type 370 if ( TupleType *destAsTuple = dynamic_cast< TupleType* >( dest ) ) { 371 std::list< Type* >::const_iterator srcIt = tupleType->get_types().begin(); 372 std::list< Type* >::const_iterator destIt = destAsTuple->get_types().begin(); 372 373 while ( srcIt != tupleType->get_types().end() && destIt != destAsTuple->get_types().end() ) { 373 374 Cost newCost = conversionCost( *srcIt++, *destIt++, indexer, env ); … … 385 386 } 386 387 387 void ConversionCost::visit( VarArgsType *) {388 void ConversionCost::visit( __attribute((unused)) VarArgsType *varArgsType) { 388 389 if ( dynamic_cast< VarArgsType* >( dest ) ) { 389 390 cost = Cost::zero; … … 391 392 } 392 393 393 void ConversionCost::visit( ZeroType *) {394 if ( dynamic_cast< ZeroType 394 void ConversionCost::visit( __attribute((unused)) ZeroType *zeroType) { 395 if ( dynamic_cast< ZeroType* >( dest ) ) { 395 396 cost = Cost::zero; 396 397 } else if ( BasicType *destAsBasic = dynamic_cast< BasicType* >( dest ) ) { … … 408 409 } 409 410 410 void ConversionCost::visit( OneType *) {411 if ( dynamic_cast< OneType 411 void ConversionCost::visit( __attribute((unused)) OneType *oneType) { 412 if ( dynamic_cast< OneType* >( dest ) ) { 412 413 cost = Cost::zero; 413 414 } else if ( BasicType *destAsBasic = dynamic_cast< BasicType* >( dest ) ) { -
src/ResolvExpr/PolyCost.cc
r136ccd7 r4ee1efb 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // PolyCost.cc -- 7 // PolyCost.cc -- 8 8 // 9 9 // Author : Richard C. Bilson … … 31 31 }; 32 32 33 int polyCost( Type *type, const TypeEnvironment & 33 int polyCost( Type *type, const TypeEnvironment &env, const SymTab::Indexer &indexer ) { 34 34 PolyCost coster( env, indexer ); 35 35 type->accept( coster ); … … 37 37 } 38 38 39 PolyCost::PolyCost( const TypeEnvironment & env, const SymTab::Indexer &indexer ) : result( 0 ), env( env ), indexer( indexer ) {39 PolyCost::PolyCost( const TypeEnvironment &env, const SymTab::Indexer &indexer ) : result( 0 ), env( env ), indexer( indexer ) { 40 40 } 41 41 42 void PolyCost::visit(TypeInstType * 42 void PolyCost::visit(TypeInstType *typeInst) { 43 43 EqvClass eqvClass; 44 if ( env.lookup( typeInst-> name, eqvClass ) ) {44 if ( env.lookup( typeInst->get_name(), eqvClass ) ) { 45 45 if ( eqvClass.type ) { 46 if ( TypeInstType * otherTypeInst = dynamic_cast< TypeInstType* >( eqvClass.type ) ) { 47 if ( indexer.lookupType( otherTypeInst->name ) ) { 48 // bound to opaque type 46 if ( TypeInstType *otherTypeInst = dynamic_cast< TypeInstType* >( eqvClass.type ) ) { 47 if ( indexer.lookupType( otherTypeInst->get_name() ) ) { 49 48 result += 1; 50 49 } // if 51 50 } else { 52 // bound to concrete type53 51 result += 1; 54 52 } // if -
src/ResolvExpr/PtrsAssignable.cc
r136ccd7 r4ee1efb 47 47 48 48 int ptrsAssignable( Type *src, Type *dest, const TypeEnvironment &env ) { 49 // std::cerr << "assignable: " << src << " | " << dest << std::endl;50 49 if ( TypeInstType *destAsTypeInst = dynamic_cast< TypeInstType* >( dest ) ) { 51 50 EqvClass eqvClass; … … 55 54 } // if 56 55 if ( dynamic_cast< VoidType* >( dest ) ) { 57 // void * = T * for any T is unsafe 58 // xxx - this should be safe, but that currently breaks the build 59 return -1; 56 return 1; 60 57 } else { 61 58 PtrsAssignable ptrs( dest, env ); … … 68 65 69 66 void PtrsAssignable::visit( __attribute((unused)) VoidType *voidType ) { 70 if ( !dynamic_cast< FunctionType* >( dest ) ) {71 // T * = void * is safe for any T that is not a function type.72 // xxx - this should be unsafe...73 result = 1;67 if ( dynamic_cast< FunctionType* >( dest ) ) { 68 result = 0; 69 } else { 70 result = -1; 74 71 } // if 75 72 } … … 78 75 void PtrsAssignable::visit( __attribute__((unused)) PointerType *pointerType ) {} 79 76 void PtrsAssignable::visit( __attribute__((unused)) ArrayType *arrayType ) {} 80 void PtrsAssignable::visit( __attribute__((unused)) FunctionType *functionType ) {} 77 void PtrsAssignable::visit( __attribute__((unused)) FunctionType *functionType ) { 78 result = -1; 79 } 81 80 82 81 void PtrsAssignable::visit( __attribute__((unused)) StructInstType *inst ) {} … … 84 83 85 84 void PtrsAssignable::visit( EnumInstType * ) { 86 if ( dynamic_cast< BasicType* >( dest ) ) { 87 // int * = E *, etc. is safe. This isn't technically correct, as each 88 // enum has one basic type that it is compatible with, an that type can 89 // differ from enum to enum. Without replicating GCC's internal logic, 90 // there is no way to know which type this particular enum is compatible 91 // with, so punt on this for now. 85 if ( dynamic_cast< EnumInstType* >( dest ) ) { 92 86 result = 1; 87 } else if ( BasicType *bt = dynamic_cast< BasicType* >( dest ) ) { 88 result = bt->get_kind() == BasicType::SignedInt; 93 89 } 94 90 } … … 98 94 EqvClass eqvClass; 99 95 if ( env.lookup( inst->get_name(), eqvClass ) && eqvClass.type ) { 100 // T * = S * for any S depends on the type bound to T101 96 result = ptrsAssignable( eqvClass.type, dest, env ); 97 } else { 98 result = 0; 102 99 } // if 103 100 } -
src/ResolvExpr/PtrsCastable.cc
r136ccd7 r4ee1efb 50 50 }; 51 51 52 namespace { 53 int objectCast( Type *src, const TypeEnvironment &env, const SymTab::Indexer &indexer ) { 54 if ( dynamic_cast< FunctionType* >( src ) ) { 55 return -1; 56 } else if ( TypeInstType *typeInst = dynamic_cast< TypeInstType* >( src ) ) { 57 EqvClass eqvClass; 58 if ( NamedTypeDecl *ntDecl = indexer.lookupType( typeInst->get_name() ) ) { 59 if ( TypeDecl *tyDecl = dynamic_cast< TypeDecl* >( ntDecl ) ) { 60 if ( tyDecl->get_kind() == TypeDecl::Ftype ) { 61 return -1; 62 } // if 63 } //if 64 } else if ( env.lookup( typeInst->get_name(), eqvClass ) ) { 65 if ( eqvClass.data.kind == TypeDecl::Ftype ) { 52 int objectCast( Type *src, const TypeEnvironment &env, const SymTab::Indexer &indexer ) { 53 if ( dynamic_cast< FunctionType* >( src ) ) { 54 return -1; 55 } else if ( TypeInstType *typeInst = dynamic_cast< TypeInstType* >( src ) ) { 56 EqvClass eqvClass; 57 if ( NamedTypeDecl *ntDecl = indexer.lookupType( typeInst->get_name() ) ) { 58 if ( TypeDecl *tyDecl = dynamic_cast< TypeDecl* >( ntDecl ) ) { 59 if ( tyDecl->get_kind() == TypeDecl::Ftype ) { 66 60 return -1; 67 61 } // if 62 } //if 63 } else if ( env.lookup( typeInst->get_name(), eqvClass ) ) { 64 if ( eqvClass.data.kind == TypeDecl::Ftype ) { 65 return -1; 68 66 } // if 69 } // if70 return 1;71 }72 int functionCast( Type *src, const TypeEnvironment &env, const SymTab::Indexer &indexer ) {73 return -1 * objectCast( src, env, indexer ); // reverse the sense of objectCast74 }67 } // if 68 } //if 69 return 1; 70 } 71 int functionCast( Type *src, const TypeEnvironment &env, const SymTab::Indexer &indexer ) { 72 return -1 * objectCast( src, env, indexer ); // reverse the sense of objectCast 75 73 } 76 74 … … 95 93 } 96 94 97 void PtrsCastable::visit( VoidType *) {95 void PtrsCastable::visit( __attribute__((unused)) VoidType *voidType) { 98 96 result = objectCast( dest, env, indexer ); 99 97 } 100 98 101 void PtrsCastable::visit( BasicType *) {99 void PtrsCastable::visit( __attribute__((unused)) BasicType *basicType) { 102 100 result = objectCast( dest, env, indexer ); 103 101 } 104 102 105 void PtrsCastable::visit( PointerType *) {103 void PtrsCastable::visit( __attribute__((unused)) PointerType *pointerType) { 106 104 result = objectCast( dest, env, indexer ); 107 105 } 108 106 109 void PtrsCastable::visit( ArrayType *) {107 void PtrsCastable::visit( __attribute__((unused)) ArrayType *arrayType) { 110 108 result = objectCast( dest, env, indexer ); 111 109 } 112 110 113 void PtrsCastable::visit( FunctionType *) {111 void PtrsCastable::visit( __attribute__((unused)) FunctionType *functionType) { 114 112 // result = -1; 115 113 result = functionCast( dest, env, indexer ); 116 114 } 117 115 118 void PtrsCastable::visit( StructInstType *) {116 void PtrsCastable::visit( __attribute__((unused)) StructInstType *inst) { 119 117 result = objectCast( dest, env, indexer ); 120 118 } 121 119 122 void PtrsCastable::visit( UnionInstType *) {120 void PtrsCastable::visit( __attribute__((unused)) UnionInstType *inst) { 123 121 result = objectCast( dest, env, indexer ); 124 122 } 125 123 126 void PtrsCastable::visit( EnumInstType *) {124 void PtrsCastable::visit( __attribute__((unused)) EnumInstType *inst) { 127 125 if ( dynamic_cast< EnumInstType* >( dest ) ) { 128 126 result = 1; … … 138 136 } 139 137 140 void PtrsCastable::visit( TraitInstType *) {}138 void PtrsCastable::visit( __attribute__((unused)) TraitInstType *inst ) {} 141 139 142 140 void PtrsCastable::visit(TypeInstType *inst) { … … 145 143 } 146 144 147 void PtrsCastable::visit( TupleType *) {145 void PtrsCastable::visit( __attribute__((unused)) TupleType *tupleType) { 148 146 result = objectCast( dest, env, indexer ); 149 147 } 150 148 151 void PtrsCastable::visit( VarArgsType *) {149 void PtrsCastable::visit( __attribute__((unused)) VarArgsType *varArgsType) { 152 150 result = objectCast( dest, env, indexer ); 153 151 } 154 152 155 void PtrsCastable::visit( ZeroType *) {153 void PtrsCastable::visit( __attribute__((unused)) ZeroType *zeroType) { 156 154 result = objectCast( dest, env, indexer ); 157 155 } 158 156 159 void PtrsCastable::visit( OneType *) {157 void PtrsCastable::visit( __attribute__((unused)) OneType *oneType) { 160 158 result = objectCast( dest, env, indexer ); 161 159 } -
src/ResolvExpr/Unify.cc
r136ccd7 r4ee1efb 138 138 bool tyVarCompatible( const TypeDecl::Data & data, Type *type ) { 139 139 switch ( data.kind ) { 140 case TypeDecl::Any: 140 141 case TypeDecl::Dtype: 141 142 // to bind to an object type variable, the type must not be a function type. -
src/SymTab/Autogen.cc
r136ccd7 r4ee1efb 699 699 if ( TypeInstType * ty = dynamic_cast< TypeInstType * >( t ) ) { 700 700 if ( ! done.count( ty->get_baseType() ) ) { 701 TypeDecl * newDecl = new TypeDecl( ty->get_baseType()->get_name(), Type::StorageClasses(), nullptr, TypeDecl:: Dtype, true);701 TypeDecl * newDecl = new TypeDecl( ty->get_baseType()->get_name(), Type::StorageClasses(), nullptr, TypeDecl::Any ); 702 702 TypeInstType * inst = new TypeInstType( Type::Qualifiers(), newDecl->get_name(), newDecl ); 703 703 newDecl->get_assertions().push_back( new FunctionDecl( "?=?", Type::StorageClasses(), LinkageSpec::Cforall, genAssignType( inst ), nullptr, -
src/SymTab/Mangler.cc
r136ccd7 r4ee1efb 214 214 numStream << varNum->second.first; 215 215 switch ( (TypeDecl::Kind )varNum->second.second ) { 216 case TypeDecl::Any: 217 mangleName << "t"; 218 break; 216 219 case TypeDecl::Dtype: 217 220 mangleName << "d"; … … 271 274 for ( Type::ForallList::iterator i = type->forall.begin(); i != type->forall.end(); ++i ) { 272 275 switch ( (*i)->get_kind() ) { 276 case TypeDecl::Any: 277 tcount++; 278 break; 273 279 case TypeDecl::Dtype: 274 280 dcount++; -
src/SynTree/Declaration.h
r136ccd7 r4ee1efb 200 200 typedef NamedTypeDecl Parent; 201 201 public: 202 enum Kind { Dtype, Ftype, Ttype };202 enum Kind { Any, Dtype, Ftype, Ttype }; 203 203 204 204 Type * init; … … 216 216 }; 217 217 218 TypeDecl( const std::string &name, Type::StorageClasses scs, Type *type, Kind kind, bool sized,Type * init = nullptr );218 TypeDecl( const std::string &name, Type::StorageClasses scs, Type *type, Kind kind, Type * init = nullptr ); 219 219 TypeDecl( const TypeDecl &other ); 220 220 virtual ~TypeDecl(); … … 225 225 TypeDecl * set_init( Type * newValue ) { init = newValue; return this; } 226 226 227 bool isComplete() const { return sized; }227 bool isComplete() const { return kind == Any || sized; } 228 228 bool get_sized() const { return sized; } 229 229 TypeDecl * set_sized( bool newValue ) { sized = newValue; return this; } -
src/SynTree/TypeDecl.cc
r136ccd7 r4ee1efb 21 21 #include "Type.h" // for Type, Type::StorageClasses 22 22 23 TypeDecl::TypeDecl( const std::string &name, Type::StorageClasses scs, Type *type, Kind kind, bool sized, Type * init ) : Parent( name, scs, type ), init( init ), sized( kind == Ttype || sized), kind( kind ) {23 TypeDecl::TypeDecl( const std::string &name, Type::StorageClasses scs, Type *type, Kind kind, Type * init ) : Parent( name, scs, type ), init( init ), sized( kind == Any || kind == Ttype ), kind( kind ) { 24 24 } 25 25 … … 32 32 33 33 std::string TypeDecl::typeString() const { 34 static const std::string kindNames[] = { "object type", "function type", "tuple type" }; 35 assertf( sizeof(kindNames)/sizeof(kindNames[0]) == DeclarationNode::NoTypeClass-1, "typeString: kindNames is out of sync." ); 36 assertf( kind < sizeof(kindNames)/sizeof(kindNames[0]), "TypeDecl's kind is out of bounds." ); 37 return (isComplete() ? "sized " : "") + kindNames[ kind ]; 34 static const std::string kindNames[] = { "type", "incomplete type", "function type", "tuple type" }; 35 return (kind != Any && isComplete() ? "sized " : "") + kindNames[ kind ]; 38 36 } 39 37 40 38 std::string TypeDecl::genTypeString() const { 41 static const std::string kindNames[] = { "dtype", "ftype", "ttype" }; 42 assertf( sizeof(kindNames)/sizeof(kindNames[0]) == DeclarationNode::NoTypeClass-1, "genTypeString: kindNames is out of sync." ); 43 assertf( kind < sizeof(kindNames)/sizeof(kindNames[0]), "TypeDecl's kind is out of bounds." ); 39 static const std::string kindNames[] = { "otype", "dtype", "ftype", "ttype" }; 44 40 return kindNames[ kind ]; 45 41 } -
src/Tuples/TupleExpansion.cc
r136ccd7 r4ee1efb 204 204 decl->set_body( true ); 205 205 for ( size_t i = 0; i < tupleSize; ++i ) { 206 TypeDecl * tyParam = new TypeDecl( toString( "tuple_param_", tupleSize, "_", i ), Type::StorageClasses(), nullptr, TypeDecl:: Dtype, true);206 TypeDecl * tyParam = new TypeDecl( toString( "tuple_param_", tupleSize, "_", i ), Type::StorageClasses(), nullptr, TypeDecl::Any ); 207 207 decl->get_members().push_back( new ObjectDecl( toString("field_", i ), Type::StorageClasses(), LinkageSpec::C, nullptr, new TypeInstType( Type::Qualifiers(), tyParam->get_name(), tyParam ), nullptr ) ); 208 208 decl->get_parameters().push_back( tyParam ); -
src/benchmark/Makefile.am
r136ccd7 r4ee1efb 19 19 AM_CFLAGS = -g -Wall -Wno-unused-function -O2 20 20 CC = @CFA_BINDIR@/@CFA_NAME@ 21 TOOLSDIR = ${abs_top_srcdir}/tools/22 REPEAT = ${TOOLSDIR}repeat23 STATS = ${TOOLSDIR}stat.py24 repeats = 3025 21 26 .NOTPARALLEL: 27 28 noinst_PROGRAMS = 22 noinst_PROGRAMS = bench$(EXEEXT) ctxswitch-coroutine$(EXEEXT) ctxswitch-thread$(EXEEXT) sched-int$(EXEEXT) monitor$(EXEEXT) csv-data$(EXEEXT) 29 23 30 24 bench$(EXEEXT) : … … 36 30 rm -f ./a.out ; 37 31 32 ctxswitch-coroutine$(EXEEXT): 33 ${CC} ${AM_CFLAGS} ${CFLAGS} ${ccflags} @CFA_FLAGS@ -nodebug -lrt -DN=50000000 CorCtxSwitch.c 34 @rm -f .result.log 35 @for number in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do \ 36 ./a.out | tee -a .result.log ; \ 37 done 38 @./stat.py .result.log 39 @rm -f a.out .result.log 40 41 ctxswitch-thread$(EXEEXT): 42 ${CC} ${AM_CFLAGS} ${CFLAGS} ${ccflags} @CFA_FLAGS@ -nodebug -lrt -DN=50000000 ThrdCtxSwitch.c 43 @rm -f .result.log 44 @for number in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do \ 45 ./a.out | tee -a .result.log ; \ 46 done 47 @./stat.py .result.log 48 @rm -f a.out .result.log 49 50 ctxswitch-pthread$(EXEEXT): 51 @BACKEND_CC@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} -lrt -pthread -DN=50000000 PthrdCtxSwitch.c 52 @rm -f .result.log 53 @for number in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do \ 54 ./a.out | tee -a .result.log ; \ 55 done 56 @./stat.py .result.log 57 @rm -f a.out .result.log 58 59 sched-int$(EXEEXT): 60 ${CC} ${AM_CFLAGS} ${CFLAGS} ${ccflags} @CFA_FLAGS@ -nodebug -lrt -DN=50000000 SchedInt.c 61 @rm -f .result.log 62 @for number in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do \ 63 ./a.out | tee -a .result.log ; \ 64 done 65 @./stat.py .result.log 66 @rm -f a.out .result.log 67 68 monitor$(EXEEXT): 69 ${CC} ${AM_CFLAGS} ${CFLAGS} ${ccflags} @CFA_FLAGS@ -nodebug -lrt -DN=50000000 Monitor.c 70 @rm -f .result.log 71 @for number in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do \ 72 ./a.out | tee -a .result.log ; \ 73 done 74 @./stat.py .result.log 75 @rm -f a.out .result.log 76 38 77 csv-data$(EXEEXT): 39 78 @${CC} ${AM_CFLAGS} ${CFLAGS} ${ccflags} @CFA_FLAGS@ -nodebug -lrt -quiet -DN=50000000 csv-data.c 40 79 @./a.out 41 80 @rm -f ./a.out 42 43 ## =========================================================================================================44 ctxswitch$(EXEEXT): \45 ctxswitch-pthread.run \46 ctxswitch-cfa_coroutine.run \47 ctxswitch-cfa_thread.run \48 ctxswitch-upp_coroutine.run \49 ctxswitch-upp_thread.run50 51 ctxswitch-cfa_coroutine$(EXEEXT):52 ${CC} ctxswitch/cfa_cor.c -DBENCH_N=50000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}53 54 ctxswitch-cfa_thread$(EXEEXT):55 ${CC} ctxswitch/cfa_thrd.c -DBENCH_N=50000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}56 57 ctxswitch-upp_coroutine$(EXEEXT):58 u++ ctxswitch/upp_cor.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}59 60 ctxswitch-upp_thread$(EXEEXT):61 u++ ctxswitch/upp_thrd.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}62 63 ctxswitch-pthread$(EXEEXT):64 @BACKEND_CC@ ctxswitch/pthreads.c -DBENCH_N=50000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}65 66 ## =========================================================================================================67 creation$(EXEEXT) :\68 creation-pthread.run \69 creation-cfa_coroutine.run \70 creation-cfa_thread.run \71 creation-upp_coroutine.run \72 creation-upp_thread.run73 74 creation-cfa_coroutine$(EXEEXT):75 ${CC} creation/cfa_cor.c -DBENCH_N=10000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}76 77 creation-cfa_thread$(EXEEXT):78 ${CC} creation/cfa_thrd.c -DBENCH_N=10000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}79 80 creation-upp_coroutine$(EXEEXT):81 u++ creation/upp_cor.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}82 83 creation-upp_thread$(EXEEXT):84 u++ creation/upp_thrd.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}85 86 creation-pthread$(EXEEXT):87 @BACKEND_CC@ creation/pthreads.c -DBENCH_N=250000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}88 89 ## =========================================================================================================90 mutex$(EXEEXT) :\91 mutex-function.run \92 mutex-pthread_lock.run \93 mutex-upp.run \94 mutex-cfa1.run \95 mutex-cfa2.run \96 mutex-cfa4.run97 98 mutex-function$(EXEEXT):99 @BACKEND_CC@ mutex/function.c -DBENCH_N=500000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}100 101 mutex-pthread_lock$(EXEEXT):102 @BACKEND_CC@ mutex/pthreads.c -DBENCH_N=50000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}103 104 mutex-upp$(EXEEXT):105 u++ mutex/upp.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}106 107 mutex-cfa1$(EXEEXT):108 ${CC} mutex/cfa1.c -DBENCH_N=5000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}109 110 mutex-cfa2$(EXEEXT):111 ${CC} mutex/cfa2.c -DBENCH_N=5000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}112 113 mutex-cfa4$(EXEEXT):114 ${CC} mutex/cfa4.c -DBENCH_N=5000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}115 116 ## =========================================================================================================117 signal$(EXEEXT) :\118 signal-upp.run \119 signal-cfa1.run \120 signal-cfa2.run \121 signal-cfa4.run122 123 signal-upp$(EXEEXT):124 u++ schedint/upp.cc -DBENCH_N=5000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}125 126 signal-cfa1$(EXEEXT):127 ${CC} schedint/cfa1.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}128 129 signal-cfa2$(EXEEXT):130 ${CC} schedint/cfa2.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}131 132 signal-cfa4$(EXEEXT):133 ${CC} schedint/cfa4.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}134 135 ## =========================================================================================================136 waitfor$(EXEEXT) :\137 waitfor-upp.run \138 waitfor-cfa1.run \139 waitfor-cfa2.run \140 waitfor-cfa4.run141 142 waitfor-upp$(EXEEXT):143 u++ schedext/upp.cc -DBENCH_N=5000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}144 145 waitfor-cfa1$(EXEEXT):146 ${CC} schedext/cfa1.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}147 148 waitfor-cfa2$(EXEEXT):149 ${CC} schedext/cfa2.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}150 151 waitfor-cfa4$(EXEEXT):152 ${CC} schedext/cfa4.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}153 154 ## =========================================================================================================155 156 %.run : %$(EXEEXT) ${REPEAT}157 @rm -f .result.log158 @echo "------------------------------------------------------"159 @echo $<160 @${REPEAT} ${repeats} ./a.out | tee -a .result.log161 @${STATS} .result.log162 @echo "------------------------------------------------------"163 @rm -f a.out .result.log164 165 ${REPEAT} :166 @+make -C ${TOOLSDIR} repeat -
src/benchmark/Makefile.in
r136ccd7 r4ee1efb 92 92 build_triplet = @build@ 93 93 host_triplet = @host@ 94 noinst_PROGRAMS =95 94 subdir = src/benchmark 96 95 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 … … 104 103 CONFIG_CLEAN_VPATH_FILES = 105 104 PROGRAMS = $(noinst_PROGRAMS) 105 bench_SOURCES = bench.c 106 bench_OBJECTS = bench.$(OBJEXT) 107 bench_LDADD = $(LDADD) 108 csv_data_SOURCES = csv-data.c 109 csv_data_OBJECTS = csv-data.$(OBJEXT) 110 csv_data_LDADD = $(LDADD) 111 ctxswitch_coroutine_SOURCES = ctxswitch-coroutine.c 112 ctxswitch_coroutine_OBJECTS = ctxswitch-coroutine.$(OBJEXT) 113 ctxswitch_coroutine_LDADD = $(LDADD) 114 ctxswitch_thread_SOURCES = ctxswitch-thread.c 115 ctxswitch_thread_OBJECTS = ctxswitch-thread.$(OBJEXT) 116 ctxswitch_thread_LDADD = $(LDADD) 117 monitor_SOURCES = monitor.c 118 monitor_OBJECTS = monitor.$(OBJEXT) 119 monitor_LDADD = $(LDADD) 120 sched_int_SOURCES = sched-int.c 121 sched_int_OBJECTS = sched-int.$(OBJEXT) 122 sched_int_LDADD = $(LDADD) 106 123 AM_V_P = $(am__v_P_@AM_V@) 107 124 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) … … 116 133 am__v_at_0 = @ 117 134 am__v_at_1 = 118 SOURCES = 119 DIST_SOURCES = 135 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) 136 depcomp = $(SHELL) $(top_srcdir)/automake/depcomp 137 am__depfiles_maybe = depfiles 138 am__mv = mv -f 139 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 140 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) 141 AM_V_CC = $(am__v_CC_@AM_V@) 142 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) 143 am__v_CC_0 = @echo " CC " $@; 144 am__v_CC_1 = 145 CCLD = $(CC) 146 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 147 AM_V_CCLD = $(am__v_CCLD_@AM_V@) 148 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) 149 am__v_CCLD_0 = @echo " CCLD " $@; 150 am__v_CCLD_1 = 151 SOURCES = bench.c csv-data.c ctxswitch-coroutine.c ctxswitch-thread.c \ 152 monitor.c sched-int.c 153 DIST_SOURCES = bench.c csv-data.c ctxswitch-coroutine.c \ 154 ctxswitch-thread.c monitor.c sched-int.c 120 155 am__can_run_installinfo = \ 121 156 case $$AM_UPDATE_INFO_DIR in \ … … 124 159 esac 125 160 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) 126 am__DIST_COMMON = $(srcdir)/Makefile.in 161 # Read a list of newline-separated strings from the standard input, 162 # and print each of them once, without duplicates. Input order is 163 # *not* preserved. 164 am__uniquify_input = $(AWK) '\ 165 BEGIN { nonempty = 0; } \ 166 { items[$$0] = 1; nonempty = 1; } \ 167 END { if (nonempty) { for (i in items) print i; }; } \ 168 ' 169 # Make sure the list of sources is unique. This is necessary because, 170 # e.g., the same source file might be shared among _SOURCES variables 171 # for different programs/libraries. 172 am__define_uniq_tagged_files = \ 173 list='$(am__tagged_files)'; \ 174 unique=`for i in $$list; do \ 175 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ 176 done | $(am__uniquify_input)` 177 ETAGS = etags 178 CTAGS = ctags 179 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/automake/depcomp 127 180 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 128 181 ACLOCAL = @ACLOCAL@ … … 249 302 top_srcdir = @top_srcdir@ 250 303 AM_CFLAGS = -g -Wall -Wno-unused-function -O2 251 TOOLSDIR = ${abs_top_srcdir}/tools/ 252 REPEAT = ${TOOLSDIR}repeat 253 STATS = ${TOOLSDIR}stat.py 254 repeats = 30 304 noinst_PROGRAMS = bench$(EXEEXT) ctxswitch-coroutine$(EXEEXT) ctxswitch-thread$(EXEEXT) sched-int$(EXEEXT) monitor$(EXEEXT) csv-data$(EXEEXT) 255 305 all: all-am 256 306 257 307 .SUFFIXES: 308 .SUFFIXES: .c .o .obj 258 309 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) 259 310 @for dep in $?; do \ … … 288 339 clean-noinstPROGRAMS: 289 340 -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) 290 tags TAGS: 291 292 ctags CTAGS: 293 294 cscope cscopelist: 295 341 342 mostlyclean-compile: 343 -rm -f *.$(OBJEXT) 344 345 distclean-compile: 346 -rm -f *.tab.c 347 348 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bench.Po@am__quote@ 349 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/csv-data.Po@am__quote@ 350 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ctxswitch-coroutine.Po@am__quote@ 351 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ctxswitch-thread.Po@am__quote@ 352 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/monitor.Po@am__quote@ 353 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched-int.Po@am__quote@ 354 355 .c.o: 356 @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ 357 @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 358 @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po 359 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ 360 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 361 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< 362 363 .c.obj: 364 @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ 365 @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ 366 @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po 367 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ 368 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 369 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 370 371 ID: $(am__tagged_files) 372 $(am__define_uniq_tagged_files); mkid -fID $$unique 373 tags: tags-am 374 TAGS: tags 375 376 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) 377 set x; \ 378 here=`pwd`; \ 379 $(am__define_uniq_tagged_files); \ 380 shift; \ 381 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ 382 test -n "$$unique" || unique=$$empty_fix; \ 383 if test $$# -gt 0; then \ 384 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ 385 "$$@" $$unique; \ 386 else \ 387 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ 388 $$unique; \ 389 fi; \ 390 fi 391 ctags: ctags-am 392 393 CTAGS: ctags 394 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) 395 $(am__define_uniq_tagged_files); \ 396 test -z "$(CTAGS_ARGS)$$unique" \ 397 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ 398 $$unique 399 400 GTAGS: 401 here=`$(am__cd) $(top_builddir) && pwd` \ 402 && $(am__cd) $(top_srcdir) \ 403 && gtags -i $(GTAGS_ARGS) "$$here" 404 cscopelist: cscopelist-am 405 406 cscopelist-am: $(am__tagged_files) 407 list='$(am__tagged_files)'; \ 408 case "$(srcdir)" in \ 409 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ 410 *) sdir=$(subdir)/$(srcdir) ;; \ 411 esac; \ 412 for i in $$list; do \ 413 if test -f "$$i"; then \ 414 echo "$(subdir)/$$i"; \ 415 else \ 416 echo "$$sdir/$$i"; \ 417 fi; \ 418 done >> $(top_builddir)/cscope.files 419 420 distclean-tags: 421 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags 296 422 297 423 distdir: $(DISTFILES) … … 364 490 365 491 distclean: distclean-am 492 -rm -rf ./$(DEPDIR) 366 493 -rm -f Makefile 367 distclean-am: clean-am distclean-generic 494 distclean-am: clean-am distclean-compile distclean-generic \ 495 distclean-tags 368 496 369 497 dvi: dvi-am … … 408 536 409 537 maintainer-clean: maintainer-clean-am 538 -rm -rf ./$(DEPDIR) 410 539 -rm -f Makefile 411 540 maintainer-clean-am: distclean-am maintainer-clean-generic … … 413 542 mostlyclean: mostlyclean-am 414 543 415 mostlyclean-am: mostlyclean- generic544 mostlyclean-am: mostlyclean-compile mostlyclean-generic 416 545 417 546 pdf: pdf-am … … 427 556 .MAKE: install-am install-strip 428 557 429 .PHONY: all all-am check check-am clean clean-generic \ 430 clean-noinstPROGRAMS cscopelist-am ctags-am distclean \ 431 distclean-generic distdir dvi dvi-am html html-am info info-am \ 432 install install-am install-data install-data-am install-dvi \ 433 install-dvi-am install-exec install-exec-am install-html \ 434 install-html-am install-info install-info-am install-man \ 435 install-pdf install-pdf-am install-ps install-ps-am \ 436 install-strip installcheck installcheck-am installdirs \ 437 maintainer-clean maintainer-clean-generic mostlyclean \ 438 mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ 558 .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ 559 clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \ 560 distclean-compile distclean-generic distclean-tags distdir dvi \ 561 dvi-am html html-am info info-am install install-am \ 562 install-data install-data-am install-dvi install-dvi-am \ 563 install-exec install-exec-am install-html install-html-am \ 564 install-info install-info-am install-man install-pdf \ 565 install-pdf-am install-ps install-ps-am install-strip \ 566 installcheck installcheck-am installdirs maintainer-clean \ 567 maintainer-clean-generic mostlyclean mostlyclean-compile \ 568 mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ 439 569 uninstall-am 440 570 441 571 .PRECIOUS: Makefile 442 572 443 444 .NOTPARALLEL:445 573 446 574 bench$(EXEEXT) : … … 452 580 rm -f ./a.out ; 453 581 582 ctxswitch-coroutine$(EXEEXT): 583 ${CC} ${AM_CFLAGS} ${CFLAGS} ${ccflags} @CFA_FLAGS@ -nodebug -lrt -DN=50000000 CorCtxSwitch.c 584 @rm -f .result.log 585 @for number in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do \ 586 ./a.out | tee -a .result.log ; \ 587 done 588 @./stat.py .result.log 589 @rm -f a.out .result.log 590 591 ctxswitch-thread$(EXEEXT): 592 ${CC} ${AM_CFLAGS} ${CFLAGS} ${ccflags} @CFA_FLAGS@ -nodebug -lrt -DN=50000000 ThrdCtxSwitch.c 593 @rm -f .result.log 594 @for number in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do \ 595 ./a.out | tee -a .result.log ; \ 596 done 597 @./stat.py .result.log 598 @rm -f a.out .result.log 599 600 ctxswitch-pthread$(EXEEXT): 601 @BACKEND_CC@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} -lrt -pthread -DN=50000000 PthrdCtxSwitch.c 602 @rm -f .result.log 603 @for number in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do \ 604 ./a.out | tee -a .result.log ; \ 605 done 606 @./stat.py .result.log 607 @rm -f a.out .result.log 608 609 sched-int$(EXEEXT): 610 ${CC} ${AM_CFLAGS} ${CFLAGS} ${ccflags} @CFA_FLAGS@ -nodebug -lrt -DN=50000000 SchedInt.c 611 @rm -f .result.log 612 @for number in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do \ 613 ./a.out | tee -a .result.log ; \ 614 done 615 @./stat.py .result.log 616 @rm -f a.out .result.log 617 618 monitor$(EXEEXT): 619 ${CC} ${AM_CFLAGS} ${CFLAGS} ${ccflags} @CFA_FLAGS@ -nodebug -lrt -DN=50000000 Monitor.c 620 @rm -f .result.log 621 @for number in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do \ 622 ./a.out | tee -a .result.log ; \ 623 done 624 @./stat.py .result.log 625 @rm -f a.out .result.log 626 454 627 csv-data$(EXEEXT): 455 628 @${CC} ${AM_CFLAGS} ${CFLAGS} ${ccflags} @CFA_FLAGS@ -nodebug -lrt -quiet -DN=50000000 csv-data.c … … 457 630 @rm -f ./a.out 458 631 459 ctxswitch$(EXEEXT): \460 ctxswitch-pthread.run \461 ctxswitch-cfa_coroutine.run \462 ctxswitch-cfa_thread.run \463 ctxswitch-upp_coroutine.run \464 ctxswitch-upp_thread.run465 466 ctxswitch-cfa_coroutine$(EXEEXT):467 ${CC} ctxswitch/cfa_cor.c -DBENCH_N=50000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}468 469 ctxswitch-cfa_thread$(EXEEXT):470 ${CC} ctxswitch/cfa_thrd.c -DBENCH_N=50000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}471 472 ctxswitch-upp_coroutine$(EXEEXT):473 u++ ctxswitch/upp_cor.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}474 475 ctxswitch-upp_thread$(EXEEXT):476 u++ ctxswitch/upp_thrd.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}477 478 ctxswitch-pthread$(EXEEXT):479 @BACKEND_CC@ ctxswitch/pthreads.c -DBENCH_N=50000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}480 481 creation$(EXEEXT) :\482 creation-pthread.run \483 creation-cfa_coroutine.run \484 creation-cfa_thread.run \485 creation-upp_coroutine.run \486 creation-upp_thread.run487 488 creation-cfa_coroutine$(EXEEXT):489 ${CC} creation/cfa_cor.c -DBENCH_N=10000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}490 491 creation-cfa_thread$(EXEEXT):492 ${CC} creation/cfa_thrd.c -DBENCH_N=10000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}493 494 creation-upp_coroutine$(EXEEXT):495 u++ creation/upp_cor.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}496 497 creation-upp_thread$(EXEEXT):498 u++ creation/upp_thrd.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}499 500 creation-pthread$(EXEEXT):501 @BACKEND_CC@ creation/pthreads.c -DBENCH_N=250000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}502 503 mutex$(EXEEXT) :\504 mutex-function.run \505 mutex-pthread_lock.run \506 mutex-upp.run \507 mutex-cfa1.run \508 mutex-cfa2.run \509 mutex-cfa4.run510 511 mutex-function$(EXEEXT):512 @BACKEND_CC@ mutex/function.c -DBENCH_N=500000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}513 514 mutex-pthread_lock$(EXEEXT):515 @BACKEND_CC@ mutex/pthreads.c -DBENCH_N=50000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}516 517 mutex-upp$(EXEEXT):518 u++ mutex/upp.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}519 520 mutex-cfa1$(EXEEXT):521 ${CC} mutex/cfa1.c -DBENCH_N=5000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}522 523 mutex-cfa2$(EXEEXT):524 ${CC} mutex/cfa2.c -DBENCH_N=5000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}525 526 mutex-cfa4$(EXEEXT):527 ${CC} mutex/cfa4.c -DBENCH_N=5000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}528 529 signal$(EXEEXT) :\530 signal-upp.run \531 signal-cfa1.run \532 signal-cfa2.run \533 signal-cfa4.run534 535 signal-upp$(EXEEXT):536 u++ schedint/upp.cc -DBENCH_N=5000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}537 538 signal-cfa1$(EXEEXT):539 ${CC} schedint/cfa1.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}540 541 signal-cfa2$(EXEEXT):542 ${CC} schedint/cfa2.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}543 544 signal-cfa4$(EXEEXT):545 ${CC} schedint/cfa4.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}546 547 waitfor$(EXEEXT) :\548 waitfor-upp.run \549 waitfor-cfa1.run \550 waitfor-cfa2.run \551 waitfor-cfa4.run552 553 waitfor-upp$(EXEEXT):554 u++ schedext/upp.cc -DBENCH_N=5000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}555 556 waitfor-cfa1$(EXEEXT):557 ${CC} schedext/cfa1.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}558 559 waitfor-cfa2$(EXEEXT):560 ${CC} schedext/cfa2.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}561 562 waitfor-cfa4$(EXEEXT):563 ${CC} schedext/cfa4.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}564 565 %.run : %$(EXEEXT) ${REPEAT}566 @rm -f .result.log567 @echo "------------------------------------------------------"568 @echo $<569 @${REPEAT} ${repeats} ./a.out | tee -a .result.log570 @${STATS} .result.log571 @echo "------------------------------------------------------"572 @rm -f a.out .result.log573 574 ${REPEAT} :575 @+make -C ${TOOLSDIR} repeat576 577 632 # Tell versions [3.59,3.63) of GNU make to not export all variables. 578 633 # Otherwise a system limit (for SysV at least) may be exceeded. -
src/benchmark/bench.h
r136ccd7 r4ee1efb 1 1 #pragma once 2 2 3 #if defined(__CFORALL__)3 #ifdef __CFORALL__ 4 4 extern "C" { 5 5 #endif 6 #include <stdlib.h>7 6 #include <unistd.h> // sysconf 8 7 #include <sys/times.h> // times 9 8 #include <time.h> 10 #if defined(__CFORALL__)9 #ifdef __CFORALL__ 11 10 } 12 11 #endif … … 28 27 } // Time 29 28 30 #ifndef BENCH_N31 #define BENCH_N 500 //1000000029 #ifndef N 30 #define N 10000000 32 31 #endif 33 34 #define BENCH(statement, output) \35 size_t n = BENCH_N; \36 if( argc > 2 ) return 1; \37 if( argc == 2 ) { \38 n = atoi(argv[1]); \39 } \40 long long int StartTime, EndTime; \41 StartTime = Time(); \42 statement; \43 EndTime = Time(); \44 unsigned long long int output = \45 ( EndTime - StartTime ) / n;46 32 47 33 unsigned int default_preemption() { -
src/driver/cfa.cc
r136ccd7 r4ee1efb 10 10 // Created On : Tue Aug 20 13:44:49 2002 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Oct 31 11:40:44201713 // Update Count : 1 6012 // Last Modified On : Tue Sep 26 23:12:38 2017 13 // Update Count : 159 14 14 // 15 15 … … 305 305 } // if 306 306 307 shuffle( args, sargs, nargs, 1 ); // make room at front of argument list308 nargs += 1;309 307 if ( CFA_flag ) { 310 args[sargs] = "-D__CFA_FLAG__=-N";311 308 args[nargs] = "-D__CFA_PREPROCESS_"; 312 309 nargs += 1; 313 } else { 314 args[sargs] = "-D__CFA_FLAG__=-L"; 315 } // if 316 sargs += 1; 310 } // if 317 311 318 312 if ( debug ) { -
src/libcfa/concurrency/kernel.c
r136ccd7 r4ee1efb 548 548 549 549 int len = snprintf( abort_text, abort_text_size, "Error occurred while executing task %.256s (%p)", thrd->self_cor.name, thrd ); 550 __lib_debug_write( abort_text, len );550 __lib_debug_write( STDERR_FILENO, abort_text, len ); 551 551 552 552 if ( thrd != this_coroutine ) { 553 553 len = snprintf( abort_text, abort_text_size, " in coroutine %.256s (%p).\n", this_coroutine->name, this_coroutine ); 554 __lib_debug_write( abort_text, len );554 __lib_debug_write( STDERR_FILENO, abort_text, len ); 555 555 } 556 556 else { 557 __lib_debug_write( ".\n", 2 );557 __lib_debug_write( STDERR_FILENO, ".\n", 2 ); 558 558 } 559 559 } -
src/libcfa/concurrency/monitor.c
r136ccd7 r4ee1efb 21 21 #include "kernel_private.h" 22 22 23 #include "bits/algorithms.h"24 25 23 //----------------------------------------------------------------------------- 26 24 // Forward declarations … … 97 95 else if( this->owner == thrd) { 98 96 // We already have the monitor, just note how many times we took it 97 verify( this->recursion > 0 ); 99 98 this->recursion += 1; 100 99 … … 208 207 // it means we don't need to do anything 209 208 if( this->recursion != 0) { 210 LIB_DEBUG_PRINT_SAFE("Kernel : recursion still %d\n", this->recursion);211 209 unlock( &this->lock ); 212 210 return; … … 293 291 294 292 // Sort monitors based on address -> TODO use a sort specialized for small numbers 295 __libcfa_small_sort(this.m, count);293 qsort(this.m, count); 296 294 297 295 // Save previous thread context … … 494 492 set_owner( monitors, count, signallee ); 495 493 496 LIB_DEBUG_PRINT_BUFFER_DECL( "Kernel : signal_block condition %p (s: %p)\n", this, signallee );497 498 494 //Everything is ready to go to sleep 499 495 BlockInternal( locks, count, &signallee, 1 ); … … 502 498 // WE WOKE UP 503 499 504 505 LIB_DEBUG_PRINT_BUFFER_LOCAL( "Kernel : signal_block returned\n" );506 500 507 501 //We are back, restore the masks and recursions … … 542 536 short actual_count = aggregate( mon_storage, mask ); 543 537 544 LIB_DEBUG_PRINT_ BUFFER_DECL("Kernel : waitfor %d (s: %d, m: %d)\n", actual_count, mask.size, (short)max);538 LIB_DEBUG_PRINT_SAFE("Kernel : waitfor %d (s: %d, m: %d)\n", actual_count, mask.size, (short)max); 545 539 546 540 if(actual_count == 0) return; 547 541 548 LIB_DEBUG_PRINT_ BUFFER_LOCAL("Kernel : waitfor internal proceeding\n");542 LIB_DEBUG_PRINT_SAFE("Kernel : waitfor internal proceeding\n"); 549 543 550 544 // Create storage for monitor context … … 562 556 *mask.accepted = index; 563 557 if( mask.clauses[index].is_dtor ) { 564 LIB_DEBUG_PRINT_ BUFFER_LOCAL("Kernel : dtor already there\n");558 LIB_DEBUG_PRINT_SAFE("Kernel : dtor already there\n"); 565 559 verifyf( mask.clauses[index].size == 1 , "ERROR: Accepted dtor has more than 1 mutex parameter." ); 566 560 … … 574 568 } 575 569 else { 576 LIB_DEBUG_PRINT_ BUFFER_LOCAL("Kernel : thread present, baton-passing\n");570 LIB_DEBUG_PRINT_SAFE("Kernel : thread present, baton-passing\n"); 577 571 578 572 // Create the node specific to this wait operation … … 582 576 monitor_save; 583 577 584 LIB_DEBUG_PRINT_BUFFER_LOCAL( "Kernel : baton of %d monitors : ", count );585 #ifdef __CFA_DEBUG_PRINT__586 for( int i = 0; i < count; i++) {587 LIB_DEBUG_PRINT_BUFFER_LOCAL( "%p %p ", monitors[i], monitors[i]->signal_stack.top );588 }589 #endif590 LIB_DEBUG_PRINT_BUFFER_LOCAL( "\n");591 592 578 // Set the owners to be the next thread 593 579 set_owner( monitors, count, next ); … … 599 585 monitor_restore; 600 586 601 LIB_DEBUG_PRINT_ BUFFER_LOCAL("Kernel : thread present, returned\n");587 LIB_DEBUG_PRINT_SAFE("Kernel : thread present, returned\n"); 602 588 } 603 589 604 LIB_DEBUG_PRINT_ BUFFER_LOCAL("Kernel : accepted %d\n", *mask.accepted);590 LIB_DEBUG_PRINT_SAFE("Kernel : accepted %d\n", *mask.accepted); 605 591 606 592 return; … … 610 596 611 597 if( duration == 0 ) { 612 LIB_DEBUG_PRINT_ BUFFER_LOCAL("Kernel : non-blocking, exiting\n");598 LIB_DEBUG_PRINT_SAFE("Kernel : non-blocking, exiting\n"); 613 599 614 600 unlock_all( locks, count ); 615 601 616 LIB_DEBUG_PRINT_ BUFFER_LOCAL("Kernel : accepted %d\n", *mask.accepted);602 LIB_DEBUG_PRINT_SAFE("Kernel : accepted %d\n", *mask.accepted); 617 603 return; 618 604 } … … 621 607 verifyf( duration < 0, "Timeout on waitfor statments not supported yet."); 622 608 623 LIB_DEBUG_PRINT_ BUFFER_LOCAL("Kernel : blocking waitfor\n");609 LIB_DEBUG_PRINT_SAFE("Kernel : blocking waitfor\n"); 624 610 625 611 // Create the node specific to this wait operation … … 643 629 monitor_restore; 644 630 645 LIB_DEBUG_PRINT_ BUFFER_LOCAL("Kernel : exiting\n");646 647 LIB_DEBUG_PRINT_ BUFFER_LOCAL("Kernel : accepted %d\n", *mask.accepted);631 LIB_DEBUG_PRINT_SAFE("Kernel : exiting\n"); 632 633 LIB_DEBUG_PRINT_SAFE("Kernel : accepted %d\n", *mask.accepted); 648 634 } 649 635 … … 662 648 663 649 static inline void set_owner( monitor_desc ** monitors, short count, thread_desc * owner ) { 664 monitors[0]->owner = owner; 665 monitors[0]->recursion = 1; 666 for( int i = 1; i < count; i++ ) { 667 monitors[i]->owner = owner; 668 monitors[i]->recursion = 0; 650 for( int i = 0; i < count; i++ ) { 651 set_owner( monitors[i], owner ); 669 652 } 670 653 } … … 684 667 static inline thread_desc * next_thread( monitor_desc * this ) { 685 668 //Check the signaller stack 686 LIB_DEBUG_PRINT_SAFE("Kernel : mon %p AS-stack top %p\n", this, this->signal_stack.top);687 669 __condition_criterion_t * urgent = pop( &this->signal_stack ); 688 670 if( urgent ) { … … 736 718 for(int i = 0; i < count; i++) { 737 719 (criteria[i]){ monitors[i], waiter }; 738 LIB_DEBUG_PRINT_SAFE( "Kernel : target %p = %p\n", criteria[i].target, &criteria[i] );739 720 push( &criteria[i].target->signal_stack, &criteria[i] ); 740 721 } … … 807 788 } 808 789 809 LIB_DEBUG_PRINT_SAFE( "Kernel : Runing %i (%p)\n", ready2run, ready2run ? node->waiting_thread : NULL);790 // LIB_DEBUG_PRINT_SAFE( "Runing %i\n", ready2run ); 810 791 return ready2run ? node->waiting_thread : NULL; 811 792 } … … 875 856 short size = 0; 876 857 for( int i = 0; i < mask.size; i++ ) { 877 __libcfa_small_sort( mask.clauses[i].list, mask.clauses[i].size );878 858 for( int j = 0; j < mask.clauses[i].size; j++) { 879 859 insert_unique( storage, size, mask.clauses[i].list[j] ); 880 860 } 881 861 } 882 // TODO insertion sort instead of this 883 __libcfa_small_sort( storage, size ); 862 qsort( storage, size ); 884 863 return size; 885 864 } -
src/libcfa/concurrency/preemption.c
r136ccd7 r4ee1efb 380 380 381 381 if ( sigaction( sig, &act, NULL ) == -1 ) { 382 LIB_DEBUG_PRINT_BUFFER_DECL( 382 LIB_DEBUG_PRINT_BUFFER_DECL( STDERR_FILENO, 383 383 " __kernel_sigaction( sig:%d, handler:%p, flags:%d ), problem installing signal handler, error(%d) %s.\n", 384 384 sig, handler, flags, errno, strerror( errno ) … … 397 397 398 398 if ( sigaction( sig, &act, NULL ) == -1 ) { 399 LIB_DEBUG_PRINT_BUFFER_DECL( 399 LIB_DEBUG_PRINT_BUFFER_DECL( STDERR_FILENO, 400 400 " __kernel_sigdefault( sig:%d ), problem reseting signal handler, error(%d) %s.\n", 401 401 sig, errno, strerror( errno ) -
src/libcfa/interpose.c
r136ccd7 r4ee1efb 127 127 va_end( args ); 128 128 129 __lib_debug_write( abort_text, len );130 __lib_debug_write( "\n", 1 );129 __lib_debug_write( STDERR_FILENO, abort_text, len ); 130 __lib_debug_write( STDERR_FILENO, "\n", 1 ); 131 131 } 132 132 133 133 len = snprintf( abort_text, abort_text_size, "Cforall Runtime error (UNIX pid:%ld)\n", (long int)getpid() ); // use UNIX pid (versus getPid) 134 __lib_debug_write( abort_text, len );134 __lib_debug_write( STDERR_FILENO, abort_text, len ); 135 135 136 136 -
src/libcfa/libhdr/libdebug.c
r136ccd7 r4ee1efb 9 9 // Author : Thierry Delisle 10 10 // Created On : Thu Mar 30 12:30:01 2017 11 // Last Modified By : 12 // Last Modified On : 11 // Last Modified By : 12 // Last Modified On : 13 13 // Update Count : 0 14 14 // … … 28 28 extern "C" { 29 29 30 void __lib_debug_write( const char *in_buffer, int len ) {30 void __lib_debug_write( int fd, const char *in_buffer, int len ) { 31 31 // ensure all data is written 32 for ( int count = 0, retcode; count < len; count += retcode ) { 32 for ( int count = 0, retcode; count < len; count += retcode ) { 33 33 in_buffer += count; 34 34 35 35 for ( ;; ) { 36 retcode = write( STDERR_FILENO, in_buffer, len - count );36 retcode = write( fd, in_buffer, len - count ); 37 37 38 38 // not a timer interrupt ? 39 if ( retcode != -1 || errno != EINTR ) break; 39 if ( retcode != -1 || errno != EINTR ) break; 40 40 } 41 41 … … 52 52 va_start( args, fmt ); 53 53 __lib_debug_acquire(); 54 54 55 55 int len = vsnprintf( buffer, buffer_size, fmt, args ); 56 __lib_debug_write( buffer, len );56 __lib_debug_write( STDERR_FILENO, buffer, len ); 57 57 58 58 __lib_debug_release(); … … 64 64 65 65 va_start( args, fmt ); 66 66 67 67 int len = vsnprintf( buffer, buffer_size, fmt, args ); 68 __lib_debug_write( buffer, len );68 __lib_debug_write( STDERR_FILENO, buffer, len ); 69 69 70 70 va_end( args ); … … 73 73 void __lib_debug_print_vararg( const char fmt[], va_list args ) { 74 74 int len = vsnprintf( buffer, buffer_size, fmt, args ); 75 __lib_debug_write( buffer, len );75 __lib_debug_write( STDERR_FILENO, buffer, len ); 76 76 } 77 77 … … 80 80 81 81 va_start( args, fmt ); 82 82 83 83 int len = vsnprintf( in_buffer, in_buffer_size, fmt, args ); 84 __lib_debug_write( in_buffer, len );84 __lib_debug_write( STDERR_FILENO, in_buffer, len ); 85 85 86 86 va_end( args ); -
src/libcfa/libhdr/libdebug.h
r136ccd7 r4ee1efb 44 44 extern "C" { 45 45 #endif 46 #include <stdarg.h> 47 #include <stdio.h> 46 #include <stdarg.h> 48 47 49 extern void __lib_debug_write( const char *buffer, int len );48 extern void __lib_debug_write( int fd, const char *buffer, int len ); 50 49 extern void __lib_debug_acquire(); 51 50 extern void __lib_debug_release(); … … 59 58 60 59 #ifdef __CFA_DEBUG_PRINT__ 61 #define LIB_DEBUG_WRITE( buffer, len ) __lib_debug_write(buffer, len )60 #define LIB_DEBUG_WRITE( fd, buffer, len ) __lib_debug_write( fd, buffer, len ) 62 61 #define LIB_DEBUG_ACQUIRE() __lib_debug_acquire() 63 62 #define LIB_DEBUG_RELEASE() __lib_debug_release() … … 65 64 #define LIB_DEBUG_PRINT_NOLOCK(...) __lib_debug_print_nolock (__VA_ARGS__) 66 65 #define LIB_DEBUG_PRINT_BUFFER(...) __lib_debug_print_buffer (__VA_ARGS__) 67 #define LIB_DEBUG_PRINT_BUFFER_DECL( ...) char __dbg_text[256]; int __dbg_len = snprintf( __dbg_text, 256, __VA_ARGS__ ); __lib_debug_write( __dbg_text, __dbg_len );68 #define LIB_DEBUG_PRINT_BUFFER_LOCAL( ...) __dbg_len = snprintf( __dbg_text, 256, __VA_ARGS__ ); __lib_debug_write( __dbg_text, __dbg_len );66 #define LIB_DEBUG_PRINT_BUFFER_DECL(fd, ...) char text[256]; int len = snprintf( text, 256, __VA_ARGS__ ); __lib_debug_write( fd, text, len ); 67 #define LIB_DEBUG_PRINT_BUFFER_LOCAL(fd, ...) len = snprintf( text, 256, __VA_ARGS__ ); __lib_debug_write( fd, text, len ); 69 68 #else 70 69 #define LIB_DEBUG_WRITE(...) ((void)0) -
src/libcfa/stdlib
r136ccd7 r4ee1efb 10 10 // Created On : Thu Jan 28 17:12:35 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Oct 31 13:47:24201713 // Update Count : 2 4512 // Last Modified On : Wed Aug 23 20:29:47 2017 13 // Update Count : 224 14 14 // 15 15 … … 27 27 // allocation, non-array types 28 28 static inline forall( dtype T | sized(T) ) T * malloc( void ) { 29 // printf( "* malloc\n" );29 //printf( "X1\n" ); 30 30 return (T *)(void *)malloc( (size_t)sizeof(T) ); // C malloc 31 31 } // malloc 32 33 // static inline forall( dtype T | sized(T) ) T & malloc( void ) {34 // int & p = *(T *)(void *)malloc( (size_t)sizeof(T) ); // C malloc35 // printf( "& malloc %p\n", &p );36 // return p;37 // // return (T &)*(T *)(void *)malloc( (size_t)sizeof(T) ); // C malloc38 // } // malloc39 32 40 33 extern "C" { void * calloc( size_t dim, size_t size ); } // default C routine … … 213 206 //--------------------------------------- 214 207 215 void random_seed( long int s ); 216 char random( void ); 217 char random( char l, char u ); 218 int random( void ); 219 unsigned int random( void ); 220 unsigned int random( unsigned int u ); 221 unsigned int random( unsigned int l, unsigned int u ); 222 //long int random( void ); 223 unsigned long int random( void ); 224 unsigned long int random( unsigned long int u ); 225 unsigned long int random( unsigned long int l, unsigned long int u ); 226 float random( void ); 227 double random( void ); 228 float _Complex random( void ); 229 double _Complex random( void ); 230 long double _Complex random( void ); 208 void rand48seed( long int s ); 209 char rand48( void ); 210 int rand48( void ); 211 unsigned int rand48( void ); 212 long int rand48( void ); 213 unsigned long int rand48( void ); 214 float rand48( void ); 215 double rand48( void ); 216 float _Complex rand48( void ); 217 double _Complex rand48( void ); 218 long double _Complex rand48( void ); 231 219 232 220 //--------------------------------------- -
src/libcfa/stdlib.c
r136ccd7 r4ee1efb 10 10 // Created On : Thu Jan 28 17:10:29 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Oct 30 22:43:02201713 // Update Count : 29 712 // Last Modified On : Wed Aug 23 20:30:44 2017 13 // Update Count : 292 14 14 // 15 15 … … 275 275 //--------------------------------------- 276 276 277 void random_seed( long int s ) { srand48( s ); } 278 char random( void ) { return mrand48(); } 279 char random( char l, char u ) { return lrand48() % (u - l) + l; } 280 int random( void ) { return mrand48(); } 281 unsigned int random( void ) { return lrand48(); } 282 unsigned int random( unsigned int u ) { return lrand48() % u; } 283 unsigned int random( unsigned int l, unsigned int u ) { return lrand48() % (u - l) + l; } 284 //long int random( void ) { return mrand48(); } 285 unsigned long int random( void ) { return lrand48(); } 286 unsigned long int random( unsigned long int u ) { return lrand48() % u; } 287 unsigned long int random( unsigned long int l, unsigned long int u ) { return lrand48() % (u - l) + l; } 288 float random( void ) { return (float)drand48(); } // otherwise float uses lrand48 289 double random( void ) { return drand48(); } 290 float _Complex random( void ) { return (float)drand48() + (float _Complex)(drand48() * _Complex_I); } 291 double _Complex random( void ) { return drand48() + (double _Complex)(drand48() * _Complex_I); } 292 long double _Complex random( void) { return (long double)drand48() + (long double _Complex)(drand48() * _Complex_I); } 277 void rand48seed( long int s ) { srand48( s ); } 278 char rand48( void ) { return mrand48(); } 279 int rand48( void ) { return mrand48(); } 280 unsigned int rand48( void ) { return lrand48(); } 281 long int rand48( void ) { return mrand48(); } 282 unsigned long int rand48( void ) { return lrand48(); } 283 float rand48( void ) { return (float)drand48(); } // otherwise float uses lrand48 284 double rand48( void ) { return drand48(); } 285 float _Complex rand48( void ) { return (float)drand48() + (float _Complex)(drand48() * _Complex_I); } 286 double _Complex rand48( void ) { return drand48() + (double _Complex)(drand48() * _Complex_I); } 287 long double _Complex rand48( void) { return (long double)drand48() + (long double _Complex)(drand48() * _Complex_I); } 293 288 294 289 //--------------------------------------- -
src/main.cc
r136ccd7 r4ee1efb 10 10 // Author : Richard C. Bilson 11 11 // Created On : Fri May 15 23:12:02 2015 12 // Last Modified By : Peter A. Buhr13 // Last Modified On : Tue Oct 31 12:22:40 201714 // Update Count : 44 512 // Last Modified By : Andrew Beach 13 // Last Modified On : Wed Jul 26 14:38:00 2017 14 // Update Count : 443 15 15 // 16 16 … … 93 93 codegenp = false, 94 94 prettycodegenp = false, 95 linemarks = false;95 nolinemarks = false; 96 96 97 97 static void parse_cmdline( int argc, char *argv[], const char *& filename ); … … 340 340 341 341 CodeTools::fillLocations( translationUnit ); 342 CodeGen::generate( translationUnit, *output, ! noprotop, prettycodegenp, true, linemarks );342 CodeGen::generate( translationUnit, *output, ! noprotop, prettycodegenp, true, ! nolinemarks ); 343 343 344 344 CodeGen::FixMain::fix( *output, treep ? "../prelude/bootloader.c" : CFA_LIBDIR "/bootloader.c" ); … … 378 378 379 379 void parse_cmdline( int argc, char * argv[], const char *& filename ) { 380 enum { Ast, Bbox, Bresolver, CtorInitFix, DeclStats, Expr, ExprAlt, Grammar, LibCFA, Linemarks, Nolinemarks,Nopreamble, Parse, Prototypes, Resolver, Symbol, Tree, TupleExpansion, Validate, };380 enum { Ast, Bbox, Bresolver, CtorInitFix, DeclStats, Expr, ExprAlt, Grammar, LibCFA, Nopreamble, Parse, Prototypes, Resolver, Symbol, Tree, TupleExpansion, Validate, }; 381 381 382 382 static struct option long_opts[] = { … … 390 390 { "grammar", no_argument, 0, Grammar }, 391 391 { "libcfa", no_argument, 0, LibCFA }, 392 { "line-marks", no_argument, 0, Linemarks },393 { "no-line-marks", no_argument, 0, Nolinemarks },394 392 { "no-preamble", no_argument, 0, Nopreamble }, 395 393 { "parse", no_argument, 0, Parse }, … … 407 405 408 406 int c; 409 while ( (c = getopt_long( argc, argv, "abBcCdefglLmn NpqrstTvyzZD:F:", long_opts, &long_index )) != -1 ) {407 while ( (c = getopt_long( argc, argv, "abBcCdefglLmnpqrstTvyzZD:F:", long_opts, &long_index )) != -1 ) { 410 408 switch ( c ) { 411 409 case Ast: … … 447 445 libcfap = true; 448 446 break; 449 case Linemarks: 450 case 'L': // print lines marks 451 linemarks = true; 447 case 'L': // surpress lines marks 448 nolinemarks = true; 452 449 break; 453 450 case Nopreamble: 454 451 case 'n': // do not read preamble 455 452 nopreludep = true; 456 break;457 case Nolinemarks:458 case 'N': // suppress line marks459 linemarks = false;460 453 break; 461 454 case Prototypes: -
src/prelude/Makefile.am
r136ccd7 r4ee1efb 57 57 58 58 bootloader.c : bootloader.cf prelude.cf extras.cf gcc-builtins.cf builtins.cf ${abs_top_srcdir}/src/driver/cfa-cpp 59 ${AM_V_GEN}${abs_top_srcdir}/src/driver/cfa-cpp -tpm bootloader.cf $@ # use src/cfa-cpp as not in lib until after install59 ${AM_V_GEN}${abs_top_srcdir}/src/driver/cfa-cpp -tpmL bootloader.cf $@ # use src/cfa-cpp as not in lib until after install 60 60 61 61 maintainer-clean-local : -
src/prelude/Makefile.in
r136ccd7 r4ee1efb 526 526 527 527 bootloader.c : bootloader.cf prelude.cf extras.cf gcc-builtins.cf builtins.cf ${abs_top_srcdir}/src/driver/cfa-cpp 528 ${AM_V_GEN}${abs_top_srcdir}/src/driver/cfa-cpp -tpm bootloader.cf $@ # use src/cfa-cpp as not in lib until after install528 ${AM_V_GEN}${abs_top_srcdir}/src/driver/cfa-cpp -tpmL bootloader.cf $@ # use src/cfa-cpp as not in lib until after install 529 529 530 530 maintainer-clean-local : -
src/prelude/prelude.cf
r136ccd7 r4ee1efb 7 7 // Created On : Sat Nov 29 07:23:41 2014 8 8 // Last Modified By : Peter A. Buhr 9 // Last Modified On : S at Oct 28 16:33:09201710 // Update Count : 1029 // Last Modified On : Sun Oct 8 12:21:33 2017 10 // Update Count : 97 11 11 // 12 12 … … 41 41 _Bool ?++( _Bool & ), ?++( volatile _Bool & ); 42 42 _Bool ?--( _Bool & ), ?--( volatile _Bool & ); 43 unsigned char ?++( unsigned char & ), ?++( volatile unsigned char & ); 43 44 signed short ?++( signed short & ), ?++( volatile signed short & ); 44 45 signed short ?--( signed short & ), ?--( volatile signed short & ); … … 195 196 long double _Complex ?+?( long double _Complex, long double _Complex ), ?-?( long double _Complex, long double _Complex ); 196 197 197 forall( dtype T | sized(T) ) T * ?+?( T *, ptrdiff_t );198 forall( dtype T | sized(T) ) T * ?+?( ptrdiff_t, T * );198 forall( dtype T | sized(T) ) T * ?+?( T *, ptrdiff_t ); 199 forall( dtype T | sized(T) ) T * ?+?( ptrdiff_t, T * ); 199 200 forall( dtype T | sized(T) ) const T * ?+?( const T *, ptrdiff_t ); 200 201 forall( dtype T | sized(T) ) const T * ?+?( ptrdiff_t, const T * ); 201 forall( dtype T | sized(T) ) volatile T * ?+?( volatile T *, ptrdiff_t );202 forall( dtype T | sized(T) ) volatile T * ?+?( ptrdiff_t, volatile T * );202 forall( dtype T | sized(T) ) volatile T * ?+?( volatile T *, ptrdiff_t ); 203 forall( dtype T | sized(T) ) volatile T * ?+?( ptrdiff_t, volatile T * ); 203 204 forall( dtype T | sized(T) ) const volatile T * ?+?( const volatile T *, ptrdiff_t ); 204 205 forall( dtype T | sized(T) ) const volatile T * ?+?( ptrdiff_t, const volatile T * ); 205 forall( dtype T | sized(T) ) T * ?-?( T *, ptrdiff_t );206 forall( dtype T | sized(T) ) T * ?-?( T *, ptrdiff_t ); 206 207 forall( dtype T | sized(T) ) const T * ?-?( const T *, ptrdiff_t ); 207 forall( dtype T | sized(T) ) volatile T * ?-?( volatile T *, ptrdiff_t );208 forall( dtype T | sized(T) ) volatile T * ?-?( volatile T *, ptrdiff_t ); 208 209 forall( dtype T | sized(T) ) const volatile T * ?-?( const volatile T *, ptrdiff_t ); 209 210 forall( dtype T | sized(T) ) ptrdiff_t ?-?( const volatile T *, const volatile T * ); … … 231 232 signed int ?<?( _Bool, _Bool ), ?<=?( _Bool, _Bool ), 232 233 ?>?( _Bool, _Bool ), ?>=?( _Bool, _Bool ); 233 signed int ?<?( char, char ), 234 ?>?( char, char ), 234 signed int ?<?( char, char ), ?<=?( char, char ), 235 ?>?( char, char ), ?>=?( char, char ); 235 236 signed int ?<?( signed char, signed char ), ?<=?( signed char, signed char ), 236 237 ?>?( signed char, signed char ), ?>=?( signed char, signed char ); … … 240 241 ?>?( signed short, signed short ), ?>=?( signed short, signed short ); 241 242 signed int ?<?( unsigned short, unsigned short ), ?<=?( unsigned short, unsigned short ), 242 ?>?( unsigned short, unsigned short ), ?>=?( unsigned short, unsigned short );243 ?>?( unsigned short, unsigned short ), ?>=?( unsigned short, unsigned short ); 243 244 signed int ?<?( signed int, signed int ), ?<=?( signed int, signed int ), 244 245 ?>?( signed int, signed int ), ?>=?( signed int, signed int ); … … 473 474 forall( ftype FT ) FT * ?=?( FT * volatile &, zero_t ); 474 475 475 forall( dtype T | sized(T) ) T * ?+=?( T * &, ptrdiff_t );476 forall( dtype T | sized(T) ) T * ?+=?( T * volatile &, ptrdiff_t );476 forall( dtype T | sized(T) ) T * ?+=?( T * &, ptrdiff_t ); 477 forall( dtype T | sized(T) ) T * ?+=?( T * volatile &, ptrdiff_t ); 477 478 forall( dtype T | sized(T) ) const T * ?+=?( const T * &, ptrdiff_t ); 478 479 forall( dtype T | sized(T) ) const T * ?+=?( const T * volatile &, ptrdiff_t ); 479 forall( dtype T | sized(T) ) volatile T * ?+=?( volatile T * &, ptrdiff_t );480 forall( dtype T | sized(T) ) volatile T * ?+=?( volatile T * volatile &, ptrdiff_t );480 forall( dtype T | sized(T) ) volatile T * ?+=?( volatile T * &, ptrdiff_t ); 481 forall( dtype T | sized(T) ) volatile T * ?+=?( volatile T * volatile &, ptrdiff_t ); 481 482 forall( dtype T | sized(T) ) const volatile T * ?+=?( const volatile T * &, ptrdiff_t ); 482 483 forall( dtype T | sized(T) ) const volatile T * ?+=?( const volatile T * volatile &, ptrdiff_t ); 483 forall( dtype T | sized(T) ) T * ?-=?( T * &, ptrdiff_t );484 forall( dtype T | sized(T) ) T * ?-=?( T * volatile &, ptrdiff_t );484 forall( dtype T | sized(T) ) T * ?-=?( T * &, ptrdiff_t ); 485 forall( dtype T | sized(T) ) T * ?-=?( T * volatile &, ptrdiff_t ); 485 486 forall( dtype T | sized(T) ) const T * ?-=?( const T * &, ptrdiff_t ); 486 487 forall( dtype T | sized(T) ) const T * ?-=?( const T * volatile &, ptrdiff_t ); 487 forall( dtype T | sized(T) ) volatile T * ?-=?( volatile T * &, ptrdiff_t );488 forall( dtype T | sized(T) ) volatile T * ?-=?( volatile T * volatile &, ptrdiff_t );488 forall( dtype T | sized(T) ) volatile T * ?-=?( volatile T * &, ptrdiff_t ); 489 forall( dtype T | sized(T) ) volatile T * ?-=?( volatile T * volatile &, ptrdiff_t ); 489 490 forall( dtype T | sized(T) ) const volatile T * ?-=?( const volatile T * &, ptrdiff_t ); 490 491 forall( dtype T | sized(T) ) const volatile T * ?-=?( const volatile T * volatile &, ptrdiff_t ); … … 502 503 signed long long int ?=?( signed long long int &, signed long long int ), ?=?( volatile signed long long int &, signed long long int ); 503 504 unsigned long long int ?=?( unsigned long long int &, unsigned long long int ), ?=?( volatile unsigned long long int &, unsigned long long int ); 504 zero_t 505 zero_t ?=?( zero_t &, zero_t ); 505 506 one_t ?=?( one_t &, one_t ); 506 507 … … 673 674 ?+=?( long double _Complex &, long double _Complex ), ?+=?( volatile long double _Complex &, long double _Complex ), 674 675 ?-=?( long double _Complex &, long double _Complex ), ?-=?( volatile long double _Complex &, long double _Complex ); 676 677 678 675 679 676 680 … … 842 846 forall( dtype DT ) void ^?{}( const volatile DT * &); 843 847 844 void ^?{}( void * &);845 void ^?{}( const void * &);846 void ^?{}( volatile void * &);847 void ^?{}( constvolatile void * &);848 void ^?{}( void * &); 849 void ^?{}( const void * &); 850 void ^?{}( volatile void * &); 851 void ^?{}( const volatile void * &); 848 852 849 853 // Local Variables: // -
src/tests/.expect/64/literals.txt
r136ccd7 r4ee1efb 5 5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(signed int __status); 6 6 extern signed int printf(const char *__restrict __format, ...); 7 void __for_each__A 0_2_0_0____operator_assign__PFd0_Rd0d0____constructor__PF_Rd0____constructor__PF_Rd0d0____destructor__PF_Rd0____operator_assign__PFd1_Rd1d1____constructor__PF_Rd1____constructor__PF_Rd1d1____destructor__PF_Rd1____operator_preincr__PFd0_Rd0____operator_predecr__PFd0_Rd0____operator_equal__PFi_d0d0____operator_notequal__PFi_d0d0____operator_deref__PFRd1_d0__F_d0d0PF_d1___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));8 void __for_each_reverse__A 0_2_0_0____operator_assign__PFd0_Rd0d0____constructor__PF_Rd0____constructor__PF_Rd0d0____destructor__PF_Rd0____operator_assign__PFd1_Rd1d1____constructor__PF_Rd1____constructor__PF_Rd1d1____destructor__PF_Rd1____operator_preincr__PFd0_Rd0____operator_predecr__PFd0_Rd0____operator_equal__PFi_d0d0____operator_notequal__PFi_d0d0____operator_deref__PFRd1_d0__F_d0d0PF_d1___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));7 void __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)); 8 void __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)); 9 9 void *___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(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_P7tostype__1)(void *__anonymous_object82), __attribute__ ((unused)) void (*__sepReset__PF_P7tostype__1)(void *__anonymous_object83), __attribute__ ((unused)) void (*__sepReset__PF_P7tostypeb__1)(void *__anonymous_object84, _Bool __anonymous_object85), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_P7tostype__1)(void *__anonymous_object86), __attribute__ ((unused)) void (*__sepSetCur__PF_P7tostypePCc__1)(void *__anonymous_object87, const char *__anonymous_object88), __attribute__ ((unused)) _Bool (*__getNL__PFb_P7tostype__1)(void *__anonymous_object89), __attribute__ ((unused)) void (*__setNL__PF_P7tostypeb__1)(void *__anonymous_object90, _Bool __anonymous_object91), __attribute__ ((unused)) void (*__sepOn__PF_P7tostype__1)(void *__anonymous_object92), __attribute__ ((unused)) void (*__sepOff__PF_P7tostype__1)(void *__anonymous_object93), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_P7tostype__1)(void *__anonymous_object94), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_P7tostype__1)(void *__anonymous_object95), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_P7tostype__1)(void *__anonymous_object96), __attribute__ ((unused)) void (*__sepSet__PF_P7tostypePCc__1)(void *__anonymous_object97, const char *__anonymous_object98), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_P7tostype__1)(void *__anonymous_object99), __attribute__ ((unused)) void (*__sepSetTuple__PF_P7tostypePCc__1)(void *__anonymous_object100, const char *__anonymous_object101), __attribute__ ((unused)) signed int (*__fail__PFi_P7tostype__1)(void *__anonymous_object102), __attribute__ ((unused)) signed int (*__flush__PFi_P7tostype__1)(void *__anonymous_object103), __attribute__ ((unused)) void (*__open__PF_P7tostypePCcPCc__1)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_P7tostype__1)(void *__os__P7tostype_1), __attribute__ ((unused)) void *(*__write__PFP7tostype_P7tostypePCcUl__1)(void *__anonymous_object104, const char *__anonymous_object105, unsigned long int __anonymous_object106), __attribute__ ((unused)) signed int (*__fmt__PFi_P7tostypePCc__1)(void *__anonymous_object107, const char *__fmt__PCc_1, ...), void *__anonymous_object108, char __anonymous_object109); 10 10 void *___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(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_P7tostype__1)(void *__anonymous_object110), __attribute__ ((unused)) void (*__sepReset__PF_P7tostype__1)(void *__anonymous_object111), __attribute__ ((unused)) void (*__sepReset__PF_P7tostypeb__1)(void *__anonymous_object112, _Bool __anonymous_object113), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_P7tostype__1)(void *__anonymous_object114), __attribute__ ((unused)) void (*__sepSetCur__PF_P7tostypePCc__1)(void *__anonymous_object115, const char *__anonymous_object116), __attribute__ ((unused)) _Bool (*__getNL__PFb_P7tostype__1)(void *__anonymous_object117), __attribute__ ((unused)) void (*__setNL__PF_P7tostypeb__1)(void *__anonymous_object118, _Bool __anonymous_object119), __attribute__ ((unused)) void (*__sepOn__PF_P7tostype__1)(void *__anonymous_object120), __attribute__ ((unused)) void (*__sepOff__PF_P7tostype__1)(void *__anonymous_object121), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_P7tostype__1)(void *__anonymous_object122), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_P7tostype__1)(void *__anonymous_object123), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_P7tostype__1)(void *__anonymous_object124), __attribute__ ((unused)) void (*__sepSet__PF_P7tostypePCc__1)(void *__anonymous_object125, const char *__anonymous_object126), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_P7tostype__1)(void *__anonymous_object127), __attribute__ ((unused)) void (*__sepSetTuple__PF_P7tostypePCc__1)(void *__anonymous_object128, const char *__anonymous_object129), __attribute__ ((unused)) signed int (*__fail__PFi_P7tostype__1)(void *__anonymous_object130), __attribute__ ((unused)) signed int (*__flush__PFi_P7tostype__1)(void *__anonymous_object131), __attribute__ ((unused)) void (*__open__PF_P7tostypePCcPCc__1)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_P7tostype__1)(void *__os__P7tostype_1), __attribute__ ((unused)) void *(*__write__PFP7tostype_P7tostypePCcUl__1)(void *__anonymous_object132, const char *__anonymous_object133, unsigned long int __anonymous_object134), __attribute__ ((unused)) signed int (*__fmt__PFi_P7tostypePCc__1)(void *__anonymous_object135, const char *__fmt__PCc_1, ...), void *__anonymous_object136, signed char __anonymous_object137); … … 29 29 void *___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_Pd0PCi__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_P7tostype__1)(void *__anonymous_object642), __attribute__ ((unused)) void (*__sepReset__PF_P7tostype__1)(void *__anonymous_object643), __attribute__ ((unused)) void (*__sepReset__PF_P7tostypeb__1)(void *__anonymous_object644, _Bool __anonymous_object645), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_P7tostype__1)(void *__anonymous_object646), __attribute__ ((unused)) void (*__sepSetCur__PF_P7tostypePCc__1)(void *__anonymous_object647, const char *__anonymous_object648), __attribute__ ((unused)) _Bool (*__getNL__PFb_P7tostype__1)(void *__anonymous_object649), __attribute__ ((unused)) void (*__setNL__PF_P7tostypeb__1)(void *__anonymous_object650, _Bool __anonymous_object651), __attribute__ ((unused)) void (*__sepOn__PF_P7tostype__1)(void *__anonymous_object652), __attribute__ ((unused)) void (*__sepOff__PF_P7tostype__1)(void *__anonymous_object653), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_P7tostype__1)(void *__anonymous_object654), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_P7tostype__1)(void *__anonymous_object655), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_P7tostype__1)(void *__anonymous_object656), __attribute__ ((unused)) void (*__sepSet__PF_P7tostypePCc__1)(void *__anonymous_object657, const char *__anonymous_object658), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_P7tostype__1)(void *__anonymous_object659), __attribute__ ((unused)) void (*__sepSetTuple__PF_P7tostypePCc__1)(void *__anonymous_object660, const char *__anonymous_object661), __attribute__ ((unused)) signed int (*__fail__PFi_P7tostype__1)(void *__anonymous_object662), __attribute__ ((unused)) signed int (*__flush__PFi_P7tostype__1)(void *__anonymous_object663), __attribute__ ((unused)) void (*__open__PF_P7tostypePCcPCc__1)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_P7tostype__1)(void *__os__P7tostype_1), __attribute__ ((unused)) void *(*__write__PFP7tostype_P7tostypePCcUl__1)(void *__anonymous_object664, const char *__anonymous_object665, unsigned long int __anonymous_object666), __attribute__ ((unused)) signed int (*__fmt__PFi_P7tostypePCc__1)(void *__anonymous_object667, const char *__fmt__PCc_1, ...), void *__anonymous_object668, const signed int *__anonymous_object669); 30 30 void *___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_Pd0PCv__1(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_P7tostype__1)(void *__anonymous_object670), __attribute__ ((unused)) void (*__sepReset__PF_P7tostype__1)(void *__anonymous_object671), __attribute__ ((unused)) void (*__sepReset__PF_P7tostypeb__1)(void *__anonymous_object672, _Bool __anonymous_object673), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_P7tostype__1)(void *__anonymous_object674), __attribute__ ((unused)) void (*__sepSetCur__PF_P7tostypePCc__1)(void *__anonymous_object675, const char *__anonymous_object676), __attribute__ ((unused)) _Bool (*__getNL__PFb_P7tostype__1)(void *__anonymous_object677), __attribute__ ((unused)) void (*__setNL__PF_P7tostypeb__1)(void *__anonymous_object678, _Bool __anonymous_object679), __attribute__ ((unused)) void (*__sepOn__PF_P7tostype__1)(void *__anonymous_object680), __attribute__ ((unused)) void (*__sepOff__PF_P7tostype__1)(void *__anonymous_object681), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_P7tostype__1)(void *__anonymous_object682), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_P7tostype__1)(void *__anonymous_object683), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_P7tostype__1)(void *__anonymous_object684), __attribute__ ((unused)) void (*__sepSet__PF_P7tostypePCc__1)(void *__anonymous_object685, const char *__anonymous_object686), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_P7tostype__1)(void *__anonymous_object687), __attribute__ ((unused)) void (*__sepSetTuple__PF_P7tostypePCc__1)(void *__anonymous_object688, const char *__anonymous_object689), __attribute__ ((unused)) signed int (*__fail__PFi_P7tostype__1)(void *__anonymous_object690), __attribute__ ((unused)) signed int (*__flush__PFi_P7tostype__1)(void *__anonymous_object691), __attribute__ ((unused)) void (*__open__PF_P7tostypePCcPCc__1)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_P7tostype__1)(void *__os__P7tostype_1), __attribute__ ((unused)) void *(*__write__PFP7tostype_P7tostypePCcUl__1)(void *__anonymous_object692, const char *__anonymous_object693, unsigned long int __anonymous_object694), __attribute__ ((unused)) signed int (*__fmt__PFi_P7tostypePCc__1)(void *__anonymous_object695, const char *__fmt__PCc_1, ...), void *__anonymous_object696, const void *__anonymous_object697); 31 void *___operator_bitor__A 0_2_0_1____operator_assign__PFd1_Rd1d1____constructor__PF_Rd1____constructor__PF_Rd1d1____destructor__PF_Rd1____operator_bitor__PFPd0_Pd0d1___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____operator_bitor__PFPd0_Pd0tVARGS2__FPd0_Pd0d1tVARGS2__1(__attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype7tParams_M_MP)(void (*__anonymous_object698)(), void *__anonymous_object699, void *__anonymous_object700), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype2tT_M_MP)(void (*__anonymous_object701)(), void *__anonymous_object702, void *__anonymous_object703), __attribute__ ((unused)) void (*_adapterF_P2tT2tT__MP)(void (*__anonymous_object704)(), void *__anonymous_object705, void *__anonymous_object706), __attribute__ ((unused)) void (*_adapterF2tT_P2tT2tT_P_MP)(void (*__anonymous_object707)(), __attribute__ ((unused)) void *___retval__operator_assign__2tT_1, void *__anonymous_object708, void *__anonymous_object709), __attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, __attribute__ ((unused)) unsigned long int _sizeof_7tParams, __attribute__ ((unused)) unsigned long int _alignof_7tParams, __attribute__ ((unused)) void *(*___operator_assign__PF2tT_R2tT2tT__1)(void *__anonymous_object710, void *__anonymous_object711), __attribute__ ((unused)) void (*___constructor__PF_R2tT__1)(void *__anonymous_object712), __attribute__ ((unused)) void (*___constructor__PF_R2tT2tT__1)(void *__anonymous_object713, void *__anonymous_object714), __attribute__ ((unused)) void (*___destructor__PF_R2tT__1)(void *__anonymous_object715), __attribute__ ((unused)) void *(*___operator_bitor__PFP7tostype_P7tostype2tT__1)(void *__anonymous_object716, void *__anonymous_object717), __attribute__ ((unused)) _Bool (*__sepPrt__PFb_P7tostype__1)(void *__anonymous_object718), __attribute__ ((unused)) void (*__sepReset__PF_P7tostype__1)(void *__anonymous_object719), __attribute__ ((unused)) void (*__sepReset__PF_P7tostypeb__1)(void *__anonymous_object720, _Bool __anonymous_object721), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_P7tostype__1)(void *__anonymous_object722), __attribute__ ((unused)) void (*__sepSetCur__PF_P7tostypePCc__1)(void *__anonymous_object723, const char *__anonymous_object724), __attribute__ ((unused)) _Bool (*__getNL__PFb_P7tostype__1)(void *__anonymous_object725), __attribute__ ((unused)) void (*__setNL__PF_P7tostypeb__1)(void *__anonymous_object726, _Bool __anonymous_object727), __attribute__ ((unused)) void (*__sepOn__PF_P7tostype__1)(void *__anonymous_object728), __attribute__ ((unused)) void (*__sepOff__PF_P7tostype__1)(void *__anonymous_object729), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_P7tostype__1)(void *__anonymous_object730), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_P7tostype__1)(void *__anonymous_object731), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_P7tostype__1)(void *__anonymous_object732), __attribute__ ((unused)) void (*__sepSet__PF_P7tostypePCc__1)(void *__anonymous_object733, const char *__anonymous_object734), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_P7tostype__1)(void *__anonymous_object735), __attribute__ ((unused)) void (*__sepSetTuple__PF_P7tostypePCc__1)(void *__anonymous_object736, const char *__anonymous_object737), __attribute__ ((unused)) signed int (*__fail__PFi_P7tostype__1)(void *__anonymous_object738), __attribute__ ((unused)) signed int (*__flush__PFi_P7tostype__1)(void *__anonymous_object739), __attribute__ ((unused)) void (*__open__PF_P7tostypePCcPCc__1)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_P7tostype__1)(void *__os__P7tostype_1), __attribute__ ((unused)) void *(*__write__PFP7tostype_P7tostypePCcUl__1)(void *__anonymous_object740, const char *__anonymous_object741, unsigned long int __anonymous_object742), __attribute__ ((unused)) signed int (*__fmt__PFi_P7tostypePCc__1)(void *__anonymous_object743, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_bitor__PFP7tostype_P7tostype7tParams__1)(void *__anonymous_object744, void *__anonymous_object745), void *__os__P7tostype_1, void *__arg__2tT_1, void *__rest__7tParams_1);31 void *___operator_bitor__A1_1_0_1____operator_assign__PFt1_Rt1t1____constructor__PF_Rt1____constructor__PF_Rt1t1____destructor__PF_Rt1____operator_bitor__PFPd0_Pd0t1___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____operator_bitor__PFPd0_Pd0tVARGS2__FPd0_Pd0t1tVARGS2__1(__attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype7tParams_M_MP)(void (*__anonymous_object698)(), void *__anonymous_object699, void *__anonymous_object700), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype2tT_M_MP)(void (*__anonymous_object701)(), void *__anonymous_object702, void *__anonymous_object703), __attribute__ ((unused)) void (*_adapterF_P2tT2tT__MP)(void (*__anonymous_object704)(), void *__anonymous_object705, void *__anonymous_object706), __attribute__ ((unused)) void (*_adapterF2tT_P2tT2tT_P_MP)(void (*__anonymous_object707)(), __attribute__ ((unused)) void *___retval__operator_assign__2tT_1, void *__anonymous_object708, void *__anonymous_object709), __attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, __attribute__ ((unused)) unsigned long int _sizeof_7tParams, __attribute__ ((unused)) unsigned long int _alignof_7tParams, __attribute__ ((unused)) void *(*___operator_assign__PF2tT_R2tT2tT__1)(void *__anonymous_object710, void *__anonymous_object711), __attribute__ ((unused)) void (*___constructor__PF_R2tT__1)(void *__anonymous_object712), __attribute__ ((unused)) void (*___constructor__PF_R2tT2tT__1)(void *__anonymous_object713, void *__anonymous_object714), __attribute__ ((unused)) void (*___destructor__PF_R2tT__1)(void *__anonymous_object715), __attribute__ ((unused)) void *(*___operator_bitor__PFP7tostype_P7tostype2tT__1)(void *__anonymous_object716, void *__anonymous_object717), __attribute__ ((unused)) _Bool (*__sepPrt__PFb_P7tostype__1)(void *__anonymous_object718), __attribute__ ((unused)) void (*__sepReset__PF_P7tostype__1)(void *__anonymous_object719), __attribute__ ((unused)) void (*__sepReset__PF_P7tostypeb__1)(void *__anonymous_object720, _Bool __anonymous_object721), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_P7tostype__1)(void *__anonymous_object722), __attribute__ ((unused)) void (*__sepSetCur__PF_P7tostypePCc__1)(void *__anonymous_object723, const char *__anonymous_object724), __attribute__ ((unused)) _Bool (*__getNL__PFb_P7tostype__1)(void *__anonymous_object725), __attribute__ ((unused)) void (*__setNL__PF_P7tostypeb__1)(void *__anonymous_object726, _Bool __anonymous_object727), __attribute__ ((unused)) void (*__sepOn__PF_P7tostype__1)(void *__anonymous_object728), __attribute__ ((unused)) void (*__sepOff__PF_P7tostype__1)(void *__anonymous_object729), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_P7tostype__1)(void *__anonymous_object730), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_P7tostype__1)(void *__anonymous_object731), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_P7tostype__1)(void *__anonymous_object732), __attribute__ ((unused)) void (*__sepSet__PF_P7tostypePCc__1)(void *__anonymous_object733, const char *__anonymous_object734), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_P7tostype__1)(void *__anonymous_object735), __attribute__ ((unused)) void (*__sepSetTuple__PF_P7tostypePCc__1)(void *__anonymous_object736, const char *__anonymous_object737), __attribute__ ((unused)) signed int (*__fail__PFi_P7tostype__1)(void *__anonymous_object738), __attribute__ ((unused)) signed int (*__flush__PFi_P7tostype__1)(void *__anonymous_object739), __attribute__ ((unused)) void (*__open__PF_P7tostypePCcPCc__1)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_P7tostype__1)(void *__os__P7tostype_1), __attribute__ ((unused)) void *(*__write__PFP7tostype_P7tostypePCcUl__1)(void *__anonymous_object740, const char *__anonymous_object741, unsigned long int __anonymous_object742), __attribute__ ((unused)) signed int (*__fmt__PFi_P7tostypePCc__1)(void *__anonymous_object743, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_bitor__PFP7tostype_P7tostype7tParams__1)(void *__anonymous_object744, void *__anonymous_object745), void *__os__P7tostype_1, void *__arg__2tT_1, void *__rest__7tParams_1); 32 32 void *___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(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_P7tostype__1)(void *__anonymous_object746), __attribute__ ((unused)) void (*__sepReset__PF_P7tostype__1)(void *__anonymous_object747), __attribute__ ((unused)) void (*__sepReset__PF_P7tostypeb__1)(void *__anonymous_object748, _Bool __anonymous_object749), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_P7tostype__1)(void *__anonymous_object750), __attribute__ ((unused)) void (*__sepSetCur__PF_P7tostypePCc__1)(void *__anonymous_object751, const char *__anonymous_object752), __attribute__ ((unused)) _Bool (*__getNL__PFb_P7tostype__1)(void *__anonymous_object753), __attribute__ ((unused)) void (*__setNL__PF_P7tostypeb__1)(void *__anonymous_object754, _Bool __anonymous_object755), __attribute__ ((unused)) void (*__sepOn__PF_P7tostype__1)(void *__anonymous_object756), __attribute__ ((unused)) void (*__sepOff__PF_P7tostype__1)(void *__anonymous_object757), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_P7tostype__1)(void *__anonymous_object758), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_P7tostype__1)(void *__anonymous_object759), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_P7tostype__1)(void *__anonymous_object760), __attribute__ ((unused)) void (*__sepSet__PF_P7tostypePCc__1)(void *__anonymous_object761, const char *__anonymous_object762), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_P7tostype__1)(void *__anonymous_object763), __attribute__ ((unused)) void (*__sepSetTuple__PF_P7tostypePCc__1)(void *__anonymous_object764, const char *__anonymous_object765), __attribute__ ((unused)) signed int (*__fail__PFi_P7tostype__1)(void *__anonymous_object766), __attribute__ ((unused)) signed int (*__flush__PFi_P7tostype__1)(void *__anonymous_object767), __attribute__ ((unused)) void (*__open__PF_P7tostypePCcPCc__1)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_P7tostype__1)(void *__os__P7tostype_1), __attribute__ ((unused)) void *(*__write__PFP7tostype_P7tostypePCcUl__1)(void *__anonymous_object768, const char *__anonymous_object769, unsigned long int __anonymous_object770), __attribute__ ((unused)) signed int (*__fmt__PFi_P7tostypePCc__1)(void *__anonymous_object771, const char *__fmt__PCc_1, ...), void *__anonymous_object772, void *(*__anonymous_object773)(void *__anonymous_object774)); 33 33 void *__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(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_P7tostype__1)(void *__anonymous_object775), __attribute__ ((unused)) void (*__sepReset__PF_P7tostype__1)(void *__anonymous_object776), __attribute__ ((unused)) void (*__sepReset__PF_P7tostypeb__1)(void *__anonymous_object777, _Bool __anonymous_object778), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_P7tostype__1)(void *__anonymous_object779), __attribute__ ((unused)) void (*__sepSetCur__PF_P7tostypePCc__1)(void *__anonymous_object780, const char *__anonymous_object781), __attribute__ ((unused)) _Bool (*__getNL__PFb_P7tostype__1)(void *__anonymous_object782), __attribute__ ((unused)) void (*__setNL__PF_P7tostypeb__1)(void *__anonymous_object783, _Bool __anonymous_object784), __attribute__ ((unused)) void (*__sepOn__PF_P7tostype__1)(void *__anonymous_object785), __attribute__ ((unused)) void (*__sepOff__PF_P7tostype__1)(void *__anonymous_object786), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_P7tostype__1)(void *__anonymous_object787), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_P7tostype__1)(void *__anonymous_object788), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_P7tostype__1)(void *__anonymous_object789), __attribute__ ((unused)) void (*__sepSet__PF_P7tostypePCc__1)(void *__anonymous_object790, const char *__anonymous_object791), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_P7tostype__1)(void *__anonymous_object792), __attribute__ ((unused)) void (*__sepSetTuple__PF_P7tostypePCc__1)(void *__anonymous_object793, const char *__anonymous_object794), __attribute__ ((unused)) signed int (*__fail__PFi_P7tostype__1)(void *__anonymous_object795), __attribute__ ((unused)) signed int (*__flush__PFi_P7tostype__1)(void *__anonymous_object796), __attribute__ ((unused)) void (*__open__PF_P7tostypePCcPCc__1)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_P7tostype__1)(void *__os__P7tostype_1), __attribute__ ((unused)) void *(*__write__PFP7tostype_P7tostypePCcUl__1)(void *__anonymous_object797, const char *__anonymous_object798, unsigned long int __anonymous_object799), __attribute__ ((unused)) signed int (*__fmt__PFi_P7tostypePCc__1)(void *__anonymous_object800, const char *__fmt__PCc_1, ...), void *__anonymous_object801); … … 38 38 void *__sepDisable__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(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_P7tostype__1)(void *__anonymous_object910), __attribute__ ((unused)) void (*__sepReset__PF_P7tostype__1)(void *__anonymous_object911), __attribute__ ((unused)) void (*__sepReset__PF_P7tostypeb__1)(void *__anonymous_object912, _Bool __anonymous_object913), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_P7tostype__1)(void *__anonymous_object914), __attribute__ ((unused)) void (*__sepSetCur__PF_P7tostypePCc__1)(void *__anonymous_object915, const char *__anonymous_object916), __attribute__ ((unused)) _Bool (*__getNL__PFb_P7tostype__1)(void *__anonymous_object917), __attribute__ ((unused)) void (*__setNL__PF_P7tostypeb__1)(void *__anonymous_object918, _Bool __anonymous_object919), __attribute__ ((unused)) void (*__sepOn__PF_P7tostype__1)(void *__anonymous_object920), __attribute__ ((unused)) void (*__sepOff__PF_P7tostype__1)(void *__anonymous_object921), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_P7tostype__1)(void *__anonymous_object922), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_P7tostype__1)(void *__anonymous_object923), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_P7tostype__1)(void *__anonymous_object924), __attribute__ ((unused)) void (*__sepSet__PF_P7tostypePCc__1)(void *__anonymous_object925, const char *__anonymous_object926), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_P7tostype__1)(void *__anonymous_object927), __attribute__ ((unused)) void (*__sepSetTuple__PF_P7tostypePCc__1)(void *__anonymous_object928, const char *__anonymous_object929), __attribute__ ((unused)) signed int (*__fail__PFi_P7tostype__1)(void *__anonymous_object930), __attribute__ ((unused)) signed int (*__flush__PFi_P7tostype__1)(void *__anonymous_object931), __attribute__ ((unused)) void (*__open__PF_P7tostypePCcPCc__1)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_P7tostype__1)(void *__os__P7tostype_1), __attribute__ ((unused)) void *(*__write__PFP7tostype_P7tostypePCcUl__1)(void *__anonymous_object932, const char *__anonymous_object933, unsigned long int __anonymous_object934), __attribute__ ((unused)) signed int (*__fmt__PFi_P7tostypePCc__1)(void *__anonymous_object935, const char *__fmt__PCc_1, ...), void *__anonymous_object936); 39 39 void *__sepEnable__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(__attribute__ ((unused)) _Bool (*__sepPrt__PFb_P7tostype__1)(void *__anonymous_object937), __attribute__ ((unused)) void (*__sepReset__PF_P7tostype__1)(void *__anonymous_object938), __attribute__ ((unused)) void (*__sepReset__PF_P7tostypeb__1)(void *__anonymous_object939, _Bool __anonymous_object940), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_P7tostype__1)(void *__anonymous_object941), __attribute__ ((unused)) void (*__sepSetCur__PF_P7tostypePCc__1)(void *__anonymous_object942, const char *__anonymous_object943), __attribute__ ((unused)) _Bool (*__getNL__PFb_P7tostype__1)(void *__anonymous_object944), __attribute__ ((unused)) void (*__setNL__PF_P7tostypeb__1)(void *__anonymous_object945, _Bool __anonymous_object946), __attribute__ ((unused)) void (*__sepOn__PF_P7tostype__1)(void *__anonymous_object947), __attribute__ ((unused)) void (*__sepOff__PF_P7tostype__1)(void *__anonymous_object948), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_P7tostype__1)(void *__anonymous_object949), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_P7tostype__1)(void *__anonymous_object950), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_P7tostype__1)(void *__anonymous_object951), __attribute__ ((unused)) void (*__sepSet__PF_P7tostypePCc__1)(void *__anonymous_object952, const char *__anonymous_object953), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_P7tostype__1)(void *__anonymous_object954), __attribute__ ((unused)) void (*__sepSetTuple__PF_P7tostypePCc__1)(void *__anonymous_object955, const char *__anonymous_object956), __attribute__ ((unused)) signed int (*__fail__PFi_P7tostype__1)(void *__anonymous_object957), __attribute__ ((unused)) signed int (*__flush__PFi_P7tostype__1)(void *__anonymous_object958), __attribute__ ((unused)) void (*__open__PF_P7tostypePCcPCc__1)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_P7tostype__1)(void *__os__P7tostype_1), __attribute__ ((unused)) void *(*__write__PFP7tostype_P7tostypePCcUl__1)(void *__anonymous_object959, const char *__anonymous_object960, unsigned long int __anonymous_object961), __attribute__ ((unused)) signed int (*__fmt__PFi_P7tostypePCc__1)(void *__anonymous_object962, const char *__fmt__PCc_1, ...), void *__anonymous_object963); 40 void __write__A 0_3_0_0____operator_assign__PFd1_Rd1d1____constructor__PF_Rd1____constructor__PF_Rd1d1____destructor__PF_Rd1____operator_bitor__PFPd0_Pd0d1___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____operator_assign__PFd2_Rd2d2____constructor__PF_Rd2____constructor__PF_Rd2d2____destructor__PF_Rd2____operator_preincr__PFd2_Rd2____operator_predecr__PFd2_Rd2____operator_equal__PFi_d2d2____operator_notequal__PFi_d2d2____operator_deref__PFRd1_d2__F_d2d2Pd0__1(__attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object964)(), void *__anonymous_object965), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object966)(), void *__anonymous_object967, void *__anonymous_object968), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object969)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object970), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object971)(), void *__anonymous_object972, void *__anonymous_object973), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object974)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object975, void *__anonymous_object976), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype9telt_type_M_MP)(void (*__anonymous_object977)(), void *__anonymous_object978, void *__anonymous_object979), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object980)(), void *__anonymous_object981, void *__anonymous_object982), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object983)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object984, void *__anonymous_object985), __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) void *(*___operator_assign__PF9telt_type_R9telt_type9telt_type__1)(void *__anonymous_object986, void *__anonymous_object987), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type__1)(void *__anonymous_object988), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type9telt_type__1)(void *__anonymous_object989, void *__anonymous_object990), __attribute__ ((unused)) void (*___destructor__PF_R9telt_type__1)(void *__anonymous_object991), __attribute__ ((unused)) void *(*___operator_bitor__PFP7tostype_P7tostype9telt_type__1)(void *__anonymous_object992, void *__anonymous_object993), __attribute__ ((unused)) _Bool (*__sepPrt__PFb_P7tostype__1)(void *__anonymous_object994), __attribute__ ((unused)) void (*__sepReset__PF_P7tostype__1)(void *__anonymous_object995), __attribute__ ((unused)) void (*__sepReset__PF_P7tostypeb__1)(void *__anonymous_object996, _Bool __anonymous_object997), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_P7tostype__1)(void *__anonymous_object998), __attribute__ ((unused)) void (*__sepSetCur__PF_P7tostypePCc__1)(void *__anonymous_object999, const char *__anonymous_object1000), __attribute__ ((unused)) _Bool (*__getNL__PFb_P7tostype__1)(void *__anonymous_object1001), __attribute__ ((unused)) void (*__setNL__PF_P7tostypeb__1)(void *__anonymous_object1002, _Bool __anonymous_object1003), __attribute__ ((unused)) void (*__sepOn__PF_P7tostype__1)(void *__anonymous_object1004), __attribute__ ((unused)) void (*__sepOff__PF_P7tostype__1)(void *__anonymous_object1005), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_P7tostype__1)(void *__anonymous_object1006), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_P7tostype__1)(void *__anonymous_object1007), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_P7tostype__1)(void *__anonymous_object1008), __attribute__ ((unused)) void (*__sepSet__PF_P7tostypePCc__1)(void *__anonymous_object1009, const char *__anonymous_object1010), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_P7tostype__1)(void *__anonymous_object1011), __attribute__ ((unused)) void (*__sepSetTuple__PF_P7tostypePCc__1)(void *__anonymous_object1012, const char *__anonymous_object1013), __attribute__ ((unused)) signed int (*__fail__PFi_P7tostype__1)(void *__anonymous_object1014), __attribute__ ((unused)) signed int (*__flush__PFi_P7tostype__1)(void *__anonymous_object1015), __attribute__ ((unused)) void (*__open__PF_P7tostypePCcPCc__1)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_P7tostype__1)(void *__os__P7tostype_1), __attribute__ ((unused)) void *(*__write__PFP7tostype_P7tostypePCcUl__1)(void *__anonymous_object1016, const char *__anonymous_object1017, unsigned long int __anonymous_object1018), __attribute__ ((unused)) signed int (*__fmt__PFi_P7tostypePCc__1)(void *__anonymous_object1019, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_assign__PF14titerator_type_R14titerator_type14titerator_type__1)(void *__anonymous_object1020, void *__anonymous_object1021), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type__1)(void *__anonymous_object1022), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type14titerator_type__1)(void *__anonymous_object1023, void *__anonymous_object1024), __attribute__ ((unused)) void (*___destructor__PF_R14titerator_type__1)(void *__anonymous_object1025), __attribute__ ((unused)) void *(*___operator_preincr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object1026), __attribute__ ((unused)) void *(*___operator_predecr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object1027), __attribute__ ((unused)) signed int (*___operator_equal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object1028, void *__anonymous_object1029), __attribute__ ((unused)) signed int (*___operator_notequal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object1030, void *__anonymous_object1031), __attribute__ ((unused)) void *(*___operator_deref__PFR9telt_type_14titerator_type__1)(void *__anonymous_object1032), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void *__os__P7tostype_1);41 void __write_reverse__A 0_3_0_0____operator_assign__PFd1_Rd1d1____constructor__PF_Rd1____constructor__PF_Rd1d1____destructor__PF_Rd1____operator_bitor__PFPd0_Pd0d1___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____operator_assign__PFd2_Rd2d2____constructor__PF_Rd2____constructor__PF_Rd2d2____destructor__PF_Rd2____operator_preincr__PFd2_Rd2____operator_predecr__PFd2_Rd2____operator_equal__PFi_d2d2____operator_notequal__PFi_d2d2____operator_deref__PFRd1_d2__F_d2d2Pd0__1(__attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object1033)(), void *__anonymous_object1034), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object1035)(), void *__anonymous_object1036, void *__anonymous_object1037), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object1038)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object1039), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object1040)(), void *__anonymous_object1041, void *__anonymous_object1042), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object1043)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object1044, void *__anonymous_object1045), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype9telt_type_M_MP)(void (*__anonymous_object1046)(), void *__anonymous_object1047, void *__anonymous_object1048), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object1049)(), void *__anonymous_object1050, void *__anonymous_object1051), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object1052)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object1053, void *__anonymous_object1054), __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) void *(*___operator_assign__PF9telt_type_R9telt_type9telt_type__1)(void *__anonymous_object1055, void *__anonymous_object1056), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type__1)(void *__anonymous_object1057), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type9telt_type__1)(void *__anonymous_object1058, void *__anonymous_object1059), __attribute__ ((unused)) void (*___destructor__PF_R9telt_type__1)(void *__anonymous_object1060), __attribute__ ((unused)) void *(*___operator_bitor__PFP7tostype_P7tostype9telt_type__1)(void *__anonymous_object1061, void *__anonymous_object1062), __attribute__ ((unused)) _Bool (*__sepPrt__PFb_P7tostype__1)(void *__anonymous_object1063), __attribute__ ((unused)) void (*__sepReset__PF_P7tostype__1)(void *__anonymous_object1064), __attribute__ ((unused)) void (*__sepReset__PF_P7tostypeb__1)(void *__anonymous_object1065, _Bool __anonymous_object1066), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_P7tostype__1)(void *__anonymous_object1067), __attribute__ ((unused)) void (*__sepSetCur__PF_P7tostypePCc__1)(void *__anonymous_object1068, const char *__anonymous_object1069), __attribute__ ((unused)) _Bool (*__getNL__PFb_P7tostype__1)(void *__anonymous_object1070), __attribute__ ((unused)) void (*__setNL__PF_P7tostypeb__1)(void *__anonymous_object1071, _Bool __anonymous_object1072), __attribute__ ((unused)) void (*__sepOn__PF_P7tostype__1)(void *__anonymous_object1073), __attribute__ ((unused)) void (*__sepOff__PF_P7tostype__1)(void *__anonymous_object1074), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_P7tostype__1)(void *__anonymous_object1075), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_P7tostype__1)(void *__anonymous_object1076), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_P7tostype__1)(void *__anonymous_object1077), __attribute__ ((unused)) void (*__sepSet__PF_P7tostypePCc__1)(void *__anonymous_object1078, const char *__anonymous_object1079), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_P7tostype__1)(void *__anonymous_object1080), __attribute__ ((unused)) void (*__sepSetTuple__PF_P7tostypePCc__1)(void *__anonymous_object1081, const char *__anonymous_object1082), __attribute__ ((unused)) signed int (*__fail__PFi_P7tostype__1)(void *__anonymous_object1083), __attribute__ ((unused)) signed int (*__flush__PFi_P7tostype__1)(void *__anonymous_object1084), __attribute__ ((unused)) void (*__open__PF_P7tostypePCcPCc__1)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_P7tostype__1)(void *__os__P7tostype_1), __attribute__ ((unused)) void *(*__write__PFP7tostype_P7tostypePCcUl__1)(void *__anonymous_object1085, const char *__anonymous_object1086, unsigned long int __anonymous_object1087), __attribute__ ((unused)) signed int (*__fmt__PFi_P7tostypePCc__1)(void *__anonymous_object1088, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_assign__PF14titerator_type_R14titerator_type14titerator_type__1)(void *__anonymous_object1089, void *__anonymous_object1090), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type__1)(void *__anonymous_object1091), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type14titerator_type__1)(void *__anonymous_object1092, void *__anonymous_object1093), __attribute__ ((unused)) void (*___destructor__PF_R14titerator_type__1)(void *__anonymous_object1094), __attribute__ ((unused)) void *(*___operator_preincr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object1095), __attribute__ ((unused)) void *(*___operator_predecr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object1096), __attribute__ ((unused)) signed int (*___operator_equal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object1097, void *__anonymous_object1098), __attribute__ ((unused)) signed int (*___operator_notequal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object1099, void *__anonymous_object1100), __attribute__ ((unused)) void *(*___operator_deref__PFR9telt_type_14titerator_type__1)(void *__anonymous_object1101), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void *__os__P7tostype_1);40 void __write__A2_1_0_0____operator_assign__PFt1_Rt1t1____constructor__PF_Rt1____constructor__PF_Rt1t1____destructor__PF_Rt1____operator_bitor__PFPd0_Pd0t1___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____operator_assign__PFt2_Rt2t2____constructor__PF_Rt2____constructor__PF_Rt2t2____destructor__PF_Rt2____operator_preincr__PFt2_Rt2____operator_predecr__PFt2_Rt2____operator_equal__PFi_t2t2____operator_notequal__PFi_t2t2____operator_deref__PFRt1_t2__F_t2t2Pd0__1(__attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object964)(), void *__anonymous_object965), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object966)(), void *__anonymous_object967, void *__anonymous_object968), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object969)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object970), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object971)(), void *__anonymous_object972, void *__anonymous_object973), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object974)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object975, void *__anonymous_object976), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype9telt_type_M_MP)(void (*__anonymous_object977)(), void *__anonymous_object978, void *__anonymous_object979), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object980)(), void *__anonymous_object981, void *__anonymous_object982), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object983)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object984, void *__anonymous_object985), __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) void *(*___operator_assign__PF9telt_type_R9telt_type9telt_type__1)(void *__anonymous_object986, void *__anonymous_object987), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type__1)(void *__anonymous_object988), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type9telt_type__1)(void *__anonymous_object989, void *__anonymous_object990), __attribute__ ((unused)) void (*___destructor__PF_R9telt_type__1)(void *__anonymous_object991), __attribute__ ((unused)) void *(*___operator_bitor__PFP7tostype_P7tostype9telt_type__1)(void *__anonymous_object992, void *__anonymous_object993), __attribute__ ((unused)) _Bool (*__sepPrt__PFb_P7tostype__1)(void *__anonymous_object994), __attribute__ ((unused)) void (*__sepReset__PF_P7tostype__1)(void *__anonymous_object995), __attribute__ ((unused)) void (*__sepReset__PF_P7tostypeb__1)(void *__anonymous_object996, _Bool __anonymous_object997), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_P7tostype__1)(void *__anonymous_object998), __attribute__ ((unused)) void (*__sepSetCur__PF_P7tostypePCc__1)(void *__anonymous_object999, const char *__anonymous_object1000), __attribute__ ((unused)) _Bool (*__getNL__PFb_P7tostype__1)(void *__anonymous_object1001), __attribute__ ((unused)) void (*__setNL__PF_P7tostypeb__1)(void *__anonymous_object1002, _Bool __anonymous_object1003), __attribute__ ((unused)) void (*__sepOn__PF_P7tostype__1)(void *__anonymous_object1004), __attribute__ ((unused)) void (*__sepOff__PF_P7tostype__1)(void *__anonymous_object1005), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_P7tostype__1)(void *__anonymous_object1006), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_P7tostype__1)(void *__anonymous_object1007), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_P7tostype__1)(void *__anonymous_object1008), __attribute__ ((unused)) void (*__sepSet__PF_P7tostypePCc__1)(void *__anonymous_object1009, const char *__anonymous_object1010), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_P7tostype__1)(void *__anonymous_object1011), __attribute__ ((unused)) void (*__sepSetTuple__PF_P7tostypePCc__1)(void *__anonymous_object1012, const char *__anonymous_object1013), __attribute__ ((unused)) signed int (*__fail__PFi_P7tostype__1)(void *__anonymous_object1014), __attribute__ ((unused)) signed int (*__flush__PFi_P7tostype__1)(void *__anonymous_object1015), __attribute__ ((unused)) void (*__open__PF_P7tostypePCcPCc__1)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_P7tostype__1)(void *__os__P7tostype_1), __attribute__ ((unused)) void *(*__write__PFP7tostype_P7tostypePCcUl__1)(void *__anonymous_object1016, const char *__anonymous_object1017, unsigned long int __anonymous_object1018), __attribute__ ((unused)) signed int (*__fmt__PFi_P7tostypePCc__1)(void *__anonymous_object1019, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_assign__PF14titerator_type_R14titerator_type14titerator_type__1)(void *__anonymous_object1020, void *__anonymous_object1021), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type__1)(void *__anonymous_object1022), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type14titerator_type__1)(void *__anonymous_object1023, void *__anonymous_object1024), __attribute__ ((unused)) void (*___destructor__PF_R14titerator_type__1)(void *__anonymous_object1025), __attribute__ ((unused)) void *(*___operator_preincr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object1026), __attribute__ ((unused)) void *(*___operator_predecr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object1027), __attribute__ ((unused)) signed int (*___operator_equal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object1028, void *__anonymous_object1029), __attribute__ ((unused)) signed int (*___operator_notequal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object1030, void *__anonymous_object1031), __attribute__ ((unused)) void *(*___operator_deref__PFR9telt_type_14titerator_type__1)(void *__anonymous_object1032), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void *__os__P7tostype_1); 41 void __write_reverse__A2_1_0_0____operator_assign__PFt1_Rt1t1____constructor__PF_Rt1____constructor__PF_Rt1t1____destructor__PF_Rt1____operator_bitor__PFPd0_Pd0t1___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____operator_assign__PFt2_Rt2t2____constructor__PF_Rt2____constructor__PF_Rt2t2____destructor__PF_Rt2____operator_preincr__PFt2_Rt2____operator_predecr__PFt2_Rt2____operator_equal__PFi_t2t2____operator_notequal__PFi_t2t2____operator_deref__PFRt1_t2__F_t2t2Pd0__1(__attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object1033)(), void *__anonymous_object1034), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object1035)(), void *__anonymous_object1036, void *__anonymous_object1037), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object1038)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object1039), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object1040)(), void *__anonymous_object1041, void *__anonymous_object1042), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object1043)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object1044, void *__anonymous_object1045), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype9telt_type_M_MP)(void (*__anonymous_object1046)(), void *__anonymous_object1047, void *__anonymous_object1048), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object1049)(), void *__anonymous_object1050, void *__anonymous_object1051), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object1052)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object1053, void *__anonymous_object1054), __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) void *(*___operator_assign__PF9telt_type_R9telt_type9telt_type__1)(void *__anonymous_object1055, void *__anonymous_object1056), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type__1)(void *__anonymous_object1057), __attribute__ ((unused)) void (*___constructor__PF_R9telt_type9telt_type__1)(void *__anonymous_object1058, void *__anonymous_object1059), __attribute__ ((unused)) void (*___destructor__PF_R9telt_type__1)(void *__anonymous_object1060), __attribute__ ((unused)) void *(*___operator_bitor__PFP7tostype_P7tostype9telt_type__1)(void *__anonymous_object1061, void *__anonymous_object1062), __attribute__ ((unused)) _Bool (*__sepPrt__PFb_P7tostype__1)(void *__anonymous_object1063), __attribute__ ((unused)) void (*__sepReset__PF_P7tostype__1)(void *__anonymous_object1064), __attribute__ ((unused)) void (*__sepReset__PF_P7tostypeb__1)(void *__anonymous_object1065, _Bool __anonymous_object1066), __attribute__ ((unused)) const char *(*__sepGetCur__PFPCc_P7tostype__1)(void *__anonymous_object1067), __attribute__ ((unused)) void (*__sepSetCur__PF_P7tostypePCc__1)(void *__anonymous_object1068, const char *__anonymous_object1069), __attribute__ ((unused)) _Bool (*__getNL__PFb_P7tostype__1)(void *__anonymous_object1070), __attribute__ ((unused)) void (*__setNL__PF_P7tostypeb__1)(void *__anonymous_object1071, _Bool __anonymous_object1072), __attribute__ ((unused)) void (*__sepOn__PF_P7tostype__1)(void *__anonymous_object1073), __attribute__ ((unused)) void (*__sepOff__PF_P7tostype__1)(void *__anonymous_object1074), __attribute__ ((unused)) _Bool (*__sepDisable__PFb_P7tostype__1)(void *__anonymous_object1075), __attribute__ ((unused)) _Bool (*__sepEnable__PFb_P7tostype__1)(void *__anonymous_object1076), __attribute__ ((unused)) const char *(*__sepGet__PFPCc_P7tostype__1)(void *__anonymous_object1077), __attribute__ ((unused)) void (*__sepSet__PF_P7tostypePCc__1)(void *__anonymous_object1078, const char *__anonymous_object1079), __attribute__ ((unused)) const char *(*__sepGetTuple__PFPCc_P7tostype__1)(void *__anonymous_object1080), __attribute__ ((unused)) void (*__sepSetTuple__PF_P7tostypePCc__1)(void *__anonymous_object1081, const char *__anonymous_object1082), __attribute__ ((unused)) signed int (*__fail__PFi_P7tostype__1)(void *__anonymous_object1083), __attribute__ ((unused)) signed int (*__flush__PFi_P7tostype__1)(void *__anonymous_object1084), __attribute__ ((unused)) void (*__open__PF_P7tostypePCcPCc__1)(void *__os__P7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__PF_P7tostype__1)(void *__os__P7tostype_1), __attribute__ ((unused)) void *(*__write__PFP7tostype_P7tostypePCcUl__1)(void *__anonymous_object1085, const char *__anonymous_object1086, unsigned long int __anonymous_object1087), __attribute__ ((unused)) signed int (*__fmt__PFi_P7tostypePCc__1)(void *__anonymous_object1088, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_assign__PF14titerator_type_R14titerator_type14titerator_type__1)(void *__anonymous_object1089, void *__anonymous_object1090), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type__1)(void *__anonymous_object1091), __attribute__ ((unused)) void (*___constructor__PF_R14titerator_type14titerator_type__1)(void *__anonymous_object1092, void *__anonymous_object1093), __attribute__ ((unused)) void (*___destructor__PF_R14titerator_type__1)(void *__anonymous_object1094), __attribute__ ((unused)) void *(*___operator_preincr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object1095), __attribute__ ((unused)) void *(*___operator_predecr__PF14titerator_type_R14titerator_type__1)(void *__anonymous_object1096), __attribute__ ((unused)) signed int (*___operator_equal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object1097, void *__anonymous_object1098), __attribute__ ((unused)) signed int (*___operator_notequal__PFi_14titerator_type14titerator_type__1)(void *__anonymous_object1099, void *__anonymous_object1100), __attribute__ ((unused)) void *(*___operator_deref__PFR9telt_type_14titerator_type__1)(void *__anonymous_object1101), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void *__os__P7tostype_1); 42 42 void *___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_Pd0Rc__1(__attribute__ ((unused)) signed int (*__fail__PFi_P7tistype__1)(void *__anonymous_object1102), __attribute__ ((unused)) signed int (*__eof__PFi_P7tistype__1)(void *__anonymous_object1103), __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_object1104, char *__anonymous_object1105, unsigned long int __anonymous_object1106), __attribute__ ((unused)) void *(*__ungetc__PFP7tistype_P7tistypec__1)(void *__anonymous_object1107, char __anonymous_object1108), __attribute__ ((unused)) signed int (*__fmt__PFi_P7tistypePCc__1)(void *__anonymous_object1109, const char *__fmt__PCc_1, ...), void *__anonymous_object1110, char *__anonymous_object1111); 43 43 void *___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_Pd0RSc__1(__attribute__ ((unused)) signed int (*__fail__PFi_P7tistype__1)(void *__anonymous_object1112), __attribute__ ((unused)) signed int (*__eof__PFi_P7tistype__1)(void *__anonymous_object1113), __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_object1114, char *__anonymous_object1115, unsigned long int __anonymous_object1116), __attribute__ ((unused)) void *(*__ungetc__PFP7tistype_P7tistypec__1)(void *__anonymous_object1117, char __anonymous_object1118), __attribute__ ((unused)) signed int (*__fmt__PFi_P7tistypePCc__1)(void *__anonymous_object1119, const char *__fmt__PCc_1, ...), void *__anonymous_object1120, signed char *__anonymous_object1121); -
src/tests/Makefile.am
r136ccd7 r4ee1efb 107 107 108 108 declarationSpecifier: declarationSpecifier.c @CFA_BINDIR@/@CFA_NAME@ 109 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}109 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p -XCFA -L ${<} -o ${@} 110 110 111 111 gccExtensions : gccExtensions.c @CFA_BINDIR@/@CFA_NAME@ 112 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}112 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p -XCFA -L ${<} -o ${@} 113 113 114 114 extension : extension.c @CFA_BINDIR@/@CFA_NAME@ 115 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}115 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p -XCFA -L ${<} -o ${@} 116 116 117 117 attributes : attributes.c @CFA_BINDIR@/@CFA_NAME@ 118 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}118 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p -XCFA -L ${<} -o ${@} 119 119 120 120 KRfunctions : KRfunctions.c @CFA_BINDIR@/@CFA_NAME@ 121 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}121 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p -XCFA -L ${<} -o ${@} 122 122 123 123 literals : literals.c @CFA_BINDIR@/@CFA_NAME@ 124 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}124 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p -XCFA -L ${<} -o ${@} 125 125 126 126 sched-ext-parse : sched-ext-parse.c @CFA_BINDIR@/@CFA_NAME@ 127 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}127 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p -XCFA -L ${<} -o ${@} 128 128 129 129 gmp : gmp.c @CFA_BINDIR@/@CFA_NAME@ -
src/tests/Makefile.in
r136ccd7 r4ee1efb 860 860 861 861 declarationSpecifier: declarationSpecifier.c @CFA_BINDIR@/@CFA_NAME@ 862 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}862 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p -XCFA -L ${<} -o ${@} 863 863 864 864 gccExtensions : gccExtensions.c @CFA_BINDIR@/@CFA_NAME@ 865 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}865 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p -XCFA -L ${<} -o ${@} 866 866 867 867 extension : extension.c @CFA_BINDIR@/@CFA_NAME@ 868 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}868 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p -XCFA -L ${<} -o ${@} 869 869 870 870 attributes : attributes.c @CFA_BINDIR@/@CFA_NAME@ 871 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}871 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p -XCFA -L ${<} -o ${@} 872 872 873 873 KRfunctions : KRfunctions.c @CFA_BINDIR@/@CFA_NAME@ 874 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}874 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p -XCFA -L ${<} -o ${@} 875 875 876 876 literals : literals.c @CFA_BINDIR@/@CFA_NAME@ 877 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}877 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p -XCFA -L ${<} -o ${@} 878 878 879 879 sched-ext-parse : sched-ext-parse.c @CFA_BINDIR@/@CFA_NAME@ 880 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}880 ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p -XCFA -L ${<} -o ${@} 881 881 882 882 gmp : gmp.c @CFA_BINDIR@/@CFA_NAME@ -
src/tests/boundedBuffer.c
r136ccd7 r4ee1efb 1 //2 // The contents of this file are covered under the licence agreement in the3 // file "LICENCE" distributed with Cforall.4 //5 // boundedBuffer.c --6 //7 // Author : Peter A. Buhr8 // Created On : Mon Oct 30 12:45:13 20179 // Last Modified By : Peter A. Buhr10 // Last Modified On : Mon Oct 30 23:02:46 201711 // Update Count : 912 //13 14 1 #include <stdlib> 15 #include <fstream> // random2 #include <fstream> 16 3 #include <kernel> 17 4 #include <thread> 18 #include <unistd.h> 5 #include <unistd.h> // getpid 19 6 20 7 monitor Buffer { 21 22 23 8 condition full, empty; 9 int front, back, count; 10 int elements[20]; 24 11 }; 25 12 26 13 void ?{}( Buffer & buffer ) { 27 14 buffer.front = buffer.back = buffer.count = 0; 28 15 } 29 16 … … 31 18 32 19 void insert( Buffer & mutex buffer, int elem ) { 33 34 35 36 37 20 if ( buffer.count == 20 ) wait( &buffer.empty ); 21 buffer.elements[buffer.back] = elem; 22 buffer.back = ( buffer.back + 1 ) % 20; 23 buffer.count += 1; 24 signal( &buffer.full ); 38 25 } 39 26 int remove( Buffer & mutex buffer ) { 40 41 42 43 44 45 27 if ( buffer.count == 0 ) wait( &buffer.full ); 28 int elem = buffer.elements[buffer.front]; 29 buffer.front = ( buffer.front + 1 ) % 20; 30 buffer.count -= 1; 31 signal( &buffer.empty ); 32 return elem; 46 33 } 47 34 48 35 thread Producer { 49 Buffer &buffer;50 36 Buffer * buffer; 37 unsigned int N; 51 38 }; 52 39 void main( Producer & prod ) { 53 54 yield( random( 5 ));55 insert(prod.buffer, 1 );56 57 insert(prod.buffer, -1 );40 for ( int i = 1; i <= prod.N; i += 1 ) { 41 yield( (unsigned int)rand48() % 5 ); 42 insert( *prod.buffer, 1 ); 43 } // for 44 insert( *prod.buffer, -1 ); 58 45 } 59 46 void ?{}( Producer & prod, Buffer * buffer, unsigned int N ) { 60 &prod.buffer = buffer;61 62 47 prod.buffer = buffer; 48 prod.N = N; 49 } 63 50 64 51 thread Consumer { 65 Buffer &buffer;66 int ∑ // summation of producer values52 Buffer * buffer; 53 int * sum; // summation of producer values 67 54 }; 68 55 void main( Consumer & cons ) { 69 70 71 yield( random( 5 ));72 int item = remove(cons.buffer );73 74 75 56 *cons.sum = 0; 57 for ( ;; ) { 58 yield( (unsigned int)rand48() % 5 ); 59 int item = remove( *cons.buffer ); 60 if ( item == -1 ) break; // sentinel ? 61 *cons.sum += item; 62 } // for 76 63 } 77 64 void ?{}( Consumer & cons, Buffer * buffer, int * sum ) { 78 &cons.buffer = buffer;79 &cons.sum = sum;65 cons.buffer = buffer; 66 cons.sum = sum; 80 67 } 81 68 82 69 int main() { 83 84 85 86 87 88 89 90 70 Buffer buffer; 71 enum { Prods = 5, Cons = 5 }; 72 Producer * prods[Prods]; 73 Consumer * cons[Cons]; 74 const int Sentinel = -1; 75 int sums[Cons]; 76 int i; 77 processor p; 91 78 92 //random_seed( getpid() );93 random_seed( 1003 );79 //rand48seed( getpid() ); 80 rand48seed( 1003 ); 94 81 95 96 97 98 99 100 82 for ( i = 0; i < Cons; i += 1 ) { // create consumers 83 cons[i] = new( &buffer, &sums[i] ); 84 } // for 85 for ( i = 0; i < Prods; i += 1 ) { // create producers 86 prods[i] = new( &buffer, 100000u ); 87 } // for 101 88 102 103 104 105 106 107 108 109 110 111 112 113 89 for ( i = 0; i < Prods; i += 1 ) { // wait for producers to finish 90 delete( prods[i] ); 91 } // for 92 for ( i = 0; i < Cons; i += 1 ) { // generate sentinal values to stop consumers 93 insert( buffer, Sentinel ); 94 } // for 95 int sum = 0; 96 for ( i = 0; i < Cons; i += 1 ) { // wait for consumers to finish 97 delete( cons[i] ); 98 sum += sums[i]; 99 } // for 100 sout | "total:" | sum | endl; 114 101 } 115 116 // Local Variables: //117 // tab-width: 4 //118 // compile-command: "cfa boundedBuffer.c" //119 // End: // -
src/tests/matrixSum.c
r136ccd7 r4ee1efb 11 11 // Created On : Mon Oct 9 08:29:28 2017 12 12 // Last Modified By : Peter A. Buhr 13 // Last Modified On : Sun Oct 29 21:08:48 201714 // Update Count : 213 // Last Modified On : Mon Oct 9 08:30:08 2017 14 // Update Count : 1 15 15 // 16 16 … … 20 20 21 21 thread Adder { 22 int * row, cols, * subtotal; 22 int * row, cols, * subtotal; // communication 23 23 }; 24 24 … … 32 32 *adder.subtotal = 0; 33 33 for ( int c = 0; c < adder.cols; c += 1 ) { 34 34 *adder.subtotal += adder.row[c]; 35 35 } // for 36 36 } … … 39 39 const int rows = 10, cols = 1000; 40 40 int matrix[rows][cols], subtotals[rows], total = 0; 41 processor p; 41 processor p; // extra kernel thread 42 42 43 43 for ( int r = 0; r < rows; r += 1 ) { 44 45 46 44 for ( int c = 0; c < cols; c += 1 ) { 45 matrix[r][c] = 1; 46 } // for 47 47 } // for 48 48 Adder * adders[rows]; 49 for ( int r = 0; r < rows; r += 1 ) { 50 51 // 49 for ( int r = 0; r < rows; r += 1 ) { // start threads to sum rows 50 adders[r] = &(*malloc()){ matrix[r], cols, subtotals[r] }; 51 // adders[r] = new( matrix[r], cols, &subtotals[r] ); 52 52 } // for 53 for ( int r = 0; r < rows; r += 1 ) { 54 55 total += subtotals[r];// total subtotals53 for ( int r = 0; r < rows; r += 1 ) { // wait for threads to finish 54 delete( adders[r] ); 55 total += subtotals[r]; // total subtotals 56 56 } // for 57 57 sout | total | endl; -
src/tests/prodcons.c
r136ccd7 r4ee1efb 10 10 // Created On : Mon Sep 18 12:23:39 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Oct 30 23:06:05201713 // Update Count : 4 212 // Last Modified On : Wed Sep 20 17:03:28 2017 13 // Update Count : 40 14 14 // 15 15 16 16 #include <fstream> 17 17 #include <coroutine> 18 #include <stdlib> // rand om18 #include <stdlib> // rand48 19 19 #include <unistd.h> // getpid 20 20 … … 30 30 // 1st resume starts here 31 31 for ( int i = 0; i < prod.N; i += 1 ) { 32 int p1 = random( 100 );33 int p2 = random( 100 );32 int p1 = (unsigned int)rand48() % 100; // non-negative 33 int p2 = (unsigned int)rand48() % 100; 34 34 sout | p1 | " " | p2 | endl; 35 35 int status = delivery( *prod.c, p1, p2 ); … … 90 90 Prod prod; 91 91 Cons cons = { prod }; 92 rand om_seed( /* getpid() */ 103 ); // fixed seed for testing92 rand48seed( /* getpid() */ 103 ); // fixed seed for testing 93 93 start( prod, 5, cons ); 94 94 sout | "main stops" | endl; -
src/tests/random.c
r136ccd7 r4ee1efb 10 10 // Created On : Tue Jul 5 21:29:30 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Oct 30 23:06:49 201713 // Update Count : 612 // Last Modified On : Wed Jul 6 18:00:29 2016 13 // Update Count : 3 14 14 // 15 15 … … 19 19 20 20 int main() { 21 // srandom( getpid() ); // set random seed22 rand om_seed( 1003 );// fixed seed for repeatable tests21 //rand48seed( getpid() ); // set random seed 22 rand48seed( 1003 ); // fixed seed for repeatable tests 23 23 24 24 // test polymorphic calls to random and stream 25 char c = rand om();25 char c = rand48(); 26 26 sout | c | endl; 27 int i = rand om();27 int i = rand48(); 28 28 sout | i | endl; 29 unsigned int ui = rand om();29 unsigned int ui = rand48(); 30 30 sout | ui | endl; 31 long int li = rand om();31 long int li = rand48(); 32 32 sout | li | endl; 33 unsigned long int uli = rand om();33 unsigned long int uli = rand48(); 34 34 sout | uli | endl; 35 float f = rand om();35 float f = rand48(); 36 36 sout | f | endl; 37 double d = rand om();37 double d = rand48(); 38 38 sout | d | endl; 39 float _Complex fc = rand om();39 float _Complex fc = rand48(); 40 40 sout | fc | endl; 41 double _Complex dc = rand om();41 double _Complex dc = rand48(); 42 42 sout | dc | endl; 43 long double _Complex ldc = rand om();43 long double _Complex ldc = rand48(); 44 44 sout | ldc | endl; 45 45 } // main -
src/tests/rational.c
r136ccd7 r4ee1efb 10 10 // Created On : Mon Mar 28 08:43:12 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Oct 10 23:25:04201713 // Update Count : 6 712 // Last Modified On : Wed Aug 23 21:40:11 2017 13 // Update Count : 66 14 14 // 15 15 -
src/tests/sched-ext-barge.c
r136ccd7 r4ee1efb 42 42 void main( barger_t & this ) { 43 43 yield(); 44 while( barge( global ) ) { yield( random( 10 )); }44 while( barge( global ) ) { yield(((unsigned)rand48()) % 10); } 45 45 } 46 46 47 47 bool do_call( global_t & mutex this ) { 48 yield( random( 10 ));48 yield(((unsigned)rand48()) % 10); 49 49 if( this.state != WAITFOR && !this.done && this.started ) { 50 50 serr | "Barging before caller detected" | endl; … … 57 57 thread caller_t {}; 58 58 void main( caller_t & this ) { 59 while( do_call(global) ) { yield( random( 10 )); }59 while( do_call(global) ) { yield(((unsigned)rand48()) % 10); } 60 60 } 61 61 … … 63 63 this.started = true; 64 64 for( int i = 0; i < N; i++) { 65 yield( random( 10 ));65 yield(((unsigned)rand48()) % 10); 66 66 this.state = WAITFOR; 67 67 waitfor(do_call, this) { -
src/tests/sched-ext-dtor.c
r136ccd7 r4ee1efb 45 45 46 46 void main( dummy_t & this ) { 47 yield( random( 10 ));47 yield(((unsigned)rand48()) % 10); 48 48 set_state( this, MAIN ); 49 49 waitfor( ^?{}, this ) { … … 58 58 for( int i = 0; i < N; i++ ){ 59 59 dummy_t dummy[4]; 60 yield( random( 100 ));60 yield( ((unsigned)rand48()) % 100 ); 61 61 } 62 62 sout | "Stopping" | endl; -
src/tests/sched-ext-recurse.c
r136ccd7 r4ee1efb 15 15 static const unsigned long N = 5_000ul; 16 16 17 static inline void rand_yield() { yield( random( 10 )); }17 static inline void rand_yield() { yield(((unsigned)rand48()) % 10); } 18 18 19 19 enum state_t { FIRST, SECOND, THIRD, LAST, STOP }; … … 23 23 for (i = 0; i < 4; i++) 24 24 { 25 int j = random( 4 );25 int j = ((unsigned)rand48()) % 4; 26 26 enum state_t t = array[j]; 27 27 array[j] = array[i]; … … 131 131 132 132 int main() { 133 rand om_seed( time(NULL) );133 rand48seed( time(NULL) ); 134 134 sout | "Starting" | endl; 135 135 { -
src/tests/sched-ext-when.c
r136ccd7 r4ee1efb 15 15 static const unsigned long N = 4_998ul; 16 16 17 static inline void rand_yield() { yield( random( 10 )); }17 static inline void rand_yield() { yield(((unsigned)rand48()) % 10); } 18 18 19 19 monitor global_t { … … 77 77 78 78 int main() { 79 rand om_seed( time(NULL) );79 rand48seed( time(NULL) ); 80 80 sout | "Starting" | endl; 81 81 { -
src/tests/sched-ext.c
r136ccd7 r4ee1efb 26 26 volatile bool done; 27 27 28 unsigned rand10() { 29 return (unsigned)rand48() % 10; 30 } 31 28 32 //---------------------------------------------------------------------------------------------------- 29 33 // Acceptor … … 32 36 void do_wait( global_t * mutex a ) { 33 37 sout | "Waiting to accept" | endl; 34 yield( rand om( 10) );38 yield( rand10() ); 35 39 36 40 sout | "Accepting" | endl; … … 44 48 45 49 sout | "Accepted" | endl; 46 yield( rand om( 10) );50 yield( rand10() ); 47 51 } 48 52 … … 64 68 void main( Acceptee* this ) { 65 69 while( !done ) { 66 yield( rand om( 10) );70 yield( rand10() ); 67 71 do_notify( &globalA ); 68 yield( rand om( 10) );72 yield( rand10() ); 69 73 } 70 74 } … … 74 78 int main(int argc, char* argv[]) { 75 79 done = false; 76 rand om_seed( time( NULL ) );80 rand48seed( time( NULL ) ); 77 81 printf("%p\n", &globalA); 78 82 sout | "Starting" | endl; -
src/tests/sched-int-barge.c
r136ccd7 r4ee1efb 64 64 65 65 if( action == 0 ) { 66 c.do_signal = max( random( 10 ), 1);67 c.do_wait1 = random( c.do_signal);68 c.do_wait2 = random( c.do_signal);66 c.do_signal = max( ((unsigned)rand48()) % 10, 1); 67 c.do_wait1 = ((unsigned)rand48()) % (c.do_signal); 68 c.do_wait2 = ((unsigned)rand48()) % (c.do_signal); 69 69 70 70 if(c.do_wait1 == c.do_wait2) sout | "Same" | endl; … … 109 109 110 110 int main(int argc, char* argv[]) { 111 rand om_seed(0);111 rand48seed(0); 112 112 processor p; 113 113 { -
src/tests/sched-int-block.c
r136ccd7 r4ee1efb 49 49 wait( &cond, (uintptr_t)this_thread ); 50 50 51 yield( random( 10 ));51 yield( ((unsigned)rand48()) % 10 ); 52 52 53 53 if(a.last_thread != a.last_signaller || b.last_thread != b.last_signaller ) { … … 58 58 a.last_thread = b.last_thread = this_thread; 59 59 60 yield( random( 10 ));60 yield( ((unsigned)rand48()) % 10 ); 61 61 } 62 62 … … 70 70 //------------------------------------------------------------------------------ 71 71 void signal_op( global_data_t & mutex a, global_data_t & mutex b ) { 72 yield( random( 10 ));72 yield( ((unsigned)rand48()) % 10 ); 73 73 74 74 [a.last_thread, b.last_thread, a.last_signaller, b.last_signaller] = this_thread; … … 83 83 } 84 84 85 yield( random( 10 ));85 yield( ((unsigned)rand48()) % 10 ); 86 86 87 87 if(a.last_thread != next || b.last_thread != next) { … … 118 118 119 119 int main(int argc, char* argv[]) { 120 rand om_seed( time( NULL ) );120 rand48seed( time( NULL ) ); 121 121 done = false; 122 122 processor p; -
src/tests/sched-int-disjoint.c
r136ccd7 r4ee1efb 88 88 signal( &cond, a, data ); 89 89 90 yield( random( 10 ));90 yield( (unsigned)rand48() % 10 ); 91 91 92 92 //This is technically a mutual exclusion violation but the mutex monitor protects us … … 109 109 // Main loop 110 110 int main(int argc, char* argv[]) { 111 rand om_seed( time( NULL ) );111 rand48seed( time( NULL ) ); 112 112 all_done = false; 113 113 processor p; -
src/tests/sched-int-wait.c
r136ccd7 r4ee1efb 62 62 63 63 while( waiter_left != 0 ) { 64 unsigned action = random( 4 );64 unsigned action = (unsigned)rand48() % 4; 65 65 switch( action ) { 66 66 case 0: … … 127 127 // Main 128 128 int main(int argc, char* argv[]) { 129 rand om_seed( time( NULL ) );129 rand48seed( time( NULL ) ); 130 130 waiter_left = 4; 131 131 processor p[2];
Note:
See TracChangeset
for help on using the changeset viewer.