1. Vincenzo Ampolo
  2. gdc


gdc / d / History

0.26: (Future release)

  * Support for GCC, 4.2.x, 4.3.x, and 4.4.x added
  * Updated D1 to 1.063
  * Updated D2 to 2.020
  * Added druntime support
  * Fixed Bugzilla 1041, 1044, 1136, 1145, 1296, 1669, 1689,
    1751, 1813, 1822, 1921, 1930, 2079, 2102, 2291, 2421
  * Fixed Bitbucket issues too numerous to mention. :-)

  * Removed support for GCC 3.3.x
  * Updated to DMD 1.020
  * Fixed Bugzilla 1037, 1038 (gdc specific), 1043, 1045, 1046,
    1031, 1032, 1034, 1065, 1109, 1191, 1137, 1152, 1208, 1325,
    1329, 1898, 1400
  * Fixed SourceForge issues 1689634, 1749622, 1721496, 1721435

  * Added support for 64-bit targets
  * Added multilib support
  * Updated to DMD 1.007
  * Fixed Bugzilla 984, 1013

  * Added support for GCC 4.1.x
  * Support for GCC 3.3.x is deprecated
  * Updated to DMD 1.004
  * Fixed Bugzilla 836, 837, 838, 839, 841, 843, 844, 889, 896
  * Fixed problems with missing debug information
  * Added Rick Mann's -framework patch for gdmd

  * Updated to DMD 1.00
  * Fixed Bugzilla 695, 696, 737, 738, 739, 742, 743, 745
  * Implemented GCC extended assembler
  * Implemented basic support for GCC attributes

  * Updated to DMD 0.177
  * Fixes for synchronized code generation
  * Better support for cross-hosted builds
  * Fixed Bugzilla 307, 375, 403, 575, 578
  * Applied Anders Bj�rklund's MacOS X build patches

  * Fixed D Bugzilla bugs 141(gdc), 157, 162, 164, 171, 174, 175, 192, 229
  * Applied Dave Fladebo's suggestion for -O3 in gdmd
  * Updated to DMD 0.162
  * The version symbol for FreeBSD is now "freebsd"
  * Enabled std.loader for FreeBSD
  * Implement offsetof in assembler
  * Support building with Apple's GCC (4.0 only)
  * Fix parallel builds

    *  Fixes
          o ICE on assignment arithmetic
          o Problems mixing D and assembler floating point operations
          o Mac OS X 10.2 build problems
          o The gdc driver no longer compiles C source as C++
          o Many others...
    * Improvements
          o Updated to DMD 0.157
          o Support for PowerPC Linux
          o Partial support for SkyOS
          o Compiler can be relocated to another directory.

    *  Fixes
          o Mixed complex/float operations on GCC 4.0 (D.gnu/1485)
          o Applied Thomas Kuhne's HTML line number fix
          o Foreach/nested functions in templates (D.gnu/1514)
          o Use correct default initializer when allocating arrays of typedef'd types
          o Recursive calls to nested functions (D.gnu/1525)
    * Improvements
          o Updated to DMD 0.140

    * Fixes
          o Concatenating a array and single element
          o "__arrayArg already defined"
          o ICE on nested foreach statements (D.gnu/1393)
	  o Inline assembler
	      * Functions returning floating point types
	      * Spurious error on scaled register without a base register
	      * Access to locals by var+ofs[EBP] now works with optimization.
	      * Can now guess operand size from referenced variables.
	  o Thunks errors with reimplemented interfaces (e.g., Mango)
    * Improvements
          o Support GCC 4.0.x
          o Updated to DMD 0.132
          o Support DW_LANG_D for DWARF debugging
          o Support compiling multiple sources to a single object with GCC 3.4.x

    Updated to DMD 0.128


    * Fixes
          o Classes nested in functions actually work now.
          o Fix for newest versions of the GNU assembler.
    * Improvements
          o Updated to DMD 0.127

    * Fixes
          o Cygwin/MinGW assembler problem
    * Improvements
          o Updated to DMD 0.126.
          o Calling nested functions with delegates is faster.
          o The "check-target-libphobos" builds a separate library to
            enable runtime checks and unit tests.


     *  Fixes
          o Compilation errors and crashes with -fpic
          o Crashes with interfaces on Cygwin/MinGW
          o Support the -mno-cygwin option


    *  Fixes
          o Various problems building MinGW in MSYS
          o Mango "endless output"
          o Build problems with gcc 3.4.1
          o Various problems revealed by dmdscript
          o Error message now go to standard error
          o DStress catch_01, catch_02, new_04, switch_19, throw_02, and others.
    * Improvements
          o Updated to DMD 0.125
          o New target: AIX
          o GDC and DMD versions are reported with "gcc --version"
          o Take advantage of DMD template improvements on
    * Changes
          o std.c.unix is now std.c.unix.unix
          o The runtime library is now "libgphobos" to avoid conflicts with DMD.
          o The dmd wrapper script...
                + Is now named "gdmd".
                + Looks for gdc in its own directory instead of searching the path
                + Requires a comma after the "-q" option.


    * Fixes
          o Reversed structure compare
          o Correct meaning of '-L' option in wrapper script
          o Static data GC bug on Linux
    * Improvements
          o Updated to DMD 0.121
          o New target: MingGW
          o Included Anders F Bjrklund's man pages.
          o It is now possible to build a cross-compiler.  Only MingGW
            is supported out-of-the-box, however.


    * Fixes
          o Incorrect/missing thunks
          o Problems when the C char type is unsigned
          o Side effects in void type return expressions
          o Calling a particular static ancestor method.
          o Install of /etc/c/zlib.d
          o Support for built-in function security patch.
          o More...
    * Improvements
          o Updated to DMD 0.113
          o Phobos is now built as target library (i.e., no need for a
            separate build step)
          o Boehm-gc is no longer used and the Java package is no
            longer required.
          o Inline assembler for x86 (there are some limitations --
            these need to be documented)
          o Included Anders Bj�rklund's patches to enable the use of
            frameworks on Darwin.
          o On Darwin, D object code can be linked with the system
            gcc.  Likewise, gdc can link C++ object code built by the
            system g++.
          o Improved support for alternate C main functions (see
    * Notes
          o The gdc driver no longer accepts D source files without
            the ".d" extension.  The dmd wrapper script still supports


    * Fixes
          o Complex number comparisons with NAN operands
          o Cleaned up Phobos installation.
          o Non-virtual method calls
          o Code generation with -mpowerpc64
          o Break in labeled switch statement
    * Improvements
          o Updated to DMD 0.110
          o Applied Thomas Khne's and Anders Bj�rklund's HTML patches.
          o Added Thomas Khne's "dump source" code
          o Phobos Makefile now supports the DESTDIR variable


    * Fixes
          o Detect use of non-static methods in a static context
          o Enumerated types are signed by default
          o Anders Bj�rklund's patch for HTML infinite looping
          o va_start is now a template.
          o Delegate expressions for struct methods now work
          o bswap uses unsigned right shift
          o Fixed several problems with the dmd script
          o Fixed crash when compiling with debug information
          o Handle referenes to instance variables without "this"
          o Fixed ICE for interfaces with multiple inheritence
          o Fix id.h dependcy so concurrent make will work
    * Improvements
          o Updated to DMD 0.109
    *  Notes
          o The (undocumented) BitsPer{Pointer,Word} version
            identifiers are now prefixed with "GNU_"
          o Private declarations are now exported from object files

    *  Fixes
          o std.loader module is now enabled
          o Proper casting from complex and imaginary types
          o Diagnostics are now GCC-style
          o Exceptions don't leak memory anymore
          o The gdc command processes ".html" as D source files.
          o ICE for classes declared in a function
          o ICE on empty "if" statement
          o Test for existence of "execvpe", "fwide", and "fputwc" before
            using them
          o Corrected floating point "min_10_exp" properties
          o std.date.getLocalTZA returns a correct values
          o Using gdc to link with C++ should now just need "-lstdc++"
    * Improvements
          o Debugging information is vastly improved
          o DLLs can be built on Cygwin
    * Notes
          o "DigitalMars" is not longer defined as a version symbol