diff --git a/posix.mak b/posix.mak
index 8802e2c4421..3854e189089 100644
--- a/posix.mak
+++ b/posix.mak
@@ -90,7 +90,7 @@ SRCS:=$(subst \,/,$(SRCS))
# NOTE: a pre-compiled minit.obj has been provided in dmd for Win32 and
# minit.asm is not used by dmd for Linux
-OBJS= $(OBJDIR)/errno_c.o $(OBJDIR)/threadasm.o $(OBJDIR)/complex.o
+OBJS= $(OBJDIR)/errno_c.o $(OBJDIR)/threadasm.o
######################## All of'em ##############################
diff --git a/src/rt/complex.c b/src/rt/complex.c
deleted file mode 100644
index 8abba9c16c3..00000000000
--- a/src/rt/complex.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
- * Implementation of complex number support routines.
- *
- * Copyright: Copyright Digital Mars 2000 - 2010.
- * License: Boost License 1.0.
- * Authors: Walter Bright
- */
-
-/* Copyright Digital Mars 2000 - 2010.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-#include
-
-typedef struct Complex
-{
- long double re;
- long double im;
-} Complex;
-
-Complex _complex_div(Complex x, Complex y)
-{
- Complex q;
- long double r;
- long double den;
-
- if (fabs(y.re) < fabs(y.im))
- {
- r = y.re / y.im;
- den = y.im + r * y.re;
- q.re = (x.re * r + x.im) / den;
- q.im = (x.im * r - x.re) / den;
- }
- else
- {
- r = y.im / y.re;
- den = y.re + r * y.im;
- q.re = (x.re + r * x.im) / den;
- q.im = (x.im - r * x.re) / den;
- }
- return q;
-}
-
-Complex _complex_mul(Complex x, Complex y)
-{
- Complex p;
-
- p.re = x.re * y.re - x.im * y.im;
- p.im = x.im * y.re + x.re * y.im;
- return p;
-}
-
-long double _complex_abs(Complex z)
-{
- long double x,y,ans,temp;
-
- x = fabs(z.re);
- y = fabs(z.im);
- if (x == 0)
- ans = y;
- else if (y == 0)
- ans = x;
- else if (x > y)
- {
- temp = y / x;
- ans = x * sqrt(1 + temp * temp);
- }
- else
- {
- temp = x / y;
- ans = y * sqrt(1 + temp * temp);
- }
- return ans;
-}
-
-Complex _complex_sqrt(Complex z)
-{
- Complex c;
- long double x,y,w,r;
-
- if (z.re == 0 && z.im == 0)
- {
- c.re = 0;
- c.im = 0;
- }
- else
- {
- x = fabs(z.re);
- y = fabs(z.im);
- if (x >= y)
- {
- r = y / x;
- w = sqrt(x) * sqrt(0.5 * (1 + sqrt(1 + r * r)));
- }
- else
- {
- r = x / y;
- w = sqrt(y) * sqrt(0.5 * (r + sqrt(1 + r * r)));
- }
- if (z.re >= 0)
- {
- c.re = w;
- c.im = z.im / (w + w);
- }
- else
- {
- c.im = (z.im >= 0) ? w : -w;
- c.re = z.im / (c.im + c.im);
- }
- }
- return c;
-}
diff --git a/win32.mak b/win32.mak
index fc384d946c1..f8865b78db9 100644
--- a/win32.mak
+++ b/win32.mak
@@ -34,8 +34,8 @@ $(mak\SRCS)
# NOTE: a pre-compiled minit.obj has been provided in dmd for Win32 and
# minit.asm is not used by dmd for Linux
-OBJS= errno_c.obj complex.obj src\rt\minit.obj
-OBJS_TO_DELETE= errno_c.obj complex.obj
+OBJS= errno_c.obj src\rt\minit.obj
+OBJS_TO_DELETE= errno_c.obj
######################## Doc .html file generation ##############################
@@ -438,9 +438,6 @@ $(IMPDIR)\etc\linux\memoryerror.d : src\etc\linux\memoryerror.d
errno_c.obj : src\core\stdc\errno.c
$(CC) -c $(CFLAGS) src\core\stdc\errno.c -oerrno_c.obj
-complex.obj : src\rt\complex.c
- $(CC) -c $(CFLAGS) src\rt\complex.c
-
src\rt\minit.obj : src\rt\minit.asm
$(CC) -c $(CFLAGS) src\rt\minit.asm
diff --git a/win64.mak b/win64.mak
index 70172d4f0c9..7476c78c52b 100644
--- a/win64.mak
+++ b/win64.mak
@@ -41,8 +41,8 @@ $(mak\SRCS)
# NOTE: a pre-compiled minit.obj has been provided in dmd for Win32 and
# minit.asm is not used by dmd for Linux
-OBJS= errno_c.obj complex.obj
-OBJS_TO_DELETE= errno_c.obj complex.obj
+OBJS= errno_c.obj
+OBJS_TO_DELETE= errno_c.obj
######################## Doc .html file generation ##############################
@@ -445,9 +445,6 @@ $(IMPDIR)\etc\linux\memoryerror.d : src\etc\linux\memoryerror.d
errno_c.obj : src\core\stdc\errno.c
$(CC) -c $(CFLAGS) src\core\stdc\errno.c -Foerrno_c.obj
-complex.obj : src\rt\complex.c
- $(CC) -c $(CFLAGS) src\rt\complex.c
-
src\rt\minit.obj : src\rt\minit.asm
$(CC) -c $(CFLAGS) src\rt\minit.asm