Changes in / [a29c6e2:6cb935d]
- Files:
-
- 16 edited
-
doc/bibliography/pl.bib (modified) (10 diffs)
-
doc/papers/concurrency/Makefile (modified) (1 diff)
-
doc/papers/general/Makefile (modified) (1 diff)
-
doc/user/Makefile (modified) (1 diff)
-
driver/cfa.cc (modified) (3 diffs)
-
libcfa/src/time.hfa (modified) (4 diffs)
-
src/CodeTools/ResolvProtoDump.cc (modified) (9 diffs)
-
src/SynTree/Constant.cc (modified) (3 diffs)
-
src/SynTree/Constant.h (modified) (2 diffs)
-
tests/.expect/forctrl.txt (modified) (1 diff)
-
tests/concurrent/coroutineYield.c (modified) (1 diff)
-
tests/concurrent/preempt.c (modified) (1 diff)
-
tests/concurrent/signal/block.c (modified) (1 diff)
-
tests/concurrent/signal/disjoint.c (modified) (1 diff)
-
tests/concurrent/signal/wait.c (modified) (1 diff)
-
tests/forctrl.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
doc/bibliography/pl.bib
ra29c6e2 r6cb935d 830 830 month = oct, 831 831 type = {Diplomarbeit}, 832 note = { \href{https://plg.uwaterloo.ca/~usystem/theses/KrischerThesis.pdf}{https://\-plg.uwaterloo.ca/\-$\sim$usystem/\-theses/\-KrischerThesis.pdf}},832 note = {{\small\textsf{ftp://\-plg.uwaterloo.ca/\-pub/\-theses/\-KrischerThesis.ps.gz}}}, 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/\- $\sim$cforall/\-features}},927 howpublished= {\href{https://plg.uwaterloo.ca/~cforall/features}{https://\-plg.uwaterloo.ca/\-~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/\- $\sim$cforall/\-cfa.ps}},1103 note = {\href{http://plg.uwaterloo.ca/~cforall/cfa.ps}{http://\-plg.uwaterloo.ca/\-\char`\~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/\- $\sim$usystem/\-pub/\-uSystem/uC++.pdf}},1518 note = {\href{https://plg.uwaterloo.ca/~usystem/pub/uSystem/uC++.pdf}{https://\-plg.uwaterloo.ca/\-~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/\- $\sim$cforall/\-Conversions/\-index.html}},1811 note = {\href{http://plg.uwaterloo.ca/~cforall/Conversions/index.html}{http://\-plg.uwaterloo.ca/\-\textasciitilde 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/\- $\sim$cs343}},1879 howpublished= {\href{https://www.student.cs.uwaterloo.ca/~cs343}{https://\-www.student.cs.uwaterloo.ca/\-~cs343}}, 1880 1880 } 1881 1881 … … 4144 4144 month = sep, 4145 4145 year = 2006, 4146 note = {\textsf{http://cs.anu.edu.au/\- $\sim$Robin.Garner/\-mmtk-guide.pdf}},4146 note = {\textsf{http://cs.anu.edu.au/\-\char`\~Robin.Garner/\-mmtk-guide.pdf}}, 4147 4147 } 4148 4148 … … 4248 4248 month = sep, 4249 4249 year = 1994, 4250 note = { \href{https://plg.uwaterloo.ca/~usystem/pub/uSystem/uSystem.pdf}{https://\-plg.uwaterloo.ca/\-$\sim$usystem/\-pub/\-uSystem/\-uSystem.pdf}},4250 note = {{\small\textsf{ftp://\-plg.uwaterloo.ca/\-pub/\-uSystem/\-uSystem.ps.gz}}}, 4251 4251 } 4252 4252 … … 4790 4790 year = 1995, 4791 4791 number = 31, 4792 note = {{\small\textsf{http://\-www.cs.wustl.edu/\- $\sim$schmidt/\-PDF/\-IPC\_SAP-92.pdf}}},4792 note = {{\small\textsf{http://\-www.cs.wustl.edu/\-\char`\~schmidt/\-PDF/\-IPC\_SAP-92.pdf}}}, 4793 4793 } 4794 4794 … … 6132 6132 month = apr, 6133 6133 type = {Diplomarbeit}, 6134 note = {\href{ https://plg.uwaterloo.ca/~usystem/theses/SchusterThesis.pdf}{https://\-plg.uwaterloo.ca/\-$\sim$usystem/\-theses/\-SchusterThesis.pdf}},6134 note = {\href{ftp://plg.uwaterloo.ca/pub/theses/SchusterThesis.ps.gz}{ftp://\-plg.uwaterloo.ca/\-pub/\-theses/\-SchusterThesis.ps.gz}}, 6135 6135 } 6136 6136 -
doc/papers/concurrency/Makefile
ra29c6e2 r6cb935d 4 4 Figures = figures 5 5 Macros = ../AMA/AMA-stix/ama 6 TeXLIB = .: ../../LaTeXmacros:${Macros}:${Build}:6 TeXLIB = .:annex:../../LaTeXmacros:${Macros}:${Build}:../../bibliography: 7 7 LaTeX = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${Build} 8 BibTeX = BIBINPUTS= annex:../../bibliography:&& export BIBINPUTS && bibtex8 BibTeX = BIBINPUTS=${TeXLIB} && export BIBINPUTS && bibtex 9 9 10 10 MAKEFLAGS = --no-print-directory # --silent -
doc/papers/general/Makefile
ra29c6e2 r6cb935d 4 4 Figures = figures 5 5 Macros = ../AMA/AMA-stix/ama 6 TeXLIB = .:${Macros}:${Build}: 6 TeXLIB = .:${Macros}:${Build}:../../bibliography: 7 7 LaTeX = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${Build} 8 BibTeX = BIBINPUTS= ../../bibliography:&& export BIBINPUTS && bibtex8 BibTeX = BIBINPUTS=${TeXLIB} && export BIBINPUTS && bibtex 9 9 10 10 MAKEFLAGS = --no-print-directory # --silent -
doc/user/Makefile
ra29c6e2 r6cb935d 4 4 Figures = figures 5 5 Macros = ../LaTeXmacros 6 TeXLIB = .:${Macros}:${Build}: 6 TeXLIB = .:${Macros}:${Build}:../bibliography: 7 7 LaTeX = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${Build} 8 BibTeX = BIBINPUTS= ../bibliography:&& export BIBINPUTS && bibtex8 BibTeX = BIBINPUTS=${TeXLIB} && export BIBINPUTS && bibtex 9 9 10 10 MAKEFLAGS = --no-print-directory --silent # -
driver/cfa.cc
ra29c6e2 r6cb935d 10 10 // Created On : Tue Aug 20 13:44:49 2002 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Sep 14 23:02:59 201813 // Update Count : 27 712 // Last Modified On : Mon Sep 3 16:47:59 2018 13 // Update Count : 275 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 flag 116 117 bool debugging __attribute(( unused )) = false; // -g flag 117 118 bool m32 = false; // -m32 flag … … 290 291 } // if 291 292 nonoptarg = true; 293 xflag = false; 292 294 } // if 293 295 } // for 294 296 295 args[nargs] = "-x"; // turn off language297 args[nargs] = "-x"; // turn off language 296 298 nargs += 1; 297 299 args[nargs] = "none"; -
libcfa/src/time.hfa
ra29c6e2 r6cb935d 10 10 // Created On : Wed Mar 14 23:18:57 2018 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Sep 22 12:25:34201813 // Update Count : 64 312 // Last Modified On : Sat Aug 11 13:55:33 2018 13 // Update Count : 642 14 14 // 15 15 … … 23 23 #include <sys/time.h> // timeval 24 24 } 25 #include <time_t.hfa> // Duration/Time types25 #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
ra29c6e2 r6cb935d 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 types207 if ( name == "char16_t" || name == "char32_t" || name == "wchar_t" ) {208 ss << "#" << name;209 return;210 }211 212 // strip leading underscore213 206 unsigned i = 0; 214 207 while ( i < name.size() && name[i] == '_' ) { ++i; } … … 217 210 return; 218 211 } 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); 212 ss << (char)std::toupper( static_cast<unsigned char>(name[i]) ) 213 << (name.c_str() + i + 1); 231 214 } 232 215 … … 321 304 } 322 305 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 } 306 // TODO support VarArgsType 328 307 329 308 // replace 0 and 1 with int … … 418 397 } 419 398 420 /// Handle already-resolved variables as type constants421 void previsit( VariableExpr* expr ) {422 PassVisitor<TypePrinter> tyPrinter{ closed, ss };423 expr->var->get_type()->accept( tyPrinter );424 visit_children = false;425 }426 427 399 /// Calls handled as calls 428 400 void previsit( UntypedExpr* expr ) { … … 454 426 } 455 427 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 ); 428 /// Already-resolved calls skipped 429 void previsit( ApplicationExpr* ) { 460 430 visit_children = false; 461 431 } … … 562 532 for ( Initializer* it : li->initializers ) { 563 533 build( it, ss ); 534 ss << ' '; 564 535 } 565 536 } … … 568 539 /// Adds an object initializer to the list of expressions 569 540 void build( const std::string& name, Initializer* init, std::stringstream& ss ) { 570 ss << "$constructor( &";541 ss << "$constructor( "; 571 542 rp_name( name, ss ); 572 ss << ' ';543 ss << "() "; 573 544 build( init, ss ); 574 545 ss << ')'; … … 705 676 } 706 677 707 void previsit( AsmStmt* ) {708 // skip asm statements709 visit_children = false;710 }711 712 678 void previsit( Expression* expr ) { 713 679 std::stringstream ss; … … 720 686 /// Print non-prelude global declarations for resolv proto 721 687 void printGlobals() const { 722 std::cout << "# $ptr<T> $addr T" << std::endl; // &?688 std::cout << "#ptr<T> $addr T" << std::endl; // &? 723 689 int i = (int)BasicType::SignedInt; 724 690 std::cout << i << " $and " << i << ' ' << i << std::endl; // ?&&? -
src/SynTree/Constant.cc
ra29c6e2 r6cb935d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Fri Spt 28 14:49:00 201813 // Update Count : 3012 // Last Modified On : Fri Jul 14 14:50:00 2017 13 // Update Count : 29 14 14 // 15 15 … … 19 19 20 20 #include "Constant.h" 21 #include "Expression.h" // for ConstantExpr22 21 #include "Type.h" // for BasicType, Type, Type::Qualifiers, PointerType 23 22 … … 49 48 Constant Constant::from_double( double d ) { 50 49 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 );61 50 } 62 51 -
src/SynTree/Constant.h
ra29c6e2 r6cb935d 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Andrew Beach12 // Last Modified On : Fri Spt 28 14:48:00 201813 // Update Count : 1 811 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jul 22 09:54:46 2017 13 // Update Count : 17 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 string54 static Constant from_string( std::string const & s );55 53 56 54 /// generates a null pointer value for the given type. void * if omitted. -
tests/.expect/forctrl.txt
ra29c6e2 r6cb935d 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
ra29c6e2 r6cb935d 1 1 #include <fstream.hfa> 2 #include <kernel.hfa> 2 #include <kernel.hfa>hfa> 3 3 #include <stdlib.hfa> 4 4 #include <thread.hfa> -
tests/concurrent/preempt.c
ra29c6e2 r6cb935d 1 #include <kernel.hfa> 1 #include <kernel.hfa>hfa> 2 2 #include <thread.hfa> 3 3 #include <time.hfa> -
tests/concurrent/signal/block.c
ra29c6e2 r6cb935d 8 8 9 9 #include <fstream.hfa> 10 #include <kernel.hfa> 10 #include <kernel.hfa>hfa> 11 11 #include <monitor.hfa> 12 12 #include <stdlib.hfa> -
tests/concurrent/signal/disjoint.c
ra29c6e2 r6cb935d 1 1 #include <fstream.hfa> 2 #include <kernel.hfa> 2 #include <kernel.hfa>hfa> 3 3 #include <monitor.hfa> 4 4 #include <thread.hfa> -
tests/concurrent/signal/wait.c
ra29c6e2 r6cb935d 6 6 7 7 #include <fstream.hfa> 8 #include <kernel.hfa> 8 #include <kernel.hfa>hfa> 9 9 #include <monitor.hfa> 10 10 #include <stdlib.hfa> -
tests/forctrl.c
ra29c6e2 r6cb935d 10 10 // Created On : Wed Aug 8 18:32:59 2018 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T ue Sep 25 17:43:47201813 // Update Count : 4 412 // Last Modified On : Thu Aug 30 17:12:12 2018 13 // Update Count : 43 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.