Digital Mars D Compiler

Edit Package dmd
http://dlang.org/download.html

A systems programming language. Its focus is on combining the power and high performance of C and C++ with the programmer productivity of modern languages like Ruby and Python. Special attention is given to the needs of quality assurance, documentation, management, portability and reliability.

Refresh
Refresh
Source Files
Filename Size Changed
dmd-2.082.0.tar.gz 0003157917 3.01 MB
dmd.2.078.0.linux.tar.xz 0023661736 22.6 MB
dmd.changes 0000017581 17.2 KB
dmd.conf 0000000567 567 Bytes
dmd.spec 0000005821 5.68 KB
dmd_use_tarball_bootstrap.diff 0000000683 683 Bytes
druntime-2.082.0.tar.gz 0001598008 1.52 MB
phobos-2.082.0.tar.gz 0002336779 2.23 MB
Revision 25 (latest revision is 32)
Ludwig Nussel's avatar Ludwig Nussel (lnussel_factory) accepted request 639061 from Matthias Eliasson's avatar Matthias Eliasson (elimat) (revision 25)
- Update to 2.082.0
  - Compiler changes
    * Support for comparing arrays of unsigned byte-sized types and structs has been added to -betterC
    * Added D_ModuleInfo, D_Exceptions, and D_TypeInfo version identifiers
    * Deprecate conditional expression followed by an assign expression
    * Unsafe code can now be used in debug blocks
    * Deprecate usage of opDot
    * D now supports deprecated, @disable and user-defined attributes on enum members
    * Deprecated C-style array declarations will now result in a compilation error
    * Mangling of extern(C++) template on Windows now correctly mangles const non-pointer template parameters.
    * .offsetof and .tupleof for fields of Objective-C classes have now been disabled
    * 64-bit OS X: Revert C++ mangling of long to pre-2.079 to restore size_t interop
    * UDAs on function parameters are now supported
  - Runtime changes
    * Exception trapping can now be disabled via --DRT-trapExceptions=0
    * Additional functions for associative arrays
    * TypeInfo.getHash now uses core.internal.hash.hashOf functions for hash computing
    * core.sys.posix.utsname.update renamed to version_
  - Library changes
    * Single- and double-precision implementations for (a)tan and exp function families
    * std.algorithm.iteration.each is now capable of early-stopping
    * std.algorithm.iteration.joiner can now be used for bidirectional ranges
    * std.algorithm.searching.skipOver can now handle variadic arguments
    * Added staticArray to construct a static array from array / input range. Includes a length-inferring compile-time variant.
    * Deprecated functions for getting the timezone have been removed.
- Update to 2.081.2
  - DMD Compiler regressions
    * [REG 2.080] SIGSEGV in el_ptr (s=0x15) at dmd/backend/el.c:1760
    * dmd 2.081 crashed by getVirtualFunctions for a interface extended interface
  - DMD Compiler bugs
    * Associative array opIn with static array key fails with dynamic array
  - Phobos bugs
    * Cannot inline "...Slides.numberOfFullFrames", "...Slides.gap"
  - Druntime bugs
    * __delete doesn't work with immutable
- Changes in 2.081.1
  - DMD Compiler regressions
    * [REG2.081] getOverloads traits returns empty tuples for void functions
    * [REG 2.080.1] Error: const(Object) is used as a type with structs that have symbol named Object
- Update to 2.081.0
  - Compiler changes
    * Deprecate allowing a constructor declaration in a static block
	* Deprecate usage of this and super as types
	* Implement DIP 1009 - Add Expression-Based Contract Syntax
	* extern (C++) construction, destruction, operators and other mangling improvements
	* Support for iterating template overloads
	* __traits(getLinkage, ...) now works on structs, classes, and interfaces.
	* Implicit catch statements will now result in an error
	* Implicit comparison of different enums will now result in an error
	* Implicit string concatenation will now result in an error
	* IRETQ is now supported in inline assembler.
	* Interfaces and classes can be used without the runtime if only static fields are utilized
	* Specifying redundant storage classes will now result in a compiler error
  - Runtime changes
    * Filenames and line numbers have been added to stacktraces on macOS
	* object.destroy() supports extern(C++) classes.
	* Add missing declarations to core.sys.darwin.mach.getsect
  - Library changes
    * The deprecated std.c package has been removed.
	* The performance of std.algorithm.iteration.joiner has been improved
	* std.algorithm.mutation.remove now only accepts integral values or pair of integral values as offset
	* Changed semantics of std.math.{fmin,fmax} wrt. NaNs.
- Use same auto_bootstrap define for all builds.
- Update to 2.080.1
  - DMD Compiler regressions
    * [REG 2.073] object initializer omitted when it should be included.
    * [REG2.078-b1] case where && is not shortcut anymore in CTFE
    * DMD segfault when doing unsafe operation outside of any function
  - DMD Compiler bugs
    * static foreach segfaults on __traits(allMembers)
    * Access violation when generating JSON on static foreach
    * DMD compilation crash
    * -lib crashes on static libraries in the command line
  - Phobos regressions
    * [REG 2.080.0] Compiling byGrapheme Fails
    * DMD "illegal hardware instruction" crash
    * getSymbolsByUDA fails on AliasSeq members
  - Druntime bugs
    * core.internal.string has issues with radix
- Update to 2.080.0
  See the full changelog here:
  https://dlang.org/changelog/2.080.0.html
- Refresh dmd_use_tarball_bootstrap.diff
- Update to 2.079.1
  - DMD Compiler regressions
    * [REG 2.073] [DIP1000] Error on bad interplay of 'auto ref' and 'return' attribute deduction.
    * DMD segmentation fault
  - DMD Compiler bugs
    * Enums are evaluated differently in global scope
    * compiler segfault if new on a union type with dip1000
  - DMD Compiler enhancements
    * Use of delete should be allowed without a deprecation in a deprecated scope
  - Phobos regressions
    * std.regex Captures opAssign returns void since v2.079.0
    * getSymbolsByUDA produces wrong result if one of the symbols having the UDA is a function
    * assigning a std.regex.Captures with 3 or more groups causes double free
  - Phobos bugs
    * [2.079] std.format ignores templated toString if another toString is not a template
  - Phobos enhancements
    * Document the type of std.stdio.stdin and friends
  - Druntime regressions
    * [Reg 2.079] src/rt/tracegc.d(43): Deprecation: The delete keyword has been deprecated
- Enable auto_bootstrap for Tumbleweed to get successful builds
- Run spec-cleaner
- Build only for %ix86 and x86_64 since other arch cannot be boostrapped
- Update to 2.079.0
  * Full changelog: https://dlang.org/changelog/2.079.0.html
- spec-cleaner was run
- use %config(noreplace) for dmd.conf
  Make sure we don't replace if users modify this config.
- Enable auto_bootrap for Leap 15.0
- Add !buildignore gcc-PIE for i586 arch since it will not compile on i586 with PIE enabled
- Update to 2.078.3
  - DMD Compiler regressions
    * [REG2.078.2] Access violation when dmd tries to print highlighted code
  - DMD Compiler bugs
    * Switch skips over declaration issued for explicitly uninitialized variables
- Update to 2.078.2
  - DMD Compiler regressions
    * [REG 2.078] dmd can't generate 64-bit binaries on Windows 10 with VS 2015
    * [Reg 2.078] Building fails with VC 2015 Build Tools
  - DMD Compiler bugs
    * wrong code for int.min > 0
  - Druntime regressions
    * [Reg 2.078] comparison of arrays of associative arrays no longer compiles
    
- Update to 2.078.1
  - DMD Compiler regressions
    * [REG2.060] DMD hang in semantic3 on alias this
  - DMD Compiler bugs
    * undefined reference to __coverage
	* unittests get different names depending on how the files are passed to dmd
	* building with -m64 doesn't work with sc.ini from the zip distribution and VS2017
  - Phobos bugs
    * std.array.replace throws a range violation if the from range is longer than the array
	* Generic functions in std.math cannot be overloaded
  - Druntime regressions
    * module config is in file 'rt/config.d' which cannot be read
- Update to 2.078.0
- Update auto_bootstrap version to 2.078.0
- Remove bootrap option for ldc since we have working bootstraping with dmd
- Did some more clean-up in spec of build flags that was wrong and redundant
- Update default dmd.conf with more accurate includes
- Enable PIC and set Model=32 for i586 builds
- Disable auto_bootstrap
- Enable auto_bootstrap to make it build on i586. 
- Update to 2.077.1
  * [REG2.068] compile-time string concatenation fails with CTFE and char[] literal involved
  * compiler segfault in DsymbolSemanticVisitor::visit(UnittestDeclaration*)
  * [REG 2.077.0] dmd 2.077.0 crashes when computing mangling symbol for simple program
  * [Reg 2.077] don't build libphobos2.a with PIC for i386
  * [Reg 2.075] Fibers guard page uses a lot more memory mappings
- Add "-fPIC" to DFLAGS in dmd.conf for 32bit so we can compile D programs for i586. 
- Added missing LICENSE.txt to docs
- Improved the spec file
- Update to 2.077.0
  * Mangled Symbols now back reference types and identifiers
  * Removed prelude assert for constructors & destructors
  * DMD builds are now reproducible
  * core.atomic.atomicLoad's returns types have changed for aggregate types that have indirections
  * Vectorized array operations are now templated
- Build with AUTO_BOOTSTRAP disabled
- Run spec-cleaner
- Update to 2.076.1
  * fix Issue 16997 - Integral promotion rules not being followed for unary + - ~ operators
  * Mangled Symbols now back reference types and identifiers.
  * Removed prelude assert for constructors & destructors
  * DMD builds are now reproducible
- Build with AUTO_BOOTSTRAP
- Rework description
- Update to 2.073.2
- https://en.opensuse.org/SourceUrls
- Update to 2.073.1
- Update to 2.071.0
Compiler Changes
- Import access checks for fully qualified names were fixed.
- Protection for selective and renamed imports were fixed.
Language Changes
- Imports no longer hide locals declared in outer scopes.
- Private symbols are no longer visible in other modules.
- Manifest constant can now be used for deprecation message.
Library Changes
- A clear method has been added to associative arrays to remove all elements.
- The GC now uses a spinlock instead of a recursive mutex.
- Calls to GC.free are now ignored during finalization instead of throwing an InvalidMemoryOperationError, see Bugzilla 15353.
- GC.addRoot and GC.addRange now use a separate lock.
- GCAllocator.goodAllocSize was added.
- High-level API of std.net.curl now uses Appender for received content. Which generally makes all calls slightly faster. Up to 200ms for large amounts of data.
- Repeat was added to obtain a repeating AliasSeq consisting of template arguments.
- fold was added as an alternative to reduce with argument order swapped.
- Added nextPow2 and truncPow2 to std.math.
- bsf, bsr, and popcnt now work with ulongs on 32 bit systems.
- topN is now 5% - 7% faster.
- Unary overloads of startsWith and endsWith were added.
- maxCount and maxPos were added.
- Range support for the convenience wrapper redBlackTree was added.
See the full changelog here:
http://dlang.org/changelog/2.071.0.html
- Update to 2.070.2
This is a bugfix release, please refer to the changelog for details:
http://dlang.org/changelog/2.070.2.html
- Update to 2.070.1
This is a bugfix release, see the changelog for details:
http://dlang.org/changelog/2.070.1.html
Update to 2.070.0
Language Changes
- Add syntactic support to make an alias to a function literal.
Library Changes
- The package std.experimental.ndslice was added. It is also available as part of the Mir library.
- The core.sys.windows package has been greatly expanded.
- TypeInfo.init has been renamed to TypeInfo.initializer.
- std.json encodes string control characters.
- Default LogLevel of FileLogger was changed to LogLevel.all.
- Access to the internal ptr and len fields of BitArray was deprecated.
See the full changelog here:
http://dlang.org/changelog/2.070.0.html
Update to 2.069.2
This is a bugfix release, see the changelog for details:
http://dlang.org/changelog/2.069.2.html
Update to 2.069
This is the first release with a self-hosted dmd compiler and comes
with even more rangified phobos functions,
std.experimental.allocator, and many other improvements.
See the changelog for more details.
http://dlang.org/changelog/2.069.0.html
- update 2.068.2
- This point release fixes a few regressions 2.068.1, see the
  changelog for more details:
  http://dlang.org/changelog/2.068.2.html
- update to 2.068.1
- Fixes bugs and regressions in 2.068.0
- update to 2.068.0
Notable changes:
- many rangified phobos functions
- 2 new GC profilers
- a new AA implementation
- countless further improvements and fixes
- update to 2.067.1
- update to 2.067.0
- add a valid dmd.conf file (from upstream)
- recommend phobos-devel
- use https://en.opensuse.org/SourceUrls
- new project URL
- split libphobos as discussed in bos#905648
- add Artistic license
- deprecate dmd-fix-build.patch
- deprecate dmd-rpmlintrc
- update to 2.066.1
- fix license tag, Boost -> BSL-1.0
- add config file for include paths
- update to 2.059
- Parallel build with %_smp_mflags; strip redundant sections/tags
- SPDX license field
- created package (version 2.053)
Comments 0
openSUSE Build Service is sponsored by