Index: Jenkinsfile
===================================================================
--- Jenkinsfile	(revision 0bf5340a5746391f536eae5f3f11ca78878925ec)
+++ Jenkinsfile	(revision 216597dc79087a8783d8e29a32d471445b0aa5ad)
@@ -155,17 +155,26 @@
 
 def test() {
-	build_stage('Test: short', !Settings.RunAllTests) {
+	try {
+		build_stage('Test: short', !Settings.RunAllTests) {
+			dir (BuildDir) {
+				//Run the tests from the tests directory
+				sh "make --no-print-directory -C tests archiveerrors=${BuildDir}/tests/crashes/short"
+			}
+		}
+
+		build_stage('Test: full', Settings.RunAllTests) {
+			dir (BuildDir) {
+					//Run the tests from the tests directory
+					sh """make --no-print-directory -C tests timeouts="--timeout=600 --global-timeout=14400" all-tests debug=yes archiveerrors=${BuildDir}/tests/crashes/full-debug"""
+					sh """make --no-print-directory -C tests timeouts="--timeout=600 --global-timeout=14400" all-tests debug=no  archiveerrors=${BuildDir}/tests/crashes/full-nodebug"""
+			}
+		}
+	}
+	catch (Exception err) {
+		echo "Archiving core dumps"
 		dir (BuildDir) {
-			//Run the tests from the tests directory
-			sh 'make --no-print-directory -C tests'
-		}
-	}
-
-	build_stage('Test: full', Settings.RunAllTests) {
-		dir (BuildDir) {
-			//Run the tests from the tests directory
-			sh 'make --no-print-directory -C tests timeouts="--timeout=600 --global-timeout=14400" all-tests debug=yes'
-			sh 'make --no-print-directory -C tests timeouts="--timeout=600 --global-timeout=14400" all-tests debug=no '
-		}
+			archiveArtifacts artifacts: "tests/crashes/**/*", fingerprint: true
+		}
+		throw err
 	}
 }
Index: src/ResolvExpr/Unify.cc
===================================================================
--- src/ResolvExpr/Unify.cc	(revision 0bf5340a5746391f536eae5f3f11ca78878925ec)
+++ src/ResolvExpr/Unify.cc	(revision 216597dc79087a8783d8e29a32d471445b0aa5ad)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Sun May 17 12:27:10 2015
-// Last Modified By : Aaron B. Moss
-// Last Modified On : Mon Jun 18 11:58:00 2018
-// Update Count     : 43
+// Last Modified By : Andrew Beach
+// Last Modified On : Wed Sep  4 10:00:00 2019
+// Update Count     : 44
 //
 
@@ -278,5 +278,5 @@
 #endif
 			if ( ( common = commonType( type1, type2, widen.first, widen.second, indexer, env, openVars ) ) ) {
-				common->get_qualifiers() = tq1 | tq2;
+				common->tq = tq1.unify( tq2 );
 #ifdef DEBUG
 				std::cerr << "unifyInexact: common type is ";
@@ -295,5 +295,5 @@
 				if ( ( tq1 > tq2 || widen.first ) && ( tq2 > tq1 || widen.second ) ) {
 					common = type1->clone();
-					common->get_qualifiers() = tq1 | tq2;
+					common->tq = tq1.unify( tq2 );
 					result = true;
 				} else {
@@ -302,5 +302,5 @@
 			} else {
 				common = type1->clone();
-				common->get_qualifiers() = tq1 | tq2;
+				common->tq = tq1.unify( tq2 );
 				result = true;
 			} // if
Index: src/SynTree/Type.h
===================================================================
--- src/SynTree/Type.h	(revision 0bf5340a5746391f536eae5f3f11ca78878925ec)
+++ src/SynTree/Type.h	(revision 216597dc79087a8783d8e29a32d471445b0aa5ad)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Feb 14 17:11:24 2019
-// Update Count     : 169
+// Last Modified By : Andrew Beach
+// Last Modified On : Wed Sep  4 09:58:00 2019
+// Update Count     : 170
 //
 
@@ -131,4 +131,10 @@
 	 	bool operator>( Qualifiers other ) const { return *this != other && *this >= other; }
 		BFCommon( Qualifiers, NumTypeQualifier )
+
+		Qualifiers unify( Qualifiers const & other ) const {
+			int or_flags = Mask & (val | other.val);
+			int and_flags = val & other.val;
+			return Qualifiers( or_flags | and_flags );
+		}
 	}; // Qualifiers
 
Index: tests/pybin/tools.py
===================================================================
--- tests/pybin/tools.py	(revision 0bf5340a5746391f536eae5f3f11ca78878925ec)
+++ tests/pybin/tools.py	(revision 216597dc79087a8783d8e29a32d471445b0aa5ad)
@@ -311,11 +311,12 @@
 
 def core_archive(dst, name, exe):
-	# Get the files to copy
+	# Get the core dump
 	core = os.path.join(os.getcwd(), "core" )
 
-	# Uncomment if we want timestamps on coredumps
-	# dst  = os.path.join(dst, "%s_%s" % (name, pretty_now()))
+	# update the path for this test
+	dst  = os.path.join(dst, name)
 
 	# make a directory for this test
+	# mkdir makes the parent directory only so add a dummy
 	mkdir(os.path.join(dst, "dir"))
 
