diff dmd/codegen/linkhelper.d @ 140:31c086f76669

dmd.lib now only contains the backend backward references from the backend to the frontend are implemented in ddmd win32_lib.mak is replaced by a patch also fixed VisualD project file predefined versions
author Trass3r
date Tue, 14 Sep 2010 01:54:48 +0200
parents
children b7b61140701d
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dmd/codegen/linkhelper.d	Tue Sep 14 01:54:48 2010 +0200
@@ -0,0 +1,32 @@
+module dmd.codegen.linkhelper;
+
+import dmd.Loc;
+import dmd.Util;
+
+import core.stdc.stdarg;
+import std.conv;
+
+// help resolve some linker dependencies from the backend back into the frontend
+
+extern(C++)
+{
+	// msc.c wants to access global from out_config_init(), but it should never be called
+	struct Global {}
+	Global global;
+
+	void error(const char *filename, uint linnum, const char *format, ...)
+	{
+		Loc loc;
+		loc.filename = to!string(filename);
+		loc.linnum = linnum;
+
+		va_list ap;
+		va_start(ap, format);
+		
+		char buf[1024];
+		vsprintf(buf.ptr, format, ap);
+		va_end( ap );
+		
+		dmd.Util.error(loc, to!string(buf));
+	}
+}