Index: src/AST/Expr.cpp
===================================================================
--- src/AST/Expr.cpp	(revision 2345ab36a435b6dcc4e66d25babebf1df018b2bf)
+++ src/AST/Expr.cpp	(revision b1f2007d03a9290ff9a472f7132714791f65e6b4)
@@ -9,7 +9,7 @@
 // Author           : Aaron B. Moss
 // Created On       : Wed May 15 17:00:00 2019
-// Last Modified By : Andrew Beach
+// Last Modified By : Peter A. Buhr
 // Created On       : Wed May 18 13:56:00 2022
-// Update Count     : 8
+// Update Count     : 12
 //
 
@@ -168,6 +168,6 @@
 			return addrType( refType->base );
 		} else {
-			SemanticError( loc, arg->result.get(),
-				"Attempt to take address of non-lvalue expression: " );
+			SemanticError( loc, "Attempt to take address of non-lvalue expression %s",
+						   toString( arg->result.get() ).c_str() );
 		}
 	}
@@ -240,5 +240,6 @@
 		return 1;
 	}
-	SemanticError( this, "Constant expression of non-integral type " );
+	SemanticError( this->location, "Constant expression of non-integral type %s",
+				   toString( this ).c_str() );
 }
 
Index: src/AST/LinkageSpec.cpp
===================================================================
--- src/AST/LinkageSpec.cpp	(revision 2345ab36a435b6dcc4e66d25babebf1df018b2bf)
+++ src/AST/LinkageSpec.cpp	(revision b1f2007d03a9290ff9a472f7132714791f65e6b4)
@@ -9,7 +9,7 @@
 // Author           : Aaron B. Moss
 // Created On       : Thu May 9 10:00:00 2019
-// Last Modified By : Aaron B. Moss
-// Last Modified On : Thu May 9 10:00:00 2019
-// Update Count     : 1
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Mon Dec 11 16:08:58 2023
+// Update Count     : 2
 //
 
@@ -37,5 +37,5 @@
 		return spec;
 	} else {
-		SemanticError( loc, "Invalid linkage specifier " + *cmd );
+		SemanticError( loc, "Invalid linkage specifier %s", cmd->c_str() );
 	}
 }
Index: src/AST/TypeSubstitution.hpp
===================================================================
--- src/AST/TypeSubstitution.hpp	(revision 2345ab36a435b6dcc4e66d25babebf1df018b2bf)
+++ src/AST/TypeSubstitution.hpp	(revision b1f2007d03a9290ff9a472f7132714791f65e6b4)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Andrew Beach
-// Last Modified On : Thr May 25 12:31:00 2023
-// Update Count     : 10
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Mon Dec 11 16:07:30 2023
+// Update Count     : 15
 //
 
@@ -156,5 +156,6 @@
 				} // if
 			} else {
-				SemanticError( formal, toString( "Attempt to provide non-type parameter: ", toString( *actualIt ).c_str(), " for type parameter " ) );
+				SemanticError( formal->location, "Attempt to provide non-type parameter %s for type parameter %s",
+							   toString( *actualIt ).c_str(), formal->name.c_str() );
 			} // if
 		} else {
