Changeset be945ac
- Timestamp:
- Jun 2, 2016, 11:51:07 AM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 2edd5502
- Parents:
- f1b1e4c (diff), 4df85197 (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. - Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
src/GenPoly/GenPoly.cc
rf1b1e4c rbe945ac 64 64 return false; 65 65 } 66 66 67 67 /// Replaces a TypeInstType by its referrent in the environment, if applicable 68 68 Type* replaceTypeInst( Type* type, const TypeSubstitution* env ) { … … 78 78 Type *isPolyType( Type *type, const TypeSubstitution *env ) { 79 79 type = replaceTypeInst( type, env ); 80 80 81 81 if ( TypeInstType *typeInst = dynamic_cast< TypeInstType * >( type ) ) { 82 82 return type; … … 91 91 Type *isPolyType( Type *type, const TyVarMap &tyVars, const TypeSubstitution *env ) { 92 92 type = replaceTypeInst( type, env ); 93 93 94 94 if ( TypeInstType *typeInst = dynamic_cast< TypeInstType * >( type ) ) { 95 95 if ( tyVars.find( typeInst->get_name() ) != tyVars.end() ) { … … 106 106 Type *isPolyPtr( Type *type, const TypeSubstitution *env ) { 107 107 type = replaceTypeInst( type, env ); 108 108 109 109 if ( PointerType *ptr = dynamic_cast< PointerType *>( type ) ) { 110 110 return isPolyType( ptr->get_base(), env ); … … 115 115 Type *isPolyPtr( Type *type, const TyVarMap &tyVars, const TypeSubstitution *env ) { 116 116 type = replaceTypeInst( type, env ); 117 117 118 118 if ( PointerType *ptr = dynamic_cast< PointerType *>( type ) ) { 119 119 return isPolyType( ptr->get_base(), tyVars, env ); … … 129 129 while ( true ) { 130 130 type = replaceTypeInst( type, env ); 131 131 132 132 if ( PointerType *ptr = dynamic_cast< PointerType *>( type ) ) { 133 133 type = ptr->get_base(); … … 146 146 while ( true ) { 147 147 type = replaceTypeInst( type, env ); 148 148 149 149 if ( PointerType *ptr = dynamic_cast< PointerType *>( type ) ) { 150 150 type = ptr->get_base(); -
src/SymTab/Validate.cc
rf1b1e4c rbe945ac 291 291 292 292 namespace { 293 template< typename DWT Iterator, typename DWTList >294 void fixFunctionList( DWT Iterator begin, DWTIterator end, FunctionType *func, DWTList & dwts) {293 template< typename DWTList > 294 void fixFunctionList( DWTList & dwts, FunctionType * func ) { 295 295 // the only case in which "void" is valid is where it is the only one in the list; then it should be removed 296 296 // entirely other fix ups are handled by the FixFunction class 297 typedef typename DWTList::iterator DWTIterator; 298 DWTIterator begin( dwts.begin() ), end( dwts.end() ); 297 299 if ( begin == end ) return; 298 300 FixFunction fixer; … … 321 323 void Pass1::visit( FunctionType *func ) { 322 324 // Fix up parameters and return types 323 fixFunctionList( func->get_parameters() .begin(), func->get_parameters().end(), func, func->get_parameters());324 fixFunctionList( func->get_returnVals() .begin(), func->get_returnVals().end(), func, func->get_returnVals());325 fixFunctionList( func->get_parameters(), func ); 326 fixFunctionList( func->get_returnVals(), func ); 325 327 Visitor::visit( func ); 326 328 } -
src/examples/runTests.sh
rf1b1e4c rbe945ac 36 36 make clean > /dev/null 2>&1 37 37 38 ret_val=0 39 38 40 for test in $tests; do 39 41 echo -n " $test" | tee -a $logfile … … 41 43 # build, skipping to next test on error 42 44 if ! make -j 8 $test > tests/$test.make.txt 2>&1; then 45 ret_val=1 43 46 echo -e "\tFAILED with build error:" | tee -a $logfile 44 47 cat tests/$test.make.txt | tee -a $logfile … … 50 53 ./$test < tests/$test.in.txt > tests/$test.run.txt 2>&1 51 54 if ! diff tests/$test.out.txt tests/$test.run.txt > tests/$test.diff.txt; then 55 ret_val=1 52 56 echo -e "\tFAILED with output mismatch:" | tee -a $logfile 53 57 cat tests/$test.diff.txt | tee -a $logfile … … 58 62 echo -e "\tPASSED" | tee -a $logfile 59 63 done 64 65 exit $((ret_val)) -
src/libcfa/Makefile.am
rf1b1e4c rbe945ac 11 11 ## Created On : Sun May 31 08:54:01 2015 12 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Tue Apr 19 22:30:17201614 ## Update Count : 1 2413 ## Last Modified On : Tue May 31 13:24:15 2016 14 ## Update Count : 141 15 15 ############################################################################### 16 16 … … 53 53 CC = ${abs_top_srcdir}/src/driver/cfa 54 54 55 # extension-less header files are overridden by default make rules => explicitly override rule 56 % : %.c 57 true 55 headers = limits stdlib math iostream fstream iterator rational 56 .SECONDARY : ${headers} # stop implicit '.o' rules from removing extensionless headers 58 57 59 .c.o : ${abs_top_srcdir}/src/driver/cfa-cpp 60 ${CC} ${CFLAGS} -c -o $@ $< 58 libcfa_a_SOURCES = libcfa-prelude.c ${headers:=.c} 61 59 62 libs = limits stdlib math iostream fstream iterator rational 63 libcfa_a_SOURCES = libcfa-prelude.c ${libs:=.c} 64 65 cheaders = # expat 66 cfaheaders = # limits 67 include_HEADERS = ${cheaders:=.h} ${libs} ${cfaheaders} 60 include_HEADERS = ${headers} 68 61 69 62 CLEANFILES = libcfa-prelude.c -
src/libcfa/Makefile.in
rf1b1e4c rbe945ac 214 214 MAINTAINERCLEANFILES = ${addprefix ${libdir}/,${cfalib_DATA}} \ 215 215 ${addprefix ${libdir}/,${lib_LIBRARIES}} ${includedir}/* 216 libs = limits stdlib math iostream fstream iterator rational 217 libcfa_a_SOURCES = libcfa-prelude.c ${libs:=.c} 218 cheaders = # expat 219 cfaheaders = # limits 220 include_HEADERS = ${cheaders:=.h} ${libs} ${cfaheaders} 216 headers = limits stdlib math iostream fstream iterator rational 217 libcfa_a_SOURCES = libcfa-prelude.c ${headers:=.c} 218 include_HEADERS = ${headers} 221 219 CLEANFILES = libcfa-prelude.c 222 220 all: all-am … … 303 301 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rational.Po@am__quote@ 304 302 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stdlib.Po@am__quote@ 303 304 .c.o: 305 @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< 306 @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po 307 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ 308 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 309 @am__fastdepCC_FALSE@ $(COMPILE) -c $< 305 310 306 311 .c.obj: … … 582 587 libcfa-prelude.o : libcfa-prelude.c 583 588 @BACKEND_CC@ -c -o $@ $< 584 585 # extension-less header files are overridden by default make rules => explicitly override rule 586 % : %.c 587 true 588 589 .c.o : ${abs_top_srcdir}/src/driver/cfa-cpp 590 ${CC} ${CFLAGS} -c -o $@ $< 589 .SECONDARY : ${headers} # stop implicit '.o' rules from removing extensionless headers 591 590 592 591 # Tell versions [3.59,3.63) of GNU make to not export all variables.
Note: See TracChangeset
for help on using the changeset viewer.