]> git.llucax.com Git - software/druntime.git/commitdiff
* Moved sys into core.sys
authorsean <sean@4a9d5153-6564-4b3f-b5e1-7e8e9dac548f>
Sat, 25 Oct 2008 00:15:55 +0000 (00:15 +0000)
committersean <sean@4a9d5153-6564-4b3f-b5e1-7e8e9dac548f>
Sat, 25 Oct 2008 00:15:55 +0000 (00:15 +0000)
* Moved stdc.posix into core.sys.posix
* Moved stdc into core.stdc
* Added initial support for Runtime.loadLibrary() and Runtime.unloadLibrary() in D2.  The same functions are exposed in D1, but they are stubbed out for the moment.  The basic library loading and unloading should theoretically work, but the GC handle swapping code still needs a look, etc.  I left the D1 version stubbed out to make finding GC diffs easier for when I look at the handle swapping code (which is in D2 but not D1).  Still not sure about the function naming either... may just switch to load() and unload().

git-svn-id: http://svn.dsource.org/projects/druntime/trunk@36 4a9d5153-6564-4b3f-b5e1-7e8e9dac548f

87 files changed:
import/core/stdc/complex.d [moved from import/stdc/complex.d with 98% similarity]
import/core/stdc/config.d [moved from import/stdc/config.d with 94% similarity]
import/core/stdc/ctype.d [moved from import/stdc/ctype.d with 94% similarity]
import/core/stdc/errno.d [moved from import/stdc/errno.d with 99% similarity]
import/core/stdc/fenv.d [moved from import/stdc/fenv.d with 99% similarity]
import/core/stdc/inttypes.d [moved from import/stdc/inttypes.d with 98% similarity]
import/core/stdc/limits.d [moved from import/stdc/limits.d with 93% similarity]
import/core/stdc/locale.d [moved from import/stdc/locale.d with 98% similarity]
import/core/stdc/math.d [moved from import/stdc/math.d with 97% similarity]
import/core/stdc/signal.d [moved from import/stdc/signal.d with 98% similarity]
import/core/stdc/stdarg.d [moved from import/stdc/stdarg.d with 97% similarity]
import/core/stdc/stddef.d [moved from import/stdc/stddef.d with 95% similarity]
import/core/stdc/stdint.d [moved from import/stdc/stdint.d with 97% similarity]
import/core/stdc/stdio.d [moved from import/stdc/stdio.d with 98% similarity]
import/core/stdc/stdlib.d [moved from import/stdc/stdlib.d with 96% similarity]
import/core/stdc/string.d [moved from import/stdc/string.d with 97% similarity]
import/core/stdc/tgmath.d [new file with mode: 0644]
import/core/stdc/time.d [moved from import/stdc/time.d with 96% similarity]
import/core/stdc/wctype.d [moved from import/stdc/wctype.d with 87% similarity]
import/core/sys/posix/arpa/inet.d [moved from import/stdc/posix/arpa/inet.d with 82% similarity]
import/core/sys/posix/config.d [moved from import/stdc/posix/config.d with 88% similarity]
import/core/sys/posix/dirent.d [moved from import/stdc/posix/dirent.d with 96% similarity]
import/core/sys/posix/dlfcn.d [moved from import/stdc/posix/dlfcn.d with 94% similarity]
import/core/sys/posix/fcntl.d [moved from import/stdc/posix/fcntl.d with 94% similarity]
import/core/sys/posix/inttypes.d [moved from import/stdc/posix/inttypes.d with 87% similarity]
import/core/sys/posix/net/if_.d [moved from import/stdc/posix/net/if_.d with 95% similarity]
import/core/sys/posix/netinet/in_.d [moved from import/stdc/posix/netinet/in_.d with 90% similarity]
import/core/sys/posix/netinet/tcp.d [moved from import/stdc/posix/netinet/tcp.d with 85% similarity]
import/core/sys/posix/poll.d [moved from import/stdc/posix/poll.d with 97% similarity]
import/core/sys/posix/pthread.d [moved from import/stdc/posix/pthread.d with 99% similarity]
import/core/sys/posix/pwd.d [moved from import/stdc/posix/pwd.d with 95% similarity]
import/core/sys/posix/sched.d [moved from import/stdc/posix/sched.d with 94% similarity]
import/core/sys/posix/semaphore.d [moved from import/stdc/posix/semaphore.d with 93% similarity]
import/core/sys/posix/setjmp.d [moved from import/stdc/posix/setjmp.d with 93% similarity]
import/core/sys/posix/signal.d [moved from import/stdc/posix/signal.d with 83% similarity]
import/core/sys/posix/stdio.d [moved from import/stdc/posix/stdio.d with 94% similarity]
import/core/sys/posix/stdlib.d [moved from import/stdc/posix/stdlib.d with 76% similarity]
import/core/sys/posix/sys/ipc.d [moved from import/stdc/posix/sys/ipc.d with 91% similarity]
import/core/sys/posix/sys/mman.d [moved from import/stdc/posix/sys/mman.d with 96% similarity]
import/core/sys/posix/sys/select.d [moved from import/stdc/posix/sys/select.d with 91% similarity]
import/core/sys/posix/sys/shm.d [moved from import/stdc/posix/sys/shm.d with 92% similarity]
import/core/sys/posix/sys/socket.d [moved from import/stdc/posix/sys/socket.d with 98% similarity]
import/core/sys/posix/sys/stat.d [moved from import/stdc/posix/sys/stat.d with 97% similarity]
import/core/sys/posix/sys/time.d [moved from import/stdc/posix/sys/time.d with 90% similarity]
import/core/sys/posix/sys/types.d [moved from import/stdc/posix/sys/types.d with 94% similarity]
import/core/sys/posix/sys/uio.d [moved from import/stdc/posix/sys/uio.d with 81% similarity]
import/core/sys/posix/sys/wait.d [moved from import/stdc/posix/sys/wait.d with 93% similarity]
import/core/sys/posix/termios.d [moved from import/stdc/posix/termios.d with 98% similarity]
import/core/sys/posix/time.d [moved from import/stdc/posix/time.d with 93% similarity]
import/core/sys/posix/ucontext.d [moved from import/stdc/posix/ucontext.d with 96% similarity]
import/core/sys/posix/unistd.d [moved from import/stdc/posix/unistd.d with 98% similarity]
import/core/sys/posix/utime.d [moved from import/stdc/posix/utime.d with 86% similarity]
import/core/sys/windows/windows.d [moved from import/sys/windows/windows.d with 99% similarity]
import/stdc/tgmath.d [deleted file]
src/common/core/memory.d
src/common/core/runtime.d
src/common/core/stdc/errno.c [new file with mode: 0644]
src/common/core/thread.d
src/common/posix.mak
src/common/win32.mak
src/compiler/dmd/aaA.d
src/compiler/dmd/adi.d
src/compiler/dmd/arrayassign.d
src/compiler/dmd/arraycat.d
src/compiler/dmd/cmath2.d
src/compiler/dmd/cover.d
src/compiler/dmd/dmain2.d
src/compiler/dmd/lifetime.d
src/compiler/dmd/memory.d
src/compiler/dmd/object_.d
src/compiler/dmd/qsort2.d
src/compiler/dmd/switch_.d
src/compiler/dmd/trace.d
src/compiler/dmd/typeinfo/ti_Ag.d
src/compiler/dmd/typeinfo/ti_Aint.d
src/compiler/dmd/typeinfo/ti_Along.d
src/compiler/dmd/typeinfo/ti_Ashort.d
src/compiler/dmd/util/console.d
src/compiler/dmd/util/cpuid.d
src/compiler/dmd/util/string.d
src/gc/basic/gc.d
src/gc/basic/gcalloc.d
src/gc/basic/gcbits.d
src/gc/basic/gcx.d
src/gc/stub/gc.d
src/gc/stub/posix.mak
src/gc/stub/win32.mak

similarity index 98%
rename from import/stdc/complex.d
rename to import/core/stdc/complex.d
index 5211c8dda7b150cd42fd5177f9c9512075d2919a..59807869b4c4de558eb52d73c2c8bdc721cd6633 100644 (file)
@@ -6,7 +6,7 @@
  * Authors:   Sean Kelly
  * Standards: ISO/IEC 9899:1999 (E)
  */
-module stdc.complex;
+module core.stdc.complex;
 
 extern (C):
 
similarity index 94%
rename from import/stdc/config.d
rename to import/core/stdc/config.d
index 09859cd84a52cd3a4435475309e128236f9808f9..20de3791cd7109c5257c7d63ec58e73a0850b6fc 100644 (file)
@@ -6,7 +6,7 @@
  * Authors:   Sean Kelly
  * Standards: ISO/IEC 9899:1999 (E)
  */
-module stdc.config;
+module core.stdc.config;
 
 extern (C):
 
similarity index 94%
rename from import/stdc/ctype.d
rename to import/core/stdc/ctype.d
index 1b9c07be1a500e116181f59fe94b4ad7e4739506..45da07710653db37bc23694181dddf2217b9a63d 100644 (file)
@@ -6,7 +6,7 @@
  * Authors:   Sean Kelly
  * Standards: ISO/IEC 9899:1999 (E)
  */
-module stdc.ctype;
+module core.stdc.ctype;
 
 extern (C):
 
similarity index 99%
rename from import/stdc/errno.d
rename to import/core/stdc/errno.d
index 0d78d1d15ae6a1c21c25101c5a8fa4805b7dbcd3..ca5b92c3c5c095ced0bcb808a305975dab3b3375 100644 (file)
@@ -6,7 +6,7 @@
  * Authors:   Sean Kelly
  * Standards: ISO/IEC 9899:1999 (E)
  */
-module stdc.errno;
+module core.stdc.errno;
 
 private
 {
similarity index 99%
rename from import/stdc/fenv.d
rename to import/core/stdc/fenv.d
index cdeb2dae3f5c699a59de9fa39db5e5b149cef9f5..62591fdb1545e5607b9de94b2d3bea28086cf1d0 100644 (file)
@@ -6,7 +6,7 @@
  * Authors:   Sean Kelly, Walter Bright
  * Standards: ISO/IEC 9899:1999 (E)
  */
-module stdc.fenv;
+module core.stdc.fenv;
 
 extern (C):
 
similarity index 98%
rename from import/stdc/inttypes.d
rename to import/core/stdc/inttypes.d
index 7acaa749cadcf1f014bcf429013840a3c850a66d..d57f038f84576139f5e3637f33354f7bc64d144d 100644 (file)
@@ -6,10 +6,10 @@
  * Authors:   Sean Kelly
  * Standards: ISO/IEC 9899:1999 (E)
  */
-module stdc.inttypes;
+module core.stdc.inttypes;
 
-public import stdc.stddef;
-public import stdc.stdint;
+public import core.stdc.stddef;
+public import core.stdc.stdint;
 
 extern (C):
 
similarity index 93%
rename from import/stdc/limits.d
rename to import/core/stdc/limits.d
index 106d1c7fde92f7c87b151c9bdbdf3a3b3a60c172..30342a87344c0f0674084dfff3791e023bbe4080 100644 (file)
@@ -6,9 +6,9 @@
  * Authors:   Sean Kelly
  * Standards: ISO/IEC 9899:1999 (E)
  */
-module stdc.limits;
+module core.stdc.limits;
 
-private import stdc.config;
+private import core.stdc.config;
 
 extern (C):
 
similarity index 98%
rename from import/stdc/locale.d
rename to import/core/stdc/locale.d
index c81092b2d7bf5520ad33ac5045a8e36c7cb862cb..a6ebe6a2f68abea3c0ca73bb2cfeb02dd6ca1640 100644 (file)
@@ -6,7 +6,7 @@
  * Authors:   Sean Kelly
  * Standards: ISO/IEC 9899:1999 (E)
  */
-module stdc.locale;
+module core.stdc.locale;
 
 extern (C):
 
similarity index 97%
rename from import/stdc/math.d
rename to import/core/stdc/math.d
index 3c1881ae4f19197f58993d6fd685314d28cf9c29..515394d6d1a3d0b68ab86ee967563ef3da6f45dc 100644 (file)
@@ -6,9 +6,9 @@
  * Authors:   Sean Kelly, Walter Bright
  * Standards: ISO/IEC 9899:1999 (E)
  */
-module stdc.math;
+module core.stdc.math;
 
-private import stdc.config;
+private import core.stdc.config;
 
 extern (C):
 
@@ -365,11 +365,11 @@ else version( freebsd )
 {
     enum
     {
-        FP_INFINITE = 0x01,
-        FP_NAN = 0x02,
-        FP_NORMAL = 0x04,
+        FP_INFINITE  = 0x01,
+        FP_NAN       = 0x02,
+        FP_NORMAL    = 0x04,
         FP_SUBNORMAL = 0x08,
-        FP_ZERO = 0x10
+        FP_ZERO      = 0x10
     }
 
     enum
@@ -400,22 +400,22 @@ else version( freebsd )
     //int fpclassify(real-floating x);
     int fpclassify(float x)     { return __fpclassifyf(x); }
     int fpclassify(double x)    { return __fpclassifyd(x); }
-    int fpclassify(real x)    { return __fpclassifyl(x); }
+    int fpclassify(real x)      { return __fpclassifyl(x); }
 
     //int isfinite(real-floating x);
     int isfinite(float x)       { return __isfinitef(x); }
     int isfinite(double x)      { return __isfinite(x); }
-    int isfinite(real x)      { return __isfinitel(x); }
+    int isfinite(real x)        { return __isfinitel(x); }
 
     //int isinf(real-floating x);
     int isinf(float x)          { return __isinff(x); }
     int isinf(double x)         { return __isinfl(x); }
-    int isinf(real x)         { return __isinfl(x); }
+    int isinf(real x)           { return __isinfl(x); }
 
     //int isnan(real-floating x);
     int isnan(float x)          { return __isnanl(x); }
     int isnan(double x)         { return __isnanl(x); }
-    int isnan(real x)         { return __isnanl(x); }
+    int isnan(real x)           { return __isnanl(x); }
 
     //int isnormal(real-floating x);
     int isnormal(float x)       { return __isnormalf(x); }
@@ -423,10 +423,10 @@ else version( freebsd )
     int isnormal(real x)        { return __isnormall(x); }
 
     //int signbit(real-floating x);
-    int signbit(float x)     { return __signbitf(x); }
-    int signbit(double x)    { return __signbit(x); }
-    int signbit(real x)    { return __signbit(x); }
-    }
+    int signbit(float x)        { return __signbitf(x); }
+    int signbit(double x)       { return __signbit(x); }
+    int signbit(real x)         { return __signbit(x); }
+  }
 }
 
 extern (D)
@@ -557,7 +557,7 @@ version( freebsd )
     private const real ONE_LN2 = 1 / 0x1.62e42fefa39ef358p-1L;
     double  log2(double x) { return log(x) * ONE_LN2; }
     float   log2f(float x) { return logf(x) * ONE_LN2; }
-    real    log2l(real x) { return logl(x) * ONE_LN2; }
+    real    log2l(real x)  { return logl(x) * ONE_LN2; }
 
     double  logb(double x);
     float   logbf(float x);
similarity index 98%
rename from import/stdc/signal.d
rename to import/core/stdc/signal.d
index b7ce585358da77e26f98dd1843d4a1d60174252f..ed828bfc64d56b520a14f9ae4ff7073f73ec73c3 100644 (file)
@@ -6,7 +6,7 @@
  * Authors:   Sean Kelly
  * Standards: ISO/IEC 9899:1999 (E)
  */
-module stdc.signal;
+module core.stdc.signal;
 
 extern (C):
 
similarity index 97%
rename from import/stdc/stdarg.d
rename to import/core/stdc/stdarg.d
index afdbceb15573d57bf09d02ae9a1a6420edb6dbff..ffe325a4299533143a36c0429e6dcc849114884c 100644 (file)
@@ -6,7 +6,7 @@
  * Authors:   Hauke Duden, Walter Bright
  * Standards: ISO/IEC 9899:1999 (E)
  */
-module stdc.stdarg;
+module core.stdc.stdarg;
 
 
 version( GNU )
similarity index 95%
rename from import/stdc/stddef.d
rename to import/core/stdc/stddef.d
index e6a5bf73a6354b4612bfcbe928fd7292fae626a4..dbe5130d078c2abec8bb41c8106abb90160a48f7 100644 (file)
@@ -6,7 +6,7 @@
  * Authors:   Sean Kelly
  * Standards: ISO/IEC 9899:1999 (E)
  */
-module stdc.stddef;
+module core.stdc.stddef;
 
 extern (C):
 
similarity index 97%
rename from import/stdc/stdint.d
rename to import/core/stdc/stdint.d
index 5db5c6a5f4db2ae7b9f1570f90e181c539e0f0c3..dbd4fbd470ee9bdebc6f0bc1263bedbf2627679c 100644 (file)
@@ -6,7 +6,7 @@
  * Authors:   Sean Kelly
  * Standards: ISO/IEC 9899:1999 (E)
  */
-module stdc.stdint;
+module core.stdc.stdint;
 
 private
 {
@@ -66,8 +66,8 @@ alias ulong     uintmax_t;
 
 version( VerboseC )
 {
-    private import stdc.stddef;
-    private import stdc.signal; // for sig_atomic_t
+    private import core.stdc.stddef;
+    private import core.stdc.signal; // for sig_atomic_t
 
     const int8_t  INT8_MIN  = int8_t.min;
     const int8_t  INT8_MAX  = int8_t.max;
similarity index 98%
rename from import/stdc/stdio.d
rename to import/core/stdc/stdio.d
index bb6441d98e55e59ce0a06ef565b80faa7af1d4a2..2d548a43a63fc877436af6a8b2a7cd5086ce2ca3 100644 (file)
@@ -6,13 +6,13 @@
  * Authors:   Sean Kelly, Walter Bright
  * Standards: ISO/IEC 9899:1999 (E)
  */
-module stdc.stdio;
+module core.stdc.stdio;
 
 private
 {
-    import stdc.stdarg;
-    import stdc.stddef;
-    import stdc.config;
+    import core.stdc.stdarg;
+    import core.stdc.stddef;
+    import core.stdc.config;
 }
 
 extern (C):
similarity index 96%
rename from import/stdc/stdlib.d
rename to import/core/stdc/stdlib.d
index 2ed0b4dda9a70c1d597a5ea7e0d1d2e9211a7554..99a8ec1bab480ee070925347ae9e504102c1c3e6 100644 (file)
@@ -6,10 +6,10 @@
  * Authors:   Sean Kelly
  * Standards: ISO/IEC 9899:1999 (E)
  */
-module stdc.stdlib;
+module core.stdc.stdlib;
 
-private import stdc.stddef;
-private import stdc.config;
+private import core.stdc.stddef;
+private import core.stdc.config;
 
 extern (C):
 
similarity index 97%
rename from import/stdc/string.d
rename to import/core/stdc/string.d
index 880ce38e48bf23be4a00bddb20d1d04dfd2e4d97..099d2b03affab6fd49e3524db4b0ed01468d89a6 100644 (file)
@@ -6,9 +6,9 @@
  * Authors:   Sean Kelly
  * Standards: ISO/IEC 9899:1999 (E)
  */
-module stdc.string;
+module core.stdc.string;
 
-private import stdc.stddef;
+private import core.stdc.stddef;
 
 extern (C):
 
diff --git a/import/core/stdc/tgmath.d b/import/core/stdc/tgmath.d
new file mode 100644 (file)
index 0000000..24bcf61
--- /dev/null
@@ -0,0 +1,652 @@
+/**
+ * D header file for C99.
+ *
+ * Copyright: Public Domain
+ * License:   Public Domain
+ * Authors:   Sean Kelly, Walter Bright
+ * Standards: ISO/IEC 9899:1999 (E)
+ */
+module core.stdc.tgmath;
+
+private import core.stdc.config;
+private static import core.stdc.math;
+private static import core.stdc.complex;
+
+extern (C):
+
+version( freebsd )
+{
+    alias core.stdc.math.acos          acos;
+    alias core.stdc.math.acosf         acos;
+    alias core.stdc.math.acosl         acos;
+
+    alias core.stdc.complex.cacos      acos;
+    alias core.stdc.complex.cacosf     acos;
+    alias core.stdc.complex.cacosl     acos;
+
+    alias core.stdc.math.asin          asin;
+    alias core.stdc.math.asinf         asin;
+    alias core.stdc.math.asinl         asin;
+
+    alias core.stdc.complex.casin      asin;
+    alias core.stdc.complex.casinf     asin;
+    alias core.stdc.complex.casinl     asin;
+
+    alias core.stdc.math.atan          atan;
+    alias core.stdc.math.atanf         atan;
+    alias core.stdc.math.atanl         atan;
+
+    alias core.stdc.complex.catan      atan;
+    alias core.stdc.complex.catanf     atan;
+    alias core.stdc.complex.catanl     atan;
+
+    alias core.stdc.math.atan2         atan2;
+    alias core.stdc.math.atan2f        atan2;
+    alias core.stdc.math.atan2l        atan2;
+
+    alias core.stdc.math.cos           cos;
+    alias core.stdc.math.cosf          cos;
+    alias core.stdc.math.cosl          cos;
+
+    alias core.stdc.complex.ccos       cos;
+    alias core.stdc.complex.ccosf      cos;
+    alias core.stdc.complex.ccosl      cos;
+
+    alias core.stdc.math.sin           sin;
+    alias core.stdc.math.sinf          sin;
+    alias core.stdc.math.sinl          sin;
+
+    alias core.stdc.complex.csin       csin;
+    alias core.stdc.complex.csinf      csin;
+    alias core.stdc.complex.csinl      csin;
+
+    alias core.stdc.math.tan           tan;
+    alias core.stdc.math.tanf          tan;
+    alias core.stdc.math.tanl          tan;
+
+    alias core.stdc.complex.ctan       tan;
+    alias core.stdc.complex.ctanf      tan;
+    alias core.stdc.complex.ctanl      tan;
+
+    alias core.stdc.math.acosh         acosh;
+    alias core.stdc.math.acoshf        acosh;
+    alias core.stdc.math.acoshl        acosh;
+
+    alias core.stdc.complex.cacosh     acosh;
+    alias core.stdc.complex.cacoshf    acosh;
+    alias core.stdc.complex.cacoshl    acosh;
+
+    alias core.stdc.math.asinh         asinh;
+    alias core.stdc.math.asinhf        asinh;
+    alias core.stdc.math.asinhl        asinh;
+
+    alias core.stdc.complex.casinh     asinh;
+    alias core.stdc.complex.casinhf    asinh;
+    alias core.stdc.complex.casinhl    asinh;
+
+    alias core.stdc.math.atanh         atanh;
+    alias core.stdc.math.atanhf        atanh;
+    alias core.stdc.math.atanhl        atanh;
+
+    alias core.stdc.complex.catanh     atanh;
+    alias core.stdc.complex.catanhf    atanh;
+    alias core.stdc.complex.catanhl    atanh;
+
+    alias core.stdc.math.cosh          cosh;
+    alias core.stdc.math.coshf         cosh;
+    alias core.stdc.math.coshl         cosh;
+
+    alias core.stdc.complex.ccosh      cosh;
+    alias core.stdc.complex.ccoshf     cosh;
+    alias core.stdc.complex.ccoshl     cosh;
+
+    alias core.stdc.math.sinh          sinh;
+    alias core.stdc.math.sinhf         sinh;
+    alias core.stdc.math.sinhl         sinh;
+
+    alias core.stdc.complex.csinh      sinh;
+    alias core.stdc.complex.csinhf     sinh;
+    alias core.stdc.complex.csinhl     sinh;
+
+    alias core.stdc.math.tanh          tanh;
+    alias core.stdc.math.tanhf         tanh;
+    alias core.stdc.math.tanhl         tanh;
+
+    alias core.stdc.complex.ctanh      tanh;
+    alias core.stdc.complex.ctanhf     tanh;
+    alias core.stdc.complex.ctanhl     tanh;
+
+    alias core.stdc.math.exp           exp;
+    alias core.stdc.math.expf          exp;
+    alias core.stdc.math.expl          exp;
+
+    alias core.stdc.complex.cexp       exp;
+    alias core.stdc.complex.cexpf      exp;
+    alias core.stdc.complex.cexpl      exp;
+
+    alias core.stdc.math.exp2          exp2;
+    alias core.stdc.math.exp2f         exp2;
+    alias core.stdc.math.exp2l         exp2;
+
+    alias core.stdc.math.expm1         expm1;
+    alias core.stdc.math.expm1f        expm1;
+    alias core.stdc.math.expm1l        expm1;
+
+    alias core.stdc.math.frexp         frexp;
+    alias core.stdc.math.frexpf        frexp;
+    alias core.stdc.math.frexpl        frexp;
+
+    alias core.stdc.math.ilogb         ilogb;
+    alias core.stdc.math.ilogbf        ilogb;
+    alias core.stdc.math.ilogbl        ilogb;
+
+    alias core.stdc.math.ldexp         ldexp;
+    alias core.stdc.math.ldexpf        ldexp;
+    alias core.stdc.math.ldexpl        ldexp;
+
+    alias core.stdc.math.log           log;
+    alias core.stdc.math.logf          log;
+    alias core.stdc.math.logl          log;
+
+    alias core.stdc.complex.clog       log;
+    alias core.stdc.complex.clogf      log;
+    alias core.stdc.complex.clogl      log;
+
+    alias core.stdc.math.log10         log10;
+    alias core.stdc.math.log10f        log10;
+    alias core.stdc.math.log10l        log10;
+
+    alias core.stdc.math.log1p         log1p;
+    alias core.stdc.math.log1pf        log1p;
+    alias core.stdc.math.log1pl        log1p;
+
+    alias core.stdc.math.log2          log1p;
+    alias core.stdc.math.log2f         log1p;
+    alias core.stdc.math.log2l         log1p;
+
+    alias core.stdc.math.logb          log1p;
+    alias core.stdc.math.logbf         log1p;
+    alias core.stdc.math.logbl         log1p;
+
+    alias core.stdc.math.modf          modf;
+    alias core.stdc.math.modff         modf;
+//  alias core.stdc.math.modfl         modf;
+
+    alias core.stdc.math.scalbn        scalbn;
+    alias core.stdc.math.scalbnf       scalbn;
+    alias core.stdc.math.scalbnl       scalbn;
+
+    alias core.stdc.math.scalbln       scalbln;
+    alias core.stdc.math.scalblnf      scalbln;
+    alias core.stdc.math.scalblnl      scalbln;
+
+    alias core.stdc.math.cbrt          cbrt;
+    alias core.stdc.math.cbrtf         cbrt;
+    alias core.stdc.math.cbrtl         cbrt;
+
+    alias core.stdc.math.fabs          fabs;
+    alias core.stdc.math.fabsf         fabs;
+    alias core.stdc.math.fabsl         fabs;
+
+    alias core.stdc.complex.cabs       fabs;
+    alias core.stdc.complex.cabsf      fabs;
+    alias core.stdc.complex.cabsl      fabs;
+
+    alias core.stdc.math.hypot         hypot;
+    alias core.stdc.math.hypotf        hypot;
+    alias core.stdc.math.hypotl        hypot;
+
+    alias core.stdc.math.pow           pow;
+    alias core.stdc.math.powf          pow;
+    alias core.stdc.math.powl          pow;
+
+    alias core.stdc.complex.cpow       pow;
+    alias core.stdc.complex.cpowf      pow;
+    alias core.stdc.complex.cpowl      pow;
+
+    alias core.stdc.math.sqrt          sqrt;
+    alias core.stdc.math.sqrtf         sqrt;
+    alias core.stdc.math.sqrtl         sqrt;
+
+    alias core.stdc.complex.csqrt      sqrt;
+    alias core.stdc.complex.csqrtf     sqrt;
+    alias core.stdc.complex.csqrtl     sqrt;
+
+    alias core.stdc.math.erf           erf;
+    alias core.stdc.math.erff          erf;
+    alias core.stdc.math.erfl          erf;
+
+    alias core.stdc.math.erfc          erfc;
+    alias core.stdc.math.erfcf         erfc;
+    alias core.stdc.math.erfcl         erfc;
+
+    alias core.stdc.math.lgamma        lgamma;
+    alias core.stdc.math.lgammaf       lgamma;
+    alias core.stdc.math.lgammal       lgamma;
+
+    alias core.stdc.math.tgamma        tgamma;
+    alias core.stdc.math.tgammaf       tgamma;
+    alias core.stdc.math.tgammal       tgamma;
+
+    alias core.stdc.math.ceil          ceil;
+    alias core.stdc.math.ceilf         ceil;
+    alias core.stdc.math.ceill         ceil;
+
+    alias core.stdc.math.floor         floor;
+    alias core.stdc.math.floorf        floor;
+    alias core.stdc.math.floorl        floor;
+
+    alias core.stdc.math.nearbyint     nearbyint;
+    alias core.stdc.math.nearbyintf    nearbyint;
+    alias core.stdc.math.nearbyintl    nearbyint;
+
+    alias core.stdc.math.rint          rint;
+    alias core.stdc.math.rintf         rint;
+    alias core.stdc.math.rintl         rint;
+
+    alias core.stdc.math.lrint         lrint;
+    alias core.stdc.math.lrintf        lrint;
+    alias core.stdc.math.lrintl        lrint;
+
+    alias core.stdc.math.llrint        llrint;
+    alias core.stdc.math.llrintf       llrint;
+    alias core.stdc.math.llrintl       llrint;
+
+    alias core.stdc.math.round         round;
+    alias core.stdc.math.roundf        round;
+    alias core.stdc.math.roundl        round;
+
+    alias core.stdc.math.lround        lround;
+    alias core.stdc.math.lroundf       lround;
+    alias core.stdc.math.lroundl       lround;
+
+    alias core.stdc.math.llround       llround;
+    alias core.stdc.math.llroundf      llround;
+    alias core.stdc.math.llroundl      llround;
+
+    alias core.stdc.math.trunc         trunc;
+    alias core.stdc.math.truncf        trunc;
+    alias core.stdc.math.truncl        trunc;
+
+    alias core.stdc.math.fmod          fmod;
+    alias core.stdc.math.fmodf         fmod;
+    alias core.stdc.math.fmodl         fmod;
+
+    alias core.stdc.math.remainder     remainder;
+    alias core.stdc.math.remainderf    remainder;
+    alias core.stdc.math.remainderl    remainder;
+
+    alias core.stdc.math.remquo        remquo;
+    alias core.stdc.math.remquof       remquo;
+    alias core.stdc.math.remquol       remquo;
+
+    alias core.stdc.math.copysign      copysign;
+    alias core.stdc.math.copysignf     copysign;
+    alias core.stdc.math.copysignl     copysign;
+
+//  alias core.stdc.math.nan           nan;
+//  alias core.stdc.math.nanf          nan;
+//  alias core.stdc.math.nanl          nan;
+
+    alias core.stdc.math.nextafter     nextafter;
+    alias core.stdc.math.nextafterf    nextafter;
+    alias core.stdc.math.nextafterl    nextafter;
+
+    alias core.stdc.math.nexttoward    nexttoward;
+    alias core.stdc.math.nexttowardf   nexttoward;
+    alias core.stdc.math.nexttowardl   nexttoward;
+
+    alias core.stdc.math.fdim          fdim;
+    alias core.stdc.math.fdimf         fdim;
+    alias core.stdc.math.fdiml         fdim;
+
+    alias core.stdc.math.fmax          fmax;
+    alias core.stdc.math.fmaxf         fmax;
+    alias core.stdc.math.fmaxl         fmax;
+
+    alias core.stdc.math.fmin          fmin;
+    alias core.stdc.math.fmin          fmin;
+    alias core.stdc.math.fminl         fmin;
+
+    alias core.stdc.math.fma           fma;
+    alias core.stdc.math.fmaf          fma;
+    alias core.stdc.math.fmal          fma;
+
+    alias core.stdc.complex.carg       carg;
+    alias core.stdc.complex.cargf      carg;
+    alias core.stdc.complex.cargl      carg;
+
+    alias core.stdc.complex.cimag      cimag;
+    alias core.stdc.complex.cimagf     cimag;
+    alias core.stdc.complex.cimagl     cimag;
+
+    alias core.stdc.complex.conj       conj;
+    alias core.stdc.complex.conjf      conj;
+    alias core.stdc.complex.conjl      conj;
+
+    alias core.stdc.complex.cproj      cproj;
+    alias core.stdc.complex.cprojf     cproj;
+    alias core.stdc.complex.cprojl     cproj;
+
+//  alias core.stdc.complex.creal      creal;
+//  alias core.stdc.complex.crealf     creal;
+//  alias core.stdc.complex.creall     creal;
+}
+else
+{
+    alias core.stdc.math.acos          acos;
+    alias core.stdc.math.acosf         acos;
+    alias core.stdc.math.acosl         acos;
+
+    alias core.stdc.complex.cacos      acos;
+    alias core.stdc.complex.cacosf     acos;
+    alias core.stdc.complex.cacosl     acos;
+
+    alias core.stdc.math.asin          asin;
+    alias core.stdc.math.asinf         asin;
+    alias core.stdc.math.asinl         asin;
+
+    alias core.stdc.complex.casin      asin;
+    alias core.stdc.complex.casinf     asin;
+    alias core.stdc.complex.casinl     asin;
+
+    alias core.stdc.math.atan          atan;
+    alias core.stdc.math.atanf         atan;
+    alias core.stdc.math.atanl         atan;
+
+    alias core.stdc.complex.catan      atan;
+    alias core.stdc.complex.catanf     atan;
+    alias core.stdc.complex.catanl     atan;
+
+    alias core.stdc.math.atan2         atan2;
+    alias core.stdc.math.atan2f        atan2;
+    alias core.stdc.math.atan2l        atan2;
+
+    alias core.stdc.math.cos           cos;
+    alias core.stdc.math.cosf          cos;
+    alias core.stdc.math.cosl          cos;
+
+    alias core.stdc.complex.ccos       cos;
+    alias core.stdc.complex.ccosf      cos;
+    alias core.stdc.complex.ccosl      cos;
+
+    alias core.stdc.math.sin           sin;
+    alias core.stdc.math.sinf          sin;
+    alias core.stdc.math.sinl          sin;
+
+    alias core.stdc.complex.csin       csin;
+    alias core.stdc.complex.csinf      csin;
+    alias core.stdc.complex.csinl      csin;
+
+    alias core.stdc.math.tan           tan;
+    alias core.stdc.math.tanf          tan;
+    alias core.stdc.math.tanl          tan;
+
+    alias core.stdc.complex.ctan       tan;
+    alias core.stdc.complex.ctanf      tan;
+    alias core.stdc.complex.ctanl      tan;
+
+    alias core.stdc.math.acosh         acosh;
+    alias core.stdc.math.acoshf        acosh;
+    alias core.stdc.math.acoshl        acosh;
+
+    alias core.stdc.complex.cacosh     acosh;
+    alias core.stdc.complex.cacoshf    acosh;
+    alias core.stdc.complex.cacoshl    acosh;
+
+    alias core.stdc.math.asinh         asinh;
+    alias core.stdc.math.asinhf        asinh;
+    alias core.stdc.math.asinhl        asinh;
+
+    alias core.stdc.complex.casinh     asinh;
+    alias core.stdc.complex.casinhf    asinh;
+    alias core.stdc.complex.casinhl    asinh;
+
+    alias core.stdc.math.atanh         atanh;
+    alias core.stdc.math.atanhf        atanh;
+    alias core.stdc.math.atanhl        atanh;
+
+    alias core.stdc.complex.catanh     atanh;
+    alias core.stdc.complex.catanhf    atanh;
+    alias core.stdc.complex.catanhl    atanh;
+
+    alias core.stdc.math.cosh          cosh;
+    alias core.stdc.math.coshf         cosh;
+    alias core.stdc.math.coshl         cosh;
+
+    alias core.stdc.complex.ccosh      cosh;
+    alias core.stdc.complex.ccoshf     cosh;
+    alias core.stdc.complex.ccoshl     cosh;
+
+    alias core.stdc.math.sinh          sinh;
+    alias core.stdc.math.sinhf         sinh;
+    alias core.stdc.math.sinhl         sinh;
+
+    alias core.stdc.complex.csinh      sinh;
+    alias core.stdc.complex.csinhf     sinh;
+    alias core.stdc.complex.csinhl     sinh;
+
+    alias core.stdc.math.tanh          tanh;
+    alias core.stdc.math.tanhf         tanh;
+    alias core.stdc.math.tanhl         tanh;
+
+    alias core.stdc.complex.ctanh      tanh;
+    alias core.stdc.complex.ctanhf     tanh;
+    alias core.stdc.complex.ctanhl     tanh;
+
+    alias core.stdc.math.exp           exp;
+    alias core.stdc.math.expf          exp;
+    alias core.stdc.math.expl          exp;
+
+    alias core.stdc.complex.cexp       exp;
+    alias core.stdc.complex.cexpf      exp;
+    alias core.stdc.complex.cexpl      exp;
+
+    alias core.stdc.math.exp2          exp2;
+    alias core.stdc.math.exp2f         exp2;
+    alias core.stdc.math.exp2l         exp2;
+
+    alias core.stdc.math.expm1         expm1;
+    alias core.stdc.math.expm1f        expm1;
+    alias core.stdc.math.expm1l        expm1;
+
+    alias core.stdc.math.frexp         frexp;
+    alias core.stdc.math.frexpf        frexp;
+    alias core.stdc.math.frexpl        frexp;
+
+    alias core.stdc.math.ilogb         ilogb;
+    alias core.stdc.math.ilogbf        ilogb;
+    alias core.stdc.math.ilogbl        ilogb;
+
+    alias core.stdc.math.ldexp         ldexp;
+    alias core.stdc.math.ldexpf        ldexp;
+    alias core.stdc.math.ldexpl        ldexp;
+
+    alias core.stdc.math.log           log;
+    alias core.stdc.math.logf          log;
+    alias core.stdc.math.logl          log;
+
+    alias core.stdc.complex.clog       log;
+    alias core.stdc.complex.clogf      log;
+    alias core.stdc.complex.clogl      log;
+
+    alias core.stdc.math.log10         log10;
+    alias core.stdc.math.log10f        log10;
+    alias core.stdc.math.log10l        log10;
+
+    alias core.stdc.math.log1p         log1p;
+    alias core.stdc.math.log1pf        log1p;
+    alias core.stdc.math.log1pl        log1p;
+
+    alias core.stdc.math.log2          log1p;
+    alias core.stdc.math.log2f         log1p;
+    alias core.stdc.math.log2l         log1p;
+
+    alias core.stdc.math.logb          log1p;
+    alias core.stdc.math.logbf         log1p;
+    alias core.stdc.math.logbl         log1p;
+
+    alias core.stdc.math.modf          modf;
+    alias core.stdc.math.modff         modf;
+    alias core.stdc.math.modfl         modf;
+
+    alias core.stdc.math.scalbn        scalbn;
+    alias core.stdc.math.scalbnf       scalbn;
+    alias core.stdc.math.scalbnl       scalbn;
+
+    alias core.stdc.math.scalbln       scalbln;
+    alias core.stdc.math.scalblnf      scalbln;
+    alias core.stdc.math.scalblnl      scalbln;
+
+    alias core.stdc.math.cbrt          cbrt;
+    alias core.stdc.math.cbrtf         cbrt;
+    alias core.stdc.math.cbrtl         cbrt;
+
+    alias core.stdc.math.fabs          fabs;
+    alias core.stdc.math.fabsf         fabs;
+    alias core.stdc.math.fabsl         fabs;
+
+    alias core.stdc.complex.cabs       fabs;
+    alias core.stdc.complex.cabsf      fabs;
+    alias core.stdc.complex.cabsl      fabs;
+
+    alias core.stdc.math.hypot         hypot;
+    alias core.stdc.math.hypotf        hypot;
+    alias core.stdc.math.hypotl        hypot;
+
+    alias core.stdc.math.pow           pow;
+    alias core.stdc.math.powf          pow;
+    alias core.stdc.math.powl          pow;
+
+    alias core.stdc.complex.cpow       pow;
+    alias core.stdc.complex.cpowf      pow;
+    alias core.stdc.complex.cpowl      pow;
+
+    alias core.stdc.math.sqrt          sqrt;
+    alias core.stdc.math.sqrtf         sqrt;
+    alias core.stdc.math.sqrtl         sqrt;
+
+    alias core.stdc.complex.csqrt      sqrt;
+    alias core.stdc.complex.csqrtf     sqrt;
+    alias core.stdc.complex.csqrtl     sqrt;
+
+    alias core.stdc.math.erf           erf;
+    alias core.stdc.math.erff          erf;
+    alias core.stdc.math.erfl          erf;
+
+    alias core.stdc.math.erfc          erfc;
+    alias core.stdc.math.erfcf         erfc;
+    alias core.stdc.math.erfcl         erfc;
+
+    alias core.stdc.math.lgamma        lgamma;
+    alias core.stdc.math.lgammaf       lgamma;
+    alias core.stdc.math.lgammal       lgamma;
+
+    alias core.stdc.math.tgamma        tgamma;
+    alias core.stdc.math.tgammaf       tgamma;
+    alias core.stdc.math.tgammal       tgamma;
+
+    alias core.stdc.math.ceil          ceil;
+    alias core.stdc.math.ceilf         ceil;
+    alias core.stdc.math.ceill         ceil;
+
+    alias core.stdc.math.floor         floor;
+    alias core.stdc.math.floorf        floor;
+    alias core.stdc.math.floorl        floor;
+
+    alias core.stdc.math.nearbyint     nearbyint;
+    alias core.stdc.math.nearbyintf    nearbyint;
+    alias core.stdc.math.nearbyintl    nearbyint;
+
+    alias core.stdc.math.rint          rint;
+    alias core.stdc.math.rintf         rint;
+    alias core.stdc.math.rintl         rint;
+
+    alias core.stdc.math.lrint         lrint;
+    alias core.stdc.math.lrintf        lrint;
+    alias core.stdc.math.lrintl        lrint;
+
+    alias core.stdc.math.llrint        llrint;
+    alias core.stdc.math.llrintf       llrint;
+    alias core.stdc.math.llrintl       llrint;
+
+    alias core.stdc.math.round         round;
+    alias core.stdc.math.roundf        round;
+    alias core.stdc.math.roundl        round;
+
+    alias core.stdc.math.lround        lround;
+    alias core.stdc.math.lroundf       lround;
+    alias core.stdc.math.lroundl       lround;
+
+    alias core.stdc.math.llround       llround;
+    alias core.stdc.math.llroundf      llround;
+    alias core.stdc.math.llroundl      llround;
+
+    alias core.stdc.math.trunc         trunc;
+    alias core.stdc.math.truncf        trunc;
+    alias core.stdc.math.truncl        trunc;
+
+    alias core.stdc.math.fmod          fmod;
+    alias core.stdc.math.fmodf         fmod;
+    alias core.stdc.math.fmodl         fmod;
+
+    alias core.stdc.math.remainder     remainder;
+    alias core.stdc.math.remainderf    remainder;
+    alias core.stdc.math.remainderl    remainder;
+
+    alias core.stdc.math.remquo        remquo;
+    alias core.stdc.math.remquof       remquo;
+    alias core.stdc.math.remquol       remquo;
+
+    alias core.stdc.math.copysign      copysign;
+    alias core.stdc.math.copysignf     copysign;
+    alias core.stdc.math.copysignl     copysign;
+
+    alias core.stdc.math.nan           nan;
+    alias core.stdc.math.nanf          nan;
+    alias core.stdc.math.nanl          nan;
+
+    alias core.stdc.math.nextafter     nextafter;
+    alias core.stdc.math.nextafterf    nextafter;
+    alias core.stdc.math.nextafterl    nextafter;
+
+    alias core.stdc.math.nexttoward    nexttoward;
+    alias core.stdc.math.nexttowardf   nexttoward;
+    alias core.stdc.math.nexttowardl   nexttoward;
+
+    alias core.stdc.math.fdim          fdim;
+    alias core.stdc.math.fdimf         fdim;
+    alias core.stdc.math.fdiml         fdim;
+
+    alias core.stdc.math.fmax          fmax;
+    alias core.stdc.math.fmaxf         fmax;
+    alias core.stdc.math.fmaxl         fmax;
+
+    alias core.stdc.math.fmin          fmin;
+    alias core.stdc.math.fmin          fmin;
+    alias core.stdc.math.fminl         fmin;
+
+    alias core.stdc.math.fma           fma;
+    alias core.stdc.math.fmaf          fma;
+    alias core.stdc.math.fmal          fma;
+
+    alias core.stdc.complex.carg       carg;
+    alias core.stdc.complex.cargf      carg;
+    alias core.stdc.complex.cargl      carg;
+
+    alias core.stdc.complex.cimag      cimag;
+    alias core.stdc.complex.cimagf     cimag;
+    alias core.stdc.complex.cimagl     cimag;
+
+    alias core.stdc.complex.conj       conj;
+    alias core.stdc.complex.conjf      conj;
+    alias core.stdc.complex.conjl      conj;
+
+    alias core.stdc.complex.cproj      cproj;
+    alias core.stdc.complex.cprojf     cproj;
+    alias core.stdc.complex.cprojl     cproj;
+
+//  alias core.stdc.complex.creal      creal;
+//  alias core.stdc.complex.crealf     creal;
+//  alias core.stdc.complex.creall     creal;
+}
similarity index 96%
rename from import/stdc/time.d
rename to import/core/stdc/time.d
index 7422c83d6a63c5aa9fafc6181ef819f812e8ed45..9e46fd89dff05a3157fe1ef163e0f4fc77468ac4 100644 (file)
@@ -6,10 +6,10 @@
  * Authors:   Sean Kelly
  * Standards: ISO/IEC 9899:1999 (E)
  */
-module stdc.time;
+module core.stdc.time;
 
-private import stdc.config;
-private import stdc.stddef;
+private import core.stdc.config;
+private import core.stdc.stddef;
 
 extern (C):
 
similarity index 87%
rename from import/stdc/wctype.d
rename to import/core/stdc/wctype.d
index 125da7dcfecb56d901bfb085b8c5c7fa669e3e3d..72881c85ae56bea973906d1466c47b6bff4e2c4c 100644 (file)
@@ -6,9 +6,9 @@
  * Authors:   Sean Kelly
  * Standards: ISO/IEC 9899:1999 (E)
  */
-module stdc.wctype;
+module core.stdc.wctype;
 
-private import stdc.stddef;
+private import core.stdc.stddef;
 
 extern (C):
 
similarity index 82%
rename from import/stdc/posix/arpa/inet.d
rename to import/core/sys/posix/arpa/inet.d
index f4ab2502b9877432add245e3c81c34816356392d..05c7ffcc0b5879a5bac6b5e105e8b23eb34aef97 100644 (file)
@@ -6,11 +6,11 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.arpa.inet;
+module core.sys.posix.arpa.inet;
 
-private import stdc.posix.config;
-public import stdc.inttypes : uint32_t, uint16_t;
-public import stdc.posix.sys.socket : socklen_t;
+private import core.sys.posix.config;
+public import core.stdc.inttypes : uint32_t, uint16_t;
+public import core.sys.posix.sys.socket : socklen_t;
 
 extern (C):
 
@@ -18,14 +18,14 @@ extern (C):
 // Required
 //
 /*
-in_port_t // from stdc.posix.netinet.in_
-in_addr_t // from stdc.posix.netinet.in_
+in_port_t // from core.sys.posix.netinet.in_
+in_addr_t // from core.sys.posix.netinet.in_
 
-struct in_addr  // from stdc.posix.netinet.in_
-INET_ADDRSTRLEN // from stdc.posix.netinet.in_
+struct in_addr  // from core.sys.posix.netinet.in_
+INET_ADDRSTRLEN // from core.sys.posix.netinet.in_
 
-uint32_t // from stdc.inttypes
-uint16_t // from stdc.inttypes
+uint32_t // from core.stdc.inttypes
+uint16_t // from core.stdc.inttypes
 
 uint32_t htonl(uint32_t);
 uint16_t htons(uint16_t);
@@ -110,7 +110,7 @@ else version( freebsd )
 // IPV6 (IP6)
 //
 /*
-INET6_ADDRSTRLEN // from stdc.posix.netinet.in_
+INET6_ADDRSTRLEN // from core.sys.posix.netinet.in_
 */
 
 version( linux )
similarity index 88%
rename from import/stdc/posix/config.d
rename to import/core/sys/posix/config.d
index c3a4485976deb562b9d53883b3b4f5d2c41ebd58..a2e92cd1c11bf5d979d423c2f8be77ee11b78e3e 100644 (file)
@@ -6,9 +6,9 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.config;
+module core.sys.posix.config;
 
-public import stdc.config;
+public import core.stdc.config;
 
 extern (C):
 
similarity index 96%
rename from import/stdc/posix/dirent.d
rename to import/core/sys/posix/dirent.d
index c15aaf2c43e7dede714fb8b1363d0ad0733bf7bc..c4749236041fd32e35444600a41dc451b9f647b6 100644 (file)
@@ -6,10 +6,10 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.dirent;
+module core.sys.posix.dirent;
 
-private import stdc.posix.config;
-public import stdc.posix.sys.types; // for ino_t
+private import core.sys.posix.config;
+public import core.sys.posix.sys.types; // for ino_t
 
 extern (C):
 
similarity index 94%
rename from import/stdc/posix/dlfcn.d
rename to import/core/sys/posix/dlfcn.d
index 2858413a8b503c24ee455b37ac54fd873585f670..2cf914293749d2f4a9ec9f362104154621f52780 100644 (file)
@@ -6,9 +6,9 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.dlfcn;
+module core.sys.posix.dlfcn;
 
-private import stdc.posix.config;
+private import core.sys.posix.config;
 
 extern (C):
 
similarity index 94%
rename from import/stdc/posix/fcntl.d
rename to import/core/sys/posix/fcntl.d
index f66d1a1c67aab0163787047f4e42ac930cb27ff2..cc5641ff9985b955cf12e0bb1e689d189e5f2a53 100644 (file)
@@ -6,13 +6,13 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.fcntl;
+module core.sys.posix.fcntl;
 
-private import stdc.posix.config;
-private import stdc.stdint;
-public import stdc.stddef;          // for size_t
-public import stdc.posix.sys.types; // for off_t, mode_t
-public import stdc.posix.sys.stat;  // for S_IFMT, etc.
+private import core.sys.posix.config;
+private import core.stdc.stdint;
+public import core.stdc.stddef;          // for size_t
+public import core.sys.posix.sys.types; // for off_t, mode_t
+public import core.sys.posix.sys.stat;  // for S_IFMT, etc.
 
 extern (C):
 
similarity index 87%
rename from import/stdc/posix/inttypes.d
rename to import/core/sys/posix/inttypes.d
index 7925e7f0112f3d263a133bcf1eb704467c6d20c7..9621e5552ed0cd3965863f1df8cdee41873ee406 100644 (file)
@@ -6,10 +6,10 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.inttypes;
+module core.sys.posix.inttypes;
 
-private import stdc.posix.config;
-public import stdc.inttypes;
+private import core.sys.posix.config;
+public import core.stdc.inttypes;
 
 //
 // Required
similarity index 95%
rename from import/stdc/posix/net/if_.d
rename to import/core/sys/posix/net/if_.d
index 2724c1418700422f07ce77904c40fe161dff7dda..e321e0e153b4e1ac2710ed84dddfe3018950ba1d 100644 (file)
@@ -6,9 +6,9 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.net.if_;
+module core.sys.posix.net.if_;
 
-private import stdc.posix.config;
+private import core.sys.posix.config;
 
 extern (C):
 
similarity index 90%
rename from import/stdc/posix/netinet/in_.d
rename to import/core/sys/posix/netinet/in_.d
index 237ead4156c5f5755777ac3074cb659a700301ee..e4bca0870f1575737cb23650f1e2e070a63cf0c2 100644 (file)
@@ -6,12 +6,12 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.netinet.in_;
+module core.sys.posix.netinet.in_;
 
-private import stdc.posix.config;
-public import stdc.inttypes : uint32_t, uint16_t, uint8_t;
-public import stdc.posix.arpa.inet;
-public import stdc.posix.sys.socket; // for sa_family_t
+private import core.sys.posix.config;
+public import core.stdc.inttypes : uint32_t, uint16_t, uint8_t;
+public import core.sys.posix.arpa.inet;
+public import core.sys.posix.sys.socket; // for sa_family_t
 
 extern (C):
 
@@ -19,15 +19,15 @@ extern (C):
 // Required
 //
 /*
-NOTE: The following must must be defined in stdc.posix.arpa.inet to break
+NOTE: The following must must be defined in core.sys.posix.arpa.inet to break
       a circular import: in_port_t, in_addr_t, struct in_addr, INET_ADDRSTRLEN.
 
 in_port_t
 in_addr_t
 
-sa_family_t // from stdc.posix.sys.socket
-uint8_t     // from stdc.inttypes
-uint32_t    // from stdc.inttypes
+sa_family_t // from core.sys.posix.sys.socket
+uint8_t     // from core.stdc.inttypes
+uint32_t    // from core.stdc.inttypes
 
 struct in_addr
 {
@@ -51,10 +51,10 @@ INADDR_BROADCAST
 
 INET_ADDRSTRLEN
 
-htonl() // from stdc.posix.arpa.inet
-htons() // from stdc.posix.arpa.inet
-ntohl() // from stdc.posix.arpa.inet
-ntohs() // from stdc.posix.arpa.inet
+htonl() // from core.sys.posix.arpa.inet
+htons() // from core.sys.posix.arpa.inet
+ntohl() // from core.sys.posix.arpa.inet
+ntohs() // from core.sys.posix.arpa.inet
 */
 
 version( linux )
@@ -137,7 +137,7 @@ else version( freebsd )
 // IPV6 (IP6)
 //
 /*
-NOTE: The following must must be defined in stdc.posix.arpa.inet to break
+NOTE: The following must must be defined in core.sys.posix.arpa.inet to break
       a circular import: INET6_ADDRSTRLEN.
 
 struct in6_addr
similarity index 85%
rename from import/stdc/posix/netinet/tcp.d
rename to import/core/sys/posix/netinet/tcp.d
index 4c216256e3eedf10dfef7ce97d24d0b1df4f01de..5d6611e454a9ea6ff45a64fa6fd283a0696c73f4 100644 (file)
@@ -6,9 +6,9 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.netinet.tcp;
+module core.sys.posix.netinet.tcp;
 
-private import stdc.posix.config;
+private import core.sys.posix.config;
 
 extern (C):
 
similarity index 97%
rename from import/stdc/posix/poll.d
rename to import/core/sys/posix/poll.d
index 382d182b607c9f33cdf1759c06379f1dffe701f0..4737cf2485530280350f5ead3997c2a6406e9936 100644 (file)
@@ -6,9 +6,9 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.poll;
+module core.sys.posix.poll;
 
-private import stdc.posix.config;
+private import core.sys.posix.config;
 
 extern (C):
 
similarity index 99%
rename from import/stdc/posix/pthread.d
rename to import/core/sys/posix/pthread.d
index 3b83ea0c50dea6e2a89bce0036eefee1080f919f..49fdcd974038114a55dfd466bc9ccf211a0d7e37 100644 (file)
@@ -6,12 +6,12 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.pthread;
+module core.sys.posix.pthread;
 
-private import stdc.posix.config;
-public import stdc.posix.sys.types;
-public import stdc.posix.sched;
-public import stdc.posix.time;
+private import core.sys.posix.config;
+public import core.sys.posix.sys.types;
+public import core.sys.posix.sched;
+public import core.sys.posix.time;
 
 extern (C):
 
similarity index 95%
rename from import/stdc/posix/pwd.d
rename to import/core/sys/posix/pwd.d
index 900380a688c70b2efc2c71147f6d1c690ec0dbd2..09dfc48e7b07127110f8a32c053230f07ee21622 100644 (file)
@@ -6,10 +6,10 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.pwd;
+module core.sys.posix.pwd;
 
-private import stdc.posix.config;
-public import stdc.posix.sys.types; // for gid_t, uid_t
+private import core.sys.posix.config;
+public import core.sys.posix.sys.types; // for gid_t, uid_t
 
 extern (C):
 
similarity index 94%
rename from import/stdc/posix/sched.d
rename to import/core/sys/posix/sched.d
index b78475fea7cc7dfb038936687845ce931b716389..4392b40bce0f47c159e666e0961a688b14935cb4 100644 (file)
@@ -6,11 +6,11 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.sched;
+module core.sys.posix.sched;
 
-private import stdc.posix.config;
-public import stdc.posix.time;
-public import stdc.posix.sys.types;
+private import core.sys.posix.config;
+public import core.sys.posix.time;
+public import core.sys.posix.sys.types;
 
 extern (C):
 
similarity index 93%
rename from import/stdc/posix/semaphore.d
rename to import/core/sys/posix/semaphore.d
index 392a0042a2a42c1f12773f3c87a0cf47039888ce..3392b63f6511f4c30a87b4f83791414aeeefd14d 100644 (file)
@@ -6,10 +6,10 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.semaphore;
+module core.sys.posix.semaphore;
 
-private import stdc.posix.config;
-private import stdc.posix.time;
+private import core.sys.posix.config;
+private import core.sys.posix.time;
 
 extern (C):
 
similarity index 93%
rename from import/stdc/posix/setjmp.d
rename to import/core/sys/posix/setjmp.d
index 93c6c2e44f2f5a8cc8984d4a83fa613ddb59e60f..35fbbd911ef3a51e9bd5d0e1eb4460af831a6f6c 100644 (file)
@@ -6,10 +6,10 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.setjmp;
+module core.sys.posix.setjmp;
 
-private import stdc.posix.config;
-private import stdc.posix.signal; // for sigset_t
+private import core.sys.posix.config;
+private import core.sys.posix.signal; // for sigset_t
 
 extern (C):
 
similarity index 83%
rename from import/stdc/posix/signal.d
rename to import/core/sys/posix/signal.d
index 06cc469b72e26b849fcc5c6551ecde672b96807f..cdba65f5b36121d8d9985ae14a35cdf5f2b9597f 100644 (file)
@@ -6,13 +6,13 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.signal;
+module core.sys.posix.signal;
 
-private import stdc.posix.config;
-public import stdc.signal;
-public import stdc.stddef;          // for size_t
-public import stdc.posix.sys.types; // for pid_t
-//public import stdc.posix.time;      // for timespec, now defined here
+private import core.sys.posix.config;
+public import core.stdc.signal;
+public import core.stdc.stddef;          // for size_t
+public import core.sys.posix.sys.types; // for pid_t
+//public import core.sys.posix.time;      // for timespec, now defined here
 
 extern (C):
 
@@ -23,11 +23,11 @@ private alias void function(int, siginfo_t*, void*) sigactfn_t;
 // Required
 //
 /*
-SIG_DFL (defined in stdc.signal)
-SIG_ERR (defined in stdc.signal)
-SIG_IGN (defined in stdc.signal)
+SIG_DFL (defined in core.stdc.signal)
+SIG_ERR (defined in core.stdc.signal)
+SIG_IGN (defined in core.stdc.signal)
 
-sig_atomic_t (defined in stdc.signal)
+sig_atomic_t (defined in core.stdc.signal)
 
 SIGEV_NONE
 SIGEV_SIGNAL
@@ -42,21 +42,21 @@ union sigval
 SIGRTMIN
 SIGRTMAX
 
-SIGABRT (defined in stdc.signal)
+SIGABRT (defined in core.stdc.signal)
 SIGALRM
 SIGBUS
 SIGCHLD
 SIGCONT
-SIGFPE (defined in stdc.signal)
+SIGFPE (defined in core.stdc.signal)
 SIGHUP
-SIGILL (defined in stdc.signal)
-SIGINT (defined in stdc.signal)
+SIGILL (defined in core.stdc.signal)
+SIGINT (defined in core.stdc.signal)
 SIGKILL
 SIGPIPE
 SIGQUIT
-SIGSEGV (defined in stdc.signal)
+SIGSEGV (defined in core.stdc.signal)
 SIGSTOP
-SIGTERM (defined in stdc.signal)
+SIGTERM (defined in core.stdc.signal)
 SIGTSTP
 SIGTTIN
 SIGTTOU
@@ -71,15 +71,15 @@ struct sigaction_t
     sigactfn_t  sa_sigaction;
 }
 
-sigfn_t signal(int sig, sigfn_t func); (defined in stdc.signal)
-int raise(int sig);                    (defined in stdc.signal)
+sigfn_t signal(int sig, sigfn_t func); (defined in core.stdc.signal)
+int raise(int sig);                    (defined in core.stdc.signal)
 */
 
-//SIG_DFL (defined in stdc.signal)
-//SIG_ERR (defined in stdc.signal)
-//SIG_IGN (defined in stdc.signal)
+//SIG_DFL (defined in core.stdc.signal)
+//SIG_ERR (defined in core.stdc.signal)
+//SIG_IGN (defined in core.stdc.signal)
 
-//sig_atomic_t (defined in stdc.signal)
+//sig_atomic_t (defined in core.stdc.signal)
 
 enum
 {
@@ -102,21 +102,21 @@ alias __libc_current_sigrtmax SIGRTMAX;
 
 version( linux )
 {
-    //SIGABRT (defined in stdc.signal)
+    //SIGABRT (defined in core.stdc.signal)
     const SIGALRM   = 14;
     const SIGBUS    = 7;
     const SIGCHLD   = 17;
     const SIGCONT   = 18;
-    //SIGFPE (defined in stdc.signal)
+    //SIGFPE (defined in core.stdc.signal)
     const SIGHUP    = 1;
-    //SIGILL (defined in stdc.signal)
-    //SIGINT (defined in stdc.signal)
+    //SIGILL (defined in core.stdc.signal)
+    //SIGINT (defined in core.stdc.signal)
     const SIGKILL   = 9;
     const SIGPIPE   = 13;
     const SIGQUIT   = 3;
-    //SIGSEGV (defined in stdc.signal)
+    //SIGSEGV (defined in core.stdc.signal)
     const SIGSTOP   = 19;
-    //SIGTERM (defined in stdc.signal)
+    //SIGTERM (defined in core.stdc.signal)
     const SIGTSTP   = 20;
     const SIGTTIN   = 21;
     const SIGTTOU   = 22;
@@ -126,21 +126,21 @@ version( linux )
 }
 else version( darwin )
 {
-    //SIGABRT (defined in stdc.signal)
+    //SIGABRT (defined in core.stdc.signal)
     const SIGALRM   = 14;
     const SIGBUS    = 10;
     const SIGCHLD   = 20;
     const SIGCONT   = 19;
-    //SIGFPE (defined in stdc.signal)
+    //SIGFPE (defined in core.stdc.signal)
     const SIGHUP    = 1;
-    //SIGILL (defined in stdc.signal)
-    //SIGINT (defined in stdc.signal)
+    //SIGILL (defined in core.stdc.signal)
+    //SIGINT (defined in core.stdc.signal)
     const SIGKILL   = 9;
     const SIGPIPE   = 13;
     const SIGQUIT   = 3;
-    //SIGSEGV (defined in stdc.signal)
+    //SIGSEGV (defined in core.stdc.signal)
     const SIGSTOP   = 17;
-    //SIGTERM (defined in stdc.signal)
+    //SIGTERM (defined in core.stdc.signal)
     const SIGTSTP   = 18;
     const SIGTTIN   = 21;
     const SIGTTOU   = 22;
@@ -150,21 +150,21 @@ else version( darwin )
 }
 else version( freebsd )
 {
-    //SIGABRT (defined in stdc.signal)
+    //SIGABRT (defined in core.stdc.signal)
     const SIGALRM   = 14;
     const SIGBUS    = 10;
     const SIGCHLD   = 20;
     const SIGCONT   = 19;
-    //SIGFPE (defined in stdc.signal)
+    //SIGFPE (defined in core.stdc.signal)
     const SIGHUP    = 1;
-    //SIGILL (defined in stdc.signal)
-    //SIGINT (defined in stdc.signal)
+    //SIGILL (defined in core.stdc.signal)
+    //SIGINT (defined in core.stdc.signal)
     const SIGKILL   = 9;
     const SIGPIPE   = 13;
     const SIGQUIT   = 3;
-    //SIGSEGV (defined in stdc.signal)
+    //SIGSEGV (defined in core.stdc.signal)
     const SIGSTOP   = 17;
-    //SIGTERM (defined in stdc.signal)
+    //SIGTERM (defined in core.stdc.signal)
     const SIGTSTP   = 18;
     const SIGTTIN   = 21;
     const SIGTTOU   = 22;
@@ -202,14 +202,14 @@ struct sigaction_t
 SIG_HOLD
 
 sigset_t
-pid_t   (defined in sys.types)
+pid_t   (defined in core.sys.types)
 
-SIGABRT (defined in stdc.signal)
-SIGFPE  (defined in stdc.signal)
-SIGILL  (defined in stdc.signal)
-SIGINT  (defined in stdc.signal)
-SIGSEGV (defined in stdc.signal)
-SIGTERM (defined in stdc.signal)
+SIGABRT (defined in core.stdc.signal)
+SIGFPE  (defined in core.stdc.signal)
+SIGILL  (defined in core.stdc.signal)
+SIGINT  (defined in core.stdc.signal)
+SIGSEGV (defined in core.stdc.signal)
+SIGTERM (defined in core.stdc.signal)
 
 SA_NOCLDSTOP (CX|XSI)
 SIG_BLOCK
@@ -266,14 +266,14 @@ version( linux )
         c_ulong[_SIGSET_NWORDS] __val;
     }
 
-    // pid_t  (defined in sys.types)
+    // pid_t  (defined in core.sys.types)
 
-    //SIGABRT (defined in stdc.signal)
-    //SIGFPE  (defined in stdc.signal)
-    //SIGILL  (defined in stdc.signal)
-    //SIGINT  (defined in stdc.signal)
-    //SIGSEGV (defined in stdc.signal)
-    //SIGTERM (defined in stdc.signal)
+    //SIGABRT (defined in core.stdc.signal)
+    //SIGFPE  (defined in core.stdc.signal)
+    //SIGILL  (defined in core.stdc.signal)
+    //SIGINT  (defined in core.stdc.signal)
+    //SIGSEGV (defined in core.stdc.signal)
+    //SIGTERM (defined in core.stdc.signal)
 
     const SA_NOCLDSTOP  = 1; // (CX|XSI)
 
@@ -381,14 +381,14 @@ else version( darwin )
     //SIG_HOLD
 
     alias uint sigset_t;
-    // pid_t  (defined in sys.types)
+    // pid_t  (defined in core.sys.types)
 
-    //SIGABRT (defined in stdc.signal)
-    //SIGFPE  (defined in stdc.signal)
-    //SIGILL  (defined in stdc.signal)
-    //SIGINT  (defined in stdc.signal)
-    //SIGSEGV (defined in stdc.signal)
-    //SIGTERM (defined in stdc.signal)
+    //SIGABRT (defined in core.stdc.signal)
+    //SIGFPE  (defined in core.stdc.signal)
+    //SIGILL  (defined in core.stdc.signal)
+    //SIGINT  (defined in core.stdc.signal)
+    //SIGSEGV (defined in core.stdc.signal)
+    //SIGTERM (defined in core.stdc.signal)
 
     //SA_NOCLDSTOP (CX|XSI)
 
@@ -606,8 +606,8 @@ version( linux )
     const MINSIGSTKSZ   = 2048;
     const SIGSTKSZ      = 8192;
 
-    //ucontext_t (defined in stdc.posix.ucontext)
-    //mcontext_t (defined in stdc.posix.ucontext)
+    //ucontext_t (defined in core.sys.posix.ucontext)
+    //mcontext_t (defined in core.sys.posix.ucontext)
 
     struct stack_t
     {
@@ -701,7 +701,7 @@ version( linux )
 // Timer (TMR)
 //
 /*
-NOTE: This should actually be defined in stdc.posix.time.
+NOTE: This should actually be defined in core.sys.posix.time.
       It is defined here instead to break a circular import.
 
 struct timespec
@@ -800,7 +800,8 @@ else version( freebsd )
         union  _sigev_un
         {
             lwpid_t _threadid;
-            struct _sigev_thread {
+            struct _sigev_thread
+            {
                 void function(sigval) _function;
                 void* _attribute;
             }
similarity index 94%
rename from import/stdc/posix/stdio.d
rename to import/core/sys/posix/stdio.d
index aa55ccff060a48e8ce8fab5ca5c7765b5da18bed..32e160570d48db2c175eb15a475b71182b841913 100644 (file)
@@ -6,16 +6,16 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.stdio;
+module core.sys.posix.stdio;
 
-private import stdc.posix.config;
-public import stdc.stdio;
-public import stdc.posix.sys.types; // for off_t
+private import core.sys.posix.config;
+public import core.stdc.stdio;
+public import core.sys.posix.sys.types; // for off_t
 
 extern (C):
 
 //
-// Required (defined in stdc.stdio)
+// Required (defined in core.stdc.stdio)
 //
 /*
 BUFSIZ
@@ -201,7 +201,7 @@ version( linux )
 //
 /*
 P_tmpdir
-va_list (defined in stdc.stdarg)
+va_list (defined in core.stdc.stdarg)
 
 char*  tempnam(in char*, in char*);
 */
similarity index 76%
rename from import/stdc/posix/stdlib.d
rename to import/core/sys/posix/stdlib.d
index e9b0ba20f7fcf604e5f47cde153a44f35050e454..2e21cc7b18acf0f7b660d7e3fabdf9f1feaea143 100644 (file)
@@ -6,16 +6,16 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.stdlib;
+module core.sys.posix.stdlib;
 
-private import stdc.posix.config;
-public import stdc.stdlib;
-public import stdc.posix.sys.wait;
+private import core.sys.posix.config;
+public import core.stdc.stdlib;
+public import core.sys.posix.sys.wait;
 
 extern (C):
 
 //
-// Required (defined in stdc.stdlib)
+// Required (defined in core.stdc.stdlib)
 //
 /*
 EXIT_FAILURE
@@ -133,14 +133,14 @@ else version( freebsd )
 // XOpen (XSI)
 //
 /*
-WNOHANG     (defined in stdc.posix.sys.wait)
-WUNTRACED   (defined in stdc.posix.sys.wait)
-WEXITSTATUS (defined in stdc.posix.sys.wait)
-WIFEXITED   (defined in stdc.posix.sys.wait)
-WIFSIGNALED (defined in stdc.posix.sys.wait)
-WIFSTOPPED  (defined in stdc.posix.sys.wait)
-WSTOPSIG    (defined in stdc.posix.sys.wait)
-WTERMSIG    (defined in stdc.posix.sys.wait)
+WNOHANG     (defined in core.sys.posix.sys.wait)
+WUNTRACED   (defined in core.sys.posix.sys.wait)
+WEXITSTATUS (defined in core.sys.posix.sys.wait)
+WIFEXITED   (defined in core.sys.posix.sys.wait)
+WIFSIGNALED (defined in core.sys.posix.sys.wait)
+WIFSTOPPED  (defined in core.sys.posix.sys.wait)
+WSTOPSIG    (defined in core.sys.posix.sys.wait)
+WTERMSIG    (defined in core.sys.posix.sys.wait)
 
 c_long a64l(in char*);
 double drand48();
@@ -175,14 +175,14 @@ int    unlockpt(int);
 
 version( linux )
 {
-    //WNOHANG     (defined in stdc.posix.sys.wait)
-    //WUNTRACED   (defined in stdc.posix.sys.wait)
-    //WEXITSTATUS (defined in stdc.posix.sys.wait)
-    //WIFEXITED   (defined in stdc.posix.sys.wait)
-    //WIFSIGNALED (defined in stdc.posix.sys.wait)
-    //WIFSTOPPED  (defined in stdc.posix.sys.wait)
-    //WSTOPSIG    (defined in stdc.posix.sys.wait)
-    //WTERMSIG    (defined in stdc.posix.sys.wait)
+    //WNOHANG     (defined in core.sys.posix.sys.wait)
+    //WUNTRACED   (defined in core.sys.posix.sys.wait)
+    //WEXITSTATUS (defined in core.sys.posix.sys.wait)
+    //WIFEXITED   (defined in core.sys.posix.sys.wait)
+    //WIFSIGNALED (defined in core.sys.posix.sys.wait)
+    //WIFSTOPPED  (defined in core.sys.posix.sys.wait)
+    //WSTOPSIG    (defined in core.sys.posix.sys.wait)
+    //WTERMSIG    (defined in core.sys.posix.sys.wait)
 
     c_long a64l(in char*);
     double drand48();
@@ -225,14 +225,14 @@ version( linux )
 }
 else version( darwin )
 {
-    //WNOHANG     (defined in stdc.posix.sys.wait)
-    //WUNTRACED   (defined in stdc.posix.sys.wait)
-    //WEXITSTATUS (defined in stdc.posix.sys.wait)
-    //WIFEXITED   (defined in stdc.posix.sys.wait)
-    //WIFSIGNALED (defined in stdc.posix.sys.wait)
-    //WIFSTOPPED  (defined in stdc.posix.sys.wait)
-    //WSTOPSIG    (defined in stdc.posix.sys.wait)
-    //WTERMSIG    (defined in stdc.posix.sys.wait)
+    //WNOHANG     (defined in core.sys.posix.sys.wait)
+    //WUNTRACED   (defined in core.sys.posix.sys.wait)
+    //WEXITSTATUS (defined in core.sys.posix.sys.wait)
+    //WIFEXITED   (defined in core.sys.posix.sys.wait)
+    //WIFSIGNALED (defined in core.sys.posix.sys.wait)
+    //WIFSTOPPED  (defined in core.sys.posix.sys.wait)
+    //WSTOPSIG    (defined in core.sys.posix.sys.wait)
+    //WTERMSIG    (defined in core.sys.posix.sys.wait)
 
     c_long a64l(in char*);
     double drand48();
@@ -265,14 +265,14 @@ else version( darwin )
 }
 else version( freebsd )
 {
-    //WNOHANG     (defined in stdc.posix.sys.wait)
-    //WUNTRACED   (defined in stdc.posix.sys.wait)
-    //WEXITSTATUS (defined in stdc.posix.sys.wait)
-    //WIFEXITED   (defined in stdc.posix.sys.wait)
-    //WIFSIGNALED (defined in stdc.posix.sys.wait)
-    //WIFSTOPPED  (defined in stdc.posix.sys.wait)
-    //WSTOPSIG    (defined in stdc.posix.sys.wait)
-    //WTERMSIG    (defined in stdc.posix.sys.wait)
+    //WNOHANG     (defined in core.sys.posix.sys.wait)
+    //WUNTRACED   (defined in core.sys.posix.sys.wait)
+    //WEXITSTATUS (defined in core.sys.posix.sys.wait)
+    //WIFEXITED   (defined in core.sys.posix.sys.wait)
+    //WIFSIGNALED (defined in core.sys.posix.sys.wait)
+    //WIFSTOPPED  (defined in core.sys.posix.sys.wait)
+    //WSTOPSIG    (defined in core.sys.posix.sys.wait)
+    //WTERMSIG    (defined in core.sys.posix.sys.wait)
 
     c_long a64l(in char*);
     double drand48();
similarity index 91%
rename from import/stdc/posix/sys/ipc.d
rename to import/core/sys/posix/sys/ipc.d
index 7bb1f962c4104e713a6e061c24453bae0f901a4d..90419b9105d4ce09ccc22311ba55364342055bee 100644 (file)
@@ -6,10 +6,10 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.sys.ipc;
+module core.sys.posix.sys.ipc;
 
-private import stdc.posix.config;
-public import stdc.posix.sys.types; // for uid_t, gid_t, mode_t, key_t
+private import core.sys.posix.config;
+public import core.sys.posix.sys.types; // for uid_t, gid_t, mode_t, key_t
 
 extern (C):
 
similarity index 96%
rename from import/stdc/posix/sys/mman.d
rename to import/core/sys/posix/sys/mman.d
index 9c37e751f21a393ccd88249a6158bb05f35545a0..5bfeaa76358492e0f664674c165a3dcc6cc7c74b 100644 (file)
@@ -6,11 +6,11 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.sys.mman;
+module core.sys.posix.sys.mman;
 
-private import stdc.posix.config;
-public import stdc.stddef;          // for size_t
-public import stdc.posix.sys.types; // for off_t, mode_t
+private import core.sys.posix.config;
+public import core.stdc.stddef;          // for size_t
+public import core.sys.posix.sys.types; // for off_t, mode_t
 
 extern (C):
 
similarity index 91%
rename from import/stdc/posix/sys/select.d
rename to import/core/sys/posix/sys/select.d
index b3ed54108911e6e11ad33f96ad0898b0cb20d35d..3655371b95ae2353ce74b25197d3ba587fd997bc 100644 (file)
@@ -6,13 +6,13 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.sys.select;
+module core.sys.posix.sys.select;
 
-private import stdc.posix.config;
-public import stdc.time;            // for timespec
-public import stdc.posix.sys.time;  // for timeval
-public import stdc.posix.sys.types; // for time_t
-public import stdc.posix.signal;    // for sigset_t
+private import core.sys.posix.config;
+public import core.stdc.time;            // for timespec
+public import core.sys.posix.sys.time;  // for timeval
+public import core.sys.posix.sys.types; // for time_t
+public import core.sys.posix.signal;    // for sigset_t
 
 extern (C):
 
@@ -20,7 +20,7 @@ extern (C):
 // Required
 //
 /*
-NOTE: This module requires timeval from stdc.posix.sys.time, but timeval
+NOTE: This module requires timeval from core.sys.posix.sys.time, but timeval
       is supposedly an XOpen extension.  As a result, this header will not
       compile on platforms that are not XSI-compliant.  This must be resolved
       on a per-platform basis.
similarity index 92%
rename from import/stdc/posix/sys/shm.d
rename to import/core/sys/posix/sys/shm.d
index 212c11e241ec86f277473a7498dece6de8602b45..477c8b0f0f8d749d2745ccc24dacc3219cb9dfc2 100644 (file)
@@ -6,11 +6,11 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.sys.shm;
+module core.sys.posix.sys.shm;
 
-private import stdc.posix.config;
-public import stdc.posix.sys.types; // for pid_t, time_t, key_t, size_t
-public import stdc.posix.sys.ipc;
+private import core.sys.posix.config;
+public import core.sys.posix.sys.types; // for pid_t, time_t, key_t, size_t
+public import core.sys.posix.sys.ipc;
 
 extern (C):
 
similarity index 98%
rename from import/stdc/posix/sys/socket.d
rename to import/core/sys/posix/sys/socket.d
index 8d72bbd98ab1d327d8c2032dcdf45790954b7ee6..a93fff976a249538dbd95d943721afbcef300840 100644 (file)
@@ -6,11 +6,11 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.sys.socket;
+module core.sys.posix.sys.socket;
 
-private import stdc.posix.config;
-public import stdc.posix.sys.types; // for ssize_t, size_t
-public import stdc.posix.sys.uio;   // for iovec
+private import core.sys.posix.config;
+public import core.sys.posix.sys.types; // for ssize_t, size_t
+public import core.sys.posix.sys.uio;   // for iovec
 
 extern (C):
 
@@ -43,7 +43,7 @@ struct msghdr
     int           msg_flags;
 }
 
-struct iovec {} // from stdc.posix.sys.uio
+struct iovec {} // from core.sys.posix.sys.uio
 
 struct cmsghdr
 {
similarity index 97%
rename from import/stdc/posix/sys/stat.d
rename to import/core/sys/posix/sys/stat.d
index 875a6b4966d4724fa81900df90bc6b5498a7822f..37404b61f0f92ce76b9ce33c86fe065f01c10e3e 100644 (file)
@@ -6,13 +6,13 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.sys.stat;
+module core.sys.posix.sys.stat;
 
-private import stdc.posix.config;
-private import stdc.stdint;
-private import stdc.posix.time;     // for timespec
-public import stdc.stddef;          // for size_t
-public import stdc.posix.sys.types; // for off_t, mode_t
+private import core.sys.posix.config;
+private import core.stdc.stdint;
+private import core.sys.posix.time;     // for timespec
+public import core.stdc.stddef;          // for size_t
+public import core.sys.posix.sys.types; // for off_t, mode_t
 
 extern (C):
 
similarity index 90%
rename from import/stdc/posix/sys/time.d
rename to import/core/sys/posix/sys/time.d
index dadd5da153e73a7d3b496dc0aad6353e53be0719..4cf5d1513d162038a1824a26e90013964596d586 100644 (file)
@@ -6,11 +6,11 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.sys.time;
+module core.sys.posix.sys.time;
 
-private import stdc.posix.config;
-public import stdc.posix.sys.types;  // for time_t, suseconds_t
-public import stdc.posix.sys.select; // for fd_set, FD_CLR() FD_ISSET() FD_SET() FD_ZERO() FD_SETSIZE
+private import core.sys.posix.config;
+public import core.sys.posix.sys.types;  // for time_t, suseconds_t
+public import core.sys.posix.sys.select; // for fd_set, FD_CLR() FD_ISSET() FD_SET() FD_ZERO() FD_SETSIZE
 
 extern (C):
 
similarity index 94%
rename from import/stdc/posix/sys/types.d
rename to import/core/sys/posix/sys/types.d
index bd4dbd58d694b7712561b66ab6a86e1c8bfa2a8b..7cd682381fa12b316d78fd878ff25d5b27f6ab89 100644 (file)
@@ -6,12 +6,12 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.sys.types;
+module core.sys.posix.sys.types;
 
-private import stdc.posix.config;
-private import stdc.stdint;
-public import stdc.stddef; // for size_t
-public import stdc.time;   // for clock_t, time_t
+private import core.sys.posix.config;
+private import core.stdc.stdint;
+public import core.stdc.stddef; // for size_t
+public import core.stdc.time;   // for clock_t, time_t
 
 extern (C):
 
@@ -54,9 +54,9 @@ version( linux )
     alias uint      mode_t;
     alias c_ulong   nlink_t;
     alias int       pid_t;
-    //size_t (defined in stdc.stddef)
+    //size_t (defined in core.stdc.stddef)
     alias c_long    ssize_t;
-    //time_t (defined in stdc.time)
+    //time_t (defined in core.stdc.time)
     alias uint      uid_t;
 }
 else version( darwin )
@@ -70,9 +70,9 @@ else version( darwin )
     alias ushort    nlink_t;
     alias long      off_t;
     alias int       pid_t;
-    //size_t (defined in stdc.stddef)
+    //size_t (defined in core.stdc.stddef)
     alias size_t    ssize_t;
-    //time_t (defined in stdc.time)
+    //time_t (defined in core.stdc.time)
     alias uint      uid_t;
 }
 else version( freebsd )
@@ -86,9 +86,9 @@ else version( freebsd )
     alias ushort    nlink_t;
     alias long      off_t;
     alias int       pid_t;
-    //size_t (defined in stdc.stddef)
+    //size_t (defined in core.stdc.stddef)
     alias size_t    ssize_t;
-    //time_t (defined in stdc.time)
+    //time_t (defined in core.stdc.time)
     alias uint      uid_t;
     alias uint      fflags_t;
 }
@@ -118,7 +118,7 @@ version( linux )
     alias c_ulong   fsblkcnt_t;
     alias c_ulong   fsfilcnt_t;
   }
-    // clock_t (defined in stdc.time)
+    // clock_t (defined in core.stdc.time)
     alias uint      id_t;
     alias int       key_t;
     alias c_long    suseconds_t;
similarity index 81%
rename from import/stdc/posix/sys/uio.d
rename to import/core/sys/posix/sys/uio.d
index 181f073a1c6afa62142f8a6a82f40a94db89fe10..7f924a55392d6cbc7198af22890327b060149e9b 100644 (file)
@@ -6,10 +6,10 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.sys.uio;
+module core.sys.posix.sys.uio;
 
-private import stdc.posix.config;
-public import stdc.posix.sys.types; // for ssize_t, size_t
+private import core.sys.posix.config;
+public import core.sys.posix.sys.types; // for ssize_t, size_t
 
 extern (C):
 
@@ -23,8 +23,8 @@ struct iovec
     size_t iov_len;
 }
 
-ssize_t // from stdc.posix.sys.types
-size_t  // from stdc.posix.sys.types
+ssize_t // from core.sys.posix.sys.types
+size_t  // from core.sys.posix.sys.types
 
 ssize_t readv(int, in iovec*, int);
 ssize_t writev(int, in iovec*, int);
similarity index 93%
rename from import/stdc/posix/sys/wait.d
rename to import/core/sys/posix/sys/wait.d
index b0f84049c1e1879ef760e76126de956ac933fd0b..7f533cf71d152df6c8f74abd800f773350eee56a 100644 (file)
@@ -6,12 +6,12 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.sys.wait;
+module core.sys.posix.sys.wait;
 
-private import stdc.posix.config;
-public import stdc.posix.sys.types; // for id_t, pid_t
-public import stdc.posix.signal;    // for siginfo_t (XSI)
-//public import stdc.posix.resource; // for rusage (XSI)
+private import core.sys.posix.config;
+public import core.sys.posix.sys.types; // for id_t, pid_t
+public import core.sys.posix.signal;    // for siginfo_t (XSI)
+//public import core.sys.posix.resource; // for rusage (XSI)
 
 extern (C):
 
similarity index 98%
rename from import/stdc/posix/termios.d
rename to import/core/sys/posix/termios.d
index 9d96c06527acfe8af33c2fe65bc71e5fba724aa2..1c6f2e8f918c833db41e628697c0e4d7f2bd7a67 100644 (file)
@@ -6,10 +6,10 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.termios;
+module core.sys.posix.termios;
 
-private import stdc.posix.config;
-public import stdc.posix.sys.types; // for pid_t
+private import core.sys.posix.config;
+public import core.sys.posix.sys.types; // for pid_t
 
 extern (C):
 
similarity index 93%
rename from import/stdc/posix/time.d
rename to import/core/sys/posix/time.d
index 7d52f1dbaa48a4d75f5d43f3ff7559d608ca2515..4134b05cd3da31f7a49bc0ee693eeb2084435316 100644 (file)
@@ -6,17 +6,17 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.time;
+module core.sys.posix.time;
 
-private import stdc.posix.config;
-public import stdc.time;
-public import stdc.posix.sys.types;
-public import stdc.posix.signal; // for sigevent
+private import core.sys.posix.config;
+public import core.stdc.time;
+public import core.sys.posix.sys.types;
+public import core.sys.posix.signal; // for sigevent
 
 extern (C):
 
 //
-// Required (defined in stdc.time)
+// Required (defined in core.stdc.time)
 //
 /*
 char* asctime(in tm*);
@@ -45,7 +45,7 @@ else version( freebsd )
 
 //
 // C Extension (CX)
-// (defined in stdc.time)
+// (defined in core.stdc.time)
 //
 /*
 char* tzname[];
@@ -80,7 +80,7 @@ CLOCK_MONOTONIC
 CLOCK_PROCESS_CPUTIME_ID (TMR|CPT)
 CLOCK_THREAD_CPUTIME_ID (TMR|TCT)
 
-NOTE: timespec must be defined in stdc.posix.signal to break
+NOTE: timespec must be defined in core.sys.posix.signal to break
       a circular import.
 
 struct timespec
similarity index 96%
rename from import/stdc/posix/ucontext.d
rename to import/core/sys/posix/ucontext.d
index 21e6a6a567734c5b3f451b9a1e2ffc3da0b50d19..82f87259634bdb3c8620a26b12a95615cf57a10e 100644 (file)
@@ -6,10 +6,10 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.ucontext;
+module core.sys.posix.ucontext;
 
-private import stdc.posix.config;
-public import stdc.posix.signal; // for sigset_t, stack_t
+private import core.sys.posix.config;
+public import core.sys.posix.signal; // for sigset_t, stack_t
 
 extern (C):
 
similarity index 98%
rename from import/stdc/posix/unistd.d
rename to import/core/sys/posix/unistd.d
index 107f0d45ccbe4c6fd17018b5594e90cf4cf22a92..a99804ea3e7fc0364d1ef7cc11934a7917b19bec 100644 (file)
@@ -6,12 +6,12 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.unistd;
+module core.sys.posix.unistd;
 
-private import stdc.posix.config;
-private import stdc.stddef;
-public import stdc.posix.inttypes;  // for intptr_t
-public import stdc.posix.sys.types; // for size_t, ssize_t, uid_t, gid_t, off_t, pid_t, useconds_t
+private import core.sys.posix.config;
+private import core.stdc.stddef;
+public import core.sys.posix.inttypes;  // for intptr_t
+public import core.sys.posix.sys.types; // for size_t, ssize_t, uid_t, gid_t, off_t, pid_t, useconds_t
 
 extern (C):
 
similarity index 86%
rename from import/stdc/posix/utime.d
rename to import/core/sys/posix/utime.d
index 947e0f6c3d01a5d07f582494e86ae15f72131f91..1f60367981a63f282262fa94b32c534b3dc51f0a 100644 (file)
@@ -6,10 +6,10 @@
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  */
-module stdc.posix.utime;
+module core.sys.posix.utime;
 
-private import stdc.posix.config;
-public import stdc.posix.sys.types; // for time_t
+private import core.sys.posix.config;
+public import core.sys.posix.sys.types; // for time_t
 
 extern (C):
 
similarity index 99%
rename from import/sys/windows/windows.d
rename to import/core/sys/windows/windows.d
index 38630642402dd6ef3b438c437c10ae2fb1935c25..3d4a847f6843aa9231e0fa4cfa7616381f487cfb 100644 (file)
@@ -2,7 +2,7 @@
 /* Windows is a registered trademark of Microsoft Corporation in the United
 States and other countries. */
 
-module sys.windows.windows;
+module core.sys.windows.windows;
 
 version (Windows)
 {
diff --git a/import/stdc/tgmath.d b/import/stdc/tgmath.d
deleted file mode 100644 (file)
index c6a3dc3..0000000
+++ /dev/null
@@ -1,652 +0,0 @@
-/**
- * D header file for C99.
- *
- * Copyright: Public Domain
- * License:   Public Domain
- * Authors:   Sean Kelly, Walter Bright
- * Standards: ISO/IEC 9899:1999 (E)
- */
-module stdc.tgmath;
-
-private import stdc.config;
-private static import stdc.math;
-private static import stdc.complex;
-
-extern (C):
-
-version( freebsd )
-{
-    alias stdc.math.acos          acos;
-    alias stdc.math.acosf         acos;
-    alias stdc.math.acosl         acos;
-
-    alias stdc.complex.cacos      acos;
-    alias stdc.complex.cacosf     acos;
-    alias stdc.complex.cacosl     acos;
-
-    alias stdc.math.asin          asin;
-    alias stdc.math.asinf         asin;
-    alias stdc.math.asinl         asin;
-
-    alias stdc.complex.casin      asin;
-    alias stdc.complex.casinf     asin;
-    alias stdc.complex.casinl     asin;
-
-    alias stdc.math.atan          atan;
-    alias stdc.math.atanf         atan;
-    alias stdc.math.atanl         atan;
-
-    alias stdc.complex.catan      atan;
-    alias stdc.complex.catanf     atan;
-    alias stdc.complex.catanl     atan;
-
-    alias stdc.math.atan2         atan2;
-    alias stdc.math.atan2f        atan2;
-    alias stdc.math.atan2l        atan2;
-
-    alias stdc.math.cos           cos;
-    alias stdc.math.cosf          cos;
-    alias stdc.math.cosl          cos;
-
-    alias stdc.complex.ccos       cos;
-    alias stdc.complex.ccosf      cos;
-    alias stdc.complex.ccosl      cos;
-
-    alias stdc.math.sin           sin;
-    alias stdc.math.sinf          sin;
-    alias stdc.math.sinl          sin;
-
-    alias stdc.complex.csin       csin;
-    alias stdc.complex.csinf      csin;
-    alias stdc.complex.csinl      csin;
-
-    alias stdc.math.tan           tan;
-    alias stdc.math.tanf          tan;
-    alias stdc.math.tanl          tan;
-
-    alias stdc.complex.ctan       tan;
-    alias stdc.complex.ctanf      tan;
-    alias stdc.complex.ctanl      tan;
-
-    alias stdc.math.acosh         acosh;
-    alias stdc.math.acoshf        acosh;
-    alias stdc.math.acoshl        acosh;
-
-    alias stdc.complex.cacosh     acosh;
-    alias stdc.complex.cacoshf    acosh;
-    alias stdc.complex.cacoshl    acosh;
-
-    alias stdc.math.asinh         asinh;
-    alias stdc.math.asinhf        asinh;
-    alias stdc.math.asinhl        asinh;
-
-    alias stdc.complex.casinh     asinh;
-    alias stdc.complex.casinhf    asinh;
-    alias stdc.complex.casinhl    asinh;
-
-    alias stdc.math.atanh         atanh;
-    alias stdc.math.atanhf        atanh;
-    alias stdc.math.atanhl        atanh;
-
-    alias stdc.complex.catanh     atanh;
-    alias stdc.complex.catanhf    atanh;
-    alias stdc.complex.catanhl    atanh;
-
-    alias stdc.math.cosh          cosh;
-    alias stdc.math.coshf         cosh;
-    alias stdc.math.coshl         cosh;
-
-    alias stdc.complex.ccosh      cosh;
-    alias stdc.complex.ccoshf     cosh;
-    alias stdc.complex.ccoshl     cosh;
-
-    alias stdc.math.sinh          sinh;
-    alias stdc.math.sinhf         sinh;
-    alias stdc.math.sinhl         sinh;
-
-    alias stdc.complex.csinh      sinh;
-    alias stdc.complex.csinhf     sinh;
-    alias stdc.complex.csinhl     sinh;
-
-    alias stdc.math.tanh          tanh;
-    alias stdc.math.tanhf         tanh;
-    alias stdc.math.tanhl         tanh;
-
-    alias stdc.complex.ctanh      tanh;
-    alias stdc.complex.ctanhf     tanh;
-    alias stdc.complex.ctanhl     tanh;
-
-    alias stdc.math.exp           exp;
-    alias stdc.math.expf          exp;
-    alias stdc.math.expl          exp;
-
-    alias stdc.complex.cexp       exp;
-    alias stdc.complex.cexpf      exp;
-    alias stdc.complex.cexpl      exp;
-
-    alias stdc.math.exp2          exp2;
-    alias stdc.math.exp2f         exp2;
-    alias stdc.math.exp2l         exp2;
-
-    alias stdc.math.expm1         expm1;
-    alias stdc.math.expm1f        expm1;
-    alias stdc.math.expm1l        expm1;
-
-    alias stdc.math.frexp         frexp;
-    alias stdc.math.frexpf        frexp;
-    alias stdc.math.frexpl        frexp;
-
-    alias stdc.math.ilogb         ilogb;
-    alias stdc.math.ilogbf        ilogb;
-    alias stdc.math.ilogbl        ilogb;
-
-    alias stdc.math.ldexp         ldexp;
-    alias stdc.math.ldexpf        ldexp;
-    alias stdc.math.ldexpl        ldexp;
-
-    alias stdc.math.log           log;
-    alias stdc.math.logf          log;
-    alias stdc.math.logl          log;
-
-    alias stdc.complex.clog       log;
-    alias stdc.complex.clogf      log;
-    alias stdc.complex.clogl      log;
-
-    alias stdc.math.log10         log10;
-    alias stdc.math.log10f        log10;
-    alias stdc.math.log10l        log10;
-
-    alias stdc.math.log1p         log1p;
-    alias stdc.math.log1pf        log1p;
-    alias stdc.math.log1pl        log1p;
-
-    alias stdc.math.log2          log1p;
-    alias stdc.math.log2f         log1p;
-    alias stdc.math.log2l         log1p;
-
-    alias stdc.math.logb          log1p;
-    alias stdc.math.logbf         log1p;
-    alias stdc.math.logbl         log1p;
-
-    alias stdc.math.modf          modf;
-    alias stdc.math.modff         modf;
-//  alias stdc.math.modfl         modf;
-
-    alias stdc.math.scalbn        scalbn;
-    alias stdc.math.scalbnf       scalbn;
-    alias stdc.math.scalbnl       scalbn;
-
-    alias stdc.math.scalbln       scalbln;
-    alias stdc.math.scalblnf      scalbln;
-    alias stdc.math.scalblnl      scalbln;
-
-    alias stdc.math.cbrt          cbrt;
-    alias stdc.math.cbrtf         cbrt;
-    alias stdc.math.cbrtl         cbrt;
-
-    alias stdc.math.fabs          fabs;
-    alias stdc.math.fabsf         fabs;
-    alias stdc.math.fabsl         fabs;
-
-    alias stdc.complex.cabs       fabs;
-    alias stdc.complex.cabsf      fabs;
-    alias stdc.complex.cabsl      fabs;
-
-    alias stdc.math.hypot         hypot;
-    alias stdc.math.hypotf        hypot;
-    alias stdc.math.hypotl        hypot;
-
-    alias stdc.math.pow           pow;
-    alias stdc.math.powf          pow;
-    alias stdc.math.powl          pow;
-
-    alias stdc.complex.cpow       pow;
-    alias stdc.complex.cpowf      pow;
-    alias stdc.complex.cpowl      pow;
-
-    alias stdc.math.sqrt          sqrt;
-    alias stdc.math.sqrtf         sqrt;
-    alias stdc.math.sqrtl         sqrt;
-
-    alias stdc.complex.csqrt      sqrt;
-    alias stdc.complex.csqrtf     sqrt;
-    alias stdc.complex.csqrtl     sqrt;
-
-    alias stdc.math.erf           erf;
-    alias stdc.math.erff          erf;
-    alias stdc.math.erfl          erf;
-
-    alias stdc.math.erfc          erfc;
-    alias stdc.math.erfcf         erfc;
-    alias stdc.math.erfcl         erfc;
-
-    alias stdc.math.lgamma        lgamma;
-    alias stdc.math.lgammaf       lgamma;
-    alias stdc.math.lgammal       lgamma;
-
-    alias stdc.math.tgamma        tgamma;
-    alias stdc.math.tgammaf       tgamma;
-    alias stdc.math.tgammal       tgamma;
-
-    alias stdc.math.ceil          ceil;
-    alias stdc.math.ceilf         ceil;
-    alias stdc.math.ceill         ceil;
-
-    alias stdc.math.floor         floor;
-    alias stdc.math.floorf        floor;
-    alias stdc.math.floorl        floor;
-
-    alias stdc.math.nearbyint     nearbyint;
-    alias stdc.math.nearbyintf    nearbyint;
-    alias stdc.math.nearbyintl    nearbyint;
-
-    alias stdc.math.rint          rint;
-    alias stdc.math.rintf         rint;
-    alias stdc.math.rintl         rint;
-
-    alias stdc.math.lrint         lrint;
-    alias stdc.math.lrintf        lrint;
-    alias stdc.math.lrintl        lrint;
-
-    alias stdc.math.llrint        llrint;
-    alias stdc.math.llrintf       llrint;
-    alias stdc.math.llrintl       llrint;
-
-    alias stdc.math.round         round;
-    alias stdc.math.roundf        round;
-    alias stdc.math.roundl        round;
-
-    alias stdc.math.lround        lround;
-    alias stdc.math.lroundf       lround;
-    alias stdc.math.lroundl       lround;
-
-    alias stdc.math.llround       llround;
-    alias stdc.math.llroundf      llround;
-    alias stdc.math.llroundl      llround;
-
-    alias stdc.math.trunc         trunc;
-    alias stdc.math.truncf        trunc;
-    alias stdc.math.truncl        trunc;
-
-    alias stdc.math.fmod          fmod;
-    alias stdc.math.fmodf         fmod;
-    alias stdc.math.fmodl         fmod;
-
-    alias stdc.math.remainder     remainder;
-    alias stdc.math.remainderf    remainder;
-    alias stdc.math.remainderl    remainder;
-
-    alias stdc.math.remquo        remquo;
-    alias stdc.math.remquof       remquo;
-    alias stdc.math.remquol       remquo;
-
-    alias stdc.math.copysign      copysign;
-    alias stdc.math.copysignf     copysign;
-    alias stdc.math.copysignl     copysign;
-
-//  alias stdc.math.nan           nan;
-//  alias stdc.math.nanf          nan;
-//  alias stdc.math.nanl          nan;
-
-    alias stdc.math.nextafter     nextafter;
-    alias stdc.math.nextafterf    nextafter;
-    alias stdc.math.nextafterl    nextafter;
-
-    alias stdc.math.nexttoward    nexttoward;
-    alias stdc.math.nexttowardf   nexttoward;
-    alias stdc.math.nexttowardl   nexttoward;
-
-    alias stdc.math.fdim          fdim;
-    alias stdc.math.fdimf         fdim;
-    alias stdc.math.fdiml         fdim;
-
-    alias stdc.math.fmax          fmax;
-    alias stdc.math.fmaxf         fmax;
-    alias stdc.math.fmaxl         fmax;
-
-    alias stdc.math.fmin          fmin;
-    alias stdc.math.fmin          fmin;
-    alias stdc.math.fminl         fmin;
-
-    alias stdc.math.fma           fma;
-    alias stdc.math.fmaf          fma;
-    alias stdc.math.fmal          fma;
-
-    alias stdc.complex.carg       carg;
-    alias stdc.complex.cargf      carg;
-    alias stdc.complex.cargl      carg;
-
-    alias stdc.complex.cimag      cimag;
-    alias stdc.complex.cimagf     cimag;
-    alias stdc.complex.cimagl     cimag;
-
-    alias stdc.complex.conj       conj;
-    alias stdc.complex.conjf      conj;
-    alias stdc.complex.conjl      conj;
-
-    alias stdc.complex.cproj      cproj;
-    alias stdc.complex.cprojf     cproj;
-    alias stdc.complex.cprojl     cproj;
-
-//  alias stdc.complex.creal      creal;
-//  alias stdc.complex.crealf     creal;
-//  alias stdc.complex.creall     creal;
-}
-else
-{
-    alias stdc.math.acos          acos;
-    alias stdc.math.acosf         acos;
-    alias stdc.math.acosl         acos;
-
-    alias stdc.complex.cacos      acos;
-    alias stdc.complex.cacosf     acos;
-    alias stdc.complex.cacosl     acos;
-
-    alias stdc.math.asin          asin;
-    alias stdc.math.asinf         asin;
-    alias stdc.math.asinl         asin;
-
-    alias stdc.complex.casin      asin;
-    alias stdc.complex.casinf     asin;
-    alias stdc.complex.casinl     asin;
-
-    alias stdc.math.atan          atan;
-    alias stdc.math.atanf         atan;
-    alias stdc.math.atanl         atan;
-
-    alias stdc.complex.catan      atan;
-    alias stdc.complex.catanf     atan;
-    alias stdc.complex.catanl     atan;
-
-    alias stdc.math.atan2         atan2;
-    alias stdc.math.atan2f        atan2;
-    alias stdc.math.atan2l        atan2;
-
-    alias stdc.math.cos           cos;
-    alias stdc.math.cosf          cos;
-    alias stdc.math.cosl          cos;
-
-    alias stdc.complex.ccos       cos;
-    alias stdc.complex.ccosf      cos;
-    alias stdc.complex.ccosl      cos;
-
-    alias stdc.math.sin           sin;
-    alias stdc.math.sinf          sin;
-    alias stdc.math.sinl          sin;
-
-    alias stdc.complex.csin       csin;
-    alias stdc.complex.csinf      csin;
-    alias stdc.complex.csinl      csin;
-
-    alias stdc.math.tan           tan;
-    alias stdc.math.tanf          tan;
-    alias stdc.math.tanl          tan;
-
-    alias stdc.complex.ctan       tan;
-    alias stdc.complex.ctanf      tan;
-    alias stdc.complex.ctanl      tan;
-
-    alias stdc.math.acosh         acosh;
-    alias stdc.math.acoshf        acosh;
-    alias stdc.math.acoshl        acosh;
-
-    alias stdc.complex.cacosh     acosh;
-    alias stdc.complex.cacoshf    acosh;
-    alias stdc.complex.cacoshl    acosh;
-
-    alias stdc.math.asinh         asinh;
-    alias stdc.math.asinhf        asinh;
-    alias stdc.math.asinhl        asinh;
-
-    alias stdc.complex.casinh     asinh;
-    alias stdc.complex.casinhf    asinh;
-    alias stdc.complex.casinhl    asinh;
-
-    alias stdc.math.atanh         atanh;
-    alias stdc.math.atanhf        atanh;
-    alias stdc.math.atanhl        atanh;
-
-    alias stdc.complex.catanh     atanh;
-    alias stdc.complex.catanhf    atanh;
-    alias stdc.complex.catanhl    atanh;
-
-    alias stdc.math.cosh          cosh;
-    alias stdc.math.coshf         cosh;
-    alias stdc.math.coshl         cosh;
-
-    alias stdc.complex.ccosh      cosh;
-    alias stdc.complex.ccoshf     cosh;
-    alias stdc.complex.ccoshl     cosh;
-
-    alias stdc.math.sinh          sinh;
-    alias stdc.math.sinhf         sinh;
-    alias stdc.math.sinhl         sinh;
-
-    alias stdc.complex.csinh      sinh;
-    alias stdc.complex.csinhf     sinh;
-    alias stdc.complex.csinhl     sinh;
-
-    alias stdc.math.tanh          tanh;
-    alias stdc.math.tanhf         tanh;
-    alias stdc.math.tanhl         tanh;
-
-    alias stdc.complex.ctanh      tanh;
-    alias stdc.complex.ctanhf     tanh;
-    alias stdc.complex.ctanhl     tanh;
-
-    alias stdc.math.exp           exp;
-    alias stdc.math.expf          exp;
-    alias stdc.math.expl          exp;
-
-    alias stdc.complex.cexp       exp;
-    alias stdc.complex.cexpf      exp;
-    alias stdc.complex.cexpl      exp;
-
-    alias stdc.math.exp2          exp2;
-    alias stdc.math.exp2f         exp2;
-    alias stdc.math.exp2l         exp2;
-
-    alias stdc.math.expm1         expm1;
-    alias stdc.math.expm1f        expm1;
-    alias stdc.math.expm1l        expm1;
-
-    alias stdc.math.frexp         frexp;
-    alias stdc.math.frexpf        frexp;
-    alias stdc.math.frexpl        frexp;
-
-    alias stdc.math.ilogb         ilogb;
-    alias stdc.math.ilogbf        ilogb;
-    alias stdc.math.ilogbl        ilogb;
-
-    alias stdc.math.ldexp         ldexp;
-    alias stdc.math.ldexpf        ldexp;
-    alias stdc.math.ldexpl        ldexp;
-
-    alias stdc.math.log           log;
-    alias stdc.math.logf          log;
-    alias stdc.math.logl          log;
-
-    alias stdc.complex.clog       log;
-    alias stdc.complex.clogf      log;
-    alias stdc.complex.clogl      log;
-
-    alias stdc.math.log10         log10;
-    alias stdc.math.log10f        log10;
-    alias stdc.math.log10l        log10;
-
-    alias stdc.math.log1p         log1p;
-    alias stdc.math.log1pf        log1p;
-    alias stdc.math.log1pl        log1p;
-
-    alias stdc.math.log2          log1p;
-    alias stdc.math.log2f         log1p;
-    alias stdc.math.log2l         log1p;
-
-    alias stdc.math.logb          log1p;
-    alias stdc.math.logbf         log1p;
-    alias stdc.math.logbl         log1p;
-
-    alias stdc.math.modf          modf;
-    alias stdc.math.modff         modf;
-    alias stdc.math.modfl         modf;
-
-    alias stdc.math.scalbn        scalbn;
-    alias stdc.math.scalbnf       scalbn;
-    alias stdc.math.scalbnl       scalbn;
-
-    alias stdc.math.scalbln       scalbln;
-    alias stdc.math.scalblnf      scalbln;
-    alias stdc.math.scalblnl      scalbln;
-
-    alias stdc.math.cbrt          cbrt;
-    alias stdc.math.cbrtf         cbrt;
-    alias stdc.math.cbrtl         cbrt;
-
-    alias stdc.math.fabs          fabs;
-    alias stdc.math.fabsf         fabs;
-    alias stdc.math.fabsl         fabs;
-
-    alias stdc.complex.cabs       fabs;
-    alias stdc.complex.cabsf      fabs;
-    alias stdc.complex.cabsl      fabs;
-
-    alias stdc.math.hypot         hypot;
-    alias stdc.math.hypotf        hypot;
-    alias stdc.math.hypotl        hypot;
-
-    alias stdc.math.pow           pow;
-    alias stdc.math.powf          pow;
-    alias stdc.math.powl          pow;
-
-    alias stdc.complex.cpow       pow;
-    alias stdc.complex.cpowf      pow;
-    alias stdc.complex.cpowl      pow;
-
-    alias stdc.math.sqrt          sqrt;
-    alias stdc.math.sqrtf         sqrt;
-    alias stdc.math.sqrtl         sqrt;
-
-    alias stdc.complex.csqrt      sqrt;
-    alias stdc.complex.csqrtf     sqrt;
-    alias stdc.complex.csqrtl     sqrt;
-
-    alias stdc.math.erf           erf;
-    alias stdc.math.erff          erf;
-    alias stdc.math.erfl          erf;
-
-    alias stdc.math.erfc          erfc;
-    alias stdc.math.erfcf         erfc;
-    alias stdc.math.erfcl         erfc;
-
-    alias stdc.math.lgamma        lgamma;
-    alias stdc.math.lgammaf       lgamma;
-    alias stdc.math.lgammal       lgamma;
-
-    alias stdc.math.tgamma        tgamma;
-    alias stdc.math.tgammaf       tgamma;
-    alias stdc.math.tgammal       tgamma;
-
-    alias stdc.math.ceil          ceil;
-    alias stdc.math.ceilf         ceil;
-    alias stdc.math.ceill         ceil;
-
-    alias stdc.math.floor         floor;
-    alias stdc.math.floorf        floor;
-    alias stdc.math.floorl        floor;
-
-    alias stdc.math.nearbyint     nearbyint;
-    alias stdc.math.nearbyintf    nearbyint;
-    alias stdc.math.nearbyintl    nearbyint;
-
-    alias stdc.math.rint          rint;
-    alias stdc.math.rintf         rint;
-    alias stdc.math.rintl         rint;
-
-    alias stdc.math.lrint         lrint;
-    alias stdc.math.lrintf        lrint;
-    alias stdc.math.lrintl        lrint;
-
-    alias stdc.math.llrint        llrint;
-    alias stdc.math.llrintf       llrint;
-    alias stdc.math.llrintl       llrint;
-
-    alias stdc.math.round         round;
-    alias stdc.math.roundf        round;
-    alias stdc.math.roundl        round;
-
-    alias stdc.math.lround        lround;
-    alias stdc.math.lroundf       lround;
-    alias stdc.math.lroundl       lround;
-
-    alias stdc.math.llround       llround;
-    alias stdc.math.llroundf      llround;
-    alias stdc.math.llroundl      llround;
-
-    alias stdc.math.trunc         trunc;
-    alias stdc.math.truncf        trunc;
-    alias stdc.math.truncl        trunc;
-
-    alias stdc.math.fmod          fmod;
-    alias stdc.math.fmodf         fmod;
-    alias stdc.math.fmodl         fmod;
-
-    alias stdc.math.remainder     remainder;
-    alias stdc.math.remainderf    remainder;
-    alias stdc.math.remainderl    remainder;
-
-    alias stdc.math.remquo        remquo;
-    alias stdc.math.remquof       remquo;
-    alias stdc.math.remquol       remquo;
-
-    alias stdc.math.copysign      copysign;
-    alias stdc.math.copysignf     copysign;
-    alias stdc.math.copysignl     copysign;
-
-    alias stdc.math.nan           nan;
-    alias stdc.math.nanf          nan;
-    alias stdc.math.nanl          nan;
-
-    alias stdc.math.nextafter     nextafter;
-    alias stdc.math.nextafterf    nextafter;
-    alias stdc.math.nextafterl    nextafter;
-
-    alias stdc.math.nexttoward    nexttoward;
-    alias stdc.math.nexttowardf   nexttoward;
-    alias stdc.math.nexttowardl   nexttoward;
-
-    alias stdc.math.fdim          fdim;
-    alias stdc.math.fdimf         fdim;
-    alias stdc.math.fdiml         fdim;
-
-    alias stdc.math.fmax          fmax;
-    alias stdc.math.fmaxf         fmax;
-    alias stdc.math.fmaxl         fmax;
-
-    alias stdc.math.fmin          fmin;
-    alias stdc.math.fmin          fmin;
-    alias stdc.math.fminl         fmin;
-
-    alias stdc.math.fma           fma;
-    alias stdc.math.fmaf          fma;
-    alias stdc.math.fmal          fma;
-
-    alias stdc.complex.carg       carg;
-    alias stdc.complex.cargf      carg;
-    alias stdc.complex.cargl      carg;
-
-    alias stdc.complex.cimag      cimag;
-    alias stdc.complex.cimagf     cimag;
-    alias stdc.complex.cimagl     cimag;
-
-    alias stdc.complex.conj       conj;
-    alias stdc.complex.conjf      conj;
-    alias stdc.complex.conjl      conj;
-
-    alias stdc.complex.cproj      cproj;
-    alias stdc.complex.cprojf     cproj;
-    alias stdc.complex.cprojl     cproj;
-
-//  alias stdc.complex.creal      creal;
-//  alias stdc.complex.crealf     creal;
-//  alias stdc.complex.creall     creal;
-}
index 1770dfbc51efe47d5707dbb0aa4f854c1691c59d..65c35c80211ea0359065f9c909c63fb2c0853329 100644 (file)
@@ -47,10 +47,6 @@ private
 
     extern (C) void gc_removeRoot( void* p );
     extern (C) void gc_removeRange( void* p );
-
-    extern (C) void* gc_getHandle();
-    extern (C) void gc_setHandle( void* p );
-    extern (C) void gc_endHandle();
 }
 
 
@@ -445,40 +441,4 @@ struct GC
     {
         gc_removeRange( p );
     }
-
-    /**
-     * Get handle to the collector.
-     * The only thing that can be done with this handle is pass it to
-     * setHandle(). getHandle/setHandle/endHandle work together so that
-     * if there are multiple instances of the gc running, only one instance
-     * can be set to run.
-     * The most common case of this is under Windows where a D application
-     * calls functions in a DLL that is implemented in D.
-     */
-
-    static void* getHandle()
-    {
-       return gc_getHandle();
-    }
-
-    /**
-     * Set handle to the collector.
-     * The handle p is an opaque handle, acquired by a call to
-     * getHandle().
-     */
-
-    static void setHandle(void* p)
-    {
-       gc_setHandle(p);
-    }
-
-    /**
-     * Call when done using the collector specified by the
-     * call to setHandle().
-     */
-
-    static void endHandle()
-    {
-       gc_endHandle();
-    }
 }
index 76a9438cd5a2e069764c498c63c6c858ab550db7..36607bec0129b093b2348cea43cb742fda492112 100644 (file)
@@ -22,6 +22,9 @@ private
     alias void delegate( Exception ) ExceptionHandler;
     extern (C) bool rt_init( ExceptionHandler dg = null );
     extern (C) bool rt_term( ExceptionHandler dg = null );
+
+    extern (C) void* rt_loadLibrary( in char[] name );
+    extern (C) void  rt_unloadLibrary( void* ptr );
 }
 
 
@@ -88,6 +91,37 @@ struct Runtime
     }
 
 
+    /**
+     * Locates a dynamic library with the supplied library name and dynamically
+     * loads it into the caller's address space.  If the library contains a D
+     * runtime it will be integrated with the current runtime.
+     *
+     * Params:
+     *  name = The name of the dynamic library to load.
+     *
+     * Returns:
+     *  A reference to the library or null on error.
+     */
+    static void* loadLibrary( in char[] name )
+    {
+        return rt_loadLibrary( name );
+    }
+
+
+    /**
+     * Unloads the dynamic library referenced by p.  If this library contains a
+     * D runtime then any necessary finalization or cleanup of that runtime
+     * will be performed.
+     *
+     * Params:
+     *  p = A reference to the library to unload.
+     */
+    static void unloadLibrary( void* p )
+    {
+        rt_unloadLibrary( p );
+    }
+
+
     /**
      * Overrides the default trace mechanism with s user-supplied version.  A
      * trace represents the context from which an exception was thrown, and the
diff --git a/src/common/core/stdc/errno.c b/src/common/core/stdc/errno.c
new file mode 100644 (file)
index 0000000..10ca015
--- /dev/null
@@ -0,0 +1,21 @@
+/**
+ * This file contains wrapper functions for macro-defined C rouines.
+ *
+ * Copyright: Copyright (c) 2005-2008, The D Runtime Project
+ * License:   BSD Style, see LICENSE
+ * Authors:   Sean Kelly
+ */
+#include <errno.h>
+
+
+int getErrno()
+{
+    return errno;
+}
+
+
+int setErrno( int val )
+{
+    errno = val;
+    return val;
+}
index 65b8df9cf97c7e02032872440edd25daada493fe..ef8984b63b9a4dcba6c72b9394e04e79ee4997a4 100644 (file)
@@ -84,8 +84,8 @@ version( Windows )
 {
     private
     {
-        import stdc.stdint : uintptr_t; // for _beginthreadex decl below
-        import sys.windows.windows;
+        import core.stdc.stdint : uintptr_t; // for _beginthreadex decl below
+        import core.sys.windows.windows;
 
         const DWORD TLS_OUT_OF_INDEXES  = 0xFFFFFFFF;
 
@@ -151,13 +151,14 @@ else version( Posix )
 {
     private
     {
-        import stdc.posix.semaphore;
-        import stdc.posix.pthread;
-        import stdc.posix.signal;
-        import stdc.posix.time;
-        import stdc.errno;
+        import core.sys.posix.semaphore;
+        import core.sys.posix.pthread;
+        import core.sys.posix.signal;
+        import core.sys.posix.time;
+        import core.stdc.errno;
 
         extern (C) int getErrno();
+
         version( GNU )
         {
             import gcc.builtins;
@@ -2256,9 +2257,9 @@ private
 
     version( Posix )
     {
-        import stdc.posix.unistd;   // for sysconf
-        import stdc.posix.sys.mman; // for mmap
-        import stdc.posix.stdlib;   // for malloc, valloc, free
+        import core.sys.posix.unistd;   // for sysconf
+        import core.sys.posix.sys.mman; // for mmap
+        import core.sys.posix.stdlib;   // for malloc, valloc, free
 
         version( AsmX86_Win32 ) {} else
         version( AsmX86_Posix ) {} else
@@ -2270,7 +2271,7 @@ private
             //       a version identifier.  Please note that this is considered
             //       an obsolescent feature according to the POSIX spec, so a
             //       custom solution is still preferred.
-            import stdc.posix.ucontext;
+            import core.sys.posix.ucontext;
         }
     }
 
index c630d4dec23e109d44f5453bbf160674fc840e85..edc5c99f59f55313d38886a2ab9a689837a6d521 100644 (file)
@@ -76,7 +76,7 @@ OBJ_CORE= \
     core/thread.o\r
 \r
 OBJ_STDC= \\r
-    stdc/errno.o\r
+    core/stdc/errno.o\r
 \r
 ALL_OBJS= \\r
     $(OBJ_CORE) \\r
index fefcb937c607fbd19aaafa244d0b3c174f2454e3..7e23e7a62a66328b2fe7763fe9bd4d5d4d7ebda0 100644 (file)
@@ -73,7 +73,7 @@ OBJ_CORE= \
     core\thread.obj\r
 \r
 OBJ_STDC= \\r
-    stdc\errno.obj\r
+    core\stdc\errno.obj\r
 \r
 ALL_OBJS= \\r
     $(OBJ_CORE) \\r
index 6d7ecf93ec65fb1f5f2ff57b79b19aeb0a6d3190..d5f84e713807169c724a2b9a410bd626eb37f194 100644 (file)
@@ -35,8 +35,8 @@ module rt.aaA;
 
 private
 {
-    import stdc.stdarg;
-    import stdc.string;
+    import core.stdc.stdarg;
+    import core.stdc.string;
 
     enum BlkAttr : uint
     {
index 11d3ab4916a3de7633029a0136a5765770f9820c..0253bc045709741c6af65e14db047f3eb95d9871 100644 (file)
@@ -38,9 +38,9 @@ module rt.adi;
 
 private
 {
-    debug(adi) import stdc.stdio;
-    import stdc.string;
-    import stdc.stdlib;
+    debug(adi) import core.stdc.stdio;
+    import core.stdc.string;
+    import core.stdc.stdlib;
     import util.utf;
 
     enum BlkAttr : uint
index d85af7e568cc61ee11af5896df85cfece6390e2e..4d9214c2de19fab7f500fb068b6f4f7ee81756f2 100644 (file)
@@ -9,9 +9,9 @@ module rt.arrayassign;
 private
 {
     import util.string;
-    import stdc.string;
-    import stdc.stdlib;
-    debug(PRINTF) import stdc.stdio;
+    import core.stdc.string;
+    import core.stdc.stdlib;
+    debug(PRINTF) import core.stdc.stdio;
 }
 
 /**
index f68c72bacf40d5e3a3993045af2f86f4601d8347..acf9f8637f36eaa2f046f20af1bc0c3df98855fc 100644 (file)
@@ -33,8 +33,8 @@ module rt.arraycat;
 
 private
 {
-    import stdc.string;
-    debug import stdc.stdio;
+    import core.stdc.string;
+    debug import core.stdc.stdio;
 }
 
 extern (C):
index 5028fe984bc1156df81ae3f3497bb1ec6a856e47..3475a1786e6e47a944a71cec3265fef562a2f212 100644 (file)
@@ -12,7 +12,7 @@
 
 module rt.cmath2;
 
-private import stdc.math;
+private import core.stdc.math;
 
 extern (C):
 
index 111f3bf0288cb378bc3532694de30cd09d26c33d..2fc1cab5ab8966c4a3eae1ab1a11c2d382aea311 100644 (file)
@@ -17,14 +17,14 @@ module rt.cover;
 private
 {
     version( Windows )
-        import sys.windows.windows;
+        import core.sys.windows.windows;
     else version( Posix )
     {
-        import stdc.posix.fcntl;
-        import stdc.posix.unistd;
+        import core.sys.posix.fcntl;
+        import core.sys.posix.unistd;
     }
     import core.bitmanip;
-    import stdc.stdio;
+    import core.stdc.stdio;
     import util.utf;
 
     struct BitArray
index 14b6950af251653a6bc585628506437bc9d0c6c0..1991bd9cae43d40aeb300190860cf92623d1866e 100644 (file)
@@ -13,18 +13,22 @@ module rt.dmain2;
 private
 {
     import util.console;
-    import stdc.stddef;
-    import stdc.stdlib;
-    import stdc.string;
+    import core.stdc.stddef;
+    import core.stdc.stdlib;
+    import core.stdc.string;
 }
 
-version(Windows)
+version (Windows)
 {
+    extern (Windows) alias int function() FARPROC;
+    extern (Windows) FARPROC    GetProcAddress(void*, in char*);
+    extern (Windows) void*      LoadLibraryA(in char*);
+    extern (Windows) int        FreeLibrary(void*);
     extern (Windows) void*      LocalFree(void*);
     extern (Windows) wchar_t*   GetCommandLineW();
     extern (Windows) wchar_t**  CommandLineToArgvW(wchar_t*, int*);
     extern (Windows) export int WideCharToMultiByte(uint, uint, wchar_t*, int, char*, int, char*, int);
-    pragma(lib, "shell32.lib");   // needed for CommandLineToArgvW
+    pragma(lib, "shell32.lib"); // needed for CommandLineToArgvW
 }
 
 extern (C) void _STI_monitor_staticctor();
@@ -38,6 +42,68 @@ extern (C) void _moduleCtor();
 extern (C) void _moduleDtor();
 extern (C) void thread_joinAll();
 
+/***********************************
+ * These are a temporary means of providing a GC hook for DLL use.  They may be
+ * replaced with some other similar functionality later.
+ */
+extern (C)
+{
+    void* gc_getHandle();
+    void  gc_setHandle(void* p);
+    void  gc_clrHandle();
+
+    alias void* function()      gcGetFn;
+    alias void  function(void*) gcSetFn;
+    alias void  function()      gcClrFn;
+    alias bool  function(ExceptionHandler dg = null) rtInitFn;
+    alias bool  function(ExceptionHandler dg = null) rtTermFn;
+}
+
+extern (C) void* rt_loadLibrary(in char[] name)
+{
+    version (Windows)
+    {
+        char[260] temp = void;
+        temp[0 .. name.length] = name[];
+        temp[name.length] = cast(char) 0;
+        void* ptr = LoadLibraryA(temp.ptr);
+        if (ptr is null)
+            return ptr;
+        gcSetFn  gcSet = cast(gcSetFn) GetProcAddress(ptr, "_gc_setHandle");
+        rtInitFn rtInit = cast(rtInitFn) GetProcAddress(ptr, "_rt_init");
+        if (gcSet is null || rtInit is null)
+            return ptr;
+        gcSet(gc_getHandle());
+        rtInit();
+        return ptr;
+
+    }
+    else version (linux)
+    {
+        throw new Exception("rt_loadLibrary not yet implemented on linux.");
+    }
+}
+
+extern (C) void rt_unloadLibrary(void* ptr)
+{
+    version (Windows)
+    {
+        gcClrFn  gcClr  = cast(gcClrFn) GetProcAddress(ptr, "_gc_clrHandle");
+        rtTermFn rtTerm = cast(rtTermFn) GetProcAddress(ptr, "_rt_term");
+
+        if (gcClr !is null && rtTerm !is null)
+        {
+            rtTerm();
+            gcClr();
+        }
+        return FreeLibrary(ptr) != 0;
+    }
+    else version (linux)
+    {
+        throw new Exception("rt_unloadLibrary not yet implemented on linux.");
+    }
+}
+
 /***********************************
  * These functions must be defined for any D program linked
  * against this library.
index adb9f2a5b2377fa8cedee8b3fd54d9bdec735461..2b77809ad527606e48856431f91cc24992699e67 100644 (file)
@@ -29,10 +29,10 @@ module rt.lifetime;
 
 private
 {
-    import stdc.stdlib;
-    import stdc.string;
-    import stdc.stdarg;
-    debug(PRINTF) import stdc.stdio;
+    import core.stdc.stdlib;
+    import core.stdc.string;
+    import core.stdc.stdarg;
+    debug(PRINTF) import core.stdc.stdio;
 }
 
 
index 4f7188b8a10399be602fdb8e3346939b38b213ea..5f09d7ed9c2bc05b95800e9b4021ac241d8e14f4 100644 (file)
@@ -180,5 +180,3 @@ extern (C) void* rt_staticDataTop()
         static assert( false, "Operating system not supported." );
     }
 }
-
-
index 352e995e4bb025e8c00cc121b2ee44a2e0c41df4..7341118c69f875727dc4dc898c5096f4b05dc6e9 100644 (file)
@@ -39,10 +39,10 @@ module object;
 
 private
 {
-    import stdc.string;
-    import stdc.stdlib;
+    import core.stdc.string;
+    import core.stdc.stdlib;
     import util.string;
-    debug(PRINTF) import stdc.stdio;
+    debug(PRINTF) import core.stdc.stdio;
 
     extern (C) void onOutOfMemoryError();
     extern (C) Object _d_newclass(ClassInfo ci);
index 562e1fa60d2e36f71bc177a48cbbabadd51c4a6e..e76885a6cc9eb65e28158156c200cd1ec656276f 100644 (file)
@@ -17,7 +17,7 @@ module rt.qsort2;
 
 //debug=qsort;
 
-private import stdc.stdlib;
+private import core.stdc.stdlib;
 
 struct Array
 {
index ebb7373f0db185c581b5e34275f22d84115210f2..ae69d91647aebe0a85f28c9196198b86ea0de29e 100644 (file)
@@ -27,7 +27,7 @@
 
 module rt.switch_;
 
-private import stdc.string;
+private import core.stdc.string;
 
 /******************************************************
  * Support for switch statements switching on strings.
index e399d3f8878fad9d8f3e103c36082920bb3c282a..55fb5b9a59214914d2f5a66e6cd8fa1d5bccc524 100644 (file)
@@ -16,10 +16,10 @@ module rt.trace;
 private
 {
     import util.string;
-    import stdc.ctype;
-    import stdc.stdio;
-    import stdc.string;
-    import stdc.stdlib;
+    import core.stdc.ctype;
+    import core.stdc.stdio;
+    import core.stdc.string;
+    import core.stdc.stdlib;
 }
 
 extern (C):
index 9b935d301e2858b20748edf721acab60f3288a47..c7f3cba7e73a3824473455614e0c2ee00cf2cc13 100644 (file)
@@ -2,7 +2,7 @@
 module rt.typeinfo.ti_Ag;
 
 private import util.string;
-private import stdc.string;
+private import core.stdc.string;
 
 // byte[]
 
index 9eecc171b5dfe915e160e917a79469ab4e4af07a..67c1f6bd107e9b762015a5997bd6da4e29647ca6 100644 (file)
@@ -1,7 +1,7 @@
 
 module rt.typeinfo.ti_Aint;
 
-private import stdc.string;
+private import core.stdc.string;
 
 // int[]
 
index 2263e92efc76504072f89597fcc9e75e91aa3a81..7415df98a3f6537d7dc5cd8544705bc26df2864f 100644 (file)
@@ -1,7 +1,7 @@
 
 module rt.typeinfo.ti_Along;
 
-private import stdc.string;
+private import core.stdc.string;
 
 // long[]
 
index 12c9f56aa10ffc3969bab9c645bc1b500cef80e8..00b377cd6f3b0a21f6fc307e581fa9bca9995bc4 100644 (file)
@@ -1,7 +1,7 @@
 
 module rt.typeinfo.ti_Ashort;
 
-private import stdc.string;
+private import core.stdc.string;
 
 // short[]
 
index 93d7fdfc33ce8859342527ffa61bd5bbb7a0392d..62991bd908a9b0d53f7bc513e3cc351b3a194605 100644 (file)
@@ -12,11 +12,11 @@ private
 {
     version (Windows)
     {
-        import sys.windows.windows;
+        import core.sys.windows.windows;
     }
     else version( Posix )
     {
-        import stdc.posix.unistd;
+        import core.sys.posix.unistd;
     }
     import util.string;
 }
index cbc5a3e05f1e07a9a8cabb164382d1a12d538e4f..da11f9ead258576e35abfb4d8b97ac2d95d5b670 100644 (file)
@@ -40,7 +40,7 @@ COPYRIGHT:      Public Domain
 
 module rt.util.cpuid;
 
-private import stdc.string;
+private import core.stdc.string;
 
 version(D_InlineAsm_X86)
 {
index 5f49fe6a5b02bf0b8474148afe09c1cb98aae80a..3496bddd608fb8562da1912537158562aa89c9a6 100644 (file)
@@ -8,7 +8,7 @@
  */
 module rt.util.string;
 
-private import stdc.string;
+private import core.stdc.string;
 
 char[] intToString( char[] buf, uint val )
 {
index a6a4611b7bcc69bf48b6142482a0289dc65a5211..3f8a642e6bd34bc0900da9184f302ac19797f209 100644 (file)
@@ -28,7 +28,7 @@ module gc.gc;
 
 private import gcx;
 private import gcstats;
-private import stdc.stdlib;
+private import core.stdc.stdlib;
 
 version=GCCLASS;
 
index 62d5d475750b09cdf0900a8ee4d3985d2116c01f..fd93c6661c0c848da65f051cd3ceb25c56489aad 100644 (file)
@@ -29,7 +29,7 @@ module gc.gcalloc;
 
 version (Windows)
 {
-    private import sys.windows.windows;
+    private import core.sys.windows.windows;
 
     alias int pthread_t;
 
@@ -42,14 +42,14 @@ version (Windows)
 }
 else version (Posix)
 {
-    private import stdc.posix.sys.mman;
-    private import stdc.stdlib;
+    private import core.sys.posix.sys.mman;
+    private import core.stdc.stdlib;
 
     //version = GC_Use_Alloc_MMap;
 }
 else
 {
-    private import stdc.stdlib;
+    private import core.stdc.stdlib;
 
     //version = GC_Use_Alloc_Malloc;
 }
index b6cc1fb9d7fe8a65fdb15103e6a7a3177640fc9e..a84dc9c27d01b2e395a75716db1aa254811afcee 100644 (file)
@@ -30,8 +30,8 @@ module gc.gcbits;
 private
 {
     import core.bitmanip;
-    import stdc.string;
-    import stdc.stdlib;
+    import core.stdc.string;
+    import core.stdc.stdlib;
     extern (C) void onOutOfMemoryError();
 }
 
index c4a46c9a6b8e0022752b3f1b2d06b7b4a2c6d489..0b6d1d0154e5042739a1b7c626adf3f0ab1ec64b 100644 (file)
@@ -52,10 +52,10 @@ private import gcbits;
 private import gcstats;
 private import gcalloc;
 
-private import cstdlib = stdc.stdlib : calloc, free, malloc, realloc;
-private import stdc.string;
+private import cstdlib = core.stdc.stdlib : calloc, free, malloc, realloc;
+private import core.stdc.string;
 
-debug private import stdc.stdio;
+debug private import core.stdc.stdio;
 
 version (GNU)
 {
index db95b09abab787d19434530485a5d8bec1af1174..dd805ef45a6069bdee0b55e915b6a2dd20ea44fd 100644 (file)
@@ -20,7 +20,7 @@
 
 module gc.gc;
 
-private import stdc.stdlib;
+private import core.stdc.stdlib;
 
 private
 {
index cb51e9818efed296aa629a373b8bea846df6d904..58d35f7eaa97a5c9d9ac82a2069e89fd59c40406 100644 (file)
@@ -10,8 +10,8 @@
 #      make clean
 #              Delete unneeded files created by build process
 
-LIB_TARGET=druntime-gc-stub.a
-LIB_MASK=druntime-gc-stub*.a
+LIB_TARGET=libdruntime-gc-stub.a
+LIB_MASK=libdruntime-gc-stub*.a
 
 CP=cp -f
 RM=rm -f
@@ -20,16 +20,15 @@ MD=mkdir -p
 ADD_CFLAGS=
 ADD_DFLAGS=
 
-CFLAGS=-O -m32 $(ADD_CFLAGS)
-#CFLAGS=-g -m32 $(ADD_CFLAGS)
+CFLAGS=-O $(ADD_CFLAGS)
+#CFLAGS=-g $(ADD_CFLAGS)
 
-### warnings disabled because gcx has issues ###
+DFLAGS=-release -O -inline -w -nofloat $(ADD_DFLAGS)
+#DFLAGS=-g -w -nofloat $(ADD_DFLAGS)
 
-DFLAGS=-release -O -inline $(ADD_DFLAGS)
-#DFLAGS=-g $(ADD_DFLAGS)
 
-TFLAGS=-O -inline $(ADD_DFLAGS)
-#TFLAGS=-g $(ADD_DFLAGS)
+TFLAGS=-O -inline -w -nofloat $(ADD_DFLAGS)
+#TFLAGS=-g -w -nofloat $(ADD_DFLAGS)
 
 DOCFLAGS=-version=DDoc
 
@@ -37,7 +36,7 @@ CC=gcc
 LC=$(AR) -qsv
 DC=dmd
 
-LIB_DEST=..
+LIB_DEST=../../../lib
 
 .SUFFIXES: .s .S .c .cpp .d .html .o
 
index e3152871fd87f211e22d19caf050031276e2f033..9b3158e78aa279681505fe8d3fb0e183f4da9c41 100644 (file)
@@ -23,13 +23,12 @@ ADD_DFLAGS=
 CFLAGS=-mn -6 -r $(ADD_CFLAGS)
 #CFLAGS=-g -mn -6 -r $(ADD_CFLAGS)
 
-### warnings disabled because gcx has issues ###
+DFLAGS=-release -O -inline -w -nofloat $(ADD_DFLAGS)
+#DFLAGS=-g -w -nofloat $(ADD_DFLAGS)
 
-DFLAGS=-release -O -inline $(ADD_DFLAGS)
-#DFLAGS=-g -release $(ADD_DFLAGS)
 
-TFLAGS=-O -inline $(ADD_DFLAGS)
-#TFLAGS=-g $(ADD_DFLAGS)
+TFLAGS=-O -inline -w  -nofloat $(ADD_DFLAGS)
+#TFLAGS=-g -w -nofloat $(ADD_DFLAGS)
 
 DOCFLAGS=-version=DDoc