Index: .gitignore
===================================================================
--- .gitignore	(revision 7c9ac4af78fda11cf4e9558899fd4764524f22f5)
+++ .gitignore	(revision 69d17484515f7e3df1c7e777114ed4c355538be3)
@@ -48,8 +48,11 @@
 libcfa/x64-debug/
 libcfa/x64-nodebug/
+libcfa/x64-nolib/
 libcfa/x86-debug/
 libcfa/x86-nodebug/
-libcfa/arm64-debug/
-libcfa/arm64-nodebug/
+libcfa/x86-nolib/
+libcfa/arm-debug/
+libcfa/arm-nodebug/
+libcfa/arm-nolib/
 
 # generated by bison and lex from parser.yy and lex.ll
Index: doc/theses/andrew_beach_MMath/cfalab.sty
===================================================================
--- doc/theses/andrew_beach_MMath/cfalab.sty	(revision 7c9ac4af78fda11cf4e9558899fd4764524f22f5)
+++ doc/theses/andrew_beach_MMath/cfalab.sty	(revision 69d17484515f7e3df1c7e777114ed4c355538be3)
@@ -72,13 +72,3 @@
     \renewcommand\textunderscore{\csuse{cfalab@textunderscore@#1}}}
 
-% This is executed very early in the \begin{document} code.
-\AtEndPreamble{
-  \@ifpackageloaded{hyperref}{
-    % Convert symbols to pdf compatable forms when required.
-    \pdfstringdefDisableCommands{
-      \def\CFA{CFA}
-    }
-  }{}
-}
-
 \endinput
Index: c/theses/andrew_beach_MMath/future.tex
===================================================================
--- doc/theses/andrew_beach_MMath/future.tex	(revision 7c9ac4af78fda11cf4e9558899fd4764524f22f5)
+++ 	(revision )
@@ -1,100 +1,0 @@
-\chapter{Future Work}
-
-\section{Complete Virtual System}
-The virtual system should be completed. It was never supposed to be part of
-this project and so minimal work was done on it. A draft of what the complete
-system might look like was created but it was never finalized or implemented.
-A future project in \CFA would be to complete that work and to update the
-parts of the exception system that use the current version.
-
-For instance a full virtual system would probably allow for several
-improvements to the exception traits. Although they do currently work they
-could be made easier to use by making the virtual table type implitate in the
-trait (which would remove the need for those wrapper marcos) or allowing
-for assertions that give the layout of a virtual table for safety.
-
-\section{Additional Throws}
-Several other kinds of throws, beyond the termination throw (\codeCFA{throw}),
-the resumption throw (\codeCFA{throwResume}) and the re-throws, were considered.
-None were as useful as the core throws but they would likely be worth
-revising.
-
-The first ones are throws for asynchronous exceptions, throwing exceptions
-from one stack to another. These act like signals allowing for communication
-between the stacks. This is usually used with resumption as it allows the
-target stack to continue execution normally after the exception has been
-handled.
-
-This would much more coordination between the concurrency system and the
-exception system to handle. Most of the interesting design decisions around
-applying asynchronous exceptions appear to be around masking (controlling
-which exceptions may be thrown at a stack). It would likely require more of
-the virtual system and would also effect how default handlers are set.
-
-The other throws were designed to mimic bidirectional algebraic effects.
-Algebraic effects are used in some functional languages and allow a function
-to have another function on the stack resolve an effect (which is defined with
-a function-like interface).
-These can be mimiced with resumptions and the the new throws were designed
-to try and mimic bidirectional algebraic effects, where control can go back
-and forth between the function effect caller and handler while the effect
-is underway.
-% resume-top & resume-reply
-
-These throws would likely be just like the resumption throw except they would
-use different search patterns to find the handler to reply to.
-
-\section{Zero-Cost Exceptions}
-\CFA does not have zero-cost exceptions because it does not generate assembly
-but instead generates C code. See the implementation section. When the
-compiler does start to create its own assembly (or LLVM byte code) then
-zero-cost exceptions could be implemented.
-
-Now in zero-cost exceptions the only part that is zero-cost are the try
-blocks. Some research could be done into the alternative methods for systems
-that expect a lot more exceptions to be thrown, allowing some overhead in
-entering and leaving try blocks to make throws faster. But while exceptions
-remain exceptional the libunwind model will probably remain the most effective
-option.
-
-Zero-cost resumptions have more problems to solve. First because libunwind
-does not support a successful exiting stack search without doing an unwind.
-There are several ways to hack that functionality in. Ideally an extension to
-libunwind could be made, but that would either require seperate maintenance
-or gain enough support to have it folded into the standard.
-
-Also new techniques to skip previously searched parts of the stack will have
-to be developed.
-
-\section{Support for More Platforms}
-Termination is not portable because it is implemented with inline assembly.
-Those sections will have to be rewritten to support different architectures
-
-\section{Quality-of-Life Improvements}
-Finally come various improvements to the usability of \CFA. Most of these
-would just require time. Time that would not lead to interesting research so
-it has been left aside for now. A few examples are included here but there
-are more:
-
-\begin{itemize}
-\item Allowing exception handler to bind the exception to a reference instead
-of a pointer. This should actually result in no change in behaviour so there
-is no reason not to allow it. It is however a small improvement; giving a bit
-of flexibility to the user in what style they want to use.
-\item Enabling local control flow (by \codeCFA{break}, \codeCFA{return} and
-similar statements) out of a termination handler. The current set-up makes
-this very difficult but the catch function that runs the handler after it has
-been matched could be inlined into the function's body, which would make this
-much easier. (To do the same for try blocks would probably wait for zero-cost
-exceptions, which would allow the try block to be inlined as well.)
-\item Enabling local control flow out of a resumption handler. This would be
-a weighty operation, causing a stack unwind like a termination, so there might
-be a different statement or a statement modifier to make sure the user does
-this purposefully.
-
-However this would require the more complex system as they cannot be inlined
-into the original function as they can be run at a different place on the
-stack. So instead the unwinding will have to carry with it information on
-which one of these points to continue at and possibly also the return value
-for the function if a \codeCFA{return} statement was used.
-\end{itemize}
Index: driver/cc1.cc
===================================================================
--- driver/cc1.cc	(revision 7c9ac4af78fda11cf4e9558899fd4764524f22f5)
+++ driver/cc1.cc	(revision 69d17484515f7e3df1c7e777114ed4c355538be3)
@@ -10,6 +10,6 @@
 // Created On       : Fri Aug 26 14:23:51 2005
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Nov 17 14:27:08 2020
-// Update Count     : 414
+// Last Modified On : Sun Aug 16 21:03:02 2020
+// Update Count     : 413
 //
 
@@ -97,5 +97,5 @@
 			} else if ( val == "-CFA" ) {
 				CFA_flag = true;
-			} else if ( val == "-save-temps" || val == "--save-temps" ) {
+			} else if ( val == "-save-temps" ) {
 				save_temps = true;
 			} else if ( prefix( val, "-o=" ) ) {		// output file for -CFA
Index: driver/cfa.cc
===================================================================
--- driver/cfa.cc	(revision 7c9ac4af78fda11cf4e9558899fd4764524f22f5)
+++ driver/cfa.cc	(revision 69d17484515f7e3df1c7e777114ed4c355538be3)
@@ -10,6 +10,6 @@
 // Created On       : Tue Aug 20 13:44:49 2002
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Nov 17 14:27:28 2020
-// Update Count     : 440
+// Last Modified On : Wed Sep  2 17:59:20 2020
+// Update Count     : 438
 //
 
@@ -231,5 +231,5 @@
 				debugging = true;						// symbolic debugging required
 				args[nargs++] = argv[i];				// pass flag along
-			} else if ( arg == "-save-temps" || arg == "--save-temps" ) {
+			} else if ( arg == "-save-temps" ) {
 				args[nargs++] = argv[i];				// pass flag along
 				Putenv( argv, arg );					// save cfa-cpp output
Index: sts/.expect/manipulatorsOutput2.arm64.txt
===================================================================
--- tests/.expect/manipulatorsOutput2.arm64.txt	(revision 7c9ac4af78fda11cf4e9558899fd4764524f22f5)
+++ 	(revision )
@@ -1,32 +1,0 @@
-
-0b0 0b11011 0b11011 0b11011 0b11011
-0b11100101 0b1111111111100101 0b11111111111111111111111111100101 0b11111111111111111111111111100101
-0 033 033 033 033
-0345 0177745 037777777745 037777777745
-0 0x1b 0x1b 0x1b 0x1b
-0xe5 0xffe5 0xffffffe5 0xffffffe5
-0x0p+0. 0x1.b8p+4 0x1.b8p+4 0xd.cp+1
--0x1.b8p+4 -0x1.b8p+4 -0xd.cp+1
-0.000000e+00 2.750000e+01 -2.750000e+01
-0B11011 0X1B 2.75E-09 0X1.B8P+4
-11011 33 1b
-0. 0 27. 27 27.5
-+27 -27 +27 -27 +27.5 -27.5
-  34  34 34
-  4.000000  4.000000 4.000000
-  ab  ab ab
-34567 34567 34567
-3456.000000 3456.000000 3456.000000
-abcde abcde abcde
- 034     0034 0000000034
-3456     3456       3456
-     0000000034
-27.500     27.5      28. 27.50000000
-27.000 27.500     27.5      28. 27.50000000
-27   27.000000  27.500000  027  27.500    
-234.567 234.57  234.6   235.
-234567. 2.3457e+05 2.346e+05 2.35e+05
-234567. 234567. 234567. 234567.
-  abcd     abcd abcd
-  abcd abcdefgh    abc
-0027  027 0027.500
Index: tests/manipulatorsOutput2.cfa
===================================================================
--- tests/manipulatorsOutput2.cfa	(revision 7c9ac4af78fda11cf4e9558899fd4764524f22f5)
+++ tests/manipulatorsOutput2.cfa	(revision 69d17484515f7e3df1c7e777114ed4c355538be3)
@@ -7,6 +7,6 @@
 // Created On       : Sat Jun  8 18:04:11 2019
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun Nov 15 08:11:53 2020
-// Update Count     : 9
+// Last Modified On : Mon Jun 10 12:37:57 2019
+// Update Count     : 8
 // 
 
@@ -52,4 +52,4 @@
 // Local Variables: //
 // tab-width: 4 //
-// compile-command: "cfa -Wall -Wextra manipulatorsOutput2.cfa" //
+// compile-command: "cfa -Wall -Wextra amanipulatorsOutput2.cfa" //
 // End: //
