Index: src/Common/SemanticError.h
===================================================================
--- src/Common/SemanticError.h	(revision 2103a51879923a5cf09538ebe5eafe88ba1827de)
+++ src/Common/SemanticError.h	(revision babeedade3db87533af6179c3a700ed59a31106a)
@@ -37,8 +37,9 @@
 
 constexpr const char * const WarningFormats[] = {
-
+	"self assignment of expression: %s",
 };
 
 enum class Warning {
+	SelfAssignment,
 	NUMBER_OF_WARNINGS, //This MUST be the last warning
 };
Index: src/Common/utility.h
===================================================================
--- src/Common/utility.h	(revision 2103a51879923a5cf09538ebe5eafe88ba1827de)
+++ src/Common/utility.h	(revision babeedade3db87533af6179c3a700ed59a31106a)
@@ -162,4 +162,6 @@
 }
 
+#define toCString( ... ) toString( __VA_ARGS__ ).c_str()
+
 // replace element of list with all elements of another list
 template< typename T >
