- Timestamp:
- Aug 6, 2018, 9:02:25 AM (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, no_list, persistent-indexer, pthread-emulation, qualifiedEnum
- Children:
- f47d0ad
- Parents:
- 364d70c (diff), f271bdd (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:
-
- 4 added
- 24 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Makefile.am
r364d70c r4084928e 42 42 43 43 # put into lib for now 44 cfa_cpplibdir = $ {CFA_LIBDIR}44 cfa_cpplibdir = $(CFA_LIBDIR) 45 45 cfa_cpplib_PROGRAMS = driver/cfa-cpp demangler 46 46 47 driver_cfa_cpp_SOURCES = $ {SRC}47 driver_cfa_cpp_SOURCES = $(SRC) 48 48 driver_cfa_cpp_LDADD = -ldl # yywrap 49 driver_cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -Wextra -DDEBUG_ALL -I./Parser -I$ {abs_top_srcdir}/src/Parser -I${abs_top_srcdir}/src/include -DYY_NO_INPUT -O2 -g -std=c++1449 driver_cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -Wextra -DDEBUG_ALL -I./Parser -I$(srcdir)/Parser -I$(srcdir)/include -DYY_NO_INPUT -O2 -g -std=c++14 50 50 driver_cfa_cpp_LDFLAGS = -Xlinker -export-dynamic 51 51 -
src/Makefile.in
r364d70c r4084928e 474 474 AWK = @AWK@ 475 475 BACKEND_CC = @BACKEND_CC@ 476 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 477 BUILD_IN_TREE_FLAGS_NOLIB = @BUILD_IN_TREE_FLAGS_NOLIB@ 476 478 CC = @CC@ 477 479 CCAS = @CCAS@ … … 479 481 CCASFLAGS = @CCASFLAGS@ 480 482 CCDEPMODE = @CCDEPMODE@ 483 CFACC = @CFACC@ 484 CFACPP = @CFACPP@ 481 485 CFA_BACKEND_CC = @CFA_BACKEND_CC@ 482 486 CFA_BINDIR = @CFA_BINDIR@ … … 495 499 DEFS = @DEFS@ 496 500 DEPDIR = @DEPDIR@ 501 DRIVER_DIR = @DRIVER_DIR@ 497 502 ECHO_C = @ECHO_C@ 498 503 ECHO_N = @ECHO_N@ … … 646 651 647 652 # put into lib for now 648 cfa_cpplibdir = $ {CFA_LIBDIR}649 driver_cfa_cpp_SOURCES = $ {SRC}653 cfa_cpplibdir = $(CFA_LIBDIR) 654 driver_cfa_cpp_SOURCES = $(SRC) 650 655 driver_cfa_cpp_LDADD = -ldl # yywrap 651 driver_cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -Wextra -DDEBUG_ALL -I./Parser -I$ {abs_top_srcdir}/src/Parser -I${abs_top_srcdir}/src/include -DYY_NO_INPUT -O2 -g -std=c++14656 driver_cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -Wextra -DDEBUG_ALL -I./Parser -I$(srcdir)/Parser -I$(srcdir)/include -DYY_NO_INPUT -O2 -g -std=c++14 652 657 driver_cfa_cpp_LDFLAGS = -Xlinker -export-dynamic 653 658 demangler_SOURCES = SymTab/demangler.cc -
src/Parser/ParseNode.h
r364d70c r4084928e 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Jul 20 14:56:30 201813 // Update Count : 85 012 // Last Modified On : Sat Aug 4 09:39:40 2018 13 // Update Count : 853 14 14 // 15 15 … … 132 132 void printOneLine( __attribute__((unused)) std::ostream & os, __attribute__((unused)) int indent = 0 ) const {} 133 133 134 Expression *get_expr() const { return expr.get(); } 134 135 template<typename T> 135 136 bool isExpressionType() const { return nullptr != dynamic_cast<T>(expr.get()); } … … 390 391 Statement * build_expr( ExpressionNode * ctl ); 391 392 392 struct IfCt l {393 IfCt l( DeclarationNode * decl, ExpressionNode * condition ) :393 struct IfCtrl { 394 IfCtrl( DeclarationNode * decl, ExpressionNode * condition ) : 394 395 init( decl ? new StatementNode( decl ) : nullptr ), condition( condition ) {} 395 396 … … 398 399 }; 399 400 400 struct ForCt l {401 ForCt l( ExpressionNode * expr, ExpressionNode * condition, ExpressionNode * change ) :401 struct ForCtrl { 402 ForCtrl( ExpressionNode * expr, ExpressionNode * condition, ExpressionNode * change ) : 402 403 init( new StatementNode( build_expr( expr ) ) ), condition( condition ), change( change ) {} 403 ForCt l( DeclarationNode * decl, ExpressionNode * condition, ExpressionNode * change ) :404 ForCtrl( DeclarationNode * decl, ExpressionNode * condition, ExpressionNode * change ) : 404 405 init( new StatementNode( decl ) ), condition( condition ), change( change ) {} 405 406 … … 409 410 }; 410 411 411 Expression * build_if_control( IfCt l * ctl, std::list< Statement * > & init );412 Statement * build_if( IfCt l * ctl, StatementNode * then_stmt, StatementNode * else_stmt );412 Expression * build_if_control( IfCtrl * ctl, std::list< Statement * > & init ); 413 Statement * build_if( IfCtrl * ctl, StatementNode * then_stmt, StatementNode * else_stmt ); 413 414 Statement * build_switch( bool isSwitch, ExpressionNode * ctl, StatementNode * stmt ); 414 415 Statement * build_case( ExpressionNode * ctl ); 415 416 Statement * build_default(); 416 Statement * build_while( IfCt l * ctl, StatementNode * stmt );417 Statement * build_while( IfCtrl * ctl, StatementNode * stmt ); 417 418 Statement * build_do_while( ExpressionNode * ctl, StatementNode * stmt ); 418 Statement * build_for( ForCt l * forctl, StatementNode * stmt );419 Statement * build_for( ForCtrl * forctl, StatementNode * stmt ); 419 420 Statement * build_branch( BranchStmt::Type kind ); 420 421 Statement * build_branch( std::string * identifier, BranchStmt::Type kind ); -
src/Parser/StatementNode.cc
r364d70c r4084928e 10 10 // Created On : Sat May 16 14:59:41 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Jun 5 08:58:34201813 // Update Count : 36 212 // Last Modified On : Sat Aug 4 09:39:25 2018 13 // Update Count : 363 14 14 // 15 15 … … 78 78 } // build_expr 79 79 80 Expression * build_if_control( IfCt l * ctl, std::list< Statement * > & init ) {80 Expression * build_if_control( IfCtrl * ctl, std::list< Statement * > & init ) { 81 81 if ( ctl->init != 0 ) { 82 82 buildMoveList( ctl->init, init ); … … 100 100 } // build_if_control 101 101 102 Statement * build_if( IfCt l * ctl, StatementNode * then_stmt, StatementNode * else_stmt ) {102 Statement * build_if( IfCtrl * ctl, StatementNode * then_stmt, StatementNode * else_stmt ) { 103 103 Statement * thenb, * elseb = nullptr; 104 104 std::list< Statement * > branches; … … 145 145 } // build_default 146 146 147 Statement * build_while( IfCt l * ctl, StatementNode * stmt ) {147 Statement * build_while( IfCtrl * ctl, StatementNode * stmt ) { 148 148 std::list< Statement * > branches; 149 149 buildMoveList< Statement, StatementNode >( stmt, branches ); … … 164 164 } // build_do_while 165 165 166 Statement * build_for( ForCt l * forctl, StatementNode * stmt ) {166 Statement * build_for( ForCtrl * forctl, StatementNode * stmt ) { 167 167 std::list< Statement * > branches; 168 168 buildMoveList< Statement, StatementNode >( stmt, branches ); -
src/Parser/parser.yy
r364d70c r4084928e 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jul 25 15:54:35201813 // Update Count : 3 84112 // Last Modified On : Sat Aug 4 09:38:36 2018 13 // Update Count : 3986 14 14 // 15 15 … … 186 186 } // fieldDecl 187 187 188 ForCtrl * forCtrl( ExpressionNode * type, string * index, ExpressionNode * start, ExpressionNode * comp, ExpressionNode * inc ) { 189 return new ForCtrl( 190 distAttr( DeclarationNode::newTypeof( type ), DeclarationNode::newName( index )->addInitializer( new InitializerNode( start ) ) ), 191 new ExpressionNode( build_binary_val( OperKinds::LThan, new ExpressionNode( build_varref( new string( *index ) ) ), comp ) ), 192 new ExpressionNode( build_binary_val( OperKinds::PlusAssn, new ExpressionNode( build_varref( new string( *index ) ) ), inc ) ) ); 193 } // forCtrl 194 195 188 196 bool forall = false, yyy = false; // aggregate have one or more forall qualifiers ? 189 197 … … 217 225 WaitForStmt * wfs; 218 226 Expression * constant; 219 IfCt l * ifctl;220 ForCt l * fctl;227 IfCtrl * ifctl; 228 ForCtrl * fctl; 221 229 LabelNode * label; 222 230 InitializerNode * in; … … 1049 1057 if_control_expression: 1050 1058 comma_expression 1051 { $$ = new IfCt l( nullptr, $1 ); }1059 { $$ = new IfCtrl( nullptr, $1 ); } 1052 1060 | c_declaration // no semi-colon 1053 { $$ = new IfCt l( $1, nullptr ); }1061 { $$ = new IfCtrl( $1, nullptr ); } 1054 1062 | cfa_declaration // no semi-colon 1055 { $$ = new IfCt l( $1, nullptr ); }1063 { $$ = new IfCtrl( $1, nullptr ); } 1056 1064 | declaration comma_expression // semi-colon separated 1057 { $$ = new IfCt l( $1, $2 ); }1065 { $$ = new IfCtrl( $1, $2 ); } 1058 1066 ; 1059 1067 … … 1111 1119 WHILE '(' push if_control_expression ')' statement pop 1112 1120 { $$ = new StatementNode( build_while( $4, $6 ) ); } 1121 | WHILE '(' ')' statement // CFA => while ( 1 ) 1122 { $$ = new StatementNode( build_while( new IfCtrl( nullptr, new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ), $4 ) ); } 1113 1123 | DO statement WHILE '(' comma_expression ')' ';' 1114 1124 { $$ = new StatementNode( build_do_while( $5, $2 ) ); } 1125 | DO statement WHILE '(' ')' ';' // CFA => do while( 1 ) 1126 { $$ = new StatementNode( build_do_while( new ExpressionNode( build_constantInteger( *new string( "1" ) ) ), $2 ) ); } 1115 1127 | FOR '(' push for_control_expression ')' statement pop 1116 1128 { $$ = new StatementNode( build_for( $4, $6 ) ); } … … 1118 1130 1119 1131 for_control_expression: 1120 comma_expression_opt ';' comma_expression_opt ';' comma_expression_opt 1121 { $$ = new ForCtl( $1, $3, $5 ); } 1122 | declaration comma_expression_opt ';' comma_expression_opt // C99 1123 { $$ = new ForCtl( $1, $2, $4 ); } 1132 comma_expression_opt // CFA 1133 { 1134 if ( ! $1 ) { // => for ( ;; ) 1135 $$ = new ForCtrl( (ExpressionNode * )nullptr, (ExpressionNode * )nullptr, (ExpressionNode * )nullptr ); 1136 } else { 1137 $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), new ExpressionNode( build_constantInteger( *new string( "0" ) ) ), $1->clone(), 1138 new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); 1139 } // if 1140 } 1141 | constant_expression '~' constant_expression // CFA 1142 { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), $1->clone(), $3, new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); } 1143 | constant_expression '~' constant_expression '~' constant_expression // CFA 1144 { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), $1->clone(), $3, $5 ); } 1145 | comma_expression_opt ';' comma_expression // CFA 1146 { 1147 if ( ! $1 ) { 1148 SemanticError( yylloc, "Missing loop index." ); $$ = nullptr; 1149 } else if ( ! $3 ) { 1150 SemanticError( yylloc, "Missing loop range." ); $$ = nullptr; 1151 } else { 1152 if ( NameExpr *identifier = dynamic_cast<NameExpr *>($1->get_expr()) ) { 1153 $$ = forCtrl( $3, new string( identifier->name ), new ExpressionNode( build_constantInteger( *new string( "0" ) ) ), $3->clone(), 1154 new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); 1155 } else { 1156 SemanticError( yylloc, "Expression disallowed. Only loop-index name allowed" ); $$ = nullptr; 1157 } // if 1158 } // if 1159 } 1160 | comma_expression_opt ';' constant_expression '~' constant_expression // CFA 1161 { 1162 if ( ! $1 ) { 1163 SemanticError( yylloc, "Missing loop index." ); $$ = nullptr; 1164 } else { 1165 if ( NameExpr *identifier = dynamic_cast<NameExpr *>($1->get_expr()) ) { 1166 $$ = forCtrl( $3, new string( identifier->name ), $3->clone(), $5, new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); 1167 } else { 1168 SemanticError( yylloc, "Expression disallowed. Only loop-index name allowed" ); $$ = nullptr; 1169 } // if 1170 } // if 1171 } 1172 | comma_expression_opt ';' constant_expression '~' constant_expression '~' constant_expression // CFA 1173 { 1174 if ( ! $1 ) { 1175 SemanticError( yylloc, "Missing loop index." ); $$ = nullptr; 1176 } else { 1177 if ( NameExpr *identifier = dynamic_cast<NameExpr *>($1->get_expr()) ) { 1178 $$ = forCtrl( $3, new string( identifier->name ), $3->clone(), $5, $7 ); 1179 } else { 1180 SemanticError( yylloc, "Expression disallowed. Only loop-index name allowed" ); $$ = nullptr; 1181 } // if 1182 } // if 1183 } 1184 | comma_expression_opt ';' comma_expression_opt ';' comma_expression_opt 1185 { $$ = new ForCtrl( $1, $3, $5 ); } 1186 | declaration comma_expression_opt ';' comma_expression_opt // C99, declaration has ';' 1187 { $$ = new ForCtrl( $1, $2, $4 ); } 1124 1188 ; 1125 1189 -
src/SymTab/Validate.cc
r364d70c r4084928e 738 738 forwardEnums.erase( fwds ); 739 739 } // if 740 741 for ( Declaration * member : enumDecl->members ) { 742 ObjectDecl * field = strict_dynamic_cast<ObjectDecl *>( member ); 743 if ( field->init ) { 744 // need to resolve enumerator initializers early so that other passes that determine if an expression is constexpr have the appropriate information. 745 SingleInit * init = strict_dynamic_cast<SingleInit *>( field->init ); 746 ResolvExpr::findSingleExpression( init->value, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), indexer ); 747 } 748 } 740 749 } // if 741 750 } -
src/SynTree/AggregateDecl.cc
r364d70c r4084928e 86 86 std::string TraitDecl::typeString() const { return "trait"; } 87 87 88 namespace {89 long long int getConstValue( Expression * expr ) {90 if ( CastExpr * castExpr = dynamic_cast< CastExpr * > ( expr ) ) {91 return getConstValue( castExpr->arg );92 } else if ( ConstantExpr * constExpr = dynamic_cast< ConstantExpr * >( expr ) ) {93 return constExpr->intValue();94 // can be -1, +1, etc.95 // } else if ( UntypedExpr * untypedExpr = dynamic_cast< UntypedExpr * >( expr ) ) {96 // if ( untypedExpr-> )97 } else {98 assertf( false, "Unhandled expression type in getConstValue for enumerators: %s", toString( expr ).c_str() );99 }100 }101 }102 103 88 bool EnumDecl::valueOf( Declaration * enumerator, long long int & value ) { 104 89 if ( enumValues.empty() ) { … … 108 93 if ( field->init ) { 109 94 SingleInit * init = strict_dynamic_cast< SingleInit * >( field->init ); 110 currentValue = getConstValue( init->value ); 95 auto result = eval( init->value ); 96 if ( ! result.second ) SemanticError( init->location, toString( "Non-constexpr in initialization of enumerator: ", field ) ); 97 currentValue = result.first; 111 98 } 112 99 assertf( enumValues.count( field->name ) == 0, "Enum %s has multiple members with the name %s", name.c_str(), field->name.c_str() ); -
src/benchmark/Makefile.am
r364d70c r4084928e 18 18 CFLAGS = 19 19 AM_CFLAGS = \ 20 -XCFA \21 -t \22 -B${abs_top_builddir}/src/driver \23 20 -g \ 24 21 -O2 \ … … 27 24 -quiet \ 28 25 -I$(srcdir) \ 29 -L${abs_top_builddir}/src/libcfa \ 30 -I${abs_top_srcdir}/src/libcfa \ 31 -I${abs_top_srcdir}/src/libcfa/containers \ 32 -I${abs_top_srcdir}/src/libcfa/concurrency \ 33 -I${abs_top_srcdir}/src/libcfa/stdhdr 34 35 CC = ${top_builddir}/src/driver/cfa 26 @BUILD_IN_TREE_FLAGS@ 27 28 CC = @CFACC@ 36 29 TOOLSDIR = ${abs_top_srcdir}/tools/ 37 30 REPEAT = ${TOOLSDIR}repeat -
src/benchmark/Makefile.in
r364d70c r4084928e 135 135 AWK = @AWK@ 136 136 BACKEND_CC = @BACKEND_CC@ 137 CC = ${top_builddir}/src/driver/cfa 137 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 138 BUILD_IN_TREE_FLAGS_NOLIB = @BUILD_IN_TREE_FLAGS_NOLIB@ 139 CC = @CFACC@ 138 140 CCAS = @CCAS@ 139 141 CCASDEPMODE = @CCASDEPMODE@ 140 142 CCASFLAGS = @CCASFLAGS@ 141 143 CCDEPMODE = @CCDEPMODE@ 144 CFACC = @CFACC@ 145 CFACPP = @CFACPP@ 142 146 CFA_BACKEND_CC = @CFA_BACKEND_CC@ 143 147 CFA_BINDIR = @CFA_BINDIR@ … … 158 162 DEFS = @DEFS@ 159 163 DEPDIR = @DEPDIR@ 164 DRIVER_DIR = @DRIVER_DIR@ 160 165 ECHO_C = @ECHO_C@ 161 166 ECHO_N = @ECHO_N@ … … 248 253 top_srcdir = @top_srcdir@ 249 254 AM_CFLAGS = \ 250 -XCFA \251 -t \252 -B${abs_top_builddir}/src/driver \253 255 -g \ 254 256 -O2 \ … … 257 259 -quiet \ 258 260 -I$(srcdir) \ 259 -L${abs_top_builddir}/src/libcfa \ 260 -I${abs_top_srcdir}/src/libcfa \ 261 -I${abs_top_srcdir}/src/libcfa/containers \ 262 -I${abs_top_srcdir}/src/libcfa/concurrency \ 263 -I${abs_top_srcdir}/src/libcfa/stdhdr 261 @BUILD_IN_TREE_FLAGS@ 264 262 265 263 TOOLSDIR = ${abs_top_srcdir}/tools/ -
src/driver/Makefile.am
r364d70c r4084928e 11 11 ## Created On : Sun May 31 08:49:31 2015 12 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Mon Apr 30 17:44:17201814 ## Update Count : 1 113 ## Last Modified On : Thu Aug 2 12:18:25 2018 14 ## Update Count : 14 15 15 ############################################################################### 16 16 … … 48 48 cc1_SOURCES = cc1.cc 49 49 50 aslibdir = ${CFA_LIBDIR} 51 aslib_PROGRAMS = as 52 as_SOURCES = as.cc 53 50 54 MAINTAINERCLEANFILES = $(CFA_BINDIR)/$(CFA_NAME) @CFA_PREFIX@/lib/${cc1lib_PROGRAMS} -
src/driver/Makefile.in
r364d70c r4084928e 97 97 noinst_PROGRAMS = cfa$(EXEEXT) 98 98 cc1lib_PROGRAMS = cc1$(EXEEXT) 99 aslib_PROGRAMS = as$(EXEEXT) 99 100 subdir = src/driver 100 101 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 … … 107 108 CONFIG_CLEAN_FILES = 108 109 CONFIG_CLEAN_VPATH_FILES = 109 am__installdirs = "$(DESTDIR)$(cc1libdir)" 110 PROGRAMS = $(cc1lib_PROGRAMS) $(noinst_PROGRAMS) 110 am__installdirs = "$(DESTDIR)$(aslibdir)" "$(DESTDIR)$(cc1libdir)" 111 PROGRAMS = $(aslib_PROGRAMS) $(cc1lib_PROGRAMS) $(noinst_PROGRAMS) 112 am_as_OBJECTS = as.$(OBJEXT) 113 as_OBJECTS = $(am_as_OBJECTS) 114 as_LDADD = $(LDADD) 111 115 am_cc1_OBJECTS = cc1.$(OBJEXT) 112 116 cc1_OBJECTS = $(am_cc1_OBJECTS) … … 144 148 am__v_CXXLD_0 = @echo " CXXLD " $@; 145 149 am__v_CXXLD_1 = 146 SOURCES = $( cc1_SOURCES) $(cfa_SOURCES)147 DIST_SOURCES = $( cc1_SOURCES) $(cfa_SOURCES)150 SOURCES = $(as_SOURCES) $(cc1_SOURCES) $(cfa_SOURCES) 151 DIST_SOURCES = $(as_SOURCES) $(cc1_SOURCES) $(cfa_SOURCES) 148 152 am__can_run_installinfo = \ 149 153 case $$AM_UPDATE_INFO_DIR in \ … … 181 185 AWK = @AWK@ 182 186 BACKEND_CC = @BACKEND_CC@ 187 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 188 BUILD_IN_TREE_FLAGS_NOLIB = @BUILD_IN_TREE_FLAGS_NOLIB@ 183 189 CC = @CC@ 184 190 CCAS = @CCAS@ … … 186 192 CCASFLAGS = @CCASFLAGS@ 187 193 CCDEPMODE = @CCDEPMODE@ 194 CFACC = @CFACC@ 195 CFACPP = @CFACPP@ 188 196 CFA_BACKEND_CC = @CFA_BACKEND_CC@ 189 197 CFA_BINDIR = @CFA_BINDIR@ … … 202 210 DEFS = @DEFS@ 203 211 DEPDIR = @DEPDIR@ 212 DRIVER_DIR = @DRIVER_DIR@ 204 213 ECHO_C = @ECHO_C@ 205 214 ECHO_N = @ECHO_N@ … … 300 309 cc1libdir = ${CFA_LIBDIR} 301 310 cc1_SOURCES = cc1.cc 311 aslibdir = ${CFA_LIBDIR} 312 as_SOURCES = as.cc 302 313 MAINTAINERCLEANFILES = $(CFA_BINDIR)/$(CFA_NAME) @CFA_PREFIX@/lib/${cc1lib_PROGRAMS} 303 314 all: all-am … … 334 345 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 335 346 $(am__aclocal_m4_deps): 347 install-aslibPROGRAMS: $(aslib_PROGRAMS) 348 @$(NORMAL_INSTALL) 349 @list='$(aslib_PROGRAMS)'; test -n "$(aslibdir)" || list=; \ 350 if test -n "$$list"; then \ 351 echo " $(MKDIR_P) '$(DESTDIR)$(aslibdir)'"; \ 352 $(MKDIR_P) "$(DESTDIR)$(aslibdir)" || exit 1; \ 353 fi; \ 354 for p in $$list; do echo "$$p $$p"; done | \ 355 sed 's/$(EXEEXT)$$//' | \ 356 while read p p1; do if test -f $$p \ 357 ; then echo "$$p"; echo "$$p"; else :; fi; \ 358 done | \ 359 sed -e 'p;s,.*/,,;n;h' \ 360 -e 's|.*|.|' \ 361 -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ 362 sed 'N;N;N;s,\n, ,g' | \ 363 $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ 364 { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ 365 if ($$2 == $$4) files[d] = files[d] " " $$1; \ 366 else { print "f", $$3 "/" $$4, $$1; } } \ 367 END { for (d in files) print "f", d, files[d] }' | \ 368 while read type dir files; do \ 369 if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ 370 test -z "$$files" || { \ 371 echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(aslibdir)$$dir'"; \ 372 $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(aslibdir)$$dir" || exit $$?; \ 373 } \ 374 ; done 375 376 uninstall-aslibPROGRAMS: 377 @$(NORMAL_UNINSTALL) 378 @list='$(aslib_PROGRAMS)'; test -n "$(aslibdir)" || list=; \ 379 files=`for p in $$list; do echo "$$p"; done | \ 380 sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ 381 -e 's/$$/$(EXEEXT)/' \ 382 `; \ 383 test -n "$$list" || exit 0; \ 384 echo " ( cd '$(DESTDIR)$(aslibdir)' && rm -f" $$files ")"; \ 385 cd "$(DESTDIR)$(aslibdir)" && rm -f $$files 386 387 clean-aslibPROGRAMS: 388 -test -z "$(aslib_PROGRAMS)" || rm -f $(aslib_PROGRAMS) 336 389 install-cc1libPROGRAMS: $(cc1lib_PROGRAMS) 337 390 @$(NORMAL_INSTALL) … … 380 433 -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) 381 434 435 as$(EXEEXT): $(as_OBJECTS) $(as_DEPENDENCIES) $(EXTRA_as_DEPENDENCIES) 436 @rm -f as$(EXEEXT) 437 $(AM_V_CXXLD)$(CXXLINK) $(as_OBJECTS) $(as_LDADD) $(LIBS) 438 382 439 cc1$(EXEEXT): $(cc1_OBJECTS) $(cc1_DEPENDENCIES) $(EXTRA_cc1_DEPENDENCIES) 383 440 @rm -f cc1$(EXEEXT) … … 394 451 -rm -f *.tab.c 395 452 453 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/as.Po@am__quote@ 396 454 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cc1.Po@am__quote@ 397 455 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfa.Po@am__quote@ … … 499 557 all-am: Makefile $(PROGRAMS) 500 558 installdirs: 501 for dir in "$(DESTDIR)$( cc1libdir)"; do \559 for dir in "$(DESTDIR)$(aslibdir)" "$(DESTDIR)$(cc1libdir)"; do \ 502 560 test -z "$$dir" || $(MKDIR_P) "$$dir"; \ 503 561 done … … 535 593 clean: clean-am 536 594 537 clean-am: clean- cc1libPROGRAMS clean-generic clean-noinstPROGRAMS\538 mostlyclean-am595 clean-am: clean-aslibPROGRAMS clean-cc1libPROGRAMS clean-generic \ 596 clean-noinstPROGRAMS mostlyclean-am 539 597 540 598 distclean: distclean-am … … 556 614 info-am: 557 615 558 install-data-am: install- cc1libPROGRAMS616 install-data-am: install-aslibPROGRAMS install-cc1libPROGRAMS 559 617 560 618 install-dvi: install-dvi-am … … 602 660 ps-am: 603 661 604 uninstall-am: uninstall- cc1libPROGRAMS662 uninstall-am: uninstall-aslibPROGRAMS uninstall-cc1libPROGRAMS 605 663 @$(NORMAL_INSTALL) 606 664 $(MAKE) $(AM_MAKEFLAGS) uninstall-hook … … 608 666 609 667 .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ 610 clean-cc1libPROGRAMS clean-generic clean-noinstPROGRAMS \ 611 cscopelist-am ctags ctags-am distclean distclean-compile \ 612 distclean-generic distclean-tags distdir dvi dvi-am html \ 613 html-am info info-am install install-am install-cc1libPROGRAMS \ 614 install-data install-data-am install-dvi install-dvi-am \ 615 install-exec install-exec-am install-exec-hook install-html \ 616 install-html-am install-info install-info-am install-man \ 617 install-pdf install-pdf-am install-ps install-ps-am \ 618 install-strip installcheck installcheck-am installdirs \ 619 maintainer-clean maintainer-clean-generic mostlyclean \ 620 mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ 621 tags tags-am uninstall uninstall-am uninstall-cc1libPROGRAMS \ 668 clean-aslibPROGRAMS clean-cc1libPROGRAMS clean-generic \ 669 clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \ 670 distclean-compile distclean-generic distclean-tags distdir dvi \ 671 dvi-am html html-am info info-am install install-am \ 672 install-aslibPROGRAMS install-cc1libPROGRAMS install-data \ 673 install-data-am install-dvi install-dvi-am install-exec \ 674 install-exec-am install-exec-hook install-html install-html-am \ 675 install-info install-info-am install-man install-pdf \ 676 install-pdf-am install-ps install-ps-am install-strip \ 677 installcheck installcheck-am installdirs maintainer-clean \ 678 maintainer-clean-generic mostlyclean mostlyclean-compile \ 679 mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ 680 uninstall-am uninstall-aslibPROGRAMS uninstall-cc1libPROGRAMS \ 622 681 uninstall-hook 623 682 -
src/examples/Makefile.am
r364d70c r4084928e 25 25 avl_test_SOURCES = avltree/avl_test.c avltree/avl0.c avltree/avl1.c avltree/avl2.c avltree/avl3.c avltree/avl4.c avltree/avl-private.c 26 26 27 Bench : Bench.c27 Bench$(EXEEXT) : Bench.c 28 28 @for ccflags in "-debug" "-nodebug"; do \ 29 29 echo ${CC} ${AM_CFLAGS} ${CFLAGS} $${ccflags} -lrt Bench.c;\ -
src/examples/Makefile.in
r364d70c r4084928e 189 189 AWK = @AWK@ 190 190 BACKEND_CC = @BACKEND_CC@ 191 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 192 BUILD_IN_TREE_FLAGS_NOLIB = @BUILD_IN_TREE_FLAGS_NOLIB@ 191 193 CC = @CFA_BINDIR@/@CFA_NAME@ 192 194 CCAS = @CCAS@ … … 194 196 CCASFLAGS = @CCASFLAGS@ 195 197 CCDEPMODE = @CCDEPMODE@ 198 CFACC = @CFACC@ 199 CFACPP = @CFACPP@ 196 200 CFA_BACKEND_CC = @CFA_BACKEND_CC@ 197 201 CFA_BINDIR = @CFA_BINDIR@ … … 212 216 DEFS = @DEFS@ 213 217 DEPDIR = @DEPDIR@ 218 DRIVER_DIR = @DRIVER_DIR@ 214 219 ECHO_C = @ECHO_C@ 215 220 ECHO_N = @ECHO_N@ … … 615 620 616 621 617 Bench : Bench.c622 Bench$(EXEEXT) : Bench.c 618 623 @for ccflags in "-debug" "-nodebug"; do \ 619 624 echo ${CC} ${AM_CFLAGS} ${CFLAGS} $${ccflags} -lrt Bench.c;\ -
src/libcfa/Makefile.am
r364d70c r4084928e 43 43 #use -no-include-stdhdr to prevent rebuild cycles 44 44 #The built sources must not depend on the installed headers 45 CFLAGS = -quiet -no-include-stdhdr -I${abs_top_srcdir}/src/libcfa/stdhdr -XCFA -t -B${abs_top_builddir}/src/driver${EXTRA_FLAGS}46 CC = ${abs_top_builddir}/src/driver/cfa45 CFLAGS = -quiet -no-include-stdhdr @BUILD_IN_TREE_FLAGS@ ${EXTRA_FLAGS} 46 CC = @CFACC@ 47 47 48 48 headers = fstream iostream iterator limits rational time stdlib common \ … … 92 92 ${AM_V_CC}@BACKEND_CC@ -DHAVE_CONFIG_H -I. -I../.. -D__CFA_DEBUG__ -O0 ${EXTRA_FLAGS} -c -o $@ $< 93 93 94 ${libobjs} : ${abs_top_srcdir}/src/driver/cfa-cpp${cfalib_DATA} # add dependency to cfa-cpp so all libraries are rebuilt with new translator94 ${libobjs} : @CFACPP@ ${cfalib_DATA} # add dependency to cfa-cpp so all libraries are rebuilt with new translator 95 95 96 96 libcfa_a_SOURCES = ${libsrc} -
src/libcfa/Makefile.in
r364d70c r4084928e 303 303 AWK = @AWK@ 304 304 BACKEND_CC = @BACKEND_CC@ 305 CC = ${abs_top_builddir}/src/driver/cfa 305 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 306 BUILD_IN_TREE_FLAGS_NOLIB = @BUILD_IN_TREE_FLAGS_NOLIB@ 307 CC = @CFACC@ 306 308 CCAS = @CCAS@ 307 309 CCASDEPMODE = @CCASDEPMODE@ 308 310 CCASFLAGS = @CCASFLAGS@ 309 311 CCDEPMODE = @CCDEPMODE@ 312 CFACC = @CFACC@ 313 CFACPP = @CFACPP@ 310 314 CFA_BACKEND_CC = @CFA_BACKEND_CC@ 311 315 CFA_BINDIR = @CFA_BINDIR@ … … 319 323 #use -no-include-stdhdr to prevent rebuild cycles 320 324 #The built sources must not depend on the installed headers 321 CFLAGS = -quiet -no-include-stdhdr -I${abs_top_srcdir}/src/libcfa/stdhdr -XCFA -t -B${abs_top_builddir}/src/driver${EXTRA_FLAGS}325 CFLAGS = -quiet -no-include-stdhdr @BUILD_IN_TREE_FLAGS@ ${EXTRA_FLAGS} 322 326 CPP = @CPP@ 323 327 CPPFLAGS = @CPPFLAGS@ … … 328 332 DEFS = @DEFS@ 329 333 DEPDIR = @DEPDIR@ 334 DRIVER_DIR = @DRIVER_DIR@ 330 335 ECHO_C = @ECHO_C@ 331 336 ECHO_N = @ECHO_N@ … … 1704 1709 ${AM_V_CC}@BACKEND_CC@ -DHAVE_CONFIG_H -I. -I../.. -D__CFA_DEBUG__ -O0 ${EXTRA_FLAGS} -c -o $@ $< 1705 1710 1706 ${libobjs} : ${abs_top_srcdir}/src/driver/cfa-cpp${cfalib_DATA} # add dependency to cfa-cpp so all libraries are rebuilt with new translator1711 ${libobjs} : @CFACPP@ ${cfalib_DATA} # add dependency to cfa-cpp so all libraries are rebuilt with new translator 1707 1712 1708 1713 maintainer-clean-local: -
src/libcfa/heap.c
r364d70c r4084928e 10 10 // Created On : Tue Dec 19 21:58:35 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Jul 26 22:28:23201813 // Update Count : 4 4912 // Last Modified On : Tue Jul 31 18:08:50 2018 13 // Update Count : 470 14 14 // 15 15 … … 94 94 95 95 96 // static _Bool prtHeapTerm = false; 97 98 // inline _Bool prtHeapTerm() { 99 // return prtHeapTerm; 100 // } // prtHeapTerm 101 102 // _Bool prtHeapTermOn() { 103 // _Bool temp = traceHeap; 104 // traceHeap = true; 96 static _Bool checkFree = false; 97 98 inline _Bool checkFree() { 99 return checkFree; 100 } // checkFree 101 102 _Bool checkFreeOn() { 103 _Bool temp = checkFree; 104 checkFree = true; 105 return temp; 106 } // checkFreeOn 107 108 _Bool checkFreeOff() { 109 _Bool temp = checkFree; 110 checkFree = false; 111 return temp; 112 } // checkFreeOff 113 114 115 // static _Bool traceHeapTerm = false; 116 117 // inline _Bool traceHeapTerm() { 118 // return traceHeapTerm; 119 // } // traceHeapTerm 120 121 // _Bool traceHeapTermOn() { 122 // _Bool temp = traceHeapTerm; 123 // traceHeapTerm = true; 105 124 // return temp; 106 // } // prtHeapTermOn107 108 // _Bool prtHeapTermOff() {109 // _Bool temp = traceHeap ;110 // traceHeap = false;125 // } // traceHeapTermOn 126 127 // _Bool traceHeapTermOff() { 128 // _Bool temp = traceHeapTerm; 129 // traceHeapTerm = false; 111 130 // return temp; 112 // } // prtHeapTermOff131 // } // traceHeapTermOff 113 132 114 133 … … 139 158 } // extern "C" 140 159 #endif // __CFA_DEBUG__ 141 142 143 // statically allocated variables => zero filled.144 145 static size_t pageSize; // architecture pagesize146 static size_t heapExpand; // sbrk advance147 static size_t mmapStart; // cross over point for mmap148 static unsigned int maxBucketsUsed; // maximum number of buckets in use149 static unsigned int bucketSizes[NoBucketSizes] = { // different bucket sizes150 16, 32, 48, 64,151 80, 96, 112, 128, 144, 160, 192, 224,152 256, 320, 384, 448, 512, 640, 768, 896,153 1024, 1536, 2048, 2560, 3072, 3584, 4096, 6144,154 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360,155 16384, 18432, 20480, 22528, 24576, 26624, 28672, 30720,156 32768, 36864, 40960, 45056, 49152, 53248, 57344, 61440,157 65536, 73728, 81920, 90112, 98304, 106496, 114688, 122880,158 131072, 147456, 163840, 180224, 196608, 212992, 229376, 245760,159 262144, 294912, 327680, 360448, 393216, 425984, 458752, 491520,160 524288, 655360, 786432, 917504, 1048576, 1179648, 1310720, 1441792,161 1572864, 1703936, 1835008, 1966080, 2097152, 2621440, 3145728, 3670016,162 4194304163 };164 #ifdef FASTLOOKUP165 static unsigned char lookup[LookupSizes]; // O(1) lookup for small sizes166 #endif // FASTLOOKUP167 static int mmapFd = -1; // fake or actual fd for anonymous file168 160 169 161 … … 240 232 }; // HeapManager 241 233 234 static inline size_t getKey( const HeapManager.FreeHeader & freeheader ) { return freeheader.blockSize; } 235 // statically allocated variables => zero filled. 236 237 238 static size_t pageSize; // architecture pagesize 239 static size_t heapExpand; // sbrk advance 240 static size_t mmapStart; // cross over point for mmap 241 static unsigned int maxBucketsUsed; // maximum number of buckets in use 242 243 // Powers of 2 are common allocation sizes, so make powers of 2 generate the minimum required size. 244 static unsigned int bucketSizes[NoBucketSizes] @= { // different bucket sizes 245 16, 32, 48, 64, 246 64 + sizeof(HeapManager.Storage), 96, 112, 128, 128 + sizeof(HeapManager.Storage), 160, 192, 224, 247 256 + sizeof(HeapManager.Storage), 320, 384, 448, 512 + sizeof(HeapManager.Storage), 640, 768, 896, 248 1_024 + sizeof(HeapManager.Storage), 1_536, 2_048 + sizeof(HeapManager.Storage), 2_560, 3_072, 3_584, 4_096 + sizeof(HeapManager.Storage), 6_144, 249 8_192 + sizeof(HeapManager.Storage), 9_216, 10_240, 11_264, 12_288, 13_312, 14_336, 15_360, 250 16_384 + sizeof(HeapManager.Storage), 18_432, 20_480, 22_528, 24_576, 26_624, 28_672, 30_720, 251 32_768 + sizeof(HeapManager.Storage), 36_864, 40_960, 45_056, 49_152, 53_248, 57_344, 61_440, 252 65_536 + sizeof(HeapManager.Storage), 73_728, 81_920, 90_112, 98_304, 106_496, 114_688, 122_880, 253 131_072 + sizeof(HeapManager.Storage), 147_456, 163_840, 180_224, 196_608, 212_992, 229_376, 245_760, 254 262_144 + sizeof(HeapManager.Storage), 294_912, 327_680, 360_448, 393_216, 425_984, 458_752, 491_520, 255 524_288 + sizeof(HeapManager.Storage), 655_360, 786_432, 917_504, 1_048_576 + sizeof(HeapManager.Storage), 1_179_648, 1_310_720, 1_441_792, 256 1_572_864, 1_703_936, 1_835_008, 1_966_080, 2_097_152 + sizeof(HeapManager.Storage), 2_621_440, 3_145_728, 3_670_016, 257 4_194_304 + sizeof(HeapManager.Storage) 258 }; 259 #ifdef FASTLOOKUP 260 static unsigned char lookup[LookupSizes]; // O(1) lookup for small sizes 261 #endif // FASTLOOKUP 262 static int mmapFd = -1; // fake or actual fd for anonymous file 263 264 265 #ifdef __CFA_DEBUG__ 266 static _Bool heapBoot = 0; // detect recursion during boot 267 #endif // __CFA_DEBUG__ 268 static HeapManager heapManager __attribute__(( aligned (128) )) @= {}; // size of cache line to prevent false sharing 269 242 270 243 271 static inline _Bool setMmapStart( size_t value ) { … … 281 309 static void ^?{}( HeapManager & ) { 282 310 #ifdef __STATISTICS__ 283 // if ( prtHeapTerm() ) {311 // if ( traceHeapTerm() ) { 284 312 // printStats(); 285 // checkFree( heapManager, true );313 // if ( checkfree() ) checkFree( heapManager, true ); 286 314 // } // if 287 315 #endif // __STATISTICS__ 288 316 } // ~HeapManager 289 317 290 291 #ifdef __CFA_DEBUG__292 static _Bool heapBoot = 0; // detect recursion during boot293 #endif // __CFA_DEBUG__294 static HeapManager heapManager __attribute__(( aligned (128) )) @= {}; // size of cache line to prevent false sharing295 318 296 319 static void memory_startup( void ) __attribute__(( constructor( STARTUP_PRIORITY_MEMORY ) )); … … 312 335 ^heapManager{}; 313 336 } // memory_shutdown 314 315 static inline size_t getKey( const HeapManager.FreeHeader & freeheader ) { return freeheader.blockSize; }316 337 317 338 … … 342 363 static void printStats() { 343 364 char helpText[512]; 344 int len = snprintf( helpText, 512,345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 365 __cfaabi_dbg_bits_print_buffer( helpText, 512, 366 "\nHeap statistics:\n" 367 " malloc: calls %u / storage %llu\n" 368 " calloc: calls %u / storage %llu\n" 369 " memalign: calls %u / storage %llu\n" 370 " cmemalign: calls %u / storage %llu\n" 371 " realloc: calls %u / storage %llu\n" 372 " free: calls %u / storage %llu\n" 373 " mmap: calls %u / storage %llu\n" 374 " munmap: calls %u / storage %llu\n" 375 " sbrk: calls %u / storage %llu\n", 376 malloc_calls, malloc_storage, 377 calloc_calls, calloc_storage, 378 memalign_calls, memalign_storage, 379 cmemalign_calls, cmemalign_storage, 380 realloc_calls, realloc_storage, 381 free_calls, free_storage, 382 mmap_calls, mmap_storage, 383 munmap_calls, munmap_storage, 384 sbrk_calls, sbrk_storage 364 385 ); 365 write( statfd, helpText, len );366 386 } // printStats 367 387 … … 637 657 638 658 639 size_t checkFree( HeapManager & manager , _Bool prt) with ( manager ) {659 size_t checkFree( HeapManager & manager ) with ( manager ) { 640 660 size_t total = 0; 641 661 #ifdef __STATISTICS__ 642 662 __cfaabi_dbg_bits_acquire(); 643 if ( prt )__cfaabi_dbg_bits_print_nolock( "\nBin lists (bin size : free blocks on list)\n" );663 __cfaabi_dbg_bits_print_nolock( "\nBin lists (bin size : free blocks on list)\n" ); 644 664 #endif // __STATISTICS__ 645 665 for ( unsigned int i = 0; i < maxBucketsUsed; i += 1 ) { … … 659 679 } // for 660 680 #ifdef __STATISTICS__ 661 if ( prt )__cfaabi_dbg_bits_print_nolock( "%7zu, %-7u ", size, N );681 __cfaabi_dbg_bits_print_nolock( "%7zu, %-7u ", size, N ); 662 682 if ( (i + 1) % 8 == 0 ) __cfaabi_dbg_bits_print_nolock( "\n" ); 663 683 #endif // __STATISTICS__ 664 684 } // for 665 685 #ifdef __STATISTICS__ 666 if ( prt )__cfaabi_dbg_bits_print_nolock( "\ntotal free blocks:%zu\n", total );686 __cfaabi_dbg_bits_print_nolock( "\ntotal free blocks:%zu\n", total ); 667 687 __cfaabi_dbg_bits_release(); 668 688 #endif // __STATISTICS__ … … 922 942 #ifdef __STATISTICS__ 923 943 printStats(); 924 checkFree( heapManager, true);944 if ( checkFree() ) checkFree( heapManager ); 925 945 #endif // __STATISTICS__ 926 946 } // malloc_stats -
src/libcfa/stdhdr/malloc.h
r364d70c r4084928e 10 10 // Created On : Thu Jul 20 15:58:16 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Jul 23 18:20:32201813 // Update Count : 812 // Last Modified On : Tue Jul 31 10:01:10 2018 13 // Update Count : 9 14 14 // 15 15 … … 17 17 size_t default_mmap_start(); // CFA extras 18 18 size_t default_heap_expansion(); 19 20 _Bool traceHeap(); 21 _Bool traceHeapOn(); 22 _Bool traceHeapOff(); 23 24 _Bool traceHeapTerm(); 25 _Bool traceHeapTermOn(); 26 _Bool traceHeapTermOff(); 27 28 _Bool checkFree(); 29 _Bool checkFreeOn(); 30 _Bool checkFreeOff(); 31 19 32 extern "C" { 20 33 size_t malloc_alignment( void * ); -
src/prelude/Makefile.am
r364d70c r4084928e 23 23 noinst_DATA = ../libcfa/libcfa-prelude.c 24 24 25 CC = ${abs_top_builddir}/src/driver/cfa25 CC = @CFACC@ 26 26 27 27 $(DEPDIR) : … … 58 58 include $(DEPDIR)/builtins.Po 59 59 60 ../libcfa/libcfa-prelude.c : prelude.cf extras.cf gcc-builtins.cf builtins.cf ${abs_top_builddir}/src/driver/cfa-cpp61 ${AM_V_GEN} ${abs_top_builddir}/src/driver/cfa-cpp-l prelude.cf $@ # use src/cfa-cpp as not in lib until after install60 ../libcfa/libcfa-prelude.c : prelude.cf extras.cf gcc-builtins.cf builtins.cf @CFACPP@ 61 ${AM_V_GEN}@CFACPP@ -l prelude.cf $@ # use src/cfa-cpp as not in lib until after install 62 62 63 bootloader.c : ${srcdir}/bootloader.cf prelude.cf extras.cf gcc-builtins.cf builtins.cf ${abs_top_builddir}/src/driver/cfa-cpp64 ${AM_V_GEN} ${abs_top_builddir}/src/driver/cfa-cpp-tpm ${srcdir}/bootloader.cf $@ # use src/cfa-cpp as not in lib until after install63 bootloader.c : ${srcdir}/bootloader.cf prelude.cf extras.cf gcc-builtins.cf builtins.cf @CFACPP@ 64 ${AM_V_GEN}@CFACPP@ -tpm ${srcdir}/bootloader.cf $@ # use src/cfa-cpp as not in lib until after install 65 65 66 66 maintainer-clean-local : -
src/prelude/Makefile.in
r364d70c r4084928e 162 162 AWK = @AWK@ 163 163 BACKEND_CC = @BACKEND_CC@ 164 CC = ${abs_top_builddir}/src/driver/cfa 164 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 165 BUILD_IN_TREE_FLAGS_NOLIB = @BUILD_IN_TREE_FLAGS_NOLIB@ 166 CC = @CFACC@ 165 167 CCAS = @CCAS@ 166 168 CCASDEPMODE = @CCASDEPMODE@ 167 169 CCASFLAGS = @CCASFLAGS@ 168 170 CCDEPMODE = @CCDEPMODE@ 171 CFACC = @CFACC@ 172 CFACPP = @CFACPP@ 169 173 CFA_BACKEND_CC = @CFA_BACKEND_CC@ 170 174 CFA_BINDIR = @CFA_BINDIR@ … … 183 187 DEFS = @DEFS@ 184 188 DEPDIR = @DEPDIR@ 189 DRIVER_DIR = @DRIVER_DIR@ 185 190 ECHO_C = @ECHO_C@ 186 191 ECHO_N = @ECHO_N@ … … 526 531 include $(DEPDIR)/builtins.Po 527 532 528 ../libcfa/libcfa-prelude.c : prelude.cf extras.cf gcc-builtins.cf builtins.cf ${abs_top_builddir}/src/driver/cfa-cpp529 ${AM_V_GEN} ${abs_top_builddir}/src/driver/cfa-cpp-l prelude.cf $@ # use src/cfa-cpp as not in lib until after install530 531 bootloader.c : ${srcdir}/bootloader.cf prelude.cf extras.cf gcc-builtins.cf builtins.cf ${abs_top_builddir}/src/driver/cfa-cpp532 ${AM_V_GEN} ${abs_top_builddir}/src/driver/cfa-cpp-tpm ${srcdir}/bootloader.cf $@ # use src/cfa-cpp as not in lib until after install533 ../libcfa/libcfa-prelude.c : prelude.cf extras.cf gcc-builtins.cf builtins.cf @CFACPP@ 534 ${AM_V_GEN}@CFACPP@ -l prelude.cf $@ # use src/cfa-cpp as not in lib until after install 535 536 bootloader.c : ${srcdir}/bootloader.cf prelude.cf extras.cf gcc-builtins.cf builtins.cf @CFACPP@ 537 ${AM_V_GEN}@CFACPP@ -tpm ${srcdir}/bootloader.cf $@ # use src/cfa-cpp as not in lib until after install 533 538 534 539 maintainer-clean-local : -
src/tests/Makefile.am
r364d70c r4084928e 30 30 # applies to both programs 31 31 AM_CFLAGS = $(if $(test), 2> $(test), ) \ 32 -XCFA \33 -t \34 -B${abs_top_builddir}/src/driver \35 32 -g \ 36 33 -Wall \ 37 34 -Wno-unused-function \ 38 35 -quiet @CFA_FLAGS@ \ 39 -I. \40 36 -DIN_DIR="${srcdir}/.in/" \ 41 -L${abs_top_builddir}/src/libcfa \ 42 -I${abs_top_srcdir}/src/libcfa \ 43 -I${abs_top_srcdir}/src/libcfa/containers \ 44 -I${abs_top_srcdir}/src/libcfa/concurrency \ 45 -I${abs_top_srcdir}/src/libcfa/stdhdr 37 @BUILD_IN_TREE_FLAGS@ 46 38 47 39 if !BUILD_DEBUG … … 55 47 endif 56 48 57 CC = ${abs_top_builddir}/src/driver/cfa49 CC = @CFACC@ 58 50 59 51 .PHONY : list … … 93 85 # implicit rule so not all test require a rule 94 86 % : %.c $(CC) 95 echo $(headers_deps)96 87 $(COMPILE) $(abspath ${<}) -o ${@} 97 88 -
src/tests/Makefile.in
r364d70c r4084928e 181 181 AWK = @AWK@ 182 182 BACKEND_CC = @BACKEND_CC@ 183 CC = ${abs_top_builddir}/src/driver/cfa 183 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 184 BUILD_IN_TREE_FLAGS_NOLIB = @BUILD_IN_TREE_FLAGS_NOLIB@ 185 CC = @CFACC@ 184 186 CCAS = @CCAS@ 185 187 CCASDEPMODE = @CCASDEPMODE@ 186 188 CCASFLAGS = @CCASFLAGS@ 187 189 CCDEPMODE = @CCDEPMODE@ 190 CFACC = @CFACC@ 191 CFACPP = @CFACPP@ 188 192 CFA_BACKEND_CC = @CFA_BACKEND_CC@ 189 193 CFA_BINDIR = @CFA_BINDIR@ … … 202 206 DEFS = @DEFS@ 203 207 DEPDIR = @DEPDIR@ 208 DRIVER_DIR = @DRIVER_DIR@ 204 209 ECHO_C = @ECHO_C@ 205 210 ECHO_N = @ECHO_N@ … … 298 303 299 304 # applies to both programs 300 AM_CFLAGS = $(if $(test), 2> $(test), ) -XCFA -t \ 301 -B${abs_top_builddir}/src/driver -g -Wall -Wno-unused-function \ 302 -quiet @CFA_FLAGS@ -I. -DIN_DIR="${srcdir}/.in/" \ 303 -L${abs_top_builddir}/src/libcfa \ 304 -I${abs_top_srcdir}/src/libcfa \ 305 -I${abs_top_srcdir}/src/libcfa/containers \ 306 -I${abs_top_srcdir}/src/libcfa/concurrency \ 307 -I${abs_top_srcdir}/src/libcfa/stdhdr $(am__append_1) \ 308 $(am__append_2) $(am__append_3) 305 AM_CFLAGS = $(if $(test), 2> $(test), ) -g -Wall -Wno-unused-function \ 306 -quiet @CFA_FLAGS@ -DIN_DIR="${srcdir}/.in/" \ 307 @BUILD_IN_TREE_FLAGS@ $(am__append_1) $(am__append_2) \ 308 $(am__append_3) 309 309 fstream_test_SOURCES = fstream_test.c 310 310 avl_test_SOURCES = avltree/avl_test.c avltree/avl0.c avltree/avl1.c avltree/avl2.c avltree/avl3.c avltree/avl4.c avltree/avl-private.c … … 641 641 # implicit rule so not all test require a rule 642 642 % : %.c $(CC) 643 echo $(headers_deps)644 643 $(COMPILE) $(abspath ${<}) -o ${@} 645 644 -
src/tests/preempt_longrun/Makefile.am
r364d70c r4084928e 32 32 BUILD_FLAGS = -g -Wall -Wno-unused-function -quiet @CFA_FLAGS@ -O2 -DPREEMPTION_RATE=${preempt} -I.. -I. -DTEST_$(shell cat .type | tr a-z A-Z) 33 33 CFLAGS = ${BUILD_FLAGS} 34 CC = ${top_builddir}/src/driver/cfa34 CC = @CFACC@ 35 35 36 36 TESTS = block coroutine create disjoint enter enter3 processor stack wait yield -
src/tests/preempt_longrun/Makefile.in
r364d70c r4084928e 337 337 AWK = @AWK@ 338 338 BACKEND_CC = @BACKEND_CC@ 339 CC = ${top_builddir}/src/driver/cfa 339 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 340 BUILD_IN_TREE_FLAGS_NOLIB = @BUILD_IN_TREE_FLAGS_NOLIB@ 341 CC = @CFACC@ 340 342 CCAS = @CCAS@ 341 343 CCASDEPMODE = @CCASDEPMODE@ 342 344 CCASFLAGS = @CCASFLAGS@ 343 345 CCDEPMODE = @CCDEPMODE@ 346 CFACC = @CFACC@ 347 CFACPP = @CFACPP@ 344 348 CFA_BACKEND_CC = @CFA_BACKEND_CC@ 345 349 CFA_BINDIR = @CFA_BINDIR@ … … 358 362 DEFS = @DEFS@ 359 363 DEPDIR = @DEPDIR@ 364 DRIVER_DIR = @DRIVER_DIR@ 360 365 ECHO_C = @ECHO_C@ 361 366 ECHO_N = @ECHO_N@ -
src/tests/pybin/tools.py
r364d70c r4084928e 48 48 return False 49 49 50 return match.group(1) == "ASCII text"50 return match.group(1).startswith("ASCII text") 51 51 52 52 # Remove 1 or more files silently
Note:
See TracChangeset
for help on using the changeset viewer.