Index: src/Common/utility.h
===================================================================
--- src/Common/utility.h	(revision 3ad797844af57610cb183d9f4c3cf706eb466a8e)
+++ src/Common/utility.h	(revision 6ac2ada849a005d1105a9de768e2df11878ae1be)
@@ -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 : Wed Dec 14 21:25:25 2016
-// Update Count     : 31
+// Last Modified By : Andrew Beach
+// Last Modified On : Fri May 5 11:03:00 2017
+// Update Count     : 32
 //
 
@@ -322,17 +322,34 @@
 	std::string filename;
 
-	CodeLocation() 
+    /// Create a new unset CodeLocation.
+	CodeLocation()
 		: linenumber( -1 )
 		, filename("")
 	{}
 
+    /// Create a new CodeLocation with the given values.
 	CodeLocation( const char* filename, int lineno )
 		: linenumber( lineno )
 		, filename(filename ? filename : "")
 	{}
+
+    bool isSet () const {
+        return -1 != linenumber;
+    }
+
+    bool isUnset () const {
+        return !isSet();
+    }
+
+	void unset () {
+		linenumber = -1;
+		filename = "";
+	}
+
+	// Use field access for set.
 };
 
 inline std::string to_string( const CodeLocation& location ) {
-	return location.linenumber >= 0 ? location.filename + ":" + std::to_string(location.linenumber) + " " : "";
+	return location.isSet() ? location.filename + ":" + std::to_string(location.linenumber) + " " : "";
 }
 #endif // _UTILITY_H
