- Timestamp:
- Nov 17, 2017, 2:41:55 PM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 48fa824, c38ae92
- Parents:
- 65d6de4 (diff), 5f91d650 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- src
- Files:
-
- 1 added
- 2 deleted
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Common/Debug.h
r65d6de4 r9e1eabc 24 24 #include "SynTree/Declaration.h" 25 25 26 /// debug codegen a translation unit 27 static inline void debugCodeGen( const std::list< Declaration * > & translationUnit, const std::string & label ) { 28 std::list< Declaration * > decls; 26 #define DEBUG 29 27 30 filter( translationUnit.begin(), translationUnit.end(), back_inserter( decls ), []( Declaration * decl ) { 31 return ! LinkageSpec::isBuiltin( decl->get_linkage() ); 32 }); 28 namespace Debug { 29 /// debug codegen a translation unit 30 static inline void codeGen( __attribute__((unused)) const std::list< Declaration * > & translationUnit, __attribute__((unused)) const std::string & label ) { 31 #ifdef DEBUG 32 std::list< Declaration * > decls; 33 33 34 std::cerr << "======" << label << "======" << std::endl; 35 CodeGen::generate( decls, std::cerr, false, true ); 36 } // dump 34 filter( translationUnit.begin(), translationUnit.end(), back_inserter( decls ), []( Declaration * decl ) { 35 return ! LinkageSpec::isBuiltin( decl->get_linkage() ); 36 }); 37 38 std::cerr << "======" << label << "======" << std::endl; 39 CodeGen::generate( decls, std::cerr, false, true ); 40 #endif 41 } // dump 42 43 static inline void treeDump( __attribute__((unused)) const std::list< Declaration * > & translationUnit, __attribute__((unused)) const std::string & label ) { 44 #ifdef DEBUG 45 std::list< Declaration * > decls; 46 47 filter( translationUnit.begin(), translationUnit.end(), back_inserter( decls ), []( Declaration * decl ) { 48 return ! LinkageSpec::isBuiltin( decl->get_linkage() ); 49 }); 50 51 std::cerr << "======" << label << "======" << std::endl; 52 printAll( decls, std::cerr ); 53 #endif 54 } // dump 55 } 37 56 38 57 // Local Variables: // -
src/ResolvExpr/AlternativeFinder.cc
r65d6de4 r9e1eabc 581 581 std::vector<unsigned> tupleEls; /// Number of elements in current tuple element(s) 582 582 583 ArgPack(const TypeEnvironment& env, const AssertionSet& need, const AssertionSet& have, 583 ArgPack(const TypeEnvironment& env, const AssertionSet& need, const AssertionSet& have, 584 584 const OpenVarSet& openVars) 585 585 : actuals(), env(env), need(need), have(have), openVars(openVars), nextArg(0), 586 586 expls(), nextExpl(0), tupleEls() {} 587 587 588 588 /// Starts a new tuple expression 589 589 void beginTuple() { … … 620 620 621 621 /// Instantiates an argument to match a formal, returns false if no results left 622 bool instantiateArgument( Type* formalType, Initializer* initializer, 623 const std::vector< AlternativeFinder >& args, 624 std::vector<ArgPack>& results, std::vector<ArgPack>& nextResults, 622 bool instantiateArgument( Type* formalType, Initializer* initializer, 623 const std::vector< AlternativeFinder >& args, 624 std::vector<ArgPack>& results, std::vector<ArgPack>& nextResults, 625 625 const SymTab::Indexer& indexer ) { 626 626 if ( TupleType* tupleType = dynamic_cast<TupleType*>( formalType ) ) { … … 629 629 for ( Type* type : *tupleType ) { 630 630 // xxx - dropping initializer changes behaviour from previous, but seems correct 631 if ( ! instantiateArgument( type, nullptr, args, results, nextResults, indexer ) ) 631 if ( ! instantiateArgument( type, nullptr, args, results, nextResults, indexer ) ) 632 632 return false; 633 633 } … … 658 658 Type* argType = result.actuals.back().expr->get_result(); 659 659 if ( result.tupleEls.back() == 1 && Tuples::isTtype( argType ) ) { 660 // the case where a ttype value is passed directly is special, e.g. for 660 // the case where a ttype value is passed directly is special, e.g. for 661 661 // argument forwarding purposes 662 662 // xxx - what if passing multiple arguments, last of which is ttype? 663 // xxx - what would happen if unify was changed so that unifying tuple 663 // xxx - what would happen if unify was changed so that unifying tuple 664 664 // types flattened both before unifying lists? then pass in TupleType 665 665 // (ttype) below. … … 671 671 } 672 672 // check unification for ttype before adding to final 673 if ( unify( ttype, argType, result.env, result.need, result.have, 673 if ( unify( ttype, argType, result.env, result.need, result.have, 674 674 result.openVars, indexer ) ) { 675 675 finalResults.push_back( std::move(result) ); … … 684 684 aResult.env.addActual( actual.env, aResult.openVars ); 685 685 Cost cost = actual.cost; 686 686 687 687 // explode argument 688 688 std::vector<Alternative> exploded; 689 689 Tuples::explode( actual, indexer, back_inserter( exploded ) ); 690 690 691 691 // add exploded argument to tuple 692 692 for ( Alternative& aActual : exploded ) { … … 706 706 return ! results.empty(); 707 707 } 708 708 709 709 // iterate each current subresult 710 710 for ( unsigned iResult = 0; iResult < results.size(); ++iResult ) { … … 724 724 std::cerr << std::endl; 725 725 ) 726 727 if ( unify( formalType, actualType, result.env, result.need, result.have, 726 727 if ( unify( formalType, actualType, result.env, result.need, result.have, 728 728 result.openVars, indexer ) ) { 729 729 ++result.nextExpl; … … 736 736 if ( ConstantExpr* cnstExpr = getDefaultValue( initializer ) ) { 737 737 if ( Constant* cnst = dynamic_cast<Constant*>( cnstExpr->get_constant() ) ) { 738 if ( unify( formalType, cnst->get_type(), result.env, result.need, 738 if ( unify( formalType, cnst->get_type(), result.env, result.need, 739 739 result.have, result.openVars, indexer ) ) { 740 740 nextResults.push_back( std::move(result.withArg( cnstExpr )) ); … … 791 791 results.swap( nextResults ); 792 792 nextResults.clear(); 793 793 794 794 return ! results.empty(); 795 } 795 } 796 796 797 797 template<typename OutputIterator> 798 void AlternativeFinder::makeFunctionAlternatives( const Alternative &func, 799 FunctionType *funcType, const std::vector< AlternativeFinder > &args, 798 void AlternativeFinder::makeFunctionAlternatives( const Alternative &func, 799 FunctionType *funcType, const std::vector< AlternativeFinder > &args, 800 800 OutputIterator out ) { 801 801 OpenVarSet funcOpenVars; … … 803 803 TypeEnvironment funcEnv( func.env ); 804 804 makeUnifiableVars( funcType, funcOpenVars, funcNeed ); 805 // add all type variables as open variables now so that those not used in the parameter 805 // add all type variables as open variables now so that those not used in the parameter 806 806 // list are still considered open. 807 807 funcEnv.add( funcType->get_forall() ); 808 808 809 809 if ( targetType && ! targetType->isVoid() && ! funcType->get_returnVals().empty() ) { 810 810 // attempt to narrow based on expected target type 811 811 Type * returnType = funcType->get_returnVals().front()->get_type(); 812 if ( ! unify( returnType, targetType, funcEnv, funcNeed, funcHave, funcOpenVars, 812 if ( ! unify( returnType, targetType, funcEnv, funcNeed, funcHave, funcOpenVars, 813 813 indexer ) ) { 814 814 // unification failed, don't pursue this function alternative … … 822 822 for ( DeclarationWithType* formal : funcType->get_parameters() ) { 823 823 ObjectDecl* obj = strict_dynamic_cast< ObjectDecl* >( formal ); 824 if ( ! instantiateArgument( 824 if ( ! instantiateArgument( 825 825 obj->get_type(), obj->get_init(), args, results, nextResults, indexer ) ) 826 826 return; … … 904 904 905 905 std::vector< AlternativeFinder > argAlternatives; 906 findSubExprs( untypedExpr->begin_args(), untypedExpr->end_args(), 906 findSubExprs( untypedExpr->begin_args(), untypedExpr->end_args(), 907 907 back_inserter( argAlternatives ) ); 908 908 … … 934 934 Alternative newFunc( *func ); 935 935 referenceToRvalueConversion( newFunc.expr ); 936 makeFunctionAlternatives( newFunc, function, argAlternatives, 936 makeFunctionAlternatives( newFunc, function, argAlternatives, 937 937 std::back_inserter( candidates ) ); 938 938 } … … 943 943 Alternative newFunc( *func ); 944 944 referenceToRvalueConversion( newFunc.expr ); 945 makeFunctionAlternatives( newFunc, function, argAlternatives, 945 makeFunctionAlternatives( newFunc, function, argAlternatives, 946 946 std::back_inserter( candidates ) ); 947 947 } // if 948 948 } // if 949 } 949 } 950 950 } catch ( SemanticError &e ) { 951 951 errors.append( e ); … … 962 962 try { 963 963 // check if type is a pointer to function 964 if ( PointerType* pointer = dynamic_cast<PointerType*>( 964 if ( PointerType* pointer = dynamic_cast<PointerType*>( 965 965 funcOp->expr->get_result()->stripReferences() ) ) { 966 if ( FunctionType* function = 966 if ( FunctionType* function = 967 967 dynamic_cast<FunctionType*>( pointer->get_base() ) ) { 968 968 Alternative newFunc( *funcOp ); 969 969 referenceToRvalueConversion( newFunc.expr ); 970 makeFunctionAlternatives( newFunc, function, argAlternatives, 970 makeFunctionAlternatives( newFunc, function, argAlternatives, 971 971 std::back_inserter( candidates ) ); 972 972 } … … 1007 1007 candidates.splice( candidates.end(), alternatives ); 1008 1008 1009 findMinCost( candidates.begin(), candidates.end(), std::back_inserter( alternatives ) ); 1009 // use a new list so that alternatives are not examined by addAnonConversions twice. 1010 AltList winners; 1011 findMinCost( candidates.begin(), candidates.end(), std::back_inserter( winners ) ); 1010 1012 1011 1013 // function may return struct or union value, in which case we need to add alternatives for implicit 1012 1014 // conversions to each of the anonymous members, must happen after findMinCost since anon conversions 1013 1015 // are never the cheapest expression 1014 for ( const Alternative & alt : alternatives ) {1016 for ( const Alternative & alt : winners ) { 1015 1017 addAnonConversions( alt ); 1016 1018 } 1019 alternatives.splice( alternatives.begin(), winners ); 1017 1020 1018 1021 if ( alternatives.empty() && targetType && ! targetType->isVoid() ) { -
src/ResolvExpr/RenameVars.cc
r65d6de4 r9e1eabc 29 29 RenameVars global_renamer; 30 30 31 RenameVars::RenameVars() : level( 0 ) {31 RenameVars::RenameVars() : level( 0 ), resetCount( 0 ) { 32 32 mapStack.push_front( std::map< std::string, std::string >() ); 33 33 } … … 35 35 void RenameVars::reset() { 36 36 level = 0; 37 resetCount++; 37 38 } 38 39 … … 130 131 for ( Type::ForallList::iterator i = type->get_forall().begin(); i != type->get_forall().end(); ++i ) { 131 132 std::ostringstream output; 132 output << "_" << level << "_" << (*i)->get_name();133 output << "_" << resetCount << "_" << level << "_" << (*i)->get_name(); 133 134 std::string newname( output.str() ); 134 135 mapStack.front()[ (*i)->get_name() ] = newname; -
src/ResolvExpr/RenameVars.h
r65d6de4 r9e1eabc 48 48 void typeBefore( Type *type ); 49 49 void typeAfter( Type *type ); 50 int level ;50 int level, resetCount; 51 51 std::list< std::map< std::string, std::string > > mapStack; 52 52 }; -
src/benchmark/Makefile.am
r65d6de4 r9e1eabc 23 23 STATS = ${TOOLSDIR}stat.py 24 24 repeats = 30 25 TIME_FORMAT = "%E" 26 PRINT_FORMAT = %20s: #Comments needed for spacing 25 27 26 28 .NOTPARALLEL: … … 29 31 30 32 all : ctxswitch$(EXEEXT) mutex$(EXEEXT) signal$(EXEEXT) waitfor$(EXEEXT) creation$(EXEEXT) 31 32 bench$(EXEEXT) :33 @for ccflags in "-debug" "-nodebug"; do \34 echo ${CC} ${AM_CFLAGS} ${CFLAGS} ${ccflags} @CFA_FLAGS@ -lrt bench.c;\35 ${CC} ${AM_CFLAGS} ${CFLAGS} $${ccflags} -lrt bench.c;\36 ./a.out ; \37 done ; \38 rm -f ./a.out ;39 40 csv-data$(EXEEXT):41 @${CC} ${AM_CFLAGS} ${CFLAGS} ${ccflags} @CFA_FLAGS@ -nodebug -lrt -quiet -DN=50000000 csv-data.c42 @./a.out43 @rm -f ./a.out44 45 ## =========================================================================================================46 ctxswitch$(EXEEXT): \47 ctxswitch-pthread.run \48 ctxswitch-cfa_coroutine.run \49 ctxswitch-cfa_thread.run \50 ctxswitch-upp_coroutine.run \51 ctxswitch-upp_thread.run52 53 ctxswitch-cfa_coroutine$(EXEEXT):54 ${CC} ctxswitch/cfa_cor.c -DBENCH_N=50000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}55 56 ctxswitch-cfa_thread$(EXEEXT):57 ${CC} ctxswitch/cfa_thrd.c -DBENCH_N=50000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}58 59 ctxswitch-upp_coroutine$(EXEEXT):60 u++ ctxswitch/upp_cor.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}61 62 ctxswitch-upp_thread$(EXEEXT):63 u++ ctxswitch/upp_thrd.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}64 65 ctxswitch-pthread$(EXEEXT):66 @BACKEND_CC@ ctxswitch/pthreads.c -DBENCH_N=50000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}67 68 ## =========================================================================================================69 mutex$(EXEEXT) :\70 mutex-function.run \71 mutex-pthread_lock.run \72 mutex-upp.run \73 mutex-cfa1.run \74 mutex-cfa2.run \75 mutex-cfa4.run76 77 mutex-function$(EXEEXT):78 @BACKEND_CC@ mutex/function.c -DBENCH_N=500000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}79 80 mutex-pthread_lock$(EXEEXT):81 @BACKEND_CC@ mutex/pthreads.c -DBENCH_N=50000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}82 83 mutex-upp$(EXEEXT):84 u++ mutex/upp.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}85 86 mutex-cfa1$(EXEEXT):87 ${CC} mutex/cfa1.c -DBENCH_N=5000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}88 89 mutex-cfa2$(EXEEXT):90 ${CC} mutex/cfa2.c -DBENCH_N=5000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}91 92 mutex-cfa4$(EXEEXT):93 ${CC} mutex/cfa4.c -DBENCH_N=5000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}94 95 ## =========================================================================================================96 signal$(EXEEXT) :\97 signal-upp.run \98 signal-cfa1.run \99 signal-cfa2.run \100 signal-cfa4.run101 102 signal-upp$(EXEEXT):103 u++ schedint/upp.cc -DBENCH_N=5000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}104 105 signal-cfa1$(EXEEXT):106 ${CC} schedint/cfa1.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}107 108 signal-cfa2$(EXEEXT):109 ${CC} schedint/cfa2.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}110 111 signal-cfa4$(EXEEXT):112 ${CC} schedint/cfa4.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}113 114 ## =========================================================================================================115 waitfor$(EXEEXT) :\116 waitfor-upp.run \117 waitfor-cfa1.run \118 waitfor-cfa2.run \119 waitfor-cfa4.run120 121 waitfor-upp$(EXEEXT):122 u++ schedext/upp.cc -DBENCH_N=5000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}123 124 waitfor-cfa1$(EXEEXT):125 ${CC} schedext/cfa1.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}126 127 waitfor-cfa2$(EXEEXT):128 ${CC} schedext/cfa2.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}129 130 waitfor-cfa4$(EXEEXT):131 ${CC} schedext/cfa4.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}132 133 ## =========================================================================================================134 creation$(EXEEXT) :\135 creation-pthread.run \136 creation-cfa_coroutine.run \137 creation-cfa_coroutine_eager.run \138 creation-cfa_thread.run \139 creation-upp_coroutine.run \140 creation-upp_thread.run141 142 creation-cfa_coroutine$(EXEEXT):143 ${CC} creation/cfa_cor.c -DBENCH_N=10000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}144 145 creation-cfa_coroutine_eager$(EXEEXT):146 ${CC} creation/cfa_cor.c -DBENCH_N=10000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} -DEAGER147 148 creation-cfa_thread$(EXEEXT):149 ${CC} creation/cfa_thrd.c -DBENCH_N=10000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}150 151 creation-upp_coroutine$(EXEEXT):152 u++ creation/upp_cor.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}153 154 creation-upp_thread$(EXEEXT):155 u++ creation/upp_thrd.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}156 157 creation-pthread$(EXEEXT):158 @BACKEND_CC@ creation/pthreads.c -DBENCH_N=250000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}159 160 ## =========================================================================================================161 33 162 34 %.run : %$(EXEEXT) ${REPEAT} … … 169 41 @rm -f a.out .result.log 170 42 43 %.runquiet : 44 @+make $(basename $@) 45 @./a.out 46 @rm -f a.out 47 48 %.make : 49 @printf "${PRINT_FORMAT}" $(basename $(subst compile-,,$@)) 50 @+/usr/bin/time -f ${TIME_FORMAT} make $(basename $@) 2>&1 51 171 52 ${REPEAT} : 172 53 @+make -C ${TOOLSDIR} repeat 54 55 ## ========================================================================================================= 56 57 jenkins$(EXEEXT): 58 @echo "{" 59 @echo -e '\t"githash": "'${githash}'",' 60 @echo -e '\t"arch": "' ${arch} '",' 61 @echo -e '\t"compile": {' 62 @+make compile TIME_FORMAT='%e,' PRINT_FORMAT='\t\t\"%s\" :' 63 @echo -e '\t\t"dummy" : {}' 64 @echo -e '\t},' 65 @echo -e '\t"ctxswitch": {' 66 @echo -en '\t\t"coroutine":' 67 @+make ctxswitch-cfa_coroutine.runquiet 68 @echo -en '\t\t,"thread":' 69 @+make ctxswitch-cfa_thread.runquiet 70 @echo -e '\t},' 71 @echo -e '\t"mutex": [' 72 @echo -en '\t\t' 73 @+make mutex-cfa1.runquiet 74 @echo -en '\t\t,' 75 @+make mutex-cfa2.runquiet 76 @echo -e '\t],' 77 @echo -e '\t"scheduling": [' 78 @echo -en '\t\t' 79 @+make signal-cfa1.runquiet 80 @echo -en '\t\t,' 81 @+make signal-cfa2.runquiet 82 @echo -en '\t\t,' 83 @+make waitfor-cfa1.runquiet 84 @echo -en '\t\t,' 85 @+make waitfor-cfa2.runquiet 86 @echo -e '\n\t],' 87 @echo -e '\t"epoch": ' $(shell date +%s) 88 @echo "}" 89 90 ## ========================================================================================================= 91 ctxswitch$(EXEEXT): \ 92 ctxswitch-pthread.run \ 93 ctxswitch-cfa_coroutine.run \ 94 ctxswitch-cfa_thread.run \ 95 ctxswitch-upp_coroutine.run \ 96 ctxswitch-upp_thread.run 97 98 ctxswitch-cfa_coroutine$(EXEEXT): 99 @${CC} ctxswitch/cfa_cor.c -DBENCH_N=50000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 100 101 ctxswitch-cfa_thread$(EXEEXT): 102 @${CC} ctxswitch/cfa_thrd.c -DBENCH_N=50000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 103 104 ctxswitch-upp_coroutine$(EXEEXT): 105 @u++ ctxswitch/upp_cor.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags} 106 107 ctxswitch-upp_thread$(EXEEXT): 108 @u++ ctxswitch/upp_thrd.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags} 109 110 ctxswitch-pthread$(EXEEXT): 111 @@BACKEND_CC@ ctxswitch/pthreads.c -DBENCH_N=50000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags} 112 113 ## ========================================================================================================= 114 mutex$(EXEEXT) :\ 115 mutex-function.run \ 116 mutex-pthread_lock.run \ 117 mutex-upp.run \ 118 mutex-cfa1.run \ 119 mutex-cfa2.run \ 120 mutex-cfa4.run 121 122 mutex-function$(EXEEXT): 123 @@BACKEND_CC@ mutex/function.c -DBENCH_N=500000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags} 124 125 mutex-pthread_lock$(EXEEXT): 126 @@BACKEND_CC@ mutex/pthreads.c -DBENCH_N=50000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags} 127 128 mutex-upp$(EXEEXT): 129 @u++ mutex/upp.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags} 130 131 mutex-cfa1$(EXEEXT): 132 @${CC} mutex/cfa1.c -DBENCH_N=5000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 133 134 mutex-cfa2$(EXEEXT): 135 @${CC} mutex/cfa2.c -DBENCH_N=5000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 136 137 mutex-cfa4$(EXEEXT): 138 @${CC} mutex/cfa4.c -DBENCH_N=5000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 139 140 ## ========================================================================================================= 141 signal$(EXEEXT) :\ 142 signal-upp.run \ 143 signal-cfa1.run \ 144 signal-cfa2.run \ 145 signal-cfa4.run 146 147 signal-upp$(EXEEXT): 148 @u++ schedint/upp.cc -DBENCH_N=5000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags} 149 150 signal-cfa1$(EXEEXT): 151 @${CC} schedint/cfa1.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 152 153 signal-cfa2$(EXEEXT): 154 @${CC} schedint/cfa2.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 155 156 signal-cfa4$(EXEEXT): 157 @${CC} schedint/cfa4.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 158 159 ## ========================================================================================================= 160 waitfor$(EXEEXT) :\ 161 waitfor-upp.run \ 162 waitfor-cfa1.run \ 163 waitfor-cfa2.run \ 164 waitfor-cfa4.run 165 166 waitfor-upp$(EXEEXT): 167 @u++ schedext/upp.cc -DBENCH_N=5000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags} 168 169 waitfor-cfa1$(EXEEXT): 170 @${CC} schedext/cfa1.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 171 172 waitfor-cfa2$(EXEEXT): 173 @${CC} schedext/cfa2.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 174 175 waitfor-cfa4$(EXEEXT): 176 @${CC} schedext/cfa4.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 177 178 ## ========================================================================================================= 179 creation$(EXEEXT) :\ 180 creation-pthread.run \ 181 creation-cfa_coroutine.run \ 182 creation-cfa_coroutine_eager.run \ 183 creation-cfa_thread.run \ 184 creation-upp_coroutine.run \ 185 creation-upp_thread.run 186 187 creation-cfa_coroutine$(EXEEXT): 188 @${CC} creation/cfa_cor.c -DBENCH_N=10000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 189 190 creation-cfa_coroutine_eager$(EXEEXT): 191 @${CC} creation/cfa_cor.c -DBENCH_N=10000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} -DEAGER 192 193 creation-cfa_thread$(EXEEXT): 194 @${CC} creation/cfa_thrd.c -DBENCH_N=10000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 195 196 creation-upp_coroutine$(EXEEXT): 197 @u++ creation/upp_cor.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags} 198 199 creation-upp_thread$(EXEEXT): 200 @u++ creation/upp_thrd.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags} 201 202 creation-pthread$(EXEEXT): 203 @@BACKEND_CC@ creation/pthreads.c -DBENCH_N=250000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags} 204 205 ## ========================================================================================================= 206 207 compile$(EXEEXT) :\ 208 compile-array.make \ 209 compile-attributes.make \ 210 compile-empty.make \ 211 compile-expression.make \ 212 compile-io.make \ 213 compile-monitor.make \ 214 compile-operators.make \ 215 compile-typeof.make 216 217 218 compile-array$(EXEEXT): 219 @${CC} -nodebug -quiet -fsyntax-only -w ../tests/array.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 220 221 compile-attributes$(EXEEXT): 222 @${CC} -nodebug -quiet -fsyntax-only -w ../tests/attributes.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 223 224 compile-empty$(EXEEXT): 225 @${CC} -nodebug -quiet -fsyntax-only -w compile/empty.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 226 227 compile-expression$(EXEEXT): 228 @${CC} -nodebug -quiet -fsyntax-only -w ../tests/expression.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 229 230 compile-io$(EXEEXT): 231 @${CC} -nodebug -quiet -fsyntax-only -w ../tests/io.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 232 233 compile-monitor$(EXEEXT): 234 @${CC} -nodebug -quiet -fsyntax-only -w ../tests/monitor.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 235 236 compile-operators$(EXEEXT): 237 @${CC} -nodebug -quiet -fsyntax-only -w ../tests/operators.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 238 239 compile-thread$(EXEEXT): 240 @${CC} -nodebug -quiet -fsyntax-only -w ../tests/thread.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 241 242 compile-typeof$(EXEEXT): 243 @${CC} -nodebug -quiet -fsyntax-only -w ../tests/typeof.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 244 -
src/benchmark/Makefile.in
r65d6de4 r9e1eabc 124 124 esac 125 125 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) 126 am__DIST_COMMON = $(srcdir)/Makefile.in 126 am__DIST_COMMON = $(srcdir)/Makefile.in compile 127 127 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 128 128 ACLOCAL = @ACLOCAL@ … … 253 253 STATS = ${TOOLSDIR}stat.py 254 254 repeats = 30 255 TIME_FORMAT = "%E" 256 PRINT_FORMAT = %20s: #Comments needed for spacing 255 257 all: all-am 256 258 … … 446 448 all : ctxswitch$(EXEEXT) mutex$(EXEEXT) signal$(EXEEXT) waitfor$(EXEEXT) creation$(EXEEXT) 447 449 448 bench$(EXEEXT) :449 @for ccflags in "-debug" "-nodebug"; do \450 echo ${CC} ${AM_CFLAGS} ${CFLAGS} ${ccflags} @CFA_FLAGS@ -lrt bench.c;\451 ${CC} ${AM_CFLAGS} ${CFLAGS} $${ccflags} -lrt bench.c;\452 ./a.out ; \453 done ; \454 rm -f ./a.out ;455 456 csv-data$(EXEEXT):457 @${CC} ${AM_CFLAGS} ${CFLAGS} ${ccflags} @CFA_FLAGS@ -nodebug -lrt -quiet -DN=50000000 csv-data.c458 @./a.out459 @rm -f ./a.out460 461 ctxswitch$(EXEEXT): \462 ctxswitch-pthread.run \463 ctxswitch-cfa_coroutine.run \464 ctxswitch-cfa_thread.run \465 ctxswitch-upp_coroutine.run \466 ctxswitch-upp_thread.run467 468 ctxswitch-cfa_coroutine$(EXEEXT):469 ${CC} ctxswitch/cfa_cor.c -DBENCH_N=50000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}470 471 ctxswitch-cfa_thread$(EXEEXT):472 ${CC} ctxswitch/cfa_thrd.c -DBENCH_N=50000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}473 474 ctxswitch-upp_coroutine$(EXEEXT):475 u++ ctxswitch/upp_cor.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}476 477 ctxswitch-upp_thread$(EXEEXT):478 u++ ctxswitch/upp_thrd.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}479 480 ctxswitch-pthread$(EXEEXT):481 @BACKEND_CC@ ctxswitch/pthreads.c -DBENCH_N=50000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}482 483 mutex$(EXEEXT) :\484 mutex-function.run \485 mutex-pthread_lock.run \486 mutex-upp.run \487 mutex-cfa1.run \488 mutex-cfa2.run \489 mutex-cfa4.run490 491 mutex-function$(EXEEXT):492 @BACKEND_CC@ mutex/function.c -DBENCH_N=500000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}493 494 mutex-pthread_lock$(EXEEXT):495 @BACKEND_CC@ mutex/pthreads.c -DBENCH_N=50000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}496 497 mutex-upp$(EXEEXT):498 u++ mutex/upp.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}499 500 mutex-cfa1$(EXEEXT):501 ${CC} mutex/cfa1.c -DBENCH_N=5000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}502 503 mutex-cfa2$(EXEEXT):504 ${CC} mutex/cfa2.c -DBENCH_N=5000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}505 506 mutex-cfa4$(EXEEXT):507 ${CC} mutex/cfa4.c -DBENCH_N=5000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}508 509 signal$(EXEEXT) :\510 signal-upp.run \511 signal-cfa1.run \512 signal-cfa2.run \513 signal-cfa4.run514 515 signal-upp$(EXEEXT):516 u++ schedint/upp.cc -DBENCH_N=5000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}517 518 signal-cfa1$(EXEEXT):519 ${CC} schedint/cfa1.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}520 521 signal-cfa2$(EXEEXT):522 ${CC} schedint/cfa2.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}523 524 signal-cfa4$(EXEEXT):525 ${CC} schedint/cfa4.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}526 527 waitfor$(EXEEXT) :\528 waitfor-upp.run \529 waitfor-cfa1.run \530 waitfor-cfa2.run \531 waitfor-cfa4.run532 533 waitfor-upp$(EXEEXT):534 u++ schedext/upp.cc -DBENCH_N=5000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}535 536 waitfor-cfa1$(EXEEXT):537 ${CC} schedext/cfa1.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}538 539 waitfor-cfa2$(EXEEXT):540 ${CC} schedext/cfa2.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}541 542 waitfor-cfa4$(EXEEXT):543 ${CC} schedext/cfa4.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}544 545 creation$(EXEEXT) :\546 creation-pthread.run \547 creation-cfa_coroutine.run \548 creation-cfa_coroutine_eager.run \549 creation-cfa_thread.run \550 creation-upp_coroutine.run \551 creation-upp_thread.run552 553 creation-cfa_coroutine$(EXEEXT):554 ${CC} creation/cfa_cor.c -DBENCH_N=10000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}555 556 creation-cfa_coroutine_eager$(EXEEXT):557 ${CC} creation/cfa_cor.c -DBENCH_N=10000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} -DEAGER558 559 creation-cfa_thread$(EXEEXT):560 ${CC} creation/cfa_thrd.c -DBENCH_N=10000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}561 562 creation-upp_coroutine$(EXEEXT):563 u++ creation/upp_cor.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}564 565 creation-upp_thread$(EXEEXT):566 u++ creation/upp_thrd.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags}567 568 creation-pthread$(EXEEXT):569 @BACKEND_CC@ creation/pthreads.c -DBENCH_N=250000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}570 571 450 %.run : %$(EXEEXT) ${REPEAT} 572 451 @rm -f .result.log … … 578 457 @rm -f a.out .result.log 579 458 459 %.runquiet : 460 @+make $(basename $@) 461 @./a.out 462 @rm -f a.out 463 464 %.make : 465 @printf "${PRINT_FORMAT}" $(basename $(subst compile-,,$@)) 466 @+/usr/bin/time -f ${TIME_FORMAT} make $(basename $@) 2>&1 467 580 468 ${REPEAT} : 581 469 @+make -C ${TOOLSDIR} repeat 470 471 jenkins$(EXEEXT): 472 @echo "{" 473 @echo -e '\t"githash": "'${githash}'",' 474 @echo -e '\t"arch": "' ${arch} '",' 475 @echo -e '\t"compile": {' 476 @+make compile TIME_FORMAT='%e,' PRINT_FORMAT='\t\t\"%s\" :' 477 @echo -e '\t\t"dummy" : {}' 478 @echo -e '\t},' 479 @echo -e '\t"ctxswitch": {' 480 @echo -en '\t\t"coroutine":' 481 @+make ctxswitch-cfa_coroutine.runquiet 482 @echo -en '\t\t,"thread":' 483 @+make ctxswitch-cfa_thread.runquiet 484 @echo -e '\t},' 485 @echo -e '\t"mutex": [' 486 @echo -en '\t\t' 487 @+make mutex-cfa1.runquiet 488 @echo -en '\t\t,' 489 @+make mutex-cfa2.runquiet 490 @echo -e '\t],' 491 @echo -e '\t"scheduling": [' 492 @echo -en '\t\t' 493 @+make signal-cfa1.runquiet 494 @echo -en '\t\t,' 495 @+make signal-cfa2.runquiet 496 @echo -en '\t\t,' 497 @+make waitfor-cfa1.runquiet 498 @echo -en '\t\t,' 499 @+make waitfor-cfa2.runquiet 500 @echo -e '\n\t],' 501 @echo -e '\t"epoch": ' $(shell date +%s) 502 @echo "}" 503 504 ctxswitch$(EXEEXT): \ 505 ctxswitch-pthread.run \ 506 ctxswitch-cfa_coroutine.run \ 507 ctxswitch-cfa_thread.run \ 508 ctxswitch-upp_coroutine.run \ 509 ctxswitch-upp_thread.run 510 511 ctxswitch-cfa_coroutine$(EXEEXT): 512 @${CC} ctxswitch/cfa_cor.c -DBENCH_N=50000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 513 514 ctxswitch-cfa_thread$(EXEEXT): 515 @${CC} ctxswitch/cfa_thrd.c -DBENCH_N=50000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 516 517 ctxswitch-upp_coroutine$(EXEEXT): 518 @u++ ctxswitch/upp_cor.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags} 519 520 ctxswitch-upp_thread$(EXEEXT): 521 @u++ ctxswitch/upp_thrd.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags} 522 523 ctxswitch-pthread$(EXEEXT): 524 @@BACKEND_CC@ ctxswitch/pthreads.c -DBENCH_N=50000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags} 525 526 mutex$(EXEEXT) :\ 527 mutex-function.run \ 528 mutex-pthread_lock.run \ 529 mutex-upp.run \ 530 mutex-cfa1.run \ 531 mutex-cfa2.run \ 532 mutex-cfa4.run 533 534 mutex-function$(EXEEXT): 535 @@BACKEND_CC@ mutex/function.c -DBENCH_N=500000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags} 536 537 mutex-pthread_lock$(EXEEXT): 538 @@BACKEND_CC@ mutex/pthreads.c -DBENCH_N=50000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags} 539 540 mutex-upp$(EXEEXT): 541 @u++ mutex/upp.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags} 542 543 mutex-cfa1$(EXEEXT): 544 @${CC} mutex/cfa1.c -DBENCH_N=5000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 545 546 mutex-cfa2$(EXEEXT): 547 @${CC} mutex/cfa2.c -DBENCH_N=5000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 548 549 mutex-cfa4$(EXEEXT): 550 @${CC} mutex/cfa4.c -DBENCH_N=5000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 551 552 signal$(EXEEXT) :\ 553 signal-upp.run \ 554 signal-cfa1.run \ 555 signal-cfa2.run \ 556 signal-cfa4.run 557 558 signal-upp$(EXEEXT): 559 @u++ schedint/upp.cc -DBENCH_N=5000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags} 560 561 signal-cfa1$(EXEEXT): 562 @${CC} schedint/cfa1.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 563 564 signal-cfa2$(EXEEXT): 565 @${CC} schedint/cfa2.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 566 567 signal-cfa4$(EXEEXT): 568 @${CC} schedint/cfa4.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 569 570 waitfor$(EXEEXT) :\ 571 waitfor-upp.run \ 572 waitfor-cfa1.run \ 573 waitfor-cfa2.run \ 574 waitfor-cfa4.run 575 576 waitfor-upp$(EXEEXT): 577 @u++ schedext/upp.cc -DBENCH_N=5000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags} 578 579 waitfor-cfa1$(EXEEXT): 580 @${CC} schedext/cfa1.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 581 582 waitfor-cfa2$(EXEEXT): 583 @${CC} schedext/cfa2.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 584 585 waitfor-cfa4$(EXEEXT): 586 @${CC} schedext/cfa4.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 587 588 creation$(EXEEXT) :\ 589 creation-pthread.run \ 590 creation-cfa_coroutine.run \ 591 creation-cfa_coroutine_eager.run \ 592 creation-cfa_thread.run \ 593 creation-upp_coroutine.run \ 594 creation-upp_thread.run 595 596 creation-cfa_coroutine$(EXEEXT): 597 @${CC} creation/cfa_cor.c -DBENCH_N=10000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 598 599 creation-cfa_coroutine_eager$(EXEEXT): 600 @${CC} creation/cfa_cor.c -DBENCH_N=10000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} -DEAGER 601 602 creation-cfa_thread$(EXEEXT): 603 @${CC} creation/cfa_thrd.c -DBENCH_N=10000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 604 605 creation-upp_coroutine$(EXEEXT): 606 @u++ creation/upp_cor.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags} 607 608 creation-upp_thread$(EXEEXT): 609 @u++ creation/upp_thrd.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags} 610 611 creation-pthread$(EXEEXT): 612 @@BACKEND_CC@ creation/pthreads.c -DBENCH_N=250000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags} 613 614 compile$(EXEEXT) :\ 615 compile-array.make \ 616 compile-attributes.make \ 617 compile-empty.make \ 618 compile-expression.make \ 619 compile-io.make \ 620 compile-monitor.make \ 621 compile-operators.make \ 622 compile-typeof.make 623 624 compile-array$(EXEEXT): 625 @${CC} -nodebug -quiet -fsyntax-only -w ../tests/array.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 626 627 compile-attributes$(EXEEXT): 628 @${CC} -nodebug -quiet -fsyntax-only -w ../tests/attributes.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 629 630 compile-empty$(EXEEXT): 631 @${CC} -nodebug -quiet -fsyntax-only -w compile/empty.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 632 633 compile-expression$(EXEEXT): 634 @${CC} -nodebug -quiet -fsyntax-only -w ../tests/expression.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 635 636 compile-io$(EXEEXT): 637 @${CC} -nodebug -quiet -fsyntax-only -w ../tests/io.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 638 639 compile-monitor$(EXEEXT): 640 @${CC} -nodebug -quiet -fsyntax-only -w ../tests/monitor.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 641 642 compile-operators$(EXEEXT): 643 @${CC} -nodebug -quiet -fsyntax-only -w ../tests/operators.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 644 645 compile-thread$(EXEEXT): 646 @${CC} -nodebug -quiet -fsyntax-only -w ../tests/thread.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 647 648 compile-typeof$(EXEEXT): 649 @${CC} -nodebug -quiet -fsyntax-only -w ../tests/typeof.c @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} 582 650 583 651 # Tell versions [3.59,3.63) of GNU make to not export all variables. -
src/main.cc
r65d6de4 r9e1eabc 206 206 FILE * extras = fopen( libcfap | treep ? "../prelude/extras.cf" : CFA_LIBDIR "/extras.cf", "r" ); 207 207 assertf( extras, "cannot open extras.cf\n" ); 208 parse( extras, LinkageSpec:: C );208 parse( extras, LinkageSpec::BuiltinC ); 209 209 210 210 if ( ! libcfap ) { -
src/tests/.expect/32/KRfunctions.txt
r65d6de4 r9e1eabc 1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned int __size);2 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signed int atexit(void (*__func)(void));5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(signed int __status);6 extern signed int printf(const char *__restrict __format, ...);7 1 signed int __f0__Fi_iPCii__1(signed int __a__i_1, const signed int *__b__PCi_1, signed int __c__i_1){ 8 2 __attribute__ ((unused)) signed int ___retval_f0__i_1; -
src/tests/.expect/32/attributes.txt
r65d6de4 r9e1eabc 1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned int __size);2 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signed int atexit(void (*__func)(void));5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(signed int __status);6 extern signed int printf(const char *__restrict __format, ...);7 1 signed int __la__Fi___1(){ 8 2 __attribute__ ((unused)) signed int ___retval_la__i_1; -
src/tests/.expect/32/declarationSpecifier.txt
r65d6de4 r9e1eabc 1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned int __size);2 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signed int atexit(void (*__func)(void));5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(signed int __status);6 extern signed int printf(const char *__restrict __format, ...);7 1 volatile const signed short int __x1__CVs_1; 8 2 static volatile const signed short int __x2__CVs_1; … … 701 695 } 702 696 static inline int invoke_main(int argc, char* argv[], char* envp[]) { (void)argc; (void)argv; (void)envp; return __main__Fi_iPPCc__1(argc, argv); } 703 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned int __size);704 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);705 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);706 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signed int atexit(void (*__func)(void));707 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(signed int __status);708 extern signed int printf(const char *__restrict __format, ...);709 697 static inline signed int invoke_main(signed int argc, char **argv, char **envp); 710 698 signed int main(signed int __argc__i_1, char **__argv__PPc_1, char **__envp__PPc_1){ -
src/tests/.expect/32/extension.txt
r65d6de4 r9e1eabc 1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned int __size);2 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signed int atexit(void (*__func)(void));5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(signed int __status);6 extern signed int printf(const char *__restrict __format, ...);7 1 __extension__ signed int __a__i_1; 8 2 __extension__ signed int __b__i_1; -
src/tests/.expect/32/gccExtensions.txt
r65d6de4 r9e1eabc 1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned int __size);2 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signed int atexit(void (*__func)(void));5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(signed int __status);6 extern signed int printf(const char *__restrict __format, ...);7 1 extern signed int __x__i_1 asm ( "xx" ); 8 2 signed int __main__Fi_iPPCc__1(signed int __argc__i_1, const char **__argv__PPCc_1){ … … 174 168 } 175 169 static inline int invoke_main(int argc, char* argv[], char* envp[]) { (void)argc; (void)argv; (void)envp; return __main__Fi_iPPCc__1(argc, argv); } 176 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned int __size);177 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);178 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);179 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signed int atexit(void (*__func)(void));180 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(signed int __status);181 extern signed int printf(const char *__restrict __format, ...);182 170 static inline signed int invoke_main(signed int argc, char **argv, char **envp); 183 171 signed int main(signed int __argc__i_1, char **__argv__PPc_1, char **__envp__PPc_1){ -
src/tests/.expect/32/literals.txt
r65d6de4 r9e1eabc 1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned int __size);2 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signed int atexit(void (*__func)(void));5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(signed int __status);6 extern signed int printf(const char *__restrict __format, ...);7 1 void __for_each__A0_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 2 void __for_each_reverse__A0_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)); … … 1377 1371 } 1378 1372 static inline int invoke_main(int argc, char* argv[], char* envp[]) { (void)argc; (void)argv; (void)envp; return __main__Fi___1(); } 1379 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned int __size);1380 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);1381 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);1382 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signed int atexit(void (*__func)(void));1383 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(signed int __status);1384 extern signed int printf(const char *__restrict __format, ...);1385 1373 static inline signed int invoke_main(signed int argc, char **argv, char **envp); 1386 1374 signed int main(signed int __argc__i_1, char **__argv__PPc_1, char **__envp__PPc_1){ -
src/tests/.expect/64/KRfunctions.txt
r65d6de4 r9e1eabc 1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned long int __size);2 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signed int atexit(void (*__func)(void));5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(signed int __status);6 extern signed int printf(const char *__restrict __format, ...);7 1 signed int __f0__Fi_iPCii__1(signed int __a__i_1, const signed int *__b__PCi_1, signed int __c__i_1){ 8 2 __attribute__ ((unused)) signed int ___retval_f0__i_1; -
src/tests/.expect/64/attributes.txt
r65d6de4 r9e1eabc 1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned long int __size);2 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signed int atexit(void (*__func)(void));5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(signed int __status);6 extern signed int printf(const char *__restrict __format, ...);7 1 signed int __la__Fi___1(){ 8 2 __attribute__ ((unused)) signed int ___retval_la__i_1; -
src/tests/.expect/64/declarationSpecifier.txt
r65d6de4 r9e1eabc 1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned long int __size);2 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signed int atexit(void (*__func)(void));5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(signed int __status);6 extern signed int printf(const char *__restrict __format, ...);7 1 volatile const signed short int __x1__CVs_1; 8 2 static volatile const signed short int __x2__CVs_1; … … 701 695 } 702 696 static inline int invoke_main(int argc, char* argv[], char* envp[]) { (void)argc; (void)argv; (void)envp; return __main__Fi_iPPCc__1(argc, argv); } 703 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned long int __size);704 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);705 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);706 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signed int atexit(void (*__func)(void));707 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(signed int __status);708 extern signed int printf(const char *__restrict __format, ...);709 697 static inline signed int invoke_main(signed int argc, char **argv, char **envp); 710 698 signed int main(signed int __argc__i_1, char **__argv__PPc_1, char **__envp__PPc_1){ -
src/tests/.expect/64/extension.txt
r65d6de4 r9e1eabc 1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned long int __size);2 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signed int atexit(void (*__func)(void));5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(signed int __status);6 extern signed int printf(const char *__restrict __format, ...);7 1 __extension__ signed int __a__i_1; 8 2 __extension__ signed int __b__i_1; -
src/tests/.expect/64/gccExtensions.txt
r65d6de4 r9e1eabc 1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned long int __size);2 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signed int atexit(void (*__func)(void));5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(signed int __status);6 extern signed int printf(const char *__restrict __format, ...);7 1 extern signed int __x__i_1 asm ( "xx" ); 8 2 signed int __main__Fi_iPPCc__1(signed int __argc__i_1, const char **__argv__PPCc_1){ … … 174 168 } 175 169 static inline int invoke_main(int argc, char* argv[], char* envp[]) { (void)argc; (void)argv; (void)envp; return __main__Fi_iPPCc__1(argc, argv); } 176 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned long int __size);177 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);178 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);179 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signed int atexit(void (*__func)(void));180 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(signed int __status);181 extern signed int printf(const char *__restrict __format, ...);182 170 static inline signed int invoke_main(signed int argc, char **argv, char **envp); 183 171 signed int main(signed int __argc__i_1, char **__argv__PPc_1, char **__envp__PPc_1){ -
src/tests/.expect/64/literals.txt
r65d6de4 r9e1eabc 1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned long int __size);2 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signed int atexit(void (*__func)(void));5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(signed int __status);6 extern signed int printf(const char *__restrict __format, ...);7 1 void __for_each__A0_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 2 void __for_each_reverse__A0_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)); … … 1377 1371 } 1378 1372 static inline int invoke_main(int argc, char* argv[], char* envp[]) { (void)argc; (void)argv; (void)envp; return __main__Fi___1(); } 1379 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned long int __size);1380 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);1381 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);1382 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signed int atexit(void (*__func)(void));1383 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(signed int __status);1384 extern signed int printf(const char *__restrict __format, ...);1385 1373 static inline signed int invoke_main(signed int argc, char **argv, char **envp); 1386 1374 signed int main(signed int __argc__i_1, char **__argv__PPc_1, char **__envp__PPc_1){
Note: See TracChangeset
for help on using the changeset viewer.