Changeset a29c6e2
- Timestamp:
- Oct 4, 2018, 5:31:44 PM (6 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, no_list, persistent-indexer, pthread-emulation, qualifiedEnum
- Children:
- 7b61ce8
- Parents:
- 6cb935d (diff), 04bdc26 (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:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/bibliography/pl.bib
r6cb935d ra29c6e2 830 830 month = oct, 831 831 type = {Diplomarbeit}, 832 note = { {\small\textsf{ftp://\-plg.uwaterloo.ca/\-pub/\-theses/\-KrischerThesis.ps.gz}}},832 note = {\href{https://plg.uwaterloo.ca/~usystem/theses/KrischerThesis.pdf}{https://\-plg.uwaterloo.ca/\-$\sim$usystem/\-theses/\-KrischerThesis.pdf}}, 833 833 } 834 834 … … 925 925 key = {Cforall}, 926 926 author = {{\textsf{C}{$\mathbf{\forall}$} Features}}, 927 howpublished= {\href{https://plg.uwaterloo.ca/~cforall/features}{https://\-plg.uwaterloo.ca/\- ~cforall/\-features}},927 howpublished= {\href{https://plg.uwaterloo.ca/~cforall/features}{https://\-plg.uwaterloo.ca/\-$\sim$cforall/\-features}}, 928 928 optnote = {Accessed: 2018-01-01}, 929 929 } … … 1101 1101 month = oct, 1102 1102 year = 2001, 1103 note = {\href{http://plg.uwaterloo.ca/~cforall/cfa.ps}{http://\-plg.uwaterloo.ca/\- \char`\~cforall/\-cfa.ps}},1103 note = {\href{http://plg.uwaterloo.ca/~cforall/cfa.ps}{http://\-plg.uwaterloo.ca/\-$\sim$cforall/\-cfa.ps}}, 1104 1104 } 1105 1105 … … 1516 1516 month = dec, 1517 1517 year = 2017, 1518 note = {\href{https://plg.uwaterloo.ca/~usystem/pub/uSystem/uC++.pdf}{https://\-plg.uwaterloo.ca/\- ~usystem/\-pub/\-uSystem/uC++.pdf}},1518 note = {\href{https://plg.uwaterloo.ca/~usystem/pub/uSystem/uC++.pdf}{https://\-plg.uwaterloo.ca/\-$\sim$usystem/\-pub/\-uSystem/uC++.pdf}}, 1519 1519 } 1520 1520 … … 1809 1809 author = {Glen Ditchfield}, 1810 1810 title = {Conversions for \textsf{C}$\mathbf{\forall}$}, 1811 note = {\href{http://plg.uwaterloo.ca/~cforall/Conversions/index.html}{http://\-plg.uwaterloo.ca/\- \textasciitildecforall/\-Conversions/\-index.html}},1811 note = {\href{http://plg.uwaterloo.ca/~cforall/Conversions/index.html}{http://\-plg.uwaterloo.ca/\-$\sim$cforall/\-Conversions/\-index.html}}, 1812 1812 month = {Nov}, 1813 1813 year = {2002}, … … 1877 1877 title = {CS343}, 1878 1878 year = 2018, 1879 howpublished= {\href{https://www.student.cs.uwaterloo.ca/~cs343}{https://\-www.student.cs.uwaterloo.ca/\- ~cs343}},1879 howpublished= {\href{https://www.student.cs.uwaterloo.ca/~cs343}{https://\-www.student.cs.uwaterloo.ca/\-$\sim$cs343}}, 1880 1880 } 1881 1881 … … 4144 4144 month = sep, 4145 4145 year = 2006, 4146 note = {\textsf{http://cs.anu.edu.au/\- \char`\~Robin.Garner/\-mmtk-guide.pdf}},4146 note = {\textsf{http://cs.anu.edu.au/\-$\sim$Robin.Garner/\-mmtk-guide.pdf}}, 4147 4147 } 4148 4148 … … 4248 4248 month = sep, 4249 4249 year = 1994, 4250 note = { {\small\textsf{ftp://\-plg.uwaterloo.ca/\-pub/\-uSystem/\-uSystem.ps.gz}}},4250 note = {\href{https://plg.uwaterloo.ca/~usystem/pub/uSystem/uSystem.pdf}{https://\-plg.uwaterloo.ca/\-$\sim$usystem/\-pub/\-uSystem/\-uSystem.pdf}}, 4251 4251 } 4252 4252 … … 4790 4790 year = 1995, 4791 4791 number = 31, 4792 note = {{\small\textsf{http://\-www.cs.wustl.edu/\- \char`\~schmidt/\-PDF/\-IPC\_SAP-92.pdf}}},4792 note = {{\small\textsf{http://\-www.cs.wustl.edu/\-$\sim$schmidt/\-PDF/\-IPC\_SAP-92.pdf}}}, 4793 4793 } 4794 4794 … … 6132 6132 month = apr, 6133 6133 type = {Diplomarbeit}, 6134 note = {\href{ ftp://plg.uwaterloo.ca/pub/theses/SchusterThesis.ps.gz}{ftp://\-plg.uwaterloo.ca/\-pub/\-theses/\-SchusterThesis.ps.gz}},6134 note = {\href{https://plg.uwaterloo.ca/~usystem/theses/SchusterThesis.pdf}{https://\-plg.uwaterloo.ca/\-$\sim$usystem/\-theses/\-SchusterThesis.pdf}}, 6135 6135 } 6136 6136 -
doc/papers/concurrency/Makefile
r6cb935d ra29c6e2 4 4 Figures = figures 5 5 Macros = ../AMA/AMA-stix/ama 6 TeXLIB = .: annex:../../LaTeXmacros:${Macros}:${Build}:../../bibliography:6 TeXLIB = .:../../LaTeXmacros:${Macros}:${Build}: 7 7 LaTeX = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${Build} 8 BibTeX = BIBINPUTS= ${TeXLIB}&& export BIBINPUTS && bibtex8 BibTeX = BIBINPUTS=annex:../../bibliography: && export BIBINPUTS && bibtex 9 9 10 10 MAKEFLAGS = --no-print-directory # --silent -
doc/papers/general/Makefile
r6cb935d ra29c6e2 4 4 Figures = figures 5 5 Macros = ../AMA/AMA-stix/ama 6 TeXLIB = .:${Macros}:${Build}: ../../bibliography:6 TeXLIB = .:${Macros}:${Build}: 7 7 LaTeX = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${Build} 8 BibTeX = BIBINPUTS= ${TeXLIB}&& export BIBINPUTS && bibtex8 BibTeX = BIBINPUTS=../../bibliography: && export BIBINPUTS && bibtex 9 9 10 10 MAKEFLAGS = --no-print-directory # --silent -
doc/user/Makefile
r6cb935d ra29c6e2 4 4 Figures = figures 5 5 Macros = ../LaTeXmacros 6 TeXLIB = .:${Macros}:${Build}: ../bibliography:6 TeXLIB = .:${Macros}:${Build}: 7 7 LaTeX = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${Build} 8 BibTeX = BIBINPUTS= ${TeXLIB}&& export BIBINPUTS && bibtex8 BibTeX = BIBINPUTS=../bibliography: && export BIBINPUTS && bibtex 9 9 10 10 MAKEFLAGS = --no-print-directory --silent # -
driver/cfa.cc
r6cb935d ra29c6e2 10 10 // Created On : Tue Aug 20 13:44:49 2002 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Sep 3 16:47:59 201813 // Update Count : 27 512 // Last Modified On : Fri Sep 14 23:02:59 2018 13 // Update Count : 277 14 14 // 15 15 … … 114 114 bool std_flag = false; // -std= flag 115 115 bool noincstd_flag = false; // -no-include-stdhdr= flag 116 bool xflag = false; // user supplied -x flag117 116 bool debugging __attribute(( unused )) = false; // -g flag 118 117 bool m32 = false; // -m32 flag … … 291 290 } // if 292 291 nonoptarg = true; 293 xflag = false;294 292 } // if 295 293 } // for 296 294 297 args[nargs] = "-x"; // turn off language295 args[nargs] = "-x"; // turn off language 298 296 nargs += 1; 299 297 args[nargs] = "none"; -
libcfa/src/time.hfa
r6cb935d ra29c6e2 10 10 // Created On : Wed Mar 14 23:18:57 2018 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 11 13:55:33201813 // Update Count : 64 212 // Last Modified On : Sat Sep 22 12:25:34 2018 13 // Update Count : 643 14 14 // 15 15 … … 23 23 #include <sys/time.h> // timeval 24 24 } 25 #include <time_t.hfa> 25 #include <time_t.hfa> // Duration/Time types 26 26 27 27 enum { TIMEGRAN = 1_000_000_000LL }; // nanosecond granularity, except for timeval … … 104 104 105 105 timeval ?=?( timeval & t, zero_t ) { return t{ 0 }; } 106 timeval ?+?( timeval &lhs, timeval rhs ) { return (timeval)@{ lhs.tv_sec + rhs.tv_sec, lhs.tv_usec + rhs.tv_usec }; }107 timeval ?-?( timeval &lhs, timeval rhs ) { return (timeval)@{ lhs.tv_sec - rhs.tv_sec, lhs.tv_usec - rhs.tv_usec }; }106 timeval ?+?( timeval lhs, timeval rhs ) { return (timeval)@{ lhs.tv_sec + rhs.tv_sec, lhs.tv_usec + rhs.tv_usec }; } 107 timeval ?-?( timeval lhs, timeval rhs ) { return (timeval)@{ lhs.tv_sec - rhs.tv_sec, lhs.tv_usec - rhs.tv_usec }; } 108 108 bool ?==?( timeval lhs, timeval rhs ) { return lhs.tv_sec == rhs.tv_sec && lhs.tv_usec == rhs.tv_usec; } 109 109 bool ?!=?( timeval lhs, timeval rhs ) { return lhs.tv_sec != rhs.tv_sec || lhs.tv_usec != rhs.tv_usec; } … … 119 119 120 120 timespec ?=?( timespec & t, zero_t ) { return t{ 0 }; } 121 timespec ?+?( timespec &lhs, timespec rhs ) { return (timespec)@{ lhs.tv_sec + rhs.tv_sec, lhs.tv_nsec + rhs.tv_nsec }; }122 timespec ?-?( timespec &lhs, timespec rhs ) { return (timespec)@{ lhs.tv_sec - rhs.tv_sec, lhs.tv_nsec - rhs.tv_nsec }; }121 timespec ?+?( timespec lhs, timespec rhs ) { return (timespec)@{ lhs.tv_sec + rhs.tv_sec, lhs.tv_nsec + rhs.tv_nsec }; } 122 timespec ?-?( timespec lhs, timespec rhs ) { return (timespec)@{ lhs.tv_sec - rhs.tv_sec, lhs.tv_nsec - rhs.tv_nsec }; } 123 123 bool ?==?( timespec lhs, timespec rhs ) { return lhs.tv_sec == rhs.tv_sec && lhs.tv_nsec == rhs.tv_nsec; } 124 124 bool ?!=?( timespec lhs, timespec rhs ) { return lhs.tv_sec != rhs.tv_sec || lhs.tv_nsec != rhs.tv_nsec; } -
src/CodeTools/ResolvProtoDump.cc
r6cb935d ra29c6e2 204 204 /// ensures type inst names are uppercase 205 205 static void ti_name( const std::string& name, std::stringstream& ss ) { 206 // replace built-in wide character types with named types 207 if ( name == "char16_t" || name == "char32_t" || name == "wchar_t" ) { 208 ss << "#" << name; 209 return; 210 } 211 212 // strip leading underscore 206 213 unsigned i = 0; 207 214 while ( i < name.size() && name[i] == '_' ) { ++i; } … … 210 217 return; 211 218 } 212 ss << (char)std::toupper( static_cast<unsigned char>(name[i]) ) 213 << (name.c_str() + i + 1); 219 220 std::string stripped = name.substr(i); 221 // strip trailing "_generic_" from autogen names (avoids some user-generation issues) 222 char generic[] = "_generic_"; size_t n_generic = sizeof(generic) - 1; 223 if ( stripped.size() >= n_generic 224 && stripped.substr( stripped.size() - n_generic ) == generic ) { 225 stripped.resize( stripped.size() - n_generic ); 226 } 227 228 // uppercase first character 229 ss << (char)std::toupper( static_cast<unsigned char>(stripped[0]) ) 230 << (stripped.c_str() + 1); 214 231 } 215 232 … … 304 321 } 305 322 306 // TODO support VarArgsType 323 // TODO support variable args for functions 324 void previsit( VarArgsType* ) { 325 // only include varargs for top level (argument type) 326 if ( depth == 0 ) { ss << "#$varargs"; } 327 } 307 328 308 329 // replace 0 and 1 with int … … 397 418 } 398 419 420 /// Handle already-resolved variables as type constants 421 void previsit( VariableExpr* expr ) { 422 PassVisitor<TypePrinter> tyPrinter{ closed, ss }; 423 expr->var->get_type()->accept( tyPrinter ); 424 visit_children = false; 425 } 426 399 427 /// Calls handled as calls 400 428 void previsit( UntypedExpr* expr ) { … … 426 454 } 427 455 428 /// Already-resolved calls skipped 429 void previsit( ApplicationExpr* ) { 456 /// Already-resolved calls reduced to their type constant 457 void previsit( ApplicationExpr* expr ) { 458 PassVisitor<TypePrinter> tyPrinter{ closed, ss }; 459 expr->result->accept( tyPrinter ); 430 460 visit_children = false; 431 461 } … … 532 562 for ( Initializer* it : li->initializers ) { 533 563 build( it, ss ); 534 ss << ' ';535 564 } 536 565 } … … 539 568 /// Adds an object initializer to the list of expressions 540 569 void build( const std::string& name, Initializer* init, std::stringstream& ss ) { 541 ss << "$constructor( ";570 ss << "$constructor( &"; 542 571 rp_name( name, ss ); 543 ss << "() ";572 ss << ' '; 544 573 build( init, ss ); 545 574 ss << ')'; … … 676 705 } 677 706 707 void previsit( AsmStmt* ) { 708 // skip asm statements 709 visit_children = false; 710 } 711 678 712 void previsit( Expression* expr ) { 679 713 std::stringstream ss; … … 686 720 /// Print non-prelude global declarations for resolv proto 687 721 void printGlobals() const { 688 std::cout << "# ptr<T> $addr T" << std::endl; // &?722 std::cout << "#$ptr<T> $addr T" << std::endl; // &? 689 723 int i = (int)BasicType::SignedInt; 690 724 std::cout << i << " $and " << i << ' ' << i << std::endl; // ?&&? -
src/SynTree/Constant.cc
r6cb935d ra29c6e2 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Fri Jul 14 14:50:00 201713 // Update Count : 2912 // Last Modified On : Fri Spt 28 14:49:00 2018 13 // Update Count : 30 14 14 // 15 15 … … 19 19 20 20 #include "Constant.h" 21 #include "Expression.h" // for ConstantExpr 21 22 #include "Type.h" // for BasicType, Type, Type::Qualifiers, PointerType 22 23 … … 48 49 Constant Constant::from_double( double d ) { 49 50 return Constant( new BasicType( Type::Qualifiers(), BasicType::Double ), std::to_string( d ), d ); 51 } 52 53 Constant Constant::from_string( std::string const & str ) { 54 return Constant( 55 new ArrayType( 56 noQualifiers, 57 new BasicType( Type::Qualifiers( Type::Const ), BasicType::Char ), 58 new ConstantExpr( Constant::from_int( str.size() + 1 /* \0 */ )), 59 false, false ), 60 std::string("\"") + str + "\"", (unsigned long long int)0 ); 50 61 } 51 62 -
src/SynTree/Constant.h
r6cb935d ra29c6e2 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Sat Jul 22 09:54:46 201713 // Update Count : 1 711 // Last Modified By : Andrew Beach 12 // Last Modified On : Fri Spt 28 14:48:00 2018 13 // Update Count : 18 14 14 // 15 15 … … 51 51 /// generates a floating point constant of the given double 52 52 static Constant from_double( double d ); 53 /// generates an array of chars constant of the given string 54 static Constant from_string( std::string const & s ); 53 55 54 56 /// generates a null pointer value for the given type. void * if omitted. -
tests/.expect/forctrl.txt
r6cb935d ra29c6e2 22 22 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9) 23 23 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9) 24 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9) -
tests/concurrent/coroutineYield.c
r6cb935d ra29c6e2 1 1 #include <fstream.hfa> 2 #include <kernel.hfa> hfa>2 #include <kernel.hfa> 3 3 #include <stdlib.hfa> 4 4 #include <thread.hfa> -
tests/concurrent/preempt.c
r6cb935d ra29c6e2 1 #include <kernel.hfa> hfa>1 #include <kernel.hfa> 2 2 #include <thread.hfa> 3 3 #include <time.hfa> -
tests/concurrent/signal/block.c
r6cb935d ra29c6e2 8 8 9 9 #include <fstream.hfa> 10 #include <kernel.hfa> hfa>10 #include <kernel.hfa> 11 11 #include <monitor.hfa> 12 12 #include <stdlib.hfa> -
tests/concurrent/signal/disjoint.c
r6cb935d ra29c6e2 1 1 #include <fstream.hfa> 2 #include <kernel.hfa> hfa>2 #include <kernel.hfa> 3 3 #include <monitor.hfa> 4 4 #include <thread.hfa> -
tests/concurrent/signal/wait.c
r6cb935d ra29c6e2 6 6 7 7 #include <fstream.hfa> 8 #include <kernel.hfa> hfa>8 #include <kernel.hfa> 9 9 #include <monitor.hfa> 10 10 #include <stdlib.hfa> -
tests/forctrl.c
r6cb935d ra29c6e2 10 10 // Created On : Wed Aug 8 18:32:59 2018 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Aug 30 17:12:12201813 // Update Count : 4 312 // Last Modified On : Tue Sep 25 17:43:47 2018 13 // Update Count : 44 14 14 // 15 15 … … 59 59 60 60 for ( S s = (S){0}; s < (S){10,10}; s += (S){1} ) { sout | s; } sout | endl; 61 //for ( s; (S){10,10} ) { sout | s; } sout | endl;61 for ( s; (S){10,10} ) { sout | s; } sout | endl; 62 62 for ( s; (S){0} ~ (S){10,10} ) { sout | s; } sout | endl; 63 63 for ( s; (S){0} ~ (S){10,10} ~ (S){1} ) { sout | s; } sout | endl;
Note: See TracChangeset
for help on using the changeset viewer.